
:root{
  --bg: #0b1220;
  --ink: #0e1628;
  --text: #1b2437;
  --muted: #54627a;
  --white: #ffffff;
  --panel: rgba(255,255,255,0.86);
  --panel-2: rgba(255,255,255,0.92);
  --band: #ffffff;
  --bandAlt: #f3f6fb;
  --accent: #2b6cb0;        /* blue */
  --accent2:#0f3b66;        /* deep blue */
  --line: rgba(15,59,102,0.18);
  --shadow: 0 10px 30px rgba(10, 20, 40, 0.12);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:var(--text);background:var(--band)}
a{color:var(--accent2);text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1100px;margin:0 auto;padding:0 22px}

.topbar{
  position:sticky;top:0;z-index:50;
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.navwrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px}
.brand{font-weight:800;letter-spacing:0.2px;color:var(--accent2)}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.nav .nav-cta{margin-left:auto}
@media (max-width: 980px){
  .nav .nav-cta{margin-left:0}
}
.nav a{font-weight:650;color:var(--ink);opacity:0.9}
.nav a:hover{opacity:1;text-decoration:none}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:999px;
  background:var(--accent);color:white;font-weight:750;
  box-shadow: 0 8px 22px rgba(43,108,176,0.22);
  border:1px solid rgba(43,108,176,0.35);
}
.btn:hover{text-decoration:none;filter:brightness(0.98)}
.btn.ghost{
  background:rgba(255,255,255,0.75);
  color:var(--accent2);
  border:1px solid rgba(15,59,102,0.25);
  box-shadow:none;
}
.btn.small{padding:10px 14px;font-weight:750}

.hero{
  position:relative;min-height:72vh;display:flex;align-items:center;
  color:white;
  background: linear-gradient(120deg, rgba(11,18,32,0.65), rgba(15,59,102,0.55));
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background-image:
    linear-gradient(180deg, rgba(11,18,32,0.78) 0%, rgba(11,18,32,0.52) 35%, rgba(11,18,32,0.62) 100%),
    url('assets/nyc_skyline.png');
  background-size:cover;
  background-position:center;
  filter:saturate(1.05) contrast(1.05);
  transform:scale(1.03);
}
.hero-content{position:relative;z-index:2;padding:86px 0}
.pill{
  display:inline-flex;gap:8px;align-items:center;
  padding:8px 12px;border-radius:999px;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.22);
  font-weight:750;letter-spacing:0.2px;
  margin-bottom:18px;
}
.hero h1{font-size:52px;line-height:1.06;margin:0 0 10px 0;letter-spacing:-0.6px}
.hero h2{font-size:18px;margin:0 0 16px 0;font-weight:650;opacity:0.95}
.lead{font-size:18px;max-width:760px;line-height:1.5;margin:0 0 26px 0;opacity:0.95}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.subbrand{margin-top:22px;letter-spacing:2px;text-transform:uppercase;font-size:12px;opacity:0.9}

.band{padding:70px 0;background:var(--band)}
.band.alt{background:linear-gradient(180deg, var(--bandAlt), #ffffff 75%)}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-title h3{margin:0;font-size:26px;letter-spacing:-0.3px;color:var(--ink)}
.accent{height:8px;flex:1;border-radius:999px;background:linear-gradient(90deg, rgba(43,108,176,0.0), rgba(43,108,176,0.35), rgba(15,59,102,0.0))}

.section-lead{color:var(--muted);margin-top:0;margin-bottom:26px}

.prose p{margin:0 0 14px 0;color:var(--text);line-height:1.6}
.prose p:last-child{margin-bottom:0}

.grid{display:grid;gap:16px}
.grid.three{grid-template-columns:repeat(3, minmax(0, 1fr))}
.grid.two{grid-template-columns:repeat(2, minmax(0, 1fr))}
.grid.cards{grid-template-columns:repeat(3, minmax(0, 1fr))}

.card{
  background:var(--panel-2);
  border:1px solid rgba(15,59,102,0.16);
  border-radius:var(--radius);
  padding:18px 18px 16px 18px;
  box-shadow: var(--shadow);
}
.card h4{margin:0 0 10px 0;font-size:16px;color:var(--ink)}
.card ul{margin:0;padding-left:18px;color:var(--text)}
.card li{margin:6px 0;line-height:1.45}
.card p{margin:0;color:var(--text);line-height:1.55}

.download .download-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.fine{font-size:12px;color:var(--muted);margin-top:10px}
.fine a{color:var(--accent2)}

.insight{display:flex;flex-direction:column;gap:10px;min-height:210px}
.insight:hover{transform: translateY(-2px); transition: 140ms ease; text-decoration:none}
.insight .tag{
  align-self:flex-start;
  font-size:12px;font-weight:750;
  color:var(--accent2);
  background: rgba(43,108,176,0.10);
  border:1px solid rgba(43,108,176,0.22);
  padding:6px 10px;border-radius:999px;
}
.insight .cta{margin-top:auto;color:var(--accent);font-weight:800}

.quotes{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px}
.quote{
  background: linear-gradient(180deg, rgba(43,108,176,0.08), rgba(255,255,255,0.92));
  border:1px solid rgba(15,59,102,0.16);
  border-radius:var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.quote .q{margin:0 0 10px 0;line-height:1.6;color:var(--ink);font-weight:650}
.quote .by{margin:0;color:var(--muted);font-size:13px}

.contact-card{
  background: linear-gradient(180deg, rgba(15,59,102,0.06), rgba(255,255,255,0.92));
  border:1px solid rgba(15,59,102,0.16);
  border-radius:var(--radius);
  padding:20px;
  box-shadow: var(--shadow);
}
.footer{margin-top:26px;color:var(--muted);font-size:12px}

@media (max-width: 980px){
  .grid.three{grid-template-columns:1fr}
  .grid.cards{grid-template-columns:1fr}
  .grid.two{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr}
  .hero h1{font-size:40px}
}


.stats{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
  margin-top:22px;
}
.stat{
  background: linear-gradient(180deg, rgba(43,108,176,0.10), rgba(255,255,255,0.92));
  border:1px solid rgba(15,59,102,0.16);
  border-radius: var(--radius);
  padding:16px 14px;
  box-shadow: var(--shadow);
  text-align:left;
}
.stat .num{
  font-size:22px;
  font-weight:900;
  letter-spacing:-0.4px;
  color: var(--accent2);
  margin-bottom:6px;
}
.stat .label{
  font-size:12.5px;
  color: var(--muted);
  line-height:1.35;
  font-weight:650;
}

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.chip{
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  border-radius:999px;
  background: rgba(243,246,251,0.9);
  border:1px solid rgba(15,59,102,0.18);
  color: var(--ink);
  font-weight:750;
  font-size:12.5px;
}
.chip.strong{
  background: rgba(43,108,176,0.12);
  border-color: rgba(43,108,176,0.26);
  color: var(--accent2);
}

@media (max-width: 980px){
  .stats{grid-template-columns:repeat(2, minmax(0,1fr));}
}


.outcomes{
  margin-top:22px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.outcome{
  flex: 1 1 160px;
  min-width: 160px;
  padding:12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(6px);
}
.outcome .big{
  font-weight: 900;
  font-size: 16px;
  letter-spacing: -0.2px;
}
.outcome .small{
  font-size: 12px;
  opacity: 0.9;
  margin-top: 2px;
  letter-spacing: 0.2px;
}
@media (max-width: 980px){
  .outcome{min-width: 140px;}
}
