/* ============================================================
   Comparateur Dommage Ouvrage — Design System « Nuit & Ambre »
   Bleu profond réchauffé + accent ambre · Bricolage + Public Sans
   Feuille partagée des maquettes (préfigure les composants Astro)
   ============================================================ */
@font-face{font-family:Bricolage;font-weight:200 800;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource-variable/bricolage-grotesque@5/files/bricolage-grotesque-latin-wght-normal.woff2') format('woff2-variations')}
@font-face{font-family:'Public Sans';font-weight:100 900;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource-variable/public-sans@5/files/public-sans-latin-wght-normal.woff2') format('woff2-variations')}

:root{
 --ink:220 30% 13%; --bg:36 26% 97%; --paper:0 0% 100%;
 --primary:218 44% 19%; --primary-2:218 38% 26%; --band-soft:218 34% 27%;
 --accent:32 82% 56%; --accent-d:32 82% 49%; --accent-ink:218 46% 13%;
 --line:36 16% 88%; --muted:218 10% 40%;
 --on-band:36 26% 93%; --on-band-soft:218 20% 80%;
 --ov-top:218 50% 8%; --ov-bot:218 46% 17%;
 --ok:158 52% 36%;
 --maxw:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:hsl(var(--bg));color:hsl(var(--ink));font:400 17px/1.65 'Public Sans',sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.disp{font-family:'Bricolage Variable',Bricolage,sans-serif}
.mono{font-family:ui-monospace,'SFMono-Regular',monospace}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}

/* preview bar */
.pv{background:#111826;color:#8695ad;font:500 12px ui-monospace,monospace;display:flex;gap:2px;align-items:center;padding:7px 16px;flex-wrap:wrap}
.pv .tag{margin-right:8px}
.pv a{color:#8695ad;text-decoration:none;padding:4px 10px;border-radius:6px}
.pv a:hover{color:#fff}
.pv a[aria-current]{color:hsl(var(--accent-ink));background:hsl(var(--accent))}

/* ---------- buttons ---------- */
.btn{font:700 16px 'Public Sans';border-radius:999px;padding:15px 28px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:9px;border:1.5px solid transparent;transition:background .15s,transform .15s cubic-bezier(.16,1,.3,1),border-color .15s}
.btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.btn-amber{background:hsl(var(--accent));color:hsl(var(--accent-ink))}
.btn-amber:hover{background:hsl(var(--accent-d));transform:translateY(-1px)}
.btn-dark{background:hsl(var(--primary));color:#fff}
.btn-dark:hover{background:hsl(var(--primary-2));transform:translateY(-1px)}
.btn-ghost-l{background:hsl(0 0% 100% / .12);color:#fff;border-color:hsl(0 0% 100% / .5)}
.btn-ghost-l:hover{background:hsl(0 0% 100% / .2)}
.btn-outline{background:transparent;color:hsl(var(--primary));border-color:hsl(var(--primary)/.35)}
.btn-outline:hover{border-color:hsl(var(--primary));background:hsl(var(--primary)/.05)}
.btn-block{width:100%;justify-content:center}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:40;background:hsl(var(--bg)/.9);backdrop-filter:blur(9px);border-bottom:1px solid hsl(var(--line))}
.hdr.over{position:absolute;top:26px;left:0;right:0;background:transparent;backdrop-filter:none;border:0}
.hdr-in{max-width:var(--maxw);margin:0 auto;padding:0 26px;height:66px;display:flex;align-items:center;gap:30px}
.logo{font:800 20px Bricolage;letter-spacing:-.03em;text-decoration:none;color:hsl(var(--primary));display:flex;align-items:center;gap:9px}
.logo .m{width:30px;height:30px;border-radius:9px;background:hsl(var(--primary));color:#fff;display:grid;place-items:center;font:800 12px ui-monospace,monospace}
.hdr.over .logo{color:#fff}.hdr.over .logo .m{background:hsl(var(--accent));color:hsl(var(--accent-ink))}
.nav{display:flex;gap:24px;margin-left:auto}
.nav a{font:600 15px 'Public Sans';color:hsl(var(--ink));text-decoration:none}
.nav a:hover{color:hsl(var(--primary))}
.hdr.over .nav a{color:hsl(var(--on-band))}.hdr.over .nav a:hover{color:#fff}
.hdr .h-cta{font:700 14px 'Public Sans';text-decoration:none;border-radius:999px;padding:11px 20px;background:hsl(var(--accent));color:hsl(var(--accent-ink))}
.hdr .h-cta:hover{background:hsl(var(--accent-d))}
.hdr.over .h-cta{background:#fff;color:hsl(var(--primary))}

/* ---------- hero photo (full-bleed) ---------- */
.hero{position:relative;min-height:640px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero.tall{min-height:720px}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,hsl(var(--ov-top)/.62) 0%,hsl(var(--ov-top)/.32) 40%,hsl(var(--ov-bot)/.92) 100%)}
.hero-in{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 26px 64px;width:100%}
.hero h1{font:700 clamp(2.4rem,1.6rem + 3.4vw,4.4rem)/1.03 Bricolage;letter-spacing:-.03em;margin:0;max-width:17ch;text-wrap:balance}
.hero .lede{font-size:1.22rem;line-height:1.55;color:hsl(36 30% 95%);margin:20px 0 0;max-width:44ch}
.hero-actions{display:flex;gap:14px;align-items:center;margin-top:30px;flex-wrap:wrap}
.hero-tags{margin-top:26px;font:600 13px 'Public Sans';color:hsl(36 22% 90%);display:flex;gap:20px;flex-wrap:wrap}
.hero-tags span{display:inline-flex;gap:7px;align-items:center}
.hero-tags svg{width:15px;height:15px;stroke:hsl(var(--accent));fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- hero split (text + starter/photo) ---------- */
.hero-split{background:hsl(var(--primary));color:#fff;position:relative;overflow:hidden}
.hero-split::after{content:'';position:absolute;inset:auto -8% -46% -8%;height:74%;background:radial-gradient(56% 100% at 62% 100%,hsl(var(--primary-2)) 0%,transparent 70%);pointer-events:none}
.hs-in{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:clamp(2.8rem,2.2rem + 2.6vw,4.6rem) 26px;display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,1.4rem + 2.6vw,3.8rem);align-items:center}
.hs-in h1{font:700 clamp(2.2rem,1.5rem + 2.8vw,3.5rem)/1.06 Bricolage;letter-spacing:-.03em;margin:0;max-width:17ch;text-wrap:balance}
.hs-in .lede{font-size:1.14rem;color:hsl(var(--on-band-soft));margin:18px 0 0;max-width:46ch}
.hs-usp{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.hs-usp li{display:flex;gap:11px;align-items:flex-start;font:500 15px/1.45 'Public Sans'}
.hs-usp svg{width:19px;height:19px;flex:none;margin-top:1px;stroke:hsl(var(--accent));fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.hs-legal{margin-top:22px;font:600 11.5px ui-monospace,monospace;color:hsl(218 18% 66%)}

/* ---------- starter (mini form 2 questions) ---------- */
.starter{background:hsl(var(--paper));color:hsl(var(--ink));border-radius:20px;box-shadow:0 26px 54px -20px hsl(218 60% 10% / .5);padding:clamp(1.4rem,1rem + 1.5vw,2.1rem)}
.starter .st-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.starter h2{font:700 1.24rem Bricolage;letter-spacing:-.015em;margin:0}
.starter .badge{font:700 10.5px ui-monospace,monospace;background:hsl(var(--ok)/.12);color:hsl(var(--ok));border-radius:999px;padding:5px 10px;white-space:nowrap}
.starter .sub{font:400 13px 'Public Sans';color:hsl(var(--muted));margin:0 0 16px}
.prog{display:flex;gap:5px;margin-bottom:16px}
.prog i{height:4px;border-radius:4px;flex:1;background:hsl(var(--line))}
.prog i.on{background:hsl(var(--accent))}
.q{font:700 13.5px 'Public Sans';margin:0 0 9px;display:flex;align-items:center;gap:7px}
.q .n{font:800 10px ui-monospace,monospace;color:#fff;background:hsl(var(--primary));width:17px;height:17px;border-radius:5px;display:grid;place-items:center}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tile{border:1.5px solid hsl(var(--line));border-radius:13px;background:hsl(var(--paper));padding:13px 11px;display:flex;align-items:center;gap:10px;cursor:pointer;font:700 13px 'Public Sans';color:hsl(var(--ink));transition:border-color .14s,transform .14s cubic-bezier(.16,1,.3,1)}
.tile svg{width:21px;height:21px;flex:none;stroke:hsl(var(--primary));fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tile:hover{border-color:hsl(var(--primary)/.45);transform:translateY(-1px)}
.tile.sel{border-color:hsl(var(--accent));background:hsl(var(--accent)/.08);box-shadow:0 0 0 3px hsl(var(--accent)/.16)}
.tile.sel svg{stroke:hsl(var(--accent-d))}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pill{border:1.5px solid hsl(var(--line));border-radius:999px;background:hsl(var(--paper));padding:9px 16px;cursor:pointer;font:700 13px 'Public Sans';color:hsl(var(--ink));transition:border-color .14s,background .14s}
.pill:hover{border-color:hsl(var(--primary)/.4)}
.pill.sel{border-color:hsl(var(--accent));background:hsl(var(--accent));color:hsl(var(--accent-ink))}
.starter .btn{margin-top:18px}
.st-foot{margin-top:12px;display:flex;justify-content:center;gap:16px;font:600 11.5px ui-monospace,monospace;color:hsl(var(--muted))}
.st-foot span{display:inline-flex;gap:5px;align-items:center}
.st-foot svg{width:13px;height:13px;stroke:hsl(var(--ok));fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* ---------- trust strip (clair, separe le hero du contenu) ---------- */
.trust{background:hsl(var(--paper));border-bottom:1px solid hsl(var(--line))}
.trust .row{display:flex;gap:14px 36px;flex-wrap:wrap;justify-content:center;padding:18px 26px;font:600 12.5px ui-monospace,monospace;color:hsl(var(--muted))}
.trust b{color:hsl(var(--primary))}
.trust span{display:inline-flex;gap:8px;align-items:center}
.trust svg{width:15px;height:15px;stroke:hsl(var(--accent-d));fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.trust.dark{background:hsl(var(--primary));border-bottom:0}
.trust.dark .row{color:hsl(var(--on-band-soft))}
.trust.dark b{color:#fff}
.trust.dark svg{stroke:hsl(var(--accent))}

/* ---------- sections ---------- */
section{padding:clamp(3.4rem,2.8rem + 2.4vw,5.4rem) 0}
.s-head{max-width:62ch;margin-bottom:38px}
.s-head.center{margin-left:auto;margin-right:auto;text-align:center}
.s-head h2{font:700 clamp(1.7rem,1.3rem + 1.6vw,2.5rem) Bricolage;letter-spacing:-.02em;margin:0 0 11px;text-wrap:balance}
.s-head p{font-size:1.08rem;color:hsl(var(--muted));margin:0}

/* accompagnement (band + steps) */
.advice{background:hsl(var(--primary));color:#fff}
.advice .in{max-width:var(--maxw);margin:0 auto;padding:clamp(3rem,2.5rem + 2vw,4.6rem) 26px;display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(2rem,1.5rem + 3vw,4.4rem);align-items:center}
.advice h2{font:700 clamp(1.8rem,1.4rem + 1.6vw,2.7rem) Bricolage;letter-spacing:-.02em;margin:0;color:#fff;text-wrap:balance}
.advice .lead{font-size:1.1rem;color:hsl(var(--on-band-soft));margin:16px 0 0}
.qsteps{display:grid;gap:14px}
.qs{display:flex;gap:16px;background:hsl(var(--band-soft));border-radius:16px;padding:20px 22px}
.qs .n{font:800 20px Bricolage;color:hsl(var(--accent));flex:none;width:28px}
.qs h3{font:700 1.08rem 'Public Sans';margin:0 0 4px}
.qs p{margin:0;font-size:.95rem;color:hsl(var(--on-band-soft))}

/* enjeux (why obligatory) */
.enjeux{background:hsl(var(--primary));color:#fff}
.enjeux h2{color:#fff}.enjeux .s-head p{color:hsl(var(--on-band-soft))}
.enj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.enj{background:hsl(var(--band-soft));border:1px solid hsl(218 30% 34%);border-radius:16px;padding:24px}
.enj svg{width:24px;height:24px;stroke:hsl(var(--accent));fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-bottom:13px}
.enj h3{font:700 1.06rem 'Public Sans';margin:0 0 7px}
.enj p{font-size:.92rem;line-height:1.6;color:hsl(var(--on-band-soft));margin:0}

/* steps (3-up bordered) */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border:1px solid hsl(var(--line));border-radius:18px;background:hsl(var(--paper));overflow:hidden}
.stp{padding:26px}
.stp + .stp{border-left:1px solid hsl(var(--line))}
.stp .n{font:800 13px ui-monospace,monospace;color:hsl(var(--accent-d));display:block;margin-bottom:12px}
.stp h3{font:700 1.08rem 'Public Sans';margin:0 0 7px}
.stp p{font-size:.92rem;line-height:1.6;color:hsl(var(--muted));margin:0}

/* projets photo grid */
.projets{background:hsl(218 24% 96%)}
.pj{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.pj a{position:relative;border-radius:20px;overflow:hidden;text-decoration:none;aspect-ratio:3/4;display:block}
.pj img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.pj a:hover img{transform:scale(1.05)}
.pj .lab{position:absolute;left:0;right:0;bottom:0;padding:20px 18px;color:#fff;background:linear-gradient(180deg,transparent,hsl(var(--ov-top)/.9));font:700 17px 'Public Sans'}
.pj .lab span{display:block;font:500 12.5px ui-monospace,monospace;color:hsl(36 20% 88%);margin-top:3px}

/* assureurs credibility */
.ins-row{display:flex;gap:10px;flex-wrap:wrap}
.ins{display:inline-flex;align-items:center;gap:10px;background:hsl(var(--paper));border:1px solid hsl(var(--line));border-radius:12px;padding:10px 16px 10px 10px;text-decoration:none;color:hsl(var(--ink));font:700 14px 'Public Sans';transition:border-color .15s,transform .15s cubic-bezier(.16,1,.3,1)}
.ins:hover{border-color:hsl(var(--primary)/.4);transform:translateY(-1px)}
.ins .m{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font:800 12px ui-monospace,monospace;background:hsl(218 40% 93%);color:hsl(var(--primary))}
.ins .type{font:400 11.5px ui-monospace,monospace;color:hsl(var(--muted));display:block;font-weight:500}
.ins-note{margin-top:16px;font:400 13px 'Public Sans';color:hsl(var(--muted));max-width:72ch}

/* garanties L242-1 */
.gar{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gar-item{display:flex;gap:16px;padding:20px;border:1px solid hsl(var(--line));border-radius:14px;background:hsl(var(--paper))}
.gar-item svg{width:22px;height:22px;flex:none;margin-top:2px;stroke:hsl(var(--primary));fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gar-item h3{font:700 1rem 'Public Sans';margin:0 0 5px}
.gar-item p{font-size:.9rem;line-height:1.55;color:hsl(var(--muted));margin:0}
.gar-legal{margin-top:14px;font:600 12px ui-monospace,monospace;color:hsl(var(--muted))}

/* prix split */
.prix{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:center;border:1px solid hsl(var(--line));border-radius:20px;background:hsl(var(--paper));padding:clamp(1.6rem,1.2rem + 1.6vw,2.6rem)}
.prix .big{font:800 clamp(2.2rem,1.6rem + 2.4vw,3.2rem)/1 Bricolage;letter-spacing:-.03em;color:hsl(var(--primary))}
.prix .big em{font:600 1rem 'Public Sans';font-style:normal;color:hsl(var(--muted));display:block;margin-top:10px}
.prix h2{font:700 clamp(1.4rem,1.1rem + 1.2vw,1.9rem) Bricolage;letter-spacing:-.02em;margin:0 0 10px}
.prix p{color:hsl(var(--muted));margin:0 0 18px;max-width:48ch}

/* faq */
.faq{max-width:820px}
.faq details{border-bottom:1px solid hsl(var(--line))}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 2px;font:700 15.5px 'Public Sans'}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:16px;height:16px;flex:none;stroke:hsl(var(--muted));fill:none;stroke-width:2.2;stroke-linecap:round;transition:transform .2s cubic-bezier(.16,1,.3,1)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq .a{padding:0 2px 17px;font-size:.95rem;line-height:1.65;color:hsl(var(--muted));max-width:70ch}

/* cta final */
.cta-final{background:hsl(var(--primary));border-radius:22px;padding:clamp(2.5rem,2rem + 2vw,4rem);text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-final::after{content:'';position:absolute;inset:auto -20% -70% -20%;height:100%;background:radial-gradient(55% 100% at 50% 100%,hsl(var(--primary-2)) 0%,transparent 70%)}
.cta-final>*{position:relative;z-index:1}
.cta-final h2{font:700 clamp(1.6rem,1.3rem + 1.5vw,2.4rem) Bricolage;letter-spacing:-.02em;color:#fff;margin:0 0 10px}
.cta-final p{color:hsl(var(--on-band-soft));margin:0 auto 24px;max-width:50ch}
.cta-sub{margin-top:14px;font:600 12px ui-monospace,monospace;color:hsl(218 18% 66%)}

/* ---------- footer ---------- */
.ft{background:hsl(var(--primary));color:hsl(var(--on-band-soft))}
.ft-in{max-width:var(--maxw);margin:0 auto;padding:52px 26px 0;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.ft .brand p{font-size:13.5px;line-height:1.6;margin:12px 0 0;max-width:34ch}
.ft h3{font:700 13px 'Public Sans';color:#fff;margin:0 0 13px}
.ft a{display:block;font-size:13.5px;line-height:2;color:hsl(var(--on-band-soft));text-decoration:none}
.ft a:hover{color:#fff}
.ft .legal{border-top:1px solid hsl(218 26% 30%);margin-top:42px}
.ft .legal-in{max-width:var(--maxw);margin:0 auto;padding:16px 26px;display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:12px;color:hsl(218 16% 62%)}
.ft .legal-in a{display:inline;margin-left:18px;color:hsl(218 16% 62%)}
.ft .legal-in a:hover{color:#fff}

/* ---------- LP specifics ---------- */
.lp-top{height:58px;display:flex;align-items:center;justify-content:space-between;max-width:1120px;margin:0 auto;padding:0 24px;background:transparent}
.lp-hero{background:hsl(var(--primary));color:#fff;position:relative;overflow:hidden}
.lp-hero::after{content:'';position:absolute;inset:auto -8% -46% -8%;height:74%;background:radial-gradient(56% 100% at 60% 100%,hsl(var(--primary-2)) 0%,transparent 70%);pointer-events:none}
.lp-in{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:clamp(2.6rem,2rem + 2.4vw,4.2rem) 24px;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,1.5rem + 2vw,3.5rem);align-items:center}
.lp-in h1{font:700 clamp(1.9rem,1.3rem + 2.6vw,3.1rem)/1.06 Bricolage;letter-spacing:-.03em;margin:0;max-width:18ch;text-wrap:balance}
.lp-in .lede{font-size:1.06rem;color:hsl(var(--on-band-soft));margin:16px 0 0;max-width:46ch}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:920px}
.vs-col{border:1px solid hsl(var(--line));border-radius:16px;background:hsl(var(--paper));padding:24px}
.vs-col.best{border-color:hsl(var(--primary)/.5);background:hsl(218 40% 96%)}
.vs-col h3{font:700 1.02rem 'Public Sans';margin:0 0 14px;display:flex;align-items:center;gap:9px}
.vs-col h3 .tag{font:700 10.5px ui-monospace,monospace;background:hsl(var(--primary));color:#fff;border-radius:6px;padding:3px 7px}
.vs-col ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.vs-col li{display:flex;gap:10px;font-size:.92rem;line-height:1.5;color:hsl(var(--muted))}
.vs-col li b{color:hsl(var(--ink))}
.vs-col svg{width:16px;height:16px;flex:none;margin-top:3px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.vs .ok{stroke:hsl(var(--ok))}.vs .ko{stroke:hsl(var(--muted))}

/* ---------- commercial page ---------- */
.com-hero{background:hsl(var(--primary));color:#fff;padding:clamp(3rem,2.4rem + 2.4vw,4.6rem) 0;position:relative;overflow:hidden}
.com-hero::after{content:'';position:absolute;inset:auto -10% -55% -10%;height:80%;background:radial-gradient(60% 100% at 50% 100%,hsl(var(--primary-2)) 0%,transparent 70%);pointer-events:none}
.com-in{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 26px;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,1.5rem + 2vw,4rem);align-items:center}
.com-in h1{font:700 clamp(1.9rem,1.3rem + 2.6vw,3rem)/1.06 Bricolage;letter-spacing:-.03em;margin:0}
.com-in .lede{font-size:1.02rem;color:hsl(var(--on-band-soft));margin:16px 0 0;max-width:52ch}
.anchor{background:hsl(var(--band-soft));border:1px solid hsl(218 30% 34%);border-radius:18px;padding:26px}
.anchor .lab{font:600 12px ui-monospace,monospace;color:hsl(var(--on-band-soft))}
.anchor .val{font:800 clamp(1.9rem,1.4rem + 1.8vw,2.7rem)/1.1 Bricolage;letter-spacing:-.026em;margin:8px 0 4px}
.anchor .val em{font:600 1rem 'Public Sans';font-style:normal;color:hsl(var(--on-band-soft))}
.anchor .src{font-size:12px;color:hsl(var(--on-band-soft));margin:0 0 18px}
.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,1.5rem + 2vw,4rem);padding:clamp(2.6rem,2rem + 2vw,4rem) 0}
article h2{font:700 clamp(1.35rem,1.1rem + 1vw,1.8rem) Bricolage;letter-spacing:-.02em;line-height:1.2;margin:2.2em 0 .6em}
article h2:first-child{margin-top:0}
article p{max-width:68ch;margin:0 0 1.1em}
article .muted{color:hsl(var(--muted))}
.tbl{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.95rem}
.tbl caption{caption-side:bottom;font-size:12px;color:hsl(var(--muted));text-align:left;padding-top:8px}
.tbl th{font:700 13px 'Public Sans';text-align:left;padding:11px 14px;background:hsl(218 24% 95%);border-bottom:1.5px solid hsl(var(--line))}
.tbl td{padding:11px 14px;border-bottom:1px solid hsl(var(--line))}
.tbl td.num{font:600 13.5px ui-monospace,monospace;white-space:nowrap}
.tbl tr:hover td{background:hsl(218 30% 97%)}
.callout{display:flex;gap:14px;background:hsl(218 40% 96%);border:1px solid hsl(218 30% 86%);border-radius:14px;padding:18px 20px;margin:1.4em 0;max-width:68ch}
.callout svg{width:20px;height:20px;flex:none;margin-top:3px;stroke:hsl(var(--primary));fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.callout p{margin:0;font-size:.95rem}
.facteurs{border:1px solid hsl(var(--line));border-radius:16px;background:hsl(var(--paper));overflow:hidden;margin:1.2em 0}
.fac{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:16px 20px}
.fac + .fac{border-top:1px solid hsl(var(--line))}
.fac .k{font:700 14px 'Public Sans';color:hsl(var(--primary))}
.fac .v{font-size:.93rem;line-height:1.55;color:hsl(var(--muted))}
.conv{background:hsl(var(--primary));border-radius:18px;padding:28px;color:#fff;margin:2em 0}
.conv h3{font:700 1.25rem Bricolage;letter-spacing:-.015em;margin:0 0 6px}
.conv p{color:hsl(var(--on-band-soft));margin:0 0 18px;max-width:52ch}
.rail{position:sticky;top:84px;align-self:start;display:grid;gap:14px}
.rail-card{border:1px solid hsl(var(--line));border-radius:16px;background:hsl(var(--paper));padding:22px}
.rail-card h3{font:700 1.02rem 'Public Sans';margin:0 0 6px}
.rail-card p{font-size:13px;line-height:1.55;color:hsl(var(--muted));margin:0 0 14px}
.rail-facts{font:600 12px ui-monospace,monospace;color:hsl(var(--muted));display:grid;gap:8px}
.rail-facts span{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed hsl(var(--line));padding-bottom:8px}
.rail-facts b{color:hsl(var(--primary))}
.toc{font-size:13.5px;line-height:2}
.toc a{color:hsl(var(--muted));text-decoration:none;display:block}
.toc a:hover{color:hsl(var(--primary))}

/* ---------- intro editoriale (respiration apres le hero) ---------- */
.intro{padding:clamp(3.4rem,2.8rem + 2.4vw,5.2rem) 0}
.intro .in{max-width:960px;margin:0 auto;padding:0 26px;display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,1.4rem + 3vw,4rem);align-items:start}
.intro .lead-txt p{font-size:1.14rem;line-height:1.7;margin:0 0 1.1em;color:hsl(var(--ink))}
.intro .lead-txt p:last-child{margin-bottom:0}
.intro .pull{background:hsl(218 40% 96%);border:1px solid hsl(218 30% 90%);border-radius:16px;padding:24px}
.intro .pull .big{font:800 clamp(2rem,1.5rem + 1.6vw,2.6rem)/1 'Bricolage Variable',Bricolage;letter-spacing:-.02em;color:hsl(var(--primary))}
.intro .pull .cap{font-size:.9rem;color:hsl(var(--muted));margin-top:8px;line-height:1.5}
.intro .pull hr{border:0;border-top:1px solid hsl(218 30% 90%);margin:18px 0}
.intro .pull .mini{font:600 12.5px ui-monospace,monospace;color:hsl(var(--muted));display:grid;gap:7px}
.intro .pull .mini b{color:hsl(var(--primary))}

/* ---------- garanties timeline ---------- */
.timeline{margin-top:34px;background:hsl(var(--paper));border:1px solid hsl(var(--line));border-radius:18px;padding:clamp(1.4rem,1rem + 1.4vw,2.2rem)}
.timeline h3{font:700 1.1rem 'Public Sans';margin:0 0 4px}
.timeline .sub{font-size:.92rem;color:hsl(var(--muted));margin:0 0 22px}
.tl-ticks{display:flex;justify-content:space-between;font:600 11px ui-monospace,monospace;color:hsl(var(--muted));margin-bottom:14px;border-bottom:1px dashed hsl(var(--line));padding-bottom:8px}
.tl-bars{display:grid;gap:10px}
.tl-bar{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:center}
.tl-bar .lbl{font:700 13px 'Public Sans'}
.tl-bar .lbl span{display:block;font:500 11.5px 'Public Sans';color:hsl(var(--muted))}
.tl-track{position:relative;height:30px;background:hsl(218 22% 95%);border-radius:8px;overflow:hidden}
.tl-fill{position:absolute;top:0;bottom:0;left:0;border-radius:8px;display:flex;align-items:center;padding:0 12px;font:700 11.5px ui-monospace,monospace;color:#fff}
.tl-fill.g1{width:12%;background:hsl(var(--accent-d))}
.tl-fill.g2{width:22%;background:hsl(218 42% 42%)}
.tl-fill.g3{width:100%;background:hsl(var(--primary))}
@media(max-width:640px){.tl-bar{grid-template-columns:1fr;gap:6px}}

/* ---------- profils / cas ---------- */
.profil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.profil{background:hsl(var(--paper));border:1px solid hsl(var(--line));border-radius:14px;padding:22px;transition:border-color .15s,transform .15s cubic-bezier(.16,1,.3,1)}
.profil:hover{border-color:hsl(var(--primary)/.35);transform:translateY(-2px)}
.profil svg{width:22px;height:22px;stroke:hsl(var(--primary));fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.profil h3{font:700 1.02rem 'Public Sans';margin:0 0 6px}
.profil p{font-size:.9rem;line-height:1.55;color:hsl(var(--muted));margin:0}
.profil .tag{display:inline-block;margin-top:12px;font:600 11px ui-monospace,monospace;color:hsl(var(--accent-d));background:hsl(var(--accent)/.12);border-radius:999px;padding:4px 10px}

/* ---------- guides / ressources ---------- */
.guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.guide{display:block;text-decoration:none;color:inherit;background:hsl(var(--paper));border:1px solid hsl(var(--line));border-radius:14px;padding:22px;transition:border-color .15s,transform .15s cubic-bezier(.16,1,.3,1)}
.guide:hover{border-color:hsl(var(--primary)/.35);transform:translateY(-2px)}
.guide .cat{font:600 11px ui-monospace,monospace;letter-spacing:.05em;text-transform:uppercase;color:hsl(var(--accent-d));margin:0 0 10px}
.guide h3{font:700 1.05rem 'Public Sans';margin:0 0 6px;line-height:1.25}
.guide p{font-size:.9rem;line-height:1.55;color:hsl(var(--muted));margin:0 0 12px}
.guide .more{font:700 13px 'Public Sans';color:hsl(var(--primary));display:inline-flex;align-items:center;gap:6px}
.guide .more svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* responsive */
@media(max-width:880px){
 .nav{display:none}
 .hs-in,.advice .in,.lp-in,.com-in,.main-grid{grid-template-columns:1fr}
 .prix{grid-template-columns:1fr}.gar{grid-template-columns:1fr}.vs{grid-template-columns:1fr}
 .ft-in{grid-template-columns:1fr 1fr}
 .rail{position:static}
 .stp + .stp{border-left:0;border-top:1px solid hsl(var(--line))}
 .fac{grid-template-columns:1fr;gap:4px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
