/* ── TOKENS · thème clair / liquid glass ────────────────
   --cream a gardé son nom pour ne pas retoucher chaque usage, mais porte
   désormais la couleur de texte PRINCIPALE (sombre) sur fond clair. */
:root{
  --g0:#6ea8a5; --g1:#5c9491; --g2:#616161;
  --g3:#579592; --g4:#8ca0a0; --g5:#585858;
  --gbg:#7aabaa;
  --bg:#f4f2f8; --bg2:#ece8f3; --card:rgba(255,255,255,.60); --card2:rgba(255,255,255,.72);
  --plum:#1e1b30; --plum2:#333060; --plum3:#4a4870;
  --terra:#c07448; --terra-l:#d48a60;
  --cream:#211d38; --dim:#5e5a7c; --muted:#8983a3;
  --bdr:rgba(30,27,48,.10);
  --glass-blur:blur(22px) saturate(170%);
  --glass-shadow:0 20px 50px -20px rgba(35,30,55,.22), inset 0 1px 0 rgba(255,255,255,.55);
  --nh:62px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--cream);font-family:'Space Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
button,a,[role="button"],label[for],summary{cursor:pointer;}

/* ── ACCESSIBILITY ──────────────────────────────────── */
.skip-link{position:absolute;top:-100px;left:16px;background:var(--terra);color:#fff;padding:12px 24px;border-radius:0 0 9px 9px;font-weight:700;font-size:14px;z-index:10000;text-decoration:none;transition:top .3s;}
.skip-link:focus{top:0;}

/* Focus visible — keyboard only */
*:focus-visible{outline:2px solid var(--g0);outline-offset:3px;border-radius:4px;}
button:focus-visible,a:focus-visible,.chip:focus-visible,.field:focus-visible{outline:2px solid var(--g0);outline-offset:2px;}
.field:focus-visible{outline-offset:0;box-shadow:0 0 0 3px rgba(155,197,195,.2);}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
  .blob,.particle,.mqt{animation:none!important;}
  #cr{display:none!important;}
  .rv,.rl,.rr,.scale-in,.rotate-in,.slide-h,.slide-hr{opacity:1!important;transform:none!important;}
  .hh .li{animation:none!important;transform:none!important;}
  .hsub,.hbtns{opacity:1!important;animation:none!important;transform:none!important;}
  .hacc::after{transform:scaleX(1)!important;}
  .post-card{animation:none!important;}
}

/* High contrast mode */
@media(prefers-contrast:high){
  :root{--bdr:rgba(255,255,255,.2);--dim:#c4c2d8;--muted:#8a88a2;}
  .field{border-width:2px;}
  .btn{border-width:2px;}
  .chip{border-width:2px;}
}

/* Make chips keyboard focusable */
.chip{-webkit-user-select:none;user-select:none;}

/* ── CURSOR HALO (le curseur natif reste visible) ───── */
#cr{position:fixed;left:-100px;top:-100px;width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(152,191,190,.5);background:rgba(155,197,195,.06);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .22s,height .22s,border-color .22s,opacity .25s;mix-blend-mode:screen;opacity:0;}
#cr.show{opacity:1;}
#cr.hov{width:54px;height:54px;border-color:rgba(192,116,72,.7);}
#cr.dn{width:24px;height:24px;border-color:rgba(192,116,72,.9);}

/* ── TYPE ───────────────────────────────────────────── */
.lf{font-family:'Fredoka',sans-serif;font-weight:700;}
.syn{font-family:'Bricolage Grotesque',sans-serif;}
h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(30px,4vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.018em;}
h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:18px;letter-spacing:-.01em;margin-bottom:5px;}
.kicker{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);margin-bottom:14px;}
.sub{font-size:17px;line-height:1.62;color:var(--dim);max-width:520px;margin-top:16px;}

/* ── LAYOUT ─────────────────────────────────────────── */
.wrap{max-width:1140px;margin:0 auto;padding:0 52px;}
section{padding:108px 52px;}
@media(max-width:860px){section,.wrap{padding-left:22px;padding-right:22px;}}
/* Sections with an ID-scoped padding rule (#hero, #about, #stats, #offres, #process, #cta, #contact)
   outrank the generic ".wrap,section" mobile override on specificity alone, so each ID needs its own
   override here or it stays stuck at 52px horizontal padding on phones. */
@media(max-width:860px){
  #hero,#about,#stats,#offres,#process,#cta,#contact{padding-left:22px;padding-right:22px;}
}

/* ── GRAIN ──────────────────────────────────────────── */
.grain{position:relative;}
.grain::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='0.22'/%3E%3C/svg%3E");
  background-size:256px;mix-blend-mode:overlay;opacity:.5;}

/* ── GLOBAL GRAIN ───────────────────────────────────── */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9990;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");
  background-size:300px;mix-blend-mode:overlay;opacity:.6;}

