/*
Theme Name: Rescue
Theme URI: https://renewsite.com
Author: Bosko Radulovic / Strongweb
Description: Lightweight theme for renewsite.com (Website Rescue). No webfonts, no JS, no framework — the site is the proof of the product.
Version: 0.1.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: Proprietary
Text Domain: rescue
*/

/* ============================================================
   TYPEFACE — IBM Plex, the same family strongweb.net uses.
   Self-hosted, latin subset, woff2 only: 59 KB for the whole
   system. font-display:swap plus metric overrides means text
   paints instantly in the fallback and does not shift when Plex
   lands, so the layout-stability score stays at zero.
   ============================================================ */

@font-face{
  font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/ibm-plex-sans-400.woff2') format('woff2');
  ascent-override:95%;descent-override:25%;
}
@font-face{
  font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/ibm-plex-sans-600.woff2') format('woff2');
  ascent-override:95%;descent-override:25%;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/ibm-plex-mono-400.woff2') format('woff2');
}

/* ============================================================
   DESIGN TOKENS
   Braun/Rams lineage: warm neutral ground, one signal accent.
   Measurement colours (slow/fast) are data, not decoration.
   ============================================================ */

:root {
  --ground:      #FBFAF8;
  --panel:       #F4F2ED;
  --panel-edge:  #E5E2DA;
  --ink:         #1A1B1E;
  --ink-soft:    #43454A;
  --muted:       #75736C;
  --hair:        #EBE8E1;

  --signal:      #D6480F;   /* Braun signal orange, darkened for AA on light */
  --signal-ink:  #A83808;
  --signal-soft: rgba(214, 72, 15, 0.10);

  --slow:        #A33A2A;
  --fast:        #2C6E4A;
  --slow-soft:   rgba(163, 58, 42, 0.10);
  --fast-soft:   rgba(44, 110, 74, 0.12);

  --sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  --measure: 34rem;
  --wide: 68rem;

  --step-0: 1.0625rem;
  --step-1: 1.25rem;
  --step-2: 1.5rem;
  --step-3: 2rem;
  --step-4: clamp(2.4rem, 5.6vw, 3.6rem);

  --sp-1: .5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2.5rem;
  --sp-5: 4rem;
  --sp-6: 6rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --ground:     #141518;
    --panel:      #1C1E21;
    --panel-edge: #2D3035;
    --ink:        #EDEBE5;
    --ink-soft:   #C6C3BB;
    --muted:      #928F88;
    --hair:       #282B2F;
    --signal:     #FF7A3D;
    --signal-ink: #FF8F58;
    --signal-soft: rgba(255, 122, 61, 0.14);
    --slow:       #E08072;
    --fast:       #6FBF92;
    --slow-soft:  rgba(224, 128, 114, 0.14);
    --fast-soft:  rgba(111, 191, 146, 0.16);
  }
}

/* ============================================================
   BASE
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--sans);
  font-size: var(--step-0);
  line-height: 1.6;
  letter-spacing: -0.006em;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { line-height: 1.14; letter-spacing: -0.024em; text-wrap: balance; margin: 0; font-weight: 600; }
h1 { font-size: var(--step-4); line-height: 1.06; letter-spacing: -0.032em; }
h2 { font-size: var(--step-3); }
h3 { font-size: var(--step-2); letter-spacing: -0.016em; }
h4 { font-size: var(--step-1); letter-spacing: -0.012em; }

p, ul, ol { margin: 0; }
a { color: var(--signal-ink); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
strong { font-weight: 700; }
img { max-width: 100%; height: auto; display: block; }
hr { border: 0; border-top: 1px solid var(--hair); margin: var(--sp-5) 0; }

:focus-visible { outline: 2px solid var(--signal); outline-offset: 3px; border-radius: 2px; }

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: var(--sp-2); top: var(--sp-2); z-index: 100; background: var(--ink); color: var(--ground); padding: .6rem 1rem; border-radius: 3px; }

/* ============================================================
   LAYOUT
   ============================================================ */

.wrap { width: min(100% - 2.5rem, var(--wide)); margin-inline: auto; }
.narrow { width: min(100%, var(--measure)); }

.site-main section,
.site-main > .block-flow > * + * { margin-top: 0; }

/* vertical rhythm inside editable content */
.flow > * + * { margin-top: var(--sp-2); }
.flow > * + h2 { margin-top: var(--sp-5); }
.flow > * + h3 { margin-top: var(--sp-4); }
.flow > h2 + * { margin-top: var(--sp-2); }

