:root {
  --ink: #173c3f;
  --muted: #547277;
  --paper: #f7fcfb;
  --surface: #e5f4f1;
  --surface-2: #d8eeea;
  --accent: #2f9b8e;
  --accent-dark: #176f68;
  --accent-deep: #0f5654;
  --accent-soft: #ccebe5;
  --blue: #4d86a0;
  --blue-soft: #e2f0f5;
  --line: #c7ddda;
  --white: #ffffff;
  --footer: #0d4d4c;
  --shadow: 0 12px 32px rgba(20, 94, 89, 0.11);
  --radius: 18px;
  --max: 1120px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
a { color: var(--accent-dark); text-underline-offset: 3px; cursor:pointer; }
a:hover { color: var(--accent); }
.skip-link { position:absolute; left:-9999px; top:0; background:var(--white); color:var(--ink); padding:.75rem 1rem; z-index:1000; }
.skip-link:focus { left:1rem; top:1rem; }
.site-header {
  border-bottom: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 2px 12px rgba(15,86,84,.04);
}
.header-inner { max-width: var(--max); margin: 0 auto; padding: .7rem 1.25rem; display:flex; flex-direction:column; align-items:flex-start; gap:.65rem; }
.brand-logo { display:block; width:540px; max-width:100%; flex:0 0 auto; text-decoration:none; }
.brand-logo img { display:block; width:100%; height:auto; }
nav { width:100%; display:flex; gap:1.15rem; flex-wrap:wrap; align-items:center; justify-content:center; }
nav a { color:var(--muted); text-decoration:none; font-weight:650; font-size:.96rem; }
nav a:hover, nav a[aria-current="page"] { color:var(--accent-dark); }
main { min-height: 65vh; }
.wrap { max-width: var(--max); margin: 0 auto; padding: 3.5rem 1.25rem 4.5rem; }
.narrow { max-width: 820px; }
.hero {
  background: linear-gradient(135deg, #d9f2ed 0%, #e7f3f8 52%, #f7fcfb 100%);
  border-bottom:1px solid var(--line);
}
.hero .wrap { padding-top:4.5rem; padding-bottom:4.5rem; }
.hero-layout { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(360px, .95fr); gap:2.5rem; align-items:center; }
.site-image { margin:2rem 0 2.4rem; }
.site-image img { display:block; width:100%; height:auto; border-radius:22px; border:1px solid var(--line); box-shadow:var(--shadow); }
.hero-image { margin:0; }
.hero-image img { aspect-ratio:16 / 9; object-fit:cover; }
.content-image { max-width:100%; }
.eyebrow { margin:0 0 .8rem; text-transform:uppercase; letter-spacing:.09em; color:var(--accent-dark); font-weight:850; font-size:.78rem; }
h1,h2,h3 { line-height:1.14; letter-spacing:-.025em; margin-top:0; }
h1 { font-size:clamp(2rem, 3.2vw, 3rem); max-width:900px; margin-bottom:1.25rem; color:var(--accent-deep); }
h2 { font-size:clamp(1.65rem, 3vw, 2.35rem); margin:3rem 0 1rem; color:#214f52; }
h3 { font-size:1.3rem; margin:1.8rem 0 .55rem; }
p { margin:0 0 1.15rem; }
.lead { font-size:clamp(1.15rem, 2vw, 1.35rem); max-width:780px; color:#476d72; }
.actions { display:flex; gap:.85rem; flex-wrap:wrap; margin-top:1.7rem; }
.button { display:inline-block; padding:.85rem 1.15rem; border-radius:999px; text-decoration:none; font-weight:800; border:1px solid var(--accent-dark); }
.button.primary { background:var(--accent-dark); color:var(--white); box-shadow: 0 6px 18px rgba(23,111,104,.18); }
.button.primary:hover { background:var(--accent); color:var(--white); }
.button.secondary { background:var(--blue-soft); color:#315f72; border-color:#86b4c6; }
.button.secondary:hover { background:#d2e8ef; color:#244f61; }
.grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.15rem; margin:1.5rem 0 2rem; }
.grid.two { grid-template-columns:repeat(2, 1fr); }
.card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.35rem; box-shadow:var(--shadow); }
.card:nth-child(3n+1) { border-top:4px solid var(--accent); }
.card:nth-child(3n+2) { border-top:4px solid var(--blue); }
.card:nth-child(3n+3) { border-top:4px solid #63aca1; }
.card h3 { margin-top:0; color:var(--ink); }
.card p:last-child { margin-bottom:0; }
.callout { background:var(--accent-soft); border-left:5px solid var(--accent-dark); padding:1.3rem 1.4rem; border-radius:0 var(--radius) var(--radius) 0; margin:1.6rem 0 2rem; }
.disclosure { font-size:.93rem; color:#46666b; background:var(--blue-soft); border:1px solid #c4dce5; border-radius:12px; padding:.9rem 1rem; margin:0 0 1.7rem; }
.kicker { font-weight:800; color:var(--accent-dark); }
ul,ol { padding-left:1.35rem; }
li { margin:.42rem 0; }
.table-wrap { overflow-x:auto; margin:1.3rem 0 2.2rem; border:1px solid var(--line); border-radius:14px; box-shadow: 0 8px 24px rgba(15,86,84,.06); }
table { width:100%; border-collapse:collapse; min-width:680px; background:var(--white); }
th,td { padding:.9rem 1rem; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
th { background:linear-gradient(180deg, #d3eee8 0%, #c7e7e1 100%); color:#174a4c; font-size:.92rem; }
tr:nth-child(even) td { background:#fbfefe; }
tr:last-child td { border-bottom:0; }
.provider { padding:1.7rem 0; border-top:1px solid var(--line); }
.provider:first-of-type { border-top:0; }
.provider h2 { margin-top:0; }
.tag { display:inline-block; border:1px solid #aad1cb; background:var(--surface); color:#245b5d; border-radius:999px; padding:.22rem .6rem; font-size:.84rem; font-weight:750; margin:0 .35rem .35rem 0; }
.choice { display:grid; grid-template-columns:200px 1fr; gap:1rem; padding:.9rem 0; border-bottom:1px solid var(--line); }
.choice:last-child { border-bottom:0; }
.choice strong { color:var(--accent-dark); }
.breadcrumbs { font-size:.9rem; color:var(--muted); margin-bottom:1.5rem; }
.breadcrumbs a { color:var(--muted); }
.note { color:var(--muted); font-size:.94rem; }
.contact-form { margin-top:1.5rem; }
.contact-form label { display:block; font-weight:750; margin:.95rem 0 .35rem; }
.contact-form input,.contact-form textarea { width:100%; border:1px solid #9fc9c3; border-radius:8px; padding:.75rem; font:inherit; background:var(--white); color:var(--ink); }
.contact-form input:focus,.contact-form textarea:focus { outline:3px solid rgba(47,155,142,.22); border-color:var(--accent); }
.contact-form textarea { min-height:170px; resize:vertical; }
.contact-form button { margin-top:1rem; padding:.8rem 1.1rem; border-radius:999px; border:0; background:#6f9694; color:var(--white); font:inherit; font-weight:800; cursor:pointer; }
.test-notice { border:1px dashed #63a9b7; background:#e8f5f7; color:#285d65; border-radius:12px; padding:1rem 1.1rem; margin:1.2rem 0; }
.site-footer { background:linear-gradient(135deg, #0d4d4c 0%, #123f4b 100%); color:#eef9f7; }
.footer-inner { max-width:var(--max); margin:0 auto; padding:2.5rem 1.25rem; display:grid; grid-template-columns:2fr 1fr; gap:2rem; }
.site-footer a { color:#d7f4ee; }
.footer-links { display:flex; flex-wrap:wrap; gap:.6rem 1rem; align-content:start; }
.footer-small { color:#b8dcd7; font-size:.9rem; margin-top:.5rem; }
hr { border:0; border-top:1px solid var(--line); margin:2.7rem 0; }
@media (max-width: 800px) {
  .header-inner { gap:.65rem; padding-top:.8rem; padding-bottom:.8rem; }
  .brand-logo { width:min(340px, 100%); max-width:100%; }
  nav { justify-content:center; gap:.7rem 1rem; }
  .grid,.grid.two { grid-template-columns:1fr; }
  .choice { grid-template-columns:1fr; gap:.15rem; }
  .footer-inner { grid-template-columns:1fr; }
  .hero .wrap { padding-top:3rem; padding-bottom:3rem; }
  .hero-layout { grid-template-columns:1fr; gap:1.6rem; }
  .hero-image { margin-top:.4rem; }
  .site-image { margin:1.5rem 0 2rem; }
}
@media print {
  .site-header,.site-footer,.actions { display:none; }
  .wrap { max-width:none; padding:0; }
  a { color:inherit; text-decoration:none; }
}
