:root{--green:#183c36;--white:#fff;--line:rgba(24,60,54,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--green);background:var(--white);font-family:Petita,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.wrap{width:min(100% - 96px,1360px);margin-inline:auto}.skip-link{position:absolute;z-index:10;left:12px;top:-100px;background:var(--white);padding:12px}.skip-link:focus{top:12px}:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.site-header{height:104px;background:var(--white);position:relative;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.header-brand{display:flex;align-items:center;gap:10px;line-height:0}.header-brand img:first-child{width:58px;height:39px;object-fit:contain}.header-brand img:last-child{width:146px;height:auto}.site-header nav{display:flex;align-items:center;gap:36px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.site-header nav>a:not(.nav-cta):hover,.underlined-link:hover,.portfolio-note a:hover{opacity:.55}.nav-cta{border:1px solid var(--green);padding:15px 18px;display:flex;gap:28px;align-items:center}.nav-cta:hover{background:var(--green);color:var(--white)}.nav-cta span{font-size:17px}.menu-button{display:none}
.hero{height:min(760px,calc(100svh - 104px));min-height:590px;position:relative;overflow:hidden;color:var(--white);background:var(--green)}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background:url('/assets/hero.webp') center 52%/cover no-repeat;filter:saturate(.68)}.hero-overlay{background:linear-gradient(90deg,rgba(11,36,31,.94) 0%,rgba(14,46,39,.77) 42%,rgba(13,42,36,.21) 100%),linear-gradient(0deg,rgba(11,34,30,.47),transparent 40%)}.hero-inner{height:100%;position:relative;z-index:1;display:flex;align-items:center}.hero-content{max-width:875px;padding-bottom:22px}.eyebrow{margin:0 0 30px;display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.19em;font-weight:700;text-transform:uppercase}.short-rule{width:30px;height:1px;background:currentColor;display:inline-block;flex:none}.eyebrow.light{color:rgba(255,255,255,.8)}.hero h1,.intro h2,.section-head h2,.contact h2,.statement blockquote{letter-spacing:-.065em;font-weight:600}.hero h1{font-size:clamp(62px,7vw,109px);line-height:1.02;margin:0}.hero h1 span,.intro h2 span,.section-head h2 span,.contact h2 span,.statement blockquote span{font-weight:300}.hero-content>p:not(.eyebrow){font-size:18px;line-height:1.65;max-width:580px;margin:30px 0 34px;color:rgba(255,255,255,.85)}.hero-actions{display:flex;align-items:center;gap:28px}.button{min-height:56px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:space-between;gap:54px;padding:0 19px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:18px;font-weight:400}.button-white{background:var(--white);color:var(--green)}.button-white:hover{background:#e7efed}.button-green{background:var(--green);color:var(--white)}.button-green:hover{background:#28574d}.hero-link{font-size:12px;font-weight:700;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:8px}.hero-link span{margin-left:15px}.hero-bottom{position:absolute;bottom:27px;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.75)}.hero-bottom a span{font-size:17px;margin-left:12px}
.section-space{padding:110px 0}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:75px}.section-label>span{font-size:11px;letter-spacing:.16em;opacity:.55;display:block;margin-top:60px}.intro h2,.section-head h2{font-size:clamp(47px,5.2vw,78px);line-height:1.07;margin:0}.intro .lead{font-size:21px;line-height:1.55;margin:30px 0 16px;max-width:780px}.intro p:not(.lead){line-height:1.75;font-size:16px;max-width:700px;opacity:.79}.underlined-link{display:inline-block;border-bottom:1px solid var(--green);padding-bottom:9px;margin-top:20px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.underlined-link span{margin-left:35px;font-size:18px}
.services{background:var(--green);color:var(--white)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:54px}.section-head>p{font-size:16px;line-height:1.65;max-width:335px;margin:0 0 8px;opacity:.78}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3)}.service-card{min-height:330px;border-right:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);padding:28px;display:flex;flex-direction:column}.number{font-size:11px;letter-spacing:.15em;opacity:.6}.service-symbol{font-size:37px;line-height:1;margin:54px 0 28px;font-family:Georgia,serif;font-weight:400}.service-card h3{font-size:27px;letter-spacing:-.04em;font-weight:600;margin:0 0 13px}.service-card p{font-size:14px;line-height:1.6;max-width:240px;opacity:.76;margin:0}
.portfolio-head{margin-bottom:38px}.portfolio-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:310px 310px;gap:12px}.portfolio-tile{position:relative;overflow:hidden;background:var(--green);color:var(--white);padding:24px;display:flex;flex-direction:column;justify-content:space-between}.portfolio-tile:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.14),transparent 40%),linear-gradient(135deg,transparent 30%,rgba(255,255,255,.07) 80%)}.portfolio-tile>*{position:relative;z-index:1}.tile-one{grid-row:span 2}.tile-two{background:#244d45}.tile-three{background:#2c574e}.tile-four{background:#17352f;grid-column:span 2}.frame-corners{position:absolute;inset:15px;border:1px solid rgba(255,255,255,.18);z-index:0}.tile-number{font-size:10px;letter-spacing:.19em;font-weight:700}.tile-cross{font-size:54px;line-height:1;font-weight:200;opacity:.4;display:block;margin-bottom:28px}.portfolio-tile h3{font-size:clamp(27px,2.8vw,43px);line-height:1.1;letter-spacing:-.05em;font-weight:500;margin:0 0 5px}.portfolio-tile p{font-size:13px;opacity:.7;margin:0}.portfolio-note{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin:28px 0 0;padding-top:20px;font-size:14px}.portfolio-note a{font-weight:700;border-bottom:1px solid var(--green)}
.statement{background:var(--green);color:var(--white);padding:105px 0}.statement blockquote{font-size:clamp(44px,5.5vw,84px);line-height:1.1;margin:0 0 28px}.statement-inner>p:last-child{opacity:.76;font-size:17px}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.steps article{padding:30px 30px 0 0}.steps article>span{font-size:11px;letter-spacing:.15em;opacity:.62}.steps h3{font-size:31px;font-weight:500;letter-spacing:-.04em;margin:50px 0 12px}.steps p{font-size:15px;line-height:1.7;max-width:320px;opacity:.75}
.contact{background:var(--green);color:var(--white);padding:106px 0}.contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:end}.contact h2{font-size:clamp(57px,6.7vw,100px);line-height:1.05;margin:0}.contact-copy{padding-bottom:8px}.contact-copy>p{font-size:20px;line-height:1.6;max-width:440px;margin:0 0 32px}.contact-copy small{font-size:12px;line-height:1.5;display:block;opacity:.65;margin-top:16px;max-width:370px}.site-footer{background:#102c27;color:var(--white);padding:50px 0 25px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center}.footer-brand{width:145px;display:block;line-height:0}.footer-brand img{width:100%;height:auto}.footer-top>div{text-align:right}.footer-top p{font-size:14px;opacity:.8}.footer-top>div>a{font-size:11px;letter-spacing:.13em}.footer-bottom{border-top:1px solid rgba(255,255,255,.25);margin-top:48px;padding-top:22px;font-size:11px;letter-spacing:.06em;opacity:.65}
dialog{width:min(92vw,600px);max-height:90vh;border:0;background:var(--white);color:var(--green);padding:0;box-shadow:0 24px 100px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(7,29,25,.75)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 30px 0}.dialog-header .eyebrow{margin:0}.dialog-close{background:none;border:0;font-size:34px;line-height:1}.dialog-body{padding:10px 30px 32px}.dialog-body h2{font-size:38px;letter-spacing:-.05em;margin:15px 0 8px}.dialog-body>p{line-height:1.6}.dialog-body form{display:grid;gap:16px;margin-top:25px}.dialog-body label{display:grid;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em}.dialog-body input,.dialog-body select,.dialog-body textarea{width:100%;padding:12px;border:1px solid var(--line);background:var(--white);color:var(--green);border-radius:0}.dialog-body textarea{resize:vertical}.form-status{font-size:13px;min-height:1em;margin:0}
@media(max-width:1050px){.wrap{width:min(100% - 48px,1360px)}.site-header{height:80px}.header-brand img:first-child{width:48px;height:32px}.header-brand img:last-child{width:128px}.menu-button{display:flex;flex-direction:column;gap:6px;padding:12px;border:0;background:none}.menu-button span{width:27px;height:2px;background:var(--green)}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--white);padding:18px 24px 30px;box-shadow:0 12px 25px rgba(0,0,0,.1);flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:16px 0;border-top:1px solid var(--line)}.site-header nav .nav-cta{padding:15px;margin-top:8px;justify-content:center}.hero{height:calc(100svh - 80px)}.service-grid{grid-template-columns:repeat(2,1fr)}.intro-grid{grid-template-columns:1fr;gap:10px}.section-label>span{display:none}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,270px)}.tile-one{grid-row:span 2}.tile-four{grid-column:span 2}.contact-grid{grid-template-columns:1fr;gap:35px}}
@media(max-width:650px){.wrap{width:min(100% - 36px,1360px)}.header-brand img:first-child{width:43px;height:29px}.header-brand img:last-child{width:113px}.hero{min-height:640px}.hero-image{background-position:61% center}.hero-overlay{background:linear-gradient(90deg,rgba(11,36,31,.86),rgba(11,36,31,.45)),linear-gradient(0deg,rgba(11,36,31,.72),transparent 60%)}.hero h1{font-size:clamp(48px,13vw,70px)}.hero-content>p:not(.eyebrow){font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.hero-bottom>span{display:none}.hero-bottom{justify-content:flex-end}.eyebrow{font-size:9px;letter-spacing:.14em}.section-space{padding:75px 0}.intro h2,.section-head h2{font-size:45px}.intro .lead{font-size:18px}.section-head{align-items:start;flex-direction:column;gap:20px;margin-bottom:35px}.section-head>p{font-size:15px}.service-grid{grid-template-columns:1fr}.service-card{min-height:245px}.service-symbol{margin:26px 0 20px}.portfolio-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,290px)}.tile-one,.tile-four{grid-row:auto;grid-column:auto}.portfolio-note{display:block;line-height:1.7}.portfolio-note a{display:inline-block;margin-top:8px}.statement{padding:75px 0}.statement blockquote{font-size:45px}.steps{grid-template-columns:1fr}.steps article{border-bottom:1px solid var(--line);padding:24px 0}.steps h3{margin:18px 0 7px}.steps p{margin:0}.contact{padding:80px 0}.contact h2{font-size:57px}.contact-copy>p{font-size:17px}.footer-top{align-items:start}.footer-brand{width:105px}.footer-top>div{max-width:180px}.footer-top p{line-height:1.5}.footer-bottom{align-items:start;flex-direction:column;gap:10px}.dialog-body,.dialog-header{padding-left:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
