:root{
  --navy:#153D57;
  --navy-900:#0f2b3e;
  --ink:#0b2230;
  --muted:#b7c3cc;
  --text:#0f1720;
  --bg:#ffffff;
  --ring: rgba(21,61,87,.25);
  --crimson:#8B1C23;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}

/* utility */
.hidden{display:none}

/* NAV */
.site-nav{position:sticky;top:0;background:rgba(255,255,255,.85);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid rgba(0,0,0,.06);z-index:50}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:10px 18px}
.logo{width:28px;height:28px;border-radius:7px;border:2px solid var(--navy);display:grid;place-items:center;font-weight:800;color:var(--navy)}
.brand span{letter-spacing:.18em;font-size:13px;color:var(--navy);font-weight:800}
.brand em{font-style:normal;color:#2f3b45;margin-left:6px;letter-spacing:.12em;font-weight:800}

/* HERO: angled split */
.hero--angled{padding:0}
.hero-top{background:#ffffff;color:var(--navy);text-align:center;padding:56px 18px 30px}
.hero-top h1{margin:0;font-size:clamp(40px,7vw,88px);letter-spacing:.3px;font-weight:800}
.hero-top .sub{margin:.6rem 0 0;font-size:clamp(18px,2.6vw,24px);opacity:.9}

.hero-bottom{
  text-align:center;color:#e6edf3;padding:30px 18px 46px;
  background:
    linear-gradient( -6deg, var(--navy) 60%, #ffffff 60.2% ),
    linear-gradient( to bottom, rgba(21,61,87,.9), rgba(10,28,41,.95) );
}
.btn{display:inline-block;text-decoration:none;border-radius:12px;font-weight:800;padding:14px 22px}
.btn-crimson{background:var(--crimson);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.btn-crimson:hover{filter:brightness(.96)}
.btn.btn-navy{background:var(--navy);color:#fff;border:none}
.btn.btn-navy:hover{background:var(--navy-900)}
.pillline{margin-top:14px;color:#c8d3db;font-weight:700;}

/* CARDS */
.cards{max-width:1200px;margin:28px auto 42px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));padding:0 18px}
.card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.card h3{margin:0 0 8px 0;color:var(--navy);font-weight:800}
.card p{margin:0;color:#475569}

/* CONTACT */
.contact-wrap{max-width:980px;margin:42px auto 64px;padding:0 18px}
.contact-wrap h2{text-align:center;margin:0 0 18px 0;color:var(--navy);font-weight:800}
.contact{display:grid;gap:12px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
label{font-weight:800;color:#111827}
input,textarea{width:100%;border-radius:12px;border:1px solid #d8dee4;background:#ffffff;color:#111;padding:12px 14px;outline:none}
input:focus,textarea:focus{box-shadow:0 0 0 3px var(--ring);border-color:#9fb3c2}
::placeholder{color:#94a3b8}
.consent{color:#64748b;font-size:12px;margin:6px 0 0}

/* THANK YOU state */
.thankyou{
  background:#ffffff;border:1px solid rgba(21,61,87,.25);color:var(--navy);
  border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.06);margin-bottom:12px;text-align:center;
}
.thankyou h3{margin:0 0 12px 0;color:var(--navy);font-weight:800}

/* FOOTER */
.site-footer{text-align:center;color:#667;padding:28px 12px;border-top:1px solid rgba(0,0,0,.06)}
