@font-face{font-family:Instrument;src:url('assets/font.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:#f7f8f4;color:#191d1b;font-family:Instrument,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #758f65;outline-offset:6px}img{max-width:100%;display:block}.review{padding:9px 4%;background:#e4eae2;font-size:10px;letter-spacing:.12em;display:flex;justify-content:space-between}.review span{letter-spacing:0}header{height:100px;margin:0 4%;display:flex;align-items:center;gap:35px;border-bottom:1px solid #d7ddd4}.brand{width:145px;margin-right:auto}.brand img{width:100%}nav{display:flex;gap:28px;font-size:14px}.contact{font-size:14px;border-left:1px solid #ccd4c9;padding-left:30px}.contact span{margin-left:25px}.wrap{max-width:1400px;width:88%;margin:auto}.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.13em;line-height:1.6}.eyebrow i{display:inline-block;width:7px;height:7px;background:#527849;border-radius:50%;margin-right:8px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.055em}h1{font-size:clamp(55px,6.7vw,106px);line-height:1.02}h2{font-size:clamp(38px,4.1vw,64px);line-height:1.06}h3{font-size:27px;line-height:1.15}p{font-size:18px;line-height:1.6;color:#596359}em{font-style:normal;color:#668063}.hero{padding:65px 0 60px}.hero h1{margin-top:27px}.hero-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:32px;gap:30px}.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:#10251d;border:1px solid transparent;color:#f7f8f4;padding:17px 23px;font-size:14px;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#2b4935;transform:translateY(-2px)}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding:7px 0}.product-stage{margin:0 2%;background:#10251d;color:#f7f8f4;border-radius:8px;padding:45px 5% 32px;overflow:hidden}.stage-heading{display:flex;justify-content:space-between;align-items:center}.stage-heading .eyebrow{color:#b7c5b5}.one-title{font-size:49px;margin-top:12px}.one-title em{color:#bad4a4}.devices{height:520px;position:relative;max-width:1100px;margin:25px auto 0;display:flex;align-items:center;justify-content:center}.laptop{position:relative;width:88%;margin:0 auto;filter:drop-shadow(0 22px 30px #0003)}.screen{position:relative;border:9px solid #292e2c;border-top-width:17px;border-radius:15px 15px 4px 4px;background:#171c20;overflow:hidden;box-shadow:0 0 0 1px #7d8580}.screen img{width:100%;aspect-ratio:1.85;object-fit:cover;object-position:top}.camera{position:absolute;top:-12px;left:50%;width:5px;height:5px;border-radius:100%;background:#7b8780}.base{height:14px;background:linear-gradient(#babfba,#7e8580);margin:0 -5%;border-radius:2px 2px 60% 60%;box-shadow:0 5px 0 #3c4640}.devices .laptop{width:84%;transform:perspective(1200px) rotateY(-8deg) rotateX(3deg);margin-right:12%}.phone{background:#f7f8f4;color:#191d1b;width:236px;border:7px solid #252c28;border-radius:34px;padding:18px 16px 14px;box-shadow:0 18px 35px #0004;flex-shrink:0}.devices .phone{position:absolute;right:0;bottom:20px;transform:rotate(4deg)}.phone-top{font-size:10px;display:flex;justify-content:space-between;margin:0 4px 25px}.phone-logo{font-size:15px;font-weight:600;border-bottom:1px solid #ddd;padding-bottom:16px;margin-bottom:24px;display:flex;justify-content:space-between}.phone-logo span{color:#6a8659}.phone small{font-size:8px;letter-spacing:.06em}.phone h3{font-size:24px;margin:10px 0}.phone p{font-size:11px;margin-bottom:15px}.language{border:1px solid #dce0d7;border-radius:5px;font-size:11px;padding:11px;margin-bottom:7px;display:flex;justify-content:space-between}.language.active{background:#e1eadb;border-color:#839477}.phone-next{background:#10251d;color:white;font-size:11px;padding:12px;border-radius:4px;margin-top:16px;text-align:center}.phone-caption{display:block;margin-top:13px;text-align:center;font-size:6px!important;color:#727e6e}.stage-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #ffffff25;padding-top:25px}.stage-bottom p{font-size:25px;color:#f7f8f4;line-height:1.3}.stage-bottom span{color:#a6b6a8;font-size:13px;line-height:1.6}.flow-section{padding:100px 0 70px}.section-heading .eyebrow{margin-bottom:25px}.section-heading p{max-width:560px;margin-top:25px}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin:45px 0 40px}.steps article{border-top:1px solid #789472;padding:23px 22px 0 0;position:relative}.steps article:before{content:'';height:5px;width:5px;background:#57714d;position:absolute;top:-3px}.steps span{font-size:10px;letter-spacing:.08em;color:#657461}.steps h3{margin:23px 0 14px}.steps p{font-size:15px;max-width:250px}.price-strip{background:#e4eae2;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.price-strip p{font-size:15px}.price-strip strong{font-size:24px;color:#10251d;font-weight:500}.price-strip p span{display:block}.fine{font-size:11px;line-height:1.6;color:#6a7468;margin-top:14px}.software{padding:60px 0 100px}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;margin-top:45px}.work-image{position:relative;background:#e4eae2;border-radius:4px;overflow:hidden;min-height:390px}.work-image img{width:100%;height:100%;object-fit:cover}.work-image span{position:absolute;left:20px;bottom:20px;font-size:9px;background:#f7f8f4;padding:9px 12px;letter-spacing:.08em}.software-copy{padding:20px 0}.software-copy h3{font-size:36px}.software-copy p{font-size:16px;margin:22px 0}.reference-note{font-size:11px;color:#778072;margin-top:35px;line-height:1.6;border-top:1px solid #dce0d7;padding-top:18px}.personal{display:grid;grid-template-columns:.7fr 1.3fr;gap:10%;padding:60px 0 110px;border-top:1px solid #d7ddd4;align-items:center}.personal img{height:430px;width:100%;object-fit:cover;object-position:center 35%;border-radius:4px}.personal h2{margin:25px 0;font-size:48px}.personal p{max-width:550px;font-size:17px}.signature{display:block;margin-top:28px;font-size:18px}.personal .fine{display:block;margin-top:5px}footer{background:#10251d;padding:70px 6% 25px;color:#f7f8f4}footer h2{margin:25px 0}footer p{color:#afbfaf;margin-bottom:30px}.light{background:#e4eae2;color:#10251d}.light:hover{background:#bad4a4}.footer-bottom{border-top:1px solid #ffffff25;margin-top:70px;padding-top:25px;display:flex;align-items:center;gap:40px;font-size:12px;color:#adbbab}.wordmark{font-size:29px;letter-spacing:-.08em;color:white}.footer-bottom span:last-child{margin-left:auto}.product-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:6%;padding:75px 0 85px;align-items:center}.product-hero h1{font-size:clamp(44px,4.8vw,75px);margin:25px 0}.product-hero p{max-width:555px;font-size:17px}.product-hero .actions{margin-top:30px}.product-hero .fine{font-size:11px;margin-top:25px}.hero-phone{height:510px;background:#e4eae2;border-radius:50% 50% 5px 5px;position:relative;display:flex;align-items:center;justify-content:flex-end;padding-right:30px}.hero-phone .phone{z-index:2;transform:rotate(5deg);width:235px}.paper{background:#fff;padding:25px;width:235px;position:absolute;left:-20px;top:100px;transform:rotate(-8deg);box-shadow:0 12px 35px #15271b1a}.paper span{font-size:8px}.paper h3{font-size:22px;margin-top:20px}.paper p{font-size:10px;margin:10px 0 25px}.paper div{height:3px;background:#dee4da;margin:9px 0;width:80%}.paper b{display:block;font-size:9px;font-weight:500;margin-top:40px}.admin-stage{background:#10251d;color:#f7f8f4;padding:80px 0 40px;overflow:hidden}.admin-stage p{color:#adbcad}.admin-stage .laptop{width:90%;max-width:1000px;margin:50px auto 35px}.stage-features{display:flex;justify-content:center;gap:60px;font-size:13px;color:#d2dfcd}.admin-stage .fine{text-align:center}.onboarding{padding:100px 0}.onboarding article{padding:0 0 23px;margin-bottom:25px;border-bottom:1px solid #d7ddd4}.onboarding article h3{font-size:24px;margin-bottom:10px}.onboarding article p{font-size:16px}.onboarding .split{margin-top:25px}.pricing{background:#e4eae2;padding:80px 0}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:45px}.price-controls>label,legend{font-size:14px;display:block;margin-bottom:14px}select{width:100%;padding:17px;background:#f7f8f4;border:1px solid #bcc8b7;border-radius:4px;font-size:16px;color:#10251d}fieldset{padding:0;border:0;margin:28px 0}fieldset label{display:block;margin:16px 0;font-size:16px}input{accent-color:#10251d}.price-result{background:#f7f8f4;padding:35px;border-top:3px solid #10251d}.price-result>span{font-size:10px;letter-spacing:.08em}.price-result strong{display:block;font-size:60px;font-weight:500;letter-spacing:-.06em;margin:15px 0}.price-result p{font-size:16px}.price-result #hosting-note{font-size:12px;margin-top:10px}.price-result .button{margin-top:28px}.price-disclaimer{max-width:850px;margin-top:25px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding:100px 0}.faq h2{margin-top:24px}details{border-bottom:1px solid #cbd3c7;padding:22px 0}summary{font-size:18px;cursor:pointer}details p{font-size:15px;margin-top:15px}.demo-banner{text-align:center;padding:40px 0 100px}.demo-banner h2{margin:20px 0 30px}dialog{border:0;border-radius:9px;padding:45px;max-width:650px;width:calc(100% - 32px);background:#f7f8f4;color:#191d1b}dialog::backdrop{background:#10251dbb;backdrop-filter:blur(5px)}dialog h2{font-size:38px;margin:25px 0}dialog p{font-size:16px}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:30px}.demo-options{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0}.demo-options p{font-size:14px;margin-top:10px}@media(min-width:1600px){.devices{height:600px}}@media(max-width:1000px){nav{gap:14px;font-size:12px}.contact{padding-left:15px}.brand{width:120px}.hero-bottom{align-items:start;flex-direction:column}.devices{height:440px}.devices .phone{transform:scale(.83) rotate(4deg);transform-origin:bottom right}.steps{grid-template-columns:1fr 1fr;gap:35px 15px}.personal h2{font-size:38px}.product-hero{gap:4%}.hero-phone{padding-right:5px}.hero-phone .phone{transform:scale(.9) rotate(4deg)}.paper{left:-5px;width:190px}.price-grid{gap:30px}}@media(max-width:700px){.review span{font-size:8px}header{height:78px;flex-wrap:wrap;gap:15px}.brand{width:120px}nav{order:3;width:100%;overflow:auto;white-space:nowrap;padding:0 0 13px;gap:24px}nav a:nth-child(n+3){display:none}header{height:110px;padding:15px 0 0}.contact{border:0}.wrap{width:88%}.hero{padding:45px 0 38px}h1{font-size:52px}.hero h1{margin-top:20px}.hero-bottom p{font-size:16px}.actions{gap:20px}.button{padding:15px 17px;font-size:13px}.text-link{font-size:12px}.product-stage{padding:30px 5% 25px}.stage-heading{align-items:start;gap:15px;flex-direction:column}.one-title{font-size:39px}.devices{height:310px;margin:5px -5% 0}.devices .laptop{width:85%;margin-right:10%}.screen{border-width:5px;border-top-width:10px;border-radius:8px 8px 0 0}.base{height:8px}.devices .phone{transform:scale(.51) rotate(4deg);bottom:15px;right:0}.stage-bottom p{font-size:19px}.stage-bottom span{font-size:10px;max-width:100px}.flow-section{padding:60px 0 35px}.steps{margin-top:32px;gap:28px 18px}.steps article{padding-right:0}.steps h3{font-size:23px;margin:17px 0 12px}.steps p{font-size:14px}.steps span{font-size:8px}.price-strip{display:block;padding:20px}.price-strip a{display:inline-block;margin-top:12px}.software{padding:40px 0 60px}.split{grid-template-columns:1fr;gap:25px;margin-top:30px}.work-image{min-height:230px}.software-copy{padding:0}.personal{grid-template-columns:1fr;padding:45px 0 60px;gap:35px}.personal img{height:360px;object-position:center 35%}.personal h2{font-size:36px}.footer-bottom{gap:15px;flex-wrap:wrap}.footer-bottom span:last-child{margin:0;width:100%}footer{padding:50px 6% 25px}.product-hero{grid-template-columns:1fr;padding:45px 0}.product-hero h1{font-size:43px}.product-hero p{font-size:16px}.hero-phone{margin:25px auto 0;width:100%;max-width:380px;height:430px;padding-right:10px}.hero-phone .phone{transform:scale(.88) rotate(4deg)}.paper{left:10px;width:200px}.admin-stage{padding:55px 0 30px}.admin-stage .laptop{width:100%;margin:35px auto 25px}.stage-features{gap:14px;font-size:10px;justify-content:space-between}.onboarding{padding:60px 0}.pricing{padding:60px 0}.price-grid{grid-template-columns:1fr;gap:15px}.price-result{padding:25px}.price-result strong{font-size:52px}.faq{grid-template-columns:1fr;gap:25px;padding:60px 0}.demo-banner{padding:10px 0 65px}dialog{padding:35px 25px}.demo-options{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:700px){.hero h1{font-size:43px}.hero h1 br{display:none}.hero h1{max-width:350px}}
/* Revision 2: product-led opening and physical WebGL device. */
.hero-v2{width:92%;max-width:1600px;margin:auto;display:grid;grid-template-columns:43% 57%;padding-top:58px;position:relative}.hero-copy{padding:10px 0 30px 4%}.product-label{display:flex;align-items:baseline;gap:7px;font-size:26px;letter-spacing:-.07em}.product-label span{color:#57704c}.product-label small{margin-left:12px;font-size:12px;letter-spacing:0;color:#65705f}.hero-v2 h1{font-size:clamp(48px,4.8vw,78px);line-height:1.06;letter-spacing:-.05em;margin:30px 0 25px;font-weight:500}.hero-copy>p{max-width:370px;font-size:18px;line-height:1.55}.hero-copy .actions{margin-top:30px;gap:22px}.hero-price{font-size:13px;margin-top:24px}.hero-price span{display:block;color:#6a7468;font-size:11px;margin-top:5px}.hero-object{position:relative;align-self:stretch;min-width:0;background:radial-gradient(ellipse at 50% 63%,#dce5d7 0%,#eaf0e5 35%,transparent 68%);display:flex;flex-direction:column;justify-content:center}.model-view{width:100%;height:500px;position:relative}.model-view canvas{width:100%;height:100%;display:block}.model-fallback{position:absolute;inset:15% 7%;width:86%;object-fit:contain;height:70%}.model-ready .model-fallback{display:none}.object-caption{display:flex;justify-content:center;gap:35px;align-items:center;margin-top:-18px;font-size:12px;color:#596359}.replay{border:0;background:none;font-size:11px;color:inherit;padding:10px;text-decoration:underline;text-underline-offset:4px}.hero-foot{grid-column:1/-1;border-top:1px solid #d7ddd4;display:flex;justify-content:space-between;padding:23px 2% 0;margin-top:40px;font-size:13px}.hero-foot>a{color:#596359}.flow-section{padding-top:70px;padding-bottom:45px}.section-heading .eyebrow,.personal .eyebrow,.onboarding>.eyebrow,.faq .eyebrow{letter-spacing:.01em;text-transform:none;font-size:13px;font-weight:400}.software{padding:35px 0 70px}.personal{padding:45px 0 75px}.product-model{height:530px;max-width:1060px;margin:15px auto}.admin-stage{padding-top:65px}.onboarding{padding:75px 0}.faq{padding:75px 0}.hero-copy{animation:hero-in .7s ease-out both}@keyframes hero-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:1000px){.hero-v2{grid-template-columns:46% 54%;padding-top:35px}.hero-v2 h1{font-size:48px}.product-label small{display:none}.hero-copy>p{font-size:16px}.model-view{height:430px}.hero-copy .actions{gap:15px}.object-caption{gap:10px;font-size:10px}}@media(max-width:700px){.hero-v2{display:flex;flex-direction:column;width:88%;padding-top:32px}.hero-copy{padding:0}.hero-v2 h1{font-size:43px;margin:21px 0 20px}.hero-v2 h1 br:last-of-type{display:none}.product-label small{display:block;font-size:10px}.product-label{font-size:23px}.hero-copy>p{font-size:16px;max-width:335px}.hero-copy .actions{margin-top:22px}.hero-price{margin-top:18px}.hero-object{margin:10px -6% 0}.model-view{height:300px}.object-caption{margin-top:-12px;font-size:10px;gap:20px}.hero-foot{flex-direction:column;gap:13px;margin-top:24px;padding:20px 0 0;font-size:12px}.flow-section{padding-top:45px}.product-model{height:310px}.software,.personal{padding-bottom:50px}}
.walkthrough{display:grid;grid-template-columns:40% 60%;margin:35px 0}.walk-controls{padding:20px 45px 20px 0}.walk-controls button{display:flex;gap:20px;text-align:left;width:100%;background:none;border:0;border-left:2px solid #d7ddd4;padding:22px;color:#7a8276;transition:background .2s,color .2s}.walk-controls button[aria-selected=true]{border-left-color:#10251d;color:#10251d;background:#e4eae2}.walk-controls button>span{font-size:11px;padding-top:6px}.walk-controls b{font-size:22px;letter-spacing:-.035em;font-weight:500;display:block}.walk-controls small{font-size:13px;display:block;margin-top:9px;line-height:1.4}.walk-panel{padding:30px;background:#e7ece3;min-width:0;border-radius:5px}.walk-note{font-size:11px;color:#65705f}.walk-panel>p{font-size:15px;line-height:1.5;max-width:530px;margin:25px 0 0}.source-document{background:#fcfdf9;padding:30px;box-shadow:0 8px 18px #1b2f1710;max-width:400px;margin:25px auto 0;min-height:265px}.source-document small{font-size:11px;color:#65705f}.source-document h3{font-size:30px;margin:16px 0}.source-document p{font-size:13px;line-height:1.9}.file-tag{border-top:1px solid #d7ddd4;display:flex;gap:15px;padding-top:15px;margin-top:20px;font-size:13px;color:#10251d}.file-tag span{font-size:11px;padding-top:2px}.walk-matrix{height:290px;width:100%;object-fit:contain;margin-top:25px}@media(max-width:700px){.walkthrough{grid-template-columns:1fr;margin-top:25px}.walk-controls{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.walk-controls button{padding:13px 9px;gap:9px}.walk-controls b{font-size:17px}.walk-controls small{display:none}.walk-panel{padding:20px}.source-document{padding:22px}.walk-panel>p{font-size:14px}.source-document h3{font-size:27px}.walk-matrix{height:250px}}
/* Revision 3: studio opening, project mockup, personal card and reference. */
.studio-label{font-size:14px;color:#596359}.hero-v2 h1{font-size:clamp(46px,4.6vw,73px)}.hero-copy>p{max-width:410px}.hero-copy .hero-personal{font-size:12px;margin-top:23px;color:#6a7468}.hero-copy .actions{gap:19px}.hero-copy .actions .text-link{font-size:13px}.work-image{min-height:0;background:transparent;overflow:visible;align-self:start}.mockup-open{display:block;width:100%;position:relative;border:0;padding:0;background:#e4eae2;border-radius:7px;overflow:hidden}.work-image .mockup-open img{width:100%;height:auto;object-fit:contain;transition:transform .5s ease}.work-image .mockup-open:hover img{transform:scale(1.015)}.work-image .mockup-open span{position:absolute;left:auto;right:16px;bottom:16px;background:#f7f8f4e8;letter-spacing:0;font-size:12px;border-radius:4px}.mockup-caption{font-size:11px;margin-top:12px;color:#6a7468}#mockup-dialog{max-width:1200px;padding:35px 25px 20px}#mockup-dialog img{width:100%;max-height:76vh;object-fit:contain}.personal{grid-template-columns:.8fr 1.2fr;gap:9%;border-top:0;padding-top:80px}.portrait-card{display:block;position:relative;max-width:390px;border:1px solid #d6ded0;border-radius:16px;padding:10px;background:#e4eae2;box-shadow:0 18px 40px #10251d12;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .18s ease-out,box-shadow .25s;isolation:isolate}.portrait-card:hover,.portrait-card:focus-visible{box-shadow:0 24px 50px #10251d25}.portrait-card-photo{border-radius:9px;overflow:hidden}.personal .portrait-card img{height:380px;object-fit:cover;object-position:50% 35%;border-radius:0;width:100%}.portrait-card-info{display:flex;justify-content:space-between;align-items:center;padding:22px 12px 13px;position:relative;z-index:2}.portrait-card-info b{font-size:20px;font-weight:500;letter-spacing:-.03em}.portrait-card-info span{display:block;font-size:12px;color:#596359;margin-top:6px}.portrait-card-info .portrait-arrow{border-radius:50%;width:38px;height:38px;border:1px solid #bcc9b5;display:grid;place-items:center;font-size:19px;margin:0;transition:background .2s,transform .2s}.portrait-card:hover .portrait-arrow,.portrait-card:focus-visible .portrait-arrow{background:#10251d;color:#f7f8f4;transform:translate(2px,-2px)}.portrait-shine{position:absolute;inset:0;border-radius:16px;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),#ffffff30,transparent 55%);opacity:0;transition:opacity .3s;z-index:3}.portrait-card:hover .portrait-shine{opacity:1}.walk-mode{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#596359;padding:8px 0}.walk-mode button{border:1px solid #c4cebe;border-radius:20px;font-size:11px;padding:8px 12px;background:transparent;color:#41563c}.walkthrough{margin-top:12px;margin-bottom:25px}.walk-controls button{position:relative}.walk-controls button[aria-selected=true]:after{content:'';position:absolute;left:-2px;top:0;width:2px;height:100%;background:#10251d;transform-origin:top;animation:step-line .4s ease-out}@keyframes step-line{from{transform:scaleY(0)}to{transform:scaleY(1)}}.walk-scroll.scroll-enabled{height:calc(550px + 70vh)}.scroll-enabled .walk-sticky{position:sticky;top:116px}.social-proof{background:#10251d;color:#f7f8f4;padding:65px 0 30px;margin-top:10px;overflow:hidden}.social-heading{display:flex;align-items:end;justify-content:space-between;gap:40px}.social-heading .eyebrow{color:#b8cbb1;font-size:13px;letter-spacing:0;font-weight:400;margin-bottom:20px}.social-heading>p{font-size:15px;color:#b8c5b4}.testimonial-container{max-width:1080px;margin:75px auto 40px;padding:0 4%}.testimonial-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:16%;align-items:center}.image-container{position:relative;height:350px;perspective:1000px}.testimonial-image{position:absolute;inset:0;border-radius:16px;background:#dce6d5;color:#10251d;box-shadow:0 12px 30px #0003;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .6s}.testimonial-image[data-index="1"]{background:#91a78a}.testimonial-image[data-index="2"]{background:#bccbb5}.testimonial-image>span{font-size:85px;letter-spacing:-.08em;line-height:1}.testimonial-image>small{font-size:12px;text-align:center;line-height:1.6;margin-top:28px}.testimonial-content h3{font-size:32px;margin:20px 0 7px}.testimonial-content #testimonial-role{font-size:14px;color:#b8c5b4}.testimonial-content #testimonial-topic{font-size:25px;line-height:1.35;color:#f7f8f4;margin:27px 0 20px;letter-spacing:-.025em}.pending{font-size:10px;color:#b8c5b4;display:block}.testimonial-placeholder{font-size:12px;color:#b8c5b4}.arrow-buttons{display:flex;gap:20px;align-items:center;margin-top:30px}.arrow-button{width:42px;height:42px;background:#e4eae2;color:#10251d;border:0;border-radius:50%;font-size:21px;transition:transform .2s,background .2s}.arrow-button:hover{background:#bad4a4;transform:scale(1.08)}#testimonial-count{font-size:12px;color:#b8c5b4}.social-review{font-size:10px;text-align:center;color:#b8c5b4;margin-top:35px}.hero-foot{margin-top:30px}@media(max-width:1000px){.testimonial-grid{gap:13%}.image-container{height:300px}.testimonial-content #testimonial-topic{font-size:22px}.hero-copy .actions{flex-direction:column;align-items:start;gap:10px}.hero-v2 h1{font-size:45px}}@media(max-width:700px){.hero-v2 h1{font-size:43px}.hero-copy .actions{flex-direction:row;align-items:center;gap:20px}.hero-copy .actions .button{font-size:12px}.hero-copy .actions .text-link{font-size:12px}.hero-copy .hero-personal{font-size:11px}.personal{grid-template-columns:1fr;padding-top:55px}.portrait-card{max-width:360px;width:100%;margin:auto}.personal .portrait-card img{height:355px}.walk-mode{font-size:11px;gap:15px}.walk-mode button{display:none}.social-proof{padding:45px 0 25px}.social-heading{display:block}.social-heading>p{margin-top:20px}.testimonial-container{margin:65px auto 25px;padding:0 7%}.testimonial-grid{grid-template-columns:1fr;gap:40px}.image-container{height:290px;width:85%;margin:auto}.testimonial-content h3{font-size:27px}.testimonial-content #testimonial-topic{font-size:24px}.social-review{font-size:10px}.work-image .mockup-open span{font-size:10px;right:10px;bottom:10px}.walk-scroll.scroll-enabled{height:auto}.scroll-enabled .walk-sticky{position:static}}@media(prefers-reduced-motion:reduce){.portrait-card{transform:none!important}.portrait-shine{display:none}.walk-scroll.scroll-enabled{height:auto}.scroll-enabled .walk-sticky{position:static}}
/* Revision 4: studio-level opening, a shared motion language, a composed footer. */
.studio-hero{padding:48px 0 0}.studio-intro{display:grid;grid-template-columns:1.65fr 1fr;align-items:end;gap:6%;padding-bottom:32px;border-bottom:1px solid #cbd5c6}.studio-intro h1{font-size:clamp(44px,5.25vw,81px);line-height:1.04;margin-top:22px;letter-spacing:-.055em}.studio-intro>p{font-size:17px;line-height:1.65;max-width:375px;padding-bottom:4px}.studio-showcase{display:grid;grid-template-columns:1fr 1.6fr 1fr;align-items:center;gap:8px;position:relative}.studio-device{position:relative;min-width:0;background:radial-gradient(ellipse at center,#dce6d75c,transparent 66%)}.studio-device .model-view{height:335px}.studio-device .replay{display:block;margin:-28px auto 14px;position:relative;z-index:2;font-size:10px;display:flex;align-items:center;gap:9px;text-decoration:none;color:#65715f}.offer-route{display:block;padding:26px 14px 26px 0;position:relative}.offer-route:last-child{padding-left:20px;padding-right:0}.route-kicker{font-size:12px;color:#667860;display:block;margin-bottom:17px}.offer-route h2{font-size:clamp(23px,2.05vw,31px);line-height:1.18;letter-spacing:-.04em}.offer-route p{font-size:13px;margin-top:17px;line-height:1.65}.route-action{display:inline-flex;align-items:center;gap:20px;margin-top:22px;font-size:13px;border-bottom:1px solid #b7c5af;padding-bottom:7px}.studio-signoff{border-top:1px solid #cbd5c6;display:flex;justify-content:space-between;gap:20px;padding:20px 0;color:#66715e;font-size:11px}.studio-signoff>a{display:inline-flex;gap:12px;align-items:center}.studio-intro{animation:hero-in .7s ease-out both}.offer-route{transition:color .25s}.offer-route:hover,.offer-route:focus-visible{color:#47623a}.offer-route:hover .route-action{border-color:#47623a}.motion-arrow{display:inline-block;flex-shrink:0;transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .2s;will-change:transform}.button,.text-link,.contact,.route-action{position:relative}.button{overflow:hidden;isolation:isolate;transition:background .3s,color .3s,box-shadow .3s,border-color .3s}.button:before{content:'';position:absolute;inset:0;background:#ffffff12;transform:translateX(-105%);transition:transform .4s cubic-bezier(.2,.7,.2,1);z-index:-1}.button:hover:before,.button:focus-visible:before{transform:translateX(0)}.button:hover,.button:focus-visible{transform:none;box-shadow:0 5px 15px #10251d15}.button:active{transform:scale(.98)}.text-link{display:inline-flex;gap:12px;align-items:center;border-color:#b9c5b2;transition:border-color .25s,color .25s}.text-link:hover,.text-link:focus-visible{border-color:currentColor;color:#47623a}a:hover>.motion-arrow,a:focus-visible>.motion-arrow,button:hover>.motion-arrow,button:focus-visible>.motion-arrow,.offer-route:hover .motion-arrow,.offer-route:focus-visible .motion-arrow{transform:translate(3px,-3px)}.motion-arrow[data-direction=right]{--ax:5px;--ay:0px}.motion-arrow[data-direction=left]{--ax:-5px;--ay:0px}.motion-arrow[data-direction=down]{--ax:0px;--ay:4px}.motion-arrow[data-direction=up]{--ax:0px;--ay:-4px}a:hover>.motion-arrow[data-direction],a:focus-visible>.motion-arrow[data-direction],button:hover>.motion-arrow[data-direction],button:focus-visible>.motion-arrow[data-direction]{transform:translate(var(--ax,3px),var(--ay,-3px))}.replay:hover>.motion-arrow,.replay:focus-visible>.motion-arrow{transform:rotate(65deg)}.arrow-button:hover,.arrow-button:focus-visible{transform:none}.arrow-button:active{transform:scale(.93)}.close{width:38px;height:38px;border-radius:50%;transition:background .2s,transform .25s}.close:hover,.close:focus-visible{background:#e4eae2;transform:rotate(90deg)}.walk-controls button{transition:background .28s,color .28s}.walk-controls button:hover{background:#e9eee5;color:#10251d}.walk-controls button b{transition:transform .25s}.walk-controls button:hover b,.walk-controls button:focus-visible b{transform:translateX(3px)}#scroll-mode{transition:background .2s,color .2s}#scroll-mode:hover,#scroll-mode:focus-visible{background:#10251d;color:#f7f8f4}.mockup-open:hover .motion-arrow{transform:translate(3px,-3px)}.footer-v4{padding:62px 6% 22px;background:#10251d;color:#f7f8f4;overflow:hidden}.footer-top{display:grid;grid-template-columns:1.5fr 1fr;gap:9%;max-width:1400px;margin:auto}.footer-kicker{font-size:13px;color:#b5c8af}.footer-v4 h2{font-size:clamp(33px,3.8vw,59px);line-height:1.12;margin:25px 0 30px}.footer-email{display:inline-flex;align-items:center;gap:30px;padding:0 0 12px;border-bottom:1px solid #789171;font-size:clamp(20px,2vw,30px);letter-spacing:-.025em;transition:color .25s,border-color .25s}.footer-email .motion-arrow{font-size:28px}.footer-email:hover,.footer-email:focus-visible{color:#bad4a4;border-color:#bad4a4}.footer-person{display:flex;align-items:center;gap:14px;margin-top:27px}.footer-person img{width:43px;height:52px;object-fit:cover;object-position:50% 28%;border-radius:5px}.footer-person p{font-size:12px;line-height:1.65;margin:0;color:#d9e4d4}.footer-person p span{color:#a3b69c}.footer-navigation{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-content:start;padding-top:11px;font-size:13px}.footer-navigation>div>span{display:block;color:#9caf95;font-size:11px;margin-bottom:23px}.footer-navigation a,.footer-navigation button{display:flex;justify-content:space-between;gap:13px;align-items:center;width:100%;padding:12px 0;border:0;border-bottom:1px solid #ffffff18;background:none;color:#f7f8f4;font-size:13px;text-align:left;transition:color .25s,border-color .25s}.footer-navigation a:hover,.footer-navigation button:hover,.footer-navigation a:focus-visible,.footer-navigation button:focus-visible{color:#bad4a4;border-color:#bad4a4}.footer-navigation .motion-arrow{color:#9caf95}.footer-brand{display:block;max-width:1400px;margin:65px auto 25px;opacity:.94;transition:opacity .3s}.footer-brand img{width:100%;filter:invert(96%) sepia(7%) saturate(241%) hue-rotate(36deg) brightness(107%);height:auto}.footer-brand:hover{opacity:.7}.footer-meta{max-width:1400px;margin:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff25;padding-top:20px;font-size:11px;color:#a8bda0}.back-top{display:inline-flex;align-items:center;gap:12px}@media(min-width:1500px){.studio-device .model-view{height:365px}}@media(max-width:1000px){.studio-hero{padding-top:35px}.studio-intro{grid-template-columns:1.4fr 1fr;gap:5%}.studio-intro h1{font-size:52px}.studio-intro>p{font-size:15px}.studio-showcase{grid-template-columns:1fr 1.4fr 1fr}.studio-device .model-view{height:310px}.offer-route h2{font-size:23px}.offer-route p{font-size:12px}.route-action{font-size:12px;gap:10px}.footer-top{grid-template-columns:1.25fr 1fr;gap:7%}.footer-navigation{gap:17px}.footer-navigation a,.footer-navigation button{font-size:12px}.footer-brand{margin-top:50px}}@media(max-width:700px){.studio-hero{padding-top:32px}.studio-intro{grid-template-columns:1fr;gap:22px;padding-bottom:22px}.studio-intro h1{font-size:43px;margin-top:18px}.studio-intro>p{font-size:15px;max-width:330px}.studio-intro>p br{display:none}.studio-showcase{grid-template-columns:1fr 1fr;gap:20px}.studio-device{grid-column:1/-1;grid-row:1;margin:-15px -6% -10px}.studio-device .model-view{height:260px}.studio-device .replay{margin-top:-25px}.offer-route,.offer-route:last-child{padding:5px 0 20px;align-self:start}.offer-route h2{font-size:22px}.route-kicker{font-size:11px;margin-bottom:12px}.offer-route p{font-size:12px;margin-top:12px}.offer-route p br{display:none}.route-action{font-size:11px;gap:8px;margin-top:17px}.studio-signoff{font-size:10px;flex-direction:column;gap:12px;padding:17px 0}.footer-v4{padding-top:45px}.footer-top{grid-template-columns:1fr;gap:40px}.footer-v4 h2{font-size:36px}.footer-v4 h2 br{display:none}.footer-navigation{order:0;width:auto;overflow:visible;white-space:normal;grid-template-columns:1fr 1fr;padding:0;gap:28px}.footer-navigation a:nth-child(n+3){display:flex}.footer-navigation>div>span{margin-bottom:12px}.footer-brand{margin:45px auto 22px}.footer-meta{flex-wrap:wrap;gap:20px;font-size:10px}.footer-meta .back-top{margin-left:auto}.footer-person p{font-size:12px}}@media(prefers-reduced-motion:reduce){.motion-arrow,.button,.close,.walk-controls button b{transform:none!important}.button:before{display:none}.studio-intro{animation:none!important}}
.mockup-open:hover .motion-arrow,.mockup-open:focus-visible .motion-arrow,.contact:hover .motion-arrow,.contact:focus-visible .motion-arrow{transform:translate(3px,-3px)}
.work-image .mockup-open .motion-arrow{position:static;background:none;padding:0;letter-spacing:0;border-radius:0;font-size:inherit}

@media(max-width:700px){.personal{row-gap:35px}}

/* Reduced homepage opening, revision 5. */
.quiet-hero{position:relative;padding:clamp(65px,10vh,110px) 0 70px;min-height:570px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.quiet-hero h1{font-size:clamp(52px,6.5vw,98px);line-height:1.06;letter-spacing:-.055em;max-width:1100px}
.quiet-hero p{margin-top:27px;font-size:18px;max-width:630px;line-height:1.55}
.quiet-hero .button{margin-top:32px}
.hero-line{width:100%;display:grid;grid-template-columns:58fr 42fr;gap:18px;margin-top:65px}
.hero-line span{height:1px;background:#9eafa0;transform-origin:left;animation:hero-line-draw 1.3s cubic-bezier(.22,1,.36,1) both}
.hero-line span:last-child{background:#d0d8cc;animation-delay:.2s}
@keyframes hero-line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:700px){.quiet-hero{min-height:0;padding:65px 0 42px}.quiet-hero h1{font-size:clamp(36px,9.7vw,64px)}.quiet-hero p{font-size:16px;max-width:360px;margin-top:23px}.quiet-hero .button{margin-top:27px}.hero-line{margin-top:52px;gap:12px}}
@media(prefers-reduced-motion:reduce){.hero-line span{animation:none}}

/* Animated typographic opening. */
.word-hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 86% 42%,#dce7d8a6 0%,#edf1e880 30%,transparent 66%)}
.word-hero-inner{padding:65px 0 62px;position:relative}
.word-hero h1{font-size:clamp(45px,5.3vw,78px);line-height:1.1;letter-spacing:-.055em;font-weight:500}
.hero-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero-words{--row:84px;position:relative;height:calc(var(--row)*3);margin:4px 0 22px;mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}
.hero-word{position:absolute;top:var(--row);left:0;width:100%;height:var(--row);display:flex;align-items:center;font-size:clamp(32px,4.5vw,66px);line-height:1.12;letter-spacing:-.05em;font-weight:500;color:#10251d;transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .65s,filter .65s;will-change:transform,opacity}
.hero-word[data-position=active]{transform:translateY(0);opacity:1;filter:none}
.hero-word[data-position=previous]{transform:translateY(calc(-1*var(--row)));opacity:.17;filter:blur(.7px)}
.hero-word[data-position=next]{transform:translateY(var(--row));opacity:.17;filter:blur(.7px)}
.hero-word.word-wrap{transition:none;opacity:0}
.word-actions{display:flex;gap:18px;align-items:center}
.word-pause{width:34px;height:34px;border:1px solid #bcc9b5;border-radius:50%;color:#596359;background:transparent;font-size:13px;display:grid;place-items:center;transition:background .2s,color .2s}
.word-pause:hover,.word-pause:focus-visible{background:#dce7d8;color:#10251d}
@media(max-width:1000px){.hero-words{--row:90px}.hero-word{font-size:clamp(30px,4.5vw,45px)}}
@media(max-width:700px){.word-hero-inner{padding:48px 0 40px}.word-hero h1{font-size:46px}.hero-words{--row:105px;margin:0 0 20px}.hero-word{font-size:clamp(27px,7.5vw,40px);max-width:100%;text-wrap:balance}.word-hero{background:radial-gradient(ellipse at 95% 40%,#dce7d8a6,transparent 80%)}}
@media(prefers-reduced-motion:reduce){.hero-words{height:auto;min-height:110px;mask-image:none;margin:24px 0 28px}.hero-word{position:static;height:auto;min-height:110px;transition:none;will-change:auto}.hero-word:not([data-position=active]){display:none}.word-pause{display:none}}

/* Logo-led opening: the stroke shares the actual SVG cut position. */
.opening-page{--header-bottom:130px;--trace-top:80px;--trace-left:4vw}
.opening-page header{position:relative;z-index:2;border-bottom-color:transparent}
.brand-trace{position:absolute;z-index:3;pointer-events:none;top:var(--trace-top);left:var(--trace-left);right:4%;height:1px;transform-origin:left;background:linear-gradient(90deg,#10251d 0%,#789470 25%,#a9bea0 75%,transparent);animation:brand-trace-arrive 1.2s cubic-bezier(.65,0,.2,1) both,brand-trace-rest .7s 1.2s both}
@keyframes brand-trace-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes brand-trace-rest{from{opacity:1}to{opacity:.28}}
.opening-page .word-hero{min-height:calc(100svh - var(--header-bottom));display:flex;align-items:center;background:linear-gradient(110deg,#f7f8f4 25%,#edf1e9 65%,#dce6d5 100%)}
.opening-page .word-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 90% 8%,#fff9,transparent 50%),linear-gradient(150deg,transparent 51%,#ffffff60 51.2%,#b7c8ab22 78%,transparent);mask-image:linear-gradient(90deg,transparent 30%,#000 80%);animation:opening-atmosphere 1.5s ease-out both}
.opening-page .word-hero-inner{padding-top:65px;padding-bottom:85px}
.opening-page .word-hero h1{animation:opening-copy .8s .4s both}
.opening-page .hero-words{animation:opening-copy .9s .5s both}
.opening-page .word-actions{animation:opening-copy .8s .65s both}
@keyframes opening-copy{from{opacity:0;transform:translateY(12px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes opening-atmosphere{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:700px){.opening-page{--header-bottom:140px}.opening-page .word-hero-inner{padding-top:45px;padding-bottom:65px}.brand-trace{right:4%}.opening-page .word-hero{background:linear-gradient(115deg,#f7f8f4 10%,#edf1e9 55%,#dce6d5 100%)}}
@media(prefers-reduced-motion:reduce){.brand-trace{animation:none;opacity:.28}.opening-page .word-hero:before,.opening-page .word-hero h1,.opening-page .hero-words,.opening-page .word-actions{animation:none}}

.opening-page .brand-trace{z-index:1}.opening-page header nav a,.opening-page header .contact{background:#f7f8f4;box-shadow:0 0 0 9px #f7f8f4}

/* Full-screen brand opening, followed by the complete website. */
.site-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#f7f8f4;pointer-events:none;animation:intro-open .75s 1.25s cubic-bezier(.76,0,.24,1) both}
.intro-logo{width:clamp(220px,32vw,480px);position:relative;animation:intro-logo-in .5s ease-out both}
.intro-logo img{width:100%;height:auto}
.intro-stroke{position:absolute;left:0;right:0;top:calc(50% + clamp(220px,32vw,480px)*.005775);height:2px;background:linear-gradient(90deg,#8ba37d,#10251d 45%,#8ba37d);transform-origin:left;animation:intro-stroke-run .95s .2s cubic-bezier(.65,0,.2,1) both}
@keyframes intro-logo-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-stroke-run{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes intro-open{0%{clip-path:inset(0);visibility:visible}99%{visibility:visible}100%{clip-path:inset(50% 0);visibility:hidden}}
.opening-page .word-hero h1{animation-delay:1.45s}.opening-page .hero-words{animation-delay:1.55s}.opening-page .word-actions{animation-delay:1.65s}.opening-page .word-hero:before{animation-delay:1.25s}
@media(prefers-reduced-motion:reduce){.site-intro{display:none}.opening-page .word-hero h1,.opening-page .hero-words,.opening-page .word-actions,.opening-page .word-hero:before{animation:none}}

/* A travelling stroke enters, crosses the logo, and leaves the viewport. */
.intro-stroke{left:0;right:auto;width:clamp(100px,18vw,260px);background:#10251d;animation:intro-stroke-pass 1.15s .2s cubic-bezier(.45,0,.55,1) both}
@keyframes intro-stroke-pass{from{transform:translateX(-100%)}to{transform:translateX(100vw)}}
.site-intro{animation-delay:1.4s}
.opening-page .word-hero h1{animation-delay:1.6s}.opening-page .hero-words{animation-delay:1.7s}.opening-page .word-actions{animation-delay:1.8s}.opening-page .word-hero:before{animation-delay:1.4s}

.intro-logo-solid{position:absolute;inset:0;clip-path:inset(0 0 0 var(--logo-cut,0%))}
@keyframes intro-logo-in{from{opacity:0}to{opacity:1}}

/* Fir typography and restrained pointer feedback. */
.opening-page .word-hero{background:linear-gradient(112deg,#f7f8f4 18%,#eaf0e4 57%,#c4d4b5 100%)}
.opening-page .word-hero:before{background:radial-gradient(ellipse at 88% 5%,#ffffffb0,transparent 55%),linear-gradient(150deg,transparent 51%,#ffffff70 51.2%,#9eb68b30 78%,transparent)}
.opening-page .word-hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 440px 340px at var(--light-x,75%) var(--light-y,40%),#ffffff80,transparent 75%);opacity:0;transition:opacity .7s}
.opening-page .word-hero.pointer-lit:after{opacity:1}
.opening-page .word-hero h1{font-size:clamp(54px,6.4vw,94px);font-weight:600;letter-spacing:-.065em;color:#10251d}
.opening-page .hero-word{font-weight:550;letter-spacing:-.052em}
.opening-page .hero-word[data-position=active]{color:#234b35}
.opening-page .hero-word[data-position=previous],.opening-page .hero-word[data-position=next]{color:#476840;opacity:.18;filter:blur(.4px)}
.hero-word>span{display:block;transition:transform .4s cubic-bezier(.22,1,.36,1),color .3s;text-wrap:balance}
.word-hero .button{border-radius:5px;box-shadow:0 5px 16px #10251d0a;transition:box-shadow .3s,transform .3s,background .3s}
.word-hero .button:hover,.word-hero .button:focus-visible{box-shadow:0 10px 25px #10251d25;transform:translateY(-3px)}
.word-hero .button:active{transform:translateY(0) scale(.98)}
@media(hover:hover) and (pointer:fine){.hero-words:hover .hero-word[data-position=active]>span{transform:translateX(6px);color:#376b49}}
@media(max-width:700px){.opening-page .word-hero h1{font-size:clamp(44px,12vw,64px)}.opening-page .word-hero{background:linear-gradient(112deg,#f7f8f4 10%,#eaf0e4 55%,#c4d4b5 100%)}}
@media(prefers-reduced-motion:reduce){.opening-page .word-hero:after{display:none}.hero-word>span,.word-hero .button{transition:none!important;transform:none!important}}

/* Original wordmark and a glow that keeps the words moving. */
.word-prefix{display:flex;align-items:center;gap:.24em}
.hero-brand-logo{width:clamp(260px,31vw,450px);height:auto;filter:invert(11%) sepia(22%) saturate(871%) hue-rotate(101deg) brightness(92%);flex-shrink:0}
.hero-word>span{transition:color .35s,text-shadow .45s}
@media(hover:hover) and (pointer:fine){.hero-words:hover .hero-word[data-position=active]>span{transform:none;color:#28583b;text-shadow:0 0 18px #639d5566,0 0 42px #8dbb7866}.hero-words:hover .hero-word:not([data-position=active])>span{text-shadow:none}}
@media(max-width:700px){.hero-brand-logo{width:clamp(210px,57vw,340px)}.word-prefix{gap:.22em}}

/* Side-by-side wordmark and a material edge drawn from the logo cut. */
.opening-page .word-hero{background:#f7f8f4}
.opening-page .word-hero:before,.opening-page .word-hero:after{display:none}
.hero-material{position:absolute;inset:34px -3% 34px 43%;z-index:-1;background:linear-gradient(120deg,#254834,#10251d 75%);clip-path:polygon(0 3%,100% 0,100% 97%,0 100%);box-shadow:inset 2px 0 0 #a8c797;overflow:hidden}
.hero-material:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 650px 500px at calc(var(--light-x,80vw) - 43vw) var(--light-y,35%),#83a67050,transparent 80%);opacity:.75;transition:opacity .6s}
.hero-material:after{content:'';position:absolute;left:0;right:0;top:51%;height:2px;background:linear-gradient(90deg,#bcd8a2a0,#66865b55,transparent);box-shadow:0 10px 22px 8px #0003;transform:rotate(-2deg);transform-origin:left}
.hero-material>span{position:absolute;inset:51% 0 0;background:linear-gradient(155deg,#07130e38,transparent 65%);transform:skewY(-2deg);transform-origin:left}
.pointer-lit .hero-material:before{opacity:1}
.opening-page .word-hero-inner{display:grid;grid-template-columns:40% 55%;column-gap:5%;align-items:center;padding-top:65px;padding-bottom:65px}
.opening-page .word-hero h1{grid-column:1;grid-row:1;font-size:clamp(45px,4vw,62px)}
.word-prefix{gap:.2em;flex-wrap:wrap}
.hero-brand-logo{width:clamp(210px,24vw,345px)}
.opening-page .hero-words{grid-column:2;grid-row:1;--row:130px;margin:0;overflow:hidden}
.opening-page .hero-word{font-size:clamp(33px,3.5vw,54px);line-height:1.12;letter-spacing:-.045em;padding-right:12px}
.opening-page .hero-word[data-position=active]{color:#eef5e7}
.opening-page .hero-word[data-position=previous],.opening-page .hero-word[data-position=next]{color:#b7cfa9;opacity:.21}
.word-actions{grid-column:1;grid-row:2;margin-top:20px}
@media(hover:hover) and (pointer:fine){.hero-words:hover .hero-word[data-position=active]>span{color:#f6ffec;text-shadow:0 0 18px #bcf19970,0 0 42px #8dbb7880}}
@media(max-width:1000px) and (min-width:701px){.word-prefix{flex-direction:column;align-items:flex-start;gap:15px}.hero-brand-logo{width:clamp(210px,28vw,270px)}.opening-page .hero-words{--row:140px}}
@media(max-width:700px){.opening-page .word-hero-inner{grid-template-columns:1fr;padding:45px 0 55px;gap:0}.opening-page .word-hero h1{font-size:46px}.word-prefix{flex-wrap:nowrap}.hero-brand-logo{width:clamp(200px,56vw,320px)}.opening-page .hero-words{grid-column:1;grid-row:2;--row:100px;margin:30px -6.8% 0;padding:0 6%;width:113.6%;background:linear-gradient(115deg,#254834,#10251d);clip-path:polygon(0 2%,100% 0,100% 98%,0 100%);mask-image:none}.opening-page .hero-word{left:6%;width:88%;font-size:clamp(27px,7.5vw,40px)}.word-actions{grid-row:3;margin-top:30px}.hero-material{display:none}}
@media(prefers-reduced-motion:reduce){.opening-page .hero-words{height:auto;min-height:150px}.hero-material:before{transition:none}.opening-page .hero-word{min-height:150px}}

/* Image impressions and a lighter typographic connector. */
.opening-page .word-hero h1{font-size:clamp(40px,3.8vw,56px);font-weight:400}
.hero-brand-logo{width:clamp(200px,22vw,315px)}
.word-prefix{gap:.3em;align-items:center;flex-wrap:nowrap}
.hero-is{font-weight:350;letter-spacing:-.06em;color:#5a705b;position:relative}
.hero-is>span{color:#759563}
.opening-page .hero-word{font-size:clamp(34px,3.8vw,57px);font-weight:500;letter-spacing:-.045em;z-index:2}
.opening-page .hero-words{isolation:isolate;mask-image:none;border-radius:2px}
.hero-imagery{position:absolute;inset:0;z-index:-1;opacity:.21;transition:opacity .65s}
.hero-imagery:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10251d90,#10251d40),linear-gradient(#10251d95,transparent 40%,#10251d95)}
.hero-imagery img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .85s,transform 1.2s;transform:scale(1.02)}
.hero-imagery img.is-current{opacity:1}
.hero-imagery img:last-child{object-position:50% 30%}
.image-reveal-line{position:absolute;top:0;bottom:0;width:1px;background:#d4e8be;opacity:0;z-index:1;pointer-events:none}
.opening-page .hero-word[data-position=previous],.opening-page .hero-word[data-position=next]{opacity:.16;filter:blur(.7px)}
@media(hover:hover) and (pointer:fine){.hero-words:hover .hero-imagery{opacity:.48}.hero-words:hover .hero-imagery img.is-current{transform:scale(1.06)}.hero-words:hover .hero-word[data-position=active]>span{text-shadow:0 2px 18px #07130eaa; color:#f6ffec}}
@media(max-width:1000px) and (min-width:701px){.word-prefix{align-items:flex-start}}
@media(max-width:700px){.hero-brand-logo{width:clamp(200px,54vw,310px)}.opening-page .word-hero h1{font-size:43px}.opening-page .hero-word{font-size:clamp(29px,8vw,42px)}.hero-imagery{opacity:.32}.word-prefix{gap:.3em}.hero-is>span{display:none}}
@media(prefers-reduced-motion:reduce){.hero-imagery,.hero-imagery img{transition:none!important;transform:none!important}}

/* Trailer hero: original export, full frame, quiet companion typography. */
.opening-page .trailer-hero{display:flex;align-items:center;min-height:calc(100svh - var(--header-bottom,110px));background:#f7f8f4;padding:60px 0;box-sizing:border-box}
.trailer-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:5%;align-items:center;width:88%}
.trailer-logo{display:block;width:clamp(175px,17vw,250px);height:auto;margin-bottom:32px}
.opening-page .trailer-hero h1{font-size:clamp(40px,4.4vw,68px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:0;animation:none;color:#10251d}
.trailer-copy>p{font-size:clamp(17px,1.45vw,22px);line-height:1.65;color:#617065;margin:24px 0 34px}
.trailer-stage{min-width:0;align-self:center}
.trailer-stage video{display:block;width:100%;height:auto;object-fit:contain;background:#10251d;border-radius:4px;box-shadow:0 16px 50px #10251d12}
.trailer-toggle{display:flex;align-items:center;gap:9px;margin:16px 0 0 auto;background:none;border:0;color:#526456;font:inherit;font-size:13px;cursor:pointer;padding:8px 0 8px 16px}
.trailer-toggle>span:first-child{display:grid;place-items:center;width:28px;height:28px;border:1px solid #bdcbbb;border-radius:50%;transition:background .2s,transform .2s}
.trailer-toggle:hover>span:first-child{background:#e2e9de;transform:scale(1.08)}
.trailer-toggle:focus-visible{outline:2px solid #10251d;outline-offset:5px}
@media(max-width:800px){.opening-page .trailer-hero{padding:35px 0 45px}.trailer-grid{grid-template-columns:1fr;gap:30px}.trailer-logo{width:175px;margin-bottom:22px}.opening-page .trailer-hero h1{font-size:clamp(40px,9vw,62px)}.trailer-copy>p{font-size:17px;margin:20px 0 24px}.trailer-stage{width:100%}}
@media(prefers-reduced-motion:reduce){.trailer-toggle>span:first-child{transition:none}}

/* Measured motion: one typographic beat and a responsive video surface. */
.opening-page .trailer-hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 80% 60%,#e5ecdf 0%,#f7f8f4 66%)}
.opening-page .trailer-hero:after{display:block;content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 470px 360px at var(--pointer-x,70%) var(--pointer-y,50%),#bad0a94d,transparent 75%);opacity:0;transition:opacity .6s}
.opening-page .trailer-hero.trailer-lit:after{opacity:1}
.trailer-copy{min-width:0}
.opening-page .trailer-headline{display:grid;font-size:clamp(34px,3.5vw,56px);line-height:1.12}
.trailer-phrase{grid-area:1/1;opacity:0;transform:translateY(15px);filter:blur(5px);transition:opacity .55s,transform .7s cubic-bezier(.22,1,.36,1),filter .6s;pointer-events:none}
.trailer-phrase.is-active{opacity:1;transform:translateY(0);filter:blur(0)}
.phrase-navigation{display:flex;gap:9px;margin:24px 0 34px}
.phrase-navigation button{border:0;background:transparent;padding:12px 0;width:32px;cursor:pointer}
.phrase-navigation button:after{content:'';display:block;height:2px;background:#b8c5b1;transition:background .25s,transform .25s}
.phrase-navigation button.is-active:after{background:#234b35}
.phrase-navigation button:hover:after{background:#234b35;transform:scaleY(2)}
.phrase-navigation button:focus-visible{outline:2px solid #234b35;outline-offset:3px}
.trailer-stage{perspective:1400px}
.trailer-card{position:relative;border-radius:10px;padding:7px;background:#edf1e9;border:1px solid #ffffffd9;box-shadow:0 24px 60px -25px #10251d40,0 2px 5px #10251d0c;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease-out,box-shadow .4s;isolation:isolate}
.trailer-card.is-hovered{box-shadow:0 34px 70px -25px #10251d55,0 3px 8px #10251d15}
.trailer-card video{border-radius:5px;box-shadow:none}
.trailer-sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--sheen-x,50%) var(--sheen-y,50%),#ffffff14,transparent 65%);opacity:0;transition:opacity .4s}
.trailer-card.is-hovered .trailer-sheen{opacity:1}
@media(max-width:800px){.opening-page .trailer-headline{font-size:clamp(32px,8.6vw,54px)}.trailer-card{padding:5px}.phrase-navigation{margin:16px 0 24px}}
@media(prefers-reduced-motion:reduce){.trailer-phrase{transition:none;transform:none;filter:none}.trailer-card{transform:none!important;transition:none}.opening-page .trailer-hero:after,.trailer-sheen{display:none}}

.scroll-enabled .walk-sticky>.section-heading{margin:0 0 18px}
.scroll-enabled .walk-sticky>.section-heading .eyebrow{margin-bottom:12px}
.scroll-enabled .walk-sticky>.section-heading h2{font-size:clamp(34px,3.5vw,52px);line-height:1.05;margin:0}
.scroll-enabled .walk-panel{padding:24px 30px}
.scroll-enabled .walk-controls button{padding-top:20px;padding-bottom:20px}
.scroll-enabled .walkthrough{margin-bottom:0}
