/* ═══════════════════════════════════════════════════════════
   Kiseki Labs · AI readiness assessment
   Loaded only on /ai-readiness-assessment/ (extra_head).
   Builds on site.css tokens. The instrument sits on paper, like
   the .case section: a form you fill in, not a product UI.
   Gold stays a signal: the measured overall score and live links.
   ═══════════════════════════════════════════════════════════ */

/* ── page head ─────────────────────────────────────────────── */
.ra-head{padding-bottom:clamp(44px,6vw,72px)}
.ra-head h1{max-width:12ch}
.ra-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:30px;padding-top:18px;border-top:1px solid var(--rule)}
.ra-meta span{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.ra-meta span b{font-weight:500;color:var(--fg)}

/* ── the paper section ─────────────────────────────────────── */
.ra{background:var(--paper);color:var(--ink);padding:clamp(40px,6vw,84px) 0 clamp(56px,8vw,110px)}
.ra h2,.ra h3,.ra h4{color:var(--ink)}
.ra p{color:var(--ink-2)}
.ra .tag{color:var(--ink-3)}
.ra .stamp{color:var(--ink-3)}
.ra .lnk{color:var(--ink);border-color:var(--gold-deep)}
.ra .lnk:hover{color:var(--gold-deep);border-color:var(--gold-deep)}
.ra .lnk-quiet{color:var(--ink-3);border-color:var(--rule-l)}
.ra .lnk-quiet:hover{color:var(--ink);border-color:var(--ink)}
.ra :focus-visible{outline-color:var(--gold-deep)}
.ra b,.ra strong{font-weight:500;color:var(--ink)}
.ra section{padding:0} /* report blocks are sections; drop the site's section rhythm */

/* the plate: a document header rule and registration marks in the corners */
.ra-plate{
  --reg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath d='M0 7h14M7 0v14' stroke='%237A8CA0' stroke-opacity='.7'/%3E%3C/svg%3E");
  position:relative;max-width:1060px;margin:0 auto;
  padding:clamp(22px,3vw,34px) clamp(0px,4vw,52px) clamp(30px,4vw,52px);
  background:
    var(--reg) left top/14px 14px no-repeat,
    var(--reg) right top/14px 14px no-repeat,
    var(--reg) left bottom/14px 14px no-repeat,
    var(--reg) right bottom/14px 14px no-repeat;
}
.ra-plate-h{
  display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;
  padding:0 0 12px;margin:0 clamp(0px,1vw,8px) clamp(30px,4vw,48px);border-bottom:2px solid var(--ink);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);
}
.ra-plate-h b{font-weight:500;color:var(--ink)}
.ra-app{min-height:420px}
.ra-app noscript p{font-size:1.05rem}

/* screen entrance: short and quiet */
.ra-enter{animation:ra-in 260ms var(--ease-out) both}
@keyframes ra-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── shared controls ──────────────────────────────────────── */
.ra-btn{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  background:var(--navy);color:var(--paper);border:0;border-bottom:2px solid var(--gold);
  padding:16px 26px 14px;min-height:48px;border-radius:0;
  transition:background-color var(--t-fast) var(--ease-out),transform var(--t-press) var(--ease-out);
}
.ra-btn:hover{background:var(--navy-3)}
.ra-btn:active{transform:scale(.98)}
.ra-btn[disabled]{opacity:.6;cursor:progress}
.ra-quiet{
  appearance:none;-webkit-appearance:none;background:none;border:0;cursor:pointer;
  font-family:var(--mono);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);
  padding:14px 0 5px;min-height:44px;border-bottom:1px solid var(--rule-l);border-radius:0;
  transition:color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out);
}
.ra-quiet:hover{color:var(--ink);border-color:var(--ink)}
.ra-small{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--ink-3);margin-top:14px}
.ra-err{font-size:.92rem;color:#8A2E1F;margin-top:14px}
.ra-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.ra-print-only{display:none}
.ra-nowrap{white-space:nowrap}

.ra-nav{display:flex;align-items:center;gap:14px 30px;flex-wrap:wrap;margin-top:34px}
.ra-keyhint{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--ink-3);margin-left:auto}
@media (hover:none){.ra-keyhint{display:none}}

