@font-face{font-family:"Cormorant";src:url(fonts/display.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/display-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"DM Sans";src:url(fonts/sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(fonts/sans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(fonts/sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{
  /* 8px scale */
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px;--s9:160px;
  --ivory:#F7F2EB;--paper:#FFFCF7;--sand:#EEE5D8;--sand-2:#E4D7C5;
  --ink:#2A1F19;--ink-2:#4A3B31;--muted:#6A594C;--clay:#985638;--clay-soft:#C9A48C;
  --deep:#2C221C;--line:rgba(42,31,25,.14);
  --serif:"Cormorant","Cormorant Garamond",Garamond,"Times New Roman",serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r:6px;--wrap:1200px;--gut:var(--s4);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html,body{overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;letter-spacing:-.01em;color:var(--ink)}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:var(--s2);top:-80px;background:var(--ink);color:var(--paper);padding:var(--s1) var(--s2);border-radius:var(--r);z-index:50;text-decoration:none}
.skip:focus{top:var(--s2)}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gut));margin:0 auto;padding:0 var(--gut)}
.eyebrow{font:600 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--clay);display:flex;align-items:center;gap:var(--s2)}
.eyebrow::before{content:"";width:32px;height:1px;background:currentColor;opacity:.7}
.section{padding:var(--s9) 0}
.section-head{display:grid;gap:var(--s3);max-width:720px;margin-bottom:var(--s7)}
.section-head h2{font-size:clamp(40px,4.4vw,60px);line-height:1.05}
.section-head .hook{font:italic 400 clamp(24px,2.4vw,30px)/1.35 var(--serif);color:var(--ink-2);max-width:620px}
.section-head p:not(.eyebrow):not(.hook){color:var(--muted);font-size:18px;max-width:560px}
.nw{white-space:nowrap}
.lead{font-size:19px;line-height:1.6;color:var(--ink-2)}
em.it{font-family:var(--serif);font-style:italic;font-weight:400}

/* draft ribbon + header */
.draft{background:var(--deep);color:#EFE4D6;font:500 12px/1.4 var(--sans);letter-spacing:.06em;text-align:center;padding:var(--s1) var(--s2)}
.site-head{position:sticky;top:0;z-index:20;background:rgba(247,242,235,.88);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
.site-head.scrolled{border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px;gap:var(--s4)}
.brand{text-decoration:none;display:grid;line-height:1}
.brand b{font:500 26px/1 var(--serif);letter-spacing:-.005em}
.brand small{font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.nav ul{display:flex;gap:var(--s4);list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;font-size:15px;color:var(--ink-2);padding:var(--s1) 0;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s var(--ease)}
.nav ul a:hover{background-size:100% 1px}
.nav-cta{font-size:15px;font-weight:500;text-decoration:none;border:1px solid var(--ink);border-radius:999px;padding:10px 20px;transition:background .25s,color .25s}
.nav-cta:hover{background:var(--ink);color:var(--paper)}

/* buttons + links */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--paper);text-decoration:none;font:500 16px/1 var(--sans);padding:20px 32px;border-radius:999px;transition:background .3s var(--ease),transform .3s var(--ease)}
.btn:hover{background:var(--clay)}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr,.link:hover .arr{transform:translateX(4px)}
.btn--ghost{background:transparent;color:inherit;border:1px solid currentColor}
.btn--ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--clay-soft);padding-bottom:4px}
.link .arr{transition:transform .3s var(--ease)}

/* hero */
.hero{padding:var(--s6) 0 var(--s9)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--s7);align-items:center}
.hero-copy{display:grid;gap:var(--s3);align-content:center}
.hero h1{font-size:clamp(44px,5.2vw,68px);line-height:1.04;letter-spacing:-.02em;font-weight:500}
.hero h1 span{display:block;white-space:nowrap}
.hero h1 .l2{font-style:italic;font-weight:400;color:var(--clay)}
.hero .lead{max-width:30em}
.hero-actions{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s1)}
.hero .voice--hero{padding:var(--s3)}
.hero-note{font-size:14px;color:var(--muted)}
.hero-media{position:relative;justify-self:end;width:100%;max-width:520px}
.hero-media::before{content:"";position:absolute;inset:var(--s6) calc(-1*var(--s4)) calc(-1*var(--s4)) var(--s6);background:var(--sand);border-radius:var(--r);z-index:-1}
.hero-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 60px -30px rgba(42,31,25,.35)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.hero-tag{position:absolute;left:calc(-1*var(--s5));bottom:var(--s6);background:var(--paper);border-radius:var(--r);padding:var(--s3);max-width:240px;box-shadow:0 20px 40px -24px rgba(42,31,25,.35)}
.hero-tag b{display:block;font:500 34px/1 var(--serif);color:var(--clay);font-variant-numeric:lining-nums}
.hero-tag span{display:block;font-size:14px;line-height:1.45;color:var(--ink-2);margin-top:var(--s1)}

