  :root{
    --paper:#ffffff; --band:#eef3fb; --band-2:#f6f9fe;
    --navy:#0a2540; --navy-2:#123a5e; --ink-2:#33475b; --muted:#6b7c8f;
    --line:#dbe4ef; --line-2:#c3d2e4;
    --blue:#1877F2; --blue-deep:#1559c0; --blue-bright:#3b8bff;
    --maxw:1160px;
    --sans:"Roboto",system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;
    --display:"Poppins","Roboto",system-ui,sans-serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0; background:var(--paper); color:var(--navy); font-family:var(--sans);
    font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
  h1,h2,h3{font-family:var(--display); font-weight:600; line-height:1.1; letter-spacing:-.015em; margin:0; color:var(--navy);}
  h1{font-size:clamp(2.3rem,5vw,3.8rem); line-height:1.06; letter-spacing:-.025em;}
  h2{font-size:clamp(1.7rem,3.3vw,2.5rem);}
  h3{font-size:1.15rem; font-weight:600;}
  p{margin:0 0 1rem;}
  a{color:var(--blue-deep); text-decoration:none;} a:hover{text-decoration:underline;}
  img{display:block; max-width:100%;}
  svg{display:block;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
  .sec{padding-top:88px; padding-bottom:88px;}
  .band{background:var(--band);} .band2{background:var(--band-2);}
  :focus-visible{outline:3px solid var(--blue-bright); outline-offset:2px; border-radius:3px;}
  .skip{position:absolute; left:-9999px; top:0; background:var(--blue); color:#fff; padding:10px 16px; border-radius:8px; z-index:200;}
  .skip:focus{left:12px; top:12px;}

  .eyebrow{display:inline-flex; align-items:center; gap:9px; font-size:.8rem; font-weight:700; text-transform:uppercase;
    letter-spacing:.06em; color:var(--blue-deep); margin-bottom:16px;}
  .eyebrow::before{content:""; width:22px; height:2px; background:var(--blue); display:inline-block;}
  .lead{font-size:1.13rem; color:var(--ink-2); max-width:64ch;}
  .ico{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none;}
  .ico-lg{width:30px;height:30px;}

  /* reveal on scroll */
  .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1);}
  .reveal.in{opacity:1; transform:none;}
  .reveal.d1{transition-delay:.08s} .reveal.d2{transition-delay:.16s} .reveal.d3{transition-delay:.24s} .reveal.d4{transition-delay:.32s}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} .reveal{opacity:1;transform:none;transition:none}}

  header.nav{position:sticky; top:0; z-index:60; background:rgba(255,255,255,.94); backdrop-filter:saturate(1.4) blur(8px); border-bottom:1px solid var(--line);}
  .nav-in{display:flex; align-items:center; justify-content:space-between; height:68px;}
  .brand{display:flex; align-items:center; gap:11px; color:var(--navy);}
  .brand:hover{text-decoration:none;}
  .brand .mark{width:30px; height:30px; border-radius:7px;}
  .brand .wm{font-family:var(--display); font-weight:700; font-size:1.22rem; letter-spacing:-.01em;}
  .brand .brandtext{display:flex;flex-direction:column;line-height:1.02;}
  .brand .full{font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.005em;margin-top:3px;white-space:nowrap;}
  @media(max-width:640px){.brand .full{display:none;}}
  .nav-links{display:flex; align-items:center; gap:26px;}
  .nav-links a{color:var(--ink-2); font-weight:500; font-size:.95rem;}
  .nav-links a:hover{color:var(--navy); text-decoration:none;}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:var(--sans);
    font-weight:700; font-size:.96rem; padding:11px 20px; border-radius:8px; cursor:pointer;
    border:1px solid transparent; transition:background .15s,border-color .15s,color .15s,transform .05s;}
  .btn:active{transform:translateY(1px);}
  .btn-primary{background:var(--blue); color:#fff;} .btn-primary:hover{background:var(--blue-deep); text-decoration:none;}
  .btn-ghost{background:transparent; color:var(--navy); border-color:var(--line-2);}
  .btn-ghost:hover{border-color:var(--navy); text-decoration:none;}
  .btn-lg{padding:14px 24px; font-size:1.02rem;}
  .menu-btn{display:none; background:none; border:1px solid var(--line-2); border-radius:8px; padding:8px 10px; cursor:pointer;}

  .hero{padding-top:74px; padding-bottom:42px;}
  .hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center;}
  .hero .lead{margin-top:18px; font-size:1.2rem;}
  .hero-cta{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
  .trust{display:flex; align-items:center; gap:9px; margin-top:22px; font-size:.85rem; color:var(--muted);}
  .trust .d{width:8px; height:8px; border-radius:50%; background:var(--blue-bright);}

  .photo{position:relative; overflow:hidden; border-radius:14px; background:var(--navy);}
  .photo img{width:100%; height:100%; object-fit:cover;}
  .photo.tall{aspect-ratio:4/5;}
  .photo .credit{position:absolute; right:8px; bottom:7px; font-size:.65rem; color:rgba(255,255,255,.85);
    background:rgba(10,37,64,.55); padding:2px 7px; border-radius:5px;}
  .photo .overlay{position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,37,64,.05),rgba(10,37,64,.30));}
  .cap{position:absolute; left:12px; bottom:12px; color:#fff; font-weight:600; font-size:.95rem; display:flex; align-items:center; gap:8px; text-shadow:0 1px 6px rgba(10,37,64,.5);}

  .statcard{position:absolute; left:-16px; bottom:24px; background:#fff; border:1px solid var(--line);
    border-radius:12px; padding:14px 18px; box-shadow:0 14px 36px rgba(10,37,64,.16); max-width:236px; display:flex; gap:12px; align-items:flex-start;}
  .statcard .k{font-family:var(--display); font-weight:700; font-size:1.8rem; color:var(--blue-deep); line-height:1;}
  .statcard .t{font-size:.8rem; color:var(--ink-2); margin-top:4px;}
  .statcard .tag{display:inline-block; margin-top:7px; font-size:.66rem; font-weight:700; color:var(--blue-deep);
    background:var(--band); border:1px solid var(--line-2); padding:2px 7px; border-radius:5px;}

  /* plain-language cards */
  .three{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:38px;}
  .pcard{background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px;}
  .pcard .badge{width:46px;height:46px;border-radius:11px;background:var(--band);color:var(--blue-deep);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
  .pcard h3{margin-bottom:8px;} .pcard p{margin:0;color:var(--ink-2);font-size:.97rem;}
  .pcard .plain{font-size:.86rem;color:var(--muted);margin-top:10px;}

  .darkband{background:var(--navy); color:#e6eefb;}
  .darkband .eyebrow{color:#8fbcff;} .darkband .eyebrow::before{background:var(--blue-bright);}
  .stats{display:grid; grid-template-columns:repeat(4,1fr); margin-top:8px;}
  .stat{padding:8px 24px; border-left:1px solid rgba(255,255,255,.16);}
  .stat:first-child{border-left:none; padding-left:0;}
  .stat .num{font-family:var(--display); font-weight:700; font-size:2.4rem; letter-spacing:-.02em; line-height:1; color:#fff;}
  .stat .num small{font-size:1rem; font-weight:600;}
  .stat .cap2{margin-top:11px; font-size:.92rem; color:#b7cbe6; max-width:26ch;}
  .src{margin-top:24px; font-size:.79rem; color:#7f97b6;}

  /* gallery */
  .gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:34px;}
  .gallery .photo{aspect-ratio:3/4;}
  .gallery .photo:nth-child(1),.gallery .photo:nth-child(4){aspect-ratio:3/4;}
  .gnote{margin-top:16px; font-size:.82rem; color:var(--muted);}

  .quoteband{position:relative; min-height:420px; display:flex; align-items:center; background:var(--navy); overflow:hidden;}
  .quoteband img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.42;}
  .quoteband .ov{position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,37,64,.9),rgba(10,37,64,.55));}
  .quoteband .inner{position:relative; max-width:800px;}
  .quoteband blockquote{margin:0; font-family:var(--display); font-weight:600; color:#fff;
    font-size:clamp(1.4rem,2.7vw,2.15rem); line-height:1.26; letter-spacing:-.01em;}
  .quoteband .by{margin-top:16px; color:#9fc0ea; font-size:.95rem;}

  .prob-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:50px; align-items:center; margin-top:12px;}
  .cols2{display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:28px;}
  .regime .rt{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
  .regime .tag{font-size:.78rem; font-weight:700; color:var(--blue-deep);}
  .regime p{color:var(--ink-2); max-width:52ch;} .regime .ico{color:var(--blue-deep);}
  .rule{height:3px; width:40px; background:var(--blue); border:0; border-radius:2px; margin:0 0 14px;}

  /* charts */
  .chartcard{border:1px solid var(--line); border-radius:16px; padding:22px 24px; background:#fff;}
  .chart-head{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:6px;}
  .chart-head strong{font-family:var(--display); font-weight:600; font-size:1.05rem;}
  .toggle{display:inline-flex; border:1px solid var(--line-2); border-radius:9px; overflow:hidden; font-size:.85rem;}
  .toggle button{border:0; background:#fff; color:var(--ink-2); font-family:var(--sans); font-weight:600; padding:8px 14px; cursor:pointer; border-left:1px solid var(--line); display:flex; align-items:center; gap:6px;}
  .toggle button:first-child{border-left:0;} .toggle button[aria-pressed="true"]{background:var(--blue); color:#fff;}
  .chart-box{position:relative; height:430px; margin-top:14px;}
  .chart-box.short{height:280px;}
  .dnote{font-size:.79rem; color:var(--muted); margin-top:14px; line-height:1.5;}
  .live{display:inline-flex; align-items:center; gap:7px; font-size:.78rem; font-weight:600; color:var(--blue-deep);}
  .live .dot{width:8px; height:8px; border-radius:50%; background:var(--blue-bright); animation:pulse 2s infinite;}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(59,139,255,.5)}70%{box-shadow:0 0 0 8px rgba(59,139,255,0)}100%{box-shadow:0 0 0 0 rgba(59,139,255,0)}}
  @media (prefers-reduced-motion:reduce){.live .dot{animation:none}}
  .chart-two{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:26px;}
  .mapwrap{position:relative; border:1px solid var(--line); border-radius:16px; padding:20px 22px; background:#fff; margin-top:26px;}
  #countyMap{width:100%; height:auto; display:block;}
  #countyMap path.county{cursor:pointer;}
  #countyMap path.county:hover{stroke:#0a2540; stroke-width:1.1;}
  .maptip{position:absolute; pointer-events:none; background:var(--navy); color:#fff; padding:8px 11px; border-radius:9px; font-size:.82rem; line-height:1.35; box-shadow:0 10px 26px rgba(10,37,64,.28); opacity:0; transition:opacity .12s; transform:translate(-50%,-118%); white-space:nowrap; z-index:5;}
  .maptip b{font-weight:700;} .maptip .sub{color:#9fc0ea;}
  .maplegend{display:flex; align-items:flex-end; gap:0; flex-wrap:wrap; margin-top:16px;}
  .maplegend .lbl{font-size:.8rem; font-weight:700; color:var(--navy); margin-right:12px;}
  .maplegend .sw{width:78px;} .maplegend .sw i{height:12px; display:block; border-radius:2px;}
  .maplegend .sw span{display:block; margin-top:5px; font-size:.72rem; color:var(--muted);}
  .mapflags{display:flex; gap:26px; flex-wrap:wrap; margin:6px 0 2px;}
  .mapflags .mf .n{font-family:var(--display); font-weight:700; font-size:1.9rem; color:var(--blue-deep); line-height:1;}
  .mapflags .mf .t{font-size:.86rem; color:var(--ink-2); margin-top:3px; max-width:30ch;}
  .maploading{color:var(--muted); font-size:.9rem; padding:40px 0; text-align:center;}
  .demo{border:1px solid var(--line);border-radius:16px;padding:24px;background:#fff;}
  .demo-controls label{font-weight:600;font-size:.98rem;color:var(--navy);}
  .demo-controls input[type=range]{width:100%;margin-top:14px;accent-color:var(--blue);height:6px;}
  .demo-read{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:22px 0 6px;}
  .demo-read .dn{font-family:var(--display);font-weight:700;font-size:2.1rem;line-height:1;}
  .demo-read .dt{font-size:.85rem;color:var(--ink-2);margin-top:7px;}
  @media(max-width:700px){.demo-read{grid-template-columns:1fr;gap:14px;}}

  /* idea chart (SVG) */
  .idea{border:1px solid var(--line); border-radius:16px; padding:22px; background:#fff;}
  .idea .ct{font-family:var(--display); font-weight:600; font-size:1.08rem;}
  .idea .cs{font-size:.85rem; color:var(--muted); margin:2px 0 6px;}
  .legend{display:flex; gap:16px; margin:8px 0; font-size:.8rem; color:var(--ink-2); flex-wrap:wrap;}
  .legend span{display:inline-flex; align-items:center; gap:7px;} .legend i{width:10px;height:10px;border-radius:50%;}
  .idea .row{display:flex; gap:10px; align-items:center; margin-top:6px;}
  .minibtn{border:1px solid var(--line-2); background:#fff; border-radius:8px; padding:7px 12px; font-family:var(--sans); font-weight:600; font-size:.85rem; color:var(--navy); cursor:pointer;}
  .minibtn[aria-pressed="true"]{background:var(--blue); color:#fff; border-color:var(--blue);}
  .idea figcaption{font-size:.79rem; color:var(--muted); margin-top:8px; line-height:1.45;}

  /* how it works */
  .flow{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px;}
  .step{background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px;}
  .step .top{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
  .step .ib{width:40px;height:40px;border-radius:10px;background:var(--band);color:var(--blue-deep);display:flex;align-items:center;justify-content:center;}
  .step .n{font-weight:700; font-size:.78rem; color:var(--muted); letter-spacing:.04em;}
  .step h3{margin:0;} .step p{margin:8px 0 0; font-size:.95rem; color:var(--ink-2);}

  .commit{margin-top:30px; background:var(--band-2); border:1px solid var(--line); border-radius:14px; padding:26px;}
  .commit h3{margin-bottom:14px;} .commit ul{margin:0; padding:0; list-style:none; display:grid; gap:14px;}
  .commit li{position:relative; padding-left:34px; color:var(--ink-2); font-size:.96rem;}
  .commit li .ico{position:absolute; left:0; top:1px; width:22px;height:22px; color:var(--blue-deep);}

  /* about / founder */
  .about-grid{display:grid; grid-template-columns:200px 1fr; gap:34px; align-items:center; margin-top:26px;}
  .about-grid .pic{width:200px;height:200px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--band);}
  .about-grid .pic img{width:100%;height:100%;object-fit:cover;}
  .about-grid .who{font-weight:700;} .about-grid .role{color:var(--muted); font-size:.92rem; margin-bottom:12px;}

  /* form */
  .form-intro{max-width:64ch;}
  form#assessForm{margin-top:32px; display:grid; gap:28px;}
  .fs{border:0; margin:0; padding:0;}
  .fs>legend{font-family:var(--display); font-weight:600; font-size:1.12rem; padding:0; margin-bottom:4px;}
  .fs .hint{font-size:.88rem; color:var(--muted); margin-bottom:16px;}
  .ratings{display:grid; gap:0;}
  .rate-row{display:grid; grid-template-columns:1fr auto; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid var(--line);}
  .rate-row .rname{font-weight:700;} .rate-row .rdesc{font-size:.85rem; color:var(--muted);}
  .seg{display:inline-flex; border:1px solid var(--line-2); border-radius:9px; overflow:hidden;}
  .seg button{appearance:none; border:0; background:#fff; color:var(--ink-2); font-family:var(--sans); font-weight:700;
    font-size:.95rem; width:44px; height:40px; cursor:pointer; border-left:1px solid var(--line); transition:background .12s,color .12s;}
  .seg button:first-child{border-left:0;} .seg button:hover{background:var(--band-2);}
  .seg button[aria-checked="true"]{background:var(--blue); color:#fff;}
  .grid2{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .field{display:flex; flex-direction:column; gap:6px;} .field.full{grid-column:1 / -1;}
  .field label{font-weight:700; font-size:.9rem;} .field .req{color:var(--blue-deep);}
  .field input,.field select,.field textarea{font-family:var(--sans); font-size:1rem; color:var(--navy); background:#fff;
    border:1px solid var(--line-2); border-radius:9px; padding:11px 13px; width:100%;}
  .field textarea{min-height:128px; resize:vertical; line-height:1.55;}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue); outline:none; box-shadow:0 0 0 3px rgba(24,119,242,.15);}
  .consent{display:flex; gap:11px; align-items:flex-start; font-size:.94rem; color:var(--ink-2);}
  .consent input{width:18px; height:18px; margin-top:3px; accent-color:var(--blue);}
  .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
  .submit-row{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
  .formnote{font-size:.84rem; color:var(--muted); max-width:52ch;}
  .formmsg{font-size:.94rem; font-weight:600; padding:12px 14px; border-radius:9px; display:none;}
  .formmsg.ok{display:block; background:var(--band); color:var(--blue-deep); border:1px solid var(--line-2);}
  .formmsg.err{display:block; background:#fdecec; color:#9a2020; border:1px solid #f3c7c7;}
  .success{display:none; border:1px solid var(--line-2); background:var(--band); border-radius:14px; padding:34px;}
  .success h3{font-size:1.35rem; margin-bottom:8px;}

  footer{background:var(--navy); color:#aec4e0; padding:54px 0 40px; font-size:.9rem;}
  footer .fgrid{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:36px;}
  footer h4{font-family:var(--sans); color:#fff; font-size:.92rem; margin:0 0 12px; letter-spacing:.03em; text-transform:uppercase;}
  footer a{color:#8fbcff;} footer .brand .wm{color:#fff;}
  footer .disc{margin-top:30px; padding-top:22px; border-top:1px solid #1e3a5a; color:#7f97b6; font-size:.8rem; max-width:96ch; line-height:1.55;}
  footer .disc a{color:#8fbcff;}
  footer .fgrid{grid-template-columns:1.7fr 1fr 1.1fr 1.1fr;}
  footer .fbrand .full{font-size:11px;font-weight:500;color:#8fbcff;letter-spacing:.005em;margin-top:3px;white-space:nowrap;}
  footer .srcs{margin:0;line-height:1.95;color:#aec4e0;font-size:.86rem;}
  footer .fbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:32px;padding-top:18px;border-top:1px solid #1e3a5a;color:#7f97b6;font-size:.8rem;}
  footer .fbar a{color:#8fbcff;}
  .socials{display:flex;gap:12px;margin-top:20px;}
  .socials a{width:42px;height:42px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#dbe7fb;transition:background .15s,color .15s,transform .05s;}
  .socials a:hover{color:#fff;text-decoration:none;}
  .socials a.fb:hover{background:#1877F2;} .socials a.li:hover{background:#0A66C2;}
  .socials a:active{transform:translateY(1px);}
  .socials svg{width:20px;height:20px;fill:currentColor;}
  .citypair{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:760px){footer .fgrid{grid-template-columns:1fr!important;} .citypair{grid-template-columns:1fr;}}

  @media (max-width:960px){
    .hero-grid,.prob-grid,.chart-two{grid-template-columns:1fr; gap:32px;}
    .three,.flow{grid-template-columns:1fr;}
    .cols2,.grid2{grid-template-columns:1fr; gap:24px;}
    .gallery{grid-template-columns:1fr 1fr;}
    .stats{grid-template-columns:1fr 1fr; gap:6px 0;}
    .stat{border-left:none; padding:16px 0; border-top:1px solid rgba(255,255,255,.14);}
    .stat:first-child{border-top:none;}
    .about-grid{grid-template-columns:1fr; justify-items:start;}
    .nav-links{display:none;} .menu-btn{display:inline-flex;}
    .nav-links.open{display:flex; position:absolute; top:68px; left:0; right:0; flex-direction:column; gap:0;
      background:#fff; border-bottom:1px solid var(--line); padding:8px 24px 16px;}
    .nav-links.open a{padding:12px 0; border-bottom:1px solid var(--line);}
    .nav-links.open .btn{margin-top:12px;}
    .statcard{left:10px;} .sec{padding-top:60px; padding-bottom:60px;} .fgrid{grid-template-columns:1fr!important;}
  }
  @media (max-width:520px){ .stats{grid-template-columns:1fr;} .gallery{grid-template-columns:1fr;} .rate-row{grid-template-columns:1fr; gap:10px;} }
@media (max-width:640px){
    body{font-size:16px;}
    .sec{padding-top:44px; padding-bottom:44px;}
    h1{font-size:2rem; line-height:1.08;}
    h2{font-size:1.5rem;}
    .lead{font-size:1.02rem;}
    .hero{padding-top:32px; padding-bottom:24px;}
    .hero-grid{gap:22px;}
    .hero .lead{font-size:1.04rem; margin-top:14px;}
    .hero-cta{margin-top:20px;}
    /* hero photo: shorter landscape crop instead of a tall portrait */
    .hero .photo.tall{aspect-ratio:auto; height:280px;}
    .hero .photo.tall img{object-position:center 15%;}
    /* stat card flows below the hero image so nothing overlaps */
    .statcard{position:static; left:auto; bottom:auto; margin-top:12px; max-width:none; box-shadow:0 8px 22px rgba(10,37,64,.12);}
    /* gallery: two compact tiles per row (much shorter) */
    .gallery{grid-template-columns:1fr 1fr; gap:10px;}
    .gallery .cap{font-size:.76rem; left:8px; bottom:8px;}
    /* full-bleed quote band shorter */
    .quoteband{min-height:250px;}
    .quoteband blockquote{font-size:1.18rem; line-height:1.3;}
    .quoteband .by{font-size:.85rem; margin-top:10px;}
    /* image pairs and section photos a touch shorter */
    .citypair{grid-template-columns:1fr 1fr; gap:10px;}
    /* charts shorter on phones (overrides inline heights) */
    .chart-box{height:260px !important;}
    .chart-box.short{height:205px !important;}
    /* tighten cards and bands */
    .three{gap:12px;}
    .flow{grid-template-columns:1fr 1fr; gap:12px;}
    .flow .step p{font-size:.86rem;}
    .flow .step h3{font-size:1.02rem;}
    .pcard,.step,.commit,.demo,.chartcard{padding:16px;}
    .field textarea{min-height:110px;}
    .darkband .wrap{padding:42px 20px !important;}
    .stats{grid-template-columns:1fr 1fr;}
    .stat{padding:14px 0;}
    .stat .num{font-size:1.85rem;}
    .mapflags{gap:16px;}
    .mapflags .mf .n{font-size:1.6rem;}
    .demo-read{gap:12px;}
    footer{padding:42px 0 30px;}
    .about-grid .pic{width:150px;height:150px;}
  }
  @media (max-width:640px){
    .wrap{padding-left:20px; padding-right:20px;}
    .quoteband{display:none;}
    #economy .photo{display:none;}
    .chart-two .chartcard:first-child{display:none;}
  }

  /* ---- multi-page additions ---- */
  .nav-links a.active{color:var(--navy); font-weight:700; position:relative;}
  .nav-links a.active::after{content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--blue); border-radius:2px;}
  .nav-links.open a.active::after{display:none;}
  .crumb{font-size:.82rem; color:var(--muted); margin-bottom:14px;}
  .crumb a{color:var(--muted);} .crumb a:hover{color:var(--navy);}
  .crumb .sep{margin:0 8px; color:var(--line-2);}
  .sec.first{padding-top:56px;}
  @media(max-width:960px){.sec.first{padding-top:36px;}}
  .explore{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px;}
  .xcard{display:block; background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px; color:inherit; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
  .xcard:hover{text-decoration:none; transform:translateY(-2px); border-color:var(--blue); box-shadow:0 10px 28px rgba(10,37,64,.08);}
  .xcard .badge{width:44px;height:44px;border-radius:11px;background:var(--band);color:var(--blue-deep);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
  .xcard h3{margin:0 0 6px; font-size:1.08rem;} .xcard p{margin:0; color:var(--ink-2); font-size:.94rem;}
  .xcard .go{display:inline-flex; align-items:center; gap:6px; margin-top:12px; font-weight:600; color:var(--blue-deep); font-size:.9rem;}
  .xcard.cta{background:var(--navy); border-color:var(--navy); color:#e6eefb;}
  .xcard.cta h3{color:#fff;} .xcard.cta p{color:#aec4e0;} .xcard.cta .badge{background:rgba(255,255,255,.12); color:#fff;} .xcard.cta .go{color:#8fbcff;}
  .pagenav{display:flex; justify-content:space-between; gap:16px; padding:34px 24px 54px; border-top:1px solid var(--line); margin-top:10px;}
  .pagenav a{display:inline-flex; flex-direction:column; gap:3px; color:var(--navy); font-weight:600;}
  .pagenav a small{font-weight:500; color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.04em;}
  .pagenav a:hover{text-decoration:none; color:var(--blue-deep);}
  .pagenav .next{text-align:right; margin-left:auto;}
  @media(max-width:960px){.explore{grid-template-columns:1fr 1fr;}}
  @media(max-width:640px){.explore{grid-template-columns:1fr; gap:12px;} .pagenav{flex-direction:column; padding:26px 20px 40px;} .pagenav .next{text-align:left; margin-left:0;}}
  /* menu button keeps white text inside the open mobile menu and when it is the active page */
  .nav-links a.btn.active{color:#fff;} .nav-links a.btn.active::after{display:none;}
  @media (max-width:960px){ .nav-links.open{z-index:60; box-shadow:0 14px 30px rgba(10,37,64,.10);} .nav-links.open a.btn{color:#fff; border-bottom:0;} }

  /* eight menu items: keep the top bar on one line */
  .nav-links{gap:18px;} .nav-links a{white-space:nowrap; font-size:.9rem;}
  @media (max-width:1280px) and (min-width:961px){ .brand .full{display:none;} .nav-links{gap:14px;} .nav-links a{font-size:.86rem;} .nav-links .btn{padding:9px 14px;} }
