:root{
  --cream:#f5ecdf; --parch:#efe3d0; --parch2:#e8d8bf;
  --ink:#2b1d14; --ink-soft:#4a3626; --muted:#5e4a39;
  --bronze:#8a6520; --bronze-l:#9a7426;
  --dark:#2a1c14; --dark2:#1f150f;
  --gold:#d6b46e; --gold-soft:#ead39f;
  --pink:#d9a5a8; --pink-deep:#9b4f58; --pink-wash:#f3dfdc;
  --serif:"Cormorant Garamond",Georgia,serif;
  --caps:"Cinzel","Cormorant Garamond",serif;
  --body:"Lora",Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1.0625rem/1.7 var(--body)}
@media (min-width:760px){body{font-size:1.125rem}}
img{max-width:100%;height:auto;display:block}
a{color:var(--pink-deep);text-underline-offset:3px;text-decoration-color:var(--pink)}
a:hover{color:var(--ink)}
h1,h2,h3{font-family:var(--serif);color:var(--bronze);font-weight:600;line-height:1.15;margin:0 0 .6em}
h2{font-family:var(--caps);font-size:clamp(1.25rem,4.5vw,1.7rem);font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center}
h2::after{content:"";display:block;width:64px;height:2px;margin:.7em auto 0;background:linear-gradient(90deg,transparent,var(--pink),transparent)}
.accent{color:var(--pink-deep);font-style:italic}

