/* ============================================================
   KDM — Kevin L. De Moutou · Consultant & Concepteur IA
   Premium AI-agency dark system
   ============================================================ */

/* ── TOKENS ── */
:root{
  --bg:    #05080F;
  --bg2:   #080D17;
  --bg3:   #0B1220;
  --surf:  rgba(255,255,255,.025);
  --surf2: rgba(255,255,255,.05);
  --bd:    rgba(255,255,255,.08);
  --bd2:   rgba(255,255,255,.15);
  --tx:    #EAF0FB;
  --txm:   rgba(234,240,251,.62);
  --txl:   rgba(234,240,251,.42);
  --txf:   rgba(234,240,251,.28);

  /* accent (overridable via Tweaks) */
  --a1:    #22D3EE;            /* cyan  */
  --a2:    #3B82F6;            /* blue  */
  --a-grad: linear-gradient(110deg, var(--a1), var(--a2));
  --a-soft: rgba(34,211,238,.12);
  --a-soft2:rgba(59,130,246,.14);
  --a-glow: rgba(34,211,238,.28);
  --a-ink:  #04121A;          /* text on solid accent */

  --r:   14px;
  --r-sm:10px;
  --r-pill:100px;
  --maxw:1180px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--tx);
  font-family:'Geist',system-ui,sans-serif;font-weight:300;
  line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit;}
::selection{background:var(--a-glow);color:#fff;}

h1,h2,h3,h4{font-family:'Sora',sans-serif;font-weight:700;line-height:1.04;letter-spacing:-.025em;}

.wrap{max-width:var(--maxw);margin:0 auto;width:100%;}

/* shared section */
section{position:relative;padding:9rem 2rem;}
.s-head{max-width:720px;margin:0 auto 4rem;text-align:center;}
.s-head.left{margin-left:0;text-align:left;}
.s-label{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:'Geist Mono',monospace;font-size:.7rem;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;color:var(--a1);
  padding:.4rem .9rem;border:1px solid var(--bd);border-radius:var(--r-pill);
  background:var(--surf);margin-bottom:1.6rem;
}
.s-label::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--a1);box-shadow:0 0 10px var(--a-glow);}
.s-title{font-size:clamp(2.1rem,4.4vw,3.5rem);color:var(--tx);}
.s-title .g{background:var(--a-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.s-sub{margin-top:1.2rem;font-size:1.02rem;color:var(--txm);line-height:1.8;}
.s-head .s-sub{max-width:560px;margin-left:auto;margin-right:auto;}
.s-head.left .s-sub{margin-left:0;}

/* glow helpers */
.glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(40px);z-index:0;}

/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}.d4{transition-delay:.32s;}.d5{transition-delay:.40s;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-size:.9rem;font-weight:500;
  padding:.9rem 1.7rem;border-radius:var(--r-pill);transition:all .25s var(--ease);white-space:nowrap;}
.btn .arr{transition:transform .25s var(--ease);}
.btn:hover .arr{transform:translateX(3px);}
.btn-primary{background:var(--a-grad);color:var(--a-ink);font-weight:600;box-shadow:0 6px 30px -8px var(--a-glow);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px -8px var(--a-glow);}
.btn-ghost{background:var(--surf2);color:var(--tx);border:1px solid var(--bd2);backdrop-filter:blur(8px);}
.btn-ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.28);transform:translateY(-2px);}
.btn-line{background:transparent;color:var(--a1);border:1px solid var(--bd2);}
.btn-line:hover{border-color:var(--a1);background:var(--a-soft);}