/* testimonial component: one format everywhere (large round portrait) */
.voice{--pf:168px;margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:var(--s5) var(--s4) var(--s4);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s3);height:100%}
.voice-portrait{width:var(--pf);height:var(--pf);border-radius:50%;flex:none;padding:6px;background:var(--paper);box-shadow:0 0 0 1px var(--sand-2),0 18px 36px -22px rgba(42,31,25,.45)}
.portrait{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 40%;background:var(--sand)}
.portrait--mono{display:grid;place-items:center;background:radial-gradient(120% 120% at 30% 25%,#F4ECE1 0%,var(--sand) 55%,var(--sand-2) 100%)}
.portrait--mono span{font:italic 400 calc(var(--pf)*.42)/1 var(--serif);color:var(--clay);transform:translateY(-4%)}
.voice blockquote{margin:0;flex:1}
.voice blockquote p{font:italic 400 23px/1.42 var(--serif);color:var(--ink)}
.voice figcaption{display:flex;justify-content:center;width:100%;padding-top:var(--s3);border-top:1px solid var(--line)}
.who{display:grid;gap:4px;line-height:1.3}
.who-name{font-weight:600;font-size:15px;letter-spacing:.02em}
.who-src{font-size:13px;color:var(--muted)}
.voice--hero{--pf:96px;max-width:480px;margin-top:var(--s2);display:grid;grid-template-columns:auto 1fr;align-items:center;text-align:left;column-gap:var(--s3);row-gap:var(--s2)}
.voice--hero .voice-portrait{grid-row:1/3;align-self:start;padding:4px}
.voice--hero blockquote p{font-size:20px}
.voice--hero figcaption{justify-content:flex-start;padding-top:var(--s2)}

/* proof */
.proof{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;padding:var(--s4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:var(--s6)}
.proof-score{display:flex;align-items:center;gap:var(--s3)}
.proof-score .big{font:500 64px/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:lining-nums}
.stars{display:inline-flex;gap:2px;color:var(--clay)}
.proof-score p{font-size:16px;color:var(--ink-2)}
.proof-score small{display:block;color:var(--muted);font-size:13px;margin-top:2px}

/* intro / about */
.about{background:var(--paper)}
.about-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s7);align-items:center}
.about-media{position:relative;padding-bottom:var(--s7);padding-right:var(--s5)}
.about-media .a1{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;width:78%}
.about-media .a2{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;border:8px solid var(--paper);box-shadow:0 24px 48px -28px rgba(42,31,25,.4)}
.about-media img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.about-copy{display:grid;gap:var(--s4)}
.about-copy h2{font-size:clamp(40px,4.4vw,60px);line-height:1.05}
.facts{list-style:none;margin:var(--s2) 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.facts li{display:grid;grid-template-columns:48px 1fr;align-items:baseline;padding:var(--s2) 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
.facts li span{font:italic 500 20px/1 var(--serif);color:var(--clay)}
.sign{font:italic 400 30px/1 var(--serif);color:var(--clay)}

/* offers */
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s5);row-gap:var(--s7);align-items:start}
.offers .offer:nth-child(2){margin-top:var(--s6)}
.offer .offer-body{align-content:start}
.offer-kicker{flex-wrap:wrap}
.offers-gift{margin-top:var(--s7);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s1) var(--s3);text-align:center;color:var(--ink-2);font:italic 400 24px/1.35 var(--serif)}
.offers-gift .link{font:500 15px/1.2 var(--sans)}
.offer-media{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.offer-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.offer:hover .offer-media img{transform:scale(1.03)}
.offer-body{padding-top:var(--s4);display:grid;gap:var(--s2)}
.offer-kicker{display:flex;align-items:center;gap:12px;font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.offer-kicker .num{color:var(--clay)}
.offer-kicker .dot{width:4px;height:4px;border-radius:50%;background:var(--clay-soft)}
.offer-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}
.offer h3{font-size:clamp(32px,3vw,42px);line-height:1}
.price{font-variant-numeric:lining-nums;font:400 22px/1 var(--serif);color:var(--ink-2);white-space:nowrap}
.price span{font-size:40px;font-weight:500;color:var(--ink)}
.offer-sub{font:italic 400 22px/1.3 var(--serif);color:var(--clay)}
.offer-text{color:var(--ink-2);max-width:34em}
.offer .link{justify-self:start;margin-top:var(--s1)}

/* testimonials */
.voices-sec{background:var(--sand);padding-top:var(--s7)}
.voices-sec .section-head{margin-bottom:var(--s5)}
.voices-sec .proof{margin-bottom:var(--s5)}
.voices-sec .voice{background:var(--paper)}
.voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);align-items:stretch}
/* featured testimonial (Soni): same elements, large photo */
.voice--featured{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:center;text-align:left;gap:var(--s7);padding:var(--s5);margin-bottom:var(--s6);height:auto}
.voice--featured .voice-portrait{width:100%;height:auto;aspect-ratio:4/5;border-radius:var(--r);padding:8px}
.voice--featured .portrait{border-radius:calc(var(--r) - 2px);object-position:50% 25%}
.feat-body{display:grid;gap:var(--s4)}
.voice--featured blockquote p{font-size:clamp(26px,2.6vw,36px);line-height:1.35}
.voice--featured figcaption{justify-content:flex-start}
.voice--featured .who-name{font-size:17px}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s8);align-items:start}
.faq-grid .section-head{margin-bottom:0;position:sticky;top:120px}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) 0;font:500 26px/1.25 var(--serif)}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:12px;height:12px;border-right:1.5px solid var(--clay);border-bottom:1.5px solid var(--clay);transform:rotate(45deg) translateY(-4px);transition:transform .3s var(--ease)}
details[open] summary::after{transform:rotate(225deg) translateY(-2px)}
details p{padding:0 0 var(--s3);color:var(--ink-2);max-width:36em}

