/* =========================================================
 guide.nationalité, feuille de style globale
 Palette & typo issues du handoff Claude Design
 ========================================================= */

:root{
 --bg:#FAF7EF;
 --ink:#1A1A40;
 --blue:#000091;
 --blue-hover:#13138f;
 --red:#E1000F;
 --red-dark:#C8102E;
 --muted:#54546E;
 --muted-2:#6C6C85;
 --muted-3:#7C7C97;
 --muted-4:#9A9A86;
 --border:#ECE6D8;
 --border-2:#EDE7D9;
 --border-3:#E7E1D2;
 --tint-blue:#E8EAFB;
 --tint-cream:#F4F0E6;
 --tint-red:#FCE7E9;
 --white:#fff;
 --font-display:'Bricolage Grotesque', system-ui, sans-serif;
 --font-body:'Hanken Grotesk', system-ui, -apple-system, sans-serif;
 --maxw:1180px;
 --shadow-card:0 6px 22px -16px rgba(26, 26, 64, .3);
 --shadow-soft:0 8px 30px -18px rgba(26, 26, 64, .25);
}

*{box-sizing:border-box;}
html, body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
 font-family:var(--font-body);
 background:var(--bg);
 color:var(--ink);
 -webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility;
 overflow-x:hidden;
}
::selection{background:#C9CEF5;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
h1, h2, h3, h4{font-family:var(--font-display);letter-spacing:-.025em;margin:0;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{max-width:var(--maxw);margin:0 auto;padding:64px 24px;}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.eyebrow.blue{color:var(--blue);}
.eyebrow.red{color:var(--red);}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--blue);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:200;}
.skip-link:focus{left:0;}
:focus-visible{outline:3px solid #8E95E8;outline-offset:2px;border-radius:6px;}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;border-radius:999px;font-weight:600;
 font-size:16px;cursor:pointer;border:none;font-family:inherit;transition:transform .18s ease,
 box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;line-height:1;}
.btn-primary{background:var(--blue);color:#fff;padding:15px 26px;box-shadow:0 8px 22px rgba(0, 0, 145, .26);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0, 0, 145, .32);background:var(--blue-hover);}
.btn-ghost{background:#fff;color:var(--ink);padding:15px 26px;border:1.5px solid #E4DECF;}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);}
.btn-light{background:#fff;color:var(--blue);padding:16px 30px;font-weight:700;}
.btn-light:hover{transform:translateY(-2px);}
.btn-sm{padding:10px 18px;font-size:14.5px;}
.btn-block{display:flex;justify-content:center;width:100%;}

/* ---------- En-tête / nav ---------- */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);
 background:rgba(250, 247, 239, .82);border-bottom:1px solid var(--border);}
.nav{max-width:var(--maxw);margin:0 auto;padding:15px 24px;display:flex;align-items:center;
 justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:11px;cursor:pointer;}
.brand .cockade{filter:drop-shadow(0 2px 4px rgba(0, 0, 145, .18));}
.brand-text{display:flex;flex-direction:column;line-height:1;}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.02em;}
.brand-sub{font-size:11px;color:var(--muted-3);font-weight:500;margin-top:3px;letter-spacing:.02em;}
.nav-links{display:flex;align-items:center;gap:28px;font-size:14.5px;font-weight:500;}
.nav-links a:not(.btn){color:#4A4A66;transition:color .15s;}
.nav-links a:not(.btn):hover, .nav-links a:not(.btn).active{color:var(--blue);}
.nav-links a.btn-primary{color:#fff;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;color:var(--ink);}
.nav-toggle svg{display:block;}

/* ---------- Hero accueil ---------- */
.hero{position:relative;max-width:var(--maxw);margin:0 auto;padding:72px 24px 40px;
 display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.blob{position:absolute;border-radius:50%;filter:blur(8px);opacity:.7;z-index:0;}
.blob-a{top:-40px;left:-120px;width:320px;height:320px;background:var(--tint-blue);}
.blob-b{bottom:-80px;right:-60px;width:260px;height:260px;background:var(--tint-red);}
.hero-col{position:relative;z-index:1;}
.pill-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border-3);
 padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--blue);
 box-shadow:0 2px 10px rgba(26, 26, 64, .04);}