/* ============================================================
   NAV
   ============================================================ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.3rem clamp(1.2rem,4vw,3rem);
  transition:padding .35s var(--ease),background .35s,border-color .35s;
  border-bottom:1px solid transparent;
}
nav.scrolled{padding:.8rem clamp(1.2rem,4vw,3rem);background:rgba(5,8,15,.72);
  backdrop-filter:blur(20px) saturate(140%);border-color:var(--bd);}
.n-logo{font-family:'Sora',sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:-.02em;display:flex;align-items:center;gap:.05em;}
.n-logo .dot{color:var(--a1);}
.n-menu{display:flex;align-items:center;gap:2.1rem;list-style:none;}
.n-menu a{font-size:.84rem;font-weight:400;color:var(--txm);transition:color .2s;position:relative;white-space:nowrap;}
.n-menu a:hover{color:var(--tx);}
.n-right{display:flex;align-items:center;gap:1rem;}
.n-cta{padding:.6rem 1.3rem;font-size:.82rem;}
/* lang switch */
.lang-switch{display:flex;align-items:center;border:1px solid var(--bd2);border-radius:var(--r-pill);overflow:hidden;background:var(--surf);}
.lang-switch button{padding:.42rem .7rem;font-family:'Geist Mono',monospace;font-size:.66rem;font-weight:500;letter-spacing:.06em;color:var(--txl);transition:color .2s,background .2s;}
.lang-switch button:hover{color:var(--tx);}
.lang-switch button.on{background:var(--a-grad);color:var(--a-ink);}
/* highlighted nav item (Crombec) */
.n-menu a.nav-hl{color:var(--a1);display:inline-flex;align-items:center;gap:.4rem;}
.n-menu a.nav-hl::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--a1);box-shadow:0 0 8px var(--a-glow);}
.n-menu a.nav-hl:hover{color:var(--tx);}
.hamburger{display:none;flex-direction:column;gap:5px;padding:.4rem;}
.hamburger span{display:block;width:22px;height:1.6px;background:var(--tx);transition:.3s;}

/* ============================================================
   HERO
   ============================================================ */
#accueil{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:11rem 2rem 4rem;overflow:hidden;
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, var(--a-soft2) 0%, transparent 55%),
    radial-gradient(ellipse 50% 50% at 50% 110%, var(--a-soft) 0%, transparent 60%);
}
.hero-grid{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--bd) 1px,transparent 1px),linear-gradient(90deg,var(--bd) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,#000 0%,transparent 75%);
  mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,#000 0%,transparent 75%);
  opacity:.5;
}
.hero-aurora{position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:min(1100px,120vw);height:600px;
  background:radial-gradient(ellipse at center,var(--a-glow) 0%,transparent 60%);opacity:.45;filter:blur(30px);z-index:0;pointer-events:none;}
.hero-photo{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('assets/hero-timeline.jpg') center 78%/cover no-repeat;
  opacity:.5;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 30%,#000 80%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 30%,#000 80%,transparent 100%);
}
.hero-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 58% 46% at 50% 40%, rgba(5,8,15,.88) 0%, rgba(5,8,15,.45) 46%, transparent 72%),
    linear-gradient(180deg, var(--bg) 0%, transparent 24%, transparent 68%, rgba(5,8,15,.72) 90%, var(--bg) 100%);
}
.hero-inner{position:relative;z-index:2;max-width:980px;display:flex;flex-direction:column;align-items:center;}

.pill{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.5rem 1.1rem;border:1px solid var(--bd2);border-radius:var(--r-pill);
  background:var(--surf2);backdrop-filter:blur(8px);
  font-size:.78rem;color:var(--txm);font-weight:400;margin-bottom:2.2rem;white-space:nowrap;max-width:100%;
}
.pill .ld{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399;flex-shrink:0;}
.pill b{color:var(--tx);font-weight:500;}

