/* Group A, the public site: fixes from the UI/UX audit of 17 Oct 2026 (ui-audit-A-public.md).
   Linked from group A pages only. Reads tokens from tokens.css and only adds to site.css. */

/* A17: "Book a Fit Call" in the desktop header, beside the primary action. The full navigation shows from
   1080 px; the header holds the brand, four menus and all three actions on one line from 1200 px. */
.header-actions .hdr-call{display:none}
@media (min-width:1200px){.header-actions .hdr-call{display:inline-flex}}
@media (min-width:1080px){.mega>summary,.header-actions .btn,.hdr-signin{white-space:nowrap}}

/* A40: the theme toggle shows the mode it switches to (rules now in site.css, D121.1) */

/* A17: the two-action band at the end of every inner page */
.end-band-inner{display:grid;gap:var(--s4)}
@media (min-width:720px){.end-band-inner{grid-template-columns:minmax(0,1fr) auto;align-items:end}}
.end-band h2{margin:0 0 var(--s2)}
.end-band p{margin:0;max-width:var(--measure)}
.end-band .row{flex-wrap:wrap}

/* A16: one designed treatment for facts that are set before launch */
.blank{font-family:var(--font-mono);font-size:.875em;font-size:max(var(--fs-12),round(down,.875em,2px));white-space:normal}
.blank-key{font-size:var(--fs-14)}

/* A38: the founding band link may wrap on phones */
@media (max-width:599px){.band a{white-space:normal}}

/* A22: record cards in the three pillars stay one column until there is room for label, value and tag */
@media (min-width:720px) and (max-width:1099px){#pillars .grid-3{grid-template-columns:minmax(0,1fr)}#pillars .pillar .record{max-width:640px}}

/* A23: wide diagrams only where their text stays readable; the tall drawing up to 1100 px */
@media (min-width:720px) and (max-width:1099px){.d-wide{display:none}.d-narrow{display:block}}

/* A24: phones keep the source of every regulation row, as a linked line under the instrument */
@media (max-width:599px){
  table.rows-compact td:nth-child(5){display:block;grid-column:1;font-size:var(--fs-12)}
  table.rows-compact td:nth-child(5)::before{content:"Source: ";display:inline;position:static;width:auto}
  table.hide-cols-phone td.col-proof:last-child{display:block}
}

/* status messages stay out of sight until they have something to say */
.status-msg:empty{display:none}
.status-msg{margin:var(--s3) 0 0}

/* A04, A06: the readiness result, in words */
.pos-list{margin:0;display:grid;gap:var(--s3)}
.pos-list>div{border-top:1px solid var(--line);padding-top:var(--s3)}
.pos-list dt{font-size:var(--fs-14);font-weight:500}
.pos-list dd{margin:2px 0 0}
.pos-rung{font-family:var(--font-serif);font-size:var(--fs-20)}
.pos-answer{display:block;font-size:var(--fs-14)}
.pos-next{display:block;margin-top:4px}
.q-block[aria-invalid="true"] legend{color:var(--refusal-fg)}
/* Friction audit of 18 Oct 2026, item 3: the result's four tools are one quiet row of text links (Hick 1952) */
.result-tools{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}
.link-btn{background:none;border:0;padding:0;font:inherit;font-size:var(--fs-14);color:var(--link);text-decoration:underline;text-underline-offset:.2em;cursor:pointer;min-height:var(--s5)}
.link-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius)}
@media (pointer:coarse){.link-btn{min-height:44px}}
/* Item 2: on phones the questions come first; one reassurance line sits above question 1 (Fogg 2009: ability; goal-gradient) */
.rd-reassure{margin:0}
@media (max-width:899px){#readiness .split>div:last-child{order:-1}}
/* Item 4: a sent form gives way to one focused panel with the message and one next step */
.form-done:focus{outline:none}
.form-done:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.form-done-msg{margin:0}
/* Item 13: Turnstile runs without a tick; one line names it */
.captcha-quiet p{margin:0}
/* Item 6: the way to other times sits under the slots */
.fc-other{margin:0}
/* Item 15: one line routes everyone who is not press, an analyst, an investor or a vendor */
.contact-router{margin:0 0 var(--s5)}
/* Item 12: "Apply to be listed" is secondary, under the listings */
.dir-apply{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-top:var(--s5)}
/* Item 11: a document's action, sign-up or a Fit Call, by the role chosen */
.lib-act{display:grid;justify-items:start;gap:var(--s2)}
.lib-act[hidden]{display:none}
.lib-act .small{margin:0}
#readiness-result:focus{outline:none}
#readiness-result:focus-visible{outline:2px solid var(--focus);outline-offset:4px}

/* A18: the Fit Call */
.slot-zone{font-size:var(--fs-14);margin:0}
.slots button{padding:6px 8px;line-height:1.3}
.slots button .slot-day{display:block;font-weight:500}
.fc-attach{display:flex;gap:var(--s2);align-items:flex-start;font-size:var(--fs-14)}
.fc-attach input{margin-top:4px}
.fc-done h3{margin-top:0}

/* A10, A33: status, with neutral states (a color on a record card always means a record state, never service health) */
.svc{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-14);font-weight:500}
.svc::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor}
.svc-ok::before{background:currentColor}
.svc-degraded::before{border-style:dashed}
.svc-down::before{border-radius:1px;background:currentColor;transform:rotate(45deg)}
.svc-maint::before{border-radius:1px}
.svc-closed::before{border-color:var(--line)}

