/* Homepage composition and existing scroll choreography. */
#landing{overflow:clip}
.hero-roll-letter{position:relative;display:inline-block;clip-path:inset(0 -.12em)}
.hero-roll-track{position:relative;display:block}
.hero-roll-copy{position:absolute;top:100%;left:0;width:100%}
.hero-roll-letter[data-rolling=true]>.hero-roll-track{animation:hero-letter-roll 1s cubic-bezier(.22,.7,.2,1) var(--hero-roll-delay,0ms) both}
@keyframes hero-letter-roll{to{transform:translateY(-100%)}}
@media(prefers-reduced-motion:reduce){.hero-roll-letter[data-rolling=true]>.hero-roll-track{animation:none}
}
.m-mono{font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.09em;text-transform:uppercase}
.m-button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:58px;padding:17px 25px;border-radius:999px;font-size:15px;font-weight:500;line-height:1.4;white-space:nowrap;transition:background .25s,color .25s,box-shadow .35s;flex-shrink:0}
.m-button>span{font-size:24px;line-height:1}
.m-button--lime{background:#d5f66b;color:#15170f}
.m-button--lime:hover{background:#e3ff94;box-shadow:0 5px 28px #d5f66b16}
.m-text-link{display:inline-flex;align-items:center;gap:22px;font-size:14px;font-weight:500;line-height:1.5;padding:9px 0;transition:color .2s}
.m-text-link>span{font-size:22px;transition:transform .35s cubic-bezier(.22,.8,.25,1)}
.m-text-link:hover>span{transform:translateX(4px)}
#landing .m-hero{padding:50px max(6vw,24px) 28px;min-height:calc(100svh - 116px);max-height:1100px;justify-content:flex-start}
#landing .m-hero .hero-eyebrow{font-size:10px;letter-spacing:.09em}
#landing .m-hero h1{font-size:clamp(65px,8.1vw,128px);font-weight:500;line-height:1.16;letter-spacing:-.07em;margin:clamp(58px,9vh,120px) 0 54px;max-width:1120px}
#landing .m-hero .hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:55px;max-width:1060px;width:100%}
#landing .m-hero .hero-bottom>p{font-size:18px;line-height:1.9;color:#9c9e96}
.m-hero-actions{display:flex;align-items:center;gap:30px}
.m-hero-actions>.m-text-link{color:#c9cbc1}
.hero-transition .m-hero-actions>a>.hero-action-label{font:inherit;transition:none}
.m-hero-actions>a:hover>.hero-action-label{transform:none}
#landing .m-hero .hero-logo{right:-2%;width:43vw;max-width:700px;top:49%;z-index:0}
.m-footer{padding:50px max(6vw,24px) 26px;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:45px}
.m-footer-brand{font-size:44px;letter-spacing:-.06em;font-weight:500;line-height:1.1}
.m-footer>div{display:flex;justify-content:flex-end;gap:38px;color:#9ca490;font-size:12px}
.m-footer>div>a:hover{color:#d5f66b}
.m-footer>p{grid-column:1/-1;border-top:1px solid #30362a;padding-top:25px;margin:15px 0 0;font:9px ui-monospace,monospace;color:#626d57;display:flex;justify-content:space-between;gap:20px;letter-spacing:.06em}
@media(max-width:1100px){.m-hero-actions{gap:20px}
.m-hero-actions>.m-text-link{display:none}
}
@media(max-width:800px){#landing .m-hero{min-height:calc(88svh - 100px);padding-top:42px}
#landing .m-hero h1{font-size:10vw;margin-top:65px;margin-bottom:45px}
#landing .m-hero .hero-bottom>p{font-size:15px}
.m-button{font-size:13px;gap:32px;min-height:52px;padding:15px 22px}
}
@media(max-width:600px){#landing .m-hero{min-height:calc(100svh - 102px);max-height:960px;padding:40px 22px 23px}
#landing .m-hero .hero-eyebrow{font-size:7px;gap:8px}
#landing .m-hero h1{font-size:11.3vw;margin:75px 0 42px;line-height:1.28}
#landing .m-hero .hero-bottom{display:block;margin-bottom:38px}
#landing .m-hero .hero-bottom>p{font-size:14px;line-height:1.9}
.m-hero-actions{margin-top:28px;display:flex;gap:20px}
.m-hero-actions .m-button{font-size:12px;padding:14px 20px;gap:26px;min-height:49px}
.m-hero-actions>.m-text-link{display:inline-flex;font-size:10px;gap:7px}
.m-hero-actions>.m-text-link>span{font-size:16px}
#landing .m-hero .hero-logo{width:92vw;right:-28%;top:44%;max-width:450px}
.m-mono{font-size:8px}
.m-footer{padding:38px 22px 25px;gap:32px}
.m-footer-brand{font-size:35px}
.m-footer>div{gap:18px;font-size:10px}
.m-footer>p{display:block;font-size:7px;line-height:1.8;letter-spacing:0;margin-top:0;padding-top:22px}
.m-footer>p>span{display:block;margin-top:10px}
}
@media(max-width:360px){#landing .m-hero{padding-left:18px;padding-right:18px}
#landing .m-hero h1{font-size:11.2vw;margin-top:60px}
.m-hero-actions{gap:12px}
.m-hero-actions>.m-text-link{font-size:9px;gap:4px}
.m-hero-actions .m-button{font-size:11px;padding:13px 17px;gap:20px}
}
@media(prefers-reduced-motion:reduce){.m-text-link>span,.m-button{transition:none!important}
}
@media(min-width:721px){#landing .m-hero{min-height:calc(100svh - 172px);padding-bottom:160px}
#landing .m-hero h1{margin-top:clamp(45px,7vh,90px);margin-bottom:0}
#landing .m-hero .hero-bottom{position:static;display:contents}
#landing .m-hero .hero-bottom>p{position:absolute;right:6vw;bottom:170px;margin:0;text-align:right;font-size:clamp(19px,1.45vw,25px);line-height:1.9;color:rgb(241 240 233 / .18);z-index:2;max-width:40%}
#landing .m-hero .m-hero-actions{position:absolute;left:50%;bottom:52px;transform:translateX(-50%);gap:32px;z-index:3}
}
@media(min-width:721px) and (max-height:760px){#landing .m-hero{padding-top:30px}
#landing .m-hero h1{font-size:clamp(62px,min(7.8vw,13svh),100px);margin-top:36px}
#landing .m-hero .hero-bottom>p{bottom:155px;font-size:19px}
}
#landing .m-hero .hero-logo-art{--logo-fill:none;--logo-stroke:#d5e79c;--logo-detail-stroke:#d5e79c;fill:none;stroke-width:12;opacity:.16}
#landing .m-hero .hero-logo-art use{fill:none}
.hero-transition{position:relative;padding:0 24px 35px;z-index:3}
.hero-transition .m-hero-actions{justify-content:center}
@media(min-width:721px){#landing .m-hero .hero-bottom>p{font-size:clamp(26px,1.65vw,32px);bottom:115px;line-height:1.75}
.hero-transition{height:112px;margin-top:0;padding:0;pointer-events:none}
.hero-transition .m-hero-actions{position:relative;top:auto;width:var(--cta-width,444px);height:var(--cta-height,58px);margin-inline:auto;gap:var(--cta-gap,30px);pointer-events:auto}
.hero-transition .m-hero-actions>a{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:var(--cta-first,207px);height:100%;min-height:0;padding:17px var(--cta-padding,25px);font-size:var(--cta-font,15px);border-radius:var(--cta-radius,999px);flex:0 0 auto;white-space:nowrap}
.hero-transition .m-hero-actions>.m-text-link{min-width:0;background:rgb(31 35 28 / var(--cta-tone,0));box-shadow:inset 0 0 0 1px rgb(216 230 194 / calc(var(--cta-tone,0)*.10));color:#d1d7c9}
}
@media(min-width:721px) and (max-height:760px){#landing .m-hero .hero-bottom>p{font-size:25px;bottom:115px;max-width:42%}
}
@media(prefers-reduced-motion:reduce){.hero-transition{height:auto;margin-top:0;padding:35px 3vw 50px}
.hero-transition .m-hero-actions{position:relative;top:auto}
}
@media(min-width:721px) and (prefers-reduced-motion:reduce){.hero-transition{padding-inline:0}
.hero-transition .m-hero-actions{width:100%}
.hero-transition .m-hero-actions>a{width:calc((100% - var(--cta-gap,0px))/2)}
}
@media(min-width:721px){#landing .m-hero .hero-bottom>p{bottom:45px}
}
@media(min-width:721px) and (prefers-reduced-motion:no-preference){.hero-transition .m-hero-actions{width:100%;height:112px;gap:0;pointer-events:none}
.hero-transition .m-hero-actions>a{position:relative;width:50%;height:112px;padding:0;border-radius:0;font-size:26px;pointer-events:auto;will-change:transform,clip-path}
.hero-transition .m-hero-actions>.m-button{transform:translate3d(calc(-1*var(--cta-gap,30px)/2),0,0);clip-path:inset(0 0 calc(112px - var(--cta-height,58px)) calc(100% - var(--cta-first,207px)) round var(--cta-radius,29px))}
.hero-transition .m-hero-actions>.m-text-link{transform:translate3d(calc(var(--cta-gap,30px)/2),0,0);clip-path:inset(0 calc(100% - var(--cta-first,207px)) calc(112px - var(--cta-height,58px)) 0 round var(--cta-radius,29px));background:none;box-shadow:none}
.hero-transition .m-hero-actions>.m-text-link:before{content:"";position:absolute;inset:0;background:#1f231c;box-shadow:inset 0 0 0 1px #d8e6c21a;opacity:var(--cta-tone,0);pointer-events:none}
.hero-transition .m-hero-actions>a:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #f1f0e9}
.hero-transition .m-hero-actions>a:focus-visible>.hero-action-label{text-decoration:underline;text-underline-offset:5px}
.hero-transition .m-hero-actions>a>.hero-action-label,.hero-transition .m-hero-actions>a>.hero-action-arrow{position:absolute;top:50%;z-index:1;white-space:nowrap;transition:none;will-change:transform}
.hero-transition .m-hero-actions>a>.hero-action-label{left:25px;font-size:26px;line-height:1.4;transform-origin:left center;transform:translate3d(0,calc(-50% + (var(--cta-height,58px) - 112px)/2),0) scale(var(--cta-scale,.5769230769))}
.hero-transition .m-hero-actions>.m-button>.hero-action-label{transform:translate3d(var(--cta-inset,var(--cta-inset-start,0px)),calc(-50% + (var(--cta-height,58px) - 112px)/2),0) scale(var(--cta-scale,.5769230769))}
.hero-transition .m-hero-actions>a>.hero-action-arrow{right:25px;font-size:24px;line-height:1;transform:translate3d(0,calc(-50% + (var(--cta-height,58px) - 112px)/2),0)}
.hero-transition .m-hero-actions>.m-text-link>.hero-action-arrow{font-size:22px;transform:translate3d(calc(-1*var(--cta-inset,var(--cta-inset-start,0px))),calc(-50% + (var(--cta-height,58px) - 112px)/2),0)}
.hero-transition[data-motion=native] .m-hero-actions :is(a,.hero-action-label,.hero-action-arrow),.hero-transition[data-motion=native] .m-text-link:before{animation-duration:auto;animation-timing-function:var(--cta-easing);animation-fill-mode:both;animation-timeline:scroll(root block);animation-range:0px var(--cta-travel)}
.hero-transition[data-motion=native] .m-hero-actions>.m-button{animation-name:hero-cta-left-clip,hero-cta-left-gap}
.hero-transition[data-motion=native] .m-hero-actions>.m-text-link{animation-name:hero-cta-right-clip,hero-cta-right-gap}
.hero-transition[data-motion=native] .m-button>.hero-action-label{animation-name:hero-cta-left-label}
.hero-transition[data-motion=native] .m-text-link>.hero-action-label{animation-name:hero-cta-label}
.hero-transition[data-motion=native] .m-button>.hero-action-arrow{animation-name:hero-cta-arrow}
.hero-transition[data-motion=native] .m-text-link>.hero-action-arrow{animation-name:hero-cta-right-arrow}
.hero-transition[data-motion=native] .m-text-link:before{animation-name:hero-cta-tone}
}
@keyframes hero-cta-left-clip{from{clip-path:inset(0 0 54px var(--cta-inset-start) round 29px)}to{clip-path:inset(0 0 0 0 round 0px)}}
@keyframes hero-cta-right-clip{from{clip-path:inset(0 var(--cta-inset-start) 54px 0 round 29px)}to{clip-path:inset(0 0 0 0 round 0px)}}
@keyframes hero-cta-left-gap{from{transform:translate3d(-15px,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes hero-cta-right-gap{from{transform:translate3d(15px,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes hero-cta-left-label{from{transform:translate3d(var(--cta-inset-start),calc(-50% - 27px),0) scale(.5769230769)}to{transform:translate3d(0,-50%,0) scale(1)}}
@keyframes hero-cta-label{from{transform:translate3d(0,calc(-50% - 27px),0) scale(.5769230769)}to{transform:translate3d(0,-50%,0) scale(1)}}
@keyframes hero-cta-arrow{from{transform:translate3d(0,calc(-50% - 27px),0)}to{transform:translate3d(0,-50%,0)}}
@keyframes hero-cta-right-arrow{from{transform:translate3d(calc(-1*var(--cta-inset-start)),calc(-50% - 27px),0)}to{transform:translate3d(0,-50%,0)}}
@keyframes hero-cta-tone{from{opacity:0}to{opacity:1}}
