:root { --ink:#0b211a; --forest:#17583d; --deep:#0c3b2a; --leaf:#76a928; --lime:#b7d43a; --cream:#f4f1e8; --paper:#fbfaf6; --line:rgba(11,33,26,.16); --muted:#53635c; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.6; }
a { color:inherit; text-underline-offset:.22em; }
a:focus-visible { outline:3px solid var(--lime); outline-offset:4px; }
img { display:block; max-width:100%; height:auto; }
.skip-link { position:fixed; z-index:100; left:1rem; top:-5rem; padding:.75rem 1rem; background:white; }
.skip-link:focus { top:1rem; }
.site-header { position:sticky; z-index:20; top:0; display:grid; grid-template-columns:280px 1fr auto; align-items:center; gap:2rem; min-height:92px; padding:1rem clamp(1.25rem,4vw,4.5rem); border-bottom:1px solid var(--line); background:rgba(251,250,246,.94); backdrop-filter:blur(14px); }
.brand { width:245px; }
.site-header nav { display:flex; justify-content:center; gap:clamp(1rem,2.2vw,2.25rem); font-size:.86rem; font-weight:700; }
.site-header nav a,.header-call { text-decoration:none; }
.header-call { display:flex; flex-direction:column; align-items:flex-end; font-size:.94rem; font-weight:800; }
.header-call span { color:var(--muted); font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,.65fr); gap:clamp(3rem,8vw,9rem); align-items:end; max-width:1440px; min-height:calc(100vh - 92px); margin:auto; padding:clamp(5rem,10vw,9rem) clamp(1.25rem,6vw,6rem) clamp(4rem,8vw,7rem); background:radial-gradient(circle at 78% 18%,rgba(183,212,58,.21),transparent 28%),linear-gradient(135deg,transparent 55%,rgba(23,88,61,.04)); }
.eyebrow,.section-label { display:flex; align-items:center; gap:.65rem; margin:0 0 1.4rem; color:var(--forest); font-size:.72rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.eyebrow span { width:26px; height:2px; background:var(--lime); }
.hero h1,h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-weight:500; letter-spacing:-.045em; line-height:1.02; }
.hero h1 { max-width:940px; font-size:clamp(3.5rem,7.8vw,7.8rem); }
.hero-lede { max-width:760px; margin:2rem 0 0; color:var(--muted); font-size:clamp(1.05rem,1.5vw,1.32rem); }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem 2rem; margin-top:2.5rem; }
.button { display:inline-flex; align-items:center; gap:1rem; padding:1rem 1.3rem; border:1px solid var(--forest); background:var(--forest); color:white; font-size:.83rem; font-weight:800; text-decoration:none; }
.button:hover { background:var(--deep); }
.button.dark { border-color:var(--ink); background:var(--ink); }
.arrow-link { font-size:.84rem; font-weight:800; text-decoration:none; }
.arrow-link span { display:inline-block; margin-left:.45rem; transition:transform .2s ease; }
.arrow-link:hover span { transform:translateX(4px); }
.entity-card { padding:2rem; border-top:4px solid var(--lime); background:var(--deep); color:white; box-shadow:0 30px 80px rgba(11,33,26,.18); }
.card-kicker { margin:0 0 1rem; color:#caddd3; font-size:.7rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.entity-card dl { margin:0; }
.entity-card dl div { display:grid; grid-template-columns:1fr 1.4fr; gap:1rem; padding:.8rem 0; border-bottom:1px solid rgba(255,255,255,.15); }
.entity-card dt { color:#b8c9c0; font-size:.78rem; }
.entity-card dd { margin:0; font-size:.82rem; font-weight:700; }
.entity-card>a { display:inline-block; margin-top:1.4rem; color:white; font-size:.76rem; font-weight:800; }
.statement { display:grid; grid-template-columns:1fr 2.2fr; gap:4rem; padding:clamp(5rem,10vw,10rem) clamp(1.25rem,6vw,6rem); background:white; }
.statement h2,.section-heading h2,.service-areas h2,.location-section h2,.resources-section h2 { max-width:900px; font-size:clamp(2.6rem,5.2vw,5.2rem); }
.statement>div>p { max-width:790px; margin:2rem 0; color:var(--muted); font-size:1.1rem; }
.coverage-section { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,6rem); }
.section-heading { display:grid; grid-template-columns:1.6fr .7fr; gap:4rem; align-items:end; margin-bottom:4rem; }
.section-heading>p { color:var(--muted); }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { display:flex; flex-direction:column; min-height:370px; padding:1.7rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.48); }
.service-number { color:var(--leaf); font-family:Georgia,serif; font-size:.9rem; }
.service-card h3 { margin:auto 0 1rem; font-family:Georgia,serif; font-size:1.75rem; font-weight:500; }
.service-card p { min-height:7.5rem; color:var(--muted); font-size:.89rem; }
.service-card a { font-size:.76rem; font-weight:800; }
.independent-section { display:grid; grid-template-columns:1fr 1fr; gap:7rem; padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,6rem); background:var(--deep); color:white; }
.section-label.light { color:#c4d9ce; }
.independent-section h2 { max-width:660px; font-size:clamp(3rem,5.6vw,5.8rem); }
.independent-section ol { margin:0; padding:0; list-style:none; }
.independent-section li { display:grid; grid-template-columns:45px 1fr; gap:1.2rem; padding:1.5rem 0; border-top:1px solid rgba(255,255,255,.18); }
.independent-section li>span { color:var(--lime); font-size:.78rem; font-weight:800; }
.independent-section h3 { margin:0 0 .4rem; font-size:1.05rem; }
.independent-section li p { margin:0; color:#c4d1cb; font-size:.92rem; }
.service-areas { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(3rem,8vw,9rem); padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,6rem); background:var(--cream); }
.service-areas>div:last-child { align-self:end; }
.service-areas>div:last-child p { margin:0 0 2rem; color:var(--muted); }
.location-section { display:grid; grid-template-columns:1.35fr .65fr; min-height:620px; }
.map-wrap iframe { width:100%; height:100%; min-height:560px; border:0; filter:saturate(.72) contrast(1.04); }
.contact-panel { display:flex; flex-direction:column; justify-content:center; padding:clamp(3rem,6vw,6rem); background:var(--forest); color:white; }
.contact-panel h2 { max-width:520px; font-size:clamp(3rem,5vw,5rem); }
.contact-panel address { margin:2.5rem 0; font-style:normal; }
.contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:.6rem; font-size:.9rem; font-weight:700; }
.resources-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(3rem,8vw,9rem); padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,6rem); background:white; }
.profile-grid { display:grid; grid-template-columns:1fr 1fr; align-content:start; border-top:1px solid var(--line); }
.profile-grid a { display:flex; justify-content:space-between; gap:1rem; padding:1rem .5rem; border-bottom:1px solid var(--line); font-size:.84rem; font-weight:700; text-decoration:none; }
.profile-grid a:nth-child(odd) { margin-right:1rem; }
footer { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding:3rem clamp(1.25rem,6vw,6rem); border-top:1px solid var(--line); background:var(--paper); color:var(--muted); font-size:.76rem; }
footer img { width:210px; margin-bottom:1rem; }
footer>div:last-child { text-align:right; }
@media (max-width:980px) { .site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero,.statement,.section-heading,.independent-section,.service-areas,.location-section,.resources-section{grid-template-columns:1fr}.hero{min-height:auto}.entity-card{max-width:560px}.service-grid{grid-template-columns:1fr 1fr}.location-section{min-height:auto}.map-wrap iframe{min-height:420px} }
@media (max-width:620px) { .site-header{min-height:76px;padding-inline:1rem}.brand{width:190px}.header-call span{display:none}.header-call{font-size:.78rem}.hero{padding-top:4rem}.hero h1{font-size:clamp(3rem,15vw,4.7rem)}.service-grid,.profile-grid,footer{grid-template-columns:1fr}.service-card{min-height:300px}.profile-grid a:nth-child(odd){margin-right:0}footer>div:last-child{text-align:left} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*{transition:none!important} }
