@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700;800&family=Playfair+Display:wght@600;700;800&display=swap');

:root{
  --bg: #f3f8fc;
  --bg-soft: #eaf3f9;
  --text: #163142;
  --text-soft: #4d6777;
  --brand: #1fa6c8;
  --brand-2: #ff841f;
  --line: #d3e2ec;
  --card: #ffffff;
  --max: 1160px;
  --radius: 22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Manrope, "Segoe UI", Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(860px 420px at 6% -4%, rgba(31,166,200,.18), transparent 60%),
    radial-gradient(920px 500px at 92% 0%, rgba(255,132,31,.15), transparent 62%),
    linear-gradient(180deg, #f8fcff 0%, var(--bg) 100%);
  line-height:1.7;
}
a{color:inherit}
img{display:block;max-width:100%}
h1,h2,h3,h4{
  margin:.2rem 0 .6rem;
  font-family: "Playfair Display", Georgia, serif;
  color:#0f2a39;
  line-height:1.2;
}
p,li{color:#284556}

.site-header{
  position:sticky;
  top:0;
  z-index:200;
  backdrop-filter: blur(9px);
  background:rgba(255,255,255,.9);
  border-bottom:1px solid var(--line);
}
.site-header .inner{
  max-width:var(--max);
  margin:0 auto;
  padding:.8rem 1rem;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:1rem;
}
.site-header .logo{
  height:48px;
  border-radius:10px;
}
.header-stack{display:flex;flex-direction:column;gap:.45rem}
.header-tagline{
  margin:0;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--text-soft);
  font-weight:700;
}
.main-nav{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.main-nav a{
  text-decoration:none;
  font-size:.9rem;
  font-weight:700;
  color:#1f4255;
  border:1px solid transparent;
  border-radius:999px;
  padding:.4rem .72rem;
}
.main-nav a:hover{
  background:#f1f8fc;
  border-color:#bfd8e7;
}
.header-cta{
  text-decoration:none;
  color:#fff;
  font-size:.88rem;
  font-weight:800;
  padding:.62rem .95rem;
  border-radius:999px;
  background:linear-gradient(135deg, var(--brand), #0d87a5);
}

.landing-shell,.wrap,.wrap-wide{
  max-width:var(--max);
  margin:0 auto;
  padding:1.1rem 1rem 2.6rem;
}

.landing-hero{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:1rem;
  padding:1.1rem;
  border:1px solid #c7deea;
  border-radius:28px;
  background:linear-gradient(140deg, #e8f6fc, #fef3e9);
  box-shadow:0 14px 34px rgba(13,43,61,.08);
}
.eyebrow{
  display:inline-block;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
  color:#4b6b7d;
}
.hero-title{
  margin:.45rem 0 .5rem;
  font-size:clamp(1.95rem,2.9vw,3rem);
}
.hero-title span{color:#118aa8}
.hero-dek{margin:.2rem 0 1rem;color:#38586b;max-width:60ch}
.hero-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.hero-link{
  text-decoration:none;
  font-weight:700;
  border-radius:999px;
  padding:.68rem .95rem;
  border:1px solid #bfd9e7;
  background:#fff;
}
.hero-link.primary{
  background:linear-gradient(135deg, var(--brand), #0b85a4);
  border-color:transparent;
  color:#fff;
}
.hero-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.hero-pill{
  background:rgba(255,255,255,.85);
  border:1px solid #c8dce8;
  border-radius:999px;
  padding:.35rem .62rem;
  font-size:.82rem;
  color:#315163;
}
.hero-pill-dot{
  display:inline-block;
  width:8px;height:8px;
  border-radius:50%;
  margin-right:.45rem;
  background:var(--brand-2);
}
.hero-image-wrap{
  border-radius:20px;
  overflow:hidden;
  border:1px solid #c0d9e7;
}

.hero-stats{
  margin-top:1rem;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.7rem;
}
.stat-card{
  border:1px solid var(--line);
  border-radius:16px;
  padding:.8rem .9rem;
  background:#fff;
}
.stat-value{
  display:block;
  font-weight:800;
  color:#0f2f42;
  font-size:1.25rem;
}
.stat-label{font-size:.82rem;color:#557080}

.quick-links-strip{
  margin-top:1rem;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding:.8rem;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.86);
}
.quick-links-strip a{
  text-decoration:none;
  border:1px solid #c4dae7;
  border-radius:999px;
  padding:.42rem .72rem;
  font-weight:700;
  font-size:.88rem;
  background:#fff;
}

.editorial-grid,.summary-board,.contact-cards,.contact-scope,.about-grid{
  display:grid;
  gap:1rem;
}
.editorial-grid{margin-top:1rem;grid-template-columns:1.1fr .9fr}
.summary-board{margin-top:1rem;grid-template-columns:1.1fr .9fr}
.contact-cards{margin-top:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-scope{margin-top:1rem;grid-template-columns:1fr 1fr}
.about-grid{margin-top:1rem;grid-template-columns:1fr 1fr}

.content-slab,.table-wrap,.faq-block,.story-card,.note-panel,.signal-card,.topic-panel,.quote-panel,.summary-copy,.summary-aside,.page-text,.about-hero,.contact-hero,.about-card,.contact-card,.contact-scope-col,.about-disclaimer,.about-help,.contact-help{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.93);
  box-shadow:0 10px 24px rgba(15,48,69,.06);
}
.content-slab,.page-text,.summary-copy,.summary-aside,.story-card,.note-panel,.quote-panel,.faq-block,.about-hero,.contact-hero,.about-card,.contact-card,.contact-scope-col,.about-disclaimer,.about-help,.contact-help,.topic-panel,.signal-card{
  padding:1.1rem 1.2rem;
}
.content-slab,.table-stage,.faq-block{margin-top:1rem}

.panel-kicker,.table-kicker,.section-kicker,.note-kicker,.summary-kicker{
  margin:0 0 .4rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.76rem;
  font-weight:800;
  color:#587385;
}

table{width:100%;border-collapse:collapse;min-width:680px}
th,td{padding:.85rem .9rem;text-align:left;border-bottom:1px solid #e2edf4}
th{
  font-family:Manrope, "Segoe UI", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.76rem;
  color:#476476;
  background:#f0f8fc;
}
tr:hover td{background:#f9fcfe}

.table-wrap{overflow:auto}
.section-title{font-size:1.45rem}
.note-list,.summary-checklist{padding-left:1.1rem;margin:.5rem 0 0}
.faq strong{color:#153344}
.help-box{
  margin:.8rem 0 1rem;
  padding:1rem 1.1rem;
  border:1px dashed #b9d6e6;
  border-radius:16px;
  background:#f3f9fd;
}

.contact-email{color:#0f86a4;font-weight:800;text-decoration:none}
.contact-scope-note,.about-lead,.contact-lead{color:#557181}

.site-footer{
  margin-top:2rem;
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.82);
}
.site-footer .inner{
  max-width:var(--max);
  margin:0 auto;
  padding:1.4rem 1rem 2rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:1rem;
}
.footer-brand .logo{height:52px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.35rem 0}
.site-footer a{text-decoration:none;color:#385a6c;font-weight:700}
.site-footer a:hover{color:#146f8a}
.copy{margin:1rem 0 0;color:#6d8797}

@media (max-width: 980px){
  .site-header .inner{grid-template-columns:1fr}
  .landing-hero,.editorial-grid,.summary-board,.contact-cards,.contact-scope,.about-grid{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 620px){
  .hero-link{width:100%;text-align:center}
  .header-cta{width:100%;text-align:center}
  .hero-stats{grid-template-columns:1fr}
}
