/*
Theme Name: SightWalk (child of Twenty Twenty-Five)
Template: twentytwentyfive
Description: Marketing site theme for SightWalk: design tokens, header/footer, block patterns. System fonts only (no third-party font requests).
Version: 0.2.0
Requires at least: 6.6
Requires PHP: 8.3
License: Proprietary
Text Domain: assess-child
*/

/* ---------- tokens ---------- */
:root {
  --sw-ink: var(--wp--preset--color--ink); --sw-ink-2: var(--wp--preset--color--ink-2);
  --sw-flare: var(--wp--preset--color--flare); --sw-flare-dark: var(--wp--preset--color--flare-dark);
  --sw-flare-soft: var(--wp--preset--color--flare-soft); --sw-surface: var(--wp--preset--color--surface);
  --sw-line: var(--wp--preset--color--line); --sw-muted: var(--wp--preset--color--muted);
  --sw-gutter: clamp(16px, 4vw, 32px); --sw-wide: 72rem; --sw-measure: 44rem;
  --sw-band: clamp(3.5rem, 7vw, 6rem); --sw-radius: 14px;
  --sw-shadow: 0 1px 2px rgba(11,31,51,.06), 0 8px 24px rgba(11,31,51,.06);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }

/* No stray gaps between header, main and footer, or between bands. */
.wp-site-blocks > * { margin-block-start: 0 !important; }
.assess-main > *, .assess-content > * { margin-block-start: 0; }
.assess-content > .assess-band + .assess-band { margin-block-start: 0; }

/* ---------- skip link and focus ---------- */
.skip-link.screen-reader-text:focus {
  background: var(--sw-ink); color: #fff; clip: auto; clip-path: none; height: auto; width: auto; margin: 0;
  padding: .9rem 1.2rem; top: .5rem; left: .5rem; z-index: 100000; font-weight: 700; text-decoration: none;
  border-radius: 8px; outline: 3px solid var(--sw-flare); outline-offset: 2px;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--wp--preset--color--link); outline-offset: 2px; border-radius: 4px; }
:where(.assess-band--hero, .assess-band--cta, .assess-site-footer) :where(a, button, summary):focus-visible { outline-color: var(--sw-flare); }