.h-h1{
  font-size:clamp(2.8rem,7.2vw,6rem);color:var(--tx);
}
.h-h1 .g{display:block;font-size:.4em;line-height:1.25;font-weight:500;margin-top:.5rem;max-width:22ch;background:var(--a-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.h-sub{
  max-width:620px;margin:1.8rem auto 0;font-size:clamp(1.02rem,1.5vw,1.2rem);color:var(--txm);line-height:1.75;
}
.h-ctas{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:2.6rem;}
.h-trust{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;justify-content:center;margin-top:2.4rem;
  font-size:.8rem;color:var(--txl);}
.h-trust span{display:inline-flex;align-items:center;gap:.45rem;}
.h-trust span::before{content:'✓';color:var(--a1);font-weight:700;}

/* stats strip */
.stats{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:5rem auto 0;
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;background:var(--surf);}
.stat{padding:2rem 1.8rem;border-right:1px solid var(--bd);}
.stat:last-child{border-right:none;}
.stat-n{font-family:'Sora',sans-serif;font-size:2.6rem;font-weight:700;line-height:1;margin-bottom:.4rem;
  background:var(--a-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.stat-l{font-size:.78rem;color:var(--txl);}

/* ============================================================
   SERVICES
   ============================================================ */
.srv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.srv{position:relative;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);
  padding:2.6rem;overflow:hidden;transition:border-color .3s,transform .3s var(--ease);}
.srv::after{content:'';position:absolute;inset:0;border-radius:var(--r);pointer-events:none;
  background:radial-gradient(circle at 80% 0%,var(--a-soft) 0%,transparent 45%);opacity:0;transition:opacity .35s;}
.srv:hover{transform:translateY(-4px);border-color:var(--bd2);}
.srv:hover::after{opacity:1;}
.srv-num{font-family:'Geist Mono',monospace;font-size:.78rem;color:var(--a1);margin-bottom:1.6rem;letter-spacing:.1em;}
.srv-name{font-family:'Sora',sans-serif;font-size:1.4rem;font-weight:600;color:var(--tx);margin-bottom:.9rem;}
.srv-p{font-size:.92rem;color:var(--txm);line-height:1.8;margin-bottom:1.8rem;padding-bottom:1.8rem;border-bottom:1px solid var(--bd);}
.srv-cks{display:flex;flex-direction:column;gap:.55rem;}
.srv-ck{font-size:.88rem;color:var(--txm);display:flex;align-items:center;gap:.65rem;}
.srv-ck::before{content:'';width:16px;height:16px;border-radius:50%;background:var(--a-soft);
  color:var(--a1);font-size:.6rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background-image:radial-gradient(circle,var(--a1) 30%,transparent 32%);}

/* ============================================================
   RÉALISATIONS
   ============================================================ */
/* Crombec featured */
.crombec{position:relative;background:linear-gradient(160deg,var(--bg3),var(--bg2));
  border:1px solid var(--bd);border-radius:var(--r);padding:3rem;overflow:hidden;margin-bottom:1.6rem;}
.crombec::before{content:'';position:absolute;top:-30%;right:-10%;width:55%;height:120%;
  background:radial-gradient(ellipse at center,var(--a-soft2) 0%,transparent 60%);pointer-events:none;}
.cr-top{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start;}
.cr-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;
  background:var(--a-soft);border:1px solid var(--bd);color:var(--a1);border-radius:var(--r-pill);
  font-family:'Geist Mono',monospace;font-size:.66rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.6rem;}
.cr-title{font-family:'Sora',sans-serif;font-size:2.6rem;font-weight:800;color:var(--tx);margin-bottom:1rem;line-height:1.02;}
.cr-title .g{background:var(--a-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cr-p{font-size:.94rem;color:var(--txm);line-height:1.85;margin-bottom:1.8rem;}
.cr-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:2rem;}
.cr-tag{padding:.24rem .7rem;border:1px solid var(--bd);border-radius:var(--r-pill);font-size:.66rem;color:var(--txl);font-family:'Geist Mono',monospace;}
.cr-plbl{font-family:'Geist Mono',monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txf);margin-bottom:.7rem;}
.cr-products{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.8rem;}
.cr-product{display:flex;align-items:center;gap:.7rem;padding:.6rem .9rem;background:var(--surf);border:1px solid var(--bd);border-radius:var(--r-sm);font-size:.82rem;color:var(--txm);}
.cr-product b{color:var(--tx);font-weight:500;font-family:'Sora',sans-serif;}
.cr-product .dotc{width:6px;height:6px;border-radius:50%;background:var(--a1);flex-shrink:0;}
.cr-link{display:inline-flex;align-items:center;gap:.5rem;font-family:'Geist Mono',monospace;font-size:.78rem;color:var(--a1);
  border-bottom:1px solid var(--bd2);padding-bottom:.25rem;transition:gap .25s;}
.cr-link:hover{gap:.8rem;}
.cr-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem;}

/* arch diagram */
.arch{background:var(--bg);border:1px solid var(--bd);border-radius:var(--r);padding:1.8rem;}
.arch-ttl{font-family:'Geist Mono',monospace;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--a1);margin-bottom:1.4rem;}
.an{display:flex;align-items:center;gap:.85rem;padding:.75rem .9rem;border-radius:var(--r-sm);border:1px solid var(--bd);}
.an+.an{margin-top:0;}
.an-m{background:var(--a-soft);}
.an-s{background:var(--surf2);}
.an-w{background:var(--surf);}
.an-g{background:rgba(52,211,153,.07);border-color:rgba(52,211,153,.2);}
.an-ico{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;
  font-family:'Geist Mono',monospace;font-size:.78rem;font-weight:600;flex-shrink:0;}