/* verify page: the result an examiner should expect, pass and fail */
.out{font-family:var(--font-mono);font-size:var(--fs-14);white-space:pre-wrap;word-break:break-all;margin:0;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.out-fail{border-left:3px solid var(--c-refusal)}
.out-pass{border-left:3px solid var(--c-produced)}
.sum-line{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.sum-line .hash{word-break:break-all}

/* 404 */
.nf-links{display:grid;gap:var(--s3);list-style:none;padding:0;margin:0}
@media (min-width:720px){.nf-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nf-links a{font-weight:500}

/* Audit of 18 Oct 2026, finding 9: one style for a value set before launch, written <span class="unset">[name]</span> */
.unset{border:1px dashed var(--line);border-radius:var(--radius);padding:0 var(--s1);font-weight:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* Finding 3: the one public footer from tools/site_footer.py, the brand and then the menu's five groups */
.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-grid>.footer-brand{grid-column:1/-1}
@media (min-width:720px){.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1080px){.footer-grid{grid-template-columns:minmax(0,1.6fr) repeat(5,minmax(0,1fr))}.footer-grid>.footer-brand{grid-column:auto}}
.footer-tag{margin-top:var(--s4)}

/* Finding 12: spacing from the tokens instead of inline pixels */
.mt-3{margin-top:var(--s3)}
.mt-4{margin-top:var(--s4)}
.mt-5{margin-top:var(--s5)}
.mt-6{margin-top:var(--s6)}
.mb-5{margin-bottom:var(--s5)}
.ml-2{margin-left:var(--s2)}
.section.section-tight{padding-top:var(--s5);padding-bottom:var(--s5)}
.section.pb-2{padding-bottom:var(--s2)}
.wrap.wrap-read{max-width:calc(var(--measure) + 2 * var(--s6))}
.diagram .t-small{font-size:var(--fs-12)}

/* Finding 1: each handbook entry says where it opens today */
.hb-w{grid-column:2;font-size:var(--fs-12);margin-top:var(--s1)}

/* Finding 15: a section label that is a real heading keeps the eyebrow's look */
h2.eyebrow{font-family:var(--font-sans);line-height:inherit;text-wrap:wrap}

/* Platform pages review of 18 Oct 2026 (PLATFORM-PAGES-VS-COMPETITORS-2026-10-18.md) */
/* Item 2: the design-commitment line under a Platform page's lead */
.page-head .design-note{margin:var(--s4) 0 0;font-size:var(--fs-14)}
/* Item 3: the proof a reader can check, near the top of How it works and Why the records hold */
.proof-row{margin-top:var(--s4);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:grid;gap:var(--s3);max-width:calc(var(--measure) + 2 * var(--s4))}
.proof-row p{margin:0}
/* Item 3: the verifier command wraps on a phone instead of scrolling sideways; the copy status shows beside the button */
pre.code.cmd-wrap{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:visible}
.copy-status{font-size:var(--fs-14)}
/* Item 1: an example record with its caption */
.record-fig{margin:0}
.record-fig figcaption{font-size:var(--fs-14);margin-top:var(--s3);max-width:var(--measure)}
/* Item 6: the Cloud and VPC boundary figure, two panels in HTML */
.bfig{margin:0}
.bfig-grid{display:grid;gap:var(--s4)}
@media (min-width:720px){.bfig-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bfig-panel{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);background:var(--surface);display:grid;gap:var(--s3);align-content:start}
.bfig-h{margin:0}
.bfig-zone{border-radius:var(--radius);padding:var(--s3) var(--s4)}
.bfig-zone ul{margin:0;padding-left:var(--s4);font-size:var(--fs-14)}
.bfig-zone li+li{margin-top:var(--s1)}
.bfig-us{border:1px solid var(--line);background:var(--tint)}
.bfig-you{border:1px dashed var(--line)}
.bfig-k{font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin:0 0 var(--s2)}
.bfig-flow{margin:0;padding-left:var(--s4);font-family:var(--font-mono);font-size:var(--fs-14)}
.bfig-keys{margin:0;font-size:var(--fs-14)}
.bfig figcaption{font-size:var(--fs-14);margin-top:var(--s3);max-width:var(--measure)}

@media print{
  .site-header,.site-footer,.cta-bar,.end-band,.band,#fit-call,.result-tools,.proto,form[aria-label="Readiness check"]{display:none!important}
  #readiness-result{border:0}
}
/* D124: the home example card says who Nebula Mutual is before it shows its records */
.case-intro{margin:0 0 var(--s3);padding:0 0 var(--s3);border-bottom:1px solid var(--line)}
.case-intro-h{margin:0 0 var(--s1);font-weight:500}
.case-intro .small{margin:0}