/* ── BTNS ───────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14px;padding:12px 24px;border-radius:9px;border:1.5px solid transparent;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .2s;text-decoration:none;white-space:nowrap;will-change:transform;background:none;cursor:pointer;}
.bt{background:var(--terra);color:#fff;border-color:var(--terra);}
.bt:hover{opacity:.9;}

/* ── FANCY ANIMATED CTA (auto-applied to .btn.bt via JS) ── */
.btn.bt.btn-fancy{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(65.28% 65.28% at 50% 100%,rgba(212,138,96,.85) 0%,rgba(212,138,96,0) 100%),linear-gradient(0deg,var(--terra),var(--terra));border-radius:12px;border:none;outline:none;padding:13px 22px;min-height:48px;min-width:110px;transition:transform .25s ease,box-shadow .3s ease;box-shadow:0 6px 24px -8px rgba(192,116,72,.45);}
.btn.bt.btn-fancy:hover{transform:translateY(-1px);box-shadow:0 10px 30px -8px rgba(192,116,72,.65);}
.btn.bt.btn-fancy:active{transform:scale(.96);}
.btn.bt.btn-fancy::before,
.btn.bt.btn-fancy::after{content:"";position:absolute;transition:all .5s ease-in-out;z-index:0;}
.btn.bt.btn-fancy::before{inset:1px;background:linear-gradient(177.95deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 100%);border-radius:11px;pointer-events:none;}
.btn.bt.btn-fancy::after{inset:2px;background:radial-gradient(65.28% 65.28% at 50% 100%,rgba(212,138,96,.85) 0%,rgba(212,138,96,0) 100%),linear-gradient(0deg,var(--terra),var(--terra));border-radius:10px;pointer-events:none;}
.btn-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;border-radius:inherit;}
.btn-particles .particle{position:absolute;bottom:-10px;width:2px;height:2px;background:#fff;border-radius:9999px;animation:btn-particle-float infinite ease-in-out;pointer-events:none;}
@keyframes btn-particle-float{0%{transform:translateY(0);}85%{opacity:0;}100%{transform:translateY(-55px);opacity:0;}}
.btn-particles .particle:nth-child(1){left:10%;opacity:1;animation-duration:2.35s;animation-delay:.2s;}
.btn-particles .particle:nth-child(2){left:30%;opacity:.7;animation-duration:2.5s;animation-delay:.5s;}
.btn-particles .particle:nth-child(3){left:25%;opacity:.8;animation-duration:2.2s;animation-delay:.1s;}
.btn-particles .particle:nth-child(4){left:44%;opacity:.6;animation-duration:2.05s;}
.btn-particles .particle:nth-child(5){left:50%;opacity:1;animation-duration:1.9s;}
.btn-particles .particle:nth-child(6){left:75%;opacity:.5;animation-duration:1.5s;animation-delay:1.5s;}
.btn-particles .particle:nth-child(7){left:88%;opacity:.9;animation-duration:2.2s;animation-delay:.2s;}
.btn-particles .particle:nth-child(8){left:58%;opacity:.8;animation-duration:2.25s;animation-delay:.2s;}
.btn-particles .particle:nth-child(9){left:98%;opacity:.6;animation-duration:2.6s;animation-delay:.1s;}
.btn-particles .particle:nth-child(10){left:65%;opacity:1;animation-duration:2.5s;animation-delay:.2s;}
.btn-inner{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;color:#fff;font-size:14px;font-weight:700;line-height:1.5;}
.btn-arrow{width:16px;height:16px;transition:transform .3s ease;stroke:#fff;fill:none;flex:none;}
.btn.bt.btn-fancy:hover .btn-arrow{transform:translateX(3px);}
.btn.bt.btn-fancy:hover .btn-arrow path{animation:btn-arrow-dash .8s linear forwards;}
@keyframes btn-arrow-dash{0%{stroke-dasharray:0,20;stroke-dashoffset:0;}50%{stroke-dasharray:10,10;stroke-dashoffset:-5;}100%{stroke-dasharray:20,0;stroke-dashoffset:-10;}}
@media (prefers-reduced-motion: reduce){.btn-particles .particle{animation:none;display:none;}.btn.bt.btn-fancy:hover .btn-arrow path{animation:none;}}
.bo{background:transparent;color:var(--cream);border-color:rgba(30,27,48,.18);}
.bo:hover{border-color:rgba(30,27,48,.4);}
.btl{background:var(--g0);color:var(--plum);border-color:var(--g0);font-weight:700;}
.bdk{background:transparent;color:var(--plum);border-color:rgba(30,27,48,.25);}
.bdk:hover{background:rgba(30,27,48,.07);}
.brow{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}

/* ── REVEAL ─────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(34px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);}
.rv.in{opacity:1;transform:none;}
.rl{opacity:0;transform:translateX(-42px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);}
.rl.in{opacity:1;transform:none;}
.rr{opacity:0;transform:translateX(42px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);}
.rr.in{opacity:1;transform:none;}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}

/* ── NAV ────────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nh);display:flex;align-items:center;padding:0 52px;transition:background .35s,box-shadow .35s;}
.nav.sc{background:rgba(255,255,255,.62);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 var(--bdr),0 8px 30px -12px rgba(35,30,55,.15);}
.navlogo{font-size:22px;color:var(--cream);text-decoration:none;cursor:pointer;}
.nls{display:flex;margin-left:28px;}
.nl{font-size:14px;font-weight:500;color:rgba(30,27,48,.5);padding:0 15px;height:var(--nh);display:flex;align-items:center;text-decoration:none;transition:color .2s;border-bottom:2px solid transparent;}
.nl:hover{color:var(--cream);}
.nsp{flex:1;}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-right .btn{font-size:13px;padding:9px 16px;}
.nctr{display:flex;align-items:center;gap:8px;border:1px solid rgba(30,27,48,.14);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--g0);}
.nctr.warm{color:var(--terra-l);border-color:rgba(192,116,72,.3);}
.nds{display:flex;gap:4px;}.nd{width:7px;height:7px;border-radius:50%;background:var(--g0);}.nd.off{background:rgba(30,27,48,.16);}

/* Burger (mobile) */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;background:transparent;border:1px solid rgba(30,27,48,.16);border-radius:9px;margin-left:10px;}
.nav-burger span{display:block;height:2px;border-radius:2px;background:var(--cream);transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s;}
.nav.menu-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.menu-open .nav-burger span:nth-child(2){opacity:0;}
.nav.menu-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;}
@media(max-width:860px){
  .nav{padding:0 22px;}
  .nls{display:none;}
  .nav-burger{display:flex;}
  .mobile-menu{display:block;position:fixed;top:var(--nh);left:0;right:0;z-index:199;background:rgba(255,255,255,.72);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--bdr);padding:10px 22px 18px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .25s;}
  .mobile-menu.open{display:block;transform:none;opacity:1;pointer-events:auto;}
  .mobile-menu a{display:block;padding:13px 4px;font-size:16px;font-weight:600;color:var(--cream);text-decoration:none;border-bottom:1px solid var(--bdr);}
  .mobile-menu a:last-child{border-bottom:none;}
  .nav-right .btn.nav-hide-sm{display:none;}
}

/* ── HERO ───────────────────────────────────────────── */
#hero{
  min-height:100vh;padding:calc(var(--nh) + 80px) 52px 90px;
  position:relative;overflow:hidden;display:flex;align-items:center;
  background:linear-gradient(-20deg, #eae8ea 0%, #dcece9 55%, #d3e9e6 100%);
}
#hero::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='0.2'/%3E%3C/svg%3E");
  background-size:220px;mix-blend-mode:overlay;opacity:.5;}

.blobs{position:absolute;inset:0;pointer-events:none;z-index:1;}
.blob{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform;}
.b1{width:420px;height:420px;background:rgba(110,168,165,.35);top:-8%;left:52%;animation:df1 9s ease-in-out infinite;}
.b2{width:260px;height:260px;background:rgba(97,97,97,.16);bottom:10%;right:6%;animation:df2 11s ease-in-out infinite;}
.b3{width:200px;height:200px;background:rgba(192,116,72,.20);top:38%;left:38%;animation:df3 13s ease-in-out infinite;}
@keyframes df1{0%,100%{transform:translate(0,0)}50%{transform:translate(-28px,16px)}}
@keyframes df2{0%,100%{transform:translate(0,0)}50%{transform:translate(16px,-24px)}}
@keyframes df3{0%,100%{transform:translate(0,0)}40%{transform:translate(11px,-13px)}75%{transform:translate(-9px,8px)}}

.hero-in{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center;width:100%;position:relative;z-index:4;}
@media(max-width:860px){.hero-in{grid-template-columns:1fr;}}

.h-tag{display:inline-flex;align-items:center;gap:9px;background:rgba(30,27,48,.12);border:1px solid rgba(30,27,48,.2);border-radius:999px;padding:7px 16px;font-size:12px;font-weight:600;color:var(--plum2);letter-spacing:.07em;text-transform:uppercase;margin-bottom:22px;}
.h-tag::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--terra);}
.h-tag.h-tag-fancy{background:rgba(30,27,48,.06);border:1px solid rgba(30,27,48,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 4px 16px -8px rgba(192,116,72,.35);position:relative;overflow:hidden;text-transform:none;letter-spacing:.04em;font-size:12.5px;backdrop-filter:blur(6px);}
.h-tag.h-tag-fancy::before{display:none;}
.h-tag.h-tag-fancy::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:badge-shine 3.5s ease-in-out infinite;pointer-events:none;}
.h-tag.h-tag-fancy .h-tag-icon{width:14px;height:14px;color:var(--terra);flex:none;animation:badge-twinkle 2.4s ease-in-out infinite;}
@keyframes badge-shine{0%,100%{left:-100%;}55%{left:140%;}}
@keyframes badge-twinkle{0%,100%{transform:scale(1) rotate(0);opacity:.85;}50%{transform:scale(1.12) rotate(8deg);opacity:1;}}

/* ── HERO TRUST ROW ─────────────────────────────────── */
.hero-trust{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:26px;opacity:0;animation:fup .8s cubic-bezier(.22,1,.36,1) .85s both;}
.hero-trust .ht-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--plum2);letter-spacing:.01em;}
.hero-trust .ht-item svg{width:14px;height:14px;color:var(--g0);stroke:var(--g0);flex:none;}
.hero-trust .ht-sep{display:inline-block;width:3px;height:3px;border-radius:50%;background:rgba(30,27,48,.25);}
@media(max-width:560px){.hero-trust{gap:10px;}.hero-trust .ht-item{font-size:12px;}}

