/* Keria — adaptation de Design-System-Landing-Keria.md et Landing-Keria.html.
   Habillage commun des pages existantes ; ordre, contenu et comportements conservés.
   Chargé après les styles propres aux pages ; réutilisé par le générateur d'articles. */
:root{
  --navy:#0d1b3e;--navy-2:#0d1b3e;--navy-3:#0d1b3e;--navy-soft:#27375c;
  --paper:#f5f4f0;--paper-2:#e9ebf1;--cream:#f5f4f0;--surface:#fff;--surface-2:#fff;
  --ink:#0d1b3e;--ink-soft:#33405e;--muted:#59647a;--muted-2:#59647a;
  --line:#d5d8dc;--line-2:#c7ccd5;--white:#fff;
  --blue:#3265b0;--cobalt:#3265b0;--cobalt-ink:#3265b0;--cobalt-2:#3265b0;
  --cobalt-bright:#b9cafa;--cobalt-soft:#91acd0;--cobalt-bg:#eaf0ff;--cobalt-line:#c7ccd5;
  --gold:#3265b0;--gold-ink:#3265b0;--gold-2:#3265b0;--gold-bright:#b9cafa;
  --gold-bg:#eaf0ff;--gold-line:#c7ccd5;--grad-gold:#3265b0;--grad-gold-deep:#0d1b3e;
  --green:#007e5e;--green-bright:#75d8bc;--on-navy:#fff;--on-navy-2:#d0d8e8;--on-navy-3:#d0d8e8;
  --font-display:'Be Vietnam Pro',Arial,sans-serif;--font-body:'Be Vietnam Pro',Arial,sans-serif;
  --font-caps:'JetBrains Mono',monospace;--font-mono:'JetBrains Mono',monospace;
  --r-sm:0px;--r:0px;--r-lg:0px;--r-xl:0px;--r-2xl:0px;--r-content:0px;--r-ledger:0px;
  --shadow-sm:none;--shadow:none;--shadow-lg:none;--shadow-navy:none;
  --maxw:1280px;--maxw-wide:1280px;
}
html{scroll-padding-top:130px}
body{font-size:16px;line-height:1.65}
::selection{background:#b9ccff;color:var(--navy)}
.wrap,.wrap-wide{width:calc(100% - 96px);max-width:1280px;padding-inline:0;margin-inline:auto}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.045em;line-height:1.14}
h1{font-size:clamp(48px,4.95vw,72px);line-height:1.12;letter-spacing:-.052em}
h2{font-size:clamp(36px,4vw,56px)}
.hero .lead,.page-hero .lead{font-size:17px;line-height:1.8}
.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:400;line-height:1.6;letter-spacing:.08em}
.eyebrow::before{width:18px;height:1px;border-radius:0}
.section{padding-block:108px}
.section-sm{padding-block:72px}
.site-header,.site-header.scrolled{background:var(--paper);border-bottom:1px solid var(--line);backdrop-filter:none}
.site-header .nav{height:112px;gap:22px}
/* Original wordmark text remains in the accessible name; SVG supplies the visual lockup. */
.site-header .brand,.site-footer .brand{font-size:0;gap:0;flex-shrink:0}
.site-header .brand .mark,.site-footer .brand .mark{width:74px;height:auto;filter:none}
.site-header .nav-links>li>a{color:var(--navy);font-size:13px;font-weight:400}
.site-header .nav-links>li>a:hover,.site-header .nav-links>li>a.active{color:var(--blue)}
.site-header .nav-links>li>a.active::after{background:var(--blue);height:1px}
.site-header .burger{background:transparent;border-color:var(--line)}
.site-header .burger span{background:var(--navy)}
.site-header .nav-cta .btn{font-size:12px;min-height:48px;padding:14px 18px}
.submenu{border-color:var(--line);box-shadow:none}
.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.btn{min-height:54px;padding:15px 23px;font-size:14px;font-weight:700;line-height:1.4;justify-content:center;
  transition:background-color 160ms,color 160ms,border-color 160ms;box-shadow:none}
