@font-face { font-family: "Lato"; src: url("../fonts/lato/lato-regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Lato"; src: url("../fonts/lato/lato-bold.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Lato"; src: url("../fonts/lato/lato-black.ttf") format("truetype"); font-style: normal; font-weight: 900; font-display: swap; }

@layer reset, base, layout, components, utilities;

@layer reset {
  ul[class]:not(.wp-block-list), ol[class]:not(.wp-block-list),
  .wp-block-list.check-list, .wp-block-list.feature-panel__list { margin: 0; padding: 0; list-style: none; }
  button, input, select { font: inherit; }
}

@layer base {
  html { scroll-behavior: smooth; }
  body { min-width: 20rem; overflow-x: hidden; }
  h1, h2, h3, h4, h5, h6, p { margin-block-start: 0; }
  h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); letter-spacing: -0.025em; text-wrap: balance; }
  h2 { margin-block-end: var(--space-s); }
  p { margin-block-end: var(--space-s); }
  a { text-underline-offset: 0.2em; }
  button, a { -webkit-tap-highlight-color: transparent; }
  [id] { scroll-margin-top: 6rem; }
}

@layer layout {
  .container {
    width: min(calc(100% - (var(--gutter) * 2)), var(--container-max));
    margin-inline: auto;
  }

  .section { padding-block: var(--space-2xl); }
  .section--compact { padding-block: var(--space-xl); }
  .section--sunken { background: var(--color-surface-sunken); }
  .section__head { max-width: 46rem; margin: 0 auto var(--space-l); text-align: center; }
  .section__head p { margin-inline: auto; color: var(--color-text-muted); }
}

