/* SB Digital — éditorial premium sombre */
:root{
  --nuit:#0a1626; --nuit2:#0e1f33; --carte:#12273f; --carte2:#16304b;
  --bord:rgba(184,204,228,.12); --bord-fort:rgba(184,204,228,.22);
  --bleu:#3b7bc0; --bleu-clair:#6aa6e0;
  --or:#cba65c; --or-clair:#e3c98b; --argent:#d6dee8;
  --blanc:#eef3f9; --gris:#9fb3c9; --gris2:#76899f;
  --r:16px; --wrap:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Hanken Grotesk",system-ui,sans-serif;background:var(--nuit);color:var(--gris);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:"Playfair Display",Georgia,serif;color:var(--blanc);line-height:1.12;font-weight:700}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 22px}
.eyebrow{font-family:"Hanken Grotesk";font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--or);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--or);display:inline-block}
section{padding:84px 0}
.lead{font-size:1.08rem;color:var(--gris);max-width:680px}
.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.92rem;padding:13px 24px;border-radius:999px;transition:.2s;cursor:pointer;border:1px solid transparent}
.btn-or{background:var(--or);color:#1a1205;font-weight:700}
.btn-or:hover{background:#dcb56a;transform:translateY(-2px)}
.btn-ghost{border-color:var(--bord-fort);color:var(--blanc)}
.btn-ghost:hover{border-color:var(--or);color:var(--or)}

/* ===== Header ===== */
.topnav{position:sticky;top:0;z-index:50;background:rgba(10,22,38,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--bord)}
.topnav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;font-family:"Playfair Display",serif;font-weight:700;color:var(--blanc);font-size:1.2rem;letter-spacing:.01em}
.brand img{height:56px;width:56px;border-radius:12px}
.navlinks{display:none;gap:30px;align-items:center}
.navlinks a{font-size:.9rem;font-weight:500;color:var(--gris);transition:.18s}
.navlinks a:hover{color:var(--blanc)}
.navlinks a.nav-cta{color:#1a1205;background:var(--or);padding:9px 18px;border-radius:999px;font-weight:700}
.navlinks a.nav-cta:hover{background:#dcb56a;color:#1a1205}
.burger{background:none;border:0;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:8px}
.burger span{width:24px;height:2px;background:var(--blanc);border-radius:2px;transition:.25s}
.mnav{display:none;border-top:1px solid var(--bord);background:var(--nuit2)}
.mnav.open{display:block}
.mnav a{display:block;padding:14px 22px;color:var(--gris);font-weight:500;border-bottom:1px solid var(--bord)}
.mnav a:hover{color:var(--or)}
@media(min-width:880px){.navlinks{display:flex}.burger{display:none}.mnav{display:none!important}}

/* ===== Hero ===== */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 75% -10%,rgba(59,123,192,.22),transparent 60%),linear-gradient(180deg,#0b1a2e 0%,var(--nuit) 100%);padding:96px 0 84px}
.hero .feather{position:absolute;right:-40px;top:-30px;width:340px;opacity:.07;transform:rotate(8deg);pointer-events:none}
.hero h1{font-size:clamp(2.3rem,5.5vw,3.7rem);margin-bottom:18px}
.hero h1 .or{color:var(--or);font-style:italic}
.hero .kicker{font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bleu-clair);font-weight:600;margin-bottom:22px}
.hero p.lead{font-size:1.16rem;margin-bottom:14px}
.hero .promise{color:var(--argent);font-size:1.02rem;max-width:640px;margin-bottom:30px}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:14px}

/* ===== Stats ===== */
.stats{border-top:1px solid var(--bord);border-bottom:1px solid var(--bord);background:var(--nuit2);padding:34px 0}
.stats .grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 16px;text-align:center}
.stat .num{font-family:"Playfair Display",serif;font-size:2.1rem;color:var(--or);font-weight:700}
.stat .lab{font-size:.82rem;color:var(--gris2);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
@media(min-width:760px){.stats .grid{grid-template-columns:repeat(4,1fr)}}

/* ===== Section titres ===== */
h2.sec{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:14px}
.sec-intro{color:var(--gris);max-width:640px;margin-bottom:42px;font-size:1.05rem}

/* ===== Solutions (cartes) ===== */
.sols{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:720px){.sols{grid-template-columns:1fr 1fr}}
.sol{background:linear-gradient(160deg,var(--carte) 0%,var(--nuit2) 100%);border:1px solid var(--bord);border-radius:var(--r);padding:30px 28px;transition:.22s;position:relative;overflow:hidden}
.sol:hover{border-color:var(--or);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.sol .tag{font-family:"Hanken Grotesk";font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--or)}
.sol h3{font-size:1.5rem;margin:8px 0 6px}
.sol .sub{color:var(--bleu-clair);font-size:.92rem;font-weight:600;margin-bottom:16px}
.sol ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
.sol li{font-size:.93rem;color:var(--gris);padding-left:24px;position:relative}
.sol li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--or);opacity:.8}
.sol .lnk{font-weight:600;color:var(--or);font-size:.92rem}
.sol .lnk:hover{color:var(--or-clair,#e3c98b)}

/* ===== Méthode (chaîne) ===== */
.method{background:var(--nuit2);border-top:1px solid var(--bord);border-bottom:1px solid var(--bord)}
.chain{display:grid;grid-template-columns:1fr;gap:14px;counter-reset:step}
@media(min-width:820px){.chain{grid-template-columns:repeat(5,1fr)}}
.step{background:var(--carte);border:1px solid var(--bord);border-radius:14px;padding:22px 18px;position:relative}
.step .n{counter-increment:step;font-family:"Playfair Display",serif;font-size:1.5rem;color:var(--or);font-weight:700}
.step .n::before{content:counter(step)}
.step h4{color:var(--blanc);font-family:"Hanken Grotesk";font-weight:700;font-size:1rem;margin:6px 0 6px}
.step p{font-size:.86rem;color:var(--gris)}

/* ===== Bloc agence ===== */
.agence{background:linear-gradient(135deg,#0c1d33,#13314f);border:1px solid var(--bord-fort);border-radius:20px;padding:44px 36px}
.agence h2{font-size:clamp(1.7rem,3.2vw,2.2rem);margin-bottom:14px}
.agence .pts{display:grid;grid-template-columns:1fr;gap:18px;margin-top:26px}
@media(min-width:720px){.agence .pts{grid-template-columns:1fr 1fr}}
.agence .pt{display:flex;gap:14px;align-items:flex-start}
.agence .pt .ic{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:rgba(203,166,92,.14);color:var(--or);display:grid;place-items:center;font-size:1.2rem}
.agence .pt b{color:var(--blanc);font-family:"Hanken Grotesk"}
.agence .pt span{display:block;font-size:.9rem;color:var(--gris)}

/* ===== Preuve ÉOS ===== */
.proof .box{display:grid;grid-template-columns:1fr;gap:26px;align-items:center;background:var(--carte);border:1px solid var(--bord);border-left:4px solid var(--or);border-radius:var(--r);padding:34px 32px}
@media(min-width:820px){.proof .box{grid-template-columns:1.4fr 1fr}}

/* ===== Fondateur ===== */
.founder{background:var(--nuit2);border-top:1px solid var(--bord)}
.founder .box{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
@media(min-width:760px){.founder .box{grid-template-columns:auto 1fr}}
.founder .ph{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid var(--or);filter:grayscale(.2)}
.founder .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.founder .chip{font-size:.78rem;color:var(--argent);background:rgba(255,255,255,.05);border:1px solid var(--bord);padding:6px 13px;border-radius:999px}

/* ===== Footer ===== */
.foot{background:#070f1c;border-top:1px solid var(--bord);padding:46px 0 28px;font-size:.9rem;color:var(--gris2)}
.foot .top{display:grid;grid-template-columns:1fr;gap:24px;padding-bottom:26px;border-bottom:1px solid var(--bord)}
@media(min-width:760px){.foot .top{grid-template-columns:2fr 1fr 1fr}}
.foot h4{color:var(--blanc);font-family:"Hanken Grotesk";font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}
.foot a{color:var(--gris);display:block;margin-bottom:8px}
.foot a:hover{color:var(--or)}
.foot .legal{padding-top:22px;font-size:.78rem;color:var(--gris2);line-height:1.7}
.foot .legal a{display:inline;color:var(--gris)}
.foot .brand-f{font-family:"Playfair Display",serif;color:var(--blanc);font-size:1.15rem;margin-bottom:8px}

/* ===== Corporate : histoire (cartes, comme la philosophie) ===== */
.histoire .signoff{max-width:760px;margin:32px auto 0;text-align:center;font-size:1.05rem;color:var(--gris)}
.histoire .signoff b{display:block;margin-top:12px;font-family:"Playfair Display",serif;font-weight:700;font-size:1.5rem;color:var(--or)}

/* ===== Corporate : principes ===== */
.principes{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:720px){.principes{grid-template-columns:1fr 1fr}}
.principe{background:var(--carte);border:1px solid var(--bord);border-top:3px solid var(--or);border-radius:14px;padding:24px 26px}
.principe h3{font-family:"Hanken Grotesk";font-weight:700;color:var(--blanc);font-size:1.1rem;margin-bottom:8px}
.principe p{font-size:.95rem;color:var(--gris)}

/* ===== Corporate : réalisations ===== */
.realz{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:760px){.realz{grid-template-columns:repeat(3,1fr)}}
.real{background:linear-gradient(160deg,var(--carte),var(--nuit2));border:1px solid var(--bord);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;transition:.22s}
.real:hover{border-color:var(--or);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.real .plaque{background:#fff;border-radius:12px;height:94px;display:flex;align-items:center;justify-content:center;padding:14px;margin-bottom:18px}
.real .plaque img{max-height:62px;width:auto}
.real .role{color:var(--bleu-clair);font-weight:600;font-size:.9rem;margin-bottom:8px}
.real p{font-size:.92rem;color:var(--gris);margin-bottom:16px}
.real .lnk{margin-top:auto;color:var(--or);font-weight:600;font-size:.92rem}
.real .lnk:hover{color:var(--or-clair)}
.real .soon{margin-top:auto;color:var(--gris2);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}

/* ===== Corporate : projets ===== */
.projets{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:720px){.projets{grid-template-columns:1fr 1fr}}
.projet{background:var(--nuit2);border:1px dashed var(--bord-fort);border-radius:14px;padding:20px 22px}
.projet .badge{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gris2);font-weight:700}
.projet h3{font-family:"Hanken Grotesk";font-weight:700;color:var(--blanc);font-size:1.05rem;margin:6px 0 6px}
.projet p{font-size:.9rem;color:var(--gris)}
.real .etym{font-size:.82rem;color:var(--gris2);font-style:italic;margin:-2px 0 12px;line-height:1.4}
/* Incipit en serif éditorial (façon claude.ai) */
.hero p.lead,.hero .promise{font-family:"Source Serif 4",Georgia,serif}
.hero p.lead{font-size:1.28rem;line-height:1.5}
.hero .promise{font-size:1.08rem}
/* Texte de lecture en serif éditorial (Source Serif 4) */
.sec-intro,
.principe p,
.real p,
.real .etym,
.projet p,
.founder p,
.histoire .signoff,
.proof p,
.agence .pt span,
.sol li{font-family:"Source Serif 4",Georgia,serif}
.principe p,.real p,.projet p,.founder p{font-size:1rem;line-height:1.65}
.foot .legal img{display:inline-block;height:22px;width:auto;border-radius:5px;vertical-align:middle;margin-left:3px}
