/* MaryRuth Organics: um dia em blocos de tempo (manhã → Liquids Till Lunch → noite). Sem degradê: a home não usa. */
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-700-italic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-300.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Hurricane";src:url("fonts/hurricane-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}

:root{
  /* primitivos medidos no CSS e na home da marca */
  --petrol:#244858;
  --ink:#2e3e4e;
  --wine:#921a27;
  --wine-deep:#77131e;
  --logo-red:#d91c1c;
  --sky:#d7ecf4;
  --mist:#e8f3fb;
  --oat:#f9f6ed;
  --cream:#fffdf3;
  --night:#141b2d;
  --plaid-light:#2f5d73;
  --hairline:#d5e2e8;
  /* papéis */
  --tx:var(--petrol);
  --acao:var(--wine);
  --sobre-escuro:#e8f3fb;
  --max:1240px;
  --gutter:clamp(20px,4vw,40px);
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --plaid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Crect width='56' height='56' fill='%232f5d73'/%3E%3Crect width='28' height='56' fill='%23244858' fill-opacity='.55'/%3E%3Crect width='56' height='28' fill='%23244858' fill-opacity='.55'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Montserrat",system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--tx);background-color:#fff}
img{max-width:100%;height:auto;display:block}
a,button,label,summary{touch-action:manipulation}
p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
::selection{background:var(--wine);color:#fff}
:focus-visible{outline:3px solid var(--wine);outline-offset:3px;border-radius:4px}
.lights-out :focus-visible,.two-skies[data-sky="pm"] :focus-visible{outline-color:#fff}

section{position:relative;overflow-x:clip}
section > .page-width,.page-width{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.only-readers{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- casca do pacote ---------- */
.pular{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:var(--petrol);padding:10px 16px;border-radius:65px;font-weight:700}
.pular:focus{left:8px}
.rascunho{background-color:var(--petrol);color:#fff;text-align:center;font-size:12.5px;font-weight:500;padding:6px 16px}
.pacote{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px var(--gutter);background-color:#fff;border-bottom:1px solid var(--hairline)}
.pacote-abas{display:flex;flex-wrap:wrap;gap:4px}
.pacote-abas a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:65px;color:var(--petrol);font-size:14px;font-weight:600;text-decoration:none;transition:background-color .15s ease}
.pacote-abas a[aria-current="page"]{background-color:var(--petrol);color:#fff}
.pacote-abas .curto{display:none}
.chat{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:65px;background-color:var(--wine);color:#fff;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
@media (hover:hover) and (pointer:fine){
  .pacote-abas a:not([aria-current]):hover{background-color:var(--mist)}
  .chat:hover,.rodape-chat:hover{background-color:var(--wine-deep)}
}
@media (max-width:860px){
  .pacote{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 10px}
  .pacote-abas{display:contents}
  .pacote-abas a,.chat{justify-content:center;text-align:center;padding:4px 6px;font-size:12.5px;line-height:1.15}
  .pacote-abas a:not([aria-current]){background-color:var(--mist)}
}
.rodape{background-color:var(--sky);color:var(--petrol);text-align:center;font-size:14px;padding:0 var(--gutter) 40px}
.rodape::before{content:"";display:block;height:56px;margin:0 calc(var(--gutter) * -1) 36px;background-color:var(--plaid-light);background-image:var(--plaid);background-size:56px 56px}
.rodape p{max-width:760px;margin:0 auto 14px}
.rodape-chat{display:inline-flex;align-items:center;min-height:48px;padding:0 30px;border-radius:65px;background-color:var(--wine);color:#fff;font-weight:700;text-decoration:none}
.rodape-fontes{font-size:12.5px;color:#3a5564}

/* ---------- peças da marca ---------- */
.brand-title{margin:0;font-weight:300;font-size:clamp(30px,3.6vw,52px);line-height:1.12;letter-spacing:-.01em;color:inherit}
.brand-title strong{font-weight:700}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 30px;border-radius:65px;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap;transition:background-color .16s ease,transform .16s var(--ease-out)}
.pill:active{transform:scale(.97)}
.pill-loud{background-color:var(--wine);color:#fff}
.pill-quiet{background-color:#fff;color:var(--wine);box-shadow:inset 0 0 0 2px var(--wine)}
.pill-ghost{color:#fff;box-shadow:inset 0 0 0 2px #fff}
.pill-wide{width:100%;min-height:44px;margin-top:auto}
@media (hover:hover) and (pointer:fine){
  .pill-loud:hover,a:hover > .pill-loud{background-color:var(--wine-deep)}
  .pill-quiet:hover{background-color:var(--oat)}
  .pill-ghost:hover{background-color:rgba(255,255,255,.12)}
}
.hand-word{margin:0;font-family:"Hurricane","Montserrat",cursive;font-weight:400;font-size:46px;line-height:.9;color:var(--logo-red)}
.text-link{color:inherit;font-weight:700;text-decoration-thickness:2px;text-underline-offset:5px}
.niche{display:block;background-color:var(--mist);border-radius:20px;padding:18px;aspect-ratio:4/5;overflow:hidden}
.niche img{width:100%;height:100%;object-fit:contain;transition:transform .3s var(--ease-out)}
.niche-white{background-color:#fff;aspect-ratio:1/1}
.bottle-name{display:block;margin-top:12px;font-weight:700;font-size:18px;line-height:1.2}
.bottle-price{display:block;margin:10px 0 16px;font-weight:700;font-variant-numeric:tabular-nums}
.bottle-price s,.ladder-price s,.list-price s{font-weight:400;color:#56707d;margin-left:6px}
.qa{border-top:1px solid rgba(36,72,88,.3)}
.qa:last-child{border-bottom:1px solid rgba(36,72,88,.3)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:8px 0;font-weight:700;cursor:pointer;list-style:none}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";flex:none;font-size:28px;font-weight:300;line-height:1;transition:transform .2s var(--ease-out)}
.qa[open] summary::after{transform:rotate(45deg)}
.qa p{margin:0 0 20px;max-width:68ch}

/* ---------- 1. good-morning ---------- */
.daybreak{background-color:var(--sky)}
.ship-strip{margin:0;padding:8px 16px;text-align:center;font-size:12.5px;font-weight:700;letter-spacing:.03em}
.vanity{position:relative;display:flex;align-items:center;min-height:clamp(580px,45vw,700px)}
.vanity-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.bottle-label{position:relative;width:min(540px,calc(100% - 40px));margin:40px 0 40px clamp(20px,5vw,84px);padding:36px 36px 0;overflow:hidden;background-color:#fff;border-radius:24px;text-align:center;box-shadow:0 1px 2px rgba(20,27,45,.08),0 22px 44px -20px rgba(20,27,45,.4)}
.label-tagline{margin:0 0 14px;font-size:13.5px;font-weight:700;color:var(--logo-red)}
.bottle-label h1{margin:0;font-weight:300;font-size:clamp(30px,3vw,42px);line-height:1.14;letter-spacing:-.01em}
.bottle-label h1 strong{font-weight:700}
.label-line{margin:16px 0 0}
.label-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:24px 0 0}
.label-actions .pill-loud{text-transform:uppercase;letter-spacing:.08em;font-size:14px}
.day-rail{display:flex;margin:30px -36px 0;background-color:var(--sky)}
.day-rail a{flex:1;min-width:0;padding:14px 8px 16px;color:var(--petrol);text-decoration:none;transition:background-color .16s ease}
.day-rail a + a{border-left:1px solid rgba(36,72,88,.2)}
.rail-hour{display:block;font-family:"Hurricane","Montserrat",cursive;font-size:32px;line-height:1}
.rail-what{display:block;margin-top:4px;font-size:11.5px;font-weight:600;line-height:1.3}
@media (hover:hover) and (pointer:fine){.day-rail a:hover{background-color:#c3e1ee}}
.com-js .bottle-label > *{animation:label-in .7s var(--ease-out) both}
.com-js .bottle-label > :nth-child(2){animation-delay:.07s}
.com-js .bottle-label > :nth-child(3){animation-delay:.14s}
.com-js .bottle-label > :nth-child(4){animation-delay:.21s}
.com-js .bottle-label > :nth-child(5){animation-delay:.3s}
@keyframes label-in{from{opacity:0;transform:translateY(12px)}}
@media (max-width:760px){
  .vanity{display:block;min-height:0}
  .vanity-photo{position:static;height:300px;object-position:62% 40%}
  .bottle-label{width:auto;margin:-56px 14px 0;padding:28px 20px 0}
  .daybreak{padding-bottom:28px}
  .day-rail{margin-inline:-20px}
  .rail-hour{font-size:28px}
}

/* ---------- 2. where-to-start ---------- */
.shelf{padding:76px 0 84px}
.shelf .brand-title{text-align:center}
.shelf-answer{max-width:780px;margin:22px auto 0;text-align:center}
.shelf-answer p{margin:0}
.shelf-answer .shelf-q{margin-bottom:6px;font-weight:700}
.shelf-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:34px 0 38px}
.shelf-tab{min-height:48px;padding:0 24px;border:2px solid var(--ink);border-radius:65px;background-color:#fff;color:var(--ink);font:700 14px/1 "Montserrat",sans-serif;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s var(--ease-out)}
.shelf-tab:active{transform:scale(.97)}
.shelf-tab[aria-selected="true"]{background-color:var(--ink);color:#fff}
.sem-js .shelf-tabs{display:none}
.sem-js .shelf-panel{margin-top:40px}
.shelf-panel[hidden]{display:none}
.shelf-panel.is-arriving{animation:shelf-in .28s var(--ease-out)}
@keyframes shelf-in{from{opacity:0;transform:translateY(10px)}}
.shelf-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none}
.bottle a{display:flex;flex-direction:column;height:100%;color:var(--petrol);text-decoration:none}
.bottle-kind{align-self:flex-start;margin-top:16px;padding:5px 9px;background-color:var(--ink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.2}
@media (hover:hover) and (pointer:fine){.bottle a:hover .niche img,.cotton a:hover .niche img{transform:translateY(-6px) scale(1.03)}}
@media (max-width:980px){.shelf-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}}
@media (max-width:600px){
  .shelf{padding:56px 0 64px}
  .shelf-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .shelf-tab{padding:0 8px;font-size:12.5px}
  .bottle-name{font-size:16px}
  .niche{padding:12px}
}

/* ---------- 3 e 8. faixa xadrez ---------- */
.plaid-band{background-color:var(--petrol)}
.plaid-cloth{position:relative;display:flex;align-items:center;min-height:104px;background-color:var(--plaid-light);background-image:var(--plaid);background-size:56px 56px}
.plaid-run{display:flex;flex:1;min-width:0;overflow:hidden}
.plaid-track{display:flex;flex:none;margin:0;padding:0;list-style:none;animation:plaid-roll 44s linear infinite}
.plaid-track li{display:flex;align-items:center;gap:36px;padding-left:36px;color:#fff;font-size:20px;font-weight:600;white-space:nowrap}
.plaid-track li::after{content:"";width:9px;height:9px;background-color:#fff;transform:rotate(45deg)}
.plaid-run.is-paused .plaid-track{animation-play-state:paused}
@keyframes plaid-roll{to{transform:translateX(-100%)}}
.plaid-pause{position:absolute;right:14px;top:50%;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;border:2px solid #fff;border-radius:50%;background-color:var(--petrol);color:#fff;cursor:pointer}
.plaid-pause svg{fill:currentColor}
.plaid-pause .ic-play{display:none}
.plaid-pause[aria-pressed="true"] .ic-bars{display:none}
.plaid-pause[aria-pressed="true"] .ic-play{display:block}
.plaid-quiet{justify-content:center;min-height:128px;padding:24px var(--gutter)}
.plaid-say{max-width:920px;margin:0;color:#fff;font-size:clamp(17px,1.7vw,22px);font-weight:500;text-align:center}
.hand-light{display:inline-block;margin-right:.35em;color:#fff;font-size:2.1em;line-height:.6;vertical-align:-.1em}

/* ---------- 4. am-pm-switch ---------- */
.two-skies{--sky-bg:var(--mist);--sky-ink:var(--petrol);--sky-card:#fff;--sky-accent:var(--logo-red);--sky-pour:var(--wine);--sky-line:rgba(36,72,88,.22);padding:84px 0 92px;background-color:var(--sky-bg);color:var(--sky-ink);transition:background-color .5s ease,color .5s ease}
.two-skies[data-sky="pm"]{--sky-bg:var(--night);--sky-ink:#e8f3fb;--sky-card:#202b46;--sky-accent:#a9d8ea;--sky-pour:#a9d8ea;--sky-line:rgba(232,243,251,.26)}
.two-skies .brand-title{text-align:center}
.sky-lead{max-width:720px;margin:16px auto 0;text-align:center}
.sky-dial{display:flex;width:max-content;max-width:100%;margin:30px auto 40px;padding:5px;border:2px solid var(--sky-ink);border-radius:65px;background-color:var(--sky-card);transition:background-color .5s ease,border-color .5s ease}
.dial-side{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 24px;border:0;border-radius:65px;background-color:transparent;color:inherit;font:700 15px/1 "Montserrat",sans-serif;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .16s var(--ease-out)}
.dial-side svg{fill:currentColor}
.dial-side:active{transform:scale(.97)}
.dial-side[aria-selected="true"]{background-color:var(--wine);color:#fff}
.sem-js .sky-dial{display:none}
.sky-stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:48px;align-items:center}
.sky-photo{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:3/2}
.sky-photo img{width:100%;height:100%;object-fit:cover}
.sky-panel{padding:32px 34px 34px;border-radius:24px;background-color:var(--sky-card);transition:background-color .5s ease}
.sky-panel[hidden]{display:none}
.sky-panel.is-arriving{animation:shelf-in .32s var(--ease-out)}
.sem-js .sky-panel + .sky-panel{margin-top:20px}
.sky-word{margin:0 0 16px;font-family:"Hurricane","Montserrat",cursive;font-size:56px;line-height:.8;color:var(--sky-accent)}
.sky-panel h3{margin:0 0 10px;font-size:22px;line-height:1.2;font-weight:700}
.sky-price{margin-left:6px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}
.sky-panel > p{margin:0 0 6px}
.sky-how{margin:14px 0 20px}
.sky-how div{padding:12px 0;border-top:1px solid var(--sky-line)}
.sky-how dt{font-size:14px;font-weight:700}
.sky-how dd{margin:2px 0 0;font-size:15px}
.spoon-rule{margin-top:48px;padding:28px 34px 30px;border-radius:24px;background-color:var(--sky-card);transition:background-color .5s ease}
.spoon-rule h3{margin:0 0 14px;font-size:20px}
.spoon-rows{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.spoon-rows li{display:flex;align-items:center;gap:22px}
.spoon-age{flex:0 0 300px;font-weight:600;font-variant-numeric:tabular-nums}
.spoon-glass{flex:1;height:14px;border-radius:65px;background-color:var(--sky-line);overflow:hidden}
.spoon-pour{display:block;width:calc(var(--ml) * 100%);height:100%;border-radius:65px;background-color:var(--sky-pour);transform-origin:left center;transition:transform .9s var(--ease-out),background-color .5s ease}
.com-js .spoon-pour:not(.in){transform:scaleX(0)}
.spoon-note{margin:18px 0 0;font-size:14px}
@media (max-width:900px){
  .sky-stage{grid-template-columns:minmax(0,1fr);gap:24px}
  .spoon-rows li{flex-direction:column;align-items:stretch;gap:6px}
  .spoon-age{flex:none}
  .spoon-glass{flex:none}
}
@media (max-width:600px){
  .two-skies{padding:60px 0 64px}
  .sky-panel,.spoon-rule{padding:24px 20px}
  .dial-side{padding:0 16px}
}

/* ---------- 5. liquids-till-lunch ---------- */
.lunch-table{padding:92px 0;background-color:var(--oat)}
.lunch-spread{display:flex;align-items:flex-start;gap:60px}
.lunch-portrait{position:sticky;top:24px;flex:0 0 43%;margin:0;border-radius:16px;overflow:hidden}
.lunch-portrait img{width:100%;aspect-ratio:1/1;object-fit:cover}
.lunch-talk{flex:1;min-width:0}
.lunch-talk .brand-title{margin-top:2px}
.lunch-talk .lunch-question{margin:22px 0 8px;font-weight:700}
.lunch-quote{margin:0}
.lunch-quote p,.lunch-talk > p{margin:0 0 14px}
.anchor-clocks{display:flex;gap:32px;margin:26px 0;padding:0;list-style:none}
.anchor-clocks li{display:flex;align-items:center;gap:12px}
.clock-face{position:relative;flex:none;width:56px;height:56px;border:3px solid var(--petrol);border-radius:50%;background-color:#fff}
.clock-face::before{content:"";position:absolute;left:calc(50% - 1.5px);bottom:50%;width:3px;height:17px;border-radius:2px;background-color:var(--wine);transform-origin:50% 100%;transform:rotate(var(--hand))}
.clock-face::after{content:"";position:absolute;left:calc(50% - 3px);top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background-color:var(--petrol)}
.clock-hour{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.lunch-talk .lunch-sign{margin:20px 0 2px;font-weight:700}
.lunch-talk .lunch-foot{margin:0;font-size:14px}
@media (max-width:900px){
  .lunch-table{padding:60px 0}
  .lunch-spread{flex-direction:column;gap:28px}
  .lunch-portrait{position:static;flex:none;width:100%}
  .anchor-clocks{gap:0;justify-content:space-between}
  .anchor-clocks li{flex-direction:column;gap:6px;flex:1}
}

/* ---------- 6. brand-facts ---------- */
.facts-desk{padding:96px 0 100px}
.facts-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:64px;align-items:start}
.facts-intro p{margin:18px 0 0}
.facts-photo{margin:30px 0 0;border-radius:16px;overflow:hidden}
.facts-photo img{width:100%;aspect-ratio:2/1;object-fit:cover}
.facts-panel{padding:14px 22px 18px;border:3px solid var(--ink);background-color:#fff;color:var(--ink)}
.facts-head{margin:0;font-size:clamp(40px,4.6vw,62px);font-weight:700;line-height:1;letter-spacing:-.02em}
.facts-serving{margin:8px 0 0;padding-bottom:10px;border-bottom:12px solid var(--ink);font-size:14px;font-weight:500}
.facts-rows{margin:0;padding:0;list-style:none}
.facts-rows li{position:relative;display:flex;gap:18px;align-items:baseline;padding:13px 0}
.facts-rows li::after,.timetable li::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background-color:var(--ink);transform-origin:left center;transition:transform .8s var(--ease-out);transition-delay:calc(var(--i,0) * 80ms)}
.com-js .rv-rule:not(.in)::after{transform:scaleX(0)}
.facts-amount{flex:0 0 190px;font-size:20px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}
.facts-text{flex:1;min-width:0;font-size:14px;line-height:1.45}
.facts-foot{margin:0;padding-top:10px;border-top:6px solid var(--ink);font-size:13px;font-weight:600}
@media (max-width:900px){
  .facts-desk{padding:60px 0 64px}
  .facts-spread{grid-template-columns:minmax(0,1fr);gap:36px}
  .facts-rows li{flex-direction:column;gap:4px}
  .facts-amount{flex:none}
}

/* ---------- 7. wellness-drop ---------- */
.drop-reel{padding:84px 0 84px;background-color:var(--mist)}
.drop-reel .brand-title{text-align:center}
.reel-lead{max-width:760px;margin:16px auto 0;text-align:center}
.reel-window{margin-top:40px;padding:4px var(--gutter) 18px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);scrollbar-width:thin;scrollbar-color:var(--petrol) transparent}
.reel-strip{display:flex;gap:20px;width:max-content;margin:0;padding:0;list-style:none}
.reel-card{flex:0 0 300px;scroll-snap-align:start}
.reel-card img{width:100%;aspect-ratio:2/1;object-fit:cover;border-radius:16px;outline:1px solid rgba(0,0,0,.08);outline-offset:-1px}
.reel-card p{margin:12px 4px 0;font-size:15px;font-weight:600;line-height:1.3}
.reel-more{margin:26px 0 0;text-align:center}
@media (max-width:600px){.drop-reel{padding:60px 0}.reel-card{flex-basis:250px}}

/* ---------- 9. nighttime-checklist ---------- */
.night-pages{padding:96px 0 104px}
.night-spread{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:64px;align-items:start}
.night-date{margin:12px 0 0;font-size:14px}
.night-photo{margin:28px 0 10px;border-radius:16px;overflow:hidden}
.night-photo img{width:100%;aspect-ratio:2/1;object-fit:cover}
.tip-list{margin:0;padding:0;list-style:none}
.tip-list li{padding:22px 0;border-bottom:1px solid var(--hairline)}
.tip-list h3{margin:0 0 6px;font-size:20px;font-weight:700;line-height:1.25}
.tip-list p{margin:0;max-width:66ch}
.journal-page{position:sticky;top:24px;padding:30px 30px 28px;border-radius:20px;background-color:var(--cream);box-shadow:0 1px 2px rgba(36,72,88,.1),0 16px 36px -20px rgba(36,72,88,.4)}
.journal-moon{position:relative;width:64px;height:64px;margin-bottom:14px;border:3px solid var(--petrol);border-radius:50%;background-color:#fff;overflow:hidden}
.moon-fill{position:absolute;inset:0;background-color:var(--petrol);transform-origin:50% 100%;transform:scaleY(var(--done,0));transition:transform .45s var(--ease-out)}
.journal-page h3{margin:0 0 8px;font-size:22px;line-height:1.2}
.journal-lines{margin:0;padding:0;list-style:none}
.journal-lines li{border-bottom:1px solid #cfe0e8}
.journal-lines label{display:flex;align-items:center;gap:12px;min-height:48px;font-weight:500;cursor:pointer}
.journal-lines input{appearance:none;-webkit-appearance:none;display:grid;place-content:center;flex:none;width:24px;height:24px;margin:0;border:2px solid var(--petrol);border-radius:7px;background-color:#fff;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.journal-lines input::after{content:"";width:11px;height:6px;margin-top:-3px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) scale(.6);transition:transform .15s var(--ease-out)}
.journal-lines input:checked{background-color:var(--wine);border-color:var(--wine)}
.journal-lines input:checked::after{transform:rotate(-45deg) scale(1)}
.journal-lines input:checked + span{text-decoration:line-through;text-decoration-color:var(--wine)}
.journal-count{margin:16px 0 8px;font-weight:700;font-variant-numeric:tabular-nums}
.journal-note{margin:0;font-size:14px}
@media (max-width:900px){
  .night-pages{padding:60px 0 64px}
  .night-spread{grid-template-columns:minmax(0,1fr);gap:36px}
  .journal-page{position:static;padding:24px 20px}
}

/* ---------- 10. subscribe-and-save ---------- */
.next-delivery{padding:84px 0 88px;background-color:var(--sky)}
.next-delivery .brand-title{text-align:center}
.delivery-lead{max-width:580px;margin:16px auto 0;text-align:center}
.perk-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:1060px;margin:40px auto 0;padding:0;list-style:none;text-align:center}
.perk-trio svg{margin:0 auto;color:#2f7fb3}
.perk-trio h3{margin:10px 0 4px;font-size:20px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.perk-trio p{margin:0;font-size:15px}
.cadence-card{max-width:880px;margin:48px auto 0;padding:30px 34px 32px;border-radius:24px;background-color:#fff;text-align:center}
.cadence-say{margin:0}
.cadence-pick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 22px;padding:0;border:0}
.cadence-pick label{position:relative;display:block}
.cadence-pick input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cadence-pick span{display:flex;align-items:center;justify-content:center;min-height:48px;border:2px solid var(--ink);border-radius:65px;font-weight:700;white-space:nowrap;transition:background-color .16s ease,color .16s ease}
.cadence-pick input:checked + span{background-color:var(--ink);color:#fff}
.cadence-pick input:focus-visible + span{outline:3px solid var(--wine);outline-offset:3px}
.cadence-days{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:5px;max-width:720px;margin:0 auto 20px}
.cadence-days i{display:block;aspect-ratio:1/1;border-radius:50%;background-color:var(--sky);transition:background-color .25s ease,transform .25s var(--ease-out)}
.cadence-days i.drop{background-color:var(--wine);transform:scale(1.3)}
.cadence-extra{margin:0;font-weight:600}
.delivery-qa{max-width:880px;margin:30px auto 0}
.delivery-go{margin:32px 0 0;text-align:center}
@media (max-width:760px){
  .next-delivery{padding:60px 0 64px}
  .perk-trio{grid-template-columns:minmax(0,1fr);gap:26px}
  .cadence-card{padding:24px 18px}
  .cadence-pick{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cadence-days{grid-template-columns:repeat(15,minmax(0,1fr))}
}

/* ---------- 11. one-bottle-or-the-routine ---------- */
.two-starts{padding:96px 0 100px}
.two-starts .brand-title{text-align:center}
.starts-pair{display:flex;flex-direction:column;gap:28px;margin-top:44px}
.start-card{display:flex;min-height:440px;border-radius:24px;overflow:hidden;background-color:var(--oat)}
.start-two{flex-direction:row-reverse;background-color:var(--mist)}
.start-shot{flex:0 0 42%;margin:0;overflow:hidden}
.start-shot img{width:100%;height:100%;object-fit:cover}
.start-niche{display:flex;padding:28px;background-color:#fff}
.start-niche img{object-fit:contain}
.start-copy{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:38px 44px}
.start-tag{margin:0 0 6px;font-family:"Hurricane","Montserrat",cursive;font-size:44px;line-height:.9;color:var(--logo-red)}
.start-copy h3{margin:0;font-size:26px;line-height:1.18;font-weight:700}
.start-price{margin:6px 0 10px;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.start-copy > p{margin-top:0}
.start-copy h3 + p:not(.start-price){margin-top:10px}
.start-small{font-size:14px}
.routine-ladder{width:100%;margin:4px 0 24px;padding:0;list-style:none}
.routine-ladder li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid rgba(36,72,88,.25);font-weight:600}
.routine-ladder li:last-child{border-bottom:1px solid rgba(36,72,88,.25)}
.ladder-price,.list-price{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:860px){
  .two-starts{padding:60px 0 64px}
  .start-card,.start-two{flex-direction:column;min-height:0}
  .start-shot{flex:none;aspect-ratio:4/3}
  .start-copy{padding:26px 20px 30px}
  .routine-ladder li{flex-direction:column;gap:2px}
}

/* ---------- 12. wecare-support ---------- */
.wecare-desk{padding:92px 0;background-color:var(--oat)}
.wecare-spread{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.wecare-big{margin:20px 0 12px;font-size:22px;font-weight:600;line-height:1.35}
.wecare-say > p{margin-top:0}
.wecare-voice{margin:20px 0 0;padding:22px 24px;border-radius:20px;background-color:#fff}
.wecare-voice blockquote{margin:0}
.wecare-voice p{margin:0;font-style:italic}
.wecare-voice figcaption{margin-top:8px;font-weight:700}
.wecare-sheet{padding:28px 30px 32px;border-radius:24px;background-color:#fff}
.sheet-scroll{overflow-x:auto}
.wecare-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.wecare-table caption{padding-bottom:12px;text-align:left;font-size:20px;font-weight:700}
.wecare-table th,.wecare-table td{padding:12px 12px 12px 0;border-bottom:1px solid var(--hairline);text-align:left;font-size:15px}
.wecare-table thead th{border-bottom:2px solid var(--ink);font-size:12.5px;font-weight:700;line-height:1.3}
.wecare-table tbody th{font-weight:600}
.wecare-table td{font-weight:700;white-space:nowrap}
.sheet-terms{margin:18px 0;padding-left:18px;font-size:13.5px}
.sheet-qa{font-size:15px}
.sheet-fine{font-size:13px}
@media (max-width:900px){
  .wecare-desk{padding:60px 0}
  .wecare-spread{grid-template-columns:minmax(0,1fr);gap:32px}
  .wecare-sheet{padding:22px 18px 26px}
}

/* ---------- 13. shipping-and-delivery ---------- */
.timetable-hall{padding:92px 0}
.timetable-sub{margin:10px 0 24px;font-weight:700}
.timetable{margin:0;padding:0;list-style:none;border-top:3px solid var(--ink)}
.timetable li{position:relative;display:flex;align-items:center;gap:28px;padding:20px 0}
.tt-name{flex:1.3;min-width:0;font-size:18px;font-weight:700;line-height:1.3}
.tt-days{flex:0 0 120px;font-size:44px;font-weight:300;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.tt-time{flex:1;min-width:0;font-size:14px}
.timetable-notes{display:flex;gap:44px;margin-top:28px;font-size:15px}
.timetable-notes p{flex:1;margin:0}
@media (max-width:760px){
  .timetable-hall{padding:60px 0}
  .timetable li{flex-wrap:wrap;gap:6px 16px}
  .tt-name{flex:1 1 60%;font-size:16px}
  .tt-days{flex:none;font-size:34px}
  .tt-time{flex:1 1 100%}
  .timetable-notes{flex-direction:column;gap:14px}
}

/* ---------- 14. hsa-fsa-checkout ---------- */
.hsa-counter{padding:88px 0;background-color:var(--mist)}
.hsa-say{max-width:820px}
.hsa-save{margin:20px 0 6px;font-size:18px}
.hsa-figure{display:block;color:var(--wine);font-size:clamp(36px,4.8vw,66px);font-weight:700;line-height:1.05;letter-spacing:-.02em}
.hsa-say p:last-child{margin:0}
.hsa-steps{display:flex;gap:20px;margin:36px 0 0;padding:0;list-style:none}
.hsa-steps li{flex:1;min-width:0;padding:24px 26px 26px;border-radius:20px;background-color:#fff}
.hsa-steps h3{margin:0 0 8px;font-size:19px;line-height:1.25}
.hsa-steps p{margin:0;font-size:15px}
.hsa-fine{display:flex;gap:40px;margin-top:28px;font-size:14.5px}
.hsa-fine p{flex:1;margin:0}
@media (max-width:860px){
  .hsa-counter{padding:60px 0}
  .hsa-steps,.hsa-fine{flex-direction:column;gap:14px}
}

/* ---------- 15. beyond-the-bottle ---------- */
.pantry{padding:92px 0;background-color:var(--oat)}
.pantry-top{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.pantry-top .brand-title{flex:none}
.pantry-top p{max-width:560px;margin:0}
.cotton-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:40px 0 0;padding:0;list-style:none}
.cotton a{display:block;color:inherit;text-decoration:none}
.cotton .bottle-price{margin-bottom:0}
.price-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;margin:44px 0 0;padding:0;list-style:none}
.price-list li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(36,72,88,.25);font-weight:600}
.price-list em{margin-left:6px;font-style:normal;font-weight:400;font-size:13px}
.pantry-note{max-width:780px;margin:28px 0 0;font-size:14.5px}
@media (max-width:860px){
  .pantry{padding:60px 0}
  .pantry-top{flex-direction:column;align-items:flex-start;gap:14px}
  .cotton-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
  .price-list{grid-template-columns:minmax(0,1fr)}
  .price-list li{flex-wrap:wrap;gap:2px 16px}
}

/* ---------- 16. faqs-and-help ---------- */
.help-desk{padding:92px 0}
.help-columns{display:flex;align-items:flex-start;gap:56px;margin-top:32px}
.help-col{flex:1;min-width:0}
.help-more{margin:28px 0 0}
@media (max-width:860px){
  .help-desk{padding:60px 0}
  .help-columns{flex-direction:column;gap:0}
  .help-col + .help-col .qa:first-child{border-top:0}
}

/* ---------- 17. happiness-guarantee ---------- */
.promise-band{padding:64px 0;background-color:var(--sky);text-align:center}
.promise-inner{max-width:920px}
.promise-say{margin:18px auto 20px;font-size:clamp(18px,1.6vw,21px);line-height:1.5}
.care-hours{margin:0;padding:0;list-style:none;font-size:14.5px;font-weight:600}
.care-reach{margin:8px 0 0;font-size:14.5px;overflow-wrap:anywhere}

/* ---------- 18. connect-on-socials ---------- */
.social-wall{padding:84px 0 92px;background-color:var(--cream)}
.social-wall .brand-title{text-align:center}
.social-handle{margin:14px 0 0;text-align:center;font-size:22px;font-weight:700}
.social-tiles{display:flex;justify-content:center;gap:28px;max-width:1120px;margin:44px auto 0;padding:0;list-style:none}
.social-tiles li{flex:1;min-width:0;aspect-ratio:1/1;border-radius:24px;overflow:hidden}
.social-tiles li:nth-child(even){margin-top:56px}
.social-tiles img{width:100%;height:100%;object-fit:cover}
.social-links{display:grid;grid-template-columns:repeat(4,max-content);justify-content:center;gap:8px 36px;margin:44px 0 0;padding:0;list-style:none}
.social-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--petrol);font-weight:700;text-decoration-thickness:2px;text-underline-offset:5px}
@media (max-width:760px){
  .social-wall{padding:60px 0 64px}
  .social-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .social-tiles li:nth-child(even){margin-top:28px}
  .social-links{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;text-align:center;gap:4px 8px}
  .social-links a{font-size:13px;white-space:nowrap}
}

/* ---------- 19. good-night ---------- */
.lights-out{padding:88px 0;background-color:var(--night);color:var(--sobre-escuro)}
.night-end{display:flex;align-items:center;gap:56px}
.night-words{flex:1;min-width:0;text-align:center}
.sun-moon{display:flex;justify-content:center;gap:16px;margin:0 0 14px}
.sun-moon svg{fill:currentColor}
.lights-out .brand-title{color:#fff}
.night-quote{max-width:560px;margin:22px auto 0;font-size:18px}
.night-quote p{margin:0 0 10px}
.night-by{margin:6px 0 0;font-size:14px;color:#b9cfdb}
.night-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:28px 0 0}
.night-offer{margin:22px 0 0;font-size:14px}
.night-bottle{flex:0 0 46%;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:600/467}
.night-bottle img{width:100%;height:100%;object-fit:cover;object-position:100% 50%}
@media (max-width:860px){
  .lights-out{padding:60px 0}
  .night-end{flex-direction:column;gap:36px}
  .night-bottle{flex:none;width:100%}
}

/* ---------- entradas: estado escondido só sob .com-js ---------- */
.rv-rise,.rv-lift,.rv-slide,.rv-tick{transition:opacity .7s var(--ease-out),transform .8s var(--ease-out);transition-delay:calc(var(--i,0) * 70ms)}
.rv-wipe{transition:clip-path .8s var(--ease-in-out)}
.com-js .rv-rise:not(.in){opacity:0;transform:translateY(18px)}
.com-js .rv-lift:not(.in){opacity:0;transform:translateY(28px) scale(.97)}
.com-js .rv-slide:not(.in){opacity:0;transform:translateX(36px)}
.com-js .rv-tick:not(.in){opacity:0;transform:scale(.9)}
.com-js .rv-wipe:not(.in){clip-path:inset(0 100% 0 0)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv-rise,.rv-lift,.rv-slide,.rv-tick,.rv-wipe{transition:opacity .3s ease}
  .com-js .rv-rise:not(.in),.com-js .rv-lift:not(.in),.com-js .rv-slide:not(.in),.com-js .rv-tick:not(.in){transform:none}
  .com-js .rv-wipe:not(.in){clip-path:none;opacity:0}
  .com-js .spoon-pour:not(.in),.com-js .rv-rule:not(.in)::after{transform:none}
  .com-js .bottle-label > *,.shelf-panel.is-arriving,.sky-panel.is-arriving{animation:none}
  .plaid-track{animation:none;flex-wrap:wrap;justify-content:center;row-gap:6px;padding:16px 0}
  .plaid-track[aria-hidden="true"],.plaid-pause{display:none}
  .two-skies,.sky-panel,.spoon-rule,.sky-dial{transition:none}
  .niche img,.moon-fill,.pill,.cadence-days i{transition:none}
}
