/* ===== Sirius Media — design system (multi-pages) ===== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0c0d10; --bg2:#101216; --panel:#181b21; --panel2:#1f232b;
  --indigo:#4F38D1; --indigo2:#7C6CF2; --indigo3:#9C8CFF;
  --ink:#F2F2F7; --mute:#9aa0ad; --mute2:#c4c8d1;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.16);
  --gold:#E7B563; --green:#53D78B; --maxw:1240px;
}
html{scroll-behavior:smooth}
body{background:var(--bg); color:var(--ink); font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.55; overflow-x:hidden; -webkit-print-color-adjust:exact; print-color-adjust:exact}
a{color:inherit; text-decoration:none}
img{display:block; max-width:100%}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 36px}
.serif{font-family:"Fraunces",Georgia,serif}
.eyebrow{font-size:12.5px; letter-spacing:.32em; text-transform:uppercase; color:var(--indigo3); font-weight:700}
.sec-h{font-size:clamp(28px,4vw,46px); font-weight:700; letter-spacing:-.02em; margin-top:14px; line-height:1.06}
.sec-sub{color:var(--mute2); font-size:clamp(16px,1.5vw,19px); margin-top:18px; max-width:680px}
section{padding:clamp(60px,8vw,108px) 0; position:relative}
.sec-head{margin-bottom:50px; max-width:780px}
.muted{color:var(--mute)} .center{text-align:center}

/* reveal */
.reveal{opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.16,.8,.3,1), transform .8s cubic-bezier(.16,.8,.3,1)}
.reveal.in{opacity:1; transform:none}
.reveal.d1{transition-delay:.07s}.reveal.d2{transition-delay:.14s}.reveal.d3{transition-delay:.21s}.reveal.d4{transition-delay:.28s}