.hh{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(50px,7.2vw,102px);line-height:.97;letter-spacing:-.025em;font-weight:800;color:var(--plum);}
.hh .ln{display:block;overflow:hidden;}
.hh .li{display:block;animation:lup .9s cubic-bezier(.22,1,.36,1) both;}
.hh .ln:nth-child(1) .li{animation-delay:.06s;}
.hh .ln:nth-child(2) .li{animation-delay:.2s;}
.hacc{position:relative;display:inline-block;background:linear-gradient(180deg,var(--terra-l) 0%,var(--terra) 55%,#8f4e28 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.hacc::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:4px;background:var(--terra);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .95s cubic-bezier(.22,1,.36,1) .75s;}
.hacc.on::after{transform:scaleX(1);}
@keyframes lup{from{transform:translateY(108%)}to{transform:translateY(0)}}

.hsub{font-size:18px;line-height:1.65;color:var(--plum2);max-width:440px;margin-top:22px;opacity:0;animation:fup .8s cubic-bezier(.22,1,.36,1) .52s both;}
.hbtns{opacity:0;animation:fup .8s cubic-bezier(.22,1,.36,1) .66s both;}
@keyframes fup{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}

/* ── POST CARD ──────────────────────────────────────── */
.post-card{
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  border:1px solid rgba(255,255,255,.26);
  border-radius:18px;padding:26px;
  will-change:transform;position:relative;overflow:hidden;
  box-shadow:0 28px 64px rgba(30,27,48,.18),inset 0 1px 0 rgba(255,255,255,.28);
}
.post-card::before{content:'';position:absolute;inset:0;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.09) 0%,transparent 55%);pointer-events:none;}
.pc-bdg{position:absolute;top:14px;right:14px;background:var(--terra);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;padding:3px 10px;border-radius:5px;text-transform:uppercase;}
.pc-hd{display:flex;align-items:center;gap:13px;margin-bottom:18px;}
.pc-av{width:44px;height:44px;border-radius:50%;flex:none;background:linear-gradient(135deg,#c07448,#8f4e28);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;color:#fff;}
.pc-nm{font-weight:700;font-size:14px;color:var(--plum);}
.pc-mt{font-size:12px;color:var(--plum2);margin-top:2px;}
.pc-body{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.pl{height:9px;background:rgba(30,27,48,.14);border-radius:5px;}
.pl.w95{width:95%;}.pl.w80{width:80%;}.pl.w88{width:88%;}.pl.w65{width:65%;}.pl.w72{width:72%;}.pl.w55{width:55%;}
.pl.cur{position:relative;}
.pl.cur::after{content:'|';position:absolute;right:-9px;top:-3px;font-size:14px;font-weight:300;color:var(--plum2);animation:blink .9s step-end infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.pc-img{height:96px;background:linear-gradient(135deg,rgba(152,191,190,.32),rgba(100,110,110,.22));border-radius:10px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;}
.pc-img span{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:rgba(30,27,48,.4);}
.pc-ft{display:flex;gap:14px;font-size:13px;font-weight:600;color:var(--plum2);border-top:1px solid rgba(30,27,48,.1);padding-top:13px;}

/* ── POST CARD · LIVE DEMO CYCLE ─────────────────────── */
.pc-fade{transition:opacity .38s ease,transform .38s ease;}
.pc-fade.out{opacity:0;transform:translateY(4px);}
.pc-text{font-size:14.5px;line-height:1.5;color:var(--plum);}
.pc-text .pc-hook{font-weight:700;display:block;margin-bottom:5px;}
.pc-text .pc-more{color:var(--plum2);display:block;}
.pc-dots{display:flex;gap:6px;margin-top:16px;justify-content:center;}
.pc-dots span{width:5px;height:5px;border-radius:50%;background:rgba(30,27,48,.18);transition:background .3s,transform .3s;}
.pc-dots span.on{background:var(--terra);transform:scale(1.3);}
@media(prefers-reduced-motion:reduce){.pc-fade{transition:none;}}

/* ── MARQUEE ────────────────────────────────────────── */
.mq{background:var(--bg);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:14px 0;overflow:hidden;}
.mqt{display:flex;white-space:nowrap;animation:mq 22s linear infinite;}
.mqt:hover{animation-play-state:paused;}
.mqi{font-size:13px;font-weight:700;color:rgba(30,27,48,.22);padding:0 24px;letter-spacing:.07em;text-transform:uppercase;}
.mqi .dot{color:var(--terra);margin-left:24px;}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── STATS ──────────────────────────────────────────── */
#stats{padding:108px 52px;background:var(--bg2);position:relative;overflow:hidden;}
#stats::before{content:'';position:absolute;top:-220px;left:50%;transform:translateX(-50%);width:860px;height:860px;border-radius:50%;background:radial-gradient(circle,rgba(152,191,190,.04) 0%,transparent 65%);pointer-events:none;}
#stats::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(circle,rgba(30,27,48,.08) 1px,transparent 1px);
  background-size:26px 26px;}
#stats .wrap{position:relative;z-index:1;}
.srow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--bdr);border-radius:16px;overflow:hidden;margin-top:52px;}
@media(max-width:860px){.srow{grid-template-columns:1fr;}}
.sc{background:var(--card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:48px 36px;text-align:center;border-right:1px solid var(--bdr);transition:background .3s;}
.sc:last-child{border-right:none;}
@media(max-width:860px){.sc{border-right:none;border-bottom:1px solid var(--bdr);}}
.sc:hover{background:rgba(255,255,255,.8);}
.sn{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(58px,7vw,92px);font-weight:800;line-height:1;color:var(--terra);letter-spacing:-.03em;margin-bottom:12px;background:linear-gradient(180deg,var(--terra-l) 0%,var(--terra) 50%,#a85d33 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 30px rgba(192,116,72,.18);position:relative;display:inline-block;}
.sn::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,transparent,var(--terra),transparent);transform:scaleX(0);transform-origin:center;transition:transform .9s cubic-bezier(.22,1,.36,1) .3s;}
.sc.in-view .sn::after{transform:scaleX(1);}
.sc:hover .sn{animation:stat-pulse .8s ease-in-out;}
@keyframes stat-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
.sl{font-size:15px;line-height:1.55;color:var(--dim);}
.sl strong{color:var(--cream);}
.src{font-size:11px;color:var(--muted);margin-top:12px;letter-spacing:.08em;text-transform:uppercase;}

/* ── OFFRES ─────────────────────────────────────────── */
#offres{padding:108px 52px;background:var(--bg);}
.og{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:52px;}
@media(max-width:860px){.og{grid-template-columns:1fr;}}
.oc{border-radius:22px;padding:38px;position:relative;overflow:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .4s ease;will-change:transform;transform-style:preserve-3d;}
.oc.free{background:linear-gradient(155deg,rgba(255,255,255,.7),rgba(255,255,255,.45));border:1px solid var(--bdr);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);}
.oc.free:hover{box-shadow:0 30px 70px -28px rgba(110,168,165,.35),inset 0 1px 0 rgba(255,255,255,.7);border-color:rgba(110,168,165,.4);}
.oc.prem{background:linear-gradient(142deg,rgba(255,247,240,.75),rgba(255,255,255,.5));border:1px solid rgba(192,116,72,.28);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);}
.oc.prem:hover{box-shadow:0 30px 70px -28px rgba(192,116,72,.35),inset 0 1px 0 rgba(255,255,255,.7);border-color:rgba(192,116,72,.55);}

/* Decorative blur orbs */
.oc-orb{position:absolute;width:280px;height:280px;border-radius:50%;filter:blur(70px);pointer-events:none;opacity:.5;transition:opacity .5s ease,transform .8s ease;z-index:0;}
.oc-orb-1{top:-110px;right:-110px;background:radial-gradient(circle,rgba(155,197,195,.55) 0%,transparent 70%);}
.oc-orb-2{bottom:-110px;left:-110px;background:radial-gradient(circle,rgba(212,138,96,.55) 0%,transparent 70%);}
.oc:hover .oc-orb{opacity:.8;transform:scale(1.1);}

/* Ring outline */
.oc-ring{position:absolute;inset:1px;border-radius:21px;border:1px solid transparent;background:linear-gradient(135deg,rgba(155,197,195,.18),transparent 55%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7;}
.oc-ring-prem{background:linear-gradient(135deg,rgba(192,116,72,.32),transparent 55%) border-box;}

/* Icon header in card */
.oc-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;margin-bottom:14px;background:linear-gradient(135deg,rgba(155,197,195,.12),rgba(155,197,195,.02));border:1px solid rgba(155,197,195,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);z-index:1;}
.oc-icon svg{width:22px;height:22px;color:var(--g0);}
.oc-icon-prem{background:linear-gradient(135deg,rgba(192,116,72,.16),rgba(192,116,72,.02));border-color:rgba(192,116,72,.28);}
.oc-icon-prem svg{color:var(--terra-l);}
.oc:hover .oc-icon svg{animation:oc-icon-spin 1.4s ease-in-out;}
@keyframes oc-icon-spin{0%{transform:rotate(0);}50%{transform:rotate(15deg) scale(1.08);}100%{transform:rotate(0);}}

