/* SUHVE — rose glass, warm paper, fine typography.
   The existing section structure, product artwork and scroll engine are preserved. */
:root {
  --editorial: "Suhve Editorial", Georgia, serif;
  --ui: Arial, sans-serif;
}
body { -webkit-font-smoothing: antialiased; }
html { scroll-padding-top:calc(var(--nav-height) + 16px); }
main>section[id],.petal-gallery #finish-discovery { scroll-margin-top:0; }
button, input, select, textarea { font-family: var(--ui); }
:is(.waitlist h2,.purpose h2,.affiliate h2,.section-heading h2,.transparency h2,
    .affiliate-form h3,.detailed-form legend,.preview-grid figcaption,
    .footer-brand p,.commission-trigger span,.commission-modal-card h2,
    .detail-bar h2) { font-family: var(--editorial); font-weight:400; }
.eyebrow { font-weight:400; letter-spacing:.18em; }

/* Quiet navigation, with a clear invitation. */
.nav { border-bottom-color:#e5cbb52b; }
.nav nav a { font-size:10px; letter-spacing:.14em; position:relative; }
.nav nav a::after { content:""; position:absolute; bottom:7px; left:0; right:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.nav nav a:hover::after { transform:scaleX(1); }
.nav .nav-cta { background:#eddbca; color:#432e29; border:1px solid #eddbca; border-radius:2px; padding:11px 22px; font-size:10px; letter-spacing:.06em; }
.nav .nav-cta:hover { color:#432e29; background:#fff1e4; }
.menu-toggle { border-radius:2px; }

/* The original interactive product stage, with lighter type and breathing room. */
.after-hours .ah-copy h1 { font-family:var(--editorial); font-weight:400; font-style:normal; font-size:clamp(68px,7.6vw,116px); line-height:.9; letter-spacing:-.035em; }
.after-hours .ah-copy h1 em { font-family:var(--editorial); font-style:italic; font-weight:400; }
.after-hours .ah-copy .eyebrow { font-size:10px; letter-spacing:.2em; margin-bottom:25px; }
.after-hours .ah-description { font-size:13px; line-height:1.7; letter-spacing:0; max-width:315px; margin:25px 0 22px; }
.after-hours .ah-cta { font:11px/1.5 var(--ui); letter-spacing:.07em; border-radius:0; border-width:0 0 1px; padding:12px 0; min-height:44px; gap:45px; }
.after-hours .ah-cta:hover { background:transparent; color:#fff; }
.after-hours .ah-outline { font-family:var(--editorial); font-weight:400; letter-spacing:-.035em; opacity:.13; }
.after-hours .ah-selector-heading { font-size:10px; letter-spacing:.04em; margin-bottom:12px; }
.after-hours .ah-selector-heading>span:last-child { font-size:9px; }
.after-hours .ah-product-options { gap:0; border:1px solid #d7bca23b; }
.after-hours .ah-product-options button { font:400 22px/1 var(--editorial); padding:12px 8px; border:0; min-height:63px; }
.after-hours .ah-product-options button+button { border-left:1px solid #d7bca23b; }
.after-hours .ah-product-options button small { font:8px/1.4 var(--ui); margin-top:6px; letter-spacing:.15em; }
.after-hours .ah-product-options button[aria-pressed=true] { background:#ecd8c4; color:#432e29; }
.after-hours .ah-color-row { margin-top:12px; }
.after-hours .ah-mood-label { font:20px/1.1 var(--editorial); }
.after-hours .ah-mood-label small { font:9px/1.5 var(--ui); margin-top:4px; color:#e2c8b9; }
.bottle-open-toggle { background:#3f2b274d; border-radius:2px; font-size:11px; }
.artwork-detail { font-size:11px; }
.bottle-hint { font-size:9px; letter-spacing:.14em; color:#ecd8c8; }

/* A continuous editorial collection, with more generous finish labels. */
.petal-gallery { --paper:#faf3ec; --muted:#71564c; }
.petal-gallery .petal-chapter-line { background:#faf3ec; padding-block:30px; }
.petal-gallery .petal-chapter-line>span:first-child { font-size:10px; }
.petal-gallery .petal-chapter-line p { font-size:30px; }
.petal-gallery .petal-campaign-copy>p:not(.petal-kicker) { font-size:14px; line-height:1.8; }
.petal-gallery .petal-kicker { font-size:10px; }
.petal-gallery .petal-campaign-copy { text-shadow:0 2px 22px #3a1d2a45; }
.petal-gallery .petal-campaign::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#301c245c 0%,#301c2445 28%,transparent 60%); pointer-events:none; }
.petal-gallery .petal-campaign-copy,.petal-gallery .petal-image-note { z-index:2; }
.petal-gallery .petal-tabs button { padding-top:32px; padding-bottom:30px; gap:18px; }
.petal-gallery .petal-tabs button>span { font-size:10px; letter-spacing:.12em; color:#78574b; }
.petal-gallery .petal-tabs strong { font-size:clamp(30px,3.2vw,48px); }
.petal-gallery .petal-tabs i { font-size:18px; }
.petal-gallery .petal-finish-panel { padding-block:44px 24px; }
.petal-gallery .petal-finish-title .petal-kicker { font-size:9px; }
.petal-gallery .petal-finish-title h3 { font-size:42px; }
.petal-gallery .petal-finish-panel>p { font-size:14px; line-height:1.8; }
.petal-gallery .petal-link { font-size:10px; }
.petal-gallery .petal-concept-note { color:#715b51; font-size:11px; }
.petal-gallery .petal-image-note { font-size:9px; }

/* Correct inherited pale-on-pale campaign text. */
.campaign-editorial { background:#ead9ce!important; color:#432e29!important; }
.campaign-editorial .campaign-copy h2 { color:#432e29!important; font-family:var(--editorial)!important; font-weight:400!important; font-size:clamp(48px,5.7vw,84px)!important; line-height:1!important; }
.campaign-editorial .campaign-copy :is(p,span,small) { color:#71564c!important; }
.campaign-editorial .campaign-copy p:not(.eyebrow) { font:15px/1.85 var(--ui); max-width:440px; }
.campaign-editorial .campaign-copy .eyebrow { font-size:10px!important; }
.campaign-editorial .campaign-copy>span { font:10px/1.7 var(--ui); }
.campaign-film { box-shadow:0 18px 55px #54362812; }
.campaign-film figcaption { padding:16px 10px; letter-spacing:.17em; color:#f7e8da; background:#4b302d; }

/* Readable forms, preserving every field and its submission contract. */
.waitlist,.affiliate { gap:clamp(32px,5vw,80px); }
.waitlist h2,.affiliate h2 { font-size:clamp(48px,4.8vw,72px); line-height:1; letter-spacing:-.025em; }
.waitlist-intro>p:not(.eyebrow),.affiliate-copy>p:not(.eyebrow) { font:15px/1.85 var(--ui); max-width:440px; }
.detailed-form fieldset { margin-top:36px; padding-top:24px; border-color:#caa58e50; min-width:0; }
.detailed-form legend { font-size:30px; line-height:1.2; }
.detailed-form label { font:10px/1.7 var(--ui); letter-spacing:.09em; }
.detailed-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font:16px/1.5 var(--ui); min-height:52px; padding:12px 14px; }
.form-grid>* { min-width:0; }
.detailed-form textarea { resize:vertical; }
.detailed-form :is(input,select,textarea):focus-visible { outline:2px solid #d2a68c; outline-offset:3px; }
.detailed-form input[type=checkbox] { accent-color:#b9816d; width:17px!important; height:17px; }
.detailed-form .choice-grid label { font-size:13px!important; line-height:1.6; padding-block:5px; margin:0; }
.detailed-form .question>b { font:400 15px/1.6 var(--ui); }
.detailed-form :is(.consent,.affiliate-consent) { font-size:13px!important; line-height:1.75; }
.detailed-form button[type=submit] { min-height:54px; border-radius:2px; font-weight:400; letter-spacing:.13em; }
.affiliate-form { border:1px solid #dac5b4; padding:clamp(24px,3vw,44px); }
.affiliate-form h3 { font-size:38px; line-height:1.05; letter-spacing:-.025em; margin-bottom:16px; }
.affiliate-form>p { font:14px/1.8 var(--ui); color:#715b51; }
.affiliate-form small { color:#715b51; }
.next-step { background:#eaddcf66; padding:20px; }
.commission-trigger { border-color:#d6b39b66; background:#ffffff04; }
.commission-trigger span { font-size:26px; }
.purpose h2 { font-size:clamp(44px,4.7vw,68px); line-height:1.04; letter-spacing:-.025em; }
.purpose p:last-child { font-size:15px; line-height:1.85; color:#71564c; }
.purpose-number.purpose-care { font-family:var(--editorial); font-weight:400; letter-spacing:-.04em; }
.section-heading h2 { font-size:clamp(58px,6vw,84px); letter-spacing:-.035em; }
.section-heading>p:last-child { font:15px/1.8 var(--ui); }
.preview-grid figcaption { font-size:36px!important; }
.preview-grid figcaption span { font-size:10px; margin-bottom:9px; }
.transparency h2 { font-size:clamp(42px,4.5vw,66px); line-height:1.06; letter-spacing:-.025em; max-width:800px; margin-inline:auto; }
.transparency-grid { gap:28px; margin-top:50px; }
.transparency-grid>div { border-width:1px 0 0; padding:28px 0 0; }
.transparency-grid b { font:italic 30px var(--editorial); color:#976652; }
.transparency-grid h3 { font:400 32px/1.2 var(--editorial); margin:20px 0 14px; }
.transparency-grid p { font:14px/1.85 var(--ui); margin:0; color:#715b51; }
.footer-brand p { font-size:32px; margin-top:22px; }
.footer-brand small { font-size:12px; }
.legal-details summary { font:400 22px/1.3 var(--editorial); padding-block:18px; }
.footer-main h3 { color:#ddc0a9; font-size:10px; font-weight:400; }
.footer-links a { font-size:10px; }
.footer-bottom { font:11px/1.8 var(--ui); }
.site-footer .footer-brand .wordmark img { filter:brightness(0) invert(1)!important; }

@media(min-width:721px) and (max-height:800px) {
  .after-hours .ah-copy { top:9%; }
  .after-hours .ah-copy h1 { font-size:clamp(60px,6.7vw,92px); }
  .after-hours .ah-copy .eyebrow { margin-bottom:20px; }
  .after-hours .ah-description { margin:20px 0 12px; }
  .after-hours .ah-selector { bottom:67px; }
}
@media(max-width:980px) {
  .petal-gallery .petal-campaign { width:100%; min-height:0; }
  .nav #main-navigation { background:#3f2b27!important; padding:20px 24px; }
  .nav #main-navigation a { font-size:11px; min-height:48px; }
  .waitlist-intro,.affiliate-copy { max-width:650px; }
}
@media(max-width:720px) {
  .nav { gap:10px; padding-inline:20px; }
  .nav .nav-cta { padding:10px 13px!important; font-size:10px!important; min-height:44px; }
  .nav .wordmark img { width:112px!important; }
  .menu-toggle { font-size:10px; padding-inline:10px; }
  .after-hours .ah-copy { top:25px; left:20px; width:calc(100% - 40px); }
  .after-hours .ah-copy .eyebrow { font-size:9px; margin-bottom:15px; letter-spacing:.16em; }
  .after-hours .ah-copy h1 { font-size:clamp(44px,12.5vw,70px); line-height:.9; }
  .after-hours .ah-copy h1 br { display:initial; }
  .after-hours .ah-headline-em::before { content:none; }
  .after-hours .ah-product-wrap { top:132px; bottom:198px; }
  .after-hours .ah-selector { left:20px; right:20px; bottom:10px; }
  .after-hours .ah-selector-heading { font-size:10px; margin-bottom:9px; }
  .after-hours .ah-selector-heading>span:last-child { font-size:8px; }
  .after-hours .ah-product-options button { font-size:22px; min-height:57px; padding:10px 5px; }
  .after-hours .ah-product-options button small { font-size:8px; margin-top:5px; }
  .after-hours .ah-color-row { margin-top:9px; gap:10px; }
  .after-hours .ah-mood-label { font-size:20px; }
  .after-hours .ah-mood-label small { font-size:8px; }
  .bottle-hint { bottom:215px; font-size:8px; }
  .bottle-open-toggle,.artwork-detail { bottom:165px; min-height:44px; font-size:10px; }
  .bottle-open-toggle { left:calc(50% - 126px); padding:10px 13px; }
  .artwork-detail { right:calc(50% - 126px); }
  .petal-gallery .petal-chapter-line { padding:26px 24px; gap:20px; }
  .petal-gallery .petal-chapter-line>span:first-child { font-size:9px; }
  .petal-gallery .petal-chapter-line p { font-size:27px; line-height:1.1; }
  .petal-gallery .petal-campaign-copy { padding:36px 24px; text-shadow:none; gap:22px; }
  .petal-gallery .petal-campaign::before { display:none; }
  .petal-gallery .petal-campaign-copy .petal-kicker { font-size:9px; }
  .petal-gallery .petal-campaign-copy h2 { font-size:68px; }
  .petal-gallery .petal-campaign-copy>p:not(.petal-kicker) { grid-column:1/-1; font-size:14px; line-height:1.8; max-width:300px; }
  .petal-gallery .petal-campaign-copy .petal-link { grid-column:1/-1; width:200px; font-size:10px; }
  .petal-gallery .petal-image-note { font-size:7px; }
  .petal-gallery .petal-tabs button { padding:28px 8px 24px; gap:14px; }
  .petal-gallery .petal-tabs button>span { font-size:8px; letter-spacing:.05em; }
  .petal-gallery .petal-tabs button::before { top:11px; width:23px; height:8px; right:9px; }
  .petal-gallery .petal-tabs strong { font-size:27px; white-space:normal; line-height:.95; }
  .petal-gallery .petal-tabs strong em { display:block; margin-top:2px; }
  .petal-gallery .petal-finish-panel { gap:20px; padding:32px 0 16px; }
  .petal-gallery .petal-finish-title h3 { font-size:40px; }
  .petal-gallery .petal-finish-panel>p { font-size:14px; }
  .petal-gallery .petal-concept-note { font-size:10px; line-height:1.8; }
  .campaign-editorial .campaign-copy h2 { font-size:52px!important; }
  .campaign-editorial .campaign-copy p:not(.eyebrow) { font-size:14px; }
  .waitlist,.purpose,.affiliate { padding:64px 24px; gap:36px; }
  .waitlist h2,.affiliate h2 { font-size:52px; max-width:410px; }
  .purpose { gap:26px; }
  .purpose-number.purpose-care { font-size:80px; }
  .purpose h2 { font-size:44px; }
  .affiliate-form { padding:28px 20px; }
  .affiliate-form h3 { font-size:34px; }
  .detailed-form legend { font-size:28px; }
  .detailed-form label { font-size:10px; letter-spacing:.06em; }
  .form-grid { gap:18px; }
  .detailed-form .choice-grid { gap:5px 16px; }
  .preview { padding-block:70px; }
  .section-heading { margin-bottom:36px; padding-inline:24px; }
  .section-heading h2 { font-size:60px; }
  .preview-grid { padding-inline:24px; }
  .transparency { padding:70px 24px; }
  .transparency h2 { font-size:44px; }
  .transparency-grid { margin-top:36px; gap:30px; }
  .transparency-grid>div { padding-top:22px; }
  .transparency-grid h3 { margin:12px 0; }
  .footer-main { padding-top:36px; padding-bottom:36px; }
}
@media(max-width:380px) {
  .nav { padding-inline:16px; gap:8px; }
  .nav .wordmark img { width:100px!important; }
  .after-hours .ah-selector { left:16px; right:16px; }
  .after-hours .ah-mood-label small { max-width:145px; font-size:8px; }
  .petal-gallery .petal-campaign-copy,.petal-gallery .petal-chapter-line { padding-inline:20px; }
  .petal-gallery .petal-discovery { padding-inline:20px; }
  .petal-gallery .petal-tabs button>span { font-size:7px; }
  .petal-gallery .petal-tabs strong { font-size:26px; }
  .waitlist,.affiliate { padding-inline:20px; }
}
@media(max-width:720px) and (max-height:740px) {
  .after-hours .ah-copy { top:17px; }
  .after-hours .ah-copy h1 { font-size:42px; }
  .after-hours .ah-copy .eyebrow { font-size:8px; margin-bottom:10px; }
  .after-hours .ah-product-wrap { top:108px; bottom:230px; }
}
@media(prefers-reduced-motion:reduce) {
  .nav nav a::after { transition:none; }
}

/* Full-width collection framing: no capped-width beige gutter.
   Preserve the complete photograph and extend its cocoa left edge. */
.petal-gallery { background:#4b302d; }
.petal-gallery .petal-campaign {
  width:100%;
  max-width:none;
  max-height:none;
  min-height:0;
  aspect-ratio:auto;
  background:#4b302d;
}
.petal-gallery .petal-campaign::before { display:none; }
.petal-gallery .petal-campaign-copy { color:#fff4eb; text-shadow:none; }
.bottle-open-toggle { right:26.5%; transform:translateX(50%); }
@media(min-width:721px) {
  .petal-gallery .petal-campaign {
    height:min(56.55vw,calc(100svh - 210px));
    min-height:430px;
  }
  .petal-gallery .petal-campaign-image {
    position:absolute;
    top:0;
    right:0;
    height:100%;
    width:auto;
    max-width:100%;
    object-fit:contain;
    object-position:right center;
    mask-image:linear-gradient(90deg,transparent,#000 24%);
  }
  .petal-gallery .petal-campaign-copy { max-width:30%; }
  .petal-gallery .petal-campaign-copy h2 { font-size:clamp(56px,5.4vw,92px); }
  .petal-gallery .petal-campaign-copy>p:not(.petal-kicker) { max-width:280px; }
}
@media(max-width:980px) and (min-width:721px) {
  .bottle-open-toggle { right:25%; }
  .petal-gallery .petal-campaign-copy h2 { font-size:54px; }
  .petal-gallery .petal-campaign-copy>p:not(.petal-kicker) { font-size:12px; }
}
@media(max-width:720px) {
  .bottle-open-toggle { left:50%; right:auto; transform:translateX(-50%); }
  .petal-gallery .petal-campaign { height:auto; background:#4b302d; }
  .petal-gallery .petal-campaign-copy { background:#4b302d; color:#fff4eb; }
  .petal-gallery .petal-campaign-image { mask-image:linear-gradient(180deg,transparent,#000 16%); }
}
