:root {
  --paper: #f3efe6;
  --paper-2: #e6dfd1;
  --ink: #1c1915;
  --muted: #5c564c;
  --line: #d5ccbc;
  --forest: #1e4d3a;
  --brass: #8a4b22;
  --blood: #8e2f2a;
  --info: #315066;
  --shadow: 0 18px 50px rgba(48, 36, 18, 0.08);
  --top-h: 5.5rem;
  color: var(--ink);
  background: var(--paper);
  font-family: Outfit, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.5;
}

* { box-sizing: border-box; }
body { margin: 0; }
.result[data-pending="true"] > :not(.pending-audit) { opacity: 0.45; }
.pending-audit { margin: 0 0 0.8rem; padding: 0.7rem 0.85rem; background: var(--paper); border-left: 4px solid var(--brass); font-weight: 600; }
.spf-steps pre { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, .mark, .score-number { font-family: Fraunces, Georgia, serif; font-weight: 560; letter-spacing: -0.03em; }
h1 { font-size: clamp(3rem, 7vw, 5.4rem); line-height: 0.95; margin: 0 0 1rem; }
h2 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; margin: 0 0 1.25rem; }
h3 { margin: 0 0 0.4rem; font-size: 1.4rem; }

.skip {
  position: absolute;
  left: 1rem;
  top: -3rem;
  background: var(--ink);
  color: var(--paper);
  padding: 0.4rem 0.7rem;
}
.skip:focus { top: 0.5rem; }

.hero, .method, .pricing, .tool, footer, .result { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; }
.top { position: sticky; top: 0; z-index: 2; background: var(--paper); border-bottom: 1px solid var(--line); }
.top-inner { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; display: flex; justify-content: flex-start; align-items: center; min-height: 5.5rem; padding: 0.85rem 0; gap: 1rem; box-sizing: border-box; }
.mark { text-decoration: none; font-size: 1.35rem; white-space: nowrap; }
nav { display: flex; flex-wrap: wrap; gap: 0.7rem 1.2rem; margin-left: 1rem; }
.hero, .method, .pricing, .tool, #result, #audit { scroll-margin-top: var(--top-h); }
nav a, .result-nav a { display: inline-flex; align-items: center; min-height: 2.75rem; text-decoration: none; }
nav a { color: var(--muted); }
nav a:hover, .result-nav a:hover { color: var(--ink); }

.hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 0.85fr); gap: 1.5rem; align-items: start; padding: 1rem 0 3rem; }
body:has(#result:not([hidden])) .hero-copy { display: none; }
body:has(#result:not([hidden])) .hero { grid-template-columns: minmax(0, 1fr); padding-bottom: 1.25rem; }
body:has(#result:not([hidden])) .mobile-lead { display: block; }
.hero .desk { max-width: none; }
.eyebrow { text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.78rem; color: var(--brass); margin: 0 0 0.8rem; }
.lede { font-size: 1.15rem; color: var(--muted); max-width: 38rem; }

.desk, .result, .plan { background: white; border: 1px solid var(--line); box-shadow: var(--shadow); }
.desk { padding: 1.1rem; }
.desk label, .check span, .finding small { display: block; }
.row { display: flex; flex-direction: row; align-items: center; gap: 0.5rem; margin: 0.45rem 0 0.8rem; }
.row > input { width: auto; flex: 1 1 12rem; min-width: 0; }
.row-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.audit-chip { display: inline-flex; align-items: center; min-height: 2.75rem; margin: 0 0 0 auto; color: var(--muted); font-size: 0.92rem; text-decoration: none; min-width: 0; max-width: 16rem; }
.audit-chip-domain { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.audit-chip-score { flex: 0 0 auto; white-space: nowrap; }
.mobile-lead { display: none; margin: 0 0 0.8rem; color: var(--muted); }
.sample { margin-top: 1.5rem; max-width: 28rem; padding: 0.85rem 1rem; border: 1px dashed var(--line); }
.sample .grade { margin: 0 0 0.35rem; }
.sample p:last-child { margin: 0; color: var(--muted); }
.checked-at, .stage-caption, .meter-note { margin: 0.2rem 0 0.7rem; }
.primary-move { margin: 0.15rem 0 0.45rem; font-weight: 600; }
.read-first { margin: 0.35rem 0 0.55rem; font-weight: 600; }
.host-banner { margin: 0 0 0.8rem; padding: 0.75rem 0.85rem; background: var(--paper); border-left: 4px solid var(--brass); }
.status-fail { margin: 0.35rem 0 0.7rem; padding: 0.65rem 0.8rem; background: #fbf6f4; border-left: 4px solid var(--blood); }
.host-banner p { margin: 0 0 0.45rem; }
.host-banner p:last-child { margin-bottom: 0; }
.saved-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem 0.8rem; }
.saved-banner p { flex: 1 1 14rem; margin: 0; }
.follow-up .primary-move { flex: 1 1 100%; }
.delta { background: var(--paper); padding: 0.85rem 1rem; margin: 0 0 1rem; }
.delta h3 { margin-top: 0; }
.recent-count { margin-left: 0.45rem; color: var(--muted); }
.finding-code { margin: 0.35rem 0 0; }
.finding-code summary { font-size: 0.78rem; }
.finding a { color: var(--forest); }
.audit-chip:hover { color: var(--ink); }
.check-optional, .finding-optional, .spf-steps, .probed { margin: 0.4rem 0 1rem; }
.delta { margin: 0.2rem 0 1rem; }
input, button { font: inherit; }
input { width: 100%; border: 1px solid var(--line); background: white; color: var(--ink); padding: 0.75rem 0.8rem; }
input::placeholder, textarea::placeholder { color: var(--muted); font-style: italic; opacity: 1; }
input:focus, button:focus, summary:focus, .plan-link:focus { outline: 2px solid var(--forest); outline-offset: 2px; }
button { border: 0; background: var(--ink); color: var(--paper); padding: 0.75rem 1rem; cursor: pointer; white-space: nowrap; }
button.secondary { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
button.quiet { color: var(--forest); box-shadow: none; }
.recent { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; margin: 0.2rem 0 0; }
.recent-item { display: inline-flex; align-items: center; gap: 0.1rem; max-width: 100%; flex-wrap: nowrap; }
.recent-item > button:not(.recent-remove) { flex: 1 1 auto; min-width: 0; }
.recent button.recent-remove { flex: 0 0 auto; box-shadow: none; color: var(--muted); padding-inline: 0.45rem; }
.saved-note { margin: 0.15rem 0 0.7rem; }
.chip-delta { color: var(--muted); font-size: 0.82rem; }
.recent .hint { flex-basis: 100%; margin: 0; }
.recent button { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); padding: 0.35rem 0.7rem; font-size: 0.92rem; min-height: 2.75rem; max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: left; }
.follow-selector { margin-top: 0.8rem; }
.score-help { margin: 0.4rem 0 0.8rem; }
button:disabled { cursor: wait; opacity: 0.7; }
details { color: var(--muted); margin: 0 0 1.2rem; }
summary { cursor: pointer; margin-bottom: 0.5rem; padding-block: 0.55rem; }
.form-error { color: var(--blood); margin: 0.8rem 0 0; scroll-margin-top: calc(var(--top-h) + 0.75rem); }
textarea { width: 100%; min-height: 9rem; border: 1px solid var(--line); background: var(--paper); color: var(--ink); padding: 0.75rem 0.8rem; font: inherit; margin: 0.45rem 0 0.8rem; }
textarea.xml { font-family: ui-monospace, "Cascadia Code", monospace; font-size: 0.86rem; }
label.inline { display: flex; align-items: center; gap: 0.5rem; margin: 0.2rem 0 0.8rem; }
label.inline input { width: auto; }
label.inline input[type="checkbox"] { width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--forest); }
.tool { padding: 0 0 2rem; }
.tool .result { width: auto; margin-top: 1rem; }

.result { padding: 1.3rem; margin-bottom: 3rem; }
.result-head { display: grid; grid-template-columns: auto 1fr; gap: 1.3rem; align-items: start; min-width: 0; }
.result-head > :last-child { min-width: 0; }
.ring { --p: 0; --accent: var(--forest); width: 9rem; height: 9rem; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--accent) calc(var(--p) * 1%), var(--paper-2) 0); }
.ring[data-grade="exposed"], .ring[data-grade="weak"] { --accent: var(--blood); }
.ring[data-grade="partial"] { --accent: var(--brass); }
.ring[data-grade="good"], .ring[data-grade="strong"] { --accent: var(--forest); }
.ring span { width: 6.7rem; height: 6.7rem; border-radius: 50%; background: white; display: grid; place-items: center; align-content: center; }
.score-number { font-size: 2.3rem; line-height: 1; }
.score-of { display: block; margin-top: 0.15rem; font-family: Outfit, "Segoe UI", sans-serif; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); font-weight: 500; white-space: nowrap; text-align: center; }
.grade { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.78rem; color: var(--muted); margin: 0; }
.subs { display: flex; gap: 1.5rem; color: var(--muted); margin: 0.4rem 0 0; }
.meters { display: grid; gap: 0.45rem; margin: 0.7rem 0 0.2rem; }
.meter-label { margin: 0; color: var(--muted); font-size: 0.92rem; }
.score-detail { margin: 0.2rem 0 0.8rem; }
.follow-up { display: flex; flex-wrap: wrap; gap: 0.45rem 0.55rem; align-items: center; margin: 0.2rem 0 0.9rem; padding: 0.75rem 0.85rem; background: var(--paper); border-left: 4px solid var(--brass); }
.follow-label { flex-basis: 100%; margin: 0; font-weight: 600; }
.follow-up p { margin: 0; }
.attention { margin: 0.35rem 0 0.55rem; font-weight: 600; }
.attention a { color: var(--forest); }
.result-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0.2rem 0 0.7rem; }
.result-actions button { width: auto; }
.suggest-keep { margin: 0; }
.meter { height: 0.45rem; background: var(--paper-2); }
.meter span { display: block; height: 100%; width: var(--fill, 0%); background: var(--forest); }
.meter.maturity span { background: var(--brass); }
.next-aside { margin-top: 0.9rem; color: var(--muted); }
.next-aside p { margin: 0.35rem 0; }
.recent button[data-grade="exposed"], .recent button[data-grade="weak"] { box-shadow: inset 0 0 0 1px var(--blood); }
.recent button[data-grade="partial"] { box-shadow: inset 0 0 0 1px var(--brass); }
.recent button[data-grade="good"], .recent button[data-grade="strong"] { box-shadow: inset 0 0 0 1px var(--forest); }
.summary { font-size: 1.2rem; margin: 0.3rem 0 0; }
.decision { margin: 0.45rem 0 0.7rem; font-size: 1.05rem; }
.stages { display: flex; flex-wrap: wrap; gap: 0.45rem; list-style: none; margin: 0 0 0.8rem; padding: 0; counter-reset: step; }
.stage { border: 1px solid var(--line); color: var(--muted); font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.2rem 0.55rem; }
.stage::before { counter-increment: step; content: counter(step) ". "; }
.stage[data-state="done"] { color: var(--forest); border-color: var(--forest); }
.stage[data-state="current"] { color: var(--brass); border-color: var(--brass); background: #f6efe4; font-weight: 600; }
.stage[data-state="waiting"] { border-style: dashed; }
.result-nav { display: flex; flex-wrap: wrap; gap: 0.8rem 1.1rem; margin: 0 -1.3rem 1rem; position: sticky; top: var(--top-h); z-index: 1; background: white; padding: 0.55rem 1.3rem; border-bottom: 1px solid var(--line); }
.score-delta { margin: 0.15rem 0 0; color: var(--forest); font-weight: 600; }
.gloss { margin: 0.2rem 0 0.8rem; }
a.next-cta { display: inline-block; margin: 0.45rem 0; background: var(--ink); color: var(--paper); text-decoration: none; padding: 0.55rem 0.85rem; }
.follow-up a.next-cta { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); }
a.next-cta:focus { outline: 2px solid var(--forest); outline-offset: 2px; }
.term-list button { display: block; margin-top: 0.35rem; font-family: Outfit, "Segoe UI", sans-serif; }
.result-nav a { color: var(--forest); text-decoration: none; }
.account-steps { list-style: none; margin: 1.1rem 0 1.2rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.55rem; counter-reset: account; color: var(--muted); }
.account-steps li { margin: 0; padding: 0.65rem 0.75rem; border: 1px solid var(--line); background: white; }
.account-steps li::before { counter-increment: account; content: counter(account); display: block; margin-bottom: 0.25rem; font-family: Fraunces, Georgia, serif; color: var(--brass); font-size: 1.15rem; }
.account-steps li[data-state="done"] { color: var(--forest); border-color: var(--forest); }
.account-steps li[data-state="current"] { color: var(--ink); border-color: var(--brass); box-shadow: inset 3px 0 0 var(--brass); }
.account-steps li[data-state="waiting"] { border-style: dashed; }
h2, h3, .tighten, .suggest, .next, .finding, .check, .result-nav, #result-verdict, #result-checks, #result-next, #result-record, #result-findings, #result-lookups { scroll-margin-top: calc(var(--top-h) + 3.25rem); }

