:root {
  --navy:#0D3B7A; --navy-mid:#002b5b; --accent:#4a90d9; --accent-pale:#a9c7ff;
  --surface:#f7f9fb; --surface-low:#eceef0; --muted:#64748b; --text:#0f1c2e;
  --font-display:'Oswald',sans-serif; --font-body:'Inter','Barlow',sans-serif;
  --transition:.35s cubic-bezier(.25,.46,.45,.94);
  --radius-sm:4px; --radius-md:8px; --radius-lg:16px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text);background:var(--surface);overflow-x:hidden}
img{display:block}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em}

/* ─── Navbar ── */
#mainNav{background:#fff;border-bottom:1px solid rgba(0,23,54,.08);transition:box-shadow var(--transition);padding:0}
#mainNav.scrolled{box-shadow:0 4px 32px rgba(0,23,54,.12)}
.navbar-brand{font-family:var(--font-display);font-weight:900;font-size:1.55rem;letter-spacing:.05em;color:var(--navy)!important;text-transform:uppercase;padding:0.6rem 0}
.nav-item-mega{position:static!important}
.main-nav-link{font-family:var(--font-display);font-weight:700;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)!important;padding:1.35rem .9rem!important;display:flex;align-items:center;gap:.3rem;text-decoration:none;border-bottom:3px solid transparent;transition:color var(--transition),border-color var(--transition);white-space:nowrap}
.main-nav-link:hover,.main-nav-link.active-drop,.main-nav-link.active-page{color:var(--navy-mid)!important;border-bottom-color:var(--accent)}
.main-nav-link .drop-arrow{font-size:.7rem;transition:transform var(--transition);opacity:.5}
.main-nav-link.active-drop .drop-arrow{transform:rotate(180deg);opacity:1}
.navbar-toggler{border:2px solid rgba(0,23,54,.3);border-radius:4px;padding:.4rem .6rem}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23001736' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.nav-lang-switch{display:flex;align-items:center;gap:.25rem;white-space:nowrap}
.lang-btn{font-family:var(--font-display);font-weight:800;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:.3rem .5rem;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition)}
.lang-btn:hover{color:var(--navy)}.lang-btn.active{color:var(--navy);background:var(--surface-low)}
.lang-sep{color:#cbd5e1;font-weight:300;font-size:.9rem}
.mega-panel{display:none;position:absolute;top:100%;left:0;width:100%;background:#fff;border-top:3px solid var(--accent);box-shadow:0 24px 60px rgba(0,23,54,.15);z-index:1000;animation:megaFadeIn .22s ease}
.mega-panel.open{display:block}
@keyframes megaFadeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mega-inner{padding:1.75rem 0 2.25rem}
.mega-sport-card{position:relative;border-radius:var(--radius-md);overflow:hidden;height:160px;cursor:pointer;display:block;text-decoration:none}
.mega-sport-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.mega-sport-card:hover img{transform:scale(1.07)}
.mega-sport-card .msc-grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,23,54,.88) 0%,rgba(0,23,54,.1) 60%,transparent 100%)}
.mega-sport-card .msc-label{position:absolute;bottom:0;left:0;right:0;padding:.9rem 1rem;font-family:var(--font-display);font-size:1.15rem;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.06em}
.mega-sport-card:hover .msc-label{color:var(--accent-pale)}
.mega-sport-card.all-sports{background:var(--navy);display:flex;align-items:center;justify-content:center}
.mega-sport-card.all-sports .msc-label{position:static;text-align:center;font-size:1rem;padding:0}
.mega-sport-card.all-sports:hover{background:var(--navy-mid)}
.simple-drop{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border-top:3px solid var(--accent);box-shadow:0 16px 48px rgba(0,23,54,.13);border-radius:0 0 var(--radius-md) var(--radius-md);z-index:1000;padding:.5rem 0;animation:megaFadeIn .2s ease}
.simple-drop.open{display:block}
.simple-drop a{display:block;padding:.65rem 1.25rem;font-family:var(--font-display);font-weight:700;font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text);text-decoration:none;transition:background var(--transition),color var(--transition),padding var(--transition)}
.simple-drop a:hover{background:var(--surface-low);color:var(--navy-mid);padding-left:1.6rem}
.simple-drop .drop-divider{height:1px;background:var(--surface-low);margin:.25rem 0}
@media(max-width:991.98px){
  .mega-panel,.simple-drop{position:static;box-shadow:none;border-top:none;animation:none}
  .mega-panel{border-left:3px solid var(--accent);margin-left:1rem;padding:.5rem 0}
  .mega-inner{padding:.75rem 0}.mega-sport-card{height:120px}
  .simple-drop{border-left:3px solid var(--accent);margin-left:1rem}
  .main-nav-link{padding:.75rem 1rem!important;border-bottom:none;border-left:3px solid transparent}
  .main-nav-link:hover,.main-nav-link.active-drop{border-left-color:var(--accent);border-bottom:none}
}

