/* ═══════════════════════════════════════════════════════════
   ACPR17 — Feuille de style commune
   Utilisé par : index.html, avions.html, CarteCadeau.html
═══════════════════════════════════════════════════════════ */

/* ── Variables ── */
:root{
  --navy:#06101f; --navy2:#0b1628; --navy3:#162038;
  --gold:#D4AF37; --gold2:#F5D060; --gold3:#b8941e;
  --golddim:rgba(212,175,55,.10); --goldglow:rgba(212,175,55,.4);
  --goldline:rgba(212,175,55,.2); --goldline2:rgba(212,175,55,.08);
  --slate:#475569; --light:#F0F4FA; --white:#fff; --offwhite:#F7F9FC;
  --font:'Poppins',sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --r:12px; --rl:20px; --rx:28px;
  --sp-xs:clamp(.5rem,1.5vw,.75rem);
  --sp-sm:clamp(.75rem,2vw,1rem);
  --sp-md:clamp(1rem,3vw,1.5rem);
  --sp-lg:clamp(1.5rem,4vw,2.5rem);
  --sp-xl:clamp(2.5rem,6vw,5rem);
  --ann-h:0px;
  --nav-h:56px;
  --header-total:calc(var(--ann-h) + var(--nav-h));
  --tap:48px;
}

/* ── Reset ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}
body{font-family:var(--font);color:var(--slate);background:var(--white);line-height:1.7;overflow-x:hidden;-webkit-overflow-scrolling:touch}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;height:auto;display:block}

/* ── Tap highlight suppression ── */
a,button,[onclick],[role="button"],
.fb,.nl,.btn,.faq-q,.cst,.tb,
.gi,.ep-item,.ep-featured,.bento-photo,
.fleet-card,.card,.blog-card,.org-card,
.shop-card,.inst-ph,.mbn a,.back-btn,
.soc-btn,.sid-box button,.c-info-item,
.vid-play,.vid-mute,.vid-fullscreen,
.lb-close,.lb-nav,.partner-card,.ann-close{
  -webkit-tap-highlight-color:transparent;
  tap-highlight-color:transparent;
  touch-action:manipulation;
}

/* ── Active states ── */
.btn:active,.nl:active,.fb:active{opacity:.75;transform:scale(.97)!important}
.card:active,.fleet-card:active,.blog-card:active,.org-card:active,.gi:active,.inst-ph:active{opacity:.88}
.mbn a:active{color:var(--gold2)!important}
.soc-btn:active{background:var(--gold)!important;color:var(--navy)!important}

/* ── Grain overlay ── */
body::before{
  content:'';position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px;
}

/* ═══════════════════════════════════════════════
   ANNOUNCEMENT BANNER
═══════════════════════════════════════════════ */
.ann-shell{position:fixed;top:0;left:0;width:100%;z-index:1100;transition:transform .5s var(--ease),opacity .5s}
.ann-shell.gone{transform:translateY(-100%);opacity:0;pointer-events:none}
.ann-bar{background:linear-gradient(90deg,var(--navy),#0e1d36,var(--navy));border-bottom:1px solid rgba(212,175,55,.22);display:flex;align-items:stretch;overflow:hidden;height:var(--ann-h);position:relative}
.ann-bar::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(212,175,55,.03) 50%,transparent 70%);animation:annGlow 4s ease-in-out infinite;pointer-events:none}
@keyframes annGlow{0%,100%{opacity:0}50%{opacity:1}}
.ann-badge{display:flex;align-items:center;gap:.5rem;padding:0 .85rem;background:linear-gradient(135deg,var(--gold),var(--gold3));flex-shrink:0;font-size:.6rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--navy);position:relative;z-index:2;white-space:nowrap}
.ann-badge::after{content:'';position:absolute;right:-10px;top:0;height:100%;width:20px;background:linear-gradient(135deg,var(--gold),var(--gold3));clip-path:polygon(0 0,100% 50%,0 100%)}
.ann-ticker{flex:1;overflow:hidden;display:flex;align-items:center;padding:0 .75rem 0 1.2rem;position:relative}
.ann-ticker::before{content:'';position:absolute;left:0;top:0;bottom:0;width:30px;background:linear-gradient(90deg,var(--navy),transparent);z-index:1}
.ann-ticker::after{content:'';position:absolute;right:44px;top:0;bottom:0;width:30px;background:linear-gradient(-90deg,var(--navy),transparent);z-index:1}
.ann-track{display:flex;gap:0;animation:annRun 32s linear infinite;white-space:nowrap}
.ann-item{display:inline-flex;align-items:center;gap:.75rem;font-size:.68rem;font-weight:500;color:rgba(255,255,255,.8);padding:0 2.5rem}
.ann-item i{color:var(--gold);font-size:.72rem}
.ann-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.35;flex-shrink:0}
@keyframes annRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ann-close{width:var(--tap);min-height:var(--tap);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.04);border:none;cursor:pointer;color:rgba(255,255,255,.35);font-size:.82rem;transition:all .25s;border-left:1px solid rgba(255,255,255,.05)}
.ann-close:hover{background:rgba(212,175,55,.15);color:var(--gold)}

/* ── Scroll progress bar ── */
.sprog{position:fixed;top:var(--ann-h);left:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2),var(--gold));background-size:300% 100%;animation:shimProg 3s linear infinite;z-index:1090;box-shadow:0 0 12px var(--goldglow);transition:width .1s linear}
.ann-shell.gone~.sprog{top:0}
@keyframes shimProg{0%{background-position:300% 0}100%{background-position:-300% 0}}

/* ── Animated plane ── */
.plane-fly{position:fixed;z-index:9995;pointer-events:none;top:15%;left:-200px;animation:planeFly 18s linear infinite;opacity:0}
.plane-fly.visible{opacity:1}
@keyframes planeFly{0%{left:-200px;top:15%}15%{top:22%}30%{top:14%}50%{top:18%}70%{top:12%}85%{top:20%}100%{left:calc(100vw + 200px);top:15%}}
.plane-fly svg{filter:drop-shadow(0 4px 20px rgba(212,175,55,.6)) drop-shadow(0 0 40px rgba(212,175,55,.3))}

/* ═══════════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════════ */
.nav-wrap{position:fixed;left:0;width:100%;z-index:1000;top:var(--ann-h);transition:top .5s var(--ease)}
.ann-shell.gone~.nav-wrap{top:0!important}
.nav-bar{background:rgba(6,16,31,.96);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border-bottom:1px solid rgba(255,255,255,.04);padding:.7rem 0;transition:background .4s,box-shadow .4s}
.nav-bar.ghost{background:transparent;border-bottom-color:transparent}
.nav-bar.ghost .logo-t,.nav-bar.ghost .nl{text-shadow:0 1px 8px rgba(0,0,0,.5)}
.nav-inner{display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:center;gap:.6rem;cursor:pointer;transition:opacity .25s;min-height:var(--tap)}
.logo:hover{opacity:.85}
.logo img{height:32px;filter:drop-shadow(0 0 12px rgba(212,175,55,.5))}
.logo-t{font-weight:900;font-size:1.2rem;color:var(--white);letter-spacing:3px;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:.1rem}
.nl{padding:.45rem .85rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.68);border-radius:8px;transition:color .2s,background .2s;cursor:pointer;border:none;background:none;font-family:var(--font);min-height:var(--tap);display:flex;align-items:center}
.nl:hover{color:var(--white);background:rgba(255,255,255,.06)}
.nl.pill{background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--navy);font-weight:800;box-shadow:0 4px 22px var(--goldglow);margin-left:.5rem;position:relative;overflow:hidden}
.nl.pill::before{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .5s}
.nl.pill:hover::before{left:140%}
.nl.pill:hover{transform:translateY(-1px);box-shadow:0 8px 32px rgba(212,175,55,.6)}

