:root{
  --ivoire:#EADDC6;
  --creme:#F4EBDA;
  --paper:#FBF7EF;
  --paper-strong:#FFFDF8;
  --encre:#17140F;
  --muted:rgba(23,20,15,.66);
  --line:rgba(23,20,15,.14);
  --line-strong:rgba(23,20,15,.22);
  --terracotta:#C05F2B;
  --terra-deep:#A84E1F;
  --lavande:#C9C2F2;
  --lavande-ink:#4A4090;
  --cole-vert:#3D5B52;
  --cole-nuit:#23383A;
  --cole-or:#D9B98A;
  --risk-low:#547B67;
  --risk-watch:#9D7C38;
  --risk-significant:#C27331;
  --risk-high:#B84B2D;
  --risk-critical:#8F2530;
  --shadow:0 26px 70px -44px rgba(23,20,15,.48);
  --shadow-soft:0 18px 46px -38px rgba(23,20,15,.45);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
  --ease:cubic-bezier(.22,.9,.28,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:"Instrument Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--encre);line-height:1.58;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input,select{font:inherit}
button{border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
::selection{background:var(--lavande);color:var(--encre)}
:focus-visible{outline:3px solid var(--lavande-ink);outline-offset:3px}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:520;letter-spacing:-.025em;line-height:1.08}
.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:999;left:18px;top:12px;background:var(--encre);color:var(--creme);padding:10px 16px;border-radius:999px;transform:translateY(-160%);transition:.2s}
.skip-link:focus{transform:none}

.glass{background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12)}
.glass-soft{background:var(--paper-strong);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}

/* Navigation cohérente avec le site principal */
.site-head{position:relative;z-index:100}
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:100;width:min(1210px,calc(100% - 28px));min-height:64px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:9px 12px 9px 16px}
.brand{display:flex;align-items:center;gap:11px;font-weight:750;font-size:.94rem;white-space:nowrap}
.brand-mark{width:38px;height:38px;border-radius:50%;display:block;flex:none;background:var(--terracotta);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 12px 25px -17px rgba(168,78,31,.9)}
.nav-links{display:flex;align-items:center;gap:3px}
.nav-links a{padding:9px 10px;border-radius:999px;font-size:.82rem;color:var(--muted);transition:.18s var(--ease)}
.nav-links a:hover,.nav-links a[aria-current="page"]{background:rgba(255,255,255,.68);color:var(--encre)}
.nav-cta{background:var(--encre);color:var(--creme);padding:10px 16px;border-radius:999px;font-size:.82rem;font-weight:750}

