/* ============================================================
   NovaHoster — Design System v1
   Palette : rouge signature modernisé + bleu nuit profond
   Un seul fichier CSS pour tout le site. Aucune dépendance.
   ============================================================ */

/* Direction « Signal de confiance » : modernisme éditorial, bleu nuit fiable,
   rouge NovaHoster réservé aux actions et preuves, photos documentaires naturelles. */
:root{
  /* Couleurs */
  --red:#e11d2e;            /* rouge NovaHoster modernisé */
  --red-dark:#b91424;
  --red-soft:#fef1f2;
  --navy:#0b1120;           /* bleu nuit profond (sections fortes) */
  --navy-2:#111a2e;
  --ink:#0f172a;            /* texte principal */
  --slate:#475569;          /* texte secondaire */
  --slate-light:#94a3b8;
  --line:#e2e8f0;
  --bg:#ffffff;
  --bg-soft:#f6f8fb;
  --green:#059669;
  --amber:#f59e0b;
  --focus:#2563eb;

  /* Typo */
  --font-head:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-serif:'DM Serif Display',Georgia,serif;

  /* Rythme */
  --radius:14px;
  --radius-sm:9px;
  --shadow:0 10px 30px -12px rgba(11,17,32,.15);
  --shadow-lg:0 25px 60px -20px rgba(11,17,32,.28);
  --container:1180px;
  --section-y:clamp(56px,8vw,104px);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;cursor:pointer;border:none;background:none;}