.an-m .an-ico{background:var(--a-soft);color:var(--a1);}
.an-s .an-ico{background:var(--surf2);color:var(--tx);}
.an-w .an-ico{background:var(--surf2);color:var(--txm);}
.an-g .an-ico{background:rgba(52,211,153,.14);color:#34d399;}
.an-lbl{font-family:'Geist Mono',monospace;font-size:.78rem;font-weight:500;flex:1;color:var(--tx);}
.an-g .an-lbl{color:#34d399;}
.an-desc{font-size:.66rem;color:var(--txf);text-align:right;line-height:1.35;}
.arch-arrow{padding:.2rem 0 .2rem 1.85rem;font-size:.8rem;color:var(--txf);}
.arch-protos{margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid var(--bd);}
.arch-plbl{font-family:'Geist Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txf);margin-bottom:.6rem;}
.arch-pl{display:flex;flex-wrap:wrap;gap:.4rem;}
.ap{font-family:'Geist Mono',monospace;font-size:.62rem;padding:.22rem .55rem;background:var(--surf);border:1px solid var(--bd);border-radius:6px;color:var(--txm);}

/* regular cards */
.real-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.rc{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);padding:2rem;transition:transform .3s var(--ease),border-color .3s;}
.rc:hover{transform:translateY(-4px);border-color:var(--bd2);}
.rc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem;}
.rc-cat{font-size:.62rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .72rem;
  background:var(--a-soft);color:var(--a1);border-radius:var(--r-pill);font-family:'Geist Mono',monospace;}
.rc-live{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--txl);}
.rc-live::before{content:'';width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 8px #34d399;}
.rc-title{font-family:'Sora',sans-serif;font-size:1.25rem;font-weight:600;color:var(--tx);margin-bottom:.6rem;}
.rc-p{font-size:.85rem;color:var(--txm);line-height:1.75;flex:1;margin-bottom:1.2rem;}
.rc-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.3rem;}
.rc-tag{padding:.2rem .6rem;border:1px solid var(--bd);border-radius:var(--r-pill);font-size:.62rem;color:var(--txl);font-family:'Geist Mono',monospace;}
.rc-bot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--bd);padding-top:1rem;margin-top:auto;}
.rc-dom{font-family:'Geist Mono',monospace;font-size:.72rem;color:var(--txm);}
.rc-arr{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bd);border-radius:50%;color:var(--txl);font-size:.85rem;transition:all .25s;}
.rc:hover .rc-arr{background:var(--a-grad);color:var(--a-ink);border-color:transparent;}

/* ============================================================
   OPEN SOURCE
   ============================================================ */
