:root{--navy:#112b4d;--green:#087858;--ink:#17324b;--muted:#536572;--cream:#f8f8f5;--line:#dce5e2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.75 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:235px;max-width:100%;height:auto}.nav nav{display:flex;gap:32px;align-items:center}.nav nav a{text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.02em;transition:color .2s}.nav nav a:hover,.text-link:hover{color:var(--green)}.nav-cta{border-bottom:1px solid var(--green);padding-bottom:5px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.19em;font-size:.72rem;font-weight:700;color:var(--green);margin-bottom:22px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.03;letter-spacing:-.028em}h1{font-size:clamp(4rem,7vw,7.1rem)}h2{font-size:clamp(3.2rem,5vw,5.3rem)}h3{font-size:2.25rem}p{color:var(--muted)}

.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#f7f8f5 5%,#eef4f0 100%);padding:70px 0 85px}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:7%}
.hero-grid:before{content:"";position:absolute;z-index:-1;right:-6%;top:50%;transform:translateY(-50%);width:620px;height:620px;max-width:64%;aspect-ratio:1/1;background:url('circle-mark.png') center/contain no-repeat;opacity:.16;pointer-events:none}
.hero-copy{padding:35px 0}
.hero h1{max-width:690px;color:var(--navy)}
.hero h1 em{color:var(--green);font-weight:400;font-style:italic}
.hero p{font-size:1.07rem;max-width:560px;margin:27px 0 32px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;background:var(--green);color:#fff;text-decoration:none;padding:14px 22px;min-height:55px;font-size:.86rem;font-weight:700;box-shadow:0 14px 30px -12px rgba(8,120,88,.55);transition:background .2s,transform .2s,box-shadow .2s}
.button:hover{background:#075c44;transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(8,120,88,.6)}
.portrait{position:relative;max-width:445px;margin-left:auto;padding:0 20px 24px 0}
.portrait:before{content:"";position:absolute;inset:22px 0 0 23px;border:1px solid #a9bbb1}
.portrait img{position:relative;display:block;width:100%;height:530px;object-fit:cover;object-position:top center;filter:saturate(.82);box-shadow:0 30px 60px -25px rgba(17,43,77,.35)}
.portrait figcaption{position:absolute;z-index:1;bottom:0;left:-25px;background:white;padding:16px 25px;box-shadow:0 16px 40px #17324b1f}
.portrait figcaption strong,.portrait figcaption span{dsplay:block}
.portrait figcaption strong{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;line-height:1.15}
.portrait figcaption span{font-size:.72rem;letter-spacing:.03em;color:var(--muted)}

.section{padding:108px 0}
.intro{position:relative}
.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:12%}
.intro h2{max-width:480px}
.intro-text{max-width:610px;padding-top:24px}
.intro-text p+p{margin-top:18px}
.text-link{display:inline-block;margin-top:28px;color:var(--green);font-size:.84rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;transition:opacity .2s}
.text-link:hover{opacity:.75}
.services{background:var(--cream)}
.section-heading{max-width:760px;margin-bottom:44px}
.section-heading h2{max-width:700px}
.section-heading p{margin-top:20px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-grid article{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:37px 42px 42px;min-height:250px;background:#fff;transition:box-shadow .25s,transform .25s}
.service-grid article:hover{box-shadow:0 24px 48px -24px rgba(17,43,77,.22);transform:translateY(-3px);z-index:1}
.number{color:var(--green);font-size:.75rem;font-weight:700;letter-spacing:.14em}
.service-grid h3{margin:16px 0 12px}
.service-grid p{max-width:470px;font-size:.92rem}
.approach{background:#fff}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%}
.approach h2{margin-bottom:20px}
.approach p{max-width:500px}
.steps{border-top:1px solid var(--line)}
.steps>div{display:grid;grid-template-columns:45px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:22px 0;transition:padding-left .2s}
.steps>div:hover{padding-left:6px}
.steps span{color:var(--green);font-size:.75rem;font-weight:700}
.steps strong{display:block;color:var(--ink);margin-bottom:4px}
.steps p{font-size:.94rem}
.closing{position:relative;isolation:isolate;overflow:hidden;text-align:center;background:var(--navy);padding:98px 20px;color:#fff}
.closing:before{content:"";position:absolute;z-index:-1;left:50%;top:50%;transform:translate(-50%,-50%);width:900px;height:900px;max-width:140%;background:url('circle-mark.png') center/contain no-repeat;opacity:.06;pointer-events:none;filter:brightness(3)}
.closing .eyebrow{color:#a7d7c1}
.closing h2{max-width:720px;margin:auto}
.closing p{color:#d9e5e8;max-width:570px;margin:20px auto 28px}
.button-light{background:#dcece2;color:var(--navy);box-shadow:0 14px 30px -14px rgba(0,0,0,.35)}
.button-light:hover{bkground:#fff}
footer{background:#0b213d;color:#e5ecec;padding:26px 0;font-size:.78rem}
.footer-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{text-decoration:none;transition:color .2s}
footer a:hover{color:#a7d7c1}
@media(max-width:850px){.nav nav{gap:15px}.nav nav a:not(.nav-cta){display:none}.hero-grid,.intro-grid,.approach-grid{grid-template-columns:1fr;gap:36px}.hero{padding:45px 0 65px}.hero-copy{padding:0}.portrait{margin:auto;width:min(100%,445px)}.section{padding:74px 0}.intro-text{padding:0}.hero-grid:before{right:50%;top:-40px;transform:translate(50%,0);width:70vw;height:70vw;opacity:.14}}
@media(max-width:600px){.wrap{width:min(100% - 36px,1180px)}.nav{min-height:70px}.brand img{width:155px}.nav-cta{font-size:.72rem!important}.hero h1{font-size:clamp(3.7rem,14vw,5rem)}.portrait img{height:420px}.portrait figcaption{left:0}.service-grid{grid-template-columns:1fr}.service-grid article{padding:28px;min-height:0}.closing{padding:75px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-grid article,.steps>div{transition:none}}