/* gift band */
.gift{background:var(--deep);color:#F1E8DC;border-radius:var(--r);padding:var(--s8) var(--s7);display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:var(--s6);align-items:end;position:relative;overflow:hidden}
.gift::after{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(241,232,220,.14)}
.gift h2{color:#F7F0E6;font-size:clamp(40px,4.4vw,60px);line-height:1.05}
.gift p{color:#D9CBBB;max-width:34em;margin-top:var(--s3)}
.gift .eyebrow{color:var(--clay-soft);margin-bottom:var(--s3)}

/* header end: Gutschein link always visible (nav list is hidden on small screens) */
.nav-end{display:flex;align-items:center;gap:var(--s3)}
.nav-gift{font-size:15px;font-weight:500;text-decoration:none;color:var(--clay);border-bottom:1px solid var(--clay-soft);padding-bottom:2px}
@media (min-width:1081px){.nav-gift{display:none}}
.nav [aria-current="page"]{color:var(--clay)}
.gift{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center}
.gift-card--sm{padding:var(--s4) var(--s4) 52px}
.gift-card--sm .gc-title{font-size:clamp(26px,2.4vw,32px)}
.hint{font-size:13px;color:var(--muted)}
.gift-photo{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);position:relative;z-index:1}
.gift-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gift-photo:hover img{transform:scale(1.03)}
.gp-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -30px rgba(42,31,25,.35)}
.gp-photo img{width:100%;height:100%;object-fit:cover}
.gift-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}
.gift-facts{list-style:none;margin:var(--s3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s1)}
.gift-facts li{font-size:14px;color:#F1E8DC;border:1px solid rgba(241,232,220,.3);border-radius:999px;padding:6px 14px}
/* legal pages */
.legal{padding:var(--s6) 0 var(--s8)}
.legal .wrap{max-width:calc(800px + 2*var(--gut))}
.legal h1{font-size:clamp(40px,5vw,56px);line-height:1.05;margin:var(--s2) 0 var(--s4)}
.legal h2{font-size:30px;line-height:1.2;margin:var(--s5) 0 var(--s2)}
.legal h3{font:600 16px/1.4 var(--sans);margin:var(--s3) 0 var(--s1)}
.legal p,.legal li{color:var(--ink-2);max-width:40em}
.legal p+p{margin-top:var(--s2)}
.legal address{font-style:normal;color:var(--ink-2);line-height:1.7}
.ph{background:#FBEBD9;border-bottom:1px dashed var(--clay);padding:0 4px;border-radius:2px;color:var(--ink)}
.legal-note{border:1px dashed var(--clay);background:#FBF3EA;border-radius:var(--r);padding:var(--s2) var(--s3);color:var(--ink);font-size:15px}
.legal-src{font-size:13px;color:var(--muted);margin-top:var(--s1)}
.btn--light{background:#F7F0E6;color:var(--ink)}
.btn--light:hover{background:var(--clay);color:var(--paper)}
/* voucher placeholder card (until Sonja's photo) */
.gift-card{position:relative;display:grid;align-content:center;justify-items:center;text-align:center;gap:10px;aspect-ratio:3/2;width:100%;max-width:420px;justify-self:end;border-radius:var(--r);padding:var(--s4);text-decoration:none;color:var(--ink);background:radial-gradient(120% 140% at 20% 10%,#FBF6EF 0%,#F1E6D6 55%,#E6D5BF 100%);box-shadow:0 30px 60px -30px rgba(0,0,0,.55);z-index:1}
.gift-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(152,86,56,.45);border-radius:4px;pointer-events:none}
.gc-kicker{font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--clay)}
.gc-title{font:italic 400 clamp(28px,3vw,38px)/1.1 var(--serif);color:var(--ink)}
.gc-sub{font-size:13px;color:var(--muted)}
.gc-note{position:absolute;right:16px;bottom:14px;font:500 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:rgba(255,252,247,.8);border:1px dashed var(--clay-soft);border-radius:999px;padding:6px 10px}

/* Gutschein page */
.gp-hero{padding:var(--s6) 0 var(--s7)}
.gp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7);align-items:center}
.gp-copy{display:grid;gap:var(--s3)}
.gp-copy h1{font-size:clamp(44px,5vw,64px);line-height:1.04;letter-spacing:-.02em}
.gp-copy h1 em{font-style:italic;font-weight:400;color:var(--clay)}
.gp-media .gift-card{max-width:none;aspect-ratio:4/3;justify-self:stretch;box-shadow:0 30px 60px -30px rgba(42,31,25,.35)}
.gp-media .gc-title{font-size:clamp(36px,4vw,52px)}
.steps{list-style:none;margin:var(--s2) 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:48px 1fr;align-items:baseline;padding:var(--s2) 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
.steps li span{font:italic 500 20px/1 var(--serif);color:var(--clay)}
.order{background:var(--paper)}
.order-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s8);align-items:start}
.order-grid .section-head{margin-bottom:0;position:sticky;top:120px}
.form{display:grid;gap:var(--s5)}
.form fieldset{border:0;margin:0;padding:0;display:grid;gap:var(--s2);min-width:0}
.form legend{font:500 26px/1.2 var(--serif);color:var(--ink);padding:0;margin-bottom:var(--s2)}
.form legend small{display:block;font:400 14px/1.5 var(--sans);color:var(--muted);margin-top:4px}
.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice label{display:grid;gap:6px;padding:var(--s3) var(--s2);border:1px solid var(--line);border-radius:var(--r);background:var(--ivory);text-align:center;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
.choice .c-dur{font-size:14px;color:var(--muted);font-weight:500}
.choice .c-price{font:500 36px/1 var(--serif);color:var(--ink);font-variant-numeric:lining-nums}
.choice input:checked+label{border-color:var(--clay);background:#FBF3EA;box-shadow:0 0 0 1px var(--clay) inset}
.choice input:focus-visible+label{outline:2px solid var(--clay);outline-offset:3px}
.field{display:grid;gap:6px}
.field label,.field .lbl{font-size:15px;font-weight:500;color:var(--ink)}
.field .opt{font-weight:400;color:var(--muted)}
.field input[type=text],.field input[type=email],.field textarea{width:100%;font:400 16px/1.4 var(--sans);color:var(--ink);background:var(--ivory);border:1px solid rgba(42,31,25,.24);border-radius:var(--r);padding:14px 16px;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--clay);box-shadow:0 0 0 3px rgba(152,86,56,.15)}
.field .hint{font-size:13px;color:var(--muted)}
.gift-photo{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);position:relative;z-index:1}
.gift-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gift-photo:hover img{transform:scale(1.03)}
.gp-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -30px rgba(42,31,25,.35)}
.gp-photo img{width:100%;height:100%;object-fit:cover}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s2)}
.row-plz{display:grid;grid-template-columns:140px minmax(0,1fr);gap:var(--s2)}
.seg{display:flex;gap:var(--s1)}
.seg .choice label{padding:12px 24px;font-weight:500}
.check{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:var(--s2);border:1px solid var(--line);border-radius:var(--r);background:var(--ivory);cursor:pointer}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--clay)}
.check span{font-size:15px;color:var(--ink-2)}
.reveal-mail[hidden]{display:none}
.pay{display:grid;gap:var(--s2);padding-top:var(--s4);border-top:1px solid var(--line)}
.pay-sum{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);font-size:16px;color:var(--ink-2)}
.pay-sum b{font:500 32px/1 var(--serif);color:var(--ink);font-variant-numeric:lining-nums}
.pay .btn{justify-content:center;width:100%;border:0;cursor:pointer}
.pay-methods{display:flex;flex-wrap:wrap;gap:var(--s1);align-items:center;font-size:13px;color:var(--muted)}
.pay-methods span.pm{border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--ink-2);background:var(--ivory)}
.mock-note{border:1px dashed var(--clay);background:#FBF3EA;color:var(--ink-2);border-radius:var(--r);padding:var(--s2);font-size:14px}
.mock-note[hidden]{display:none}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:var(--s6);padding-top:var(--s6);border-top:1px solid var(--line)}
.contact-grid h3{font:600 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--clay);margin-bottom:var(--s2)}
.contact-grid address,.contact-grid p{font-style:normal;font-size:18px;line-height:1.6;color:var(--ink-2)}
.contact-grid .big{font:500 28px/1.25 var(--serif);color:var(--ink);display:block;margin-bottom:var(--s1);font-variant-numeric:lining-nums}
.contact-grid a{text-decoration:none;border-bottom:1px solid var(--clay-soft)}
.contact-grid .link{margin-top:var(--s3)}
footer.site-foot{padding:var(--s6) 0 var(--s5);color:var(--muted);font-size:14px}
.foot-row{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:var(--s4)}

