: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 .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:3.5rem}
.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,.88) 0%,rgba(0,10,30,.5) 55%,rgba(0,10,30,.2) 100%)}
.page-hero-content{position:relative;z-index:2}
.fullscreen-btn{position:absolute;top:1.5rem;right:1.5rem;z-index:10;width:44px;height:44px;border-radius:var(--radius-md);background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.3);color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);backdrop-filter:blur(4px)}
.fullscreen-btn:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.5);transform:scale(1.05)}
.fullscreen-btn:active{transform:scale(.95)}
.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}

/* ─── Contact info cards ── */
.contact-info-card{background:#fff;border-radius:var(--radius-lg);padding:1.75rem;border:1px solid rgba(0,23,54,.07);height:100%;transition:transform var(--transition),box-shadow var(--transition)}
.contact-info-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,23,54,.1)}
.contact-info-card .ci-icon{width:52px;height:52px;border-radius:var(--radius-md);background:rgba(13,59,122,.08);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--navy);margin-bottom:1.25rem;transition:background var(--transition),color var(--transition)}
.contact-info-card:hover .ci-icon{background:var(--navy);color:#fff}
.contact-info-card h5{font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:.5rem}
.contact-info-card p,.contact-info-card a{font-size:.9rem;color:var(--muted);line-height:1.6;margin:0;text-decoration:none}
.contact-info-card a:hover{color:var(--accent)}

/* ─── Contact form ── */
.contact-form-wrap{background:#fff;border-radius:var(--radius-lg);padding:2.5rem;border:1px solid rgba(0,23,54,.07);box-shadow:0 8px 40px rgba(0,23,54,.07)}
.form-label{font-family:var(--font-display);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem}
.form-control,.form-select{border:1.5px solid var(--surface-low);border-radius:var(--radius-md);padding:.75rem 1rem;font-family:var(--font-body);font-size:.92rem;color:var(--text);background:#fff;transition:border-color var(--transition),box-shadow var(--transition)}
.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(74,144,217,.15);outline:none}
.form-control::placeholder{color:#b0bcc8}
textarea.form-control{resize:vertical;min-height:140px}
.btn-submit{font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;background:var(--navy);color:#fff;border:none;border-radius:var(--radius-md);padding:.9rem 2.5rem;width:100%;transition:background var(--transition),transform var(--transition);cursor:pointer}
.btn-submit:hover{background:var(--navy-mid);transform:translateY(-1px)}
.form-success{display:none;text-align:center;padding:3rem 2rem}
.form-success i{font-size:3.5rem;color:#22c55e;margin-bottom:1rem;display:block}
.form-success h4{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--navy);text-transform:uppercase;margin-bottom:.5rem}
.form-success p{color:var(--muted);font-size:.95rem}

/* ─── Map ── */
.map-wrap{border-radius:var(--radius-lg);overflow:hidden;height:400px;background:var(--surface-low);position:relative}
.map-wrap iframe{width:100%;height:100%;border:none;filter:grayscale(.3) contrast(1.05)}
.map-overlay-card{position:absolute;top:1.5rem;left:1.5rem;background:#fff;border-radius:var(--radius-md);padding:1.25rem 1.5rem;box-shadow:0 8px 32px rgba(0,23,54,.15);max-width:260px}
.map-overlay-card h6{font-family:var(--font-display);font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}
.map-overlay-card p{font-size:.88rem;color:var(--text);margin:0;line-height:1.5}

/* ─── Company info strip ── */
.company-strip{background:var(--surface-low);border-radius:var(--radius-lg);padding:1.75rem 2rem}

/* ─── FIX: standalone selectors (no .company-strip-item wrapper needed) ── */
.csi-label{
    font-family:var(--font-display);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:.2rem;
    display:block;
}
.csi-val{
    font-family:var(--font-display);
    font-size:.95rem;
    font-weight:700;
    color:var(--navy);
    letter-spacing:.04em;
    display:block;
    margin-bottom:.25rem;
}

/* ─── 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}

.text-highlight{background-color:rgba(26,111,196,.15);padding:4px 8px;border-radius:4px;display:inline-block}

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


/* ─── YouTube фон в hero ── */
.page-hero .hero-bg{z-index:0}
.page-hero .hero-yt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:56.25vw;min-height:100%;min-width:calc(100vh * 16 / 9);border:0;pointer-events:none;z-index:1}
.page-hero .hero-overlay{z-index:2}
.page-hero-content{z-index:3}
.page-hero .fullscreen-btn{z-index:10}