.container{max-width:var(--container);margin:0 auto;padding:0 clamp(16px,4vw,32px);}
.section{padding:var(--section-y) 0;}
.section--soft{background:var(--bg-soft);}
.section--navy{background:var(--navy);color:#fff;}
@supports (content-visibility:auto){main>.section:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 760px;}}
.context-links{padding:28px 0;background:var(--bg-soft);border-top:1px solid var(--line);}
.context-links__eyebrow{margin:0 0 5px;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;}
.context-links__copy{margin:0;color:var(--slate);font-size:15px;}
.context-links__copy a{color:var(--navy);font-weight:800;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;}
.inline-seo-linking{margin:24px 0;padding-left:18px;border-left:3px solid var(--red);color:var(--slate);font-size:16px;}
.inline-seo-linking a,.seo-proof a{color:var(--navy);font-weight:800;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;}
.page-hero .inline-seo-linking,.hero--navy .inline-seo-linking,.section--navy .inline-seo-linking{border-left-color:rgba(255,255,255,.35);color:rgba(255,255,255,.75);}
.page-hero .inline-seo-linking a,.hero--navy .inline-seo-linking a,.section--navy .inline-seo-linking a{color:#fff;}
.faq__hl a{color:inherit;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px;}
.seo-proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.seo-proof__answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0;}
.seo-proof__answers p{margin:0;padding:20px;background:#fff;border-left:3px solid var(--red);box-shadow:0 8px 24px -20px rgba(11,17,32,.35);}
.seo-proof__note{max-width:780px;color:var(--slate);margin:0;}
@media(max-width:760px){.seo-proof__answers{grid-template-columns:1fr;}}

/* ---------- Typographie ---------- */
h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:-.02em;line-height:1.15;}
.h1{font-size:clamp(30px,4.6vw,52px);font-weight:800;}
.h2{font-size:clamp(24px,3.4vw,38px);font-weight:800;}
.h3{font-size:20px;font-weight:700;}
.lead{font-size:clamp(16px,1.6vw,19px);color:var(--slate);}
.section--navy .lead{color:var(--slate-light);}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:14px;}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--red);border-radius:2px;}
.center{text-align:center;}
.center .eyebrow::after{content:"";width:22px;height:2px;background:var(--red);border-radius:2px;}
.section-head{max-width:720px;margin:0 auto 48px;}
.mark{color:var(--red);}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:15.5px;padding:14px 26px;border-radius:11px;transition:.2s;white-space:nowrap;}
.btn--primary{background:var(--red);color:#fff;box-shadow:0 8px 20px -8px rgba(225,29,46,.55);}
.btn--primary:hover{background:var(--red-dark);transform:translateY(-1px);}
.btn--dark{background:var(--navy);color:#fff;}
.btn--dark:hover{background:var(--navy-2);transform:translateY(-1px);}
.btn--ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line);}
.btn--ghost:hover{border-color:var(--slate-light);transform:translateY(-1px);}
.btn--light{background:#fff;color:var(--navy);}
.btn--light:hover{transform:translateY(-1px);}
.btn--sm{padding:10px 18px;font-size:14px;border-radius:9px;}
.btn--xl{padding:17px 34px;font-size:16.5px;}
.arrow{transition:transform .2s;}
.btn:hover .arrow{transform:translateX(3px);}

/* ---------- Topbar ---------- */
.topbar{background:var(--navy);color:#cbd5e1;font-size:13.5px;}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;}
.topbar__promo{display:flex;align-items:center;gap:8px;font-weight:600;color:#fff;min-width:0;}
.topbar__promo .tag{background:var(--red);color:#fff;font-size:11px;font-weight:800;padding:2px 9px;border-radius:99px;letter-spacing:.03em;}
.topbar__links{display:flex;gap:18px;align-items:center;flex-shrink:0;}
.topbar__links a:hover{color:#fff;}
.topbar__reviews{display:flex;align-items:center;gap:6px;}
.topbar__stars{color:#fbbf24;letter-spacing:1px;font-size:11px;}
.topbar__quote{color:#fff!important;font-weight:800!important}.topbar__quote:before{content:"";display:inline-block;width:5px;height:5px;margin:0 7px 1px 0;background:var(--red);border-radius:50%;vertical-align:middle}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .2s;}
.header.is-scrolled{box-shadow:var(--shadow);}
.header__in{display:flex;align-items:center;gap:34px;height:74px;}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--font-head);flex-shrink:0;}
.logo__official{display:block;width:210px;max-width:100%;height:auto;max-height:42px;object-fit:contain;object-position:left center;}
.footer .logo__official,.logo--light .logo__official{width:220px;background:#fff;border-radius:8px;padding:6px 9px;}
.logo__mark{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;letter-spacing:-.5px;box-shadow:0 6px 14px -6px rgba(225,29,46,.6);}
.logo__text{font-weight:800;font-size:19px;letter-spacing:-.02em;}
.logo__text small{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--slate);text-transform:uppercase;}
.nav{display:flex;gap:6px;margin-right:auto;}
.nav__item{position:relative;}
.nav__item::after{content:"";position:absolute;top:100%;left:0;right:0;height:14px;}
.nav__link{display:flex;align-items:center;gap:6px;padding:10px 14px;font-weight:600;font-size:15px;color:var(--ink);border-radius:9px;}
.nav__link:hover{background:var(--bg-soft);color:var(--red);}
.nav__link .chev{transition:transform .2s;}
.nav__item:hover .chev{transform:rotate(180deg);}
/* Mega menu */
.mega{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 48px -20px rgba(11,17,32,.28),0 2px 8px -2px rgba(11,17,32,.06);padding:10px;display:grid;gap:2px;min-width:352px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;}
.mega::before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:2px 0 0 0;}
.nav__item:hover .mega,.nav__item:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.mega a{position:relative;display:flex;gap:14px;align-items:center;padding:11px 14px;border-radius:10px;box-shadow:inset 3px 0 0 0 transparent;transition:background .15s,box-shadow .15s;}
.mega a:hover{background:var(--bg-soft);box-shadow:inset 3px 0 0 0 var(--red);}
.mega__ico{width:42px;height:42px;flex-shrink:0;border-radius:11px;background:var(--red-soft);border:1px solid rgba(225,29,46,.10);display:flex;align-items:center;justify-content:center;color:var(--red);}
.mega__ico svg{display:block;}
.mega b{display:flex;align-items:center;gap:8px;font-size:14.5px;line-height:1.3;}
.mega a div span{display:block;font-size:12.5px;color:var(--slate);line-height:1.4;margin-top:2px;}
.pill{display:inline-flex;align-items:center;font-size:9.5px;font-weight:800;background:var(--red-soft);color:var(--red);border:1px solid rgba(225,29,46,.22);padding:2px 7px;border-radius:99px;letter-spacing:.04em;}
.header__cta{display:flex;gap:10px;align-items:center;flex-shrink:0;}
.burger{display:none;flex-direction:column;gap:5px;padding:10px;}
.burger span{width:22px;height:2.5px;background:var(--ink);border-radius:2px;transition:.2s;}

/* ---------- Hero ---------- */
.hero{position:relative;background:radial-gradient(1200px 600px at 85% -10%,#fde8ea 0%,transparent 55%),radial-gradient(900px 500px at -10% 110%,#eef2ff 0%,transparent 50%),var(--bg);overflow:hidden;}
.hero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,64px);}
.hero__in>*{min-width:0;}
.hero__chip{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:7px 15px;font-size:13.5px;font-weight:600;color:var(--slate);box-shadow:var(--shadow);margin-bottom:22px;}
.hero__chip .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(5,150,105,.15);}
.hero h1{margin-bottom:18px;}
.hero .lead{margin-bottom:28px;max-width:540px;}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px;}
.hero__points{display:flex;gap:20px;flex-wrap:wrap;font-size:13.5px;color:var(--slate);font-weight:600;}
.hero__points li{display:flex;align-items:center;gap:7px;}
.check{color:var(--green);flex-shrink:0;}

/* Mockup dashboard (illustration produit en pur CSS/SVG) */
.mock{position:relative;}
.mock__glow{position:absolute;inset:8% -4% -6% -4%;background:linear-gradient(135deg,rgba(225,29,46,.14),rgba(37,99,235,.12));filter:blur(46px);border-radius:40px;}
.mock__win{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;}
.mock__bar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-soft);}
.mock__bar i{width:10px;height:10px;border-radius:50%;background:#e2e8f0;}
.mock__bar i:nth-child(1){background:#fda4af;}
.mock__bar i:nth-child(2){background:#fcd34d;}
.mock__bar i:nth-child(3){background:#86efac;}
.mock__url{margin-left:10px;flex:1;background:#fff;border:1px solid var(--line);border-radius:7px;font-size:11.5px;color:var(--slate);padding:5px 12px;display:flex;align-items:center;gap:7px;}
.mock__body{padding:18px;display:grid;gap:14px;}
.mock__row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.stat-tile{border:1px solid var(--line);border-radius:12px;padding:13px 14px;}
.stat-tile small{font-size:10.5px;color:var(--slate);font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.stat-tile b{display:flex;align-items:baseline;gap:6px;font-size:17px;font-family:var(--font-head);letter-spacing:-.02em;white-space:nowrap;}
.stat-tile .up{font-size:11px;color:var(--green);font-weight:700;}
.mock__chart{border:1px solid var(--line);border-radius:12px;padding:14px;}
.mock__chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--slate);font-weight:600;}
.badge-live{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:var(--green);}
.badge-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(5,150,105,.35);}50%{box-shadow:0 0 0 6px rgba(5,150,105,0);}}
.mock__float{position:absolute;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-lg);padding:12px 16px;display:flex;gap:11px;align-items:center;font-size:13px;font-weight:700;}
.mock__float small{display:block;font-size:11px;color:var(--slate);font-weight:600;}
.mock__float--tl{top:-18px;left:-26px;animation:float 5s ease-in-out infinite;}
.mock__float--br{bottom:-20px;right:-14px;animation:float 6s ease-in-out infinite reverse;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.ico-round{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ico-round--green{background:#ecfdf5;color:var(--green);}
.ico-round--red{background:var(--red-soft);color:var(--red);}
.ico-round--blue{background:#eff6ff;color:#2563eb;}

/* ---------- Recherche domaine ---------- */
.domainbar{position:relative;margin-top:6px;}
.domainbar form{display:flex;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:6px;box-shadow:var(--shadow-lg);gap:6px;}
.domainbar input{flex:1;border:none;outline:none;font-size:16px;padding:10px 14px;font-family:var(--font-body);min-width:0;background:transparent;}
.domainbar .btn{border-radius:10px;}
.domainbar__ext{display:flex;gap:16px;flex-wrap:wrap;margin-top:13px;font-size:13.5px;color:var(--slate);font-weight:600;}
.domainbar__ext b{color:var(--ink);}
.domainbar__ext .price{color:var(--red);font-weight:800;}

/* ---------- Trust bar ---------- */
.trust{border-top:1px solid var(--line);background:#fff;}
.trust__in{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:34px 0;}
.trust__item{text-align:center;}
.trust__item b{display:block;font-family:var(--font-head);font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-.02em;}
.trust__item span{font-size:13.5px;color:var(--slate);font-weight:600;}

/* ---------- Cards offres ---------- */
.offers{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.offer{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px;display:flex;flex-direction:column;transition:.22s;}
.offer:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:transparent;}
.offer--hot{border:2px solid var(--red);}
.offer__flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:10.5px;font-weight:800;padding:3px 12px;border-radius:99px;letter-spacing:.05em;white-space:nowrap;}
.offer__ico{width:46px;height:46px;border-radius:12px;background:var(--red-soft);color:var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:15px;}
.offer h3{font-size:16.5px;margin-bottom:5px;}
.offer p{font-size:13px;color:var(--slate);line-height:1.5;margin-bottom:13px;}
.offer__price{margin:auto 0 13px;font-size:13px;color:var(--slate);}
.offer__price b{font-family:var(--font-head);font-size:22px;color:var(--ink);letter-spacing:-.02em;}
.offer__price small{font-size:12px;}
.offer ul{margin-bottom:16px;display:grid;gap:5px;}
.offer ul li{font-size:12.5px;color:var(--slate);display:flex;gap:7px;align-items:flex-start;}
.offer .btn{width:100%;}

/* ---------- Pricing ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;display:flex;flex-direction:column;position:relative;transition:.22s;}
.plan:hover{box-shadow:var(--shadow-lg);}
.plan--hot{border:2px solid var(--red);box-shadow:var(--shadow-lg);transform:scale(1.03);}
.plan__flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:11px;font-weight:800;padding:4px 15px;border-radius:99px;letter-spacing:.05em;}
.plan h3{font-size:19px;}
.plan__desc{font-size:13.5px;color:var(--slate);margin:4px 0 18px;}
.plan__price{display:flex;align-items:baseline;gap:6px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px;}
.plan__price b{font-family:var(--font-head);font-size:40px;font-weight:800;letter-spacing:-.03em;}
.plan__price .cur{font-size:15px;font-weight:700;color:var(--slate);}
.plan__price .per{font-size:13.5px;color:var(--slate);}
.plan ul{display:grid;gap:9px;margin-bottom:24px;}
.plan ul li{display:flex;gap:10px;font-size:14px;align-items:flex-start;color:var(--ink);}
.plan ul li.muted{color:var(--slate-light);}
.plan ul b{font-weight:700;}
.plan .btn{margin-top:auto;width:100%;}
.plans-note{text-align:center;margin-top:22px;font-size:13.5px;color:var(--slate);}
.plans-note a{color:var(--red);font-weight:700;}

/* ---------- Domaines ---------- */
.tld-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.tld{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px;text-align:center;transition:.2s;}
.tld:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.tld b{font-family:var(--font-head);font-size:24px;display:block;}
.tld .tld__p{color:var(--red);font-weight:800;font-size:17px;margin-top:4px;}
.tld small{color:var(--slate);font-size:12px;}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.duo__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;gap:18px;align-items:center;}
.duo__card .ico-round{width:48px;height:48px;}
.duo__card h3{font-size:17px;margin-bottom:3px;}
.duo__card p{font-size:13.5px;color:var(--slate);margin-bottom:0;}
.duo__card .btn{margin-left:auto;flex-shrink:0;}

/* ---------- Split (site builder etc.) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,70px);align-items:center;}
.split__chip{display:inline-flex;align-items:center;gap:8px;background:var(--red-soft);color:var(--red);font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:99px;margin-bottom:16px;}
.split h2{margin-bottom:14px;}
.split .lead{margin-bottom:20px;}
/* La mise en forme était rattachée à .split : la liste de la section
   infrastructure, qui n'y est pas imbriquée, retombait en liste à puces
   avec la coche empilée au-dessus de son texte. On la définit donc sur
   ul.feat lui-même, .split ne servant plus qu'à la marge de bas. */
ul.feat{list-style:none;display:grid;gap:11px;padding-left:0;}
ul.feat>li{display:flex;gap:11px;font-size:15px;align-items:flex-start;}
.split ul.feat{margin-bottom:26px;}
.split ul.feat b{font-weight:700;}

/* Builder mockup */
.builder-mock{position:relative;background:linear-gradient(145deg,#111a2e,#0b1120);border-radius:20px;padding:26px;box-shadow:var(--shadow-lg);overflow:hidden;}
.builder-mock::before{content:"";position:absolute;top:-40%;right:-20%;width:70%;height:120%;background:radial-gradient(closest-side,rgba(225,29,46,.28),transparent);}
.builder-canvas{position:relative;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);}
.bc-head{height:44px;background:linear-gradient(90deg,var(--red),var(--red-dark));display:flex;align-items:center;padding:0 16px;gap:8px;}
.bc-head i{width:60px;height:8px;border-radius:4px;background:rgba(255,255,255,.5);}
.bc-head i:first-child{width:34px;background:#fff;}
.bc-hero{padding:20px 16px;display:grid;grid-template-columns:1.2fr .8fr;gap:12px;align-items:center;}
.bc-lines i{display:block;height:9px;border-radius:5px;background:#e2e8f0;margin-bottom:7px;}
.bc-lines i:nth-child(1){width:85%;height:13px;background:#cbd5e1;}
.bc-lines i:nth-child(2){width:65%;}
.bc-lines i:nth-child(3){width:40%;height:22px;border-radius:7px;background:var(--red);margin-top:12px;}
.bc-img{aspect-ratio:4/3;border-radius:9px;background:linear-gradient(135deg,#dbeafe,#fce7f3);display:flex;align-items:center;justify-content:center;color:#94a3b8;}
.bc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:0 16px 18px;}
.bc-cards i{height:52px;border-radius:8px;background:var(--bg-soft);border:1px solid var(--line);}
.builder-cursor{position:absolute;bottom:24%;right:12%;background:var(--navy);color:#fff;font-size:11px;font-weight:700;padding:5px 11px;border-radius:99px 99px 99px 3px;box-shadow:var(--shadow-lg);animation:float 4s ease-in-out infinite;}

/* ---------- Features (pourquoi) ---------- */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.feat-card{background:var(--navy-2);border:1px solid rgba(148,163,184,.14);border-radius:var(--radius);padding:26px;transition:.2s;}
.feat-card:hover{transform:translateY(-4px);border-color:rgba(225,29,46,.5);}
.feat-card .ico-round{margin-bottom:16px;width:44px;height:44px;background:rgba(225,29,46,.13);color:#f87181;}
.feat-card h3{font-size:16.5px;color:#fff;margin-bottom:7px;}
.feat-card p{font-size:13.5px;color:var(--slate-light);line-height:1.6;}

/* Carte infra France->Tunisie */
.infra{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:center;margin-bottom:56px;}
.infra-visual{position:relative;background:var(--navy-2);border:1px solid rgba(148,163,184,.14);border-radius:20px;padding:12px;}
.infra-visual svg{width:100%;height:auto;border-radius:12px;}
.latency{position:absolute;top:14%;left:50%;transform:translateX(-50%);background:#fff;color:var(--ink);font-size:12px;font-weight:800;padding:6px 13px;border-radius:99px;box-shadow:var(--shadow-lg);display:flex;gap:7px;align-items:center;}
.latency .dot{width:8px;height:8px;border-radius:50%;background:var(--green);}

/* ---------- Bandeau migration ---------- */
.banner{background:linear-gradient(120deg,var(--red) 0%,var(--red-dark) 90%);border-radius:20px;padding:clamp(28px,4vw,46px);display:flex;align-items:center;gap:28px;color:#fff;position:relative;overflow:hidden;}
.banner::after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.09);}
.banner::before{content:"";position:absolute;right:40px;bottom:-90px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.07);}
.banner h2{font-size:clamp(20px,2.6vw,28px);margin-bottom:8px;}
.banner p{font-size:14.5px;opacity:.92;max-width:560px;}
.banner .btn{margin-left:auto;flex-shrink:0;position:relative;z-index:1;}

/* ---------- Comparatif ---------- */
.compare{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;}
.compare table{width:100%;border-collapse:collapse;min-width:640px;}
.compare th,.compare td{padding:15px 18px;text-align:center;font-size:14px;border-bottom:1px solid var(--line);}
.compare th{font-family:var(--font-head);font-size:14.5px;}
.compare tr:last-child td{border-bottom:none;}
.compare td:first-child,.compare th:first-child{text-align:left;font-weight:600;}
.compare .col-nova{background:var(--red-soft);font-weight:700;}
.compare th.col-nova{color:var(--red);font-weight:800;}
.yes{color:var(--green);font-weight:800;}
.no{color:#cbd5e1;font-weight:700;}
.meh{color:var(--amber);font-weight:700;font-size:12.5px;}

/* ---------- Témoignages ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:14px;}
.quote__stars{color:var(--amber);letter-spacing:2px;font-size:14px;}
.quote p{font-size:14.5px;line-height:1.65;color:var(--ink);}
.quote footer{display:flex;align-items:center;gap:12px;margin-top:auto;}
.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--navy),#334155);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0;}
.quote footer b{display:block;font-size:14px;}
.quote footer small{color:var(--slate);font-size:12.5px;}

/* ---------- Support ---------- */
.support-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.sup{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-align:center;transition:.2s;}
.sup:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.sup .ico-round{margin:0 auto 14px;width:48px;height:48px;}
.sup h3{font-size:15.5px;margin-bottom:5px;}
.sup p{font-size:13px;color:var(--slate);}
.sup b.rt{display:inline-block;margin-top:10px;font-size:12px;color:var(--green);background:#ecfdf5;padding:4px 12px;border-radius:99px;}

/* ---------- FAQ ---------- */
.faq{max-width:780px;margin:0 auto;}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:11px;overflow:hidden;}
.faq summary{list-style:none;cursor:pointer;padding:19px 22px;font-weight:700;font-size:15.5px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:var(--font-head);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:22px;color:var(--red);font-weight:400;transition:.2s;flex-shrink:0;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{padding:0 22px 20px;color:var(--slate);font-size:14.5px;line-height:1.7;}

/* ---------- CTA final ---------- */
.final{position:relative;overflow:hidden;}
.final::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 340px at 50% 0%,rgba(225,29,46,.16),transparent 70%);}
.final .container{position:relative;}
.final h2{font-size:clamp(26px,3.6vw,42px);color:#fff;margin-bottom:14px;}
.final p{color:var(--slate-light);font-size:16.5px;margin-bottom:30px;max-width:560px;margin-inline:auto;}
.final__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- Footer ---------- */
.footer{background:var(--navy);color:var(--slate-light);font-size:14px;}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:clamp(24px,3vw,44px);padding:clamp(44px,5vw,64px) 0 40px;}
.footer h4{color:#fff;font-size:13.5px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;}
.footer ul{display:grid;gap:9px;}
.footer a:hover{color:#fff;}
.footer__brand p{margin:14px 0 18px;line-height:1.65;font-size:13.5px;}
.footer__soc{display:flex;gap:10px;}
.footer__soc a{width:36px;height:36px;border-radius:9px;background:var(--navy-2);display:flex;align-items:center;justify-content:center;color:#cbd5e1;transition:.2s;}
.footer__soc a:hover{background:var(--red);color:#fff;}
.footer__bottom{border-top:1px solid rgba(148,163,184,.15);padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;}
.footer__legal{display:flex;gap:18px;flex-wrap:wrap;}
.pay{display:flex;gap:8px;}
.pay span{background:#fff;color:var(--ink);font-size:10.5px;font-weight:800;border-radius:5px;padding:4px 9px;letter-spacing:.02em;}

/* ---------- Responsive ---------- */
@media(max-width:1080px){
  .offers{grid-template-columns:repeat(3,1fr);}
  .offers .offer:nth-child(4),.offers .offer:nth-child(5){grid-column:span 1;}
  .feats{grid-template-columns:repeat(2,1fr);}
  .support-cards{grid-template-columns:repeat(2,1fr);}
  .footer__grid{grid-template-columns:1.4fr 1fr 1fr;}
}
@media(max-width:900px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;padding:14px;box-shadow:var(--shadow-lg);}
  .nav.is-open{display:flex;}
  .nav__link{width:100%;justify-content:space-between;}
  .mega{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;padding:0 0 6px 12px;min-width:0;display:none;}
  .mega::before{display:none;}
  .nav__item:hover .mega{display:grid;}
  .nav__item:hover .mega,.nav__item:focus-within .mega{transform:none;}
  .nav__item::after{display:none;}
  .burger{display:flex;}
  .hero__in,.split,.infra{grid-template-columns:1fr;}
  .mock{margin-top:10px;}
  .plans{grid-template-columns:1fr;max-width:460px;margin:0 auto;}
  .plan--hot{transform:none;}
  .quotes{grid-template-columns:1fr;}
  .duo{grid-template-columns:1fr;}
  .duo__card{flex-wrap:wrap;}
  .duo__card .btn{margin-left:0;width:100%;justify-content:center;margin-top:8px;}
  .banner{flex-direction:column;text-align:center;}
  .banner .btn{margin:8px auto 0;}
  .tld-grid{grid-template-columns:repeat(2,1fr);}
  .offers{grid-template-columns:1fr 1fr;}
  .trust__in{grid-template-columns:repeat(2,1fr);gap:24px;}
  .topbar__links{display:none;}
}
/* Le menu de bureau complet (logo 210 px + cinq rubriques 730 px + les deux
   boutons 299 px, plus les marges) réclame environ 1 360 px de fenêtre.
   En dessous, c'est le menu tiroir qui prend le relais. */
@media(max-width:1359px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;padding:14px;box-shadow:var(--shadow-lg);}
  .nav.is-open{display:flex;}
  .nav__link{width:100%;justify-content:space-between;}
  .mega{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;padding:0 0 6px 12px;min-width:0;display:none;}
  .mega::before{display:none;}
  .nav__item:hover .mega{display:grid;}
  .nav__item:hover .mega,.nav__item:focus-within .mega{transform:none;}
  .nav__item::after{display:none;}
  .burger{display:flex;}
}
@media(max-width:560px){
  .offers,.support-cards,.feats{grid-template-columns:1fr;}
  .hero__actions .btn{width:100%;white-space:normal;text-align:center;}
  .btn--xl{padding:15px 22px;font-size:15.5px;}
  .hero__chip{white-space:normal;}
  .mock__float--tl{left:0;}
  .mock__float--br{right:0;}
  .split>*{min-width:0;}
  .mock__row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mock__row .stat-tile:nth-child(3){display:none;}
  .stat-tile b{font-size:15px;}
  .header__in{gap:14px;height:64px;}
  .logo__text{font-size:17px;}
  .logo__text small{display:none;}
  .logo__mark{width:36px;height:36px;font-size:15px;}
  .header__cta{gap:6px;}
  .header__cta .btn{padding:9px 13px;font-size:13px;}
  .burger{padding:8px;}
  .domainbar form{flex-direction:column;}
  .domainbar .btn{width:100%;}
  .footer__grid{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1/-1;}
}

/* Accessibilité */
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px;}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

/* ============================================================
   v2 — corrections & nouvelles sections
   ============================================================ */

/* Barre domaine compacte et discrète */
.domainbar--slim{max-width:820px;margin:0 auto;}
.domainbar--slim form{border:1px solid var(--line);box-shadow:var(--shadow);padding:5px;border-radius:12px;}
.domainbar--slim input{font-size:14.5px;padding:8px 13px;}
.domainbar--slim .btn{padding:10px 20px;font-size:14px;}
.domainbar--slim .domainbar__ext{justify-content:center;font-size:12.5px;margin-top:10px;}

/* Tones par service */
.tone-red{--tone:#e11d2e;--tone-soft:#fef1f2;--tone-dark:#b91424;}
.tone-blue{--tone:#2563eb;--tone-soft:#eff6ff;--tone-dark:#1d4ed8;}
.tone-green{--tone:#059669;--tone-soft:#ecfdf5;--tone-dark:#047857;}
.tone-purple{--tone:#7c3aed;--tone-soft:#f5f3ff;--tone-dark:#6d28d9;}
.tone-amber{--tone:#d97706;--tone-soft:#fffbeb;--tone-dark:#b45309;}
.svc .split__chip{background:var(--tone-soft);color:var(--tone);}
.svc .btn--tone{background:var(--tone);color:#fff;box-shadow:0 8px 20px -8px var(--tone);}
.svc .btn--tone:hover{background:var(--tone-dark);transform:translateY(-1px);}
.svc .check{color:var(--tone);}
.svc .svc__price{font-size:14px;color:var(--slate);margin:-6px 0 22px;}
.svc .svc__price b{font-family:var(--font-head);font-size:20px;color:var(--ink);}

/* Section storytelling Novatis */
.story{position:relative;overflow:hidden;}
.story__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,70px);align-items:center;}
.story blockquote{font-family:var(--font-head);font-size:clamp(19px,2.2vw,25px);font-weight:700;line-height:1.45;letter-spacing:-.01em;border-left:4px solid var(--red);padding-left:22px;margin:24px 0;}
.story blockquote span{color:var(--red);}
.story__flow{position:relative;display:grid;gap:18px;}
.story__card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 26px;box-shadow:var(--shadow);display:flex;gap:16px;align-items:center;}
.story__card .logo__mark{width:46px;height:46px;font-size:18px;}
.story__card--novatis .logo__mark{background:linear-gradient(135deg,#0b1120,#334155);}
.story__card h3{font-size:17px;}
.story__card p{font-size:13px;color:var(--slate);margin:2px 0 0;}
.story__link{width:2px;height:26px;background:repeating-linear-gradient(to bottom,var(--red) 0 4px,transparent 4px 8px);margin:0 auto;}
.story__badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}
.story__badges span{background:var(--bg-soft);border:1px solid var(--line);border-radius:99px;padding:7px 15px;font-size:13px;font-weight:700;}

/* Mockup WordPress admin */
.wp-mock{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;display:grid;grid-template-columns:52px 1fr;}
.wp-mock__side{background:#1e2327;display:flex;flex-direction:column;align-items:center;gap:14px;padding:14px 0;}
.wp-mock__side i{width:22px;height:22px;border-radius:6px;background:#3c434a;}
.wp-mock__side i:first-child{background:var(--tone,#2563eb);}
.wp-mock__main{padding:18px;}
.wp-mock__row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;font-size:12.5px;font-weight:600;}
.wp-mock__row small{display:block;color:var(--slate);font-weight:500;font-size:11px;}
.wp-mock__ok{color:var(--green);font-weight:800;font-size:11px;background:#ecfdf5;padding:4px 10px;border-radius:99px;white-space:nowrap;}

/* Mockup boutique e-commerce */
.shop-mock{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:18px;}
.shop-mock__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.shop-mock__head b{font-family:var(--font-head);font-size:14px;}
.shop-mock__cart{position:relative;width:34px;height:34px;border-radius:9px;background:var(--tone-soft,#ecfdf5);color:var(--tone,#059669);display:flex;align-items:center;justify-content:center;}
.shop-mock__cart::after{content:"3";position:absolute;top:-6px;right:-6px;background:var(--tone,#059669);color:#fff;font-size:9.5px;font-weight:800;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.shop-mock__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;}
.shop-item{border:1px solid var(--line);border-radius:11px;overflow:hidden;}
.shop-item i{display:block;aspect-ratio:1;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);}
.shop-item:nth-child(1) i{background:linear-gradient(135deg,#fee2e2,#fecaca);}
.shop-item:nth-child(2) i{background:linear-gradient(135deg,#dbeafe,#bfdbfe);}
.shop-item:nth-child(3) i{background:linear-gradient(135deg,#d1fae5,#a7f3d0);}
.shop-item div{padding:8px 9px;}
.shop-item span{display:block;height:7px;width:70%;border-radius:4px;background:#e2e8f0;margin-bottom:6px;}
.shop-item b{font-size:11.5px;color:var(--tone,#059669);font-weight:800;}
.shop-mock__toast{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;font-size:12px;font-weight:700;padding:9px 18px;border-radius:99px;box-shadow:var(--shadow-lg);white-space:nowrap;display:flex;gap:8px;align-items:center;}
.shop-mock__toast .check{color:#34d399;}

/* Mockup terminal VPS */
.term{background:#0a0f1c;border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;font-family:ui-monospace,'Cascadia Code',Consolas,monospace;border:1px solid rgba(148,163,184,.18);}
.term__bar{display:flex;gap:6px;padding:12px 16px;background:#101827;border-bottom:1px solid rgba(148,163,184,.12);align-items:center;}
.term__bar i{width:10px;height:10px;border-radius:50%;background:#334155;}
.term__bar span{margin-left:auto;font-size:10.5px;color:#64748b;}
.term__body{padding:18px 20px;font-size:12.5px;line-height:2;color:#cbd5e1;}
.term__body .p{color:#a78bfa;}
.term__body .ok{color:#34d399;}
.term__body .dim{color:#475569;}
.term__cursor{display:inline-block;width:8px;height:14px;background:#a78bfa;vertical-align:middle;animation:blink 1.1s steps(1) infinite;}
@keyframes blink{50%{opacity:0;}}

/* Domaines : grille compacte dans bloc service */
.tld-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;}
.tld-mini .tld b{font-size:20px;}
.tld-mini .tld{padding:16px 10px;}

/* Avis card (à côté des 2 témoignages réels) */
.quote--more{align-items:center;justify-content:center;text-align:center;border-style:dashed;background:var(--bg-soft);}
.quote--more p{color:var(--slate);font-size:13.5px;}

/* FAQ v2 : plus riche */
.faq details p + p{margin-top:10px;padding-top:0;}
.faq .faq__hl{color:var(--red);font-weight:700;}
.faq__cat{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin:34px 0 12px;padding-left:2px;}
.faq__cat:first-child{margin-top:0;}

/* Sous-menu mobile via JS */
@media(max-width:900px){
  .nav__item:hover .mega{display:none;}
  .nav__item.is-sub-open .mega{display:grid;}
}
@media(max-width:900px){
  .story__grid{grid-template-columns:1fr;}
  .wp-mock,.shop-mock,.term{max-width:520px;}
}
@media(max-width:560px){
  .shop-mock__grid{grid-template-columns:repeat(3,1fr);}
  .tld-mini{grid-template-columns:repeat(3,1fr);}
  .domainbar--slim form{flex-direction:column;}
}

/* Support en 3 colonnes (v2) */
.support-cards--3{grid-template-columns:repeat(3,1fr);}
@media(max-width:1080px){.support-cards--3{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){.support-cards--3{grid-template-columns:1fr;max-width:460px;margin:0 auto;}}

/* ============================================================
   v3 — direction artistique rouge, photos, tabs, quiz, utilitaires
   ============================================================ */

/* Utilitaires (remplacent les styles inline) */
.section--navy .h2,.section--navy h3{color:#fff;}
.section--navy .feat li{color:#e2e8f0;}
.actions-row{display:flex;gap:12px;flex-wrap:wrap;}
.mb0{margin-bottom:0!important;}
.link-plain{font-weight:700;color:var(--red);}
.link-plain:hover{text-decoration:underline;}
.header__client{font-weight:600;font-size:14px;color:var(--slate);}
.header__client:hover{color:var(--ink);}

/* ---------- HERO v3 : navy + signature rouge ---------- */
.hero--navy{background:radial-gradient(1000px 520px at 78% -10%,rgba(225,29,46,.28),transparent 60%),radial-gradient(700px 400px at -8% 108%,rgba(37,99,235,.16),transparent 55%),var(--navy);color:#fff;overflow:hidden;position:relative;}
.hero--navy::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(148,163,184,.13) 1px,transparent 1px);background-size:26px 26px;pointer-events:none;}
.hero--navy .container{position:relative;z-index:1;}
.hero--navy .lead{color:#b6c2d4;}
.hero--navy .hero__points{color:#b6c2d4;}
.hero__chip--dark{background:rgba(255,255,255,.06);border:1px solid rgba(148,163,184,.28);color:#e2e8f0;box-shadow:none;backdrop-filter:blur(6px);}
.hero__chip--dark strong{color:#fff;}
.pulse{display:block;width:min(320px,70%);height:26px;margin:6px 0 20px;}
.pulse path{stroke:var(--red);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(225,29,46,.65));}
.hero__or{font-size:14px;color:#94a3b8;display:flex;align-items:center;gap:8px;margin-top:14px;}
.hero__or a{color:#fff;font-weight:700;border-bottom:2px solid var(--red);}

/* Emplacements photos (duotone, prêts pour les vraies images) */
.photo-slot{position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#1c2740 0%,#0e1526 55%,#2a1420 100%);border:1px solid rgba(148,163,184,.25);min-height:300px;display:flex;align-items:center;justify-content:center;}
.photo-slot::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 70% 20%,rgba(225,29,46,.22),transparent 60%);}
.photo-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.photo-slot__hint{position:relative;text-align:center;color:#8fa0b8;font-size:12.5px;font-weight:600;padding:20px;line-height:1.6;}
.photo-slot__hint .cam{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.07);border:1px dashed rgba(148,163,184,.5);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:#cbd5e1;}
.photo-slot__hint b{display:block;color:#e2e8f0;font-size:13.5px;margin-bottom:2px;}
.photo-slot--light{background:linear-gradient(135deg,#f1f5f9,#fde8ea);border:1.5px dashed var(--line);}
.photo-slot--light::before{background:radial-gradient(70% 90% at 70% 20%,rgba(225,29,46,.10),transparent 60%);}
.photo-slot--light .photo-slot__hint{color:var(--slate);}
.photo-slot--light .photo-slot__hint b{color:var(--ink);}
.photo-slot--light .photo-slot__hint .cam{background:#fff;border-color:#cbd5e1;color:var(--slate);}
.hero__badge{position:absolute;background:#fff;color:var(--ink);border-radius:13px;box-shadow:var(--shadow-lg);padding:11px 15px;display:flex;gap:10px;align-items:center;font-size:12.5px;font-weight:700;z-index:2;}
.hero__badge small{display:block;font-size:10.5px;color:var(--slate);font-weight:600;}
.hero__badge--tl{top:18px;left:-14px;animation:float 5s ease-in-out infinite;}
.hero__badge--br{bottom:18px;right:-10px;animation:float 6s ease-in-out infinite reverse;}

/* Barre domaine intégrée au hero (sombre, compacte) */
.domainbar--hero{max-width:none;margin-top:26px;}
.domainbar--hero form{background:rgba(255,255,255,.06);border:1px solid rgba(148,163,184,.3);box-shadow:none;backdrop-filter:blur(6px);}
.domainbar--hero input{color:#fff;}
.domainbar--hero input::placeholder{color:#8fa0b8;}
.domainbar--hero .domainbar__ext{color:#8fa0b8;justify-content:flex-start;}
.domainbar--hero .domainbar__ext b{color:#e2e8f0;}
.domainbar--hero .domainbar__ext .price{color:#f87181;}

/* ---------- Vue d'ensemble : tuiles ancrées ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.tile{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 18px;display:flex;gap:15px;align-items:flex-start;transition:.2s;overflow:hidden;}
.tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tone,var(--red));}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.tile__ico{width:42px;height:42px;border-radius:11px;background:var(--tone-soft,var(--red-soft));color:var(--tone,var(--red));display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tile h3{font-size:15.5px;margin-bottom:3px;display:flex;gap:8px;align-items:center;}
.tile p{font-size:12.5px;color:var(--slate);line-height:1.5;margin-bottom:6px;}
.tile b.tile__price{font-size:12.5px;color:var(--ink);}
.tile b.tile__price span{color:var(--tone,var(--red));font-weight:800;}
.tile__go{position:absolute;right:16px;top:20px;color:var(--slate-light);transition:.2s;}
.tile:hover .tile__go{color:var(--tone,var(--red));transform:translateX(2px);}

/* ---------- Quiz « Trouvez votre offre » ---------- */
.quiz{background:var(--navy);border-radius:var(--radius);padding:26px 28px;color:#fff;display:grid;grid-template-columns:1.1fr repeat(3,1fr) auto;gap:14px;align-items:end;margin-top:18px;}
.quiz__intro h3{font-size:16.5px;color:#fff;margin-bottom:4px;}
.quiz__intro p{font-size:12.5px;color:var(--slate-light);}
.quiz label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-light);margin-bottom:7px;}
.quiz select{width:100%;background:var(--navy-2);border:1px solid rgba(148,163,184,.3);color:#fff;font:inherit;font-size:13.5px;padding:11px 12px;border-radius:9px;cursor:pointer;}
.quiz__result{grid-column:1/-1;display:none;background:rgba(225,29,46,.12);border:1px solid rgba(225,29,46,.4);border-radius:11px;padding:14px 18px;font-size:14px;align-items:center;gap:14px;flex-wrap:wrap;}
.quiz__result.is-on{display:flex;}
.quiz__result b{color:#fff;}
.quiz__result .btn{margin-left:auto;}

/* ---------- Bande de preuve (agence) ---------- */
.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px;}
.proof__stat{border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;background:#fff;}
.proof__stat b{font-family:var(--font-head);font-size:22px;display:block;letter-spacing:-.02em;}
.proof__stat span{font-size:12.5px;color:var(--slate);}
.logos{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
.logos span{flex:1;min-width:110px;height:52px;border:1.5px dashed var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--slate-light);background:var(--bg-soft);letter-spacing:.04em;}

/* ---------- Tabs services ---------- */
.tabs__list{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:30px;}
.tabs__btn{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:99px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:14px;color:var(--slate);transition:.18s;}
.tabs__btn .dot{width:9px;height:9px;border-radius:50%;background:var(--tone,var(--red));}
.tabs__btn:hover{border-color:var(--tone,var(--red));color:var(--ink);}
.tabs__btn[aria-selected="true"]{background:var(--tone,var(--red));border-color:var(--tone,var(--red));color:#fff;}
.tabs__btn[aria-selected="true"] .dot{background:#fff;}
.tabs__panel{display:none;}
.tabs__panel.is-on{display:block;animation:fadeUp .3s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* Ambre accessible pour boutons */
.tone-amber{--tone:#b45309;--tone-soft:#fffbeb;--tone-dark:#92400e;}

/* Divider pulse entre sections */
.divider-pulse{display:block;width:100%;height:30px;color:var(--red);opacity:.9;}

/* ---------- Responsive v3 ---------- */
@media(max-width:1080px){
  .tiles{grid-template-columns:repeat(2,1fr);}
  .quiz{grid-template-columns:1fr 1fr;}
  .quiz__intro{grid-column:1/-1;}
  .quiz .btn{grid-column:1/-1;}
  .proof{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .hero__badge--tl{left:6px;}
  .hero__badge--br{right:6px;}
}
@media(max-width:560px){
  .tiles{grid-template-columns:1fr;}
  .quiz{grid-template-columns:1fr;padding:22px;}
  .proof{grid-template-columns:1fr 1fr;}
  .tabs__btn{font-size:12.5px;padding:9px 14px;}
  .photo-slot{min-height:230px;}
}

/* v3 utilitaires complémentaires */
.section--pb0{padding-bottom:0;}
.quotes--mt{margin-top:44px;}
.quote--more__links{display:flex;gap:10px;flex-wrap:wrap;}
.logo--light{color:#fff;}
.logo--light .logo__text small{color:var(--slate-light);}
.footer__novatis{color:#fff;font-weight:700;}
.story .story__grid{margin-bottom:0;}

/* Header mobile : garder le CTA conversion, masquer le lien client (dispo dans le menu) */
@media(max-width:900px){
  .header__client{display:none;}
  .header__in{gap:14px;}
}
@media(max-width:400px){
  .header__cta .btn--sm{padding:9px 13px;font-size:13px;}
}

/* Ajustements hero v3 */
.nav__link{white-space:nowrap;}
.hero--navy .h1{font-size:clamp(29px,3.8vw,45px);}

/* ============================================================
   v4 — motion hero, section domaine, vraies photos/logos, accents froids
   ============================================================ */
:root{--indigo:#6366f1;--cyan:#22d3ee;}
.section--sm{padding:clamp(36px,5vw,60px) 0;}
.section--navy .eyebrow{color:var(--cyan);}
.section--navy .eyebrow::before,.section--navy.center .eyebrow::after{background:var(--cyan);}

/* ---------- Scène motion : le voyage d'un site ---------- */
.motion{position:relative;}
.motion__glow{position:absolute;inset:6% -6% -8% -6%;background:linear-gradient(135deg,rgba(225,29,46,.28),rgba(99,102,241,.25) 55%,rgba(34,211,238,.2));filter:blur(52px);border-radius:40px;}
.motion__card{position:relative;background:rgba(17,26,46,.82);border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:22px 22px 20px;backdrop-filter:blur(8px);box-shadow:var(--shadow-lg);}
.motion__head{display:flex;justify-content:space-between;align-items:center;white-space:nowrap;gap:12px;font-size:12px;font-weight:700;color:#8fa0b8;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;}
.msteps{position:relative;display:grid;gap:14px;margin-bottom:20px;}
.msteps::before{content:"";position:absolute;left:19px;top:10px;bottom:10px;width:2px;background:rgba(148,163,184,.18);}
.msteps::after{content:"";position:absolute;left:19px;top:10px;width:2px;background:linear-gradient(to bottom,var(--cyan),var(--indigo));animation:mline 11s infinite;}
@keyframes mline{0%{height:0;}8%{height:0;}45%{height:calc(100% - 20px);}100%{height:calc(100% - 20px);}}
.mstep{position:relative;display:flex;gap:14px;align-items:center;opacity:.28;animation:mstep 11s infinite;}
.mstep--1{animation-delay:0s;}
.mstep--2{animation-delay:1.6s;}
.mstep--3{animation-delay:3.2s;}
@keyframes mstep{0%,7%{opacity:.28;}12%,92%{opacity:1;}97%,100%{opacity:.28;}}
.mstep__ico{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;background:#0b1120;border:2px solid rgba(148,163,184,.3);display:flex;align-items:center;justify-content:center;color:#cbd5e1;flex-shrink:0;}
.mstep__txt{flex:1;font-size:14px;font-weight:700;color:#f1f5f9;}
.mstep__txt small{display:block;font-size:11.5px;color:#8fa0b8;font-weight:600;}
.mstep__ok{width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;transform:scale(0);animation:mok 11s infinite;}
.mstep--1 .mstep__ok{animation-delay:0s;}
.mstep--2 .mstep__ok{animation-delay:1.6s;}
.mstep--3 .mstep__ok{animation-delay:3.2s;}
@keyframes mok{0%,9%{transform:scale(0);}13%{transform:scale(1.25);}15%,92%{transform:scale(1);}97%,100%{transform:scale(0);}}
.mspeed{display:flex;align-items:center;gap:13px;background:rgba(11,17,32,.6);border:1px solid rgba(148,163,184,.18);border-radius:11px;padding:12px 15px;}
.mspeed label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8fa0b8;flex-shrink:0;}
.mspeed__bar{flex:1;height:8px;border-radius:99px;background:rgba(148,163,184,.15);overflow:hidden;}
.mspeed__bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--indigo));animation:mbar 11s infinite;}
@keyframes mbar{0%,42%{width:0;}55%,92%{width:86%;}97%,100%{width:0;}}
.mspeed b{font-family:var(--font-head);font-size:16px;color:#fff;opacity:0;animation:mnum 11s infinite;}
@keyframes mnum{0%,52%{opacity:0;}58%,92%{opacity:1;}98%,100%{opacity:0;}}
/* SERP Google */
.motion__serp{position:relative;margin:16px 0 0 34px;background:#fff;border-radius:13px;box-shadow:var(--shadow-lg);padding:14px 16px;opacity:0;transform:translateY(10px);animation:mserp 11s infinite;}
@keyframes mserp{0%,60%{opacity:0;transform:translateY(10px);}68%,94%{opacity:1;transform:translateY(0);}99%,100%{opacity:0;}}
.serp__bar{display:flex;align-items:center;gap:9px;background:var(--bg-soft);border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-size:12px;color:var(--slate);margin-bottom:11px;}
.serp__g{font-family:var(--font-head);font-weight:800;font-size:14px;background:linear-gradient(90deg,#4285F4,#EA4335,#FBBC05,#34A853);-webkit-background-clip:text;background-clip:text;color:transparent;}
.serp__res{display:flex;align-items:flex-start;gap:10px;}
.serp__res>div{min-width:0;}
.serp__badge{background:var(--green);color:#fff;font-size:9.5px;font-weight:800;padding:3px 9px;border-radius:99px;letter-spacing:.05em;flex-shrink:0;margin-top:2px;}
.serp__res b{display:block;font-size:14px;color:#1a0dab;}
.serp__res small{font-size:11.5px;color:var(--slate);}
.serp__stars{color:#f59e0b;font-size:11px;letter-spacing:1px;}

/* ---------- Section recherche domaine dédiée ---------- */
.domain-sec{background:linear-gradient(180deg,#fff 0%,var(--bg-soft) 100%);border-bottom:1px solid var(--line);}
.domain-sec .section-head{margin-bottom:24px;}
.domain-sec .domainbar{max-width:780px;margin:0 auto;}
.domain-sec .domainbar form{border:2px solid var(--ink);box-shadow:var(--shadow);padding:6px;}
.domain-sec .domainbar__ext{justify-content:center;}

/* ---------- Logos clients réels ---------- */
.logos{align-items:center;justify-content:center;gap:10px 14px;}
.logos .logo-card{flex:0 1 auto;min-width:0;height:64px;padding:10px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;}
.logos .logo-card img{max-height:40px;width:auto;max-width:120px;filter:grayscale(1);opacity:.7;transition:.25s;}
.logos .logo-card:hover img{filter:none;opacity:1;}

/* ---------- Photo réelle (story) ---------- */
.photo-frame{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);}
.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-frame__tag{position:absolute;left:14px;bottom:14px;background:rgba(11,17,32,.82);backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:700;padding:8px 14px;border-radius:99px;display:flex;gap:8px;align-items:center;}
.photo-frame__tag .dot{width:8px;height:8px;border-radius:50%;background:var(--green);}

@media(max-width:900px){
  .motion__serp{margin-left:0;}
  .logos .logo-card{height:56px;padding:8px 14px;}
  .logos .logo-card img{max-height:32px;max-width:96px;}
}
@media(prefers-reduced-motion:reduce){
  .mstep,.mstep__ok{opacity:1;transform:scale(1);animation:none;}
  .msteps::after{animation:none;height:calc(100% - 20px);}
  .mspeed__bar i{animation:none;width:86%;}
  .mspeed b,.motion__serp{animation:none;opacity:1;transform:none;}
}
.hero--navy .hero__points{margin-top:18px;}

/* Story : photo alignée sur la hauteur du texte */
.story__grid{align-items:stretch;}
.story__grid>div:first-child{display:flex;flex-direction:column;justify-content:center;}
.photo-frame{min-height:100%;}
.photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
@media(max-width:900px){
  .photo-frame{min-height:0;}
  .photo-frame img{position:static;height:auto;aspect-ratio:3/2;}
}

/* ============================================================
   Pages internes — composants
   ============================================================ */
/* Hero de page (navy compact) */
.page-hero{background:radial-gradient(800px 380px at 82% -20%,rgba(225,29,46,.25),transparent 60%),var(--navy);color:#fff;padding:clamp(40px,6vw,72px) 0;position:relative;overflow:hidden;}
.page-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(148,163,184,.12) 1px,transparent 1px);background-size:26px 26px;pointer-events:none;}
.page-hero .container{position:relative;z-index:1;}
.page-hero h1{font-size:clamp(28px,3.6vw,42px);font-weight:800;margin:10px 0 14px;}
.page-hero .lead{color:#b6c2d4;max-width:640px;}
.page-hero .pulse{margin:2px 0 16px;}
.page-hero .hero__points{color:#b6c2d4;margin-top:18px;}
.crumbs{display:flex;gap:8px;font-size:13px;color:#8fa0b8;font-weight:600;flex-wrap:wrap;}
.crumbs a:hover{color:#fff;}
.crumbs .sep{opacity:.5;}

/* Tableau de specs complet */
.spec{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;}
.spec table{width:100%;border-collapse:collapse;min-width:760px;}
.spec th,.spec td{padding:13px 18px;font-size:14px;border-bottom:1px solid var(--line);text-align:center;}
.spec thead th{font-family:var(--font-head);font-size:15px;padding:18px;}
.spec thead .price-row{font-size:13px;color:var(--slate);font-weight:600;}
.spec td:first-child,.spec th:first-child{text-align:left;font-weight:600;position:sticky;left:0;background:#fff;z-index:1;}
.spec tbody tr:hover td{background:var(--bg-soft);}
.spec tbody tr:hover td:first-child{background:var(--bg-soft);}
.spec .col-hot{background:var(--red-soft);font-weight:700;}
.spec thead th.col-hot{color:var(--red);}
.spec tr:last-child td{border-bottom:none;}
.spec .group td{background:var(--navy);color:#fff;font-family:var(--font-head);font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;padding:9px 18px;position:static;}
.spec .group td:first-child{background:var(--navy);}

/* Étapes */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:step;}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px 24px;}
.step__num{width:44px;height:44px;border-radius:12px;background:var(--red);color:#fff;font-family:var(--font-head);font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 8px 18px -8px rgba(225,29,46,.6);}
.step h3{font-size:16.5px;margin-bottom:7px;}
.step p{font-size:13.5px;color:var(--slate);line-height:1.6;}
.step::after{content:"";position:absolute;top:48px;right:-19px;width:20px;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 4px,transparent 4px 8px);}
.step:last-child::after{display:none;}

/* Cartes « inclus » (fond clair) */
.inc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.inc{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px;transition:.2s;}
.inc:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.inc .ico-round{width:40px;height:40px;margin-bottom:12px;}
.inc h3{font-size:14.5px;margin-bottom:4px;}
.inc p{font-size:12.5px;color:var(--slate);line-height:1.55;}

@media(max-width:1080px){.inc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){.steps{grid-template-columns:1fr;max-width:460px;margin:0 auto;}.step::after{display:none;}}
@media(max-width:560px){.inc-grid{grid-template-columns:1fr;}}

/* Variante 5 étapes (page migration) */
.steps--5{grid-template-columns:repeat(5,1fr);}
@media(max-width:1080px){.steps--5{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){.steps--5{grid-template-columns:1fr;max-width:460px;margin:0 auto;}}

/* ---------- Catalogue serveurs dédiés (SKUs réels, extensible) ---------- */
.catalog-note{max-width:780px;margin:0 auto 30px;text-align:center;font-size:13.5px;color:var(--slate);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 20px;}
.catalog-note a{color:var(--red);font-weight:700;}
.catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;align-items:stretch;}
.catalog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 20px;display:flex;flex-direction:column;transition:.22s;position:relative;}
.catalog-card:hover{box-shadow:var(--shadow-lg);}
.catalog-card--reco{border:2px solid var(--red);}
.catalog-card__flag{position:absolute;top:-11px;left:22px;background:var(--red);color:#fff;font-size:10.5px;font-weight:800;padding:3px 12px;border-radius:99px;letter-spacing:.05em;white-space:nowrap;}
.catalog-card__head{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.catalog-card__tag{display:inline-block;background:var(--navy);color:#fff;font-family:var(--font-head);font-size:12px;font-weight:800;letter-spacing:.04em;padding:3px 11px;border-radius:99px;margin-bottom:9px;}
.catalog-card__head h3{font-size:16.5px;margin-bottom:4px;}
.catalog-card__head p{font-size:12.5px;color:var(--slate);line-height:1.5;}
.catalog-card__variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;flex:1;}
.variant{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--bg-soft);}
.variant__top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:9px;flex-wrap:wrap;}
.variant__badge{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:99px;white-space:nowrap;}
.variant__badge--nvme{background:var(--red-soft);color:var(--red);}
.variant__badge--sata{background:#eef2ff;color:#4338ca;}
.variant__ref{font-size:10.5px;color:var(--slate-light);font-weight:700;}
.variant__storage{font-size:12.5px;color:var(--ink);font-weight:600;margin-bottom:11px;line-height:1.4;}
.variant__price{margin-bottom:2px;}
.variant__price b{font-family:var(--font-head);font-size:22px;font-weight:800;letter-spacing:-.02em;}
.variant__price span{font-size:12px;color:var(--slate);margin-left:3px;}
.variant__setup{font-size:11.5px;color:var(--slate);margin-bottom:12px;}
.variant .btn{width:100%;margin-top:auto;white-space:normal;line-height:1.3;text-align:center;}
@media(max-width:560px){
  .catalog{grid-template-columns:1fr;}
  .catalog-card__variants{grid-template-columns:1fr;}
}

/* ---------- Blog : cover, article, prose ---------- */
.article-hero{background:var(--navy);position:relative;overflow:hidden;padding:44px 0 40px;}
.article-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 300px at 15% -10%,rgba(225,29,46,.28),transparent 60%);}
.article-hero .container{position:relative;z-index:1;}
.article-hero .crumbs{color:rgba(255,255,255,.55);}
.article-hero .crumbs a{color:rgba(255,255,255,.75);}
.article-hero .crumbs span:last-child{color:rgba(255,255,255,.9);}
.article-hero h1{color:#fff;font-size:clamp(28px,4vw,42px);margin:14px 0 16px;max-width:820px;}
.article-meta{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;color:rgba(255,255,255,.65);font-size:13.5px;margin-bottom:6px;}
.article-meta .cat{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);color:#fff;font-weight:700;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;padding:4px 11px;border-radius:99px;}
.article-cover{width:100%;height:220px;border-radius:var(--radius);margin-top:24px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.article-cover svg{width:96px;height:96px;position:relative;z-index:1;}
.article-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 60%);}
.article-cover.tone-blue{background:linear-gradient(135deg,#1d4ed8,#0b1120);color:#fff;}
.article-cover.tone-green{background:linear-gradient(135deg,#059669,#0b1120);color:#fff;}
.article-cover.tone-red{background:linear-gradient(135deg,var(--red),#0b1120);color:#fff;}
.article-cover.tone-purple{background:linear-gradient(135deg,#7c3aed,#0b1120);color:#fff;}
.article-cover.tone-amber{background:linear-gradient(135deg,#d97706,#0b1120);color:#fff;}
.article-body{max-width:760px;margin:0 auto;padding:44px 0;font-size:16px;line-height:1.75;color:var(--ink);}
.article-body h2{font-size:24px;margin:38px 0 14px;font-family:var(--font-head);}
.article-body h3{font-size:18.5px;margin:26px 0 10px;font-family:var(--font-head);}
.article-body p{margin-bottom:16px;color:#2a3348;}
.article-body ul,.article-body ol{margin:0 0 16px 22px;color:#2a3348;}
.article-body li{margin-bottom:7px;line-height:1.65;}
.article-body a{color:var(--red);font-weight:600;text-decoration:underline;text-decoration-color:rgba(225,29,46,.3);text-underline-offset:2px;}
.article-body a:hover{text-decoration-color:var(--red);}
.article-body blockquote{border-left:3px solid var(--red);padding:4px 20px;margin:22px 0;color:var(--slate);font-style:italic;}
.article-body strong{color:var(--ink);}
.article-cta{max-width:760px;margin:0 auto 44px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.article-cta p{margin:0;font-weight:600;font-size:15px;}
.related{max-width:760px;margin:0 auto;padding:0 0 60px;}
.related h3{font-family:var(--font-head);font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:16px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.related-card{display:block;border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px;transition:.15s;}
.related-card:hover{border-color:var(--red);box-shadow:var(--shadow);}
.related-card .cat{display:block;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--red);margin-bottom:6px;}
.related-card b{display:block;font-size:14px;line-height:1.4;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.blog-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:.15s;}
.blog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}
.blog-card__cover{height:132px;display:flex;align-items:center;justify-content:center;position:relative;}
.blog-card__cover svg{width:52px;height:52px;position:relative;z-index:1;}
.blog-card__cover::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 60%);}
.blog-card__body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.blog-card .cat{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--red);}
.blog-card h3{font-size:16px;line-height:1.4;font-family:var(--font-head);}
.blog-card p{font-size:13.5px;color:var(--slate);line-height:1.55;margin:0;flex:1;}
.blog-card__meta{font-size:12px;color:var(--slate-light);margin-top:4px;}
@media(max-width:1080px){.blog-grid{grid-template-columns:repeat(2,1fr);}.related-grid{grid-template-columns:1fr;}}
@media(max-width:900px){.article-hero{padding:32px 0 30px;}}
@media(max-width:560px){.blog-grid{grid-template-columns:1fr;}.article-cta{flex-direction:column;align-items:stretch;text-align:center;}.article-cta .btn{width:100%;white-space:normal;text-align:center;}.article-body{overflow-x:hidden;}}

/* ============================================================
   v5 — Finalisation éditoriale : photos, moyens de paiement et contraste
   ============================================================ */
.page-hero .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:clamp(26px,4vw,56px);align-items:center;}
.page-hero .crumbs,.page-hero h1,.page-hero .pulse,.page-hero .lead,.page-hero .hero__points{grid-column:1;}
.page-hero__media{grid-column:2;grid-row:1 / span 5;position:relative;margin:0;min-height:280px;border-radius:18px;overflow:hidden;border:1px solid rgba(148,163,184,.28);box-shadow:0 24px 56px -26px rgba(0,0,0,.65);background:#111a2e;}
.page-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,17,32,.18),rgba(225,29,46,.08));pointer-events:none;}
.page-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.photo-slot--ready::before{display:none;}
.photo-slot--ready img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.article-cover--photo{background:var(--navy);}
.article-cover--photo::after{background:linear-gradient(90deg,rgba(11,17,32,.36),transparent 60%);}
.article-cover--photo img,.blog-card__cover--photo img{width:100%;height:100%;object-fit:cover;display:block;}
.blog-card__cover--photo::after{background:linear-gradient(180deg,transparent 42%,rgba(11,17,32,.28));}
.blog-card__cover--photo svg,.article-cover--photo svg{display:none;}
.pay{align-items:center;flex-wrap:wrap;}
.payment-card{position:relative;min-width:70px;height:34px;padding:5px 8px;border:1px solid rgba(148,163,184,.3);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:5px;overflow:hidden;background:linear-gradient(135deg,#f8fafc,#dbe5f0);color:var(--navy);box-shadow:0 4px 10px rgba(0,0,0,.16);font-size:10px;letter-spacing:.02em;}
.payment-card::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.7),transparent 42%,rgba(148,163,184,.12));pointer-events:none;}
.payment-card i{display:block;width:13px;height:10px;border-radius:2px;background:linear-gradient(90deg,#d4a72c,#ffe486);border:1px solid rgba(133,99,13,.35);}
.payment-card b,.payment-card svg{position:relative;z-index:1;}
.payment-card svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.payment-card--bank{background:linear-gradient(135deg,#fff,#dde7f1 55%,#c9d4e1);}
.payment-card--visa{min-width:62px;background:linear-gradient(135deg,#f6f9ff,#dbeafe);color:#143c8c;font-style:italic;font-size:12px;letter-spacing:-.04em;}
.payment-card--mastercard{min-width:92px;background:linear-gradient(135deg,#fff,#f5f5f5);color:#1f2937;font-size:8px;letter-spacing:-.05em;gap:0;}
.payment-card--mastercard i{width:13px;height:13px;border-radius:50%;border:0;background:#eb001b;margin-right:-4px;position:relative;z-index:1;}
.payment-card--mastercard i:nth-child(2){background:#f79e1b;margin-right:4px;mix-blend-mode:multiply;}
.payment-card--mastercard b{font-weight:800;}
.payment-card--transfer{background:linear-gradient(135deg,#edf7ff,#d6e9f8);color:#124a7c;}
.payment-card--secure{background:linear-gradient(135deg,#eefbf5,#d7f2e4);color:#076642;}
.logo__mark{background:#fff;padding:3px;overflow:hidden;}
.logo__mark img{width:100%;height:100%;object-fit:contain;}
.logo--light .logo__mark{background:#fff;}
@media(max-width:900px){
  .logo__official{width:160px;max-height:34px;}
  .footer .logo__official,.logo--light .logo__official{width:200px;max-height:40px;}
  .page-hero .container{display:block;}
  .page-hero__media{min-height:220px;margin-top:26px;}
}

/* ============================================================
   v6 — Editorial institutionnel : lecture, preuves et document de confiance
   ============================================================ */
.article-hero h1,.blog-hero h1{font-family:var(--font-serif);font-weight:400;letter-spacing:-.025em;line-height:1.06;}
.article-body blockquote{font-family:var(--font-serif);font-size:20px;line-height:1.42;color:var(--ink);background:linear-gradient(90deg,var(--red-soft),transparent);border-left-width:4px;border-radius:0;padding:18px 24px;}
.article-body h2{position:relative;padding-top:8px;}
.article-body h2::before{content:"";position:absolute;top:0;left:0;width:34px;height:2px;background:var(--red);}
.blog-grid{gap:30px 20px;align-items:start;}
.blog-card{border:0;border-top:2px solid var(--red);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent;overflow:visible;}
.blog-card:nth-child(3n+2){margin-top:26px;}
.blog-card:hover{box-shadow:none;transform:none;border-bottom-color:var(--red);}
.blog-card__cover{height:156px;border-radius:2px;overflow:hidden;background:var(--navy);}
.blog-card__body{padding:17px 0 20px;gap:9px;}
.blog-card h3{font-family:var(--font-serif);font-weight:400;font-size:20px;line-height:1.18;letter-spacing:-.01em;}
.blog-card p{font-size:13.25px;line-height:1.6;}
.blog-card .cat{font-size:10px;}
.article-cover--photo img,.blog-card__cover--photo img{filter:saturate(.84) contrast(1.04);}
.legal-doc-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:24px;margin:0 0 38px;padding:22px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.legal-doc-intro__meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-content:start;font-size:12.5px;color:var(--slate);}
.legal-doc-intro__meta b{display:block;width:100%;font-family:var(--font-head);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--red);}
.legal-toc{border-left:2px solid var(--red);padding-left:16px;}
.legal-toc__title{display:block;margin-bottom:8px;font-family:var(--font-head);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);}
.legal-toc a{display:block;padding:3px 0;font-size:12.5px;line-height:1.35;color:var(--slate);}
.legal-toc a:hover{color:var(--red);}
.legal-doc-mark{display:inline-flex;align-items:center;gap:8px;background:var(--red-soft);color:var(--red);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;}
@media(max-width:760px){
  .blog-card:nth-child(3n+2){margin-top:0;}
  .legal-doc-intro{grid-template-columns:1fr;gap:18px;}
  .legal-toc{max-height:214px;overflow:auto;}
}

/* ============================================================
   v11 — Transfert de domaine : procédure, confiance et conversion
   ============================================================ */
.transfer-hero .hero__in{grid-template-columns:minmax(0,1.05fr) minmax(330px,.88fr);padding:clamp(54px,8vw,104px) 0 clamp(64px,8vw,112px);}
.transfer-hero .hero__points{margin-top:20px;max-width:670px;}
.transfer-eyebrow{margin:17px 0 -4px;color:#a9c2dc;font:800 10px var(--font-head);letter-spacing:.14em;text-transform:uppercase;}
.transfer-hero__actions{display:flex;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap;}
.transfer-hero__secondary{color:#d3e0ee;font:700 12px var(--font-head);text-decoration:underline;text-decoration-color:rgba(211,224,238,.4);text-underline-offset:5px;}
.transfer-hero__secondary:hover{color:#fff;text-decoration-color:var(--red);}
.transfer-motion{min-height:396px;isolation:isolate;display:flex;align-items:center;padding:22px;overflow:visible;}
.transfer-motion .motion__glow{inset:3% -10% -7%;z-index:-1;}
.transfer-motion .motion__card{width:min(100%,420px);margin:0 auto;z-index:1;}
.transfer-motion .motion__result{position:absolute;z-index:2;left:8%;right:8%;bottom:0;margin:0;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 14px;background:#fff;border:1px solid rgba(207,216,229,.9);border-radius:12px;box-shadow:0 18px 38px rgba(3,12,27,.28);}
.transfer-motion .motion__result .mres__ico{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--red-soft);color:var(--red);}
.transfer-motion .motion__result .mres__body{display:grid;gap:2px;min-width:0;}
.transfer-motion .motion__result .mres__body b{display:block;overflow:hidden;color:var(--ink);font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;}
.transfer-motion .motion__result .mres__body small{display:block;overflow:hidden;color:var(--slate);font-size:10.5px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;}
.transfer-motion .motion__result .mres__badge{align-self:center;margin:0;padding:4px 8px;background:var(--green);color:#fff;border-radius:999px;font-size:8.5px;font-weight:800;letter-spacing:.06em;white-space:nowrap;}
.transfer-hero h1{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:42px;font-style:normal;font-weight:800;letter-spacing:-.84px;line-height:48.3px;margin:10px 0 14px;}
.transfer-intro h2,.transfer-paths h2,.transfer-conditions h2,.transfer-dns h2,.transfer-outbound h2,.transfer-faq h2,.transfer-cta h2{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:38px;font-style:normal;font-weight:800;letter-spacing:-.76px;line-height:43.7px;margin:0;}
@media(max-width:640px){.transfer-hero h1{font-size:36px;line-height:41px;letter-spacing:-.72px;}.transfer-intro h2,.transfer-paths h2,.transfer-conditions h2,.transfer-dns h2,.transfer-outbound h2,.transfer-faq h2,.transfer-cta h2{font-size:30px;line-height:35px;letter-spacing:-.6px;}}
.transfer-intro .transfer-prose h2,.transfer-paths h2,.transfer-conditions__title h2,.transfer-dns h2,.transfer-outbound__label h2,.transfer-faq h2,.transfer-cta h2{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:38px!important;font-style:normal!important;font-weight:800!important;letter-spacing:-.76px!important;line-height:43.7px!important;margin:0!important;}
@media(max-width:640px){.transfer-intro .transfer-prose h2,.transfer-paths h2,.transfer-conditions__title h2,.transfer-dns h2,.transfer-outbound__label h2,.transfer-faq h2,.transfer-cta h2{font-size:30px!important;line-height:35px!important;letter-spacing:-.6px!important;}}
.transfer-intro{padding:90px 0 95px;}
.transfer-intro__grid{display:grid;grid-template-columns:150px minmax(0,1fr) 290px;gap:50px;align-items:start;}
.transfer-side-label{border-left:2px solid var(--red);padding:3px 0 5px 15px;color:var(--slate);}
.transfer-side-label span{display:block;margin-bottom:13px;color:var(--red);font:800 11px var(--font-head);letter-spacing:.12em;}
.transfer-side-label p{margin:0;font:700 13px/1.4 var(--font-head);}
.transfer-prose h2,.transfer-conditions__title h2,.transfer-outbound__label h2,.transfer-faq h2{margin:8px 0 20px;max-width:680px;font-family:var(--font-serif);font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.03;letter-spacing:-.03em;}
.transfer-prose h2 em{color:var(--red);font-style:normal;}
.transfer-prose p{max-width:690px;margin:0 0 16px;color:#3a485d;font-size:16px;line-height:1.72;}
.transfer-fact-card{position:relative;padding:22px;border-top:2px solid var(--red);background:#08162c;color:#fff;box-shadow:0 18px 36px rgba(10,22,43,.15);}
.transfer-fact-card__kicker{display:block;margin-bottom:16px;color:#8ea7c2;font:800 9px var(--font-head);letter-spacing:.12em;text-transform:uppercase;}
.transfer-fact-card strong{display:block;font:700 18px/1.25 var(--font-head);}
.transfer-fact-card p{margin:12px 0 18px;color:#c3d2e1;font-size:13px;line-height:1.55;}
.transfer-fact-card a{color:#fff;font:700 11px var(--font-head);}.transfer-fact-card a span{color:var(--red);margin-left:5px;}
.transfer-paths{padding:90px 0;background:#f6f8fb;}
.transfer-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.55fr);gap:60px;align-items:end;margin-bottom:42px;}
.transfer-heading h2{margin:6px 0 0;font-family:var(--font-serif);font-size:clamp(36px,4vw,58px);font-weight:400;line-height:1;letter-spacing:-.035em;}.transfer-heading h2 span{color:var(--red);}
.transfer-heading>p{margin:0 0 4px;color:var(--slate);font-size:14px;line-height:1.65;}
.transfer-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfd8e5;border-left:1px solid #cfd8e5;}
.transfer-steps article{min-height:244px;padding:26px 23px 22px;border-right:1px solid #cfd8e5;border-bottom:1px solid #cfd8e5;background:#fff;transition:background .2s ease,transform .2s ease;}
.transfer-steps article:hover{background:#fffafa;transform:translateY(-4px);}.transfer-step__number{display:block;margin-bottom:45px;color:var(--red);font:800 11px var(--font-head);letter-spacing:.12em;}.transfer-steps h3{margin:0 0 9px;font-size:17px;}.transfer-steps p{margin:0;color:var(--slate);font-size:13px;line-height:1.62;}
.transfer-action-band{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:24px 26px;background:var(--navy);color:#fff;}.transfer-action-band span{display:block;margin-bottom:4px;color:#9bb0c7;font:800 9px var(--font-head);text-transform:uppercase;letter-spacing:.12em;}.transfer-action-band strong{font:700 20px var(--font-head);}
.transfer-conditions{padding:105px 0;}.transfer-conditions__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:90px;}.transfer-conditions__title>p:last-child{max-width:390px;color:var(--slate);font-size:15px;line-height:1.65;}.transfer-checklist{border-top:1px solid var(--line);}.transfer-check{display:flex;gap:17px;padding:21px 0;border-bottom:1px solid var(--line);}.transfer-check>span{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#e6f8ef;color:#08734b;font:800 13px var(--font-head);}.transfer-check h3{margin:2px 0 5px;font-size:15px;}.transfer-check p{margin:0;color:var(--slate);font-size:13.5px;line-height:1.58;}.transfer-check--note{padding:22px 18px;margin:16px -18px 0;background:var(--red-soft);border:0;}.transfer-check--note>span{background:var(--red);color:#fff;}.transfer-check--note a{display:inline-block;margin-top:10px;color:var(--red);font:700 12px var(--font-head);}
.transfer-dns{padding:92px 0;background:#08162c;color:#fff;}.transfer-dns__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:120px;align-items:center;}.eyebrow--light{color:#9bb5ce;}.transfer-dns h2{margin:7px 0 0;font-family:var(--font-serif);font-size:clamp(38px,4vw,58px);font-weight:400;line-height:1.02;letter-spacing:-.035em;}.transfer-dns h2 span{color:#ff6975;}.transfer-dns__explain>p{margin:0;color:#d2ddea;font-size:16px;line-height:1.75;}.transfer-dns__explain strong{color:#fff;}.transfer-dns__pillrow{display:flex;align-items:center;gap:12px;margin:30px 0 24px;flex-wrap:wrap;}.transfer-dns__pillrow span{padding:8px 11px;border:1px solid rgba(211,226,240,.25);color:#fff;font:800 11px var(--font-head);}.transfer-dns__pillrow b{color:#ff6975;}.transfer-dns__pillrow i{padding:8px 11px;background:rgba(65,216,161,.12);color:#75e1b7;font:800 10px var(--font-head);font-style:normal;text-transform:uppercase;letter-spacing:.08em;}.transfer-dns__small{margin-top:0!important;color:#a9bdcf!important;font-size:13px!important;}.transfer-dns__small a{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px;}
.transfer-outbound{padding:100px 0;background:#fff;}.transfer-outbound__grid{display:grid;grid-template-columns:.8fr 1.1fr;gap:85px;align-items:start;}.transfer-outbound__label h2 span{color:var(--red);}.transfer-outbound__label>p:last-child{max-width:440px;color:var(--slate);font-size:15px;line-height:1.68;}.transfer-outbound__panel{padding:28px 30px 30px;border-left:2px solid var(--red);background:#f7f9fc;}.transfer-outbound__panel ol{display:grid;gap:22px;margin:0 0 27px;padding:0;list-style:none;}.transfer-outbound__panel li{display:flex;gap:16px;}.transfer-outbound__panel li>b{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:50%;background:#08162c;color:#fff;font:800 11px var(--font-head);}.transfer-outbound__panel h3{margin:2px 0 5px;font-size:15px;}.transfer-outbound__panel p{margin:0;color:var(--slate);font-size:13px;line-height:1.55;}.transfer-outbound__panel .btn{white-space:normal;}
.transfer-faq{padding:100px 0;background:#f6f8fb;}.transfer-faq__grid{display:grid;grid-template-columns:.75fr 1.15fr;gap:90px;align-items:start;}.transfer-faq__grid>div:first-child>p:last-child{max-width:380px;color:var(--slate);line-height:1.65;}.transfer-faq__items{border-top:1px solid #cfd8e5;}.transfer-faq details{border-bottom:1px solid #cfd8e5;padding:0 0 0 0;}.transfer-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;color:var(--ink);font:700 15px/1.35 var(--font-head);cursor:pointer;list-style:none;}.transfer-faq summary::-webkit-details-marker{display:none;}.transfer-faq summary span{flex:none;color:var(--red);font-size:20px;transition:transform .2s ease;}.transfer-faq details[open] summary span{transform:rotate(45deg);}.transfer-faq details p{max-width:720px;margin:-4px 0 20px;color:var(--slate);font-size:13.5px;line-height:1.65;}
.transfer-cta{padding:82px 0;background:linear-gradient(125deg,#0a1830,#101c34 58%,#391927);color:#fff;text-align:center;}.transfer-cta p{margin:0 0 8px;color:#a6b8cb;font:800 10px var(--font-head);text-transform:uppercase;letter-spacing:.12em;}.transfer-cta h2{max-width:750px;margin:0 auto 26px;font-family:var(--font-serif);font-size:clamp(32px,4vw,51px);font-weight:400;line-height:1.06;letter-spacing:-.03em;}.transfer-cta>div>div{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}.transfer-cta .btn--ghost{border-color:rgba(255,255,255,.35);color:#fff;}
@media(max-width:980px){.transfer-hero .hero__in,.transfer-intro__grid,.transfer-conditions__grid,.transfer-dns__grid,.transfer-outbound__grid,.transfer-faq__grid{grid-template-columns:1fr;gap:38px;}.transfer-side-label{display:none;}.transfer-heading{grid-template-columns:1fr;gap:18px;}.transfer-steps{grid-template-columns:repeat(2,1fr);}.transfer-dns__grid{gap:30px;}.transfer-fact-card{max-width:500px;}.transfer-motion{max-width:560px;margin:0 auto;width:100%;}.transfer-faq__grid{gap:20px;}}
@media(max-width:640px){.transfer-hero .hero__in{padding:42px 0 62px;}.transfer-hero__actions,.transfer-action-band{align-items:stretch;flex-direction:column;}.transfer-hero__actions .btn,.transfer-action-band .btn{width:100%;justify-content:center;text-align:center;}.transfer-hero__secondary{text-align:center;}.transfer-motion{min-height:325px;padding:11px;}.transfer-motion .motion__card{padding:16px;}.transfer-motion .mstep{gap:9px;}.transfer-motion .mstep__txt{font-size:12px;}.transfer-motion .mstep__txt small{font-size:10px;}.transfer-motion .motion__result{left:5%;right:5%;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:10px;}.transfer-motion .motion__result .mres__ico{width:30px;height:30px;}.transfer-motion .motion__result .mres__badge{display:none;}.transfer-intro,.transfer-conditions,.transfer-outbound,.transfer-faq{padding:64px 0;}.transfer-paths,.transfer-dns{padding:64px 0;}.transfer-steps{grid-template-columns:1fr;}.transfer-steps article{min-height:0;padding:22px;}.transfer-step__number{margin-bottom:22px;}.transfer-action-band{padding:22px;}.transfer-conditions__title h2,.transfer-outbound__label h2,.transfer-faq h2,.transfer-prose h2{font-size:35px;}.transfer-outbound__panel{padding:24px 18px;}.transfer-dns__pillrow{gap:8px;}.transfer-dns__pillrow span,.transfer-dns__pillrow i{font-size:9px;}.transfer-cta{padding:64px 0;}.transfer-cta .btn{width:100%;justify-content:center;}}

/* ============================================================
   v7 — Motion SaaS, choix de pack et lecture éditoriale
   Philosophie : chaque animation explique une capacité réelle, jamais une décoration vide.
   ============================================================ */
.page-hero__media.motion-scene{display:block;background:linear-gradient(145deg,#071221 0%,#101f37 62%,#111a2d 100%);isolation:isolate;box-shadow:0 28px 70px -34px rgba(0,0,0,.84);}
.page-hero__media.claude-motion-scene{display:block;isolation:isolate;background:linear-gradient(145deg,#071221 0%,#101f37 62%,#111a2d 100%);box-shadow:0 28px 70px -34px rgba(0,0,0,.84);}
.claude-motion-scene .motion{position:absolute;inset:0;display:flex;align-items:center;padding:clamp(16px,4vw,32px);overflow:hidden;}.claude-motion-scene .motion__glow{inset:4% -5% -12%;}.claude-motion-scene .motion__card{width:min(100%,410px);margin:0 auto;z-index:1;}.claude-motion-scene .motion__result{position:absolute;z-index:2;left:9%;right:9%;bottom:9%;margin:0;background:#fff;border-radius:13px;box-shadow:var(--shadow-lg);padding:13px 15px;opacity:0;transform:translateY(10px);animation:mserp 11s infinite;display:flex;align-items:flex-start;gap:11px;}.claude-motion-scene .motion__result .mres__ico{width:34px;height:34px;border-radius:9px;background:var(--red-soft);color:var(--red);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.claude-motion-scene .motion__result .mres__body{min-width:0;flex:1;}.claude-motion-scene .motion__result b{display:block;font-size:13px;color:var(--ink);}.claude-motion-scene .motion__result small{font-size:11px;color:var(--slate);}.claude-motion-scene .mres__badge{background:var(--green);color:#fff;font-size:9px;font-weight:800;padding:3px 8px;border-radius:99px;letter-spacing:.05em;flex-shrink:0;margin-top:2px;}
.motion-grid,.motion-ambient{position:absolute;inset:0;pointer-events:none;}
.motion-grid{opacity:.28;background-image:linear-gradient(rgba(205,221,238,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(205,221,238,.11) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);}
.motion-ambient{background:radial-gradient(circle at 82% 18%,rgba(225,29,46,.25),transparent 30%),radial-gradient(circle at 12% 92%,rgba(53,210,166,.12),transparent 26%);animation:motionAmbient 8s ease-in-out infinite alternate;}
.motion-scene__content{position:absolute;inset:0;z-index:2;font-family:var(--font-head);color:#f8fbff;}
.motion-label{position:absolute;z-index:3;bottom:16px;left:18px;font:700 10px/1 var(--font-head);text-transform:uppercase;letter-spacing:.13em;color:rgba(231,240,251,.64);}
.motion-window,.motion-terminal,.motion-console,.motion-builder,.motion-rack,.motion-domain,.motion-inbox,.motion-shield,.motion-search,.motion-launch__site,.motion-launch__server,.motion-agency,.motion-migration>div{position:absolute;border:1px solid rgba(213,228,244,.22);background:linear-gradient(145deg,rgba(24,42,69,.94),rgba(8,18,34,.94));box-shadow:0 16px 32px rgba(0,0,0,.27);}
.motion-window{top:14%;left:9%;width:71%;height:57%;border-radius:12px;overflow:hidden;animation:motionFloat 5.5s ease-in-out infinite;}
.motion-window__bar,.motion-terminal__head,.motion-console__top{height:28px;padding:0 10px;display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.055);font-size:8px;color:rgba(236,245,255,.64);}
.motion-window__bar i,.motion-terminal__head i{width:5px;height:5px;border-radius:50%;background:#e11d2e;}.motion-window__bar i:nth-child(2),.motion-terminal__head i:nth-child(2){background:#f7b843;}.motion-window__bar i:nth-child(3),.motion-terminal__head i:nth-child(3){background:#44d19a;}
.motion-window__bar b{margin-left:5px;font-weight:700;}.motion-window__bar span,.motion-console__top span{margin-left:auto;color:#65d7ab;}
.motion-window__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:18px 16px 9px;}.motion-window__cards em{height:72px;border-radius:7px;background:linear-gradient(145deg,#d9ecff,#5d789b 55%,#223b5b);position:relative;overflow:hidden;}.motion-window__cards em::after{content:"";position:absolute;left:10px;right:10px;bottom:10px;height:7px;background:#fff;opacity:.76;box-shadow:0 -12px 0 rgba(255,255,255,.5);}
.motion-window__pay{position:absolute;right:13px;bottom:13px;left:13px;height:33px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;border-radius:6px;background:linear-gradient(90deg,#0f6f55,#13a875);font-size:9px;font-weight:700;animation:motionPay 4s ease-in-out infinite;}.motion-window__pay b{font-size:15px;}
.motion-load{position:absolute;top:20%;right:6%;width:28%;display:grid;gap:7px;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:rgba(234,243,250,.6);}.motion-load i{height:5px;background:rgba(255,255,255,.14);position:relative;overflow:hidden;}.motion-load i::after{content:"";position:absolute;inset:0 auto 0 0;width:72%;background:linear-gradient(90deg,var(--red),#ff6774);animation:motionLoad 2.6s ease-in-out infinite;}.motion-load i:nth-of-type(2)::after{width:54%;animation-delay:.25s;}.motion-load i:nth-of-type(3)::after{width:82%;animation-delay:.5s;}.motion-load strong{color:#6ddaae;font-size:8px;}
.motion-signal{position:absolute;width:170px;height:2px;left:12%;bottom:20%;background:linear-gradient(90deg,transparent,var(--red),transparent);filter:drop-shadow(0 0 8px rgba(225,29,46,.8));animation:motionSignal 2.9s linear infinite;}.motion-signal--commerce{left:31%;bottom:13%;transform:rotate(-16deg);}
.motion-window--wp{left:13%;top:18%;width:66%;height:52%;}.motion-window__page{padding:25px 18px;display:grid;gap:9px;}.motion-window__page strong{font-family:var(--font-serif);font-size:18px;line-height:1.05;max-width:155px;}.motion-window__page span{height:7px;width:80%;background:rgba(226,238,250,.33);}.motion-window__page span:nth-child(3){width:57%;}.motion-cache,.motion-backup{position:absolute;right:8%;padding:10px 11px;border:1px solid rgba(105,215,171,.46);background:rgba(7,43,39,.9);display:flex;gap:7px;align-items:center;font-size:9px;border-radius:8px;}.motion-cache{top:18%;animation:motionFloat 4.3s ease-in-out .5s infinite;}.motion-cache b{color:#75e4b7;}.motion-cache i{font-style:normal;color:#75e4b7;}.motion-backup{bottom:20%;right:11%;border-color:rgba(225,29,46,.48);background:rgba(68,18,29,.78);animation:motionFloat 4.6s ease-in-out infinite;}.motion-backup b{color:#ffb2b9;}
.motion-terminal{top:17%;left:8%;width:66%;height:52%;border-radius:10px;overflow:hidden;font:11px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace;animation:motionFloat 5s ease-in-out infinite;}.motion-terminal p{margin:8px 14px;color:#d7e5f7;white-space:nowrap;}.motion-terminal p span{color:#72dcb0;margin-right:5px;}.motion-terminal p:first-of-type span{color:#ff6672;}.motion-rocket{position:absolute;right:8%;bottom:18%;width:46px;height:78px;transform:rotate(35deg);animation:motionRocket 5s cubic-bezier(.2,.8,.2,1) infinite;}.motion-rocket__body{position:absolute;inset:9px 11px 13px;border-radius:50% 50% 42% 42%;background:linear-gradient(135deg,#f7fbff,#8fb0ce);box-shadow:inset -6px -5px 0 #557697;}.motion-rocket__body::before{content:"";position:absolute;top:14px;left:10px;width:10px;height:10px;border-radius:50%;background:#0d2038;border:2px solid #e3f1ff;}.motion-rocket i{position:absolute;width:12px;height:18px;bottom:3px;background:linear-gradient(#ffcf4b,#e11d2e);clip-path:polygon(50% 100%,0 0,100% 0);}.motion-rocket i:first-of-type{left:5px;}.motion-rocket i:last-of-type{right:5px;}.motion-speed{position:absolute;right:6%;top:16%;display:grid;gap:4px;text-transform:uppercase;letter-spacing:.08em;font-size:8px;color:#9dc3dd;}.motion-speed b{color:#fff;font-size:10px;}
.motion-rack{left:14%;top:16%;width:58%;height:57%;padding:14px;border-radius:10px;display:grid;gap:8px;}.motion-rack i{display:block;border:1px solid rgba(163,198,224,.3);border-radius:4px;background:linear-gradient(90deg,rgba(115,165,196,.35),rgba(255,255,255,.05));position:relative;}.motion-rack i::after{content:"";position:absolute;right:8px;top:50%;width:5px;height:5px;margin-top:-3px;background:#65d7ab;border-radius:50%;box-shadow:0 0 9px #65d7ab;animation:motionBlink 1.7s steps(1) infinite;}.motion-rack b{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#9bc5e2;}.motion-metric{position:absolute;right:7%;top:24%;width:27%;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#b9d1e4;}.motion-metric--ram{top:48%;}.motion-metric i{display:block;height:8px;margin:6px 0;background:rgba(255,255,255,.13);overflow:hidden;}.motion-metric i b{display:block;width:38%;height:100%;background:linear-gradient(90deg,#34c790,#80e4b7);animation:motionMetric 5s ease-in-out infinite;}.motion-metric--ram i b{width:52%;animation-delay:.4s;}.motion-metric strong{color:#72dfb0;font-size:8px;}
.motion-console{left:10%;top:20%;width:64%;height:48%;border-radius:9px;padding:0 13px;overflow:hidden;animation:motionFloat 4.9s ease-in-out infinite;}.motion-console__rows{padding-top:14px;display:grid;gap:10px;}.motion-console__rows i{height:9px;background:linear-gradient(90deg,#3b5c7d 42%,transparent 42%);opacity:.8;position:relative;}.motion-console__rows i::after{content:"";position:absolute;right:0;top:-3px;width:14px;height:14px;border-radius:50%;background:#65d7ab;box-shadow:0 0 12px rgba(101,215,171,.6);}.motion-alert{position:absolute;right:7%;bottom:17%;width:42%;padding:11px;border-radius:8px;border:1px solid rgba(101,215,171,.55);background:linear-gradient(145deg,rgba(7,54,47,.96),rgba(9,30,39,.96));display:grid;gap:2px;font-size:9px;animation:motionAlert 4s ease-in-out infinite;}.motion-alert b{color:#fff;}.motion-alert span{color:#7ce5b9;}.motion-alert i{position:absolute;right:11px;top:14px;font-style:normal;color:#7ce5b9;font-size:15px;}
.motion-domain{left:15%;top:23%;width:56%;padding:17px;border-radius:9px;display:flex;justify-content:space-between;font-size:18px;animation:motionFloat 5s ease-in-out infinite;}.motion-domain b span{color:#ff6674;}.motion-domain i{font-style:normal;color:#6de3b4;}.motion-domain-node{position:absolute;padding:8px 10px;border:1px solid rgba(136,178,207,.34);background:rgba(13,31,52,.9);border-radius:6px;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#bdd3e6;}.motion-domain-node b{margin-left:5px;color:#6de3b4;}.motion-domain-node--site{left:11%;bottom:20%;}.motion-domain-node--mail{right:10%;bottom:19%;}.motion-route--domain{bottom:29%;left:20%;width:61%;animation-duration:2.5s;}
.motion-inbox{left:13%;top:21%;width:62%;padding:17px;border-radius:10px;display:flex;justify-content:space-between;align-items:center;animation:motionFloat 5s ease-in-out infinite;}.motion-inbox div{display:grid;gap:5px;}.motion-inbox b{font-size:12px;}.motion-inbox span{font-size:8px;color:#9cbcd3;}.motion-inbox i{font-style:normal;color:#71dfb2;font-size:19px;}.motion-mail-line{position:absolute;right:6%;bottom:20%;display:flex;gap:6px;}.motion-mail-line span{border:1px solid rgba(105,215,171,.45);padding:6px;color:#78e3b5;font:700 8px var(--font-head);}.motion-mail-flight{position:absolute;left:17%;bottom:24%;width:16px;height:11px;background:#e11d2e;clip-path:polygon(0 0,100% 50%,0 100%,24% 50%);animation:motionFlight 4s ease-in-out infinite;}
.motion-shield{left:17%;top:18%;width:114px;height:132px;clip-path:polygon(50% 0,96% 20%,86% 76%,50% 100%,14% 76%,4% 20%);background:linear-gradient(145deg,#e83546,#8e1223);display:grid;place-items:center;box-shadow:0 22px 35px rgba(225,29,46,.28);animation:motionShield 5s ease-in-out infinite;}.motion-shield b{font:800 24px var(--font-head);}.motion-shield i{position:absolute;bottom:23px;font-style:normal;font-size:17px;}.motion-lock-line{position:absolute;right:9%;bottom:24%;display:grid;gap:5px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#b9d1e3;}.motion-lock-line b{color:#70dfb1;}.motion-lock-line::before{content:"";position:absolute;width:125px;height:2px;right:64px;bottom:8px;background:linear-gradient(90deg,transparent,#e11d2e);animation:motionSignal 2.8s linear infinite;}
.motion-builder{left:12%;top:18%;width:65%;height:58%;border-radius:10px;display:grid;grid-template-columns:33px 1fr;overflow:hidden;animation:motionFloat 5s ease-in-out infinite;}.motion-builder__tools{background:rgba(255,255,255,.06);padding:12px 8px;display:grid;align-content:start;gap:9px;}.motion-builder__tools i{height:14px;border:1px solid rgba(220,235,247,.45);}.motion-builder__canvas{padding:19px;display:grid;align-content:start;gap:9px;}.motion-builder__canvas b{font-family:var(--font-serif);font-size:17px;}.motion-builder__canvas span{height:7px;background:rgba(217,233,247,.3);width:84%;}.motion-builder__canvas span:nth-child(3){width:51%;}.motion-builder__canvas em{width:72px;height:22px;background:var(--red);margin-top:9px;}.motion-cursor{position:absolute;right:18%;bottom:20%;width:12px;height:17px;background:#fff;clip-path:polygon(0 0,0 100%,28% 71%,43% 100%,55% 94%,41% 65%,78% 65%);animation:motionCursor 4s ease-in-out infinite;}
.motion-migration{position:absolute;left:8%;right:8%;top:27%;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;}.motion-migration>div{padding:12px;border-radius:7px;display:grid;gap:5px;}.motion-migration>div:first-child{opacity:.68;}.motion-migration>div:last-child{border-color:rgba(105,215,171,.52);}.motion-migration b{font-size:9px;}.motion-migration span{font-size:7.5px;color:#a9c5dd;}.motion-migration>i{font-style:normal;color:#ff6774;font-size:24px;animation:motionTransfer 2.6s ease-in-out infinite;}.motion-checkline{position:absolute;left:15%;bottom:18%;display:flex;gap:7px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#b8cedf;}.motion-checkline b{font-size:15px;color:#71dfb1;}
.motion-map{position:absolute;left:14%;top:17%;width:62%;height:57%;border:1px solid rgba(178,209,231,.26);border-radius:50% 44% 48% 45%;background:radial-gradient(circle at 38% 46%,#244a69 0 3px,transparent 4px),radial-gradient(circle at 66% 32%,#e11d2e 0 4px,transparent 5px),linear-gradient(145deg,rgba(84,132,166,.27),rgba(9,22,38,.74));animation:motionFloat 5s ease-in-out infinite;}.motion-map i{position:absolute;width:6px;height:6px;border-radius:50%;background:#66dcae;box-shadow:0 0 12px #66dcae;}.motion-map i:nth-child(1){top:38%;left:32%;}.motion-map i:nth-child(2){top:27%;right:22%;background:#e11d2e;box-shadow:0 0 12px #e11d2e;}.motion-map i:nth-child(3){bottom:22%;right:36%;}.motion-map b{position:absolute;right:13%;top:39%;font-size:10px;}.motion-map-route{position:absolute;left:33%;top:42%;width:44%;height:24%;border-top:2px dashed #e11d2e;border-radius:50%;transform:rotate(-12deg);animation:motionPath 3.5s linear infinite;}.motion-map-client{position:absolute;left:13%;bottom:15%;font:700 9px var(--font-head);letter-spacing:.1em;color:#a9c8df;}
.motion-agency{left:14%;top:18%;width:60%;padding:13px;border-radius:9px;display:grid;gap:7px;animation:motionFloat 5s ease-in-out infinite;}.motion-agency div{display:flex;justify-content:space-between;padding:8px;border:1px solid rgba(162,200,227,.18);font-size:9px;}.motion-agency i{color:#70dfb2;font-style:normal;}.motion-brandline{position:absolute;right:8%;bottom:19%;border:1px solid rgba(225,29,46,.5);padding:9px;color:#ffabb3;font:700 9px var(--font-head);text-transform:uppercase;letter-spacing:.1em;animation:motionFloat 4.4s ease-in-out .4s infinite;}
.motion-search{left:12%;top:21%;width:63%;padding:13px;border-radius:7px;display:flex;justify-content:space-between;font-size:11px;animation:motionFloat 5s ease-in-out infinite;}.motion-search i{font-style:normal;color:#ff707c;font-size:17px;}.motion-serp{position:absolute;left:21%;top:48%;display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid rgba(105,215,171,.4);background:rgba(9,49,45,.9);font-size:9px;animation:motionSerp 4.8s ease-in-out infinite;}.motion-serp b{font-size:16px;color:#73e3b5;}.motion-chart{position:absolute;right:10%;bottom:18%;height:72px;width:27%;display:flex;gap:5px;align-items:end;border-bottom:1px solid rgba(191,215,231,.28);}.motion-chart i{width:17%;background:linear-gradient(#e11d2e,#ff8b95);animation:motionBar 3s ease-in-out infinite;}.motion-chart i:nth-child(1){height:28%;}.motion-chart i:nth-child(2){height:42%;animation-delay:.18s;}.motion-chart i:nth-child(3){height:58%;animation-delay:.36s;}.motion-chart i:nth-child(4){height:78%;animation-delay:.54s;}
.motion-launch{position:absolute;inset:0;}.motion-launch__site{left:10%;top:19%;width:56%;height:47%;padding:15px;border-radius:9px;display:grid;align-content:start;gap:10px;animation:motionFloat 5s ease-in-out infinite;}.motion-launch__site b{font-family:var(--font-serif);font-size:17px;}.motion-launch__site span{display:block;height:7px;background:rgba(216,236,249,.34);width:74%;}.motion-launch__site span:last-child{width:45%;}.motion-launch__server{right:8%;bottom:18%;width:30%;padding:11px;border-radius:8px;display:flex;gap:4px;align-items:center;animation:motionFloat 4.4s ease-in-out .5s infinite;}.motion-launch__server i{width:4px;height:4px;border-radius:50%;background:#6bdfb1;}.motion-launch__server b{margin-left:auto;font-size:8px;color:#b9d1e3;}
.plans--decision{align-items:stretch;gap:16px;}.plans--decision .plan{position:relative;border-radius:14px;border-color:#dbe3ec;box-shadow:0 14px 28px rgba(12,23,42,.05);padding:24px 24px 22px;display:flex;flex-direction:column;overflow:visible;}.plans--decision .plan--hot{border:2px solid var(--red);box-shadow:0 24px 40px rgba(225,29,46,.13);transform:translateY(-8px);}.plan__scenario{margin:13px 0 16px;padding:9px 0 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:3px;}.plan__scenario span,.plan__capacity span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-light);font-weight:800;}.plan__scenario b{font-size:13px;color:var(--navy);}.plan__capacity{margin:14px 0 6px;padding:11px 12px;border-radius:8px;background:var(--red-soft);display:grid;gap:3px;}.plan__capacity b{font-size:12px;line-height:1.35;color:var(--ink);}.plans--decision .plan ul{margin-top:11px;}.plans--decision .plan .btn{margin-top:auto;}.plans-note{margin-top:27px;}
.section--offer-rail,.section--comparison-rail{position:relative;}.section--offer-rail::before,.section--comparison-rail::before{content:"";position:absolute;left:max(16px,calc((100% - 1280px)/2));top:58px;bottom:58px;width:1px;background:linear-gradient(transparent,rgba(225,29,46,.52) 12%,rgba(225,29,46,.16) 84%,transparent);}.section--offer-rail .section-head.center,.section--comparison-rail .section-head.center{max-width:1080px;margin-left:auto;margin-right:auto;padding-left:75px;text-align:left;display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:24px;align-items:start;}.section--offer-rail .section-head.center .eyebrow,.section--comparison-rail .section-head.center .eyebrow{grid-row:1 / span 2;margin-top:10px;}.section--offer-rail .section-head.center .h2,.section--comparison-rail .section-head.center .h2{margin:0;max-width:680px;}.section--offer-rail .section-head.center .lead,.section--comparison-rail .section-head.center .lead{grid-column:2;max-width:650px;margin:9px 0 0;}.section--comparison-rail .h2,.section--narrative-rail .h2{font-family:var(--font-serif);font-weight:400;line-height:1.08;letter-spacing:-.02em;}.section--narrative-rail{position:relative;}.section--narrative-rail .split>div:first-child{border-left:2px solid var(--red);padding-left:24px;}.section--narrative-rail .split>div:first-child .lead{max-width:650px;}.section--narrative-rail .split>div:first-child .eyebrow{color:var(--red);}
.spec--decision{border:0;background:transparent;overflow:visible;}.spec__decision{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:22px;background:var(--line);border:1px solid var(--line);}.spec__decision>div{padding:18px 19px;background:#fff;position:relative;}.spec__decision span{display:block;margin-bottom:13px;color:var(--red);font:800 10px var(--font-head);letter-spacing:.12em;}.spec__decision b{display:block;font:700 16px var(--font-head);}.spec__decision p{margin:5px 0 0;color:var(--slate);font-size:12px;line-height:1.45;}.spec--decision table{border:1px solid var(--line);box-shadow:0 10px 28px rgba(15,23,42,.04);}.spec--decision tr.group td{letter-spacing:.1em;font-size:10px;}
.footer--spacious{margin-top:0;}.footer--spacious .footer__grid{padding:62px 0 44px;gap:44px 56px;}.footer--spacious .footer__brand{max-width:270px;}.footer--spacious .footer__grid>div:not(.footer__brand){padding-top:11px;}.footer--spacious .footer__grid h3{margin-bottom:15px;}.footer--spacious .footer__grid li{margin-bottom:10px;}.footer--spacious .footer__bottom{margin-top:42px;padding-top:23px;gap:20px;}.footer--spacious .pay{padding-left:20px;border-left:1px solid rgba(198,216,232,.2);}
.article-reading{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:205px minmax(0,760px);gap:62px;padding:44px 0 14px;}.article-reading .article-body{max-width:none;margin:0;padding:0;}.article-reading__rail{height:max-content;position:sticky;top:118px;border-left:1px solid var(--line);padding-left:17px;display:grid;gap:12px;}.article-reading__rail>span{font:800 10px var(--font-head);text-transform:uppercase;letter-spacing:.1em;color:var(--red);}.article-reading__rail nav{display:grid;gap:8px;}.article-reading__rail nav a{font-size:12px;line-height:1.35;color:var(--slate);}.article-reading__rail nav a:hover{color:var(--red);}.article-reading__action{margin-top:5px;padding-top:14px;border-top:1px solid var(--line);color:var(--red);font:700 12px var(--font-head);}.article-reading~.article-cta,.article-reading~.related{max-width:760px;margin-left:calc(50% - 560px + 267px);}.article-reading .article-body>p:first-child{font-size:18px;line-height:1.65;color:#34425a;}.article-reading .article-body>p:first-child::first-letter{float:left;margin:6px 8px 0 0;font:54px/.8 var(--font-serif);color:var(--red);}
.blog-grid:has(.blog-card--lead){grid-template-columns:repeat(12,minmax(0,1fr));gap:38px 24px;}.blog-grid .blog-card{grid-column:span 4;}.blog-grid .blog-card--lead{grid-column:span 8;display:grid;grid-template-columns:1.08fr .92fr;gap:24px;border-top-width:3px;padding-top:0;}.blog-grid .blog-card--lead .blog-card__cover{height:100%;min-height:274px;order:2;}.blog-grid .blog-card--lead .blog-card__body{padding:22px 0 16px;align-content:center;}.blog-grid .blog-card--lead h3{font-size:30px;}.blog-grid .blog-card--wide{grid-column:span 8;display:grid;grid-template-columns:1fr 1fr;gap:20px;}.blog-grid .blog-card--wide .blog-card__cover{height:220px;}.blog-grid .blog-card--wide .blog-card__body{padding:8px 0 18px;}
.blog-intents{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 30px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}.blog-intents>span{margin-right:6px;font:800 10px var(--font-head);text-transform:uppercase;letter-spacing:.1em;color:var(--slate);}.blog-intents button{appearance:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;color:var(--slate);font:700 11px var(--font-head);transition:background .18s var(--ease-out,ease),color .18s var(--ease-out,ease),border-color .18s var(--ease-out,ease);}.blog-intents button:hover,.blog-intents button.is-active{background:var(--navy);border-color:var(--navy);color:#fff;}
@keyframes motionAmbient{to{transform:scale(1.12) translate(5px,-4px);opacity:.72;}}@keyframes motionFloat{50%{transform:translateY(-8px);}}@keyframes motionPay{0%,25%,100%{transform:translateY(0);opacity:.9;}45%,70%{transform:translateY(-4px);opacity:1;}}@keyframes motionLoad{50%{width:96%;opacity:.72;}}@keyframes motionSignal{0%{transform:translateX(-35px);opacity:0;}20%{opacity:1;}80%{opacity:1;}100%{transform:translateX(145px);opacity:0;}}@keyframes motionRocket{0%,15%{transform:translate(0,0) rotate(35deg);opacity:0;}28%,75%{opacity:1;}76%,100%{transform:translate(46px,-115px) rotate(35deg);opacity:0;}}@keyframes motionMetric{50%{width:78%;}}@keyframes motionBlink{50%{opacity:.28;}}@keyframes motionAlert{0%,20%,100%{transform:translateY(0);opacity:.74;}35%,68%{transform:translateY(-6px);opacity:1;}}@keyframes motionFlight{0%,18%{transform:translate(-20px,20px);opacity:0;}35%,80%{transform:translate(135px,-48px);opacity:1;}100%{transform:translate(180px,-62px);opacity:0;}}@keyframes motionShield{50%{transform:translateY(-7px) scale(1.035);filter:drop-shadow(0 15px 20px rgba(225,29,46,.25));}}@keyframes motionCursor{0%,15%{transform:translate(-35px,32px);opacity:0;}35%,70%{transform:translate(0,0);opacity:1;}100%{transform:translate(50px,-32px);opacity:0;}}@keyframes motionTransfer{50%{transform:translateX(5px);color:#ff8290;}}@keyframes motionPath{to{stroke-dashoffset:-40;}}@keyframes motionSerp{50%{transform:translateY(-8px);}}@keyframes motionBar{50%{transform:scaleY(.64);transform-origin:bottom;}}
@media(max-width:960px){.plans--decision .plan--hot{transform:none;}.article-reading{grid-template-columns:1fr;padding:34px 22px 8px;}.article-reading__rail{position:static;display:block;border-left:0;border-bottom:1px solid var(--line);padding:0 0 16px;}.article-reading__rail nav{display:none;}.article-reading__action{display:inline-block;border-top:0;padding-top:7px;}.article-reading~.article-cta,.article-reading~.related{max-width:760px;margin-left:auto;margin-right:auto;}.blog-grid:has(.blog-card--lead){grid-template-columns:repeat(2,minmax(0,1fr));}.blog-grid .blog-card,.blog-grid .blog-card--lead,.blog-grid .blog-card--wide{grid-column:span 1;display:block;}.blog-grid .blog-card--lead .blog-card__cover,.blog-grid .blog-card--wide .blog-card__cover{height:210px;min-height:0;}.blog-grid .blog-card--lead .blog-card__body,.blog-grid .blog-card--wide .blog-card__body{padding:17px 0 20px;}.blog-grid .blog-card--lead h3{font-size:22px;}.footer--spacious .footer__grid{gap:34px 28px;}}
@media(max-width:700px){.spec__decision{grid-template-columns:1fr;}.spec__decision>div{padding:14px 15px;}.motion-window{left:7%;width:73%;}.motion-load{right:4%;width:30%;}.motion-terminal{width:72%;left:6%;font-size:9px;}.motion-rocket{right:4%;}.motion-rack{left:8%;width:61%;}.motion-domain{left:9%;width:60%;font-size:15px;}.motion-builder{left:7%;width:69%;}.motion-migration{left:5%;right:5%;}.motion-migration>div{padding:9px;}.footer--spacious .footer__grid{padding:48px 0 33px;}.footer--spacious .footer__bottom{margin-top:30px;}.footer--spacious .pay{border-left:0;padding-left:0;padding-top:14px;border-top:1px solid rgba(198,216,232,.2);}.blog-grid:has(.blog-card--lead){grid-template-columns:1fr;}.blog-grid .blog-card--lead .blog-card__cover{height:190px;}.page-hero__media.motion-scene{min-height:256px;}}
@media(prefers-reduced-motion:reduce){.motion-scene *, .motion-scene::before,.motion-scene::after{animation:none!important;}}

/* ============================================================
   v11 — Journal NovaHoster : une lecture par intention, pas un mur de cartes
   ============================================================ */
.page-hero--journal .container{grid-template-columns:minmax(0,760px);padding-top:18px;padding-bottom:26px;}.page-hero--journal .lead{max-width:620px;}.page-hero--journal .hero__points{display:flex;gap:12px 28px;max-width:750px;}.page-hero--journal .hero__points li{margin:0;}
.blog-section--editorial{padding-top:78px;}.blog-editorial-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr);gap:52px;align-items:end;padding:0 0 26px;border-bottom:1px solid var(--line);}.blog-editorial-head h2{margin:7px 0 0;max-width:720px;font-family:var(--font-serif);font-size:clamp(30px,3.4vw,48px);font-weight:400;letter-spacing:-.035em;line-height:1.02;}.blog-editorial-head p{margin:0 0 5px;color:var(--slate);font-size:15px;line-height:1.65;}
.blog-intents--editorial{margin:0;padding:18px 0 22px;border-top:0;gap:9px 10px;}.blog-intents--editorial>span{width:100%;margin:0 0 5px;color:var(--red);}.blog-intents--editorial button{border-radius:0;padding:9px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--slate);font-size:12px;}.blog-intents--editorial button:not(:last-child)::after{content:"/";padding-left:10px;color:var(--line);}.blog-intents--editorial button:hover,.blog-intents--editorial button.is-active{border-color:var(--red);background:transparent;color:var(--ink);}
.blog-feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:36px;padding:0 0 52px;margin:0 0 46px;border-bottom:1px solid var(--line);color:inherit;}.blog-feature .blog-card__cover{min-height:340px;height:100%;border-radius:2px;overflow:hidden;background:var(--navy);}.blog-feature .blog-card__body{align-self:center;display:flex;flex-direction:column;gap:15px;padding:20px 0;}.blog-feature .blog-card__body::before{content:"Dossier essentiel";font:800 10px/1 var(--font-head);letter-spacing:.13em;text-transform:uppercase;color:var(--red);}.blog-feature h3{margin:0;font-family:var(--font-serif);font-weight:400;font-size:clamp(30px,3.2vw,45px);letter-spacing:-.035em;line-height:1.04;}.blog-feature p{margin:0;max-width:430px;font-size:15px;line-height:1.65;color:var(--slate);}.blog-feature .blog-card__meta{display:flex;gap:12px;align-items:center;margin-top:8px;color:var(--ink);font-weight:700;}.blog-feature .blog-card__meta::before{content:"Lire le guide";color:var(--red);font:800 11px var(--font-head);letter-spacing:.05em;text-transform:uppercase;}
.blog-feed-head{display:flex;justify-content:space-between;align-items:end;gap:28px;padding-bottom:22px;border-bottom:1px solid var(--line);}.blog-feed-head .eyebrow{margin:0;}.blog-feed-head p{max-width:410px;margin:0;color:var(--slate);font-size:13.5px;line-height:1.55;}.blog-section--editorial .blog-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:44px 24px;padding-top:30px;}.blog-section--editorial .blog-grid .blog-card{grid-column:span 4;margin:0;border-top:0;border-bottom:1px solid var(--line);padding-bottom:19px;}.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1){grid-column:span 8;display:grid;grid-template-columns:minmax(220px,.88fr) minmax(0,1.12fr);gap:24px;align-items:start;}.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1) .blog-card__cover{height:205px;}.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1) .blog-card__body{padding:0;}.blog-section--editorial .blog-grid .blog-card h3{font-size:21px;line-height:1.12;}.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1) h3{font-size:27px;}.blog-section--editorial .blog-grid .blog-card__cover{height:178px;}.blog-section--editorial .blog-grid .blog-card__body{padding:14px 0 0;gap:7px;}.blog-section--editorial .blog-grid .blog-card p{font-size:13px;line-height:1.55;}.blog-section--editorial .blog-grid .blog-card:hover h3{color:var(--red);}.blog-section--editorial .blog-grid.is-filtered .blog-card{grid-column:span 4;display:flex;}.blog-section--editorial .blog-grid.is-filtered .blog-card[hidden]{display:none;}
.article-hero{padding:54px 0 0;}.article-hero .container{max-width:1040px;}.article-hero h1{max-width:900px;font-size:clamp(34px,4.5vw,58px);line-height:1.01;}.article-cover{height:300px;margin:32px 0 0;border-radius:2px;}.article-cover--photo img{filter:saturate(.9) contrast(1.05);}.article-reading{grid-template-columns:190px minmax(0,720px);gap:72px;padding-top:56px;}.article-reading .article-body{font-size:17px;line-height:1.82;}.article-reading .article-body>p:first-child{font-family:var(--font-serif);font-size:23px;line-height:1.45;color:#28364d;}.article-reading .article-body>p:first-child::first-letter{display:none;}.article-reading__rail{top:108px;border-left:0;border-top:2px solid var(--red);padding:14px 0 0;}.article-reading__rail nav a{padding:3px 0;border-bottom:1px solid transparent;}.article-reading__rail nav a:hover{border-color:var(--red);}.article-reading~.article-cta{max-width:720px;margin-left:calc(50% - 510px + 262px);border-radius:2px;background:var(--navy);border:0;color:#fff;}.article-reading~.article-cta p{color:#fff;}.article-reading~.article-cta .btn{background:#fff;color:var(--navy);}.article-reading~.related{max-width:720px;margin-left:calc(50% - 510px + 262px);}
@media(max-width:960px){.page-hero--journal .hero__points{display:grid;}.blog-editorial-head{grid-template-columns:1fr;gap:18px;}.blog-feature{grid-template-columns:1fr;gap:12px;}.blog-feature .blog-card__cover{min-height:240px;}.blog-section--editorial .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.blog-section--editorial .blog-grid .blog-card,.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1){grid-column:span 1;display:block;}.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1) .blog-card__cover{height:178px;}.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1) .blog-card__body{padding:14px 0 0;}.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1) h3{font-size:21px;}.article-reading{grid-template-columns:1fr;gap:24px;padding:34px 0;}.article-reading__rail{position:static;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;}.article-reading__rail>span{margin:0;}.article-reading__rail nav{display:none;}.article-reading~.article-cta,.article-reading~.related{margin-left:auto;margin-right:auto;max-width:720px;}}
@media(max-width:640px){.page-hero--journal .container{padding-top:6px;}.page-hero--journal .hero__points{gap:10px;}.blog-section--editorial{padding-top:42px;}.blog-editorial-head h2{font-size:31px;}.blog-intents--editorial{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:16px;}.blog-intents--editorial>span{position:absolute;clip:rect(0 0 0 0);}.blog-intents--editorial button{flex:0 0 auto;}.blog-feature{padding-bottom:33px;margin-bottom:28px;}.blog-feature .blog-card__cover{min-height:205px;}.blog-feature h3{font-size:31px;}.blog-feed-head{display:block;padding-bottom:16px;}.blog-feed-head p{margin-top:10px;}.blog-section--editorial .blog-grid{grid-template-columns:1fr;gap:29px;padding-top:22px;}.blog-section--editorial .blog-grid .blog-card,.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1){grid-column:span 1;}.blog-section--editorial .blog-grid .blog-card__cover,.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1) .blog-card__cover{height:194px;}.blog-section--editorial .blog-grid .blog-card h3,.blog-section--editorial .blog-grid .blog-card:nth-child(5n+1) h3{font-size:23px;}.article-hero{padding-top:32px;}.article-hero h1{font-size:35px;}.article-cover{height:200px;margin-top:24px;}.article-reading{padding:28px 0 18px;}.article-reading .article-body{font-size:16px;line-height:1.77;}.article-reading .article-body>p:first-child{font-size:20px;}.article-reading__rail{position:relative;}.article-reading__rail::after{content:"Voir le sommaire dans ce guide";font-size:11px;color:var(--slate);}.article-reading~.article-cta{margin-bottom:28px;padding:20px;}.article-reading~.related{padding-bottom:42px;}}

/* ============================================================
   v11.1 — Documents de confiance : densité documentaire, pas landing page
   ============================================================ */
.page--legal .page-hero .container{grid-template-columns:minmax(0,720px);padding-top:8px;padding-bottom:18px;}.page--legal .page-hero h1{font-size:clamp(34px,4.2vw,52px);}.page--legal .page-hero .lead{max-width:610px;}.legal-section--document{padding-top:52px;padding-bottom:76px;}.legal-section--document>.container[style*="max-width"]{max-width:860px!important;}.legal-section--document h2{margin:34px 0 10px;font-family:var(--font-head);font-size:clamp(20px,2.1vw,28px);line-height:1.12;letter-spacing:-.025em;}.legal-section--document h2:first-of-type{margin-top:0;}.legal-section--document h2::before{content:counter(legal);counter-increment:legal;margin-right:9px;color:var(--red);font:800 11px var(--font-head);letter-spacing:.08em;vertical-align:middle;}.legal-section--document>.container{counter-reset:legal;}.legal-section--document p{max-width:760px;margin:0 0 13px;font-size:14px;line-height:1.72;color:#303b4e;}.legal-section--document strong{color:var(--ink);}.legal-section--document .legal-doc-intro{margin:0 0 34px;padding:16px 0 18px;grid-template-columns:minmax(0,1fr) 280px;}.legal-section--document .legal-toc{padding-left:13px;}.legal-section--document .legal-toc a{padding:4px 0;font-size:12px;}.page--legal .section--cta{margin-top:0;}.page--legal .section--cta h2{font-size:clamp(26px,3.2vw,40px);}
@media(max-width:700px){.legal-section--document{padding-top:34px;padding-bottom:48px;}.legal-section--document h2{font-size:21px;margin-top:29px;}.legal-section--document p{font-size:14px;line-height:1.68;}.legal-section--document .legal-doc-intro{grid-template-columns:1fr;gap:15px;}.legal-section--document .legal-toc{display:none;}.page--legal .page-hero h1{font-size:35px;}}

/* ============================================================
   v11.2 — Mobile : décision avant détail, colonnes jamais compressées
   ============================================================ */
@media(max-width:760px){
  html{scroll-padding-top:74px;}body{overflow-x:hidden;}
  .topbar__in{min-height:30px;}.topbar__promo{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.topbar__links{display:none;}
  .header__in{min-height:60px;}.header__client{display:none;}.logo__text{font-size:15px;}.logo__text small{font-size:8px;}.header__cta{gap:9px;}.header__cta .btn{padding:9px 11px;font-size:11px;}.burger{width:38px;height:38px;}
  .page-hero{padding:31px 0 35px;}.page-hero h1{font-size:36px;line-height:1.04;}.page-hero .lead{font-size:15px;line-height:1.65;}.page-hero .hero__points{gap:10px;}.page-hero .hero__points li{font-size:12px;}
  .section{padding-top:44px;padding-bottom:44px;}.section-head{margin-bottom:25px;}.section-head.center{text-align:left;}.section-head.center .lead{margin-left:0;margin-right:0;}.h2{font-size:29px;line-height:1.08;}
  .plans,.plans--decision{grid-template-columns:1fr!important;gap:16px;}.plans--decision .plan,.plan{padding:21px 18px;}.plans--decision .plan--hot{order:-1;}.plans-note{font-size:13px;line-height:1.55;}
  .spec,.table-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:-16px;margin-right:-16px;padding:0 16px;}.spec::after,.table-wrap::after{content:"Faites glisser pour comparer →";position:sticky;left:16px;display:inline-block;margin:10px 0 0;padding:5px 8px;background:var(--navy);color:#fff;font:700 10px var(--font-head);letter-spacing:.04em;}.spec table,.table-wrap table{min-width:690px;font-size:12px;}.spec th,.spec td,.table-wrap th,.table-wrap td{padding:11px 10px;white-space:normal;}.spec th:first-child,.spec td:first-child,.table-wrap th:first-child,.table-wrap td:first-child{min-width:154px;position:sticky;left:0;z-index:2;background:inherit;box-shadow:10px 0 14px rgba(14,25,43,.05);}
  .split,.split--reverse{grid-template-columns:1fr;gap:26px;}.split>div:first-child,.section--narrative-rail .split>div:first-child{border-left:0;padding-left:0;}.section--offer-rail::before,.section--comparison-rail::before{display:none;}.section--offer-rail .section-head.center,.section--comparison-rail .section-head.center{display:block;padding-left:0;text-align:left;}.section--offer-rail .section-head.center .eyebrow,.section--comparison-rail .section-head.center .eyebrow{margin:0 0 9px;}.section--offer-rail .section-head.center .lead,.section--comparison-rail .section-head.center .lead{margin-left:0;}
  .cards,.features,.steps,.benefits,.faq-grid{grid-template-columns:1fr!important;}.card,.feature{padding:20px 18px;}.cta-band,.section--cta .container{padding:28px 19px;}.cta-band{display:grid;gap:17px;text-align:left;}.cta-band .btn,.section--cta .btn{width:100%;justify-content:center;}
  .footer__grid,.footer--spacious .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;padding:42px 0 28px;}.footer__brand{grid-column:1/-1;max-width:290px;}.footer__bottom{display:grid;gap:15px;text-align:left;}.footer__bottom .pay{justify-content:flex-start;}
}
@media(max-width:380px){.container{padding-left:14px;padding-right:14px;}.header__cta .btn{display:none;}.footer__grid,.footer--spacious .footer__grid{gap:25px 16px;}.page-hero h1{font-size:33px;}.h2{font-size:27px;}}
.mxdiag{max-width:620px;margin:0 auto;}
.mxdiag__domain{width:230px;margin:0 auto;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;text-align:center;position:relative;z-index:2;}
.mxdiag__domain .mxdiag__ico{margin:0 auto 8px;}
.mxdiag__domain b{display:block;font-family:var(--font-head);font-size:16px;}
.mxdiag__domain small{color:var(--slate);font-size:12px;}
.mxdiag__ico{display:flex;width:36px;height:36px;border-radius:10px;background:var(--red-soft);color:var(--red);align-items:center;justify-content:center;flex-shrink:0;}
.mxdiag__trunk{width:2px;height:22px;margin:0 auto;background:repeating-linear-gradient(to bottom,var(--slate-light) 0 5px,transparent 5px 10px);animation:mxflow-v .5s linear infinite;}
.mxdiag__branches{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.mxdiag__branch{display:flex;flex-direction:column;align-items:center;}
.mxdiag__line{width:100%;height:46px;display:block;overflow:visible;}
.mxdiag__line path{fill:none;stroke-width:2.5;stroke-dasharray:6 6;animation:mxflow 1.1s linear infinite;}
.mxdiag__line--a path{stroke:var(--slate-light);}
.mxdiag__line--mx path{stroke:var(--red);}
.mxdiag__box{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:18px 14px;text-align:center;position:relative;margin-top:-1px;}
.mxdiag__box--hot{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft);}
.mxdiag__box .mxdiag__ico{margin:0 auto 8px;}
.mxdiag__box b{display:block;font-family:var(--font-head);font-size:14px;margin-bottom:2px;}
.mxdiag__box small{color:var(--slate);font-size:11.5px;line-height:1.4;display:block;}
.mxdiag__tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:800;letter-spacing:.05em;padding:3px 10px;border-radius:99px;white-space:nowrap;}
.mxdiag__tag--a{background:var(--bg-soft);color:var(--slate);border:1px solid var(--line);}
.mxdiag__tag--mx{background:var(--red);color:#fff;}
@keyframes mxflow{to{stroke-dashoffset:-24;}}
@keyframes mxflow-v{to{background-position:0 10px;}}
@media(prefers-reduced-motion:reduce){.mxdiag__line path,.mxdiag__trunk{animation:none;}}
@media(max-width:640px){.mxdiag__branches{grid-template-columns:1fr;gap:0;}.mxdiag__line{height:26px;}}
.vps-table td:first-child{text-align:left;}
.vps-table thead th:first-child{text-align:left;}
.vps-table__name{font-weight:800;color:var(--navy);white-space:nowrap;}
.vps-table__tag{display:inline-flex;align-items:center;margin-left:7px;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:99px;background:var(--bg-soft);color:var(--slate);border:1px solid var(--line);vertical-align:middle;}
.vps-table__tag--nvme{background:var(--red-soft);color:var(--red);border-color:rgba(225,29,46,.22);}
.vps-table__price b{font-size:19px;font-family:var(--font-head);color:var(--navy);}
.vps-table__price small{display:block;color:var(--slate);font-size:11px;margin-top:2px;}
.vps-table tr.is-reco{background:var(--red-soft);}
.vps-table__flag{display:inline-block;margin-left:8px;font-size:9px;font-weight:800;letter-spacing:.04em;padding:3px 8px;border-radius:99px;background:var(--red);color:#fff;vertical-align:middle;white-space:nowrap;}
.vps-table__note{margin:14px 0 0;font-size:13px;color:var(--slate);}
@media(max-width:680px){.vps-table__name{white-space:normal;}}
/* ---- Catalogue serveurs dédiés : filtres + tableau ---- */
.dt-filters{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px 16px;margin:0 0 20px;}
.dt-filters__row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.dt-field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.dt-field label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);}
.dt-field select{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:10px 32px 10px 12px;font-size:13.5px;font-weight:600;color:var(--ink);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;appearance:none;-webkit-appearance:none;cursor:pointer;transition:.15s;text-overflow:ellipsis;}
.dt-field select:hover{border-color:var(--slate);}
.dt-field select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft);}
.dt-filters__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line);}
.dt-count{font-size:13px;font-weight:700;color:var(--slate);}
.dt-reset,.dt-reset-inline{background:none;border:none;color:var(--red);font-size:13px;font-weight:700;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;}
.dt-reset:hover,.dt-reset-inline:hover{color:var(--navy);}
.dt-table td:first-child,.dt-table th:first-child{text-align:left;}
.dt-name{min-width:170px;}
.dt-name b{font-size:14.5px;font-family:var(--font-head);color:var(--navy);display:inline-block;}
.dt-gamme{display:block;font-size:10.5px;font-weight:800;letter-spacing:.03em;margin-top:3px;}
.dt-gamme--essentiel{color:#b45309;}
.dt-gamme--pro{color:#2563eb;}
.dt-gamme--elite{color:#059669;}
.dt-infog{display:block;font-size:10.5px;color:var(--slate);margin-top:2px;font-weight:600;}
.dt-flag{display:inline-block;margin-left:7px;font-size:8.5px;font-weight:800;letter-spacing:.04em;padding:3px 7px;border-radius:99px;background:var(--red);color:#fff;vertical-align:middle;white-space:nowrap;}
.dt-cpu{font-size:13px;min-width:150px;}
.dt-bw{font-size:12.5px;color:var(--slate);min-width:130px;}
.dt-avail{white-space:nowrap;}
.dt-price{white-space:nowrap;}
.dt-price b{font-size:19px;font-family:var(--font-head);color:var(--navy);}
.dt-price small{display:block;color:var(--slate);font-size:11px;margin-top:1px;}
.dt-table tr.is-reco{background:var(--red-soft);}
.dt-table tr[hidden]{display:none;}
.dt-empty{text-align:center;padding:34px 18px;color:var(--slate);font-size:14px;}
.avail-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:99px;white-space:nowrap;}
.avail-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0;}
.avail-badge--checking{background:var(--bg-soft);color:var(--slate);}
.avail-badge--ok{background:#ecfdf5;color:#059669;}
.avail-badge--soon{background:#fffbeb;color:#b45309;}
.btn.is-disabled{background:var(--bg-soft)!important;color:var(--slate)!important;border-color:var(--line)!important;box-shadow:none!important;pointer-events:none;opacity:.75;}
@media(max-width:1100px){.dt-filters__row{grid-template-columns:repeat(3,1fr);}}
@media(max-width:680px){.dt-filters{padding:16px;}.dt-filters__row{grid-template-columns:repeat(2,1fr);gap:11px;}.dt-filters__foot{flex-direction:column;align-items:flex-start;gap:8px;}}
/* ---- Formulaire de devis : anti-robot + retours utilisateur ---- */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.form-status{margin-top:12px;font-size:13.5px;font-weight:600;min-height:1.2em;}
.form-status--ok{color:#059669;}
.form-status--error{color:var(--red);}
/* ---- Espace client : bouton contour, à parité visuelle avec l'offre ---- */
.btn--outline{background:transparent;border:1.5px solid var(--line);color:var(--ink);}
.btn--outline:hover{border-color:var(--navy);background:var(--bg-soft);color:var(--navy);}
.header__client{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.header__client svg{flex-shrink:0;}

/* ---- Ascenseur : retour en haut ---- */
.to-top{position:fixed;right:22px;bottom:88px;width:44px;height:44px;border-radius:50%;
  background:var(--navy);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px -6px rgba(8,22,44,.45);opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .22s,transform .22s,visibility .22s,background .18s;z-index:60;}
.to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.to-top:hover{background:var(--red);}
.to-top:focus-visible{outline:3px solid var(--red-soft);outline-offset:2px;}
@media(max-width:680px){.to-top{right:14px;bottom:78px;width:40px;height:40px;}}
@media(prefers-reduced-motion:reduce){.to-top{transition:none;}}

/* ============================================================
   HERO COMPACT — objectif : les prix visibles au premier scroll
   Le hero empilait fil d'ariane + H1 + trait + lead + paragraphe
   SEO encadré + puces + animation, soit ~600px avant tout contenu
   utile. On resserre chaque bloc plutôt que de supprimer du texte
   (le paragraphe SEO reste indexable).
   ============================================================ */
.page-hero{padding:24px 0 30px;}
.page-hero .crumbs{margin-bottom:4px;font-size:12.5px;}
.page-hero h1{margin:4px 0 10px;line-height:1.06;}
.page-hero .pulse{margin:0 0 10px;max-width:210px;}
.page-hero .lead{font-size:15px;line-height:1.6;max-width:600px;margin-bottom:0;}
.page-hero .hero__points{margin-top:12px;gap:10px 22px;font-size:13px;}

/* Le paragraphe de maillage SEO : présent pour le référencement,
   mais discret pour le visiteur qui cherche les prix. */
.page-hero .inline-seo-linking{
  margin:12px 0 0;padding:9px 0 9px 13px;font-size:12.5px;line-height:1.55;max-width:620px;
}

/* L'animation de droite ne doit pas imposer sa hauteur au hero. */
.page-hero .container{align-items:start;align-content:start;row-gap:0;}
/* La colonne animation occupe toute la hauteur au lieu d'étirer les lignes
   du grid : c'est ce qui creusait de grands vides entre titre, lead et puces. */
.page-hero__media{grid-column:2;grid-row:1 / span 20;align-self:center;}

@media(max-width:960px){
  /* Sur mobile le hero se résume à l'essentiel : titre, promesse, action.
     L'animation et le paragraphe SEO repoussaient les prix hors écran. */
  .page-hero{padding:18px 0 24px;}
  .page-hero .pulse{display:none;}
  .page-hero .inline-seo-linking{display:none;}
  /* L'animation repoussait les prix hors de l'écran sur mobile.
     On surclasse .page-hero__media.claude-motion-scene{display:block}. */
  .page-hero__media,
  .page-hero__media.claude-motion-scene,
  .page-hero__media.motion-scene{display:none;}
  .page-hero .container{grid-template-columns:minmax(0,1fr);}
  .page-hero .hero__points{gap:7px 18px;font-size:12.5px;}
  .page-hero .lead{font-size:14.5px;}
}

/* La première section après le hero est resserrée : c'est elle qui porte
   les prix, elle ne doit pas être repoussée par un grand vide. */
.page-hero + .section{padding-top:clamp(30px,3.4vw,44px);}
.page-hero + .section .section-head{margin-bottom:clamp(22px,2.6vw,32px);}

/* ---- Header mobile : le bouton Espace client ne doit pas chasser le burger ----
   Sous 900px on garde l'icône seule (zone tactile conservée), et "Voir les
   offres" laisse la place au menu. */
@media(max-width:900px){
  .btn.btn--sm.header__client{font-size:0;padding:9px 11px;gap:0;}
  .header__client svg{width:18px;height:18px;}
  .header__cta .btn--primary{display:none;}
  .header__cta{gap:6px;}
}
@media(max-width:380px){
  .topbar__promo span:not(.tag){display:none;}
}

/* ============================================================
   TABLEAU SERVEURS EN CARTES SUR MOBILE
   Un tableau de 8 colonnes ne se lit pas sur un téléphone : chaque
   ligne devient une carte autonome. Les intitulés de colonnes sont
   régénérés en CSS (::before), ce qui évite d'ajouter un data-label
   sur les 424 cellules.
   ============================================================ */
@media(max-width:820px){
  .dt-table{border:none;background:transparent;overflow:visible;}
  .dt-table table{min-width:0;width:100%;border-collapse:separate;border-spacing:0;}
  .dt-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .dt-table tbody,.dt-table tr,.dt-table td{display:block;width:auto;}

  .dt-table tr{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:15px 16px 16px;margin-bottom:13px;box-shadow:0 2px 8px -4px rgba(8,22,44,.12);
  }
  .dt-table tr.is-reco{border-color:rgba(225,29,46,.42);box-shadow:0 4px 14px -6px rgba(225,29,46,.3);}
  .dt-table tr:hover td,.dt-table tbody tr:hover td:first-child{background:transparent;}

  .dt-table td{
    border:none;padding:7px 0;text-align:right;font-size:13.5px;
    display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  }
  /* Intitulé de la colonne, reconstitué à gauche de chaque valeur. */
  .dt-table td::before{
    content:attr(data-col);text-align:left;flex:0 0 auto;
    font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);
  }
  .dt-table td:nth-child(2)::before{content:"Processeur";}
  .dt-table td:nth-child(3)::before{content:"RAM";}
  .dt-table td:nth-child(4)::before{content:"Stockage";}
  .dt-table td:nth-child(5)::before{content:"Réseau";}
  .dt-table td:nth-child(6)::before{content:"Disponibilité";}
  .dt-table td:nth-child(7)::before{content:"Prix";}

  /* En-tête de carte : la référence, sa gamme et son quota d'infogérance. */
  .dt-table td.dt-name{
    display:block;text-align:left;padding:0 0 11px;margin-bottom:6px;
    border-bottom:1px solid var(--line);
  }
  .dt-table td.dt-name::before{display:none;}
  .dt-table td.dt-name b{font-size:17px;}

  .dt-table td.dt-price{border-top:1px solid var(--line);margin-top:6px;padding-top:11px;}
  .dt-table td.dt-price b{font-size:22px;}
  .dt-table td.dt-price small{display:inline;margin-left:4px;}

  /* Le bouton prend toute la largeur : cible tactile confortable. */
  .dt-table td:last-child{display:block;padding:12px 0 0;}
  .dt-table td:last-child .btn{width:100%;justify-content:center;padding:12px 16px;font-size:14.5px;}

  .dt-table tr[hidden]{display:none;}
  .dt-empty{background:#fff;border:1px solid var(--line);border-radius:var(--radius);}
}

/* ============================================================
   SCÈNES DE HERO SPÉCIFIQUES
   Chaque page raconte son propre bénéfice au lieu de décliner le
   même bloc "3 étapes cochées".
   ============================================================ */

/* --- VPS : des ressources qui s'allouent --- */
.nova-vps__gauges{display:grid;gap:15px;}
.nova-gauge__top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;}
.nova-gauge__top span{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8fa0b8;}
.nova-gauge__top b{font-size:14px;color:#fff;font-family:var(--font-head);}
.nova-gauge__bar{height:7px;border-radius:99px;background:rgba(148,163,184,.18);overflow:hidden;}
.nova-gauge__bar i{
  display:block;height:100%;width:var(--fill);border-radius:99px;
  background:linear-gradient(90deg,var(--red),#f87181);
  transform-origin:left;animation:novaFill 2.6s var(--delay,0s) cubic-bezier(.22,1,.36,1) both;
}
@keyframes novaFill{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.nova-vps__foot{display:flex;align-items:center;gap:9px;margin-top:18px;padding-top:14px;
  border-top:1px solid rgba(148,163,184,.16);font-size:12.5px;color:#b6c2d4;}
.nova-vps__dot{width:8px;height:8px;border-radius:50%;background:#34d399;flex-shrink:0;
  animation:novaPulse 2s infinite;}
@keyframes novaPulse{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.55);}70%{box-shadow:0 0 0 7px rgba(52,211,153,0);}}

/* --- Dédié : une baie physique dont une machine est la vôtre --- */
.nova-rack__body{display:grid;gap:9px;}
.nova-rack__unit{
  display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:11px;
  background:rgba(148,163,184,.09);border:1px solid rgba(148,163,184,.16);
  animation:novaRackIn .7s var(--d,0s) both;
}
.nova-rack__unit--dim{opacity:.42;}
@keyframes novaRackIn{from{opacity:0;transform:translateX(-14px);}to{opacity:1;transform:none;}}
.nova-rack__unit--dim{animation-name:novaRackInDim;}
@keyframes novaRackInDim{from{opacity:0;transform:translateX(-14px);}to{opacity:.42;transform:none;}}
.nova-rack__leds{display:flex;gap:4px;flex-shrink:0;}
.nova-rack__leds i{width:6px;height:6px;border-radius:50%;background:#34d399;
  animation:novaBlink 1.8s infinite;}
.nova-rack__leds i:nth-child(2){background:#fbbf24;animation-delay:.35s;}
.nova-rack__leds i:nth-child(3){animation-delay:.7s;}
@keyframes novaBlink{0%,100%{opacity:1;}50%{opacity:.25;}}
.nova-rack__bays{display:flex;gap:5px;flex:1;}
.nova-rack__bays u{flex:1;height:15px;border-radius:3px;background:rgba(148,163,184,.22);
  border:1px solid rgba(148,163,184,.2);}
.nova-rack__unit:not(.nova-rack__unit--dim) .nova-rack__bays u{background:rgba(225,29,46,.28);border-color:rgba(225,29,46,.4);}
.nova-rack__tag{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:#fff;background:var(--red);padding:3px 9px;border-radius:99px;white-space:nowrap;flex-shrink:0;}
.nova-rack__foot{margin-top:16px;padding-top:13px;border-top:1px solid rgba(148,163,184,.16);
  font-size:12.5px;color:#b6c2d4;}
.nova-rack__foot b{color:#fff;font-family:var(--font-head);font-size:15px;}

/* --- Contact : une vraie conversation --- */
.nova-chat__thread{display:grid;gap:11px;}
.nova-chat__msg{padding:11px 13px;border-radius:13px;max-width:88%;animation:novaMsg .55s var(--d,0s) both;}
@keyframes novaMsg{from{opacity:0;transform:translateY(9px);}to{opacity:1;transform:none;}}
.nova-chat__msg--you{background:rgba(148,163,184,.13);border:1px solid rgba(148,163,184,.18);justify-self:start;}
.nova-chat__msg--us{background:rgba(225,29,46,.16);border:1px solid rgba(225,29,46,.3);justify-self:end;}
.nova-chat__who{display:block;font-size:10.5px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:#8fa0b8;margin-bottom:4px;}
.nova-chat__msg p{margin:0;font-size:13.5px;color:#e6ecf5;line-height:1.45;}
.nova-chat__typing{display:flex;gap:4px;padding:9px 13px;background:rgba(148,163,184,.13);
  border-radius:13px;justify-self:end;animation:novaMsg .4s var(--d,0s) both;}
.nova-chat__typing i{width:6px;height:6px;border-radius:50%;background:#8fa0b8;animation:novaType 1.3s infinite;}
.nova-chat__typing i:nth-child(2){animation-delay:.18s;}
.nova-chat__typing i:nth-child(3){animation-delay:.36s;}
@keyframes novaType{0%,60%,100%{opacity:.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}
.nova-chat__foot{display:flex;align-items:center;gap:9px;margin-top:16px;padding-top:13px;
  border-top:1px solid rgba(148,163,184,.16);font-size:12.5px;color:#b6c2d4;}
.nova-chat__dot{width:8px;height:8px;border-radius:50%;background:#34d399;flex-shrink:0;animation:novaPulse 2s infinite;}

@media(prefers-reduced-motion:reduce){
  .nova-gauge__bar i,.nova-rack__unit,.nova-rack__leds i,.nova-vps__dot,
  .nova-chat__msg,.nova-chat__typing,.nova-chat__typing i,.nova-chat__dot{animation:none!important;}
  .nova-gauge__bar i{transform:none;}
}

/* ---- Aide au choix ---- */
.nova-advisor-section{padding:clamp(34px,4.5vw,54px) 0;}
.nova-advisor{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(22px,3.5vw,46px);align-items:center;}
.nova-advisor__intro h2{font-size:clamp(22px,2.5vw,30px);color:#fff;margin:6px 0 8px;line-height:1.15;}
.nova-advisor__intro p{color:#b6c2d4;font-size:14.5px;margin:0;line-height:1.55;}
.nova-advisor__fields{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;}
.nova-advisor__field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.nova-advisor__field label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8fa0b8;}
.nova-advisor__field select{
  width:100%;border:1.5px solid rgba(148,163,184,.28);border-radius:10px;padding:11px 32px 11px 13px;
  font-size:13.5px;font-weight:600;color:#fff;background-color:rgba(17,26,46,.9);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238fa0b8' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;appearance:none;-webkit-appearance:none;cursor:pointer;
}
.nova-advisor__field select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(225,29,46,.25);}
.nova-advisor__result{grid-column:1/-1;margin:4px 0 0;font-size:14px;font-weight:600;color:#34d399;
  opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s;}
.nova-advisor__result.is-on{opacity:1;transform:none;}
@media(max-width:900px){
  .nova-advisor{grid-template-columns:1fr;gap:18px;}
  .nova-advisor__fields{grid-template-columns:1fr;gap:11px;}
}
@media(prefers-reduced-motion:reduce){.nova-advisor__result{transition:none;}}
/* La colonne action ne doit jamais rogner son bouton. */
.dt-table td:last-child{white-space:nowrap;}
.dt-table td:last-child .btn{width:100%;justify-content:center;}
.dt-table table{min-width:920px;}
@media(max-width:820px){.dt-table table{min-width:0;}}
/* Le message de résultat ne réserve pas d'espace tant qu'il est vide. */
.nova-advisor__result:empty{display:none;}
.nova-advisor-section{padding:clamp(30px,3.6vw,44px) 0;}
/* Le badge de latence recouvrait le libellé "Allemagne — VPS" du schéma :
   on le descend au centre du tracé Tunis-Paris, où il ne masque rien. */
.latency{top:auto;bottom:12%;left:46%;}
@media(max-width:900px){.latency{bottom:8%;left:50%;font-size:11px;padding:5px 11px;}}
/* Ligne mise en avant par l'aide au choix. */
.vps-table tr.is-advised{background:#ecfdf5;box-shadow:inset 3px 0 0 #059669;}
.vps-table tr.is-advised td{font-weight:700;}
@media(max-width:820px){.vps-table tr.is-advised{box-shadow:0 0 0 2px #059669;}}

/* ============================================================
   MENU MOBILE — tiroir plein écran
   Le menu était translucide (le texte de la page le traversait) et
   ne reprenait pas le bouton d'offres masqué dans le header.
   ============================================================ */
@media(max-width:1359px){
  /* position:absolute et non fixed : le backdrop-filter du header
     confinerait un enfant fixed à l'intérieur du header. */
  .nav.is-open{
    position:absolute;top:100%;left:0;right:0;z-index:120;
    display:flex;flex-direction:column;align-items:stretch;
    background:#fff;padding:14px clamp(20px,4vw,32px) 26px;gap:0;
    max-height:calc(100vh - 100%);overflow-y:auto;-webkit-overflow-scrolling:touch;
    border-bottom:1px solid var(--line);box-shadow:0 18px 40px -18px rgba(8,22,44,.35);
    animation:navIn .22s ease;
  }
  /* On n'anime que la translation : si les animations sont neutralisées
     (navigateur, extension, mode économie), le tiroir reste visible.
     Une opacité animée depuis 0 rendrait le menu invisible dans ce cas. */
  @keyframes navIn{from{transform:translateY(-10px);}to{transform:none;}}
  .nav.is-open .nav__item{border-bottom:1px solid var(--line);}
  .nav.is-open .nav__link{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 2px;font-size:16.5px;font-weight:700;
  }
  /* Les mégamenus se déplient dans le flux au lieu de flotter. */
  .nav.is-open .mega{
    position:static;display:none;box-shadow:none;border:none;background:transparent;
    padding:0 0 12px;min-width:0;width:auto;transform:none;opacity:1;visibility:visible;
  }
  .nav.is-open .nav__item.is-open .mega{display:grid;gap:4px;}
  .nav.is-open .mega a{padding:11px 12px;border-radius:10px;background:var(--bg-soft);}

  /* Le bouton d'offres, masqué dans le header, revient ici. */
  .nav.is-open::after{content:none;}
  .nav__cta-mobile{margin-top:22px;}
  .nav__cta-mobile .btn{width:100%;justify-content:center;padding:15px 20px;font-size:15.5px;}

  body.nav-is-open{overflow:hidden;}
}

/* ============================================================
   TABLEAUX EN CARTES (mobile)
   Complément de table-cards.js : la classe .tcards et les attributs
   data-col sont posés par le script, la mise en forme est ici.
   Les sélecteurs partent de .tcards-wrap pour passer devant
   « .spec table { min-width: 690px } » de la bascule mobile.
   ============================================================ */
@media(max-width:820px){
  .tcards-wrap{
    border:none;background:transparent;box-shadow:none;
    overflow:visible;margin-left:0;margin-right:0;padding:0;
  }
  /* L'invite « faites glisser » n'a plus lieu d'être sans défilement. */
  .tcards-wrap::after{content:none;}
  .tcards-wrap .tcards,
  .tcards-wrap .tcards thead,.tcards-wrap .tcards tbody,
  .tcards-wrap .tcards tr,.tcards-wrap .tcards th,.tcards-wrap .tcards td{
    display:block;width:auto;min-width:0;
  }
  .tcards-wrap .tcards{border:none;box-shadow:none;border-collapse:separate;border-spacing:0;font-size:14px;}
  /* La ligne d'en-tête ne sert plus qu'à fournir les intitulés. */
  .tcards-wrap .tcards thead tr.tcards__labels{display:none;}

  .tcards-wrap .tcards tbody tr{
    margin:0 0 12px;padding:15px 16px;background:#fff;
    border:1px solid var(--line);border-radius:15px;
    box-shadow:0 3px 12px -7px rgba(15,23,42,.3);
  }
  .tcards-wrap .tcards tbody tr.is-reco{
    border-color:rgba(225,29,46,.42);
    box-shadow:0 6px 18px -8px rgba(225,29,46,.32);
  }
  .tcards-wrap .tcards tbody tr.tcards__section{
    margin:22px 0 10px;padding:0;background:transparent;border:none;box-shadow:none;
    font:800 10.5px/1 var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--red);
  }

  /* Première cellule : le titre de la carte. */
  .tcards-wrap .tcards .tcards__head{
    padding:0 0 11px;margin-bottom:10px;border-bottom:1px solid var(--line);
    font:700 17px/1.3 var(--font-head);color:var(--ink);text-align:left;white-space:normal;
    position:static;box-shadow:none;background:transparent;
  }
  /* Les autres : intitulé à gauche, valeur à droite. */
  .tcards-wrap .tcards td[data-col]{
    display:flex;align-items:baseline;justify-content:space-between;gap:16px;
    padding:7px 0;border:none;text-align:right;white-space:normal;background:transparent;
  }
  .tcards-wrap .tcards td[data-col]::before{
    content:attr(data-col);
    flex:0 0 auto;max-width:50%;text-align:left;
    font:700 10.5px/1.35 var(--font-head);letter-spacing:.09em;
    text-transform:uppercase;color:var(--slate);
  }
  /* La colonne mise en avant (NovaHoster, pack conseillé) garde son
     relief une fois la ligne repliée en carte. */
  .tcards-wrap .tcards td.col-nova,.tcards-wrap .tcards td.col-hot{
    background:var(--red-soft);border-radius:10px;
    padding-left:10px;padding-right:10px;margin:3px 0;
  }
  .tcards-wrap .tcards td.col-nova::before,.tcards-wrap .tcards td.col-hot::before{color:var(--red);}

  /* Le prix ferme la carte, juste avant le bouton. */
  .tcards-wrap .tcards td.vps-table__price{
    border-top:1px solid var(--line);margin-top:7px;padding-top:11px;
  }
  /* « 59,4 » et « DT » sont deux éléments flex distincts : sans cela
     space-between les écartait aux deux bouts de la ligne. */
  .tcards-wrap .tcards td.vps-table__price{flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:5px;}
  .tcards-wrap .tcards td.vps-table__price b{font-size:23px;margin-left:auto;}
  .tcards-wrap .tcards td.vps-table__price small{
    flex:1 0 100%;margin:3px 0 0;text-align:right;font-size:11.5px;color:var(--slate);
  }
  /* Dernière cellule : le bouton, sans intitulé, pleine largeur. */
  .tcards-wrap .tcards td:last-child{padding:12px 0 0;border:none;background:transparent;}
  .tcards-wrap .tcards td:last-child .btn{width:100%;justify-content:center;padding:12px 16px;font-size:14.5px;}
  .tcards-wrap .tcards tbody tr:hover td{background:transparent;}
  .tcards-wrap .tcards tr[hidden]{display:none;}
}

/* ------------------------------------------------------------
   Matrices courtes : on les fait tenir dans la largeur du
   téléphone plutôt que de les faire défiler. Le lecteur garde
   les colonnes côte à côte, ce qui est tout l'intérêt d'un
   tableau comparatif.
   ------------------------------------------------------------ */
@media(max-width:820px){
  .tcompact-wrap{
    overflow-x:visible;margin-left:0;margin-right:0;padding:0;
  }
  /* Plus rien à faire glisser : l'invite disparaît. */
  .tcompact-wrap::after{content:none;}
  .tcompact-wrap .tcompact{
    min-width:0;width:100%;table-layout:fixed;font-size:12px;
  }
  .tcompact-wrap .tcompact th,.tcompact-wrap .tcompact td{
    padding:10px 5px;white-space:normal;
    /* break-word et non anywhere : on ne coupe un mot que s'il ne peut
       pas tenir seul, sinon « BUSINESS » se scindait en « BUSIN/ESS ». */
    overflow-wrap:break-word;
  }
  .tcompact-wrap .tcompact thead th{font-size:11px;letter-spacing:0;}
  /* « Caractéristiques » se coupait en deux : un cran de moins suffit. */
  .tcompact-wrap .tcompact thead th:first-child{font-size:10.5px;}
  /* La colonne des intitulés n'a plus besoin d'être figée. */
  .tcompact-wrap .tcompact th:first-child,
  .tcompact-wrap .tcompact td:first-child{
    width:34%;min-width:0;position:static;box-shadow:none;
    font-size:11.5px;line-height:1.35;hyphens:auto;
  }
  .tcompact-wrap .tcompact .group td{font-size:10px;}
  /* Ligne d'appel à l'action en pied de matrice : le bouton gardait sa
     largeur de bureau et débordait de sa colonne. */
  .tcompact-wrap .tcompact td .btn{
    display:flex;width:100%;justify-content:center;
    padding:9px 4px;font-size:11.5px;white-space:normal;
  }
}

/* ============================================================
   BANDEAU SUPÉRIEUR : LARGEUR PROPRE EN MODE BUREAU
   Logo (210 px) + cinq rubriques (793 px) + les deux boutons
   (320 px) réclament près de 1 390 px, alors que le conteneur du
   site en offre 1 116. Les boutons débordaient donc du cadre, et
   « Voir les offres » sortait de l'écran sur un portable 1 440.

   Élargir le seul bandeau est préférable à comprimer le menu
   jusqu'à l'illisible ; le contenu des pages garde ses 1 180 px.
   En dessous de 1 181 px, c'est le menu tiroir qui prend le relais.
   ============================================================ */
@media(min-width:1360px){
  .header__in,.topbar__in{max-width:1340px;}
  .header__in{gap:20px;}
  .nav{gap:2px;}
  .nav__link{padding:10px 11px;font-size:14.5px;}
  .header__cta{gap:9px;}
  .btn.btn--sm.header__client{padding:9px 13px;font-size:13.5px;}
  .header__cta .btn--primary{padding:10px 17px;font-size:13.5px;}
}

/* Le bouton d'offres recopié dans le tiroir par le script reste masqué
   par défaut : sur le menu de bureau il doublonnait avec celui du
   bandeau, et entre 901 et 1359 px le bandeau l'affiche encore. Il ne
   sert que sous 900 px, là où le header le masque faute de place. */
.nav__cta-mobile{display:none;}
@media(max-width:900px){
  .nav.is-open .nav__cta-mobile{display:block;}
}

/* ============================================================
   SCÈNES DE HÉROS — VOCABULAIRE COMMUN
   Les scènes de pages intérieures reprenaient toutes le même
   gabarit : un en-tête, trois étapes cochées, une barre de
   progression. Seuls les mots changeaient d'une page à l'autre,
   si bien que le visiteur voyait cinq fois la même image.

   Plutôt que de dessiner onze scènes indépendantes, on définit ici
   quelques briques (ligne, barre, jeton, compteur, champ de saisie)
   que chaque scène assemble à sa façon : chaque page raconte alors
   son propre mécanisme — une recherche de domaine, un certificat qui
   se pose, une migration qui progresse — avec peu de CSS en plus.
   ============================================================ */
/* Rythme resserré : la scène la plus dense (migration) dépassait la
   hauteur du visuel du héros et se faisait rogner en haut et en bas. */
.nv{display:grid;gap:7px;}
@keyframes nvIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@keyframes nvPop{0%{opacity:0;transform:scale(.82);}60%{transform:scale(1.06);}100%{opacity:1;transform:scale(1);}}
@keyframes nvFill{from{width:0;}to{width:var(--to,100%);}}
@keyframes nvSweep{0%{transform:translateX(-120%);}55%,100%{transform:translateX(320%);}}
/* Largeur en ch : en chasse fixe, 1ch = un caractère exactement.
   Exprimée en em elle était devinée, et « cabinet dentaire à Tunis »
   se retrouvait tronqué une fois la frappe terminée. */
@keyframes nvType{from{width:0;}to{width:var(--w,12ch);}}
@keyframes nvRise{from{transform:scaleY(.12);}to{transform:scaleY(1);}}
@keyframes nvBlink{0%,45%{opacity:1;}50%,100%{opacity:0;}}

/* Balayage lumineux : donne du relief sans distraire du texte. */
.nv-card-sheen{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;}
.nv-card-sheen::after{content:"";position:absolute;top:0;bottom:0;width:34%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.09),transparent);
  animation:nvSweep 6.5s ease-in-out infinite;}

.nv-row{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:12px;
  background:rgba(255,255,255,.045);border:1px solid rgba(148,163,184,.16);
  opacity:0;animation:nvIn .55s ease forwards;animation-delay:var(--d,0s);}
.nv-row--muted{opacity:0;background:rgba(255,255,255,.02);}
.nv-row__ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;
  background:rgba(225,29,46,.17);color:#ff7a86;font:800 13px/1 var(--font-head);}
.nv-row__ico--ok{background:rgba(53,210,166,.17);color:#35d2a6;}
.nv-row__ico--warn{background:rgba(247,184,67,.17);color:#f7b843;}
.nv-row__txt{min-width:0;flex:1;font:700 13px/1.3 var(--font-head);color:#eef4ff;}
.nv-row__txt small{display:block;font-weight:500;font-size:11px;color:#93a4bd;margin-top:2px;}
.nv-row__end{font:800 11px/1 var(--font-head);color:#35d2a6;flex-shrink:0;white-space:nowrap;}
.nv-row__end--red{color:#ff7a86;}

.nv-bar{margin-top:2px;}
.nv-bar__top{display:flex;justify-content:space-between;align-items:baseline;
  font:700 10px/1 var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:#8fa0b8;margin-bottom:7px;}
.nv-bar__top b{font-size:12.5px;letter-spacing:0;text-transform:none;color:#eef4ff;}
.nv-bar__track{height:7px;border-radius:99px;background:rgba(148,163,184,.2);overflow:hidden;}
.nv-bar__track>i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,#e11d2e,#ff7a86);width:0;
  animation:nvFill 2.4s cubic-bezier(.22,.9,.3,1) forwards;animation-delay:var(--d,.3s);}
.nv-bar__track--ok>i{background:linear-gradient(90deg,#0f9f78,#35d2a6);}

.nv-chips{display:flex;flex-wrap:wrap;gap:6px;}
.nv-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:99px;
  font:700 11px/1 var(--font-head);color:#cfe0f5;background:rgba(255,255,255,.06);
  border:1px solid rgba(148,163,184,.2);opacity:0;animation:nvPop .5s ease forwards;animation-delay:var(--d,0s);}
.nv-chip--ok{color:#35d2a6;border-color:rgba(53,210,166,.4);background:rgba(53,210,166,.1);}
.nv-chip--red{color:#ff7a86;border-color:rgba(225,29,46,.4);background:rgba(225,29,46,.1);}

/* Champ de saisie qui se remplit tout seul. */
.nv-field{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:12px;
  background:rgba(8,16,30,.7);border:1px solid rgba(148,163,184,.26);}
.nv-field__val{font:700 13.5px/1 var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);
  color:#eef4ff;white-space:nowrap;overflow:hidden;width:0;
  animation:nvType 1.8s linear forwards .3s;}
.nv-field__caret{width:2px;height:15px;background:#ff7a86;animation:nvBlink 1s steps(1) infinite;}

/* Histogramme : positions, charge, trafic selon la scène. */
.nv-plot{display:flex;align-items:flex-end;gap:7px;height:74px;}
.nv-plot>i{flex:1;border-radius:5px 5px 0 0;background:rgba(148,163,184,.26);
  transform-origin:bottom;animation:nvRise .8s cubic-bezier(.22,.9,.3,1) forwards;animation-delay:var(--d,0s);}
.nv-plot>i.is-hot{background:linear-gradient(180deg,#ff7a86,#e11d2e);}
.nv-plot__legend{display:flex;justify-content:space-between;margin-top:7px;
  font:700 9.5px/1 var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:#8fa0b8;}

.nv-foot{display:flex;align-items:flex-start;gap:8px;margin-top:11px;
  font:600 11.5px/1.35 var(--font-head);color:#a9bbd3;}
/* Le texte est dans son propre conteneur : sinon le <b> devenait un
   élément flex distinct et la phrase se disloquait en colonnes. */
.nv-foot__txt{flex:1;min-width:0;}
.nv-foot b{color:#eef4ff;font-weight:800;}
.nv-foot__dot{width:8px;height:8px;margin-top:3px;border-radius:50%;background:#35d2a6;flex-shrink:0;
  box-shadow:0 0 0 4px rgba(53,210,166,.16);animation:pulse 1.8s infinite;}

/* Les scènes gagnent en présence : le gabarit plafonnait à 410 px
   quand celui de l'accueil en fait 520. */
.claude-motion-scene .motion__card{width:min(100%,468px);padding:18px 20px 17px;}
@media(max-width:900px){.claude-motion-scene .motion__card{width:min(100%,420px);}}
@media(prefers-reduced-motion:reduce){
  .nv-row,.nv-chip{opacity:1;animation:none;}
  .nv-bar__track>i{width:var(--to,100%);animation:none;}
  .nv-field__val{width:auto;animation:none;}
  .nv-plot>i{transform:none;animation:none;}
  .nv-card-sheen::after{animation:none;}
}

/* ------------------------------------------------------------
   Présence des scènes de héros
   La colonne animation faisait 454 × 280 px alors que celle de
   l'accueil en fait 520 : les scènes des pages intérieures
   paraissaient plus petites, et les plus denses se faisaient
   rogner en haut et en bas.

   On l'élargit, et surtout on l'étire sur toute la hauteur des
   lignes qu'elle recouvre au lieu de la centrer : la scène gagne
   la place laissée libre par la colonne de texte, sans rallonger
   le héros d'un seul pixel.
   ------------------------------------------------------------ */
@media(min-width:961px){
  .page-hero .container{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);}
  .page-hero__media{align-self:stretch;min-height:300px;}
}

/* ============================================================
   SITE IA — L'ÉDITEUR OÙ VOUS REPRENEZ LA MAIN
   Cette section illustrait « vous gardez la main sur le résultat »
   par une photo d'illustration, qui ne s'affichait plus : son
   fichier n'a jamais été déployé.

   Une photo d'entrepreneur au bureau ne montrait de toute façon
   rien du produit. On anime à la place ce que la section affirme :
   la première version est là, et c'est vous qui la modifiez —
   chaque bloc se sélectionne à son tour, poignées comprises.
   La scène du héros montre la génération ; celle-ci montre la
   reprise en main, pour ne pas raconter deux fois la même chose.
   ============================================================ */
/* C'est l'image qui donnait sa hauteur à la figure (min-height:280px) :
   la scène doit donc porter la sienne, sans quoi le cadre s'aplatit. */
.sitejet{position:relative;min-height:320px;display:flex;flex-direction:column;
  background:linear-gradient(150deg,#0c1f3a,#0a1830 62%,#101f37);overflow:hidden;}
.sitejet__bar{display:flex;align-items:center;gap:6px;padding:0 14px;height:34px;flex-shrink:0;
  background:rgba(255,255,255,.06);border-bottom:1px solid rgba(148,163,184,.18);
  font:700 10.5px/1 var(--font-head);color:rgba(233,242,252,.66);}
.sitejet__bar i{width:6px;height:6px;border-radius:50%;background:#e11d2e;}
.sitejet__bar i:nth-child(2){background:#f7b843;}
.sitejet__bar i:nth-child(3){background:#44d19a;}
.sitejet__bar b{margin-left:7px;font-weight:700;}
.sitejet__you{margin-left:auto;padding:3px 8px;border-radius:99px;
  background:rgba(225,29,46,.2);color:#ff8b96;font-weight:800;letter-spacing:.06em;}

.sitejet__body{flex:1;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;
  padding:14px 16px 52px;min-height:0;}
.sitejet__rail{display:grid;align-content:start;gap:8px;}
.sitejet__rail u{height:16px;border-radius:5px;border:1px solid rgba(213,228,244,.28);}
.sitejet__page{display:grid;align-content:start;gap:9px;min-width:0;
  padding:13px;border-radius:10px;background:rgba(255,255,255,.045);
  border:1px solid rgba(148,163,184,.16);}

/* Chaque bloc devient éditable à son tour : cadre, fond et poignées.
   Un seul cycle de 6,8 s, décalé par --d, évite toute mesure en pixels. */
.sitejet__block{position:relative;padding:7px 9px;border-radius:8px;
  border:1.5px solid transparent;animation:sjEdit 6.8s ease-in-out infinite;animation-delay:var(--d,0s);}
.sitejet__block b{font:700 14px/1.25 var(--font-head);color:#f2f7ff;}
.sitejet__block--cta em{display:inline-block;padding:7px 13px;border-radius:7px;
  background:var(--red);color:#fff;font:800 11.5px/1 var(--font-head);font-style:normal;}
@keyframes sjEdit{
  0%,4%{border-color:transparent;background:transparent;}
  9%,44%{border-color:#ff4d5e;background:rgba(225,29,46,.1);}
  49%,100%{border-color:transparent;background:transparent;}
}
.sitejet__hs{position:absolute;inset:-4px;opacity:0;
  animation:sjHandles 6.8s ease-in-out infinite;animation-delay:var(--d,0s);}
.sitejet__hs s{position:absolute;width:7px;height:7px;border-radius:2px;
  background:#fff;border:1.5px solid #ff4d5e;}
.sitejet__hs s:nth-child(1){top:0;left:0;}
.sitejet__hs s:nth-child(2){top:0;right:0;}
.sitejet__hs s:nth-child(3){bottom:0;left:0;}
.sitejet__hs s:nth-child(4){bottom:0;right:0;}
@keyframes sjHandles{0%,4%{opacity:0;}9%,44%{opacity:1;}49%,100%{opacity:0;}}

.sitejet__line{display:block;height:6px;border-radius:99px;width:var(--w,80%);
  background:rgba(217,233,247,.26);}

.sitejet__cursor{position:absolute;width:13px;height:18px;background:#fff;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));
  clip-path:polygon(0 0,0 100%,28% 71%,43% 100%,55% 94%,41% 65%,78% 65%);
  animation:sjCursor 6.8s ease-in-out infinite;}
@keyframes sjCursor{
  0%,4%{top:64%;left:62%;}
  12%,44%{top:26%;left:44%;}
  56%,92%{top:64%;left:33%;}
  100%{top:64%;left:62%;}
}
@media(max-width:640px){
  .sitejet__body{padding:12px 13px 46px;grid-template-columns:26px minmax(0,1fr);}
  .sitejet__block b{font-size:13px;}
}
@media(prefers-reduced-motion:reduce){
  .sitejet__block,.sitejet__hs,.sitejet__cursor{animation:none;}
  .sitejet__block{border-color:transparent;}
  .sitejet__hs{opacity:0;}
  .sitejet__cursor{top:64%;left:33%;}
}

/* ============================================================
   PRIX EN ATTENTE — SITE FRANÇAIS
   La grille tarifaire FR n'est pas arrêtée. Plutôt que d'inscrire
   un montant inventé qui finirait en ligne, chaque emplacement est
   marqué et rempli par tools/build-fr.py depuis site-fr.json.
   Le liseré rend l'oubli impossible à manquer en relecture ; il
   disparaît dès que la valeur est renseignée.
   ============================================================ */
.prix-fr{
  display:inline-block;border-bottom:2px dashed currentColor;opacity:.55;
  padding:0 2px;
}
.prix-fr::after{content:"";}