/* Card content z-stack */
.oc > *:not(.oc-orb):not(.oc-ring){position:relative;z-index:1;}
.oc.prem::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(192,116,72,.38),transparent);pointer-events:none;}
.oc::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:18px;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0px,rgba(255,255,255,.018) 1px,transparent 1px,transparent 4px);}
.op{font-family:'Bricolage Grotesque',sans-serif;font-size:42px;font-weight:800;color:var(--cream);margin:16px 0 5px;letter-spacing:-.018em;}
.op small{font-size:14px;font-weight:400;color:var(--muted);}
.od{font-size:15px;color:var(--dim);line-height:1.6;margin-top:10px;}
.tl{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:10px;}
.tl li{display:flex;align-items:flex-start;gap:11px;font-size:14px;color:var(--dim);}
.tl li::before{content:'✓';color:var(--g0);font-weight:700;flex:none;margin-top:1px;}
.oc-reassure{font-size:12px;color:var(--muted);margin-top:12px;text-align:center;}
.obdg{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--terra) 0%,var(--terra-l) 100%);color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;padding:5px 12px;border-radius:999px;text-transform:uppercase;margin-bottom:14px;box-shadow:0 4px 18px -6px rgba(192,116,72,.55),inset 0 1px 0 rgba(255,255,255,.25);position:relative;overflow:hidden;}
.obdg::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:obdg-shine 3s ease-in-out infinite;}
@keyframes obdg-shine{0%,100%{left:-100%;}55%{left:140%;}}

/* ── BTL fancy version ─────────────────────────────────── */
.btn.btl{position:relative;overflow:hidden;}
.btn.btl::after{content:'';position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,rgba(155,197,195,.5),rgba(155,197,195,0),rgba(155,197,195,.3));opacity:0;transition:opacity .4s;pointer-events:none;}
.btn.btl:hover::after{opacity:1;}
.btn.btl:hover{transform:translateY(-1px);box-shadow:0 8px 24px -8px rgba(155,197,195,.5);}

/* ── REVEAL DEFAULT BOOSTERS ───────────────────────────── */
.kicker.rv{transform:translateY(20px);}
section{scroll-margin-top:80px;}

/* ── PROCESS ────────────────────────────────────────── */
#process{
  padding:108px 52px;position:relative;
  background:linear-gradient(162deg,#daeaea 0%,#cde0e0 50%,#c2d4d4 100%);
}
#process::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:repeating-linear-gradient(90deg,var(--terra) 0px,var(--terra) 8px,transparent 8px,transparent 14px);}
#process h2{color:var(--plum);}
#process .sub{color:var(--plum2);}
#process .kicker{color:var(--terra);}
.proc{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;max-width:1140px;margin:0 auto;}
@media(max-width:860px){.proc{grid-template-columns:1fr;}}
.steps{position:relative;display:flex;flex-direction:column;}
.steps::before{content:'';position:absolute;left:21px;top:24px;bottom:24px;width:1px;background:rgba(30,27,48,.15);}
.steps::after{content:'';position:absolute;left:21px;top:24px;width:1px;height:0;background:linear-gradient(180deg,var(--terra),var(--terra-l));transition:height 1.6s cubic-bezier(.22,1,.36,1);box-shadow:0 0 10px rgba(192,116,72,.6);}
.steps.in-view::after{height:calc(100% - 48px);}
.step{display:flex;gap:22px;padding:24px 0;position:relative;}
.sn2{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(30,27,48,.22);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:var(--plum);flex:none;background:#cde0e0;position:relative;z-index:1;transition:background .35s cubic-bezier(.22,1,.36,1),border-color .35s,color .35s,transform .35s,box-shadow .35s;}
.step:hover .sn2{background:var(--terra);border-color:var(--terra);color:#fff;transform:scale(1.08);box-shadow:0 6px 20px -6px rgba(192,116,72,.55);}
.steps.in-view .step .sn2{animation:step-light-up .6s cubic-bezier(.22,1,.36,1) both;}
.steps.in-view .step:nth-child(1) .sn2{animation-delay:.1s;}
.steps.in-view .step:nth-child(2) .sn2{animation-delay:.35s;}
.steps.in-view .step:nth-child(3) .sn2{animation-delay:.6s;}
.steps.in-view .step:nth-child(4) .sn2{animation-delay:.85s;}
.steps.in-view .step:nth-child(5) .sn2{animation-delay:1.1s;}
@keyframes step-light-up{0%{transform:scale(.85);}55%{transform:scale(1.15);background:var(--terra);border-color:var(--terra);color:#fff;}100%{transform:scale(1);}}
.step h3{color:var(--plum);font-size:17px;font-family:'Bricolage Grotesque',sans-serif;}
.step p{font-size:15px;color:var(--plum2);line-height:1.6;margin-top:4px;}

/* ── ABOUT ──────────────────────────────────────────── */
#about{
  padding:108px 52px;position:relative;overflow:hidden;
  background:linear-gradient(-20deg, #eae8ea 0%, #dcece9 55%, #d3e9e6 100%);
}
#about::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='0.2'/%3E%3C/svg%3E");
  background-size:220px;mix-blend-mode:overlay;opacity:.5;}
.about-g{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:center;position:relative;z-index:3;}
@media(max-width:860px){.about-g{grid-template-columns:1fr;}}
/* ── ABOUT AVATAR ──────────────────────────────────────── */
.about-avatar{position:relative;width:100%;aspect-ratio:4/5;border-radius:24px;background:linear-gradient(155deg,rgba(30,27,48,.55),rgba(30,27,48,.78));backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 70px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;}
.aa-glow{position:absolute;top:20%;left:50%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(192,116,72,.5) 0%,transparent 65%);filter:blur(40px);transform:translateX(-50%);pointer-events:none;animation:aa-glow-pulse 5s ease-in-out infinite;}
@keyframes aa-glow-pulse{0%,100%{opacity:.6;}50%{opacity:1;}}
.aa-ring{position:absolute;left:50%;top:38%;border-radius:50%;border:1px solid rgba(255,255,255,.14);transform:translate(-50%,-50%);pointer-events:none;}
.aa-ring-1{width:210px;height:210px;border-style:dashed;animation:aa-spin 26s linear infinite;}
.aa-ring-2{width:280px;height:280px;border-color:rgba(192,116,72,.2);animation:aa-spin 40s linear infinite reverse;}
@keyframes aa-spin{to{transform:translate(-50%,-50%) rotate(360deg);}}
.aa-core{position:relative;width:158px;height:158px;border-radius:50%;margin-top:-18px;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,var(--terra-l) 0%,var(--terra) 48%,#9a5630 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 40px -16px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.22),0 0 0 2px rgba(255,255,255,.14),0 0 0 5px rgba(192,116,72,.24);z-index:2;}
.aa-core::after{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(160deg,rgba(255,255,255,.16) 0%,transparent 40%);pointer-events:none;z-index:4;}
.aa-pic{position:absolute;inset:0;border-radius:50%;background-image:url("../img/clement.jpg?v=2");background-size:170%;background-position:50% 14%;background-repeat:no-repeat;z-index:1;}
.aa-tint{position:absolute;inset:0;border-radius:50%;z-index:3;pointer-events:none;background:radial-gradient(120% 95% at 50% -8%,rgba(212,138,96,.20),transparent 55%),linear-gradient(180deg,transparent 50%,rgba(23,21,40,.55) 100%),radial-gradient(100% 100% at 50% 48%,transparent 60%,rgba(0,0,0,.32) 100%);}
.aa-portrait{position:relative;width:100%;height:100%;display:block;border-radius:50%;z-index:1;}
.aa-initial{font-family:'Bricolage Grotesque','Fredoka',sans-serif;font-size:72px;font-weight:800;color:#fff;line-height:1;letter-spacing:-.02em;text-shadow:0 3px 10px rgba(0,0,0,.25);}
.aa-card{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);text-align:center;z-index:3;width:max-content;}
.aa-name{font-family:'Bricolage Grotesque',sans-serif;font-size:26px;font-weight:800;color:var(--cream);letter-spacing:-.01em;}
.aa-role{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--g0);margin-top:3px;}
.aa-badge{position:absolute;top:calc(38% + 44px);left:calc(50% + 50px);width:34px;height:34px;border-radius:50%;background:var(--g0);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -4px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.5);z-index:4;animation:aa-badge-pop .6s cubic-bezier(.22,1,.36,1) .4s both;}
.aa-badge svg{width:18px;height:18px;color:var(--plum);}
@keyframes aa-badge-pop{0%{transform:scale(0);}60%{transform:scale(1.18);}100%{transform:scale(1);}}
@media(max-width:860px){.about-avatar{max-width:340px;margin:0 auto;}}
@media(prefers-reduced-motion:reduce){.aa-ring,.aa-glow{animation:none;}}

/* ── FOUNDER SIGNATURE CARD ─────────────────────────── */
.founder-card{position:relative;width:100%;aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:linear-gradient(155deg,rgba(30,27,48,.66),rgba(23,21,34,.85));backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 70px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.18);padding:42px 38px;display:flex;flex-direction:column;justify-content:space-between;}
.fc-orb{position:absolute;top:-100px;right:-100px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(192,116,72,.5),transparent 65%);filter:blur(42px);pointer-events:none;animation:aa-glow-pulse 5s ease-in-out infinite;}
.fc-ring{position:absolute;bottom:-80px;left:-80px;width:230px;height:230px;border-radius:50%;border:1px dashed rgba(255,255,255,.12);pointer-events:none;animation:aa-spin 34s linear infinite;}
.fc-badge{position:absolute;top:28px;right:28px;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--terra),var(--terra-l));display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -6px rgba(192,116,72,.65),inset 0 1px 0 rgba(255,255,255,.35);z-index:3;}
.fc-badge svg{width:20px;height:20px;color:#fff;}
.fc-mark{position:absolute;top:40px;left:30px;font-family:'Bricolage Grotesque',Georgia,serif;font-size:150px;line-height:1;color:rgba(192,116,72,.22);pointer-events:none;z-index:1;}
.fc-quote{position:relative;z-index:2;margin-top:60px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(21px,1.85vw,27px);line-height:1.32;letter-spacing:-.012em;color:var(--cream);text-wrap:balance;}
.fc-sign{position:relative;z-index:2;}
.fc-name{display:block;font-family:'Caveat',cursive;font-weight:700;font-size:54px;line-height:.85;color:var(--cream);}
.fc-role{display:block;margin-top:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--g0);}
@media(max-width:860px){.founder-card{max-width:400px;margin:0 auto;aspect-ratio:auto;min-height:360px;}}
@media(prefers-reduced-motion:reduce){.fc-orb,.fc-ring{animation:none;}}
.fc-top{position:relative;z-index:2;display:flex;flex-direction:column;gap:24px;}
.fc-photo-wrap{position:relative;width:132px;height:132px;}
.fc-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid rgba(255,255,255,.18);box-shadow:0 18px 42px -14px rgba(0,0,0,.7),0 0 0 7px rgba(192,116,72,.10);}
.fc-photo-wrap .fc-badge{top:auto;right:-6px;bottom:-6px;}
.fc-top .fc-quote{margin-top:0;}
.atext h2{color:var(--plum);}
.atext p{font-size:17px;line-height:1.7;color:var(--plum2);margin-top:16px;max-width:460px;}