/* buttons — langage éditorial : rectangles à coins doux, majuscules espacées */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font-weight:700; border-radius:6px; white-space:nowrap; cursor:pointer; transition:.25s; font-size:12px; letter-spacing:.16em; text-transform:uppercase; border:0; font-family:inherit}
.btn-p{background:linear-gradient(135deg,#6A52F0,var(--indigo)); color:#fff; padding:15px 26px; border:1px solid rgba(255,255,255,.14); box-shadow:0 8px 26px rgba(79,56,209,.32)}
.btn-p:hover{transform:translateY(-1px); box-shadow:0 14px 34px rgba(79,56,209,.48)}
.btn-g{border:1px solid rgba(255,255,255,.25); color:#fff; padding:14px 24px; background:transparent}
.btn-g:hover{border-color:var(--indigo3); color:#e6e0ff; background:rgba(124,108,242,.08)}

/* confidential ribbon */
.ibar{position:relative; z-index:60; background:repeating-linear-gradient(45deg,#2a2207,#2a2207 14px,#352b10 14px,#352b10 28px);
  border-bottom:1px solid rgba(231,181,99,.4); color:var(--gold); text-align:center; font-size:12.5px; letter-spacing:.05em; font-weight:700; padding:9px 16px}
.ibar b{color:#ffdf9c}

/* NAV */
nav{position:sticky; top:0; z-index:50; transition:.3s; border-bottom:1px solid transparent}
nav.scrolled{background:rgba(12,13,16,.82); backdrop-filter:blur(18px) saturate(140%); border-bottom:1px solid var(--line)}
.navbar{display:flex; align-items:center; justify-content:space-between; height:80px; transition:.3s}
nav.scrolled .navbar{height:68px}
.navbar .logo{height:60px; transition:.3s}
nav.scrolled .navbar .logo{height:52px}
.nlinks{display:flex; gap:32px; font-size:14.5px; color:#cfd2da}
.nlinks a{position:relative; opacity:.85; transition:.2s}
.nlinks a::after{content:""; position:absolute; left:0; bottom:-7px; width:0; height:2px; background:var(--indigo2); transition:.3s; border-radius:2px}
.nlinks a:hover{opacity:1}.nlinks a:hover::after,.nlinks a.active::after{width:100%}
.nlinks a.active{opacity:1; color:#fff}
.nact{display:flex; gap:12px; align-items:center}
.burger{display:none; background:none; border:1px solid var(--line2); border-radius:10px; width:42px; height:40px; cursor:pointer; color:#fff; font-size:18px}
.mobile{display:none; position:fixed; inset:0; z-index:55; background:rgba(10,11,14,.97); backdrop-filter:blur(10px); flex-direction:column; padding:90px 36px 40px; gap:6px}
.mobile.open{display:flex}
.mobile a{font-size:22px; font-weight:700; padding:14px 0; border-bottom:1px solid var(--line)}
.mobile .close{position:absolute; top:26px; right:30px; font-size:28px; cursor:pointer}
@media(max-width:940px){.nlinks{display:none} .nact .btn-g{display:none} .nact .btn-p{display:none} .burger{display:block}}
@media(max-width:560px){.wrap{padding:0 20px}}
.mobile .mob-cta{background:linear-gradient(135deg,#6A52F0,#4F38D1); color:#fff; border:0!important; border-radius:12px; text-align:center; padding:16px 0; margin-top:16px; box-shadow:0 8px 26px rgba(79,56,209,.32)}
@media(min-width:941px){.navbar{padding-right:104px}}

/* HERO (home) */
.hero{position:relative; min-height:92svh; display:flex; align-items:center; overflow:hidden}
.hero video,.hero .vfallback{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0}
.hero .scrim{position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(12,13,16,.55) 0%,rgba(12,13,16,.35) 35%,rgba(12,13,16,.8) 80%,var(--bg) 100%),
  linear-gradient(90deg,rgba(12,13,16,.85) 0%,rgba(12,13,16,.35) 55%,transparent 100%)}
.hero .inner{position:relative; z-index:2; padding:120px clamp(36px,7vw,112px) 90px; width:100%}
.hero h1{font-size:clamp(28px,4.2vw,56px); line-height:1.05; letter-spacing:-.02em; font-weight:700; margin-top:20px; max-width:20ch}
.hero h1 em{font-style:normal; background:linear-gradient(120deg,var(--indigo3),#d7ccff 60%,#fff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.hero .lead{font-size:clamp(16.5px,1.7vw,21px); color:#dbdee6; max-width:640px; margin-top:24px}
.hero .lead b{color:#cfc6ff; font-weight:700}
.visionchips{display:flex; gap:10px; flex-wrap:wrap; margin-top:28px; max-width:680px}
.visionchips span{border:1px solid rgba(124,108,242,.42); background:rgba(124,108,242,.12); color:#dcd6ff; border-radius:100px; padding:9px 17px; font-size:13.5px; font-weight:600}
.visionchips span.lead-chip{background:linear-gradient(180deg,var(--indigo2),var(--indigo)); border-color:transparent; color:#fff}
/* hero — signature typographique (remplace les pastilles) */
.heroline{margin-top:34px; font-size:clamp(15px,1.6vw,19px); font-weight:800; letter-spacing:.34em; text-transform:uppercase; color:#fff; white-space:nowrap}
.heroline span{color:var(--indigo3); margin:0 .55em; font-weight:400}
.herosub{margin-top:12px; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--mute2); border-top:1px solid rgba(124,108,242,.35); display:inline-block; padding-top:12px}
.btn-hero{background:linear-gradient(135deg,#6A52F0,var(--indigo)); color:#fff; padding:17px 32px; font-size:12.5px; letter-spacing:.18em; box-shadow:0 10px 30px rgba(79,56,209,.35); border:1px solid rgba(255,255,255,.14)}
.btn-hero:hover{transform:translateY(-1px); box-shadow:0 16px 40px rgba(79,56,209,.5)}
.btn-hero .arr{display:inline-block; transition:transform .25s; margin-left:2px}
.btn-hero:hover .arr{transform:translateX(5px)}
.btn-ghost{border:1px solid rgba(255,255,255,.28); color:#fff; padding:16px 30px; font-size:12.5px; letter-spacing:.18em; background:rgba(255,255,255,.03); backdrop-filter:blur(4px)}
.btn-ghost:hover{border-color:var(--indigo3); color:#e6e0ff; background:rgba(124,108,242,.1)}
.hero .cta{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap}
.scrollcue{position:absolute; left:50%; bottom:24px; transform:translateX(-50%); z-index:3; font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:#9aa0ad; display:flex; flex-direction:column; align-items:center; gap:9px}
.scrollcue .mouse{width:23px; height:38px; border:2px solid rgba(255,255,255,.35); border-radius:14px; position:relative}
.scrollcue .mouse::after{content:""; position:absolute; left:50%; top:8px; width:3px; height:7px; background:#fff; border-radius:2px; transform:translateX(-50%); animation:sc 1.7s infinite}
@keyframes sc{0%{opacity:0; top:8px}40%{opacity:1}80%{opacity:0; top:18px}100%{opacity:0}}

/* PAGE HERO (inner pages) */
.phero{padding:88px 0 6px; position:relative}
.phero .eyebrow{margin-bottom:6px}
.phero h1{font-size:clamp(34px,5vw,60px); font-weight:700; letter-spacing:-.02em; line-height:1.02}
.phero p{color:var(--mute2); font-size:clamp(16px,1.6vw,20px); margin-top:18px; max-width:680px}

/* STATS */
.stats{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(180deg,var(--bg2),var(--bg))}
.stats .row{display:grid; grid-template-columns:repeat(4,1fr)}
.stat{padding:44px 26px; text-align:center; border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat .n{font-size:clamp(32px,3.4vw,44px); font-weight:700; letter-spacing:-.02em; background:linear-gradient(180deg,#fff,#bfc3d4); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.stat .l{font-size:13.5px; color:var(--mute); margin-top:8px}
@media(max-width:760px){.stats .row{grid-template-columns:repeat(2,1fr)} .stat:nth-child(3){border-left:0}}

/* GROUPE */
.grp{display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:start}
.grp p{color:var(--mute2); font-size:17px; margin-top:20px}
.pills{display:flex; gap:10px; flex-wrap:wrap; margin-top:26px}
.pill{border:1px solid var(--line); border-radius:100px; padding:9px 17px; font-size:13.5px; color:#cfd2da; background:rgba(255,255,255,.03)}
.repere{background:linear-gradient(180deg,var(--panel),var(--bg2)); border:1px solid var(--line); border-radius:22px; padding:34px}
.repere h3,.icard h3{font-size:12px; letter-spacing:.26em; text-transform:uppercase; color:var(--indigo3); font-weight:700; margin-bottom:20px}
.qgrid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.qrow{border:1px solid var(--line); border-radius:14px; padding:16px 18px; background:rgba(255,255,255,.02)}
.qrow .l{font-size:11.5px; color:var(--mute); letter-spacing:.03em; text-transform:uppercase}
.qrow .v{font-size:19px; font-weight:700; margin-top:5px}
@media(max-width:880px){.grp{grid-template-columns:1fr}}

/* MARQUEE */
.marq-wrap{margin-top:74px}
.marq-lab{text-align:center; font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--mute); margin-bottom:26px}
.marquee{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:flex; gap:64px; width:max-content; animation:marq 32s linear infinite; align-items:center}
.marquee:hover .track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.marquee img{height:30px; object-fit:contain; filter:brightness(0) invert(1); opacity:.62; transition:.3s}
.marquee img:hover{opacity:1}

/* PRODUCTIONS */
.feat{position:relative; border-radius:26px; overflow:hidden; min-height:500px; display:flex; align-items:flex-end; box-shadow:0 30px 70px rgba(0,0,0,.55); border:1px solid var(--line)}
.feat img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1s ease}
.feat:hover img{transform:scale(1.04)}
.feat .fov{position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,9,12,.1) 30%,rgba(8,9,12,.92) 100%),linear-gradient(90deg,rgba(8,9,12,.7),transparent 60%)}
.feat .fmeta{position:relative; z-index:2; padding:clamp(28px,4vw,52px); max-width:620px}
.feat .fk{font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--indigo3); font-weight:700}
.feat .fn{font-size:clamp(28px,4vw,48px); font-weight:700; letter-spacing:-.02em; margin-top:10px; line-height:1.02}
.feat .fs{font-size:16px; color:#d4d7df; margin-top:14px; max-width:480px}
.play{display:inline-flex; align-items:center; gap:12px; margin-top:24px; cursor:pointer; background:rgba(20,22,26,.45); border:1px solid rgba(255,255,255,.3); padding:12px 22px; border-radius:6px; font-weight:700; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; backdrop-filter:blur(8px); transition:.25s}
.play:hover{background:rgba(255,255,255,.18)}
.play .tri{width:26px; height:26px; border-radius:50%; background:#fff; color:#111; display:flex; align-items:center; justify-content:center; font-size:11px; padding-left:2px}
.prods{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:24px}
.pcard{position:relative; height:330px; border-radius:18px; overflow:hidden; background:var(--panel2); border:1px solid var(--line); box-shadow:0 18px 40px rgba(0,0,0,.4)}
.pcard img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease}
.pcard:hover img{transform:scale(1.07)}
.pcard .ov{position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(8,9,12,.95) 100%)}
.pcard .meta{position:absolute; left:20px; right:20px; bottom:20px; transform:translateY(8px); transition:.4s}
.pcard:hover .meta{transform:none}
.pcard .k{font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--indigo3); font-weight:700}
.pcard .n{font-size:20px; font-weight:700; margin-top:6px}
.pcard .s{font-size:13.5px; color:var(--mute2); margin-top:5px; opacity:0; max-height:0; transition:.4s; overflow:hidden}
.pcard:hover .s{opacity:1; max-height:60px}
@media(max-width:980px){.prods{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.prods{grid-template-columns:1fr}}
/* catalogue */
.cats{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:40px}
.cat{background:linear-gradient(180deg,var(--panel),var(--bg2)); border:1px solid var(--line); border-radius:18px; padding:24px; transition:.3s}
.cat:hover{border-color:var(--line2); transform:translateY(-3px)}
.cat .ch{font-size:15px; font-weight:700; display:flex; justify-content:space-between; align-items:baseline; gap:8px}
.cat .ch span{font-size:11px; color:var(--indigo3); font-weight:700; white-space:nowrap}
.cat ul{list-style:none; margin-top:16px; display:flex; flex-direction:column; gap:10px}
.cat li{font-size:13.5px; color:#c4c8d1; padding-left:15px; position:relative}
.cat li::before{content:""; position:absolute; left:0; top:7px; width:5px; height:5px; border-radius:50%; background:var(--indigo2)}
.cat .more{font-size:12px; color:var(--mute); margin-top:14px; font-style:italic}
@media(max-width:980px){.cats{grid-template-columns:repeat(2,1fr)}}

/* CATALOGUE (fonds PM SA) */
.cstats{display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:18px; overflow:hidden; background:linear-gradient(180deg,var(--bg2),var(--bg))}
.cstat{padding:28px 22px; text-align:center; border-left:1px solid var(--line)}
.cstat:first-child{border-left:0}
.cstat .n{font-size:clamp(26px,2.8vw,38px); font-weight:700; letter-spacing:-.02em; background:linear-gradient(180deg,#fff,#bfc3d4); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.cstat .l{font-size:12.5px; color:var(--mute); margin-top:6px}
@media(max-width:760px){.cstats{grid-template-columns:1fr 1fr} .cstat:nth-child(3){border-left:0}}
.cgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:8px}
.ccard{position:relative; height:300px; border-radius:16px; overflow:hidden; background:var(--panel2); border:1px solid var(--line); cursor:pointer; box-shadow:0 14px 34px rgba(0,0,0,.35); transition:.3s}
.ccard:hover{transform:translateY(-3px); border-color:var(--line2)}
.ccard img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease}
.ccard:hover img{transform:scale(1.06)}
.ccard .cph{width:100%; height:100%; background:radial-gradient(circle at 50% 30%,rgba(124,108,242,.35),transparent 65%),var(--panel2)}
.ccard .cov{position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04) 35%,rgba(8,9,12,.96) 100%)}
.ccard .cmeta{position:absolute; left:18px; right:18px; bottom:16px}
.ccard .ck,.cm-info .ck{font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--indigo3); font-weight:700}
.ccard .cn{font-size:17.5px; font-weight:700; margin-top:5px; line-height:1.2}
.ccard .cs{font-size:12.5px; color:var(--mute2); margin-top:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; opacity:0; max-height:0; transition:.35s}
.ccard:hover .cs{opacity:1; max-height:40px}
.ccard .cyt{position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; background:rgba(0,0,0,.55); border:1px solid var(--line2); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; padding-left:2px; backdrop-filter:blur(4px)}
@media(max-width:980px){.cgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cgrid{grid-template-columns:1fr}}
.cm-box{width:min(1020px,100%); max-height:88vh; background:var(--panel); border:1px solid var(--line2); border-radius:20px; overflow:hidden; display:grid; grid-template-columns:.92fr 1.08fr; box-shadow:0 40px 100px rgba(0,0,0,.7)}
.cm-media{background:#000; min-height:300px; position:relative}
.cm-media img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0}
.cm-media iframe{position:absolute; inset:0}
.cm-info{padding:34px 32px; overflow-y:auto; max-height:88vh}
.cm-info h3{font-size:clamp(24px,2.6vw,32px); font-weight:700; letter-spacing:-.01em; margin-top:8px; line-height:1.1}
.cm-info dl{margin-top:18px; display:grid; grid-template-columns:110px 1fr; gap:8px 14px}
.cm-info dt{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); font-weight:700; padding-top:2px}
.cm-info dd{font-size:14px; color:var(--mute2); line-height:1.5}
.cm-info p{font-size:14px; color:var(--mute2); margin-top:14px; line-height:1.6}
@media(max-width:820px){.cm-box{grid-template-columns:1fr; max-height:92vh} .cm-media{min-height:220px; height:220px} .cm-info{max-height:calc(92vh - 220px)}}

/* INTERNATIONAL */
.intl{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center}
.chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px}
.chip{border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:100px; padding:9px 16px; font-size:14px; color:#dfe2e8; font-weight:600}
.globe{aspect-ratio:1.05; border-radius:26px; border:1px solid var(--line); position:relative; overflow:hidden;
  background:radial-gradient(circle at 50% 40%,rgba(124,108,242,.5),transparent 60%),linear-gradient(180deg,var(--panel),var(--bg2));
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:8px}
.globe .big{font-size:clamp(60px,7vw,92px); font-weight:700; line-height:1; background:linear-gradient(180deg,#fff,#c7c9d6); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.globe .lab{font-size:15px; color:#cfd2da; font-weight:600}
.globe .sub{font-size:13px; color:var(--mute); max-width:250px}
@media(max-width:880px){.intl{grid-template-columns:1fr}}

/* VISION / strategy */
.strat-bg{background:linear-gradient(180deg,var(--bg),#0a0b14 50%,var(--bg)); position:relative; overflow:hidden}
.strat-bg::before{content:""; position:absolute; top:-15%; right:-10%; width:50%; height:80%; background:radial-gradient(circle,rgba(79,56,209,.22),transparent 65%); pointer-events:none}
.pillars{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.pillar{background:linear-gradient(180deg,rgba(124,108,242,.12),rgba(255,255,255,.015)); border:1px solid rgba(124,108,242,.25); border-radius:18px; padding:28px 24px; min-height:220px; transition:.3s}
.pillar:hover{border-color:rgba(124,108,242,.55); transform:translateY(-4px); box-shadow:0 20px 50px rgba(79,56,209,.2)}
.pillar .num{font-size:13px; font-weight:700; letter-spacing:.2em; color:var(--indigo3)}
.pillar .t{font-size:19px; font-weight:700; margin-top:16px}
.pillar .d{font-size:14px; color:var(--mute2); margin-top:11px; line-height:1.55}
.pillar .d b{color:#fff}
@media(max-width:980px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pillars{grid-template-columns:1fr}}
/* TOKEN — 3 étapes (pédagogie) */
.tok{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; counter-reset:tk}
.tstep{position:relative; background:linear-gradient(180deg,var(--panel),var(--bg2)); border:1px solid var(--line); border-radius:20px; padding:32px 28px}
.tstep::before{counter-increment:tk; content:counter(tk); position:absolute; top:24px; right:26px; font-family:"Fraunces",serif; font-size:54px; font-weight:700; color:rgba(124,108,242,.22); line-height:1}
.tstep .ti{font-size:19px; font-weight:700; margin-top:6px}
.tstep .td{font-size:14.5px; color:var(--mute2); margin-top:12px; line-height:1.6}
.tstep .ico{width:48px; height:48px; border-radius:13px; background:rgba(124,108,242,.16); border:1px solid rgba(124,108,242,.4); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:18px}
.tok-arrow{display:none}
.tk-eq{margin-top:26px; text-align:center; font-size:clamp(20px,2.4vw,30px); font-weight:700; letter-spacing:-.01em}
.tk-eq b{color:var(--indigo3)} .tk-eq .g{color:var(--green)}
@media(max-width:880px){.tok{grid-template-columns:1fr}}
/* yield proof */
.yield{margin-top:24px; display:grid; grid-template-columns:1.3fr 1fr; gap:20px}
.yield .card{background:linear-gradient(135deg,rgba(33,40,30,.6),rgba(20,22,26,.6)); border:1px solid rgba(124,108,242,.4); border-radius:20px; padding:30px}
.yield .lab{font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--indigo3); font-weight:700}
.yield .perf{font-size:clamp(22px,3vw,30px); font-weight:700; margin-top:14px}
.yield .perf .g{color:var(--green)}
.yield .row2{display:flex; gap:26px; flex-wrap:wrap; margin-top:8px}
.yield .row2 .it .k{font-size:12px; color:var(--mute); text-transform:uppercase}
.yield .row2 .it .v{font-size:24px; font-weight:700; margin-top:4px}
.yield .arrow{font-size:17px; font-weight:700; margin-top:18px}.yield .arrow b{color:var(--indigo3)}
.yield .fine{font-size:11.5px; color:var(--mute); margin-top:14px; font-style:italic}
@media(max-width:880px){.yield{grid-template-columns:1fr}}
.cnote{margin-top:30px; font-size:13px; color:#e0c189; background:rgba(231,181,99,.08); border:1px solid rgba(231,181,99,.3); border-radius:14px; padding:16px 20px}
.cnote b{color:var(--gold)}
.ctag{display:inline-block; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(231,181,99,.5); background:rgba(231,181,99,.12); padding:4px 10px; border-radius:100px; margin-left:10px; vertical-align:middle; font-weight:700}

/* teaser cards (home) */
.tease{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.tcard{display:block; background:linear-gradient(180deg,var(--panel),var(--bg2)); border:1px solid var(--line); border-radius:20px; padding:30px; transition:.3s}
.tcard:hover{border-color:var(--line2); transform:translateY(-4px); box-shadow:0 22px 50px rgba(0,0,0,.4)}
.tcard .ico{width:50px; height:50px; border-radius:14px; background:rgba(124,108,242,.16); border:1px solid rgba(124,108,242,.4); display:flex; align-items:center; justify-content:center; font-size:23px}
.tcard .t{font-size:21px; font-weight:700; margin-top:18px}
.tcard .d{font-size:14.5px; color:var(--mute2); margin-top:10px; line-height:1.55}
.tcard .lk{font-size:13.5px; color:var(--indigo3); font-weight:700; margin-top:16px}
@media(max-width:880px){.tease{grid-template-columns:1fr}}

/* ARCHIVE */
.subhead{font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--mute); margin:42px 0 18px; font-weight:700}
.arch-bar{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:18px}
.tabs{display:flex; gap:8px; flex-wrap:wrap}
.tab{background:transparent; border:1px solid var(--line); color:#cfd2da; padding:10px 16px; border-radius:6px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:.2s; font-family:inherit}
.tab:hover{border-color:var(--line2); color:#fff}
.tab.on{background:linear-gradient(135deg,#6A52F0,var(--indigo)); border-color:transparent; color:#fff}
.arch-search{background:rgba(0,0,0,.3); border:1px solid var(--line); border-radius:6px; padding:11px 16px; color:#fff; font-size:14px; outline:none; min-width:240px; font-family:inherit}
.arch-search:focus{border-color:var(--line2)}
.arch-list{border:1px solid var(--line); border-radius:18px; overflow:hidden}
.arow{display:flex; align-items:center; gap:22px; padding:18px 24px; border-top:1px solid var(--line); transition:.2s}
.arow:first-child{border-top:0}
.arow:hover{background:rgba(255,255,255,.04)}
.arow .ad{flex:0 0 130px; font-size:13px; color:var(--indigo3); font-weight:700}
.arow .at{flex:1; font-size:15.5px; color:var(--ink); line-height:1.35}
.arow .ac{font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); border:1px solid var(--line); padding:4px 11px; border-radius:100px; white-space:nowrap}
.arow .aa{color:var(--mute); font-size:17px}
.arch-empty{padding:30px 24px; color:var(--mute); text-align:center; font-size:14px}
.arch-more{margin-top:20px; text-align:center}
@media(max-width:680px){.arow{gap:12px; padding:16px} .arow .ad{flex:0 0 92px; font-size:12px} .arow .ac{display:none}}

/* PRESSE cards */
.pr-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.prc{display:block; background:linear-gradient(180deg,var(--panel),var(--bg2)); border:1px solid var(--line); border-radius:18px; padding:26px; transition:.3s}
.prc:hover{border-color:var(--line2); transform:translateY(-3px); box-shadow:0 18px 44px rgba(0,0,0,.4)}
.prc .pd{font-size:12.5px; color:var(--indigo3); font-weight:700}
.prc .pt{font-size:17px; font-weight:700; margin-top:10px; line-height:1.3}
.prc .ptag{display:inline-block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); border:1px solid var(--line); padding:4px 11px; border-radius:100px; margin-top:14px}
.prc .dl{font-size:13px; color:var(--indigo3); font-weight:700; margin-top:16px}
.embargo{border-color:rgba(231,181,99,.32)}
.embargo .ptag{color:var(--gold); border-color:rgba(231,181,99,.4); background:rgba(231,181,99,.1)}
@media(max-width:980px){.pr-grid{grid-template-columns:1fr}}

/* investor tiles + cards */
.inv-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px}
.icard{background:var(--panel); border:1px solid var(--line); border-radius:20px; padding:32px}
.rdv{display:flex; flex-direction:column; gap:14px; margin-top:20px}
.rdv .r{display:flex; align-items:center; gap:18px; border:1px solid var(--line); border-radius:14px; padding:16px 18px; background:rgba(255,255,255,.02)}
.rdv .dte{flex:0 0 58px; text-align:center}
.rdv .dte .dd{font-size:26px; font-weight:700; line-height:1}
.rdv .dte .mm{font-size:11px; color:var(--mute); text-transform:uppercase; letter-spacing:.1em}
.rdv .info{flex:1} .rdv .info .t{font-weight:700; font-size:15.5px} .rdv .info .s{font-size:13px; color:var(--mute); margin-top:2px}
.itiles{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px}
.it{display:block; background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:26px; transition:.25s; cursor:pointer}
.it:hover{background:var(--panel2); transform:translateY(-3px); border-color:var(--line2)}
.it .ic{width:46px; height:46px; border-radius:13px; background:rgba(124,108,242,.16); border:1px solid rgba(124,108,242,.4); display:flex; align-items:center; justify-content:center; font-size:21px}
.it .t{font-size:17px; font-weight:700; margin-top:16px}
.it .d{font-size:13.5px; color:var(--mute); margin-top:6px; line-height:1.45}
.it .lk{font-size:13px; color:var(--indigo3); font-weight:700; margin-top:14px}
@media(max-width:980px){.itiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.inv-grid{grid-template-columns:1fr}}
@media(max-width:620px){.itiles{grid-template-columns:1fr}}

/* NEWSLETTER */
.nlbox{background:radial-gradient(800px 380px at 82% 0%,rgba(79,56,209,.5),transparent 60%),linear-gradient(180deg,#221f44,#15161f); border:1px solid rgba(124,108,242,.4); border-radius:28px; padding:clamp(36px,5vw,64px)}
.nlbox h2{font-size:clamp(26px,3.2vw,38px); font-weight:700; margin-top:14px; letter-spacing:-.02em}
.nlbox p{color:#cdd0da; font-size:17px; margin-top:14px; max-width:560px}
.form{display:flex; gap:12px; margin-top:28px; max-width:560px; flex-wrap:wrap}
.form input{flex:1; min-width:240px; background:rgba(0,0,0,.32); border:1px solid rgba(255,255,255,.2); border-radius:6px; padding:16px 20px; color:#fff; font-size:15px; outline:none}
.form input::placeholder{color:#9aa0ad}
.nlbox .fine{font-size:12.5px; color:var(--mute); margin-top:16px}

/* FOOTER */
footer{border-top:1px solid var(--line); background:var(--bg2); padding:70px 0 36px}
.fcols{display:grid; grid-template-columns:1.5fr 1fr 1.2fr; gap:48px}
footer .flogo{height:36px}
footer .ab{color:var(--mute); font-size:14px; margin-top:18px; max-width:340px}
.fbadges{display:flex; gap:12px; align-items:center; margin-top:22px}
.fbadges img{height:42px}
.fcol h4{font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#cfd2da; margin-bottom:16px}
.fcol a{display:block; color:var(--mute); font-size:14.5px; margin-bottom:11px; transition:.2s}
.fcol a:hover{color:#fff}
.fac{display:flex; align-items:center; gap:10px; font-size:12px; color:var(--mute); margin-top:14px}
.fac img{height:14px; opacity:.85}
.fbottom{display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); margin-top:50px; padding-top:26px; font-size:12.5px; color:var(--mute); flex-wrap:wrap; gap:12px}
@media(max-width:880px){.fcols{grid-template-columns:1fr}}

/* VIDEO MODAL */
.modal{position:fixed; inset:0; z-index:100; background:rgba(6,7,9,.92); backdrop-filter:blur(8px); display:none; align-items:center; justify-content:center; padding:30px}
.modal.open{display:flex}
.modal .box{width:min(960px,100%); aspect-ratio:16/9; border-radius:16px; overflow:hidden; box-shadow:0 40px 100px rgba(0,0,0,.7)}
.modal video{width:100%; height:100%; object-fit:cover}
.modal .close{position:absolute; top:24px; right:30px; font-size:30px; color:#fff; cursor:pointer; opacity:.8}
.modal .close:hover{opacity:1}
.wm{position:fixed; right:16px; bottom:16px; z-index:90; background:rgba(231,181,99,.14); border:1px solid rgba(231,181,99,.5); color:var(--gold); font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:8px 12px; border-radius:9px; backdrop-filter:blur(6px)}
@media print{.reveal{opacity:1!important; transform:none!important} .ibar,nav{position:static} .wm,.scrollcue{display:none}}
