@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');

:root{--dark:#101e27;--panel:#152b34;--ink:#14232b;--muted:#536467;--lime:#c2eb84;--paper:#f5f5ef;--line:#d7ded5;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.58 var(--sans)}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3,dl,dd{margin:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #548a24;outline-offset:5px}
.dark :focus-visible,.top :focus-visible,footer :focus-visible{outline-color:var(--lime)}
.wrap{width:min(100% - 96px,1248px);margin-inline:auto}
.skip{position:fixed;left:16px;top:16px;transform:translateY(-150%);background:var(--lime);padding:10px;z-index:3}
.skip:focus{transform:none}
.dark,.top,footer{color:#f7f8f0;background:var(--dark)}
.header{height:80px;border-bottom:1px solid #354650;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;gap:9px;align-items:center;text-decoration:none;font-size:28px;line-height:1;font-weight:700;letter-spacing:-.065em}
.brand span{color:var(--lime);margin-left:-8px}
.header nav{display:flex;gap:clamp(12px,3.5vw,42px);align-items:center;font-size:14px;color:#d6dfdb}
.header nav a{text-decoration:none}
.header nav a:hover{color:var(--lime)}
.hero{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(28px,5vw,82px);align-items:center;padding-block:66px 70px}
.hero-copy>p:not(.eyebrow){max-width:385px;margin:25px 0 30px;font-size:18px;color:#c6d2cf}
.eyebrow{font-weight:700;letter-spacing:.13em;text-transform:uppercase;font-size:11px;color:#4c613c}
.hero .eyebrow{color:var(--lime);display:flex;gap:10px;align-items:center}
.hero .eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px #c2eb8425}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:.97}
h1{font-size:clamp(66px,8vw,122px);margin-top:17px}
h1 em{color:var(--lime);font-weight:400}
h2{font-size:clamp(43px,5.3vw,76px);margin-top:9px}
h3{font-size:23px;letter-spacing:-.035em;line-height:1.2}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border-radius:6px;background:var(--lime);color:#142720;padding:13px 17px;font-weight:700;text-decoration:none;font-size:14px}
.button:hover{background:#dbffab}
.hero-figure{border:1px solid #3c5357;border-radius:15px;overflow:hidden;background:#122832}
.hero-figure img{width:100%}
.hero-figure figcaption{border-top:1px solid #3c5357;display:flex;justify-content:space-between;gap:12px;color:#b9cdc8;padding:11px 18px;font-size:11px;letter-spacing:.11em;text-transform:uppercase}
.section{padding-block:76px}
.section-heading{display:grid;grid-template-columns:1fr minmax(220px,330px);gap:24px;align-items:end;margin-bottom:33px}
.section-heading>p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fffefa}
.card figure{background:#e7ede2;border-bottom:1px solid var(--line)}
.card img{width:100%}
.card-body{padding:24px}
.card-body p{color:var(--muted);margin-top:10px;font-size:15px}
.caption{margin-top:15px;font-size:13px;color:var(--muted)}
.journey{background:#e5eee0;border-block:1px solid var(--line)}
.journey-board{display:grid;grid-template-columns:250px 1fr;background:#fafcf7;border:1px solid #c9d8c6;border-radius:12px;overflow:hidden}
.phase-tabs{padding:16px;background:#dbe8d6;display:flex;flex-direction:column;gap:8px}
.phase-tabs a{border-radius:6px;padding:12px 14px;text-decoration:none;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px}
.phase-tabs a:hover{background:#cbdcc6}
.phase-tabs a[aria-selected="true"]{background:var(--dark);color:var(--lime)}
.phase-content{padding:30px clamp(20px,4vw,48px)}
.phase + .phase{margin-top:24px}
.phase[role=tabpanel]{margin-top:0}
.phase h3{font-size:clamp(22px,3vw,34px)}
.phase p{margin:9px 0 23px;color:var(--muted)}
.phase dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.phase dl div{border-top:1px solid var(--line);padding-top:9px}
.phase dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4c613c}
.phase dd{margin-top:4px;font-size:14px}
.flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding:0;margin:0}
.flow li{position:relative;display:grid;gap:5px;border:1px solid var(--line);border-radius:10px;background:#fffefa;padding:20px}
.flow li:not(:last-child)::after{content:"→";position:absolute;right:-29px;top:50%;transform:translateY(-50%);font-size:22px;color:#476445}
.flow li span{color:#4c613c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.flow strong{font-size:20px}
.flow small{color:var(--muted);font-size:14px}
.footer{display:grid;grid-template-columns:1fr minmax(260px,450px);gap:28px;padding-block:42px}
.footer p{color:#c6d2cf;font-size:14px;margin-top:6px}
.footer .ownership{margin-top:13px;font-size:12px;color:#aec0bf}
@media(max-width:950px){
  .wrap{width:min(100% - 56px,1248px)}
  .hero{gap:30px}
  .card-body{padding:18px}
  .journey-board{grid-template-columns:185px 1fr}
}
@media(max-width:720px){
  .hero{grid-template-columns:1fr;padding-block:42px}
  .section{padding-block:55px}
  .section-heading{grid-template-columns:1fr;gap:10px;margin-bottom:24px}
  .cards,.flow,.footer{grid-template-columns:1fr}
  .card img{max-height:220px}
  .journey-board{grid-template-columns:1fr}
  .phase-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px;gap:4px}
  .phase-tabs a{font-size:13px;padding:9px 3px;justify-content:center}
  .phase-tabs a span{display:none}
  .flow{gap:30px}
  .flow li:not(:last-child)::after{content:"↓";right:auto;left:20px;top:auto;bottom:-32px;transform:none}
}
@media(max-width:400px){
  .wrap{width:calc(100% - 32px)}
  .header{gap:8px;height:68px}
  .header nav{font-size:12px;gap:9px}
  .brand{font-size:24px}
  .brand img{width:26px}
  .phase dl{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.contacts{background:#e5eee0;border-top:1px solid var(--line)}
.contacts-grid{display:grid;grid-template-columns:1fr minmax(230px,340px);gap:28px;align-items:center}
.contacts h2{margin-top:0}
.contacts p{margin-top:14px;max-width:46ch;color:var(--muted)}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}
.contact-secondary{background:transparent;border:1px solid #74936a;padding:12px 16px}
.contact-secondary:hover{background:#d8e8d0}
.contacts address{display:grid;justify-items:start;gap:6px;border:1px solid var(--line);border-radius:12px;background:#fffefa;padding:22px;font-style:normal}
.contacts address strong{font-size:20px}
.contacts address span{margin-bottom:5px}
.contacts address a{text-underline-offset:3px}
@media(max-width:720px){.contacts-grid{grid-template-columns:1fr}}
@media(max-width:480px){.header{height:auto;min-height:68px;flex-wrap:wrap;padding-block:12px;gap:10px}.header nav{flex-wrap:wrap;column-gap:12px;row-gap:4px}}
