/* Homepage refinement. Shared checkout and inner-page styles stay in styles.css. */
.home-page{--ink-soft:var(--mut);--pad:clamp(24px,5vw,80px);--acc:#95600c;--amber-d:#a0690e}
.home-page :focus-visible{outline:3px solid var(--amber);outline-offset:5px}
.home-page [hidden]{display:none!important}
.home-page,.home-page a,.home-page button,.home-page [data-tilt]{cursor:auto}
.home-page a,.home-page button,.home-page summary{cursor:pointer}
.home-page .grain{position:absolute;inset:0;height:900px;opacity:.025;animation:none;z-index:4}
.home-page .vignette{display:none}
.home-page .nav{height:88px;gap:32px;padding:0 var(--pad);background:transparent;z-index:2600}
.home-page .progress{z-index:2700}
.home-page section[id]{scroll-margin-top:105px}
.home-page .nav__burger.is-open span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.home-page .nav__burger.is-open span:nth-child(2){opacity:1;transform:translateY(-3.5px) rotate(-45deg)}
.home-page .nav__links{gap:clamp(14px,1.8vw,30px);font-size:11px;letter-spacing:.05em;white-space:nowrap}
.home-page .nav__cta{margin-left:auto;gap:20px}
.home-page .nav.is-scrolled{background:rgba(251,243,228,.97);box-shadow:0 1px 0 var(--line)}
.home-page .nav.is-hidden{transform:none}
.home-page .live-pill{display:none}
.home-page .nav__logo{font-size:28px;letter-spacing:-1.5px}
.home-page .nav__logo svg{width:32px;height:32px}
.home-page .btn{border-radius:7px;min-height:48px;font-size:13px;transition:background .2s,box-shadow .2s,transform .2s}
.home-page .btn:hover{transform:translateY(-2px)}
.home-page .btn--solid{background:var(--amber);box-shadow:none;color:#102b1d}
.home-page .btn--solid:hover{background:#ffb63d;box-shadow:0 8px 28px #0002}
.home-page .btn__shine{display:none}
.home-page .hero{min-height:820px;min-height:max(760px,100svh);background:radial-gradient(ellipse at 78% 44%,#234832 0%,#123322 33%,#0c2519 68%);isolation:isolate}
.home-page .hero__content{padding:150px var(--pad) 130px;max-width:1600px;z-index:3}
.home-page .kicker{padding:0;border:0;background:none;backdrop-filter:none;font-size:10px;letter-spacing:.17em;color:#c6d4c6}
.home-page .kicker i{width:6px;height:6px;box-shadow:none;background:#8fae7c;animation:none}
.kicker__divider{opacity:.35;margin:0 6px}
.home-page .h1{font-size:clamp(64px,7.3vw,112px);letter-spacing:-.045em;word-spacing:.025em;line-height:1.01;max-width:10.7ch;margin-top:32px;font-weight:700}
.home-page .h1 .ln{overflow:visible}
.home-page .h1 em{letter-spacing:-.05em}
.home-page .hero__p{max-width:430px;font-size:15px;line-height:1.8;color:#c4cfc5;margin-top:30px}
.home-page .hero__p strong{font-weight:600;color:var(--cream)}
.home-page .hero__ctas{gap:12px;margin-top:30px}
.home-page .hero__chips{gap:24px;margin-top:30px}
.home-page .chip2{border:0;background:none;border-radius:0;padding:0;gap:7px;font-size:10px;color:#b7c4b9;backdrop-filter:none}
.home-page .chip2 b{font-size:12px;color:#e8e0cb;font-weight:600}
.home-page .hero__scroll{bottom:26px;color:#b7c4b9;font-size:9px}
.hero__art{position:absolute;left:49%;right:1%;top:100px;bottom:48px;z-index:2;min-height:460px}
.home-page #stage{inset:0 0 70px;z-index:2;cursor:grab}
.home-page #stage:active{cursor:grabbing}
.home-page #stage canvas{touch-action:pan-y}
.hero__poster{position:absolute;width:100%;height:calc(100% - 70px);object-fit:contain;transition:opacity .5s;pointer-events:none}
.hero__art.is-ready .hero__poster{opacity:0}
.hero__orbit{position:absolute;left:13%;right:13%;top:12%;bottom:19%;border:1px solid #e6dcc315;border-radius:50%;transform:rotate(-18deg);pointer-events:none}
.hero__orbit::before{content:"";position:absolute;inset:24px -26px;border:1px solid #e6dcc308;border-radius:50%}
.hero__edition{position:absolute;top:20px;right:12%;color:#bccaba;font-size:8px;letter-spacing:.3em;writing-mode:vertical-rl;z-index:3;pointer-events:none}
.scene-controls{position:absolute;bottom:37px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px;white-space:nowrap}
.scene-controls button{min-height:44px;min-width:44px;padding:0 13px;border:1px solid #eee0c52b;border-radius:5px;color:#e5dfcf;background:#102d20;font-size:11px;letter-spacing:.025em;transition:background .2s}
.scene-controls button:hover{background:#264b36}
.scene-controls button[aria-pressed="true"]{border-color:var(--amber);color:var(--amber)}
.scene-controls #rotateBag{font-size:23px}
.scene-controls #openBag span{color:var(--amber);margin-left:10px}
.scene-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#b2c0b4;font-size:10px;letter-spacing:.06em}
.home-page .marquee{padding:17px 0;border:0;background:#e9a42e;color:#112e20}
.home-page .marquee__track{animation:none;justify-content:center;transform:none!important}
.home-page .marquee__track span{font-size:11px;letter-spacing:.05em}
.home-page .marquee__track span+span{display:none}
.home-page .marquee__track b{color:#112e20}
.home-page .section{padding-top:92px;padding-bottom:92px}
.home-page .section.stats{padding-top:65px;padding-bottom:65px}
.home-page .stats__grid{border-top:1px solid var(--line);margin-top:36px;padding-top:30px}
.home-page .stat{background:none;border:none;box-shadow:none;padding:8px 25px;border-radius:0;border-right:1px solid var(--line)}
.home-page .stat:first-child{padding-left:0}
.home-page .stat:last-child{border-right:0}
.home-page .stat__num{font-size:clamp(26px,3.2vw,45px);letter-spacing:-.045em;background:none;color:var(--forest);-webkit-text-fill-color:var(--forest)}
.home-page .stat__lbl{font-size:12px}
.home-page .h2{font-size:clamp(34px,4.3vw,62px);letter-spacing:-.045em;line-height:1.1;font-weight:700}
.home-page .h2 em{letter-spacing:-.02em}
.home-page .label{font-size:10px;letter-spacing:.13em}
.home-page .calc{padding-top:55px;padding-bottom:65px;border-top:1px solid var(--line)}
.home-page .calc__card{box-shadow:none;border-radius:12px;background:#fffaf0}
.home-page .calc__num{font-size:clamp(30px,5vw,60px)}
.home-page .calc__note{max-width:70ch;line-height:1.65}
.home-page .steps{gap:20px}
.home-page .step{border-radius:12px;box-shadow:none}
.home-page .step__num{opacity:.13}
.home-page .bg-word{opacity:.45;font-size:clamp(90px,18vw,270px)}
.home-page .bags__empty{grid-column:1/-1;padding:40px 24px;text-align:center;background:#f2eadb;border:1px dashed #d5c9b1;border-radius:10px;color:var(--forest);font-size:15px}
.home-page .retry-bags{margin:15px auto;border:1px solid var(--forest);display:block}
.home-page .snacks__media{border-radius:12px}
.home-page .form-card{border-radius:14px}
.home-page .faq__list{max-width:900px!important}
.home-page .faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:36px}
.home-page .faq__item summary::after{content:"+";font-size:24px;font-weight:400;color:var(--forest);flex-shrink:0}
.home-page .faq__item[open] summary::after{content:"−"}
.home-page .faq__item p{max-width:75ch}
.home-page .footer h2{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:20px}
.home-page .footer a:hover{text-decoration:underline;text-underline-offset:4px}
.home-page [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.home-page [data-reveal].is-revealed{opacity:1;transform:none}
.home-page .mobile-menu{max-height:100svh;overflow-y:auto}
.home-page .hero__content,.home-page .hero__art{animation:arrive .85s both}
.home-page .hero__art{animation-delay:.1s}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero__art{right:max(1%,calc((100vw - 1600px)/2));left:50%}}
@media(max-width:1100px){
 .home-page .nav__links{gap:14px;font-size:10px}
 .home-page .nav{gap:22px}
 .home-page .hero__content{padding-top:140px}
 .home-page .h1{font-size:clamp(60px,7.6vw,85px)}
 .hero__art{left:48%;right:0;top:130px}
 .home-page .hero__p{max-width:38ch;font-size:14px}
}
@media(max-width:900px){
 .home-page .nav{height:74px}
 .home-page .nav__cta .btn--solid{display:inline-flex;padding:10px 16px!important;min-height:42px}
 .home-page .nav__burger{display:flex}
 .home-page .hero{min-height:760px}
 .home-page .hero__content{padding-bottom:100px}
 .home-page .h1{font-size:65px}
 .home-page .hero__p{max-width:32ch}
 .hero__art{left:47%;top:155px;bottom:70px}
 .scene-controls{gap:5px}
 .scene-controls button{font-size:10px;padding:0 9px}
 .hero__edition{right:4%}
 .home-page .hero__chips{max-width:40ch;gap:14px}
}
@media(max-width:700px){
 .home-page .hero{min-height:0;display:flex;flex-direction:column;overflow:hidden}
 .home-page .hero__content{padding:120px var(--pad) 0;order:0}
 .home-page .h1{font-size:clamp(52px,12.8vw,82px);max-width:11ch;margin-top:26px}
 .home-page .hero__p{max-width:45ch;font-size:14px;line-height:1.7;margin-top:24px}
 .home-page .hero__ctas{margin-top:26px;gap:10px}
 .home-page .hero__ctas .btn{font-size:12px;padding:15px 19px}
 .home-page .hero__chips{margin-top:24px;max-width:none;gap:20px}
 .home-page .chip2{width:auto;font-size:9px}
 .home-page .hero__scroll{display:none}
 .hero__art{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;height:470px;min-height:0;order:1;margin-top:8px;margin-bottom:28px}
 .home-page #stage{inset:0 0 65px}
 .hero__poster{height:calc(100% - 65px)}
 .hero__edition{top:60px;right:8%;font-size:7px}
 .hero__orbit{inset:40px 18% 100px}
 .scene-controls{bottom:32px}
 .scene-caption{font-size:9px}
 .home-page .section{padding:65px 0}
 .home-page .stats__grid{gap:28px 0}
 .home-page .stat:nth-child(odd){padding-left:0}
 .home-page .stat:nth-child(even){border-right:none}
 .home-page .stat__lbl{font-size:11px}
 .home-page .kicker{font-size:8px;letter-spacing:.11em}
 .home-page .footer__bar{gap:14px;line-height:1.7}
 .home-page .marquee__track{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
 .home-page *,.home-page *::before,.home-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(max-width:380px){
 .home-page .nav{gap:12px}
 .home-page .nav__logo{font-size:24px;gap:7px}
 .home-page .nav__logo svg{width:28px;height:28px}
 .home-page .nav__cta{gap:10px}
 .home-page .nav__cta .btn--solid{font-size:11px;padding:8px 12px!important}
 .home-page .h1{font-size:clamp(43px,12.8vw,49px)}
}