/* HERO (dark, photo clearly visible) */
.hero{background:radial-gradient(ellipse at 50% 0%,#4a3324 0%,var(--dark) 55%,var(--dark2) 100%);color:#f3e8d6;text-align:center;padding:2.25rem 1.25rem 3rem}
.hero .accent{color:var(--pink)}
.hero__inner{max-width:40rem;margin:0 auto}
.hero__inner>picture{display:block;position:relative;width:min(52vw,200px);margin:0 auto 1.3rem;isolation:isolate}
.hero__inner>picture::before{content:"";position:absolute;inset:-28%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(234,211,159,.55) 0%,rgba(214,180,110,.28) 38%,rgba(214,180,110,.08) 58%,transparent 70%)}
.hero__logo{width:100%;margin:0;border-radius:50%;filter:brightness(1.25) contrast(1.12);box-shadow:0 0 0 2px rgba(234,211,159,.85),0 0 0 6px rgba(214,180,110,.18),0 0 34px rgba(234,211,159,.45)}
@media (min-width:960px){.hero__inner>picture{width:240px}}
.eyebrow{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--gold-soft);margin:0 0 .35rem}
h1{font-size:clamp(1.9rem,6.4vw,2.9rem);color:var(--gold-soft);margin-bottom:1.2rem}
h1 .accent{display:block}
.hero__photo{margin:0 auto 1.5rem;max-width:560px;padding:8px;background:#f1e4cc;border-radius:3px;box-shadow:0 0 0 1px var(--gold),0 14px 40px rgba(0,0,0,.45)}
.hero__photo img{width:100%;filter:sepia(.15) brightness(1.06) contrast(1.04)}
.hero__photo figcaption{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--ink-soft);padding:.4rem 0 .1rem}
.hero__sub{font-size:1.0625rem;color:#f3e8d6;margin:0 auto 1.6rem;max-width:34rem}
.hero__sub strong{color:var(--gold-soft);font-weight:600}
.hero__sub em{color:var(--pink)}

/* BUTTONS */
.btn{display:inline-block;font:600 .95rem/1.2 var(--caps);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  color:var(--dark2);background:linear-gradient(180deg,var(--gold-soft),var(--gold));border:1px solid var(--bronze-l);border-radius:3px;padding:1rem 1.6rem;
  transition:background .25s,color .25s,border-color .25s,transform .15s}
.btn:hover,.btn:focus-visible{background:var(--pink);border-color:var(--pink-deep);color:var(--dark2)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:wait}
.btn--ghost{background:transparent;color:var(--bronze);border-color:var(--bronze)}
.btn--ghost:hover{background:var(--pink-wash);color:var(--ink)}
:focus-visible{outline:2px solid var(--pink-deep);outline-offset:3px}

/* SECTIONS */
section{padding:3.5rem 1.25rem;max-width:62rem;margin:0 auto}
.frame{position:relative;max-width:32rem;margin:0 auto;padding:2.25rem 1.3rem;background:#fbf6ee;border:1px solid var(--bronze-l);border-radius:3px;box-shadow:0 10px 30px rgba(74,54,38,.12)}
.frame::before{content:"";position:absolute;inset:6px;border:1px solid rgba(217,165,168,.6);pointer-events:none}
.lead{text-align:center;color:var(--ink-soft);margin:0 0 1.5rem}
.form{display:grid;gap:1.1rem}
.field span{display:block;font-family:var(--caps);font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze);margin-bottom:.35rem}
.field small{text-transform:none;letter-spacing:0;color:var(--muted);font-family:var(--body);font-weight:400}
input[type=text],input[type=email]{width:100%;font:inherit;font-size:17px;color:var(--ink);background:#fff;border:1px solid #b39a78;border-radius:3px;padding:.85rem .9rem}
input::placeholder{color:#7a6552}
input:focus{outline:none;border-color:var(--pink-deep);box-shadow:0 0 0 3px rgba(217,165,168,.45)}
.check{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;color:var(--ink-soft);line-height:1.5}
.check input{accent-color:var(--bronze);width:1.25rem;height:1.25rem;margin:.15rem 0 0;flex:none}
.form .btn{width:100%;margin-top:.3rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form__msg{margin:0;min-height:1.5em;text-align:center;font-style:italic}
.form__msg.is-ok{color:#5d6b2a}
.form__msg.is-error{color:var(--pink-deep)}
.form__msg.is-info{color:var(--muted)}

.story-wrap{background:var(--parch);border-top:1px solid var(--parch2);border-bottom:1px solid var(--parch2)}
.story{max-width:40rem;text-align:center}
.story p{font-family:var(--serif);font-size:1.3rem;font-weight:500;line-height:1.6;color:var(--ink);margin:0}
.ornament{color:var(--pink-deep);font-size:1.3rem;margin-bottom:.6rem}

.themes{text-align:center}
.cards{list-style:none;padding:0;margin:0 0 2.25rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
.card{position:relative;min-height:9rem;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.1rem .8rem;
  background:linear-gradient(160deg,#fbf6ee,var(--parch));border:1px solid var(--bronze-l);border-radius:6px;transition:border-color .25s,transform .25s}
.card::before{content:"";position:absolute;inset:5px;border:1px solid rgba(217,165,168,.55);border-radius:3px;pointer-events:none}
.card:last-child{grid-column:1/-1;min-height:7rem}
.card:hover{border-color:var(--pink-deep);transform:translateY(-3px)}
.card__num{font-family:var(--caps);color:var(--bronze);font-size:.9rem;letter-spacing:.2em;margin-bottom:.5rem}
.card h3{font-size:1.3rem;color:var(--ink);margin:0}
.card h3::after{content:"✦";display:block;font-size:.75rem;color:var(--pink-deep);margin-top:.5rem}

.footer{background:var(--dark);text-align:center;padding:2.5rem 1.25rem 3rem;font-size:1rem;color:#e6d8c2}
.footer a{color:var(--gold-soft)}
.footer a:hover{color:var(--pink)}
.social{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.5rem;margin-bottom:1.2rem;font-family:var(--caps);letter-spacing:.08em;font-size:.9rem}
.social a{text-decoration:none}
.disclaimer{font-style:italic;margin:.4rem 0}
.legal{margin:.4rem 0;font-size:.92rem}

@media (min-width:760px){
  .cards{grid-template-columns:repeat(5,1fr)}
  .card,.card:last-child{grid-column:auto;min-height:12rem}
  .frame{padding:3rem 2.75rem}
  section{padding:5rem 2rem}
}
@media (min-width:960px){
  .hero{padding:3.5rem 2rem 4rem}
  .hero__inner{max-width:68rem;display:grid;grid-template-columns:1fr 1.15fr;grid-template-areas:"logo photo" "eye photo" "h1 photo" "sub photo" "btn photo";column-gap:3.5rem;align-items:center;justify-items:center}
  .hero__inner>picture{grid-area:logo}
  .eyebrow{grid-area:eye}
  h1{grid-area:h1}
  .hero__photo{grid-area:photo;margin:0;width:100%}
  .hero__sub{grid-area:sub}
  .hero__inner>.btn{grid-area:btn;justify-self:center}
}

/* Privacy page */
.page{max-width:44rem;margin:0 auto;padding:2.5rem 1.25rem 4rem}
.page h1{font-size:clamp(1.8rem,6vw,2.4rem);text-align:center;color:var(--bronze)}
.page h2{text-align:left;font-size:1.1rem;margin-top:2rem}
.page h2::after{margin-left:0}
.page .back{display:inline-block;margin-bottom:1.5rem;font-family:var(--caps);font-size:.9rem;letter-spacing:.08em}
.page .mini-logo{width:96px;margin:0 auto 1rem;border-radius:50%}
