/* Harney & Sons: a mesa de degustação. Paleta do CSS real do site (MARCA.json); fonte Cardo (a do site), 400 e 700. */
@font-face{font-family:"Cardo";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/cardo-400.woff2") format("woff2")}
@font-face{font-family:"Cardo";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/cardo-700.woff2") format("woff2")}

:root{
  --porcelain:#ffffff;--paper:#f5f5f5;--steep:#231a12;--dock:#14100c;
  --gold:#c6a95a;--gold-deep:#b0913d;--amber:#a25d18;--mauve:#9b8381;--mint:#d5ece5;--peri:#6f719b;
  --ink:#333333;--line:#e0e0e0;
  --ease:cubic-bezier(.23,1,.32,1);
  --max:1200px;
  --serif:"Cardo","Iowan Old Style","Palatino Linotype",Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:72px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;background:var(--porcelain);color:var(--ink);font:400 18px/1.6 var(--serif);font-synthesis:none;touch-action:manipulation;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,p,figure,blockquote{margin:0}
a{color:inherit}
::selection{background:var(--gold);color:#111}
:focus-visible{outline:3px solid var(--steep);outline-offset:3px;border-radius:4px}
.room--steep :focus-visible,.room--amber :focus-visible,.room--peri :focus-visible,.rodape :focus-visible,.pacote :focus-visible{outline-color:var(--gold)}
.room--gold :focus-visible,.rascunho :focus-visible{outline-color:#111}

/* ---------- bloco do pacote ---------- */
.pular{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:#111;padding:10px 16px;border-radius:8px;text-decoration:none;font-weight:700}
.pular:focus{top:8px}
.rascunho{background:var(--gold);color:#111;text-align:center;font-size:14px;line-height:1.4;padding:8px 16px}
.pacote{position:sticky;top:0;z-index:50;background:var(--dock);color:#f5f5f5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 24px;font-size:16px}
.pacote-abas{display:flex;gap:4px;min-width:0}
.pacote-abas a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;color:#f5f5f5;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,color .15s ease}
.pacote-abas a[aria-current="page"]{background:var(--gold);color:#111;font-weight:700}
.pacote .curto{display:none}
.chat{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;background:var(--gold);color:#111;font-weight:700;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,transform .15s ease}
@media (hover:hover) and (pointer:fine){
  .pacote-abas a:not([aria-current]):hover{background:rgba(255,255,255,.12)}
  .chat:hover,.rodape-chat:hover{background:#d9c07a}
}
.chat:active,.rodape-chat:active{transform:scale(.97)}
@media (max-width:1060px){.pacote .longo{display:none}.pacote .curto{display:inline}.pacote-abas a{padding:0 10px}}
@media (max-width:860px){
  .pacote{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 12px}
  .pacote-abas{display:contents}
  .pacote-abas a,.chat{justify-content:center;padding:0 6px;font-size:15px}
}
.rodape{background:var(--dock);color:#e8e0d0;text-align:center;padding:40px 24px 48px;font-size:15px;line-height:1.5}
.rodape p{max-width:62ch;margin:0 auto 14px}
.rodape-chat{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border-radius:999px;background:var(--gold);color:#111;font-weight:700;text-decoration:none;transition:background-color .15s ease,transform .15s ease}
.rodape-fontes{color:#cfc4b0;font-size:14px;margin-bottom:0}

/* ---------- sala (seção) ---------- */
.room{--tx:var(--ink);position:relative;overflow-x:clip;background-color:var(--c);color:var(--tx);padding:clamp(48px,5vw,64px) 0 clamp(100px,8vw,112px)}
.room::after{content:"";position:absolute;inset:auto 0 0;height:96px;background:linear-gradient(to bottom in oklab,var(--c),var(--n));pointer-events:none}
.room--steep{--tx:#f5f5f5}.room--mauve{--tx:#1b1410}.room--amber{--tx:#ffffff}.room--peri{--tx:#ffffff}.room--gold{--tx:#111111}.room--mint{--tx:var(--ink)}
.width{position:relative;z-index:1;width:100%;max-width:var(--max);margin-inline:auto;padding-inline:24px}
.head{max-width:760px;margin:0 auto 32px;text-align:center}
.head h2,.split-text h2,.finale h2{font-size:clamp(30px,3.6vw,46px);line-height:1.1;font-weight:700;letter-spacing:-.005em;text-wrap:balance}
.head p{margin-top:12px;text-wrap:pretty}
.head p+p{margin-top:8px}
h3{font-size:22px;line-height:1.2;font-weight:700;text-wrap:balance}
.card{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 1px 2px rgba(35,26,18,.06),0 10px 28px -12px rgba(35,26,18,.22)}
.card h3{text-align:center;margin-bottom:8px}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;border:2px solid transparent;font:700 17px/1 var(--serif);text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
.btn:active{transform:scale(.97)}
.btn-gold{background:var(--gold);color:#111}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line--light{border-color:#f5f5f5;color:#f5f5f5}
.btn-dark{background:var(--steep);color:#f5f5f5}
@media (hover:hover) and (pointer:fine){
  .btn-gold:hover{background:#d9c07a}
  .btn-line:hover{background:var(--ink);color:#fff}
  .btn-line--light:hover{background:#f5f5f5;color:var(--steep)}
  .btn-dark:hover{background:#3a2c20}
}

/* ---------- 1 · tasting-table (hero) ---------- */
.hero-split{display:grid;grid-template-columns:minmax(0,5.5fr) minmax(0,6.5fr);gap:48px;align-items:center}
.hero-copy .tagline{font-size:20px;color:#6b5320;font-weight:700}
.hero-copy h1{font-size:clamp(38px,4.2vw,58px);line-height:1.04;font-weight:700;letter-spacing:-.01em;margin:6px 0 16px}
.hero-copy h1 .ln{display:inline-block;white-space:nowrap}
.lede{max-width:46ch;text-wrap:pretty}
.cta-row{display:flex;gap:12px;margin-top:24px}
.finale .cta-row{justify-content:center}
.seals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:24px}
.seals li{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:8px 12px;font-size:15px;line-height:1.3;text-align:center;display:flex;align-items:center;justify-content:center}
.ticket{margin-top:16px;display:flex;flex-direction:column;gap:2px;background:var(--steep);color:#f5f5f5;border-radius:12px;padding:12px 18px}
.ticket strong{color:var(--gold);font-size:19px}
.tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;background:var(--paper);border-radius:28px;padding:28px 20px 40px}
.tray .saucer:nth-child(2){margin-top:36px}
.tray .saucer:nth-child(3){margin-top:12px}
.saucer{background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 1px 2px rgba(35,26,18,.06),0 10px 28px -12px rgba(35,26,18,.25);color:var(--ink);position:relative}
.saucer img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:10px}
.saucer p{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 4px 4px;font-size:15px;line-height:1.25;text-align:center}
.brew{flex:none;width:14px;height:14px;border-radius:50%;background:var(--brew,var(--gold));box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}

/* ---------- 2 · signature-blends ---------- */
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.blend--photo{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:20px;align-items:center}
.pack{background:#fff;border-radius:16px;padding:8px;color:var(--ink)}
.pack img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:10px;background:#fff}
.pack figcaption{font-size:14px;line-height:1.3;text-align:center;padding:4px 4px 2px}
.blend-text h3{font-size:clamp(28px,3vw,38px);color:var(--gold);margin-bottom:10px}
.blend--type{border:1px solid rgba(198,169,90,.45);border-radius:20px;padding:28px 32px;display:flex}
.blend--type .blend-text{margin:auto 0}
.blend--type h3{font-size:clamp(44px,5vw,68px);line-height:1}
.blend-tag{margin-top:12px;font-size:15px;color:var(--gold)}

/* ---------- 3 · flight-table (elemento memorável) ---------- */
.flight-bar{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px!important}
.cuptray{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.cuptray .saucer img{aspect-ratio:4/3;object-position:50% 8%}
.cuptray .saucer{transition:box-shadow .3s var(--ease),transform .3s var(--ease),opacity .2s ease}
.cuptray.shuffling .saucer{opacity:.15;transform:scale(.97)}
.cuptray .saucer.pick{box-shadow:0 0 0 3px var(--gold),0 14px 30px -12px rgba(35,26,18,.4)}
.cuptray .saucer.pick::after{content:attr(data-n);position:absolute;top:-10px;left:-10px;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#111;font-weight:700;display:grid;place-items:center;font-size:16px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
#flight-note{min-height:1.6em;font-size:17px}

/* ---------- 4 · tasting-room ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center}
.split-text{text-align:center}
.split-text p{margin-top:12px;text-wrap:pretty}
.thrice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.thrice li{background:var(--paper);color:var(--ink);border-radius:14px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:16px;line-height:1.3}
.thrice b{font-size:34px;line-height:1;color:#6b5320}
.wide-card{background:#fff;border-radius:20px;padding:8px;box-shadow:0 14px 34px -16px rgba(35,26,18,.45)}
.wide-card img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px}

/* ---------- 5 · blending-room ---------- */
.gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gauge{background:var(--steep);color:#f5f5f5;border-radius:16px;padding:20px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}
.gauge .num{font-size:clamp(40px,4.4vw,56px);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.gauge .unit{font-size:15px;color:#e8e0d0}
.gauge p{font-size:16px;line-height:1.4;margin-top:8px;text-wrap:pretty}

/* ---------- 6 · tin-shelf ---------- */
.head--row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;max-width:none;margin-bottom:28px}
.banner{width:100%;aspect-ratio:3/1;object-fit:cover;border-radius:16px}
.shelf{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;align-items:stretch}
.shelf-feature{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:6px}
.shelf-feature figure{background:#fff;border-radius:12px;padding:6px}
.shelf-feature img{width:100%;height:210px;object-fit:contain}
.shelf-feature h3{text-align:center;margin-top:6px;font-size:20px}
.shelf-feature p{font-size:16px;line-height:1.4;text-align:center}
.shelf-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.shelf-grid li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;display:flex;flex-direction:column;box-shadow:0 8px 20px -14px rgba(35,26,18,.35)}
.shelf-grid img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:9px}
.shelf-grid img.cupfill{object-fit:cover;object-position:50% 10%}
.shelf-grid p{font-size:14px;line-height:1.25;text-align:center;padding:6px 2px 4px;margin-block:auto}

/* ---------- 7 · matcha-bowl ---------- */
.bowl{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:stretch}
.bowl-photo{background:#fff;border-radius:18px;padding:8px;display:flex;flex-direction:column;box-shadow:0 14px 34px -18px rgba(35,26,18,.4)}
.bowl-photo img{width:100%;flex:1;min-height:0;object-fit:contain;object-position:50% 50%;border-radius:12px;background:#fff}
.bowl-photo figcaption{text-align:center;padding:6px;font-weight:700;color:var(--ink)}
.whisk .steps{counter-reset:s;margin-top:10px;display:grid;gap:6px}
.steps li{counter-increment:s;position:relative;padding-left:32px;font-size:16px;line-height:1.35;text-align:left}
.steps li::before{content:counter(s);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--mint);color:var(--ink);font-size:13px;font-weight:700;display:grid;place-items:center}
.card>p{font-size:16px;line-height:1.4;text-align:center}
.card .price-row{margin-top:4px;font-weight:700;font-size:17px}
.inline{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-top:8px}
.inline li{background:var(--paper);border-radius:10px;padding:6px 10px;font-size:15px;line-height:1.3;text-align:center}
.bowl-side{display:grid;gap:12px;align-content:stretch}
.bowl-side .card{padding:14px 16px}
.bowl-side h3{font-size:19px;margin-bottom:4px}
.ways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.ways li{background:rgba(255,255,255,.7);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;text-align:center;font-size:16px;line-height:1.3}
.ways b{font-size:18px}

/* ---------- 8 · iced-pitcher ---------- */
.pitcher{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;align-items:stretch}
.pouch figure{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;margin-bottom:10px}
.pouch figure img{width:100%;height:180px;object-fit:contain}
.pouch figcaption{text-align:center;font-weight:700;font-size:16px;padding:4px}
.price-list{display:grid;gap:4px}
.price-list li{display:flex;justify-content:space-between;gap:12px;font-size:16px;line-height:1.3;border-bottom:1px solid var(--line);padding:5px 0}
.price-list b{white-space:nowrap}
.pouch>p{margin-top:10px}
.cocktail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:20px;align-content:start}
.cocktail h3{grid-column:1/-1}
.cocktail-pic{grid-column:1;grid-row:2;background:var(--steep);border-radius:12px;overflow:hidden;align-self:start}
.cocktail-pic img{width:100%;aspect-ratio:1200/648;object-fit:cover}
.cocktail .inline{grid-column:1;grid-row:3;grid-auto-flow:row;margin-top:10px;align-self:start}
.cocktail .steps{grid-column:2;grid-row:2/4;align-self:center;display:grid;gap:8px;margin-top:0}

/* ---------- 9 · founders ---------- */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.person{background:#fff;color:var(--ink);border-radius:18px;padding:22px 22px 24px;box-shadow:0 14px 30px -16px rgba(35,26,18,.5)}
.person h3{text-align:center;font-size:26px}
.person .role{text-align:center;font-size:15px;color:#6b5320;margin:2px 0 12px;font-weight:700}
.person p:not(.role){font-size:16px;line-height:1.5;text-wrap:pretty}
.person blockquote{font-size:21px;line-height:1.3;text-align:center;margin-bottom:12px;text-wrap:balance}

/* ---------- 10 · family-ledger ---------- */
.ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ledger li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px 14px 44px;position:relative}
.ledger li::before{content:"";position:absolute;left:18px;top:21px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(198,169,90,.28)}
.ledger h3{font-size:18px;text-align:left}
.ledger p{font-size:15px;line-height:1.4;margin-top:2px}

/* ---------- 11 · tea-atlas ---------- */
.atlas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.atlas-card{background:#2f2318;border:1px solid rgba(245,245,245,.14);border-radius:16px;padding:16px 16px 14px}
.atlas-card h3{font-size:18px;color:var(--gold);margin:6px 0}
.atlas-card h3:first-child{margin-top:0}
.atlas-card ul+h3{margin-top:14px}
.bar{padding:3px 0}
.bar span{display:flex;justify-content:space-between;gap:8px;font-size:15px;line-height:1.3}
.bar b{font-weight:400;color:#e0d6c2;font-variant-numeric:tabular-nums}
.bar i{display:block;position:relative;height:5px;margin-top:3px;border-radius:3px;background:rgba(245,245,245,.12);overflow:hidden}
.bar i::after{content:"";position:absolute;inset:0;border-radius:3px;background:var(--gold);transform-origin:left center;transform:scaleX(calc(var(--v) / 100));transition:transform 1s var(--ease)}
.notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px;font-size:16px;line-height:1.5;text-align:center}

/* ---------- 12 · format-ladder ---------- */
.ladder{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:stretch}
.rungs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rung{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;grid-template-columns:84px minmax(0,1fr);gap:4px 12px;align-items:center}
.rung img{width:84px;height:96px;object-fit:contain;background:#fff;border-radius:10px}
.rung h3{font-size:18px;text-align:left}
.amt{font-size:28px;line-height:1.1;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.math{grid-column:1/-1;font-size:15px;line-height:1.3;background:#fff;border-radius:10px;padding:7px 10px;text-align:center;font-variant-numeric:tabular-nums}
.math em{display:inline-block;margin-left:6px;font-size:13px;font-style:normal;font-weight:700;color:#6b5320;white-space:nowrap}
.loose>p{margin-top:10px;font-size:15px;line-height:1.4;text-align:left}

/* ---------- 13 · subscribe-savor ---------- */
.perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.perk{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 20px;text-align:center;box-shadow:0 12px 28px -16px rgba(35,26,18,.35)}
.perk h3{margin-bottom:10px}
.perk p{font-size:17px;line-height:1.4;text-wrap:pretty}
.perk .small{font-size:15px;margin-top:4px}
.cadence{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.cadence b{font-size:26px;line-height:1.1;color:var(--amber);font-variant-numeric:tabular-nums}
.subs-row{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:20px;align-items:center;margin-top:20px}
.mini{padding:6px;border-radius:16px}
.mini img{width:100%;height:150px;object-fit:contain}
.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.chips li{background:var(--steep);color:#f5f5f5;border-radius:12px;padding:10px 12px;text-align:center;font-weight:700;font-size:17px;line-height:1.2}

/* ---------- 14 · gift-cabinet ---------- */
.gifts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.gifts li{background:#fff;color:var(--ink);border-radius:14px;padding:8px;display:grid;grid-template-rows:auto minmax(3em,1fr);align-content:start;box-shadow:0 12px 26px -14px rgba(0,0,0,.5)}
.gifts img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px}
.gifts p{font-size:14px;line-height:1.25;text-align:center;padding:6px 2px 2px}
.giftcard{text-align:center;margin-top:22px;font-weight:700}
.denoms{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;max-width:760px;margin:10px auto 0}
.denoms li{background:#231a12;color:var(--gold);border-radius:10px;padding:6px 0;text-align:center;font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.giftlist{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.giftlist li{flex:0 0 calc((100% - 30px) / 4);display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;background:rgba(35,26,18,.55);border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:8px 10px;text-align:center;font-size:16px;line-height:1.3}
.giftlist b{white-space:nowrap}

/* ---------- 15 · reviews-board ---------- */
.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.quote{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 18px;align-items:center}
.quote img{grid-row:1/3;width:110px;height:126px;object-fit:contain;background:#fff;border-radius:12px}
.quote blockquote{font-size:21px;line-height:1.3;text-wrap:balance}
.quote .by{font-size:15px;line-height:1.3;color:#555}
.ledger-title{text-align:center;margin-top:26px;font-size:16px}
.counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}
.counts li{background:var(--paper);border:1px solid var(--line);border-radius:999px;text-align:center;padding:5px 8px;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- 16 · dispatch-dock ---------- */
.dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dock .card{text-align:center;padding:16px 16px 18px}
.big{display:block;font-size:34px;line-height:1.1;margin-bottom:8px;white-space:nowrap;font-variant-numeric:tabular-nums}
.big small{display:block;font-size:16px;font-weight:400;line-height:1.2;margin-top:2px}
.dock .card p{font-size:15px}
.dock--text{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;gap:10px 28px;font-size:16px;line-height:1.45}
.dock--text p{background:rgba(255,255,255,.65);border-radius:12px;padding:10px 14px}

/* ---------- 17 · store-doors ---------- */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.door{padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.door p{text-align:left;font-size:15px;line-height:1.4}
.door .addr{font-weight:700;text-align:center}
.door .phone{font-size:28px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}
.door:nth-child(4),.door:nth-child(5){justify-content:center}
.door:nth-child(4) p,.door:nth-child(5) p{text-align:center}
.blend-text p+p{margin-top:8px}
.door--pic img{width:100%;aspect-ratio:1400/403;object-fit:cover;border-radius:10px}

/* ---------- 18 · faq ---------- */
.faqgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;align-items:start}
details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:0 18px;transition:background-color .2s ease}
details[open]{background:#fff;box-shadow:0 12px 26px -16px rgba(35,26,18,.35)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:10px 0;font-weight:700;font-size:18px;line-height:1.25}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;background:var(--gold);color:#111;display:grid;place-items:center;font-size:20px;line-height:1;transition:transform .2s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 0 16px;font-size:16px;line-height:1.5}

/* ---------- 19 · last-pour ---------- */
.finale{text-align:center;max-width:760px}
.finale p{margin-top:14px;text-wrap:pretty}
.finale .cta-row{margin-top:26px}

/* ---------- movimento: o estado escondido só existe com JS ---------- */
.com-js .rv{transition:opacity .32s ease,transform .32s ease,clip-path .32s ease}
.com-js .rv.in{transition:opacity .9s var(--ease) calc(var(--i,0) * 70ms),transform .9s var(--ease) calc(var(--i,0) * 70ms),clip-path 1s var(--ease) calc(var(--i,0) * 70ms)}
.com-js .rv:not(.in){opacity:0}
.com-js .rv-up:not(.in){transform:translateY(22px)}
.com-js .rv-wipe:not(.in){opacity:1;clip-path:inset(0 0 100% 0)}
.com-js .rv-wipe.in{clip-path:inset(0 0 0 0)}
.com-js .atlas:not(.in) .bar i::after{transform:scaleX(0)}
.com-js .cadence b{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.com-js .cadence:not(.in) b{opacity:0;transform:translateY(8px)}
.com-js .cadence.in b:nth-child(2){transition-delay:.07s}.com-js .cadence.in b:nth-child(3){transition-delay:.14s}
.com-js .cadence.in b:nth-child(4){transition-delay:.21s}.com-js .cadence.in b:nth-child(5){transition-delay:.28s}.com-js .cadence.in b:nth-child(6){transition-delay:.35s}

/* ---------- telas menores ---------- */
@media (max-width:1100px){
  .cuptray{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .atlas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bowl{grid-template-columns:minmax(0,220px) minmax(0,1fr)}
  .bowl-side{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
  .shelf{grid-template-columns:minmax(0,260px) minmax(0,1fr)}
  .shelf-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .gifts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .doors{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hero-split,.split,.pair,.pitcher,.ladder,.shelf,.head--row,.quotes{grid-template-columns:minmax(0,1fr)}
  .cuptray{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trio,.perks,.dock{grid-template-columns:minmax(0,1fr)}
  .tray{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shelf-feature img{height:240px}
  .gauges{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ledger,.faqgrid,.notes,.dock--text{grid-template-columns:minmax(0,1fr)}
  .bowl{grid-template-columns:minmax(0,1fr)}
  .bowl-photo img{height:260px;flex:none}
  .bowl-side{grid-template-columns:minmax(0,1fr)}
  .ways{grid-template-columns:repeat(2,minmax(0,1fr))}
  .counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rungs{grid-template-columns:minmax(0,1fr)}
  .subs-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .subs-row .chips{grid-column:1/-1;grid-row:2}
  .denoms{grid-template-columns:repeat(4,minmax(0,1fr))}
  .giftlist li{flex-basis:calc((100% - 10px) / 2)}
  .doors{grid-template-columns:minmax(0,1fr)}
  .atlas{grid-template-columns:minmax(0,1fr)}
  .cocktail{grid-template-columns:minmax(0,1fr)}
  .cocktail-pic,.cocktail .inline,.cocktail .steps{grid-column:1;grid-row:auto}
  .cocktail .steps{margin-top:12px}
  .blend--photo{grid-template-columns:minmax(0,150px) minmax(0,1fr)}
  .room::after{height:72px}
  .room{padding-bottom:96px}
}
@media (max-width:520px){
  body{font-size:17px}
  .width{padding-inline:16px}
  .cta-row{flex-direction:column}
  .cta-row .btn{width:100%}
  .tray{grid-template-columns:minmax(0,1fr);padding:16px 14px 20px}
  .tray .saucer:nth-child(n){margin-top:0}
  .tray .saucer img{aspect-ratio:16/10}
  .blend--photo{grid-template-columns:minmax(0,1fr)}
  .pack{max-width:220px;margin-inline:auto}
  .blend--type{padding:22px 20px}
  .gauge .num{font-size:36px}
  .gifts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quote{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
  .quote img{grid-row:auto}
  .perk .cadence b{font-size:22px}
  .big{font-size:30px}
  .thrice{grid-template-columns:minmax(0,1fr)}
  .thrice li{flex-direction:row;justify-content:center;gap:10px}
  .inline{grid-auto-flow:row}
  .rung{grid-template-columns:72px minmax(0,1fr)}
  .rung img{width:72px;height:84px}
  .door .phone{font-size:26px}
  .seals{grid-template-columns:minmax(0,1fr)}
  .room--steep .atlas-card{padding:14px}
}

/* ---------- movimento reduzido: só opacidade ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .com-js .rv,.com-js .rv.in{transition:opacity .2s ease!important}
  .com-js .rv-up:not(.in){transform:none}
  .com-js .rv-wipe:not(.in){clip-path:none;opacity:0}
  .com-js .rv-wipe.in{clip-path:none}
  .com-js .atlas:not(.in) .bar i::after{transform:scaleX(calc(var(--v) / 100))}
  .com-js .cadence:not(.in) b{transform:none}
  .bar i::after{transition:none}
  .cuptray .saucer,.cuptray.shuffling .saucer{transition:none;transform:none}
}