/* ── intro ────────────────────────────────────────────────── */
.ra-intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,5vw,72px);align-items:start}
.ra-h{font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.06;letter-spacing:-.018em;margin:16px 0 22px;max-width:20ch}
.ra-intro-t > p{font-size:1.05rem;max-width:56ch}
.ra-get{list-style:none;counter-reset:g;margin-top:28px;border-top:1px solid var(--rule-l)}
.ra-get li{counter-increment:g;position:relative;padding:15px 0 15px 40px;border-bottom:1px solid var(--rule-l);font-size:.98rem;line-height:1.55;color:var(--ink-2)}
.ra-get li::before{content:counter(g,lower-roman);position:absolute;left:0;top:18px;font-family:var(--mono);font-size:.72rem;color:var(--ink-3)}
.ra-fig{margin-top:6px}
.ra-fig svg{display:block;width:100%;height:auto}
.ra-fig .stamp{max-width:none}
.ra-fig-reg path{stroke:var(--ink-3);stroke-opacity:.6;fill:none}
.ra-fig-track{fill:var(--paper-2)}
.ra-fig-bar{fill:var(--navy)}
.ra-fig-mark{fill:var(--gold-deep)}
.ra-fig-axis{stroke:var(--rule-l);fill:none}
.ra-fig-n{font-family:var(--mono);font-size:10px;fill:var(--ink-3);letter-spacing:.06em}

/* ── question ─────────────────────────────────────────────── */
.ra-q{max-width:780px}
.ra-progress{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;align-items:baseline}
.ra-progress .tag b{font-weight:500;color:var(--ink)}
.ra-dimname{text-align:right}
.ra-ticks{display:flex;gap:10px;margin:14px 0 clamp(30px,4vw,44px)}
.ra-tg{display:flex;gap:3px;flex:1 1 0}
.ra-tg:has(.ra-tick:nth-child(4)){flex-grow:1.33}
.ra-tick{flex:1 1 0;height:3px;background:var(--paper-2);transition:background-color 200ms var(--ease-out)}
.ra-tick.is-done{background:var(--ink-3)}
.ra-tick.is-now{background:var(--navy)}
.ra-fs{border:0;min-width:0;margin:0;padding:0}
.ra-fs legend{padding:0;display:block;width:100%}
.ra-qtext{font-family:var(--display);font-weight:400;font-size:clamp(1.75rem,3.4vw,2.55rem);line-height:1.1;letter-spacing:-.016em;max-width:30ch}
.ra-qtext:focus{outline:none}
.ra-hint{margin-top:14px;font-size:.95rem;max-width:58ch}
.ra-opts{margin-top:28px;border-top:1px solid var(--rule-l)}
.ra-opt{
  position:relative;display:grid;grid-template-columns:30px 1fr;gap:18px;align-items:start;
  padding:17px 14px 17px 12px;border-bottom:1px solid var(--rule-l);cursor:pointer;
  transition:background-color var(--t-fast) var(--ease-out);
}
.ra-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.ra-key{
  width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--ink-3);
  font-family:var(--mono);font-size:.72rem;color:var(--ink-3);
  transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out);
}
.ra-opt-t{font-size:1.03rem;line-height:1.5;color:var(--ink);padding-top:2px}
@media (hover:hover) and (pointer:fine){
  .ra-opt:hover{background:rgba(10,27,46,.035)}
  .ra-opt:hover .ra-key{border-color:var(--ink);color:var(--ink)}
}
.ra-opt input:checked + .ra-key{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.ra-opt:has(input:checked){background:var(--paper-2)}
.ra-opt:has(input:checked)::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:3px;background:var(--navy)}
.ra-opt input:focus-visible + .ra-key{outline:2px solid var(--gold-deep);outline-offset:3px}
.ra-opt:has(input:focus-visible){outline:2px solid var(--gold-deep);outline-offset:-2px}
.ra-opt:has(input:focus-visible) input + .ra-key{outline:0}

