@media (max-width:1280px) and (min-width:1181px){
  .nav-links{ gap:18px; font-size:13.5px; }
}
@media (max-width:1024px){
  :root{
    --wrap-pad:24px;
    --section-y:96px;
    --section-head-mb:40px;
    --hero-pad-top:72px;
    --hero-pad-bottom:104px;
    --pre-footer:24px;
    --card-pad:22px;
    --grid-gap:18px;
  }
}
@media (max-width:768px){
  :root{
    --section-y:80px;
    --section-head-mb:36px;
    --hero-pad-top:56px;
    --hero-pad-bottom:96px;
    --pre-footer:24px;
    --card-pad:22px;
    --grid-gap:16px;
  }
}
@media (max-width:640px){
  :root{
    --wrap-pad:16px;
    --section-y:72px;
    --section-head-mb:32px;
    --hero-pad-top:48px;
    --hero-pad-bottom:88px;
    --pre-footer:20px;
    --card-pad:20px;
  }
  .search-overlay,
  .demo-notice{
    padding:80px 16px 24px;
    align-items:stretch;
  }
  .search-dialog,
  .demo-notice-dialog{ width:100%; }
  .search-result{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
  }
  .search-result-type{ grid-row:auto; }
  .search-result-meta{ grid-column:auto; }
  .section-head{ gap:16px; }
  .section-sub{ font-size:15px; }
  .btn{
    min-height:48px;
    font-size:15px;
  }
  .btn-sm{ min-height:42px; }
}

@media (max-width:1180px){
  body > header{ --header-h:64px; }
  .burger{ display:inline-flex; }
  .nav{
    height:var(--header-h);
    gap:12px;
    position:static;
    justify-content:flex-start;
    flex-wrap:nowrap;
  }
  .primary-nav{
    position:absolute;
    top:var(--header-h);
    left:0;
    right:0;
    flex:0 0 0;
    width:auto;
    max-width:none;
    margin:0;
    padding:0 0 12px;
    display:block;
    box-sizing:border-box;
    background:var(--navy-950);
    border-bottom:1px solid var(--line-dark);
    box-shadow:0 18px 40px rgba(0,0,0,0.35);
    transform:none;
    z-index:260;
    max-height:min(78vh, calc(100dvh - var(--header-h)));
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease, visibility .18s ease;
  }
  .primary-nav.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
  }
  .nav-drawer-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 auto;
    padding:16px var(--wrap-pad) 12px;
    max-width:var(--wrap-max);
    box-sizing:border-box;
    width:100%;
  }
  .nav-drawer-title{
    font-family:var(--f-mono);
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--slate);
    font-weight:600;
  }
  .nav-links{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0 auto;
    padding:0 var(--wrap-pad) 8px;
    max-width:var(--wrap-max);
    box-sizing:border-box;
    width:100%;
  }
  .nav-links a{
    padding:14px 2px;
    font-size:16px;
    min-height:48px;
    display:flex;
    align-items:center;
    border-bottom:1px solid var(--line-dark);
    white-space:normal;
  }
  .nav-links li:last-child a{ border-bottom:none; }
  .nav-links li{
    width:100%;
    display:block;
  }
  .nav-links a{ width:100%; }
  .nav-links a.active::after,
  .nav-links a[aria-current="page"]::after{ display:none; }
  .nav-links a.active,
  .nav-links a[aria-current="page"]{ color:var(--green); }
  .nav-drawer-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:8px auto 0;
    padding:8px var(--wrap-pad) 8px;
    max-width:var(--wrap-max);
    width:100%;
    box-sizing:border-box;
  }
  .nav-drawer-actions .btn{ min-height:44px; }
  .nav-backdrop{
    display:block;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
  }
  .nav-backdrop.is-open{
    opacity:1;
    pointer-events:auto;
  }
  .icon-btn{
    width:42px;
    height:42px;
  }
  .nav-right{ gap:8px; margin-left:auto; }
  .nav-right .signin{ display:none; }
  .logo{ font-size:24px; }
}
@media (max-width:430px){
  .signin{ font-size:13px; }
  .nav-right{ gap:6px; }
  .icon-btn{ width:40px; height:40px; }
}

@media (max-width:1024px){
  .hero-grid{ grid-template-columns:1fr; gap:44px; }
  .hero h1{ font-size:clamp(40px,6.4vw,64px); }
  .match-card{ max-width:100%; }
}
@media (max-width:768px){
  .hero h1{ font-size:clamp(36px,8.4vw,48px); line-height:1.02; }
  .hero-copy p{ font-size:16px; margin:20px 0 28px; max-width:100%; }
  .hero-actions{ gap:12px; }
  .hero-actions .btn{
    min-height:48px;
    padding:14px 22px;
  }
  .hero-stats-strip{ gap:20px; margin-top:40px; }
  .hero-stats-strip div{ flex:1 1 140px; }
  .score{ font-size:38px; }
  .match-card{ padding:24px; }
  .match-card-top{ flex-wrap:wrap; }
  .match-comp{ font-size:11.5px; text-align:left; }
}
@media (max-width:430px){
  :root{
    --hero-pad-top:44px;
    --hero-pad-bottom:80px;
  }
  .hero h1{ font-size:clamp(32px,8.4vw,40px); }
  .hero-eyebrow{ margin-bottom:18px; }
  .hero-copy p{ font-size:15.5px; margin:18px 0 24px; }
  .hero-actions{ flex-direction:column; }
  .hero-actions .btn{ width:100%; }
  .hero-stats-strip{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    margin-top:44px;
  }
  .hero-stats-strip div{ flex:none; }
  .hero-stats-strip .num{ font-size:20px; }
  .match-card{ padding:22px 18px 20px; }
  .match-teams{ gap:12px; margin-bottom:22px; }
  .crest{ width:44px; height:44px; font-size:15px; }
  .team-name{ font-size:13px; }
  .score{ font-size:34px; }
  .stat-row{ grid-template-columns:44px minmax(0,1fr) 44px; }
}
@media (max-width:375px){
  .hero h1{ font-size:30px; }
  .stat-row{ grid-template-columns:40px minmax(0,1fr) 40px; gap:8px; }
}