/* ============================================================
   HEADER / FOOTER
   ============================================================ */

.site-header {
  border-bottom: 1px solid var(--hair);
  background: var(--ground);
}
.site-header .bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-3); padding: var(--sp-2) 0;
  flex-wrap: wrap;
}
/* The lockup: glyph, name, descriptor. Stacked, nothing else in it —
   the Strongweb endorsement lives outside the mark (see .endorse). */
.brand {
  display: flex; flex-direction: column; align-items: flex-start;
  gap: .34rem; line-height: 1; text-decoration: none; color: var(--ink);
}
.brand .glyph { display: block; color: var(--signal); }
.brand .glyph svg { width: 1.9rem; height: 1.9rem; display: block; }
.brand .wordmark {
  font-size: 2.1rem; font-weight: 600; letter-spacing: -.032em; color: var(--ink);
}
.brand .service {
  font-family: var(--mono); font-size: .8rem; letter-spacing: .17em;
  text-transform: uppercase; color: var(--muted);
}

/* Nav and endorsement share the right-hand side; the endorsement is
   deliberately not a nav item and is set apart by a hairline. */
.header-right { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.endorse {
  font-family: var(--mono); font-size: .62rem; letter-spacing: .13em;
  text-transform: uppercase; color: var(--muted); text-decoration: none;
  padding-left: var(--sp-3); border-left: 1px solid var(--hair); white-space: nowrap;
}
.endorse:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 46rem) {
  .endorse { padding-left: 0; border-left: 0; }
}

.nav { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
/* wp_nav_menu still emits <li> without the <ul>; take them out of the layout entirely */
.nav ul, .nav li { list-style: none; margin: 0; padding: 0; display: contents; }
.nav a { color: var(--ink-soft); text-decoration: none; font-size: .95rem; }
.nav a:hover, .nav a:focus { color: var(--ink); text-decoration: underline; }

.site-footer {
  border-top: 1px solid var(--hair);
  margin-top: var(--sp-6);
  padding: var(--sp-4) 0 var(--sp-5);
  color: var(--muted); font-size: .9rem;
}
.site-footer .cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--sp-4); }
@media (max-width: 46rem) { .site-footer .cols { grid-template-columns: 1fr; } }
.site-footer a { color: var(--ink-soft); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer .fh {
  font-family: var(--mono); font-size: .66rem; letter-spacing: .11em;
  text-transform: uppercase; color: var(--muted); margin-bottom: .6rem; display: block;
}
.site-footer ul { list-style: none; padding: 0; display: grid; gap: .35rem; }
.sw-endorse { display: block; color: var(--ink-soft); margin-bottom: .8rem; }
.sw-endorse svg { height: 1.5rem; width: auto; display: block; fill: currentColor; }
.sw-endorse:hover { color: var(--ink); }

/* ============================================================
   COMPONENTS (targeted by block classNames — content stays in WP)
   ============================================================ */

.eyebrow {
  font-family: var(--mono); font-size: .7rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--signal-ink);
}

.lede { font-size: 1.2rem; line-height: 1.55; color: var(--ink-soft); text-wrap: pretty; }

.section { padding-block: var(--sp-5); }
.section + .section { border-top: 1px solid var(--hair); }
.section-tight { padding-block: var(--sp-4); }

/* hero */
.hero { padding-block: var(--sp-5) var(--sp-5); }
.hero h1 { max-width: 20ch; }
.hero .lede { max-width: 46ch; margin-top: var(--sp-2); }