/* ── Burger ── */
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001;min-width:var(--tap);min-height:var(--tap);align-items:center;justify-content:center;position:relative}
.burger::before{content:'';position:absolute;inset:-6px;border-radius:10px}
.bline{display:block;height:1.5px;width:24px;background:white;border-radius:2px;transition:.35s var(--spring)}
.burger.x .bline:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.x .bline:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.x .bline:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mob-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:997;opacity:0;transition:opacity .3s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}
.mob-ov.on{opacity:1;pointer-events:all}
.mob-drawer{position:fixed;top:0;right:-100%;height:100%;width:min(82%,300px);background:var(--navy2);z-index:998;padding:5rem 1.2rem 2rem;transition:right .4s var(--ease);border-left:1px solid rgba(255,255,255,.05);overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding-bottom:calc(2rem + env(safe-area-inset-bottom));overscroll-behavior:contain}
.mob-drawer.on{right:0}
.mob-drawer .nl{display:flex;align-items:center;padding:.9rem 1.1rem;border-radius:10px;font-size:.9rem;color:rgba(255,255,255,.65);border-bottom:1px solid rgba(255,255,255,.04);margin-bottom:.2rem;min-height:52px;width:100%}
.mob-drawer .nl:hover,.mob-drawer .nl:active{background:var(--golddim);color:var(--gold);padding-left:1.6rem}
.mob-drawer .nl.pill{text-align:center;margin-top:1.2rem;justify-content:center;font-size:.85rem;padding:.9rem 1.1rem}
@media(max-width:992px){.nav-links{display:none}.burger{display:flex}.mob-ov,.mob-drawer{display:block}}
@media(min-width:993px){.mob-ov,.mob-drawer{display:none!important}}

/* ── Back button ── */
.back-btn{display:none}
.nav-back-btn{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.18);color:var(--white);display:none;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:background .2s,border-color .2s,transform .2s,color .2s;flex-shrink:0;font-family:var(--font)}
.nav-back-btn:hover,.nav-back-btn:active{background:var(--gold);border-color:var(--gold);color:var(--navy);transform:scale(1.08)}
.nav-back-btn.visible{display:flex}
.nav-bar.ghost .nav-back-btn{background:rgba(0,0,0,.25);border-color:rgba(255,255,255,.25)}

/* ═══════════════════════════════════════════════
   PAGE TRANSITIONS & SIDE DOTS
═══════════════════════════════════════════════ */
.page{display:none;opacity:0}
.page.active{display:block;animation:pageIn .55s var(--ease) forwards}
@keyframes pageIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.sdots{position:fixed;right:1.5rem;top:50%;transform:translateY(-50%);z-index:200;display:flex;flex-direction:column;gap:.7rem;opacity:0;transition:opacity .5s;pointer-events:none}
.sdots.show{opacity:1;pointer-events:all}
.sd{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18);cursor:pointer;transition:all .4s var(--spring);position:relative;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.sd::before{content:'';width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18);transition:inherit}
.sd::after{content:attr(data-l);position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:.6rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold);background:rgba(6,16,31,.92);padding:.25rem .7rem;border-radius:5px;white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none}
.sd:hover::after{opacity:1}
.sd.on::before{background:var(--gold);transform:scale(1.8);box-shadow:0 0 10px var(--goldglow)}
@media(max-width:768px){.sdots{display:none}}

/* ── Mobile bottom nav ── */
.mbn{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(6,16,31,.98);border-top:1px solid rgba(255,255,255,.07);z-index:989;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:.35rem 0;padding-bottom:calc(.35rem + env(safe-area-inset-bottom))}
.mbn ul{display:flex;justify-content:space-around;align-items:stretch}
.mbn a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:rgba(255,255,255,.35);font-size:clamp(.48rem,.6rem + .1vw,.55rem);font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:.4rem .2rem;min-width:20%;min-height:52px;flex:1;transition:color .2s;position:relative}
.mbn a i{font-size:1.1rem;transition:transform .2s}
.mbn a.on i,.mbn a:active i{transform:scale(1.15)}
.mbn a.on,.mbn a:hover{color:var(--gold)}
.mbn a.on::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:28px;height:2px;background:var(--gold);border-radius:0 0 3px 3px}
@media(max-width:768px){.mbn{display:block}}
@media(min-width:769px){.mbn{display:none!important}}

/* ═══════════════════════════════════════════════
   HERO SECTION
═══════════════════════════════════════════════ */
.hero{min-height:100svh;position:relative;display:flex;align-items:center;overflow:hidden;padding-top:calc(var(--header-total) + 1rem);background:url('Images/Photos/Photo1.webp') center/cover no-repeat fixed}
@media(max-width:768px){.hero{background-attachment:scroll;padding-top:calc(var(--header-total) + .5rem)}}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(155deg,rgba(6,16,31,.88) 0%,rgba(6,16,31,.55) 55%,rgba(6,16,31,.22) 100%);pointer-events:none;z-index:1}
.hero-aurora{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.aurora-1,.aurora-2,.aurora-3{position:absolute;border-radius:50%;filter:blur(80px);opacity:0;animation:auroraFloat 8s ease-in-out infinite}
.aurora-1{width:800px;height:400px;background:radial-gradient(ellipse,rgba(212,175,55,.08),transparent 70%);top:-5%;right:-10%}
.aurora-2{width:600px;height:350px;background:radial-gradient(ellipse,rgba(96,165,250,.06),transparent 70%);bottom:10%;left:-5%;animation-delay:3s}
.aurora-3{width:400px;height:300px;background:radial-gradient(ellipse,rgba(212,175,55,.06),transparent 70%);top:40%;left:30%;animation-delay:5s}
@keyframes auroraFloat{0%,100%{opacity:0;transform:scale(1) translate(0,0)}40%{opacity:1}50%{transform:scale(1.08) translate(15px,-10px)}100%{opacity:0}}
.deco-lines{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.deco-lines::before{content:'';position:absolute;top:14%;right:7%;width:200px;height:200px;border-top:1px solid var(--goldline);border-right:1px solid var(--goldline);animation:cornerPulse 4s ease-in-out infinite}
.deco-lines::after{content:'';position:absolute;bottom:17%;left:5%;width:130px;height:130px;border-bottom:1px solid var(--goldline);border-left:1px solid var(--goldline);animation:cornerPulse 5s ease-in-out 1.5s infinite}
@keyframes cornerPulse{0%,100%{opacity:.3}50%{opacity:.8}}
.dot-grid{position:absolute;top:8%;right:4%;width:220px;height:220px;opacity:.06;z-index:1;pointer-events:none;background-image:radial-gradient(var(--gold) 1px,transparent 1px);background-size:22px 22px}
@media(max-width:768px){.dot-grid{display:none}}
.deco-ring{position:absolute;border-radius:50%;border:1px solid var(--goldline);animation:ringPulse 7s ease-in-out infinite;pointer-events:none}
.deco-ring-1{width:700px;height:700px;top:-22%;right:-17%;opacity:.6}
.deco-ring-2{width:380px;height:380px;bottom:8%;right:10%;animation-delay:2.5s;opacity:.4}
.deco-ring-3{width:90px;height:90px;top:28%;right:28%;animation-delay:1s;opacity:.7}
@keyframes ringPulse{0%,100%{transform:scale(1);opacity:.12}50%{transform:scale(1.04);opacity:.28}}
.diag-rule{position:absolute;top:0;left:44%;width:1px;height:100%;background:linear-gradient(to bottom,transparent 5%,var(--goldline) 25%,var(--goldline) 75%,transparent 95%);transform:rotate(7deg);transform-origin:top center;opacity:.35}
.cross{position:absolute;width:16px;height:16px;z-index:2;pointer-events:none}
.cross::before,.cross::after{content:'';position:absolute;background:var(--gold);border-radius:1px}
.cross::before{top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}
.cross::after{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%)}
.cross-1{top:22%;left:17%;opacity:.35;animation:crossPulse 4s ease-in-out infinite}
.cross-2{top:64%;right:20%;opacity:.25;animation:crossPulse 5.5s ease-in-out 1s infinite}
.cross-3{bottom:26%;left:40%;opacity:.2;animation:crossPulse 6s ease-in-out 2s infinite}
@keyframes crossPulse{0%,100%{opacity:.18;transform:scale(1) rotate(0)}50%{opacity:.55;transform:scale(1.4) rotate(45deg)}}
.radar{position:absolute;bottom:-6%;right:2%;width:300px;height:300px;z-index:2;pointer-events:none;opacity:.1}
@media(max-width:768px){.radar{width:140px;height:140px;bottom:-2%;right:-2%;opacity:.06}}
.radar-c{position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold);animation:radPing 4s ease-in-out infinite}
.radar-c:nth-child(2){inset:22%;animation-delay:.9s}.radar-c:nth-child(3){inset:44%;animation-delay:1.8s}.radar-c:nth-child(4){inset:66%;animation-delay:2.7s}
.radar-sweep{position:absolute;inset:0;border-radius:50%;overflow:hidden;animation:radSweep 4s linear infinite}
.radar-sweep::before{content:'';position:absolute;top:50%;left:50%;width:50%;height:50%;transform-origin:0 100%;background:conic-gradient(from -90deg,rgba(212,175,55,.55),transparent 60deg)}
.radar-axes{position:absolute;inset:0}
.radar-axes::before,.radar-axes::after{content:'';position:absolute;background:rgba(212,175,55,.3)}
.radar-axes::before{top:50%;left:0;right:0;height:1px;transform:translateY(-50%)}
.radar-axes::after{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%)}
@keyframes radPing{0%,100%{opacity:.25}50%{opacity:.85}}
@keyframes radSweep{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.ptcls{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.p{position:absolute;border-radius:50%;background:var(--gold);animation:pFloat linear infinite;opacity:0}
@keyframes pFloat{0%{transform:translateY(110vh) scale(0);opacity:0}5%{opacity:.45}90%{opacity:.12}100%{transform:translateY(-10vh) scale(1);opacity:0}}

/* ── Hero inner layout ── */
.hero-inner{position:relative;z-index:5;width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem}
@media(max-width:1100px){.hero-inner{grid-template-columns:1fr}}
.hero-content{max-width:760px}
.hero-eye{display:inline-flex;align-items:center;gap:.8rem;font-size:.68rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;animation:eyeIn 1s var(--ease) .4s backwards}
.eye-line{width:36px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
@keyframes eyeIn{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
.hero-title{font-size:clamp(2rem,5.5vw,4.5rem);font-weight:900;color:var(--white);line-height:.96;letter-spacing:-2px;margin-bottom:1.6rem;perspective:1000px}
.char{display:inline-block;opacity:0;transform:translateY(75px) rotateX(-65deg);animation:charIn .78s var(--spring) forwards}
.space{display:inline-block;width:.27em}
.gold-c{color:var(--gold)}
@keyframes charIn{to{opacity:1;transform:none}}
.hero-desc{font-size:clamp(.85rem,1.6vw,1.05rem);font-weight:300;color:rgba(255,255,255,.78);max-width:520px;line-height:1.85;margin-bottom:2.5rem;animation:descIn 1s var(--ease) 1.7s backwards}
@keyframes descIn{from{opacity:0;transform:translateY(22px)}to{opacity:.78;transform:none}}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;animation:btnsIn 1s var(--ease) 2s backwards}
@keyframes btnsIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.hero-stats{display:flex;flex-wrap:wrap;gap:2rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);animation:btnsIn 1s var(--ease) 2.2s backwards}
.hs-num{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:900;color:var(--gold);line-height:1;letter-spacing:-1px}
.hs-lbl{font-size:.6rem;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.32);font-weight:600;margin-top:.2rem}
.scroll-cue{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;color:rgba(255,255,255,.22);font-size:.56rem;letter-spacing:3px;text-transform:uppercase;z-index:5;animation:btnsIn 1s ease 2.8s backwards,scFloat 3s ease-in-out 3.5s infinite}
.sc-line{width:1px;height:54px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);animation:scPulse 2.5s ease-in-out infinite}
@keyframes scFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}
@keyframes scPulse{0%,100%{opacity:.28}50%{opacity:1}}
@media(max-width:768px){.scroll-cue{display:none}}

