/* ===== LAFETETV · thème premium bleu blanc rouge ===== */
:root{
  --navy:#0a1230;--navy-2:#111b45;--ink-900:#0d1433;--ink-700:#2a3460;--ink-500:#5a6389;--ink-400:#8b93b4;--ink-200:#e4e8f3;--ink-100:#eef1f8;
  --bg:#fff;--soft:#f6f8fc;
  --blue:#1f45e0;--blue-600:#2f5bff;--blue-300:#8fa8ff;--blue-50:#eef2ff;
  --red:#e8273b;--red-600:#ff3b4f;--red-50:#fff0f2;
  --gold:#f7b500;--green:#16b36e;
  --grad-brand:linear-gradient(135deg,#0b2a9e 0%,#2f5bff 100%);
  --grad-tri:linear-gradient(90deg,#5b82ff 0%,#ffffff 50%,#ff4a5c 100%);
  --r-sm:10px;--r-md:16px;--r-lg:24px;--r-xl:32px;--pill:999px;
  --sh-xs:0 1px 2px #0a12300f;
  --sh-sm:0 2px 8px #0a123014,0 1px 2px #0a12300f;
  --sh-md:0 10px 30px #0a12301f,0 2px 6px #0a123012;
  --sh-lg:0 24px 60px #0a12302e,0 8px 18px #0a12301a;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink-900);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{width:min(1200px,calc(100% - 40px));margin-inline:auto}
.ic{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;vertical-align:-.15em}
.muted{color:var(--ink-500)}

/* ---------- topbar & header ---------- */
.topbar{background:var(--navy);color:#cfd6f5;font-size:.82rem}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 0}
.topbar b{color:#fff}
.topbar .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red-600);margin-right:6px;box-shadow:0 0 0 4px #ff3b4f33;animation:blink 1.6s infinite}
.topbar-r{display:flex;align-items:center;gap:6px}
.topbar-r .ic{color:var(--blue-300)}
.header{position:sticky;top:0;z-index:100;background:#ffffffd9;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--ink-200);transition:box-shadow .3s}
.header.scrolled{box-shadow:var(--sh-sm)}
.nav{display:flex;align-items:center;gap:32px;height:76px}
.logo{display:flex;align-items:center;gap:10px}
.logo-icon{position:relative;width:40px;height:40px;border-radius:12px;background:var(--navy);display:grid;place-items:center;overflow:hidden;box-shadow:var(--sh-sm)}
.logo-icon svg{width:18px;height:18px;fill:#fff;stroke:none;margin-left:2px}
.logo-icon::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--blue-600) 33.3%,#fff 33.3% 66.6%,var(--red) 66.6%)}
.logo-word{font-size:1.5rem;font-weight:800;letter-spacing:-.04em;color:var(--navy)}
.logo-word b{color:var(--red)}
.logo.light .logo-word{color:#fff}
.logo.light .logo-icon{background:#fff}.logo.light .logo-icon svg{fill:var(--navy)}
.menu{display:flex;gap:28px;margin-left:auto;font-weight:600;font-size:.93rem}
.menu a{color:var(--ink-500);position:relative;transition:color .2s}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--red);transition:right .3s var(--ease)}
.menu a:hover{color:var(--navy)}.menu a:hover::after{right:0}
.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--ink-200);background:#fff;cursor:pointer;position:relative}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--navy);border-radius:2px;transition:.3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger.open span:first-child{top:21px;transform:rotate(45deg)}.burger.open span:last-child{top:21px;transform:rotate(-45deg)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border-radius:var(--pill);font-weight:700;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .2s;font-family:inherit;white-space:nowrap}
.btn .ic{transition:transform .3s var(--ease)}
.btn:hover .ic{transform:translateX(3px)}
.btn-lg{padding:16px 28px;font-size:1rem}
.btn-dark{background:var(--navy);color:#fff;box-shadow:var(--sh-md)}
.btn-dark:hover{background:var(--navy-2);transform:translateY(-2px);box-shadow:var(--sh-lg)}
.btn-red{background:linear-gradient(135deg,#ff4357,#d81e33);color:#fff;box-shadow:0 12px 30px #e8273b55,inset 0 1px 0 #ffffff40}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 18px 40px #e8273b70,inset 0 1px 0 #ffffff40}
.btn-blue{background:var(--grad-brand);color:#fff;box-shadow:0 12px 30px #2f5bff4d}
.btn-blue:hover{transform:translateY(-2px);box-shadow:0 18px 40px #2f5bff66}
.btn-glass{background:#ffffff14;color:#fff;border-color:#ffffff33;backdrop-filter:blur(8px)}
.btn-glass:hover{background:#ffffff26;transform:translateY(-2px)}
.btn-ghost{background:var(--blue-50);color:var(--blue);border-color:#d7e0ff}
.btn-ghost:hover{background:#e2e9ff;transform:translateY(-2px)}

/* ---------- HERO ---------- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:88px 0 120px;isolation:isolate}
.hero-glow{position:absolute;inset:0;z-index:-3;background:
  radial-gradient(700px 500px at 8% 20%,#2f5bff59,transparent 70%),
  radial-gradient(600px 500px at 95% 85%,#e8273b47,transparent 70%),
  radial-gradient(900px 600px at 60% 0%,#1a2a7a,transparent 70%)}
.hero-grid-lines{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 75%)}
.hero-scroll{position:absolute;inset:0;z-index:-1;display:flex;flex-direction:column;justify-content:center;gap:10px;pointer-events:none;transform:rotate(-4deg) scale(1.1)}
.hs-row{overflow:hidden;white-space:nowrap}
.hs-track{display:inline-block;font-size:clamp(4rem,9vw,8.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.05;color:transparent;-webkit-text-stroke:1.5px #ffffff1c;animation:hs 60s linear infinite;padding-right:0}
.hs-track i{font-style:normal;color:#ff3b4f33;-webkit-text-stroke:0;margin:0 .3em;font-size:.6em;vertical-align:.2em}
.hs-row.filled .hs-track{color:#ffffff0b;-webkit-text-stroke:0}
.hs-row.rev .hs-track{animation-direction:reverse;animation-duration:70s}
@keyframes hs{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.chip-fr{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 8px;border-radius:var(--pill);background:#ffffff12;border:1px solid #ffffff26;font-size:.84rem;font-weight:600;backdrop-filter:blur(8px)}
.flag{display:inline-flex;width:26px;height:18px;border-radius:5px;overflow:hidden;box-shadow:0 0 0 1px #ffffff40}
.flag i{flex:1}.flag i:nth-child(1){background:#2f5bff}.flag i:nth-child(2){background:#fff}.flag i:nth-child(3){background:var(--red)}
h1{font-size:clamp(2.4rem,5vw,4.1rem);line-height:1.04;letter-spacing:-.045em;font-weight:800;margin:22px 0 20px}
.tricolor{background:var(--grad-tri);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.12rem;color:#c3cbec;max-width:560px}
.lead b{color:#fff;font-weight:700}
.hero-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin:28px 0 34px;max-width:520px;font-weight:600;font-size:.97rem}
.hero-checks li{display:flex;align-items:center;gap:10px}
.hero-checks .ic{width:22px;height:22px;padding:4px;border-radius:50%;background:#2f5bff;color:#fff;stroke-width:3}
.hero-checks li:nth-child(even) .ic{background:var(--red)}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-btns.center{justify-content:center}
.trust{display:flex;align-items:center;gap:16px;margin-top:34px}
.avatars{display:flex}
.avatars span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800;border:3px solid var(--navy);margin-left:-10px;background:#2f5bff}
.avatars span:first-child{margin-left:0}
.avatars span:nth-child(2){background:#fff;color:var(--navy)}.avatars span:nth-child(3){background:var(--red)}.avatars span:nth-child(4){background:#ffffff26}
.trust small{color:#aeb7dd;font-size:.86rem}.trust b{color:#fff}
.stars-row{display:flex;gap:2px}
.stars-row svg{width:16px;height:16px;fill:var(--gold);stroke:none}
.stars-row.lg svg{width:22px;height:22px}

.hero-visual{position:relative;perspective:1400px}
.hero-card{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/4.3;box-shadow:0 40px 90px #00000080,0 0 0 1px #ffffff1f;transform:rotateY(-8deg) rotateX(3deg);transition:transform .8s var(--ease)}
.hero-visual:hover .hero-card{transform:rotateY(0) rotateX(0)}
.hero-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.hero-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0a123033 0%,#0a12300d 35%,#0a1230d9 75%,#0a1230 100%)}
.badge-live{position:absolute;top:20px;left:20px;display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.06em;padding:6px 12px;border-radius:var(--pill);box-shadow:0 6px 18px #e8273b66}
.badge-live span{width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1.2s infinite}
.badge-live.sm{top:4%;left:3%;font-size:clamp(.5rem,1.1vw,.72rem);padding:4px 10px}
.badge-4k{position:absolute;top:20px;right:20px;background:#0a123099;border:1px solid #ffffff33;color:#fff;font-size:.75rem;font-weight:800;padding:6px 12px;border-radius:var(--pill);backdrop-filter:blur(8px)}
@keyframes blink{50%{opacity:.35}}
.hero-price{position:absolute;left:28px;right:28px;bottom:26px}
.hp-q{font-size:1.25rem;font-weight:800;letter-spacing:-.02em}
.hp-l{color:#c3cbec;font-size:.95rem}
.hp-p{font-size:clamp(4.5rem,8vw,6.6rem);font-weight:800;letter-spacing:-.06em;line-height:.95;margin-top:6px;background:linear-gradient(180deg,#fff 30%,#c9d4ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hp-p sup{font-size:.36em;letter-spacing:-.02em;vertical-align:1.25em;margin-left:4px}
.hp-p span{font-size:.36em;letter-spacing:-.02em;-webkit-text-fill-color:var(--red-600);color:var(--red-600)}
.hp-tag{position:absolute;right:0;bottom:12px;background:#fff;color:var(--red);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;padding:8px 14px;border-radius:var(--pill);transform:rotate(-5deg);box-shadow:var(--sh-md)}
.float-card{position:absolute;display:flex;align-items:center;gap:12px;background:#fff;color:var(--ink-900);padding:12px 18px 12px 12px;border-radius:var(--r-md);box-shadow:var(--sh-lg);animation:float 5s ease-in-out infinite}
.float-card b{display:block;font-size:1.05rem;line-height:1.1;letter-spacing:-.02em}
.float-card small{color:var(--ink-500);font-size:.78rem}
.fc-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}
.fc-ic.blue{background:var(--blue-50);color:var(--blue)}.fc-ic.red{background:var(--red-50);color:var(--red)}
.fc1{left:-36px;top:18%}.fc2{right:-24px;top:46%;animation-delay:1.6s}
@keyframes float{50%{transform:translateY(-10px)}}

/* ---------- ribbons ---------- */
.ribbons{position:relative;height:120px;margin-top:-62px;z-index:5;overflow:hidden}
.ribbon{position:absolute;left:-5%;right:-5%;padding:14px 0;overflow:hidden;white-space:nowrap}
.r-blue{top:28px;background:var(--grad-brand);transform:rotate(-2.2deg);box-shadow:var(--sh-lg);z-index:2}
.r-red{top:34px;background:var(--red);transform:rotate(2deg);box-shadow:var(--sh-md)}
.r-track{display:inline-flex;align-items:center;gap:26px;animation:hs 40s linear infinite}
.r-red .r-track{animation-direction:reverse;animation-duration:46s}
.r-track span{color:#fff;font-weight:800;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em}
.r-track i{font-style:normal;color:#ffffffb3}

/* ---------- stats ---------- */
.stats{padding:26px 0 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid var(--ink-200);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-xs)}
.st-ic{width:52px;height:52px;border-radius:14px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;font-size:1.3rem}
.stat:nth-child(even) .st-ic{background:var(--red-50);color:var(--red)}
.stat b{display:block;font-size:1.7rem;font-weight:800;letter-spacing:-.04em;line-height:1.1}
.stat small{color:var(--ink-500);font-weight:500}

/* ---------- sections ---------- */
.section{padding:84px 0}
.section.soft{background:var(--soft)}
.head{text-align:center;max-width:740px;margin:0 auto 44px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:700;font-size:.85rem;padding:6px 14px;border-radius:var(--pill);background:var(--blue-50);border:1px solid #dbe3ff}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}
.eyebrow.light{background:#ffffff14;border-color:#ffffff26;color:#dfe5ff}
h2{font-size:clamp(2rem,3.8vw,3rem);line-height:1.1;letter-spacing:-.04em;font-weight:800;margin:16px 0 14px;color:var(--ink-900)}
.hl{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.hl-red{color:var(--red-600)}
.head p,.sport-copy>p,.faq-side>p{color:var(--ink-500);font-size:1.07rem}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;width:100%;padding:10px 0}
.marquee.fade{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.track{display:flex;gap:20px;width:max-content;animation:scroll var(--dur,40s) linear infinite}
.marquee.reverse .track{animation-direction:reverse}
@keyframes scroll{to{transform:translateX(calc(-50% - 10px))}}
.logo-item{flex:0 0 auto;height:92px;width:190px;display:flex;align-items:center;justify-content:center;padding:14px 20px}
.logo-item img{max-height:100%;max-width:100%;object-fit:contain}
.track.cards .logo-item{background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-md);box-shadow:var(--sh-xs);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.track.cards .logo-item:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.track.big .logo-item{height:128px;width:200px;padding:16px}

/* ---------- showcase ---------- */
.showcase{padding:76px 0 40px;position:relative;overflow:hidden;background:radial-gradient(800px 400px at 50% 70%,#eef2ff,transparent 70%)}
.showcase-stage{position:relative;padding:10px 0 10px}
.showcase-bg{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:26px;opacity:.55;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.showcase-bg .logo-item{height:100px;width:200px}
.tv{position:relative;z-index:2;width:min(880px,calc(100% - 40px));margin:0 auto}
.tv-body{width:100%;mix-blend-mode:multiply;filter:drop-shadow(0 40px 50px #0a123040)}
.tv-screen{position:absolute;left:1%;top:1.6%;width:97.9%;height:94.9%;overflow:hidden;background:#000}
.tv-screen>img{width:100%;height:100%;object-fit:cover}
.tv-chan{position:absolute;top:4%;right:3%;background:#0a1230b3;color:#fff;font-size:clamp(.5rem,1.1vw,.72rem);font-weight:800;padding:4px 10px;border-radius:6px;backdrop-filter:blur(6px)}
.tv-bar{position:absolute;left:3%;right:3%;bottom:5%;display:flex;align-items:center;gap:12px;background:#0a1230b3;backdrop-filter:blur(8px);color:#fff;padding:8px 14px;border-radius:10px;font-size:clamp(.5rem,1.1vw,.78rem);font-weight:700}
.tvb-logo{font-weight:800;letter-spacing:-.03em}.tvb-logo b{color:var(--red-600)}
.tvb-prog{flex:1;height:4px;border-radius:4px;background:#ffffff33;overflow:hidden}
.tvb-prog i{display:block;height:100%;width:72%;background:linear-gradient(90deg,var(--blue-600),var(--red-600))}
.tv-reflect{position:absolute;left:1%;top:1.6%;width:97.9%;height:94.9%;background:linear-gradient(115deg,#ffffff1f 0%,transparent 35%);pointer-events:none}

/* ---------- features ---------- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature{display:flex;flex-direction:column;gap:18px;padding:30px;border-radius:var(--r-lg);border:1px solid var(--ink-200);background:#fff;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.feature:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);border-color:#d3dcff}
.f-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue);font-size:1.35rem;flex:0 0 auto;border:1px solid #dfe6ff}
.f-ic.red{background:var(--red-50);color:var(--red);border-color:#ffd9de}
.f-ic.green{background:#e8f8f0;color:var(--green);border-color:#c9eedb}
.feature:nth-child(3n+2) .f-ic{background:var(--red-50);color:var(--red);border-color:#ffd9de}
.feature h3{font-size:1.15rem;letter-spacing:-.02em;margin-bottom:6px}
.feature p{color:var(--ink-500);font-size:.95rem}

/* ---------- cinema ---------- */
.cinema{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.cinema::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 15% 0%,#2f5bff40,transparent),radial-gradient(600px 300px at 85% 100%,#e8273b33,transparent)}
.cinema .head,.cinema .marquee{position:relative}
.cinema h2{color:#fff}.cinema .head p{color:#b4bde3}
.track.posters{gap:18px}
.poster{flex:0 0 auto;position:relative;width:200px;height:300px;border-radius:18px;overflow:hidden;box-shadow:0 16px 40px #0000008c;transition:transform .5s var(--ease)}
.poster img{width:100%;height:100%;object-fit:cover}
.poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0a1230e6);opacity:0;transition:opacity .4s}
.poster .pl{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#ffffffe6;display:grid;place-items:center;z-index:2;opacity:0;transform:scale(.7);transition:.4s var(--ease)}
.poster .pl svg{width:20px;height:20px;fill:var(--navy);stroke:none;margin-left:3px}
.poster:hover{transform:translateY(-8px) scale(1.03)}
.poster:hover::after,.poster:hover .pl{opacity:1;transform:none}
.cinema .marquee+.marquee{margin-top:8px}

/* ---------- sport ---------- */
.sport-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;margin-bottom:44px}
.list-check{display:grid;gap:12px;margin:24px 0 32px;font-weight:600}
.list-check li{display:flex;gap:12px;align-items:center}
.list-check .ic{width:24px;height:24px;padding:5px;border-radius:50%;background:var(--blue-50);color:var(--blue);stroke-width:3}
.sport-img{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:16/11}
.sport-img img{width:100%;height:100%;object-fit:cover}
.score{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:14px;background:#fffffff0;backdrop-filter:blur(8px);padding:10px 18px;border-radius:var(--pill);font-weight:800;box-shadow:var(--sh-md)}
.score b{background:var(--navy);color:#fff;padding:2px 12px;border-radius:8px;letter-spacing:.04em}
.score small{color:var(--red);font-weight:800}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step{position:relative;padding:30px 26px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--ink-200);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.step:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.step-n{position:absolute;top:22px;right:24px;font-size:2.4rem;font-weight:800;letter-spacing:-.05em;color:var(--ink-100)}
.step h3{font-size:1.15rem;letter-spacing:-.02em;margin:20px 0 6px}
.step p{color:var(--ink-500);font-size:.94rem}

/* ---------- pricing ---------- */
.pricing-sec{background:linear-gradient(180deg,#fff,var(--soft))}
.pricing{display:grid;grid-template-columns:minmax(0,420px);justify-content:center;gap:20px;align-items:start}
.plan{position:relative;display:flex;flex-direction:column;padding:32px 26px 28px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--ink-200);box-shadow:var(--sh-sm);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.plan:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.plan-top{display:flex;justify-content:space-between;align-items:center}
.plan-name{font-size:1.3rem;font-weight:800;letter-spacing:-.03em}
.plan-tag{font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:var(--pill);background:var(--blue-50);color:var(--blue)}
.plan-price{margin:22px 0 4px;display:flex;align-items:flex-start;gap:2px;letter-spacing:-.05em}
.plan-price b{font-size:3.6rem;font-weight:800;line-height:.9}
.plan-price span{font-size:1.25rem;font-weight:800;margin-top:4px;letter-spacing:-.02em}
.plan-month{color:var(--ink-500);font-size:.88rem;font-weight:500}
.plan-month b{color:var(--green)}
.plan-save.neutral{color:var(--blue);background:var(--blue-50)}
.plan-save{display:inline-block;margin-top:10px;font-size:.75rem;font-weight:800;color:var(--red);background:var(--red-50);padding:3px 10px;border-radius:var(--pill)}
.plan ul{margin:22px 0 26px;border-top:1px solid var(--ink-200);flex:1}
.plan li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed var(--ink-200);font-size:.9rem;font-weight:500;color:var(--ink-700)}
.plan li:last-child{border-bottom:0}
.plan li .ic{margin-top:2px;color:var(--green);stroke-width:3;width:16px;height:16px}
.plan .btn{width:100%}
.plan.popular{background:linear-gradient(165deg,#0f1c52 0%,var(--navy) 60%);color:#fff;border:0;box-shadow:0 30px 70px #0a123059,0 0 0 2px #2f5bff;transform:translateY(-14px)}
.plan.popular:hover{transform:translateY(-20px)}
.plan.popular::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(400px 200px at 50% 0%,#2f5bff40,transparent);pointer-events:none}
.plan.popular .plan-tag{background:#ffffff1a;color:#fff}
.plan.popular .plan-month{color:#b4bde3}.plan.popular .plan-month b{color:#5ee0a1}
.plan.popular ul{border-color:#ffffff1f}
.plan.popular li{color:#e3e8ff;border-color:#ffffff1f}
.plan.popular li .ic{color:#5ee0a1}
.plan-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#ff4357,#d81e33);color:#fff;font-size:.75rem;font-weight:800;padding:6px 14px;border-radius:var(--pill);white-space:nowrap;box-shadow:0 8px 20px #e8273b66;letter-spacing:.02em}
.plan-badge .ic{fill:#fff;stroke:none}
.plan.best{border:1.5px solid #c8d4ff}
.plan.best .plan-tag{background:var(--red-50);color:var(--red)}
.pay-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-top:36px;color:var(--ink-500);font-weight:600;font-size:.9rem}
.pay-trust span{display:flex;align-items:center;gap:8px}
.pay-trust .ic{color:var(--blue)}

/* ---------- reviews ---------- */
.rating-big{display:inline-flex;align-items:center;gap:10px;margin-top:6px;font-size:1.05rem}
.rating-big span:last-child{color:var(--ink-500)}
.track.reviews{gap:20px;align-items:stretch}
.review{flex:0 0 auto;width:360px;padding:26px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--ink-200);box-shadow:var(--sh-xs);display:flex;flex-direction:column;gap:14px}
.review h4{font-size:1.02rem;letter-spacing:-.02em}
.review p{color:var(--ink-700);font-size:.94rem;flex:1;white-space:normal}
.rv-who{display:flex;align-items:center;gap:12px}
.rv-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.8rem;background:var(--grad-brand)}
.review:nth-child(3n+2) .rv-av{background:linear-gradient(135deg,#ff4357,#d81e33)}
.rv-who b{display:block;font-size:.9rem}.rv-who small{color:var(--ink-400);font-size:.8rem}
.verified{margin-left:auto;font-size:.72rem;font-weight:700;color:var(--green);display:flex;align-items:center;gap:4px}

/* ---------- faq ---------- */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.faq-side{position:sticky;top:110px}
.faq-side>p{margin-bottom:26px}
details{background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-md);margin-bottom:12px;transition:box-shadow .3s,border-color .3s}
details[open]{box-shadow:var(--sh-md);border-color:#d3dcff}
summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-weight:700;cursor:pointer;list-style:none;letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary .ic{width:30px;height:30px;padding:7px;border-radius:50%;background:var(--blue-50);color:var(--blue);transition:transform .4s var(--ease),background .3s}
details[open] summary .ic{transform:rotate(45deg);background:var(--red);color:#fff}
details p{padding:0 24px 22px;color:var(--ink-500)}

/* ---------- CTA ---------- */
.cta-final{position:relative;padding:96px 0;color:#fff;text-align:center;overflow:hidden;isolation:isolate}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta-final::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,#0a1230f2 0%,#0b2a9ed9 55%,#e8273bc4 130%)}
.cta-in{max-width:780px}
.cta-final h2{color:#fff;font-size:clamp(2.2rem,4.4vw,3.4rem)}
.cta-final p{color:#d3daf7;font-size:1.12rem;margin-bottom:32px}
.chip-fr.light{color:#fff}

/* ---------- footer ---------- */
.footer{background:var(--navy);color:#fff;padding-bottom:10px;position:relative}
.tri-line{display:flex;height:4px}.tri-line i{flex:1}.tri-line i:nth-child(1){background:var(--blue-600)}.tri-line i:nth-child(2){background:#fff}.tri-line i:nth-child(3){background:var(--red)}

/* ---------- appareils ---------- */
.devices-track{gap:18px}
.device-card{flex:0 0 auto;width:210px;display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 18px 24px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--ink-200);box-shadow:var(--sh-xs);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s}
.device-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:#d3dcff}
.dv-logo{height:64px;width:100%;display:flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:var(--r-md);background:var(--soft)}
.dv-logo img{max-height:46px;max-width:150px;object-fit:contain}
.device-card b{font-size:.95rem;letter-spacing:-.02em;color:var(--ink-900)}

/* ---------- contact ---------- */
.contact-sec{background:radial-gradient(700px 320px at 50% 0%,#eef2ff,transparent 70%),#fff}
.contact-in{max-width:760px;text-align:center}
.kicker{display:inline-flex;align-items:center;gap:16px;color:var(--red);font-weight:800;font-size:.78rem;letter-spacing:.32em;text-transform:uppercase}
.kicker i{display:block;width:56px;height:1.5px;background:linear-gradient(90deg,transparent,var(--red))}
.kicker i:last-child{background:linear-gradient(90deg,var(--red),transparent)}
.contact-in h2{font-size:clamp(2.6rem,6vw,4.2rem);text-transform:uppercase;letter-spacing:-.03em;margin:14px 0 10px}
.divider{display:inline-flex;align-items:center;gap:10px}
.divider i{display:block;width:56px;height:1.5px;background:linear-gradient(90deg,transparent,var(--blue-600))}
.divider i:last-child{background:linear-gradient(90deg,var(--blue-600),transparent)}
.divider b{width:9px;height:9px;border-radius:50%;background:var(--blue-600);box-shadow:0 0 0 5px #2f5bff22}
.contact-in>p{color:var(--ink-500);font-size:1.07rem;margin:22px auto 34px;max-width:620px}
.mail-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;padding:42px 28px;border-radius:var(--r-xl);background:var(--navy);color:#fff;box-shadow:var(--sh-lg);overflow:hidden;isolation:isolate}
.mail-card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px 200px at 15% 0%,#2f5bff4d,transparent),radial-gradient(420px 200px at 85% 100%,#e8273b40,transparent)}
.mail-card::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--blue-600) 33.3%,#fff 33.3% 66.6%,var(--red) 66.6%)}
.mail-card small{color:#9fa8d3;font-weight:700;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase}
.mail-addr{font-size:clamp(1.7rem,4.5vw,2.6rem);font-weight:800;letter-spacing:-.03em;word-break:break-all;transition:color .2s}
.mail-addr:hover{color:var(--blue-300)}
.mail-note{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--ink-400);font-size:.9rem}

/* ---------- footer ---------- */
.foot-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:40px;padding-top:56px}
.foot-grid p{color:#9fa8d3;margin-top:18px;max-width:440px;font-size:.95rem}
.foot-perks{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.foot-perks li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--pill);background:#ffffff0f;border:1px solid #ffffff1f;font-size:.82rem;font-weight:600;color:#dfe5ff}
.foot-perks .ic{color:var(--blue-300)}
.foot-col h4{font-size:.95rem;margin-bottom:16px;color:#fff}
.foot-col a{display:block;color:#9fa8d3;font-size:.92rem;font-weight:500;margin-bottom:10px;transition:color .2s,transform .2s}
.foot-col a:hover{color:#fff;transform:translateX(3px)}
.copy{border-top:1px solid #ffffff1a;margin-top:44px;padding:22px 0;color:#7f89b8;font-size:.82rem;text-align:center}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}

/* ---------- modale ---------- */
body.modal-open{overflow:hidden}
.modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:#060b22b3;backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
.modal-box{position:relative;width:min(980px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:var(--r-xl);box-shadow:0 40px 100px #00000066;padding:30px 34px 22px;opacity:0;transform:translateY(24px) scale(.97);transition:opacity .35s var(--ease),transform .45s var(--ease)}
.modal-box::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--blue-600) 33.3%,#e9edf7 33.3% 66.6%,var(--red) 66.6%)}
.modal.show .modal-backdrop{opacity:1}
.modal.show .modal-box{opacity:1;transform:none}
.modal-head{flex:none;display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}
.modal-head h3{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;letter-spacing:-.04em;line-height:1.1}
.modal-head p{color:var(--ink-500);margin-top:4px;font-size:.95rem}
.m-plan{display:none}
.modal-close{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:0;background:var(--soft);color:var(--ink-700);cursor:pointer;display:grid;place-items:center;font-size:1.2rem;transition:background .2s,transform .3s var(--ease)}
.modal-close:hover{background:var(--ink-100);transform:rotate(90deg)}
.modal-body{flex:1 1 auto;min-height:0;overflow:auto;display:grid;grid-template-columns:.9fr 1.3fr;gap:22px;align-items:start}
.summary{position:relative;background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:22px 24px;overflow:hidden;isolation:isolate}
.summary::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(300px 180px at 0% 0%,#2f5bff4d,transparent),radial-gradient(300px 180px at 100% 100%,#e8273b33,transparent)}
.sum-label{display:block;color:#9fa8d3;font-weight:800;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase}
.sum-plan{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:12px 0 14px;padding-bottom:14px;border-bottom:1px solid #ffffff1f}
.sum-plan b{display:block;font-size:1.3rem;letter-spacing:-.02em}
.sum-plan span{color:#b4bde3;font-size:.88rem}
.sum-plan strong{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;white-space:nowrap;color:#fff}
.sum-empty{color:#b4bde3;font-size:.92rem}
.sum-line{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;padding:6px 0;color:#dfe5ff}
.sum-line b{color:#5ee0a1;white-space:nowrap}
.sum-line.promo-line b{color:#ffb4bd}
.sum-perks{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #ffffff1f;font-size:.86rem;color:#c9d0f0}
.sum-perks li{display:flex;gap:8px;align-items:center}
.sum-perks .ic{color:#5ee0a1;stroke-width:3;width:15px;height:15px}
.addons h4{font-size:1.05rem;letter-spacing:-.02em;margin-bottom:10px}
.addon{display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:start;padding:16px 18px;border:1.5px solid var(--ink-200);border-radius:var(--r-lg);margin-bottom:10px;cursor:pointer;transition:border-color .25s,box-shadow .25s,background .25s}
.addon:hover{border-color:#c8d4ff}
.addon.on{border-color:var(--blue-600);background:#f7f9ff;box-shadow:0 0 0 4px #2f5bff14}
.ad-ic{width:48px;height:48px;border-radius:14px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;font-size:1.3rem}
.ad-txt b{display:block;font-size:1.02rem;letter-spacing:-.02em;margin-bottom:4px}
.ad-txt>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-500);font-size:.86rem;line-height:1.45}
.ad-txt small{display:flex;align-items:center;gap:6px;color:var(--ink-500);font-size:.8rem;margin-top:6px}
.ad-reco{display:inline-block;font-style:normal;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red);background:var(--red-50);border:1px solid #ffd3d9;padding:2px 9px;border-radius:var(--pill);margin-bottom:6px}
.ad-price{text-align:right;white-space:nowrap}
.ad-price b{display:block;font-size:1.15rem;letter-spacing:-.02em}
.ad-price small{color:var(--green);font-weight:700;font-size:.8rem}
.switch{appearance:none;-webkit-appearance:none;width:50px;height:28px;border-radius:var(--pill);background:#d9deec;position:relative;cursor:pointer;transition:background .25s;margin-top:2px}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0a123033;transition:transform .3s var(--ease)}
.switch:checked{background:var(--blue-600)}
.switch:checked::after{transform:translateX(22px)}
.switch:focus-visible{outline:3px solid #2f5bff55;outline-offset:2px}
.modal-foot{flex:none;display:grid;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--ink-200)}
.foot-row{display:flex;align-items:center;gap:28px}
.total-old{display:block;color:var(--ink-400);font-size:.85rem;font-weight:600}
.promo{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 16px;padding:12px 14px;border:1.5px dashed #b9c7ff;border-radius:var(--r-md);background:var(--blue-50)}
.promo label{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.95rem;color:var(--navy);white-space:nowrap}
.promo label .ic{color:var(--red);width:18px;height:18px}
.promo-row{display:flex;gap:8px;min-width:0}
.promo-row input{flex:1;min-width:0;height:44px;padding:0 14px;border-radius:var(--pill);border:1.5px solid #d3dcff;background:#fff;font:inherit;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.promo-row input::placeholder{text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-400)}
.promo-row input:focus{outline:none;border-color:var(--blue-600);box-shadow:0 0 0 3px #2f5bff26}
.promo-row .btn{height:44px;padding:0 20px}
.promo-msg{grid-column:1/-1;font-size:.86rem;font-weight:700;margin:0}
.promo-msg.ok{color:var(--green)}
.promo-msg.err{color:var(--red)}
.promo.applied{border-style:solid;border-color:#9fe3c2;background:#effbf5}
.confetti-cv{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:600}
#total-price{display:inline-block;transform-origin:left center;font-variant-numeric:tabular-nums}
#total-price.promo-pop{animation:totalPop 1.2s var(--ease)}
@keyframes totalPop{0%{transform:scale(1)}25%{transform:scale(1.16);color:var(--green);text-shadow:0 0 24px #16b36e55}70%{color:var(--green)}100%{transform:scale(1)}}
.promo.promo-flash{animation:promoFlash 1s var(--ease)}
@keyframes promoFlash{0%{box-shadow:0 0 0 0 #16b36e66}40%{box-shadow:0 0 0 10px #16b36e00;transform:scale(1.015)}100%{box-shadow:0 0 0 0 #16b36e00;transform:none}}
.total small{display:block;color:var(--ink-500);font-weight:700;font-size:.85rem}
.total div{display:flex;align-items:baseline;gap:10px}
.total b{font-size:2.3rem;font-weight:800;letter-spacing:-.05em;white-space:nowrap}
.total span{color:var(--ink-500);font-size:.9rem;white-space:nowrap}
.pay{flex:1;display:grid;gap:8px;text-align:center}
.pay .btn{width:100%}
.pay small{color:var(--ink-400);font-size:.82rem}
button.btn{font-family:inherit}
@media(max-width:860px){
  .modal{padding:0;place-items:end center}
  .modal-box{border-radius:24px 24px 0 0;max-height:100vh;max-height:100dvh;padding:20px 16px calc(14px + env(safe-area-inset-bottom,0px))}
  .modal-head{margin-bottom:12px;gap:12px}
  .modal-head h3{font-size:1.3rem}
  .modal-sub{display:none}
  .m-plan{display:block;font-weight:700;color:var(--blue)!important}
  .modal-close{width:40px;height:40px}
  .modal-body{grid-template-columns:1fr;gap:0}
  .summary{display:none}
  .addons h4{display:none}
  .addon{grid-template-columns:auto 1fr auto;gap:12px;padding:12px 14px;align-items:center}
  .ad-ic{width:40px;height:40px;border-radius:12px}
  .ad-txt>span,.ad-txt small,.ad-reco{display:none}
  .ad-txt b{margin:0;font-size:.95rem}
  .ad-price{grid-column:2;grid-row:2;text-align:left;margin-top:-8px}
  .ad-price b{display:inline;font-size:.95rem}
  .ad-price small{margin-left:6px}
  .switch{grid-column:3;grid-row:1/3;margin:0}
  .modal-foot{margin-top:10px;padding-top:12px;gap:12px}
  .promo{grid-template-columns:1fr;padding:10px 12px;gap:6px}
  .promo label{font-size:.88rem}
  .foot-row{flex-direction:column;align-items:stretch;gap:10px}
  .total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
  .total b{font-size:1.7rem}
  .pay small{display:none}
}

/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.in,.static .reveal{opacity:1;transform:none}
.static *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .pricing{gap:28px 20px}
  .plan.popular{transform:none}.plan.popular:hover{transform:translateY(-6px)}
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
  .menu{position:absolute;top:76px;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--ink-200);padding:8px 20px 20px;display:none;box-shadow:var(--sh-md)}
  .menu a{padding:14px 0;border-bottom:1px solid var(--ink-100)}
  .menu.open{display:flex}
  .burger{display:block}.nav-cta{display:none}
  .topbar-r{display:none}.topbar-in{justify-content:center}
  .hero{padding:60px 0 110px}
  .hero-in{grid-template-columns:1fr;gap:56px}
  .hero-card{transform:none;aspect-ratio:4/3.6}
  .fc1{left:-8px}.fc2{right:-8px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .features{grid-template-columns:repeat(2,1fr)}
  .sport-grid,.faq-grid{grid-template-columns:1fr;gap:40px}
  .faq-side{position:static}
}
@media(max-width:640px){
  .container{width:calc(100% - 32px)}
  .section{padding:60px 0}
  .head{margin-bottom:32px}
  .showcase{padding:56px 0 24px}
  .hero-checks{grid-template-columns:1fr}
  .hero-btns .btn{flex:1}
  .hero-card{aspect-ratio:4/4.6}
  .hero-price{left:20px;right:20px;bottom:20px}
  .hp-tag{bottom:auto;top:-36px}
  .float-card{display:none}
  .features,.steps{grid-template-columns:1fr}
  .stats-grid{gap:12px}
  .stat{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}
  .stat b{font-size:1.35rem}
  .st-ic{width:42px;height:42px}
  .poster{width:150px;height:225px}
  .logo-item{height:72px;width:150px}
  .track.big .logo-item{height:100px;width:160px}
  .review{width:290px}
  .tv-bar{display:none}
  .ribbons{height:128px;margin-top:-56px}
  .r-blue{top:14px;transform:rotate(-3deg)}
  .r-red{top:64px;transform:rotate(3deg)}
  .ribbon{padding:11px 0}
  .r-track span{font-size:.9rem}
}

/* ---------- pages légales ---------- */
.legal{background:var(--soft);padding-bottom:80px}
.legal-hero{background:radial-gradient(700px 300px at 50% 0%,#eef2ff,transparent 70%),#fff;border-bottom:1px solid var(--ink-200);padding:64px 0 48px}
.legal-hero-in{max-width:820px;text-align:center}
.legal-hero h1{font-size:clamp(2.1rem,5vw,3.2rem);letter-spacing:-.04em;line-height:1.1;color:var(--navy);margin:16px 0 14px}
.legal-hero p{color:var(--ink-500);font-size:1.05rem;max-width:640px;margin:0 auto}
.legal-hero small{display:inline-block;margin-top:18px;color:var(--ink-400);font-weight:600;font-size:.85rem}
.legal-grid{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start;padding-top:48px;max-width:1080px}
.legal-toc{position:sticky;top:100px;background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-xs)}
.legal-toc b{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400);margin-bottom:12px}
.legal-toc ol{list-style:none;counter-reset:t;display:flex;flex-direction:column;gap:2px}
.legal-toc li{counter-increment:t}
.legal-toc a{display:flex;gap:10px;padding:7px 8px;border-radius:var(--r-sm);font-size:.88rem;font-weight:600;color:var(--ink-500);line-height:1.35;transition:background .2s,color .2s}
.legal-toc a::before{content:counter(t,decimal-leading-zero);color:var(--red);font-size:.78rem;padding-top:1px}
.legal-toc a:hover{background:var(--blue-50);color:var(--blue)}
.legal-body{display:flex;flex-direction:column;gap:16px;min-width:0}
.legal-sec{background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:30px 32px;box-shadow:var(--sh-xs);scroll-margin-top:100px}
.legal-sec h2{display:flex;align-items:center;gap:12px;font-size:1.25rem;line-height:1.3;letter-spacing:-.02em;color:var(--navy);margin:0 0 14px}
.legal-sec h2 span{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:var(--blue-50);color:var(--blue);font-size:.85rem}
.legal-sec p{color:var(--ink-700);font-size:.98rem;margin-top:10px}
.legal-sec p:first-of-type{margin-top:0}
.legal-sec ul{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.legal-sec li{position:relative;padding-left:20px;color:var(--ink-700);font-size:.98rem}
.legal-sec li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--red)}
.legal-sec a,.legal-contact a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.legal-sec b{color:var(--navy)}
.todo{background:#fff4cc;color:#7a5a00;border-radius:4px;padding:0 4px;font-weight:700}
.legal-contact{display:flex;align-items:center;gap:16px;padding:22px 26px;border-radius:var(--r-lg);background:var(--navy);color:#fff;box-shadow:var(--sh-md)}
.legal-contact .lc-ic{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:14px;background:#ffffff14;color:var(--blue-300);font-size:1.3rem}
.legal-contact p{color:#9fa8d3;font-size:.95rem}
.legal-contact a{color:#fff}
.foot-col a[aria-current]{color:#fff}
@media(max-width:900px){
  .legal-grid{grid-template-columns:1fr;gap:20px;padding-top:28px}
  .legal-toc{position:static}
  .legal-sec{padding:24px 20px}
  .legal-hero{padding:44px 0 36px}
}
