/* ── TOKENS ──────────────────────────────────────────── */
:root{
  --g0:#9bc5c3; --g1:#80b0ae; --g2:#616161;
  --g3:#7ab8b6; --g4:#8ca0a0; --g5:#585858;
  --gbg:#7aabaa;
  --bg:#111018; --bg2:#181622; --card:#1d1a28; --card2:#23202f;
  --plum:#1e1b30; --plum2:#333060; --plum3:#4a4870;
  --terra:#c07448; --terra-l:#d48a60;
  --cream:#eceaf5; --dim:#9d9bb4; --muted:#575570;
  --bdr:rgba(255,255,255,.065);
  --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;cursor:none;}
body *{cursor:none!important;}
@media(hover:none){body,body *{cursor:auto!important;}}

/* ── 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,#cd{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 ─────────────────────────────────────────── */
#cr{position:fixed;width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(152,191,190,.55);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .22s,height .22s,border-color .22s;mix-blend-mode:screen;}
#cd{position:fixed;width:5px;height:5px;border-radius:50%;background:var(--terra);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);}
#cr.hov{width:52px;height:52px;border-color:rgba(192,116,72,.65);}
#cr.dn{width:22px;height:22px;}

/* ── 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;}}

/* ── 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!important;}
.bt{background:var(--terra);color:#fff;border-color:var(--terra);}
.bt:hover{opacity:.9;}
.bo{background:transparent;color:var(--cream);border-color:rgba(255,255,255,.17);}
.bo:hover{border-color:rgba(255,255,255,.44);}
.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(17,16,24,.94);backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--bdr);}
.navlogo{font-size:22px;color:var(--cream);text-decoration:none;cursor:pointer!important;}
.nls{display:flex;margin-left:28px;}
.nl{font-size:14px;font-weight:500;color:rgba(236,234,245,.36);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-s{display:none;align-items:center;gap:14px;}
.nctr{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.11);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--g0);}
.nds{display:flex;gap:4px;}.nd{width:7px;height:7px;border-radius:50%;background:var(--g0);}.nd.off{background:rgba(255,255,255,.15);}
@media(max-width:860px){.nav{padding:0 22px;}.nls{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, #616161 0%, #9bc5c3 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:380px;height:380px;background:rgba(155,197,195,.22);top:-8%;left:52%;animation:df1 9s ease-in-out infinite;}
.b2{width:220px;height:220px;background:rgba(97,97,97,.18);bottom:10%;right:6%;animation:df2 11s ease-in-out infinite;}
.b3{width:160px;height:160px;background:rgba(192,116,72,.11);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);}

.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{color:var(--plum);position:relative;display:inline-block;}
.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;}

/* ── 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(236,234,245,.17);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(255,255,255,.07) 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);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,.02);}
.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;}
.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:18px;padding:38px;position:relative;overflow:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1);will-change:transform;transform-style:preserve-3d;}
.oc.free{background:var(--card2);border:1px solid var(--bdr);}
.oc.prem{background:linear-gradient(142deg,#231f30 0%,#1b1827 60%);border:1px solid rgba(192,116,72,.25);}
.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;}
.obdg{display:inline-block;background:var(--terra);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;padding:4px 11px;border-radius:5px;text-transform:uppercase;margin-bottom:14px;}

/* ── 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);}
.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 .3s,border-color .3s;}
.step:hover .sn2{background:var(--terra);border-color:var(--terra);color:#fff;}
.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, #616161 0%, #9bc5c3 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-photo-placeholder{width:100%;aspect-ratio:4/5;border-radius:20px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:2px dashed rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:14px;color:rgba(255,255,255,.4);font-weight:600;}
.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);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:#0c0b12;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:#0c0b12;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(255,255,255,.16);text-align:center;border-bottom:2px solid transparent;transition:all .2s;user-select:none;cursor:pointer!important;}
.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(255,255,255,.27);border-bottom-color:#262234;}
.ps.done .sn3{background:#262234;border-color:#262234;color:#fff;}
.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;}
.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:#bab8d2;background:transparent;cursor:pointer!important;}
.chip.sel{background:var(--terra);border-color:var(--terra);color:#fff;}
.chip:hover:not(.sel){border-color:rgba(255,255,255,.28);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!important;}
.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!important;}
.regen-btn:hover{color:var(--cream);border-color:rgba(255,255,255,.25);}
.word-count{font-size:11px;color:var(--muted);text-align:right;margin-top:5px;}

/* ── UPLOAD ZONE ────────────────────────────────────── */
.uz{border:2px dashed rgba(255,255,255,.1);border-radius:10px;padding:34px;text-align:center;transition:all .2s;cursor:pointer!important;}
.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);}
.sk2{height:11px;background:rgba(255,255,255,.07);border-radius:3px;margin:8px 0;}
.sk2.s{width:48%;}.sk2.m{width:72%;}.sk2.l{width:95%;}
.lbox{border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:34px;text-align:center;background:var(--card2);}
.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);border:1px solid var(--bdr);border-radius:14px;padding:28px;margin-bottom:8px;}
.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);border:1px solid var(--bdr);border-radius:18px;padding:38px;max-width:420px;width:100%;position:relative;}
.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!important;transition:color .2s;}
.modal-close:hover{color:var(--cream);}

/* ── 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(17,16,24,.96);backdrop-filter:blur(12px);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(255,255,255,.02);}
.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)}}
