:root{--paper:#f2f1e9;--ink:#131311;--orange:#0b7466;--line:#b7b7ae}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--orange);outline-offset:7px}header{height:100px;display:flex;justify-content:space-between;align-items:center;padding:0 4.5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;font-size:13px;letter-spacing:4px;font-weight:700;line-height:1.5}.aster{font-size:51px;line-height:1;letter-spacing:0}nav{display:flex;gap:36px;font-size:14px}nav a:hover,.text-link:hover{color:var(--orange)}nav span{margin-left:12px}.eyebrow,.section-label,.hero-bottom,.text-link{font-family:monospace;font-size:12px;letter-spacing:1.6px;line-height:1.6}.hero{min-height:890px;position:relative;overflow:hidden;padding:45px 4.5% 35px}.portrait{position:absolute;right:8%;top:40px;width:34%;height:650px;background-image:url('assets/hero-original-portrait.png');background-size:312% auto;background-position:85% 17%;filter:grayscale(1)}.hero-copy{position:relative;z-index:2;margin-top:75px;width:80%;pointer-events:none}.hero-copy a{pointer-events:auto}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,6.6vw,112px);line-height:.99;letter-spacing:-.055em;font-weight:400;margin:0}em{font-style:normal;color:var(--orange)}.hero-copy p,.serif{font-family:Georgia,serif;font-size:clamp(22px,2.1vw,32px);line-height:1.25}.text-link{display:inline-flex;align-items:center;gap:36px;text-transform:uppercase;margin-top:30px}.text-link:before{content:'';height:1px;width:40px;background:currentColor}.text-link span{font:26px Georgia}.letter{font-size:440px;line-height:.75;font-weight:900;position:absolute;right:17%;bottom:37px;letter-spacing:-50px;z-index:1;pointer-events:none}.orbit{width:310px;height:310px;position:absolute;left:-20px;top:20px;border:1px solid #8b8b82;border-radius:50%;transform:rotate(-25deg)}.orbit:after{content:'';position:absolute;width:400px;height:1px;background:#8b8b82;top:50%;left:-40px}.letter i{width:88px;height:88px;background:var(--orange);border-radius:50%;position:absolute;right:35px;bottom:20px}.hero-bottom{display:flex;justify-content:space-between;margin-top:180px;position:relative;z-index:2;font-size:12px}.section{padding:65px 4.5% 80px;border-top:1px solid var(--line)}.section-label{margin-bottom:60px}h2{font-size:clamp(42px,6.2vw,94px);letter-spacing:-.065em;line-height:.99;margin:0;font-weight:800}p{font-size:18px;line-height:1.55}.intro{display:grid;grid-template-columns:1.5fr 1fr;gap:9%;align-items:end}.intro p{max-width:430px}.process{display:grid;grid-template-columns:repeat(4,1fr);margin-top:75px;border-top:1px solid var(--ink)}.process article{padding:25px 22px 10px 0}.process article+article{border-left:1px solid var(--line);padding-left:25px}.process article>span{font:12px monospace;color:var(--orange)}h3{font-size:clamp(30px,4vw,62px);margin:25px 0 15px;letter-spacing:-.06em}.process p{font-size:16px}.audio-note,.pedigree,.founder{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:55px;padding-top:28px;border-top:1px solid var(--line)}.audio-note p,.pedigree p,.founder p{margin:0;max-width:600px}.state{background:var(--ink);color:var(--paper);overflow:hidden}.state h2{font-size:clamp(48px,7.7vw,120px)}.orange{color:var(--orange)}.state-line{display:flex;justify-content:space-between;margin-top:50px;border-top:1px solid #56564d;padding-top:24px;font-family:Georgia,serif;font-size:clamp(18px,2.4vw,36px)}.signal{height:200px;color:var(--orange);margin:45px -8% 10px;opacity:.85}.signal svg{width:100%;height:100%;stroke-width:1.2;animation:signal 12s ease-in-out infinite alternate}.state-caption{font-family:Georgia,serif;font-size:26px}.state-caption em{color:#c7c7bd}.environment-layout{position:relative;min-height:590px}.environment-layout>div:first-child{position:relative;padding-top:30px;z-index:2;width:75%}.environment-layout h2{font-size:clamp(42px,6vw,90px)}.environment-photo{position:absolute;right:0;top:0;height:590px;width:37%;background-image:url('assets/environment.png');background-size:280% auto;background-position:90% 42%;filter:grayscale(1)}.environment-layout .serif{margin-top:35px;max-width:55%}.use-cases{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:24px;gap:20px;font-size:16px}.proof h2{font-family:Georgia,serif;font-weight:400}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px}.proof-grid p{border-top:1px solid var(--ink);padding-top:20px}.proof-grid strong{display:block;font-size:clamp(25px,3vw,45px);letter-spacing:-.04em;margin-bottom:12px}.proof-grid span{font-size:14px}.contact{position:relative;overflow:hidden}.contact h2{font-size:clamp(64px,10.5vw,165px)}.contact-link{display:flex;justify-content:space-between;font-size:clamp(26px,3.5vw,50px);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:70px;padding:24px 0}.contact-link:hover{color:var(--orange)}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:70px}footer>span{font:12px monospace;letter-spacing:1px}footer>a:last-child{font-size:14px}.reveal{transition:transform .9s ease,opacity .9s ease}.motion .reveal.pending{opacity:0;transform:translateY(25px)}@keyframes signal{to{transform:scaleY(.5) translateX(2%)}}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:1030px}.portrait{height:780px}.hero-bottom{margin-top:210px}}@media(max-width:760px){header{height:84px;padding:0 6%}.brand{font-size:10px;letter-spacing:2.5px;gap:10px}.aster{font-size:38px}nav{gap:16px}nav a:not(:last-child){display:none}.hero{padding:30px 6%;min-height:900px}.hero>.eyebrow{max-width:190px}.portrait{top:120px;right:6%;width:57%;height:405px;background-position:85% 17%}.hero-copy{margin-top:230px;width:100%}h1{font-size:clamp(43px,9.8vw,73px);line-height:1.05;text-shadow:0 0 15px var(--paper)}.hero-copy p{max-width:250px;font-size:22px}.text-link{font-size:11px;gap:15px}.letter{font-size:245px;right:18%;bottom:67px}.letter i{width:55px;height:55px;right:5px}.orbit{width:170px;height:170px}.orbit:after{width:210px;left:-20px}.hero-bottom{margin-top:155px;font-size:10px}.hero-bottom span:last-child{display:none}.section{padding:40px 6% 55px}.section-label{margin-bottom:40px;font-size:11px}.intro{grid-template-columns:1fr;gap:20px}h2{font-size:48px}.intro p{font-size:17px}.process{grid-template-columns:1fr 1fr;margin-top:40px}.process article{border-bottom:1px solid var(--line)}.process article:nth-child(3){border-left:0;padding-left:0}.process p{font-size:14px}h3{font-size:39px}.audio-note,.pedigree,.founder{grid-template-columns:1fr;gap:20px;margin-top:35px}.audio-note p,.pedigree p,.founder p{font-size:16px}.state h2{font-size:52px}.state-line{gap:10px;flex-wrap:wrap;font-size:20px;justify-content:flex-start}.state-line span{margin-right:15px}.signal{height:140px}.state-caption{font-size:22px}.environment-layout{min-height:670px}.environment-layout>div:first-child{width:100%;padding-top:0}.environment-layout h2{font-size:45px;text-shadow:0 0 15px var(--paper)}.environment-layout .serif{max-width:100%;font-size:23px}.environment-photo{top:280px;width:80%;height:360px;background-size:240%;background-position:90% 48%}.use-cases{display:grid;grid-template-columns:1fr 1fr;font-size:14px;gap:20px}.proof-grid{grid-template-columns:1fr 1fr;margin-top:25px}.proof-grid strong{font-size:27px}.contact h2{font-size:66px}.contact-link{margin-top:45px;font-size:28px}footer{flex-wrap:wrap;padding-top:40px}footer>span{order:3;width:100%;font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.signal svg{animation:none}.reveal{transition:none}.motion .reveal.pending{opacity:1;transform:none}}
/* Final page: preserve the supplied composition and its original lettering. */
.final-page{position:relative;isolation:isolate;width:100%;aspect-ratio:1122/1402;background:#f6f5ed;overflow:hidden;container-type:inline-size;border-top:1px solid var(--line);scroll-margin-top:0}
.final-composition{display:block;width:100%;height:auto}
.final-content{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.final-coast{position:absolute;left:16.75579%;top:60.48502%;width:83.24421%;height:16.69044%;overflow:hidden}
.final-coast img{position:absolute;max-width:none;width:120.12848%;height:auto;left:-20.12848%;top:-362.39316%;transform-origin:70% 70%;will-change:transform}
.final-wave{position:absolute;inset:0;pointer-events:none;clip-path:polygon(0 45.6%,24% 47.8%,45% 50.2%,64% 47%,76% 39%,88% 34%,100% 30%,100% 59.6%,80% 60.4%,64% 65.4%,43% 64%,23% 60.5%,0 56%);opacity:0;will-change:opacity,transform}
.final-wave img{display:block;width:100%;height:auto}
.final-page>a:not(.final-email){position:absolute;display:block;border-radius:2px}
.final-brand-hit{left:4.4%;top:1.7%;width:23%;height:3%}
.final-research-hit{left:58.9%;top:2%;width:5%;height:2.2%}
.final-technology-hit{left:66.5%;top:2%;width:6.2%;height:2.2%}
.final-about-hit{left:76%;top:2%;width:4%;height:2.2%}
.final-contact-dot{left:92.6%;top:1.85%;width:3.1%;height:2.6%;border-radius:50%!important}
.final-contact-dot:hover{box-shadow:0 0 0 5px #0b746633}
.final-email{position:absolute;left:16.75579%;top:83%;display:inline-flex;align-items:center;gap:2.8cqw;padding:12px 0;border-top:1px solid #333;font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,2.7cqw,43px);line-height:1.2}
.final-email:hover{color:#0b7466}.final-email span{transition:transform .25s}.final-email:hover span{transform:translate(3px,-3px)}
@media(max-width:760px){.final-email{top:81.5%;font-size:clamp(18px,3.3cqw,25px);padding-top:8px;gap:18px}.final-contact-dot{min-width:30px;min-height:30px;transform:translate(-25%,-20%)}.final-page>a:focus-visible{outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.final-coast img{transform:none!important}.final-wave{display:none}.final-email span{transition:none}}
/* Clear, selectable type replaces the small raster lettering. */
.fresh-type{background-image:url('assets/final-reference.png');background-size:100cqw auto;background-position:0 -101cqw;background-repeat:no-repeat;background-color:#f7f6ee}
.fresh-type{position:absolute;margin:0;color:#242b32;font-family:Arial,Helvetica,sans-serif;font-size:clamp(12px,1.06cqw,18px);font-weight:500;line-height:1.55;letter-spacing:.16em;padding:.45cqw;z-index:3}
.fresh-wordmark{left:8.8%;top:2.02%;width:23%;height:2.2%;font-size:clamp(12px,1.35cqw,23px);font-weight:600;letter-spacing:.24em;line-height:1.1}
.fresh-top-left{left:4.15%;top:9.45%;width:17.5%;min-height:6.65%}
.fresh-top-right{left:87.55%;top:12.5%;width:12%;min-height:6.55%}
.fresh-side{left:4.15%;top:67.9%;width:12.5%;min-height:4.7%;font-size:clamp(12px,.94cqw,16px);letter-spacing:.10em}
.fresh-footer-left{left:4.1%;top:86%;width:43%;min-height:3.2%;font-size:clamp(13px,1.16cqw,19px);line-height:1.7;letter-spacing:.16em}
.fresh-footer-right{left:85.7%;top:91.8%;width:14%;min-height:3.6%;font-size:clamp(13px,1.16cqw,19px);line-height:1.5;letter-spacing:.16em}
.final-coast img{transform:none!important;will-change:auto}
.final-coast-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;will-change:auto}
.final-coast::after{content:"";position:absolute;left:0;top:0;width:100%;height:4cqw;pointer-events:none;z-index:1;background-image:url('assets/final-reference.png');background-repeat:no-repeat;background-size:120.12848% auto;background-position:-16.75579cqw -75.57932cqw;mix-blend-mode:multiply;opacity:.55;mask-image:linear-gradient(to bottom,#000 0%,#000 68%,transparent 100%)}
.sun-wave-window{position:absolute;left:70.3%;top:27.25%;width:29.7%;height:25.85%;pointer-events:none;overflow:hidden;clip-path:ellipse(58% 50% at 58% 50%);mix-blend-mode:screen;mask-image:linear-gradient(transparent 15%,#000 43%,#000 76%,transparent 98%)}
.sun-wave-texture{position:absolute;inset:-2%;background-image:url('assets/final-reference.png');background-size:100cqw auto;background-position:-70.3cqw -34.06cqw;background-repeat:no-repeat;filter:grayscale(1) brightness(.71) contrast(7);opacity:.68;animation:sun-wave-flow 7s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.waves-active .sun-wave-texture{animation-play-state:running}
@keyframes sun-wave-flow{from{transform:translate(-1.1%,-.6%)}to{transform:translate(1.1%,1.3%)}}
@media(max-width:760px){.fresh-wordmark{font-size:clamp(9px,1.9cqw,14px);width:35%;top:1.95%;letter-spacing:.2em}.fresh-top-left,.fresh-top-right,.fresh-side{font-size:0;line-height:0}.fresh-top-left{height:6.65%}.fresh-top-right{height:6.8%}.fresh-side{height:4.9%}.fresh-footer{position:absolute;left:0;top:84%;width:100%;min-height:16%;background:#f6f5ed;padding:10px 5% 34px;display:flex;justify-content:space-between;gap:18px}.fresh-footer .fresh-type{position:static;background:none;padding:0;min-height:0;width:auto;font-size:12px;line-height:2.5;letter-spacing:.11em}.fresh-footer-left{max-width:65%}.fresh-footer-right{max-width:32%}.final-page{padding-bottom:24px}.final-composition{margin-bottom:-24px}}
@media(prefers-reduced-motion:reduce){.sun-wave-texture{animation:none;transform:none}}
@media(max-width:760px){.final-page{padding-bottom:0}.final-composition{margin-bottom:0}.fresh-footer{top:86.5%;min-height:13.5%;padding:6px 5%}.fresh-footer .fresh-type{line-height:1.4}.final-email{top:79.5%}}
/* Scroll-driven sun: the photograph is the foreground occluder. */
.final-page{--sun-rise:0px;--sun-cover:0}
.sun-rise-stage{position:absolute;inset:0;clip-path:inset(0 0 39.515% 0);pointer-events:none;z-index:2}
.rising-sun{position:absolute;left:70.3%;top:27.25%;width:34%;aspect-ratio:1;border-radius:50%;background-image:url('assets/final-reference.png');background-size:100cqw auto;background-position:-70.3cqw -34.06cqw;background-repeat:no-repeat;transform:translateY(var(--sun-rise));will-change:transform;mask-image:linear-gradient(#000 66%,transparent 100%)}
.sun-axis{position:absolute;left:80.7%;top:9.9%;height:50.58%;width:1px;background:#343d43;z-index:3;pointer-events:none}
.sun-wave-window{z-index:4}.final-coast{z-index:5}.fresh-type,.fresh-footer{z-index:6}.final-page>a{z-index:7}
@media(prefers-reduced-motion:reduce){.sun-rise-stage,.sun-axis{display:none}}
@media(max-width:760px){.fresh-footer-left{max-width:100%}}
/* Higher resting position, with the wave detail following the sun. */
.sun-wave-window{transform:translateY(var(--sun-rise))}
@media(prefers-reduced-motion:reduce){.final-page{--sun-rise:0px}.sun-wave-window{transform:none}}
.final-moving-headline{position:absolute;left:3.565%;top:19.9715%;width:61.497%;height:20.328%;background:url('assets/final-headline.png') 0 0/100% 100% no-repeat;transform:translateX(var(--headline-slide,0px));z-index:8;pointer-events:none;will-change:transform}
@media(prefers-reduced-motion:reduce){.final-moving-headline{display:none}}

/* Large blank masks must never sample the source footer lettering. */
@font-face{font-family:AsterCondensed;src:url('assets/fonts/aster-condensed-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
.final-moving-headline{background:none;width:68%;height:auto;margin:0;padding:0;color:#050505;font-family:AsterCondensed,'Arial Narrow',Arial,sans-serif;font-size:14.6cqw;font-weight:700;font-style:normal;line-height:.80;letter-spacing:-.034em;text-align:left;text-shadow:none;-webkit-text-stroke:.006em currentColor;text-rendering:optimizeLegibility;overflow:visible}
.final-moving-headline>span{display:block;white-space:nowrap}
.final-moving-headline .headline-period{color:#0b7466;letter-spacing:0}
@media(prefers-reduced-motion:reduce){.final-moving-headline{display:block}.final-moving-headline{transform:none;will-change:auto}}

/* Overlap the baked sun edge to remove the orange antialiasing seam. */
/* Sharp serif subtitle, with a small scroll-driven lift. */
.final-live-subtitle{position:absolute;left:4.8%;top:40.55%;width:75%;margin:0;padding:0;color:#10100e;font-family:Georgia,'Times New Roman',serif;font-size:4.18cqw;font-weight:400;letter-spacing:-.045em;line-height:1.12;white-space:nowrap;z-index:8;transform:translateY(var(--subtitle-rise,0px));will-change:transform}
@media(prefers-reduced-motion:reduce){.final-live-subtitle{transform:none;will-change:auto}}
/* Compact page markers keep the four approved sections legible while scrolling. */
.scroll-markers{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 4.5%;background:rgba(242,241,233,.97);border-bottom:1px solid var(--line);font:11px/1.2 monospace;letter-spacing:1.35px}
.scroll-markers a{display:flex;align-items:center;gap:10px;min-width:0;min-height:43px;padding:0 14px 0 0;border-right:1px solid var(--line);opacity:.5;transition:color .25s ease,opacity .25s ease}
.scroll-markers a:first-child{border-left:1px solid var(--line);padding-left:14px}
.scroll-markers a:last-child{border-right:0;padding-left:14px}
.scroll-markers a:nth-child(2),.scroll-markers a:nth-child(3){padding-left:14px}
.scroll-markers a:hover,.scroll-markers a[aria-current="true"]{color:var(--orange);opacity:1}
.scroll-markers span{margin-left:0;font-weight:700;white-space:nowrap}.scroll-markers b{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.scroll-markers{display:flex;overflow-x:auto;padding:0 6%;scrollbar-width:none}.scroll-markers::-webkit-scrollbar{display:none}.scroll-markers a,.scroll-markers a:not(:last-child){display:flex;flex:0 0 auto;padding:0 16px 0 0;margin-right:16px}.scroll-markers a:first-child{padding-left:0;border-left:0}.scroll-markers a:last-child{padding-left:0;margin-right:0}}
@media(prefers-reduced-motion:reduce){.scroll-markers a{transition:none}}
/* Section 04 only: the two supplied compositions, with live vector typography. */
@font-face{font-family:S04Serif;src:url('assets/fonts/section04-serif.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:S04Serif;src:url('assets/fonts/section04-serif-bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:S04Mono;src:url('assets/fonts/section04-mono.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
#proof.s04-replacement{padding:0;border-top:1px solid var(--line);background:#f5f7ef}
#proof .s04-section-label{padding:45px 4.5% 0;font:12px/1.6 monospace;letter-spacing:1.6px;color:#131311}
#proof .s04-panel{position:relative;width:100%;margin:0;isolation:isolate;overflow:hidden}
#proof .s04-art{display:block;width:100%;height:auto;margin:0}
#proof .s04-type{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;text-rendering:geometricPrecision}
#proof .s04-type rect{pointer-events:none}
#proof .s04-type text{user-select:text}
#proof .s04-type text:not([fill]){fill:#090908}
#proof .s04-type text[fill="#0b7466"]{color:#0b7466}
#proof .s04-type text[fill="#0b7466"]{color:#0b7466}
#proof .s04-serif{font-family:S04Serif,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
#proof .s04-serif-bold{font-family:S04Serif,'Times New Roman',serif;font-weight:700;letter-spacing:-.05em}
#proof .s04-mono{font-family:S04Mono,monospace;font-weight:700;letter-spacing:1.7px}
#proof .s04-label{font-family:Arial,sans-serif;font-weight:400;letter-spacing:2.6px}
#proof .s04-condensed{font-family:AsterCondensed,'Arial Narrow',Arial,sans-serif;font-weight:700;letter-spacing:-.045em;-webkit-text-stroke:.006em currentColor}
#proof .s04-math{font-style:italic;letter-spacing:0}
@media(max-width:700px){#proof .s04-section-label{padding:30px 4.5% 0;font-size:12px}#proof .s04-type text{text-rendering:optimizeLegibility}}

/* End LOVE b just below the equation, bringing the closing page forward. */
#proof .s04-panel-b{aspect-ratio:1122/685}
#proof .s04-panel-b .s04-art{position:absolute;top:0;left:0;width:100%;height:auto}
#proof .s04-panel-b .s04-type{height:100%;overflow:hidden}

#proof .s04-panel-b{background:#f7f4ec}

/* Compact the empty lead-in, then leave 75 units of space below the equation. */
#proof .s04-panel-b{aspect-ratio:1122/535}
/* Restrained motion and closer spacing, scoped to section 04. */
#proof .s04-panel-a{aspect-ratio:1122/1345}
#proof .s04-panel-a .s04-art{position:absolute;inset:0 auto auto 0;width:100%;height:auto}
#proof .s04-photo-layer{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:hidden}
#proof .s04-diagram-lines{image-rendering:auto;pointer-events:none}
#proof .s04-panel-b{aspect-ratio:1122/510}
#proof .s04-lift{transform:translateY(var(--s04-lift,0px));will-change:transform}
#proof.s04-motion .s04-equation-reveal{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease}
#proof.s04-motion .s04-equation-reveal.s04-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){#proof .s04-lift{transform:none;will-change:auto}#proof.s04-motion .s04-equation-reveal{opacity:1;transform:none;transition:none}}
/* Environments: two supplied editorial compositions, independently moving layers. */
#environments.env-editorial{padding:0;border-top:1px solid var(--line);background:#f6f4eb;overflow:hidden}
#environments .env-section-label{padding:40px 4.5% 0;font:12px/1.6 monospace;letter-spacing:1.6px}
#environments .env-panel{position:relative;width:100%;margin:0;overflow:hidden}
#environments .env-composition{display:block;width:100%;height:auto;text-rendering:geometricPrecision}
#environments .env-composition text{user-select:text}
#environments .env-composition text:not([fill]){fill:#070706}
#environments .env-serif{font-family:S04Serif,'Times New Roman',serif;letter-spacing:-.025em}
#environments .env-serif-bold{font-family:S04Serif,'Times New Roman',serif;font-weight:700;letter-spacing:-.045em}
#environments .env-condensed{font-family:AsterCondensed,'Arial Narrow',Arial,sans-serif;font-weight:700;letter-spacing:-.035em}
#environments .env-small{font-family:Arial,sans-serif;fill:#646461!important}
#environments .env-mono{font-family:monospace;letter-spacing:1px}
#environments .env-photo-motion{transform-origin:75% 46%;transform:translateY(var(--env-photo-y,0px)) scale(var(--env-scale,1));will-change:transform}
#environments .env-title-motion{transform:translate(var(--env-title-x,0px),var(--env-title-y,0px));will-change:transform}
#environments .env-copy-motion{transform:translateY(var(--env-copy-y,0px));will-change:transform}
#environments .env-letter-motion{transform-origin:45% 77%;transform:scale(var(--env-letter-scale,1));will-change:transform}
#environments .env-orbit-motion{transform-origin:811px 383px;transform:rotate(var(--env-orbit-angle,0deg));pointer-events:none}
#environments .env-orbit-b{transform-origin:494px 935px}
#environments .env-wave-highlight{mix-blend-mode:screen;opacity:.28;pointer-events:none}
#environments .env-wave-motion{filter:grayscale(1) brightness(.65) contrast(7);animation:env-wave-drift 8s ease-in-out infinite alternate;animation-play-state:paused}
#environments .env-panel.env-in-view .env-wave-motion{animation-play-state:running}
#environments.env-motion .env-use{opacity:0;transform:translateY(16px);transition:opacity .75s ease var(--env-delay),transform .75s ease var(--env-delay)}
#environments.env-motion .env-use.env-shown{opacity:1;transform:none}
@keyframes env-wave-drift{from{transform:translate(-3px,3px)}to{transform:translate(4px,-4px)}}
@media(prefers-reduced-motion:reduce){#environments .env-photo-motion,#environments .env-title-motion,#environments .env-copy-motion,#environments .env-letter-motion,#environments .env-orbit-motion,#environments .env-wave-motion{transform:none;animation:none;will-change:auto}#environments.env-motion .env-use{opacity:1;transform:none;transition:none}}

/* Remove the clipped source lettering in the portrait's upper-right corner. */
.portrait{clip-path:polygon(0 0,64% 0,64% 29%,100% 29%,100% 100%,0 100%)}

/* Nudge the supplied environment artwork left so its symbols stay exposed, and keep the live overlays aligned with the source artwork. */
#environments .env-panel-b .env-composition>image:first-of-type{transform:translateX(-14px)}
#environments .env-panel-b .env-photo-motion{transform:translate(-14px,var(--env-photo-y,0px)) scale(var(--env-scale,1))}
#environments .env-panel-b .env-composition>rect,
#environments .env-panel-b .env-composition text{transform:translateX(-14px)}
#environments .env-panel-b .env-use text{font-size:11px;letter-spacing:.6px}

/* The section 02 signal waves now move three times faster. */
.signal svg{animation-duration:4s}

/* Keep the accelerated wave field continuous at the edges. */
.signal svg{overflow:visible}
@keyframes signal{to{transform:scaleY(.5)}}

/* Use the supplied A mark in the header instead of the star glyph. */
.aster-mark{display:block;width:33px;height:42px;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:760px){.aster-mark{width:27px;height:34px}}

/* The retail film runs beneath the editorial overlay so the scene remains visible through the copy. */
#environments .env-retail-panel{isolation:isolate;background:#f6f4eb}
#environments .env-retail-media{position:absolute;z-index:-1;left:0;right:0;top:2.92%;height:91.6%;overflow:hidden;background:#ded9cf}
#environments .env-retail-video{display:block;width:100%;height:100%;object-fit:cover;object-position:58% center}
#environments .env-retail-panel .env-composition{position:relative;z-index:1}
#environments .env-retail-panel .env-composition>rect{fill:#f6f4eba8}
#environments .env-video-toggle{position:absolute;z-index:2;right:18px;bottom:7.3%;min-height:44px;min-width:108px;padding:10px 16px;border:1px solid #ffffff80;border-radius:0;background:#131311df;color:#fff;font:14px/1.3 Arial,Helvetica,sans-serif;cursor:pointer}
#environments .env-video-toggle:hover{background:#131311}
#environments .env-video-toggle:focus-visible{outline:3px solid #0b7466;outline-offset:4px}
#environments .env-video-toggle[hidden]{display:none}
@media(max-width:760px){#environments .env-video-toggle{right:10px;min-width:96px;padding:10px 12px}}

/* Page 04 restored to the supplied editorial composition. The portrait is the only replaced image. */
#proof.proof-reference{position:relative;padding:0;border-top:0;background:#f5f7ef;overflow:hidden}
#proof .proof-reference-art{display:block;width:100%;height:auto;margin:0}
#proof .proof-photo-overlay{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}

/* Section 02: supplied editorial artwork with localized wave motion. */
#experience.personal-state{position:relative;padding:0;background:#f6f4ed;color:#080807;overflow:hidden}
.personal-state-label{position:absolute;z-index:2;top:40px;left:4.5%;font:12px/1.6 monospace;letter-spacing:1.6px}
.personal-state-art{position:relative}
#personal-state-image{display:block;width:100%;height:auto}
#personal-state-waves{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
#personal-state-waves.ready{opacity:1}
.personal-state-toggle{position:absolute;right:20px;bottom:20px;padding:10px 14px;background:#f6f4ed;color:#111;border:1px solid #777;font:14px/1.3 Arial;cursor:pointer}
.personal-state-toggle[hidden]{display:none}
@media(max-width:600px){.personal-state-label{top:16px;font-size:10px;letter-spacing:1px}.personal-state-toggle{right:10px;bottom:10px}}

.personal-state-type{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;fill:#080807;text-rendering:geometricPrecision}
.personal-state-heading{font-family:AsterCondensed,'Arial Narrow',Arial,sans-serif;font-weight:700;letter-spacing:-.035em}
.personal-state-categories{font-family:monospace;letter-spacing:3px}
.personal-state-caption{font-family:S04Serif,'Times New Roman',serif;letter-spacing:-.025em}

/* Crop the unused top margin and its two rules from section 02 only. */
#experience .personal-state-label{position:relative;top:auto;left:auto;padding:32px 4.5% 24px}
#experience .personal-state-art{aspect-ratio:1122 / 1152;overflow:hidden}
#experience #personal-state-image,#experience #personal-state-waves,#experience .personal-state-type{position:absolute;inset:auto;left:0;top:-21.701389%;width:100%;height:121.701389%;max-width:none}

/* Minimal contact form opened from the closing-page link. */
.contact-form-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px}
.contact-form-modal[hidden]{display:none}
.contact-form-backdrop{position:absolute;inset:0;border:0;background:rgba(19,19,17,.58);cursor:pointer}
.contact-form-card{position:relative;z-index:1;width:min(620px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding:42px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);box-shadow:12px 12px 0 var(--orange)}
.contact-form-close{position:absolute;top:12px;right:16px;border:0;background:transparent;color:inherit;padding:6px;font:32px/1 Arial,Helvetica,sans-serif;cursor:pointer}
.contact-form-close:focus-visible,.contact-form-submit:focus-visible,.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.contact-form-kicker{margin:0 0 18px;font:12px/1.6 monospace;letter-spacing:1.6px}
.contact-form-card h2{margin:0 0 30px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,6vw,72px);font-weight:400;letter-spacing:-.055em;line-height:.96}
.contact-form{display:grid;gap:18px}
.contact-form label{display:grid;gap:8px;font:12px/1.4 monospace;letter-spacing:1.2px;text-transform:uppercase}
.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #777;background:transparent;color:inherit;padding:10px 0;font:18px/1.35 Georgia,'Times New Roman',serif;outline:none;resize:vertical}
.contact-form textarea{min-height:120px}
.contact-form-submit{justify-self:start;display:inline-flex;align-items:center;gap:28px;margin-top:8px;border:0;border-top:1px solid currentColor;background:transparent;color:inherit;padding:14px 0 0;font:12px/1.5 monospace;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer}
.contact-form-submit span{font:24px/1 Georgia,'Times New Roman',serif}
.contact-form-note{margin:0;color:#555;font:13px/1.5 Arial,Helvetica,sans-serif}
.contact-form-success[hidden],.contact-form[hidden]{display:none}
.contact-form-success h2{margin-bottom:16px}
.contact-form-success p{margin:0 0 24px;font:20px/1.4 Georgia,'Times New Roman',serif}
.contact-form-done{position:static;display:inline-flex;align-items:center;border-top:1px solid currentColor;font:12px/1.5 monospace;letter-spacing:1.4px;text-transform:uppercase}
body.contact-form-open{overflow:hidden}
@media(max-width:760px){.contact-form-modal{padding:14px}.contact-form-card{width:100%;max-height:calc(100vh - 28px);padding:34px 24px 28px;box-shadow:8px 8px 0 var(--orange)}.contact-form-card h2{font-size:clamp(38px,11vw,58px);margin-bottom:24px}.contact-form-close{top:10px;right:12px}.contact-form input,.contact-form textarea{font-size:17px}}
@media(prefers-reduced-motion:reduce){.contact-form-backdrop,.contact-form-card{transition:none}}

/* Section 02: a restrained depth field gives the supplied wave a physical, dimensional feel. */
#experience .personal-state-art{perspective:1100px}
#experience #personal-state-waves{z-index:1;filter:drop-shadow(0 7px 8px rgba(34,45,50,.12));backface-visibility:visible}
#experience #personal-state-depth{position:absolute;inset:auto;left:0;top:-21.701389%;z-index:1;width:100%;height:121.701389%;max-width:none;opacity:0;pointer-events:none;mix-blend-mode:normal;transition:opacity .8s ease;will-change:opacity}
#experience #personal-state-depth.ready{opacity:1}
#experience .personal-state-type{z-index:2}

/* Keep the hero, approach and human-state headings in their original positions. */
.headline-drift,.personal-state-headline{animation:none;transform:none;will-change:auto}
@media(prefers-reduced-motion:reduce){#experience #personal-state-waves,#experience #personal-state-depth{filter:none;transition:none;will-change:auto}}

/* Section 02 sun: the original orange artwork emerges from the pale sky on scroll. */
#experience .personal-state-sun-stage{display:none;position:absolute;inset:auto;left:0;top:-21.701389%;z-index:1;width:100%;height:121.701389%;max-width:none;pointer-events:none;overflow:visible}
#experience .personal-state-sun-stage.sun-ready{display:block}
#experience .personal-state-sun-cover{pointer-events:none}
#experience .personal-state-sun{will-change:opacity}
@media(prefers-reduced-motion:reduce){#experience .personal-state-sun-stage.sun-ready{display:none}}

/* Keep the desktop composition's spacing after removing its bottom-left caption. */
#home .hero-bottom{min-height:3.2em;justify-content:flex-end}

/* On phones, keep the live copy above the portrait in separate layout rows. */
@media(max-width:760px){
  #home.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;min-height:0;padding:30px 6% 36px}
  #home>.eyebrow{grid-column:1;grid-row:1;max-width:none}
  #home .hero-copy{grid-column:1;grid-row:2;width:100%;min-width:0;margin-top:0}
  #home h1{font-size:clamp(32px,9.8vw,73px);text-shadow:none}
  #home .hero-copy p{max-width:100%;margin:20px 0 0}
  #home .text-link{max-width:100%;margin-top:24px;gap:14px;letter-spacing:1px}
  #home .text-link::before{flex:0 0 28px;width:28px}
  #home .portrait{position:relative;grid-column:1;grid-row:3;justify-self:end;top:auto;right:auto;width:66%;max-width:300px;height:auto;aspect-ratio:11/20}
  #home .portrait{clip-path:none}
  #home .letter{position:relative;grid-column:1;grid-row:3;align-self:end;justify-self:start;right:auto;bottom:auto;font-size:clamp(180px,48vw,280px)}
  #home .hero-bottom{display:none}
}

/* Section 03 is now the application story; keep its label consistent with the other sections. */
#proof .proof-section-label{position:absolute;z-index:3;left:5.45%;top:0;width:45%;height:5%;padding:1.25% 3px 0;background:#f5f7ef;color:#131311;font:12px/1.6 monospace;letter-spacing:1.6px;white-space:nowrap}

/* The application labels remain readable as live type on small screens. */
#environments .env-mobile-use-cases{display:none}
@media(max-width:760px){
  .eyebrow,.section-label,.hero-bottom,.text-link,.env-section-label,.proof-section-label,.personal-state-label{font-size:12px!important;line-height:1.4;letter-spacing:1px}
  .scroll-markers{font-size:12px;letter-spacing:1px}
  .scroll-markers a{min-height:48px}
  .brand,footer>span,footer>a:last-child,.process article>span{font-size:12px}
  #experience .personal-state-label{padding-top:24px;padding-bottom:18px}
  #experience .personal-state-categories text{font-size:36px!important}
  #experience .personal-state-caption text{font-size:36px!important}
  #environments .env-use{display:none}
  #environments .env-mobile-use-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:12px;margin:0 4.5% 26px;padding:14px 0 4px;border-top:1px solid var(--ink);font:12px/1.35 monospace;letter-spacing:1px}
  #environments .env-mobile-use-cases span:last-child{grid-column:1}
  #proof .proof-section-label{left:4.5%;top:0;width:68%;height:5.2%;font-size:12px!important;line-height:1.4;letter-spacing:1px;padding:1.1% 2px 0}
}

/* Phone reading sizes; preserve the desktop artwork and typography. */
.proof-media{display:contents}
.proof-mobile-detail{display:none}
@media(max-width:760px){
  .eyebrow,.section-label,.env-section-label,.proof-section-label,.personal-state-label{font-size:16px!important;line-height:1.5!important;letter-spacing:.06em!important}
  .scroll-markers{font-size:14px}
  #approach .intro p{font-size:18px;line-height:1.65}
  #approach .process p{font-size:18px;line-height:1.5}
  #approach .process p br{display:none}
  #approach .process article>span{font-size:16px}
  #approach .process article{padding-right:14px}
  #approach .process article+article{padding-left:16px}
  #approach .process article:nth-child(3){padding-left:0}
  #environments .env-mobile-use-cases{font-size:18px;line-height:1.6;row-gap:18px;padding-top:22px}
  #proof .proof-section-label{position:relative;left:auto;top:auto;width:auto;height:auto;padding:24px 6% 18px;white-space:normal}
  .proof-mobile-detail{display:block;padding:8px 6% 24px}
  .proof-mobile-intro h2{font-family:Georgia,serif;font-weight:700;font-size:clamp(36px,8vw,56px);line-height:1.08;letter-spacing:-.045em}
  .proof-mobile-intro p{font-size:18px;line-height:1.55}
  .proof-mobile-stages{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:28px}
  .proof-mobile-stages li{border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:minmax(100px,35%) minmax(0,1fr);column-gap:20px;align-items:center}
  .proof-mobile-stages h3{grid-column:1/-1;font:700 16px/1.5 monospace;letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px}
  .proof-mobile-stages svg{display:block;width:100%;height:auto;grid-column:1;grid-row:2/4}
  .proof-mobile-stages p{grid-column:2;font-size:18px;line-height:1.55;margin:0 0 10px;overflow-wrap:anywhere}
  #proof .proof-media{display:block;position:relative;width:100%;aspect-ratio:1688/762;overflow:hidden}
  #proof .proof-reference-art,#proof .proof-photo-overlay{position:absolute;top:auto;bottom:0;left:0;width:100%;height:auto;aspect-ratio:1688/1972}
  #experience .personal-state-label{padding-left:6%;padding-right:6%}
  #environments .env-section-label{padding-left:6%;padding-right:6%}
}

/* Remove the empty upper artwork margin after the decorative graphic was removed. */
@media(min-width:761px){
  #proof .proof-media{display:block;position:relative;width:100%;aspect-ratio:1688/1682;overflow:hidden}
  #proof .proof-reference-art,#proof .proof-photo-overlay{position:absolute;inset:auto;bottom:0;left:0;width:100%;height:auto;aspect-ratio:1688/1972}
  #proof .proof-section-label{height:auto;min-height:48px;padding-top:20px}
}

/* Accommodate the revised supporting copy within the existing composition. */
#home .hero-copy p{max-width:36ch}
#environments .embedded-statement{max-width:680px;margin:0 4.5% 32px;font-size:clamp(20px,1.6vw,24px);line-height:1.5}
@media(max-width:760px){#environments .embedded-statement{margin-left:6%;margin-right:6%;font-size:16px;line-height:1.55}}

/* New partner sentence wraps within the existing supporting-copy block. */
#environments .embedded-outcome{display:inline-block;margin-top:.65em}

#proof > .embedded-statement{margin:24px 6% 40px;padding:0;max-width:900px}
#environments .embedded-statement{max-width:900px;font-family:S04Serif,Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(26px,2.6vw,38px);line-height:1.22;letter-spacing:-.01em}
@media(max-width:760px){#environments .embedded-statement{font-size:24px;line-height:1.28}}
.final-cta-line{position:absolute;left:16.75579%;top:87.8%;margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(15px,2.1cqw,30px);line-height:1.3;color:#3d3d38}
@media(max-width:760px){.final-cta-line{display:none}}
.env-mobile-use-cases .env-use-label{grid-column:1/-1;font-size:12px;letter-spacing:.14em;color:#555}
#proof .embedded-trust{max-width:900px;margin:36px 4.5% 64px;font-family:S04Serif,Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(26px,2.6vw,38px);line-height:1.22;letter-spacing:-.01em}
#proof .embedded-trust em{display:block;font-style:normal;color:var(--orange)}
@media(max-width:760px){#proof .embedded-trust{margin:28px 6% 48px;font-size:24px;line-height:1.28}}
.fresh-type{background:none!important}

/* Section 03 diagram: motion layered on top of the artwork */
.s04-flow{animation:s04flowfade 6s linear infinite;animation-delay:var(--fd,0s)}
@keyframes s04flowfade{0%{opacity:0}4%{opacity:1}16%{opacity:1}21%{opacity:0}100%{opacity:0}}
.s04-sig{animation:s04fade var(--dur,6s) ease-in-out infinite;animation-delay:var(--dl,0s)}
@keyframes s04fade{0%{opacity:.4}20%{opacity:1}50%{opacity:1}78%{opacity:.4}100%{opacity:.4}}
.s04-burst{transform-box:fill-box;transform-origin:center;animation:s04spin 90s linear infinite}
@keyframes s04spin{to{transform:rotate(360deg)}}
.s04-mesh-beat{transform-box:fill-box;transform-origin:center;animation:s04beat 4.4s ease-in-out infinite}
@keyframes s04beat{0%{transform:scale(1)}9%{transform:scale(1.022)}18%{transform:scale(1.004)}27%{transform:scale(1.014)}42%{transform:scale(1)}100%{transform:scale(1)}}
.s04-dot-pulse{transform-box:fill-box;transform-origin:center;stroke-width:2;animation:s04dotring 4.4s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes s04dotring{0%{r:16px;stroke-opacity:.8}70%{stroke-opacity:0}100%{r:34px;stroke-opacity:0}}
.s04-agent-pulse{transform-box:fill-box;transform-origin:center;stroke-width:2.2;animation:s04aring 3.2s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes s04aring{0%{r:96px;stroke-opacity:.75}70%{stroke-opacity:0}100%{r:120px;stroke-opacity:0}}
.s04-signal{animation:s04sig 2.6s linear infinite;animation-delay:var(--sd,0s)}
@keyframes s04sig{0%{opacity:0}6%{opacity:1}82%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
  .s04-burst,.s04-mesh-beat{animation:none}
  .s04-sig{animation:none;opacity:1}
  .s04-dot-pulse,.s04-agent-pulse{animation:none;stroke-opacity:0}
  .s04-signal,.s04-flow{animation:none;opacity:0}
}

/* Primary ask in the hero, above the quieter scroll cue */
.hero-cta{margin-top:34px;font-weight:700;color:var(--orange)}
.hero-cta::before{background:var(--orange)}
.hero-cta:hover{color:#0b7466}
.hero-cta:hover::before{background:#0b7466}
.hero-copy .text-link{display:flex;width:fit-content}
.hero-copy .text-link + .text-link{margin-top:14px}

/* Early access sits in the notch beside the portrait on wider screens */
.hero-notch-cta{position:absolute;z-index:3;left:79.9%;top:40px;width:12.1%;height:188px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  font-family:monospace;font-weight:700;font-size:13px;line-height:1.8;letter-spacing:1.5px;
  color:var(--ink);text-decoration:none}
.hero-notch-rule{display:block;width:30px;height:1px;background:currentColor;margin:0 0 16px}
.hero-notch-arrow{font:17px Georgia;letter-spacing:0}
.hero-notch-cta:hover{color:var(--orange)}
.hero-copy .hero-cta{display:none}
@media(max-width:760px){
  .hero-notch-cta{display:none}
  .hero-copy .hero-cta{display:flex}
  .portrait{background-position:78% 17%}
}

/* Even out the section strip: equal cells, labels centred in each */
@media(min-width:761px){
  .scroll-markers a{justify-content:center;padding-left:14px}
}



/* Privacy link in the closing footer */
.fresh-legal{display:block;margin-top:24px;opacity:.85}
.fresh-privacy{display:inline-block;margin-top:16px;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;opacity:.7;padding-bottom:2px}
.fresh-privacy+br+.fresh-privacy{margin-top:10px}
.fresh-privacy:hover{color:var(--orange);opacity:1}

/* Time labels on the human state wave */
.personal-state-categories .ps-time{font-size:10px;letter-spacing:.14em;opacity:.62}

/* Section 04 closing: stacked benefits, then the positioning line */
#environments .embedded-statement:not(.embedded-close){margin-bottom:18px}
#environments .embedded-close{margin-top:0;color:#0b7466}

/* For you: product band between 03 and 04 */
.for-you{position:relative;background:#f3f2ea;color:#12130f;padding:88px 0 40px;border-top:1px solid #d6d6cc}
.for-you-copy{padding:0 6%;max-width:900px}
.fy-eyebrow{margin:0 0 22px;font-family:S04Mono,monospace;font-size:12px;letter-spacing:.3em;color:#5d6058}
.fy-eyebrow span{opacity:.5;margin:0 .5em}
.fy-headline{margin:0;font-family:S04Serif,Georgia,serif;font-weight:400;
  font-size:clamp(36px,4.4vw,72px);line-height:1.02;letter-spacing:-.02em;max-width:15ch}
.fy-sub{margin:18px 0 0;font-family:S04Serif,Georgia,serif;font-size:clamp(18px,1.6vw,25px);line-height:1.35;color:#4d5049}
.for-you-art{position:relative;margin:24px 0 0;container-type:inline-size}
.for-you-art img{display:block;width:100%;height:auto}
.fy-screen{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;color:rgba(255,255,255,.92);
  letter-spacing:.42em;padding-left:.42em;text-shadow:0 0 6px rgba(40,38,34,.35)}
.fy-laptop{left:54.8%;top:52%;font-size:.78cqw}
.fy-phone{left:72.05%;top:60%;font-size:.36cqw;letter-spacing:.34em;padding-left:.34em}
@media(max-width:760px){
  .for-you{padding:56px 0 24px}
  .for-you-art{width:150%;margin-left:-38%}
}
/* Interface details on the device screens */
.fy-ui{position:absolute;transform:translate(-50%,-50%);pointer-events:none}
.fy-menu{display:flex;flex-direction:column;justify-content:space-between}
.fy-menu i{display:block;height:max(1px,.07cqw);background:rgba(255,255,255,.78)}
.fy-dot{border-radius:50%;border:max(1px,.07cqw) solid rgba(255,255,255,.78)}
.fy-l-menu{left:39.9%;top:36.8%;width:1.05cqw;height:.72cqw}
.fy-l-dot{left:65.1%;top:34.6%;width:.85cqw;height:.85cqw}
.fy-p-menu{left:69.3%;top:46.2%;width:.6cqw;height:.42cqw}
.fy-p-dot{left:74.7%;top:46.2%;width:.5cqw;height:.5cqw}
.fy-state{left:72.05%;top:76%;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;
  font-size:.3cqw;letter-spacing:.34em;padding:.28cqw .6cqw .28cqw .94cqw;color:rgba(255,255,255,.9);
  border:max(1px,.05cqw) solid rgba(255,255,255,.55);border-radius:99px;white-space:nowrap}
.fy-laptop,.fy-l-menu,.fy-l-dot{transform:translate(-50%,-50%) perspective(40cqw) rotateY(16deg) rotateZ(-1.6deg)}
.fy-l-menu,.fy-l-dot{transform:translate(-50%,-50%) perspective(40cqw) rotateY(16deg) rotateZ(-2.4deg)}
.fy-l-menu{transform:translate(-50%,-50%) skewY(-2.4deg) skewX(-7deg)}
.fy-l-dot{top:32.4%}
/* Mobile polish pass */
.ps-mobile-caption{display:none}
html,body{overflow-x:clip}
.for-you .fy-headline{text-wrap:balance}
@media(max-width:760px){
  #home .hero-copy h1{font-size:clamp(50px,13.4vw,64px);line-height:1}
  #home .portrait{background-size:420% auto;background-position:77% 24%}
  #experience .personal-state-categories text{font-size:26px!important}
  #experience .personal-state-categories .ps-time{font-size:18px!important;transform:translateY(-26px)}
  #experience .personal-state-caption{display:none}
  .ps-mobile-caption{display:block;margin:0;padding:22px 6% 34px;font-family:S04Serif,Georgia,serif;font-size:clamp(18px,5.3vw,23px);line-height:1.3;color:#131311}
  .proof-mobile-stages p{grid-row:2/4;align-self:center;margin:0}
  #proof .embedded-trust{font-size:clamp(20px,5.5vw,24px)}
  .for-you .fy-headline{line-height:1.08}
  #environments .env-desk-label{display:none}
  .final-page{overflow:visible;margin-bottom:210px}
  .final-page .fresh-footer{top:100%;min-height:0;padding:30px 6% 40px;background:#f6f5ed}
  .final-page .fresh-footer .fresh-type{line-height:2.4}
}
/* Mobile section 03: centered stages with flow arrows */
@media(max-width:760px){
  .proof-mobile-stages{gap:0}
  .proof-mobile-stages li{display:flex;flex-direction:column;align-items:center;text-align:center;border-top:0;padding:0;position:relative}
  .proof-mobile-stages h3{margin:0 0 14px}
  .proof-mobile-stages svg{width:62%;max-width:240px}
  .proof-mobile-stages p{margin:14px 0 0;max-width:300px;text-wrap:balance}
  .proof-mobile-stages li:not(:last-child)::after{content:"";display:block;width:14px;height:64px;margin:16px auto 22px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 64'%3E%3Cpath d='M7 1V61M1 54L7 61L13 54' fill='none' stroke='%2312130f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
  .proof-mobile-stages li:not(:last-child)::before{content:"";position:absolute;left:50%;bottom:30px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#0b7466;opacity:0;animation:s04mdrop 2.4s ease-in-out infinite}
  .proof-mobile-stages li:nth-child(2)::before{animation-delay:.8s}
  .proof-mobile-stages li:nth-child(3)::before{animation-delay:1.6s}
}
@keyframes s04mdrop{0%{transform:translateY(-50px);opacity:0}12%{opacity:1}72%{opacity:1}85%{transform:translateY(0);opacity:0}100%{transform:translateY(0);opacity:0}}
@media(prefers-reduced-motion:reduce){.proof-mobile-stages li::before{animation:none!important;opacity:0!important}}
@media(max-width:760px){#environments .env-mobile-use-cases span:last-child{grid-column:auto}}
@media(max-width:760px){.final-page{margin-bottom:150px}.final-page .fresh-footer{top:88%;padding-top:18px}}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:760px){.proof-mobile-stages svg.s04m-wide{width:86%;max-width:340px;margin-left:24%}}
@media(max-width:760px){.proof-mobile-stages li:not(:last-child)::after{height:38px;margin:12px auto 18px}.proof-mobile-stages li:not(:last-child)::before{bottom:24px;animation-name:s04mdrop2}}
@keyframes s04mdrop2{0%{transform:translateY(-28px);opacity:0}12%{opacity:1}72%{opacity:1}85%{transform:translateY(0);opacity:0}100%{transform:translateY(0);opacity:0}}
@media(max-width:760px){.ap-intro span{display:block;text-wrap:balance}.ap-intro span+span{margin-top:.7em}}
@media(max-width:760px){#approach .process p{text-wrap:balance;font-size:15.5px}}
.nw{white-space:nowrap}
/* Mobile: compact section bar, active section named, others as numbers */
@media(max-width:760px){
  .scroll-markers{overflow:hidden;justify-content:space-between;align-items:center;padding:0 16px;font-size:11px!important;letter-spacing:.06em!important}
  .scroll-markers a,.scroll-markers a:not(:last-child),.scroll-markers a:first-child,.scroll-markers a:last-child{min-height:40px;margin:0;padding:0 8px!important;border:0;justify-content:center;gap:6px;flex:0 0 auto}
  .scroll-markers a:not([aria-current="true"]) b{display:none}
  .scroll-markers a:not([aria-current="true"]) span{font-weight:400}
  .scroll-markers a[aria-current="true"]{flex:1 1 auto;min-width:0}
  .scroll-markers a[aria-current="true"] b{overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:760px){.scroll-markers a:not([aria-current="true"]) span{display:inline-block;width:2ch;overflow:hidden}.scroll-markers a,.scroll-markers a:not(:last-child),.scroll-markers a:first-child,.scroll-markers a:last-child{padding:0 6px!important}.scroll-markers{letter-spacing:.02em!important}}
.final-coast-video{pointer-events:none}
.final-coast-video::-webkit-media-controls,.final-coast-video::-webkit-media-controls-start-playback-button,.final-coast-video::-webkit-media-controls-overlay-play-button,.final-coast-video::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none;opacity:0!important}
.final-moving-headline,.final-live-subtitle{backface-visibility:hidden}
/* Hero portrait: square crop with notches, both eyes visible */
.hero .portrait,#home .portrait{background-image:url('assets/hero-portrait-square.webp')!important;background-size:100% 100%!important;background-position:0 0!important;background-repeat:no-repeat;clip-path:none!important;filter:grayscale(1);height:auto!important;aspect-ratio:1/1}
@media(min-width:761px){#home .portrait{width:36%;top:90px}}
@media(min-width:761px){#home .hero-notch-cta{left:86.1%;width:5.9%;top:90px;height:calc(36vw*.309);min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:10px}}
@media(max-width:760px){#home .portrait{background-image:url('assets/hero-portrait-mobile.webp')!important;aspect-ratio:414/539;width:70%;max-width:320px}}
@media(max-width:760px){#home .portrait{clip-path:polygon(0 0,100% 0,100% 96.5%,58% 96.5%,58% 100%,0 100%)!important}}
/* Desktop hero portrait: tall, both eyes, top-right notch */
@media(min-width:761px){#home .portrait{background-image:url('assets/hero-portrait-desktop.webp')!important;aspect-ratio:414/697;width:30%;right:8%;top:60px;clip-path:polygon(0 0,81.4% 0,81.4% 22.7%,100% 22.7%,100% 100%,0 100%)!important}
#home .hero-notch-cta{left:86.4%;width:5.6%;top:60px;height:calc(30vw*697/414*.227)}}
/* Desktop hero portrait: original crop restored, nudged to show more of the left eye */
@media(min-width:761px){#home .portrait{background-image:url('assets/hero-portrait-clean.webp')!important;background-size:312% auto!important;background-position:80.5% 17%!important;width:34%!important;height:650px!important;aspect-ratio:auto!important;top:40px!important;right:8%!important;clip-path:polygon(0 0,64% 0,64% 29%,100% 29%,100% 100%,0 100%)!important}
#home .hero-notch-cta{left:79.9%!important;width:12.1%!important;top:40px!important;height:188px!important}}
@media(min-width:1600px){#home .portrait{height:780px!important}}
@media(max-width:760px){.for-you-art{width:122%;margin-left:-12%}.for-you-art img{aspect-ratio:1672/780;object-fit:cover;object-position:50% 58%}}
/* Mobile industries: match desktop list (icons, small mono, light rules) */
@media(max-width:760px){
  #environments .env-mobile-use-cases{border-top:1px solid var(--line);margin:8px 6% 40px;padding-top:18px;row-gap:0;column-gap:20px;font:400 13px/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em}
  #environments .env-mobile-use-cases .env-use-label{font-size:10px;letter-spacing:.2em;color:#131311;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid #131311;justify-self:start}
  #environments .env-mu{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(19,19,17,.12)}
  #environments .env-mu svg{width:20px;height:20px;flex:0 0 20px}
}
@media(min-width:761px){#home .hero-copy p.hero-lede{max-width:none;width:auto;font-size:min(2.1vw,32px)}#home .hero-lede span{display:block;white-space:nowrap}}
@media(min-width:761px){.for-you .fy-sub{white-space:nowrap;max-width:none}}
@media(max-width:760px){.dbr{display:none}}
@media(min-width:761px){.mbr{display:none}}
#proof .embedded-trust .trust-label{display:block;font:700 12px/1.4 S04Mono,monospace;letter-spacing:.18em;text-transform:uppercase;color:#131311;margin-bottom:16px}

.letter i{background:linear-gradient(45deg,#55e19f 0%,#3fbdb8 50%,#379fd8 100%)!important}

/* Section accents: mix of brand palette */
#approach em,#approach .process article>span{color:#2f55d4!important}
#experience .headline-period,#experience em{color:#2e7d4f!important}
#proof em,#proof .proof-mobile-intro em,#proof .embedded-trust em{color:#5b3fd0!important}

/* Rising sun: clean solid yellow circle, no wave cut-through */
.rising-sun{background:#ecd55c!important;background-image:none!important;mask-image:none!important;-webkit-mask-image:none!important;filter:none!important}
.sun-wave-window{display:none!important}

#proof .proof-mobile-intro h2 em{color:#131311!important}

#home h1 em{font-style:italic}

.final-moving-headline .headline-period{color:#131311!important}

#approach h2 em{color:#131311!important}

@media(max-width:760px){#approach .intro h2{font-size:9.4vw!important;line-height:1.02;white-space:nowrap}}

/* Mobile: section 03 stages as a compact 2x2 grid */
@media(max-width:760px){
#proof .proof-mobile-stages{display:grid!important;grid-template-columns:1fr 1fr!important;gap:26px 12px!important;margin-top:26px!important}
#proof .proof-mobile-stages li{padding:0!important;justify-content:flex-start}
#proof .proof-mobile-stages li::before,#proof .proof-mobile-stages li::after{display:none!important}
#proof .proof-mobile-stages h3{font-size:11px!important;line-height:1.35!important;letter-spacing:.1em!important;margin:0 0 10px!important;min-height:2.7em;display:flex;align-items:flex-end;justify-content:center}
#proof .proof-mobile-stages svg{width:100%!important;max-width:140px!important;margin:0 auto!important}
#proof .proof-mobile-stages svg.s04m-wide{max-width:none!important;width:112%!important;margin:0 0 0 2%!important}
}

/* Mobile: agent circle same size as others, outputs hang below */
.agent-out{display:none}
@media(max-width:760px){#proof .proof-mobile-stages svg.agent-out{display:block;width:62%!important;max-width:120px!important;margin:-4px auto 0!important}}

/* Mobile: show the data flow between the 4 stages */
@media(max-width:760px){
#proof ol.proof-mobile-stages>li{position:relative}
#proof ol.proof-mobile-stages>li:nth-child(1)::after,#proof ol.proof-mobile-stages>li:nth-child(3)::after{display:block!important;content:"\2192"!important;position:absolute!important;right:-12px!important;left:auto!important;top:56%!important;bottom:auto!important;width:auto!important;height:auto!important;margin:0!important;background:none!important;border:0!important;font:400 22px/1 monospace!important;color:#0b7466!important;transform:translate(50%,-50%);opacity:1!important;animation:asflow 2.4s ease-in-out infinite!important}
#proof ol.proof-mobile-stages>li:nth-child(2)::after{display:block!important;content:"\2199"!important;position:absolute!important;left:-12px!important;right:auto!important;bottom:-22px!important;top:auto!important;width:auto!important;height:auto!important;margin:0!important;background:none!important;border:0!important;font:400 24px/1 monospace!important;color:#0b7466!important;transform:translate(-50%,0);opacity:1!important;animation:asflow 2.4s ease-in-out infinite .8s!important}
#proof ol.proof-mobile-stages>li:nth-child(3)::after{animation-delay:1.6s!important}
}
@keyframes asflow{0%,100%{opacity:.25}40%{opacity:1}}

/* Mobile: bracket connector from Response Estimate down to Your Direction */
@media(max-width:760px){
#proof .proof-mobile-stages{row-gap:58px!important}
#proof ol.proof-mobile-stages>li:nth-child(2)::after{content:""!important;display:block!important;position:absolute!important;top:100%!important;bottom:auto!important;right:auto!important;left:calc(-50% - 6px)!important;width:calc(100% + 12px)!important;height:20px!important;margin:6px 0 0!important;background:none!important;border:0!important;border-right:1.5px solid #0b7466!important;border-bottom:1.5px solid #0b7466!important;transform:none!important;font:0/0 a!important;animation:none!important;opacity:1!important}
#proof ol.proof-mobile-stages>li:nth-child(2)::before{content:"\25BC"!important;display:block!important;position:absolute!important;top:calc(100% + 26px)!important;bottom:auto!important;left:calc(-50% - 6px - 6px)!important;right:auto!important;width:13.5px!important;height:auto!important;margin:0!important;padding:12px 0 0!important;border:0!important;background:linear-gradient(#0b7466,#0b7466) no-repeat center top/1.5px 12px!important;font:400 10px/1 sans-serif!important;color:#0b7466!important;text-align:center!important;transform:none!important;animation:none!important;opacity:1!important}
}

@media(max-width:760px){#proof ol.proof-mobile-stages>li:nth-child(1)::after,#proof ol.proof-mobile-stages>li:nth-child(3)::after{top:108px!important;right:-6px!important}}

@media(max-width:760px){#proof ol.proof-mobile-stages>li:nth-child(1)::after,#proof ol.proof-mobile-stages>li:nth-child(3)::after{font:700 34px/1 sans-serif!important;animation:none!important;opacity:1!important;top:102px!important}}

@media(max-width:760px){#proof ol.proof-mobile-stages>li:nth-child(2)::after{left:calc(-50% - 12px)!important;width:calc(100% + 12px)!important}#proof ol.proof-mobile-stages>li:nth-child(2)::before{left:calc(-50% - 12px - 6.75px)!important}}

@media(max-width:760px){#proof svg.s04m-agent .s04-signal-dots{display:none}}

/* Mobile: section 04 gradient lines as real text (Safari clips SVG gradient text) */
.env-b-sub{display:none}
@media(max-width:760px){
#environments .env-panel-b .env-composition text.env-serif{display:none}
#environments .env-b-sub{display:block;position:absolute;z-index:3;left:3.4%;top:54%;font-family:Georgia,"Times New Roman",serif;font-size:5.5vw;line-height:1.12;letter-spacing:-.03em;pointer-events:none}
#environments .env-b-sub span{display:block;width:max-content;background:linear-gradient(90deg,#1f7a6f,#2f5fae 55%,#5b3fd0);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
#environments .env-b-sub span:first-child{background-size:180% 100%}
}

/* Mobile: teal data dots travelling through the loop */
@media(max-width:760px){
#proof ol.proof-mobile-stages>li:nth-child(1)::before,#proof ol.proof-mobile-stages>li:nth-child(3)::before{content:""!important;display:block!important;position:absolute!important;top:107px!important;bottom:auto!important;right:auto!important;width:9px!important;height:9px!important;margin:-4.5px 0 0 -4.5px!important;border-radius:50%!important;background:#0b7466!important;border:0!important;opacity:0;transform:none!important}
#proof ol.proof-mobile-stages>li:nth-child(1)::before{animation:asdotA 3.6s linear infinite!important}
#proof ol.proof-mobile-stages>li:nth-child(3)::before{animation:asdotC 3.6s linear infinite!important}
#proof ol.proof-mobile-stages>li:nth-child(2)>h3::after{content:"";position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#0b7466;opacity:0;animation:asdotB 3.6s linear infinite}
}
@keyframes asdotA{0%{left:calc(100% - 14px);opacity:0}3%{opacity:1}22%{left:calc(100% + 26px);opacity:1}25%,100%{left:calc(100% + 26px);opacity:0}}
@keyframes asdotB{0%,25%{left:50%;top:calc(100% + 6px);opacity:0}27%{opacity:1}35%{left:50%;top:calc(100% + 26px)}58%{left:calc(-50% - 12px);top:calc(100% + 26px)}66%{left:calc(-50% - 12px);top:calc(100% + 50px);opacity:1}68%,100%{left:calc(-50% - 12px);top:calc(100% + 50px);opacity:0}}
@keyframes asdotC{0%,68%{left:calc(100% - 14px);opacity:0}71%{opacity:1}90%{left:calc(100% + 26px);opacity:1}93%,100%{left:calc(100% + 26px);opacity:0}}
@media(prefers-reduced-motion:reduce){#proof ol.proof-mobile-stages>li:nth-child(1)::before,#proof ol.proof-mobile-stages>li:nth-child(3)::before,#proof ol.proof-mobile-stages>li>h3::after{animation:none!important;opacity:0!important}}

/* Mobile flow: drawn by script; hide CSS arrows, bracket and dots */
@media(max-width:760px){
#proof ol.proof-mobile-stages>li:nth-child(n)::before,#proof ol.proof-mobile-stages>li:nth-child(n)::after,#proof ol.proof-mobile-stages>li:nth-child(n)>h3::after{display:none!important;animation:none!important}
#proof .proof-mobile-stages svg.as-flow{position:absolute!important;left:0!important;top:0!important;max-width:none!important;margin:0!important;grid-column:auto!important}
#proof ol.proof-mobile-stages>li{z-index:1}
.as-rm .as-flow circle{display:none}
}

/* Product shot: gentle scroll motion */
.for-you-art{overflow:hidden}
.for-you-art img{transform:translateY(var(--fy-y,0px)) scale(var(--fy-s,1));transform-origin:50% 60%;will-change:transform}
