:root{
  --bg:#ffffff;
  --fg:#0f172a;          /* slate-900 */
  --muted:#475569;       /* slate-600 */
  --muted-strong:#334155;/* slate-700 */
  --line:#e2e8f0;        /* slate-200 */
  --accent:#1e3a8a;      /* blue-900 */
  --accent2:#0b1f4d;
  --accent-soft:#eff2fb;
  --card:#f8fafc;        /* slate-50 */
  --radius:14px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background:var(--bg);
  color:var(--fg);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:3px}

.skip-link{
  position:absolute; left:-9999px; top:0;
  background:var(--accent); color:#fff;
  padding:10px 14px; border-radius:0 0 8px 0;
  font-weight:600;
}
.skip-link:focus{left:0; z-index:1000}

.container{max-width:1040px; margin:0 auto; padding:28px 20px}
.topbar{
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
  padding:18px 0 6px 0;
  border-bottom:1px solid var(--line);
}
.brand-link{display:block; color:inherit}
.brand-link:hover{text-decoration:none}
.brand .name{font-weight:700; font-size:18px; letter-spacing:.2px}
.brand .meta{color:var(--muted); font-size:14px; margin-top:2px}
.nav{
  display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:flex-end;
  font-size:15px;
}
.nav a{color:var(--fg); opacity:.92}
.nav a:hover{opacity:1}
.nav a[aria-current="page"]{font-weight:600; opacity:1}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--bg);
  color:var(--fg);
  font-weight:600;
}
.btn:hover{text-decoration:none; border-color:#cbd5e1}
.btn.primary{
  background:var(--accent);
  border-color:var(--accent);
  color:white;
}
.btn.primary:hover{background:var(--accent2); border-color:var(--accent2)}
.btn.ghost{background:transparent}

.hero{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:28px;
  padding:28px 0 14px 0;
  align-items:center;
}
h1{
  margin:0 0 10px 0;
  font-size:34px;
  letter-spacing:-.4px;
  line-height:1.2;
}
.lead{color:var(--muted-strong); font-size:17px; margin:0 0 18px 0; max-width:64ch}
.cta{display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 10px 0}
.trust{
  display:flex; flex-wrap:wrap; gap:10px;
  margin-top:10px;
}
.pill{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:var(--card);
  border:1px solid var(--line);
  color:var(--muted);
  font-size:13.5px;
}

.photo{
  justify-self:end;
}
.photo img{
  width:320px;
  height:auto;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
}

.grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
  padding:18px 0 10px 0;
}
.grid.two{grid-template-columns: repeat(2, minmax(0,1fr));}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
}
.card h2{margin:0 0 8px 0; font-size:17px}
.card p{margin:0; color:var(--muted-strong); font-size:15px}
.card .link{display:inline-block; margin-top:10px; font-weight:600; font-size:14.5px}

.audience{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:14px;
  padding:18px 0 6px 0;
}
.audience .card{padding:20px}
.audience .card h2{font-size:18px; margin-bottom:6px}
.audience .card .tag{
  display:inline-block; font-size:12px; letter-spacing:.5px;
  text-transform:uppercase; color:var(--accent);
  background:var(--accent-soft); padding:3px 8px; border-radius:999px;
  margin-bottom:8px;
}

.section{
  padding:22px 0;
  border-top:1px solid var(--line);
}
.section h2{margin:0 0 10px 0; font-size:20px}
.section p{color:var(--muted-strong); font-size:15.5px}
.small{color:var(--muted); font-size:14px}

.contact-block{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr));
  gap:24px; padding:6px 0 14px 0;
}
.contact-block dt{font-weight:600; margin-top:10px; color:var(--fg)}
.contact-block dd{margin:0 0 4px 0; color:var(--muted-strong)}

.footer{
  padding:22px 0 30px 0;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:14px;
}
.footer .cols{
  display:grid; grid-template-columns: 1.2fr .8fr; gap:18px;
}
.footer a{color:var(--muted)}

.page h1{font-size:28px}
.page h2{font-size:19px; margin-top:24px}
.page p, .page li{color:var(--muted-strong); font-size:15.5px}
.page ul{margin-top:6px; padding-left:22px}
.page li{margin-bottom:4px}
hr{border:none; border-top:1px solid var(--line); margin:24px 0}

.note{
  background:var(--card);
  border:1px solid var(--line);
  border-left:3px solid var(--accent);
  border-radius:8px;
  padding:12px 14px;
  margin:14px 0;
  font-size:14.5px;
  color:var(--muted-strong);
}

@media (max-width: 860px){
  .hero{grid-template-columns:1fr; }
  .photo{justify-self:start}
  .photo img{width:280px}
  .grid, .grid.two, .audience, .contact-block{grid-template-columns:1fr}
  .footer .cols{grid-template-columns:1fr}
  h1{font-size:28px}
  .nav{justify-content:flex-start; margin-top:8px}
}

@media print{
  .topbar, .nav, .footer, .cta, .skip-link{display:none}
  body{font-size:11pt; line-height:1.4}
  a{color:inherit; text-decoration:none}
  .container{max-width:none; padding:0}
}