@media (max-width:1024px){
  .live-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px){
  .live-grid{ grid-template-columns:1fr; }
  .live-mini{ padding:22px 20px; }
  .live-mini.has-link{ padding:0; }
  .live-mini.has-link .live-mini-link{ padding:22px 20px; }
}

@media (max-width:1024px){
  .ai-shell{ padding:48px 40px; }
  .ai-body{ gap:40px; }
}
@media (max-width:900px){
  .ai-body{ grid-template-columns:1fr; gap:36px; }
}
@media (max-width:768px){
  .ai-shell{ padding:40px 28px; border-radius:18px; }
  .ai-top{ margin-bottom:32px; }
  .ai-quote{ font-size:24px; }
  .ai-quote-card{ padding:26px 22px; }
}
@media (max-width:640px){
  .ai-shell{ padding:32px 20px; border-radius:16px; }
  .ai-top{ margin-bottom:28px; }
  .ai-quote-card{ padding:24px 20px; }
  .ai-quote{ font-size:22px; line-height:1.38; }
  .ai-metrics{ gap:20px; }
  .ai-roadmap{ gap:8px; margin-top:32px; padding-top:24px; }
}

@media (max-width:768px){
  .fixture-row{
    grid-template-columns:110px minmax(0,1fr);
    gap:14px 20px;
    padding:22px 0;
  }
  .fixture-teams{ justify-content:flex-start; font-size:16px; }
  .fixture-venue{ grid-column:2; text-align:left; }
}
@media (max-width:640px){
  .fixture-row{
    grid-template-columns:1fr;
    gap:8px;
    padding:22px 0;
  }
  .fixture-teams{
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:10px;
    font-size:16px;
  }
  .fixture-venue{
    grid-column:auto;
    text-align:left;
  }
  .fixture-venue .time{ display:none; }
  .fixture-date{ font-size:12.5px; }
}

@media (max-width:640px){
  table.standings{ min-width:600px; }
  table.standings th,
  table.standings td{ padding:14px 16px; font-size:14px; }
  table.standings td.team,
  table.standings th.team{ font-size:14px; }
  table.standings td.pts{ font-size:15.5px; }
}

@media (max-width:1024px){
  .players-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
}
@media (max-width:640px){
  .players-grid{ grid-template-columns:1fr; gap:16px; }
  .player-card{ padding:26px 22px; }
  .player-card.has-link{ padding:0; }
  .player-card.has-link .player-card-link{ padding:26px 22px; }
  .player-name{ font-size:24px; }
}

@media (max-width:768px){
  .result-row{
    grid-template-columns:72px minmax(0,1fr) auto minmax(0,1fr);
    gap:12px;
    padding:18px 0;
  }
  .result-ft{ display:none; }
  .result-team{ font-size:15px; }
}
@media (max-width:640px){
  .result-row{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    grid-template-areas:
      "comp comp ft"
      "home score away";
    column-gap:12px;
    row-gap:10px;
    padding:20px 0;
  }
  .result-comp{ display:block; grid-area:comp; font-size:12px; }
  .result-ft{ display:block; grid-area:ft; text-align:right; }
  .result-team{ grid-area:home; font-size:15px; }
  .result-team.away{ grid-area:away; }
  .result-score{ grid-area:score; font-size:16px; min-width:62px; padding:8px 12px; }
}

@media (max-width:1024px){
  .numbers-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .number-cell{ padding:32px 24px; }
  .number-cell .n{ font-size:34px; }
}
@media (max-width:768px){
  .numbers-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px){
  .numbers-grid{ grid-template-columns:1fr; }
  .number-cell{ padding:28px 22px; }
  .number-cell .n{ font-size:32px; }
}

@media (max-width:900px){
  .news-grid{ grid-template-columns:1fr; gap:32px; }
}
@media (max-width:640px){
  .news-featured .news-media--featured{ height:220px; margin-bottom:20px; }
  .news-featured h3{ font-size:24px; }
  .news-featured p{ font-size:15px; }
  .news-item{ gap:14px; padding:20px 0; }
  .news-media--thumb{ width:76px; height:76px; }
  .news-item h4{ font-size:15.5px; }
}

@media (max-width:768px){
  .newsletter-inner{ gap:32px; }
}
@media (max-width:640px){
  .newsletter-inner{ gap:28px; }
  .newsletter-form{ width:100%; flex-direction:column; }
  .newsletter-form input{ min-width:0; width:100%; flex:none; }
  .newsletter-form .btn{ width:100%; min-height:48px; }
}

@media (max-width:900px){
  .footer-top{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
}
@media (max-width:560px){
  footer{ padding:64px 0 28px; }
  .footer-top{ grid-template-columns:1fr; gap:32px; padding-bottom:40px; }
}