/* ---------- header ---------- */
.assess-header-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .assess-header-part { top: 32px; }
.assess-site-header { position: relative; isolation: isolate; border-bottom: 1px solid var(--sw-line); }
/* the blur sits on a pseudo-element: backdrop-filter on the header itself would trap the fixed mobile menu inside it */
.assess-site-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); }
.assess-site-header .assess-header-row { max-width: var(--sw-wide); margin-inline: auto; padding: .7rem var(--sw-gutter); gap: 1rem 1.5rem; }
.assess-brand { margin: 0; font-weight: 800; font-size: 1.3rem; letter-spacing: -.02em; }
.assess-brand a { display: inline-flex; align-items: center; gap: .55rem; color: var(--sw-ink); text-decoration: none; }
.assess-brand svg { width: 30px; height: 30px; flex: none; }
.assess-site-header .wp-block-navigation { gap: .25rem 1.4rem; font-size: .975rem; font-weight: 550; }
.assess-site-header .wp-block-navigation a { color: var(--sw-ink); text-decoration: none; padding: .35rem 0; border-bottom: 2px solid transparent; }
.assess-site-header .wp-block-navigation a:hover, .assess-site-header .wp-block-navigation .current-menu-item > a { border-bottom-color: var(--sw-flare); }
.assess-site-header .wp-block-buttons { gap: .5rem; }
.assess-site-header .wp-block-button__link { padding: .55rem 1.1rem; font-size: .95rem; min-height: 40px; }
.assess-site-header .is-style-outline .wp-block-button__link { border: 1.5px solid var(--sw-line); color: var(--sw-ink); background: transparent; }
.assess-site-header .is-style-outline .wp-block-button__link:hover { border-color: var(--sw-ink); background: transparent; color: var(--sw-ink); }
@media (max-width: 781px) { .assess-site-header .wp-block-buttons .is-style-outline { display: none; } }
/* mobile menu: toggle on the right, full-screen white overlay with large links */
@media (max-width: 1023px) {
  .assess-site-header .wp-block-buttons { margin-left: auto; }
  .assess-site-header .assess-nav-primary { order: 3; }
}
/* WordPress switches to the overlay below 600px; the six-item menu needs it up to 1023px */
@media (min-width: 600px) and (max-width: 1023px) {
  .assess-site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .assess-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  .assess-site-header .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; display: flex; flex-direction: column; z-index: 100000; overflow: auto; }
  .assess-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
  .assess-site-header .is-menu-open .wp-block-navigation__container { flex-direction: column; }
}
.assess-site-header .wp-block-navigation__responsive-container-open,
.assess-site-header .wp-block-navigation__responsive-container-close { color: var(--sw-ink); padding: .4rem; border-radius: 8px; }
.assess-site-header .wp-block-navigation__responsive-container-open svg,
.assess-site-header .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.assess-site-header .wp-block-navigation__responsive-container.is-menu-open { background: #fff; color: var(--sw-ink); padding: 1rem var(--sw-gutter) 2rem; }
.assess-site-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: flex-start; }
.assess-site-header .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch; }
.assess-site-header .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--sw-line); }
.assess-site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item .wp-block-navigation-item__content { display: block; width: 100%; padding: .9rem 0; font-size: 1.25rem; font-weight: 650; border-bottom: 0; }
.assess-site-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content:focus-visible { outline: 2px solid var(--sw-flare); outline-offset: 2px; }
/* Sign in lives in the header buttons on desktop and in the menu overlay on phones */
.assess-site-header .assess-nav-mobile-only { display: none; }
.assess-site-header .is-menu-open .assess-nav-mobile-only { display: block; }
.assess-site-header .is-menu-open .current-menu-item > a { color: var(--sw-flare-dark); }

/* ---------- page title fallback (portal pages; hidden when the page builds its own bands) ---------- */
.assess-page-title { padding-block: clamp(2rem, 5vw, 3.5rem) 1rem; }
.assess-main:has(.assess-band) .assess-page-title { display: none; }
.assess-wrap, .assess-page-title, .assess-content > :not(.assess-band) { max-width: var(--sw-wide); margin-inline: auto !important; padding-inline: var(--sw-gutter); box-sizing: border-box; }
.assess-content > :not(.assess-band):last-child { padding-bottom: var(--sw-band); }

/* ---------- bands ---------- */
.assess-band { padding-block: var(--sw-band); position: relative; }
.assess-band--plain { background: #fff; }
.assess-band--tint { background: var(--sw-surface); }
.assess-band--head { background: var(--sw-surface); padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 2.5rem); border-bottom: 1px solid var(--sw-line); }
.assess-band--head h1 { margin: 0; font-size: var(--wp--preset--font-size--x-large); }
.assess-band--head + .assess-band--plain { padding-top: clamp(2.5rem, 5vw, 4rem); }
.assess-band--hero, .assess-band--cta { color: #e6edf5; background:
  radial-gradient(60rem 30rem at 85% -10%, rgba(255,90,31,.22), transparent 60%),
  radial-gradient(40rem 30rem at -10% 110%, rgba(10,88,202,.25), transparent 60%), var(--sw-ink); }
