:root { --navy:#0b2338; --blue:#17445c; --green:#8dbb3b; --cream:#f7f1e7; --ink:#173249; --muted:#5f6d72; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:"Trebuchet MS", Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { min-height:108px; padding:12px clamp(24px,4vw,68px); display:flex; align-items:center; gap:30px; background:white; position:relative; z-index:10; }
.brand { display:flex; align-items:center; gap:11px; margin-right:auto; }
.brand img { width:58px; height:auto; }
.brand span { display:flex; flex-direction:column; line-height:.9; text-transform:uppercase; letter-spacing:.04em; }
.brand strong { font-family:"Trebuchet MS",Arial,sans-serif; font-size:26px; font-weight:700; letter-spacing:.01em; }
.brand small { font-size:12px; letter-spacing:.38em; margin-top:9px; }
nav { display:flex; gap:24px; font-size:14px; }
nav a:hover, .text-link:hover { color:#4d7618; }
.license-block { display:flex; flex-direction:column; padding-left:22px; border-left:1px solid #dbe0e2; line-height:1.35; white-space:nowrap; }
.license-block strong { color:var(--navy); font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.license-block span { color:#68747c; font-size:10px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:16px 22px; background:var(--green); color:#071c35; font-size:14px; font-weight:700; letter-spacing:.01em; border-radius:8px; box-shadow:0 6px 18px rgba(7,28,53,.12); transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); background:#a4d352; }
.button-small { padding:12px 18px; }
.hero { min-height:680px; position:relative; display:flex; align-items:center; padding:80px clamp(24px,8vw,128px); color:white; overflow:hidden; }
.hero-photo { position:absolute; inset:0; background:url('savannah-marsh.jpg') center/cover no-repeat; transform:scale(1.02); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,19,34,.92) 0%,rgba(5,28,48,.68) 52%,rgba(4,20,34,.16) 100%); }
.hero-content { max-width:700px; position:relative; z-index:1; }
.eyebrow { margin:0 0 22px; color:#c9e690; font-size:12px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }
.eyebrow.dark { color:#628c24; }
h1,h2,blockquote { font-family:"Trebuchet MS", Arial, sans-serif; font-weight:600; }
h1 { font-size:clamp(46px,5.7vw,78px); line-height:1.05; letter-spacing:-.035em; margin:0; max-width:790px; }
.hero-copy { max-width:610px; font-size:19px; line-height:1.7; color:#e6edf0; margin:27px 0 33px; }
.actions { display:flex; align-items:center; gap:28px; }
.text-link { display:inline-flex; gap:12px; align-items:center; color:#31591b; font-size:14px; font-weight:700; border-bottom:1px solid currentColor; padding-bottom:4px; }
.text-link.light { color:white; }
.trust-card { position:absolute; z-index:2; right:5vw; bottom:24px; width:310px; background:rgba(247,241,231,.97); color:var(--ink); padding:30px 34px; border-radius:12px; box-shadow:0 14px 40px rgba(4,20,34,.18); }
.trust-card p { margin:0 0 13px; color:#67882e; text-transform:uppercase; font-weight:700; font-size:10px; letter-spacing:.15em; }
.trust-card strong { display:block; font-family:"Trebuchet MS",Arial,sans-serif; font-size:24px; line-height:1.25; font-weight:600; }
.trust-card span { display:block; color:var(--muted); font-size:11px; line-height:1.6; margin-top:20px; }
.section { padding:110px clamp(24px,8vw,128px); }
.intro { display:grid; grid-template-columns:1fr 1fr; gap:8vw; background:var(--cream); }
h2 { margin:0; font-size:clamp(36px,4vw,58px); line-height:1.08; letter-spacing:-.03em; }
.intro > div:last-child { padding-top:35px; }
.intro p:not(.eyebrow), .section-heading > p:last-child, .about p, .contact p { font-size:17px; line-height:1.8; color:var(--muted); }
.intro .text-link { margin-top:16px; }
.programs { background:#fff; }
.section-heading { display:grid; grid-template-columns:1fr 1.25fr; column-gap:7vw; align-items:end; }
.section-heading .eyebrow { grid-column:1/-1; }
.section-heading > p:last-child { margin:0; max-width:520px; }
.program-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:68px; border-top:1px solid #d7ddd8; border-left:1px solid #d7ddd8; }
.program-grid article { min-height:240px; padding:32px; border-right:1px solid #d7ddd8; border-bottom:1px solid #d7ddd8; }
.program-grid span { font-size:11px; color:#789846; letter-spacing:.15em; }
.program-grid h3 { font-family:Arial,Helvetica,sans-serif; font-size:24px; font-weight:600; margin:34px 0 12px; }
.program-grid p { margin:0; color:var(--muted); line-height:1.65; font-size:14px; }
.fine-print { color:#7a858a; font-size:11px; line-height:1.6; margin-top:24px; }
.process { padding-top:0; display:grid; grid-template-columns:1fr 1fr; min-height:720px; }
.process-image { background:url('savannah-marsh.jpg') center/cover; min-height:620px; position:relative; }
.process-image:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,28,47,.72),transparent 60%); }
.process-image div { position:absolute; z-index:1; left:50px; bottom:48px; color:white; }
.process-image span { display:block; color:#d3e4b2; text-transform:uppercase; font-size:10px; letter-spacing:.18em; margin-bottom:12px; }
.process-image strong { font-family:Arial,Helvetica,sans-serif; font-size:34px; font-weight:600; line-height:1.15; }
.process-copy { background:var(--cream); padding:72px clamp(40px,6vw,90px); }
.process-copy ol { list-style:none; padding:0; margin:44px 0 35px; }
.process-copy li { display:grid; grid-template-columns:38px 1fr; gap:18px; padding:20px 0; border-top:1px solid #d7d6cf; }
.process-copy li > span { width:30px; height:30px; border:1px solid #95a087; border-radius:50%; display:grid; place-items:center; font-size:11px; }
.process-copy h3 { margin:2px 0 7px; font-family:Arial,Helvetica,sans-serif; font-size:21px; font-weight:600; }
.process-copy li p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.button-navy { background:var(--navy); color:white; }
.button-navy:hover { background:var(--blue); }
.about { display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; }
.about .title { font-size:12px; text-transform:uppercase; letter-spacing:.11em; }
.about blockquote { margin:0 0 28px; font-size:clamp(28px,3.4vw,46px); line-height:1.2; color:#193f54; }
.contact { background:var(--navy); color:white; display:grid; grid-template-columns:1.15fr .85fr; gap:9vw; align-items:center; }
.contact h2 { max-width:650px; }
.contact > div > p:not(.eyebrow) { color:#c4d0d8; max-width:620px; }
.contact .button { margin-top:18px; }
address { font-style:normal; border-left:1px solid #385066; padding-left:8vw; }
address p { margin:0 0 28px; display:flex; flex-direction:column; }
address span { color:#91b75a; text-transform:uppercase; font-size:10px; letter-spacing:.15em; margin-bottom:8px; }
address a { color:white; font-size:16px; line-height:1.6; }
footer { padding:42px clamp(24px,5vw,76px); display:flex; align-items:center; gap:45px; background:#061529; color:#aab5bd; font-size:11px; }
.footer-brand { color:white; }
.footer-info { margin-right:auto; line-height:1.65; }
.footer-info p { margin:0; }
footer > a { color:#d3e4b2; }

@media (max-width:900px) {
  .site-header nav { display:none; }
  .license-block { margin-left:auto; }
  .hero { min-height:650px; align-items:flex-start; padding-top:100px; }
  .trust-card { right:24px; width:280px; }
  .intro,.section-heading,.process,.about,.contact { grid-template-columns:1fr; }
  .section-heading > p:last-child { margin-top:24px; }
  .program-grid { grid-template-columns:repeat(2,1fr); }
  .process { padding-left:24px; padding-right:24px; }
  .process-image { min-height:420px; }
  address { border-left:0; border-top:1px solid #385066; padding:40px 0 0; }
  footer { align-items:flex-start; flex-wrap:wrap; }
}
@media (max-width:600px) {
  .site-header { min-height:88px; padding:8px 18px; }
  .brand img { width:45px; }
  .brand strong { font-size:19px; }
  .brand small { font-size:9px; margin-top:6px; }
  .button-small { padding:10px 12px; font-size:12px; }
  .license-block { display:none; }
  .hero { min-height:720px; padding:78px 22px 190px; }
  .hero-copy { font-size:16px; }
  .actions { align-items:flex-start; flex-direction:column; }
  .trust-card { left:22px; right:22px; width:auto; }
  .section { padding:76px 22px; }
  .program-grid { grid-template-columns:1fr; margin-top:48px; }
  .program-grid article { min-height:200px; }
  .process { padding-top:0; }
  .process-image { min-height:330px; }
  .process-image div { left:28px; bottom:28px; }
  .process-copy { padding:55px 28px; }
  footer { flex-direction:column; gap:24px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