/* ── Hero responsive ── */
@media(max-width:768px){.hero-title{letter-spacing:-1.5px;margin-bottom:1.2rem}.hero-desc{margin-bottom:2rem}.hero-stats{gap:1.5rem;margin-top:2.2rem;padding-top:1.8rem}.hero-eye{font-size:.62rem;letter-spacing:2.5px}}
@media(max-width:480px){.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:2rem;padding-top:1.5rem}.hs{text-align:center}.hs-num{font-size:1.3rem;letter-spacing:-.5px}.hs-lbl{font-size:.54rem;letter-spacing:1.2px}}
@media(max-width:360px){.hero{padding-top:calc(var(--header-total) + .25rem)}.hero-title{letter-spacing:-1px}.hero-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}.hs-num{font-size:1.1rem}.hs-lbl{font-size:.5rem;letter-spacing:1px}.ann-item{font-size:.62rem;padding:0 1.8rem}}

/* ── Events panel / President widget ── */
.hero-widgets-group{position:relative;display:flex}
.events-panel{background:rgba(6,16,31,.9);border:1px solid var(--goldline);border-radius:var(--rx);width:320px;min-width:280px;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);overflow:hidden;box-shadow:0 50px 100px rgba(0,0,0,.6),0 0 0 1px rgba(212,175,55,.06);animation:calIn 1.2s var(--spring) 1.4s backwards;position:relative;z-index:10}
.events-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.events-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,175,55,.04),transparent 50%,rgba(212,175,55,.02));pointer-events:none}
@keyframes calIn{from{opacity:0;transform:translateX(50px) scale(.93)}to{opacity:1;transform:none}}
.president-welcome{position:absolute;bottom:-20px;left:100%;margin-left:-20px;width:250px;z-index:50;pointer-events:none;animation:presIn 1.4s var(--spring) 1.8s backwards}
@media(max-width:1250px){.president-welcome{display:none}}
.pres-img{width:100%;filter:drop-shadow(0 15px 40px rgba(0,0,0,.6))}
.pres-bubble{position:absolute;top:-15px;left:65px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);color:var(--navy2);font-weight:800;font-size:.8rem;padding:.65rem 1.1rem;border-radius:18px 18px 18px 5px;border:2px solid var(--gold);box-shadow:0 10px 25px rgba(0,0,0,.4);white-space:nowrap;transform:rotate(3deg);animation:bubblePulse 4s infinite alternate ease-in-out}
.pres-bubble::before{content:'';position:absolute;bottom:-12px;left:12px;border-width:12px 10px 0;border-style:solid;border-color:var(--gold) transparent transparent transparent}
.pres-bubble::after{content:'';position:absolute;bottom:-8px;left:13px;border-width:10px 8px 0;border-style:solid;border-color:white transparent transparent transparent}
@keyframes presIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@keyframes bubblePulse{from{transform:rotate(3deg) scale(1)}to{transform:rotate(1deg) scale(1.02)}}
.ep-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.3rem .9rem;border-bottom:1px solid rgba(255,255,255,.05)}
.ep-label{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ep-pulse{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:recPulse 1.5s ease-in-out infinite}
@keyframes recPulse{0%,100%{opacity:1}50%{opacity:.3}}
.ep-count{font-size:.68rem;font-weight:700;color:var(--gold);letter-spacing:1px}
.ep-featured{position:relative;overflow:hidden;padding:1.2rem 1.3rem}
.ep-feat-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,175,55,.06),transparent);pointer-events:none}
.ep-feat-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.2);padding:.25rem .65rem;border-radius:20px;margin-bottom:.7rem}
.ep-feat-title{font-size:1rem;font-weight:800;color:white;line-height:1.2;margin-bottom:.5rem}
.ep-feat-desc{font-size:.72rem;color:rgba(255,255,255,.45);line-height:1.5;margin-bottom:.9rem}
.ep-countdown{display:flex;gap:.5rem;margin-bottom:.8rem}
.ep-cnt-unit{text-align:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:.35rem .45rem;min-width:38px;flex:1}
.ep-cnt-num{font-size:1.2rem;font-weight:900;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.ep-cnt-lbl{font-size:.5rem;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.3);margin-top:.15rem;font-weight:700}
.ep-date-row{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:rgba(255,255,255,.4);font-weight:600}
.ep-empty{padding:.5rem;font-size:.82rem;color:rgba(255,255,255,.45);text-align:center}
.ep-item{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.3rem;border-top:1px solid rgba(255,255,255,.04);transition:background .2s;cursor:default}
.ep-item:hover{background:rgba(255,255,255,.02)}
.ep-item-date{text-align:center;flex-shrink:0;width:36px}
.ep-item-d{font-size:1.15rem;font-weight:900;color:var(--gold);line-height:1}
.ep-item-m{font-size:.55rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.3);font-weight:700}
.ep-item-info{flex:1;min-width:0}
.ep-item-title{font-size:.8rem;font-weight:700;color:rgba(255,255,255,.8);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep-item-desc{font-size:.68rem;color:rgba(255,255,255,.35);line-height:1.3;margin-top:.1rem}
.ep-item-badge{font-size:.62rem;font-weight:700;color:var(--gold);background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.15);padding:.2rem .5rem;border-radius:20px;flex-shrink:0;white-space:nowrap}
.ep-footer{padding:.9rem 1.3rem;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:center}
@media(max-width:1100px){.hero-widgets-group{width:100%;min-width:0;max-width:440px;margin:0 auto;justify-content:center}.events-panel{width:100%}}
@media(max-width:480px){.hero-widgets-group{display:block;max-width:100%}.events-panel{display:block;min-width:0;width:100%;border-radius:var(--rl);margin-top:1.5rem}.ep-featured{padding:1rem 1.1rem}.ep-feat-title{font-size:.95rem}.ep-countdown{gap:.3rem}.ep-cnt-num{font-size:1.05rem}.ep-cnt-unit{padding:.32rem .28rem;min-width:34px}.ep-cnt-lbl{font-size:.48rem;letter-spacing:1px}.ep-item{padding:.75rem 1.1rem}.ep-footer{padding:.75rem 1.1rem}.ep-header{padding:.9rem 1.1rem}}

