:root{
  --bg:#0b0d10;--surface:#11151a;--surface2:#171b22;--text:#f7f8fb;--muted:#98a2b3;
  --border:#252b34;--accent:#7c5cff;--accent2:#5ca9ff;--green:#54d69b;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -10%,rgba(124,92,255,.18),transparent 34%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}.site-nav{position:sticky;top:0;z-index:20;background:rgba(11,13,16,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.05)}.nav-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:flex;align-items:center;gap:10px;font-weight:800}.logo-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;font-size:14px;box-shadow:0 10px 32px rgba(124,92,255,.28)}.nav-links{display:flex;align-items:center;gap:24px;color:#b2bac6;font-size:14px}.nav-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;padding:11px 16px;border:1px solid var(--border);font-weight:700;font-size:14px;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--accent),#6a64ff);border-color:transparent;color:white;box-shadow:0 12px 34px rgba(124,92,255,.23)}.btn-ghost{background:#12161b;color:#d7dce4}.hero{padding:112px 0 84px;text-align:center}.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(124,92,255,.28);border-radius:999px;background:rgba(124,92,255,.08);color:#c3b8ff;font-size:12px;font-weight:700}.hero h1{font-size:clamp(46px,7vw,82px);line-height:.98;letter-spacing:-.055em;max-width:980px;margin:24px auto 22px}.gradient{background:linear-gradient(90deg,#fff 0%,#c3b8ff 42%,#7fc3ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{max-width:700px;margin:0 auto;color:#a4adba;font-size:18px;line-height:1.7}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:32px;flex-wrap:wrap}.hero-note{margin-top:16px;color:#727d8d;font-size:12px}.product-window{margin:64px auto 0;width:min(1050px,100%);border:1px solid #292f39;border-radius:22px;background:linear-gradient(180deg,#141820,#0e1116);padding:12px;box-shadow:0 45px 110px rgba(0,0,0,.48)}.window-top{height:34px;display:flex;align-items:center;gap:6px;padding:0 6px}.dot{width:8px;height:8px;border-radius:50%;background:#343b46}.product-inner{min-height:470px;border:1px solid #232a33;border-radius:15px;background:#0c0f13;display:grid;grid-template-columns:190px 1fr;text-align:left;overflow:hidden}.mock-side{padding:20px 14px;border-right:1px solid #222831}.mock-brand{font-weight:800;font-size:13px;margin-bottom:24px}.mock-nav{display:grid;gap:8px}.mock-nav span{padding:9px;border-radius:8px;color:#818b99;font-size:11px}.mock-nav span.active{background:#1b2027;color:white}.mock-main{padding:25px}.mock-head{display:flex;justify-content:space-between;align-items:center}.mock-head h3{font-size:22px;margin:0}.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.mock-card{border:1px solid #252c35;border-radius:13px;background:#12161c;overflow:hidden}.mock-video{aspect-ratio:9/16;background:linear-gradient(145deg,#353e49,#161b22);position:relative}.mock-video:after{content:'▶';position:absolute;inset:0;display:grid;place-items:center;font-size:22px;color:white}.mock-meta{padding:11px}.mock-meta strong{display:block;font-size:10px}.mock-meta span{display:block;font-size:8px;color:#7d8794;margin-top:5px}.section{padding:96px 0}.section-head{max-width:700px;margin-bottom:42px}.section-kicker{color:#9c8cff;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:800}.section h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.04em;margin:10px 0 12px}.section p{color:#96a0ad;line-height:1.7}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature{padding:24px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(180deg,#12161b,#0f1216)}.feature-icon{width:38px;height:38px;border-radius:11px;background:#1d2230;display:grid;place-items:center;margin-bottom:18px}.feature h3{font-size:16px;margin:0 0 9px}.feature p{font-size:13px;margin:0}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:step}.step{padding:22px;border:1px solid var(--border);border-radius:16px;background:#101419}.step:before{counter-increment:step;content:'0' counter(step);display:block;color:#7c5cff;font-weight:800;font-size:11px;margin-bottom:25px}.step strong{font-size:15px}.step p{font-size:12px;margin:8px 0 0}.cta{padding:64px 0 104px}.cta-box{padding:54px;border:1px solid rgba(124,92,255,.25);border-radius:24px;background:radial-gradient(circle at 80% 20%,rgba(92,169,255,.14),transparent 30%),radial-gradient(circle at 20% 0%,rgba(124,92,255,.22),transparent 36%),#11151a;text-align:center}.cta-box h2{font-size:42px;margin:0 0 12px;letter-spacing:-.04em}.cta-box p{color:#99a3af;margin:0 0 26px}.footer{border-top:1px solid var(--border);padding:28px 0 38px;color:#7f8996;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-links{display:flex;gap:18px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:30px}.auth-card{width:min(440px,100%);padding:30px;border:1px solid var(--border);background:#101419;border-radius:20px;box-shadow:0 35px 90px rgba(0,0,0,.35)}.auth-card .logo{justify-content:center;margin-bottom:26px}.auth-card h1{text-align:center;font-size:28px;margin:0 0 8px}.auth-card>p{text-align:center;color:#8f9aa8;font-size:13px;margin:0 0 25px}.form{display:grid;gap:14px}.field{display:grid;gap:7px}.field label{font-size:12px;color:#aab2be;font-weight:700}.field input{width:100%;padding:12px 13px;border:1px solid #2a313b;background:#0c0f13;color:white;border-radius:10px;outline:none}.field input:focus{border-color:#6f5bef;box-shadow:0 0 0 3px rgba(124,92,255,.1)}.auth-card .btn{width:100%;margin-top:4px}.auth-switch{text-align:center;margin-top:18px!important;font-size:12px!important}.auth-switch a{color:#a99cff;font-weight:700}.form-message{display:none;padding:10px 11px;border-radius:9px;font-size:11px;line-height:1.45}.form-message.show{display:block}.form-message.error{background:rgba(255,109,122,.08);border:1px solid rgba(255,109,122,.22);color:#ff9aa3}.form-message.ok{background:rgba(84,214,155,.08);border:1px solid rgba(84,214,155,.22);color:#7ae0b0}.legal{padding:70px 0 100px}.legal article{max-width:820px;margin:auto}.legal h1{font-size:44px;letter-spacing:-.04em;margin:0 0 8px}.legal .updated{color:#7f8996;font-size:12px;margin-bottom:36px}.legal h2{font-size:20px;margin:32px 0 10px}.legal p,.legal li{color:#a0a9b6;font-size:14px;line-height:1.75}.legal ul{padding-left:22px}.legal-note{padding:14px;border:1px solid #2b3240;border-radius:12px;background:#12161c;margin-bottom:30px;color:#aab3bf;font-size:12px;line-height:1.6}
@media(max-width:900px){.feature-grid{grid-template-columns:1fr 1fr}.workflow{grid-template-columns:1fr 1fr}.product-inner{grid-template-columns:1fr}.mock-side{display:none}.mock-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.nav-links{display:none}.nav-actions .btn-ghost{display:none}.hero{padding-top:76px}.hero p{font-size:16px}.product-window{margin-top:42px}.mock-main{padding:15px}.mock-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.feature-grid,.workflow{grid-template-columns:1fr}.cta-box{padding:38px 20px}.cta-box h2{font-size:32px}.footer-inner{flex-direction:column}.legal h1{font-size:34px}}

/* Language switch */
.lang-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--border);border-radius:10px;background:#0d1116;gap:2px;flex-shrink:0}.lang-switch button{appearance:none;border:0;background:transparent;color:#778291;font:inherit;font-size:11px;font-weight:800;padding:6px 8px;border-radius:7px;cursor:pointer}.lang-switch button:hover{color:#d7dce4}.lang-switch button.active{background:#202632;color:#fff}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.auth-top .logo{margin-bottom:0}.auth-card>.logo{margin-bottom:26px}
@media(max-width:650px){.site-nav .nav-actions{gap:6px}.site-nav .lang-switch button{padding:6px 7px}.site-nav .nav-actions .btn-primary{padding:10px 12px;font-size:12px}.auth-top{align-items:flex-start}}


