:root{--ink:#091619;--petrol:#03373c;--petrol-bright:#075158;--paper:#f5f5f4;--mist:#d9e3e0;--line:rgba(245,245,244,.2);--bodyline:rgba(3,55,60,.18);--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--sans)}a{color:inherit}.skip-link{position:fixed;z-index:10;top:-4rem;left:1rem;background:var(--paper);color:var(--ink);padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:88px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border-bottom:1px solid rgba(245,245,244,.14)}.logo-link,.footer-logo{display:block;width:180px}.logo-link img,.footer-logo img{display:block;width:100%;height:auto;filter:brightness(0) invert(1) opacity(.95)}nav{display:flex;align-items:center;gap:28px;font-size:.72rem;letter-spacing:.04em}nav>a{text-decoration:none}nav>a:not(.nav-cta):hover,nav>a:not(.nav-cta):focus-visible,footer>a:hover,footer>a:focus-visible{color:#a7cdca}.nav-cta{padding:10px 14px;border:1px solid rgba(245,245,244,.45);border-radius:999px}.nav-cta:hover,.nav-cta:focus-visible{background:var(--paper);color:var(--ink)}.hero{position:relative;min-height:650px;padding:clamp(80px,12vw,155px) clamp(24px,12vw,180px) 70px;overflow:hidden;background:var(--ink);color:var(--paper);isolation:isolate}.hero-grid{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 49.9%,rgba(245,245,244,.1) 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,rgba(245,245,244,.08) 50%,transparent 50.1%);background-size:100% 100%,100% 100%;opacity:.75}.hero:after{position:absolute;z-index:-1;right:-12vw;bottom:-23vw;width:min(54vw,740px);height:min(54vw,740px);border:1px solid rgba(111,174,171,.52);border-radius:50%;box-shadow:0 0 0 75px rgba(3,55,60,.45),0 0 0 150px rgba(3,55,60,.22);content:''}.hero-copy{max-width:650px}.kicker{margin:0 0 20px;color:#9fc7c3;font-size:.68rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.hero h1,h2{margin:0;font-weight:500;letter-spacing:-.065em;line-height:.94}.hero h1{font-size:clamp(4rem,8.5vw,8.2rem)}em{font-family:var(--serif);font-weight:400;letter-spacing:-.075em}.hero-intro{max-width:390px;margin:30px 0;color:#cbd6d4;font-size:.97rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:47px;padding:0 20px;border:1px solid transparent;border-radius:0;text-decoration:none;font-size:.76rem;font-weight:700;letter-spacing:.04em;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button:focus-visible,.text-link:focus-visible,.nav-cta:focus-visible{outline:2px solid #a7cdca;outline-offset:4px}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#b9d4d1}.hero-proof{position:absolute;right:clamp(24px,7vw,105px);bottom:65px;display:grid;gap:3px;min-width:155px;padding:21px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-proof strong{font-size:2rem;letter-spacing:-.08em}.hero-proof span,.trust-stat span{color:#b9d4d1;letter-spacing:.14em;font-size:.67rem}.hero-proof p{margin:0;color:#b6c4c2;font-size:.68rem}.hero-mark{position:absolute;right:clamp(70px,16vw,260px);top:60px;width:150px;height:150px;opacity:.38}.hero-mark img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}.intro-band{display:grid;grid-template-columns:.2fr 1.25fr .8fr;gap:clamp(30px,6vw,105px);align-items:start;padding:clamp(90px,13vw,180px) clamp(24px,12vw,180px);background:var(--petrol);color:var(--paper)}.band-index{margin:0;color:#a7cdca;font:400 1.15rem var(--serif)}.intro-statement h2,.approach h2,.scope h2,.contact h2{font-size:clamp(2.8rem,5vw,5.4rem)}.intro-copy{max-width:330px;padding-top:40px;color:#c5d4d1;font-size:.92rem}.text-link{display:inline-flex;gap:14px;margin-top:22px;padding-bottom:5px;border-bottom:1px solid #9fc7c3;color:var(--paper);font-size:.75rem;font-weight:700;text-decoration:none}.text-link:hover{color:#9fc7c3}.approach{display:grid;grid-template-columns:minmax(300px,.78fr) 1.22fr;min-height:710px;background:#e8efed}.approach-image{position:relative;overflow:hidden;background:var(--ink)}.approach-image:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,55,60,.4),transparent 60%);content:''}.approach-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.65) contrast(1.12)}.approach-copy{padding:clamp(80px,11vw,145px) clamp(28px,9vw,135px)}.approach-copy .kicker{color:var(--petrol)}.approach-copy h2{color:var(--petrol)}.approach ol{margin:55px 0 0;padding:0;list-style:none;border-top:1px solid var(--bodyline)}.approach li{display:grid;grid-template-columns:50px 1fr;gap:17px;padding:20px 0;border-bottom:1px solid var(--bodyline)}.approach li>span{color:var(--petrol-bright);font:.85rem var(--serif)}.approach h3{margin:0 0 4px;font-size:.92rem}.approach li p{margin:0;color:#36575a;font-size:.78rem}.scope{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end;padding:clamp(90px,12vw,160px) clamp(24px,12vw,180px);background:var(--paper)}.scope-heading .kicker{color:var(--petrol)}.scope h2{font-size:clamp(3.2rem,6.3vw,6.8rem)}.scope-panel{padding:30px;border-left:1px solid var(--petrol)}.scope-panel p{max-width:330px;margin:0 0 28px;color:#426164}.button-outline{border-color:var(--petrol);color:var(--petrol)}.button-outline:hover{background:var(--petrol);color:var(--paper)}.trust{display:grid;grid-template-columns:1fr .48fr;background:var(--ink);color:var(--paper)}.trust-quote{padding:clamp(75px,10vw,135px) clamp(24px,12vw,180px)}.trust blockquote{max-width:760px;margin:0;font:400 clamp(2rem,3.9vw,4.25rem)/1.06 var(--serif);letter-spacing:-.045em}.trust cite{display:block;margin-top:30px;color:#a7cdca;font-size:.75rem;font-style:normal}.trust-stat{display:flex;flex-direction:column;justify-content:center;padding:50px;border-left:1px solid var(--line);background:var(--petrol)}.trust-stat strong{font-size:clamp(4.5rem,8vw,7.5rem);line-height:.8;letter-spacing:-.09em}.trust-stat p{margin:22px 0;font-size:.82rem}.contact{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;padding:clamp(100px,13vw,175px) clamp(24px,12vw,180px);overflow:hidden;background:var(--petrol);color:var(--paper)}.contact-ornament{position:absolute;right:-250px;bottom:-440px;width:730px;height:730px;border:1px solid rgba(185,212,209,.45);border-radius:50%;box-shadow:0 0 0 100px rgba(3,55,60,.65)}.contact-copy,.contact-details{position:relative}.contact h2{max-width:700px}.contact-details{align-self:end}.contact address{margin:36px 0 14px;color:#c5d4d1;font-size:.8rem;font-style:normal;line-height:1.8}.contact-details p{margin:0;color:#a7cdca;font-size:.73rem}footer{display:grid;grid-template-columns:1fr 1fr auto;gap:25px;align-items:center;padding:32px clamp(24px,5vw,78px);background:var(--ink);color:#b8c6c4;font-size:.72rem}footer p{margin:0}footer>a{color:var(--paper);text-decoration:none}footer small{grid-column:1/-1;padding-top:16px;border-top:1px solid rgba(245,245,244,.12);font-size:.62rem}.has-js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.has-js .visible{opacity:1;transform:none}@media(max-width:780px){.site-header{height:74px;padding:0 20px}.logo-link{width:145px}nav{gap:12px}nav>a:not(.nav-cta){display:none}.hero{min-height:620px;padding:105px 24px 40px}.hero h1{font-size:clamp(3.8rem,17vw,6rem)}.hero-mark{top:45px;right:25px;width:82px;height:82px}.hero-proof{right:24px;bottom:35px}.intro-band,.scope,.contact{grid-template-columns:1fr;gap:38px;padding:82px 24px}.intro-copy{padding:0}.approach{grid-template-columns:1fr}.approach-image{height:330px}.approach-copy{padding:75px 24px}.approach ol{margin-top:42px}.trust{grid-template-columns:1fr}.trust-stat{min-height:230px;border-top:1px solid var(--line);border-left:0}.contact-details{align-self:start}footer{grid-template-columns:1fr;gap:14px;padding:30px 24px}.footer-logo{width:170px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.has-js .reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
