/* ==========================================================
   HANDBALL FEDERATION — UI POLISH + RESPONSIVE ENGINE
   Rebuilt: clean, modern, mobile-first refinements applied
   on top of the existing structure without breaking bindings.
   Loads last, so these rules win the cascade.
   ========================================================== */

:root{
  --hf-navy:#0c1017;
  --hf-navy2:#171e29;
  --hf-navy3:#232d3b;
  --hf-red:#C8102E;
  --hf-red-d:#9c0c22;
  --hf-green:#1F7A44;
  --hf-gold:#C9A227;
  --hf-gold-l:#e7c85a;
  --hf-bg:#eef1f5;
  --hf-line:#e6ebf1;
  --hf-text:#1F2733;
  --hf-muted:#6a7686;
  --hf-radius:16px;
  --hf-shadow-sm:0 3px 14px rgba(20,30,45,.06);
  --hf-shadow-md:0 10px 30px rgba(20,30,45,.10);
  --hf-shadow-lg:0 18px 44px rgba(20,30,45,.16);
  --hf-drawer-w:min(86vw,340px);
  --hf-ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}
body{
  min-width:0;
  overflow-x:hidden;
  background:var(--hf-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{ background:rgba(200,16,46,.16); }

img,video,canvas,svg{ max-width:100%; }
button,a,input,select,textarea{ max-width:100%; }
button,a{ -webkit-tap-highlight-color:transparent; }
button{ cursor:pointer; }
table{ width:100%; }

/* Refined scrollbar */
::-webkit-scrollbar{ width:10px;height:10px; }
::-webkit-scrollbar-thumb{ background:#c3ccd6;border-radius:8px; }
::-webkit-scrollbar-thumb:hover{ background:#a9b4c1; }

/* Accessible keyboard focus */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[onclick]:focus-visible{
  outline:2.5px solid var(--hf-gold);
  outline-offset:2px;
  border-radius:8px;
}

/* Inputs: warmer, tappable, consistent focus ring */
input,select,textarea{
  transition:border-color .16s ease, box-shadow .16s ease;
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:var(--hf-red)!important;
  box-shadow:0 0 0 3px rgba(200,16,46,.12);
}

/* Content width normalization (keeps gutters on every viewport) */
[style*="max-width:1280px"],[style*="max-width:1180px"],
[style*="max-width:1100px"],[style*="max-width:1080px"],
[style*="max-width:1000px"],[style*="max-width:920px"],
[style*="max-width:900px"]{
  width:min(100% - 44px,var(--_mw,1280px))!important;
}
[style*="max-width:1180px"]{ --_mw:1180px; }
[style*="max-width:1100px"]{ --_mw:1100px; }
[style*="max-width:1080px"]{ --_mw:1080px; }
[style*="max-width:1000px"]{ --_mw:1000px; }
[style*="max-width:920px"]{ --_mw:920px; }
[style*="max-width:900px"]{ --_mw:900px; }

/* =========================================================
   REAL HOVER POLISH (style-hover intent wasn't wired up)
   Applied only where a pointer exists, so mobile taps stay clean.
   ========================================================= */
@media (hover:hover) and (pointer:fine){
  [style-hover]{
    transition:transform .2s var(--hf-ease), box-shadow .2s var(--hf-ease),
               border-color .2s ease, background-color .2s ease, color .2s ease;
    will-change:transform;
  }
  [style-hover][style*="cursor:pointer"]:hover{
    transform:translateY(-3px);
    box-shadow:var(--hf-shadow-lg);
  }
  /* Buttons: gentle press-up, no big shadow jump */
  button[style-hover]:hover{
    transform:translateY(-1.5px);
    filter:brightness(1.03);
  }
  header nav button:hover{
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
  }
}

/* =========================================================
   HEADER — desktop refinements + burger (hidden until mobile)
   ========================================================= */
.hf-header{ isolation:isolate; }
.hf-mainbar{ min-height:82px; }
.hf-nav button{ transition:background .16s ease,color .16s ease; }
.hf-burger{
  display:none;
  margin-inline-start:auto;
  width:46px;height:42px;
  border:none;border-radius:12px;
  background:rgba(255,255,255,.08);
  padding:0 11px;
  flex-direction:column;justify-content:center;gap:5px;
  flex-shrink:0;
}
.hf-burger span{
  display:block;height:2.5px;width:100%;border-radius:3px;
  background:#fff;transition:transform .28s var(--hf-ease),opacity .2s ease;
}

/* =========================================================
   MOBILE DRAWER — off-canvas nav
   ========================================================= */
.hf-overlay{
  position:fixed;inset:0;z-index:998;
  background:rgba(6,10,16,.55);
  backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
.hf-drawer{
  position:fixed;top:0;right:0;z-index:999;
  height:100dvh;width:var(--hf-drawer-w);
  background:linear-gradient(180deg,#141b25,#0d1219);
  color:#fff;
  padding:18px 18px calc(18px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:6px;
  transform:translateX(105%);
  transition:transform .34s var(--hf-ease);
  box-shadow:-18px 0 50px rgba(0,0,0,.4);
  overflow-y:auto;overscroll-behavior:contain;
}
body.hf-drawer-open{ overflow:hidden; }
body.hf-drawer-open .hf-overlay{ opacity:1;visibility:visible; }
body.hf-drawer-open .hf-drawer{ transform:translateX(0); }
body.hf-drawer-open .hf-burger span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
body.hf-drawer-open .hf-burger span:nth-child(2){ opacity:0; }
body.hf-drawer-open .hf-burger span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

.hf-drawer-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-bottom:14px;margin-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.hf-drawer-brand{ display:flex;align-items:center;gap:11px;cursor:pointer;min-width:0; }
.hf-drawer-logo{
  width:46px;height:46px;border-radius:12px;background:#fff;
  display:flex;align-items:center;justify-content:center;padding:6px;flex-shrink:0;
  box-shadow:0 0 0 2.5px rgba(200,16,46,.35);
}
.hf-drawer-logo img{ width:100%;height:100%;object-fit:contain; }
.hf-drawer-name{ font-weight:800;font-size:14.5px;line-height:1.3; }
.hf-drawer-tag{ font-size:10.5px;color:var(--hf-gold-l);font-weight:600;margin-top:2px; }
.hf-drawer-close{
  width:38px;height:38px;flex-shrink:0;border:none;border-radius:11px;
  background:rgba(255,255,255,.08);color:#fff;font-size:16px;line-height:1;
}
.hf-drawer-close:hover{ background:rgba(255,255,255,.16); }

.hf-drawer-nav{ display:flex;flex-direction:column;gap:3px;margin:4px 0; }
.hf-drawer-link{
  text-align:right;border:none;border-radius:11px;
  background:transparent;color:#d4dded;
  padding:13px 14px;font-size:14.5px;font-weight:700;
  display:flex;align-items:center;gap:9px;
  transition:background .16s ease,color .16s ease;
}
.hf-drawer-link::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.22);flex-shrink:0;transition:background .16s ease;
}
.hf-drawer-link:hover,.hf-drawer-link:active{
  background:rgba(255,255,255,.07);color:#fff;
}
.hf-drawer-link:hover::before{ background:var(--hf-red); }

.hf-drawer-talent{
  margin-top:8px;border:1px solid rgba(201,162,39,.5);
  background:rgba(201,162,39,.14);color:var(--hf-gold-l);
  border-radius:12px;padding:13px 14px;font-size:14px;font-weight:800;
  text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;
}
.hf-drawer-cta{
  margin-top:9px;border:none;border-radius:12px;
  background:linear-gradient(135deg,var(--hf-red),var(--hf-red-d));color:#fff;
  padding:15px 14px;font-size:15px;font-weight:800;
  box-shadow:0 10px 22px rgba(200,16,46,.4);
}
.hf-drawer-rolelabel{
  margin:20px 4px 8px;font-size:11px;font-weight:700;letter-spacing:.3px;
  color:#7f8da3;text-transform:uppercase;
}
.hf-drawer-roles{ display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.hf-drawer-role{
  border:1px solid rgba(255,255,255,.1);border-radius:11px;
  background:rgba(255,255,255,.04);color:#c8d2df;
  padding:11px 10px;font-size:12.5px;font-weight:700;
  display:flex;align-items:center;gap:7px;justify-content:center;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.hf-drawer-role span{ font-size:15px; }
.hf-drawer-role:hover{ background:rgba(255,255,255,.09);color:#fff;border-color:rgba(255,255,255,.2); }
.hf-drawer-contact{
  margin-top:auto;padding-top:16px;
  font-size:11px;color:#7f8da3;text-align:center;line-height:1.9;
  border-top:1px solid rgba(255,255,255,.07);
}

/* =========================================================
   TABLET  (≤1024px) — switch header to drawer, ease grids
   ========================================================= */
@media (max-width:1024px){
  .hf-nav,.hf-actions,.hf-toprole{ display:none!important; }
  .hf-burger{ display:flex!important; }
  .hf-mainbar{ min-height:66px!important;padding-top:10px!important;padding-bottom:10px!important;flex-wrap:nowrap!important; }
  .hf-topbar{ justify-content:center!important; }
  .hf-topinfo{ gap:14px!important; }

  [style*="grid-template-columns:repeat(4,1fr)"]{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  [style*="grid-template-columns:repeat(3,1fr)"]{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  [style*="grid-template-columns:1fr 1fr 1fr 1fr"]{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  [style*="grid-template-columns:1fr 1fr 1fr"]{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  [style*="grid-template-columns:1.5fr 1fr"],
  [style*="grid-template-columns:1.7fr 1fr"],
  [style*="grid-template-columns:1.3fr 1fr 1fr"],
  [style*="grid-template-columns:1.3fr 1fr"],
  [style*="grid-template-columns:1.4fr 1fr"],
  [style*="grid-template-columns:1fr 1.3fr"],
  [style*="grid-template-columns:260px 1fr"],
  [style*="grid-template-columns:180px 1fr"]{ grid-template-columns:1fr!important; }
  [style*="grid-row:1/3"]{ grid-row:auto!important; }
}

/* =========================================================
   MOBILE  (≤768px) — single column, tighter rhythm, polish
   ========================================================= */
@media (max-width:768px){
  [style*="max-width:1280px"],[style*="max-width:1180px"],
  [style*="max-width:1100px"],[style*="max-width:1080px"],
  [style*="max-width:1000px"],[style*="max-width:920px"],
  [style*="max-width:900px"]{ width:min(100% - 32px,var(--_mw,1280px))!important; }

  /* Collapse every remaining multi-column layout */
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns:1fr 1fr 1fr 1fr"],
  [style*="grid-template-columns:1fr 1fr 1fr"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1.4fr 1fr 1fr 1fr"]{ grid-template-columns:1fr!important; }

  /* Keep compact number/team tiles two-up so the grid still reads as a set */
  section [style*="grid-template-columns:repeat(4,1fr)"]{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }

  /* Section vertical rhythm — replace the big desktop margins */
  [style*="margin:76px auto 0"]{ margin:44px auto 0!important; }
  [style*="margin:84px 0 0"]{ margin:44px 0 0!important; }
  [style*="margin:76px auto 70px"]{ margin:44px auto 40px!important; }
  [style*="margin:44px auto"]{ margin:28px auto!important; }
  [style*="margin:30px auto 60px"]{ margin:20px auto 40px!important; }
  [style*="margin-top:30px"]{ margin-top:20px!important; }

  /* Hero: readable height + safe bottom room for the overlapping stats card */
  section[style*="height:min(88vh,760px)"]{
    height:auto!important;min-height:0!important;
    padding:96px 0 120px!important;
  }
  /* Stats overlap card sits closer, two-up, no vertical dividers */
  [style*="margin:-42px auto 0"]{ margin:-70px auto 0!important; }
  [style*="grid-template-columns:repeat(4,1fr)"][style*="padding:8px"]{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  [style*="position:absolute"][style*="width:1px"][style*="background:#e6ebf1"]{ display:none!important; }

  /* Padding + radius normalization for cards/sections */
  [style*="padding:48px 44px"],[style*="padding:44px 40px"],
  [style*="padding:44px"],[style*="padding:40px"],[style*="padding:34px"],
  [style*="padding:32px"],[style*="padding:30px"]{ padding:22px!important; }
  [style*="padding:28px"],[style*="padding:26px"],[style*="padding:24px 24px"]{ padding:18px!important; }
  [style*="padding:0 22px"]{ padding-left:0!important;padding-right:0!important; }
  [style*="border-radius:28px"],[style*="border-radius:24px"],
  [style*="border-radius:22px"],[style*="border-radius:20px"]{ border-radius:18px!important; }

  /* Match rows: let the score block breathe and center */
  [style*="min-width:260px"]{ min-width:0!important;flex-basis:100%!important;order:-1;margin-bottom:6px; }
  [style*="min-width:220px"]{ min-width:0!important; }
  [style*="min-width:130px"]{ min-width:0!important;width:100%!important;text-align:center!important; }

  /* Featured news card shorter on phones */
  [style*="min-height:420px"]{ min-height:300px!important; }

  /* CTA / hero button rows: full-width, stacked, comfy tap targets */
  section [style*="display:flex"][style*="flex-wrap:wrap"] > button{ min-height:48px; }
  [style*="flex-wrap:wrap"][style*="gap:14px"] > button,
  [style*="flex-wrap:wrap"][style*="gap:12px"] > button{ flex:1 1 100%; }

  /* Register wizard step chips → horizontal scroll strip */
  [style*="display:flex"][style*="gap:6px"][style*="flex-wrap:wrap"]{
    flex-wrap:nowrap!important;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    padding-bottom:4px;
  }
  [style*="display:flex"][style*="gap:6px"][style*="flex-wrap:wrap"]::-webkit-scrollbar{ display:none; }
  [style*="display:flex"][style*="gap:6px"][style*="flex-wrap:wrap"] > *{
    flex:0 0 auto!important;min-width:128px;
  }

  /* Footer stacks */
  [style*="grid-template-columns:1.4fr 1fr 1fr 1fr"]{ grid-template-columns:1fr 1fr!important; }

  /* Sticky side rails become normal flow */
  [style*="position:sticky"][style*="top:110px"],
  [style*="position:sticky"][style*="top:108px"],
  aside[style*="position:sticky"]{ position:relative!important;top:auto!important;height:auto!important; }

  body{ font-size:14.5px; }
}

/* Wide dashboard tables → horizontal scroll (keeps columns aligned) */
@media (max-width:900px){
  div:has(> [style*="grid-template-columns:1.4fr 1fr 0.7fr 1fr 1.2fr 1.3fr 0.9fr"]),
  div:has(> [style*="grid-template-columns:1.4fr repeat(3,1fr) 0.9fr"]){
    overflow-x:auto!important;-webkit-overflow-scrolling:touch;border-radius:14px;
  }
  [style*="grid-template-columns:1.4fr 1fr 0.7fr 1fr 1.2fr 1.3fr 0.9fr"]{ min-width:720px!important; }
  [style*="grid-template-columns:1.4fr repeat(3,1fr) 0.9fr"]{ min-width:560px!important; }
}

/* =========================================================
   SMALL PHONES (≤460px)
   ========================================================= */
@media (max-width:460px){
  [style*="max-width:1280px"],[style*="max-width:1180px"],
  [style*="max-width:1100px"],[style*="max-width:1080px"],
  [style*="max-width:1000px"]{ width:min(100% - 24px,var(--_mw,1280px))!important; }

  .hf-brand-logo{ width:44px!important;height:44px!important; }
  .hf-brand-title{ font-size:14.5px!important; }
  .hf-brand-sub{ font-size:9.5px!important; }
  .hf-topinfo{ font-size:10.5px!important;gap:10px!important; }

  section[style*="height:min(88vh,760px)"]{ padding:82px 0 108px!important; }
  [style*="footer"] [style*="grid-template-columns:1.4fr 1fr 1fr 1fr"],
  [style*="grid-template-columns:1.4fr 1fr 1fr 1fr"]{ grid-template-columns:1fr!important; }

  /* Keep the brand on one line, truncate gracefully next to the burger */
  .hf-brand{ min-width:0!important;overflow:hidden; }
  .hf-brand-title,.hf-brand-sub{ overflow:hidden;text-overflow:ellipsis; }
  /* Cap the hero headline so it doesn't dominate small screens */
  [style*="clamp(38px,5.2vw,60px)"]{ font-size:30px!important;line-height:1.22!important; }
  [style*="clamp(30px,4vw,42px)"]{ font-size:25px!important; }
}

/* Respect reduced-motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
}

/* Print (report card): hide chrome, clean paper */
@media print{
  .hf-header,.hf-overlay,.hf-drawer,.hf-burger,footer{ display:none!important; }
  body{ background:#fff!important; }
}

/* =========================================================
   FINAL UI/UX PATCH — fixed header logo, mobile spacing,
   overflow safety, and page-wide responsive rules.
   ========================================================= */
html,body,#dc-root{ max-width:100%; overflow-x:hidden; }
body{ text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
img{ max-width:100%; }
button{ touch-action:manipulation; }
.hf-header{ box-shadow:0 10px 26px rgba(7,12,20,.18)!important; }
.hf-mainbar-wrap{ background:linear-gradient(90deg,#17202d,#202b3a)!important; }
.hf-mainbar{ flex-wrap:nowrap!important; }
.hf-brand{ min-width:0; }
.hf-brand-logo,
.hf-drawer-logo{
  background:linear-gradient(145deg,#fff,#f4f7fb)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.28),0 0 0 2.5px rgba(200,16,46,.38)!important;
  padding:7px!important;
}
.hf-brand-logo img,
.hf-drawer-logo img,
footer img[src*="logo_mark"]{ width:100%!important;height:100%!important;object-fit:contain!important; }
.hf-nav button{ min-height:38px; }
.hf-actions button{ min-height:42px; }
.hf-drawer{ max-width:calc(100vw - 34px); contain:layout paint; }
.hf-overlay{ contain:strict; }
.hf-stats-grid{ overflow:hidden; }
.hf-stats-grid > div{ min-width:0; }
.hf-quick-grid > *{ min-width:0; }
input,select,textarea{ max-width:100%; }

@media (min-width:1025px){
  .hf-brand-logo{ width:56px!important;height:56px!important;border-radius:15px!important; }
  .hf-brand-title{ font-size:17px!important;letter-spacing:-.2px; }
  .hf-brand-sub{ font-size:11px!important; }
  .hf-mainbar{ gap:20px!important; }
  .hf-topbar{ height:36px!important; }
}

@media (max-width:1024px){
  .hf-mainbar{ width:100%!important; }
  .hf-brand-logo{ width:50px!important;height:50px!important;border-radius:14px!important; }
  .hf-brand-title{ font-size:15px!important; }
  .hf-brand-sub{ font-size:10px!important; }
  .hf-burger{ order:3;margin-inline-start:auto!important; }
}

@media (max-width:768px){
  body{ background:#eef1f5!important; }
  .hf-topbar-wrap{ display:block!important; }
  .hf-topbar{ height:32px!important;padding:0 14px!important; }
  .hf-topinfo{ width:100%;justify-content:center!important;gap:8px!important;font-size:10.5px!important;overflow:hidden;text-overflow:ellipsis; }
  .hf-topinfo span:nth-child(2){ opacity:.45; }
  .hf-mainbar{ min-height:72px!important;padding:10px 16px!important;gap:10px!important; }
  .hf-brand{ flex:1 1 auto; justify-content:flex-end; }
  .hf-brand-logo{ width:48px!important;height:48px!important;border-radius:14px!important;order:2; }
  .hf-brand > div:not(.hf-brand-logo){ min-width:0; text-align:right; }
  .hf-brand-title{ font-size:14.5px!important;line-height:1.35!important; }
  .hf-brand-sub{ font-size:9.8px!important;line-height:1.4!important; }
  .hf-burger{ width:46px!important;height:42px!important;border-radius:12px!important; }

  .hf-hero{ padding:88px 0 112px!important; min-height:660px!important; }
  .hf-hero > div[style*="max-width:1280px"]{ justify-content:center!important; text-align:right; }
  .hf-hero h1{ font-size:36px!important;line-height:1.23!important;margin-bottom:14px!important;max-width:330px!important; }
  .hf-hero p{ max-width:330px!important; }
  .hf-hero p:nth-of-type(1){ font-size:15.5px!important;line-height:1.85!important; }
  .hf-hero p:nth-of-type(2){ font-size:13.5px!important;line-height:1.95!important;margin-bottom:28px!important; }
  .hf-hero button{ width:100%;justify-content:center!important;min-height:52px!important;border-radius:14px!important; }
  .hf-hero button[style*="background:transparent"]{ width:auto;align-self:center;min-height:42px!important; }
  .hf-stats-section{ margin:-64px auto 0!important;width:calc(100% - 28px)!important;padding:0!important; }
  .hf-stats-grid{ grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:6px!important;border-radius:18px!important; }
  .hf-stats-grid > div{ padding:17px 8px!important; }
  .hf-stats-grid > div:nth-child(odd){ border-inline-start:1px solid #e6ebf1; }
  .hf-stats-grid > div:nth-child(n+3){ border-top:1px solid #e6ebf1; }
  .hf-stats-grid [style*="font-size:29px"]{ font-size:23px!important; }
  .hf-stats-grid [style*="font-size:12.5px"]{ font-size:11.3px!important;line-height:1.6!important; }

  .hf-quick-grid{ grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:12px!important; }
  .hf-quick-primary{ grid-row:auto!important;min-height:220px!important;padding:24px!important; }

  main section{ scroll-margin-top:108px; }
  section > div[style*="text-align:center"] h2,
  section h1,
  section h2{ letter-spacing:-.4px; }
  [style*="align-items:baseline"][style*="justify-content:space-between"]{ align-items:flex-start!important;gap:12px!important; }
  [style*="align-items:baseline"][style*="justify-content:space-between"] button{ flex-shrink:0; }
  footer > div:first-child{ width:calc(100% - 32px)!important;padding:34px 0 24px!important;gap:22px!important;grid-template-columns:1fr!important; }
  footer [style*="display:flex;gap:9px"]{ flex-wrap:wrap!important; }
}

@media (max-width:520px){
  .hf-drawer{ width:min(336px,calc(100vw - 30px))!important; }
  .hf-drawer-roles{ grid-template-columns:1fr!important; }
  [style*="max-width:1280px"], [style*="max-width:1180px"], [style*="max-width:1100px"],
  [style*="max-width:1080px"], [style*="max-width:1000px"], [style*="max-width:920px"], [style*="max-width:900px"]{
    width:calc(100% - 28px)!important;
  }
  [style*="padding:0 22px"]{ padding-left:0!important;padding-right:0!important; }
  [style*="display:flex"][style*="justify-content:space-between"]{ gap:12px; }
  [style*="font-size:29px"]{ font-size:24px!important; }
  [style*="font-size:28px"]{ font-size:23px!important; }
  [style*="font-size:26px"]{ font-size:22px!important; }
  [style*="font-size:24px"]{ font-size:21px!important; }
  [style*="font-size:22px"]{ font-size:20px!important; }
  input,select,textarea{ min-height:44px; }
}

@media (max-width:390px){
  .hf-mainbar{ padding-left:12px!important;padding-right:12px!important; }
  .hf-brand-logo{ width:44px!important;height:44px!important; }
  .hf-brand-title{ font-size:13.2px!important; }
  .hf-brand-sub{ font-size:9px!important; }
  .hf-burger{ width:42px!important;height:40px!important; }
  .hf-hero h1{ font-size:32px!important; }
  .hf-hero{ min-height:640px!important; }
}

/* Normal document scrolling: dc-runtime sets 100% height; override it so long pages scroll naturally. */
html,body{ height:auto!important; min-height:100%; overflow-x:hidden!important; overflow-y:auto!important; }
#dc-root,#dc-root>.sc-host{ height:auto!important; min-height:100vh!important; overflow-x:clip!important; overflow-y:visible!important; }

/* Keep sticky header working while preventing the closed drawer from widening mobile layout. */
#dc-root,#dc-root>.sc-host{ overflow-x:visible!important; overflow-y:visible!important; }
.hf-drawer{ right:-390px!important; transform:none!important; }
body.hf-drawer-open .hf-drawer{ right:0!important; transform:none!important; }
@media (max-width:520px){ .hf-drawer{ right:-360px!important; } }

/* Stable always-visible navigation. Sticky was unreliable in the dc runtime wrapper, so use fixed header with matching main offset. */
:root{ --hf-header-h:119px; }
.hf-header{ position:fixed!important; top:0!important; left:0!important; right:0!important; width:100%!important; z-index:950!important; }
main{ padding-top:var(--hf-header-h)!important; }
.hf-overlay{ z-index:980!important; }
.hf-drawer{ z-index:990!important; }
@media (max-width:1024px){ :root{ --hf-header-h:105px; } }

/* React normalizes inline style attributes by adding spaces; support both raw and normalized forms. */
@media (max-width:1024px){
  [style*="grid-template-columns: 1.5fr 1fr"],
  [style*="grid-template-columns: 1.7fr 1fr"],
  [style*="grid-template-columns: 1.3fr 1fr 1fr"],
  [style*="grid-template-columns: 1.3fr 1fr"],
  [style*="grid-template-columns: 1.4fr 1fr"],
  [style*="grid-template-columns: 1fr 1.3fr"],
  [style*="grid-template-columns: 260px 1fr"],
  [style*="grid-template-columns: 180px 1fr"]{ grid-template-columns:1fr!important; }
  [style*="grid-template-columns: repeat(4, 1fr)"],
  [style*="grid-template-columns: repeat(3, 1fr)"],
  [style*="grid-template-columns: 1fr 1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr 1fr"]{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:768px){
  [style*="grid-template-columns: repeat(4, 1fr)"],
  [style*="grid-template-columns: repeat(3, 1fr)"],
  [style*="grid-template-columns: repeat(2, 1fr)"],
  [style*="grid-template-columns: 1fr 1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns: 1.4fr 1fr 1fr 1fr"]{ grid-template-columns:1fr!important; }
  .hf-stats-grid{ grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  [style*="grid-template-columns: 34px 1fr 40px 40px"],
  [style*="grid-template-columns: 1.4fr repeat(3, 1fr) 0.9fr"],
  [style*="grid-template-columns: 1.4fr 1fr 0.7fr 1fr 1.2fr 1.3fr 0.9fr"]{ min-width:640px!important; }
  div:has(> [style*="grid-template-columns: 34px 1fr 40px 40px"]),
  div:has(> [style*="grid-template-columns: 1.4fr repeat(3, 1fr) 0.9fr"]),
  div:has(> [style*="grid-template-columns: 1.4fr 1fr 0.7fr 1fr 1.2fr 1.3fr 0.9fr"]){ overflow-x:auto!important;-webkit-overflow-scrolling:touch; }
}

@media (max-width:768px){
  [style*="display: grid"] > *, [style*="display:grid"] > *{ min-width:0!important; }
  section[style*="display: grid"], section[style*="display:grid"]{ max-width:100%!important; }
}

@media (max-width:768px){
  [style*="right: calc(50% + 29px)"],
  [style*="right:calc(50% + 29px)"]{ display:none!important; }
}

/* Offline/no-CDN hardening: prevent any off-canvas drawer from creating RTL horizontal shift. */
html,body,#dc-root,#dc-root>.sc-host{ max-width:100%!important; overflow-x:hidden!important; }
.hf-drawer{ right:0!important; transform:translateX(110%)!important; }
body.hf-drawer-open .hf-drawer{ right:0!important; transform:translateX(0)!important; }
@media (max-width:768px){
  .hf-hero > div[style*="max-width:1280px"]{ width:calc(100% - 28px)!important; max-width:none!important; margin-left:auto!important; margin-right:auto!important; align-items:stretch!important; }
  .hf-hero h1{ width:100%!important; max-width:100%!important; white-space:normal!important; overflow-wrap:normal!important; text-align:right!important; font-size:31px!important; line-height:1.28!important; }
  .hf-hero p{ width:100%!important; max-width:100%!important; text-align:right!important; }
}
@media (max-width:390px){
  .hf-hero h1{ font-size:28px!important; }
}
