@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500;1,600&display=swap');

:root{--cream:#f7f5ef;--ink:#202924;--muted:#657068;--line:#dcded6;--green:#244735;--lime:#d4e694;--orange:#e98c54;--white:#fffefa}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.skip-link{position:absolute;top:-5rem;left:1rem;z-index:10;padding:.7rem 1rem;background:var(--white)}
.skip-link:focus{top:1rem}
.site-shell{overflow:hidden}
.site-header{height:93px;max-width:1600px;margin:auto;padding:0 clamp(1.5rem,6vw,7rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.wordmark{font-size:1.72rem;font-weight:700;letter-spacing:-.095em;line-height:1}.wordmark-dot{color:var(--orange)}
.site-header nav{display:flex;align-items:center;gap:clamp(1.5rem,3.5vw,3.7rem);font-size:.83rem;font-weight:600}
.site-header nav a:not(.nav-contact){transition:color .2s}.site-header nav a:not(.nav-contact):hover{color:#9d643d}
.nav-contact{display:inline-flex;gap:1rem;align-items:center;border:1px solid var(--ink);padding:.8rem 1.15rem;transition:background .2s,color .2s}.nav-contact:hover{background:var(--ink);color:var(--cream)}
.hero{max-width:1600px;margin:auto;min-height:690px;padding:clamp(5rem,10vw,9rem) clamp(1.5rem,6vw,7rem) 2rem;position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);column-gap:5%;align-items:center}
.hero-copy{position:relative;z-index:2;padding-bottom:3.5rem}
.eyebrow,.section-kicker,.connect-eyebrow,.aside-label{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.eyebrow{display:flex;align-items:center;gap:.7rem;color:var(--green);margin:0 0 2rem}.eyebrow-line{width:26px;height:1px;background:var(--green)}.eyebrow-separator{color:#a6aaa2}
h1,h2,h3,p{margin-top:0}.hero h1{max-width:840px;margin:0 0 1.9rem;font-size:clamp(4.2rem,7.8vw,8.4rem);line-height:.96;letter-spacing:-.085em;font-weight:500}.hero h1 em,.focus h2 em,.connect h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.075em}.hero h1 em{color:var(--green)}
.hero-intro{max-width:510px;font-size:clamp(1.05rem,1.45vw,1.35rem);line-height:1.65;color:#4f5b52;margin-bottom:2.3rem}
.hero-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;min-height:56px;padding:0 1.35rem;font-size:.82rem;font-weight:700;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--green);color:var(--white)}.button-primary:hover{background:#183425}.text-link{font-size:.84rem;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:.3rem}.text-link span{margin-left:.45rem}
.hero-art{position:relative;width:100%;height:clamp(390px,37vw,550px);background:#e9eadf;overflow:hidden;align-self:center}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff78 1px,transparent 1px),linear-gradient(90deg,#ffffff78 1px,transparent 1px);background-size:42px 42px;opacity:.45}.art-circle{position:absolute;border-radius:50%}.art-circle-back{width:78%;aspect-ratio:1;left:9%;top:-39%;background:var(--lime)}.art-arch{position:absolute;width:75%;height:94%;right:-7%;bottom:-24%;background:var(--green);border-radius:50% 50% 0 0;transform:rotate(-27deg)}.art-circle-front{width:37%;aspect-ratio:1;left:-9%;bottom:3%;background:var(--orange);mix-blend-mode:multiply}.art-label{position:absolute;top:51%;left:12%;z-index:2;color:var(--ink);display:flex;align-items:center;gap:1rem;transform:rotate(-90deg) translate(-40%,0);transform-origin:left center;font-size:.69rem;font-weight:700;letter-spacing:.22em}.art-label span:nth-child(2){font-size:1.4rem;font-weight:400}.art-index{position:absolute;bottom:1.4rem;right:1.6rem;color:#e1e8dc;font-size:.66rem;letter-spacing:.18em;font-weight:700}
.hero-footnote{grid-column:1/-1;display:flex;align-items:center;gap:1.2rem;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;align-self:end}.footnote-rule{width:42px;height:1px;background:#bfc6ba}
.section-pad{padding:clamp(5rem,9vw,9rem) clamp(1.5rem,6vw,7rem);display:grid;grid-template-columns:20% 1fr;gap:3%;max-width:1600px;margin:auto}.section-kicker{display:flex;align-items:center;gap:1.1rem;padding-top:1rem;color:var(--green)}.section-num{border:1px solid #aebbad;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:.58rem;letter-spacing:0}
.about{border-top:1px solid var(--line)}.about h2,.focus h2,.connect h2{font-size:clamp(3.2rem,5.9vw,6.6rem);font-weight:500;letter-spacing:-.075em;line-height:1.05;margin:0}.about h2{max-width:950px;margin-bottom:3rem}.about h2 span{color:#718177}.about-bottom{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);gap:8%;border-top:1px solid var(--line);padding-top:2rem}.about-bottom>p{font-size:clamp(1.12rem,1.65vw,1.55rem);line-height:1.65;max-width:700px}.about-bottom strong{font-weight:600}.about-aside{border-left:1px solid var(--line);padding-left:2rem}.aside-label{display:block;margin-bottom:1.1rem;color:var(--green)}.about-aside p{font-size:.94rem;line-height:1.7;color:var(--muted);max-width:300px}
.focus{background:var(--green);color:var(--white);max-width:none;padding-left:max(clamp(1.5rem,6vw,7rem),calc((100vw - 1600px)/2 + 7rem));padding-right:max(clamp(1.5rem,6vw,7rem),calc((100vw - 1600px)/2 + 7rem))}.focus .section-kicker{color:var(--lime)}.focus .section-num{border-color:#749281}.focus-content{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%}.focus h2 em{color:var(--lime)}.focus-heading>p{max-width:320px;margin:2rem 0 0;color:#c7d5ca;font-size:1.02rem;line-height:1.7}.focus-list{border-top:1px solid #63806b}.focus-item{display:grid;grid-template-columns:46px 1fr auto;gap:1rem;padding:1.65rem 0 1.8rem;border-bottom:1px solid #63806b}.focus-icon{font-size:1.6rem;color:var(--lime);font-weight:400}.focus-item h3{font-size:1.3rem;font-weight:500;letter-spacing:-.03em;margin-bottom:.4rem}.focus-item p{color:#c2d0c4;font-size:.89rem;line-height:1.6;margin:0}.focus-number{font-size:.67rem;letter-spacing:.12em;color:#b5c9b9;padding-top:.35rem}
.work{border-bottom:1px solid var(--line)}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2.8rem}.work h2{font-size:clamp(3.2rem,5.9vw,6.6rem);font-weight:500;letter-spacing:-.075em;line-height:1.05;margin:0}.work h2 em{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-weight:500}.work-heading .text-link{white-space:nowrap;margin-bottom:.7rem}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.project-card{min-height:340px;padding:1.7rem;background:#e6eadc;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s,transform .2s}.project-card:nth-child(2){background:#eae7dc}.project-card:hover{background:#dce4cc;transform:translateY(-4px)}.project-card:nth-child(2):hover{background:#e2dccb}.project-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#546257}.project-symbol{font-family:Georgia,serif;font-size:5.4rem;color:var(--green);line-height:1;text-align:center}.project-bottom{display:flex;justify-content:space-between;gap:1.4rem;align-items:end}.project-bottom strong,.project-bottom small{display:block}.project-bottom strong{font-size:1.35rem;line-height:1.2;letter-spacing:-.035em;font-weight:600;margin-bottom:.55rem}.project-bottom small{font-size:.87rem;line-height:1.55;color:#546257;max-width:350px}.project-arrow{font-size:1.5rem;align-self:end}
.platform-link{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin-top:2rem;padding-top:1.4rem;font-size:.81rem;font-weight:700}.platform-link a{border-bottom:1px solid var(--ink);padding-bottom:.2rem}.platform-link a:hover{color:var(--green)}
.technical-teaser{background:#e6eadc;max-width:none;padding-left:max(clamp(1.5rem,6vw,7rem),calc((100vw - 1600px)/2 + 7rem));padding-right:max(clamp(1.5rem,6vw,7rem),calc((100vw - 1600px)/2 + 7rem))}.technical-teaser-content{max-width:1000px}.technical-teaser-eyebrow{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin:0 0 1.5rem}.technical-teaser h2{font-size:clamp(3.2rem,5.9vw,6.6rem);font-weight:500;letter-spacing:-.075em;line-height:1.05;margin:0 0 2.5rem}.technical-teaser h2 em{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-weight:500}.technical-teaser-bottom{border-top:1px solid #bcc8b5;padding-top:1.8rem;display:flex;justify-content:space-between;align-items:end;gap:2rem}.technical-teaser-bottom p{max-width:560px;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.55;margin:0}.technical-teaser-bottom .button{white-space:nowrap}
.connect{position:relative;min-height:580px;overflow:hidden}.connect-content{position:relative;z-index:1}.connect-eyebrow{color:var(--green);margin:0 0 1.5rem}.connect h2{margin-bottom:2.6rem}.connect h2 em{color:var(--green)}.button-light{border:1px solid var(--ink);background:transparent}.button-light:hover{background:var(--ink);color:var(--white)}.connect-mark{position:absolute;right:2%;bottom:-23%;font-size:clamp(17rem,35vw,37rem);font-weight:700;letter-spacing:-.13em;line-height:1;color:#e9ebe1;pointer-events:none}.connect-mark span{color:#dfe4d3}
.site-footer{max-width:1600px;margin:auto;border-top:1px solid var(--line);padding:2rem clamp(1.5rem,6vw,7rem);display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.75rem}.site-footer a{color:var(--ink);font-weight:700}.site-footer a:hover{text-decoration:underline}.footer-links{display:flex;gap:1.5rem}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:3rem;padding-top:6rem}.hero-copy{padding-bottom:0}.hero h1{max-width:700px}.hero-art{max-width:640px;height:400px}.hero-footnote{margin-top:1rem}.section-pad{grid-template-columns:1fr;gap:2rem}.focus-content{grid-template-columns:1fr;gap:3rem}.focus-heading>p{max-width:560px}.connect-mark{bottom:-12%}}
@media(max-width:600px){.site-header{height:72px}.site-header nav{gap:1.2rem}.site-header nav a:not(.nav-contact):not(.nav-technical){display:none}.nav-contact{padding:.7rem .85rem}.hero{padding-top:4.5rem;min-height:0}.hero h1{font-size:clamp(4rem,15vw,5.5rem)}.hero-intro{font-size:1.05rem}.hero-art{height:360px}.hero-footnote{margin-top:0}.about-bottom{grid-template-columns:1fr;gap:1.4rem}.about-aside{border-left:0;border-top:1px solid var(--line);padding:1.4rem 0 0}.focus-item{grid-template-columns:32px 1fr auto;gap:.65rem}.focus-item h3{font-size:1.14rem}.technical-teaser-bottom{display:block}.technical-teaser-bottom .button{margin-top:1.5rem}.work-heading{display:block}.work-heading .text-link{display:inline-block;margin-top:1.4rem}.project-grid{grid-template-columns:1fr}.project-card{min-height:300px}.connect{min-height:560px}.connect-mark{font-size:17rem;bottom:-3%;right:0}.site-footer{flex-wrap:wrap}.site-footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.nav-contact,.site-header nav a{transition:none}}