/* ── CTA ────────────────────────────────────────────── */
#cta{padding:108px 52px;background:var(--bg2);text-align:center;position:relative;overflow:hidden;}
#cta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(152,191,190,.08) 0%,transparent 65%);pointer-events:none;animation:breathe 5s ease-in-out infinite;}
@keyframes breathe{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.12)}}
.cta-in{position:relative;z-index:2;max-width:620px;margin:0 auto;}
.cta-in h2{font-size:clamp(36px,5vw,66px);}

/* ── CONTACT ────────────────────────────────────────── */
#contact{padding:108px 52px;background:var(--bg);}
.cg{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start;max-width:1140px;margin:0 auto;}
@media(max-width:860px){.cg{grid-template-columns:1fr;}}
.field{width:100%;background:var(--card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--bdr);border-radius:9px;padding:14px 16px;font-size:15px;color:var(--cream);font-family:'Space Grotesk',sans-serif;transition:border-color .2s;resize:none;}
.field::placeholder{color:var(--muted);}
.field:focus{outline:none;border-color:rgba(152,191,190,.38);}
.field.tall{min-height:110px;}
.fr{display:flex;gap:12px;margin-bottom:14px;}
.fr .field{flex:1;}
.form-msg{font-size:14px;padding:10px 14px;border-radius:8px;margin-top:12px;}
.form-msg.success{background:rgba(155,197,195,.1);color:var(--g0);border:1px solid rgba(155,197,195,.25);}
.form-msg.error{background:rgba(192,116,72,.08);color:var(--terra-l);border:1px solid rgba(192,116,72,.25);}

/* ── FOOTER ─────────────────────────────────────────── */
footer{background:var(--bg2);padding:32px 52px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;border-top:1px solid var(--bdr);}
footer nav{display:flex;gap:18px;font-size:13px;font-weight:500;}
footer nav a{color:var(--muted);text-decoration:none;transition:color .2s;}
footer nav a:hover{color:var(--cream);}
footer .sp{flex:1;}
@media(max-width:860px){footer{padding:32px 22px;}}

/* ── STUDIO ─────────────────────────────────────────── */
#vs{display:none;}
.sprog{background:var(--card2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--bdr);}
.pbar{display:flex;max-width:1140px;margin:0 auto;padding:0 52px;}
.ps{flex:1;padding:13px 0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(30,27,48,.22);text-align:center;border-bottom:2px solid transparent;transition:all .2s;user-select:none;cursor:pointer;}
.ps .sn3{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1.5px solid currentColor;font-size:10px;margin-right:7px;vertical-align:middle;}
.ps.done{color:rgba(30,27,48,.38);border-bottom-color:#d7d2e3;}
.ps.done .sn3{background:#d7d2e3;border-color:#d7d2e3;color:var(--plum);}
.ps.done .sn3::after{content:"✓";font-size:9px;}
.ps.done .sn3 .n{display:none;}
.ps.cur{color:var(--cream);border-bottom-color:var(--terra);}
.ps.cur .sn3{background:var(--terra);border-color:var(--terra);}

.sbody{max-width:740px;margin:0 auto;padding:52px 24px 100px;}
.sbody.wide{max-width:1080px;}
@media(min-width:961px){
  .sbody.wide{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start;}
}
.s-live{display:none;}
.s-live.show{display:block;margin-top:36px;}
@media(min-width:961px){
  .s-live.show{margin-top:52px;position:sticky;top:calc(var(--nh) + 30px);animation:none;}
  .s-live.show::before{display:none;}
}
/* La carte vit sur le fond sombre du Studio (pas le hero clair) : on réhabille .post-card en sombre. */
.s-live.post-card{background:var(--card2);border-color:var(--bdr);box-shadow:0 20px 50px rgba(0,0,0,.4);}
.s-live.post-card::before{background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 55%);}
.s-live .pc-bdg{background:var(--g0);color:var(--plum);}
.s-live .pc-nm{color:var(--cream);}
.s-live .pc-mt{color:var(--dim);}
.s-live .pc-text{min-height:56px;}
.s-live .pc-hook{color:var(--cream);}
.s-live .pc-more{color:var(--dim);}
.sl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.sl-tags span{font-size:11px;font-weight:600;color:var(--g0);background:rgba(155,197,195,.10);border:1px solid rgba(155,197,195,.28);border-radius:999px;padding:4px 10px;}
.ss{display:none;}.ss.on{display:block;}
.sk{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:12px;}
.st{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(24px,3.2vw,36px);font-weight:800;line-height:1.1;margin-bottom:10px;}
.sint{font-size:16px;color:var(--dim);line-height:1.55;margin-bottom:34px;max-width:520px;}
.qb{margin-bottom:22px;}
.ql{font-size:14px;font-weight:600;color:var(--cream);margin-bottom:8px;display:block;}
.qs{font-size:13px;color:var(--muted);margin-bottom:9px;display:block;}
.chips{display:flex;gap:8px;flex-wrap:wrap;}
.chip{padding:9px 16px;border:1.5px solid var(--bdr);border-radius:999px;font-size:13px;font-weight:600;transition:all .15s;color:var(--dim);background:rgba(255,255,255,.35);cursor:pointer;}
.chip.sel{background:var(--terra);border-color:var(--terra);color:#fff;}
.chip:hover:not(.sel){border-color:rgba(30,27,48,.3);color:var(--cream);}
.pre-screen{max-width:560px;margin:0 auto;}
.prow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.fw{display:flex;flex-direction:column;gap:6px;}
.fw label{font-size:13px;font-weight:600;color:var(--cream);}
.profile-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(155,197,195,.07);border:1px solid rgba(155,197,195,.18);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--g0);margin-bottom:24px;}
.na{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:22px;border-top:1px solid var(--bdr);}
@media(max-width:860px){.pbar{padding:0 16px;}.sbody{padding:36px 16px 80px;}}

