/* Accueil SHOOTKAM : la maquette D « Film » (genere par accueil_d_site.py, ne pas modifier a la main). */

body{ margin:0; background:#050506; }
body > nav{ position:fixed; left:0; right:0; top:0; background:linear-gradient(180deg,rgba(5,5,6,.78),rgba(5,5,6,.35)); border-bottom-color:rgba(255,255,255,.05); }
.jp{ font-family:"Noto Sans JP","Yu Gothic","Meiryo",sans-serif; font-weight:900; font-style:normal; }
.T{ font-family:var(--titre); font-variation-settings:'wdth' 125; font-style:italic; font-weight:900; text-transform:uppercase; letter-spacing:-.01em; line-height:.95; }
.r{ color:var(--red); }
.Sw{ max-width:1240px; margin:0 auto; padding:0 22px; position:relative; }
.S{ padding:clamp(84px,8.5vw,130px) 0 0; position:relative; }
.k{ display:block; font:700 .68rem/1.3 var(--mono); letter-spacing:.22em; text-transform:uppercase; color:var(--soft); }
.btn{ text-decoration:none; }
.cta{ display:flex; gap:12px; flex-wrap:wrap; }

/* inclinaison 3D + reflet qui suit la souris */
.tilt{ position:relative; transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .35s cubic-bezier(.2,.7,.2,1), border-color .3s, box-shadow .3s; }
.tilt::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:3;
  background:radial-gradient(460px circle at var(--mx,30%) var(--my,-30%), rgba(255,255,255,.12), transparent 48%); }