/* ═══════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════ */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 2.2rem;border-radius:var(--r);font-weight:700;text-transform:uppercase;letter-spacing:1.2px;font-size:.76rem;cursor:pointer;border:none;transition:transform .2s var(--ease),box-shadow .2s,opacity .15s;font-family:var(--font);min-height:var(--tap)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--navy);box-shadow:0 4px 18px rgba(212,175,55,.3)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(212,175,55,.45)}
.btn-ghost{background:rgba(255,255,255,.08);color:var(--white);border:1.5px solid rgba(255,255,255,.22);backdrop-filter:blur(10px)}
.btn-ghost:hover{background:rgba(255,255,255,.13);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--gold);border:1.5px solid var(--gold)}
.btn-outline:hover{background:var(--golddim);transform:translateY(-1px)}
.btn-dark{background:var(--navy2);color:var(--white)}
.btn-dark:hover{background:var(--navy3);transform:translateY(-1px)}
@media(max-width:768px){.btn{padding:.85rem 1.8rem;font-size:.78rem}}
@media(max-width:480px){.hero-btns{flex-direction:column}.hero-btns .btn{width:100%;justify-content:center;padding:.95rem 1.8rem;font-size:.82rem}}

/* ═══════════════════════════════════════════════
   LAYOUT UTILITIES
═══════════════════════════════════════════════ */
.sec{padding:var(--sp-xl) 0}
.sec-light{background:var(--light)}
.sec-dark{background:var(--navy)}
.container{max-width:1300px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.sec-label{display:inline-flex;align-items:center;gap:.7rem;font-size:.66rem;font-weight:800;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.sec-label::before,.sec-label::after{content:'';width:20px;height:1px;background:var(--gold)}
.sec-title{font-size:clamp(1.7rem,3.5vw,3.2rem);font-weight:900;color:var(--navy2);letter-spacing:-1px;line-height:1.07;margin-bottom:1rem}
.sec-title.lt{color:var(--white)}
.sec-sub{color:var(--slate);font-size:clamp(.85rem,1.5vw,.95rem);font-weight:300;max-width:520px;line-height:1.85}
.sec-head{text-align:center;margin-bottom:clamp(2rem,5vw,4rem)}
.sec-head .sec-sub{margin:0 auto}

/* ── Reveal animations ── */
[data-r]{opacity:0;transition:opacity .85s var(--ease),transform .85s var(--ease)}
[data-r=up]{transform:translateY(52px)}
[data-r=left]{transform:translateX(-52px)}
[data-r=right]{transform:translateX(52px)}
[data-r=scale]{transform:scale(.9)}
[data-r].rv{opacity:1;transform:none}
[data-d="1"]{transition-delay:.12s}[data-d="2"]{transition-delay:.24s}[data-d="3"]{transition-delay:.36s}[data-d="4"]{transition-delay:.48s}

/* ── Stats band ── */
.stats-band{background:var(--navy);padding:clamp(3rem,6vw,4.5rem) 0;position:relative;overflow:hidden}
.stats-band::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,175,55,.05),transparent,rgba(212,175,55,.03))}
.stats-band::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.stats-band-deco{position:absolute;right:-6%;top:50%;transform:translateY(-50%);font-size:22rem;font-weight:900;color:rgba(212,175,55,.025);pointer-events:none;line-height:1;letter-spacing:-12px;white-space:nowrap}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}
.stat-b{padding:clamp(1.2rem,3vw,2rem) 1.2rem;text-align:center;border-right:1px solid rgba(255,255,255,.04);position:relative}
.stat-b:last-child{border-right:none}
.stat-b::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:1px;background:var(--gold);transition:width .8s var(--ease)}
.stat-b.rv::after{width:60%}
@media(max-width:768px){.stat-b:nth-child(2){border-right:none}.stat-b:nth-child(3){border-right:none}}
.stat-n{font-size:clamp(2rem,5vw,4.5rem);font-weight:900;line-height:1;letter-spacing:-2px;margin-bottom:.5rem;background:linear-gradient(135deg,var(--gold),var(--gold2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-l{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.28)}

/* ── Section decorators ── */
.sec-deco{height:70px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.sec-deco::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--goldline) 30%,var(--goldline) 70%,transparent);transform:translateY(-50%)}
.sec-deco-icon{position:relative;z-index:1;background:var(--white);padding:0 1.4rem;color:var(--gold);font-size:.95rem}
.sec-deco.dark{background:var(--navy)}.sec-deco.dark .sec-deco-icon{background:var(--navy)}.sec-deco.dark::before{background:linear-gradient(90deg,transparent,rgba(212,175,55,.18) 30%,rgba(212,175,55,.18) 70%,transparent)}
.sec-deco.light-bg{background:var(--light)}.sec-deco.light-bg .sec-deco-icon{background:var(--light)}

/* ═══════════════════════════════════════════════
   VIDEO BENTO
═══════════════════════════════════════════════ */
.bento-video{border-radius:var(--rx);overflow:hidden;position:relative;box-shadow:0 40px 90px rgba(0,0,0,.25);height:280px}
@media(min-width:992px){.bento-video{height:auto}}
.bento-video video{width:100%;height:100%;object-fit:cover}
.bento-video-deco{position:absolute;bottom:3.5rem;left:1.2rem;z-index:3;background:rgba(6,16,31,.78);backdrop-filter:blur(14px);border:1px solid var(--goldline);border-radius:var(--r);padding:.7rem 1.1rem;display:flex;align-items:center;gap:.7rem}
@media(max-width:768px){.bento-video-deco{bottom:3rem;left:.8rem;padding:.5rem .85rem}}
.bvd-dot{width:8px;height:8px;border-radius:50%;background:#ff4444;animation:recPulse 1.5s ease-in-out infinite;flex-shrink:0}
.bvd-t{font-size:.62rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.82)}
.vid-controls{position:absolute;bottom:0;left:0;right:0;z-index:4;padding:.6rem .8rem .7rem;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);display:flex;align-items:center;gap:.6rem;opacity:1;transition:opacity .3s}
@media(min-width:1025px){.vid-controls{opacity:0}.bento-video:hover .vid-controls{opacity:1}}
.vid-play{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:var(--gold);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:.85rem;transition:transform .2s,background .2s}
.vid-play:hover,.vid-play:active{transform:scale(1.1);background:var(--gold2)}
.vid-progress-wrap{flex:1;height:6px;background:rgba(255,255,255,.2);border-radius:3px;cursor:pointer;position:relative;padding:8px 0;margin:-8px 0}
.vid-progress-bar{height:6px;background:var(--gold);border-radius:3px;width:0%;transition:width .1s linear;pointer-events:none;position:relative;top:0}
.vid-time{font-size:.62rem;color:rgba(255,255,255,.6);font-weight:600;white-space:nowrap;min-width:52px;text-align:right}
.vid-mute,.vid-fullscreen{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:rgba(255,255,255,.12);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:.75rem;transition:background .2s,color .2s}
.vid-mute:hover,.vid-mute:active,.vid-fullscreen:hover,.vid-fullscreen:active{background:rgba(255,255,255,.22);color:#fff}
@media(max-width:480px){.vid-fullscreen{display:none}.vid-time{min-width:44px;font-size:.58rem}}
.bento-photo{border-radius:var(--rx);overflow:hidden;height:120px;cursor:pointer;position:relative;box-shadow:0 14px 45px rgba(0,0,0,.15)}
@media(min-width:992px){.bento-photo{height:100%}}
.bento-photos .bento-photo{height:100%}
.bento-photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.bento-photo:hover img,.bento-photo:active img{transform:scale(1.08)}
.bento-photo-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,16,31,.9),transparent);display:flex;align-items:flex-end;padding:1.4rem;opacity:0;transform:translateY(5px);transition:all .35s}
.bento-photo:hover .bento-photo-ov,.bento-photo:active .bento-photo-ov{opacity:1;transform:none}
@media(max-width:768px){.bento-photo-ov{opacity:.7;transform:none}}
.bento-photo::before{content:'';position:absolute;inset:0;border-radius:var(--rx);border:2px solid transparent;transition:border-color .35s;z-index:2;pointer-events:none}
.bento-photo:hover::before,.bento-photo:active::before{border-color:rgba(212,175,55,.45)}
.bento{display:grid;gap:.75rem}
@media(min-width:992px){.bento{grid-template-columns:1.8fr 1fr;align-items:stretch}.bento-video{grid-row:1/2}}
.bento-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.75rem;height:100%}
@media(max-width:991px){.bento-photos{grid-template-columns:1fr 1fr;gap:.6rem}}

