:root{--navy:#082b4b;--green:#119447;--gold:#f3b51b;--ink:#173346;--muted:#5d6d78;--paper:#f4f6f3;--line:#dce3df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:white;color:var(--ink);font-family:Aptos,Source Sans\ 3,Segoe UI,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Aptos Display,Aptos,Segoe UI,sans-serif;color:var(--navy);font-weight:650;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(42px,5.2vw,76px)}h2{font-size:clamp(32px,3.2vw,48px)}h3{font-size:23px}p{color:var(--muted)}.skip-link{position:absolute;left:15px;top:-100px;padding:12px;background:white;z-index:10}.skip-link:focus{top:10px}.topbar{background:var(--navy);color:#dae4eb;display:flex;justify-content:space-between;padding:9px 6%;font-size:11px;letter-spacing:.13em}.topbar a{letter-spacing:.04em;font-size:13px}header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:10px 6%;border-bottom:1px solid var(--line);position:relative;z-index:3;background:white}.brand{display:block;width:285px;flex-shrink:0}.brand img{width:100%;height:auto}nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:600}nav a{padding:12px 0}nav a:hover,nav a[aria-current=page]{color:var(--green)}nav .nav-contact{display:flex;gap:20px;align-items:center;margin-left:15px;border-bottom:2px solid var(--green)}.menu-toggle{display:none;background:none;border:0;color:var(--navy);padding:10px}.hero{display:grid;grid-template-columns:1.2fr 1fr;background:var(--navy);color:white;overflow:hidden}.hero-copy{padding:78px 6vw 50px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--green);margin-bottom:24px}.hero .eyebrow{color:#a5d9b8;display:flex;align-items:center;gap:12px}.eyebrow>span,.small-dot{height:6px;width:6px;background:var(--gold);display:inline-block}.hero h1{color:white;font-size:clamp(42px,4.7vw,70px);line-height:1.07;letter-spacing:-.04em;max-width:780px}.hero h1 em{font-style:normal;color:#9ed4b4}.hero-description{max-width:560px;color:#cedbe4;margin-top:28px;font-size:17px;line-height:1.8}.button-row{display:flex;align-items:center;gap:26px;margin-top:34px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 23px;border:0;font-size:14px;font-weight:650;line-height:1.5;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button.gold{background:var(--gold);color:var(--navy)}.button.gold:hover{background:#ffcb44}.button.navy{background:var(--navy);color:white}.button.navy:hover{background:#124467}.button:disabled{opacity:.6;cursor:default;transform:none}.hero-link{gap:15px;font-size:14px;color:white}.hero-footnote,.hero-link{display:flex;align-items:center}.hero-footnote{font-size:11px;letter-spacing:.035em;margin-top:54px;color:#b1c4d1;gap:10px}.hero-footnote .small-dot{background:var(--green);border-radius:50%}.system-visual{align-self:center;position:relative;margin:40px 4vw 40px 0;border:1px solid #3a5267;transform:rotate(-3deg);background:#0a304f}.visual-bottom,.visual-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.13em;padding:18px 22px;color:#bdd0dc}.visual-heading{border-bottom:1px solid #3a5267}.visual-dot{width:7px;height:7px;background:var(--green);border-radius:50%}.system-visual svg{width:100%;display:block;max-height:405px}.visual-bottom{border-top:1px solid #3a5267}.focus-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 6%;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}.focus-strip>span:first-child{font-size:10px;letter-spacing:.15em;color:var(--green)}.section{padding:85px 6%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:7%}.intro>.eyebrow{padding-top:12px}.intro p:not(.eyebrow){max-width:760px;margin-top:26px}.text-link{font-size:14px;font-weight:650;display:inline-flex;gap:20px;align-items:center;color:var(--navy);margin-top:26px;border-bottom:1px solid var(--green);padding-bottom:6px}.text-link:hover{color:var(--green)}.services-section{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:45px}.section-heading p:not(.eyebrow){font-size:14px;max-width:320px}.service-row{display:grid;grid-template-columns:65px 1fr 1.1fr;gap:30px;padding:39px 0;border-top:1px solid #cbd5cf;align-items:start;transition:background .2s}.service-row:last-child{border-bottom:1px solid #cbd5cf}.service-row:hover{background:#eaf0e9}.service-number{font-size:13px;color:var(--green);padding-top:6px}.service-title{display:flex;align-items:flex-start;gap:25px;max-width:330px}.service-title svg{flex-shrink:0;color:var(--green)}.service-title h3{font-size:28px}.service-row p{font-size:15px;max-width:550px}.service-row .text-link{margin-top:14px}.approach{background:var(--navy)}.approach,.approach h2,.approach h3{color:white}.approach .eyebrow{color:#91cba6}.approach .section-heading>p{color:#c1d0db}.approach ol{list-style:none;padding:0;margin:50px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.approach li{border-top:1px solid #536779;padding-top:22px}.approach li span{color:var(--gold);font-size:13px}.approach li h3{font-size:20px;font-weight:500;line-height:1.45;letter-spacing:-.015em;margin-top:22px}.audience{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.audience>p{max-width:550px}.cta{margin:0 6% 65px;background:var(--paper);padding:55px 5%;display:flex;align-items:center;justify-content:space-between;gap:35px;border-left:5px solid var(--green)}.cta h2{font-size:clamp(30px,3.2vw,44px)}.cta .eyebrow{margin-bottom:16px}.footer-main{padding:55px 6%;display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:8%;border-top:1px solid var(--line);font-size:14px}.footer-brand{width:260px;margin-left:-7px}.footer-main p{margin-top:20px}.footer-main h3{font-size:14px;letter-spacing:0;margin-bottom:24px}.footer-main>div>a:not(.brand){display:flex;align-items:center;gap:10px;margin-top:10px}.footer-main>div>a:hover{color:var(--green)}.footer-bottom{border-top:1px solid var(--line);margin:0 6%;padding:22px 0;justify-content:space-between;font-size:11px;color:var(--muted)}.footer-bottom,.footer-bottom>div{display:flex;gap:25px}.page-heading{background:var(--paper);padding:65px 6%}.page-heading h1{max-width:1000px;font-size:clamp(40px,4.6vw,64px)}.page-heading>p:last-child{margin-top:22px;max-width:700px}.purpose{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9%}.purpose h2{font-size:35px;max-width:430px}.purpose p:last-child{margin-top:25px}.values{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;margin-top:40px}.values>div{padding-top:20px;border-top:1px solid var(--line)}.values span{font-size:12px;color:var(--green)}.values h3{font-size:23px;margin-top:15px;line-height:1.3}.service-detail{display:grid;grid-template-columns:1.4fr 1fr;gap:10%}.service-detail p{margin:25px 0}.service-detail aside{background:var(--paper);padding:35px;height:fit-content;border-top:3px solid var(--green)}.service-detail ul{list-style:none;margin:25px 0;padding:0}.service-detail li{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding:16px 0;font-size:15px}.service-detail li svg{flex-shrink:0;color:var(--green);margin-top:3px}.service-detail aside p{font-size:13px}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.contact-layout>div>p:not(.eyebrow){margin-top:25px}.contact-item{display:flex;gap:18px;align-items:flex-start;margin-top:30px;font-size:16px}.contact-item>svg{flex-shrink:0;color:var(--green);margin-top:4px}.contact-item h3{font-size:18px;letter-spacing:0}.contact-item p{margin-top:8px}.contact-item .text-link{margin-top:12px}.contact-item>span{display:flex;align-items:center;gap:12px}.inquiry-form{padding:35px;background:var(--paper);border-top:3px solid var(--green)}.inquiry-form h2{font-size:29px}.inquiry-form>p{font-size:12px;margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.inquiry-form label{display:block;font-size:13px;font-weight:600;margin-top:22px}.inquiry-form input:not([type=checkbox]),.inquiry-form select,.inquiry-form textarea{width:100%;border:1px solid #c8d2cc;border-radius:0;padding:12px;background:white;color:var(--ink);font-size:16px;margin-top:8px;min-width:0}.inquiry-form textarea{resize:vertical;max-width:100%}.inquiry-form .consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px}.consent input{margin:4px 0;flex-shrink:0;width:16px;height:16px;accent-color:var(--green)}.consent a{text-decoration:underline}.inquiry-form .button{margin-top:24px;width:100%}.form-success{color:#146533}.form-error,.form-success{font-size:14px;margin-top:18px}.form-error{color:#a32b21}.legal{max-width:950px;margin:auto}.legal h2{font-size:28px;margin-top:35px}.legal p{margin-top:18px}.hero-copy{animation:enter .7s ease-out}.system-visual{animation:diagram .9s ease-out}@keyframes enter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes diagram{0%{opacity:0;transform:translateY(20px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1050px){header{height:95px}.brand{width:240px}nav{gap:20px}nav .nav-contact{margin-left:0}.hero{grid-template-columns:1.2fr 1fr}.hero-copy{padding-top:55px}.button-row{gap:20px}.hero h1{font-size:49px}.hero-description{font-size:15px}.system-visual{margin-right:30px}.focus-strip{font-size:12px}.service-title{gap:15px}.service-row{grid-template-columns:35px 1fr 1fr;gap:18px}.contact-layout{gap:5%}.inquiry-form{padding:25px}.section{padding-top:65px;padding-bottom:65px}}@media(max-width:760px){body{font-size:16px}.topbar{padding:8px 5%;font-size:8px;letter-spacing:.06em}.topbar a{font-size:11px}.brand{width:220px}header{height:85px;padding:8px 5%}.menu-toggle{display:block}nav{display:none;position:absolute;top:85px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:18px 6% 28px;box-shadow:0 12px 20px #082b4b12}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:6px}nav a{padding:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 6% 30px}.hero h1{font-size:clamp(39px,9vw,62px)}.hero-description{font-size:16px}.hero-footnote{margin-top:28px}.system-visual{margin:15px 9% 40px;max-width:470px;justify-self:center;width:82%;transform:rotate(-2deg)}.system-visual svg{max-height:300px}.visual-bottom,.visual-heading{padding:12px;font-size:8px}.focus-strip{display:grid;grid-template-columns:1fr 1fr;padding:22px 6%;gap:12px;font-size:12px}.section{padding:55px 6%}.intro{grid-template-columns:1fr;gap:10px}.intro>.eyebrow{padding:0}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}.section-heading p:not(.eyebrow){font-size:14px}.service-row{grid-template-columns:26px 1fr;gap:14px;padding:28px 0}.service-row>div:last-child{grid-column:2}.service-title{max-width:none;align-items:center}.service-title h3{font-size:25px}.service-title svg{width:24px}.approach ol{grid-template-columns:1fr;gap:0;margin-top:30px}.approach li{display:grid;grid-template-columns:40px 1fr;padding:18px 0}.approach li h3{margin-top:0;font-size:18px}.audience,.contact-layout,.purpose,.service-detail{grid-template-columns:1fr;gap:35px}.cta{margin:0 6% 45px;padding:35px 7%;align-items:flex-start;flex-direction:column}.cta .eyebrow{font-size:9px}.footer-main{grid-template-columns:1fr 1fr;gap:35px;padding-top:35px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:nth-child(3){min-width:0}.footer-main p{overflow-wrap:anywhere}.footer-brand{width:230px}.footer-bottom{flex-direction:column;gap:10px}.page-heading{padding:45px 6%}.values{grid-template-columns:1fr 1fr;gap:25px}.values h3{font-size:21px}.inquiry-form{padding:25px}.form-grid{grid-template-columns:1fr}.contact-layout h2{font-size:35px}.eyebrow{font-size:10px}.legal h2{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}