:root{
  --blue:#0F2E5C;--blue-deep:#0A2447;--white:#EAF2FF;--faint:rgba(234,242,255,.62);
  --cream:#E9E0CC;--cream-2:#F3ECDA;--line:rgba(234,242,255,.22);
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--blue);color:var(--white);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
::selection{background:var(--cream);color:var(--blue)}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--cream);color:var(--blue);padding:8px 12px;z-index:100}

header{position:sticky;top:0;background:var(--blue-deep);border-bottom:1px solid var(--line);z-index:50}
.head{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:16px}
.brand-logo{height:34px;width:auto;display:block}
nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
nav a{font-size:15px;padding:8px 12px;color:var(--faint);border-radius:6px}
nav a:hover,nav a[aria-current]{color:var(--white);background:rgba(234,242,255,.08)}
nav a.cta{background:var(--cream);color:var(--blue);font-weight:700;margin-left:6px}
nav a.cta:hover{background:var(--cream-2)}
@media(max-width:760px){nav a:not(.cta){display:none}}

main{display:block}
.hero{padding:64px 0 32px;position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:1}
.hero-cairn{position:absolute;right:-40px;top:20px;width:340px;opacity:.07;pointer-events:none}
.kicker{color:var(--cream);font-weight:700;letter-spacing:.02em;margin-bottom:14px;font-size:15px}
h1{font-size:clamp(30px,4.2vw,50px);line-height:1.12;font-weight:700;letter-spacing:-.01em;text-wrap:balance}
h1 .cream{color:var(--cream)}
.lede{font-size:clamp(18px,2.2vw,21px);color:var(--faint);margin-top:22px;text-wrap:pretty}
.lede b{color:var(--white);font-weight:600}

.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:32px 0 56px}
@media(max-width:760px){.cards{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;gap:12px;padding:28px 26px 24px;border:1px solid var(--line);border-radius:14px;background:rgba(234,242,255,.04);transition:transform .18s ease,border-color .18s ease,background .18s ease;min-height:200px}
.card:hover{transform:translateY(-3px);border-color:var(--cream);background:rgba(234,242,255,.07)}
.card .q{font-size:clamp(21px,2.6vw,26px);font-weight:700;line-height:1.2}
.card .q::before{content:"« "}.card .q::after{content:" »"}
.card p{color:var(--faint);font-size:16px;flex:1}
.card .go{color:var(--cream);font-weight:700;font-size:15px}
.card.soft{border-style:dashed}
.card.soft .q::before,.card.soft .q::after{content:""}

section{padding:44px 0}
section.alt{background:var(--blue-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-size:clamp(24px,3.4vw,34px);line-height:1.18;margin-bottom:18px;text-wrap:balance}
h2 small{display:block;font-size:16px;font-weight:400;color:var(--faint);margin-top:4px}
h3{font-size:19px;margin-bottom:8px}
p+p{margin-top:14px}
.prose{text-wrap:pretty}
.prose p{color:var(--white)}
.prose .muted{color:var(--faint)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
@media(max-width:760px){.three{grid-template-columns:1fr!important}}
.three .n{color:var(--cream);font-weight:700;font-size:15px;margin-bottom:6px}
.three p{color:var(--faint);font-size:16px}
.rassure{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:760px){.rassure{grid-template-columns:1fr}}
.rassure div{padding:18px 0;border-top:2px solid var(--cream)}
.rassure b{display:block;font-size:18px;margin-bottom:6px}
.rassure p{color:var(--faint);font-size:16px}

.btn{display:inline-block;background:var(--cream);color:var(--blue);font-weight:700;padding:14px 22px;border-radius:8px;font-size:17px}
.btn:hover{background:var(--cream-2)}
.btn.ghost{background:transparent;color:var(--white);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--cream);color:var(--cream)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:26px}
.cta-row small{color:var(--faint);font-size:15px}

.exemple{border-left:3px solid var(--cream);padding:6px 0 6px 20px;margin:26px 0}
.exemple p{color:var(--faint)}
.exemple b{color:var(--white)}

.plus{margin-top:8px}
.plus h2{font-size:22px}
.plus p.intro{color:var(--faint);margin-bottom:18px}
.plus-list{display:grid;grid-template-columns:1fr;gap:12px}
@media(max-width:760px){.plus-list{grid-template-columns:1fr}}
.plus-list a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:10px}
.plus-list a:hover{border-color:var(--cream)}
.plus-list b{display:block;font-size:16px}
.plus-list span{color:var(--faint);font-size:15px}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.grid3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid3{grid-template-columns:1fr}}
.grid3 a{display:block;padding:20px 18px;border:1px solid var(--line);border-radius:12px;background:rgba(234,242,255,.03)}
.grid3 a:hover{border-color:var(--cream);background:rgba(234,242,255,.06)}
.grid3 .tag{display:block;color:var(--cream);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.grid3 b{display:block;font-size:18px;margin-bottom:6px}
.grid3 p{color:var(--faint);font-size:15px}

.prix{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
@media(max-width:760px){.prix{grid-template-columns:1fr}}
.prix>div{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(234,242,255,.03)}
.prix .top{padding:16px 18px;background:var(--blue-deep);border-bottom:1px solid var(--line)}
.prix .top.ia{background:#A6532E}
.prix .lbl{display:block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cream)}
.prix .top.ia .lbl{color:#FFF1E6}
.prix .montant{font-size:32px;font-weight:700;line-height:1.1;margin-top:4px}
.prix .montant small{font-size:15px;font-weight:400;color:var(--faint)}
.prix ul{list-style:none;padding:16px 18px}
.prix li{padding:4px 0 4px 18px;position:relative;color:var(--faint);font-size:15px}
.prix li::before{content:"·";position:absolute;left:4px;color:var(--cream);font-weight:700}
.prix li b{color:var(--white)}
.note-prix{color:var(--faint);font-size:15px;margin-top:14px}
/* grille éditoriale : titre à gauche, contenu à droite */
.ed{display:grid;grid-template-columns:1fr;gap:18px 48px;align-items:start}
@media(min-width:1000px){.ed{grid-template-columns:1fr 1fr}.ed__t{position:sticky;top:90px}}
.ed .lede{margin-top:0}
@media(min-width:1000px){.hero .ed .lede{padding-top:38px}}
.ed h2{margin-bottom:0}
.ed .cta-row{margin-top:22px}
.retour{padding:22px 0 0;font-size:15px}
.retour a{color:var(--faint)}.retour a:hover{color:var(--cream)}

footer{background:var(--blue-deep);border-top:1px solid var(--line);padding:48px 0 28px;margin-top:40px}
.foot-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.foot-big{font-size:clamp(40px,8vw,84px);font-weight:700;line-height:1;letter-spacing:-.02em}
.foot-big em{font-style:normal;color:var(--cream)}
.foot-cairn{height:78px;width:auto;opacity:.85}
.cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}
@media(max-width:760px){.cols{grid-template-columns:1fr}}
.cols h4{font-size:15px;color:var(--cream);margin-bottom:10px}
.cols a{display:block;color:var(--faint);padding:3px 0;font-size:15px}
.cols a:hover{color:var(--white)}
.cols a.btn{display:inline-block;color:var(--blue);padding:14px 22px}
.cols .note{color:var(--faint);font-size:14px;margin-top:6px}
.bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--faint);font-size:13px;padding-top:18px}