/* ── STUDIO ÉTENDU ──────────────────────────────────── */
.hook-card{border:1.5px solid var(--bdr);border-radius:9px;padding:16px 18px;margin-bottom:10px;transition:border-color .2s,background .2s;font-size:15px;color:var(--cream);line-height:1.5;position:relative;cursor:pointer;}
.hook-card::before{content:'';position:absolute;left:14px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;border:1.5px solid var(--bdr);transition:background .2s,border-color .2s;}
.hook-card:hover{border-color:rgba(155,197,195,.4);}
.hook-card.sel{border-color:var(--g0);background:rgba(155,197,195,.06);}
.hook-card.sel::before{background:var(--g0);border-color:var(--g0);}
.hook-card .hook-txt{margin-left:22px;display:block;}

.gen-loading-inner{text-align:center;padding:70px 20px;}
.gen-dots{display:flex;justify-content:center;gap:10px;margin-bottom:22px;}
.gen-dots span{width:10px;height:10px;border-radius:50%;background:var(--g0);animation:gdot 1.2s ease-in-out infinite;}
.gen-dots span:nth-child(2){animation-delay:.22s;}
.gen-dots span:nth-child(3){animation-delay:.44s;}
@keyframes gdot{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}
#gen-status{font-size:15px;color:var(--dim);font-family:'Space Grotesk',sans-serif;}
.gen-error{background:rgba(192,116,72,.08);border:1px solid rgba(192,116,72,.28);border-radius:9px;padding:14px 16px;font-size:14px;color:var(--terra-l);margin-top:14px;line-height:1.5;}
.regen-btn{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--dim);background:transparent;border:1px solid var(--bdr);border-radius:7px;padding:8px 14px;margin-top:6px;transition:color .2s,border-color .2s;cursor:pointer;}
.regen-btn:hover{color:var(--cream);border-color:rgba(30,27,48,.25);}
.word-count{font-size:11px;color:var(--muted);text-align:right;margin-top:5px;}
#hook-cards .hook-txt{padding-right:46px;}
.hook-len{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:10.5px;font-weight:600;color:var(--muted);background:var(--bg2);border-radius:6px;padding:2px 7px;letter-spacing:.02em;}
.hashtag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.htag{font-family:inherit;font-size:13px;font-weight:600;color:var(--g0);background:rgba(155,197,195,.10);border:1px solid rgba(155,197,195,.30);border-radius:30px;padding:6px 13px;cursor:pointer;transition:background .2s,transform .15s,color .2s,border-color .2s;}
.htag:hover{background:rgba(155,197,195,.18);transform:translateY(-1px);}
.htag.copied{background:var(--g0);border-color:var(--g0);color:#13212a;}
.htag-all{color:var(--terra-l);background:rgba(192,116,72,.10);border-color:rgba(192,116,72,.32);}
.htag-all:hover{background:rgba(192,116,72,.18);}

/* ── UPLOAD ZONE ────────────────────────────────────── */
.uz{border:2px dashed rgba(30,27,48,.16);border-radius:10px;padding:34px;text-align:center;transition:all .2s;cursor:pointer;}
.uz:hover,.uz.dragover{border-color:var(--g0);background:rgba(152,191,190,.04);}
.uz h4{font-size:15px;font-weight:700;color:var(--cream);margin:8px 0 5px;}
.uz p{font-size:13px;color:var(--muted);}

/* ── RESULT ─────────────────────────────────────────── */
.rblur{filter:blur(5px);pointer-events:none;border:1px solid var(--bdr);border-radius:9px;padding:20px;margin-bottom:22px;background:var(--card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);}
.sk2{height:11px;background:rgba(30,27,48,.08);border-radius:3px;margin:8px 0;}
.sk2.s{width:48%;}.sk2.m{width:72%;}.sk2.l{width:95%;}
.lbox{border:1px solid var(--bdr);border-radius:14px;padding:34px;text-align:center;background:var(--card2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);}
.lbox h2{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:800;margin-bottom:10px;}
.lbox p{font-size:15px;color:var(--dim);line-height:1.5;max-width:420px;margin:0 auto 22px;}
.limb{background:rgba(192,116,72,.07);border:1px solid rgba(192,116,72,.21);border-radius:12px;padding:28px;text-align:center;margin-top:30px;}
.limb h3{font-family:'Bricolage Grotesque',sans-serif;font-size:19px;font-weight:800;margin-bottom:8px;}
.limb p{font-size:14px;color:var(--dim);line-height:1.5;max-width:440px;margin:0 auto 16px;}
.result-post{background:var(--card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--bdr);border-radius:14px;padding:28px;margin-bottom:8px;box-shadow:var(--glass-shadow);}
.result-hook{font-family:'Bricolage Grotesque',sans-serif;font-size:18px;font-weight:700;margin-bottom:16px;line-height:1.3;}
.result-body{font-size:15px;line-height:1.7;color:var(--dim);white-space:pre-wrap;}

/* ── AUTH MODAL ─────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;}
.modal-box{background:var(--card2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--bdr);border-radius:18px;padding:38px;max-width:420px;width:100%;position:relative;box-shadow:var(--glass-shadow);}
.modal-box h2{font-family:'Bricolage Grotesque',sans-serif;font-size:24px;font-weight:800;margin-bottom:24px;text-align:center;}
.modal-close{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;transition:color .2s;}
.modal-close:hover{color:var(--cream);}

/* ── POSTS LIST (page compte) ───────────────────────── */
.acc-refresh{background:rgba(30,27,48,.05);border:1px solid var(--bdr);color:var(--dim);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:15px;transition:background .2s,color .2s;}
.acc-refresh:hover{background:rgba(30,27,48,.1);color:var(--cream);}
.acc-posts{margin-top:10px;display:flex;flex-direction:column;gap:8px;}
.acc-posts-empty{font-size:13px;color:var(--muted);padding:14px;text-align:center;border:1px dashed var(--bdr);border-radius:10px;}
.acc-post-item{background:rgba(30,27,48,.03);border:1px solid var(--bdr);border-radius:10px;padding:11px 13px;transition:border-color .2s,background .2s;}
.acc-post-item:hover{border-color:rgba(110,168,165,.35);background:rgba(30,27,48,.05);}
.acc-post-top{display:flex;align-items:center;gap:10px;}
.acc-post-thumb{width:38px;height:38px;border-radius:8px;object-fit:cover;flex:none;background:rgba(30,27,48,.06);}
.acc-post-main{flex:1;min-width:0;}
.acc-post-hook{font-size:13px;font-weight:600;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acc-post-date{font-size:11px;color:var(--muted);margin-top:2px;}
.acc-post-actions{display:flex;gap:6px;flex:none;}
.acc-post-btn{background:rgba(30,27,48,.05);border:1px solid var(--bdr);color:var(--dim);border-radius:7px;padding:5px 9px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.acc-post-btn:hover{background:var(--terra);border-color:var(--terra);color:#fff;}
.acc-post-body{font-size:12.5px;color:var(--dim);line-height:1.55;margin-top:8px;white-space:pre-wrap;display:none;}
.acc-post-item.open .acc-post-body{display:block;}
.uz-or{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:12px;font-weight:600;margin:14px 0;gap:12px;text-transform:uppercase;letter-spacing:.1em;}
.uz-or::before,.uz-or::after{content:'';flex:1;height:1px;background:var(--bdr);}
.genimg-status{margin-top:12px;font-size:13px;padding:11px 14px;border-radius:10px;background:rgba(30,27,48,.04);border:1px solid var(--bdr);color:var(--dim);line-height:1.5;}
.genimg-status.err{border-color:rgba(212,138,96,.4);color:var(--terra-l);}
.genimg-status.loading{display:flex;align-items:center;gap:10px;}
.genimg-spin{width:16px;height:16px;border:2px solid rgba(30,27,48,.15);border-top-color:var(--terra);border-radius:50%;animation:genimg-rot .8s linear infinite;flex:none;}
@keyframes genimg-rot{to{transform:rotate(360deg);}}
/* Génération d'image IA désactivée (quota Gemini gratuit insuffisant). Retirer cette ligne pour la réactiver. */
#genimg-btn, #s4 .uz-or, #genimg-status { display: none !important; }

/* ── LEGAL OVERLAYS ────────────────────────────────── */
.legal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(10px);z-index:600;display:flex;justify-content:center;align-items:flex-start;padding:0;overflow-y:auto;opacity:0;transition:opacity .35s ease;}
.legal-overlay.open{opacity:1;}
.legal-panel{background:var(--bg);border-left:1px solid var(--bdr);border-right:1px solid var(--bdr);width:100%;max-width:800px;min-height:100vh;position:relative;animation:legal-slide .4s cubic-bezier(.22,1,.36,1) both;}
@keyframes legal-slide{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.legal-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:rgba(255,255,255,.75);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-bottom:1px solid var(--bdr);}
.legal-header h2{font-family:'Bricolage Grotesque',sans-serif;font-size:20px;font-weight:800;margin:0;}
.legal-header .modal-close{position:static;font-size:28px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s,color .2s;}
.legal-header .modal-close:hover{background:rgba(255,255,255,.06);color:var(--cream);}
.legal-body{padding:40px 40px 80px;line-height:1.7;}
.legal-body h3{font-family:'Bricolage Grotesque',sans-serif;font-size:18px;font-weight:700;color:var(--cream);margin:32px 0 12px;letter-spacing:-.01em;}
.legal-body p{font-size:15px;color:var(--dim);margin-bottom:12px;}
.legal-body ul{padding-left:20px;margin-bottom:16px;}
.legal-body li{font-size:15px;color:var(--dim);margin-bottom:6px;}
.legal-body a{color:var(--g0);text-decoration:none;}
.legal-body a:hover{text-decoration:underline;}
.legal-body strong{color:var(--cream);}
.legal-date{margin-top:40px;font-size:13px;color:var(--muted);}
.placeholder-info{background:rgba(192,116,72,.08);border:1px solid rgba(192,116,72,.2);border-radius:9px;padding:12px 16px;font-size:13px;color:var(--terra-l);margin-bottom:24px;line-height:1.5;}
.data-grid{border:1px solid var(--bdr);border-radius:9px;overflow:hidden;margin:12px 0 20px;}
.data-row{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--bdr);font-size:13px;}
.data-row:last-child{border-bottom:none;}
.data-row span{padding:10px 14px;color:var(--dim);}
.data-head{background:rgba(30,27,48,.04);}
.data-head span{color:var(--cream);font-weight:600;}
@media(max-width:860px){
  .legal-panel{max-width:100%;}
  .legal-header{padding:16px 20px;}
  .legal-body{padding:24px 20px 60px;}
  .data-row{grid-template-columns:1fr;}.data-row span{padding:6px 14px;}
  .data-head{display:none;}
}

/* ── ENHANCED ANIMATIONS ───────────────────────────── */

/* Scroll-driven parallax layers */
.parallax-wrap{position:relative;overflow:hidden;}
.parallax-bg{position:absolute;inset:-80px 0;will-change:transform;transition:transform .1s linear;}

/* Floating particles */
.particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;}
.particle{position:absolute;width:4px;height:4px;border-radius:50%;opacity:0;will-change:transform,opacity;}
.particle.glow{box-shadow:0 0 6px 2px currentColor;}

/* Scale-in on scroll */
.scale-in{opacity:0;transform:scale(.88);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);}
.scale-in.in{opacity:1;transform:scale(1);}