/* Introduction compacte */
.tool-intro{position:relative;padding:112px 0 36px;overflow:hidden;background:
  radial-gradient(circle at 82% 12%,rgba(201,194,242,.42),transparent 24%),
  radial-gradient(circle at 12% 82%,rgba(217,185,138,.32),transparent 28%),
  linear-gradient(135deg,#F3E8D4 0%,#EADDC6 47%,#DCE3DE 100%)}
.tool-intro::before{content:"";position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(23,20,15,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(23,20,15,.14) 1px,transparent 1px);background-size:72px 72px;pointer-events:none}
.tool-intro .wrap{position:relative;z-index:1}
.tool-breadcrumb{display:flex;gap:5px;align-items:center;margin-bottom:32px;overflow-x:auto;scrollbar-width:none}
.tool-breadcrumb::-webkit-scrollbar{display:none}
.tool-breadcrumb a{flex:none;padding:7px 11px;border-radius:999px;font-size:.72rem;font-weight:720;color:var(--muted);background:rgba(255,255,255,.32);border:1px solid rgba(255,255,255,.5)}
.tool-breadcrumb a:hover,.tool-breadcrumb a[aria-current="page"]{background:var(--encre);color:var(--creme);border-color:var(--encre)}
.intro-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:48px;align-items:center}
.eyebrow,.mini-kicker,.panel-kicker,.rail-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:850;color:var(--terra-deep)}
.intro-copy h1{font-size:clamp(3rem,6vw,5.4rem);max-width:780px;margin:14px 0 20px}
.intro-copy h1 em{font-weight:430;color:var(--cole-vert)}
.intro-lead{max-width:720px;font-size:clamp(1rem,1.3vw,1.16rem);line-height:1.7;color:var(--muted)}
.intro-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 18px;font-weight:780;font-size:.88rem;transition:transform .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}
.btn-primary{background:var(--encre);color:var(--creme);box-shadow:0 16px 30px -20px rgba(23,20,15,.75)}
.btn-primary:hover{background:var(--cole-nuit)}
.btn-secondary{background:var(--cole-vert);color:#fff}
.btn-ghost{background:rgba(255,255,255,.48);border:1px solid var(--line);color:var(--encre)}
.intro-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:26px;max-width:760px}
.intro-facts span{padding:12px 13px;border:1px solid rgba(23,20,15,.11);border-radius:14px;background:rgba(255,255,255,.38)}
.intro-facts strong,.intro-facts small{display:block}
.intro-facts strong{font-family:"Fraunces",Georgia,serif;font-size:1.05rem}
.intro-facts small{margin-top:2px;color:var(--muted);font-size:.68rem}
.decision-card{background:linear-gradient(150deg,rgba(35,56,58,.96),rgba(23,20,15,.93));color:var(--creme);padding:27px;border-radius:26px;border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow)}
.decision-card .panel-kicker{color:var(--lavande)}
.decision-card h2{font-size:clamp(1.8rem,2.5vw,2.55rem);margin:10px 0 18px}
.decision-card ul{list-style:none;display:grid}
.decision-card li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.12)}
.decision-card li>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:.66rem;color:var(--cole-or)}
.decision-card strong,.decision-card small{display:block}
.decision-card small{color:rgba(244,235,218,.64);font-size:.77rem;margin-top:2px;line-height:1.42}
.decision-card>a{display:block;margin-top:17px;padding-top:15px;border-top:1px solid rgba(255,255,255,.12);color:var(--cole-or);font-size:.78rem;font-weight:760}
.status-note{display:flex;gap:12px;align-items:flex-start;margin-top:28px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.44);border:1px solid rgba(255,255,255,.7)}
.status-note>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--lavande);color:var(--lavande-ink);font-weight:850}
.status-note p{font-size:.79rem;color:var(--muted)}
.status-note strong{color:var(--encre)}

