:root{color-scheme:dark;--bg:#07120f;--text:#f5f7f3;--muted:#bdc9c1;--green:#b6dfa2;--line:#30483c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #d4fba4;outline-offset:6px}section,article{scroll-margin-top:100px}.skip{position:fixed;left:20px;top:-100px;background:var(--green);color:#07120f;padding:16px;z-index:20}.skip:focus{top:20px}.header{position:absolute;z-index:5;top:0;left:0;width:100%;display:flex;align-items:center;gap:36px;padding:25px 5.2%}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand svg{width:86px;height:62px}.brand>span{font-size:42px;letter-spacing:-1.5px;font-weight:400;line-height:1}.brand small{display:block;font-size:13px;letter-spacing:6.2px;margin:11px 0 0 3px}.header nav{display:flex;gap:30px;margin-left:auto;align-items:center}.header nav a{font-size:15px;white-space:nowrap;position:relative;padding:16px 0}.header nav a:after{content:'';position:absolute;bottom:1px;left:0;width:0;height:2px;background:var(--green);transition:width .2s}.header nav a:hover:after,.header nav a.active:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:56px;padding:17px 28px;border:1px solid #c0e2af;border-radius:40px;font-size:17px;font-weight:600;transition:background .2s,box-shadow .2s}.button span{font-size:25px;font-weight:400;line-height:1}.outline{background:#04100b40}.outline:hover{background:#264d35}.primary{background:linear-gradient(110deg,#47753d 0%,#275e37 35%,#14482e 80%,#526d3b 100%);box-shadow:0 4px 30px #9ccd6115;color:#fff}.primary:hover{box-shadow:0 0 28px #b6dfa240;background:#356c40}.menu-toggle{display:none}.hero{min-height:850px;position:relative;isolation:isolate;padding:152px 5.2% 50px}.hero-art{position:absolute;inset:0;z-index:-2;background:#0b1b16 url('/assets/hero.webp') center top/cover no-repeat}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,12,10,.81),rgba(3,12,10,.36) 35%,transparent 68%),linear-gradient(0deg,#07120f 0%,rgba(7,18,15,.8) 8%,transparent 36%)}.hero-inner{max-width:600px;display:flex;flex-direction:column;align-items:flex-start}.hero-inner>h1,.hero-inner>.eyebrow{width:100%}.hero .intro{order:1}.hero .primary{order:2}.eyebrow{text-transform:uppercase;font-size:13px;letter-spacing:5px;line-height:1.8;color:#e1e9e0;margin:0 0 23px}h1{font-size:clamp(42px,4.1vw,66px);letter-spacing:-1.6px;line-height:1.04;margin:0 0 23px;font-weight:600}h1 span,h2 span{color:var(--green)}.intro{font-size:18px;line-height:1.5;max-width:490px;color:#e3e8e2;margin:0 0 22px}.hero .primary{min-width:300px}.service-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}.service-strip>a{display:flex;gap:22px;align-items:flex-start;position:relative;padding-right:24px}.service-strip>a:not(:last-child):after{content:'';position:absolute;width:1px;right:0;top:9px;bottom:0;background:#54745d80}.icon{display:flex;justify-content:center;align-items:center;border:1px solid #b6d6a7;border-radius:50%;width:70px;height:70px;flex-shrink:0;color:#bfdda9}.icon svg{width:43px;height:43px}.service-strip strong{font-size:18px;line-height:1.2;display:block;margin:5px 0 12px}.service-strip small{color:#d1d9d0;font-size:16px;line-height:1.45;display:block}.service-strip a:hover .icon{background:#29482f}.section{padding:110px 7%;border-top:1px solid #22382d}.section-heading{max-width:720px;margin-bottom:48px}h2{font-size:clamp(32px,3.4vw,50px);line-height:1.12;font-weight:500;letter-spacing:-1.4px;margin:0 0 22px}.section p{color:var(--muted);font-size:17px;line-height:1.7}.section .eyebrow{font-size:12px;color:var(--green);margin:0 0 22px;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.service{padding:26px 0;border-top:1px solid #52724c}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.service .icon{width:57px;height:57px}.service .icon svg{width:34px;height:34px}.number{font-size:12px;letter-spacing:2px;color:#a2b39f}.service h3{font-size:22px;font-weight:500;line-height:1.25;min-height:56px;max-width:250px}.service p{font-size:16px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:linear-gradient(135deg,#10271d,#07120f)}.projects>div>p:not(.eyebrow){max-width:460px}.project-placeholder{padding:36px;border:1px solid #3f5746;background:#091710}.status{color:#c1d4ba;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:1px}.status i{width:7px;height:7px;border-radius:50%;background:#b6dfa2}.project-placeholder h3{font-size:32px;font-weight:400;line-height:1.2}.project-placeholder p{font-size:16px;max-width:350px}.text-link{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #7da06d;padding:18px 0;color:#c9e6b4}.text-link:hover{color:white}.purpose{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:12%}.purpose-symbol{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#497b3929,transparent 70%);color:#b6dfa2}.purpose-symbol svg{width:80%;max-width:330px}.purpose-symbol>span{font-size:10px;letter-spacing:3px;margin-top:28px}.purpose-lead{font-size:21px!important;color:#e2eadb!important}.purpose-notes{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid var(--line);margin-top:32px;padding-top:12px}.purpose-notes h3{font-size:16px;font-weight:500}.purpose-notes p{font-size:15px}.contact{text-align:center;background:radial-gradient(ellipse at 50% 100%,#21472c75,transparent 70%);padding-bottom:80px}.contact h2{max-width:850px;margin:0 auto 24px}.contact .button{margin:14px 0 23px;min-width:235px}.email{display:block;color:#d0e6c1;font-size:18px;overflow-wrap:anywhere}.email:hover{text-decoration:underline}.corporate-note{font-size:12px!important;margin-top:40px!important;color:#b4bfb5!important}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 5.2%;border-top:1px solid var(--line);color:#b8c5b9;font-size:12px}footer p{line-height:1.6}.footer-brand{font-size:15px;color:#f5f7f3}@media(min-width:1600px){.hero{min-height:940px}.hero-inner{max-width:650px}.intro{font-size:20px;max-width:550px}.service-strip{margin-top:55px}.header nav{gap:40px}.header{gap:70px}.service-strip strong{font-size:20px}}@media(max-width:1200px){.header{gap:24px}.brand svg{width:65px}.brand>span{font-size:33px}.brand small{font-size:10px;letter-spacing:5px}.header nav{gap:20px}.header-contact{padding:13px 20px;font-size:15px;gap:20px}.service-strip{gap:20px}.service-strip>a{gap:14px}.service-strip .icon{width:52px;height:52px}.service-strip .icon svg{width:34px}.service-strip strong{font-size:16px}.service-strip small{font-size:15px}}@media(max-width:1050px){.header{padding:20px 5%}.header-contact{margin-left:auto}.menu-toggle{display:flex;align-items:center;gap:12px;order:3;color:white;background:#0a1e15;border:1px solid #91b887;border-radius:6px;padding:12px 16px;min-height:48px}.header nav{display:none;position:absolute;top:98px;left:5%;right:5%;padding:18px 25px;background:#0b2018;border:1px solid #537b52;box-shadow:0 20px 40px #0008;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{padding:14px 0;min-height:48px}.hero{padding-top:150px}.hero-inner{max-width:550px}h1{font-size:56px}.service-strip{grid-template-columns:1fr 1fr;gap:32px;margin-top:50px}.service-strip>a:nth-child(2):after{display:none}.service-strip strong{font-size:18px}.service-strip small{font-size:16px}.service-strip .icon{width:62px;height:62px}.hero-art{background-position:58% top}.service-grid{grid-template-columns:1fr 1fr}.purpose{gap:7%}.section{padding:80px 6%}.projects{gap:6%}}@media (max-width:600px), (max-width:1050px) and (max-height:600px) and (hover:none) and (pointer:coarse), (max-device-width:600px) and (hover:none) and (pointer:coarse){html{scroll-padding-top:20px}.header{padding:12px 4.5%;gap:15px}.header nav{top:78px}.brand{gap:10px}.brand svg{width:49px;height:43px}.brand>span{font-size:28px}.brand small{font-size:8px;letter-spacing:3.7px;margin-top:8px}.header-contact{display:none}.menu-toggle{margin-left:auto;font-size:13px;padding:10px 12px}.hero{padding:96px 4.5% 28px;min-height:unset}.hero-inner{max-width:none}.hero-art{height:300px;background-size:auto 680px;background-position:right -117px}.hero:after{background:linear-gradient(90deg,#07120fa6,transparent 62%),linear-gradient(180deg,#07120fb3,transparent 105px,transparent 225px,#07120f 280px)}.hero .eyebrow{max-width:175px;font-size:10px;letter-spacing:2.4px;line-height:1.6;margin-bottom:88px}.hero h1{margin-bottom:16px}h1{font-size:clamp(40px,10.8vw,46px);letter-spacing:-1.3px;line-height:1.04}.intro{font-size:17px;line-height:1.5;max-width:none}.hero .intro{order:2;margin:16px 0 0}.hero .primary{order:1;min-width:0;min-height:72px;width:100%;max-width:none;font-size:18px;line-height:1.2;padding:20px;gap:16px;box-shadow:0 5px 28px #9ccd612b}.service-strip{gap:25px 18px;margin-top:28px}.service-strip>a{display:block;padding-right:5px}.service-strip>a:after{display:none}.service-strip .icon{width:48px;height:48px;margin-bottom:16px}.service-strip .icon svg{width:29px;height:29px}.service-strip strong{font-size:17px;line-height:1.3;margin-bottom:10px}.service-strip small{font-size:14px}.section{padding:65px 7%}.section-heading{margin-bottom:35px}h2{font-size:34px;letter-spacing:-1px}.section .eyebrow{font-size:10px;letter-spacing:3px}.section p{font-size:16px}.service-grid{grid-template-columns:1fr;gap:0}.service{padding:25px 0}.service h3{min-height:0;max-width:100%;font-size:24px;margin-bottom:12px}.service-top{margin-bottom:20px}.projects,.purpose{grid-template-columns:1fr;gap:35px}.project-placeholder{padding:26px}.project-placeholder h3{font-size:28px}.purpose-symbol{min-height:190px}.purpose-symbol svg{width:170px}.purpose-symbol>span{font-size:8px;margin-top:15px}.purpose-notes{grid-template-columns:1fr;gap:4px}.contact h2{font-size:32px}.email{font-size:15px}footer{flex-direction:column;align-items:flex-start;gap:12px;padding:28px 7%}footer p{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media (max-width: 360px) {
  .hero { padding-top: 86px; }
  .hero-art { background-size: auto 520px; background-position: right -58px; }
  .hero .eyebrow { max-width: 155px; font-size: 8px; letter-spacing: 2.5px; margin-bottom: 90px; }
  .hero h1 { font-size: 32px; }
}