/* ── context step ─────────────────────────────────────────── */
.ra-ctx{max-width:880px}
.ra-ctx .ra-hint{margin-bottom:6px}
.ra-ctx-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:22px}
.ra-ctx-grid > [data-q="situation"],.ra-ctx-grid > [data-q="size"],.ra-ctx-grid > [data-q="timeline"]{grid-column:1/-1}
/* the two dropdowns share a row; the radio groups run full width below */
.ra-ctx-grid > [data-q="role"]{order:1}
.ra-ctx-grid > [data-q="sector"]{order:2}
.ra-ctx-grid > [data-q="size"]{order:3}
.ra-ctx-grid > [data-q="situation"]{order:4}
.ra-ctx-grid > [data-q="timeline"]{order:5}
/* a legend normally sits on the fieldset border; float it so the rule shows */
.ra-field > legend.ra-label{float:left;width:100%}
.ra-field > legend.ra-label + *{clear:both}
.ra-field{padding:20px 0 22px;border-top:1px solid var(--rule-l);min-width:0}
.ra-field.is-missing .ra-label{color:#8A2E1F}
.ra-label{display:block;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px;padding:0}
.ra-label span{text-transform:none;letter-spacing:.04em;font-weight:400;margin-left:6px;opacity:.8}
.ra select,.ra input[type="email"],.ra input[type="text"]{
  width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#FBFAF6;
  border:1px solid var(--rule-l);border-bottom-color:var(--ink-3);border-radius:0;
  padding:12px 14px;min-height:48px;
  transition:border-color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out);
}
.ra select{
  appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230A1B2E' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;
}
.ra select:focus,.ra input[type="email"]:focus,.ra input[type="text"]:focus{border-color:var(--ink);background-color:#fff}
.ra input[aria-invalid="true"]{border-color:#8A2E1F}
.ra-chips{display:flex;flex-wrap:wrap;gap:8px}
.ra-chip{position:relative;cursor:pointer}
.ra-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ra-chip span{
  display:block;padding:11px 16px;min-height:44px;border:1px solid var(--rule-l);background:#FBFAF6;
  font-size:.95rem;line-height:1.35;color:var(--ink);
  transition:background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out);
}
@media (hover:hover) and (pointer:fine){.ra-chip:hover span{border-color:var(--ink-3)}}
.ra-chip input:checked + span{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.ra-chip input:focus-visible + span{outline:2px solid var(--gold-deep);outline-offset:2px}
.ra-chips-rows{flex-direction:column}
.ra-chips-rows .ra-chip span{padding:13px 16px}

/* ── results ──────────────────────────────────────────────── */
.ra-res-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 48px;align-items:end;padding-bottom:28px;border-bottom:2px solid var(--ink)}
.ra-res-h{font-family:var(--display);font-weight:400;font-size:clamp(2.5rem,6vw,4.4rem);line-height:.98;letter-spacing:-.022em;margin-top:16px}
.ra-res-h:focus{outline:none}
.ra-summary{margin-top:16px;font-size:1.12rem}
.ra-res-score{text-align:right}
.ra-big{display:block;font-family:var(--display);font-weight:400;font-size:clamp(4.2rem,9vw,6.6rem);line-height:.86;color:var(--gold-deep);margin-top:10px;letter-spacing:-.02em}
.ra .ra-big{color:var(--gold-deep)}
.ra-big small{font-size:.3em;color:var(--ink-3);letter-spacing:.02em;margin-left:4px}
.ra-res-teaser{grid-template-columns:1fr}
.ra-res-teaser p{margin-top:16px;font-size:1.08rem}

.ra-ladder{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rule-l)}
.ra-ladder li{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px 0;border-top:3px solid transparent;margin-top:-1px}
.ra-ladder li + li{padding-left:18px;border-left:1px solid var(--rule-l)}
.ra-l-n{font-family:var(--mono);font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)}
.ra-l-t{font-family:var(--display);font-size:1.25rem;line-height:1.15;color:var(--ink-3)}
.ra-l-r{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--ink-3)}
.ra-ladder li.is-now{border-top-color:var(--navy)}
.ra-ladder li.is-now .ra-l-t{color:var(--ink)}
.ra-ladder li.is-now .ra-l-n{color:var(--ink)}

