
  :root {
    --brand:#1B5299; --brand-deep:#123A6D; --brand-ink:#0A1A2F;
    --hot:#ED2E6B; --paper:#F1F4F9; --line:#DCE3EC; --white:#fff;
    --muted:#5B6B80; --wrap:1120px;
  }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; scroll-padding-top:88px; }
  body { margin:0; background:var(--paper); color:var(--brand-ink);
    font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; }
  .wrap { width:min(100% - 40px, var(--wrap)); margin-inline:auto; }
  h1,h2,h3 { font-family:"Barlow Condensed","Barlow",sans-serif; text-transform:uppercase;
    line-height:.98; letter-spacing:.01em; margin:0; }
  .mono { font-family:"IBM Plex Mono",ui-monospace,monospace; }
  a { color:var(--brand); } p { margin:0 0 16px; }
  :focus-visible { outline:3px solid var(--hot); outline-offset:3px; }

  .bar { position:sticky; top:0; z-index:50; background:var(--brand); color:#fff;
    border-bottom:3px solid var(--brand-deep); }
  .bar__in { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 0; }
  .logo { font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:28px;
    text-transform:uppercase; letter-spacing:.04em; text-decoration:none; color:#fff; line-height:1; }
  .logo b { color:#9EC2F0; }
  .bar__spacer { flex:1 1 auto; }
  .btn { display:inline-flex; align-items:center; gap:8px; font-family:"Barlow Condensed",sans-serif;
    text-transform:uppercase; font-weight:600; letter-spacing:.06em; font-size:18px;
    text-decoration:none; white-space:nowrap; padding:11px 18px; border-radius:999px;
    border:2px solid transparent; transition:transform .15s ease, background .15s ease; }
  .btn:hover { transform:translateY(-2px); }
  .btn--ghost { border-color:rgba(255,255,255,.45); color:#fff; }
  .btn--ghost:hover { background:rgba(255,255,255,.12); }
  .btn--hot { background:var(--hot); color:#fff; } .btn--hot:hover { background:#d2205a; }
  .btn--line { border-color:var(--brand); color:var(--brand); }
  .btn--line:hover { background:var(--brand); color:#fff; }

  .crumbs { background:var(--white); border-bottom:1px solid var(--line); }
  .crumbs ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:11px 0;
    font-family:"IBM Plex Mono",monospace; font-size:11.5px; letter-spacing:.12em;
    text-transform:uppercase; color:var(--muted); }
  .crumbs a { text-decoration:none; }
  .crumbs li+li::before { content:"/"; margin-right:8px; color:var(--line); }

  .hero { background:var(--brand); color:#fff; padding:52px 0 0; }
  .hero__eyebrow { font-family:"IBM Plex Mono",monospace; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:#9EC2F0; margin-bottom:16px; }
  .hero h1 { font-size:clamp(40px,7.6vw,86px); font-weight:700; max-width:16ch; }
  .hero h1 em { font-style:normal; color:#9EC2F0; }
  .hero__lead { max-width:58ch; color:#DCE8F7; font-size:19px; margin:22px 0 24px; }
  .hero__acts { display:flex; flex-wrap:wrap; gap:12px; padding-bottom:36px; }
  .local { background:var(--brand-ink); border-radius:14px 14px 0 0; padding:18px 20px;
    display:flex; flex-wrap:wrap; gap:26px; align-items:center; }
  .local__big { font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:44px;
    color:var(--hot); line-height:1; }
  .local p { margin:0; color:#B9CBE2; font-size:15.5px; max-width:60ch; }

  .sec { padding:58px 0; }
  .sec--white { background:var(--white); }
  .sec--ink { background:var(--brand-ink); color:#fff; }
  .sec--ink .sec__strap { color:#9EB4CE; }
  .sec__head { border-bottom:3px solid currentColor; padding-bottom:12px; margin-bottom:22px; }
  .sec h2 { font-size:clamp(28px,4.2vw,46px); font-weight:700; }
  .sec__strap { max-width:66ch; color:var(--muted); margin:14px 0 26px; }
  .prose { max-width:70ch; }
  .prose h3 { font-size:23px; margin:26px 0 8px; color:var(--brand); }
  .sec--ink .prose h3 { color:#9EC2F0; }

  table.data { width:100%; border-collapse:collapse; background:var(--white); font-size:15.5px; }
  .sec--white table.data { background:var(--paper); }
  .sec--ink table.data { background:transparent; color:#E7EEF8; }
  caption { text-align:left; font-family:"IBM Plex Mono",monospace; font-size:11px;
    letter-spacing:.16em; text-transform:uppercase; color:var(--muted); padding-bottom:10px; }
  .sec--ink caption { color:#6E8BB0; }
  table.data thead th { font-family:"Barlow Condensed",sans-serif; text-transform:uppercase;
    font-size:15px; letter-spacing:.06em; text-align:left; background:var(--brand);
    color:#fff; padding:10px 14px; }
  table.data tbody th { text-align:left; font-weight:600; padding:12px 14px;
    border-bottom:1px solid var(--line); }
  table.data tbody td { padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
  .sec--ink table.data tbody th, .sec--ink table.data tbody td {
    border-bottom:1px solid rgba(255,255,255,.12); }
  table.data tbody tr:hover th, table.data tbody tr:hover td { background:rgba(27,82,153,.05); }
  .sec--ink table.data tbody tr:hover th, .sec--ink table.data tbody tr:hover td {
    background:rgba(255,255,255,.05); }
  .pc { display:block; font-family:"IBM Plex Mono",monospace; font-size:11.5px;
    color:var(--muted); font-weight:500; letter-spacing:.06em; margin-top:2px; }
  .sec--ink .pc { color:#8FB3DA; }
  .hot { color:var(--hot); font-weight:600; }
  .scroll { overflow-x:auto; }

  .near { list-style:none; margin:0; padding:0; columns:2; column-gap:34px; max-width:840px; }
  .near li { break-inside:avoid; display:flex; align-items:baseline; gap:10px;
    padding:9px 0; border-bottom:1px solid var(--line); font-size:16px; }
  .near__n { flex:1 1 auto; }
  .near__d { font-size:13px; color:var(--muted); }
  .near__t { font-size:13px; color:var(--hot); font-weight:600; min-width:64px; text-align:right; }
  @media (max-width:640px) { .near { columns:1; } }

  .whys { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); }
  .why { background:var(--white); border:1px solid var(--line); border-top:4px solid var(--hot);
    border-radius:10px; padding:18px; }
  .sec--white .why { background:var(--paper); }
  .why h3 { font-size:21px; color:var(--brand); margin-bottom:6px; }
  .why p { margin:0; color:var(--muted); font-size:15px; }

  .faq { border-bottom:1px solid var(--line); background:var(--white); }
  .sec--white .faq { background:var(--paper); }
  .faq summary { cursor:pointer; padding:16px 44px 16px 16px; position:relative; list-style:none; }
  .faq summary::-webkit-details-marker { display:none; }
  .faq summary::after { content:"+"; position:absolute; right:18px; top:14px; font-size:24px;
    color:var(--hot); font-family:"IBM Plex Mono",monospace; }
  .faq[open] summary::after { content:"\2013"; }
  .faq summary h3 { display:inline; font-size:21px; }
  .faq p { margin:0; padding:0 16px 18px; color:var(--muted); max-width:78ch; }

  .rels { display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
  .rel { display:flex; justify-content:space-between; align-items:center; gap:12px;
    text-decoration:none; color:inherit; background:var(--white); border:1px solid var(--line);
    border-radius:8px; padding:13px 15px; font-family:"Barlow Condensed",sans-serif;
    text-transform:uppercase; font-weight:600; font-size:18px; letter-spacing:.03em; }
  .rel:hover { border-color:var(--brand); color:var(--brand); }
  .rel span { font-size:10px; letter-spacing:.14em; color:var(--hot); }

  .cta { background:var(--brand); color:#fff; padding:56px 0; }
  .cta h2 { font-size:clamp(30px,4.8vw,52px); max-width:20ch; }
  .cta p { color:#DCE8F7; max-width:50ch; margin-top:16px; }
  .cta__acts { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }

  footer { background:var(--brand-ink); color:#91A8C4; padding:38px 0 90px; font-size:14.5px; }
  footer a { color:#DCE8F7; }
  .foot { display:flex; flex-wrap:wrap; gap:24px 40px; justify-content:space-between; }

  .callbar { display:none; }
  @media (max-width:720px) {
    .callbar { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:60;
      background:var(--brand-ink); border-top:2px solid var(--hot); padding:8px; gap:8px; }
    .callbar .btn { flex:1 1 0; justify-content:center; font-size:16px; padding:11px 8px; }
    .hero h1 { font-size:clamp(34px,9vw,50px); }
    .local__big { font-size:34px; }
  }
  @media (prefers-reduced-motion:reduce) {
    * { transition:none !important; } html { scroll-behavior:auto; }
  }
