@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Orbitron:wght@500;700;800;900&display=swap');
:root{--bg:#050607;--bg2:#090c10;--panel:#0e1319;--panel2:#111923;--text:#f7f9fb;--muted:#9ca8b5;--blue:#0071c1;--blue2:#14a9ff;--yellow:#ffd200;--red:#ef3340;--green:#43cf86;--line:rgba(255,255,255,.11);--max:1280px;--radius:24px;--shadow:0 25px 80px rgba(0,0,0,.5)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;min-width:320px;background:radial-gradient(circle at 80% -10%,rgba(0,113,193,.22),transparent 32rem),var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;overflow-x:hidden} a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,select,textarea{font:inherit}
.site-header{position:sticky;top:0;z-index:80;background:rgba(5,6,7,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.nav-wrap{width:min(calc(100% - 34px),var(--max));min-height:78px;margin:auto;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;font-family:Orbitron,sans-serif;font-weight:900;letter-spacing:.05em;font-size:14px}.brand-logo{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid rgba(20,169,255,.65);box-shadow:0 0 24px rgba(0,113,193,.35)}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px}.nav a{position:relative;padding:12px 8px;border-radius:10px;color:rgba(255,255,255,.7);font-size:10.5px;font-weight:800;letter-spacing:.045em;white-space:nowrap}.nav a:hover,.nav a.active{color:#fff;background:rgba(255,255,255,.05)}.nav a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:2px;background:var(--blue2);border-radius:99px}.menu-btn{display:none;margin-left:auto;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:#0d1117;color:#fff;cursor:pointer}.menu-btn span,.menu-btn:before,.menu-btn:after{content:"";display:block;width:21px;height:2px;background:currentColor;margin:5px auto;transition:.2s}.menu-btn.open span{opacity:0}.menu-btn.open:before{transform:translateY(7px) rotate(45deg)}.menu-btn.open:after{transform:translateY(-7px) rotate(-45deg)}
.hero{min-height:690px;position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:#060708}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,6,.97) 0%,rgba(4,5,6,.78) 48%,rgba(4,5,6,.25) 100%),repeating-linear-gradient(60deg,rgba(255,255,255,.025) 0 1px,transparent 1px 34px),repeating-linear-gradient(-60deg,rgba(255,255,255,.02) 0 1px,transparent 1px 34px);z-index:1}.hero-art{position:absolute;right:-2%;bottom:0;width:min(72vw,1050px);height:94%;object-fit:contain;object-position:right bottom;filter:saturate(.95) contrast(1.08);z-index:0}.hero-inner{position:relative;z-index:2;width:min(calc(100% - 40px),var(--max));margin:auto;padding:90px 0}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#7dcfff;font-family:Orbitron,sans-serif;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow:before{content:"";width:34px;height:2px;background:var(--blue2)}.hero h1,.page-hero h1{font-family:Orbitron,sans-serif;text-transform:uppercase;margin:18px 0 22px;font-weight:900;line-height:.9;letter-spacing:-.045em}.hero h1{font-size:clamp(56px,8vw,112px);max-width:820px}.hero h1 span,.page-hero h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.82)}.lead{max-width:760px;color:rgba(255,255,255,.79);font-size:clamp(16px,1.8vw,20px);line-height:1.7}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border-radius:999px;font-family:Orbitron,sans-serif;font-size:11px;font-weight:800;letter-spacing:.05em;border:1px solid var(--line);transition:.2s}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));border-color:transparent;color:white;box-shadow:0 12px 30px rgba(0,113,193,.25)}.btn.secondary{background:rgba(255,255,255,.04)}.btn:hover{transform:translateY(-2px)}
.page-hero{position:relative;min-height:360px;display:flex;align-items:end;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(5,6,7,.98),rgba(5,6,7,.65)),url('banniere-swat.png') center 32%/cover no-repeat}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050607 0%,transparent 75%)}.page-hero-inner{position:relative;z-index:2;width:min(calc(100% - 40px),var(--max));margin:auto;padding:95px 0 55px}.page-hero h1{font-size:clamp(46px,7vw,86px);margin-bottom:12px}.page-hero p{max-width:740px;color:var(--muted);line-height:1.7;margin:0}
.section{padding:76px 20px}.section.alt{background:#080b0f;border-block:1px solid var(--line)}.container{width:min(100%,var(--max));margin:auto}.section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:30px}.section-head h2{margin:0;font-family:Orbitron,sans-serif;font-size:clamp(28px,4vw,48px);line-height:1;text-transform:uppercase}.section-head p{max-width:640px;margin:0;color:var(--muted);line-height:1.65}.kicker{color:#6dc8ff;font-family:Orbitron,sans-serif;font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{position:relative;padding:26px;background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 40px rgba(0,0,0,.18);overflow:hidden}.card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--blue2),var(--blue));opacity:.9}.card h3{font-family:Orbitron,sans-serif;margin:0 0 14px;font-size:21px;text-transform:uppercase}.card p,.card li{color:#b6c0ca;line-height:1.65}.card ul{margin:0;padding-left:19px}.card .meta{font-size:11px;color:#6bcaff;font-family:Orbitron,sans-serif;font-weight:800;letter-spacing:.08em;margin-bottom:10px}.big-number{font-family:Orbitron,sans-serif;font-size:48px;font-weight:900;color:#fff}.price{font-family:Orbitron,sans-serif;font-size:38px;font-weight:900;color:#69c9ff;margin:10px 0}.divider{height:1px;background:var(--line);margin:18px 0}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:8px 11px;border-radius:999px;border:1px solid rgba(20,169,255,.3);background:rgba(20,169,255,.06);color:#cbeeff;font-size:12px;font-weight:700}.statement{padding:32px;border:1px solid rgba(20,169,255,.3);border-radius:var(--radius);background:linear-gradient(135deg,rgba(0,113,193,.13),rgba(255,255,255,.02));font-size:clamp(19px,2vw,28px);line-height:1.5;font-weight:700}.statement strong{color:#70cdff}.notice{padding:18px 20px;border-radius:16px;border:1px solid rgba(255,210,0,.28);background:rgba(255,210,0,.07);color:#f8ebb4;line-height:1.55}.danger-box{padding:26px;border:1px solid rgba(239,51,64,.36);background:rgba(239,51,64,.08);border-radius:var(--radius)}.danger-box h3{margin-top:0;font-family:Orbitron,sans-serif;color:#ff9aa2}.contact-line{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}.contact-line:last-child{border-bottom:0}.contact-line strong{display:block;margin-bottom:4px}.contact-line span,.contact-line a{color:#b7c1cb}.icon-dot{width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:rgba(20,169,255,.1);border:1px solid rgba(20,169,255,.25);display:grid;place-items:center;color:#62c8ff;font-weight:900}
.schedule{display:grid;grid-template-columns:1fr 1fr;gap:20px}.schedule-card{min-height:260px;display:flex;flex-direction:column;justify-content:space-between;padding:34px;border-radius:var(--radius);background:linear-gradient(145deg,#111820,#0b0e13);border:1px solid var(--line)}.schedule-card .age{color:#6bcaff;font-family:Orbitron,sans-serif;font-weight:800}.schedule-card h3{font-family:Orbitron,sans-serif;font-size:34px;margin:12px 0}.days{font-family:Orbitron,sans-serif;font-weight:800;font-size:18px;line-height:1.7}.hours{font-family:Orbitron,sans-serif;font-weight:900;font-size:42px;color:#fff}
.faq details{border:1px solid var(--line);background:#0c1117;border-radius:16px;padding:0 18px;margin-bottom:10px}.faq summary{cursor:pointer;list-style:none;font-weight:800;padding:18px 32px 18px 0;position:relative}.faq summary:after{content:"+";position:absolute;right:0;color:#6bcaff}.faq details[open] summary:after{content:"–"}.faq p{color:#b6c0ca;line-height:1.65;margin:0 0 18px}
.sponsors{background:#000;border-top:1px solid var(--line)}.sponsor-frame{background:#000;border:1px solid rgba(255,255,255,.09);border-radius:20px;overflow:hidden;padding:10px}.sponsor-frame img{width:100%;height:auto;object-fit:contain;background:#000}.sponsor-title{text-align:center;margin-bottom:24px;font-family:Orbitron,sans-serif;font-size:12px;letter-spacing:.16em;color:#7f8a95}
.map{min-height:420px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.map iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(.3) contrast(1.1)}
.article{max-width:980px;margin:auto}.article h2,.article h3{font-family:Orbitron,sans-serif;text-transform:uppercase}.article h2{margin-top:48px;font-size:28px}.article h3{margin-top:30px;font-size:18px}.article p,.article li{color:#c0c7ce;line-height:1.72}.article strong{color:#fff}.article .legal-card{padding:25px;border:1px solid var(--line);border-radius:18px;background:#0b0f14;margin:14px 0}
.footer{border-top:1px solid var(--line);background:#030405}.footer-inner{width:min(calc(100% - 40px),var(--max));margin:auto;min-height:190px;padding:38px 0;display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;color:#85909b;font-size:12px}.footer-links a:hover{color:#fff}.footer-note{color:#5e6872;font-size:11px;margin-top:8px}.legal-links{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:1100px){.nav a{padding-inline:6px;font-size:9.5px}.brand{font-size:12px}.grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.menu-btn{display:block}.nav{position:fixed;left:16px;right:16px;top:88px;display:none;flex-direction:column;align-items:stretch;background:rgba(8,11,15,.98);border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{font-size:12px;padding:14px}.hero{min-height:690px}.hero-art{opacity:.45;width:100%;right:-25%;}.hero:before{background:linear-gradient(90deg,rgba(4,5,6,.98),rgba(4,5,6,.72))}.grid.three,.grid.two,.schedule{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.nav-wrap{width:min(calc(100% - 24px),var(--max));min-height:70px}.brand-logo{width:42px;height:42px}.brand{font-size:11px}.hero-inner,.page-hero-inner{width:min(calc(100% - 28px),var(--max))}.hero{min-height:620px}.hero h1{font-size:clamp(48px,16vw,74px)}.hero-art{right:-48%;width:145%;height:78%}.section{padding:58px 14px}.page-hero{min-height:310px}.page-hero h1{font-size:clamp(40px,14vw,62px)}.grid.four{grid-template-columns:1fr}.card{padding:22px}.schedule-card{padding:26px}.hours{font-size:34px}.footer-inner{width:min(calc(100% - 28px),var(--max));flex-direction:column;align-items:flex-start}.footer-links{justify-content:flex-start}.sponsor-frame{padding:4px;border-radius:14px}}

/* SWAT STUDIO BUILDER — composants créés sans code */
.section.compact{padding-top:42px;padding-bottom:42px}.builder-free-zone{padding:24px;border:1px dashed rgba(20,169,255,.22);border-radius:var(--radius);background:rgba(20,169,255,.025)}.builder-free-zone p{margin:0;color:#aeb8c2;line-height:1.7}.builder-block{margin-top:22px}.builder-title{margin:0;font-family:Orbitron,sans-serif;font-size:clamp(28px,4vw,48px);line-height:1.05;text-transform:uppercase}.builder-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:32px;align-items:center}.builder-split p{color:var(--muted);line-height:1.72}.builder-media{display:flex;align-items:center;justify-content:center;min-height:280px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#0e141b,#080b0f);padding:18px}.builder-media img{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:calc(var(--radius) - 8px)}.builder-card-grid{margin-top:22px}.builder-card-grid:has(> :only-child){grid-template-columns:1fr}.builder-list{margin-top:22px}.builder-divider{height:1px;margin:34px 0;border:0;background:linear-gradient(90deg,transparent,rgba(20,169,255,.5),transparent)}.builder-spacer{height:44px}.builder-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.builder-stat{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));text-align:center}.builder-stat strong{display:block;color:#73d0ff;font-family:Orbitron,sans-serif;font-size:clamp(34px,5vw,58px);font-weight:900}.builder-stat span{display:block;margin-top:8px;color:#aab4bd;font-weight:700}.builder-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.builder-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);background:#080b0f}.builder-video{position:relative;margin-top:22px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#050607;aspect-ratio:16/9}.builder-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.builder-video-empty{height:100%;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;color:#7c8995}.builder-video-empty>span{width:62px;height:62px;display:grid;place-items:center;margin-bottom:14px;border:1px solid rgba(20,169,255,.24);border-radius:50%;background:rgba(20,169,255,.07);color:#71d0ff;font-size:24px}.builder-video-empty strong{font-family:Orbitron,sans-serif;color:#d9e5ec}.builder-video-empty p{max-width:520px;margin:8px 0 0;color:#75828e}.statement.builder-block,.notice.builder-block,.tag-list.builder-block{margin-top:22px}
@media(max-width:920px){.builder-split{grid-template-columns:1fr}.builder-stats,.builder-gallery{grid-template-columns:1fr}.builder-card-grid{grid-template-columns:1fr!important}}
.swat-hidden{display:none!important}

/* SWAT Studio V5 — classes visuelles générées par l'éditeur */
.swat-hidden{display:none!important}
.swat-hover{transition-property:transform,box-shadow,filter,opacity,color,background-color,border-color;transition-duration:var(--swat-hover-duration,220ms);transition-timing-function:cubic-bezier(.2,.7,.2,1);will-change:transform}
.swat-hover-lift:hover{transform:translateY(-7px)!important;box-shadow:0 22px 55px rgba(0,0,0,.38)!important}
.swat-hover-glow:hover{box-shadow:0 0 0 1px rgba(20,169,255,.45),0 0 34px rgba(20,169,255,.32)!important;filter:brightness(1.05)}
.swat-hover-scale:hover{transform:scale(1.045)!important}
.swat-hover-tilt:hover{transform:perspective(900px) rotateX(2deg) rotateY(-3deg) translateY(-3px)!important}
.swat-hover-bright:hover{filter:brightness(1.18) saturate(1.06)!important}
.swat-hover-underline{position:relative}.swat-hover-underline:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--blue2);transition:right var(--swat-hover-duration,220ms) ease}.swat-hover-underline:hover:after{right:0}
.swat-image-shadow{box-shadow:0 22px 60px rgba(0,0,0,.46)}
.swat-clickable-card{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:.2s}.swat-clickable-card:hover{border-color:rgba(20,169,255,.45);box-shadow:0 20px 55px rgba(0,0,0,.35),0 0 0 1px rgba(20,169,255,.11)}
.builder-faq-item{border:1px solid var(--line);background:#0c1117;border-radius:16px;padding:0 18px;margin-bottom:10px}.builder-faq-item summary{cursor:pointer;list-style:none;font-weight:800;padding:18px 32px 18px 0;position:relative}.builder-faq-item summary:after{content:"+";position:absolute;right:0;color:#6bcaff}.builder-faq-item[open] summary:after{content:"–"}.builder-faq-item p{color:#b6c0ca;line-height:1.65;margin:0 0 18px}