.btn-primary,.btn-cobalt,.btn-gold,.site-header .nav-cta .btn-primary{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:none}
.btn-primary:hover,.btn-cobalt:hover,.btn-gold:hover,.site-header .nav-cta .btn-primary:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:none;box-shadow:none}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--navy)}
.btn-ghost:hover{background:var(--paper);color:var(--blue);border-color:var(--blue)}
.nocturne .btn-cobalt,.nocturne .btn-primary,.cta-band .btn-cobalt,.dsim-result .btn-cobalt{border-color:#b9cafa}
.btn:hover svg,.link-arrow:hover svg{transform:none}
.link-arrow{font-size:13px;text-decoration:underline;text-underline-offset:5px}
button:disabled,.btn[aria-disabled=true]{opacity:.35;cursor:default}
form button:disabled{opacity:.65}
/* Flat paper and navy surfaces replace decorative light effects. */
.hero--photo,.page-hero--photo{background:var(--paper)}
.hero-bg .glow-a,.hero-bg .glow-b,.beam{display:none}
.hero-lockup-mark{background:transparent;border:0;box-shadow:none;width:54px;height:auto;overflow:visible}
.hero-lockup-mark img{width:54px;height:auto;filter:none}
.hero-lockup-mark::before,.nocturne::before,.payoff::before,.entry-card.is-pro::before,.dsim-result::before,.site-footer::before{display:none}
.nocturne,.proof.nocturne,.site-footer,.payoff,.entry-card.is-pro,.dsim-result,.cta-band,.demo-bar,.demo-ph{background:var(--navy);box-shadow:none}
.who-card.is-keria,.who-card.is-pro{background:var(--surface)}
.card,.risk-card,.entry-card,.hero-reassure,.pilot-band,.form-card,.demo-frame,.hero-figure,.pricing-card,.who-card{box-shadow:none}
.card:hover,.risk-card:hover,.entry-card:hover{transform:none;box-shadow:none;border-color:var(--blue)}
.hero-reassure{border-color:var(--line)}
.form-card{padding:36px}
.field label{font-size:11px;font-weight:700;color:var(--navy)}
.field input,.field select,.field textarea{min-height:47px;padding:11px 12px;border-color:#bfc5ce;border-radius:0;font-size:13px}
.field textarea{min-height:100px}
.consent input{accent-color:var(--navy)}
.form-note.err{color:#9b2929;border-color:#d4a3a3;background:#fff}
.form-note.ok{color:var(--green)}
.stat .n,.stat .num,.dsim-total,.dsim-foot .f .n,.dsim-field .val,.dsim-bk .row .l b,.dsim-money input,.pricing-card .pc-amount{
  font-family:var(--font-mono);font-weight:400;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.dsim-total{font-size:clamp(34px,4.3vw,62px);white-space:nowrap}
.dsim-controls,.dsim-result{border-radius:0;box-shadow:none}
.reveal,.reveal.in{opacity:1;transform:none;transition:none}
:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.site-header :focus-visible{outline-color:var(--blue)}
.site-footer{padding-block:66px 34px}
.foot-method{color:var(--on-navy-2)}
@media(max-width:1300px){
  .site-header .nav-links.open{top:112px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:none;max-height:calc(100dvh - 112px);overflow-y:auto}
  .site-header .nav-links.open>li>a{color:var(--navy);border-bottom-color:var(--line)}
  .site-header .nav-links.open .submenu a,.site-header .nav-links.open .submenu b,.site-header .nav-links.open .submenu .sub-label{color:var(--navy)}
  .site-header .nav-links.open .submenu b+span{color:var(--muted)}
  .site-header .nav-links.open .submenu .sub-lead{background:#e9ebf1;border-color:var(--line)}
  .site-header .nav-links.open .submenu .sub-lead b{color:var(--navy)}
  .has-sub:focus-within .submenu{transform:none}
}
@media(max-width:1100px){
  .wrap,.wrap-wide{width:calc(100% - 72px)}
  .form-card{padding:27px}
}
@media(max-width:980px){h1{font-size:clamp(43px,6.6vw,64px)}}
@media(max-width:760px){
  html{scroll-padding-top:108px}
  .wrap,.wrap-wide{width:calc(100% - 40px)}
  .site-header .nav{height:90px;gap:12px}
  .site-header .brand .mark{width:60px}
  .site-footer .brand .mark{width:58px}
  .site-header .nav-links.open{top:90px;max-height:calc(100dvh - 90px);padding-inline:20px}
  .site-header .nav-cta .btn{min-height:44px;padding:10px 12px;font-size:11px;white-space:normal}
  h1{font-size:clamp(30px,8.25vw,54px);line-height:1.16}
  h2{font-size:34px;line-height:1.17}
  .hero .lead,.page-hero .lead{font-size:14px;line-height:1.85}
  .section{padding-block:66px}.section-sm{padding-block:48px}
  .eyebrow{font-size:9px}
  .hero .btn{min-height:50px;font-size:12px;white-space:normal}
  .btn{white-space:normal}
  .form-card{padding:25px 22px}
  .field input,.field select,.field textarea{font-size:16px;min-height:45px;padding:10px}
  .foot-bottom{font-size:10px}
  .dsim-total{font-size:clamp(28px,7vw,44px)}
}
@media(max-width:380px){
  .wrap,.wrap-wide{width:calc(100% - 32px)}
  h1{font-size:8.1vw}
  .site-header .nav-cta .btn{max-width:148px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
/* Some original pages declare their desktop grid inline; stack it on small screens. */
@media(max-width:760px){
  main .wrap > [style*="grid-template-columns"],
  main .wrap-wide > [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
  .form-card,.field,.grid > *{min-width:0}
  .field input,.field select,.field textarea{max-width:100%;min-width:0}
  .form-card h2{font-size:25px}
}
/* Keep the existing visually hidden profile radios out of the page width. */
.profile-pick input[type=radio]{width:1px;height:1px;min-width:0;min-height:0;padding:0;border:0;clip-path:inset(50%)}
.profile-pick input[type=radio]:focus-visible + label{outline:3px solid var(--blue);outline-offset:3px}
.page-hero.nocturne .hero-trust,.page-hero[style*="--navy"] .hero-trust,.nocturne .hero-trust{color:var(--on-navy-2)}
@media(max-width:760px){
  .dsim-grid{grid-template-columns:minmax(0,1fr)}
  .dsim-grid > *{min-width:0;max-width:100%}
  .dsim-field .top{flex-wrap:wrap}
}
@media(max-width:760px){
  .btn{max-width:100%;min-width:0;overflow-wrap:anywhere}
  .btn svg{flex-shrink:0}
}
h1 .serif-i,h2 .serif-i,h3 .serif-i,h4 .serif-i{font-family:inherit;font-style:normal;font-weight:inherit}


/* Lots A/B/C validés le 23 octobre 2026. Correctifs communs. */
.hero-grid,.hero-copy,.dossier-mock,.dossier-card,.dossier-head,.dossier-id{min-width:0}
.dossier-head{flex-wrap:wrap;gap:12px}.dossier-live{margin-left:0}
.dossier-id .ref{white-space:normal}.dossier-card{max-width:100%}
.dossier-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.drow{gap:12px;flex-wrap:wrap}.drow .val{white-space:normal}
.dstat .v{font-family:var(--font-mono);font-size:clamp(25px,3vw,40px);font-weight:400}
.field label{font-size:13px}.field input,.field select,.field textarea{border-color:#7b8494}
.eyebrow{font-size:12px}.site-header .nav{height:96px}
.site-header .brand{font-size:0}.dossier-badge{max-width:100%}.dossier-badge>div{min-width:0}.dossier-badge .ref{white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){
 .site-header .nav{height:84px;gap:10px}.site-header .brand .mark{width:52px}
 .site-header .nav-spacer{display:none}.site-header .nav-cta{display:flex;margin-left:auto;min-width:0}
 .site-header .nav-cta .btn{max-width:180px;font-size:11px;min-height:44px;padding:10px 12px}
 .site-header .burger{flex:none;width:44px;height:44px}
 .hero-grid{grid-template-columns:minmax(0,1fr)}
 .hero-copy,.dossier-mock{max-width:100%}
 .dossier-mock{padding:18px 0}.dossier-head{display:grid;grid-template-columns:36px minmax(0,1fr)}
 .dossier-live{grid-column:1/-1;justify-self:start}
 .dossier-card{padding:22px 18px}.dossier-stats{grid-template-columns:minmax(0,1fr);gap:18px}
 .dstat .v{font-size:36px}.dossier-badge{position:static;margin-top:12px;width:100%}
 .eyebrow{font-size:11px}.hero .lead,.page-hero .lead{font-size:16px}
 .field label{font-size:13px}.site-header .nav-links.open{top:84px}
 .cta-band .hero-lockup-mark img{filter:brightness(0) invert(1)}
}


.proposal-hero{padding:56px 0 0}.proposal-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:88px;align-items:center;padding-bottom:52px}
.proposal-copy h1{font-size:clamp(46px,4.4vw,64px);line-height:1.12;margin:24px 0}.proposal-copy h1 span{color:var(--blue)}
.proposal-lead{font-size:17px;line-height:1.8;max-width:56ch}.proposal-actions{display:flex;align-items:flex-start;gap:22px;flex-direction:column;margin-top:28px}
.proposal-actions .btn{font-size:13px;justify-content:space-between;gap:24px}.proposal-link{font-size:13px;color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.proposal-trust{font-size:12px;line-height:1.8;color:var(--muted);margin-top:24px}
.proposal-evidence{background:#fff;border:1px solid #c7ccd5;padding:30px;min-width:0;margin:0;box-shadow:8px 9px 0 #0d1b3e0c;transform:rotate(1deg)}
.evidence-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}.evidence-top img{width:54px;height:auto}.evidence-top span{font:9px/1.7 var(--font-mono);text-align:right;color:var(--muted)}
.proposal-evidence h2{font-size:30px;margin-top:22px;line-height:1.18}.proposal-evidence>p{font-size:12px;color:var(--muted);margin-top:12px}.evidence-value{background:var(--paper);padding:20px;margin-top:20px}.evidence-value small{font-size:11px}.evidence-value strong{display:block;font:400 42px/1.25 var(--font-mono);letter-spacing:-.05em;margin-top:9px}.evidence-value strong span{font-size:30px}
.proposal-evidence dl{margin:20px 0}.proposal-evidence dl div{display:flex;gap:16px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.proposal-evidence dt{color:var(--muted)}.proposal-evidence dd{font-weight:700}.proposal-evidence figcaption{font-size:11px;line-height:1.7;color:var(--muted)}
.proposal-support{padding-block:22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.proposal-support span{font:10px var(--font-mono);margin-right:28px}
@media(max-width:980px){.proposal-grid{grid-template-columns:minmax(0,1fr);gap:36px}.proposal-evidence{max-width:500px;transform:none}.proposal-copy h1{font-size:46px}}
@media(max-width:760px){.proposal-hero{padding-top:32px}.proposal-copy h1{font-size:35px}.proposal-grid{padding-bottom:32px}.proposal-lead{font-size:16px}.proposal-evidence{padding:24px 20px}.proposal-copy .eyebrow{font-size:11px}.proposal-support{font-size:11px;line-height:1.8}.proposal-support span{display:block;margin-bottom:8px}}


/* Semantics keep the original visual scale. */
.step h3{font-family:var(--font-display);font-size:1.22rem;margin-bottom:9px;font-weight:700}
.foot-col .footer-heading{font-family:var(--font-caps);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cobalt-bright);margin:0 0 16px;font-weight:700;line-height:1.65}
.heading-style-h4{font-size:1.22rem}
/* Accessible menus, preferences and conditional contact details. */
.profile-fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}
.profile-fieldset legend{font-size:13px;font-weight:700;margin-bottom:10px}
.contact-context{border-block:1px solid var(--line);margin:4px 0 22px}
.contact-context summary{display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;padding:18px 0;font-size:13px;font-weight:700;cursor:pointer}
.contact-context summary::-webkit-details-marker{display:none}
.contact-context summary span{font-size:11px;font-weight:400;color:var(--muted)}
.contact-context summary::after{content:'+';font-size:20px;color:var(--blue)}
.contact-context[open] summary::after{content:'−'}
.contact-context-body{padding-top:10px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:'intro form' 'reassurance form';grid-template-rows:auto 1fr;column-gap:100px;row-gap:32px;padding-block:52px 72px;align-items:start}
.contact-intro{grid-area:intro;min-width:0}.contact-intro .breadcrumb{margin-bottom:22px}
.contact-intro h1{font-size:52px;line-height:1.14;margin:22px 0}
.contact-intro .lead{font-size:17px;line-height:1.8}
.contact-layout>#lead-form{grid-area:form;min-width:0;padding:32px}
.contact-reassurance{grid-area:reassurance;min-width:0;display:flex;flex-direction:column;gap:20px}
.contact-layout .form-card h2{font-size:26px!important}
.contact-layout .field label{font-size:13px}.contact-layout .field input,.contact-layout .field select{min-height:48px;font-size:14px}
.contact-layout .consent{font-size:12px;line-height:1.7}
.site-header .nav-links>li>a[aria-expanded=true]{color:var(--blue)}
@media(min-width:1301px){.site-header .has-sub.is-open>.submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}}
.ck-ov{visibility:hidden}.ck-ov.show{visibility:visible}.ck-modal:focus{outline:3px solid var(--blue);outline-offset:4px}
.ck-switch:focus-within .ck-track{outline:3px solid #b9cafa;outline-offset:4px}
@media(max-width:980px){
 .contact-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:'intro' 'form' 'reassurance';gap:32px}
 .contact-intro h1{font-size:40px}
}
@media(max-width:760px){
 html{scroll-padding-top:108px}
 .contact-layout{padding-block:28px 48px}.contact-intro h1{font-size:32px}
 .contact-intro .lead{font-size:15px}.contact-layout>#lead-form{padding:24px 20px}
 .contact-layout .field input,.contact-layout .field select{font-size:16px}
 .ck-text{min-width:0}.ck-actions .btn{min-height:44px}
 .sticky-cta{display:none!important}
 .site-header .nav-links.open{max-height:calc(100dvh - 84px)}
 .proposal-grid{gap:32px}.proposal-evidence{width:100%;max-width:100%}
 .proposal-evidence dl div{flex-wrap:wrap;gap:6px 14px}
 .proposal-evidence .evidence-value strong{font-size:clamp(30px,9vw,42px);white-space:nowrap}
}
@media(max-width:380px){.site-header .nav-cta .btn{max-width:148px}.site-header .nav{gap:8px}}
/* Local table of contents: existing sections stay in their original order. */
.section-shortcuts{border-block:1px solid var(--line);background:var(--paper)}
.section-shortcuts .wrap{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;padding-block:16px}
.section-shortcuts span{font:11px var(--font-mono);color:var(--muted)}
.section-shortcuts a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);text-decoration:underline;text-underline-offset:5px;font-size:13px;font-weight:700}
@media(max-width:760px){.section-shortcuts .wrap{gap:4px 20px}.section-shortcuts span{width:100%;padding-bottom:6px}}

@media(min-width:1301px){.site-header .has-sub.is-dismissed>.submenu{opacity:0;visibility:hidden;pointer-events:none}}

/* Immediate visibility makes modal focus reliable while opacity animates. */
.ck-ov{transition:opacity .25s var(--ease)}
.lex-card .lex-term-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:1.18rem;margin-bottom:9px}
.lex-card .lex-term-heading .abbr{font-family:var(--font-mono);font-size:.76rem;color:var(--muted-2);font-weight:400;letter-spacing:.01em}

@media(max-width:760px){
 .key-callout ul{grid-template-columns:minmax(0,1fr)!important}
 .key-callout li{display:block!important;position:relative;padding-left:24px;min-width:0;overflow-wrap:anywhere}
 .key-callout li>svg{position:absolute;left:0;top:.3em}
}

@media(min-width:1301px){.site-header .has-sub.is-dismissed>.submenu{transition:none}}

/* Harmonisation : même respiration sous l'en-tête pour tous les heros de page */
.page-hero,.hero,.pk-hero,.contact-layout{padding-top:clamp(20px,2.4vw,32px)}
