:root{--cn-green:#3EAB37;--cn-green-dark:#2B8A26;--cn-cream:#FAF6EC;--cn-ink:#121212;--cn-red:#E8322B;--cn-orange:#F7941D;--cn-yellow:#FFD400;--cn-blue:#7CCBE8;--cn-radius:28px;--cn-pad:clamp(20px,5vw,72px)}
.cn-section{position:relative;overflow:hidden}
.cn-wrap{max-width:1360px;margin:0 auto;padding:0 var(--cn-pad)}
.cn-h1,.cn-h2,.cn-h3{font-family:var(--font-heading--family);font-weight:800;letter-spacing:-.02em;line-height:.95;margin:0;overflow-wrap:normal;word-break:keep-all;hyphens:manual;text-wrap:balance}
.cn-h1{font-size:clamp(44px,7.2vw,112px)}
.cn-h2{font-size:clamp(32px,4.6vw,68px)}
.cn-h3{font-size:clamp(22px,2.6vw,32px);line-height:1.1}
.cn-eyebrow{font-family:var(--font-heading--family);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:12px;opacity:.85}
.cn-p{font-size:clamp(16px,1.3vw,19px);line-height:1.55;margin:0}
.cn-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;border-radius:999px;font-family:var(--font-heading--family);font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s,color .2s;white-space:nowrap}
.cn-btn:hover{transform:translateY(-2px)}
.cn-btn:active{transform:translateY(0) scale(.98)}
.cn-btn--ink{background:var(--cn-ink);color:#fff}
.cn-btn--white{background:#fff;color:var(--cn-ink)}
.cn-btn--green{background:var(--cn-green);color:#fff}
.cn-btn--outline{background:transparent;border-color:currentColor;color:inherit}
.cn-btn--outline-white{background:transparent;border-color:#fff;color:#fff}
.cn-btn[disabled]{opacity:.6;cursor:wait}
@media (max-width:900px){.cn-h1{font-size:clamp(44px,13vw,80px)}}
@media (prefers-reduced-motion:reduce){.cn-float,.cn-marquee__track{animation:none!important}}
/* 3D hero fit: keep flavor buttons on first screen */
.cn3d{min-height:min(calc(100svh - 112px),900px)!important;padding-top:clamp(20px,3vh,48px)!important;padding-bottom:clamp(88px,11vh,120px)!important}
.cn3d__stage{height:clamp(360px,calc(100svh - 280px),660px)!important}
@media (max-width:900px){.cn3d{min-height:auto!important;padding-bottom:96px!important}.cn3d__stage{height:min(52vh,440px)!important}.cn3d .cn-h1{font-size:clamp(34px,10vw,52px)!important}.cn3d__hint{display:none}}