.os-layout{display:grid;grid-template-columns:360px 1fr;gap:5rem;align-items:start;}
.os-intro .s-label{margin-bottom:1.4rem;}
.os-intro h2{font-size:clamp(1.9rem,3.5vw,2.6rem);color:var(--tx);margin-bottom:1.3rem;}
.os-intro p{font-size:.95rem;color:var(--txm);line-height:1.8;margin-bottom:2rem;}
.os-row{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--bd);transition:padding .25s;}
.os-row:first-child{border-top:1px solid var(--bd);}
.os-row:hover{padding-left:.6rem;}
.os-row:hover .os-name{color:var(--a1);}
.os-name{font-family:'Geist Mono',monospace;font-size:.92rem;font-weight:500;color:var(--tx);margin-bottom:.3rem;transition:color .2s;}
.os-desc{font-size:.82rem;color:var(--txl);line-height:1.6;}
.os-meta{display:flex;align-items:center;gap:.7rem;flex-shrink:0;margin-left:auto;}
.os-lang{font-family:'Geist Mono',monospace;font-size:.64rem;padding:.24rem .64rem;background:var(--surf);border:1px solid var(--bd);border-radius:var(--r-pill);color:var(--txm);}
.os-st{font-size:.7rem;display:flex;align-items:center;gap:.35rem;}
.os-st.live{color:#34d399;}
.os-st.live::before{content:'';width:5px;height:5px;border-radius:50%;background:#34d399;box-shadow:0 0 6px #34d399;}
.os-st.soon{color:var(--txl);}

/* ============================================================
   À PROPOS
   ============================================================ */
.ab-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.ab-left h2{font-size:clamp(2rem,4vw,3rem);color:var(--tx);margin-bottom:2rem;}
.ab-left h2 .g{background:var(--a-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.ab-left p{font-size:.96rem;color:var(--txm);line-height:1.85;margin-bottom:1.4rem;}
.ab-quote{margin:2.2rem 0;padding:1.4rem 1.8rem;border-left:2px solid var(--a1);background:var(--surf);border-radius:0 var(--r-sm) var(--r-sm) 0;}
.ab-quote p{font-family:'Sora',sans-serif;font-style:normal;font-weight:500;font-size:1.2rem;line-height:1.5;color:var(--tx);margin:0;}
.ab-visual{display:flex;flex-direction:column;gap:1.2rem;}
.ab-portrait{position:relative;border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;
  background:linear-gradient(160deg,var(--bg3),var(--bg2));}
.ab-photo{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
.ab-fig{position:absolute;left:1rem;bottom:.85rem;font-family:'Geist Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);text-shadow:0 1px 8px rgba(0,0,0,.6);}
.ab-cap{margin-top:-.4rem;font-family:'Geist Mono',monospace;font-size:.62rem;letter-spacing:.04em;color:var(--txf);text-align:center;}
.ab-portrait image-slot{width:100%;height:100%;display:block;}
.ab-pillars{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.pillar{padding:1.3rem;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r-sm);}
.p-t{font-family:'Sora',sans-serif;font-size:.92rem;font-weight:600;color:var(--tx);margin-bottom:.4rem;}
.p-p{font-size:.8rem;color:var(--txl);line-height:1.65;}

/* ============================================================
   FAQ
   ============================================================ */
.faq-layout{display:grid;grid-template-columns:360px 1fr;gap:5rem;align-items:start;}
.faq-side h2{font-size:clamp(1.9rem,3.5vw,2.6rem);color:var(--tx);margin-bottom:1.2rem;}
.faq-side p{font-size:.92rem;color:var(--txm);line-height:1.8;}
.faq-item{border-bottom:1px solid var(--bd);}
.faq-q{padding:1.5rem 0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;cursor:pointer;}
.faq-qt{font-family:'Sora',sans-serif;font-size:1.08rem;font-weight:500;color:var(--tx);transition:color .2s;}
.faq-q:hover .faq-qt{color:var(--a1);}
.faq-ico{width:26px;height:26px;flex-shrink:0;border:1px solid var(--bd2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--txm);transition:all .3s var(--ease);}
.faq-item.open .faq-ico{background:var(--a-grad);border-color:transparent;color:var(--a-ink);transform:rotate(135deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.faq-item.open .faq-a{max-height:220px;}
.faq-a p{font-size:.9rem;color:var(--txm);line-height:1.8;padding-bottom:1.5rem;}

/* ============================================================
   INTERVIEW
   ============================================================ */
#interview{background:linear-gradient(180deg,var(--bg),var(--bg2),var(--bg));}
.int-layout{display:grid;grid-template-columns:320px 1fr;gap:4rem;align-items:start;}
.int-left h2{font-size:clamp(1.9rem,3.5vw,2.6rem);color:var(--tx);margin-bottom:1.2rem;}
.int-left h2 .g{background:var(--a-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.int-left p{font-size:.92rem;color:var(--txm);line-height:1.8;margin-bottom:1.8rem;}
.int-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.qc{position:relative;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);padding:2.4rem;overflow:hidden;}
.qc::before{content:'';position:absolute;top:-20%;right:-10%;width:60%;height:80%;background:radial-gradient(circle,var(--a-soft) 0%,transparent 60%);pointer-events:none;}
.qc-mark{font-family:'Sora',sans-serif;font-size:3rem;font-weight:800;color:var(--a1);line-height:.6;margin-bottom:1.4rem;}
.qc-text{font-family:'Sora',sans-serif;font-weight:500;font-size:1.06rem;line-height:1.55;color:var(--tx);margin-bottom:1.4rem;}
.qc-attr{font-family:'Geist Mono',monospace;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txf);}

/* ── INTERVIEW player ── */
.int-head{max-width:680px;margin:0 0 3rem;}
.int-head h2{font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--tx);margin:.4rem 0 1rem;}
.int-head h2 .g{background:var(--a-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.int-head p{font-size:1rem;color:var(--txm);line-height:1.8;}
.int-media{display:grid;grid-template-columns:1.55fr 1fr;gap:1.4rem;align-items:stretch;}
.int-pcol{display:flex;flex-direction:column;gap:.9rem;}
.player-cap{font-family:'Geist Mono',monospace;font-size:.68rem;letter-spacing:.04em;color:var(--txf);text-align:center;}
.player{position:relative;aspect-ratio:16/9;border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;cursor:pointer;
  background:linear-gradient(160deg,var(--bg3),var(--bg2));}
.player::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 50% 40%,var(--a-soft2) 0%,transparent 60%);opacity:.7;transition:opacity .3s;}
.player:hover::after{opacity:1;}
.player-grid{position:absolute;inset:0;pointer-events:none;opacity:.4;
  background-image:linear-gradient(var(--bd) 1px,transparent 1px),linear-gradient(90deg,var(--bd) 1px,transparent 1px);background-size:38px 38px;
  -webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000,transparent 75%);}
.player-poster{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:1.5rem;}
.player-play{width:76px;height:76px;border-radius:50%;background:var(--a-grad);color:var(--a-ink);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;padding-left:5px;
  box-shadow:0 12px 44px -8px var(--a-glow);transition:transform .3s var(--ease);}
.player:hover .player-play{transform:scale(1.08);}
.player-lbl{font-family:'Sora',sans-serif;font-weight:600;font-size:1.08rem;color:var(--tx);}
.player-sub{font-family:'Geist Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txl);margin-top:-.5rem;}
.player-soon{position:absolute;top:1rem;right:1rem;z-index:3;font-family:'Geist Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--a1);background:var(--a-soft);border:1px solid var(--bd);padding:.28rem .7rem;border-radius:var(--r-pill);}
.player.loaded{cursor:default;background:#000;}
.player.loaded .player-poster,.player.loaded::after,.player.loaded .player-grid,.player.loaded .player-soon{display:none;}
.player.audio{aspect-ratio:auto;min-height:232px;}
.int-media .int-cards{grid-template-columns:1fr;gap:1.2rem;}

/* ============================================================
   RÉSERVER
   ============================================================ */
.book-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;max-width:920px;margin:0 auto;}
.bc{position:relative;padding:2.6rem;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;}
.bc-light{background:var(--bg2);border:1px solid var(--bd);}
.bc-dark{background:linear-gradient(160deg,var(--a-soft),var(--a-soft2));border:1px solid var(--bd2);}
.bc-dark::before{content:'';position:absolute;top:-30%;right:-20%;width:70%;height:120%;background:radial-gradient(circle,var(--a-soft2) 0%,transparent 60%);pointer-events:none;}
.bc-meta{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;font-size:.78rem;}
.bc-time{display:flex;align-items:center;gap:.45rem;color:var(--txm);}
.bc-free{color:var(--a1);font-family:'Geist Mono',monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;}
.bc-name{position:relative;font-family:'Sora',sans-serif;font-size:1.6rem;font-weight:700;color:var(--tx);margin-bottom:.8rem;}
.bc-p{position:relative;font-size:.88rem;color:var(--txm);line-height:1.75;margin-bottom:1.8rem;}
.bc-cks{position:relative;display:flex;flex-direction:column;gap:.55rem;margin-bottom:2rem;}
.bc-ck{font-size:.86rem;color:var(--txm);display:flex;align-items:center;gap:.55rem;}
.bc-ck::before{content:'✓';color:var(--a1);font-weight:700;}
.bc .btn{position:relative;justify-content:center;width:100%;margin-top:auto;}

/* ============================================================
   CONTACT
   ============================================================ */
.ct-layout{display:grid;grid-template-columns:380px 1fr;gap:5rem;align-items:start;}
.ct-left h2{font-size:clamp(2rem,4vw,3rem);color:var(--tx);margin-bottom:1.3rem;}
.ct-left>p{font-size:.95rem;color:var(--txm);line-height:1.8;margin-bottom:2.4rem;}
.clink{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--bd);font-size:.9rem;color:var(--txm);transition:color .2s;}
.clink:hover{color:var(--tx);}
.cico{width:38px;height:38px;border:1px solid var(--bd);border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:600;font-family:'Geist Mono',monospace;color:var(--txm);transition:all .25s;flex-shrink:0;}
.clink:hover .cico{border-color:var(--a1);background:var(--a-soft);color:var(--a1);}
.ct-form{display:flex;flex-direction:column;gap:1.2rem;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r);padding:2.4rem;}
.fg{display:flex;flex-direction:column;gap:.5rem;}
.fg.row2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.flbl{font-family:'Geist Mono',monospace;font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--txl);}
.finput,.ftarea{background:var(--bg);border:1px solid var(--bd2);color:var(--tx);padding:.9rem 1.1rem;font-family:'Geist',sans-serif;font-size:.9rem;outline:none;border-radius:var(--r-sm);transition:border-color .2s,box-shadow .2s;}
.finput:focus,.ftarea:focus{border-color:var(--a1);box-shadow:0 0 0 3px var(--a-soft);}
.finput::placeholder,.ftarea::placeholder{color:var(--txf);}
.ftarea{min-height:130px;resize:vertical;}
.ct-form .btn{align-self:flex-start;}

/* ============================================================
   FOOTER
   ============================================================ */
footer{position:relative;padding:5rem 2rem 2.5rem;background:var(--bg2);border-top:1px solid var(--bd);overflow:hidden;}
.foot-aurora{position:absolute;bottom:-60%;left:50%;transform:translateX(-50%);width:min(900px,110vw);height:500px;
  background:radial-gradient(ellipse at center,var(--a-glow) 0%,transparent 60%);opacity:.3;filter:blur(40px);pointer-events:none;}
.foot-top{position:relative;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;max-width:var(--maxw);margin:0 auto 3rem;}
.foot-brand .n-logo{font-size:1.4rem;margin-bottom:1rem;}
.foot-brand p{font-size:.88rem;color:var(--txm);line-height:1.8;max-width:300px;}
.foot-col h4{font-family:'Geist Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txf);margin-bottom:1.2rem;font-weight:500;}
.foot-col a{display:block;font-size:.88rem;color:var(--txm);padding:.4rem 0;transition:color .2s;}
.foot-col a:hover{color:var(--a1);}
.foot-bot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:var(--maxw);margin:0 auto;padding-top:2rem;border-top:1px solid var(--bd);}
.foot-copy{font-size:.78rem;color:var(--txf);}
.foot-made{font-family:'Geist Mono',monospace;font-size:.72rem;color:var(--txf);}

/* ── KEYFRAMES ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1000px){
  .cr-top{grid-template-columns:1fr;}
  .os-layout,.faq-layout,.ct-layout,.int-layout{grid-template-columns:1fr;gap:3rem;}
  .int-media{grid-template-columns:1fr;}
  .int-media .int-cards{grid-template-columns:1fr 1fr;}
  .ab-layout{grid-template-columns:1fr;gap:3rem;}
  .ab-visual{order:-1;}
  .real-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:1024px){
  .n-menu{display:none;}
  .n-menu.open{display:flex;flex-direction:column;position:fixed;top:62px;left:0;right:0;
    padding:1.6rem;gap:1.2rem;background:rgba(5,8,15,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--bd);align-items:flex-start;z-index:199;}
  .hamburger{display:flex;}
}
@media(max-width:820px){
  section{padding:6rem 1.4rem;}
  #accueil{padding:9rem 1.4rem 4rem;}
  .n-cta{display:none;}
  .stats{grid-template-columns:1fr 1fr;}
  .stat:nth-child(2){border-right:none;}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--bd);}
  .srv-grid{grid-template-columns:1fr;}
  .real-grid{grid-template-columns:1fr;}
  .int-cards{grid-template-columns:1fr;}
  .int-media .int-cards{grid-template-columns:1fr;}
  .book-layout{grid-template-columns:1fr;}
  .ab-pillars{grid-template-columns:1fr 1fr;}
  .foot-top{grid-template-columns:1fr;gap:2.2rem;}
  .foot-bot{flex-direction:column;text-align:center;}
  .fg.row2{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .stats{grid-template-columns:1fr;}
  .stat{border-right:none;border-bottom:1px solid var(--bd);}
  .stat:last-child{border-bottom:none;}
  .crombec,.srv,.bc,.ct-form{padding:1.8rem;}
}

/* print: never hide content behind scroll-reveal */
@media print{
  .reveal{opacity:1!important;transform:none!important;}
}

/* reduced motion */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;}
  .reveal{opacity:1;transform:none;}
}

/* ============================================================
   TWEAKS PANEL
   ============================================================ */
#tweaks{position:fixed;right:18px;bottom:18px;z-index:500;width:300px;
  background:rgba(8,13,23,.94);backdrop-filter:blur(22px) saturate(140%);
  border:1px solid var(--bd2);border-radius:18px;padding:1.1rem 1.1rem 1.3rem;
  display:none;font-family:'Geist',sans-serif;color:var(--tx);box-shadow:0 24px 70px -24px rgba(0,0,0,.8);}
#tweaks.show{display:block;}
.tw-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;}
.tw-title{font-family:'Sora',sans-serif;font-weight:700;font-size:.98rem;}
.tw-close{width:27px;height:27px;border-radius:8px;border:1px solid var(--bd);color:var(--txm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;}
.tw-close:hover{background:var(--surf2);color:var(--tx);}
.tw-sec{margin-bottom:1.1rem;}
.tw-sec:last-child{margin-bottom:0;}
.tw-lbl{font-family:'Geist Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txl);margin-bottom:.55rem;}
.tw-seg{display:flex;gap:.3rem;background:var(--bg);border:1px solid var(--bd);border-radius:11px;padding:.25rem;}
.tw-seg button{flex:1;padding:.5rem .25rem;border-radius:8px;font-size:.72rem;color:var(--txm);transition:.2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;}
.tw-seg button:hover{color:var(--tx);}
.tw-seg button.on{background:var(--surf2);color:var(--tx);font-weight:500;border:1px solid var(--bd2);}
.tw-sw{width:100%;height:7px;border-radius:100px;}
.tw-input{width:100%;background:var(--bg);border:1px solid var(--bd2);color:var(--tx);border-radius:9px;padding:.6rem .75rem;font-size:.86rem;font-family:'Geist',sans-serif;outline:none;transition:border-color .2s;}
.tw-input:focus{border-color:var(--a1);}
.tw-toggle{display:flex;align-items:center;justify-content:space-between;}
.tw-toggle .tw-lbl{margin:0;}
.tw-tg{width:44px;height:25px;border-radius:100px;background:var(--surf2);border:1px solid var(--bd2);position:relative;transition:.25s;flex-shrink:0;}
.tw-tg::after{content:'';position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:var(--txm);transition:.25s;}
.tw-tg.on{background:var(--a-grad);border-color:transparent;}
.tw-tg.on::after{left:22px;background:var(--a-ink);}
@media(max-width:480px){#tweaks{left:12px;right:12px;width:auto;}}