.checks, .finding-list, .plans, .grid { display: grid; gap: 0.8rem; }
.checks { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 1.3rem 0; min-width: 0; }
.check, .finding, .plan, .grid article { border: 1px solid var(--line); padding: 0.8rem; }
.result, .account-home { overflow-wrap: anywhere; }
.check, .finding, .finding-list { min-width: 0; }
.check strong, .finding strong { font-weight: 600; }
.check[data-status="pass"] { border-color: var(--forest); }
.check[data-status="warn"] { border-color: var(--brass); }
.check[data-status="fail"] { border-color: var(--blood); }
.status { font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.finding .status, .finding strong { display: block; }
.finding strong { margin-top: 0.25rem; }

.tighten { background: var(--paper); padding: 1rem; margin: 0.5rem 0 1rem; }
.tighten h3 { margin-top: 0; }
.ready { color: var(--forest); }
.blocked { color: var(--blood); }
.pending { color: var(--brass); }
.finding[data-severity="critical"], .finding[data-severity="high"] { background: #fbf6f4; }
.finding small { color: var(--muted); margin-top: 0.35rem; }
.raw, .limits { margin-top: 1rem; }
.raw pre, .limits li { white-space: pre-wrap; word-break: break-word; font-family: ui-monospace, "Cascadia Code", monospace; font-size: 0.86rem; }
.limits { color: var(--muted); padding-left: 1.1rem; }

.domain-list { list-style: none; margin: 1rem 0; padding: 0; }
.domain-card { margin: 0 0 0.8rem; padding: 0.9rem 1rem; border: 1px solid var(--line); background: var(--paper); }
.domain-name { margin: 0 0 0.15rem; font-weight: 600; }
.domain-mail { margin: 0 0 0.7rem; font-family: ui-monospace, "Cascadia Code", monospace; font-size: 0.82rem; overflow-wrap: anywhere; word-break: normal; color: var(--muted); user-select: all; }
.mail-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.75rem; margin: 0 0 0.7rem; }
.mail-row .domain-mail { margin: 0; flex: 1 1 12rem; min-width: 0; }
.domain-card input[type="text"] { margin: 0.45rem 0 0.6rem; }
.domain-card { overflow-wrap: anywhere; scroll-margin-top: calc(var(--top-h) + 0.75rem); }
.domain-card[data-delegation="txt"], .domain-card[data-delegation="missing"], .domain-card[data-delegation="elsewhere"], .domain-card[data-delegation="unavailable"] { border-color: var(--brass); box-shadow: inset 3px 0 0 var(--brass); }
#account-pending .pending-dns { display: block; }
#account-pending a { color: var(--forest); font-weight: 600; }
.domain-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: center; }
.domain-actions button { width: auto; }
.domain-publish { margin: 0.85rem 0 0; padding: 0.15rem 0.9rem 0.85rem; border: 1px solid var(--line); }
.domain-publish legend { padding: 0 0.35rem; font-weight: 600; }
.domain-publish button { width: auto; margin-top: 0.2rem; }
.sender-slot { margin-top: 0.85rem; }
.dns-fold { margin: 0.7rem 0 0; }
.dns-fold > summary { color: var(--ink); font-weight: 600; }
.domain-actions .domain-remove { margin: 0; }
.domain-review { margin-top: 0.8rem; scroll-margin-top: calc(var(--top-h) + 0.75rem); }
.tool .account-home { width: auto; margin: 0; }
.account-billing { display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: center; margin: 1rem 0 1.2rem; }
.account-billing .pay-status, .account-billing .form-error { flex-basis: 100%; }
.tool-block { margin: 0 0 2rem; }
.tool-block h3 { margin-top: 0; }
.account-home .result { width: auto; margin: 1rem 0 0; }
.account-status { font-size: 1.2rem; margin: 0.2rem 0 0.8rem; }
.account-status.active, .account-status.ending { color: var(--forest); }
.account-status.ended, .account-status.unpaid, .account-status.unknown { color: var(--brass); }
.pay-status { font-weight: 600; margin: 0.8rem 0 0; }
.pay-status.active, .pay-status.ending, .pay-status.internal { color: var(--forest); }
.pay-status.ended, .pay-status.unpaid, .pay-status.unknown { color: var(--brass); }
.domain-remove { margin-top: 0.4rem; }
.dns-block { margin: 1rem 0; padding: 0.2rem 0 0.2rem 0.9rem; }
.dns-block.publish { border-left: 4px solid var(--brass); }
.dns-block.service { border-left: 4px solid var(--forest); }
.dns-block h4 { margin: 0 0 0.3rem; }
.dns-label { margin: 0.7rem 0 0; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.dns-block pre { white-space: pre-wrap; word-break: break-all; background: var(--paper); border: 1px solid var(--line); padding: 0.7rem; margin: 0.35rem 0; }
.dns-block button { margin-top: 0.2rem; }

.method, .pricing { padding: 1rem 0 3rem; }
.grid { grid-template-columns: repeat(4, 1fr); }
.grid article, .plan { background: transparent; box-shadow: none; }
.plans { grid-template-columns: repeat(2, 1fr); align-items: stretch; }
.plan-link { display: inline-block; margin: 0.8rem 0 1rem; align-self: flex-start; background: var(--ink); color: var(--paper); text-decoration: none; padding: 0.75rem 1rem; }
.verdict { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.2rem 0 0.8rem; }
.verdict strong { font-weight: 600; padding: 0.15rem 0.55rem; border: 1px solid currentColor; }
.finding-id { color: var(--muted); letter-spacing: 0.06em; font-size: 0.75rem; }
li .finding-id { display: block; margin-top: 0.2rem; }
.term-list, .sender-table { margin: 0.4rem 0 0; }
.term-list { list-style: none; padding: 0; }
.term-list li, .sender-table td { font-family: ui-monospace, "Cascadia Code", monospace; font-size: 0.86rem; word-break: break-word; }
.sender-table { width: 100%; border-collapse: collapse; }
.sender-table th, .sender-table td { text-align: left; border-bottom: 1px solid var(--line); padding: 0.45rem 0.5rem; vertical-align: top; }
.sender-table th { font-family: Outfit, "Segoe UI", sans-serif; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.sender-table tr.sender-attention { background: #fbf6f4; }
.sender-table tr.sender-attention td:first-child { box-shadow: inset 3px 0 0 var(--blood); }
.sender-table .named-none { color: var(--brass); font-weight: 600; }
.sender-table .change-new { color: var(--blood); font-weight: 600; }
.next ol { margin: 0.2rem 0 0; padding-left: 1.2rem; }
.next a { color: var(--forest); }
.next a.next-cta { background: var(--ink); color: var(--paper); }
.plan.current { display: flex; flex-direction: column; height: 100%; background: white; box-shadow: var(--shadow); }
.plan-fold { margin: 0.4rem 0 0; }
.plan-fold summary { margin-bottom: 0.35rem; }
.plan.featured { border: 2px solid var(--forest); }
.plan-equiv { margin: 0 0 0.8rem; color: var(--muted); }
.plan-aside { margin: 0.4rem 0 0; color: var(--brass); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.78rem; }
.plan-limits { color: var(--muted); font-size: 0.92rem; margin: 0.35rem 0 1rem; padding-left: 1.2rem; }
.plan-limits li { margin: 0.35rem 0; }
.tool-block > details > summary { font-family: Fraunces, Georgia, serif; font-size: 1.4rem; cursor: pointer; margin: 0 0 0.8rem; }
.plan-name { margin: 0; color: var(--brass); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.78rem; }
.plan-price { font-family: Fraunces, Georgia, serif; font-size: 2.2rem; margin: 0.2rem 0 0.2rem; }
.plan-unit { margin: 0 0 0.2rem; color: var(--muted); }
.pay-steps { margin-top: 1.5rem; }
.pay-steps ol { padding-left: 1.2rem; }
.pay-steps li { margin: 0.45rem 0; }
.note, footer p, .noscript, .hint { color: var(--muted); }
#login-note:not([hidden]) { color: var(--forest); font-weight: 600; }
.suggest { margin: 1.2rem 0; padding: 1rem 1.1rem; border: 1px solid var(--line); background: var(--paper); }
.suggest p { margin: 0.35rem 0; }
.suggest pre { white-space: pre-wrap; word-break: break-all; background: white; border: 1px solid var(--line); padding: 0.8rem; margin: 0.6rem 0 0; }
.suggest pre.record-scroll { word-break: normal; overflow-x: auto; white-space: pre; }
.dns-name, .suggest pre.dns-name { overflow-wrap: normal; word-break: normal; white-space: nowrap; max-width: 100%; overflow-x: auto; }
span.dns-name { display: inline-block; vertical-align: bottom; }
footer { padding-bottom: 2rem; }
footer a, #account-support a { color: var(--forest); font-weight: 600; }
#account:focus { outline: none; }
body:has(#result:not([hidden])) #audit details { margin-bottom: 0.35rem; }

@media (max-width: 1100px) {
  .grid { grid-template-columns: repeat(2, 1fr); }
  .account-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .hero, .grid, .plans { grid-template-columns: 1fr; }
  .result-head { grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 0.85rem; }
  .ring { width: 6.9rem; height: 6.9rem; }
  .ring span { width: 5.5rem; height: 5.5rem; }
  .score-number { font-size: 1.85rem; }
  .score-of { letter-spacing: 0.03em; font-size: 0.62rem; }
  .hero { padding-top: 0.4rem; }
  .hero .desk { order: -1; }
  .top-inner > nav { flex: 1 1 100%; margin-left: 0; }
  body:has(#result:not([hidden])) .hero-copy { display: none; }
  .result-nav { flex-wrap: nowrap; overflow-x: auto; gap: 0.35rem 0.9rem; }
  .result-nav a { flex: 0 0 auto; }
  .account-steps li { padding: 0.5rem 0.6rem; }
  body:has(#result:not([hidden])) .mobile-lead { display: none; }
  body:has(#result:not([hidden])) .row { flex-direction: row; align-items: center; }
  body:has(#result:not([hidden])) .row > input { width: auto; flex: 1 1 auto; }
  body:has(#result:not([hidden])) #audit .row-actions { flex: 0 0 auto; }
  body:has(#result:not([hidden])) #audit .row-actions button { width: auto; }
  body:has(#result:not([hidden])) #audit summary { padding-block: 0.15rem; margin-bottom: 0; }
  .audit-chip { order: 2; flex: 0 1 auto; margin-left: auto; max-width: 58%; justify-content: flex-end; }
  .mark { order: 1; }
  .top-inner > nav { order: 3; }
  .mobile-lead { display: block; }
  h1 { font-size: clamp(2.15rem, 10vw, 3.1rem); }
  .row { flex-direction: column; align-items: stretch; }
  .row > input { width: 100%; flex: 1 1 auto; }
  button, .plan-link, a.next-cta { width: 100%; text-align: center; }
  .follow-up a.next-cta { width: auto; max-width: 100%; }
  button.quiet, .recent button, .term-list button, .suggest .row-actions button, .dns-block button, .saved-banner button { width: auto; text-align: left; }
  .result-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .result-actions button, .domain-actions button, .domain-publish button { width: 100%; text-align: center; white-space: normal; }
  .result-actions button:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .domain-actions { flex-direction: column; align-items: stretch; }
  .top-inner { align-items: center; flex-wrap: wrap; padding: 0.55rem 0; gap: 0.2rem 0.75rem; }
  .audit-chip { font-size: 0.8rem; line-height: 1.2; }
  .sender-table { display: block; overflow-x: auto; }
}
@media print {
  .top, .skip, #account, #tools, footer, .hero form { display: none; }
  .result, .desk, .plan { box-shadow: none; }
  button { display: none; }
  details > *:not(summary) { display: block !important; }
}
@media (max-width: 520px) {
  :root { --top-h: 7.2rem; }
  #result-verdict, #result-checks, #result-next, #result-record, #result-findings, #result-lookups, .next, .finding, .suggest, .tighten, .check { scroll-margin-top: calc(var(--top-h) + 8.25rem); }
  .result-head { grid-template-columns: minmax(0, 1fr); }
  .result-head { justify-items: center; }
  .result-head > :last-child { width: 100%; }
  .saved-banner { flex-direction: column; align-items: stretch; }
  .saved-banner p { flex: 0 1 auto; }
  .saved-banner button { width: 100%; text-align: center; }
  .account-steps { gap: 0.35rem; }
  .account-steps li { padding: 0.4rem 0.5rem; font-size: 0.92rem; }
  .result-actions { grid-template-columns: 1fr; }
  .result-actions button:last-child:nth-child(odd) { grid-column: auto; }
  .result-nav { flex-wrap: wrap; overflow-x: visible; }
  .top-inner > nav { display: grid; grid-template-columns: repeat(3, max-content); column-gap: 0.85rem; row-gap: 0.35rem; }
  body:has(#result:not([hidden])) #audit .row { flex-direction: column; align-items: stretch; }
  body:has(#result:not([hidden])) #audit .row > input { width: 100%; flex: 1 1 auto; }
  body:has(#result:not([hidden])) #audit .row-actions { flex: 1 1 auto; width: 100%; }
  body:has(#result:not([hidden])) #audit .row-actions button { width: 100%; }
  .sender-table { display: block; overflow: visible; }
  .sender-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .sender-table tr, .sender-table td { display: block; width: auto; }
  .sender-table tr { border-bottom: 1px solid var(--line); padding: 0.35rem 0; }
  .sender-table td { border-bottom: 0; padding: 0.15rem 0.5rem 0.15rem 0.85rem; }
  .sender-table td[data-label]::before { content: attr(data-label); display: block; font-family: Outfit, "Segoe UI", sans-serif; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
}