/* Rotate-in on scroll */
.rotate-in{opacity:0;transform:rotate(-3deg) translateY(30px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);}
.rotate-in.in{opacity:1;transform:none;}

/* Stagger children */
.stagger-children > *{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);}
.stagger-children.in > *:nth-child(1){transition-delay:.05s;}
.stagger-children.in > *:nth-child(2){transition-delay:.12s;}
.stagger-children.in > *:nth-child(3){transition-delay:.19s;}
.stagger-children.in > *:nth-child(4){transition-delay:.26s;}
.stagger-children.in > *:nth-child(5){transition-delay:.33s;}
.stagger-children.in > *:nth-child(6){transition-delay:.4s;}
.stagger-children.in > *:nth-child(7){transition-delay:.47s;}
.stagger-children.in > *{opacity:1;transform:none;}

/* Draw line animation */
.draw-line{stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.8s cubic-bezier(.22,1,.36,1);}
.draw-line.in{stroke-dashoffset:0;}

/* Horizontal slide */
.slide-h{opacity:0;transform:translateX(-60px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);}
.slide-h.in{opacity:1;transform:none;}
.slide-hr{opacity:0;transform:translateX(60px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);}
.slide-hr.in{opacity:1;transform:none;}

/* Text shimmer */
.text-shimmer{background:linear-gradient(90deg,var(--cream) 0%,var(--terra) 50%,var(--cream) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s ease-in-out infinite;}
@keyframes shimmer{0%{background-position:100% 0}50%{background-position:0 0}100%{background-position:100% 0}}

/* Glow pulse on CTA buttons */
.btn.bt{position:relative;overflow:hidden;}
.btn.bt::after{content:'';position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,rgba(192,116,72,.4),rgba(192,116,72,0),rgba(192,116,72,.3));opacity:0;transition:opacity .4s;}
.btn.bt:hover::after{opacity:1;animation:btn-glow 1.5s ease-in-out infinite;}
@keyframes btn-glow{0%,100%{opacity:.3}50%{opacity:.7}}

/* Floating badge bounce */
.h-tag{animation:badge-float 3s ease-in-out infinite;}
@keyframes badge-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* Smooth section divider lines */
.section-line{height:1px;background:linear-gradient(90deg,transparent,var(--bdr),rgba(155,197,195,.15),var(--bdr),transparent);margin:0;}

/* Typing effect for Studio */
.typing-cursor::after{content:'|';animation:blink .8s step-end infinite;color:var(--terra);margin-left:2px;}

/* Smooth card hover lift */
.oc:hover{transform:translateY(-6px) !important;}
.sc:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3);}
.sc{transition:background .3s,transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;}

/* Progress bar glow */
.ps.cur{position:relative;}
.ps.cur::after{content:'';position:absolute;bottom:-1px;left:20%;right:20%;height:3px;background:var(--terra);filter:blur(4px);border-radius:2px;}

/* Smooth scrollbar */
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:rgba(155,197,195,.2);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:rgba(155,197,195,.35);}

/* Marquee glow dots */
.mqi .dot{text-shadow:0 0 8px var(--terra);}

/* Hero card floating animation */
.post-card{animation:card-float 6s ease-in-out infinite;}
@keyframes card-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ── PAGE MON COMPTE ─────────────────────────────────── */
#va{min-height:100vh;background:var(--bg);}
.acct{max-width:1140px;margin:0 auto;padding:calc(var(--nh) + 46px) 52px 110px;}
@media(max-width:860px){.acct{padding-left:22px;padding-right:22px;}}

.acct-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:38px;}
.acct-title{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1.05;}
.acct-title span{color:var(--g0);}
.acct-mail{font-size:14px;color:var(--muted);margin-top:8px;}

.acct-grid{display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:start;}
@media(max-width:860px){.acct-grid{grid-template-columns:1fr;}}

.acct-side{position:sticky;top:calc(var(--nh) + 20px);display:flex;flex-direction:column;gap:4px;background:var(--card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--bdr);border-radius:16px;padding:10px;box-shadow:var(--glass-shadow);}
@media(max-width:860px){.acct-side{position:static;flex-direction:row;flex-wrap:wrap;}}
.acct-tab{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:none;border-radius:10px;padding:12px 14px;font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;color:var(--dim);transition:background .2s,color .2s;}
@media(max-width:860px){.acct-tab{width:auto;flex:1;min-width:140px;}}
.acct-tab svg{width:17px;height:17px;flex:none;opacity:.75;}
.acct-tab:hover{background:rgba(30,27,48,.05);color:var(--cream);}
.acct-tab.on{background:rgba(155,197,195,.1);color:var(--g0);}
.acct-tab.on svg{opacity:1;}
.acct-count{margin-left:auto;background:rgba(30,27,48,.08);border-radius:999px;font-size:11px;font-weight:700;padding:2px 9px;color:var(--dim);}
.acct-tab.on .acct-count{background:rgba(155,197,195,.18);color:var(--g0);}
.acct-side-sep{height:1px;background:var(--bdr);margin:8px 6px;}
.acct-tab-out{color:var(--terra-l);}
.acct-tab-out:hover{background:rgba(192,116,72,.08);color:var(--terra-l);}

