/* Corner navigation: 1.2 → 1 scale, with one shared scroll value. */
html{scroll-behavior:auto;scrollbar-gutter:stable}
html.lenis.lenis-stopped{overflow:hidden}
.announcement{display:none}
.header,.home-page .header{--nav-compact:0;position:fixed;inset:0 0 auto;display:flex;align-items:flex-start;height:auto;padding:24px 28px;border:0;box-shadow:none;background:none;backdrop-filter:none;transform:none;visibility:visible;pointer-events:none;z-index:50;transition:none}
.header>*{pointer-events:auto}
.header .logo,.home-page .header .logo{font-size:47px;color:var(--green);transform-origin:left top;transform:scale(calc(1.2 - var(--nav-compact)*.2));transition:color .35s;text-shadow:none}
.header .logo small{font-size:7px;letter-spacing:.43em;margin-top:8px}
.header .logo-leaf{font-size:29px;color:var(--orange)}
.header.over-film .logo{color:var(--paper);filter:drop-shadow(0 2px 10px #0003)}
.header .nav-actions{margin-left:auto;gap:10px;align-items:center;transform-origin:right top;transform:scale(calc(1.2 - var(--nav-compact)*.2))}
.header .nav-actions .button{height:56px;min-height:56px;border-radius:10px;padding:0 23px;font-size:12px;gap:22px;background:var(--orange);color:var(--deep);font-weight:750;box-shadow:none}
.header .nav-actions .button:hover{background:#f5ac73;transform:none}
.header .menu-toggle{display:grid;position:relative;width:56px;height:56px;min-width:56px;min-height:56px;padding:0;border:0;border-radius:10px;color:var(--green);background:rgb(250 246 233 / var(--nav-compact));transition:background .35s,color .35s}
.header.over-film .menu-toggle{color:var(--paper)}
.header.over-film .menu-toggle:hover,.header .menu-toggle:hover{background:var(--paper);color:var(--green)}
.menu-outline{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-dasharray:220;stroke-dashoffset:calc(var(--nav-compact)*220);transition:opacity .35s}
.menu-lines{width:23px;height:17px;position:relative;display:block;color:var(--green)}
.over-film .menu-lines{color:color-mix(in srgb,var(--paper) calc((1 - var(--nav-compact))*100%),var(--green))}
.menu-lines i{position:absolute;display:block;width:13px;height:2px;background:currentColor;transform-origin:center;transition:transform .5s cubic-bezier(.22,1,.36,1),width .5s}
.menu-lines i:first-child{top:4px;right:0;transform:translateX(calc(var(--nav-compact)*-2px))}
.menu-lines i:last-child{bottom:4px;left:0;transform:translateX(calc(var(--nav-compact)*2px))}
.header .menu-toggle:hover .menu-lines{color:var(--green)}
.header nav,.home-page .header nav{position:absolute;top:102px;right:28px;left:auto;width:min(470px,calc(100vw - 40px));max-height:calc(100svh - 126px);overflow:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:34px;background:var(--paper);color:var(--green);border:1px solid #4b542d24;border-radius:18px;box-shadow:0 20px 70px #18220e25;opacity:0;visibility:hidden;transform:translateY(-14px) scale(.97);transform-origin:top right;transition:opacity .3s,transform .45s cubic-bezier(.22,1,.36,1),visibility .3s;pointer-events:none}
.header nav a{font:550 31px/1.2 var(--heading);letter-spacing:-.045em;padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.header nav a:last-child{border:0}.header nav a span{font-size:24px}.header nav a.active:after{display:none}.header nav a.active{color:#a95d2f}.header nav i{font:600 8px var(--font);letter-spacing:.05em;padding:5px 7px}
.nav-eyebrow{font-size:9px;letter-spacing:.17em;opacity:.6;margin:0 0 18px}
.navigation-open{overflow:hidden}
.navigation-open .header nav{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.navigation-open .header .menu-toggle{background:var(--paper);color:var(--green)}
.navigation-open .menu-outline{opacity:0}
.navigation-open .header .menu-lines{color:var(--green)}
.navigation-open .menu-lines i:first-child{width:23px;transform:translateY(3.5px) rotate(45deg)}
.navigation-open .menu-lines i:last-child{width:23px;transform:translateY(-3.5px) rotate(-45deg)}
.navigation-scrim{position:fixed;inset:0;background:#1b24134d;backdrop-filter:blur(7px);border:0;z-index:49;cursor:default}
.navigation-scrim[hidden]{display:none}
body:not(.home-page) main{padding-top:116px}
/* Alternating editorial type and a joyful badge, in an uninterrupted loop. */
.word-ribbon{padding:20px 0;overflow:hidden}
.ribbon-group{gap:52px;padding-right:52px}
.ribbon-group .ribbon-phrase{display:flex;align-items:baseline;gap:.22em;font-size:clamp(58px,7.4vw,118px)}
.ribbon-phrase em{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.15em;line-height:.75;letter-spacing:-.065em;text-transform:none}
.ribbon-group .ribbon-better{display:flex;align-items:center;gap:20px;background:var(--green);color:var(--paper);padding:11px 25px 13px;border-radius:50% 14px 50% 14px;transform:rotate(-4deg);letter-spacing:-.045em}
.ribbon-better b{font:800 clamp(25px,3.4vw,54px)/.9 var(--heading);letter-spacing:-.055em;white-space:nowrap}
.ribbon-better i{font:500 clamp(35px,4vw,60px)/1 var(--heading);font-style:normal;color:var(--orange)}
/* The question stays central while the options orbit it once with the scroll. */
.goal-stage{position:relative;height:180svh;padding:0;background:var(--paper)}
.goal-sticky{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden}
.goal-sticky>.container{height:100%;padding-top:120px;display:flex;flex-direction:column}
.goal-stage-top{position:relative;z-index:2;flex:none;align-items:flex-start}
.goal-stage-top>.goal-introduction{width:285px;max-width:285px;margin:0;font-size:13px;line-height:1.65}
.goal-introduction .strip-line{margin-left:0;margin-right:0}
.goal-stage-center{position:relative;flex:1;width:100%;min-height:440px;padding:0;text-align:center}
.goal-question{position:absolute;top:50%;left:50%;width:45%;transform:translate(-50%,-50%);pointer-events:none;z-index:1}
.goal-stage-center h2{font-size:clamp(56px,6.1vw,95px);font-weight:550;line-height:1.02;letter-spacing:-.065em;max-width:none;margin:0;animation:question-float 6s ease-in-out infinite}
.goal-stage-center h2 span{display:block}
.goal-spark{position:absolute;top:-40px;left:calc(50% - 13px);font-size:29px;line-height:1;color:#cb7945;animation:spark-drift 10s ease-in-out infinite}
@keyframes question-float{0%,100%{transform:translateY(7px) rotate(-1deg)}50%{transform:translateY(-11px) rotate(1deg)}}
@keyframes spark-drift{0%,100%{transform:translateY(4px) rotate(-12deg)}50%{transform:translateY(-12px) rotate(35deg)}}
.goal-buttons{position:absolute;inset:0;display:block;margin:0;pointer-events:none}
.goal-orbit-item{position:absolute;left:50%;top:50%;width:clamp(190px,19vw,255px);z-index:2;pointer-events:auto;will-change:transform}
.goal-launch{width:100%;min-width:0;min-height:65px;padding:10px 13px 10px 25px;gap:12px;border:1px solid #bd733d20;box-shadow:0 10px 25px -20px #7b482d66;animation:option-float 6.5s ease-in-out infinite}
.goal-orbit-item:nth-child(2) .goal-launch{animation-delay:-2.1s}.goal-orbit-item:nth-child(3) .goal-launch{animation-delay:-4.2s}
@keyframes option-float{0%,100%{translate:0 4px;rotate:-2deg}50%{translate:0 -5px;rotate:2deg}}
.goal-launch:hover,.goal-launch:focus-visible{animation-play-state:paused;transform:scale(1.06);box-shadow:0 18px 30px -20px #31391f44}
.goal-orbit-item:has(:focus-visible){z-index:3}
@media(min-width:1500px){.header,.home-page .header{padding:28px 32px}.goal-sticky>.container{padding-top:140px}}
@media(max-width:900px) and (min-width:651px){.goal-stage-center h2{font-size:57px}.goal-orbit-item{width:180px}.goal-launch{font-size:12px;padding-left:18px;min-height:58px}.goal-launch i{width:32px;height:32px;font-size:20px}.goal-question{width:42%}}
@media(max-width:650px){
 .header,.home-page .header{padding:20px;height:auto;gap:10px}
 .header .logo,.home-page .header .logo{font-size:34px;padding-right:19px}.header .logo-leaf{font-size:23px}.header .logo small{font-size:5px;margin-top:6px}
 .header .nav-actions{gap:7px}.header .nav-actions .button{height:43px;min-height:43px;padding:0 12px;font-size:9px;gap:11px;border-radius:8px}
 .header .menu-toggle{width:43px;height:43px;min-width:43px;min-height:43px;border-radius:8px}.menu-lines{scale:.8}
 .header nav,.home-page .header nav{top:88px;right:20px;padding:26px;max-height:calc(100svh - 108px)}.header nav a{font-size:27px;padding:18px 0}
 body:not(.home-page) main{padding-top:96px}
 .word-ribbon{padding:15px 0}.ribbon-group{gap:31px;padding-right:31px}.ribbon-group .ribbon-phrase{font-size:58px}.ribbon-group .ribbon-better{padding:9px 17px;gap:10px}.ribbon-better b{font-size:27px}.ribbon-better i{font-size:32px}
 .goal-stage{height:170svh}.goal-sticky{min-height:610px}.goal-sticky>.container{padding-top:105px}
 .goal-stage-top{gap:15px}.goal-stage-top>.goal-introduction{font-size:10px;width:193px;max-width:193px}
 .goal-stage-center{width:100vw;align-self:center;min-height:440px}
 .goal-question{width:34vw}.goal-stage-center h2{font-size:7.6vw;letter-spacing:-.06em;line-height:1.08;max-width:none}
 .goal-spark{font-size:22px;top:-32px;left:calc(50% - 10px)}
 .goal-orbit-item{width:30vw}.goal-launch{min-height:48px;padding:8px 10px;font-size:clamp(10px,2.7vw,13px);gap:5px;justify-content:center;white-space:nowrap}.goal-launch i{display:none}
}
@media(prefers-reduced-motion:reduce){
 .goal-stage{height:100svh}.goal-sticky{position:relative}.goal-stage-center h2,.goal-spark,.goal-launch{animation:none}.goal-orbit-item{will-change:auto}.header .logo,.header .nav-actions{transform:none}.ribbon-better{transform:none!important}
}
/* Keep the compact menu legible when it leaves the film for the cream page. */
.header:not(.over-film) .menu-toggle{background:var(--green);color:var(--paper)}
.header:not(.over-film) .menu-lines{color:var(--paper)}
.navigation-open .header:not(.over-film) .menu-toggle{background:var(--green)}
.navigation-open .header:not(.over-film) .menu-lines{color:var(--paper)}
