:root{--forest:#0d4f43;--ink:#0a332b;--gold:#d5a63a;--cream:#f7f3ea;--white:#fff;--line:#ddd7cb;--mint:#e8f2ed}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--cream);color:#102f2a;line-height:1.6}
a{color:inherit}
.wrap{width:min(1120px,calc(100% - 32px));margin:auto}
.hub-hero{position:relative;min-height:380px;display:grid;align-items:end;background-size:cover;background-position:center;color:#fff}
.hub-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,27,23,.18),rgba(4,27,23,.9))}
.hub-hero-copy{position:relative;padding:80px 0 56px;max-width:820px}
.eyebrow{font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
h1{font-size:clamp(2.55rem,7vw,5rem);line-height:1;margin:.15em 0}
.lead{font-size:clamp(1.05rem,2vw,1.3rem);margin:0}
.section{padding:52px 0}
.section h2{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15;margin:0 0 12px}
.section-intro{max-width:780px;margin:0 0 26px;color:#49625d}
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hub-card{overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 24px rgba(10,60,50,.06)}
.hub-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#dfe9e5}
.hub-card-content{padding:20px}
.hub-card h2{font-size:1.25rem;margin:0 0 8px;color:var(--forest)}
.hub-card p{margin:0 0 16px;color:#49625d}
.hub-card a{display:inline-block;color:var(--forest);font-weight:850;text-decoration-thickness:2px;text-underline-offset:3px}
.planning-note{background:var(--mint);border-left:5px solid var(--forest);padding:20px;border-radius:14px}
.planning-note h2{font-size:1.35rem;margin:0 0 8px}
.planning-note p{margin:0}
.hub-switch{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hub-switch a{display:inline-block;background:var(--forest);color:#fff;text-decoration:none;font-weight:850;border-radius:999px;padding:12px 18px}
.hub-switch a.secondary{background:#fff;color:var(--forest);border:1px solid var(--forest)}
@media(max-width:840px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hub-hero{min-height:330px}.hub-hero-copy{padding:64px 0 42px}.section{padding:38px 0}.hub-grid{grid-template-columns:1fr}}