/* Questionnaire */
.assessment-shell{padding:42px 0 82px;background:var(--paper)}
.assessment-card{display:grid;grid-template-columns:230px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--paper-strong);box-shadow:var(--shadow);overflow:hidden;min-height:620px}
.assessment-rail{background:var(--cole-nuit);color:var(--creme);padding:30px 22px;display:flex;flex-direction:column}
.assessment-rail>div>strong{display:block;font-family:"Fraunces",Georgia,serif;font-size:1.45rem;margin-top:5px}
.assessment-rail .rail-kicker{color:var(--lavande)}
.assessment-rail ol{list-style:none;display:grid;gap:7px;margin:30px 0}
.assessment-rail li{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;padding:11px;border-radius:14px;color:rgba(244,235,218,.5);transition:.18s}
.assessment-rail li>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);font-size:.65rem}
.assessment-rail li b,.assessment-rail li small{display:block}
.assessment-rail li b{font-size:.82rem}
.assessment-rail li small{font-size:.67rem;margin-top:1px}
.assessment-rail li.is-current{background:rgba(255,255,255,.11);color:var(--creme)}
.assessment-rail li.is-current>span{background:var(--terracotta);border-color:var(--terracotta)}
.assessment-rail li.is-done{color:rgba(244,235,218,.78)}
.assessment-rail li.is-done>span{background:rgba(84,123,103,.55);border-color:transparent}
.rail-switch{margin-top:auto;padding:15px;border-radius:15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.rail-switch b,.rail-switch span{display:block}
.rail-switch b{font-size:.78rem}.rail-switch span{font-size:.69rem;color:var(--cole-or);margin-top:4px}
.assessment-main{min-width:0;padding:34px clamp(24px,4vw,52px) 42px}
.assessment-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:21px;border-bottom:1px solid var(--line);margin-bottom:30px}
.assessment-topbar h2{font-size:clamp(2rem,3.5vw,3rem);margin-top:4px}
.privacy-pill{font-size:.7rem;padding:8px 11px;border-radius:999px;background:rgba(61,91,82,.09);color:var(--cole-vert);font-weight:760;white-space:nowrap}
.privacy-pill span{font-size:.55rem;margin-right:4px}
.step{display:none;animation:stepIn .28s var(--ease)}
.step.active{display:block}
@keyframes stepIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.onboarding{max-width:860px}
.onboarding-head h3,.step-heading h3{font-size:clamp(1.8rem,3vw,2.55rem);margin:7px 0 12px}
.onboarding-head p,.step-heading p{color:var(--muted);max-width:760px}
.onboarding-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:26px 0}
.onboarding-points article{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.onboarding-points article>span{font-size:.66rem;color:var(--terra-deep);font-weight:850}
.onboarding-points strong{display:block;margin:10px 0 4px;font-size:.86rem}
.onboarding-points p{font-size:.74rem;color:var(--muted)}
.onboarding-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.onboarding-actions>a{font-size:.78rem;color:var(--terra-deep);font-weight:760}
.step-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}
.step-heading>p{font-size:.82rem;max-width:410px}
.step-index{display:inline-block;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:var(--terra-deep);font-weight:850}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.field-card{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff;min-width:0}
.field-card legend{font-size:.76rem;font-weight:780;margin-bottom:8px;padding:0 3px}
.field-card select,.field-card input[type="date"],.field-card input[type="text"]{width:100%;min-height:46px;border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:0 12px;color:var(--encre)}
.field-card select:focus,.field-card input:focus{border-color:var(--lavande-ink)}
.field-card small{display:block;margin-top:7px;color:var(--muted);font-size:.67rem;line-height:1.4}
.use-fieldset{border:0;margin-top:22px}
.use-fieldset>legend{font-family:"Fraunces",Georgia,serif;font-size:1.35rem;margin-bottom:13px}
.use-fieldset>legend small{font-family:"Instrument Sans",sans-serif;font-size:.68rem;color:var(--muted);font-weight:500;margin-left:5px}
.use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.use-option{position:relative;cursor:pointer}
.use-option input{position:absolute;opacity:0;pointer-events:none}
.use-option span{display:flex;flex-direction:column;justify-content:center;min-height:86px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.16s var(--ease)}
.use-option b{font-size:.8rem}.use-option small{font-size:.68rem;color:var(--muted);margin-top:4px;line-height:1.38}
.use-option:hover span{border-color:var(--line-strong);transform:translateY(-1px)}
.use-option input:checked+span{border-color:var(--cole-vert);box-shadow:inset 0 0 0 1px var(--cole-vert);background:rgba(61,91,82,.06)}
.use-option input:focus-visible+span{outline:3px solid var(--lavande-ink);outline-offset:2px}
.inline-error{min-height:22px;margin-top:12px;color:var(--risk-critical);font-size:.78rem;font-weight:700}
.step-actions,.question-nav{display:flex;justify-content:space-between;gap:10px;margin-top:23px}
.followup-context-note{padding:13px 15px;border-radius:13px;background:rgba(192,95,43,.07);border:1px solid rgba(192,95,43,.16);font-size:.74rem;color:var(--muted);margin-bottom:15px}
.code-row{display:flex;gap:7px}.code-row input{flex:1}.code-row .btn{min-height:46px;padding:0 13px}