.acct-sec{display:none;}
.acct-sec.on{display:block;animation:acct-in .45s cubic-bezier(.22,1,.36,1);}
@keyframes acct-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.acct-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;}
@media(max-width:640px){.acct-cards{grid-template-columns:1fr;}}
.acct-card{background:var(--card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--bdr);border-radius:16px;padding:22px 24px;transition:border-color .25s,transform .3s cubic-bezier(.22,1,.36,1);box-shadow:var(--glass-shadow);}
.acct-card:hover{border-color:rgba(155,197,195,.25);transform:translateY(-2px);}
.acct-card-lbl{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.acct-card-big{font-family:'Bricolage Grotesque',sans-serif;font-size:26px;font-weight:800;color:var(--cream);letter-spacing:-.01em;}
.acct-card-sub{font-size:12.5px;color:var(--muted);margin-top:6px;}
.acct-card-link{display:inline-block;font-size:13px;font-weight:600;color:var(--g0);text-decoration:none;margin-top:8px;}
.acct-card-link:hover{text-decoration:underline;}

.acct-card-quota{display:flex;align-items:center;gap:20px;}
.acct-ring-wrap{position:relative;width:84px;height:84px;flex:none;}
.acct-ring{width:84px;height:84px;transform:rotate(-90deg);}
.acct-ring-bg,.acct-ring-val{fill:none;stroke-width:7;stroke-linecap:round;}
.acct-ring-bg{stroke:rgba(30,27,48,.1);}
.acct-ring-val{stroke:var(--g0);stroke-dasharray:213.6;stroke-dashoffset:213.6;transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1),stroke .3s;}
.acct-ring-val.warm{stroke:var(--terra);}
.acct-ring-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque',sans-serif;font-size:19px;font-weight:800;color:var(--cream);}

.acct-block{background:var(--card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--bdr);border-radius:16px;padding:26px 28px;margin-bottom:20px;box-shadow:var(--glass-shadow);}
.acct-block-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px;}
.acct-block-head h3{font-family:'Bricolage Grotesque',sans-serif;font-size:17px;font-weight:800;color:var(--cream);margin:0;}
.acct-block-sub{font-size:13.5px;color:var(--dim);line-height:1.55;margin-bottom:18px;max-width:520px;}
.acct-block .prow{margin-bottom:18px;}
.acct-block .btn{margin-top:6px;}
.acct-link-btn{background:none;border:none;font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:600;color:var(--g0);padding:4px 0;}
.acct-link-btn:hover{text-decoration:underline;}
.acct-search{margin:6px 0 4px;}

.acct-danger{border-color:rgba(192,116,72,.3);background:linear-gradient(155deg,rgba(192,116,72,.05),var(--card));}
.acct-del-btn{background:transparent;color:var(--terra-l);border-color:rgba(192,116,72,.45);}
.acct-del-btn:hover{background:rgba(192,116,72,.12);border-color:var(--terra);}

/* ── CHAMP MOT DE PASSE (œil) ───────────────────────── */
.pw-wrap{position:relative;margin-bottom:12px;}
.pw-wrap .field{padding-right:46px;margin-bottom:0;}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .2s;}
.pw-toggle:hover{color:var(--cream);}
.pw-toggle svg{width:18px;height:18px;}

/* ── TOASTS ─────────────────────────────────────────── */
#toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;width:max-content;max-width:calc(100vw - 40px);}
.toast{background:var(--card2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(155,197,195,.45);color:var(--cream);font-size:14px;font-weight:600;padding:13px 22px;border-radius:12px;box-shadow:var(--glass-shadow);animation:toast-in .4s cubic-bezier(.22,1,.36,1),toast-out .3s ease-in 2.9s both;display:flex;align-items:center;gap:10px;max-width:100%;}
.toast.err{border-color:rgba(192,116,72,.5);color:var(--terra-l);}
.toast::before{content:'✓';color:var(--g0);font-weight:800;}
.toast.err::before{content:'!';color:var(--terra-l);}
@keyframes toast-in{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
@keyframes toast-out{to{opacity:0;transform:translateY(10px)}}

/* ── NAV : lisibilité sur le hero clair ─────────────────── */
.nav.solid{background:rgba(255,255,255,.62);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 var(--bdr),0 8px 30px -12px rgba(35,30,55,.15);}
.nav:not(.sc):not(.solid) .nav-right .bo{color:var(--plum);border-color:rgba(30,27,48,.3);}
.nav:not(.sc):not(.solid) .nav-right .bo:hover{border-color:rgba(30,27,48,.6);}
.nav:not(.sc):not(.solid) .nav-right .nctr{color:var(--plum2);border-color:rgba(30,27,48,.25);}
.nav:not(.sc):not(.solid) .nav-right .nd{background:var(--plum2);}
.nav:not(.sc):not(.solid) .nav-right .nd.off{background:rgba(30,27,48,.15);}
.nav:not(.sc):not(.solid) .nav-burger{border-color:rgba(30,27,48,.3);}
.nav:not(.sc):not(.solid) .nav-burger span{background:var(--plum);}
@media(max-width:640px){.nav-right .nctr .nctr-label{display:none;}.nav-right .nctr{padding:6px 10px;}}
#auth-switch a{color:var(--g0);text-decoration:none;}
#auth-switch a:hover{text-decoration:underline;}
.nav.menu-open{background:rgba(255,255,255,.75);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);}
.nav.menu-open .navlogo{color:var(--cream);}
.nav.menu-open .nav-burger{border-color:rgba(30,27,48,.2);}
.nav.menu-open .nav-burger span{background:var(--cream);}

/* ── FAQ ────────────────────────────────────────────── */
#faq{padding:108px 52px;background:var(--bg2);}
.faq-wrap{max-width:860px;}
.faq-list{margin-top:46px;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:var(--card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--bdr);border-radius:14px;overflow:hidden;transition:border-color .25s;}
.faq-item:hover{border-color:rgba(155,197,195,.25);}
.faq-item[open]{border-color:rgba(155,197,195,.35);}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:19px 22px;font-size:16px;font-weight:600;color:var(--cream);font-family:'Space Grotesk',sans-serif;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-ic{position:relative;flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(155,197,195,.4);transition:transform .35s cubic-bezier(.22,1,.36,1),background .25s,border-color .25s;}
.faq-ic::before,.faq-ic::after{content:'';position:absolute;top:50%;left:50%;background:var(--g0);transform:translate(-50%,-50%);transition:background .25s;}
.faq-ic::before{width:9px;height:1.5px;}
.faq-ic::after{width:1.5px;height:9px;}
.faq-item[open] .faq-ic{transform:rotate(135deg);background:var(--terra);border-color:var(--terra);}
.faq-item[open] .faq-ic::before,.faq-item[open] .faq-ic::after{background:#fff;}
.faq-a{padding:0 22px 20px;}
.faq-a p{font-size:15px;line-height:1.7;color:var(--dim);max-width:680px;}
.faq-a a{color:var(--g0);}
@media(max-width:860px){#faq{padding:80px 22px;}.faq-item summary{font-size:15px;padding:16px 18px;}.faq-a{padding:0 18px 16px;}}

/* ── AUTH HELPERS & MODALES ─────────────────────────── */
.auth-helpers{text-align:center;font-size:13px;color:var(--muted);margin-top:10px;}
.auth-helpers a{color:var(--dim);text-decoration:none;}
.auth-helpers a:hover{color:var(--g0);text-decoration:underline;}
.auth-helpers span{margin:0 8px;color:var(--muted);}
.modal-sub{font-size:14px;color:var(--dim);line-height:1.55;margin:-12px 0 18px;text-align:center;}

/* ── VISUEL DU POST (hero) ──────────────────────────── */
.pc-img{padding:0;overflow:hidden;position:relative;}
.pc-img svg{display:block;width:100%;height:100%;}
