/* ==========================================================================
   QUARBON · Direction artistique
   Chargée après les styles propres à chaque page : redéfinit les tokens
   historiques (--blanc, --vert, --accent…) et le rendu des composants.
   ========================================================================== */

:root{
  --q-bg:#000;
  --q-band:rgba(255,255,255,.018);
  --q-surface:#0B0E11;
  --q-line:rgba(255,255,255,.10);
  --q-line-2:rgba(255,255,255,.20);
  --q-text:#F2F4F6;
  --q-text-2:rgba(242,244,246,.68);
  --q-text-3:rgba(242,244,246,.48);
  --q-accent:#4FD1FF;
  --q-accent-soft:rgba(79,209,255,.07);
  --q-accent-line:rgba(79,209,255,.35);

  /* Les pages utilisent --blanc à la fois comme fond de carte et comme
     couleur de texte sur photo : les usages « texte » sont forcés en #fff
     plus bas, composant par composant. */
  --blanc:var(--q-surface);
  --fond:var(--q-bg);
  --noir:var(--q-text);
  --noir-doux:rgba(242,244,246,.80);
  --gris:var(--q-text-2);
  --gris-clair:var(--q-text-3);
  --gris-border:var(--q-line);
  --vert:var(--q-accent);
  --vert-clair:#9BE7FF;
  --vert-bg:var(--q-accent-soft);
  --accent:var(--q-accent);
  --accent-clair:#9BE7FF;
  --accent-bg:var(--q-accent-soft);

  --font-sans:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-serif:'Barlow Condensed','Arial Narrow',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  color-scheme:dark;
}