/* ═══════════════════════════════════════════════
   CARDS / ACTIVITIES GRID
═══════════════════════════════════════════════ */
.grid3{display:grid;gap:clamp(1rem,3vw,2rem);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
@media(max-width:600px){.grid3{grid-template-columns:1fr;gap:1.1rem}}
.card{background:var(--white);border-radius:var(--rx);overflow:hidden;border:1px solid rgba(0,0,0,.045);box-shadow:0 5px 28px rgba(0,0,0,.06);transition:box-shadow .35s,border-color .3s,transform .35s;height:100%;display:flex;flex-direction:column}
.card:hover{box-shadow:0 18px 50px rgba(0,0,0,.1);border-color:rgba(212,175,55,.18);transform:translateY(-4px)}
.card-img{height:220px;overflow:hidden;position:relative}
@media(max-width:768px){.card-img{height:195px}}
@media(max-width:480px){.card-img{height:175px}}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card-img img{transform:scale(1.05)}
.card-tag{position:absolute;top:1rem;right:1rem;z-index:3;background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--navy);padding:.28rem .85rem;font-size:.6rem;text-transform:uppercase;font-weight:800;border-radius:20px;box-shadow:0 4px 16px var(--goldglow);letter-spacing:1px}
.card-body{padding:clamp(1.3rem,3vw,2rem);display:flex;flex-direction:column;flex-grow:1}
.card-t{font-size:clamp(1rem,2vw,1.25rem);margin-bottom:.5rem;font-weight:800;color:var(--navy2)}
.card-d{font-size:.87rem;line-height:1.75;color:var(--slate);flex-grow:1;margin-bottom:1.5rem}

/* ═══════════════════════════════════════════════
   FLEET
═══════════════════════════════════════════════ */
.fleet-wrap{overflow-x:auto;overflow-y:visible;padding:1rem 0 2rem;scrollbar-width:thin;scrollbar-color:var(--gold) rgba(212,175,55,.06);cursor:grab;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding:0 clamp(1rem,4vw,2rem);overscroll-behavior-x:contain}
.fleet-wrap.dragging{cursor:grabbing}.fleet-wrap:active{cursor:grabbing}
.fleet-wrap::-webkit-scrollbar{height:3px}.fleet-wrap::-webkit-scrollbar-track{background:rgba(212,175,55,.06)}.fleet-wrap::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}
@media(max-width:768px){.fleet-wrap{padding:0.8rem 0 1.5rem;padding-left:clamp(1rem,4vw,2rem);scroll-padding-left:clamp(1rem,4vw,2rem)}}
.fleet-row{display:flex;gap:1.5rem;width:max-content;padding:1.2rem 0}
@media(max-width:768px){.fleet-row{gap:1rem;padding:1rem 0;padding-right:clamp(1rem,4vw,2rem)}}
.fleet-card{width:clamp(260px,30vw,320px);flex-shrink:0;background:rgba(255,255,255,.04);border-radius:var(--rx);overflow:hidden;border:1px solid rgba(255,255,255,.08);transition:transform .3s var(--ease),box-shadow .3s,background .3s;scroll-snap-align:start}
.fleet-card:hover,.fleet-card:active{transform:translateY(-5px);background:rgba(255,255,255,.07);box-shadow:0 20px 45px rgba(0,0,0,.28)}
@media(max-width:480px){.fleet-card{width:clamp(230px,75vw,280px)}}
.fleet-card-img{height:180px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.03);padding:.8rem}
.fleet-card-img img{max-height:145px;object-fit:contain;transition:transform .6s}
.fleet-card:hover .fleet-card-img img{transform:scale(1.07)}
.fleet-card-body{padding:1.3rem}
.fleet-card-t{font-size:1rem;font-weight:800;color:var(--white);margin-bottom:.3rem}
.fleet-card-sub{font-size:.67rem;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-bottom:.9rem}
.fleet-specs{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.spec{font-size:.67rem;display:flex;align-items:center;gap:.4rem;font-weight:700;text-transform:uppercase;color:var(--white)}
.spec i{color:var(--gold)}
.drag-hint{display:flex;align-items:center;gap:.6rem;font-size:.7rem;color:rgba(255,255,255,.28);text-transform:uppercase;letter-spacing:1.5px;font-weight:600;margin-bottom:1.2rem}
.drag-hint i{color:var(--gold);animation:dragA 1.8s ease-in-out infinite}
@keyframes dragA{0%,100%{transform:translateX(0)}50%{transform:translateX(10px)}}

/* ═══════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════ */
.faq-wrap{max-width:880px;margin:0 auto}
.faq-item{background:var(--white);border:1px solid #e4eaf3;border-radius:var(--rl);margin-bottom:.8rem;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.faq-item:hover{border-color:rgba(212,175,55,.28);box-shadow:0 10px 35px rgba(0,0,0,.07)}
@media(min-width:769px){.faq-item:hover{transform:translateX(6px)}}
.faq-q{padding:clamp(1rem,3vw,1.45rem) clamp(1rem,3vw,1.8rem);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:clamp(.88rem,2vw,.95rem);font-weight:600;color:var(--navy2);transition:background .2s;min-height:58px;user-select:none;-webkit-user-select:none}
.faq-q:hover,.faq-q:active{background:#f7f9fc}
.faq-ico{width:34px;height:34px;border-radius:50%;background:var(--golddim);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;transition:all .35s var(--spring)}
.faq-q.open .faq-ico{background:var(--gold);color:var(--navy);transform:rotate(180deg)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-ans p{padding:0 clamp(1rem,3vw,1.8rem) clamp(1.2rem,3vw,1.6rem);color:var(--slate);line-height:1.9;font-size:.9rem}

/* ═══════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════ */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;align-items:center}
@media(max-width:900px){.testi-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}}
@media(max-width:480px){.testi-grid{max-width:100%}}
.testi{padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--rx);border:1px solid rgba(0,0,0,.04);background:var(--white);box-shadow:0 5px 22px rgba(0,0,0,.05);transition:transform .35s var(--spring),box-shadow .35s}
.testi:hover{transform:translateY(-7px);box-shadow:0 28px 65px rgba(0,0,0,.11)}
.testi.feat{background:var(--navy);transform:scale(1.05);box-shadow:0 40px 90px rgba(6,16,31,.35);border:1px solid rgba(212,175,55,.14)}
.testi.feat:hover{transform:scale(1.05) translateY(-7px)}
@media(max-width:900px){.testi.feat{transform:none}.testi.feat:hover{transform:translateY(-7px)}}
.testi-stars{color:var(--gold);font-size:.82rem;margin-bottom:1rem}
.testi-q{font-style:italic;line-height:1.75;font-size:.9rem;margin-bottom:1.3rem;color:var(--slate)}
.testi.feat .testi-q{color:rgba(255,255,255,.7)}
.testi-name{font-weight:800;font-size:.83rem;color:var(--navy2)}
.testi.feat .testi-name{color:var(--white)}

/* ═══════════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════════ */
.contact-wrap{background:linear-gradient(130deg,var(--navy) 0%,#0d1930 55%,#111e38 100%);position:relative;overflow:hidden;padding:clamp(4rem,8vw,8rem) 0}
.contact-deco-text{position:absolute;right:-5%;bottom:-12%;font-size:26rem;font-weight:900;color:rgba(212,175,55,.022);letter-spacing:-12px;pointer-events:none;line-height:1;text-transform:uppercase;white-space:nowrap}
.contact-wrap::before{content:'';position:absolute;top:-25%;right:-15%;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.06),transparent 70%);pointer-events:none}
.contact-wrap::after{content:'';position:absolute;bottom:10%;left:5%;width:110px;height:110px;border-bottom:1px solid var(--goldline);border-left:1px solid var(--goldline);pointer-events:none}
.contact-grid{display:grid;grid-template-columns:1fr;gap:3rem;position:relative;z-index:2}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr;gap:4rem}}
.field{position:relative;margin-bottom:1.1rem}
.field input,.field textarea,.field select{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);color:var(--white);padding:1.2rem 1.1rem .5rem;border-radius:var(--r);font-size:16px;transition:border-color .3s,box-shadow .3s;-webkit-appearance:none;appearance:none;font-family:var(--font);min-height:52px}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.1);background:rgba(255,255,255,.06)}
.field select{cursor:pointer;padding-top:.85rem}
.field select option{background:#0b1628;color:var(--white)}
.field-lbl{position:absolute;top:.95rem;left:1.1rem;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);pointer-events:none;transition:all .3s}
.field input:not(:placeholder-shown)~.field-lbl,.field input:focus~.field-lbl,.field textarea:not(:placeholder-shown)~.field-lbl,.field textarea:focus~.field-lbl{top:.42rem;font-size:.56rem;opacity:.7}
.field.sel .field-lbl{top:.42rem;font-size:.56rem;opacity:.7}
.c-info-item{display:flex;gap:1.1rem;align-items:center;padding:1.1rem 1.3rem;border-radius:var(--rl);background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);margin-bottom:.7rem;transition:all .3s;min-height:68px}
.c-info-item:hover,.c-info-item:active{background:rgba(212,175,55,.05);border-color:rgba(212,175,55,.15);transform:translateX(6px)}
.c-ico{width:44px;height:44px;border-radius:12px;background:rgba(212,175,55,.1);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;font-size:1.05rem;transition:all .3s}
.c-info-item:hover .c-ico,.c-info-item:active .c-ico{background:var(--gold);color:var(--navy)}
.c-lbl{font-size:.62rem;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.28);margin-bottom:.2rem}
.c-val{font-weight:700;color:var(--white);font-size:.95rem}
.map-box{height:220px;border-radius:var(--rl);overflow:hidden;border:1px solid rgba(255,255,255,.06);margin-top:1.8rem}
@media(max-width:480px){.map-box{height:185px}}
.map-box iframe{width:100%;height:100%;border:0}