/* CTAs */
.cta-row{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}
.cta-row--center{justify-content:center;margin-top:var(--s6)}
.cta-note{flex-basis:100%;font-size:14px;color:var(--muted)}
.cta-row--center .cta-note{text-align:center}
.btn--line{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--paper)}
.btn .tel-num{font-weight:400;color:inherit;opacity:.8;font-variant-numeric:tabular-nums}
.about-copy .cta-row{margin-top:var(--s2)}
.offers-foot{margin-top:var(--s7)}
summary h3{font:inherit;margin:0;letter-spacing:inherit}
.directions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6);margin-top:var(--s7);padding-top:var(--s6);border-top:1px solid var(--line);align-items:end}
.directions h3{font:500 30px/1.2 var(--serif);margin-bottom:var(--s2)}
.directions p{color:var(--ink-2);max-width:34em}
.citable{font-size:18px;line-height:1.7;color:var(--ink-2)}
.sticky-cta{display:none}

/* motion */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .js .reveal.in{opacity:1;transform:none}
  .hero-photo img{animation:settle 1.8s var(--ease) both}
  .hero-copy>*{animation:rise .9s var(--ease) both}
  .hero-copy>*:nth-child(2){animation-delay:.08s}.hero-copy>*:nth-child(3){animation-delay:.16s}.hero-copy>*:nth-child(4){animation-delay:.24s}.hero-copy>*:nth-child(5){animation-delay:.32s}
  @keyframes settle{from{transform:scale(1.06)}to{transform:none}}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* responsive */
