/* Diagnostic IA commerciale – charte du site InnoSell Performance */
:root{
  --navy:#111C43; --navy-title:#0F1B33; --footer:#121F41;
  --teal:#28A892; --teal-logo:#08AB90; --teal-dark:#1F8A78; --teal-link:#2F9585;
  --mint:#EDF7F6; --mint-2:#EFF9F8;
  --ink:#1E2433; --muted:#5E6474; --line:#DCE8E5; --amber:#B7791F; --amber-bg:#FDF4E3;
  --f:"Roboto Condensed","Arial Narrow",Arial,sans-serif; --f-logo:"Roboto",Arial,Helvetica,sans-serif;
  --shadow:0 6px 22px rgba(17,29,64,.08);
  --hdr:96px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px))}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
h1,h2,h3,h4{font-family:var(--f);line-height:1.15;margin:0;color:var(--navy-title);font-weight:700}
a{color:var(--teal-link)}
button{font:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
h1:focus,h2:focus{outline:none}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.mk{flex:none;--mk-a:var(--navy);--mk-b:var(--teal-logo);--mk-n:var(--navy);--mk-o:#fff}
main{flex:1}
#app{padding:44px 0 72px}

/* En-tête, menu, bandeau de titre et pied de page : mêmes règles que le site (site/assets/site.css), le balisage est repris par build-app.mjs */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo .mk{width:74px;height:85px;transition:width .3s,height .3s}
.logo-txt{display:flex;flex-direction:column}
.logo-txt .l1,.logo-txt .l2{font-family:var(--f-logo);font-weight:500;font-size:2.05rem;line-height:.98;letter-spacing:-.01em}
.logo-txt .l1{color:var(--navy)}
.logo-txt .l2{color:var(--teal-logo)}
.logo-txt small{font-family:var(--f-logo);font-weight:500;font-size:.6rem;color:var(--navy);margin-top:5px;white-space:nowrap}
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);background:#fff;transition:box-shadow .3s ease}
.hdr.scrolled{box-shadow:0 6px 24px rgba(17,29,64,.12)}
.hdr-in{height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:24px;transition:height .3s ease}
.hdr-in.wrap{width:min(1360px,100% - 40px)}
.hdr.scrolled .hdr-in{height:80px}
.hdr.scrolled .logo .mk{width:56px;height:62px}
.logo-txt .l1,.logo-txt .l2,.logo-txt small{transition:font-size .3s ease,margin .3s ease}
.hdr.scrolled .logo-txt .l1,.hdr.scrolled .logo-txt .l2{font-size:1.6rem}
.hdr.scrolled .logo-txt small{font-size:.52rem;margin-top:3px}
.nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav>a,.nav .dd>button{white-space:nowrap;font-family:var(--f);font-weight:400;font-size:1.2rem;color:var(--navy);text-decoration:none;background:none;border:0;padding:6px 0;position:relative;cursor:pointer}
.nav>a::after,.nav .dd>button::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav>a:hover::after,.nav .dd:hover>button::after,.nav .dd:focus-within>button::after{transform:scaleX(1)}
.dd{position:relative}
.dd>button{display:inline-flex;align-items:center;gap:6px}
.dd-menu{position:absolute;top:calc(100% + 6px);left:-10px;min-width:280px;background:#fff;box-shadow:0 8px 24px rgba(17,29,64,.16);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s ease}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu a{white-space:nowrap;display:block;width:100%;text-align:left;text-decoration:none;background:none;border:0;padding:7px 16px;color:var(--navy);font-size:1.12rem}
.dd-menu a:hover{background:var(--mint);color:var(--teal-dark)}
.lang-sw{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;padding:3px;margin-left:10px;flex:none}
.lang-sw a{display:inline-block;text-decoration:none;font-family:var(--f);font-weight:700;font-size:.95rem;color:var(--muted);padding:5px 10px;border-radius:999px;line-height:1;transition:background-color .2s,color .2s}
.lang-sw a.on{background:var(--navy);color:#fff}
.lang-sw a:not(.on):hover{color:var(--teal-dark)}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--teal);position:relative;flex:none;cursor:pointer}
.burger span{position:absolute;left:13px;right:13px;height:2px;background:#fff;transition:transform .3s,opacity .3s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:28px}
.menu-open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.fs-menu{position:fixed;inset:0;z-index:45;background:var(--footer);padding:calc(var(--hdr) + 36px + env(safe-area-inset-top,0px)) 28px calc(40px + env(safe-area-inset-bottom,0px));clip-path:circle(0% at calc(100% - 44px) 48px);transition:clip-path .6s cubic-bezier(.7,0,.2,1);overflow:auto}
.menu-open .fs-menu{clip-path:circle(150% at calc(100% - 44px) 48px)}
.fs-menu a{display:block;background:none;border:0;color:#fff;text-decoration:none;font-family:var(--f);font-weight:700;font-size:2.1rem;padding:7px 0;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s,color .2s;text-align:left}
.fs-menu .sub{font-size:1.3rem;font-weight:500;color:#9FD9CE;padding-left:18px}
.fs-menu a:hover{color:var(--teal)}
.menu-open .fs-menu a{opacity:1;transform:none}
.fs-menu .stag{transition-delay:calc(var(--i) * 55ms + 250ms)}
.page-hero{margin-top:calc(var(--hdr) + env(safe-area-inset-top,0px));position:relative;overflow:hidden;color:#fff;padding:36px 0 32px;
  background:radial-gradient(ellipse 50% 90% at 8% 20%,rgba(40,120,115,.55) 0%,transparent 70%),linear-gradient(100deg,#1C5C5C 0%,#143E4C 40%,#0F283E 75%,#0E1A34 100%)}
.page-hero::before{content:"";position:absolute;inset:0;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='168' height='291'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1.2'%3E%3Cpath d='M84 0l84 48.5v97L84 194 0 145.5v-97z'/%3E%3Cpath d='M84 194v97'/%3E%3C/g%3E%3C/svg%3E");background-size:168px 291px}
.page-hero .wrap{position:relative}
@media (max-width:640px){.page-hero{padding:28px 0 26px}}
.crumb{font-size:1rem;color:#B9E3DB}
.crumb a{color:#fff;text-decoration:none}
.crumb a:hover{text-decoration:underline}
.page-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.1;margin-top:10px}
.page-hero h1::after{content:"";display:block;width:72px;height:4px;border-radius:2px;background:var(--teal);margin-top:18px;transform-origin:left;animation:barIn .9s .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes barIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Pendant le parcours, bandeau réduit : la question reste visible sans défiler */
body:is([data-view=q],[data-view=select],[data-view=r30],[data-view=gate]) .page-hero{padding:18px 0 16px}
body:is([data-view=q],[data-view=select],[data-view=r30],[data-view=gate]) .crumb,
body:is([data-view=q],[data-view=select],[data-view=r30],[data-view=gate]) .page-hero h1::after{display:none}
body:is([data-view=q],[data-view=select],[data-view=r30],[data-view=gate]) .page-hero h1{font-size:clamp(1.3rem,3vw,1.7rem);margin:0}
body:is([data-view=q],[data-view=select],[data-view=r30],[data-view=gate]) #app{padding-top:30px}
.ftr{background:var(--footer);color:#fff;padding:64px 0 0}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;align-items:start}
.ftr-logo{display:inline-flex;flex-direction:column;align-items:flex-start;text-decoration:none}
.ftr-logo .mk{width:78px;height:90px;--mk-a:#fff;--mk-b:#fff;--mk-n:#fff;--mk-o:var(--footer)}
.ftr-logo span{font-family:var(--f-logo);font-weight:500;font-size:1.65rem;line-height:1;color:#fff;margin-top:10px}
.ftr h4{color:#fff;font-size:1.3rem;margin-bottom:12px}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{padding:3px 0}
.ftr a{color:#DCE3EE;text-decoration:none;font-size:1rem}
.ftr a:hover{color:var(--teal)}
.social{display:flex;gap:10px;margin-top:16px}
.ftr .social a{width:36px;height:36px;border-radius:50%;background:var(--teal);display:grid;place-items:center;color:#fff}
.ftr .social a:hover{background:var(--teal-dark);color:#fff}
.social svg{width:18px;height:18px}
.ftr-bot{margin-top:52px;border-top:1px solid rgba(255,255,255,.1);padding:18px 0 22px;font-size:.9rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#B8C3D4}
.ftr-bot a{color:inherit}
@media (max-width:1180px){.nav{gap:20px}.nav>a,.nav .dd>button{font-size:1.15rem}.logo .mk{width:60px;height:69px}.logo-txt .l1,.logo-txt .l2{font-size:1.7rem}}
@media (max-width:1139px){.nav,.hdr .cta-top{display:none}.burger{display:block}.lang-sw{margin-left:auto}}
@media (max-width:1060px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  :root{--hdr:80px}
  .lang-sw a{padding:5px 8px;font-size:.85rem}
  .logo .mk{width:48px;height:55px}
  .logo-txt .l1,.logo-txt .l2{font-size:1.45rem}
  .logo-txt small{font-size:.5rem}
  .hdr.scrolled .hdr-in{height:68px}
  .hdr.scrolled .logo .mk{width:42px;height:47px}
  .hdr.scrolled .logo-txt .l1,.hdr.scrolled .logo-txt .l2{font-size:1.25rem}
  .hdr.scrolled .logo-txt small{font-size:.44rem}
  .ftr-grid{grid-template-columns:1fr}
}
@media (max-width:480px){.hdr-in{gap:10px}.lang-sw{padding:2px}.lang-sw a.on{display:none}.lang-sw a{background:none;color:var(--navy)}.logo-txt .l1,.logo-txt .l2{font-size:1.25rem}.logo .mk{width:42px;height:48px}.logo-txt small{font-size:.42rem}}
@media (max-width:440px){.logo-txt small{display:none}}
@media (max-width:340px){.logo-txt .l1,.logo-txt .l2{font-size:1.05rem}.logo .mk{width:36px;height:41px}}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:13px 28px;font-family:var(--f);font-weight:700;font-size:1.08rem;text-transform:uppercase;letter-spacing:.01em;text-decoration:none;background:var(--teal);color:#fff;box-shadow:0 6px 18px rgba(40,168,146,.28);cursor:pointer;transition:transform .2s ease,background-color .2s ease;text-align:center}
.btn:hover{background:var(--teal-dark);transform:translateY(-1px)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.hdr .btn{padding:10px 22px;font-size:1.1rem;margin-left:10px;white-space:nowrap}
.btn-ghost{background:transparent;color:var(--teal-dark);box-shadow:none;border:2px solid var(--teal)}
.btn-ghost:hover{background:var(--mint-2);color:var(--teal-dark)}
.link,.link-back{background:none;border:0;color:var(--muted);cursor:pointer;padding:8px 4px;display:inline-flex;align-items:center;gap:4px;font-size:1rem}
.link:hover,.link-back:hover{color:var(--navy)}
.link-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 10px}

/* Accueil */
.intro{max-width:820px}
.eyebrow{color:var(--teal-dark);font-weight:700;margin:0 0 10px;font-size:1rem}
.lead{font-size:1.25rem;color:var(--muted);margin:0 0 22px}
.gets{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.gets li{display:flex;gap:10px;align-items:flex-start;font-size:1.08rem}
.gets .ck{width:22px;height:22px;flex:none;margin-top:1px;fill:none;stroke:var(--teal);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.meta{font-weight:700;color:var(--navy);margin:0}
.note{color:var(--muted);font-size:.95rem;margin:6px 0}

/* Questions */
.qscreen{max-width:820px}
.prog{display:flex;align-items:center;gap:14px;margin-bottom:26px;color:var(--muted);font-size:.92rem}
.prog-bar{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.prog-bar i{display:block;height:100%;background:var(--teal);border-radius:3px;transition:width .3s ease}
.stage{color:var(--teal-dark);font-weight:700;margin:0 0 8px;font-size:.98rem;text-transform:uppercase;letter-spacing:.02em}
.qscreen h2{font-size:clamp(1.5rem,3.6vw,2.05rem);margin-bottom:10px}
.hint{color:var(--muted);margin:0 0 4px}
.lead-s{color:var(--muted);font-size:1.1rem;margin:4px 0 10px}
.opts{display:grid;gap:10px;margin:20px 0 8px}
.opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 18px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:1.08rem;cursor:pointer;transition:border-color .15s,background-color .15s}
.opt:hover{border-color:var(--teal)}
.opt.on{border-color:var(--teal);background:var(--mint-2)}
.opt[disabled]{opacity:.55;cursor:not-allowed}
.opt .key{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:.85rem;color:var(--muted)}
.opt.on .key{border-color:var(--teal);color:var(--teal-dark)}
.opt .lbl{flex:1}
.opt .lbl small{display:block;color:var(--muted);font-size:.9rem;margin-top:2px}
.opt .ck{width:22px;height:22px;flex:none;fill:none;stroke:var(--teal);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.opt.on .ck{opacity:1}
.opt-none{margin-top:4px;border-style:dashed}
.qnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}
.err{color:#B42318;min-height:1.4em;margin:4px 0 0}

/* Formulaire */
.teaser{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin:18px 0 22px}
.t-score,.t-p1{border:1.5px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;align-items:center;gap:16px}
.t-p1{flex-direction:column;align-items:flex-start;justify-content:center;background:var(--mint-2);border-color:transparent}
.t-k{margin:0;color:var(--muted);font-size:.95rem}
.t-v{margin:2px 0 0;font-weight:700;color:var(--navy);font-size:1.3rem;line-height:1.2}
form label{display:block;font-weight:700;color:var(--navy);margin:0 0 14px}
form input:not([type=checkbox]){display:block;width:100%;margin-top:6px;font:inherit;font-weight:400;font-size:1.05rem;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;color:var(--ink)}
form input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(40,168,146,.18)}
form input[aria-invalid=true]{border-color:#B42318}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.consent{display:flex !important;gap:10px;align-items:flex-start;font-weight:400 !important;color:var(--ink) !important;font-size:.98rem}
.consent input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--teal)}
.ferr{display:block;color:#B42318;font-weight:400;font-size:.92rem;min-height:1.2em;margin:4px 0 0}
.hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Anneau de score */
.ring{flex:none}
.ring-bg{fill:none;stroke:var(--line);stroke-width:11}
.ring-fg{fill:none;stroke:var(--teal);stroke-width:11;stroke-linecap:round}
.ring-n{font-family:var(--f);font-weight:700;font-size:34px;fill:var(--navy);text-anchor:middle}
.ring-u{font-family:var(--f);font-size:13px;fill:var(--muted);text-anchor:middle}

/* Résultat */
.r-head h2{font-size:clamp(1.8rem,4vw,2.5rem)}
.r-for{color:var(--muted);margin:6px 0 0}
.warn{background:var(--amber-bg);color:#7A4E10;border-radius:8px;padding:10px 14px;margin-top:14px}
.card{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff;box-shadow:var(--shadow);margin-top:20px}
.card h2{font-size:1.35rem;margin-bottom:12px}
.linkbox h2{font-size:1.15rem;margin-bottom:4px}
.lrow{display:flex;gap:10px;margin:12px 0 4px;flex-wrap:wrap;align-items:flex-end}
.lrow input{flex:1;min-width:220px;font:inherit;font-size:.95rem;padding:10px 12px;border:1.5px solid var(--line);border-radius:8px;color:var(--ink);background:var(--mint-2)}
.lrow .btn{padding:9px 18px;font-size:.95rem}
.lbtns{display:flex;flex-direction:column;align-items:center;gap:6px}
.pdf-ico{display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:0;cursor:pointer;color:var(--teal-dark);font-weight:700;font-size:.78rem;letter-spacing:.04em;padding:2px 6px;border-radius:8px}
.pdf-ico svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pdf-ico:hover{color:var(--navy);background:var(--mint-2)}
.link.danger{color:#B42318;font-weight:700}
.r-top{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.r-top .card{margin-top:24px}
.score{display:flex;gap:20px;align-items:center}
.score h2{font-size:1.7rem;margin:2px 0 8px;color:var(--teal-dark)}
.score p{margin:0}
.pk{margin:0;color:var(--muted);font-size:.95rem}
.bars{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.bars li{display:grid;grid-template-columns:1fr 34% 64px;align-items:center;gap:10px;font-size:.98rem}
.sb{height:9px;border-radius:5px;background:var(--line);overflow:hidden}
.sb i{display:block;height:100%;background:var(--teal);border-radius:5px}
.sb.na{background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 10px)}
.sv{text-align:right;font-weight:700;color:var(--navy)}
.sv.na{font-weight:400;color:var(--muted);font-size:.85rem}
.sec{font-size:1.6rem;margin:38px 0 4px}
.pcards{display:grid;gap:18px}
.pcard{border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:14px;padding:22px 24px;background:#fff;box-shadow:var(--shadow);margin-top:14px}
.pcard header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pn{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.2rem;flex:none}
.pcard header div{flex:1;min-width:200px}
.pcard h3{font-size:1.4rem}
.basis{font-size:.85rem;border-radius:999px;padding:4px 12px;background:var(--amber-bg);color:#7A4E10}
.basis.ok{background:var(--mint-2);color:var(--teal-dark)}
.gain{font-weight:700;color:var(--teal-dark);margin:14px 0 6px;font-size:1.08rem}
.pcard h4{font-size:1.02rem;margin:14px 0 4px;color:var(--navy)}
.pcard ul{margin:0;padding-left:20px}
.pcard li{margin:3px 0}
.pcard dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin:16px 0 0}
.pcard dt{font-weight:700;color:var(--navy);font-size:.95rem}
.pcard dd{margin:2px 0 0;color:var(--ink)}
.adv{list-style:none;padding:0 !important;margin:16px 0 0 !important;display:grid;gap:8px}
.adv li{background:var(--mint-2);border-radius:8px;padding:9px 12px 9px 36px;position:relative;margin:0 !important}
.adv li::before{content:"";position:absolute;left:13px;top:15px;width:9px;height:9px;border-radius:50%;background:var(--teal)}
.r-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.others{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.others li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline}
.st{font-size:.8rem;font-weight:700;border-radius:999px;padding:2px 10px;white-space:nowrap}
.st-later{background:#E8EEF8;color:#2C3E66}.st-premature{background:var(--amber-bg);color:#7A4E10}.st-na{background:#F1F2F4;color:var(--muted)}
.ol{font-weight:700;color:var(--navy)}
.od{grid-column:2;color:var(--muted);font-size:.95rem}
h3.sub{font-size:1.1rem;margin:20px 0 6px}
.gt{width:100%;border-collapse:collapse;font-size:1rem;margin:4px 0 14px}
.gt th,.gt td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:right}
.gt th:first-child{text-align:left;font-weight:400;color:var(--muted)}
.gt thead th{font-weight:700;color:var(--navy)}
.gt .mid{background:var(--mint-2);font-weight:700}
.cost{font-weight:400 !important;color:var(--muted) !important;font-size:.95rem;display:block;margin:0 0 10px}
.cost input{display:block;margin-top:6px;width:170px;font:inherit;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px}
.small{font-size:.9rem;color:var(--muted);margin:0}
.road{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:ph}
.road>li{border-top:4px solid var(--teal);padding-top:12px}
.road h4{font-size:1.1rem;margin-bottom:6px}
.road ul{margin:0;padding-left:18px}
.road li li{margin:4px 0}
.cta{margin-top:28px;background:var(--navy);color:#fff;border-radius:14px;padding:28px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center}
.cta h2{color:#fff;font-size:1.5rem;margin-bottom:8px}
.cta p{margin:0;color:#D5DCEA}
.cta-b{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.cta .btn-ghost{color:#fff;border-color:#fff}
.cta .btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.cta .link{color:#C9D2E3;justify-content:center}
.method{margin-top:24px;border:1px solid var(--line);border-radius:14px;padding:18px 24px}
.method summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:1.15rem}
.method p{color:var(--ink);margin:12px 0}
.method h3{font-size:1.1rem;margin:20px 0 8px}
.srcs{padding-left:20px;margin:0;font-size:.95rem}
.srcs li{margin:0 0 10px}
.srcs i{color:var(--muted)}
.print-head,.print-foot{display:none}

@media (max-width:860px){
  .r-top,.r-two,.cta{grid-template-columns:1fr}
  .road{grid-template-columns:1fr}
  .pcard dl{grid-template-columns:1fr}
}
@media (max-width:640px){
  #app{padding:26px 0 48px}
  .teaser,.f2{grid-template-columns:1fr}
  .opt{padding:13px 14px;font-size:1.02rem;gap:10px}
  .opt .key{display:none}
  .btn{white-space:normal;padding:13px 22px}
  .score{flex-direction:column;align-items:flex-start}
  .bars li{grid-template-columns:1fr 30% 56px}
  .card,.pcard{padding:18px}
  .qnav .btn{flex:1}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}

/* Impression (rapport PDF) */
@page{size:A4;margin:14mm 13mm}
#report{display:none}
@media print{
  /* Écran de résultat : seul le rapport paysage (report.css) est imprimé */
  body.has-report>:not(#report){display:none!important}
  body.has-report #report{display:block}
  body{font-size:11pt;display:block}
  .hdr,.fs-menu,.page-hero,.ftr,.no-print,.qnav,.link-back{display:none !important}
  .method summary{list-style:none;font-size:14pt}
  .method summary::-webkit-details-marker{display:none}
  #app{padding:0}
  .wrap{width:100%}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none !important}
  .print-head{display:flex;gap:10px;align-items:center;border-bottom:2px solid var(--teal);padding-bottom:8px;margin-bottom:14px}
  .print-head .mk{width:30px;height:33px}
  .print-head div{display:flex;flex-direction:column}
  .print-head b{color:var(--navy);font-size:12pt}
  .print-head span{color:var(--muted);font-size:9.5pt}
  .r-head .r-for{display:none}
  .r-head h2{font-size:20pt}
  .card{break-inside:avoid;padding:12px 14px;margin-top:10px}
  .pcard{padding:12px 14px;margin-top:10px}
  .pcard header,.pcard dl>div,.pcard .adv li,.pcard ul{break-inside:avoid}
  .pcard h4,.sec{break-after:avoid}
  .r-top,.r-two{gap:10px}
  .r-top{grid-template-columns:1fr 1fr}
  .r-two{grid-template-columns:1fr 1fr}
  .road{grid-template-columns:repeat(3,1fr)}
  .pcard dl{grid-template-columns:1fr 1fr}
  .sec{margin-top:16px;font-size:15pt}
  .method{border:0;padding:0;margin-top:12px;break-before:page}
  .print-foot{display:block;color:var(--muted);font-size:9pt;border-top:1px solid var(--line);padding-top:6px;margin-top:16px}
  a{color:inherit;text-decoration:none}
}