/* ---------- Base ---------- */
html{background:var(--q-bg);scrollbar-color:#2a2f35 #000;scroll-padding-top:84px;}
body{background:var(--q-bg);color:var(--q-text);font-family:var(--font-sans);font-feature-settings:normal;}
::selection{background:var(--q-accent);color:#000;}
@keyframes qpulse{0%,100%{opacity:1}50%{opacity:.35}}

body::before{
  opacity:1;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:96px 96px;
  background-position:center top;
}
body::after{
  content:'';position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

.bg-fond{background:transparent;}
.bg-white{background:var(--q-band);}
section.bg-fond,section.bg-white{border-top:1px solid var(--q-line);}

/* ---------- Titres ---------- */
h1,h2,h3,.section-title,.pilot-title,.offer-title,.case-headline,.timeline-title,
.card h3,.pillar h3,.gg-col h4,.synth-item h4,.mstep .t,.equip-name,.effect-name,.page-title{
  font-family:var(--font-serif);font-style:normal;text-transform:uppercase;font-weight:600;letter-spacing:.012em;
}
h1,h2,.section-title,.pilot-title{text-wrap:balance;}
h1 em,h2 em,h3 em,.section-title em,.pilot-title em{font-style:normal !important;color:var(--q-accent) !important;}
.section-title{font-size:clamp(2.3rem,4.8vw,4.3rem);line-height:.98;color:var(--q-text);}
.section-intro{color:var(--q-text-2);font-weight:300;}

.section-label,.card-tag,.offer-num,.hero-tag,.page-hero .tag{
  font-family:var(--font-mono);font-weight:500;letter-spacing:.2em;color:var(--q-accent);
}
.section-label::before{
  content:'';display:inline-block;width:6px;height:6px;margin:0 .7rem .15em 0;vertical-align:middle;
  background:var(--q-accent);box-shadow:0 0 10px var(--q-accent);
}

/* ---------- Boutons ---------- */
.btn-primary,.btn-ghost-light,.btn-submit,.booking-line a,.nav-links a.nav-btn{
  font-family:var(--font-serif);font-weight:600;text-transform:uppercase;letter-spacing:.16em;border-radius:0;
}
.btn-primary{background:#fff;color:#000;border:1px solid #fff;padding:1.05rem 2.2rem;font-size:.86rem;box-shadow:none;}
.btn-primary:hover{background:var(--q-accent);border-color:var(--q-accent);color:#000;transform:none;box-shadow:0 0 36px rgba(79,209,255,.35);}
.btn-ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);padding:1.05rem 2.2rem;font-size:.86rem;}
.btn-ghost-light:hover{background:#fff;color:#000;border-color:#fff;}
.btn-submit{background:#fff;color:#000;font-size:.9rem;}
.btn-submit:hover{background:var(--q-accent);color:#000;}

/* ---------- Navigation ---------- */
nav{padding:1.3rem 5vw;}
nav.scrolled{
  background:rgba(0,0,0,.72);box-shadow:none;border-bottom:1px solid var(--q-line);
  -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
}
.nav-logo,nav.over-hero .nav-logo{
  font-family:var(--font-serif);font-style:normal;font-weight:600;text-transform:uppercase;
  letter-spacing:.38em;font-size:1.2rem;color:#fff;
}
.nav-links a,nav.over-hero .nav-links a{
  font-family:var(--font-serif);font-weight:500;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;
  color:rgba(255,255,255,.72);
}
.nav-links a:hover,nav.over-hero .nav-links a:hover{color:#fff;}
.nav-links a.nav-btn,nav.over-hero .nav-links a.nav-btn{
  background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff !important;padding:.55rem 1.1rem;font-size:.74rem;
}
.nav-links a.nav-btn:hover,nav.over-hero .nav-links a.nav-btn:hover{background:#fff;border-color:#fff;color:#000 !important;}
.lang-switch a,nav.over-hero .lang-switch a{font-family:var(--font-mono);letter-spacing:.12em;border:1px solid rgba(255,255,255,.25);border-radius:0;}
.nav-hamburger span,nav.over-hero .nav-hamburger span{background:#fff;}

/* ---------- Hero ---------- */
.hero{align-items:flex-end;justify-content:flex-start;padding:9rem 5vw 5rem;}
.hero-image{filter:grayscale(1) contrast(1.12) brightness(.72);}
.hero-overlay{background:
  linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.25) 100%),
  linear-gradient(0deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,0) 55%);}
.hero-content{max-width:1150px;text-align:left;padding:0;color:#fff;}
.hero-tag{margin-bottom:1.6rem;}
.hero h1{color:#fff;font-size:clamp(2.6rem,5.6vw,5.6rem);line-height:.93;letter-spacing:.005em;margin-bottom:1.6rem;}
.hero-subtitle{margin:0 0 2.4rem;max-width:600px;color:rgba(255,255,255,.74);font-weight:400;}
.hero-cta-row{justify-content:flex-start;}
.hero-stats{justify-content:flex-start;gap:0;margin-top:3.2rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.16);max-width:720px;}
.stat-item{align-items:flex-start;padding-right:2.4rem;margin-right:2.4rem;border-right:1px solid rgba(255,255,255,.16);}
.stat-item:last-child{border-right:none;margin-right:0;padding-right:0;}
.stat-item:not(:last-child)::after{display:none;}
.stat-val{font-family:var(--font-serif);font-style:normal;font-weight:600;text-transform:uppercase;font-size:2.4rem;color:#fff;letter-spacing:.01em;}
.stat-label{font-family:var(--font-mono);font-weight:500;letter-spacing:.16em;color:rgba(255,255,255,.5);}
.trust-strip{justify-content:flex-start;}
.trust-strip span{color:rgba(255,255,255,.62);}
.trust-strip span::before{background:var(--q-accent);border-radius:0;}

/* Repères de visée (hero, hero secondaire, visuels) */
.hero::after,.page-hero::after,.philo-image-wrap::before,.method-image-wrap::before{
  content:'';position:absolute;z-index:2;pointer-events:none;opacity:.45;
  background:
    linear-gradient(#fff,#fff) top left/26px 1px no-repeat,
    linear-gradient(#fff,#fff) top left/1px 26px no-repeat,
    linear-gradient(#fff,#fff) top right/26px 1px no-repeat,
    linear-gradient(#fff,#fff) top right/1px 26px no-repeat,
    linear-gradient(#fff,#fff) bottom left/26px 1px no-repeat,
    linear-gradient(#fff,#fff) bottom left/1px 26px no-repeat,
    linear-gradient(#fff,#fff) bottom right/26px 1px no-repeat,
    linear-gradient(#fff,#fff) bottom right/1px 26px no-repeat;
}
.hero::after,.page-hero::after{top:6.5rem;right:clamp(1rem,3vw,2.4rem);bottom:clamp(1rem,3vw,2.4rem);left:clamp(1rem,3vw,2.4rem);}
.philo-image-wrap::before,.method-image-wrap::before{inset:14px;opacity:.55;}

/* ---------- Visuels ---------- */
.philo-image-wrap,.method-image-wrap{border-radius:2px;box-shadow:none;border:1px solid var(--q-line);}
.philo-image-wrap img,.method-image-wrap img{filter:grayscale(1) contrast(1.15) brightness(.82);}
.philo-image-wrap::after,.method-image-wrap::after{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.8) 100%);mix-blend-mode:normal;}
.philo-image-caption,.method-image-caption{
  font-family:var(--font-serif);font-style:normal;text-transform:uppercase;letter-spacing:.06em;font-weight:600;
  font-size:1.15rem;color:#fff;text-shadow:none;
}
.propos-img{border-radius:2px;border:1px solid var(--q-line-2);box-shadow:none;filter:grayscale(1) contrast(1.1);}

/* ---------- Piliers, cartes, marqueurs ---------- */
.pillar{border-top:1px solid var(--q-line);}
.pillar-number{font-family:var(--font-mono);color:var(--q-accent);letter-spacing:.2em;}
.pillar h3{color:#fff;font-size:1.45rem;}
.pillar p{color:var(--q-text-2);}

.card,.bg-white .card{background:var(--q-surface);border:1px solid var(--q-line);border-radius:2px;box-shadow:none;}
.card:hover,.bg-white .card:hover{transform:none;border-color:var(--q-accent-line);box-shadow:0 0 0 1px rgba(79,209,255,.08),0 24px 80px rgba(0,0,0,.55);}
.card h3{color:#fff;letter-spacing:.02em;}
.card p{color:var(--q-text-2);}
.card-highlight{font-family:var(--font-serif);font-style:normal;font-weight:600;text-transform:uppercase;color:#fff;letter-spacing:.01em;}

.effect-item{position:relative;background:var(--q-surface);border:1px solid var(--q-line);border-radius:2px;}
.effect-item::before{content:'';position:absolute;top:-1px;left:-1px;width:28px;height:2px;background:var(--q-accent);box-shadow:0 0 10px var(--q-accent);}
.effect-name{color:#fff;font-size:1.1rem;letter-spacing:.04em;}
.effect-desc{color:var(--q-text-2);}

.timeline::before{background:var(--q-line);}
.section-title + .timeline{margin-top:3.5rem;}
.timeline-item::before{border-radius:0;width:9px;height:9px;left:-4px;background:#000;border:1px solid var(--q-accent);box-shadow:0 0 10px rgba(79,209,255,.5);}
.timeline-year{font-family:var(--font-mono);color:var(--q-accent);}
.timeline-title{color:#fff;font-size:1.3rem;}
.timeline-text{color:var(--q-text-2);}

/* ---------- Moniteur live & restitution ---------- */
.live-frame,.live-wrap .live-frame{background:var(--q-surface);color:#fff;border:1px solid var(--q-line);border-bottom:none;border-radius:2px 2px 0 0;}
.live-frame .lf-t{font-family:var(--font-serif);font-style:normal;text-transform:uppercase;letter-spacing:.16em;font-weight:600;font-size:.95rem;}
.live-frame .lf-m{color:var(--q-text-3);font-family:var(--font-mono);}
.live-grid{background:#050608;border:1px solid var(--q-line);border-radius:0 0 2px 2px;}
.live-card{background:var(--q-surface);border:1px solid var(--q-line);border-left-width:3px;border-radius:2px;}
.live-card .lc-name{color:#fff;font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
.live-card .lc-hr{color:#fff;text-shadow:0 0 22px rgba(255,255,255,.15);}
.live-card .lc-hr small{color:var(--q-text-3);}
.live-card .lc-bar{background:rgba(255,255,255,.07);}
.live-card .lc-foot{color:var(--q-text-3);}
.live-note{color:var(--q-text-3);font-style:normal;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;}

.report-mock{background:var(--q-surface);border:1px solid var(--q-line);border-radius:2px;box-shadow:0 30px 100px rgba(0,0,0,.6);}
.report-bar{background:#000;color:#fff;border-bottom:1px solid var(--q-line);}
.report-bar .rb-title{font-family:var(--font-serif);font-style:normal;text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:1rem;}
.report-bar .rb-meta{color:var(--q-text-3);}
.report-inner h5{color:var(--q-text-3);}
.zbar{border-radius:0;}
.zbar-legend{color:var(--q-text-3);}
.rstat{background:#000;border:1px solid var(--q-line);border-radius:2px;}
.rstat .rv{color:#fff;}
.rstat .rl{color:var(--q-text-2);}
.rstat .rd{color:var(--q-accent);}
.report-note{color:var(--q-text-3);font-style:normal;}

/* ---------- Programme pilote ---------- */
.pilot-card{background:var(--q-surface);border:1px solid var(--q-accent-line);border-radius:2px;box-shadow:0 0 0 1px rgba(79,209,255,.06),0 40px 140px rgba(79,209,255,.07);}
.pilot-card::before{height:2px;background:linear-gradient(90deg,var(--q-accent) 0%,rgba(79,209,255,.35) 45%,rgba(79,209,255,0) 100%);}
.pilot-title{color:#fff;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1;}
.pilot-intro{color:var(--q-text-2);}
.badge-scarcity{font-family:var(--font-mono);font-weight:500;color:var(--q-accent);background:var(--q-accent-soft);border:1px solid var(--q-accent-line);border-radius:0;letter-spacing:.14em;}
.badge-scarcity::before{border-radius:0;background:var(--q-accent);box-shadow:0 0 12px var(--q-accent);animation:qpulse 1.6s infinite;}
.gg-col{border-radius:2px;border:1px solid var(--q-line);}
.gg-col.get{background:var(--q-accent-soft);border-color:var(--q-accent-line);}
.gg-col.give{background:#000;}
.gg-col h4{color:#fff;font-size:1.15rem;letter-spacing:.04em;}
.gg-col li{color:var(--q-text-2);}
.gg-col li strong{color:#fff;}
.gg-col.get li::before{color:var(--q-accent);}
.gg-col.give li::before{color:var(--q-text-3);}
.pilot-guarantee{background:var(--q-accent-soft);border-left:2px solid var(--q-accent);border-radius:0;}
.pilot-guarantee svg{stroke:var(--q-accent);}
.pilot-guarantee p{color:var(--q-text-2);}
.pilot-firstmark{color:var(--q-text-3);font-style:normal;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;}

/* ---------- Offres, testing, FAQ ---------- */
.offer,.bg-fond .offer{background:var(--q-surface);border:1px solid var(--q-line);border-radius:2px;box-shadow:none;}
.offer-head{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:2.5rem;align-items:start;border-bottom:1px solid var(--q-line);}
.offer-price{text-align:left;border-left:1px solid var(--q-line);padding-left:1.6rem;}
.offer-num{color:var(--q-accent);}
.offer-title{color:#fff;font-size:1.9rem;line-height:1.02;}
.offer-price-val{font-family:var(--font-serif);font-style:normal;font-weight:600;text-transform:uppercase;color:#fff;letter-spacing:.04em;}
.offer-price-note{color:var(--q-text-3);}
.offer-body{color:var(--q-text-2);}
.offer-step-time{color:var(--q-accent);}
.offer-step-text{color:var(--q-text-2);}
.offer-meta span{background:transparent;border:1px solid var(--q-line-2);border-radius:0;color:var(--q-text-2);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;}

.equip-item{background:var(--q-surface);border:1px solid var(--q-line);border-left:2px solid var(--q-accent);border-radius:2px;}
.equip-name{color:#fff;font-size:1.15rem;letter-spacing:.04em;}
.equip-desc{color:var(--q-text-2);}

.faq-item{background:var(--q-surface);border:1px solid var(--q-line);border-radius:2px;}
.faq-item[open]{border-color:var(--q-accent-line);}
.faq-item summary{font-family:var(--font-sans);font-weight:500;font-size:1.06rem;letter-spacing:0;color:#fff;}
.faq-item summary::after{color:var(--q-accent);}
.faq-item .faq-a{color:var(--q-text-2);}
.faq-item .faq-a strong{color:#fff;}

/* ---------- Contact ---------- */
.contact-form{background:var(--q-surface);border:1px solid var(--q-line);border-radius:2px;box-shadow:none;}
.form-group label{font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:var(--q-text-3);}
.form-group input,.form-group textarea{color:#fff;border-bottom:1px solid var(--q-line-2);}
.form-group input:focus,.form-group textarea:focus{border-color:var(--q-accent);}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--q-text-3);}
.form-group input:-webkit-autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 1000px var(--q-surface) inset;}
.booking-line a{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;font-size:.8rem;}
.booking-line a:hover{background:#fff;color:#000;transform:none;}
.booking-line a.mail-btn{border-color:var(--q-line-2);color:var(--q-text-2);}
.booking-line a.mail-btn:hover{border-color:#fff;background:#fff;color:#000;}
.booking-line .or{font-family:var(--font-mono);color:var(--q-text-3);}

/* ---------- Études de cas ---------- */
.page-hero{align-items:flex-end;justify-content:flex-start;text-align:left;padding:9rem 5vw 4.5rem;}
.page-hero-image{filter:grayscale(1) contrast(1.12) brightness(.65);}
.page-hero-overlay{background:
  linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 60%,rgba(0,0,0,.3) 100%),
  linear-gradient(0deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,0) 60%);}
.page-hero-content{max-width:1100px;color:#fff;}
.page-hero h1{color:#fff;font-size:clamp(2.5rem,5.4vw,5rem);line-height:.95;}
.page-hero p{margin:0;max-width:640px;color:rgba(255,255,255,.72);}
.mstep{background:var(--q-surface);border:1px solid var(--q-line);border-left:2px solid var(--q-accent);border-radius:2px;}
.mstep .n{color:var(--q-accent);}
.mstep .t{color:#fff;font-size:1.1rem;letter-spacing:.04em;}
.mstep .d{color:var(--q-text-2);}
.case{background:var(--q-surface);border:1px solid var(--q-line);border-radius:2px;box-shadow:none;}
.case-role{color:var(--q-accent);}
.case-num{font-family:var(--font-mono);font-style:normal;color:var(--q-text-3);}
.case-headline{color:#fff;font-size:1.5rem;line-height:1.05;}
.case-tags span{background:transparent;border:1px solid var(--q-line-2);border-radius:0;color:var(--q-text-2);}
.case-body{color:var(--q-text-2);}
.case-take{background:var(--q-accent-soft);border-left:2px solid var(--q-accent);border-radius:0;}
.case-take .k{color:var(--q-accent);}
.case-take p{color:var(--q-text-2);}
.synth-item{background:var(--q-surface);border:1px solid var(--q-line);border-radius:2px;}
.synth-item h4{color:#fff;letter-spacing:.03em;}
.synth-item p{color:var(--q-text-2);}
.disclaimer{color:var(--q-text-3);font-style:normal;}

/* ---------- Footer ---------- */
footer{background:#000;border-top:1px solid var(--q-line);}
.footer-logo{font-family:var(--font-serif);font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.38em;font-size:1.2rem;color:#fff;}
.footer-brand p{color:var(--q-text-2);}
.footer-nav a{font-family:var(--font-serif);font-weight:500;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;color:var(--q-text-2);}
.footer-nav a:hover{color:#fff;}
.footer-base{border-top:1px solid var(--q-line);}
.footer-links,.footer-links span,.footer-links a{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;color:var(--q-text-3);font-style:normal !important;}
.footer-links a:hover{color:#fff;}

/* ---------- Pages légales ---------- */
.legal nav{background:rgba(0,0,0,.85);border-bottom:1px solid var(--q-line);}
.page-title{color:#fff;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1;}
.legal-section h2{font-family:var(--font-serif);font-style:normal;text-transform:uppercase;font-weight:600;letter-spacing:.04em;color:var(--q-accent);}
.legal-section p,.legal-section ul{color:var(--q-text-2);}
.legal-section strong{color:#fff;}
.legal-section a{color:var(--q-accent);}

/* ---------- Mobile ---------- */
@media(max-width:768px){
  nav{padding:1.1rem 1.25rem;}
  .hero{padding:7.5rem 1.25rem 3.5rem;}
  .hero h1{font-size:clamp(2.3rem,10.5vw,3.4rem);}
  .hero-stats{flex-wrap:wrap;justify-content:flex-start;gap:1.2rem 0;}
  .stat-item{padding-right:1.4rem;margin-right:1.4rem;}
  .stat-val{font-size:1.9rem;}
  .page-hero{padding:7.5rem 1.25rem 3.5rem;}
  .hero::after,.page-hero::after{top:5.5rem;}
  .offer-head{grid-template-columns:1fr;gap:1.2rem;}
  .offer-price{border-left:none;padding-left:0;}
  .zbar-legend{flex-wrap:wrap;justify-content:flex-start;gap:.35rem 1.1rem;}
  .rstat{padding:1rem .6rem;}
  .rstat .rv{font-size:1.3rem;}
}
