@font-face{font-family:Inter;src:url("assets/inter-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:optional}
@font-face{font-family:Inter;src:url("assets/inter-500.woff2") format("woff2");font-style:normal;font-weight:500;font-display:optional}
@font-face{font-family:Inter;src:url("assets/inter-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:optional}
:root{--acai:#160a1f;--violet:#6a23d8;--cream:#f4efe5;--muted:#c1b7c6;--gutter:clamp(24px,5vw,88px);--header:100px;--safe-bottom-max:env(safe-area-max-inset-bottom,36px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header)}
body{margin:0;background:var(--acai);color:var(--cream);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body::selection{background:var(--violet);color:white}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
button,a{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:3px solid #a779ef;outline-offset:6px}
svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;flex-shrink:0}
.skip{position:fixed;left:20px;top:-80px;background:var(--cream);color:var(--acai);padding:15px;z-index:100}
.skip:focus{top:20px}
.header{height:var(--header);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:36px;position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(22,10,31,.92);backdrop-filter:blur(18px);border-bottom:1px solid #f4efe51a}
.brand{width:184px;flex-shrink:0;display:block;padding:8px 0}
.brand img{width:100%;height:auto}
.nav{display:flex;gap:36px;margin-left:auto;margin-right:30px}
.nav a{font-size:14px;color:#e1d8e6;position:relative;padding:10px 0}
.nav a:after{content:"";position:absolute;bottom:1px;left:0;width:100%;height:1px;background:var(--cream);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav a:hover:after{transform:scaleX(1)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:62px;padding:18px 25px;border-radius:999px;font-size:16px;font-weight:600;transition:background .25s,transform .25s;position:relative}
.button svg{transition:transform .3s}
.button:hover svg{transform:translate(3px,-2px)}
.button:hover{transform:translateY(-3px)}
.button-purple{background:var(--violet);color:#fff}
.button-purple:hover{background:#7834e4}
.button-light{background:var(--cream);color:var(--acai)}
.button-light:hover{background:#fff}
.button-small{min-height:46px;padding:13px 19px;gap:26px;font-size:14px}
.button-small svg{height:19px;width:19px}
.reading-progress{position:absolute;bottom:-1px;height:2px;left:0;width:100%;transform:scaleX(0);transform-origin:left;background:var(--violet)}
.hero{position:relative;min-height:850px;height:100vh;height:var(--viewport-height,100svh);max-height:1100px;padding:calc(var(--header) + 72px) var(--gutter) 114px;display:flex;align-items:center;isolation:isolate;overflow:hidden}
.hero-content{width:57%;position:relative;z-index:3}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;line-height:1.5}
.hero-intro{display:flex;gap:12px;align-items:center;margin-bottom:28px}
.small-line{display:block;width:22px;height:2px;background:var(--cream)}
h1{font-size:clamp(74px,8.2vw,145px);font-weight:600;line-height:1.04;letter-spacing:-.065em}
h1 em{font-style:normal;position:relative}
h1 em:after{content:"";position:absolute;left:0;right:1%;bottom:0;background:var(--violet);height:.09em;z-index:-1;transform:rotate(-5deg);transform-origin:left}
.line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.line>span{display:block;animation:line-enter 1s cubic-bezier(.2,.65,.2,1) both}
.line:nth-child(2)>span{animation-delay:.14s}
.hero-description{font-size:20px;line-height:1.55;color:#d2c7d9;margin-top:28px;animation:fade-up .8s .32s both}
.hero-cta{margin-top:30px;animation:fade-up .8s .43s both}
.hero-location{font-size:11px;letter-spacing:.12em;margin-top:26px;color:#bfb3c7;animation:fade-up .8s .52s both}
.hero-visual{position:absolute;right:var(--gutter);top:calc(var(--header) + 38px);bottom:87px;width:43%;max-width:660px;z-index:1;will-change:transform;animation:visual-enter 1.2s .1s both}
.hero-photo-wrap{position:absolute;inset:0;overflow:hidden;border-radius:260px 260px 30px 30px;background:#2d173a}
.hero-photo{height:114%;width:100%;object-fit:cover;object-position:52% 50%;position:absolute;top:-7%;will-change:transform}
.hero-photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 67%,#160a1f95)}
.hero-orbit{position:absolute;width:56vw;height:56vw;border:1px solid #f4efe51a;border-radius:50%;right:-9vw;top:10%;z-index:0;pointer-events:none}
.zero-stamp{position:absolute;right:-22px;top:9%;width:138px;height:138px;border-radius:50%;background:var(--cream);color:var(--acai);display:flex;align-items:center;justify-content:center;gap:8px;transform:rotate(9deg);box-shadow:0 6px 24px #160a1f20}
.stamp-zero{font-size:73px;font-weight:600;letter-spacing:-.07em;line-height:1}
.zero-stamp>span:last-child{font-size:10px;line-height:1.4;font-weight:600;letter-spacing:.04em}
.photo-bottom{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;color:#fff}
.scroll-cue{position:absolute;left:var(--gutter);bottom:36px;right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:.12em}
.scroll-cue svg{animation:scroll-nudge 2.5s infinite}
.ticker{background:var(--violet);color:var(--cream);padding:22px 0;overflow:hidden;position:relative;z-index:4}
.ticker-track{width:max-content;display:flex;align-items:center;gap:44px;animation:ticker 44s linear infinite}
.ticker span{font-size:19px;font-weight:600;letter-spacing:-.02em}
.ticker i{font-size:28px;font-style:normal;line-height:1}
.cream-section{background:var(--cream);color:var(--acai)}
.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.section-aside{font-size:11px;letter-spacing:.1em;line-height:1.5}
.intro{padding:90px var(--gutter) 100px}
.intro-title{font-size:clamp(44px,5.7vw,90px);line-height:1.12;letter-spacing:-.055em;font-weight:600;margin:65px 0 42px}
.intro-title>span{color:var(--violet)}
.intro-bottom{display:flex;justify-content:space-between;gap:60px;align-items:flex-end}
.intro-bottom>p:first-child{max-width:490px;font-size:18px;line-height:1.65;color:#4c3e54}
.nutrition{display:flex;align-items:center;gap:20px;font-size:14px;line-height:1.6;max-width:400px}
.nutrition-symbol{font-size:55px;font-weight:600;color:var(--violet);letter-spacing:-.09em;white-space:nowrap}
.nutrition small{display:block;font-size:12px;color:#685a70}
.choices{padding:85px var(--gutter) 105px;position:relative;overflow:hidden}
.choices-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-top:65px;align-items:center}
.plastic-zero{position:relative;display:flex;justify-content:center;align-items:flex-start;padding-bottom:70px;color:var(--cream)}
.plastic-zero>span:first-child{font-size:clamp(250px,35vw,530px);font-weight:600;letter-spacing:-.075em;line-height:.85}
.percent{font-size:clamp(65px,8vw,135px);font-weight:600;color:#a77ae8;padding-top:18px}
.plastic-zero>p{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.14em}
.choices-copy h2{font-size:clamp(42px,5.2vw,80px);line-height:1.06;letter-spacing:-.055em;font-weight:600}
.choices-copy>p{font-size:20px;line-height:1.5;color:var(--muted);margin-top:32px}
.material-list{margin-top:35px;max-width:435px}
.material-list>div{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid #f4efe52b;font-size:14px}
.material-list>div span{color:var(--muted)}
.material-list strong{font-weight:500}
.origin{padding:85px var(--gutter) 90px}
.origin-word{margin:48px 0 70px;display:flex;gap:4vw;align-items:flex-start;justify-content:space-between}
.origin-word>span:not(.origin-plus){font-size:clamp(90px,16vw,235px);line-height:1;font-weight:500;letter-spacing:-.07em;position:relative}
.origin-word .peak-word{color:var(--violet)}
.origin-plus{font-size:clamp(40px,6vw,85px);font-weight:400;align-self:center;color:#b3a9b7}
.word-note{display:block;font-size:10px;letter-spacing:.07em;font-weight:500;line-height:1.5;margin-top:25px;color:#66506f;white-space:normal}
.origin-copy{font-size:32px;line-height:1.2;letter-spacing:-.035em;font-weight:500;max-width:350px}
.visit{padding:85px var(--gutter) 0;overflow:hidden}
.visit-grid{display:grid;grid-template-columns:1fr .65fr;gap:12vw;margin:75px 0 90px}
.visit h2{font-size:clamp(70px,8.5vw,130px);letter-spacing:-.065em;font-weight:600;line-height:1.02}
.visit-heading>p{font-size:20px;line-height:1.5;color:var(--muted);margin-top:32px}
.service-label{display:inline-block;font-size:11px;letter-spacing:.1em;border:1px solid #f4efe545;padding:11px 15px;border-radius:30px;margin-top:24px}
.visit-info{padding-top:12px}
.visit-info h3{font-size:23px;letter-spacing:-.035em;font-weight:500}
.visit-info>p{margin-top:18px;color:var(--muted);font-size:16px;line-height:1.6;max-width:380px}
.hours{margin-top:36px}
.hours>.eyebrow{display:block;color:var(--muted);margin-bottom:11px}
.hours>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #f4efe528;padding:15px 0;font-size:14px}
.hours strong{font-weight:500;white-space:nowrap}
.visit-cta{width:100%;margin-top:29px}
.closing-line{font-size:clamp(42px,6.5vw,98px);line-height:1.2;letter-spacing:-.06em;font-weight:600;white-space:nowrap;padding:55px 0;border-top:0}
.footer{padding:35px var(--gutter) 45px;display:flex;align-items:center;gap:35px;border-top:1px solid #f4efe51f}
.footer-brand{min-width:190px}
.footer-brand img{width:180px;height:auto}
.footer-brand p{font-size:10px;letter-spacing:.11em;margin-top:12px;padding-left:10px;color:var(--muted)}
.footer-meta{margin-left:auto;color:var(--muted);font-size:11px;line-height:1.8}
.footer-meta p:first-child{color:var(--cream)}
.photo-credit{font-size:10px;margin-top:7px}
.photo-credit a{text-decoration:underline;text-underline-offset:3px}
.motion-toggle{border:1px solid #f4efe53d;border-radius:30px;background:transparent;color:var(--cream);cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:12px;min-height:44px}
.motion-icon{font-size:15px}
.motion-toggle:hover{border-color:var(--cream)}
.mobile-order{display:none}
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform 1s cubic-bezier(.2,.65,.2,1)}
.js .reveal.visible{opacity:1;transform:translateY(0)}
@keyframes line-enter{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes visual-enter{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}
@keyframes ticker{to{transform:translateX(calc(-50% - var(--ticker-half-gap,22px)))}}
@keyframes scroll-nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
@media(min-width:1650px){
.hero-content{width:58%}
.hero-visual{right:7%;width:42%}
}
@media(max-width:1100px){
:root{--header:86px}
.nav{gap:24px;margin-right:0}
.brand{width:160px}
.hero{min-height:780px}
.hero-intro{font-size:10px}
.hero-visual{width:44%;right:30px}
.zero-stamp{width:110px;height:110px;right:-10px}
.stamp-zero{font-size:58px}
.zero-stamp>span:last-child{font-size:8px}
.hero-description{font-size:18px}
.hero-location{font-size:9px}
.origin-word{margin-bottom:55px}
.footer{flex-wrap:wrap}
.motion-toggle{margin-left:auto}
}
@media(max-width:760px){
:root{--gutter:24px;--header:80px}
.header{gap:14px;padding:0 18px}
.brand{width:152px}
.nav{display:none}
.button-small{font-size:12px;gap:14px;padding:12px 15px;min-height:42px}
.button-small svg{height:16px;width:16px}
.hero{display:block;min-height:1040px;height:auto;max-height:none;padding-top:124px;padding-bottom:70px}
.hero-content{width:100%}
.hero-intro{font-size:10px;letter-spacing:.095em;margin-bottom:22px}
h1{font-size:clamp(63px,13.5vw,100px);letter-spacing:-.065em;line-height:1.04}
.hero-description{font-size:17px;margin-top:20px;line-height:1.45}
.hero-description br{display:none}
.hero-description br:after{content:" "}
.hero-cta{margin-top:24px;font-size:14px;min-height:54px;padding:15px 21px;gap:38px}
.hero-location{font-size:8.5px;letter-spacing:.08em;margin-top:20px}
.hero-visual{position:relative;top:auto;bottom:auto;right:auto;width:100%;height:400px;max-width:none;margin-top:35px;animation:none}
.hero-photo-wrap{border-radius:190px 190px 24px 24px}
.hero-photo{object-position:50% 48%}
.zero-stamp{right:-3px;top:2%;width:105px;height:105px}
.hero-orbit{width:120vw;height:120vw;top:auto;bottom:55px;right:-33vw}
.photo-bottom{left:23px;right:23px;bottom:23px;font-size:8px}
.scroll-cue{bottom:27px;font-size:8px;letter-spacing:.08em}
.scroll-cue svg{width:20px;height:20px}
.ticker{padding:18px 0}
.ticker-track{gap:28px}
.ticker span{font-size:16px}
.ticker i{font-size:23px}
.section-top{align-items:flex-start}
.section-aside{display:none}
.eyebrow{font-size:10px}
.intro{padding:58px var(--gutter) 60px}
.intro-title{font-size:clamp(38px,8.4vw,60px);line-height:1.15;margin:36px 0 28px;letter-spacing:-.055em}
.intro-title br{display:none}
.intro-title>span{display:block}
.intro-bottom{display:block}
.intro-bottom>p:first-child{font-size:16px;line-height:1.65}
.nutrition{margin-top:30px;gap:15px;font-size:13px}
.nutrition small{font-size:11px}
.nutrition-symbol{font-size:45px}
.choices{padding:60px var(--gutter) 65px}
.choices-grid{grid-template-columns:1fr;gap:35px;margin-top:48px}
.plastic-zero{padding-bottom:49px;justify-content:center}
.plastic-zero>span:first-child{font-size:280px}
.percent{font-size:85px;padding-top:8px}
.plastic-zero>p{font-size:10px;bottom:7px}
.choices-copy h2{font-size:48px;line-height:1.08;letter-spacing:-.06em}
.choices-copy h2 br:nth-child(2){display:none}
.choices-copy>p{font-size:18px;margin-top:25px}
.material-list{max-width:none;margin-top:24px}
.origin{padding:58px var(--gutter) 62px}
.origin-word{margin:36px 0 40px;gap:12px;justify-content:space-between}
.origin-word>span:not(.origin-plus){font-size:clamp(57px,16.5vw,100px)}
.origin-plus{font-size:30px;margin-top:-34px}
.word-note{font-size:8px;letter-spacing:0;max-width:150px;margin-top:18px}
.origin-copy{font-size:29px}
.visit{padding:60px var(--gutter) 0}
.visit-grid{display:block;margin:40px 0 55px}
.visit h2{font-size:clamp(64px,15vw,100px);line-height:1.02}
.visit-heading>p{font-size:18px;margin-top:24px}
.service-label{font-size:10px;margin-top:20px}
.visit-info{padding-top:46px}
.visit-info h3{font-size:22px}
.visit-info>p{font-size:16px}
.hours{margin-top:29px}
.hours>div{font-size:13px}
.closing-line{font-size:clamp(28px,7vw,50px);padding:32px 0;white-space:normal}
.footer{display:block;padding:32px var(--gutter) 125px}
.footer-brand img{width:160px}
.footer-brand p{font-size:9px;margin-top:7px}
.footer-meta{margin-top:28px;font-size:10px}
.photo-credit{font-size:9px}
.motion-toggle{margin-top:25px;font-size:11px}
/* Reserve the maximum safe area once; only the native bottom offset moves
   with browser chrome. No dynamic padding or transform on the fixed wrapper. */
.mobile-order{display:block;position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) - var(--safe-bottom-max));left:0;right:0;z-index:40;padding:10px 16px calc(10px + var(--safe-bottom-max));background:var(--acai);border-top:1px solid #f4efe527;opacity:0;pointer-events:none;transition:opacity .2s}
.mobile-order>a{transform:translateY(8px);transition:transform .25s}
.mobile-order.shown{opacity:1;pointer-events:auto}
.mobile-order.shown>a{transform:none}
.mobile-order>a{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}
.mobile-order strong{background:var(--violet);color:white;border-radius:40px;padding:14px 19px;font-size:12px;font-weight:600}
.mobile-order strong span{margin-left:10px}
.mobile-order>a>span{color:#e1d8e6}
}
@media(max-width:365px){
:root{--gutter:20px}
.brand{width:140px}
.button-small{gap:8px;padding:12px;font-size:11px}
h1{font-size:60px}
.hero{min-height:1010px}
.hero-intro{font-size:9px}
.hero-visual{height:365px}
.choices-copy h2{font-size:42px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.js .reveal{opacity:1;transform:none}
.hero-photo{transform:none!important}
}
.motion-paused{scroll-behavior:auto}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;transition:none!important}
.motion-paused .reveal{opacity:1;transform:none}
.motion-paused .hero-photo,.motion-paused .hero-visual{transform:none!important}
.hero-photo{object-position:50% 54%;height:112%;top:-6%}
.hero-location,.scroll-cue,.section-aside,.photo-bottom,.word-note,.service-label,.plastic-zero>p,.footer-meta,.footer-brand p,.photo-credit{font-size:12px}
.footer-meta{line-height:1.7}
.footer-brand p{letter-spacing:.06em}
.photo-credit{max-width:450px}
.motion-toggle{font-size:14px}
.nutrition{font-size:14px}
.nutrition small{font-size:12px}
@media(max-width:1100px){
.hero-location{max-width:310px;line-height:1.6}
.photo-bottom>span:first-child{max-width:200px}
.footer-meta{margin-left:0}
}
@media(max-width:760px){
.hero{min-height:1080px}
.hero-intro,.eyebrow,.hero-location,.scroll-cue,.word-note,.service-label,.plastic-zero>p,.footer-meta,.footer-brand p,.photo-credit{font-size:12px}
.hero-intro{font-size:11px;letter-spacing:.03em}
.hero-location{max-width:100%;font-size:10px;letter-spacing:.035em}
.scroll-cue{font-size:10px;letter-spacing:.025em}
.photo-bottom{font-size:10px}
.word-note{font-size:10px;max-width:150px}
.footer-meta{font-size:12px}
.footer-brand p{font-size:10px}
.photo-credit{font-size:11px}
.hours>div{font-size:14px}
.motion-toggle{font-size:14px}
.mobile-order>a,.mobile-order strong{font-size:14px}
.mobile-order strong{padding:14px 17px}
}
@media(max-width:760px){
.ticker-track{--ticker-half-gap:14px}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ticker-icon{width:26px;height:26px;stroke-width:1.5;flex:0 0 26px}
.motion-toggle{display:none}
.js .motion-toggle{display:inline-flex}
.motion-icon{width:18px;height:18px;stroke-width:1.8}
.play-icon{display:none}
.is-paused .pause-icon{display:none}
.is-paused .play-icon{display:inline}
.order-icon{width:17px;height:17px;vertical-align:middle;margin-left:9px}
.mobile-order{visibility:hidden}
.mobile-order.shown{visibility:visible}
html:not(.js) .ticker-track{animation:none}
main:focus{outline:none}
.cream-section :focus-visible{outline-color:var(--violet)}
.nav a{min-height:44px;display:flex;align-items:center}
.hero-content,.choices-copy,.visit-heading,.visit-info{min-width:0}
@media(max-width:760px){
.header-order{min-height:44px}
.mobile-order strong{display:inline-flex;align-items:center;white-space:nowrap}
.mobile-order>a>span{min-width:0}
.motion-toggle{min-height:44px}
}
html:not(.js) *,html:not(.js) *::before,html:not(.js) *::after{animation:none!important}
.header-order{flex-shrink:0;white-space:nowrap}
@media(min-width:761px) and (max-width:980px){
.nav{display:none}
.hero{height:auto;min-height:780px;max-height:none}
}
@media(max-width:340px){
.visit h2{font-size:58px}
}
@media(max-width:365px){
.header{gap:8px}
}
.js:not(.type-ready) .line>span,.js:not(.type-ready) .hero-description,.js:not(.type-ready) .hero-cta,.js:not(.type-ready) .hero-location,.js:not(.type-ready) .hero-visual{animation-play-state:paused}
.js.type-ready h1 em:after{animation:peak-stroke .85s .5s cubic-bezier(.2,.65,.2,1) both}
@keyframes peak-stroke{from{transform:rotate(-5deg) scaleX(0)}to{transform:rotate(-5deg) scaleX(1)}}
.zero-stamp{translate:0 0;transition:translate .7s ease}
.hero-visual:hover .zero-stamp{translate:0 -6px}
.origin-word>span:not(.origin-plus){transition:translate 1s cubic-bezier(.2,.65,.2,1)}
.js .origin-word:not(.visible)>span:first-child{translate:-14px 0}
.js .origin-word:not(.visible)>.peak-word{translate:14px 0}
.origin-word.visible>span{translate:0 0}
.photo-bottom{line-height:1.5;max-width:75%}
@media(prefers-reduced-motion:reduce){
.origin-word>span,.zero-stamp{translate:none!important}
.hero-visual{transform:none!important}
}
.motion-paused .line>span,.motion-paused .hero-description,.motion-paused .hero-cta,.motion-paused .hero-location,.motion-paused .hero-visual{animation:none!important;opacity:1;translate:none;transform:none!important}
.motion-paused h1 em:after{animation:none!important}
.motion-paused .origin-word>span,.motion-paused .zero-stamp{translate:none!important}
.motion-paused .zero-stamp{transform:rotate(9deg)!important}
@media(prefers-reduced-motion:reduce){
.zero-stamp{transform:rotate(9deg)!important}
}

/* Measurement only: outside document flow and the accessible tree. */
.viewport-measure{position:absolute;top:0;left:0;width:0;height:100vh;height:100svh;visibility:hidden;pointer-events:none;contain:strict;overflow:hidden}