.ra-note{margin-top:26px;padding-left:20px;border-left:2px solid var(--ink);font-size:1rem;max-width:72ch}
.ra-note + .ra-note{margin-top:16px}

.ra-sec{display:block;margin-bottom:22px}
.ra-profile{margin-top:44px;padding-top:30px;border-top:1px solid var(--rule-l)}
.ra-row{display:grid;grid-template-columns:150px 1fr 64px;gap:18px;align-items:center;margin-bottom:14px}
.ra-lbl{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.ra-lbl i{font-style:normal;display:inline-block;width:30px;color:var(--ink-3)}
.ra-bar{height:28px;background:var(--paper-2);position:relative;overflow:hidden}
.ra-bar i{position:absolute;inset:0 auto 0 0;display:block;background:var(--navy)}
.ra-row.is-low .ra-bar i{background:var(--navy-4)}
.ra-row.is-low .ra-lbl{color:var(--ink)}
.ra-animate .ra-bar i{animation:ra-grow 900ms var(--ease-out) both}
.ra-animate .ra-row:nth-of-type(2) .ra-bar i{animation-delay:60ms}
.ra-animate .ra-row:nth-of-type(3) .ra-bar i{animation-delay:120ms}
.ra-animate .ra-row:nth-of-type(4) .ra-bar i{animation-delay:180ms}
.ra-animate .ra-row:nth-of-type(5) .ra-bar i{animation-delay:240ms}
.ra-animate .ra-row:nth-of-type(6) .ra-bar i{animation-delay:300ms}
.ra-animate .ra-row:nth-of-type(7) .ra-bar i{animation-delay:360ms}
@keyframes ra-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ra-bar i{transform-origin:left center}
.ra-val{font-family:var(--display);font-size:1.8rem;line-height:1;text-align:right;color:var(--ink)}
.ra-stamp-wide{max-width:none}

.ra-diag{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;margin-top:46px;padding-top:30px;border-top:1px solid var(--rule-l)}
.ra-diag h3,.ra-recs h3,.ra-plan h3{font-size:1.55rem;margin-bottom:14px}
.ra-diag p{font-size:1.04rem;line-height:1.65}
.ra-ol{list-style:none;counter-reset:b}
.ra-ol li{counter-increment:b;position:relative;padding:12px 0 12px 34px;border-top:1px solid var(--rule-l);font-size:.99rem;line-height:1.55;color:var(--ink-2)}
.ra-ol li:last-child{border-bottom:1px solid var(--rule-l)}
.ra-ol li::before{content:counter(b);position:absolute;left:0;top:14px;font-family:var(--mono);font-size:.74rem;color:var(--ink-3)}
.ra-ul{list-style:none;margin-top:18px}
.ra-ul li{position:relative;padding-left:22px;margin-bottom:9px;font-size:.98rem;line-height:1.5;color:var(--ink-2)}
.ra-ul li::before{content:"";position:absolute;left:0;top:12px;width:11px;height:1px;background:var(--gold-deep)}

/* the gate */
.ra-gate{
  margin-top:52px;padding:clamp(26px,4vw,44px);background:#FBFAF6;border:1px solid var(--rule-l);border-top:2px solid var(--ink);
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:26px clamp(28px,4vw,56px);
}
.ra-gate-h{font-size:clamp(1.6rem,2.6vw,2.05rem);line-height:1.12;margin-top:14px}
.ra-gate-h:focus{outline:none}
.ra-gate-f .ra-field{border-top:0;padding:0 0 18px}
.ra-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.ra-check{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;margin:4px 0 14px;cursor:pointer;font-size:.93rem;line-height:1.5;color:var(--ink-2)}
.ra-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--navy)}
.ra-gate-f .ra-btn{margin-top:10px;width:100%}
.ra-privacy{font-size:.82rem;line-height:1.55;margin-top:16px;color:var(--ink-3) !important;max-width:none}
.ra-privacy a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}
.ra-skip{grid-column:1/-1;border-top:1px solid var(--rule-l);padding-top:18px;max-width:none}
.ra-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* the full report */
.ra-full{margin-top:52px}
.ra-status{padding:16px 20px;background:var(--paper-2);border-left:2px solid var(--gold-deep);font-size:.98rem;max-width:none}
.ra-status:focus{outline:none}
.ra-recs{margin-top:44px}
.ra-recs .ra-small{margin:0 0 18px;max-width:none}
.ra-rec{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:8px 40px;padding:22px 0;border-top:1px solid var(--rule-l)}
.ra-rec:last-child{border-bottom:1px solid var(--rule-l)}
.ra-rec h4{font-family:var(--display);font-weight:400;font-size:1.35rem;line-height:1.2;margin-top:6px}
.ra-rec p{font-size:1rem;line-height:1.65;max-width:62ch}
.ra-plan{margin-top:56px}
.ra-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule-l)}
.ra-plan-grid > div{padding:22px 24px 4px 0}
.ra-plan-grid > div + div{padding-left:24px;border-left:1px solid var(--rule-l)}
.ra-plan-grid .tag{display:block;margin-bottom:10px}
.ra-plan-grid p{font-size:.97rem;line-height:1.6}
.ra-eng{margin-top:60px;padding-top:30px;border-top:2px solid var(--ink)}
.ra-eng h3{font-size:clamp(2rem,4vw,2.9rem);line-height:1.04;margin:14px 0 18px}
.ra-eng h3 span,.ra-eng-2 h4 span{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-left:10px;white-space:nowrap;vertical-align:middle}
.ra-eng-line{font-family:var(--display);font-size:clamp(1.25rem,2.2vw,1.55rem);line-height:1.35;color:var(--ink) !important;max-width:46ch}
.ra-eng .stamp{margin-top:16px}
.ra-eng-2{margin-top:30px;padding-top:20px;border-top:1px solid var(--rule-l);max-width:70ch}
.ra-eng-2 h4{font-family:var(--display);font-weight:400;font-size:1.35rem;margin:10px 0 8px}
.ra-eng-2 p{font-size:1rem}
.ra-cta{display:flex;flex-wrap:wrap;gap:18px 30px;margin-top:34px}
.ra-actions{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:52px;padding-top:12px;border-top:1px solid var(--rule-l)}