/* ═══════════════════════════════════════════════
   GALLERY
═══════════════════════════════════════════════ */
.gal-grid{columns:4 200px;gap:.7rem}
@media(max-width:768px){.gal-grid{columns:3 110px;gap:.45rem}}
@media(max-width:480px){.gal-grid{columns:2 110px;gap:.4rem}}
.gi{break-inside:avoid;margin-bottom:.7rem;border-radius:var(--r);overflow:hidden;cursor:pointer;position:relative;transition:transform .35s var(--spring),box-shadow .35s}
@media(max-width:480px){.gi{margin-bottom:.4rem}}
.gi img{width:100%;display:block;transition:transform .7s var(--ease)}
.gi:hover{transform:scale(1.025);box-shadow:0 22px 55px rgba(0,0,0,.28);z-index:2}
.gi:hover img{transform:scale(1.1)}
.gi-ov{position:absolute;inset:0;background:rgba(212,175,55,.16);opacity:0;display:flex;align-items:center;justify-content:center;transition:.3s}
.gi-ov i{color:white;font-size:1.5rem;transform:scale(.3);transition:.3s}
.gi:hover .gi-ov{opacity:1}.gi:hover .gi-ov i{transform:scale(1)}
@media(max-width:768px){.gi-ov{opacity:0}.gi:active .gi-ov{opacity:1}.gi:active img{transform:scale(1.05)}}
.filter-bar{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.fb{padding:.6rem 1.4rem;border-radius:24px;border:1.5px solid #cdd5df;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;cursor:pointer;transition:all .2s;background:transparent;color:var(--slate);font-family:var(--font);min-height:var(--tap)}
.fb:hover,.fb.on,.fb:active{background:var(--navy);border-color:var(--navy);color:white}
.fb.on{box-shadow:0 4px 20px rgba(6,16,31,.22)}

/* ── Lightbox ── */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.97);z-index:99996;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s;padding:1rem;overscroll-behavior:contain}
.lb img{max-width:min(96vw,1100px);max-height:85vh;object-fit:contain;border-radius:var(--rl);transform:scale(.88);transition:transform .38s var(--spring);user-select:none;-webkit-user-select:none;pointer-events:none}
.lb.on{opacity:1;visibility:visible}.lb.on img{transform:scale(1)}
.lb-swipe-hint{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.3);font-size:.65rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;display:flex;align-items:center;gap:.6rem;pointer-events:none;opacity:0;transition:opacity .4s}
.lb.on .lb-swipe-hint{opacity:1;animation:swipeHintFade 3s ease 1s forwards}
@keyframes swipeHintFade{0%{opacity:1}80%{opacity:1}100%{opacity:0}}
.lb-swipe-hint i{animation:swipeAnim 1.5s ease-in-out infinite}
@keyframes swipeAnim{0%,100%{transform:translateX(0)}50%{transform:translateX(-8px)}}
.lb-close{position:fixed;top:.8rem;right:.8rem;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.08);border:none;cursor:pointer;color:white;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .3s;backdrop-filter:blur(12px)}
.lb-close:hover,.lb-close:active{background:var(--gold);color:var(--navy);transform:rotate(90deg) scale(1.1)}
.lb-nav{position:fixed;top:50%;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.08);border:none;cursor:pointer;color:white;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);transition:all .3s;backdrop-filter:blur(12px)}
.lb-nav:hover,.lb-nav:active{background:var(--gold);color:var(--navy)}
.lb-prev{left:.8rem}.lb-next{right:.8rem}
@media(max-width:480px){.lb-nav{width:44px;height:44px;font-size:.9rem;background:rgba(255,255,255,.06)}.lb-prev{left:.3rem}.lb-next{right:.3rem}}

/* ── Scroll-to-top button ── */
.btt{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--navy);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;z-index:990;opacity:0;transform:translateY(22px) scale(.8);transition:all .4s var(--spring);box-shadow:0 8px 28px var(--goldglow)}
.btt.show{opacity:1;transform:translateY(0) scale(1)}.btt:hover{transform:translateY(-5px) scale(1.14);box-shadow:0 18px 45px rgba(212,175,55,.55)}.btt:active{transform:scale(.95);opacity:.85}
@media(max-width:768px){.btt{bottom:calc(5.5rem + env(safe-area-inset-bottom));right:.8rem;width:46px;height:46px;font-size:.9rem}}