/* Embedded phone viewport fallback, generated from approved mobile CSS. */
html[data-phone-wide]{--mobile-unit:calc(100vw / var(--phone-reference,390));}
html[data-phone-wide]{scroll-padding-top:calc(20 * var(--mobile-unit))}
html[data-phone-wide] .header{padding:calc(12 * var(--mobile-unit)) 4.5%;gap:calc(15 * var(--mobile-unit))}
html[data-phone-wide] .header nav{top:calc(78 * var(--mobile-unit))}
html[data-phone-wide] .brand{gap:calc(10 * var(--mobile-unit))}
html[data-phone-wide] .brand svg{width:calc(49 * var(--mobile-unit));height:calc(43 * var(--mobile-unit))}
html[data-phone-wide] .brand>span{font-size:calc(28 * var(--mobile-unit))}
html[data-phone-wide] .brand small{font-size:calc(8 * var(--mobile-unit));letter-spacing:calc(3.7 * var(--mobile-unit));margin-top:calc(8 * var(--mobile-unit))}
html[data-phone-wide] .header-contact{display:none}
html[data-phone-wide] .menu-toggle{margin-left:auto;font-size:calc(13 * var(--mobile-unit));padding:calc(10 * var(--mobile-unit)) calc(12 * var(--mobile-unit))}
html[data-phone-wide] .hero{padding:calc(96 * var(--mobile-unit)) 4.5% calc(28 * var(--mobile-unit));min-height:unset}
html[data-phone-wide] .hero-inner{max-width:none}
html[data-phone-wide] .hero-art{height:calc(300 * var(--mobile-unit));background-size:auto calc(680 * var(--mobile-unit));background-position:right calc(-117 * var(--mobile-unit))}
html[data-phone-wide] .hero:after{background:linear-gradient(90deg,#07120fa6,transparent 62%),linear-gradient(180deg,#07120fb3,transparent calc(105 * var(--mobile-unit)),transparent calc(225 * var(--mobile-unit)),#07120f calc(280 * var(--mobile-unit)))}
html[data-phone-wide] .hero .eyebrow{max-width:calc(175 * var(--mobile-unit));font-size:calc(10 * var(--mobile-unit));letter-spacing:calc(2.4 * var(--mobile-unit));line-height:1.6;margin-bottom:calc(88 * var(--mobile-unit))}
html[data-phone-wide] .hero h1{margin-bottom:calc(16 * var(--mobile-unit))}
html[data-phone-wide] h1{font-size:clamp(calc(40 * var(--mobile-unit)),10.8vw,calc(46 * var(--mobile-unit)));letter-spacing:calc(-1.3 * var(--mobile-unit));line-height:1.04}
html[data-phone-wide] .intro{font-size:calc(17 * var(--mobile-unit));line-height:1.5;max-width:none}
html[data-phone-wide] .hero .intro{order:2;margin:calc(16 * var(--mobile-unit)) 0 0}
html[data-phone-wide] .hero .primary{order:1;min-width:0;min-height:calc(72 * var(--mobile-unit));width:100%;max-width:none;font-size:calc(18 * var(--mobile-unit));line-height:1.2;padding:calc(20 * var(--mobile-unit));gap:calc(16 * var(--mobile-unit));box-shadow:0 calc(5 * var(--mobile-unit)) calc(28 * var(--mobile-unit)) #9ccd612b}
html[data-phone-wide] .service-strip{gap:calc(25 * var(--mobile-unit)) calc(18 * var(--mobile-unit));margin-top:calc(28 * var(--mobile-unit))}
html[data-phone-wide] .service-strip>a{display:block;padding-right:calc(5 * var(--mobile-unit))}
html[data-phone-wide] .service-strip>a:after{display:none}
html[data-phone-wide] .service-strip .icon{width:calc(48 * var(--mobile-unit));height:calc(48 * var(--mobile-unit));margin-bottom:calc(16 * var(--mobile-unit))}
html[data-phone-wide] .service-strip .icon svg{width:calc(29 * var(--mobile-unit));height:calc(29 * var(--mobile-unit))}
html[data-phone-wide] .service-strip strong{font-size:calc(17 * var(--mobile-unit));line-height:1.3;margin-bottom:calc(10 * var(--mobile-unit))}
html[data-phone-wide] .service-strip small{font-size:calc(14 * var(--mobile-unit))}
html[data-phone-wide] .section{padding:calc(65 * var(--mobile-unit)) 7%}
html[data-phone-wide] .section-heading{margin-bottom:calc(35 * var(--mobile-unit))}
html[data-phone-wide] h2{font-size:calc(34 * var(--mobile-unit));letter-spacing:calc(-1 * var(--mobile-unit))}
html[data-phone-wide] .section .eyebrow{font-size:calc(10 * var(--mobile-unit));letter-spacing:calc(3 * var(--mobile-unit))}
html[data-phone-wide] .section p{font-size:calc(16 * var(--mobile-unit))}
html[data-phone-wide] .service-grid{grid-template-columns:1fr;gap:0}
html[data-phone-wide] .service{padding:calc(25 * var(--mobile-unit)) 0}
html[data-phone-wide] .service h3{min-height:0;max-width:100%;font-size:calc(24 * var(--mobile-unit));margin-bottom:calc(12 * var(--mobile-unit))}
html[data-phone-wide] .service-top{margin-bottom:calc(20 * var(--mobile-unit))}
html[data-phone-wide] .projects,html[data-phone-wide] .purpose{grid-template-columns:1fr;gap:calc(35 * var(--mobile-unit))}
html[data-phone-wide] .project-placeholder{padding:calc(26 * var(--mobile-unit))}
html[data-phone-wide] .project-placeholder h3{font-size:calc(28 * var(--mobile-unit))}
html[data-phone-wide] .purpose-symbol{min-height:calc(190 * var(--mobile-unit))}
html[data-phone-wide] .purpose-symbol svg{width:calc(170 * var(--mobile-unit))}
html[data-phone-wide] .purpose-symbol>span{font-size:calc(8 * var(--mobile-unit));margin-top:calc(15 * var(--mobile-unit))}
html[data-phone-wide] .purpose-notes{grid-template-columns:1fr;gap:calc(4 * var(--mobile-unit))}
html[data-phone-wide] .contact h2{font-size:calc(32 * var(--mobile-unit))}
html[data-phone-wide] .email{font-size:calc(15 * var(--mobile-unit))}
html[data-phone-wide] footer{flex-direction:column;align-items:flex-start;gap:calc(12 * var(--mobile-unit));padding:calc(28 * var(--mobile-unit)) 7%}
html[data-phone-wide] footer p{margin:0}
html[data-phone-wide] .header{gap:calc(15 * var(--mobile-unit));}html[data-phone-wide] .menu-toggle{display:flex;min-height:calc(48 * var(--mobile-unit));border-radius:calc(6 * var(--mobile-unit));}html[data-phone-wide] .button{border-radius:calc(40 * var(--mobile-unit));}html[data-phone-wide] .button span{font-size:calc(25 * var(--mobile-unit));}html[data-phone-wide] .service-strip{grid-template-columns:1fr 1fr;}html[data-phone-wide] .button,html[data-phone-wide] .icon,html[data-phone-wide] .menu-toggle{border-width:calc(1 * var(--mobile-unit));}html[data-phone-wide] .hero-inner{max-width:none;}html[data-phone-wide] #navigation{display:none;position:absolute;top:calc(78 * var(--mobile-unit));left:4.5%;right:4.5%;padding:calc(18 * var(--mobile-unit)) calc(25 * var(--mobile-unit));background:#0b2018;border:1px solid #537b52;flex-direction:column;gap:0;}html[data-phone-wide] #navigation.open{display:flex;}html[data-phone-wide] #navigation a{font-size:calc(15 * var(--mobile-unit));padding:calc(14 * var(--mobile-unit)) 0;min-height:calc(48 * var(--mobile-unit));}
html[data-phone-wide][data-phone-small] .hero{ padding-top: calc(86 * var(--mobile-unit)); }
html[data-phone-wide][data-phone-small] .hero-art{ background-size: auto calc(520 * var(--mobile-unit)); background-position: right calc(-58 * var(--mobile-unit)); }
html[data-phone-wide][data-phone-small] .hero .eyebrow{ max-width: calc(155 * var(--mobile-unit)); font-size: calc(8 * var(--mobile-unit)); letter-spacing: calc(2.5 * var(--mobile-unit)); margin-bottom: calc(90 * var(--mobile-unit)); }
html[data-phone-wide][data-phone-small] .hero h1{ font-size: calc(32 * var(--mobile-unit)); }