/* ── static sections below the instrument (navy) ──────────── */
.ra-dims{padding:clamp(72px,9vw,120px) 0}
.ra-dims .method-h p{margin-top:20px}
.ra-stages{padding:clamp(64px,8vw,104px) 0;background:var(--navy-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ra-stages-h{grid-column:2/9}
.ra-stages-h h2{color:#fff}
.ra-stages-h p{margin-top:20px;font-size:1rem}
.ra-st{grid-column:1/13;display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border-top:1px solid var(--gold)}
.ra-st > div{padding:26px 24px 6px 0}
.ra-st > div + div{padding-left:24px;border-left:1px solid var(--rule)}
.ra-st .tag{display:block;margin-bottom:12px}
.ra-st h3{font-size:1.45rem;color:#fff;margin-bottom:10px}
.ra-st p{font-size:.95rem;line-height:1.55}
.ra-close .hero-cta{grid-column:auto}

/* ── narrow screens ───────────────────────────────────────── */
@media (max-width:960px){
  .ra-stages-h{grid-column:1/13}
  .ra-st{grid-template-columns:1fr 1fr}
  .ra-st > div:nth-child(3){padding-left:0;border-left:0}
  .ra-st > div:nth-child(n+3){border-top:1px solid var(--rule);margin-top:10px}
}
@media (max-width:820px){
  .ra-intro{grid-template-columns:1fr}
  .ra-intro-f{max-width:360px}
  .ra-gate{grid-template-columns:1fr}
  .ra-diag{grid-template-columns:1fr}
  .ra-plan-grid{grid-template-columns:1fr}
  .ra-plan-grid > div,.ra-plan-grid > div + div{padding:20px 0 6px;border-left:0}
  .ra-plan-grid > div + div{border-top:1px solid var(--rule-l)}
  .ra-rec{grid-template-columns:1fr}
}
@media (max-width:640px){
  /* the site header wraps to ~160px on phones; on a 20-screen flow, let it scroll away */
  body > header{position:relative}
  .ra .w{padding:0 20px}
  .ra-plate{padding:20px 0 28px;background:none}
  .ra-plate-h{margin:0 0 26px}
  .ra-plate-h span:last-child{display:none}
  .ra-dimname{text-align:left}
  .ra-ticks{gap:6px}
  .ra-opt{grid-template-columns:28px 1fr;gap:14px;padding:15px 8px 15px 10px}
  .ra-opt-t{font-size:.99rem}
  .ra-q .ra-nav{
    position:sticky;bottom:0;z-index:3;background:var(--paper);margin:0 -20px;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));
    border-top:1px solid var(--rule-l);gap:10px 22px;
  }
  .ra-q .ra-fs,.ra-ctx-grid{margin-bottom:22px}
  .ra-ctx-grid{grid-template-columns:1fr}
  .ra-field-pair{grid-template-columns:1fr}
  .ra-res-head{grid-template-columns:1fr}
  .ra-res-score{text-align:left}
  .ra-ladder{grid-template-columns:1fr 1fr}
  .ra-ladder li,.ra-ladder li + li{padding:14px 12px 14px 0;border-left:0}
  .ra-ladder li:nth-child(even){padding-left:14px;border-left:1px solid var(--rule-l)}
  .ra-ladder li:nth-child(n+3){border-top:1px solid var(--rule-l)}
  .ra-ladder li.is-now{border-top:3px solid var(--navy)}
  .ra-l-t{font-size:1.08rem}
  .ra-row{grid-template-columns:96px 1fr 44px;gap:12px}
  .ra-lbl{font-size:.66rem;letter-spacing:.06em}
  .ra-lbl i{width:24px}
  .ra-val{font-size:1.45rem}
  .ra-gate{padding:22px 18px;margin-left:-4px;margin-right:-4px}
  .ra-st{grid-template-columns:1fr}
  .ra-st > div,.ra-st > div + div{padding:22px 0 6px;border-left:0}
  .ra-st > div + div{border-top:1px solid var(--rule)}
}

/* ── motion preferences ───────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .ra-enter,.ra-animate .ra-bar i{animation:none}
  .ra-btn:active{transform:none}
}

/* ── print: the report only, on white ─────────────────────── */
@media print{
  @page{size:A4;margin:16mm 15mm}
  html,body{background:#fff !important}
  body{color:var(--ink);font-size:10.5pt}
  body::after,header,footer,.ra-head,.ra-gate,.ra-actions,.ra-cta,.ra-skip,.ra-status,
  body > section:not(.ra){display:none !important}
  .ra{padding:0;background:#fff}
  .ra .w{padding:0;max-width:none}
  .ra-plate{padding:0;background:none}
  .ra-plate-h{margin:0 0 8mm}
  .ra-plate-h span:last-child{display:inline}
  .ra-enter,.ra-animate .ra-bar i{animation:none !important}
  .ra-bar,.ra-bar i,.ra-ladder li.is-now,.ra-big{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .ra-res-head{grid-template-columns:1fr auto}
  .ra-res-h{font-size:30pt}
  .ra-big{font-size:46pt}
  .ra-ladder{grid-template-columns:repeat(4,1fr)}
  .ra-row{grid-template-columns:120px 1fr 48px}
  .ra-diag{grid-template-columns:1fr 1fr}
  .ra-rec{grid-template-columns:1fr 2fr}
  .ra-plan-grid{grid-template-columns:repeat(3,1fr)}
  /* A4 is narrower than the 820px breakpoint, so restore the column gutters */
  .ra-plan-grid > div{padding:14px 14px 4px 0 !important;border-top:0 !important}
  .ra-plan-grid > div + div{padding-left:14px !important;border-left:1px solid var(--rule-l) !important}
  .ra-rec,.ra-plan-grid > div,.ra-diag > div,.ra-eng,.ra-profile{break-inside:avoid;page-break-inside:avoid}
  .ra-full,.ra-eng,.ra-plan,.ra-recs,.ra-profile,.ra-diag{margin-top:9mm}
  .ra-print-only{display:block;margin-top:6mm;font-family:var(--mono);font-size:8.5pt;letter-spacing:.06em;color:var(--ink-2) !important}
}