@layer components {
  .icon { width: 1.25em; height: 1.25em; flex: 0 0 auto; }
  .icon--lg { width: 1.75em; height: 1.75em; }

  .skip-link {
    position: fixed;
    inset: var(--space-2xs) auto auto var(--space-2xs);
    z-index: var(--z-toast);
    padding: var(--space-2xs) var(--space-s);
    border-radius: var(--radius-surface-sm);
    background: var(--color-action);
    color: var(--color-action-label);
    transform: translateY(calc(-100% - var(--space-m)));
    transition: transform var(--duration-fast) var(--ease-standard);
  }
  .skip-link:focus { transform: translateY(0); }

  .utility-bar {
    background: var(--color-surface-inverse);
    color: var(--color-text-inverse);
    font-size: var(--step--1);
  }
  .utility-bar__inner {
    min-height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-m);
  }
  .utility-bar__inner > p { margin: 0; }
  .utility-bar__links { display: flex; gap: var(--space-m); }
  .utility-bar a {
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    color: var(--color-text-inverse);
    text-decoration: none;
  }
  .utility-bar a:focus-visible { outline-color: var(--color-focus-on-inverse); }

  .site-header {
    position: sticky;
    inset-block-start: 0;
    z-index: var(--z-header);
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
  }
  .site-header__inner {
    min-height: 5.25rem;
    display: flex;
    align-items: center;
    gap: var(--space-m);
  }
  .brand { display: flex; width: 18rem; flex: 0 0 auto; color: var(--color-text); }
  .brand img { display: block; width: 100%; height: auto; }
  .site-nav { --navigation-gap: clamp(var(--space-s), 2vw, var(--space-l)); margin-inline-start: auto; }
  .site-nav__list { display: flex; align-items: center; gap: var(--navigation-gap); }
  .site-nav a {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    color: var(--color-text);
    font-size: var(--step--1);
    font-weight: 650;
    text-decoration: none;
    border-bottom: 2px solid transparent;
  }
  .site-nav a[aria-current="page"] { border-bottom-color: var(--color-action); }

  .btn {
    min-height: 2.875rem;
    padding: var(--space-2xs) var(--space-m);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2xs);
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    background: var(--color-action);
    color: var(--color-action-label);
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--duration-fast) var(--ease-standard),
      color var(--duration-fast) var(--ease-standard),
      border-color var(--duration-fast) var(--ease-standard);
  }
  .btn:hover { background: var(--color-action-hover); color: var(--color-action-label); }
  .btn--conversion { padding-inline: var(--space-l); border-color: transparent; border-radius: var(--radius-pill); background: var(--color-cta); color: var(--color-cta-label); }
  .btn--conversion:hover { background: var(--color-cta-hover); color: var(--color-cta-label-hover); }
  .btn--outline { background: transparent; border-color: currentColor; color: inherit; }
  .btn--outline:hover { background: color-mix(in srgb, currentColor 10%, transparent); color: inherit; }
  .btn--light { background: var(--color-surface); color: var(--color-text); }
  .btn--light:hover { background: var(--color-surface-sunken); color: var(--color-text); }
  .btn--listing { align-self: flex-start; background: var(--color-identity); color: var(--color-text-inverse); }
  .btn--listing:hover { background: var(--color-identity-vivid); color: var(--color-text); }

  .nav-toggle {
    min-height: 2.75rem;
    display: none;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-2xs) var(--space-xs);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    color: var(--color-text);
    font-weight: 700;
  }

  .drawer {
    width: min(23rem, 88vw);
    max-width: none;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0 0 0 auto;
    padding: var(--space-m);
    border: 0;
    background: var(--color-surface);
    color: var(--color-text);
  }
  .drawer::backdrop { background: color-mix(in srgb, var(--color-surface-inverse) 72%, transparent); }
  .drawer__head { display: flex; justify-content: flex-end; }
  .drawer__close {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    border: 0;
    background: transparent;
    color: var(--color-text);
    font-weight: 700;
  }
  .drawer__nav { margin-block: var(--space-l); }
  .drawer__nav a {
    min-height: 3.25rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text);
    font-size: var(--step-1);
    font-weight: 700;
    text-decoration: none;
  }
  .drawer__actions { display: grid; gap: var(--space-s); }

  .hero {
    position: relative;
    isolation: isolate;
    min-height: min(46rem, calc(100svh - 7.75rem));
    display: grid;
    align-items: center;
    overflow: hidden;
    background: var(--color-surface-inverse);
    color: var(--color-text-inverse);
  }
  .hero__media {
    position: absolute;
    inset: 0;
    z-index: -2;
    margin: 0;
  }
  .hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg,
      color-mix(in srgb, var(--color-surface-inverse) 98%, transparent) 0%,
      color-mix(in srgb, var(--color-surface-inverse) 92%, transparent) 43%,
      color-mix(in srgb, var(--color-surface-inverse) 62%, transparent) 70%,
      color-mix(in srgb, var(--color-surface-inverse) 32%, transparent) 100%);
  }
  .hero__grid {
    padding-block: var(--space-2xl);
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(17rem, 4fr);
    gap: var(--space-xl);
    align-items: center;
  }
  .hero__content { max-width: 48rem; }
  .eyebrow {
    margin-block-end: var(--space-xs);
    color: var(--color-identity);
    font-size: var(--step--1);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .hero .eyebrow { color: var(--color-identity-vivid); }
  .hero h1 { max-width: 16ch; margin-block-end: var(--space-m); font-size: clamp(2.25rem, 4.2vw, 3.75rem); }
  .hero__lead { max-width: 42rem; font-size: var(--step-1); }
  .hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-s); margin-block-start: var(--space-m); }
  .hero__scroll-hint { position: absolute; inset: auto 50% var(--space-s) auto; z-index: var(--z-raised); display: grid; justify-items: center; gap: .12rem; color: var(--color-text-inverse); font-size: var(--step--1); font-weight: 800; text-decoration: none; transform: translateX(50%); }
  .hero__scroll-hint i { width: .7rem; height: .7rem; display: block; border-inline-end: 2px solid var(--color-identity-vivid); border-block-end: 2px solid var(--color-identity-vivid); transform: rotate(45deg); animation: scroll-cue 1.4s var(--ease-standard) infinite; }
  .hero__scroll-hint i + i { margin-block-start: -.45rem; animation-delay: .18s; }
  @keyframes scroll-cue { 0%, 100% { opacity: .35; transform: translateY(-.15rem) rotate(45deg); } 50% { opacity: 1; transform: translateY(.15rem) rotate(45deg); } }

  .search-form {
    max-width: 49rem;
    margin-block-start: var(--space-l);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 10rem auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-surface-sm);
    background: var(--color-surface);
    box-shadow: 0 0.9rem 2rem color-mix(in srgb, var(--color-surface-inverse) 24%, transparent);
    overflow: hidden;
  }
  .search-form label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .search-form input, .search-form select {
    min-width: 0;
    min-height: 3.5rem;
    border: 0;
    background: var(--color-surface);
    color: var(--color-text);
  }
  .search-form input { padding-inline: var(--space-s); }
  .search-form select { padding-inline: var(--space-s); border-inline-start: 1px solid var(--color-border); }
  .search-form .btn { min-width: 3.75rem; margin: var(--space-3xs); border-radius: var(--radius-pill); }

  .trust-panel {
    padding: var(--space-l);
    border: 1px solid color-mix(in srgb, var(--color-text-inverse) 42%, transparent);
    border-radius: var(--radius-surface-md);
    background: color-mix(in srgb, var(--color-surface-inverse) 78%, transparent);
  }
  .trust-panel__item { display: grid; grid-template-columns: auto 1fr; gap: var(--space-s); }
  .trust-panel__item + .trust-panel__item { margin-block-start: var(--space-m); }
  .trust-panel .icon { color: var(--color-identity-vivid); }
  .trust-panel strong { display: block; margin-block-end: var(--space-3xs); }
  .trust-panel p { margin: 0; color: var(--color-text-muted-inverse); font-size: var(--step--1); }

  .fact-strip { border-bottom: 1px solid var(--color-border); background: var(--color-surface); }
  .fact-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
  .fact {
    min-height: 7rem;
    padding: var(--space-m);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-s);
    align-items: center;
  }
  .fact + .fact { border-inline-start: 1px solid var(--color-border); }
  .fact .icon { color: var(--color-identity); }
  .fact strong { display: block; }
  .fact span { display: block; color: var(--color-text-muted); font-size: var(--step--1); }

  .category-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--space-s); }
  .category-card {
    min-height: 8rem;
    padding: var(--space-s);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-s);
    text-align: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-surface-md);
    background: var(--color-surface);
    color: var(--color-text);
    text-decoration: none;
    transition: border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);
  }
  .category-card__icon { width: 2.5rem; height: 2.5rem; color: var(--color-text); }
  .category-card span.category-card__icon { display: grid; place-items: center; }
  .category-card span.category-card__icon .icon { width: 100%; height: 100%; }
  .category-card h3 { margin: 0; font-size: var(--step-0); }

  .section__action { margin-block-start: var(--space-l); text-align: center; }
  .text-link { display: inline-flex; align-items: center; gap: var(--space-2xs); font-weight: 750; }

  .industry-grid { display: grid; grid-template-columns: repeat(8, 1fr); border-block: 1px solid var(--color-border); }
  .industry-card { min-height: 7.5rem; padding: var(--space-s); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: var(--color-surface); }
  .industry-card + .industry-card { border-inline-start: 1px solid var(--color-border); }
  .industry-card .icon { color: var(--color-identity); }
  .industry-card h3 { margin: var(--space-xs) 0 0; font-size: var(--step--1); }

  .model-section { background: var(--color-surface-inverse); color: var(--color-text-inverse); }
  .model-grid { display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-xl); align-items: center; }
  .model-section .eyebrow { color: var(--color-identity-vivid); }
  .model-section p { color: var(--color-text-muted-inverse); }
  .model-diagram { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--space-s); align-items: stretch; }
  .model-card { min-height: 11rem; padding: var(--space-l); border: 1px solid color-mix(in srgb, var(--color-text-inverse) 35%, transparent); border-radius: var(--radius-surface-md); }
  .model-card strong { display: block; margin-block-end: var(--space-xs); font-size: var(--step-1); }
  .model-card span { color: var(--color-text-muted-inverse); }
  .model-arrow { align-self: center; color: var(--color-identity-vivid); }

  .feature-split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-l); }
  .feature-panel { padding: var(--space-xl); border: 1px solid var(--color-border); border-radius: var(--radius-surface-lg); background: var(--color-surface); }
  .feature-panel--navy { background: var(--color-surface-inverse); color: var(--color-text-inverse); }
  .feature-panel--navy p { color: var(--color-text-muted-inverse); }
  .feature-panel__list { display: grid; gap: var(--space-s); margin-block: var(--space-l); }
  .feature-panel__list li { display: flex; gap: var(--space-xs); align-items: flex-start; }
  .feature-panel__list .icon { margin-block-start: 0.2em; color: var(--color-identity); }
  .feature-panel--navy .feature-panel__list .icon { color: var(--color-identity-vivid); }

  .insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-s); }
  .insight-card { padding: var(--space-l); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); }
  .insight-card__topic { color: var(--color-identity); font-size: var(--step--1); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
  .insight-card h3 { margin-block: var(--space-s); font-size: var(--step-1); }
  .insight-card p { color: var(--color-text-muted); }

  .breadcrumb, .breadcrumbs { padding-block: var(--space-xs); }
  .breadcrumb ol, .breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .breadcrumb li, .breadcrumbs li { display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--color-text-muted); font-size: var(--step--1); }
  .breadcrumb li + li::before, .breadcrumbs li + li::before { content: "/"; color: var(--color-identity); }
  .breadcrumbs-row { display: flex; align-items: center; gap: var(--space-s); }
  .breadcrumbs-row .breadcrumbs { flex: 1; }
  .compact-search { position: relative; }
  .compact-search summary { list-style: none; }
  .compact-search summary::-webkit-details-marker { display: none; }
  .compact-search__toggle { min-height: 2.75rem; padding-inline: var(--space-s); display: inline-flex; align-items: center; gap: var(--space-2xs); border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-text); font-size: var(--step--1); font-weight: 700; cursor: pointer; }
  .compact-search__toggle .icon { color: var(--color-action); }
  .compact-search__panel { position: absolute; z-index: var(--z-raised); inset: calc(100% + var(--space-3xs)) 0 auto auto; width: min(25rem, calc(100vw - (var(--gutter) * 2))); padding: var(--space-xs); display: none; grid-template-columns: 1fr auto; gap: var(--space-2xs); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); box-shadow: 0 0.75rem 2rem rgb(15 28 46 / 0.14); }
  .compact-search[open] .compact-search__panel { display: grid; }
  .compact-search input { min-width: 0; padding-inline: var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--radius-surface-sm); }

  .page-hero { padding-block: var(--space-xl); background: linear-gradient(120deg, var(--color-surface-inverse), var(--color-surface-inverse-alt)); color: var(--color-text-inverse); }
  .page-hero--compact { padding-block: var(--space-l); }
  .page-hero--compact h1 { margin-block-end: 0; }
  .page-hero--compact .page-hero__inner > div { max-width: none; }
  .page-hero__inner > div { max-width: min(100%, 72rem); }
  .page-hero h1 { margin-block-end: var(--space-s); font-size: clamp(2rem, 2.6vw, 2.5rem); }
  .page-hero p { max-width: min(100%, 72rem); color: var(--color-text-muted-inverse); font-size: var(--step-1); }
  .page-hero .eyebrow { color: var(--color-identity-vivid); font-size: var(--step--1); }
  .page-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-s); margin-block-start: var(--space-m); }

  .news-page__hero p + p { margin-block-start: var(--space-xs); }
  .news-page__feed { width: min(100%, 49rem); margin-inline: auto; }
  .news-entry { scroll-margin-block-start: var(--space-xl); }
  .news-entry + .news-entry { margin-block-start: var(--space-xl); padding-block-start: var(--space-xl); border-block-start: 1px solid var(--color-border); }
  .news-entry h2 { max-width: none; margin: 0 0 var(--space-m); text-wrap: balance; }
  .news-entry h3 { max-width: none; margin: var(--space-l) 0 var(--space-xs); font-size: var(--step-2); text-wrap: balance; }
  .news-entry .wp-block-image { margin-block: var(--space-l); }
  .news-entry .wp-block-image img { width: 100%; max-height: 34rem; border-radius: var(--radius-surface-md); object-fit: cover; }
  .news-entry figcaption { margin-block-start: var(--space-2xs); color: var(--color-text-muted); font-size: var(--step--1); }
  .news-entry p { max-width: none; margin-block: 0; text-wrap: pretty; }
  .news-entry p + p { margin-block-start: var(--space-s); }

  .content-layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(16rem, 4fr); gap: var(--space-xl); align-items: start; }
  .prose { max-width: 49rem; }
  .prose h2, .prose h3, .prose p { max-width: none; }
  .prose p { text-wrap: pretty; }
  .prose > * + * { margin-block-start: var(--space-s); }
  .prose h2 { margin-block-start: var(--space-xl); }
  .prose h3 { margin-block-start: var(--space-l); font-size: var(--step-1); }
  .prose ul, .prose ol { padding-inline-start: var(--space-m); }
  .prose li + li { margin-block-start: var(--space-2xs); }
  .prose table { width: 100%; border-collapse: collapse; font-size: var(--step--1); }
  .prose th, .prose td { padding: var(--space-xs); border: 1px solid var(--color-border); text-align: start; vertical-align: top; }
  .prose th { background: var(--color-surface-sunken); }
  .prose a { font-weight: 700; }
  .aside-card { padding: var(--space-l); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface-sunken); }
  .aside-card h2 { font-size: var(--step-1); }
  .aside-card ul { padding-inline-start: var(--space-m); }
  .legal-status { padding: var(--space-m); border-inline-start: var(--space-3xs) solid var(--color-identity); background: var(--color-surface-sunken); }
  .legal-status p { margin: 0; }

  .card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .card-grid--two, .card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .info-card, .quote-card, .testimonial-card, .article-card, .media-card, .price-card, .event-card, .listing-card { border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); overflow: hidden; }
  .info-card, .quote-card { padding: var(--space-l); }
  .info-card h2, .quote-card h2 { font-size: var(--step-1); }
  .quote-card blockquote { margin: 0; font-size: var(--step-1); }
  .quote-card footer { margin-block-start: var(--space-m); color: var(--color-text-muted); }
  .quote-card footer strong { display: block; color: var(--color-text); }
  .portrait-panel { display: grid; grid-template-columns: minmax(13rem, 4fr) minmax(0, 8fr); gap: var(--space-xl); align-items: center; }
  .portrait-panel img { width: 100%; max-height: 31rem; object-fit: cover; border-radius: var(--radius-surface-lg); }
  .portrait-panel { grid-template-columns: 1fr; }
  .about-story { position: relative; isolation: isolate; overflow: hidden; }
  .about-story::before, .about-story::after { content: ""; position: absolute; z-index: -1; border: 1px solid var(--color-border); transform: rotate(12deg); }
  .about-story::before { width: 24rem; height: 24rem; inset: -8rem -7rem auto auto; background: var(--color-surface-sunken); }
  .about-story::after { width: 14rem; height: 14rem; inset: auto auto -6rem -5rem; background: var(--color-identity-vivid); opacity: .22; }
  .team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .team-card { position: relative; min-height: 38rem; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); }
  .team-card::after { content: attr(data-initials); position: absolute; inset: auto -1rem -2rem auto; color: var(--color-surface-sunken); font-size: 8rem; font-weight: 900; line-height: 1; }
  .team-card > * { position: relative; z-index: 1; }
  .team-card__portrait { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
  .team-card__content { padding: var(--space-l); display: flex; flex: 1; flex-direction: column; }
  .team-card__role { color: var(--color-text-muted); font-size: var(--step--1); }
  .team-card__content p:last-child { margin-block-start: auto; }
  .testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .testimonial-card { margin: 0; padding: var(--space-l); }
  .testimonial-card blockquote { margin: 0; font-size: var(--step-1); }
  .testimonial-card figcaption { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: var(--space-s); margin-block-start: var(--space-m); color: var(--color-text-muted); }
  .testimonial-card figcaption strong { display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--color-text); }
  .testimonial-card figcaption strong .icon { color: var(--color-identity); }
  .testimonial-card figcaption small { display: block; margin-block-start: var(--space-3xs); color: var(--color-text-muted); font-size: var(--step--1); }
  .testimonial-card__logo, .testimonial-card__monogram { width: 3.75rem; height: 3.75rem; padding: .25rem; flex: 0 0 auto; border: 1px solid var(--color-border); border-radius: 50%; background: var(--color-surface); object-fit: contain; }
  .testimonial-card__logo--wide { object-fit: contain; }
  .testimonial-card__monogram { display: grid; place-items: center; background: var(--color-surface-sunken); color: var(--color-action); font-weight: 900; }
  .side-card { padding: var(--space-l); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface-sunken); }
  .side-card h2 { font-size: var(--step-1); }
  .side-card ul { padding-inline-start: var(--space-m); }
  .content-note { margin-block-start: var(--space-l); padding: var(--space-m); border-inline-start: var(--space-3xs) solid var(--color-identity); background: var(--color-surface-sunken); }
  .cta-banner { padding: var(--space-l); display: flex; align-items: center; justify-content: space-between; gap: var(--space-l); border-radius: var(--radius-surface-lg); background: linear-gradient(120deg, var(--color-surface-inverse), var(--color-surface-inverse-alt)); color: var(--color-text-inverse); }
  .cta-banner p { color: var(--color-text-muted-inverse); }
  .cta-banner .eyebrow { color: var(--color-identity-vivid); }
  .btn--gold { background: var(--color-identity-vivid); color: var(--color-surface-inverse); }
  .btn--gold:hover { background: var(--color-action-hover); color: var(--color-action-label); }
  .btn--coral { background: var(--color-conversion); color: var(--color-conversion-label); }
  .btn--coral:hover { background: var(--color-conversion-hover); color: var(--color-conversion-label); }

  .faq-list { display: grid; gap: var(--space-xs); }
  .faq-list details { border: 1px solid var(--color-border); border-radius: var(--radius-surface-sm); background: var(--color-surface); }
  .faq-list summary { padding: var(--space-s) var(--space-m); font-weight: 750; cursor: pointer; }
  .faq-list details > div { padding: 0 var(--space-m) var(--space-m); color: var(--color-text-muted); }
  .faq-list details > div > :last-child { margin-block-end: 0; }

  .price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .price-card { position: relative; padding: var(--space-l); display: flex; flex-direction: column; }
  .price-card--featured { border-color: var(--color-identity); box-shadow: inset 0 var(--space-3xs) 0 var(--color-identity); }
  .price-card__label { color: var(--color-identity); font-size: var(--step--1); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
  .price-card__price { margin-block: var(--space-xs); font-size: var(--step-3); font-weight: 800; line-height: var(--leading-tight); }
  .price-card ul { padding-inline-start: var(--space-m); }
  .price-card .btn { margin-block-start: auto; }
  .check-list { display: grid; gap: var(--space-xs); padding: 0 !important; list-style: none; }
  .check-list li { position: relative; padding-inline-start: 1.75rem; }
  .check-list li::before { content: "✓"; position: absolute; inset: 0 auto auto 0; width: 1.25rem; height: 1.25rem; display: grid; place-items: center; border-radius: 50%; background: var(--color-surface-sunken); color: var(--color-action); font-size: .8rem; font-weight: 900; }
  .addon-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .addon-card { padding: var(--space-l); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); }
  .addon-card .icon { margin-block-end: var(--space-s); color: var(--color-identity); }
  .addon-card__price { width: fit-content; margin-block: var(--space-s); padding: var(--space-3xs) var(--space-xs); border-radius: var(--radius-pill); background: var(--color-surface-sunken); color: var(--color-action); font-weight: 900; }

  .workflow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-s); margin: 0; padding: 0; list-style: none; counter-reset: workflow; }
  .workflow > li { position: relative; min-height: 18rem; padding: var(--space-l); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); }
  .workflow > li::after { content: attr(data-step); position: absolute; inset: auto -.25rem -1.25rem auto; color: var(--color-surface-sunken); font-size: clamp(6rem, 9vw, 9rem); font-weight: 900; line-height: 1; }
  .workflow > li > * { position: relative; z-index: 1; }
  .workflow__icon { width: 3rem; height: 3rem; margin-block-end: var(--space-m); padding: .65rem; border-radius: 50%; background: var(--color-action); color: var(--color-action-label); }
  .workflow-step { position: relative; padding: var(--space-l); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); counter-increment: workflow; }
  .workflow-step::before { content: counter(workflow, decimal-leading-zero); display: block; margin-block-end: var(--space-m); color: var(--color-identity); font-weight: 800; }
  .workflow-step h3 { font-size: var(--step-1); }

  .lead-form { padding: var(--space-xl); border: 1px solid var(--color-border); border-radius: var(--radius-surface-lg); background: var(--color-surface-sunken); }
  .field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-m); }
  .field { display: grid; gap: var(--space-2xs); }
  .field--full { grid-column: 1 / -1; }
  .field label, .field legend { font-weight: 700; }
  .field input, .field select, .field textarea { width: 100%; min-height: 3rem; padding: var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--radius-surface-sm); background: var(--color-surface); color: var(--color-text); }
  .field textarea { min-height: 7rem; resize: vertical; }
  .field small { color: var(--color-text-muted); }
  .form-consent { display: flex; gap: var(--space-xs); align-items: flex-start; }
  .form-consent input { margin-block-start: 0.3em; }
  .form-actions { margin-block-start: var(--space-m); display: flex; flex-wrap: wrap; gap: var(--space-s); align-items: center; }
  .field-grid > p { display: grid; gap: var(--space-2xs); margin: 0; }
  .field-grid label { font-weight: 700; }
  .field-grid input:not([type="checkbox"]), .field-grid select, .field-grid textarea { width: 100%; min-height: 3rem; padding: var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--radius-surface-sm); background: var(--color-surface); color: var(--color-text); }
  .checkbox-field { grid-template-columns: auto 1fr; align-items: start; }
  .checkbox-field input { margin-block-start: .3em; }
  .form-status, .small-print { color: var(--color-text-muted); font-size: var(--step--1); }

  .event-grid, .article-grid, .listing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .event-card, .article-card, .media-card, .listing-card { position: relative; display: flex; flex-direction: column; }
  .event-card__body, .media-card__body, .listing-card__body { padding: var(--space-m); display: flex; flex: 1; flex-direction: column; }
  .event-card__date { width: fit-content; max-width: 100%; margin: auto 0 0; padding-block-start: var(--space-s); display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--color-text); font-size: clamp(.72rem, 1vw, var(--step--1)); font-weight: 750; white-space: nowrap; }
  .event-card__date .icon { color: var(--color-identity); }
  .event-card__date--awaiting { align-items: flex-start; white-space: normal; }
  .event-card__date--awaiting > span { min-width: 0; }
  .event-card__date-status, .event-card__date-previous { display: block; }
  .event-card__date-status { color: var(--color-action); }
  .event-card__date-previous { margin-block-start: var(--space-3xs); color: var(--color-text-muted); font-weight: 650; }
  .event-card h2, .media-card h2, .listing-card h2 { margin-block: var(--space-s); font-size: var(--step-1); }
  .event-card h2 a { color: var(--color-text); text-decoration: none; }
  .event-card__image-link { display: block; overflow: hidden; }
  .event-card__image-link img { display: block; transition: transform var(--duration-fast) var(--ease-standard); }
  .event-card p, .media-card p, .listing-card p { color: var(--color-text-muted); }
  .event-card .text-link, .media-card .text-link, .listing-card .text-link, .listing-card .btn--listing { margin-block-start: auto; }
  .media-card img, .listing-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
  .event-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
  .corner-ribbon { position: absolute; z-index: var(--z-raised); inset: 1.1rem -2.8rem auto auto; width: 9rem; padding: .35rem 0; transform: rotate(45deg); background: var(--color-conversion); color: var(--color-conversion-label); font-size: var(--step--1); font-weight: 900; text-align: center; text-transform: uppercase; }
  .corner-ribbon--new { background: var(--color-action); color: var(--color-action-label); }
  .corner-ribbon--book { background: var(--color-identity-vivid); color: var(--color-surface-inverse); }
  .article-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
  .article-card__body { padding: var(--space-m); }
  .article-card h2 { margin-block: var(--space-s); font-size: var(--step-1); }
  .tag { color: var(--color-identity); font-size: var(--step--1); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  .tag a { color: inherit; text-decoration: none; }
  .meta { color: var(--color-text-muted); font-size: var(--step--1); }
  .event-card__body { padding: var(--space-m); display: flex; flex: 1; flex-direction: column; }
  .event-card h2 { margin-block: var(--space-xs); }
  .topic-label { width: fit-content; padding: var(--space-3xs) var(--space-xs); border-radius: var(--radius-pill); background: var(--color-surface-sunken); color: var(--color-text); font-size: var(--step--1); font-weight: 750; }

  .event-type-filter { margin-block-end: var(--space-l); padding: var(--space-m); display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface-sunken); }
  .event-type-filter__field { width: min(100%, 28rem); display: grid; gap: var(--space-3xs); }
  .event-type-filter label { font-size: var(--step--1); font-weight: 700; }
  .event-type-filter select { width: 100%; min-height: 3rem; padding: var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--radius-surface-sm); background: var(--color-surface); color: var(--color-text); }
  .event-type-filter .text-link { min-height: 3rem; display: inline-flex; align-items: center; }
  .event-type-filter__summary { flex-basis: 100%; margin: var(--space-3xs) 0 0; color: var(--color-text-muted); font-size: var(--step--1); font-variant-numeric: tabular-nums; }
  .taxonomy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .taxonomy-card { display: flex; flex-direction: column; border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); color: var(--color-text); text-decoration: none; overflow: hidden; }
  .taxonomy-card > img:first-child { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
  .taxonomy-card__image { margin: 0; overflow: hidden; }
  .taxonomy-card__image img { width: 100%; aspect-ratio: 16 / 10; display: block; object-fit: cover; transition: transform var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard); }
  .taxonomy-card > div { position: relative; padding: var(--space-m); }
  .taxonomy-card__icon { width: 2.75rem; height: 2.75rem; margin-block-end: var(--space-s); }
  .taxonomy-card h3 { font-size: var(--step-1); }
  .taxonomy-card h3 a { color: var(--color-text); text-decoration: none; }
  .taxonomy-card p { color: var(--color-text-muted); }
  .taxonomy-card .icon { color: var(--color-identity); font-size: var(--step-2); }
  .taxonomy-card strong { display: block; }
  .taxonomy-card span { color: var(--color-text-muted); font-size: var(--step--1); }
  .category-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--color-border); }
  .category-index a { padding: var(--space-s); border-bottom: 1px solid var(--color-border); color: var(--color-text); font-weight: 700; text-decoration: none; }
  .sector-page__intro { padding-block: var(--space-l); }
  .sector-page__head { max-width: none; margin: 0 0 var(--space-m); text-align: start; }
  .sector-page__head p { max-width: none; margin-inline: 0; }
  .sector-page__category-prompt { margin-block-start: var(--space-s); font-size: var(--step-0); }
  .sector-hub__head { max-width: none; margin-inline: 0; text-align: start; }
  .sector-hub__head p { max-width: none; margin-inline: 0; }
  .sector-category-directory { margin-block-start: 0; align-items: stretch; }
  .sector-category-group { height: 100%; }
  .sector-story-section { padding-block-start: 0; }
  .sector-story { display: grid; gap: var(--space-l); }
  .sector-story__row { align-items: stretch; }
  .sector-story__media { min-height: 22rem; margin: 0; overflow: hidden; border-radius: var(--radius-surface-md); }
  .sector-story__media img { width: 100%; height: 100%; min-height: 22rem; display: block; object-fit: cover; }
  .sector-story__copy { max-width: none; align-self: center; }
  .sector-story__copy > :first-child, .sector-story__overview > :first-child { margin-block-start: 0; }
  .sector-story__overview { max-width: none; padding-block-start: var(--space-l); border-block-start: 1px solid var(--color-border); }
  .cta-banner--light { border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text); }
  .cta-banner--light p { color: var(--color-text-muted); }
  .az-jump { position: sticky; inset-block-start: 5.5rem; z-index: var(--z-raised); padding: var(--space-xs); display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3xs); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(.75rem); }
  .az-jump a { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border-radius: var(--radius-surface-sm); color: var(--color-text); font-size: var(--step--1); font-weight: 900; text-decoration: none; }
  .az-directory { margin-block-start: var(--space-xl); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); align-items: start; }
  .az-group { padding: var(--space-m); border-top: .25rem solid var(--color-identity); border-radius: var(--radius-surface-sm); background: var(--color-surface-sunken); }
  .az-group h3 { margin: 0 0 var(--space-s); color: var(--color-action); font-size: var(--step-3); }
  .az-group ul { display: grid; gap: var(--space-2xs); margin: 0; padding: 0; list-style: none; }
  .az-group a { margin-inline: calc(-1 * var(--space-m)); padding: var(--space-3xs) var(--space-m); display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-xs); border-radius: var(--radius-surface-sm); color: var(--color-text); text-decoration: none; transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
  .az-group a:focus-visible { background: color-mix(in srgb, var(--color-surface-sunken) 86%, var(--color-identity) 14%); color: var(--color-identity); }
  .az-group a.category-link--new { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-xs); }
  .category-new { flex: 0 0 auto; padding: .15rem .4rem; border-radius: 999px; background: var(--color-conversion); color: #fff; font-size: .68rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
  .narrow-copy { max-width: 52rem; }
  .prose--wide { max-width: none; }

  .supplier-showcase { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-xs); }
  .supplier-showcase__card { min-height: 13rem; padding: var(--space-m); display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-s); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); color: var(--color-text); text-decoration: none; }
  .supplier-showcase__card img, .supplier-showcase__mark { width: 5.5rem; height: 4rem; display: grid; place-items: center; object-fit: contain; object-position: left center; }
  .supplier-showcase__mark { border-radius: var(--radius-surface-sm); background: var(--color-surface-sunken); color: var(--color-identity); }
  .supplier-showcase__mark .icon { width: 2rem; height: 2rem; }
  .supplier-showcase__card strong, .supplier-showcase__card small, .supplier-showcase__card em { display: block; }
  .supplier-showcase__card small { margin-block: var(--space-3xs) var(--space-xs); color: var(--color-text-muted); }
  .supplier-showcase__card em { color: var(--color-action); font-size: var(--step--1); font-style: normal; font-weight: 800; }
  .home-insights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-s); }
  .home-insight-card { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); }
  .home-insight-card > a { display: block; overflow: hidden; }
  .home-insight-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform var(--duration-fast) var(--ease-standard); }
  .home-insight-card > div { padding: var(--space-m); }
  .home-insight-card h3 { margin-block: var(--space-xs); font-size: var(--step-1); }
  .home-insight-card h3 a { color: var(--color-text); text-decoration: none; }
  .home-insight-card p:last-child { color: var(--color-text-muted); }
  .seasonal-section { background: linear-gradient(135deg, var(--color-surface-inverse), var(--color-surface-inverse-alt)); color: var(--color-text-inverse); }
  .seasonal-section .section__head p { color: var(--color-text-muted-inverse); }
  .seasonal-section .section__head .eyebrow { color: var(--color-identity-vivid); }
  .seasonal-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-xs); }
  .seasonal-grid a { min-height: 8rem; padding: var(--space-s); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-xs); border: 1px solid color-mix(in srgb, var(--color-text-inverse) 24%, transparent); border-radius: var(--radius-surface-md); background: color-mix(in srgb, var(--color-surface-inverse) 72%, transparent); color: var(--color-text-inverse); text-align: center; text-decoration: none; }
  .seasonal-grid .icon { width: 2rem; height: 2rem; color: var(--color-identity-vivid); }
  .made-in-britain-section { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, rgb(5 15 28 / .99), rgb(12 24 40 / .99)); color: var(--color-text-inverse); }
  .made-in-britain-section::before { content: ""; position: absolute; inset: -35% -10%; z-index: -1; opacity: .32; background: linear-gradient(26deg, transparent 43%, #fff 43% 47%, #c8102e 47% 53%, #fff 53% 57%, transparent 57%), linear-gradient(154deg, transparent 43%, #fff 43% 47%, #c8102e 47% 53%, #fff 53% 57%, transparent 57%), linear-gradient(90deg, transparent 43%, #fff 43% 57%, transparent 57%), linear-gradient(0deg, transparent 38%, #fff 38% 62%, transparent 62%); mix-blend-mode: screen; transform: rotate(-5deg); }
  .made-in-britain-section .section__head p { color: var(--color-text-muted-inverse); }
  .made-in-britain-section .section__head .eyebrow { color: var(--color-identity-vivid); }
  .made-in-britain-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .made-in-britain-grid a { min-height: 8rem; background: rgb(5 15 28 / .78); border-color: rgb(255 255 255 / .28); color: var(--color-text-inverse); }
  .made-in-britain-grid a strong { font-size: var(--step-1); }
  .made-in-britain-grid a span { color: var(--color-text-muted-inverse); font-size: var(--step--1); }
  .made-in-britain-grid a:hover { color: var(--color-text-inverse); }
  .made-in-britain-grid .icon { color: var(--color-identity-vivid); }
  .newsletter-band { padding-block: var(--space-l); background: var(--color-identity-vivid); color: var(--color-surface-inverse); }
  .newsletter-band__inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(22rem, 5fr); gap: var(--space-xl); align-items: center; }
  .newsletter-band h2 { margin-block-end: var(--space-xs); font-size: var(--step-2); }
  .newsletter-band p { margin: 0; color: var(--color-surface-inverse-alt); }
  .newsletter-band .eyebrow { color: var(--color-action); }
  .newsletter-band form { display: grid; grid-template-columns: 1fr auto; gap: var(--space-2xs); }
  .newsletter-band input { min-width: 0; min-height: 3rem; padding-inline: var(--space-s); border: 1px solid transparent; border-radius: var(--radius-surface-sm); }
  .newsletter-band .btn { background: var(--color-action); color: var(--color-action-label); }
  .newsletter-band .btn:hover { background: var(--color-action-hover); color: var(--color-action-label); }
  .btn--conversion:hover, .btn--coral:hover { transform: translateY(-2px); box-shadow: 0 .35rem .8rem rgb(11 29 51 / .2); }
  .btn--conversion:hover { color: var(--color-cta-label-hover); }
  .btn--coral:hover { color: #fff; }
  .lead-form .btn { margin-block-start: var(--space-m); }
  .lead-form .form-status { margin-block-start: var(--space-s); }
  .check-list + .btn { margin-block-start: var(--space-m); }
  .cta-banner .btn--gold:hover { background: var(--color-conversion); border-color: var(--color-conversion); color: #fff; }
  .listing-facts { display: grid; gap: var(--space-2xs); margin-block: var(--space-s); }
  .listing-facts div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: var(--space-2xs); }
  .listing-facts dt { color: var(--color-text-muted); }
  .listing-facts dd { margin: 0; font-weight: 700; }
  .listing-facts .icon { color: var(--color-identity); }
  .listing-card__image-link { display: block; }
  .listing-card h2 a { color: var(--color-text); text-decoration: none; }
  .listing-card__description { min-height: calc(3 * 1.55em); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .listing-toolbar { display: flex; justify-content: flex-end; gap: var(--space-2xs); margin-block-end: var(--space-s); }
  .listing-toolbar button { min-height: 2.75rem; padding: var(--space-2xs) var(--space-s); border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-text); font-weight: 800; cursor: pointer; }
  .listing-toolbar button[aria-pressed="true"] { border-color: var(--color-action); background: var(--color-action); color: var(--color-action-label); }
  .listing-grid--list { grid-template-columns: 1fr; }
  .listing-grid--list .listing-card { display: grid; grid-template-columns: minmax(10rem, 15rem) minmax(0, 1fr); }
  .listing-grid--list .listing-card > img, .listing-grid--list .listing-card__image-link img { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 5; object-fit: cover; align-self: start; }
  .listing-card__image-link img.listing-card__logo-fallback,
  .listing-grid--list .listing-card__image-link img.listing-card__logo-fallback { padding: var(--space-m); object-fit: contain; background: #fff; }
  .listing-grid--list .listing-card__body { min-width: 0; }
  .directory-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(14rem, 3fr); gap: var(--space-xl); align-items: start; }
  .directory-layout .listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-layout .listing-grid.listing-grid--list { grid-template-columns: 1fr; }
  .directory-sidebar { position: sticky; inset-block-start: 7rem; }
  .directory-sidebar .side-card { padding: var(--space-m); }
  .directory-sidebar nav ul { display: grid; gap: var(--space-2xs); margin: var(--space-m) 0; padding: 0; list-style: none; }
  .directory-sidebar nav a { color: var(--color-text); font-weight: 700; text-decoration: none; }
  .listing-card__meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s); }
  .listing-card__meta-row .listing-facts { display: flex; flex-wrap: wrap; gap: var(--space-s); margin-block: var(--space-s); }
  .listing-card__meta-row .listing-phone { margin: 0; }
  .listing-phone summary { display: inline-flex; align-items: center; gap: var(--space-2xs); }
  .listing-phone summary .icon { color: var(--color-identity); }
  .listing-phone { margin-block: var(--space-s); font-size: var(--step--1); }
  .listing-phone summary { color: var(--color-action); font-weight: 800; cursor: pointer; }
  .listing-phone a { display: inline-block; margin-block-start: var(--space-2xs); font-weight: 800; }
  .listing-archive-actions { min-height: 4rem; margin-block-start: var(--space-l); display: grid; place-items: center; }
  .listing-archive-actions[hidden] { display: none; }
  .listing-archive-actions [hidden] { display: none !important; }
  .listing-load-status { min-height: 1.5em; margin: 0; color: var(--color-text-muted); font-size: var(--step--1); text-align: center; }
  .listing-load-sentinel { width: 100%; height: 1px; }

  .listing-card__meta { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin-block-end: var(--space-s); }
  .listing-card__meta span { padding: var(--space-3xs) var(--space-xs); border-radius: var(--radius-pill); background: var(--color-surface-sunken); color: var(--color-text-muted); font-size: var(--step--1); }
  .supplier-layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(18rem, 4fr); gap: var(--space-xl); align-items: start; }
  .supplier-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-s); margin-block-start: var(--space-m); }
  .supplier-gallery { --gallery-aspect-ratio: 1 / 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-xs); }
  .supplier-gallery[data-gallery-shape="portrait"] { --gallery-aspect-ratio: 4 / 5; }
  .supplier-gallery[data-gallery-shape="square"] { --gallery-aspect-ratio: 1 / 1; }
  .supplier-gallery[data-gallery-shape="landscape"] { --gallery-aspect-ratio: 16 / 10; }
  .supplier-gallery img { width: 100%; height: auto; min-height: 0; aspect-ratio: var(--gallery-aspect-ratio); object-fit: contain; border-radius: var(--radius-surface-md); background: var(--color-surface); }
  .supplier-gallery img:first-child { grid-row: auto; }
  .supplier-gallery--slider { display: block; }
  .supplier-gallery__track { display: flex; gap: var(--space-xs); overflow-x: auto; aspect-ratio: var(--gallery-aspect-ratio); border-radius: var(--radius-surface-md); background: var(--color-surface); scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .supplier-gallery__track img { flex: 0 0 100%; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; scroll-snap-align: start; }
  .supplier-gallery__indicators { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); margin-block-start: var(--space-s); }
  .supplier-gallery__status { color: var(--color-text-muted); font-size: var(--step--1); font-weight: 800; font-variant-numeric: tabular-nums; }
  .supplier-gallery__dots { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
  .supplier-gallery__dot { width: 2.75rem; height: 2.75rem; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
  .supplier-gallery__dot::before { content: ""; width: .65rem; height: .65rem; border: 1px solid var(--color-action); border-radius: 50%; background: transparent; }
  .supplier-gallery__dot.is-active::before { background: var(--color-action); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--color-action) 18%, transparent); }
  .supplier-gallery__controls { display: flex; justify-content: flex-end; gap: var(--space-2xs); margin-block-start: var(--space-2xs); }
  .supplier-gallery__control { width: 2.75rem; height: 2.75rem; border: 1px solid var(--color-border); border-radius: 50%; background: var(--color-surface); color: var(--color-action); font-size: 1.5rem; line-height: 1; cursor: pointer; }
  .supplier-gallery__control:hover { background: var(--color-action); color: #fff; }
  .supplier-summary { position: sticky; inset-block-start: 7rem; }
  .supplier-summary h2 { font-size: var(--step-1); }
  .listing-return { padding-block: var(--space-l) var(--space-xl); }
  .listing-return .btn { width: fit-content; }
  .listing-return .icon { width: 1.15rem; height: 1.15rem; }
  .key-facts { display: grid; gap: var(--space-xs); margin-block: var(--space-m); }
  .key-facts div { display: grid; grid-template-columns: 7rem 1fr; gap: var(--space-xs); padding-block-end: var(--space-xs); border-bottom: 1px solid var(--color-border); }
  .key-facts dt { color: var(--color-text-muted); }
  .key-facts dd { margin: 0; font-weight: 700; }
  .social-links { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: var(--space-m) 0 0; padding: 0; list-style: none; }
  .social-links a { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-text); text-decoration: none; transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
  .social-links .icon { width: 1.25rem; height: 1.25rem; }
  .social-links__link--facebook:hover { background: #1877f2; border-color: #1877f2; color: #fff; }
  .social-links__link--messenger:hover { background: #0084ff; border-color: #0084ff; color: #fff; }
  .social-links__link--instagram:hover { background: #e4405f; border-color: #e4405f; color: #fff; }
  .social-links__link--x:hover { background: #000; border-color: #000; color: #fff; }
  .social-links__link--whatsapp:hover { background: #25d366; border-color: #25d366; color: #fff; }
  .social-links__link--linkedin:hover { background: #0a66c2; border-color: #0a66c2; color: #fff; }
  .social-links__link--youtube:hover { background: #f00; border-color: #f00; color: #fff; }
  .social-links__link--pinterest:hover { background: #bd081c; border-color: #bd081c; color: #fff; }
  .social-links__link--tiktok:hover { background: #000; border-color: #000; color: #fff; }
  .social-links__link--reddit:hover { background: #ff4500; border-color: #ff4500; color: #fff; }
  .social-links__link--snapchat:hover { background: #fffc00; border-color: #d8d500; color: #000; }
  .social-links__link--podcast:hover { background: #6f42c1; border-color: #6f42c1; color: #fff; }
  .supplier-summary .side-card { background: var(--color-surface); }
  .supplier-summary .btn { width: 100%; margin-block: var(--space-s); }
  .review-signals { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-xs); margin-block: var(--space-m); }
  .review-signal { padding: var(--space-s); border: 1px solid var(--color-border); border-radius: var(--radius-surface-sm); }
  .review-signal strong { display: block; }
  .review-signal span { display: flex; align-items: center; gap: var(--space-3xs); color: var(--color-text-muted); font-size: var(--step--1); }
  .review-rating strong { color: var(--color-text); font-variant-numeric: tabular-nums; }
  .review-rating .stars { color: transparent; letter-spacing: .06em; background: linear-gradient(90deg, var(--color-identity) 0 96%, var(--color-border) 96% 100%); -webkit-background-clip: text; background-clip: text; }
  .review-signal:nth-child(2) .review-rating .stars { background: linear-gradient(90deg, var(--color-identity) 0 70%, var(--color-border) 70% 100%); -webkit-background-clip: text; background-clip: text; }
  .bento-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-s); }
  .bento-card { min-height: 10rem; padding: var(--space-m); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); }
  .bento-card .icon { color: var(--color-identity); }
  .event-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s); }
  .event-overview div { padding: var(--space-s); display: grid; grid-template-columns: auto 1fr; gap: var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--radius-surface-sm); }
  .event-overview dt { color: var(--color-text-muted); }
  .event-overview dd { margin: 0; font-weight: 700; }
  .event-overview dt { display: flex; align-items: center; gap: var(--space-2xs); }
  .supplier-summary .event-overview { grid-template-columns: 1fr; }
  .event-content { width: 100%; max-width: none; }
  .event-content > p, .event-content > ul, .event-content > ol { max-width: none; }
  .event-logo-wrap { margin-block: var(--space-l) var(--space-xl); display: flex; justify-content: center; }
  .event-logo { width: auto; max-width: min(100%, 22rem); max-height: 9rem; margin: 0; object-fit: contain; }
  .organiser-card { margin-block-start: var(--space-xl); padding: var(--space-l); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface-sunken); }
  .organiser-card__details { display: flex; flex-wrap: wrap; gap: var(--space-m) var(--space-xl); margin-block: var(--space-m); }
  .organiser-card address { min-width: min(100%, 16rem); color: var(--color-text-muted); font-style: normal; }
  .organiser-card address strong { color: var(--color-text); }
  .organiser-card__details p { margin: 0; display: flex; align-items: center; gap: var(--space-2xs); }
  .travel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .travel-card { padding: var(--space-l); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); }
  .travel-card .icon { color: var(--color-identity); }
  .travel-card h3 { margin-block-start: var(--space-s); }
  .event-travel__link { margin-block: var(--space-l) 0; }
  .side-card .btn + p, .supplier-summary .btn + p { margin-block-start: var(--space-m); }
  .verified-mark { color: var(--color-identity); font-size: var(--step--1); font-weight: 800; }
  .article-lead-image { width: 100%; border-radius: var(--radius-surface-md); }
  .article-lead-image--logo-fallback { max-height: 28rem; padding: var(--space-l); object-fit: contain; background: #fff; }
  .supplier-business-card { margin-block: var(--space-xl); padding: var(--space-l); display: grid; grid-template-columns: minmax(0, 1fr) minmax(9rem, 12rem); gap: var(--space-l); align-items: center; border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); background: var(--color-surface); }
  .supplier-business-card h3 { margin-block-end: var(--space-xs); }
  .supplier-business-card address { color: var(--color-text-muted); font-style: normal; }
  .supplier-business-card__logo { width: 100%; max-height: 10rem; object-fit: contain; }
  .business-card-details { display: grid; gap: var(--space-2xs); margin-block: var(--space-s); }
  .business-card-details div { display: grid; grid-template-columns: 5.5rem 1fr; gap: var(--space-xs); }
  .business-card-details dt { color: var(--color-text-muted); }
  .business-card-details dd { margin: 0; font-weight: 700; }
  .supplier-layout .bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-card__image-link { display: block; overflow: hidden; background: var(--color-surface-sunken); }
  .article-card__image-link img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform var(--duration-base) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard); }
  .article-card h2 a { color: var(--color-text); text-decoration: none; transition: color var(--duration-fast) var(--ease-standard); }
  .table-wrap { overflow-x: auto; }

  .listen-widget[hidden], .listen-widget__panel[hidden] { display: none !important; }
  .listen-widget { --listen-panel-width: min(22rem, calc(100vw - 4rem)); position: fixed; inset: 0; z-index: var(--z-sticky); pointer-events: none; }
  .listen-widget__toggle, .listen-widget__panel { position: fixed; top: 50%; right: 0; pointer-events: auto; }
  .listen-widget__toggle { min-width: 52px; min-height: 52px; margin-inline-end: var(--space-2xs); padding: .55rem .45rem; display: grid; place-items: center; gap: .05rem; border: 0; border-radius: var(--radius-pill); background: var(--color-identity-vivid); color: var(--color-surface-inverse); box-shadow: 0 5px 18px rgb(0 0 0 / .27); font: 800 .58rem/1 var(--font-body); cursor: pointer; transform: translateY(-50%); transition: transform .22s var(--ease-standard), background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
  .listen-widget__toggle svg { display: block; }
  .listen-widget.is-open .listen-widget__toggle { transform: translate(calc(-1 * var(--listen-panel-width)), -50%); }
  .listen-widget__panel { width: var(--listen-panel-width); padding: 1.35rem; background: var(--color-surface); color: var(--color-text); border: 1px solid var(--color-border); border-right: 0; box-shadow: -8px 12px 30px rgb(0 0 0 / .2); transform: translate(100%, -50%); transition: transform .22s var(--ease-standard); }
  .listen-widget__panel.is-visible { transform: translate(0, -50%); }
  .listen-widget__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-s); margin-block-end: 1.2rem; }
  .listen-widget__heading h2 { margin: 0; font-size: 1.35rem; line-height: 1.1; letter-spacing: -.035em; }
  .listen-widget__close { width: 38px; height: 38px; border: 0; background: var(--color-surface-sunken); color: var(--color-text); font-size: 1.45rem; line-height: 1; cursor: pointer; }
  .listen-widget label { display: block; margin-block-end: .4rem; font-size: .75rem; font-weight: 800; }
  .listen-widget select { width: 100%; min-height: 44px; padding: .55rem; border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text); font: inherit; font-size: .78rem; }
  .listen-widget__help, .listen-widget__status { margin: .45rem 0 0; color: var(--color-text-muted); font-size: .68rem; }
  .listen-widget__controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin-block-start: 1.15rem; }
  .listen-widget__controls button { min-height: 42px; border: 1px solid var(--color-border); background: var(--color-surface-sunken); color: var(--color-text); font-size: .72rem; font-weight: 800; cursor: pointer; }
  .listen-widget__controls button:first-child { background: var(--color-identity-vivid); border-color: var(--color-identity-vivid); color: var(--color-surface-inverse); }
  .listen-widget__controls button:disabled { cursor: not-allowed; opacity: .48; }
  .listen-widget button:focus-visible, .listen-widget select:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }

  .event-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--space-s); }
  .event-fact { padding: var(--space-m); border: 1px solid var(--color-border); border-radius: var(--radius-surface-md); }
  .event-fact strong { display: block; margin-block-end: var(--space-2xs); }
  .event-fact span { color: var(--color-text-muted); }
  .event-fact--action { display: flex; flex-direction: column; justify-content: center; color: var(--color-text); text-decoration: none; }
  .event-fact--action .icon { margin-block-end: var(--space-2xs); color: var(--color-identity); }
  .event-fact--action strong { color: var(--color-action); }
  .event-page .fact-strip { padding-block: var(--space-m) 0; border-bottom: 0; }
  .event-page > .section { padding-block-start: var(--space-l); }
  .event-calendar { align-content: start; }
  .event-calendar__title { display: flex; align-items: center; gap: var(--space-2xs); }
  .event-calendar__title .icon { color: var(--color-identity); }
  .event-calendar__links { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .event-calendar__links a { position: relative; width: 2.75rem; min-height: 2.75rem; display: grid; place-items: center; border-radius: var(--radius-surface-sm); color: var(--color-text); text-decoration: none; }
  .event-calendar__links a:hover { background: var(--color-surface-sunken); color: var(--color-action); }
  .event-calendar__links a::after { content: attr(data-tooltip); position: absolute; z-index: var(--z-raised); inset: auto auto calc(100% + var(--space-2xs)) 50%; width: max-content; max-width: 13rem; padding: var(--space-3xs) var(--space-2xs); border-radius: var(--radius-surface-sm); background: var(--color-surface-inverse); color: var(--color-text-inverse); font-size: var(--step--1); font-weight: 700; line-height: 1.3; opacity: 0; pointer-events: none; transform: translate(-50%, var(--space-3xs)); transition: opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
  .event-calendar__links a:hover::after, .event-calendar__links a:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
  .calendar-provider-icon { width: 1.5rem; height: 1.5rem; flex: 0 0 auto; }
  .event-archive-actions { min-height: 4rem; margin-block-start: var(--space-l); display: grid; place-items: center; }
  .event-archive-actions[hidden] { display: none; }
  .event-archive-actions [hidden] { display: none !important; }
  .event-load-status { margin: 0; color: var(--color-text-muted); font-size: var(--step--1); text-align: center; }
  .event-load-sentinel { width: 100%; height: 1px; }
  .event-back { padding-block-start: 0; }
  .event-back .btn { width: fit-content; }

  button,
  button[class],
  input[type="button"],
  input[type="reset"],
  input[type="submit"],
  .btn,
  .wp-element-button,
  .wp-block-button__link,
  .compact-search__toggle { border-radius: var(--radius-pill); }

  .cta-band { padding-block: var(--space-xl); background: var(--color-surface); }
  .cta-band__inner {
    padding: var(--space-l);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-l);
    border-radius: var(--radius-surface-lg);
    background: linear-gradient(120deg, var(--color-surface-inverse), var(--color-surface-inverse-alt));
    color: var(--color-text-inverse);
  }
  .cta-band h2 { margin-block-end: var(--space-2xs); }
  .cta-band p { margin: 0; color: var(--color-text-muted-inverse); }
  .cta-band a:focus-visible { outline-color: var(--color-focus-on-inverse); }

  .site-footer { padding-block: var(--space-2xl) var(--space-m); background: var(--color-surface-inverse); color: var(--color-text-inverse); }
  .site-footer__grid { display: grid; grid-template-columns: 1.65fr repeat(4, 1fr); gap: var(--space-l); }
  .brand--inverse { width: 16rem; }
  .site-footer__intro p { color: var(--color-text-muted-inverse); font-size: var(--step--1); }
  .site-footer__heading { margin-block: 0 var(--space-xs); color: var(--color-text-inverse); font-size: var(--step--1); font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
  .site-footer ul { margin: 0; padding: 0; list-style: none; }
  .site-footer li + li { margin-block-start: var(--space-2xs); }
  .site-footer a { color: var(--color-text-muted-inverse); text-decoration: none; text-underline-offset: 0.2em; transition: color var(--duration-fast) var(--ease-standard); }
  .site-footer a:focus-visible { outline-color: var(--color-focus-on-inverse); }
  .site-footer__note { position: relative; isolation: isolate; margin-block-start: var(--space-xl); padding-block: var(--space-m); display: grid; gap: var(--space-3xs); color: var(--color-text-muted-inverse); font-size: var(--step--1); }
  .site-footer__note::before { content: ""; position: absolute; z-index: -1; inset: 0 calc(50% - 50vw) calc(-1 * var(--space-m)); background: var(--color-surface-inverse); }
  .site-footer__note p { max-width: none; margin: 0; }

  @media (hover: hover) and (pointer: fine) {
    .utility-bar a:hover { color: var(--color-identity-vivid); }
    .site-nav a:hover { color: var(--color-action-hover); border-bottom-color: var(--color-identity); }
    .category-card:hover { border-color: var(--color-action); background: var(--color-surface-sunken); color: var(--color-text); }
    .site-footer a:hover { color: var(--color-identity-vivid); text-decoration: underline; }
    .listing-card h2 a:hover { color: var(--color-action); }
    .listing-card .tag a:hover { color: var(--color-action); }
    .compact-search__toggle:hover, .article-card h2 a:hover { color: var(--color-action); }
    .article-card__image-link:hover img { transform: scale(1.025); opacity: .9; }
    .supplier-showcase__card:hover { border-color: var(--color-identity); transform: translateY(-2px); }
    .seasonal-grid a:hover { border-color: var(--color-identity-vivid); transform: translateY(-2px); }
    .home-insight-card > a:hover img { transform: scale(1.025); }
    .home-insight-card h3 a:hover { color: var(--color-action); }
    .az-group a:hover { background: color-mix(in srgb, var(--color-surface-sunken) 86%, var(--color-identity) 14%); color: var(--color-identity); }
    .taxonomy-card__image a:hover img { transform: scale(1.025); opacity: .92; }
    .taxonomy-card h3 a:hover { color: var(--color-action); }
    .listen-widget__toggle:hover { background: var(--color-action-hover); color: #fff; }
    .listen-widget__controls button:first-child:hover { background: var(--color-action-hover); border-color: var(--color-action-hover); color: #fff; }
    .listen-widget__controls button:hover:not(:disabled), .listen-widget__close:hover { background: var(--color-border); }
  }

  @media (max-width: 68rem) {
    .site-nav:not(.wp-block-navigation), .site-header .btn--conversion { display: none; }
    .nav-toggle { display: inline-flex; margin-inline-start: auto; }
    .site-header__inner { justify-content: space-between; }
    .site-header .site-nav { flex: 0 0 auto; margin-inline-start: 0; }
    .site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
    .site-header .wp-block-navigation__responsive-container-open { display: flex; }
    .hero__grid { grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.55fr); }
    .fact-strip__grid { grid-template-columns: repeat(2, 1fr); }
    .category-grid { grid-template-columns: repeat(3, 1fr); }
    .industry-grid { grid-template-columns: repeat(4, 1fr); }
    .industry-card:nth-child(5) { border-inline-start: 0; }
    .industry-card:nth-child(n + 5) { border-top: 1px solid var(--color-border); }
    .fact:nth-child(3) { border-inline-start: 0; }
    .fact:nth-child(n + 3) { border-top: 1px solid var(--color-border); }
    .site-footer__grid { grid-template-columns: 1.5fr repeat(2, 1fr); }
    .testimonial-grid, .event-grid, .article-grid, .listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .taxonomy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .supplier-showcase { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .home-insights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .seasonal-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .made-in-britain-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .az-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .category-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  @media (max-width: 48rem) {
    .utility-bar { display: none; }
    .site-header__inner { min-height: 4.5rem; gap: var(--space-xs); }
    .brand { width: min(15.5rem, calc(100% - 6.5rem)); flex: 0 1 auto; }
    .hero { min-height: auto; }
    .hero::after { background: color-mix(in srgb, var(--color-surface-inverse) 88%, transparent); }
    .hero__grid, .model-grid { grid-template-columns: 1fr; }
    .hero__grid { padding-block: var(--space-2xl) var(--space-xl); }
    .hero h1 { font-size: clamp(2.2rem, 10vw, 3.25rem); }
    .trust-panel { margin-block-start: var(--space-s); }
    .search-form { grid-template-columns: 1fr auto; }
    .search-form select { grid-column: 1 / -1; grid-row: 2; border-inline-start: 0; border-top: 1px solid var(--color-border); }
    .search-form .btn { grid-column: 2; grid-row: 1; }
    .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .feature-split, .insight-grid { grid-template-columns: 1fr 1fr; }
    .industry-card:nth-child(n) { border-top: 0; border-inline-start: 0; }
    .industry-card:nth-child(n + 3) { border-top: 1px solid var(--color-border); }
    .industry-card:nth-child(even) { border-inline-start: 1px solid var(--color-border); }
    .model-diagram { grid-template-columns: 1fr; }
    .model-arrow { transform: rotate(90deg); justify-self: center; }
    .cta-band__inner { align-items: flex-start; flex-direction: column; }
    .site-footer__grid { grid-template-columns: 1fr 1fr; }
    .site-footer__intro { grid-column: 1 / -1; }
    .directory-layout { grid-template-columns: 1fr; }
    .directory-sidebar { position: static; order: 2; }
    .directory-layout .listing-grid { grid-template-columns: 1fr; }
    .listing-grid--list .listing-card { grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr); }
    .listing-grid--list .listing-card > img, .listing-grid--list .listing-card__image-link img { min-height: 0; }
    .content-layout, .supplier-layout { grid-template-columns: minmax(0, 1fr); }
    .supplier-summary { position: static; }
    .listing-return .btn { width: 100%; }
    .price-grid { grid-template-columns: 1fr; }
    .field-grid { grid-template-columns: 1fr; }
    .field--full { grid-column: auto; }
    .event-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .event-calendar { grid-column: 1 / -1; }
    .team-grid, .addon-grid, .travel-grid, .event-overview { grid-template-columns: 1fr; }
    .newsletter-band__inner { grid-template-columns: 1fr; gap: var(--space-m); }
    .cta-banner { align-items: flex-start; flex-direction: column; }
    .supplier-business-card { grid-template-columns: 1fr; }
    .supplier-business-card__logo { max-height: 7rem; order: -1; }
  }

  @media (max-width: 34rem) {
    .container { width: min(calc(100% - (var(--space-s) * 2)), var(--container-max)); }
    .section { padding-block: var(--space-xl); }
    .hero__actions .btn { width: 100%; }
    .category-grid { gap: var(--space-xs); }
    .category-card { min-height: 7.25rem; padding: var(--space-xs); gap: var(--space-xs); }
    .category-card__icon { width: 2.25rem; height: 2.25rem; }
    .fact-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .event-facts { grid-template-columns: 1fr; }
    .event-calendar { grid-column: auto; }
    .fact { min-height: 6rem; padding: var(--space-xs); gap: var(--space-xs); }
    .feature-split, .insight-grid, .site-footer__grid { grid-template-columns: 1fr; }
    .cta-band__inner { padding: var(--space-m); }
    .cta-band .btn { width: 100%; }
    .site-footer__intro { grid-column: auto; }
    .testimonial-grid, .event-grid, .article-grid, .listing-grid, .workflow { grid-template-columns: 1fr; }
    .taxonomy-grid, .category-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .taxonomy-grid--sectors { grid-template-columns: 1fr; }
    .sector-story__media, .sector-story__media img { min-height: 15.625rem; }
    .event-type-filter__field { width: 100%; }
    .event-type-filter .btn { width: 100%; }
    .supplier-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-insights { grid-template-columns: 1fr; }
    .seasonal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .made-in-britain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .az-directory { grid-template-columns: 1fr; }
    .az-jump { position: static; }
    .newsletter-band form { grid-template-columns: 1fr; }
    .supplier-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .supplier-layout .bento-grid { grid-template-columns: 1fr; }
    .supplier-gallery img:first-child { grid-column: 1 / -1; grid-row: auto; }
    .lead-form { padding: var(--space-m); }
    .breadcrumbs-row { align-items: flex-start; }
    .compact-search__toggle { padding-inline: var(--space-2xs); }
    .listen-widget { --listen-panel-width: calc(100vw - 3.5rem); }
    .listen-widget__panel { padding: 1.1rem; }
    .listen-widget__toggle { min-width: 48px; min-height: 48px; }
    .listen-widget__toggle span { font-size: .54rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    .article-card__image-link img, .listen-widget__toggle, .listen-widget__panel, .supplier-gallery__control { transition: none; }
    .hero__scroll-hint i { animation: none; }
  }
}

@layer utilities {
  .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