/* buttons */
.btn, .wp-block-button__link {
  display: inline-block; background: var(--signal); color: #fff;
  padding: .82rem 1.5rem; border-radius: 3px; text-decoration: none;
  font-weight: 600; letter-spacing: -0.008em; border: 1px solid var(--signal);
}
.btn:hover, .wp-block-button__link:hover { background: var(--signal-ink); border-color: var(--signal-ink); color: #fff; }
.btn-ghost {
  background: transparent; color: var(--ink); border: 1px solid var(--panel-edge);
}
.btn-ghost:hover { background: var(--panel); color: var(--ink); border-color: var(--muted); }
.btn-row { display: flex; gap: var(--sp-2); flex-wrap: wrap; align-items: center; margin-top: var(--sp-3); }
.btn-note { font-size: .88rem; color: var(--muted); }
.btn-row + .btn-note { margin-top: .9rem; }

/* cards / grids */
.grid { display: grid; gap: var(--sp-2); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 52rem) { .grid-3 { grid-template-columns: 1fr; } .grid-2 { grid-template-columns: 1fr; } }

.card {
  background: var(--panel); border: 1px solid var(--panel-edge);
  border-radius: 4px; padding: var(--sp-3);
}
.card h3 { font-size: var(--step-1); }
.card p { color: var(--ink-soft); margin-top: .5rem; }

/* measurement: before / after */
.gauge { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--sp-2); }
@media (max-width: 40rem) { .gauge { grid-template-columns: 1fr; } .gauge .arrow { transform: rotate(90deg); } }
.gauge .g {
  border-radius: 4px; padding: var(--sp-3); text-align: center; border: 1px solid transparent;
}
.gauge .g .n { font-size: 3rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.gauge .g .l {
  display: block; font-family: var(--mono); font-size: .66rem; letter-spacing: .12em;
  text-transform: uppercase; margin-top: .5rem;
}
.gauge .before { background: var(--slow-soft); color: var(--slow); border-color: var(--slow-soft); }
.gauge .after  { background: var(--fast-soft); color: var(--fast); border-color: var(--fast-soft); }
.gauge .arrow { color: var(--muted); font-size: 1.6rem; text-align: center; }

/* numbered process */
.steps { counter-reset: step; display: grid; gap: 0; }
.steps .step {
  counter-increment: step; display: grid; grid-template-columns: 2.6rem 1fr;
  gap: var(--sp-2); padding: var(--sp-3) 0; border-top: 1px solid var(--hair);
}
.steps .step:last-child { border-bottom: 1px solid var(--hair); }
.steps .step::before {
  content: counter(step, decimal-leading-zero);
  font-family: var(--mono); font-size: .8rem; color: var(--signal-ink); padding-top: .25rem;
}
.steps .step h3 { font-size: var(--step-1); }
.steps .step p { color: var(--ink-soft); margin-top: .35rem; }
.steps .step .meta {
  font-family: var(--mono); font-size: .68rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--muted); margin-top: .5rem;
}