.hero h1{font-weight:700;font-size:clamp(40px, 5.4vw, 66px);line-height:1.02;letter-spacing:-.03em;margin:22px 0 0;}
.hero h1 .accent{color:var(--blue);}
.lead{font-size:18.5px;line-height:1.5;color:var(--muted);max-width:480px;margin:22px 0 0;}
.lead strong{color:var(--ink);font-weight:600;}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px;}
.chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:600;}
.chip .dot{width:7px;height:7px;border-radius:50%;display:inline-block;}
.chip.blue{background:var(--tint-blue);color:var(--blue);}
.chip.blue .dot{background:var(--blue);}
.chip.cream{background:var(--tint-cream);color:#6A6A55;}
.chip.cream .dot{background:#9B9B86;}
.chip.red{background:var(--tint-red);color:var(--red-dark);}
.chip.red .dot{background:var(--red);}

/* carte profil / téléphone */
.hero-visual{position:relative;z-index:1;display:flex;justify-content:center;}
.float{position:absolute;z-index:3;}
.float-a{top:6%;right:4%;animation:floaty 6s ease-in-out infinite;}
.float-b{bottom:8%;left:0;animation:floaty2 7s ease-in-out infinite;}
.phone{width:312px;background:var(--ink);border-radius:42px;padding:11px;
 box-shadow:0 30px 60px -20px rgba(26, 26, 64, .45);position:relative;z-index:2;}
.phone-screen{background:#FBF9F3;border-radius:32px;overflow:hidden;}
.phone-status{display:flex;justify-content:space-between;align-items:center;padding:14px 22px 6px;font-size:13px;font-weight:700;}
.phone-body{padding:8px 20px 16px;}
.phone-head{display:flex;align-items:center;gap:18px;}
.phone-avatar{position:relative;width:74px;height:74px;border-radius:50%;padding:3px;
 background:conic-gradient(from 200deg, var(--blue), var(--red), var(--blue));}
.phone-avatar>div{width:100%;height:100%;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;}
.phone-stats{flex:1;display:flex;justify-content:space-around;text-align:center;}
.phone-stats b{font-weight:800;font-size:16px;}
.phone-stats span{font-size:11.5px;color:var(--muted-3);}
.phone-bio{margin-top:12px;line-height:1.45;}
.phone-bio .h{font-weight:700;font-size:14px;}
.phone-bio .s{font-size:12.5px;color:var(--muted-3);margin-bottom:6px;}
.phone-bio .l{font-size:12.5px;color:#3A3A57;}
.phone-btns{display:flex;gap:8px;margin-top:13px;}
.phone-btns div{flex:1;text-align:center;font-weight:600;font-size:12.5px;padding:9px 0;border-radius:11px;}
.phone-links{margin-top:13px;display:flex;flex-direction:column;gap:8px;}
.phone-link{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);
 border-radius:13px;padding:11px 13px;box-shadow:0 2px 8px rgba(26, 26, 64, .04);font-size:12.5px;font-weight:600;}

/* ---------- Visuel hero (cartes flottantes) ---------- */
.hero-art{position:relative;width:100%;max-width:430px;margin:0 auto;min-height:440px;}
.ha-quiz{position:absolute;top:28px;left:0;right:0;margin:0 auto;width:min(330px,94%);background:#fff;
 border:1px solid var(--border-2);border-radius:26px;padding:24px;box-shadow:0 34px 64px -30px rgba(0,0,145,.5);
 transform:rotate(-2deg);animation:floaty 7s ease-in-out infinite;z-index:2;}
.ha-quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.ha-tag{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);
 background:var(--tint-blue);padding:5px 11px;border-radius:999px;}
.ha-prog{font-size:12px;font-weight:700;color:var(--muted-3);}
.ha-question{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.22;color:var(--ink);margin-bottom:15px;}
.ha-opt{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13.5px;font-weight:600;
 color:#3A3A57;border:1.5px solid var(--border-3);border-radius:13px;padding:11px 14px;margin-bottom:8px;background:#fff;
 transition:transform .2s ease,border-color .2s ease;}
.ha-opt:last-child{margin-bottom:0;}
.ha-opt.right{border-color:var(--blue);background:var(--tint-blue);color:var(--blue);}
.ha-ck{width:20px;height:20px;flex:none;border-radius:50%;background:var(--blue);color:#fff;display:flex;
 align-items:center;justify-content:center;font-size:11px;}
.ha-stat{position:absolute;bottom:14px;right:2px;background:var(--blue);color:#fff;border-radius:22px;
 padding:16px 22px;box-shadow:0 22px 40px -18px rgba(0,0,145,.65);transform:rotate(3deg);
 animation:floaty2 8s ease-in-out infinite;z-index:4;text-align:center;}
.ha-stat .n{font-family:var(--font-display);font-weight:800;font-size:30px;line-height:1;}
.ha-stat .l{font-size:11px;color:#fff;opacity:.88;margin-top:5px;}
.ha-mini{position:absolute;top:0;left:2px;background:#fff;border:1px solid var(--border-2);border-radius:16px;
 padding:11px 15px;box-shadow:var(--shadow-card);transform:rotate(-5deg);z-index:3;display:flex;align-items:center;gap:9px;
 animation:floaty 9s ease-in-out infinite;}
.ha-mini .em{font-size:20px;}
.ha-mini b{font-size:13px;font-weight:700;color:var(--ink);display:block;}
.ha-mini span{font-size:11px;color:var(--muted-3);display:block;}

/* ---------- Header dynamique (au scroll) ---------- */
.site-header{transition:box-shadow .25s ease, background .25s ease;}
.site-header.scrolled{background:rgba(250,247,239,.94);box-shadow:0 6px 24px -18px rgba(26,26,64,.5);}
.nav-links a:not(.btn){position:relative;}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
 background:var(--blue);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.nav-links a:not(.btn):hover::after,.nav-links a:not(.btn).active::after{transform:scaleX(1);}

/* ---------- Révélation au défilement ---------- */
[data-animate]{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1);}
[data-animate].in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){[data-animate]{opacity:1;transform:none;}}

/* ---------- Trust strip ---------- */
.trust{display:grid;grid-template-columns:repeat(4, 1fr);gap:16px;background:#fff;border:1px solid var(--border-2);
 border-radius:24px;padding:26px 30px;box-shadow:var(--shadow-soft);}
.trust .num{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-.02em;}
.trust .lbl{font-size:13.5px;color:var(--muted-2);margin-top:2px;}

/* ---------- Section heads ---------- */
.sec-head{text-align:center;max-width:620px;margin:0 auto 44px;}
.sec-head h2{font-weight:700;font-size:clamp(30px, 3.8vw, 44px);line-height:1.06;margin:12px 0 0;}
.sec-head p{font-size:17px;color:var(--muted);line-height:1.5;margin:16px 0 0;}
.sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px;flex-wrap:wrap;}
.sec-head-row h2{font-weight:700;font-size:clamp(30px, 3.8vw, 44px);line-height:1.06;margin:12px 0 0;}
.linkmore{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--blue);font-size:15px;transition:gap .15s;}
.linkmore:hover{gap:12px;}