/* ─── Page Hero ── */
.page-hero{min-height:360px;position:relative;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:3rem}
.page-hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.04);transition:transform 8s ease}
.page-hero.loaded .hero-bg{transform:scale(1)}
.page-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,10,30,.9) 0%,rgba(0,10,30,.55) 55%,rgba(0,10,30,.18) 100%)}
.page-hero-content{position:relative;z-index:2}
.hero-breadcrumb{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:1.1rem}
.hero-breadcrumb a{color:rgba(255,255,255,.55);text-decoration:none;transition:color var(--transition)}
.hero-breadcrumb a:hover{color:#fff}
.hero-breadcrumb i{font-size:.6rem}

/* ─── Section Utility ── */
.section-label{font-family:var(--font-display);font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:inline-block;margin-bottom:.75rem}
.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--navy);text-transform:uppercase;line-height:1.05;margin-bottom:0}
.text-highlight{background-color:rgba(26,111,196,.12);padding:3px 8px;border-radius:4px;display:inline-block}

/* ─── Stats strip ── */
.brand-stats-strip{display:flex;flex-wrap:wrap;align-items:center;gap:0;padding:0}
.bss-item{flex:1;min-width:160px;text-align:center;padding:1.75rem 1rem}
.bss-num{font-family:var(--font-display);font-size:2.6rem;font-weight:900;color:var(--navy);line-height:1;display:block}
.bss-label{font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);display:block;margin-top:.3rem;line-height:1.4}
.bss-div{width:1px;background:var(--surface-low);align-self:stretch;min-height:60px}
@media(max-width:575.98px){.bss-div{display:none}.bss-item{min-width:50%}}

