
  * { box-sizing:border-box; }
  body { margin:0; background:#fff; }
  [hidden] { display:none !important; }
  a { text-decoration:none; }
  .hm .mw{ max-width:980px; margin:0 auto; padding:72px clamp(16px,4vw,28px); }
  .hm .mw-wide{ max-width:1080px; margin:0 auto; padding:72px clamp(16px,4vw,28px); }
  .hm .sec-head{ text-align:center; max-width:680px; margin:0 auto 30px; }
  .hm .eyebrow2{ display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#1277e1; background:#eaf2fd; border:1px solid #d3e4fa; border-radius:999px; padding:7px 15px; margin-bottom:16px; }
  .hm .sec-head h2{ font-size:clamp(23px,3.4vw,31px); font-weight:800; letter-spacing:-.02em; color:#0b2e4e; line-height:1.16; margin:0 0 14px; }
  .hm .sec-head p{ font-size:15.5px; line-height:1.7; color:#5a6472; margin:0; }
  .hm .art-p{ font-size:15px; line-height:1.75; color:#46566a; margin:22px auto 0; max-width:760px; text-align:center; }
  .hm .art-p strong{ color:#0b2e4e; font-weight:700; }
  .hm .faq-item summary::-webkit-details-marker{ display:none; }
  .hm .faq-item[open] .faq-ic{ transform:rotate(180deg); background:#1277e1; color:#fff; }
  .hm .faq-q:hover{ background:#f7fafe; }
  .hm .hg-btn{ transition:filter .15s, transform .15s; }
  .hm .geo-cta i{ transition:transform .16s ease; }
  .hm .hg-card:hover .geo-cta i{ transform:translateX(4px); }
  .hm .hg-card:hover .geo-pill{ background:#1277e1; color:#fff; }
  .hm .geo-pill{ transition:background .16s, color .16s; }
  .hm .hg-btn:hover{ filter:brightness(.93); transform:translateY(-1px); }
  .hm .hg-ghost{ transition:background .15s, border-color .15s, transform .15s; }
  .hm .hg-ghost:hover{ background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.55); transform:translateY(-1px); }
  .hm .load-more{ transition:background .15s, box-shadow .15s, transform .15s; }
  .hm .load-more:hover{ background:#eaf2fd; box-shadow:0 6px 18px rgba(18,119,225,.12); transform:translateY(-1px); }
  .hm .hg-card{ transition:border-color .15s, box-shadow .15s, transform .15s; }
  .hm .hg-card:hover{ border-color:#bcd4ee; box-shadow:0 12px 28px rgba(18,119,225,.13); transform:translateY(-3px); }
  .hm .g2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .hm .g3{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
  .hm .g4{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
  .hm .g2 > *,.hm .g3 > *,.hm .g4 > *{ min-width:0; }
  @media (max-width:640px){ .hm .g4{ grid-template-columns:repeat(2,1fr); } .hm .g3{ grid-template-columns:1fr; } }
  @media (max-width:520px){ .hm .g2{ grid-template-columns:1fr; } }
  .hm .tbl-wrap{ border:1px solid #e6eef7; border-radius:16px; overflow:hidden; box-shadow:0 10px 26px rgba(11,46,78,.05); overflow-x:auto; }
  .hm .tbl{ width:100%; border-collapse:collapse; background:#fff; font-size:14px; min-width:520px; }
  .hm .tbl thead th{ background:#0b2e4e; color:#fff; text-align:left; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:13px 16px; white-space:nowrap; }
  .hm .tbl tbody td{ padding:13px 16px; border-top:1px solid #ebedf0; color:#46566a; line-height:1.5; white-space:nowrap; }
  .hm .tbl td.wrap{ white-space:normal; min-width:220px; }
  .hm .tbl tbody tr:nth-child(even){ background:#f8fafd; }
  .hm .tbl .band{ display:inline-flex; align-items:center; gap:10px; font-weight:800; color:#0b2e4e; }
  .hm .tbl .dot{ width:13px; height:13px; border-radius:4px; flex:0 0 13px; border:1px solid rgba(0,0,0,.12); }
  .hm .num{ font-variant-numeric:tabular-nums; }
  .hm .map-frame:hover .map-img{ transform:scale(1.04); }
  .hm .map-frame:hover .map-overlay{ opacity:1; }
  .hm .rtab{ transition:background .15s, color .15s, border-color .15s; }
  .hm .hstat-bar{ display:grid; grid-template-columns:repeat(4,1fr); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:18px; overflow:hidden; max-width:820px; margin-left:auto; margin-right:auto; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 18px 44px rgba(4,15,30,.28); }
  .hm .rel-grid:not(:has(> a:not([hidden]) ~ a:not([hidden]) ~ a:not([hidden]))){ display:flex !important; flex-wrap:wrap; justify-content:center; }
  .hm .rel-grid:not(:has(> a:not([hidden]) ~ a:not([hidden]) ~ a:not([hidden]))) > a{ width:252px; }
  .hm .hstat{ padding:16px 12px 16px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:7px; transition:background .16s; }
  .hm .hstat:hover{ background:rgba(255,255,255,.05); }
  .hm .hstat .hicon{ font-size:14px; margin-bottom:1px; }
  .hm .hstat .hstat-val{ font-size:clamp(17px,1.9vw,20px); font-weight:800; color:#fff; letter-spacing:-.015em; line-height:1; white-space:nowrap; }
  .hm .hstat .hstat-label{ font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#8fb4dc; }
  .hm .hstat .hstat-sub{ font-size:11px; font-weight:500; color:#9db9d6; }
  .hm .hstat + .hstat{ box-shadow:inset 1px 0 0 rgba(255,255,255,.1); }
  @media (max-width:640px){ .hm .hstat-bar{ grid-template-columns:1fr 1fr; } .hm .hstat:nth-child(3),.hm .hstat:nth-child(4){ box-shadow:inset 0 1px 0 rgba(255,255,255,.1); } .hm .hstat:nth-child(4){ box-shadow:inset 1px 1px 0 rgba(255,255,255,.1); } }







  /* Share panel (map preview share button) */
  .hm .share-panel{ position:absolute; top:calc(100% + 10px); right:0; width:290px; background:#fff; border:1px solid #e3e9f2; border-radius:14px; box-shadow:0 18px 46px rgba(11,46,78,.30); overflow:hidden; text-align:left; }
  .hm .share-head{ padding:11px 40px 9px 12px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#7a8aa0; }
  .hm .share-close{ position:absolute; top:8px; right:8px; z-index:2; width:30px; height:30px; display:flex; align-items:center; justify-content:center; border:none; border-radius:8px; background:#f2f5f9; color:#5a6472; font-size:14px; cursor:pointer; transition:background .14s,color .14s; }
  .hm .share-close:hover{ background:#e6ebf2; color:#0b2e4e; }
  .hm .share-item{ display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:transparent; border:none; border-radius:9px; padding:10px 12px; cursor:pointer; font-family:inherit; transition:background .14s; }
  .hm .share-item:hover{ background:#f2f7fd; }
  .hm .share-ic{ width:34px; height:34px; flex:none; border-radius:9px; background:#eaf2fd; color:#1277e1; display:flex; align-items:center; justify-content:center; font-size:14px; }
  .hm .share-t{ display:block; font-size:13.5px; font-weight:700; color:#0b2e4e; }
  .hm .share-s{ display:block; font-size:11.5px; color:#7a8aa0; margin-top:2px; }
  .hm .share-chev{ color:#b6c2d2; font-size:11px; }
  .hm .share-back{ display:inline-flex; align-items:center; gap:7px; background:transparent; border:none; padding:11px 12px; cursor:pointer; font-family:inherit; font-size:12px; font-weight:700; color:#1277e1; transition:color .14s; }
  .hm .share-back:hover{ color:#0b2e4e; }
  .hm .share-sub-h{ font-size:13.5px; font-weight:800; color:#0b2e4e; margin:0 0 8px; }
  .hm .share-sub-p{ font-size:12px; line-height:1.6; color:#5a6472; margin:0 0 11px; }
  .hm .share-quote{ font-size:12.5px; line-height:1.65; color:#0b2e4e; background:#f5f8fc; border:1px solid #e3e9f2; border-radius:10px; padding:12px 13px; }
  .hm .share-quote a{ color:#1277e1; font-weight:700; }
  .hm .share-quote a:hover{ text-decoration:underline; }
  .hm .share-cta{ display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:12px; height:40px; background:#1277e1; color:#fff; border:none; border-radius:9px; font-family:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:filter .14s; }
  .hm .share-cta:hover{ filter:brightness(.94); }
  .hm .share-chip{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:#0b2e4e; background:#f5f8fc; border:1px solid #e3e9f2; border-radius:8px; padding:6px 10px; }
  .hm .share-note{ display:flex; align-items:flex-start; gap:8px; padding:10px 11px; background:#eef9f1; border:1px solid #cdeed6; border-radius:9px; font-size:11.5px; line-height:1.55; color:#1a7f43; font-weight:600; }
  .hm .share-fine{ font-size:11.5px; line-height:1.55; color:#7a8aa0; margin:11px 0 0; }
  .hm .share-fine a{ color:#1277e1; font-weight:700; }
  .hm .share-fine a:hover{ text-decoration:underline; }
  /* The panel is portaled to <body> as a centered modal so it always sits on
     top of everything, independent of the clipped/transformed preview frame. */
  .hg-share-portal{ position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(9,26,45,.55); }
  .hg-share-portal[hidden]{ display:none; }
  .hg-share-portal .share-panel{ position:static; top:auto; right:auto; transform:none; width:min(340px, calc(100vw - 32px)); max-height:min(600px, calc(100vh - 48px)); overflow:auto; }
  body.hg-share-lock{ overflow:hidden; }
