/* TOLVA · styles below the first screen (carta, sheets, signature glass, origin & roast, promo band, club).
   Loaded without blocking the first paint; the first screen styles are inline in index.html. */

.carta{margin-top:clamp(72px,9vw,140px);padding-top:clamp(40px,5vw,72px);border-top:1px solid rgba(93,39,16,.16)}
.ct-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:16px 48px;align-items:end}
.ct-t{font:900 clamp(36px,4.6vw,76px)/.95 var(--X);letter-spacing:-.02em}
.ct-t .sc{font-size:.78em;color:var(--tan);margin-left:.12em}
.ct-lead{justify-self:end;max-width:44ch;color:var(--ink2);font:500 16px/1.55 var(--S)}
.ct-tabs{position:relative;display:flex;gap:2px;width:max-content;max-width:100%;margin-top:clamp(28px,3vw,44px);padding:5px;border-radius:999px;background:var(--card);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
.ct-tabs::-webkit-scrollbar{display:none}
.ct-tab{position:relative;z-index:1;flex:none;min-height:46px;padding:0 18px;border-radius:999px;font:700 15px/1 var(--S);color:var(--ink2);white-space:nowrap;transition:color .45s var(--ease)}
.ct-tab small{margin-left:5px;font:700 11px/1 var(--S);opacity:.55}
.ct-tab[aria-selected=true]{color:#fff}
html:not(.js) .ct-tab[aria-selected=true]{background:var(--ink)}
.ct-ind{position:absolute;z-index:0;left:0;top:5px;bottom:5px;width:var(--iw,0px);border-radius:999px;background:var(--ink);transform:translate3d(var(--ix,0px),0,0);transition:transform .6s var(--ease),width .6s var(--ease)}
html:not(.js) .ct-ind{display:none}
.ct-pan{margin-top:clamp(18px,2vw,28px);outline:0}
.ct-gra{display:grid;grid-template-columns:minmax(0,1fr) clamp(170px,17vw,240px);gap:clamp(24px,4vw,64px);align-items:start}.ct-gra .ct-list{grid-row:1}.ct-gph{grid-column:2;grid-row:1}.ct-gph img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:24px;background:var(--photo)}
html.js .ct-pan:not(.on){display:none}
.ct-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,88px)}
.it{display:grid;grid-template-columns:minmax(0,max-content) minmax(16px,1fr) auto auto;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid rgba(93,39,16,.14)}
.it-t b{font:800 clamp(17px,1.35vw,20px)/1.2 var(--S);letter-spacing:-.01em}
.it-t span{display:block;margin-top:3px;color:var(--sub);font:500 14px/1.35 var(--S)}
.it-tag{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;background:var(--pink);color:var(--rose);font:800 10.5px/1 var(--S);font-style:normal;letter-spacing:.08em;text-transform:uppercase;vertical-align:3px}
.it-dl{height:0;border-bottom:1.5px dotted rgba(93,39,16,.3)}
.it-p{font:800 clamp(17px,1.4vw,21px)/1 var(--X);letter-spacing:-.01em}
.it .ctl{display:flex;justify-content:flex-end;min-width:44px}
.it-add{width:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:50%}
.it-add svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .5s var(--ease)}
.it-add:hover svg{transform:rotate(90deg)}
.it .qty button{width:36px}
html.js:not(.rm) .ct-pan.on .it{animation:itin .7s var(--ease) both;animation-delay:calc(var(--k,0) * 45ms)}
@keyframes itin{from{opacity:0;transform:translate3d(0,14px,0)}}
.carta .note{margin-top:22px}
@media (max-width:899px){.ct-gra{grid-template-columns:minmax(0,1fr);gap:20px}.ct-gra .ct-list{grid-row:2}.ct-gph{grid-column:1;width:min(50%,220px)}.ct-head{grid-template-columns:minmax(0,1fr)}.ct-lead{justify-self:start}.ct-list{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.ct-tabs{margin-inline:calc(-1 * var(--gut));border-radius:0;width:auto;padding:5px var(--gut);background:none;box-shadow:inset 0 -1px 0 rgba(93,39,16,.14)}.ct-tab{color:var(--ink2);box-shadow:inset 0 0 0 1px rgba(93,39,16,.24);margin-right:6px}.ct-ind{display:none}.ct-tab[aria-selected=true]{background:var(--ink)}
.it{grid-template-columns:minmax(0,1fr) auto auto;gap:12px}.it-dl{display:none}.it-t span{font-size:14px}}
.roll{display:inline-flex;vertical-align:top;font-variant-numeric:tabular-nums}
.rv{display:inline-flex;align-items:flex-start}.rv>span{display:inline-block;height:1em;line-height:1;overflow:hidden}
.rd>span{display:flex;flex-direction:column;transition:transform .7s var(--ease)}
.rd>span>span{display:block;height:1em;line-height:1}
.cz{width:min(480px,100% - 32px);max-width:100%;max-height:calc(100dvh - 32px);border:0;padding:0;border-radius:26px;background:#FFFCF8;color:var(--ink);box-shadow:0 40px 90px -30px rgba(36,23,15,.65)}
.cz::backdrop{background:rgba(36,23,15,.5)}
html.js:not(.rm) .cz[open]{animation:czin .55s var(--ease)}
@keyframes czin{from{opacity:0;transform:translate3d(0,26px,0) scale(.96)}}
.cz-w{padding:20px 22px 22px}
.cz-top{display:grid;grid-template-columns:88px minmax(0,1fr) 44px;gap:16px;align-items:start}
.cz-ph{aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--photo)}
.cz-ph img{width:100%;height:100%;object-fit:cover}
.cz-k{margin-top:4px;font:700 12px/1 var(--S);letter-spacing:.16em;text-transform:uppercase;color:var(--tanD)}
.cz h2{margin-top:8px;font:900 clamp(22px,5vw,28px)/1.02 var(--X);letter-spacing:-.015em}
.cz-d{margin-top:6px;color:var(--sub);font:500 14px/1.4 var(--S)}
.cz fieldset{margin-top:18px}.cz fieldset[hidden]{display:none}
.cz legend{margin-bottom:10px;font:700 13px/1 var(--S);letter-spacing:.12em;text-transform:uppercase;color:var(--sub)}
.opt span small{margin-left:6px;font-weight:500;opacity:.72}
.seg2{display:grid;grid-template-columns:1fr 1fr}.seg2 .opt span{justify-content:center}
.tg span i{position:relative;width:32px;height:20px;margin-right:10px;border-radius:10px;background:rgba(93,39,16,.22);transition:background .3s}
.tg span i::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .4s var(--ease)}
.tg input:checked+span i{background:rgba(255,255,255,.32)}.tg input:checked+span i::after{transform:translateX(12px)}
.cz-go{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:0 22px}
.cz-go b{font:900 21px/1 var(--X)}
@keyframes czup{from{transform:translate3d(0,100%,0)}}
@media (max-width:767px){.cz{width:100%;margin:auto 0 0;border-radius:24px 24px 0 0;max-height:92dvh}html.js:not(.rm) .cz[open]{animation:czup .55s var(--ease)}html.js:not(.rm) .drawer[open]{animation-name:czup}}
.lines li small{max-width:28ch}
.ups{margin-top:18px;padding:14px;border-radius:18px;background:var(--card)}
.ups[hidden]{display:none}
.ups p{font:700 12px/1 var(--S);letter-spacing:.14em;text-transform:uppercase;color:var(--sub)}
.ups-b{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;margin-top:10px;padding:8px 8px 8px 14px;border-radius:14px;background:#fff;text-align:left;transition:transform .4s var(--ease)}
.ups-b:hover{transform:translateY(-2px)}
.ups-b b{display:block;font:700 15px/1.2 var(--S)}.ups-b small{display:block;color:var(--sub);font:500 13px/1.3 var(--S)}
.ups-b em{flex:none;padding:12px 14px;border-radius:999px;background:var(--ink);color:#fff;font:800 14px/1 var(--X);font-style:normal}
.eta{margin-top:18px;color:var(--ink2);font:600 15px/1.4 var(--S)}.eta:empty{display:none}.eta b{color:var(--ink)}
.cup3{display:none}
.sig.c3on .gph{display:none}
.sig.c3on .cup3{display:block;position:relative;width:100%;aspect-ratio:400/500;margin-inline:auto}
.sig.c3on .gl-tag{position:static;display:flex;flex-direction:row;align-items:baseline;gap:10px;justify-content:center;width:max-content;max-width:100%;margin:6px auto 0;padding:10px 18px;border-radius:999px;background:rgba(243,233,220,.08);color:var(--cream);box-shadow:inset 0 0 0 1px rgba(243,233,220,.16);font:600 14px/1.2 var(--S)}.sig.c3on .gl-tag b{font:900 20px/1 var(--X)}
@media (max-width:767px){.sig.c3on .glw{width:min(62vw,250px);padding-top:clamp(40px,7vh,72px)}.sig.c3on .gl-tag{display:none}}
@media (max-width:767px) and (max-height:700px){.sig.c3on .glw{width:min(46vw,190px);padding-top:36px}}
.org{padding:clamp(88px,11vw,170px) 0;background:linear-gradient(#F7F1E9,#fff 70%)}
.org-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px 64px;align-items:end}
.org-head .eyb{grid-column:1/-1;margin-bottom:0}
.org-lead{max-width:44ch;color:var(--ink2);font:500 17px/1.55 var(--S)}.org-ej{color:var(--sub)}
.org-g{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(24px,4vw,72px);align-items:start;margin-top:clamp(40px,5vw,72px)}
.org-ph{margin-top:clamp(24px,3vw,40px)}.org-ph img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:24px;background:var(--photo)}.org-ph figcaption{margin-top:10px;font:600 14px/1.4 var(--S);color:var(--sub)}
.ogs{display:grid;border-top:1px solid rgba(93,39,16,.16)}
.og{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:6px 12px;padding:24px 8px 24px 0;text-align:left;border-bottom:1px solid rgba(93,39,16,.16)}
.og i{grid-row:span 3;font:800 13px/2 var(--S);font-style:normal;letter-spacing:.1em;color:var(--tanD)}
.og b{font:900 clamp(28px,3vw,48px)/1 var(--X);letter-spacing:-.02em;color:var(--ink);opacity:.34;transition:opacity .45s,transform .7s var(--ease)}
.og span{font:600 14px/1.4 var(--S);color:var(--sub)}
.og em{font:400 clamp(21px,1.9vw,27px)/1.15 var(--P);font-style:normal;color:var(--tan)}
.og::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .8s var(--ease)}
.og[aria-pressed=true] b{opacity:1;transform:translate3d(8px,0,0)}.og[aria-pressed=true]::after{transform:none}
.og:hover b{opacity:.8}
.roast{overflow:hidden;border-radius:28px;background:var(--esp);color:var(--cream);padding:clamp(22px,2.6vw,38px);box-shadow:0 40px 70px -48px rgba(36,23,15,.5)}
.r-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.r-k{font:700 12px/1.35 var(--S);letter-spacing:.14em;text-transform:uppercase;color:#E3B9A8}
.r-n{margin-top:10px;font:900 clamp(26px,2.6vw,42px)/1 var(--X);letter-spacing:-.02em}
.r-lvl{flex:none;text-align:right;font:600 12px/1.2 var(--S);letter-spacing:.12em;text-transform:uppercase;color:rgba(243,233,220,.62)}
.r-lvl b{display:block;margin-top:6px;font:400 32px/1 var(--P);letter-spacing:0;text-transform:none;color:#E3B9A8}
.r-dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 6px;padding:16px 0;border-block:1px solid rgba(243,233,220,.14)}
.r-dl dt{font:600 11.5px/1.2 var(--S);letter-spacing:.12em;text-transform:uppercase;color:rgba(243,233,220,.62)}
.r-dl dd{margin:7px 0 0;font:700 15px/1.3 var(--S)}
.r-ch{display:block;width:100%;height:auto;margin-top:8px;overflow:visible}
.r-bands rect{transition:opacity .6s}.b1{fill:rgba(160,180,130,.07)}.b2{fill:rgba(227,185,168,.08)}.b3{fill:rgba(227,185,168,.17)}
.r-grid line{stroke:rgba(243,233,220,.12);stroke-dasharray:2 6}
.r-ax text{fill:rgba(243,233,220,.62);font:600 12px var(--S)}
.r-bl text{fill:#E3B9A8;font:700 12px var(--S);letter-spacing:.06em}
.r-c{fill:none;stroke:url(#rgr);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:0}
.r-c.drw{transition:stroke-dashoffset 1.8s cubic-bezier(.45,.05,.25,1)}
.r-m circle{fill:var(--esp);stroke:var(--cream);stroke-width:2.5;transition:opacity .4s}
.r-m .m2{fill:#E3B9A8;stroke:#E3B9A8}
.r-bar{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;padding-top:20px;font:600 12px/1 var(--S);color:rgba(243,233,220,.62)}
.r-bar span:nth-of-type(2){text-align:center}.r-bar span:nth-of-type(3){text-align:center}.r-bar span:nth-of-type(4){text-align:right}
.r-bar::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;border-radius:8px;background:linear-gradient(90deg,#8FA06E,#CDA77B 34%,#8A5A36 68%,#2E190F)}
.r-bar i{position:absolute;left:0;right:0;top:-5px;height:18px;transform:translate3d(var(--rp,0%),0,0);transition:transform 1s var(--ease)}
.r-bar i::after{content:"";position:absolute;left:-9px;top:0;width:18px;height:18px;border-radius:50%;background:var(--cream);box-shadow:0 0 0 5px rgba(243,233,220,.18)}
.r-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.r-notes span{padding:10px 15px;border-radius:999px;background:rgba(243,233,220,.07);box-shadow:inset 0 0 0 1px rgba(243,233,220,.2);font:600 14px/1 var(--S)}
html.js:not(.rm) .r-notes.sw span{animation:itin .6s var(--ease) both;animation-delay:calc(var(--k,0) * 70ms)}
@media (max-width:899px){.org-head,.org-g{grid-template-columns:minmax(0,1fr)}.r-dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.og{padding:18px 0}.r-top{flex-direction:column;gap:6px}.r-lvl{text-align:left;display:flex;align-items:baseline;gap:10px}.r-lvl b{margin:0;font-size:28px}.r-ax text,.r-bl text{font-size:15px}.org-lead{font-size:16px}}
.pchip{display:inline-flex;align-items:center;gap:10px;margin-bottom:clamp(14px,1.8vw,24px);padding:8px 14px 8px 12px;border-radius:999px;background:rgba(255,255,255,.55);color:var(--rose);font:700 13px/1.2 var(--S)}
.pchip i{width:8px;height:8px;border-radius:50%;background:#C2456B;box-shadow:0 0 0 4px rgba(194,69,107,.18)}
.pband{background:var(--pink);color:var(--ink);padding:0 0 clamp(48px,6vw,96px)}
.pb-g{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:clamp(12px,1.6vw,22px)}
.pb-c{padding:clamp(20px,2vw,28px);border-radius:24px;background:rgba(255,255,255,.52);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.pb-k{font:700 12px/1 var(--S);letter-spacing:.16em;text-transform:uppercase;color:var(--rose)}
.meters{margin-top:16px;display:grid;gap:4px}
.meters li{display:grid;grid-template-columns:78px minmax(0,1fr) 16px;align-items:center;gap:12px;min-height:30px;font:600 14px/1 var(--S)}
.meters i{position:relative;height:6px;border-radius:6px;background:rgba(107,52,32,.14);overflow:hidden}
.meters i::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#C2456B,#8C4833);transform:scaleX(var(--v));transform-origin:0 50%;transition:transform 1.4s var(--ease)}
.meters li:nth-child(2) i::after{transition-delay:.1s}.meters li:nth-child(3) i::after{transition-delay:.2s}.meters li:nth-child(4) i::after{transition-delay:.3s}
html.js:not(.rm):not(.tour) .pband:not(.in) .meters i::after{transform:scaleX(0)}
.meters b{font:800 14px/1 var(--X);text-align:right}
.pb-combo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}
.pb-pics{display:flex;align-items:center;gap:6px}
.pb-pics>span:not(.pb-plus){width:76px;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--photo);transform:rotate(-5deg);box-shadow:0 14px 24px -16px rgba(93,39,16,.6)}
.pb-pics img{width:100%;height:100%;object-fit:cover}
.pb-plus{font:900 20px/1 var(--X);color:var(--rose)}
.pb-pics>span.pb-cn{transform:rotate(4deg)}
.pb-t{margin-top:10px;font:800 clamp(18px,1.5vw,22px)/1.2 var(--S);letter-spacing:-.01em}
.pb-pr{margin-top:8px;display:flex;align-items:baseline;gap:10px}.pb-pr b{font:900 30px/1 var(--X)}.pb-pr s{font:800 17px/1 var(--X);color:var(--rose)}
.pb-add{margin-top:14px;background:var(--ink)}.pb-add:hover{background:#3d1709}
.pb-n{display:flex;align-items:baseline;gap:12px;margin-top:14px}
.pb-n b{font:900 clamp(56px,5.4vw,84px)/.9 var(--X);letter-spacing:-.03em}
.pb-n span{font:600 15px/1.3 var(--S);max-width:12ch}
.pb-s{margin-top:12px;color:var(--rose);font:500 14px/1.45 var(--S)}
@media (min-width:1024px){.pb-combo{grid-template-columns:minmax(0,1fr);align-content:start}}
@media (max-width:1023px){.pb-g{grid-template-columns:1fr 1fr}.pb-combo{grid-column:1/-1;order:-1}}
@media (max-width:767px){.pb-g{grid-template-columns:minmax(0,1fr)}.pb-combo{grid-template-columns:minmax(0,1fr)}.pb-s,.meters li{font-size:15px}}
@media (max-width:767px){.ct-tabs{max-width:none}.r-ax text{font-size:22px}.r-bl text{font-size:20px}.city{white-space:normal;gap:2px 12px}.city b{font-size:clamp(18px,5.2vw,22px)}.city em{font-size:13px}}
.club{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px 64px;align-items:end;padding-bottom:clamp(48px,6vw,96px);margin-bottom:clamp(48px,6vw,96px);border-bottom:1px solid rgba(243,233,220,.14)}
.foot .eyb{margin-bottom:20px;color:#E3B9A8}
.club-t{font:900 clamp(36px,4.6vw,76px)/.95 var(--X);letter-spacing:-.025em}
.club-t .sc{display:block;margin:.06em 0 0 1.1em;font-size:.72em;color:#E3B9A8}
.club-s{margin-top:18px;max-width:42ch;color:rgba(243,233,220,.84);font:500 16px/1.55 var(--S)}
.club-in{display:flex;gap:6px;padding:6px;border-radius:999px;background:rgba(243,233,220,.07);box-shadow:inset 0 0 0 1px rgba(243,233,220,.22);transition:box-shadow .3s}
.club-in:focus-within{box-shadow:inset 0 0 0 1.5px #E3B9A8}
.club-in input{flex:1;min-width:0;min-height:52px;padding:0 18px;border:0;background:none;color:var(--cream);font:500 16px/1 var(--S);outline:0}
.club-in input::placeholder{color:rgba(243,233,220,.55)}
.club-b{flex:none;display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 8px 0 22px;border-radius:999px;background:var(--cream);color:var(--esp);font:700 15px/1 var(--S)}
.club-b i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--esp);color:var(--cream);transition:transform .5s var(--ease)}
.club-b:hover i{transform:rotate(-45deg)}
.club-b svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.club-ok{min-height:1.5em;margin-top:12px;color:#E3B9A8;font:600 15px/1.45 var(--S)}
.fcols{grid-template-columns:1.25fr .8fr 1fr}
.fsuc li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid rgba(243,233,220,.1)}
.fsuc b{font:700 16px/1.3 var(--S);color:var(--cream)}.fsuc span{grid-column:1;font:500 14px/1.4 var(--S);color:rgba(243,233,220,.72)}
.fst{grid-row:1/span 2;grid-column:2;align-self:center;display:inline-flex;align-items:center;gap:8px;font:700 13px/1 var(--S);font-style:normal;color:rgba(243,233,220,.72)}
.fst::before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(243,233,220,.4)}
.fst.on{color:#A8E6B5}.fst.on::before{background:#7BD88F;box-shadow:0 0 0 3px rgba(123,216,143,.22)}
.fsoc{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.fsoc span{padding:9px 13px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(243,233,220,.25);font:600 13px/1 var(--S)}
@media (max-width:899px){.club{grid-template-columns:minmax(0,1fr)}.fcols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1099.98px){.fsuc span,.club-s{font-size:16px}.fsoc span,.fst{font-size:14px}}

.sig-tx{position:relative;z-index:2}