/* v3.2 language switch */
.lang-switch-pro{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.lang-chip{appearance:none;border:0;background:transparent;color:#c4cad4;font:inherit;font-size:14px;font-weight:800;letter-spacing:.02em;padding:0;cursor:pointer;opacity:.5;transition:.18s ease}.lang-chip.active{opacity:1;color:#2f3450}.flag-pill{appearance:none;border:0;background:transparent;padding:0;cursor:pointer}.flag-pill-track{position:relative;display:flex;align-items:center;justify-content:space-between;width:114px;height:52px;padding:4px;border-radius:999px;background:#f4f5fb;box-shadow:inset 0 0 0 1px rgba(45,52,80,.08)}.flag-side{width:46px;height:46px;object-fit:cover;border-radius:999px;opacity:.95}.flag-thumb{position:absolute;top:4px;left:4px;width:44px;height:44px;border-radius:999px;background:#fff;box-shadow:0 6px 18px rgba(15,18,22,.18), inset 0 0 0 1px rgba(28,34,52,.08);transition:left .22s ease}.lang-switch-pro[data-lang="en"] .flag-thumb{left:66px}.lang-switch-pro[data-lang="fr"] .flag-thumb{left:4px}.site-nav .lang-chip{color:#e7e9f1}.site-nav .lang-chip.active{color:#fff}.site-nav .flag-pill-track{background:#eef0f7}.auth-inline-link{color:#a99cff;font-weight:700}.form .btn-ghost{width:100%;margin-top:-2px}.
@media(max-width:650px){.lang-switch-pro{gap:8px}.flag-pill-track{width:98px;height:46px}.flag-side{width:40px;height:40px}.flag-thumb{width:38px;height:38px}.lang-switch-pro[data-lang="en"] .flag-thumb{left:56px}.lang-switch-pro[data-lang="fr"] .flag-thumb{left:4px}}


/* v3.2.1 — compact FR/EN switch using the supplied flag images */
.lang-switch-pro{
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex-shrink:0;
}
.lang-switch-pro .lang-chip{
  appearance:none;
  border:0;
  background:transparent;
  color:#aeb5c0;
  font:inherit;
  font-size:10px;
  line-height:1;
  font-weight:800;
  padding:0;
  cursor:pointer;
  opacity:.55;
  transition:.16s ease;
}
.lang-switch-pro .lang-chip.active{
  opacity:1;
  color:#fff;
}
.lang-switch-pro .flag-pill{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  line-height:0;
}
.lang-switch-pro .flag-pill-track{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:58px;
  height:28px;
  padding:3px;
  border-radius:999px;
  background:#e9ecf3;
  box-shadow:inset 0 0 0 1px rgba(26,32,46,.10);
  overflow:hidden;
}
.lang-switch-pro .flag-side{
  position:relative;
  z-index:2;
  width:22px;
  height:22px;
  object-fit:cover;
  border-radius:50%;
  opacity:.72;
  transition:opacity .16s ease, transform .16s ease;
}
.lang-switch-pro .flag-thumb{
  position:absolute;
  z-index:1;
  top:2px;
  left:2px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 7px rgba(10,14,24,.25);
  transition:transform .18s ease;
}
.lang-switch-pro[data-lang="en"] .flag-thumb{transform:translateX(30px)}
.lang-switch-pro[data-lang="fr"] .flag-thumb{transform:translateX(0)}
.lang-switch-pro[data-lang="en"] .flag-side-en,
.lang-switch-pro[data-lang="fr"] .flag-side-fr{
  opacity:1;
  transform:scale(1.03);
}
.site-nav .lang-switch-pro .lang-chip{color:#c9cfda}
.site-nav .lang-switch-pro .lang-chip.active{color:#fff}
.auth-top .lang-switch-pro .lang-chip{color:#aeb5c0}
.auth-top .lang-switch-pro .lang-chip.active{color:#fff}
@media(max-width:650px){
  .lang-switch-pro{gap:4px}
  .lang-switch-pro .flag-pill-track{width:54px;height:26px;padding:3px}
  .lang-switch-pro .flag-side{width:20px;height:20px}
  .lang-switch-pro .flag-thumb{width:22px;height:22px}
  .lang-switch-pro[data-lang="en"] .flag-thumb{transform:translateX(28px)}
}




/* v3.2.3 — compact FR / EN switch with transparent flag images */
.lang-switch-pro{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.lang-switch-pro .lang-chip{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
  font:inherit;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
  color:rgba(255,255,255,.58);
  transition:opacity .18s ease,color .18s ease;
}
.lang-switch-pro[data-lang="fr"] .lang-chip[data-lang-btn="fr"],
.lang-switch-pro[data-lang="en"] .lang-chip[data-lang-btn="en"]{
  color:#fff;
}
.lang-switch-pro .flag-pill{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
  line-height:0;
}
.lang-switch-pro .flag-pill-track{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  width:66px;
  height:28px;
  padding:3px 4px;
  gap:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.lang-switch-pro .flag-img{
  width:100%;
  height:18px;
  object-fit:contain;
  display:block;
  position:relative;
  z-index:1;
  pointer-events:none;
}
.lang-switch-pro .flag-cover{
  position:absolute;
  top:3px;
  width:28px;
  height:22px;
  border-radius:999px;
  background:rgba(245,247,251,.96);
  box-shadow:0 2px 8px rgba(0,0,0,.18), inset 0 0 0 1px rgba(18,24,32,.08);
  transition:left .18s ease;
  pointer-events:none;
  z-index:2;
}
.lang-switch-pro[data-lang="en"] .flag-cover{left:4px}
.lang-switch-pro[data-lang="fr"] .flag-cover{left:34px}
.lang-switch-pro .flag-pill:focus-visible{outline:2px solid #8e7cff;outline-offset:3px;border-radius:999px}
.lang-switch-pro .flag-pill:hover .flag-pill-track{box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}

/* light backgrounds (auth/legal pages) */
.auth-top .lang-switch-pro .lang-chip,
.legal-top .lang-switch-pro .lang-chip{
  color:rgba(35,42,58,.44);
}
.auth-top .lang-switch-pro[data-lang="fr"] .lang-chip[data-lang-btn="fr"],
.auth-top .lang-switch-pro[data-lang="en"] .lang-chip[data-lang-btn="en"],
.legal-top .lang-switch-pro[data-lang="fr"] .lang-chip[data-lang-btn="fr"],
.legal-top .lang-switch-pro[data-lang="en"] .lang-chip[data-lang-btn="en"]{
  color:#22293a;
}
.auth-top .lang-switch-pro .flag-pill-track,
.legal-top .lang-switch-pro .flag-pill-track{
  background:#eef1f6;
  box-shadow:inset 0 0 0 1px rgba(26,33,48,.08);
}
.auth-top .lang-switch-pro .flag-cover,
.legal-top .lang-switch-pro .flag-cover{
  background:rgba(255,255,255,.98);
}
@media(max-width:650px){
  .lang-switch-pro{gap:6px}
  .lang-switch-pro .lang-chip{font-size:11px}
  .lang-switch-pro .flag-pill-track{width:62px;height:26px;padding:3px 4px}
  .lang-switch-pro .flag-img{height:16px}
  .lang-switch-pro .flag-cover{top:3px;width:26px;height:20px}
  .lang-switch-pro[data-lang="en"] .flag-cover{left:4px}
  .lang-switch-pro[data-lang="fr"] .flag-cover{left:32px}
}


/* Studimeo v4 branding */
.logo-image{display:inline-flex;align-items:center;line-height:0}
.logo-image img{display:block;width:168px;height:auto;max-height:40px;object-fit:contain;object-position:left center}
.auth-top .logo-image img{width:178px;max-height:42px}
.footer-main{align-items:flex-end}
.footer-brand{display:grid;gap:7px}
.footer-brand img{display:block;width:142px;height:auto;max-height:34px;object-fit:contain;object-position:left center}
.footer-brand>span{color:#a3acb8;font-size:12px;font-weight:600}
.footer-brand small{color:#697482;font-size:10px}
.footer-legal{flex-wrap:wrap;justify-content:flex-end;row-gap:10px}
.footer-legal a:hover{color:#dfe4ec}
.auth-legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 13px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border);font-size:10px;color:#707b89}
.auth-legal-links a:hover{color:#b7c0cc}
.legal a{color:#b4a9ff;text-decoration:underline;text-decoration-color:rgba(180,169,255,.25);text-underline-offset:3px}
.legal strong{color:#dce1e8}
.legal-kicker{display:inline-block;margin-bottom:10px;color:#9c8cff;text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:800}
.legal-facts{padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:#101419}
.legal-facts p{margin:6px 0}
.lang-copy{display:none}
html[lang="en"] .lang-copy[data-lang-content="en"]{display:block}
html[lang="fr"] .lang-copy[data-lang-content="fr"]{display:block}
@media(max-width:650px){
  .logo-image img{width:138px;max-height:34px}
  .auth-top .logo-image img{width:152px}
  .footer-main{align-items:flex-start}
  .footer-legal{justify-content:flex-start}
}