/* pricing */
.price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-2); }
@media (max-width: 56rem) { .price-grid { grid-template-columns: 1fr; } }
.price {
  background: var(--panel); border: 1px solid var(--panel-edge); border-radius: 4px;
  padding: var(--sp-3); display: flex; flex-direction: column; gap: .6rem;
}
.price.featured { border-color: var(--signal); border-width: 2px; }
.price .tag {
  font-family: var(--mono); font-size: .66rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--muted);
}
.price.featured .tag { color: var(--signal-ink); }
.price .amount { font-size: 2.1rem; font-weight: 800; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.price .amount .per { font-size: .9rem; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.price ul { list-style: none; padding: 0; display: grid; gap: .4rem; font-size: .95rem; color: var(--ink-soft); }
.price ul li { padding-left: 1.2rem; position: relative; }
.price ul li::before { content: "—"; position: absolute; left: 0; color: var(--muted); }

/* included / not included */
.ledger { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
@media (max-width: 48rem) { .ledger { grid-template-columns: 1fr; } }
.ledger ul { list-style: none; padding: 0; display: grid; gap: .5rem; }
.ledger li { padding-left: 1.5rem; position: relative; color: var(--ink-soft); }
.ledger .yes li::before { content: "✓"; position: absolute; left: 0; color: var(--fast); font-weight: 700; }
.ledger .no li::before { content: "×"; position: absolute; left: 0; color: var(--slow); font-weight: 700; }

/* callout / guarantee */
.callout {
  background: var(--panel); border: 1px solid var(--panel-edge);
  border-left: 3px solid var(--signal); border-radius: 3px; padding: var(--sp-3);
}
.callout h3 { font-size: var(--step-1); }
.callout p { margin-top: .5rem; color: var(--ink-soft); }
.callout .fine { font-size: .88rem; color: var(--muted); margin-top: .75rem; }

/* faq */
.faq details {
  border-top: 1px solid var(--hair); padding: var(--sp-2) 0;
}
.faq details:last-of-type { border-bottom: 1px solid var(--hair); }
.faq summary { cursor: pointer; font-weight: 650; list-style: none; display: flex; justify-content: space-between; gap: var(--sp-2); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--signal-ink); font-weight: 400; font-size: 1.3rem; line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq details p { margin-top: .6rem; color: var(--ink-soft); max-width: var(--measure); }

/* eligibility */
.fit { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2); }
@media (max-width: 48rem) { .fit { grid-template-columns: 1fr; } }
.fit .col { border-radius: 4px; padding: var(--sp-3); border: 1px solid var(--panel-edge); background: var(--panel); }
.fit .col.good { border-top: 3px solid var(--fast); }
.fit .col.bad { border-top: 3px solid var(--slow); }
.fit ul { list-style: none; padding: 0; display: grid; gap: .45rem; margin-top: .7rem; color: var(--ink-soft); font-size: .96rem; }

/* proof strip */
.proof { display: flex; gap: var(--sp-4); flex-wrap: wrap; }
.proof div { display: grid; gap: .1rem; }
.proof .n { font-size: 1.7rem; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.proof .l { font-family: var(--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }

/* tables */
.tablewrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { text-align: left; padding: .7rem .8rem; border-bottom: 1px solid var(--hair); vertical-align: top; }
thead th {
  font-family: var(--mono); font-size: .66rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--panel-edge);
}

/* page header */
.page-head { padding-block: var(--sp-5) var(--sp-3); border-bottom: 1px solid var(--hair); }
.page-head h1 { max-width: 22ch; }
.page-head .lede { max-width: 50ch; margin-top: var(--sp-2); }

/* final cta */
.cta-final { background: var(--panel); border: 1px solid var(--panel-edge); border-radius: 5px; padding: var(--sp-4); }
.cta-final h2 { max-width: 22ch; }
.cta-final p { color: var(--ink-soft); margin-top: var(--sp-2); max-width: 48ch; }

/* ============================================================
   FORMS — shared field styling
   ============================================================ */

.field { display: grid; gap: .4rem; }
.field-stack { display: grid; gap: var(--sp-2); }
.field label { font-weight: 650; font-size: .96rem; }
.field label .opt { font-weight: 400; color: var(--muted); font-size: .85rem; }
.field-note { font-size: .85rem; color: var(--muted); }
.sr-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

input[type="text"], input[type="email"], input[type="url"], input[type="tel"], textarea, select {
  width: 100%; padding: .75rem .9rem; font: inherit; color: var(--ink);
  background: var(--ground); border: 1px solid var(--panel-edge); border-radius: 3px;
}
input:focus, textarea:focus, select:focus { border-color: var(--signal); }
textarea { resize: vertical; }
.input-lg { font-size: 1.15rem !important; padding: 1rem 1.1rem !important; }

/* ============================================================
   WIZARD
   ============================================================ */

.wizard-wrap { max-width: 42rem; padding-block: var(--sp-5) var(--sp-6); }

.wizard-progress { margin-bottom: var(--sp-4); }
.wizard-progress-meta { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-2); margin-bottom: .6rem; }
.wizard-progress-label { font-size: .85rem; color: var(--muted); }
.wizard-bar { height: 3px; background: var(--hair); border-radius: 2px; overflow: hidden; }
.wizard-bar span { display: block; height: 100%; background: var(--signal); transition: width .25s ease; }
@media (prefers-reduced-motion: reduce) { .wizard-bar span { transition: none; } }

.wizard-q { font-size: clamp(1.6rem, 4.4vw, 2.15rem); max-width: 22ch; }
.wizard-help { color: var(--muted); margin-top: var(--sp-2); max-width: 52ch; }
.wizard-error {
  margin-top: var(--sp-2); padding: .7rem .9rem; border-radius: 3px;
  background: var(--slow-soft); color: var(--slow); border: 1px solid var(--slow-soft);
  font-size: .95rem;
}
.wizard-field { margin-top: var(--sp-3); }

.choices { border: 0; padding: 0; margin: 0; display: grid; gap: .5rem; }
.choice {
  display: flex; align-items: flex-start; gap: .75rem; cursor: pointer;
  padding: .9rem 1rem; background: var(--panel);
  border: 1px solid var(--panel-edge); border-radius: 3px;
}
.choice:hover { border-color: var(--muted); }
.choice input { margin: .2rem 0 0; accent-color: var(--signal); flex: none; }
.choice:has(input:checked) { border-color: var(--signal); background: var(--signal-soft); }
.choice:has(input:focus-visible) { outline: 2px solid var(--signal); outline-offset: 2px; }

.wizard-actions { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-4); }
.wizard-actions .btn { cursor: pointer; font: inherit; font-weight: 650; }
.wizard-foot { margin-top: var(--sp-4); font-size: .85rem; color: var(--muted); }

/* ============================================================
   CHECKOUT
   ============================================================ */

.checkout { padding-block: var(--sp-4) var(--sp-6); }
.back-link { font-size: .9rem; color: var(--muted); text-decoration: none; }
.back-link:hover { color: var(--ink); }

.checkout-grid {
  display: grid; grid-template-columns: 22rem 1fr; gap: var(--sp-5);
  align-items: start; margin-top: var(--sp-3);
}
@media (max-width: 56rem) { .checkout-grid { grid-template-columns: 1fr; gap: var(--sp-4); } }

.order {
  background: var(--panel); border: 1px solid var(--panel-edge);
  border-radius: 4px; padding: var(--sp-3); position: sticky; top: var(--sp-2);
}
@media (max-width: 56rem) { .order { position: static; } }
.order h2 { font-size: var(--step-1); margin-top: .4rem; }
.order-blurb { color: var(--ink-soft); font-size: .94rem; margin-top: .5rem; }
.order-lines { list-style: none; padding: 0; margin: var(--sp-2) 0 0; display: grid; gap: .35rem; font-size: .92rem; color: var(--ink-soft); }
.order-lines li { padding-left: 1.1rem; position: relative; }
.order-lines li::before { content: "—"; position: absolute; left: 0; color: var(--muted); }

.order-total { margin-top: var(--sp-3); padding-top: var(--sp-2); border-top: 1px solid var(--hair); display: grid; gap: .4rem; }
.order-total .row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-2); font-variant-numeric: tabular-nums; }
.order-total .row strong { font-size: 1.5rem; letter-spacing: -0.02em; }
.order-total .row.muted { color: var(--muted); font-size: .9rem; }
.order-vat { font-size: .82rem; color: var(--muted); margin-top: .3rem; }
.order-credit {
  margin-top: var(--sp-2); padding: .8rem .9rem; border-radius: 3px;
  background: var(--fast-soft); color: var(--ink-soft); font-size: .9rem;
}
.order-delivery { margin-top: var(--sp-2); font-size: .9rem; color: var(--ink-soft); display: grid; gap: .15rem; }

