@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
:root{--forest:#103d2e;--sage:#8ca68f;--bronze:#b6864b;--ivory:#faf8f3;--charcoal:#2e2e2e;--line:color-mix(in srgb,var(--forest) 18%,transparent);--display:Montserrat,Arial,sans-serif;--body:Inter,Arial,sans-serif;--wrap:1248px;--gutter:clamp(24px,5.25vw,88px);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--bronze);color:var(--forest)}
a{color:inherit;text-underline-offset:5px}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid var(--bronze);outline-offset:6px}
img,svg{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.14;text-wrap:balance}
h2{font-size:clamp(30px,3.5vw,48px);letter-spacing:-.035em;color:var(--forest)}
h3{font-size:clamp(23px,2.1vw,29px);letter-spacing:-.025em}
.wrap{max-width:calc(var(--wrap) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.section-space{padding-block:clamp(80px,8vw,128px)}
.skip-link{position:absolute;top:16px;left:16px;z-index:10;padding:12px 20px;background:var(--ivory);color:var(--forest);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{background:var(--ivory)}
.header-inner{min-height:126px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand{display:block;width:246px;flex-shrink:0}
.brand img{width:100%;height:auto}
nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:500;color:var(--forest)}
nav a{text-decoration:none;position:relative;padding-block:12px}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease)}
nav a:hover::after,nav a[aria-current="location"]::after{transform:scaleX(1)}
.nav-contact{display:flex;align-items:center;gap:20px}
.nav-contact span{font-size:20px;line-height:1}
.hero{background:var(--forest);color:var(--ivory);overflow:hidden;position:relative}
.hero-inner{position:relative;min-height:690px;padding-top:80px;padding-bottom:104px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center}
.hero-copy{position:relative;z-index:1}
.kicker{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:500;letter-spacing:.025em;margin-bottom:32px}
.kicker>span{width:25px;height:1px;background:var(--bronze)}
h1{font-size:clamp(64px,7.3vw,96px);font-weight:500;letter-spacing:-.04em;line-height:1.04;margin-left:-5px}
.period{color:var(--bronze)}
.hero-description{max-width:420px;font-size:18px;line-height:1.65;margin-top:28px;color:var(--ivory)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:14px 22px;text-decoration:none;font-size:14px;font-weight:600;transition:background-color 220ms var(--ease),color 220ms var(--ease)}
.button span{font-size:22px;line-height:1}
.button-light{background:var(--ivory);color:var(--forest);margin-top:34px}
.button-light:hover{background:var(--sage)}
.growth-study{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0}
.growth-rings{width:calc(100% + 130px);max-width:none;flex-shrink:0;aspect-ratio:1;animation:take-root 1700ms var(--ease) both}
.growth-caption{position:absolute;left:14%;bottom:18px;display:flex;align-items:center;gap:14px;font-size:12px;line-height:1.6;color:var(--ivory)}
.caption-line{width:44px;height:1px;background:var(--bronze)}
.hero-baseline{position:absolute;left:var(--gutter);right:var(--gutter);bottom:26px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid color-mix(in srgb,var(--sage) 32%,transparent);padding-top:18px;font-size:11px;letter-spacing:.035em;color:var(--sage)}
.section-intro{display:grid;grid-template-columns:1fr 2.4fr;gap:56px;margin-bottom:62px}
.section-label{font-size:13px;font-weight:600;color:var(--forest);margin-top:5px}
.section-description{max-width:660px;margin-top:26px;font-size:18px;line-height:1.75}
.focus-row{display:grid;grid-template-columns:116px 1.2fr 1fr;gap:36px;align-items:center;padding-block:34px;border-top:1px solid var(--line)}
.focus-row:last-child{border-bottom:1px solid var(--line)}
.focus-symbol{width:82px;color:var(--forest)}
.focus-symbol svg{width:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.focus-category{font-size:12px;font-weight:500;color:var(--forest);margin-bottom:11px}
.focus-title h3{color:var(--forest)}
.focus-row>p{font-size:15px;max-width:43ch;line-height:1.8}
.studio-note{display:flex;align-items:baseline;gap:12px;font-size:13px;margin-top:28px;color:var(--forest)}
.studio-note span{font-size:22px}
.approach{background:var(--forest);color:var(--ivory)}
.approach-intro{display:grid;grid-template-columns:1fr 2.4fr;gap:0 56px}
.approach .section-label{color:var(--sage)}
.approach h2{color:var(--ivory)}
.approach-intro>p:last-child{grid-column:2;margin-top:24px;max-width:470px;color:var(--ivory);font-size:18px}
.process-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:64px;margin:76px 0 0;padding:0;counter-reset:steps}
.process-list li{position:relative;border-top:1px solid color-mix(in srgb,var(--sage) 40%,transparent);padding-top:24px}
.step-number{display:block;font-family:var(--display);font-size:13px;color:var(--sage);margin-bottom:36px}
.process-list h3{font-size:25px;color:var(--ivory);margin-bottom:18px}
.process-list p{font-size:15px;line-height:1.85;max-width:34ch;color:var(--ivory)}
.about-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:110px;align-items:start}
.about h2{margin-top:28px}
.about-copy{padding-top:4px;max-width:480px;font-size:17px;line-height:1.8}
.about-copy p+p{margin-top:22px}
.contact{padding-block:80px;background:var(--sage);color:var(--forest)}
.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:110px;align-items:center}
.contact h2{font-size:clamp(40px,4.3vw,60px);margin-top:26px}
.contact p:not(.section-label){margin-top:24px;max-width:420px;font-size:16px;line-height:1.75}
.contact-action{align-self:end;padding-bottom:4px}
.contact-action .button{background:var(--forest);color:var(--ivory);min-width:200px}
.contact-action .button:hover{background:var(--charcoal)}
.contact-action>a:not(.button){display:block;width:fit-content;margin-top:20px;font-size:14px;overflow-wrap:anywhere}
.contact a:focus-visible{outline-color:var(--forest)}
.site-footer{padding-block:28px;font-size:11px;color:var(--forest)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer a span{padding-left:10px}
.preview-contact{padding:16px;border:1px solid var(--forest);font-size:14px}
@keyframes take-root{from{clip-path:circle(12% at 50% 50%);transform:rotate(-8deg)}to{clip-path:circle(72% at 50% 50%);transform:rotate(0deg)}}
@media(min-width:1600px){.hero-inner{min-height:750px}.hero{padding-block:24px}}
@media(max-width:1050px){.header-inner{min-height:110px}.hero-inner{min-height:670px;padding-top:68px;padding-bottom:110px;grid-template-columns:1.2fr 1fr}.growth-rings{width:calc(100% + 160px)}.growth-caption{left:0;bottom:0}.section-intro,.approach-intro{grid-template-columns:1fr 3fr;gap:0 32px}.focus-row{grid-template-columns:78px 1.2fr 1fr;gap:28px}.focus-symbol{width:70px}.focus-title h3{font-size:24px}.process-list{gap:36px}.about-inner,.contact-inner{gap:56px}.brand{width:220px}nav{gap:24px}}
@media(max-width:760px){.header-inner{min-height:108px;gap:20px}.brand{width:192px}nav{gap:18px;font-size:12px}.nav-contact{gap:8px}.nav-contact span{font-size:17px}.hero-inner{min-height:630px;padding-top:58px;grid-template-columns:1.5fr .9fr}.hero-description{font-size:17px;max-width:350px}.growth-rings{width:430px;opacity:.65}.growth-caption{display:none}h1{font-size:76px}.hero-baseline{font-size:10px}.section-intro,.approach-intro{grid-template-columns:1fr;gap:24px}.section-intro{margin-bottom:44px}.approach-intro>p:last-child{grid-column:1;margin-top:0;max-width:440px}.section-description{font-size:17px}.focus-row{grid-template-columns:70px 1fr;gap:12px 24px;padding-block:30px}.focus-row>p{grid-column:2;max-width:54ch}.focus-symbol{grid-row:1 / span 2}.process-list{gap:28px}.process-list h3{font-size:22px}.process-list p{font-size:14px}.about-inner,.contact-inner{grid-template-columns:1fr;gap:36px}.about-copy{max-width:600px}.contact-action{padding-top:4px}.contact h2 br{display:none}.contact p:not(.section-label){max-width:540px}.footer-inner{flex-wrap:wrap;gap:14px}.footer-inner>p:nth-child(2){display:none}}
@media(max-width:560px){.header-inner{flex-direction:column;justify-content:center;gap:5px;padding-top:15px;padding-bottom:15px}.brand{width:198px}.header-inner nav{justify-content:space-between;width:100%;max-width:330px;font-size:12px;gap:12px}.hero-inner{display:block;min-height:auto;padding-top:46px;padding-bottom:100px}.hero-copy{max-width:430px}.kicker{font-size:11px;margin-bottom:28px}h1{font-size:clamp(60px,15vw,78px);margin-left:-3px}.hero-description{max-width:310px;font-size:16px;margin-top:24px}.button-light{margin-top:28px}.growth-study{height:230px;max-width:350px;margin:24px auto 0}.growth-rings{width:350px;opacity:1}.growth-caption{display:flex;left:-2px;bottom:-19px;font-size:10px;gap:10px}.caption-line{width:28px}.hero-baseline{bottom:23px;font-size:9px;padding-top:16px;gap:20px}.hero-baseline>span:first-child{max-width:105px}.hero-baseline>span:last-child{max-width:130px;text-align:right}.section-space{padding-block:72px}.section-intro{gap:20px;margin-bottom:36px}h2{font-size:32px}.section-description{font-size:16px;margin-top:22px;line-height:1.8}.focus-row{grid-template-columns:48px 1fr;gap:12px 18px;padding-block:28px}.focus-symbol{width:47px;align-self:start;margin-top:20px}.focus-title h3{font-size:24px}.focus-category{font-size:11px;margin-bottom:9px}.focus-row>p{font-size:14px;line-height:1.8}.studio-note{font-size:12px;line-height:1.7;margin-top:22px}.process-list{grid-template-columns:1fr;gap:28px;margin-top:42px}.process-list li{padding-top:22px;display:grid;grid-template-columns:40px 1fr;gap:14px 18px}.step-number{grid-row:1 / span 2;margin:4px 0 0}.process-list h3{font-size:26px;margin:0}.process-list p{max-width:42ch;font-size:15px}.about h2{margin-top:22px}.about-copy{font-size:16px}.contact{padding-block:64px}.contact h2{font-size:43px}.contact h2 br{display:block}.contact-action .button{min-width:210px}.site-footer{font-size:10px}.footer-inner{align-items:flex-start}.footer-inner>p:first-child{max-width:210px}.footer-inner>a{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.growth-rings{clip-path:none}}