/* ── Toast ── */
.toast{position:fixed;bottom:8rem;left:50%;transform:translateX(-50%) translateY(30px);background:var(--navy);color:white;padding:.85rem 2rem;border-radius:var(--rl);font-size:.85rem;font-weight:600;z-index:99990;opacity:0;visibility:hidden;transition:all .4s var(--spring);box-shadow:0 22px 55px rgba(0,0,0,.45);border:1px solid rgba(212,175,55,.22);display:flex;align-items:center;gap:.75rem;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}
.toast.on{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.toast i{color:var(--gold)}
@media(max-width:768px){.toast{bottom:calc(6rem + env(safe-area-inset-bottom));font-size:.8rem;padding:.75rem 1.4rem}}

/* ═══════════════════════════════════════════════
   SHOP
═══════════════════════════════════════════════ */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:820px;margin:0 auto}
@media(max-width:600px){.shop-grid{grid-template-columns:1fr;gap:1.3rem;max-width:440px}}
.shop-card{border-radius:var(--rx);overflow:hidden;border:1px solid #dde5f0;background:white;transition:transform .4s var(--spring),box-shadow .4s;position:relative;display:flex;flex-direction:column}
.shop-card:hover{transform:translateY(-12px);box-shadow:0 36px 80px rgba(0,0,0,.14)}.shop-card:active{opacity:.88}
.shop-card.g{border:2px solid var(--gold);box-shadow:0 0 0 5px rgba(212,175,55,.06)}
.shop-img{height:210px;overflow:hidden;background:var(--light)}
@media(max-width:480px){.shop-img{height:185px}}
.shop-img img{width:100%;height:100%;object-fit:contain;transition:transform .6s}
.shop-card.g .shop-img img{object-fit:cover}.shop-card:hover .shop-img img{transform:scale(1.07)}
.shop-content{padding:clamp(1.5rem,4vw,2.5rem);flex-grow:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.shop-card.g .shop-content{background:var(--navy2)}
.shop-badge{position:absolute;top:18px;right:-32px;background:linear-gradient(135deg,var(--gold),var(--gold3));padding:5px 44px;transform:rotate(45deg);font-weight:800;font-size:.62rem;color:var(--navy);z-index:5;letter-spacing:1.5px}

/* ═══════════════════════════════════════════════
   DETAIL PAGES
═══════════════════════════════════════════════ */
.detail-hero{height:min(55vh,480px);position:relative;overflow:hidden}
@media(max-width:768px){.detail-hero{height:min(42vh,300px)}}
@media(max-width:480px){.detail-hero{height:240px}}
.detail-hero img{width:100%;height:100%;object-fit:cover;transition:transform 8s}
.detail-hero:hover img{transform:scale(1.05)}
.detail-ov{position:absolute;inset:0;background:linear-gradient(to top,var(--navy2) 8%,rgba(6,16,31,.35) 60%,transparent);display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:3rem}
.detail-sub{font-size:.7rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:3px;margin-bottom:.4rem}
.detail-ttl{font-size:clamp(1.8rem,4.5vw,4rem);color:white;font-weight:900;letter-spacing:-1px}
.detail-lay{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:-2rem;position:relative;z-index:10;padding-bottom:2rem}
@media(min-width:992px){.detail-lay{grid-template-columns:2.2fr 1fr;gap:2rem}}
.detail-main{background:white;padding:clamp(1.3rem,4vw,2.5rem);border-radius:var(--rx);box-shadow:0 28px 75px rgba(0,0,0,.12)}
.hls{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.8rem;margin-bottom:2rem;padding-bottom:1.8rem;border-bottom:1px solid #f0f5fb}
.hl{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem .7rem;background:var(--light);border-radius:var(--r);transition:all .3s var(--spring)}
.hl:hover,.hl:active{background:var(--golddim);transform:translateY(-4px)}
.hl-i{color:var(--gold);font-size:1.2rem;margin-bottom:.5rem}.hl-l{font-size:.6rem;text-transform:uppercase;letter-spacing:1px;color:#94a3b8;font-weight:700}.hl-v{font-weight:900;color:var(--navy2);font-size:.9rem;margin-top:.12rem}
.tabs-bar{display:flex;gap:0;border-bottom:2px solid #f0f5fb;margin-bottom:1.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabs-bar::-webkit-scrollbar{display:none}
.tb{padding:.85rem 1.4rem;font-weight:700;color:#94a3b8;cursor:pointer;font-size:.87rem;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;transition:.25s;font-family:var(--font);min-height:var(--tap)}.tb:active{background:#f7f9fc}.tb.on{color:var(--navy2);border-bottom-color:var(--gold)}
.tp{display:none;font-size:.88rem;line-height:1.88;color:var(--slate);animation:fadeUp .35s}.tp.on{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sid-sticky{position:sticky;top:calc(var(--header-total) + 1rem)}
.sid-box{background:white;padding:clamp(1.3rem,3vw,2rem);border-radius:var(--rx);box-shadow:0 22px 65px rgba(0,0,0,.1);border-top:4px solid var(--gold);margin-bottom:1.5rem}
.price-big{font-size:2rem;font-weight:900;color:var(--navy2);letter-spacing:-1px}

/* ═══════════════════════════════════════════════
   CLUB PAGE
═══════════════════════════════════════════════ */
.club-hero-bg{height:max(48vh,300px);min-height:300px;background:linear-gradient(rgba(6,16,31,.86),rgba(6,16,31,.62)),url('Images/Photos/Photo1.webp') center/cover;display:flex;align-items:center;justify-content:center;padding-top:var(--header-total)}
.club-subtabs{display:flex;gap:0;border-bottom:2px solid #e8edf5;overflow-x:auto;-webkit-overflow-scrolling:touch}
.club-subtabs::-webkit-scrollbar{display:none}
.cst{padding:.85rem 1.5rem;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#94a3b8;cursor:pointer;border:none;background:none;font-family:var(--font);border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .25s,border-color .25s;white-space:nowrap;display:flex;align-items:center;gap:.5rem;min-height:52px;flex-shrink:0}
.cst i{font-size:.76rem}.cst:hover,.cst:active{color:var(--navy2)}.cst.on{color:var(--navy2);border-bottom-color:var(--gold)}
.club-tab-pane{display:none;animation:fadeUp .35s var(--ease)}.club-tab-pane.on{display:block}
.club-2col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
@media(max-width:768px){.club-2col{grid-template-columns:1fr}}
.gold-div{width:40px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:2px;margin:1.5rem 0;position:relative}
.gold-div i{position:absolute;right:-8px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:.7rem}
.feat-list{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}
.feat-list li{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;color:var(--slate);line-height:1.5}
.feat-list i{color:var(--gold);margin-top:.1rem;flex-shrink:0}
.install-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:768px){.install-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.install-grid{grid-template-columns:1fr}}
.inst-ph{border-radius:var(--rl);overflow:hidden;height:200px;position:relative;cursor:pointer}
@media(max-width:768px){.inst-ph{height:160px}}
.inst-ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.inst-ph:hover img,.inst-ph:active img{transform:scale(1.07)}
.inst-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,16,31,.82),transparent 55%);display:flex;align-items:flex-end;padding:.8rem 1rem;opacity:0;transition:.3s}
@media(max-width:768px){.inst-ov{opacity:1}}
.inst-ph:hover .inst-ov,.inst-ph:active .inst-ov{opacity:1}
.org-section{margin-bottom:2.5rem}
.org-section-title{font-size:.63rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem;display:flex;align-items:center;gap:.7rem}
.org-section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--goldline),transparent)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}
@media(max-width:480px){.org-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}
@media(max-width:360px){.org-grid{grid-template-columns:1fr}}
.org-card{background:var(--white);border:1px solid #e8edf5;border-radius:var(--rl);padding:clamp(1rem,3vw,1.5rem);text-align:center;transition:border-color .3s,box-shadow .3s,transform .3s}
.org-card:hover,.org-card:active{border-color:rgba(212,175,55,.3);box-shadow:0 12px 35px rgba(0,0,0,.08);transform:translateY(-4px)}
.org-avatar{width:66px;height:66px;border-radius:50%;margin:0 auto .8rem;background:linear-gradient(135deg,var(--navy2),var(--navy3));display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;color:var(--gold);border:3px solid var(--light);box-shadow:0 4px 18px rgba(0,0,0,.12);overflow:hidden;position:relative}
.org-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.org-name{font-size:clamp(.85rem,2vw,.95rem);font-weight:800;color:var(--navy2);margin-bottom:.2rem}
.org-role{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold)}
.org-details{font-size:.77rem;color:var(--slate);line-height:1.6;margin-top:.5rem}
.org-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.6rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:var(--light);color:var(--slate);padding:.25rem .7rem;border-radius:20px;margin-top:.6rem}

/* ── Blog ── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.blog-card{background:white;border-radius:var(--rx);overflow:hidden;border:1px solid #e8edf5;transition:transform .35s var(--spring),box-shadow .35s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-8px);box-shadow:0 28px 65px rgba(0,0,0,.12)}
.blog-img{height:200px;overflow:hidden;position:relative}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.blog-card:hover .blog-img img{transform:scale(1.05)}
.blog-cat{position:absolute;top:1rem;left:1rem;background:var(--gold);color:var(--navy);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:.3rem .8rem;border-radius:20px}
.blog-body{padding:1.3rem;flex-grow:1}
.blog-meta{font-size:.68rem;color:#94a3b8;display:flex;align-items:center;gap:.4rem;margin-bottom:.6rem}
.blog-title{font-size:.95rem;font-weight:800;color:var(--navy2);line-height:1.35;margin-bottom:.5rem}
.blog-excerpt{font-size:.82rem;color:var(--slate);line-height:1.65}
.blog-footer{padding:.9rem 1.3rem;border-top:1px solid #f0f5fb;display:flex;justify-content:space-between;align-items:center}
.blog-author{font-size:.72rem;color:#94a3b8;display:flex;align-items:center;gap:.4rem}
.blog-read{font-size:.72rem;font-weight:700;color:var(--gold);display:flex;align-items:center;gap:.4rem}

/* ── Facebook link ── */
.facebook-link{color:#1877f2;text-decoration:none;font-weight:bold}.facebook-link:hover{text-decoration:underline;color:#0e5a8a}

/* ═══════════════════════════════════════════════
   FORMATIONS CARDS
═══════════════════════════════════════════════ */
.formations-section{padding:clamp(3rem,6vw,5rem) 0;background:var(--light);position:relative;overflow:hidden}
.formations-section::before{content:'';position:absolute;top:-150px;right:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.05),transparent 70%);pointer-events:none}
.formations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.formations-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}}
@media(max-width:480px){.formations-grid{max-width:100%}}
.form-card{background:var(--white);border-radius:var(--rx);border:1.5px solid #e2eaf3;overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:0 6px 30px rgba(0,0,0,.06);transition:transform .38s var(--spring),box-shadow .38s,border-color .3s}
.form-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(0,0,0,.12);border-color:rgba(212,175,55,.35)}.form-card:active{opacity:.9}
.form-card.fc-featured{border-color:var(--gold);border-width:2px;box-shadow:0 8px 40px rgba(212,175,55,.18)}.form-card.fc-featured:hover{box-shadow:0 30px 80px rgba(212,175,55,.28)}
.fc-ribbon{position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 90px 90px 0;border-color:transparent var(--navy2) transparent transparent;z-index:2}
.form-card.fc-featured .fc-ribbon{border-color:transparent var(--gold) transparent transparent}
.fc-ribbon-label{position:absolute;top:18px;right:-72px;font-size:.52rem;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;color:var(--white);transform:rotate(45deg);pointer-events:none;z-index:3;white-space:nowrap}
.form-card.fc-featured .fc-ribbon-label{color:var(--navy)}
.fc-top{padding:2rem 1.8rem 0}
.fc-icon{width:58px;height:58px;border-radius:50%;background:var(--light);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--navy2);margin-bottom:1.1rem;border:1.5px solid #e2eaf3;transition:background .3s,border-color .3s,color .3s,transform .35s var(--spring)}
.form-card.fc-featured .fc-icon{background:var(--golddim);border-color:var(--goldline);color:var(--gold3)}.form-card:hover .fc-icon,.form-card:active .fc-icon{background:var(--navy2);border-color:var(--navy2);color:var(--gold);transform:rotate(-8deg) scale(1.1)}
.fc-title{font-size:clamp(1.1rem,2vw,1.3rem);font-weight:900;color:var(--navy2);letter-spacing:-.5px;line-height:1.15;margin-bottom:.75rem}
.fc-desc{font-size:.84rem;color:var(--slate);line-height:1.75;font-weight:300;padding-bottom:1.3rem}
.fc-divider{height:1px;background:linear-gradient(90deg,transparent,#e2eaf3 20%,#e2eaf3 80%,transparent);margin:0 1.8rem}
.fc-specs{padding:1.3rem 1.8rem;display:flex;flex-direction:column;gap:.65rem;flex-grow:1}
.fc-spec-row{display:flex;align-items:flex-start;gap:.7rem;font-size:.8rem;color:var(--slate);line-height:1.45}
.fc-spec-row i{color:var(--gold3);font-size:.72rem;margin-top:.18rem;flex-shrink:0;width:14px;text-align:center}.form-card.fc-featured .fc-spec-row i{color:var(--gold)}
.fc-footer{padding:.3rem 1.8rem 1.8rem}
.btn-pdf{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.5rem;border-radius:50px;font-family:var(--font);font-weight:800;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border:none;transition:transform .25s var(--spring),box-shadow .25s,background .25s;background:var(--navy2);color:var(--white);box-shadow:0 4px 18px rgba(6,16,31,.18);position:relative;overflow:hidden;text-decoration:none;min-height:var(--tap)}
.btn-pdf::before{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:skewX(-20deg);transition:left .5s}.btn-pdf:hover::before{left:140%}
.btn-pdf:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(6,16,31,.28)}.btn-pdf:active{opacity:.85}
.form-card.fc-featured .btn-pdf{background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--navy);box-shadow:0 6px 24px var(--goldglow)}.form-card.fc-featured .btn-pdf:hover{box-shadow:0 14px 40px rgba(212,175,55,.5)}
.ecole-cta-strip{margin:2.5rem 0 0;background:var(--navy);border-radius:var(--rx);padding:clamp(1.5rem,3vw,2rem) clamp(1.5rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border:1px solid rgba(212,175,55,.14);box-shadow:0 20px 55px rgba(6,16,31,.25);position:relative;overflow:hidden}
.ecole-cta-strip::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,175,55,.05),transparent);pointer-events:none}
.ecole-cta-strip::after{content:'LFDN';position:absolute;right:-10px;bottom:-20px;font-size:7rem;font-weight:900;color:rgba(212,175,55,.04);letter-spacing:-4px;pointer-events:none;line-height:1}
.ecole-cta-text{position:relative;z-index:1}.ecole-cta-text h3{font-size:clamp(1rem,2vw,1.2rem);font-weight:900;color:var(--white);margin-bottom:.3rem}.ecole-cta-text p{font-size:.82rem;color:rgba(255,255,255,.45);line-height:1.6}
.ecole-cta-actions{display:flex;gap:.8rem;flex-wrap:wrap;position:relative;z-index:1;flex-shrink:0}
.btn-cta-gold{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.8rem;background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--navy);font-family:var(--font);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:1px;border:none;border-radius:50px;cursor:pointer;box-shadow:0 6px 22px var(--goldglow);transition:transform .25s var(--spring),box-shadow .25s;text-decoration:none;min-height:var(--tap)}.btn-cta-gold:hover{transform:translateY(-3px);box-shadow:0 14px 38px rgba(212,175,55,.55)}.btn-cta-gold:active{opacity:.85}
.btn-cta-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.8rem;background:rgba(255,255,255,.06);color:var(--white);font-family:var(--font);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:1px;border:1.5px solid rgba(255,255,255,.18);border-radius:50px;cursor:pointer;transition:background .25s,transform .25s;text-decoration:none;min-height:var(--tap)}.btn-cta-ghost:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}.btn-cta-ghost:active{opacity:.85}