/* ─── Brand filter tabs (inherited from products-styles) ── */
.brand-filter-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;border-bottom:2px solid var(--surface-low);padding-bottom:1.25rem}
.bft-btn{font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-low);border:2px solid transparent;border-radius:var(--radius-sm);padding:.6rem 1.25rem;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;transition:all var(--transition);white-space:nowrap}
.bft-btn i{font-size:.95rem}
.bft-btn:hover{color:var(--navy);background:#fff;border-color:var(--surface-low)}
.bft-btn.active{color:#fff;background:var(--navy);border-color:var(--navy)}

/* ─── Brand logo grid (inherited from products-styles) ── */
.brand-logo-grid{display:flex;flex-wrap:wrap;gap:.75rem;min-height:96px}
.blg-tile{width:240px;height:110px;background:#fff;border:1.5px solid var(--surface-low);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);animation:tileIn .28s ease both}
@keyframes tileIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
.blg-tile.hidden{display:none}
.blg-tile:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(13,59,122,.15);border-color:var(--accent)}
.blg-tile img{max-height:100px;max-width:100%;object-fit:contain}
.blg-tile span{font-family:var(--font-display);font-weight:900;font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;transition:color var(--transition);white-space:nowrap}
.blg-tile:hover span{color:var(--navy)}
.blg-tile a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
@media(max-width:575.98px){.blg-tile{width:calc(50% - .375rem);height:96px}}

/* ─── "Email Us" / "Become a Partner" button ── */
.bg-view-all-btn{font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--navy);color:var(--navy);background:transparent;border-radius:var(--radius-sm);padding:.6rem 1.6rem;transition:all var(--transition);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.bg-view-all-btn:hover{background:var(--navy);color:#fff;gap:.8rem}

/* ─── Catalog tiles ── */
.cat-tiles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem}

.cat-tile{display:block;text-decoration:none;color:inherit}
.cat-tile:hover{text-decoration:none}

.ct-cover{position:relative;aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-low);margin-bottom:.65rem}
.ct-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.cat-tile:hover .ct-cover img{transform:scale(1.04)}

/* Fallback: logo centred on grey bg */
.ct-fallback{display:none;position:absolute;inset:0;align-items:center;justify-content:center;background:var(--surface-low);padding:1.5rem}
.ct-fallback img{max-width:80%;max-height:60%;object-fit:contain}

/* Hover overlay */
.ct-hover{position:absolute;inset:0;background:rgba(13,59,122,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity var(--transition)}
.cat-tile:hover .ct-hover{opacity:1}
.ct-hover i{font-size:2rem;color:#fff}
.ct-hover span{font-family:var(--font-display);font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#fff}

/* Title below cover */
.ct-label{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--navy);text-transform:uppercase;line-height:1.25;letter-spacing:-.01em;transition:color var(--transition);margin-bottom:1.5rem}
.cat-tile:hover .ct-label{color:var(--accent)}

/* ─── Request CTA strip ── */
.request-cta{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);border-radius:var(--radius-lg);padding:3rem 3rem;position:relative;overflow:hidden}
.request-cta::before{content:'';position:absolute;width:380px;height:380px;border-radius:50%;border:1px solid rgba(255,255,255,.06);top:-140px;right:-80px;pointer-events:none}
.btn-cta-white{font-family:var(--font-display);font-weight:800;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;background:#fff;color:var(--navy);border:2px solid #fff;border-radius:var(--radius-md);padding:.8rem 1.75rem;text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;transition:all var(--transition);white-space:nowrap}
.btn-cta-white:hover{background:transparent;color:#fff}
.btn-cta-outline{font-family:var(--font-display);font-weight:800;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;background:transparent;color:rgba(255,255,255,.85);border:2px solid rgba(255,255,255,.35);border-radius:var(--radius-md);padding:.8rem 1.75rem;text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;transition:all var(--transition);white-space:nowrap}
.btn-cta-outline:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}

/* ─── Footer ── */
footer{background:#020e1f;color:#8da0b8;font-size:.88rem}
footer .brand-name{font-family:var(--font-display);font-size:1.8rem;font-weight:900;color:#fff;letter-spacing:.04em}
footer h6{font-family:var(--font-display);font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:1.25rem}
footer a{color:#8da0b8;text-decoration:none;transition:color var(--transition)}
footer a:hover{color:var(--accent-pale)}
.footer-divider{border-color:rgba(255,255,255,.07)}
.footer-contact-item{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.9rem}
.footer-contact-item i{color:var(--accent);font-size:1.1rem;margin-top:.05rem;flex-shrink:0}

/* ─── Animations ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}

/* ─── Responsive ── */
@media(max-width:1199.98px){.cat-tiles-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:991.98px){.cat-tiles-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767.98px){
  .cat-tiles-grid{grid-template-columns:repeat(2,1fr)}
  .request-cta{padding:2rem 1.5rem}
}
@media(max-width:400px){.cat-tiles-grid{grid-template-columns:1fr}}

[id]{scroll-margin-top:90px}