/* Une question à la fois */
.question-progress-wrap{position:sticky;top:90px;z-index:10;padding:12px 0 16px;background:linear-gradient(var(--paper-strong) 82%,rgba(255,253,248,0))}
.progress-meta{display:flex;justify-content:space-between;gap:15px;font-size:.72rem;font-weight:760;color:var(--muted);margin-bottom:7px}
.progress-track{height:6px;border-radius:999px;background:rgba(23,20,15,.09);overflow:hidden}
.progress-track span{display:block;height:100%;width:0;background:var(--terracotta);border-radius:inherit;transition:width .28s var(--ease)}
.question-shell{max-width:800px;padding:18px 0 4px}
.question-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.question-meta span{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted);padding:6px 8px;border-radius:999px;background:rgba(23,20,15,.05)}
.question-meta .conditional{background:rgba(201,194,242,.34);color:var(--lavande-ink)}
.question-title{font-size:clamp(1.8rem,3.4vw,2.8rem);max-width:800px}
.question-help{margin:11px 0 22px;color:var(--muted);font-size:.88rem;max-width:720px}
.answer-list{border:0;display:grid;gap:8px;counter-reset:answer}
.answer-option{position:relative;cursor:pointer;counter-increment:answer}
.answer-option input{position:absolute;opacity:0;pointer-events:none}
.answer-option span{display:flex;align-items:center;gap:12px;min-height:56px;padding:11px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:.82rem;transition:.14s var(--ease)}
.answer-option span::before{content:counter(answer,upper-alpha);width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;background:rgba(23,20,15,.05);font-size:.68rem;font-weight:850;color:var(--muted)}
.answer-option:hover span{border-color:var(--line-strong);transform:translateX(2px)}
.answer-option input:checked+span{border-color:var(--cole-vert);box-shadow:inset 0 0 0 1px var(--cole-vert);background:rgba(61,91,82,.055)}
.answer-option input:checked+span::before{background:var(--cole-vert);color:#fff}
.answer-option input:focus-visible+span{outline:3px solid var(--lavande-ink);outline-offset:2px}
.question-nav{max-width:800px;padding-top:5px;border-top:1px solid var(--line)}

/* Résultats */
.results-step{padding-top:4px}
.result-header{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-bottom:20px}
.result-header h2{font-size:clamp(2.2rem,4vw,3.8rem);margin:5px 0 9px}
.result-header p{color:var(--muted);max-width:760px}
.score-orbit{--score:0;--score-color:var(--risk-watch);width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--score-color) calc(var(--score)*1%),rgba(23,20,15,.08) 0);position:relative}
.score-orbit::after{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--paper-strong)}
.score-orbit>div{position:relative;z-index:1;text-align:center}.score-orbit strong{font-family:"Fraunces",serif;font-size:2.75rem}.score-orbit span{font-size:.76rem;color:var(--muted)}.score-orbit small{display:block;font-size:.65rem;font-weight:800;margin-top:-3px}
.critical-alerts{padding:17px 19px;border-radius:15px;background:rgba(143,37,48,.08);border:1px solid rgba(143,37,48,.22);margin-bottom:17px}
.critical-alerts h3{font-size:1.4rem;color:var(--risk-critical);margin-bottom:7px}.critical-alerts ul{padding-left:19px;color:var(--muted);font-size:.8rem}
.uncertainty-note{padding:13px 15px;border-radius:13px;background:rgba(157,124,56,.09);border:1px solid rgba(157,124,56,.2);font-size:.76rem;margin:10px 0 17px}
.result-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:14px}
.chart-card,.priority-card{padding:20px}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.card-head h3,.priority-card h3{font-size:1.65rem;margin:4px 0 12px}
.icon-btn{background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-size:.67rem;font-weight:760}
.radar-wrap{min-height:370px;display:grid;place-items:center;overflow:hidden}.radar-wrap svg{width:min(100%,520px);height:auto;overflow:visible}
.radar-grid{fill:none;stroke:rgba(23,20,15,.12);stroke-width:1}.radar-axis{stroke:rgba(23,20,15,.11);stroke-width:1}.radar-area{fill:rgba(192,95,43,.2);stroke:var(--terracotta);stroke-width:2}.radar-point{fill:var(--terracotta)}.radar-label{font:600 10px "Instrument Sans",sans-serif;fill:var(--muted)}
.dimension-table{display:grid;gap:7px;margin-top:10px}.dimension-row{display:grid;grid-template-columns:155px 1fr 42px;gap:10px;align-items:center;font-size:.72rem}.dimension-row .bar{height:7px;background:rgba(23,20,15,.08);border-radius:999px;overflow:hidden}.dimension-row .bar span{display:block;height:100%;border-radius:inherit;background:var(--terracotta)}
.priority-list{display:grid;gap:9px}.priority-item{padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.priority-item strong{display:block;font-size:.82rem}.priority-item p{font-size:.72rem;color:var(--muted);margin:5px 0}.priority-meter{height:5px;background:rgba(23,20,15,.08);border-radius:999px;overflow:hidden}.priority-meter span{display:block;height:100%;background:var(--terracotta)}
.report-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.report-toolbar h3{font-size:1.75rem;margin-top:3px}.toolbar-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}

