: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{color:var(--navy-mid)!important;border-bottom-color:var(--accent)}
.main-nav-link.active-page{border-bottom-color:var(--accent);color:var(--navy-mid)!important}
.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,.main-nav-link.active-page{border-left-color:var(--accent);border-bottom:none}
}

/* ─── Page Hero ── */
.page-hero{min-height:480px;position:relative;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:4rem}
.page-hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;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,.88) 0%,rgba(0,10,30,.5) 55%,rgba(0,10,30,.15) 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.25rem}
.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}
.divider-accent{width:48px;height:4px;background:var(--accent);border-radius:2px;margin:1rem 0 1.5rem}
.text-highlight{background-color:rgba(26,111,196,.15);padding:4px 8px;border-radius:4px;display:inline-block}

/* ─── Filter Tabs ── */
.filter-tabs{display:flex;flex-wrap:wrap;gap:.5rem}
.filter-btn{font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:.45rem 1.1rem;border-radius:2rem;border:1.5px solid var(--surface-low);background:#fff;color:var(--muted);cursor:pointer;transition:all var(--transition)}
.filter-btn:hover{border-color:var(--accent);color:var(--navy)}
.filter-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}

/* ─── Project Card ── */
.project-card{background:#fff;border-radius:var(--radius-lg);border:1px solid rgba(0,23,54,.07);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:transform var(--transition),box-shadow var(--transition)}
.project-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,23,54,.12)}
.project-card-img{position:relative;height:220px;overflow:hidden;background:var(--surface-low);flex-shrink:0}
.project-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.project-card:hover .project-card-img img{transform:scale(1.06)}
.project-card-img .img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#c0ccd8;font-family:var(--font-display);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;flex-direction:column;gap:.5rem}
.project-card-img .img-placeholder i{font-size:2rem;opacity:.4}
.project-card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.project-card-sport{font-family:var(--font-display);font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;margin-bottom:.65rem;display:inline-block;transition:opacity var(--transition)}
.project-card-sport:hover{opacity:.75;text-decoration:none}
.project-card-sport.sport-football{color:#2563eb}
.project-card-sport.sport-golf{color:#16a34a}
.project-card-sport.sport-padel{color:#d97706}
.project-card-sport.sport-multi{color:#7c3aed}
.project-card-title{font-family:var(--font-display);font-size:1.22rem;font-weight:800;color:var(--navy);line-height:1.2;margin-bottom:.8rem;text-transform:uppercase;letter-spacing:-.01em}
.project-card-role{font-size:.88rem;color:var(--text);margin-bottom:.6rem;line-height:1.5}
.project-card-role strong{color:var(--navy)}
.project-card-desc{font-size:.86rem;color:var(--muted);font-style:italic;line-height:1.6;margin:0;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--surface-low)}

/* ─── Disclaimer ── */
.projects-disclaimer{background:#fff;border:1px solid rgba(0,23,54,.08);border-radius:var(--radius-lg);padding:1.5rem 2rem;text-align:center}
.projects-disclaimer p{font-size:.875rem;color:var(--muted);margin:0;line-height:1.6}

/* ─── CTA Section ── */
/* .projects-cta{background:rgba(13,59,122,0.82);border-radius:var(--radius-lg);padding:4rem 2rem;text-align:center;box-shadow:0 8px 32px rgba(13,59,122,0.18);backdrop-filter:blur(1.5px)} */
.projects-cta{border-radius:var(--radius-lg);padding:4rem 2rem;text-align:center;box-shadow:0 8px 32px rgba(13,59,122,0.18);backdrop-filter:blur(1.5px)}
.projects-cta h2{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1.5rem}
.btn-cta{font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);padding:1rem 2.5rem;text-decoration:none;display:inline-block;transition:background var(--transition),transform var(--transition)}
.btn-cta:hover{background:#357abd;color:#fff;transform:translateY(-2px)}
.btn-cta:active{transform:translateY(0)}

/* ─── Counter strip ── */
.stats-strip{background:var(--surface-low);border-radius:var(--radius-lg);padding:2rem 2.5rem}
.stat-item{text-align:center}
.stat-num{font-family:var(--font-display);font-size:2.4rem;font-weight:900;color:var(--navy);line-height:1;letter-spacing:-.02em}
.stat-label{font-family:var(--font-display);font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}

/* ─── 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(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s} .reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s} .reveal-delay-4{transition-delay:.4s}

/* card filter hidden state */
.project-col.hidden{display:none}

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