/* ---------- Cartes 3 piliers ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;}
.grid-2{display:grid;grid-template-columns:repeat(2, 1fr);gap:20px;}
.pillar{border-radius:26px;padding:30px;}
.pillar.blue{background:var(--tint-blue);}
.pillar.cream{background:var(--tint-cream);}
.pillar.red{background:var(--tint-red);}
.pillar .ic{width:50px;height:50px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;}
.pillar.blue .ic{background:var(--blue);box-shadow:0 6px 16px rgba(0, 0, 145, .28);}
.pillar.cream .ic{background:var(--ink);box-shadow:0 6px 16px rgba(26, 26, 64, .25);}
.pillar.red .ic{background:var(--red);box-shadow:0 6px 16px rgba(225, 0, 15, .25);}
.pillar h3{font-weight:700;font-size:22px;margin:18px 0 8px;}
.pillar p{font-size:15px;line-height:1.55;margin:0;}
.pillar.blue p{color:#3F3F62;}
.pillar.cream p{color:#52523F;}
.pillar.red p{color:#6B2733;}

/* ---------- Cartes articles ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;}
.acard{display:block;background:#fff;border:1px solid var(--border-2);border-radius:24px;overflow:hidden;
 box-shadow:var(--shadow-card);cursor:pointer;transition:transform .18s ease, box-shadow .18s ease;}
.acard:hover{transform:translateY(-4px);box-shadow:0 16px 34px -18px rgba(0, 0, 145, .35);}
.acard .thumb{height:120px;display:flex;align-items:center;justify-content:center;font-size:50px;}
.acard .body{padding:22px;}
.acard-meta{display:flex;align-items:center;gap:9px;margin-bottom:12px;}
.tag{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;display:inline-block;}
.acard h3{font-weight:700;font-size:18.5px;letter-spacing:-.015em;line-height:1.12;margin:0 0 8px;}
.acard p{font-size:13.5px;line-height:1.55;color:#5A5A74;margin:0 0 14px;}
.acard .more{font-size:13.5px;font-weight:600;}
.read{font-size:12px;color:var(--muted-4);}

/* carte article version "padding" (accueil) */
.acard-pad{padding:26px;}
.acard-pad .acard-meta{justify-content:space-between;margin-bottom:0;}
.acard-pad .ic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;}
.acard-pad h3{margin:18px 0 7px;font-size:19px;}
.acard-pad p{font-size:14px;color:#5A5A74;margin:0 0 16px;}

/* ---------- CTA blocs ---------- */
.cta{position:relative;overflow:hidden;background:var(--blue);border-radius:34px;
 padding:clamp(40px, 6vw, 74px);text-align:center;color:#fff;}
.cta .glow-1{position:absolute;top:-60px;left:-40px;width:200px;height:200px;border-radius:50%;background:rgba(225, 0, 15, .45);filter:blur(10px);}
.cta .glow-2{position:absolute;bottom:-70px;right:-30px;width:220px;height:220px;border-radius:50%;background:rgba(255, 255, 255, .12);filter:blur(8px);}
.cta-inner{position:relative;z-index:1;}
.cta h2{font-weight:700;font-size:clamp(30px, 4.4vw, 52px);line-height:1.05;letter-spacing:-.03em;margin:0 auto;max-width:680px;}
.cta p{font-size:18px;color:#FFFFFF;line-height:1.5;max-width:500px;margin:18px auto 0;}
.cta-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px;}
.spin{width:60px;height:60px;margin:0 auto 22px;animation:spinslow 22s linear infinite;}

/* ---------- Page Guide : pricing ---------- */
.page-head{position:relative;max-width:var(--maxw);margin:0 auto;padding:64px 24px 30px;text-align:center;}
.page-head .blob-c{position:absolute;top:0;left:50%;transform:translateX(-50%);width:480px;height:300px;
 background:var(--tint-blue);border-radius:50%;filter:blur(12px);opacity:.55;z-index:0;}
.page-head .inner{position:relative;z-index:1;}
.page-head h1{font-weight:700;font-size:clamp(34px, 4.8vw, 58px);line-height:1.03;letter-spacing:-.03em;margin:20px auto 0;max-width:740px;}
.page-head h1 .accent{color:var(--blue);}
.page-head p{font-size:18px;color:var(--muted);line-height:1.5;max-width:540px;margin:18px auto 0;}
.pricing{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;align-items:stretch;}
.price-card{background:#fff;border:1px solid var(--border-2);border-radius:28px;padding:34px;display:flex;flex-direction:column;}
.price-card h3{font-weight:700;font-size:21px;}
.price-card .desc{font-size:14.5px;color:var(--muted-2);margin:8px 0 0;line-height:1.5;}
.price{font-family:var(--font-display);font-weight:800;font-size:42px;margin:20px 0 4px;letter-spacing:-.02em;}
.feature-list{border-top:1px solid #F0EBDE;margin:16px 0;padding-top:16px;display:flex;flex-direction:column;gap:12px;}
.feature-list .f{display:flex;gap:10px;font-size:14.5px;color:#3A3A52;}
.feature-list .f .ck{color:var(--blue);}
.price-card.paid{position:relative;overflow:hidden;background:var(--blue);color:#fff;}
.price-card.paid .glow{position:absolute;top:-50px;right:-30px;width:180px;height:180px;border-radius:50%;background:rgba(225, 0, 15, .4);filter:blur(6px);}
.price-card.paid .z{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;}
.badge-red{background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.03em;}
.price-row{display:flex;align-items:baseline;gap:10px;margin:20px 0 4px;}
.price-row .big{font-family:var(--font-display);font-weight:800;font-size:46px;letter-spacing:-.02em;}
.price-row .small{font-size:14px;color:rgba(255,255,255,.82);}
.price-row .small s{text-decoration:line-through;}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;border-top:1px solid rgba(255, 255, 255, .16);margin:16px 0;padding-top:18px;}
.feature-grid .f{display:flex;gap:9px;font-size:14px;color:#E4E5F5;}
.feature-grid .f .ck{color:#fff;}
.fineprint{text-align:center;font-size:12.5px;color:rgba(255,255,255,.82);margin-top:11px;}
.muted-link{margin-top:auto;text-align:center;background:var(--tint-cream);color:var(--ink);padding:13px 0;border-radius:999px;font-weight:600;font-size:15px;cursor:pointer;display:block;transition:background .15s;}
.muted-link:hover{background:var(--border);}

/* modules */
.module{background:#fff;border:1px solid var(--border-2);border-radius:22px;padding:26px;}
.module .lbl{font-family:var(--font-display);font-weight:800;color:var(--blue);font-size:15px;}
.module h3{font-weight:700;font-size:18px;margin:6px 0 8px;}
.module p{font-size:14px;color:#5A5A74;line-height:1.55;margin:0;}
.soon{background:#F7F4EC;border:1px dashed #D9D2C2;border-radius:22px;padding:26px;position:relative;}
.soon .tagsoon{position:absolute;top:18px;right:18px;font-size:11px;font-weight:700;color:#9A9A86;background:#fff;padding:4px 9px;border-radius:999px;}
.soon .em{font-size:24px;opacity:.5;}
.soon h3{font-weight:700;font-size:18px;margin:14px 0 8px;color:#6A6A55;}
.soon p{font-size:14px;color:#8A8A76;line-height:1.55;margin:0;}
.dark-cta{background:var(--ink);border-radius:30px;padding:clamp(34px, 5vw, 56px);text-align:center;color:#fff;}
.dark-cta h2{font-weight:700;font-size:clamp(26px, 3.6vw, 40px);margin:0 auto;max-width:560px;line-height:1.08;}

/* ---------- Blog ---------- */
.blog-head{max-width:var(--maxw);margin:0 auto;padding:60px 24px 10px;}
.blog-head h1{font-weight:700;font-size:clamp(34px, 4.6vw, 54px);line-height:1.03;letter-spacing:-.03em;margin:12px 0 0;max-width:680px;}
.blog-head p{font-size:17.5px;color:var(--muted);line-height:1.5;max-width:600px;margin:16px 0 0;}
.filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px;}
.filter{cursor:pointer;font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:999px;background:#fff;
 color:#5A5A74;border:1px solid #E4DECF;transition:all .15s;}
.filter:hover{border-color:var(--blue);color:var(--blue);}
.filter.active{background:var(--blue);color:#fff;border-color:var(--blue);}
.featured{display:grid;grid-template-columns:1.1fr .9fr;gap:0;background:#fff;border:1px solid var(--border-2);
 border-radius:28px;overflow:hidden;cursor:pointer;box-shadow:0 10px 40px -26px rgba(26, 26, 64, .4);transition:transform .18s;}
.featured:hover{transform:translateY(-3px);}
.featured .txt{padding:clamp(28px, 4vw, 46px);display:flex;flex-direction:column;justify-content:center;}
.featured h2{font-weight:700;font-size:clamp(26px, 3vw, 36px);line-height:1.08;margin:16px 0 0;}
.featured .ex{font-size:15.5px;color:#5A5A74;line-height:1.55;margin:14px 0 0;}
.featured .art{display:flex;align-items:center;justify-content:center;min-height:240px;position:relative;overflow:hidden;}
.featured .art .ring{position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(255, 255, 255, .5);top:-30px;right:-30px;}
.featured .art .em{font-size:96px;position:relative;z-index:1;}

/* newsletter */
.newsletter{background:linear-gradient(135deg, #000091, #16166b);border-radius:28px;padding:clamp(30px, 4vw, 50px);
 display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;color:#fff;}
.newsletter h3{font-weight:700;font-size:26px;letter-spacing:-.02em;margin:0;}
.newsletter p{font-size:15px;color:#FFFFFF;line-height:1.5;margin:10px 0 0;}
.nl-form{display:flex;gap:8px;background:rgba(255, 255, 255, .12);padding:7px;border-radius:14px;min-width:300px;flex:1;max-width:460px;}
.nl-form input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:14.5px;padding:10px 12px;font-family:inherit;}
.nl-form input::placeholder{color:#B9BCE0;}
.nl-form button{background:#fff;color:var(--blue);border:none;font-weight:700;font-size:14px;padding:11px 20px;border-radius:10px;cursor:pointer;font-family:inherit;}
.nl-consent{font-size:11.5px;color:rgba(255,255,255,.82);margin:10px 0 0;max-width:460px;}

/* ---------- Article ---------- */
.article{max-width:760px;margin:0 auto;padding:46px 24px 20px;}
.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted-4);margin-bottom:22px;flex-wrap:wrap;}
.crumbs a{font-weight:600;}
.crumbs a:hover{color:var(--blue);}
.article h1{font-weight:700;font-size:clamp(30px, 4.4vw, 46px);line-height:1.06;margin:18px 0 0;}
.byline{display:flex;align-items:center;gap:14px;margin-top:20px;padding-bottom:24px;border-bottom:1px solid var(--border);}
.byline .n{font-size:14px;font-weight:600;}
.byline .d{font-size:12.5px;color:var(--muted-4);}
.intro{font-size:19px;line-height:1.6;color:#3A3A52;margin:26px 0 0;}
.toc{background:#F7F4EC;border:1px solid var(--border-2);border-radius:18px;padding:22px 24px;margin:28px 0;}
.toc .t{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-4);margin-bottom:12px;}
.toc a{display:flex;gap:10px;font-size:15px;color:#3A3A52;padding:5px 0;}
.toc a:hover{color:var(--blue);}
.toc .num{font-weight:700;}
.art-section{margin-top:34px;}
.art-section h2{font-weight:700;font-size:26px;line-height:1.12;margin:0 0 12px;scroll-margin-top:90px;}
.art-section h3{font-weight:700;font-size:19px;margin:24px 0 8px;}
.art-section p{font-size:17px;line-height:1.68;color:#3D3D55;margin:0 0 4px;}
.art-list{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.art-list .li{display:flex;gap:11px;font-size:16px;line-height:1.55;color:#3D3D55;}
.art-list .li .bul{flex:none;font-weight:700;}
.callout{border-radius:14px;padding:18px 20px;margin:20px 0;font-size:15.5px;line-height:1.6;}
.callout.blue{background:var(--tint-blue);color:#2A2A4A;}
.callout.red{background:var(--tint-red);color:#6B2733;}
.callout.cream{background:var(--tint-cream);color:#52523F;}
.callout b{font-weight:700;}
.qa-block{background:#fff;border:1px solid var(--border-2);border-radius:16px;padding:16px 20px;margin:10px 0;}
.qa-block .q{font-weight:700;font-size:15.5px;color:var(--ink);}
.qa-block .a{font-size:14.5px;color:#5A5A74;line-height:1.6;margin-top:5px;}
.takeaway{background:var(--tint-blue);border-radius:20px;padding:26px 28px;margin:36px 0;}
.takeaway .t{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--blue);margin-bottom:12px;}
.takeaway .k{display:flex;gap:11px;font-size:15.5px;line-height:1.55;color:#2A2A4A;padding:5px 0;}
.takeaway .k .ck{color:var(--blue);flex:none;}
.faq h2{font-weight:700;font-size:26px;margin:40px 0 18px;}
.faq-item{border:1px solid var(--border-2);border-radius:16px;padding:20px 22px;margin-bottom:12px;background:#fff;}
.faq-item .q{font-weight:700;font-size:16px;color:var(--ink);margin-bottom:7px;}
.faq-item .a{font-size:15px;color:#5A5A74;line-height:1.6;}
.art-cta{background:var(--blue);border-radius:24px;padding:32px;margin:40px 0 10px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.art-cta .glow{position:absolute;bottom:-50px;right:-30px;width:160px;height:160px;border-radius:50%;background:rgba(225, 0, 15, .4);filter:blur(6px);}
.art-cta .z{position:relative;z-index:1;}
.art-cta h3{font-weight:700;font-size:24px;margin:0;}
.art-cta p{font-size:15px;color:#FFFFFF;margin:10px auto 20px;max-width:420px;line-height:1.5;}
.related .rcard{background:#fff;border:1px solid var(--border-2);border-radius:20px;padding:22px;cursor:pointer;transition:transform .18s, box-shadow .18s;}
.related .rcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px rgba(0, 0, 145, .3);}
.related .rcard .ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:19px;}
.related .rcard h4{font-weight:700;font-size:16px;line-height:1.18;margin:0;}
.source-note{font-size:13px;color:var(--muted-4);border-top:1px solid var(--border);margin-top:30px;padding-top:18px;line-height:1.6;}

/* ---------- Pages légales ---------- */
.legal{max-width:800px;margin:0 auto;padding:54px 24px 20px;}
.legal h1{font-weight:700;font-size:clamp(30px, 4vw, 44px);line-height:1.05;margin:0 0 8px;}
.legal .updated{font-size:13.5px;color:var(--muted-4);margin-bottom:30px;}
.legal h2{font-weight:700;font-size:23px;margin:36px 0 12px;}
.legal h3{font-weight:700;font-size:17px;margin:22px 0 8px;}
.legal p, .legal li{font-size:15.5px;line-height:1.7;color:#3D3D55;}
.legal ul{padding-left:20px;}
.legal li{margin-bottom:6px;}
.legal a{color:var(--blue);text-decoration:underline;}
.legal .box{background:#fff;border:1px solid var(--border-2);border-radius:16px;padding:20px 24px;margin:16px 0;}
.legal .toc-legal{background:#F7F4EC;border:1px solid var(--border-2);border-radius:16px;padding:18px 22px;margin:24px 0;}
.legal .toc-legal a{display:inline-block;margin:4px 14px 4px 0;font-size:14.5px;}

/* ---------- Authentification (connexion / admin) ---------- */
.auth-wrap{max-width:480px;margin:0 auto;padding:60px 24px 40px;}
.auth-card{background:#fff;border:1px solid var(--border-2);border-radius:26px;padding:36px;box-shadow:var(--shadow-soft);text-align:center;}
.auth-card .ck{margin:0 auto 14px;}
.auth-card h1{font-weight:700;font-size:26px;margin:0 0 6px;}
.auth-card p.sub{font-size:15px;color:var(--muted);line-height:1.5;margin:0 0 22px;}
.auth-form{text-align:left;}
.auth-form label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.auth-form input{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:#FBF9F3;
 border:1.5px solid var(--border-3);border-radius:12px;padding:13px 15px;transition:border-color .15s;}
.auth-form input:focus{outline:none;border-color:var(--blue);background:#fff;}
.auth-form .btn{margin-top:16px;}
.auth-alert{border-radius:12px;padding:12px 15px;font-size:14px;font-weight:600;margin-bottom:18px;display:none;}
.auth-alert.show{display:block;}
.auth-alert.err{background:var(--tint-red);color:#6B2733;}
.auth-alert.ok{background:#E4F6E9;color:#1A6B33;}
.auth-links{margin-top:20px;font-size:13.5px;color:var(--muted-2);line-height:1.7;}
.auth-links a{color:var(--blue);font-weight:600;}

/* ---------- Page Contact ---------- */
.contact-wrap{max-width:1100px;margin:0 auto;padding:54px 24px 20px;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start;}
.contact-intro h1{font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.05;margin:12px 0 0;}
.contact-intro p{font-size:17px;color:var(--muted);line-height:1.55;margin:16px 0 0;max-width:440px;}
.contact-side{margin-top:28px;display:flex;flex-direction:column;gap:14px;}
.cs-item{display:flex;align-items:center;gap:13px;}
.cs-ic{width:42px;height:42px;border-radius:12px;background:var(--tint-blue);display:flex;align-items:center;justify-content:center;font-size:20px;flex:none;}
.cs-item b{display:block;font-size:13px;color:var(--ink);}
.cs-item a{font-size:14px;color:var(--blue);}
.contact-note{font-size:13px;color:var(--muted-3);background:var(--tint-cream);border-radius:14px;padding:14px 16px;margin-top:24px;line-height:1.5;}
.contact-note a{color:var(--blue);text-decoration:underline;}
.contact-card{background:#fff;border:1px solid var(--border-2);border-radius:26px;padding:32px;box-shadow:var(--shadow-soft);}
.contact-form label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:14px;}
.req{color:var(--red);margin-left:2px;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:6px;font-family:inherit;font-size:15px;
 color:var(--ink);background:#FBF9F3;border:1.5px solid var(--border-3);border-radius:12px;padding:12px 14px;transition:border-color .15s;}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--blue);background:#fff;}
.contact-form textarea{resize:vertical;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.cf-consent{display:flex!important;align-items:flex-start;gap:9px;font-weight:500!important;font-size:13px!important;color:var(--muted)!important;}
.cf-consent input{width:auto!important;margin-top:2px!important;}
.cf-fallback{font-size:12.5px;color:var(--muted-3);text-align:center;margin:14px 0 0;}
.cf-fallback a{color:var(--blue);text-decoration:underline;}
.contact-alert{border-radius:14px;padding:14px 18px;font-size:14.5px;font-weight:600;margin-bottom:20px;}
.contact-alert.ok{background:#E4F6E9;color:#1A6B33;}
.contact-alert.err{background:var(--tint-red);color:#6B2733;}
@media(max-width:820px){.contact-wrap{grid-template-columns:1fr;gap:30px;}}
@media(max-width:560px){.cf-row{grid-template-columns:1fr;}}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--border);background:#FBF9F3;margin-top:40px;}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:50px 24px 30px;}
.footer-top{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;}
.footer-about{max-width:330px;}
.footer-about p{font-size:14px;color:var(--muted-2);line-height:1.55;margin:14px 0 0;}
.socials{display:flex;gap:10px;margin-top:16px;}
.socials a{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--border);padding:8px 13px;border-radius:999px;font-size:13px;font-weight:600;transition:.15s;}
.socials a:hover{border-color:var(--blue);color:var(--blue);}
.footer-cols{display:flex;gap:54px;flex-wrap:wrap;}
.footer-col .h{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-4);margin-bottom:14px;}
.footer-col .links{display:flex;flex-direction:column;gap:10px;font-size:14.5px;color:#4A4A66;}
.footer-col .links a:hover{color:var(--blue);}
.footer-bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;}
.footer-bottom .cpr{font-size:12.5px;color:var(--muted-4);}
.footer-bottom .disc{font-size:12px;color:#A8A894;max-width:560px;}

/* ---------- Bandeau cookies ---------- */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:120;max-width:560px;margin:0 auto;
 background:#fff;border:1px solid var(--border-2);border-radius:20px;padding:22px 24px;
 box-shadow:0 20px 50px -16px rgba(26, 26, 64, .4);display:none;}
.cookie-banner.show{display:block;animation:riseStagger .4s ease both;}
.cookie-banner h4{font-family:var(--font-display);font-weight:700;font-size:17px;margin:0 0 8px;}
.cookie-banner p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0 0 16px;}
.cookie-banner p a{color:var(--blue);text-decoration:underline;}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-actions .btn{font-size:14px;padding:11px 20px;}
.cookie-actions .btn-refuse{background:var(--tint-cream);color:var(--ink);}
.cookie-actions .btn-refuse:hover{background:var(--border);}

/* ---------- Animations ---------- */
@keyframes floaty{0%, 100%{transform:translateY(0) rotate(-4deg);}50%{transform:translateY(-14px) rotate(2deg);}}
@keyframes floaty2{0%, 100%{transform:translateY(0) rotate(6deg);}50%{transform:translateY(-10px) rotate(-3deg);}}
@keyframes spinslow{from{transform:rotate(0);}to{transform:rotate(360deg);}}
@keyframes riseStagger{0%{opacity:0;transform:translateY(26px);}100%{opacity:1;transform:translateY(0);}}
.reveal{animation:riseStagger .5s cubic-bezier(.22, .61, .36, 1) both;}

/* ---------- Responsive ---------- */
@media(max-width:900px){
 .hero{grid-template-columns:1fr;gap:36px;padding-top:48px;}
 .hero-visual{order:-1;}
 .pricing{grid-template-columns:1fr;}
 .featured{grid-template-columns:1fr;}
 .featured .art{min-height:160px;order:-1;}
}
@media(max-width:820px){
 .nav-links{position:fixed;top:62px;left:0;right:0;background:var(--bg);flex-direction:column;
 align-items:flex-start;gap:4px;padding:16px 24px 24px;border-bottom:1px solid var(--border);
 box-shadow:0 14px 30px -18px rgba(26, 26, 64, .3);display:none;}
 .nav-links.open{display:flex;}
 .nav-links a{padding:10px 0;width:100%;}
 .nav-links .btn{margin-top:8px;}
 .nav-toggle{display:inline-flex;}
}
@media(max-width:760px){
 .grid-3, .card-grid, .trust{grid-template-columns:1fr;}
 .trust{gap:18px;}
 .grid-2{grid-template-columns:1fr;}
 .feature-grid{grid-template-columns:1fr;}
 .section{padding:48px 24px;}
 .newsletter{flex-direction:column;align-items:stretch;}
 .nl-form{max-width:none;}
 .footer-bottom .disc{text-align:left;}
}
@media(min-width:761px) and (max-width:980px){
 .grid-3, .card-grid{grid-template-columns:repeat(2, 1fr);}
}
@media(prefers-reduced-motion:reduce){
 *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