.pay h1 { font-size: var(--step-3); }
.demo-notice {
  margin-top: var(--sp-2); padding: var(--sp-2) var(--sp-3);
  border: 1px dashed var(--signal); border-radius: 4px; background: var(--signal-soft);
}
.demo-notice p { margin-top: .4rem; font-size: .92rem; color: var(--ink-soft); }

.pay-form { display: grid; gap: var(--sp-2); margin-top: var(--sp-3); max-width: 30rem; }
.card-mount {
  padding: .85rem .9rem; border: 1px solid var(--panel-edge);
  border-radius: 3px; background: var(--ground); min-height: 3rem;
  display: flex; align-items: center;
}
.card-placeholder { color: var(--muted); font-family: var(--mono); font-size: .9rem; letter-spacing: .02em; }
.consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .92rem; color: var(--ink-soft); }
.consent input { margin-top: .25rem; accent-color: var(--signal); }
.btn-pay { width: 100%; text-align: center; cursor: pointer; font: inherit; font-weight: 700; padding: .95rem 1.4rem; }
.btn-pay:disabled { opacity: .55; cursor: not-allowed; }
.pay-statement { font-size: .85rem; color: var(--muted); text-align: center; }

.assurances { margin-top: var(--sp-5); display: grid; gap: var(--sp-3); max-width: 34rem; }
.assurances h3 { font-size: 1rem; }
.assurances p, .assurances ol { color: var(--ink-soft); font-size: .93rem; margin-top: .4rem; }
.assurances ol { padding-left: 1.1rem; display: grid; gap: .25rem; }
.assurances .fine { font-size: .85rem; color: var(--muted); }

.check-form { display: grid; gap: var(--sp-2); }
.check-form .btn { justify-self: start; cursor: pointer; font: inherit; font-weight: 600; }
.queued .callout p + p { margin-top: .7rem; }

/* outcome pages */
.outcome-note {
  background: var(--panel); border: 1px solid var(--panel-edge);
  border-left: 3px solid var(--signal); border-radius: 3px;
  padding: var(--sp-3); margin-top: var(--sp-3);
}

/* wp core bits */
.wp-block-button { margin: 0; }
.wp-block-buttons { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-3); }
.alignwide { width: min(100% - 2.5rem, var(--wide)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