/* --- EN CE MOMENT --- */
.lv-grid{ display:grid; grid-template-columns:1fr 1fr 1.25fr 1.1fr; gap:16px; margin-top:38px; }
.lv-c{ position:relative; overflow:hidden; border-radius:22px; padding:22px; color:#fff; text-decoration:none; display:flex; flex-direction:column; min-height:270px; }
.lv-g{ align-items:center; text-align:center; justify-content:flex-start; padding-top:168px; }
.gz{ position:absolute; left:50%; top:24px; width:min(84%,230px); transform:translateX(-50%); overflow:visible; }
.gz .tk line{ stroke:rgba(255,255,255,.28); stroke-width:1.5; }
.gz .g0{ fill:none; stroke:rgba(255,255,255,.07); stroke-width:9; stroke-linecap:round; }
.gz .g1{ fill:none; stroke:var(--red); stroke-width:9; stroke-linecap:round; filter:drop-shadow(0 0 8px rgba(255,32,41,.8)); transition:stroke-dasharray 1.4s cubic-bezier(.2,.7,.2,1); }
.gz .nd{ stroke:#fff; stroke-width:3; stroke-linecap:round; transform-origin:110px 120px; transform:rotate(var(--a,-90deg)); transition:transform 1.4s cubic-bezier(.2,.7,.2,1); filter:drop-shadow(0 0 6px rgba(255,255,255,.6)); }
.gz .hub{ fill:#111; stroke:#fff; stroke-width:2; }
.lv-g .big{ font:900 italic 3.6rem/1 var(--titre); font-variation-settings:'wdth' 125; position:relative; }
.lv-g .k{ margin-top:8px; color:#e6e7ea; }
.lv-c small{ display:block; margin-top:6px; color:var(--soft); font-size:.82rem; }
.lv-top ol{ list-style:none; margin:16px 0 0; padding:0; display:grid; gap:8px; }
.lv-top li{ display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); }
.lv-top li i{ font:900 italic 1.2rem/1 var(--titre); color:var(--soft); font-style:italic; }
.lv-top li:first-child i{ color:#ffcf4a; } .lv-top li:nth-child(2) i{ color:#d9dde4; } .lv-top li:nth-child(3) i{ color:#d98b4e; }
.lv-top li b{ font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lv-top li em{ font-style:normal; font:700 .78rem/1 var(--mono); color:#fff; }
.lnk{ margin-top:auto; padding-top:14px; font-style:italic; font-weight:800; text-transform:uppercase; font-size:.8rem; color:var(--red); text-decoration:none; }

/* --- QUOI DE NEUF --- */
.nw-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:38px; }
.nw{ position:relative; overflow:hidden; border-radius:22px; padding:26px; min-height:300px; display:flex; flex-direction:column; color:#fff; text-decoration:none; }
.nw .tg{ align-self:flex-start; font:700 .66rem/1 var(--mono); letter-spacing:.2em; text-transform:uppercase; padding:7px 10px; border-radius:999px; color:#fff; background:rgba(255,32,41,.16); border:1px solid rgba(255,32,41,.45); }
.nw .T{ font-size:2rem; margin-top:auto; position:relative; z-index:1; }
.nw p{ margin:10px 0 0; color:#c9cad0; font-size:.93rem; position:relative; z-index:1; }
.nw .go{ margin-top:16px; font-style:italic; font-weight:800; text-transform:uppercase; font-size:.8rem; color:var(--red); position:relative; z-index:1; }
.nw .gh{ position:absolute; right:-6px; top:4px; font:900 italic 8.5rem/1 var(--titre); font-variation-settings:'wdth' 125; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.1); }

/* --- RESEAUX & PLAYLIST --- */
.rp{ display:grid; grid-template-columns:1.1fr 1fr; gap:20px; margin-top:38px; align-items:stretch; }
.socs{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.soc3{ position:relative; overflow:hidden; border-radius:20px; padding:20px; min-height:180px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; text-decoration:none; }
.soc3 .si{ width:34px; height:34px; color:var(--c); filter:drop-shadow(0 0 14px color-mix(in srgb,var(--c) 60%,transparent)); }
.soc3 .go{ position:absolute; right:16px; top:18px; font-size:.74rem; font-weight:700; padding:6px 11px; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); }
.soc3 .T{ display:block; font-size:1.45rem; } .soc3 small{ display:block; color:#bfc0c8; font-size:.82rem; margin-top:3px; }
.pl{ position:relative; overflow:hidden; border-radius:20px; padding:20px; display:flex; flex-direction:column; }
.pl .T{ font-size:1.5rem; margin:6px 0 14px; }
.pl iframe{ width:100%; flex:1; min-height:352px; border:0; border-radius:14px; display:block; background:#111; }

/* --- SETUP --- */
.rigs, .affs{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:38px; align-items:stretch; }
.rig3{ position:relative; overflow:hidden; border-radius:22px; padding:24px; }
.rig3 .k{ color:var(--red); } .rig3 .T{ display:block; font-size:2rem; margin-top:8px; } .rig3 .mq{ color:var(--soft); font-size:.85rem; }
.rig3 .hl{ margin:16px 0 12px; font:900 italic 1.55rem/1 var(--titre); font-variation-settings:'wdth' 125; padding:13px 14px; border-radius:12px; }
.rig3 ul{ list-style:none; margin:0; padding:0; }
.rig3 li{ display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-top:1px solid rgba(255,255,255,.06); font-size:.88rem; }
.rig3 li span{ color:var(--soft); font:600 .7rem/1.6 var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.rig3 li em{ font-style:normal; font-weight:700; color:#fff; text-align:right; }

/* --- SOUTENIR --- */
.aff3{ position:relative; overflow:hidden; display:flex; flex-direction:column; gap:9px; border-radius:22px; padding:26px; color:#fff; text-decoration:none; }
.aff3 .T{ font-size:1.65rem; } .aff3 p{ margin:0; color:#c9cad0; font-size:.92rem; flex:1; }
.aff3 .prix{ display:flex; align-items:baseline; gap:10px; } .aff3 .prix em{ font:900 italic 1.9rem/1 var(--titre); }
.aff3 .prix s{ color:var(--soft); } .aff3 .prix i{ font-style:normal; font-weight:800; font-size:.76rem; padding:3px 8px; border-radius:6px; background:#ff7a1a; }
.aff3 .go{ font-style:italic; font-weight:800; text-transform:uppercase; font-size:.8rem; color:var(--red); }
.aff3 .btn{ align-self:flex-start; }

/* --- FAQ --- */
.fq{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:38px; align-items:start; }
.fq details{ border-radius:16px; padding:18px 20px; }
.fq summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:14px; font-style:italic; font-weight:800; text-transform:uppercase; color:#fff; }
.fq summary::-webkit-details-marker{ display:none; }
.fq summary::after{ content:"+"; color:var(--red); font-size:1.3rem; line-height:1; transition:transform .3s; }
.fq details[open] summary::after{ transform:rotate(45deg); }
.fq details div{ margin-top:10px; color:#c9cad0; font-size:.92rem; }

.fin{ height:120px; }
.ft{ border-top:1px solid rgba(255,255,255,.06); background:#030304; }
.ft-in{ padding:40px 22px; display:flex; flex-wrap:wrap; gap:18px 26px; align-items:center; justify-content:space-between; }
.ft .badge{ height:44px; } .ft .fl{ display:flex; flex-wrap:wrap; gap:8px 20px; } .ft .fl a{ color:var(--soft); text-decoration:none; font-size:.9rem; }
.ft .cp{ width:100%; color:#6c6e78; font-size:.82rem; }

/* pastille « en direct » (heros) */
.lp{ display:inline-flex; align-items:center; gap:9px; color:#fff; }
.lp i{ width:9px; height:9px; border-radius:50%; background:#2ee06a; box-shadow:0 0 0 5px rgba(46,224,106,.16), 0 0 12px #2ee06a; }
.sp{ width:1px; height:18px; background:rgba(255,255,255,.16); }
.sm{ display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:#fff; background:rgba(5,5,6,.5); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(8px); transition:color .2s, border-color .2s; }
.sm:hover{ color:var(--c); border-color:var(--c); }
.sm .si{ width:18px; height:18px; }

@media (max-width:1020px){
  .lv-grid{ grid-template-columns:1fr 1fr; }
  .nw-grid, .rigs, .affs{ grid-template-columns:1fr; }
  .rp, .fq{ grid-template-columns:1fr; }
}
@media (max-width:560px){ .lv-grid, .socs{ grid-template-columns:1fr; } }

/* images dans les cartes : en haut, fondues dans la carte ; le texte passe devant */
.ph{ position:absolute; left:0; right:0; top:0; height:62%; z-index:0; pointer-events:none; background:center/cover no-repeat;
  -webkit-mask:linear-gradient(180deg,#000 30%,transparent); mask:linear-gradient(180deg,#000 30%,transparent); transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.tilt:hover .ph{ transform:scale(1.06); }
.nw > :not(.ph), .aff3 > :not(.ph):not(.lg){ position:relative; z-index:1; }
.nw{ min-height:340px; }
.aff3.mz{ padding-top:130px; } .aff3.mz .ph{ height:62%; opacity:.85; }
.aff3 .lg{ position:absolute; right:22px; top:22px; height:30px; width:auto; z-index:1; opacity:.95; }
/* la playlist aussi sur YouTube Music (le bouton rouge de l'ancien site) */
.pl .yt{ display:inline-flex; align-self:flex-start; align-items:center; gap:9px; margin-top:14px; padding:11px 16px; border-radius:10px; background:#FF0000; color:#fff; text-decoration:none;
  font-style:italic; font-weight:800; text-transform:uppercase; font-size:.8rem; letter-spacing:.02em; box-shadow:0 10px 26px -10px rgba(255,0,0,.75); transition:transform .2s, box-shadow .2s; }
.pl .yt:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -10px rgba(255,0,0,.9); }
.pl .yt .si{ width:18px; height:18px; color:#fff; filter:none; }

/* « Nos serveurs » en direct (remplace le serveur seul, 12/10/2026) */
.lv-srv .ls{ list-style:none; margin:12px 0 0; padding:0; display:grid; gap:6px; }
.lv-srv li{ display:grid; grid-template-columns:10px 1fr auto; align-items:center; column-gap:8px; row-gap:4px; }
.lv-srv li .d{ width:7px; height:7px; border-radius:50%; background:#2ee06a; box-shadow:0 0 8px rgba(46,224,106,.8); }
.lv-srv li.off .d{ background:#5b5e66; box-shadow:none; }
.lv-srv li b{ font-size:.82rem; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#e8e9ec; }
.lv-srv li .n{ font:700 .72rem/1 var(--mono); font-style:normal; color:#fff; }
.lv-srv li .bar{ grid-column:2 / 4; height:3px; border-radius:3px; background:rgba(255,255,255,.08); overflow:hidden; }
.lv-srv li .bar s{ display:block; height:100%; min-width:3px; border-radius:3px; background:linear-gradient(90deg,#c1121a,#ff4a55); box-shadow:0 0 8px rgba(255,40,50,.7); transition:width 1.2s cubic-bezier(.2,.7,.2,1); }
.lv-srv .go{ margin-top:auto; padding-top:12px; font-style:italic; font-weight:800; text-transform:uppercase; font-size:.8rem; color:var(--red); }

.C-hero{ position:relative; height:min(100vh,960px); min-height:800px; overflow:hidden; isolation:isolate; background:#030304; text-align:center; }
.C-hero canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:-2; display:block; }
.C-veil{ position:absolute; inset:0; z-index:-1; background:radial-gradient(38% 46% at 50% 44%, rgba(3,3,4,.62), transparent 75%), linear-gradient(180deg, rgba(3,3,4,.6), transparent 16%); }
.C-in{ position:relative; padding:96px 22px 0; max-width:940px; margin:0 auto; }
.C-k{ display:inline-flex; align-items:center; gap:12px; font:700 .72rem/1 var(--mono); letter-spacing:.24em; text-transform:uppercase; color:#e9eaee; padding:10px 16px; border-radius:999px; background:rgba(3,3,4,.55); border:1px solid rgba(255,42,56,.35); box-shadow:0 0 18px rgba(255,32,41,.18); }
.C-k .jp{ color:#ff5560; letter-spacing:.12em; font-size:.95rem; text-shadow:0 0 10px rgba(255,32,41,.8); } .C-k i{ width:1px; height:14px; background:rgba(255,255,255,.25); }
.C-3d{ position:relative; perspective:1000px; width:min(560px,80vw); margin:26px auto 0; }
.C-3d::after{ content:""; position:absolute; left:12%; right:12%; bottom:-26px; height:30px; background:radial-gradient(closest-side, rgba(0,0,0,.75), transparent); filter:blur(4px); }
.C-obj{ position:relative; width:100%; aspect-ratio:2055/862; transform-style:preserve-3d; transform:rotateX(var(--rx,6deg)) rotateY(var(--ry,0deg)); }
.C-obj img{ position:absolute; inset:0; width:100%; height:100%; }
.C-obj img.L{ transform:translateZ(calc(var(--z) * -1.7px)); }
.C-obj img.F{ transform:translateZ(0); }
.C-obj .shine{ transform:translateZ(.6px); animation-duration:5.5s; }
.C-lead{ max-width:52ch; margin:30px auto 0; font-size:1.12rem; color:#dadbe0; text-shadow:0 2px 14px #000; } .C-lead b{ color:#fff; }
.C-cta{ justify-content:center; margin-top:24px; }
.C-live{ display:inline-flex; align-items:center; gap:16px; margin-top:22px; padding:11px 20px; border-radius:14px; background:rgba(3,3,4,.6); border:1px solid rgba(255,42,56,.3); backdrop-filter:blur(10px); font-size:.9rem; color:#d6d7dc; }
.C-live b{ color:#fff; font-family:var(--titre); font-style:italic; }
.C-soc{ position:absolute; right:26px; bottom:26px; display:flex; gap:8px; }

.C-road{ position:relative; padding:96px 0 0; overflow:hidden; }
.C-rh{ text-align:center; } .C-rh .Ch{ justify-content:center; } .C-rh p{ color:var(--soft); margin:0; }
.C-rv{ position:relative; height:440px; margin-top:20px; perspective:560px; perspective-origin:50% 0%; overflow:hidden; }
.C-plane{ position:absolute; left:50%; bottom:-40px; width:1500px; margin-left:-750px; height:3800px; transform-origin:50% 100%; transform:rotateX(79deg); overflow:hidden;
  background:radial-gradient(18% 4% at 30% 82%, rgba(255,32,41,.16), transparent 70%), radial-gradient(14% 3% at 72% 60%, rgba(255,255,255,.07), transparent 70%), linear-gradient(90deg,#0b0b0d,#111114 50%,#0b0b0d); }
.C-plane::before{ content:""; position:absolute; top:0; bottom:0; left:150px; width:14px; background:rgba(240,240,240,.7); box-shadow:1200px 0 0 rgba(240,240,240,.7); }
.C-ln{ position:absolute; top:-400px; bottom:0; width:16px; background:repeating-linear-gradient(0deg, transparent 0 220px, rgba(240,240,240,.62) 220px 400px); animation:cDash 2.105s linear infinite; }
.C-ln.l{ left:500px; } .C-ln.r{ right:500px; }
.C-del{ position:absolute; top:-200px; bottom:0; width:10px; background:repeating-linear-gradient(0deg, transparent 0 180px, #ffb04a 180px 200px); filter:drop-shadow(0 0 6px #ff9a2e); animation:cDel 1.053s linear infinite; }
.C-del.l{ left:110px; } .C-del.r{ right:110px; }
@keyframes cDash{ to{ transform:translateY(400px) } } @keyframes cDel{ to{ transform:translateY(200px) } }
.C-mk{ position:absolute; left:500px; right:500px; top:0; bottom:0; overflow:hidden; }
.C-run{ position:absolute; left:0; right:0; bottom:0; animation:cRun 32.84s linear infinite; }
@keyframes cRun{ from{ transform:translateY(0) } to{ transform:translateY(6240px) } }
.mk{ height:520px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:70px; }
.mk b, .mk span{ display:block; font-style:normal; font-variation-settings:'wdth' 100; transform:scaleY(2.4); letter-spacing:.02em; line-height:1; }
.mk b{ color:rgba(242,242,242,.86); text-shadow:0 0 1px #fff; } .mk span{ color:rgba(255,160,40,.9); }
.C-fog{ position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,#050506 0%,rgba(5,5,6,.9) 14%,rgba(5,5,6,.35) 40%,transparent 62%,transparent 86%,#050506 100%); }
.C-fog::before{ content:""; position:absolute; left:20%; right:20%; top:0; height:2px; background:linear-gradient(90deg,transparent,#ff2029,transparent); box-shadow:0 0 30px 6px rgba(255,32,41,.4); }
.C-st{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:40px; text-align:center; }
.C-st b{ display:block; font-size:4.4rem; color:rgba(255,220,222,.08); -webkit-text-stroke:2px #ff5a63; text-shadow:0 0 10px rgba(255,32,41,.9), 0 0 32px rgba(255,32,41,.55);
  -webkit-box-reflect:below -.1em linear-gradient(transparent 45%, rgba(255,255,255,.25)); }
.C-st div:nth-child(2) b{ -webkit-text-stroke-color:#fff; text-shadow:0 0 10px rgba(255,255,255,.8), 0 0 30px rgba(255,255,255,.35); }
.C-st span{ display:block; margin-top:34px; font:700 .7rem/1 var(--mono); letter-spacing:.22em; text-transform:uppercase; color:var(--soft); }

.Ch{ display:flex; align-items:center; gap:14px; } .Ch .k{ color:#ff8d93; } .Cj{ font-size:.95rem; color:rgba(255,80,90,.45); letter-spacing:.35em; }
.Ct{ font-size:clamp(2.4rem,5.2vw,4.3rem); margin:.3em 0 .55em; color:#fff; text-shadow:0 0 22px rgba(255,255,255,.28);
  -webkit-box-reflect:below -.08em linear-gradient(transparent 50%, rgba(255,255,255,.2)); }
.Ct .r{ color:#ffe3e5; text-shadow:0 0 4px #ff2029, 0 0 14px #ff2029, 0 0 36px rgba(255,32,41,.85), 0 0 70px rgba(255,32,41,.5); }
.C .S .lv-grid, .C .S .nw-grid, .C .S .rp, .C .S .rigs, .C .S .affs, .C .S .fq{ margin-top:10px; }
.C .lv-c,.C .nw,.C .soc3,.C .pl,.C .rig3,.C .aff3,.C .fq details{ background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.008)),#08080a; border:1px solid rgba(255,42,56,.2); box-shadow:inset 0 0 50px rgba(255,42,56,.035), 0 30px 60px -40px #000; }
.C .tilt:hover{ border-color:rgba(255,90,99,.8); box-shadow:0 0 24px rgba(255,32,41,.35), inset 0 0 40px rgba(255,32,41,.08); }
.C .gz .g1{ stroke:#ff4652; filter:drop-shadow(0 0 5px #ff2029) drop-shadow(0 0 14px rgba(255,32,41,.8)); }
.C .lv-g .big{ color:rgba(255,220,222,.1); -webkit-text-stroke:1.6px #ff6a72; text-shadow:0 0 12px rgba(255,32,41,.9); font-size:4rem; }
.C .lv-srv{ background:radial-gradient(120% 90% at 100% 0%, rgba(255,32,41,.22), transparent 60%), #08080a; }
.C .nw .gh{ -webkit-text-stroke:1.5px rgba(255,60,70,.26); }
.C .rig3.feat{ border-color:rgba(255,90,99,.6); box-shadow:0 0 30px rgba(255,32,41,.25); }
.C .rig3 .hl{ color:#ffe3e5; text-shadow:0 0 12px #ff2029; background:rgba(255,32,41,.07); border:1px solid rgba(255,42,56,.35); }
.C .aff3.don{ background:linear-gradient(160deg, rgba(255,32,41,.2), #08080a 70%); }
.C .fq details[open]{ border-color:rgba(255,90,99,.6); }
@media (max-width:760px){ .C-st{ grid-template-columns:1fr 1fr; gap:30px 0; } .C-rv{ height:320px; } }

:root{ --nitro:#ff2029; }
.D-hero canvas#dVit{ z-index:-1; pointer-events:none; }
.D-grade{ position:absolute; inset:0; z-index:-1; pointer-events:none; mix-blend-mode:soft-light; background:linear-gradient(115deg, rgba(150,0,12,.4), transparent 48%, rgba(255,120,30,.32)); }
.D-grain{ position:absolute; inset:-40%; z-index:3; pointer-events:none; opacity:.6; animation:dGrain .8s steps(5) infinite; }
@keyframes dGrain{ 0%{ transform:translate(0,0) } 20%{ transform:translate(-4%,3%) } 40%{ transform:translate(3%,-5%) } 60%{ transform:translate(-6%,-2%) } 80%{ transform:translate(5%,4%) } }
.D-bar{ position:absolute; left:0; right:0; height:8vh; max-height:72px; background:#000; z-index:4; }
.D-bar.t{ top:0; animation:dBar 1.7s cubic-bezier(.75,0,.2,1) both; }
.D-bar.b{ bottom:0; display:flex; align-items:center; justify-content:space-between; padding:0 26px; font:700 .64rem/1 var(--mono); letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,.42); animation:dBar 1.7s cubic-bezier(.75,0,.2,1) both; }
.D-bar.b .jp{ letter-spacing:.2em; color:rgba(255,255,255,.6); }
@keyframes dBar{ from{ height:50vh; max-height:50vh; } }
.cap .D-bar{ animation:none; } .cap .D-credit{ animation:none; opacity:1; } .cap .D-hero.nos .C-3d{ animation:none; }
.D-socs{ display:flex; gap:8px; } .D-socs .sm{ width:34px; height:34px; border-radius:10px; }
.D-hero .C-in{ padding-top:98px; }
.D-credit{ font:600 .74rem/1 var(--mono); letter-spacing:.6em; text-transform:uppercase; color:#e8ecf2; opacity:0; animation:dCred 1.4s 1.1s ease forwards; }
.D-credit i{ font-style:normal; color:var(--nitro); }
@keyframes dCred{ from{ opacity:0; letter-spacing:1.3em; } to{ opacity:1; letter-spacing:.6em; } }
.D-hero .C-3d{ margin-top:18px; width:min(540px,78vw); }
.D-hero .C-obj{ transform:rotateX(var(--rx,6deg)) rotateY(var(--ry,0deg)) scale(calc(1 + var(--nos,0) * .06)); }
.D-hero.nos .C-3d{ animation:dShake .1s linear infinite; }
@keyframes dShake{ 25%{ transform:translate(1.5px,-1px) } 50%{ transform:translate(-1px,1.5px) } 75%{ transform:translate(1px,1px) } }
.D-tag{ margin-top:24px; display:inline-flex; align-items:center; gap:14px; font:900 italic 1.05rem/1 var(--titre); font-variation-settings:'wdth' 125; text-transform:uppercase; letter-spacing:.06em; color:#cfd8e3; }
.D-tag i{ width:6px; height:6px; background:var(--red); transform:rotate(45deg); }
.D-tag b{ color:#fff; text-shadow:0 0 18px rgba(255,32,41,.7); }
.D-hero .C-lead{ margin-top:16px; }
.D-start{ display:flex; align-items:center; justify-content:center; gap:16px; margin-top:22px; }
.D-start .cta{ justify-content:center; }
.D-tree{ display:flex; flex-direction:column; gap:5px; padding:7px 6px; border-radius:9px; background:linear-gradient(#1d1e22,#0a0a0c); box-shadow:inset 0 0 0 1px rgba(255,255,255,.09), 0 10px 24px -10px #000; }
.D-tree i{ width:13px; height:13px; border-radius:50%; background:#2a1a08; box-shadow:inset 0 2px 3px rgba(0,0,0,.7); transition:background .08s, box-shadow .08s; }
.D-tree i.on{ background:#ffb020; box-shadow:0 0 10px #ffb020, 0 0 22px rgba(255,160,20,.7); }
.D-tree i.g{ background:#0b2412; } .D-tree i.g.on{ background:#3dff6e; box-shadow:0 0 12px #3dff6e, 0 0 26px rgba(61,255,110,.85); }
.D-hero.vert .btn.go, .D-hero.nos .btn.go{ box-shadow:0 14px 40px -8px rgba(255,32,41,.95), 0 0 34px rgba(255,32,41,.6); transform:translateY(-2px); }
.D-hero .C-live{ border-color:rgba(255,32,41,.35); box-shadow:0 0 22px rgba(255,32,41,.15); }

.Dh{ display:flex; align-items:center; gap:14px; }
.Dn{ font:900 italic 1rem/1 var(--titre); color:var(--nitro); }
.Dh .k{ color:#cfd8e3; } .Dj{ margin-left:auto; color:rgba(255,80,90,.32); letter-spacing:.35em; font-size:.95rem; }
.C-rh .Dh{ justify-content:center; } .C-rh .Dj{ margin-left:0; } .C-rh .Dn{ display:none; }
.Dq{ position:relative; background:linear-gradient(180deg,#ffffff 0%,#e6e7ea 28%,#8a8d94 47%,#141518 50%,#666a72 56%,#d4d6da 76%,#ffffff 100%); -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 1px 0 #55575d) drop-shadow(0 1px 0 #34363b) drop-shadow(0 2px 0 #18191c) drop-shadow(0 0 22px rgba(255,32,41,.3)); }
/* les traits de vitesse sont le 2e calque du fond : sous les lettres, jamais dessus */
.Dt{ position:relative; color:transparent; background-image:linear-gradient(180deg,#ffffff 0%,#e6e7ea 28%,#8a8d94 47%,#141518 50%,#666a72 56%,#d4d6da 76%,#ffffff 100%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 48' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23ff4a55' stop-opacity='0'/%3E%3Cstop offset='.45' stop-color='%23ff4a55' stop-opacity='.7'/%3E%3Cstop offset='1' stop-color='%23ff4a55' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23g)'%3E%3Crect y='3' width='600' height='1.3'/%3E%3Crect y='12' width='600' height='1'/%3E%3Crect y='21' width='600' height='1.6'/%3E%3Crect y='30' width='600' height='1'/%3E%3Crect y='39' width='600' height='1.3'/%3E%3C/g%3E%3C/svg%3E"); background-repeat:no-repeat; background-size:100% 100%, 62% 72%;
  background-position:0 0, 0 50%; -webkit-background-clip:text, border-box; background-clip:text, border-box;
  filter:drop-shadow(0 1px 0 #55575d) drop-shadow(0 1px 0 #34363b) drop-shadow(0 2px 0 #18191c) drop-shadow(0 0 22px rgba(255,32,41,.3)); }
.Dt{ font-size:clamp(2.4rem,5.2vw,4.4rem); margin:.28em 0 .1em; }
.Dt .r, .Dq .r{ background:linear-gradient(180deg,#ff9a9e 0%,#ff2029 42%,#7d0a10 50%,#ff3b43 62%,#ff2029 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.C-rh .Dt{ background-size:100% 100%, 88% 72%; background-position:0 0, 50% 50%; }
.D .C-rh p{ margin-top:14px; }

.D .C-plane{ background:radial-gradient(20% 4% at 30% 82%, rgba(255,32,41,.22), transparent 70%), radial-gradient(16% 3% at 72% 58%, rgba(255,60,40,.16), transparent 70%), linear-gradient(90deg,#0b0b0d,#111114 50%,#0b0b0d); }
.D .mk span{ color:rgba(255,70,70,.92); }
.D .C-fog::before{ background:linear-gradient(90deg,transparent,var(--nitro),transparent); box-shadow:0 0 30px 6px rgba(255,32,41,.4); }
.D .C-st b{ color:transparent; -webkit-text-stroke:0; text-shadow:none; background:linear-gradient(180deg,#ffffff 0%,#e6e7ea 28%,#8a8d94 47%,#141518 50%,#666a72 56%,#d4d6da 76%,#ffffff 100%); -webkit-background-clip:text; background-clip:text;
  filter:drop-shadow(0 1px 0 #55575d) drop-shadow(0 1px 0 #34363b) drop-shadow(0 2px 0 #18191c) drop-shadow(0 12px 18px rgba(0,0,0,.7)); }
.D .C-st div:nth-child(2) b{ background-image:linear-gradient(180deg,#ff9a9e 0%,#ff2029 42%,#7d0a10 50%,#ff3b43 62%,#ff2029 100%); text-shadow:none; -webkit-text-stroke:0; }

.D-fam{ position:relative; margin-top:clamp(84px,8.5vw,130px); padding:96px 0; overflow:hidden; text-align:center;
  background:linear-gradient(90deg,#050506,rgba(255,32,41,.07) 50%,#050506), repeating-conic-gradient(from 45deg,#0b0b0d 0 25%,#111114 0 50%) 0 0/7px 7px;
  border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06); }
.D-streak{ position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(90deg, rgba(255,80,90,.2) 0 160px, transparent 160px 560px);
  -webkit-mask:repeating-linear-gradient(180deg, transparent 0 17px, #000 17px 18px), linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent); -webkit-mask-composite:source-in; mask-composite:intersect;
  animation:dStreak .55s linear infinite; }
@keyframes dStreak{ to{ background-position:560px 0; } }
.D-fam .k{ position:relative; color:#cfd8e3; } .D-fam .k .jp{ color:var(--nitro); letter-spacing:.2em; }
.Dq{ font-size:clamp(2.3rem,5.4vw,4.8rem); line-height:1.02; margin:.35em 0 0; }
.D-fam-cta{ position:relative; margin-top:30px; display:flex; gap:18px; justify-content:center; align-items:center; flex-wrap:wrap; color:#cfd8e3; font-size:.92rem; }
.D-fam-cta b{ color:#fff; font-family:var(--titre); font-style:italic; }

@property --ang{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
@keyframes cadreTour{ to{ --ang:360deg; } }
@media (prefers-reduced-motion:reduce){ * { animation-name:none !important; } }
.D .lv-c,.D .nw,.D .soc3,.D .pl,.D .rig3,.D .aff3,.D .fq details{ border:1px solid transparent;
  background:
    linear-gradient(112deg, transparent 38%, rgba(255,255,255,.08) 49%, transparent 60%) 130% 0 / 260% 100% no-repeat padding-box,
    linear-gradient(#ff2029,#ff2029) left 12px top 12px / 16px 2px no-repeat padding-box,
    linear-gradient(#ff2029,#ff2029) left 12px top 12px / 2px 16px no-repeat padding-box,
    linear-gradient(#ff2029,#ff2029) right 12px bottom 12px / 16px 2px no-repeat padding-box,
    linear-gradient(#ff2029,#ff2029) right 12px bottom 12px / 2px 16px no-repeat padding-box,
    var(--cadre-teinte, linear-gradient(transparent, transparent)) padding-box,
    radial-gradient(120% 70% at 50% 118%, rgba(255,32,41,.17), transparent 62%) padding-box,
    linear-gradient(160deg, #18191d 0%, #0c0c0f 55%, #0f0708 100%) padding-box,
    conic-gradient(from var(--ang), rgba(255,255,255,.07) 0deg, rgba(255,255,255,.42) 35deg, rgba(255,40,50,.9) 80deg, rgba(255,255,255,.07) 130deg 215deg, rgba(255,40,50,.6) 265deg, rgba(255,255,255,.07) 320deg) border-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 34px 60px -34px rgba(0,0,0,.95), 0 26px 44px -30px rgba(255,32,41,.5);
  transition:background-position .9s cubic-bezier(.2,.7,.2,1), box-shadow .3s, transform .35s cubic-bezier(.2,.7,.2,1); }
.D .tilt:hover,.D .fq details:hover,.D .fq details[open],.D .pl:hover{ animation:cadreTour 2.6s linear infinite; background-position:-40% 0, left 12px top 12px, left 12px top 12px, right 12px bottom 12px, right 12px bottom 12px, 0 0, 0 0, 0 0, 0 0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 34px 60px -34px rgba(0,0,0,.95), 0 30px 56px -24px rgba(255,32,41,.8); }
.D .soc3{ --cadre-teinte:radial-gradient(120% 120% at 100% 0%, color-mix(in srgb, var(--c) 28%, transparent), transparent 60%); }
.D .aff3.don{ --cadre-teinte:linear-gradient(160deg, rgba(255,32,41,.22), transparent 70%); }
.D .rig3.feat{ --cadre-teinte:radial-gradient(90% 60% at 50% 0%, rgba(255,32,41,.14), transparent 70%); }
.D .lv-g .big, .D .rig3 .hl{ background:linear-gradient(180deg,#ffffff 0%,#e6e7ea 28%,#8a8d94 47%,#141518 50%,#666a72 56%,#d4d6da 76%,#ffffff 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.D .rig3 .hl{ border:1px solid rgba(255,80,90,.25); }
.D .gz .g1{ stroke:var(--nitro); filter:drop-shadow(0 0 8px rgba(255,32,41,.9)); }
.D .gz .nd{ stroke:#fff; filter:drop-shadow(0 0 6px rgba(255,255,255,.6)); }
.D .nw .tg{ background:rgba(255,32,41,.14); border-color:rgba(255,32,41,.5); }
.D .nw .gh{ -webkit-text-stroke:1.5px rgba(255,90,99,.14); }
/* telephone */
@media (max-width:640px){
  .D-hero.C-hero{ height:auto; min-height:100svh; padding-bottom:96px; }   /* le contenu empile est plus haut que l'ecran : le heros grandit */
  .D-hero .C-in{ padding-top:84px; }
  .D-tag{ flex-wrap:wrap; justify-content:center; gap:6px 12px; font-size:.88rem; }
  .D-bar.b > span:first-child{ display:none; } .D-bar.b{ justify-content:center; }
  .D-start{ flex-direction:column; gap:12px; } .D-tree{ flex-direction:row; }
  .D-hero .C-live{ flex-wrap:wrap; justify-content:center; gap:6px 14px; } .D-hero .C-live .sp{ display:none; }
  .D-fam{ padding:70px 0; }
}

.D-grain{ display:none; }