.assess-band--hero { padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.assess-band--hero :where(h1, h2, h3), .assess-band--cta :where(h1, h2, h3) { color: #fff; }
.assess-band--hero a:not(.wp-block-button__link), .assess-band--cta a:not(.wp-block-button__link) { color: #fff; }
.assess-band--hero h1 { font-size: var(--wp--preset--font-size--xx-large); max-width: 22ch; margin: 0 0 1.25rem; }
.assess-band--hero.has-media h1 { max-width: 16ch; }
.assess-band--hero .assess-lead { font-size: var(--wp--preset--font-size--large); color: #fff; max-width: 38rem; }
.assess-band--hero p { color: #c9d5e3; max-width: 38rem; }
.assess-band--cta { text-align: center; }
.assess-band--cta h2 { margin: 0 auto .75rem; max-width: 24ch; }
.assess-band--cta p { margin-inline: auto; max-width: 36rem; }
.assess-band--cta .assess-actions { justify-content: center; margin-top: 1.75rem; }

/* hero with a visual */
.assess-hero-split { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.assess-hero-split > * { margin: 0 !important; }
@media (max-width: 900px) { .assess-hero-split { grid-template-columns: 1fr; } }
.assess-hero-media .assess-figure { margin: 0; }
.assess-hero-media img { width: 100%; height: auto; filter: drop-shadow(0 24px 48px rgba(0,0,0,.35)); }

/* ---------- prose sections: heading left, text right on wide screens ---------- */
@media (min-width: 1000px) {
  .assess-prose .assess-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.75fr); column-gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
  .assess-prose .assess-wrap > h2 { grid-column: 1; grid-row: 1 / span 40; position: sticky; top: 6rem; }
  .assess-prose .assess-wrap > :not(h2) { grid-column: 2; }
  .assess-prose .assess-wrap > h2 + * { margin-block-start: 0; }
  .assess-prose .assess-wrap > :where(p, ul, ol, h3, blockquote, .wp-block-details) { max-width: 42rem; }
}

/* ---------- section typography ---------- */
.assess-wrap > * { margin-block: 0; }
.assess-wrap > * + * { margin-block-start: 1.1rem; }
.assess-wrap > h2 { font-size: var(--wp--preset--font-size--x-large); max-width: 26ch; margin-bottom: .25rem; }
.assess-band--plain .assess-wrap > h2::before, .assess-band--tint .assess-wrap > h2::before { content: ""; display: block; width: 2.5rem; height: 4px; border-radius: 2px; background: var(--sw-flare); margin-bottom: 1rem; }
.assess-wrap > h2 + * { margin-block-start: 1rem; }
.assess-wrap > h3, .assess-note > h3 { font-size: var(--wp--preset--font-size--large); margin-block-start: 2rem; }
.assess-wrap > :where(p, ul, ol, h3, blockquote, .wp-block-details), .assess-note > :where(p, ul, ol) { max-width: var(--sw-measure); }
.assess-wrap > p, .assess-wrap li { color: #233446; }
.assess-band--hero .assess-wrap p, .assess-band--cta .assess-wrap p { color: #c9d5e3; }
.assess-wrap > .assess-grid, .assess-wrap > .assess-figure, .assess-wrap > .wp-block-table { margin-block-start: 2rem; }
.assess-wrap > .assess-actions { margin-block-start: 1.75rem; }
.assess-lead { font-size: var(--wp--preset--font-size--large); }

/* lists */
.assess-list { list-style: none; padding-left: 0; }
.assess-list li { position: relative; padding-left: 1.6rem; margin: .5rem 0; }
.assess-list li::before { content: ""; position: absolute; left: .2rem; top: .62em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--sw-flare); }
ol.assess-list { counter-reset: sw; }
ol.assess-list li { counter-increment: sw; padding-left: 2.2rem; }
ol.assess-list li::before { content: counter(sw); width: 1.5rem; height: 1.5rem; top: .1em; left: 0; display: grid; place-items: center; font-size: .8rem; font-weight: 700; color: var(--sw-flare-dark); background: var(--sw-flare-soft); }

/* section link ("See all features →") */
.assess-more { font-weight: 650; }
.assess-more a { color: var(--sw-flare-dark); text-decoration: none; }
.assess-more a:hover { text-decoration: underline; }
.assess-more a span { display: inline-block; transition: transform .15s ease; }
.assess-more a:hover span { transform: translateX(3px); }
.assess-band--hero .assess-more a, .assess-band--cta .assess-more a { color: #fff; }

/* ---------- buttons ---------- */
.wp-block-button__link { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid var(--sw-ink); color: var(--sw-ink); background: transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--sw-ink); color: #fff; }
:where(.assess-band--hero, .assess-band--cta) .wp-block-button.is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.55); color: #fff; }
:where(.assess-band--hero, .assess-band--cta) .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--sw-ink); border-color: #fff; }
.assess-actions { gap: .75rem; }

/* ---------- cards and grids ---------- */
.assess-grid { display: grid; gap: clamp(1rem, 2vw, 1.5rem); grid-template-columns: 1fr; }
.assess-grid > * { margin: 0 !important; }
@media (min-width: 640px) { .assess-grid--2, .assess-grid--3, .assess-grid--4, .assess-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) {
  .assess-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .assess-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .assess-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1180px) { .assess-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.assess-card { background: #fff; border: 1px solid var(--sw-line); border-radius: var(--sw-radius); padding: clamp(1.25rem, 2vw, 1.75rem); box-shadow: var(--sw-shadow); display: flex; flex-direction: column; }
.assess-card > * { margin-block: 0; }
.assess-card > * + * { margin-block-start: .65rem; }
.assess-card h3 { font-size: 1.15rem; line-height: 1.25; letter-spacing: -.01em; }
.assess-card h3 a { color: inherit; text-decoration: none; }
.assess-card h3 a:hover { color: var(--sw-flare-dark); }
.assess-card p { color: var(--sw-muted); font-size: .975rem; line-height: 1.6; }
.assess-card .assess-more { margin-top: auto !important; padding-top: .75rem; font-size: .95rem; }
.assess-card.is-featured { border: 2px solid var(--sw-flare); box-shadow: 0 12px 32px rgba(255,90,31,.15); }
.assess-card .assess-figure { margin: calc(-1 * clamp(1.25rem, 2vw, 1.75rem)) calc(-1 * clamp(1.25rem, 2vw, 1.75rem)) .75rem; }
.assess-card .assess-figure img { width: 100%; display: block; border-radius: var(--sw-radius) var(--sw-radius) 0 0; }
.assess-card .assess-figure.is-avatar { margin: 0 0 .5rem; }
.assess-card .assess-figure.is-avatar img { width: 72px; height: 72px; border-radius: 50%; }

/* steps */
.assess-step-number { width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center; background: var(--sw-flare-soft); color: var(--sw-flare-dark) !important; font-weight: 800; font-size: .95rem !important; }
.assess-cards--steps .assess-card { box-shadow: none; }
@media (min-width: 1180px) {
  .assess-cards--steps .assess-grid--5 { position: relative; }
  .assess-cards--steps .assess-grid--5::before { content: ""; position: absolute; left: 2.5rem; right: 2.5rem; top: 2.85rem; height: 2px; background: repeating-linear-gradient(90deg, var(--sw-flare) 0 8px, transparent 8px 14px); opacity: .5; z-index: 0; }
  .assess-cards--steps .assess-card { position: relative; z-index: 1; }
}

/* figures */
.assess-figure { margin-block: 2rem 0; }
.assess-figure img { max-width: 100%; height: auto; }
.assess-figure.is-shot img { border-radius: 12px; box-shadow: 0 2px 6px rgba(11,31,51,.08), 0 24px 48px rgba(11,31,51,.14); border: 1px solid var(--sw-line); }
.assess-figure.is-diagram { background: #fff; border: 1px solid var(--sw-line); border-radius: var(--sw-radius); padding: clamp(.75rem, 2vw, 1.5rem); }
.assess-figure.is-diagram img { width: 100%; display: block; }
.assess-wrap > .assess-figure.is-shot { max-width: 60rem; }

/* status note */
.assess-note { background: #fff; border: 1px solid var(--sw-line); border-left: 5px solid var(--sw-flare); border-radius: var(--sw-radius); padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: var(--sw-shadow); }
.assess-note > * { margin-block: 0; }
.assess-note > * + * { margin-block-start: 1rem; }
.assess-note > h2 { font-size: var(--wp--preset--font-size--x-large); }

/* data flow */
.assess-flow { list-style: none; padding: 0; display: grid; gap: .75rem; counter-reset: flow; max-width: 52rem !important; }
.assess-flow li { counter-increment: flow; position: relative; background: #fff; border: 1px solid var(--sw-line); border-radius: 12px; padding: 1rem 1.25rem 1rem 3.75rem; }
.assess-flow li::before { content: counter(flow); position: absolute; left: 1.1rem; top: 1rem; width: 1.75rem; height: 1.75rem; border-radius: 50%; display: grid; place-items: center; background: var(--sw-ink); color: #fff; font-size: .85rem; font-weight: 700; }

/* FAQ */
.assess-faq { max-width: 52rem; border-top: 1px solid var(--sw-line); }
.assess-faq details { border-bottom: 1px solid var(--sw-line); padding: 0; margin: 0; }
.assess-faq summary { cursor: pointer; font-weight: 650; padding: 1.1rem 2.5rem 1.1rem 0; list-style: none; position: relative; min-height: 44px; }
.assess-faq summary::-webkit-details-marker { display: none; }
.assess-faq summary::after { content: "+"; position: absolute; right: .25rem; top: .85rem; font-size: 1.5rem; font-weight: 400; color: var(--sw-flare-dark); transition: transform .2s ease; }
.assess-faq details[open] summary::after { transform: rotate(45deg); }
.assess-faq details > :not(summary) { margin: 0 0 1.1rem; color: var(--sw-muted); }

/* tables */
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: .95rem; background: #fff; }
.wp-block-table th { text-align: left; background: var(--sw-surface); font-weight: 650; }
.wp-block-table :where(th, td) { border: 1px solid var(--sw-line); padding: .7rem .9rem; vertical-align: top; }
.wp-block-table { overflow-x: auto; }

/* editorial gaps */
.assess-tbc { display: inline-block; font-size: .8em; font-weight: 600; color: var(--sw-muted); background: var(--sw-surface); border: 1px dashed var(--sw-line); border-radius: 999px; padding: 0 .55em; line-height: 1.6; }

/* ---------- footer ---------- */
.assess-site-footer { background: var(--sw-ink) !important; color: #b8c6d6; padding-inline: var(--sw-gutter) !important; }
.assess-site-footer > .alignwide, .assess-site-footer > * { max-width: var(--sw-wide) !important; margin-inline: auto !important; }
.assess-site-footer a { color: #dfe7f0; text-decoration: none; }
.assess-site-footer a:hover { color: #fff; text-decoration: underline; }
.assess-site-footer .wp-block-navigation { font-size: .95rem; }
.assess-site-footer p { color: #b8c6d6; }
.assess-site-footer .assess-brand a { color: #fff; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

.assess-card .assess-card-meta { color: var(--sw-flare-dark); font-weight: 600; font-size: .9rem; margin-top: .15rem; }

/* ---------- enquiry forms (Book a demo, Contact) ---------- */
.assess-enquiry { max-width: 46rem; background: #fff; border: 1px solid var(--sw-line); border-radius: var(--sw-radius); box-shadow: var(--sw-shadow); padding: clamp(1.25rem, 4vw, 2rem); }
.assess-enquiry-grid { display: grid; grid-template-columns: 1fr; gap: 1rem 1.25rem; }
@media (min-width: 640px) { .assess-enquiry-grid { grid-template-columns: 1fr 1fr; } .assess-enquiry-grid .is-wide { grid-column: 1 / -1; } }
.assess-enquiry-field { margin: 0; display: flex; flex-direction: column; gap: .35rem; }
.assess-enquiry-field label { font-weight: 600; font-size: .95rem; color: var(--sw-ink); }
.assess-enquiry input[type=text], .assess-enquiry input[type=email], .assess-enquiry input[type=tel], .assess-enquiry select, .assess-enquiry textarea {
  width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--sw-ink); background: #fff;
  border: 1.5px solid var(--sw-line); border-radius: 10px; padding: .7rem .8rem; min-height: 46px; }
.assess-enquiry input:focus, .assess-enquiry select:focus, .assess-enquiry textarea:focus { outline: none; border-color: var(--sw-flare); box-shadow: 0 0 0 3px var(--sw-flare-soft); }
.assess-enquiry-check { margin: 0; display: flex; align-items: flex-start; gap: .55rem; font-size: .95rem; color: var(--sw-ink-2); align-self: end; }
.assess-enquiry-check input { width: 20px; height: 20px; margin: .1rem 0 0; accent-color: var(--sw-flare); flex: none; }
.assess-req { color: var(--sw-flare-dark); }
.assess-enquiry-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.assess-enquiry-actions { margin: 1.5rem 0 .75rem; }
.assess-enquiry-actions .wp-element-button { border: 0; cursor: pointer; font: inherit; font-weight: 700; padding: .8rem 1.6rem; border-radius: 999px; background: var(--sw-flare); color: #fff; min-height: 48px; }
.assess-enquiry-actions .wp-element-button:hover { background: var(--sw-flare-dark); }
.assess-enquiry-note { margin: 0; font-size: .875rem; color: var(--sw-muted); }
.assess-enquiry-err { margin: 0 0 1rem; padding: .75rem 1rem; border-radius: 10px; background: #FDECEA; color: #8A1C12; font-weight: 600; }
.assess-enquiry-done { max-width: 46rem; padding: 1.5rem; border-radius: var(--sw-radius); background: #EAF7EF; border: 1px solid #BFE3CC; }
.assess-enquiry-done-title { margin: 0 0 .5rem; font-weight: 700; font-size: 1.15rem; color: var(--sw-ink); }
.assess-enquiry-done p:last-child { margin-bottom: 0; }

/* Tables inside cards scroll instead of widening the grid on phones */
.assess-card { min-width: 0; }
.assess-card .wp-block-table, .wp-block-table { max-width: 100%; overflow-x: auto; }

/* ---------- review fixes, 13 Oct ---------- */
/* Footer column headings were ink on ink */
.assess-site-footer :where(h2, h3, h4) { color: #fff !important; font-size: .8rem !important; letter-spacing: .08em; text-transform: uppercase; margin-block-end: .75rem; }
@media (max-width: 781px) {
  .assess-site-footer .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; }
  .assess-site-footer .wp-block-columns > .wp-block-column:first-child { grid-column: 1 / -1; }
}
/* Tables: quiet card style, scroll sideways on phones instead of clipping */
.wp-block-table { border: 1px solid var(--sw-line); border-radius: var(--sw-radius); background: #fff; -webkit-overflow-scrolling: touch; }
.wp-block-table table { border: 0 !important; margin: 0; }
.wp-block-table thead { border-bottom: 0 !important; }
.wp-block-table :where(th, td) { border: 0 !important; border-bottom: 1px solid var(--sw-line) !important; }
.wp-block-table tbody tr:last-child td { border-bottom: 0 !important; }
.wp-block-table th { color: var(--sw-ink); font-size: .85rem; }
@media (max-width: 781px) { .wp-block-table table { min-width: 34rem; font-size: .88rem; } }
/* Inline links in body copy use the brand colour */
main :where(p, li, td) a:not(.wp-element-button):not(.wp-block-button__link) { color: var(--sw-flare-dark); text-decoration-thickness: 1px; text-underline-offset: 2px; }
main :where(p, li, td) a:not(.wp-element-button):hover { color: var(--sw-ink); }
:where(.assess-band--cta, .assess-band--hero) :where(p, li) a:not(.wp-block-button__link) { color: #fff; }
/* Enquiry form: checkboxes span the row so selects pair up */
.assess-enquiry-grid .assess-enquiry-check { grid-column: 1 / -1; margin: 0; }
/* Diagrams stay legible on phones: scroll sideways */
@media (max-width: 781px) {
  .assess-figure.is-diagram { overflow-x: auto; }
  .assess-figure.is-diagram img { min-width: 640px; }
}

/* Inner pages use the core post-content wrapper (no .assess-content): bands sit flush there too. */
.wp-block-post-content > .assess-band + .assess-band { margin-block-start: 0; }

/* After a form is sent, the thank-you replaces the form, so its "Your details" heading goes too. */
.assess-wrap:has(> .assess-enquiry-done) > h2 { display: none; }