@media (max-width:1080px){
  .nav ul{display:none}
  .hero-grid{gap:var(--s6)}
  .about-grid,.faq-grid{gap:var(--s6)}
  .voices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .offers{column-gap:var(--s4)}
  .offers .offer:nth-child(2){margin-top:0}
  .price span{font-size:32px}
}
@media (max-width:820px){
  :root{--gut:var(--s3)}
  body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  .sticky-cta{display:flex;gap:var(--s1);position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px var(--s2) calc(12px + env(safe-area-inset-bottom));background:rgba(247,242,235,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);transition:transform .35s var(--ease),visibility 0s}
  .sticky-cta .btn{width:auto;padding:14px 16px;font-size:15px;justify-content:center}
  .sticky-cta .btn:first-child{flex:1}
  .sticky-cta.is-hidden{transform:translateY(110%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s .35s}
  .directions{grid-template-columns:1fr;gap:var(--s3);margin-top:var(--s6)}
  .cta-row--center{margin-top:var(--s5)}
  .offers-foot{margin-top:var(--s6)}
  body{font-size:16px}
  .section{padding:var(--s7) 0}
  .section-head{margin-bottom:var(--s5)}
  .nav{height:64px}
  .brand b{font-size:22px}
  .nav-cta{padding:8px 16px;font-size:14px}
  .hero{padding:var(--s4) 0 var(--s7)}
  .hero-grid{grid-template-columns:1fr;gap:var(--s5)}
  .hero-media{order:-1;justify-self:stretch;max-width:none;padding-right:var(--s3)}
  .hero-media::before{inset:var(--s5) 0 calc(-1*var(--s3)) var(--s5)}
  .hero-photo{aspect-ratio:1/1}
  .hero-tag{left:auto;right:0;bottom:calc(-1*var(--s3));padding:12px var(--s2);max-width:168px}
  .hero-tag b{font-size:26px}.hero-tag span{font-size:12px;margin-top:4px}
  .hero h1{font-size:clamp(34px,9.6vw,48px)}
  .section-head h2,.about-copy h2,.gift h2{font-size:clamp(34px,9.4vw,44px)}
  .nw{white-space:normal}
  .lead{font-size:17px}
  .btn{width:100%;justify-content:center}
  .voice--hero{max-width:none;margin-top:var(--s1)}
  .voice{--pf:140px;padding:var(--s4) var(--s3) var(--s3)}
  .voice blockquote p{font-size:21px}
  .voice--hero{--pf:104px;column-gap:var(--s2)}
  .voice--hero blockquote p{font-size:21px}
  .about-grid,.faq-grid{grid-template-columns:1fr}
  .about-media{padding-right:0;padding-bottom:var(--s7)}
  .about-media .a1{width:84%}
  .about-media .a2{width:50%}
  .faq-grid .section-head{position:static}
  .offers{grid-template-columns:1fr;row-gap:var(--s7)}
  .offers-gift{font-size:21px;margin-top:var(--s6)}
  .price span{font-size:34px}
  .voices{grid-template-columns:1fr;gap:var(--s3)}
  .voice--featured{grid-template-columns:1fr;gap:var(--s4);padding:var(--s2) var(--s2) var(--s4);margin-bottom:var(--s3);text-align:center}
  .voice--featured .voice-portrait{aspect-ratio:1/1;padding:0;box-shadow:none}
  .voice--featured .portrait{object-position:50% 18%}
  .voice--featured .feat-body{padding:0 var(--s1)}
  .voice--featured blockquote p{font-size:24px}
  .voice--featured figcaption{justify-content:center}
  .voices-sec{padding-top:var(--s6)}
  .voices-sec .section-head{margin-bottom:var(--s4)}
  .voices-sec .proof{margin-bottom:var(--s4)}
  .proof{flex-direction:column;align-items:flex-start;gap:var(--s3)}
  .proof .btn{width:100%}
  .gift{grid-template-columns:1fr;padding:var(--s6) var(--s3);gap:var(--s5)}
  .gift-card--sm{justify-self:stretch;max-width:none}
  .gift-actions .btn{width:100%}
  .nav-end{gap:12px}
  .nav-gift{font-size:14px}
  .contact-grid{grid-template-columns:1fr;gap:var(--s4)}
  summary{font-size:22px}
  .gp-hero{padding:var(--s4) 0 var(--s6)}
  .gp-grid,.order-grid{grid-template-columns:1fr;gap:var(--s5)}
  .gp-media{order:-1}
  .gp-copy h1{font-size:clamp(36px,10vw,48px)}
  .order-grid .section-head{position:static}
  .choices{grid-template-columns:1fr;gap:12px}
  .choice label{grid-template-columns:1fr auto;align-items:center;text-align:left;padding:18px var(--s2)}
  .choice .c-dur{font-size:16px;color:var(--ink)}
  .choice .c-price{font-size:30px}
  .seg .choice{flex:1}
  .seg .choice label{grid-template-columns:1fr;text-align:center}
  .row2,.row-plz{grid-template-columns:1fr}
  .row-plz{grid-template-columns:110px minmax(0,1fr)}
  .form legend{font-size:24px}
}
@media (max-width:480px){
  .nav-end .nav-cta{display:none}
  .brand b,.brand small{white-space:nowrap}
  .nav-gift{border:1px solid var(--clay);border-radius:999px;padding:8px 16px;color:var(--clay)}
  .gift-actions .btn{padding:18px 16px;font-size:15px;white-space:nowrap}
  .gift-actions .btn .arr{display:none}
}
