@font-face{font-family:Ivy Presto;src:url('../assets/fonts/ivy-presto-light.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Ivy Presto;src:url('../assets/fonts/ivy-presto-semibold.otf') format('opentype');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('../assets/fonts/montserrat-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('../assets/fonts/montserrat-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--cream:#f3f0e6;--forest:#2a361a;--gold:#bf8a26;--sage:#6B824B;--spring:#6B824B;--autumn:#4F2E26;--cloud:#222121;--cotton:#C7BDB1;--body:Montserrat,Arial,sans-serif;--display:'Ivy Presto',Georgia,serif}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--forest);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:6px}button{cursor:pointer}button:disabled{cursor:default}.skip{position:fixed;top:12px;left:16px;z-index:100;background:var(--forest);color:white;padding:14px;transform:translateY(-150%)}.skip:focus{transform:none}
.hero-shell{position:relative;overflow:hidden}.header{position:relative;z-index:5;height:10vw;max-height:160px;min-height:106px;padding:0 4.1%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{flex:none;width:clamp(185px,17.2vw,280px);display:block}.brand img{display:block;width:100%;height:auto}.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,42px)}.nav a{font-size:clamp(10px,.83vw,14px);font-weight:600;text-transform:uppercase;white-space:nowrap;padding:14px 0}.nav a:hover{color:#80601d}.nav-chevron{width:10px;height:6px;margin-left:8px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:56px;background:var(--forest);color:var(--cream);font-size:clamp(12px,1.04vw,17px);font-weight:600;padding:19px 28px;transition:background-color .25s}.button:hover{background:#43512f}.quote{min-height:56px;white-space:nowrap;justify-content:center}.menu-toggle{display:none}.hero{position:relative;height:45.7vw;min-height:550px;outline:none}.scene{position:absolute;right:0;bottom:0;width:71.5%;aspect-ratio:1099/702;pointer-events:none}.landscape{width:100%;height:100%;display:block;overflow:visible}.copy{position:relative;z-index:2;padding:3.45vw 0 3.8vw 4.1%;width:48%}h1{font-family:var(--display);font-size:clamp(45px,4.24vw,78px);font-weight:600;line-height:1.075;letter-spacing:-.045em;margin:0}.line{display:block;margin-bottom:-.075em;padding-bottom:.075em}.line-mask{display:block;height:1.075em;overflow:hidden;overflow:clip;contain:paint;isolation:isolate}.line-text{display:block;white-space:nowrap}.support{font-size:clamp(14px,1.27vw,23px);line-height:1.55;max-width:32vw;margin:1.8vw 0 1.95vw;letter-spacing:-.025em;color:#272a21}.primary{min-width:17.2vw;min-height:4.6vw;padding:20px 30px}.primary svg{width:26px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;transition:transform .3s}.primary:hover svg{transform:translateX(4px)}.clients{position:relative;z-index:3;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;padding:27px 4.1%;gap:3vw;background:#f7f4ed;min-height:120px}.clients img{width:100%;height:58px;object-fit:contain;mix-blend-mode:multiply}.clients img:nth-child(2){height:68px}.motion-lab[hidden]{display:none}.motion-lab{position:fixed;z-index:20;right:18px;bottom:18px;width:min(390px,calc(100% - 36px));padding:16px;background:var(--cream);border:1px solid #2a361a40;box-shadow:0 8px 32px #0002;color:var(--forest);font-size:11px}.lab-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.lab-buttons{display:flex;gap:7px;margin-bottom:14px}.lab-buttons button{background:var(--forest);color:var(--cream);border:0;padding:10px;font-size:11px}.motion-lab input{width:100%;accent-color:var(--forest)}.motion-lab p{font-size:10px;margin:5px 0 0}.motion-lab label{display:block}.lab-buttons button:disabled{opacity:.4}

/* Section 2 continues the hero stage: the live SVG scene travels into this frame. */
.belonging{position:relative;min-height:max(860px,100svh);overflow:hidden;background:var(--cream);padding:clamp(72px,8vh,110px) 4.1% 38px}.belonging-content{position:relative;z-index:4;width:43%;max-width:670px;min-height:calc(max(860px,100svh) - 110px);display:flex;flex-direction:column}.belonging h2{font-family:var(--display);font-size:clamp(58px,5.05vw,92px);font-weight:600;line-height:.99;letter-spacing:-.05em;margin:0 0 clamp(30px,3.5vh,48px)}.belonging-line{display:block;overflow:hidden;overflow:clip;padding:0 0 .09em;margin-bottom:-.09em}.belonging-line>span{display:block;white-space:nowrap}.belonging-body{max-width:620px;color:#2f302b;font-size:clamp(14px,1.05vw,19px);line-height:1.5;letter-spacing:-.022em}.belonging-body p{margin:0 0 clamp(20px,2.25vh,30px)}.proofs{width:min(52vw,850px);margin:auto 0 0;padding:24px 0 0;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;color:var(--forest)}.proofs li{min-height:118px;padding:0 clamp(10px,1.25vw,22px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;text-align:center;border-right:1px solid rgba(42,54,26,.16);font-size:clamp(10px,.82vw,14px);font-weight:600;line-height:1.35}.proofs li:first-child{padding-left:0}.proofs li:last-child{border-right:0}.proofs svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.section-scene-anchor{position:absolute;z-index:1;top:-5vh;right:-5vw;width:82vw;aspect-ratio:1099/702;pointer-events:none}.section-media-static{position:absolute;z-index:2;top:-5vh;right:-5vw;width:82vw;aspect-ratio:1099/702;pointer-events:none}.section-media-static svg{display:block;width:100%;height:100%;overflow:visible}.section-motion-desktop .section-media-static{display:none}.section-motion-desktop .belonging-line>span,.section-motion-desktop .belonging-body p,.section-motion-desktop .proofs li{will-change:transform,opacity}.section-transforming .hero-shell{overflow:visible}.section-transforming .scene{position:fixed;right:auto;bottom:auto;z-index:2;will-change:transform}.section-transforming .scene .depth-plane,.section-transforming #hero-image,.section-transforming #aperture{will-change:transform}
@media(min-width:1900px){.hero-shell{max-width:1920px;margin:auto}.header{height:160px}.hero{height:878px}.copy{padding-top:66px}h1{font-size:81px}.support{font-size:24px;max-width:640px}.clients{max-width:1920px;margin:auto}}
@media(max-width:1100px) and (min-width:761px){.header{gap:18px;padding:0 4%}.brand{width:180px}.nav{gap:14px}.nav a{font-size:9px}.nav-chevron{margin-left:6px}.quote{font-size:11px;padding:16px;min-height:48px}.hero{min-height:540px}.copy{padding-top:32px;width:52%}h1{font-size:4.55vw}.support{max-width:39vw;font-size:14px}.scene{width:74%;}.primary{padding:18px 23px}.clients{gap:22px}}
@media(max-width:1100px) and (min-width:900px){.belonging{padding-left:4%;padding-right:4%}.belonging-content{width:45%}.belonging h2{font-size:5vw}.belonging-body{font-size:13px;line-height:1.45}.belonging-body p{margin-bottom:17px}.proofs{width:56vw}.proofs li{font-size:9px}.section-scene-anchor,.section-media-static{right:-8vw;width:86vw}}
@media(max-width:899px){.belonging{min-height:0;padding:62px 6% 44px;display:flex;flex-direction:column}.belonging-content{width:100%;max-width:none;min-height:0}.belonging h2{font-size:clamp(48px,9.5vw,76px)}.belonging-body{max-width:660px;font-size:14px;line-height:1.6}.section-scene-anchor{display:none}.section-media-static{position:relative;order:-1;top:auto;right:auto;width:116%;margin:-42px -10% 16px;aspect-ratio:1099/702}.proofs{width:100%;margin-top:28px}.proofs li{font-size:10px}}
@media(max-width:760px){.header{height:92px;min-height:92px;padding:0 6%;gap:15px}.brand{width:190px}.quote{margin-left:auto;min-height:42px;padding:12px 15px;font-size:10px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;flex:none;width:40px;height:44px;background:none;border:0;padding:8px}.menu-toggle span{height:1.5px;width:24px;background:var(--forest)}.nav{display:none;position:absolute;top:80px;left:5%;right:5%;padding:20px;background:var(--cream);border:1px solid #2a361a30;box-shadow:0 10px 18px #0001}.nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{font-size:12px;padding:14px}.nav-chevron{margin-left:6px}.hero{height:auto;min-height:0;display:flex;flex-direction:column}.copy{order:0;width:100%;padding:28px 6% 0}h1{font-size:clamp(35px,6.9vw,53px);line-height:1.1;letter-spacing:-.05em}.support{font-size:14px;max-width:430px;margin:22px 0 23px;line-height:1.65;letter-spacing:-.02em}.primary{min-height:54px;min-width:198px;padding:16px 22px;font-size:12px}.scene{position:relative;order:1;width:116%;right:auto;margin-left:-16%;margin-top:22px;aspect-ratio:1099/702}.clients{grid-template-columns:repeat(3,1fr);gap:24px 25px;padding:26px 6%;min-height:160px}.clients img,.clients img:nth-child(2){height:44px}}
@media(max-width:600px){.proofs{grid-template-columns:repeat(2,1fr);row-gap:24px}.proofs li:nth-child(2){border-right:0}.proofs li{min-height:108px}.section-media-static{width:132%;margin-left:-22%;margin-right:-10%}}
@media(max-width:380px){.brand{width:156px}.header{gap:8px}.quote{padding:10px;font-size:9px}h1{font-size:9vw}}

@media(min-width:1101px){.section-scene-anchor,.section-media-static{right:-9vw;width:78vw}}

/* Locked Section 2 cleanup: overlap the live canopy at the aperture seam,
   connect proofs to copy, and reserve Ivy Presto's full descender box. */
html,body{overflow-x:hidden}
.section-transforming .canopy{stroke:var(--forest);stroke-width:28;stroke-linejoin:round;paint-order:stroke fill}
.section-transforming .scene{position:absolute;right:0;bottom:0;left:auto;top:auto;z-index:2;will-change:transform,clip-path}
.belonging-line{padding-bottom:.26em;margin-bottom:-.26em}
@media(min-width:900px){.belonging .proofs{width:100%;max-width:620px;align-self:flex-start;margin:40px 0 0}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.line-text,.landscape-depth,.depth-plane,.landform,#hero-image,.header,.support,.primary,.clients,.belonging-line>span,.belonging-body p,.proofs li{transform:none!important;opacity:1!important;visibility:visible!important}#gold-cue{display:none}}

/* Preserve headline baselines while reserving Ivy Presto descenders inside each mask. */
.line-mask{height:1.335em;padding-bottom:.26em;margin-bottom:-.26em}

.proofs .proof-icon{display:block;width:48px;height:48px;object-fit:contain;flex-shrink:0}

/* Section 3: product discovery. Sections 1 and 2 remain locked above. */
.discovery{position:relative;z-index:5;isolation:isolate;overflow:hidden;background:var(--cream);padding:clamp(108px,8.5vw,164px) 5.5% clamp(94px,8vw,148px)}
.discovery-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:clamp(32px,5vw,90px)}
.discovery-heading-group{max-width:1180px}

.discovery h2{max-width:1120px;margin:0;font-family:var(--display);font-size:clamp(52px,4.1vw,80px);font-weight:600;line-height:1.02;letter-spacing:-.042em}
.discovery-title-line{display:block;overflow:hidden;overflow:clip;padding:0 0 .16em;margin-bottom:-.16em}
.discovery-title-line>span{display:block;white-space:nowrap}
.discovery-intro{max-width:none;margin:clamp(28px,2vw,38px) 0 0;color:#4a4d45;font-size:clamp(14px,1.05vw,19px);line-height:1.55;letter-spacing:-.022em}
.discovery-cta{align-self:start;min-width:clamp(220px,15vw,278px);margin-top:48px}
.discovery-cta svg{width:26px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(44px,4.4vw,90px);margin-top:clamp(56px,4.5vw,86px)}
.discovery-item{display:block;min-width:0;color:var(--forest)}
.discovery-visual{position:relative;isolation:isolate;aspect-ratio:1.4/1}
.discovery-shape{position:absolute;z-index:0;display:block;height:auto;pointer-events:none;transition:transform .5s cubic-bezier(.2,.72,.25,1)}
.discovery-item--small .discovery-shape{--shape-rotation:-12deg;width:76%;left:calc(3% + 8px);top:-13%;transform:translate3d(0,0,0) rotate(var(--shape-rotation))}
.discovery-item--busy .discovery-shape{--shape-rotation:34deg;width:74%;right:0;top:calc(7% + 10px);transform:translate3d(0,0,0) rotate(var(--shape-rotation))}
.discovery-item--exposed .discovery-shape{--shape-rotation:82deg;width:76%;right:calc(12% + 8px);top:calc(-13% + 8px);opacity:.48;transform:translate3d(0,0,0) rotate(var(--shape-rotation))}
/* Supplied transparent foregrounds are rendered whole, without added effects. */
.discovery-photo-frame{position:absolute;z-index:1;inset:0 -2%;display:flex;align-items:flex-end;overflow:visible}
.discovery-photo{display:block;width:100%;height:auto;object-fit:contain;transform:scale(1);transform-origin:50% 85%;transition:transform .55s cubic-bezier(.2,.72,.25,1)}
.discovery-item--small .discovery-photo-frame,.discovery-item--exposed .discovery-photo-frame{left:-5.38%;right:-5.38%}
.discovery-meta{padding:clamp(22px,1.55vw,30px) 0 0}
.discovery-title-row{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.discovery-title-row h3{flex:0 1 auto}
.discovery-title-row .discovery-arrow{flex-shrink:0}
.discovery-meta h3{margin:0;font-family:var(--display);font-size:clamp(26px,1.72vw,34px);font-weight:600;line-height:1.08;letter-spacing:-.035em}
.discovery-meta p{max-width:34ch;margin:0;color:#555950;font-size:clamp(13px,.91vw,17px);line-height:1.52;letter-spacing:-.018em}
.discovery-arrow{display:grid;place-items:center;width:clamp(44px,2.6vw,52px);height:clamp(44px,2.6vw,52px);margin-top:1px;border:1.5px solid currentColor;border-radius:50%;background:transparent;transition:transform .38s cubic-bezier(.2,.72,.25,1),background-color .3s,color .3s}
.discovery-arrow svg{width:24px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.discovery-item:hover .discovery-photo,.discovery-item:focus-visible .discovery-photo{transform:scale(1.025)}
.discovery-item:hover .discovery-shape,.discovery-item:focus-visible .discovery-shape{transform:translate3d(-4px,-3px,0) rotate(var(--shape-rotation))}
.discovery-item:hover .discovery-arrow,.discovery-item:focus-visible .discovery-arrow{transform:translateX(5px);background:var(--forest);color:var(--cream)}
}
@media(max-width:1100px) and (min-width:761px){
.discovery{padding-left:4%;padding-right:4%}.discovery h2{font-size:5.2vw}.discovery-header{gap:30px}.discovery-cta{min-width:190px;padding-left:22px;padding-right:22px}.discovery-grid{gap:30px}.discovery-title-row{gap:12px}.discovery-meta h3{font-size:2.05vw}.discovery-meta p{font-size:11px}.discovery-arrow{width:46px;height:46px}.discovery-arrow svg{width:20px}
}
@media(max-width:760px){
.discovery{padding:82px 6% 92px}.discovery-header{display:block}.discovery h2{font-size:clamp(40px,10.4vw,64px);line-height:.98}.discovery-title-line>span{white-space:normal}.discovery-intro{max-width:520px;margin-top:25px;font-size:14px}.discovery-cta{width:min(100%,260px);margin-top:28px}.discovery-grid{grid-template-columns:1fr;gap:62px;margin-top:58px}.discovery-visual{aspect-ratio:1.4/1}.discovery-meta{padding-top:22px}.discovery-meta h3{font-size:clamp(29px,7.8vw,38px)}.discovery-meta p{font-size:14px}.discovery-arrow{width:54px;height:54px}
}
@media(max-width:430px){.discovery-title-row{gap:12px}.discovery-arrow{width:48px;height:48px}.discovery-arrow svg{width:20px}}
@media(prefers-reduced-motion:reduce){.discovery-title-line>span,.discovery-intro,.discovery-cta,.discovery-item{transform:none!important;opacity:1!important;visibility:visible!important}}

.discovery-item:focus-visible{outline:2px solid var(--forest);outline-offset:10px;border-radius:2px}
.discovery-item:focus-visible .discovery-arrow{background:var(--forest);color:var(--cream)}
@media(prefers-reduced-motion:no-preference){
.discovery-item:focus-visible .discovery-photo{transform:scale(1.025)}
.discovery-item:focus-visible .discovery-shape{transform:translate3d(-4px,-3px,0) rotate(var(--shape-rotation))}
.discovery-item:focus-visible .discovery-arrow{transform:translateX(5px)}
}

/* Pointer depth is independent of the approved intro/scroll transforms. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.scene .depth-media,.scene .depth-canopy,.scene .depth-meadow,.scene .depth-bank{translate:0 0;transition:translate .65s cubic-bezier(.2,.72,.25,1)}
html[data-intro="complete"] .scene:not([data-transition="moving"]) .depth-media{translate:var(--pointer-media-x,0px) var(--pointer-media-y,0px)}
html[data-intro="complete"] .scene:not([data-transition="moving"]) .depth-canopy{translate:var(--pointer-canopy-x,0px) var(--pointer-canopy-y,0px)}
html[data-intro="complete"] .scene:not([data-transition="moving"]) .depth-meadow{translate:var(--pointer-meadow-x,0px) var(--pointer-meadow-y,0px)}
html[data-intro="complete"] .scene:not([data-transition="moving"]) .depth-bank{translate:var(--pointer-bank-x,0px) var(--pointer-bank-y,0px)}
}
