:root{--paper:#f7f6f1;--white:#fff;--ink:#13282c;--muted:#4d6262;--teal:#08716c;--mint:#c6eee4;--line:#cbd7d1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 Arial,sans-serif}
a{color:inherit;text-underline-offset:4px}
a:focus-visible,summary:focus-visible{outline:3px solid #0a8e85;outline-offset:5px}
img{display:block;max-width:100%}
.wrap{max-width:1312px;margin:auto;padding-inline:clamp(23px,5.4vw,80px)}
header{background:var(--white);border-bottom:1px solid #e0e8e3}
.bar{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:85px}
.brand img{width:174px;height:auto}
.nav{display:flex;align-items:center;gap:clamp(18px,3.2vw,44px);font-weight:700;font-size:14px}
.nav a{text-decoration:none}
.nav a:hover,.text-link:hover{text-decoration:underline}
.mobile{display:none}
.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;padding:13px 20px;background:var(--teal);color:white;border:1px solid var(--teal);font-weight:700;text-decoration:none;font-size:14px;min-height:48px}
.button:hover{background:#085651;color:white}
.button.outline{background:transparent;color:var(--ink);border-color:#9eafaa}
.button.outline:hover{background:#e5eeea}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(25px,5vw,78px);padding-block:clamp(42px,6vw,86px) clamp(42px,5vw,68px)}
.kicker{margin:0 0 17px;color:var(--teal);font-size:11px;line-height:1.45;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.03}
h1{font-size:clamp(49px,5.7vw,84px);margin-bottom:23px;max-width:none}
h1 em{display:block;font-weight:400;color:var(--teal)}
h2{font-size:clamp(39px,4.7vw,64px);margin-bottom:19px}
.lede{font-size:clamp(16px,1.4vw,19px);color:var(--muted);max-width:440px;margin-bottom:27px}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.hero figure{margin:0;position:relative}
.hero figure::before{content:"";position:absolute;inset:-11px -11px 12px 12px;border:1px solid #8fb7ac;z-index:-1}
.hero figure img{width:100%;height:auto;aspect-ratio:1.16;object-fit:cover;object-position:48% center}
.sectors{display:flex;align-items:center;gap:13px 27px;flex-wrap:wrap;padding-block:19px 23px;border-top:1px solid var(--line);font-size:14px;font-weight:700}
.sectors .kicker{margin:0 5px 0 0}
.case{background:var(--ink);color:var(--white);overflow:hidden}
.case-layout{display:grid;grid-template-columns:1.45fr .75fr;gap:clamp(38px,7vw,100px);align-items:center;padding-block:clamp(48px,6vw,83px)}
.case h2{max-width:15ch}
.case .kicker,.contact .kicker{color:#8cdbcc}
.case p:not(.kicker){color:#c2d7d4;max-width:57ch}
.text-link{font-weight:700;text-decoration:none;display:inline-flex;gap:12px;align-items:center}
.case .text-link{color:var(--mint)}
.case-aside{padding:24px 0 24px 25px;border-left:1px solid #5c807b}
.case-aside h3{font-size:20px;line-height:1.35;margin-bottom:10px}
.section{padding-block:clamp(53px,7vw,98px)}
.section-head{max-width:650px;margin-bottom:33px}
.section-head>p:last-child{color:var(--muted);margin-bottom:0}
.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card{padding:26px;background:var(--white);border-top:3px solid var(--teal)}
.card span{display:block;color:var(--teal);font-size:12px;letter-spacing:.1em;font-weight:800;margin-bottom:23px}
.card h3,.engage h3{font-size:21px;line-height:1.23;margin-bottom:11px}
.card p,.engage p,.person p{color:var(--muted);margin-bottom:0}
.section-link{margin-top:23px;color:var(--teal)}
.engage{background:#e5efea}
.engage article{border-top:1px solid #95b5ab;padding-top:18px}
.team{display:grid;grid-template-columns:.9fr 1.45fr;gap:45px;align-items:start}
.people{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.person img{width:100%;height:auto;aspect-ratio:1.23;object-fit:cover;object-position:center 30%;margin-bottom:14px;background:#eceeea}
.person h3{margin:0;font-size:20px}
.contact{background:var(--ink);color:white}
.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap;padding-block:52px}
.contact h2{margin-bottom:0}
.contact .button{color:var(--ink);background:var(--mint);border-color:var(--mint)}
.contact .button:hover{background:white}
footer{background:white;padding-block:22px;font-size:13px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media(max-width:850px){.nav{gap:16px}.hero{gap:28px} .card{padding:19px}}
@media(max-width:700px){
.desktop{display:none}.mobile{display:block;position:relative}.mobile summary{list-style:none;border:1px solid var(--line);padding:7px 12px;cursor:pointer;font-weight:700}.mobile summary::-webkit-details-marker{display:none}
.mobile .nav{position:absolute;right:0;top:46px;display:grid;gap:14px;background:white;border:1px solid var(--line);padding:18px;width:190px;z-index:2}
.bar{min-height:70px}.brand img{width:143px}
.hero,.case-layout,.team{grid-template-columns:1fr}
.hero{gap:33px}.hero figure{margin-right:9px}.hero figure img{aspect-ratio:1.45}
.columns{grid-template-columns:1fr;gap:14px}.card span{margin-bottom:12px}
.case-layout{gap:16px}.case-aside{padding:16px 0 0;border-left:0;border-top:1px solid #5c807b}
.team{gap:24px}.team .section-head{margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