/* ═══════════════════════════════════════════════
   PARTNERS & FOOTER
═══════════════════════════════════════════════ */
.partners-section{background:var(--light);padding:clamp(3rem,6vw,5rem) 0;border-top:1px solid #e2eaf3}
.partners-label{text-align:center;margin-bottom:2rem}
.partners-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center}
.partner-card{background:white;border-radius:12px;padding:1.2rem 1.8rem;border:1px solid #e2eaf3;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:130px;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:transform .3s,box-shadow .3s}
.partner-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.1)}
.partner-logo{height:40px;display:flex;align-items:center;justify-content:center}
.partner-logo img{height:40px;object-fit:contain}
.partner-name{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#64748b}
.footer{background:var(--navy);position:relative;overflow:hidden;padding:4rem 0 0}
.footer-deco{position:absolute;right:-5%;bottom:-12%;font-size:22rem;font-weight:900;color:rgba(212,175,55,.022);letter-spacing:-12px;pointer-events:none;line-height:1;text-transform:uppercase;white-space:nowrap;z-index:0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:1}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:2rem}}
.footer h4{font-size:.72rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.footer p{font-size:.82rem;line-height:1.9;color:rgba(255,255,255,.35)}
.footer ul li{margin-bottom:.3rem}
.footer ul li a{font-size:.84rem;transition:all .3s;display:inline-flex;align-items:center;gap:.45rem;color:rgba(255,255,255,.3);min-height:40px}
.footer ul li a::before{content:'—';font-size:.6rem;opacity:.3}
.footer ul li a:hover,.footer ul li a:active{color:var(--gold);transform:translateX(5px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.04);padding-top:1.8rem;margin-top:3.5rem;text-align:center;font-size:.72rem;position:relative;z-index:1;color:rgba(255,255,255,.18)}
.social-row{display:flex;gap:.7rem;margin-top:1.5rem}
.soc-btn{width:44px;height:44px;border-radius:9px;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:rgba(255,255,255,.35);transition:all .25s;border:1px solid rgba(255,255,255,.06)}
.soc-btn:hover,.soc-btn:active{background:var(--gold);color:var(--navy);border-color:var(--gold);transform:translateY(-3px)}

/* ═══════════════════════════════════════════════
   LEAFLET / MAP
═══════════════════════════════════════════════ */
.custom-popup .leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 8px 32px rgba(6,16,31,.18);border:1px solid rgba(212,175,55,.2);font-family:'Poppins',sans-serif}
.custom-popup .leaflet-popup-tip{background:white}
.leaflet-control-zoom a{font-family:monospace;border-radius:8px!important}
.leaflet-map-mobilebtn{background:#fff;padding:5px 10px;cursor:pointer;font-size:12px;font-weight:700;color:#06101f;border:2px solid rgba(212,175,55,.5);border-radius:8px;user-select:none;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.15)}

/* ═══════════════════════════════════════════════
   MISC UTILITIES
═══════════════════════════════════════════════ */
@media(max-width:768px){body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}}
@keyframes shimmer{0%{background-position:-400% 0}100%{background-position:400% 0}}
.gold-shimmer{background:linear-gradient(90deg,var(--gold),var(--gold2),var(--gold3),var(--gold2),var(--gold));background-size:400% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 6s linear infinite}