/* Rapport professionnel */
.generated-report{
  --report-ink:#17140F;
  --report-muted:#625E56;
  --report-line:#DDD5C8;
  --report-paper:#FFFDF9;
  --report-warm:#F5EDE0;
  --report-green:#3D5B52;
  --report-orange:#C05F2B;
  margin-top:16px;
  padding:clamp(24px,4vw,44px);
  border:1px solid var(--report-line);
  border-radius:22px;
  background:var(--report-paper);
  color:var(--report-ink);
  box-shadow:0 24px 60px -42px rgba(23,20,15,.38);
}
.generated-report *{box-sizing:border-box}
.report-cover{padding-bottom:24px;border-bottom:1px solid var(--report-line)}
.report-brandline{display:flex;align-items:center;gap:10px;margin-bottom:28px;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--report-green)}
.report-brandmark{width:18px;height:18px;border-radius:50%;background:var(--report-orange);box-shadow:inset 0 1px 0 rgba(255,255,255,.42)}
.report-type{margin-left:auto;padding:6px 10px;border:1px solid var(--report-line);border-radius:999px;color:var(--report-muted);letter-spacing:.07em;background:#fff}
.report-cover-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:34px;align-items:end}
.report-eyebrow{margin:0 0 8px!important;font-size:.68rem!important;font-weight:850!important;letter-spacing:.12em;text-transform:uppercase;color:var(--report-orange)!important}
.report-cover h1{max-width:720px;margin:0 0 12px;font-family:"Fraunces",Georgia,serif;font-size:clamp(2.2rem,4.2vw,3.55rem);font-weight:520;line-height:1.02;letter-spacing:-.035em}
.report-subtitle{max-width:720px;margin:0!important;font-size:.9rem!important;line-height:1.55!important;color:var(--report-muted)!important}
.report-id-card{padding:16px;border:1px solid var(--report-line);border-radius:16px;background:linear-gradient(145deg,#fff,var(--report-warm));font-size:.69rem;line-height:1.55;color:var(--report-muted)}
.report-id-card strong{display:block;margin-bottom:5px;font-size:.82rem;color:var(--report-ink)}
.report-section{margin-top:28px}
.report-section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}
.report-section-number{width:32px;min-width:32px;height:32px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 32px;background:var(--report-ink);color:#fff;font-size:.64rem;font-weight:850;line-height:1;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.02em;overflow:hidden}
.report-section-heading h2{margin:1px 0 0;font-family:"Fraunces",Georgia,serif;font-size:1.75rem;line-height:1.08;letter-spacing:-.02em}
.report-section-heading p{margin:0 0 3px!important;font-size:.62rem!important;font-weight:850!important;letter-spacing:.11em;text-transform:uppercase;color:var(--report-orange)!important}
.report-section>p,.report-section li{font-size:.78rem;line-height:1.55;color:var(--report-muted)}
.report-section ul,.report-section ol{padding-left:19px}
.report-summary-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;align-items:stretch}
.report-score-card{--report-accent:var(--report-orange);display:flex;flex-direction:column;justify-content:space-between;min-height:164px;padding:18px;border-radius:17px;background:var(--report-ink);color:#fff;overflow:hidden;position:relative}
.report-score-card::after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-34px;top:-42px;background:var(--report-accent);opacity:.28}
.report-score-card>span{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.64)}
.report-score-card strong{position:relative;z-index:1;font-family:"Fraunces",Georgia,serif;font-size:3.35rem;font-weight:520;line-height:.95}
.report-score-card strong small{font-family:"Instrument Sans",Arial,sans-serif;font-size:.75rem;font-weight:650;color:rgba(255,255,255,.55)}
.report-score-card b{position:relative;z-index:1;font-size:.78rem;color:#fff}
.report-decision-card{padding:18px 20px;border:1px solid var(--report-line);border-radius:17px;background:#fff}
.report-decision-card>strong{display:block;margin-bottom:7px;font-size:1.02rem;color:var(--report-ink)}
.report-decision-card p{margin:0!important;font-size:.79rem!important;line-height:1.58!important;color:var(--report-muted)!important}
.report-decision-card.warning{border-color:rgba(143,37,48,.35);background:#FFF7F5}
.report-critical-list{margin-top:12px;padding:13px 15px;border-left:4px solid #8F2530;border-radius:0 12px 12px 0;background:#FFF3F1}
.report-critical-list strong{display:block;margin-bottom:4px;font-size:.72rem;color:#8F2530;text-transform:uppercase;letter-spacing:.08em}
.report-critical-list ul{margin:0}
.report-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.report-context-item{padding:11px 12px;border:1px solid var(--report-line);border-radius:12px;background:#fff}
.report-context-item strong{display:block;margin-bottom:3px;font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;color:var(--report-muted)}
.report-context-item span{display:block;font-size:.76rem;font-weight:720;line-height:1.35;color:var(--report-ink)}
.report-profile-note{margin-bottom:14px!important}
.report-score-list{display:grid;gap:8px}
.report-score-row{padding:10px 12px;border:1px solid var(--report-line);border-radius:12px;background:#fff}
.report-score-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}
.report-score-head strong{font-size:.72rem;color:var(--report-ink)}
.report-score-head span{font-family:"Fraunces",Georgia,serif;font-size:1rem;font-weight:550;color:var(--score-color,var(--report-orange))}
.report-score-bar{height:6px;border-radius:999px;background:#EEE9E1;overflow:hidden}
.report-score-bar i{display:block;height:100%;border-radius:inherit;background:var(--score-color,var(--report-orange))}
.report-priority-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:0!important;counter-reset:priority;list-style:none}
.report-priority-list li{position:relative;padding:12px 12px 12px 42px;border:1px solid var(--report-line);border-radius:12px;background:#fff}
.report-priority-list li::before{counter-increment:priority;content:counter(priority);position:absolute;left:12px;top:12px;width:22px;height:22px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--report-warm);font-size:.62rem;font-weight:850;line-height:1;text-align:center;font-variant-numeric:tabular-nums;color:var(--report-orange)}
.report-priority-list strong{display:block;margin-bottom:3px;color:var(--report-ink)}
.report-actions-title{margin:15px 0 8px;font-family:"Instrument Sans",Arial,sans-serif;font-size:.67rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--report-muted)}
.report-keep-together{break-inside:avoid;page-break-inside:avoid}
.action-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.action-column{padding:14px;border:1px solid var(--report-line);border-radius:13px;background:#fff}
.action-column:nth-child(1){border-top:4px solid #8F2530}.action-column:nth-child(2){border-top:4px solid var(--report-orange)}.action-column:nth-child(3){border-top:4px solid var(--report-green)}
.action-column h3{margin:0 0 8px;font-family:"Fraunces",Georgia,serif;font-size:1.15rem;line-height:1.08}
.action-column ul{margin:0;padding-left:17px}.action-column li{margin-bottom:4px;font-size:.69rem;line-height:1.45}
.report-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.report-role-card{padding:12px;border:1px solid var(--report-line);border-radius:12px;background:#fff}
.report-role-card strong{display:block;margin-bottom:4px;font-size:.72rem;color:var(--report-ink)}
.report-role-card p{margin:0!important;font-size:.7rem!important;line-height:1.48!important;color:var(--report-muted)!important}
.report-callout{padding:13px 15px;border-radius:12px;margin-top:13px;background:#F0F5F2;border:1px solid #D2E0D8;font-size:.74rem}
.report-callout.warning{background:#FFF2EC;border-color:#EBC3AE}
.report-callout p{margin:3px 0 0!important;font-size:.72rem!important;line-height:1.5!important;color:var(--report-muted)!important}
.report-check-list{display:grid;gap:6px;margin:0;padding:0!important;list-style:none}
.report-check-list li{position:relative;padding:9px 11px 9px 35px;border:1px solid var(--report-line);border-radius:11px;background:#fff}
.report-check-list li::before{content:"";position:absolute;left:11px;top:50%;width:17px;height:17px;border-radius:50%;background:#E4EEE8;transform:translateY(-50%)}.report-check-list li::after{content:"";position:absolute;left:17px;top:50%;width:4px;height:7px;border:solid var(--report-green);border-width:0 1.7px 1.7px 0;transform:translateY(-64%) rotate(45deg);transform-origin:center}
.report-contribution{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px;align-items:start}
.report-contact-card{padding:13px;border-radius:12px;background:var(--report-ink);color:#fff;font-size:.69rem;line-height:1.45;overflow-wrap:anywhere}
.report-contact-card span{display:block;margin-bottom:4px;font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.report-legal{margin-top:28px;padding:15px 17px;border-top:1px solid var(--report-line);background:#F8F5EF;border-radius:12px;color:var(--report-muted);font-size:.65rem;line-height:1.52}
.report-legal strong{color:var(--report-ink)}
.timeline-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px}.timeline-meta div{border:1px solid var(--report-line);border-radius:12px;padding:11px;background:#fff}.timeline-meta strong{display:block;margin-bottom:3px;font-size:.59rem;text-transform:uppercase;letter-spacing:.08em;color:var(--report-muted)}.timeline-meta span{font-size:.73rem;font-weight:750;color:var(--report-ink)}

@media(max-width:760px){
  .report-cover-grid,.report-summary-grid,.report-contribution{grid-template-columns:1fr}.report-id-card{max-width:none}.report-context-grid,.report-priority-list,.report-role-grid{grid-template-columns:1fr}.action-timeline{grid-template-columns:1fr}.report-type{display:none}
}

.archive-section,.email-contribution,.aggregate-section,.followup-history{margin-top:12px;padding:18px}
.archive-section,.email-contribution{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.archive-section h3,.email-contribution h3,.aggregate-section h3,.followup-history h3{font-size:1.35rem;margin:4px 0 6px}.archive-section p,.email-contribution p,.aggregate-section p{font-size:.75rem;color:var(--muted)}
.email-contribution a:not(.btn){color:var(--terra-deep);text-decoration:underline;text-underline-offset:2px}
.aggregate-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.aggregate-status{font-size:.65rem;padding:6px 9px;border:1px solid var(--line);border-radius:999px}.aggregate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.aggregate-stat{padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.aggregate-stat strong{display:block;font-family:"Fraunces",serif;font-size:1.4rem}.aggregate-stat span{font-size:.65rem;color:var(--muted)}
.contribution-box{display:grid;gap:10px}.consent-line{display:flex;gap:9px;align-items:flex-start;font-size:.72rem;color:var(--muted)}.microcopy{font-size:.66rem!important}
.global-aggregate{margin-top:12px}.result-actions-bottom{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px}
.result-extras{margin-top:16px;border:1px solid var(--line);border-radius:15px;background:rgba(23,20,15,.025)}
.result-extras>summary{cursor:pointer;padding:14px 16px;font-size:.78rem;font-weight:800;list-style:none}.result-extras>summary::-webkit-details-marker{display:none}.result-extras>summary::after{content:"＋";float:right}.result-extras[open]>summary::after{content:"−"}.result-extras-body{padding:0 12px 12px}
.timeline-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0}.timeline-meta div{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.timeline-meta strong{display:block;font-size:.66rem;color:var(--muted)}.timeline-meta span{font-size:.78rem;font-weight:750}
.history-list{display:grid;gap:7px;margin-top:10px}.history-item{display:grid;grid-template-columns:125px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.history-item span{font-size:.7rem}.history-item strong{font-size:.76rem}.history-item b{font-family:"Fraunces",serif;font-size:1.2rem}

/* Cadre condensé */
.reference-section{padding:74px 0;background:linear-gradient(180deg,var(--paper),#EFE2CD)}
.reference-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:35px;align-items:end;margin-bottom:23px}
.reference-head h2{font-size:clamp(2.2rem,4.5vw,4rem)}
.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.reference-grid article{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.56)}
.reference-grid article>span{font-size:.66rem;color:var(--terra-deep);font-weight:850}.reference-grid h3{font-size:1.55rem;margin:12px 0 8px}.reference-grid p{font-size:.78rem;color:var(--muted)}
.sources-details{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.45)}
.sources-details summary{cursor:pointer;padding:15px 17px;font-size:.78rem;font-weight:800}.sources-details>div{padding:0 17px 17px}.sources-details p{font-size:.74rem;color:var(--muted);margin-top:8px}.sources-details a{color:var(--terra-deep);text-decoration:underline;text-underline-offset:2px}

/* Footer */
.site-footer{padding:58px 0 26px;background:var(--cole-nuit);color:var(--creme)}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:38px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-grid p{font-size:.76rem;color:rgba(244,235,218,.58);max-width:340px}.footer-grid>div:not(:first-child)>strong{font-size:.78rem;margin-bottom:5px}.footer-grid>div:not(:first-child)>a{font-size:.72rem;color:rgba(244,235,218,.64)}
.footer-brand{color:var(--creme)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;margin-top:30px;border-top:1px solid rgba(255,255,255,.1);font-size:.65rem;color:rgba(244,235,218,.45)}
.noscript{position:fixed;inset:auto 15px 15px;z-index:999;background:var(--risk-critical);color:#fff;padding:14px;border-radius:12px;text-align:center}

@media(max-width:1040px){
  .nav-links{display:none}
  .intro-layout{grid-template-columns:1fr;gap:28px}.decision-card{max-width:720px}
  .intro-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assessment-card{grid-template-columns:190px minmax(0,1fr)}
  .use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .result-grid{grid-template-columns:1fr}
  .reference-head{grid-template-columns:1fr;gap:10px}
}

@media(max-width:780px){
  .wrap{width:min(100% - 26px,1180px)}
  .nav{top:8px;width:calc(100% - 16px);min-height:58px;padding:8px 10px}.brand{font-size:.79rem}.brand-mark{width:34px;height:34px}.nav-cta{font-size:.7rem;padding:9px 11px}
  .tool-intro{padding:91px 0 28px}.tool-breadcrumb{margin-bottom:22px}.intro-copy h1{font-size:clamp(2.7rem,12vw,4.2rem)}.intro-lead{font-size:.96rem}
  .intro-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.decision-card{padding:22px}
  .assessment-shell{padding:26px 0 58px}.assessment-card{display:block;border-radius:22px}
  .assessment-rail{padding:15px 14px;display:block}.assessment-rail>div,.rail-switch{display:none}.assessment-rail ol{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0}.assessment-rail li{display:flex;justify-content:center;padding:8px 4px}.assessment-rail li>div{display:none}.assessment-rail li>span{width:28px;height:28px}
  .assessment-main{padding:24px 17px 30px}.assessment-topbar{align-items:flex-start;flex-direction:column;margin-bottom:24px}.privacy-pill{white-space:normal}
  .onboarding-points,.form-grid,.use-grid,.reference-grid{grid-template-columns:1fr}.onboarding-points{gap:8px}.onboarding-points article{padding:15px}
  .step-heading{display:block}.step-heading>p{margin-top:10px}
  .question-progress-wrap{top:72px}.question-title{font-size:2rem}.question-help{font-size:.82rem}.answer-option span{font-size:.78rem}
  .result-header{grid-template-columns:1fr}.score-orbit{width:132px;height:132px}.report-toolbar,.aggregate-head,.card-head{align-items:flex-start;flex-direction:column}.toolbar-actions{justify-content:flex-start}
  .radar-wrap{min-height:310px;overflow:auto}.radar-wrap svg{min-width:480px}.dimension-row{grid-template-columns:120px 1fr 38px}
  .report-cover{grid-template-columns:1fr}.report-meta{text-align:left}.report-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-timeline{grid-template-columns:1fr}
  .archive-section,.email-contribution{grid-template-columns:1fr}.aggregate-grid,.timeline-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.history-item{grid-template-columns:1fr auto}.history-item span{grid-column:1/-1}
  .reference-section{padding:56px 0}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-direction:column}
}

@media(max-width:430px){
  .brand>span:last-child{display:none}.intro-facts{grid-template-columns:1fr 1fr}.intro-actions .btn{width:100%}.assessment-main{padding-inline:14px}.report-score-grid,.aggregate-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media print{
  @page{size:A4;margin:12mm 13mm 14mm}
  html,body{background:#fff!important;color:#17140F!important}
  body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .skip-link,.site-head,.tool-intro,.assessment-rail,.assessment-topbar,#introStep,#contextStep,#questionStep,.result-header,.critical-alerts,.result-grid,.report-toolbar,.result-extras,.result-actions-bottom,.reference-section,.site-footer{display:none!important}
  .assessment-shell,.assessment-card,.assessment-main{padding:0!important;margin:0!important;background:#fff!important;box-shadow:none!important;border:0!important;display:block!important}
  #resultsStep{display:block!important}
  .generated-report{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
  .report-cover,.report-summary-grid,.report-context-item,.report-score-row,.report-priority-list li,.action-column,.report-role-card,.report-callout,.report-check-list li,.report-contact-card,.report-legal,.timeline-meta div{break-inside:avoid;page-break-inside:avoid}
  .report-section{break-inside:auto;page-break-inside:auto}.report-section.report-keep-together{break-inside:avoid!important;page-break-inside:avoid!important}
  .report-section-heading{break-after:avoid;page-break-after:avoid}
  h1,h2,h3,h4{orphans:3;widows:3}
  p,li{orphans:3;widows:3}
}
