/*
Theme Name: AirQTest
Theme URI: https://airqtest.com
Author: AirQTest
Author URI: https://airqtest.com
Description: A professional, evidence-first WordPress theme for the AirQTest indoor air quality knowledge and data platform.
Version: 1.6.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: airqtest
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: accessibility-ready, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

:root {
    --aq-ink: #102a3b;
    --aq-ink-deep: #081c2a;
    --aq-text: #344955;
    --aq-muted: #657782;
    --aq-line: #dce4e4;
    --aq-line-strong: #c7d3d2;
    --aq-paper: #f7f8f6;
    --aq-paper-warm: #f5f2eb;
    --aq-white: #fff;
    --aq-teal: #087c73;
    --aq-teal-dark: #05635d;
    --aq-teal-soft: #e7f4f1;
    --aq-cyan: #1ca6ce;
    --aq-cyan-dark: #0c7897;
    --aq-cyan-soft: #e9f7fb;
    --aq-green: #25ad69;
    --aq-green-dark: #147a4a;
    --aq-green-soft: #eaf8f0;
    --aq-orange: #f5a623;
    --aq-orange-dark: #b96b00;
    --aq-orange-soft: #fff6e6;
    --aq-blue-soft: #eef4f7;
    --aq-amber: #9c620d;
    --aq-amber-soft: #fff4dc;
    --aq-red: #a23b3b;
    --aq-red-soft: #fff0f0;
    --aq-shadow-sm: 0 1px 2px rgba(9, 34, 47, 0.04), 0 8px 24px rgba(9, 34, 47, 0.05);
    --aq-shadow-lg: 0 22px 70px rgba(9, 34, 47, 0.10);
    --aq-radius-sm: 8px;
    --aq-radius: 14px;
    --aq-radius-lg: 22px;
    --aq-container: 1180px;
    --aq-reading: 760px;
    --aq-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

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

html {
    scroll-behavior: smooth;
    text-size-adjust: 100%;
}

body {
    margin: 0;
    background: var(--aq-white);
    color: var(--aq-text);
    font-family: var(--aq-font);
    font-size: 16px;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
}

body.navigation-is-open {
    overflow: hidden;
}

img,
svg,
video {
    display: block;
    max-width: 100%;
    height: auto;
}

iframe {
    max-width: 100%;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
[type="button"],
[type="submit"] {
    cursor: pointer;
}

a {
    color: var(--aq-teal-dark);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

a:hover {
    color: var(--aq-ink);
}

:focus-visible {
    outline: 3px solid #1d9f94;
    outline-offset: 3px;
}

::selection {
    background: #bfe7e1;
    color: var(--aq-ink-deep);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 0.7em;
    color: var(--aq-ink);
    font-weight: 680;
    letter-spacing: -0.025em;
    line-height: 1.25;
}

h1 {
    font-size: clamp(2.15rem, 5vw, 4.3rem);
}

h2 {
    font-size: clamp(1.7rem, 3vw, 2.6rem);
}

h3 {
    font-size: clamp(1.15rem, 2vw, 1.42rem);
}

p,
ul,
ol,
blockquote,
figure,
table {
    margin-top: 0;
    margin-bottom: 1.35rem;
}

hr {
    margin: 2.5rem 0;
    border: 0;
    border-top: 1px solid var(--aq-line);
}

.site-container {
    width: min(calc(100% - 40px), var(--aq-container));
    margin-inline: auto;
}

.reading-container {
    width: min(calc(100% - 40px), var(--aq-reading));
    margin-inline: auto;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
    z-index: 100000;
    top: 12px;
    left: 12px;
    width: auto;
    height: auto;
    padding: 10px 16px;
    margin: 0;
    clip: auto;
    background: var(--aq-white);
    color: var(--aq-ink);
    border-radius: 6px;
    box-shadow: var(--aq-shadow-lg);
}

.eyebrow {
    margin-bottom: 0.85rem;
    color: var(--aq-teal-dark);
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.lede {
    color: #536875;
    font-size: clamp(1.05rem, 2vw, 1.28rem);
    line-height: 1.75;
}

.text-link {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    font-weight: 650;
    text-decoration: none;
}

.text-link::after {
    content: "→";
    transition: transform 160ms ease;
}

.text-link:hover::after {
    transform: translateX(3px);
}

.button,
button.button,
input[type="submit"] {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0.72rem 1.15rem;
    border: 1px solid var(--aq-teal);
    border-radius: var(--aq-radius-sm);
    background: var(--aq-teal);
    color: var(--aq-white);
    font-weight: 680;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.button:hover,
button.button:hover,
input[type="submit"]:hover {
    border-color: var(--aq-teal-dark);
    background: var(--aq-teal-dark);
    color: var(--aq-white);
    transform: translateY(-1px);
}

.button--secondary {
    border-color: var(--aq-line-strong);
    background: var(--aq-white);
    color: var(--aq-ink);
}

.button--secondary:hover {
    border-color: var(--aq-teal);
    background: var(--aq-teal-soft);
    color: var(--aq-ink);
}

.button--light {
    border-color: rgba(255, 255, 255, 0.55);
    background: var(--aq-white);
    color: var(--aq-ink);
}

.button--light:hover {
    border-color: var(--aq-white);
    background: var(--aq-teal-soft);
    color: var(--aq-ink);
}

.button--small {
    min-height: 40px;
    padding: 0.58rem 0.92rem;
    font-size: 0.9rem;
}

/* Header */
.site-header {
    position: relative;
    z-index: 50;
    border-bottom: 1px solid var(--aq-line);
    background: rgba(255, 255, 255, 0.98);
}

.site-header__principles {
    background: var(--aq-ink-deep);
    color: #dce8eb;
    font-size: 0.77rem;
    letter-spacing: 0.02em;
}

.principles-row {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.principles-row p,
.principles-row ul {
    margin: 0;
}

.principles-row ul {
    display: flex;
    gap: 1.35rem;
    padding: 0;
    list-style: none;
}

.principles-row li::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 0.48rem;
    border-radius: 50%;
    background: #6cd1c4;
    vertical-align: 0.08em;
}

.site-header__main {
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.site-branding {
    flex: 0 0 auto;
}

.custom-logo-link {
    display: block;
}

.custom-logo {
    width: auto;
    max-height: 48px;
}

.brand-mark {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    color: var(--aq-ink);
    text-decoration: none;
}

.brand-mark__name {
    font-size: 1.55rem;
    font-weight: 800;
    letter-spacing: -0.045em;
}

.brand-mark__dot {
    width: 8px;
    height: 8px;
    margin: -0.9rem 0.32rem 0 0.02rem;
    border-radius: 50%;
    background: var(--aq-teal);
}

.brand-mark__tagline {
    padding-left: 0.65rem;
    border-left: 1px solid var(--aq-line-strong);
    color: var(--aq-muted);
    font-size: 0.72rem;
    letter-spacing: 0.04em;
}

.site-navigation-wrap {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu--primary {
    display: flex;
    align-items: center;
    gap: 1.55rem;
}

.menu--primary a {
    position: relative;
    display: block;
    padding: 0.6rem 0;
    color: var(--aq-text);
    font-size: 0.94rem;
    font-weight: 620;
    text-decoration: none;
}

.menu--primary a::after {
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 2px;
    background: var(--aq-teal);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 160ms ease;
}

.menu--primary a:hover,
.menu--primary .current-menu-item > a,
.menu--primary .current-menu-ancestor > a {
    color: var(--aq-ink);
}

.menu--primary a:hover::after,
.menu--primary .current-menu-item > a::after,
.menu--primary .current-menu-ancestor > a::after {
    transform: scaleX(1);
}

.menu--primary .menu-item-has-children {
    position: relative;
}

.menu--primary .sub-menu {
    position: absolute;
    top: calc(100% - 4px);
    left: -1rem;
    display: none;
    min-width: 210px;
    padding: 0.55rem;
    border: 1px solid var(--aq-line);
    border-radius: 10px;
    background: var(--aq-white);
    box-shadow: var(--aq-shadow-lg);
    list-style: none;
}

.menu--primary .menu-item-has-children:hover > .sub-menu,
.menu--primary .menu-item-has-children:focus-within > .sub-menu {
    display: block;
}

.menu--primary .sub-menu a {
    padding: 0.62rem 0.75rem;
    border-radius: 6px;
    white-space: nowrap;
}

.menu--primary .sub-menu a::after {
    display: none;
}

.menu--primary .sub-menu a:hover,
.menu--primary .sub-menu a:focus-visible {
    background: var(--aq-paper);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.header-search {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem;
    color: var(--aq-muted);
    font-size: 0.88rem;
    text-decoration: none;
}

.header-search span {
    font-size: 1.35rem;
    line-height: 1;
}

.menu-toggle {
    display: none;
    min-width: 48px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    padding: 0.5rem 0.7rem;
    border: 1px solid var(--aq-line-strong);
    border-radius: 8px;
    background: var(--aq-white);
    color: var(--aq-ink);
}

.menu-toggle__label {
    font-size: 0.85rem;
    font-weight: 650;
}

.menu-toggle__lines {
    display: grid;
    gap: 4px;
}

.menu-toggle__lines span {
    display: block;
    width: 18px;
    height: 2px;
    background: currentcolor;
    transition: transform 160ms ease, opacity 160ms ease;
}

/* Layout and page headers */
.site-main {
    min-height: 55vh;
}

.page-hero,
.archive-hero,
.search-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3.7rem, 8vw, 7rem) 0;
    border-bottom: 1px solid var(--aq-line);
    background: var(--aq-paper);
}

.page-hero::after,
.archive-hero::after {
    position: absolute;
    top: -190px;
    right: -130px;
    width: 430px;
    height: 430px;
    border: 86px solid rgba(8, 124, 115, 0.06);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.page-hero__content,
.archive-hero__content {
    position: relative;
    z-index: 1;
    max-width: 830px;
}

.page-hero h1,
.archive-hero h1,
.search-hero h1 {
    max-width: 900px;
    margin-bottom: 1rem;
    font-size: clamp(2.15rem, 5vw, 3.85rem);
}

.page-hero .lede,
.archive-hero .lede {
    max-width: 720px;
    margin-bottom: 0;
}

.breadcrumbs {
    padding: 1rem 0;
    border-bottom: 1px solid var(--aq-line);
    color: var(--aq-muted);
    font-size: 0.84rem;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumbs li:not(:last-child)::after {
    margin-left: 0.4rem;
    color: #a0afb5;
    content: "/";
}

.breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.content-section {
    padding: clamp(3.5rem, 7vw, 6.5rem) 0;
}

.content-section--soft {
    border-block: 1px solid var(--aq-line);
    background: var(--aq-paper);
}

.content-section--teal {
    background: var(--aq-teal-soft);
}

.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.section-heading > div {
    max-width: 760px;
}

.section-heading h2 {
    margin-bottom: 0.55rem;
}

.section-heading p:not(.eyebrow) {
    margin-bottom: 0;
    color: var(--aq-muted);
}

/* Home hero */
.home-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 7rem);
    background:
        linear-gradient(115deg, rgba(231, 244, 241, 0.8), rgba(255, 255, 255, 0) 52%),
        var(--aq-white);
}

.home-hero::before {
    position: absolute;
    top: 12%;
    right: max(-120px, calc((100vw - var(--aq-container)) / 2 - 190px));
    width: min(42vw, 570px);
    aspect-ratio: 1;
    border: 1px solid #c7ddd9;
    border-radius: 50%;
    box-shadow:
        inset 0 0 0 54px rgba(255, 255, 255, 0.58),
        inset 0 0 0 55px #d9e9e6,
        inset 0 0 0 118px rgba(255, 255, 255, 0.38);
    content: "";
    pointer-events: none;
}

.home-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
    gap: clamp(2.5rem, 7vw, 7rem);
    align-items: center;
}

.home-hero h1 {
    max-width: 800px;
    margin-bottom: 1.25rem;
    font-size: clamp(2.7rem, 6.5vw, 5.4rem);
    letter-spacing: -0.055em;
}

.home-hero h1 em {
    color: var(--aq-teal);
    font-style: normal;
}

.home-hero .lede {
    max-width: 690px;
    margin-bottom: 2rem;
}

.resource-search {
    display: flex;
    max-width: 720px;
    padding: 7px;
    border: 1px solid var(--aq-line-strong);
    border-radius: 12px;
    background: var(--aq-white);
    box-shadow: var(--aq-shadow-sm);
}

.resource-search label {
    flex: 1;
}

.resource-search input[type="search"] {
    width: 100%;
    min-height: 50px;
    padding: 0 1rem;
    border: 0;
    background: transparent;
    color: var(--aq-ink);
    outline: 0;
}

.resource-search:focus-within {
    border-color: var(--aq-teal);
    box-shadow: 0 0 0 3px rgba(8, 124, 115, 0.14);
}

.resource-search button {
    min-width: 108px;
    min-height: 50px;
    border: 0;
    border-radius: 8px;
    background: var(--aq-ink);
    color: var(--aq-white);
    font-weight: 680;
}

.resource-search button:hover {
    background: var(--aq-teal-dark);
}

.hero-shortcuts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.2rem;
    margin: 1rem 0 0;
    padding: 0;
    color: var(--aq-muted);
    font-size: 0.86rem;
    list-style: none;
}

.hero-shortcuts a {
    color: inherit;
}

.hero-evidence {
    padding: 1.6rem;
    border: 1px solid rgba(16, 42, 59, 0.1);
    border-radius: var(--aq-radius-lg);
    background: rgba(255, 255, 255, 0.84);
    box-shadow: var(--aq-shadow-lg);
    backdrop-filter: blur(8px);
}

.hero-evidence h2 {
    margin-bottom: 1.2rem;
    font-size: 1rem;
    letter-spacing: 0;
}

.hero-evidence ol {
    display: grid;
    gap: 1.1rem;
    margin: 0;
    padding: 0;
    counter-reset: evidence;
    list-style: none;
}

.hero-evidence li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 0.75rem;
    align-items: start;
    color: var(--aq-text);
    font-size: 0.9rem;
    line-height: 1.55;
    counter-increment: evidence;
}

.hero-evidence li::before {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: var(--aq-teal-soft);
    color: var(--aq-teal-dark);
    content: counter(evidence, decimal-leading-zero);
    font-size: 0.7rem;
    font-weight: 750;
}

.principle-strip {
    border-block: 1px solid var(--aq-line);
    background: var(--aq-paper);
}

.principle-strip__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.principle-item {
    padding: 1.4rem clamp(1rem, 3vw, 2.5rem);
    border-left: 1px solid var(--aq-line);
}

.principle-item:last-child {
    border-right: 1px solid var(--aq-line);
}

.principle-item strong,
.principle-item span {
    display: block;
}

.principle-item strong {
    color: var(--aq-ink);
    font-size: 0.98rem;
}

.principle-item span {
    margin-top: 0.25rem;
    color: var(--aq-muted);
    font-size: 0.82rem;
}

/* V1 platform homepage */
.site-main--platform {
    overflow: hidden;
}

.platform-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(5rem, 9vw, 8rem) 0 clamp(4.5rem, 8vw, 7rem);
    background:
        linear-gradient(90deg, var(--aq-orange) 0 8px, transparent 8px),
        radial-gradient(circle at 78% 22%, rgba(28, 166, 206, 0.16), transparent 31%),
        radial-gradient(circle at 18% 110%, rgba(8, 124, 115, 0.22), transparent 36%),
        var(--aq-ink-deep);
    color: #d5e3e9;
}

.platform-hero::after {
    position: absolute;
    top: clamp(2rem, 5vw, 4rem);
    right: max(28px, calc((100vw - var(--aq-container)) / 2));
    width: 180px;
    height: 52px;
    background:
        linear-gradient(var(--aq-cyan), var(--aq-cyan)) 100% 0 / 100% 8px no-repeat,
        linear-gradient(var(--aq-orange), var(--aq-orange)) 100% 100% / 68% 8px no-repeat;
    content: "";
    opacity: 0.95;
}

.platform-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
    gap: clamp(2.5rem, 7vw, 7rem);
    align-items: end;
}

.platform-hero .eyebrow {
    color: var(--aq-orange);
}

.platform-hero h1 {
    max-width: 850px;
    margin-bottom: 1.3rem;
    color: var(--aq-white);
    font-size: clamp(2.7rem, 5.8vw, 5rem);
    letter-spacing: -0.055em;
    line-height: 1.08;
}

.platform-hero h1 strong {
    display: block;
    margin-top: 0.18em;
    color: var(--aq-orange);
    font-weight: inherit;
}

.platform-hero .lede {
    max-width: 760px;
    margin-bottom: 2rem;
    color: #c1d3db;
}

.resource-search--hero {
    max-width: 760px;
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
}

.resource-search--hero button {
    background: var(--aq-orange);
    color: var(--aq-ink-deep);
}

.resource-search--hero button:hover {
    background: #ffb83f;
    color: var(--aq-ink-deep);
}

.platform-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.button--ghost-light {
    border-color: rgba(255, 255, 255, 0.35);
    background: transparent;
    color: var(--aq-white);
}

.button--ghost-light:hover {
    border-color: var(--aq-white);
    background: rgba(255, 255, 255, 0.1);
    color: var(--aq-white);
}

.hero-shortcuts--light {
    color: #a9c0ca;
}

.hero-shortcuts--light a {
    color: #dbe8ed;
}

.platform-console {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--aq-radius-lg);
    background: rgba(8, 28, 42, 0.82);
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(10px);
}

.platform-console__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
}

.platform-console__header p {
    margin: 0;
    color: var(--aq-white);
    font-size: 0.82rem;
    font-weight: 750;
    letter-spacing: 0.08em;
}

.platform-console__header span {
    padding: 0.2rem 0.48rem;
    border: 1px solid rgba(28, 166, 206, 0.5);
    border-radius: 999px;
    color: #6bd0eb;
    font-size: 0.66rem;
    font-weight: 750;
}

.platform-console dl {
    margin: 0;
    padding: 0 1.25rem;
}

.platform-console dl > div {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 1rem;
    padding: 1.1rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.platform-console dt {
    color: var(--aq-cyan);
    font-size: 0.78rem;
    font-weight: 750;
}

.platform-console dd {
    margin: 0;
    color: #d0dee4;
    font-size: 0.86rem;
}

.platform-console__note {
    margin: 0;
    padding: 1.05rem 1.25rem;
    color: #9fb6c0;
    font-size: 0.72rem;
    line-height: 1.6;
}

.service-match-card .button--block {
    display: flex;
    width: calc(100% - 2.5rem);
    margin: 1.25rem 1.25rem 0;
    justify-content: center;
}

.trust-rail {
    border-bottom: 1px solid var(--aq-line);
    background: var(--aq-white);
}

.trust-rail__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trust-rail__grid > div {
    position: relative;
    padding: 1.45rem clamp(1rem, 3vw, 2.3rem);
    border-left: 1px solid var(--aq-line);
}

.trust-rail__grid > div:last-child {
    border-right: 1px solid var(--aq-line);
}

.trust-rail__grid span {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--aq-cyan-dark);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.trust-rail__grid strong {
    color: var(--aq-ink);
    font-size: 1rem;
}

.trust-rail__grid p {
    margin: 0.22rem 0 0;
    color: var(--aq-muted);
    font-size: 0.8rem;
    line-height: 1.55;
}

.section-heading--platform {
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.platform-centers {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
}

.platform-center {
    position: relative;
    display: flex;
    min-height: 280px;
    grid-column: span 2;
    flex-direction: column;
    padding: 1.6rem;
    overflow: hidden;
    border: 1px solid var(--aq-line);
    border-top: 5px solid var(--center-accent, var(--aq-teal));
    border-radius: var(--aq-radius);
    background: var(--aq-white);
    color: inherit;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.platform-center:nth-child(n + 4) {
    min-height: 250px;
    grid-column: span 3;
}

.platform-centers--six .platform-center,
.platform-centers--six .platform-center:nth-child(n + 4) {
    min-height: 250px;
    grid-column: span 2;
}

.platform-center:hover {
    border-color: var(--center-accent, var(--aq-teal));
    box-shadow: var(--aq-shadow-sm);
    color: inherit;
    transform: translateY(-3px);
}

.platform-center.is-cyan,
.knowledge-cluster.is-cyan,
.testing-step.is-cyan {
    --center-accent: var(--aq-cyan);
    --center-soft: var(--aq-cyan-soft);
}

.platform-center.is-green,
.knowledge-cluster.is-green,
.testing-step.is-green {
    --center-accent: var(--aq-green);
    --center-soft: var(--aq-green-soft);
}

.platform-center.is-teal,
.knowledge-cluster.is-teal,
.testing-step.is-teal {
    --center-accent: var(--aq-teal);
    --center-soft: var(--aq-teal-soft);
}

.platform-center.is-orange,
.knowledge-cluster.is-orange,
.testing-step.is-orange {
    --center-accent: var(--aq-orange);
    --center-soft: var(--aq-orange-soft);
}

.platform-center.is-navy {
    --center-accent: var(--aq-ink);
    --center-soft: var(--aq-blue-soft);
}

.platform-center__number {
    display: grid;
    width: 44px;
    height: 44px;
    margin-bottom: 2.4rem;
    place-items: center;
    border-radius: 50%;
    background: var(--center-soft, var(--aq-teal-soft));
    color: var(--center-accent, var(--aq-teal));
    font-size: 0.72rem;
    font-weight: 800;
}

.platform-center h3 {
    margin-bottom: 0.6rem;
}

.platform-center p {
    margin-bottom: 1.25rem;
    color: var(--aq-muted);
    font-size: 0.9rem;
}

.platform-center__link {
    margin-top: auto;
    color: var(--center-accent, var(--aq-teal));
    font-size: 0.82rem;
    font-weight: 720;
}

.data-center-note {
    display: grid;
    grid-template-columns: minmax(200px, 0.35fr) minmax(0, 1fr);
    gap: 2rem;
    align-items: center;
    margin-top: 1rem;
    padding: 1.2rem 1.4rem;
    border: 1px dashed var(--aq-line-strong);
    border-radius: var(--aq-radius-sm);
    background: var(--aq-paper);
}

.data-center-note div {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.data-center-note span {
    color: var(--aq-orange-dark);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.data-center-note strong {
    color: var(--aq-ink);
}

.data-center-note p {
    margin: 0;
    color: var(--aq-muted);
    font-size: 0.84rem;
}

.knowledge-clusters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.knowledge-cluster {
    padding: 1.45rem;
    border: 1px solid var(--aq-line);
    border-top: 4px solid var(--center-accent, var(--aq-teal));
    border-radius: var(--aq-radius-sm);
    background: var(--aq-white);
}

.knowledge-cluster h3 {
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
}

.knowledge-cluster > p {
    min-height: 76px;
    color: var(--aq-muted);
    font-size: 0.84rem;
    line-height: 1.65;
}

.knowledge-cluster ul {
    display: grid;
    gap: 0.55rem;
    margin: 1rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid var(--aq-line);
    list-style: none;
}

.knowledge-cluster a {
    color: var(--aq-ink);
    font-size: 0.8rem;
    text-decoration: none;
}

.knowledge-cluster a::after {
    margin-left: 0.35rem;
    color: var(--center-accent, var(--aq-teal));
    content: "→";
}

.entity-index {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--aq-line);
    border-left: 1px solid var(--aq-line);
}

.entity-link {
    display: grid;
    min-height: 112px;
    grid-template-columns: 58px 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 1.2rem;
    border-right: 1px solid var(--aq-line);
    border-bottom: 1px solid var(--aq-line);
    color: inherit;
    text-decoration: none;
    transition: background 160ms ease;
}

.entity-link:hover {
    background: var(--aq-cyan-soft);
    color: inherit;
}

.entity-link__code {
    display: grid;
    min-height: 48px;
    place-items: center;
    border-radius: 6px;
    background: var(--aq-ink);
    color: var(--aq-white);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.entity-link strong,
.entity-link small {
    display: block;
}

.entity-link strong {
    color: var(--aq-ink);
}

.entity-link small {
    margin-top: 0.2rem;
    color: var(--aq-muted);
    font-size: 0.75rem;
}

.entity-link > span:last-child {
    color: var(--aq-cyan-dark);
}

.content-section--testing {
    border-block: 1px solid #d6eaf0;
    background: #f4fafc;
}

.testing-journey {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.testing-step {
    position: relative;
    min-height: 215px;
    padding: 1.45rem;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius-sm);
    background: var(--aq-white);
}

.testing-step > span {
    display: block;
    margin-bottom: 2.5rem;
    color: var(--center-accent, var(--aq-teal));
    font-size: 0.75rem;
    font-weight: 800;
}

.testing-step::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    border-radius: var(--aq-radius-sm) var(--aq-radius-sm) 0 0;
    background: var(--center-accent, var(--aq-teal));
    content: "";
}

.testing-step h3 {
    margin-bottom: 0.45rem;
    font-size: 1.08rem;
}

.testing-step p {
    margin: 0;
    color: var(--aq-muted);
    font-size: 0.82rem;
    line-height: 1.65;
}

.core-guides {
    display: grid;
    grid-template-columns: minmax(180px, 0.3fr) minmax(0, 1fr);
    gap: 2rem;
    margin-top: 1rem;
    padding: 1.25rem 1.4rem;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius-sm);
    background: var(--aq-white);
}

.core-guides > p {
    margin: 0;
    color: var(--aq-orange-dark);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.core-guides ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 2rem;
    margin: 0;
    padding-left: 1.35rem;
}

.core-guides a {
    color: var(--aq-ink);
    font-size: 0.82rem;
    text-decoration: none;
}

.prevention-section {
    background: var(--aq-white);
}

.prevention-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: center;
}

.prevention-grid h2 {
    max-width: 650px;
}

.prevention-timeline {
    position: relative;
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.prevention-timeline::before {
    position: absolute;
    top: 25px;
    bottom: 25px;
    left: 16px;
    width: 2px;
    background: linear-gradient(var(--aq-cyan), var(--aq-green), var(--aq-orange), var(--aq-teal));
    content: "";
}

.prevention-timeline li {
    position: relative;
    display: grid;
    grid-template-columns: 115px 1fr;
    gap: 1.1rem;
    padding: 1.15rem 0 1.15rem 3.1rem;
    border-bottom: 1px solid var(--aq-line);
}

.prevention-timeline li::before {
    position: absolute;
    top: 1.55rem;
    left: 9px;
    width: 16px;
    height: 16px;
    border: 4px solid var(--aq-white);
    border-radius: 50%;
    background: var(--aq-cyan);
    box-shadow: 0 0 0 1px var(--aq-line-strong);
    content: "";
}

.prevention-timeline li:nth-child(2)::before {
    background: var(--aq-green);
}

.prevention-timeline li:nth-child(3)::before {
    background: var(--aq-orange);
}

.prevention-timeline li:nth-child(4)::before {
    background: var(--aq-teal);
}

.prevention-timeline span {
    color: var(--aq-ink);
    font-weight: 720;
}

.prevention-timeline p {
    margin: 0;
    color: var(--aq-muted);
    font-size: 0.84rem;
}

.institution-database {
    position: relative;
    background:
        radial-gradient(circle at 8% 10%, rgba(28, 166, 206, 0.12), transparent 24%),
        var(--aq-ink-deep);
    color: #ccdae0;
}

.institution-database::after {
    position: absolute;
    top: 0;
    right: max(28px, calc((100vw - var(--aq-container)) / 2));
    width: 150px;
    height: 8px;
    background: var(--aq-orange);
    content: "";
}

.institution-database h2,
.institution-database h3,
.institution-database strong {
    color: var(--aq-white);
}

.institution-database .eyebrow {
    color: var(--aq-cyan);
}

.institution-database__intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.5rem;
}

.institution-database__intro > div {
    max-width: 780px;
}

.institution-database__intro p:not(.eyebrow) {
    margin-bottom: 0;
    color: #a9bec7;
}

.database-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 1rem;
}

.database-schema {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.database-schema > div {
    min-height: 170px;
    padding: 1.35rem;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.database-schema span {
    display: block;
    margin-bottom: 2.2rem;
    color: var(--aq-cyan);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.database-schema p {
    margin: 0.4rem 0 0;
    color: #a9bec7;
    font-size: 0.8rem;
    line-height: 1.6;
}

.database-search {
    align-self: stretch;
    padding: 1.6rem;
    border-radius: var(--aq-radius);
    background: var(--aq-white);
    color: var(--aq-text);
}

.database-search h3 {
    color: var(--aq-ink);
}

.database-search > p {
    color: var(--aq-muted);
    font-size: 0.84rem;
}

.database-search label {
    display: block;
    margin: 0.8rem 0 0.35rem;
    color: var(--aq-ink);
    font-size: 0.8rem;
    font-weight: 680;
}

.database-search .field {
    margin-top: 0.8rem;
}

.database-search .button {
    width: 100%;
    margin-top: 1rem;
}

.database-search__help {
    margin: 0.85rem 0 0 !important;
    color: var(--aq-muted) !important;
    font-size: 0.72rem !important;
}

.city-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.city-links span {
    margin-right: 0.4rem;
    color: #7e99a5;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.08em;
}

.city-links a {
    padding: 0.32rem 0.68rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    color: #d9e5e9;
    font-size: 0.75rem;
    text-decoration: none;
}

.city-links a:hover {
    border-color: var(--aq-cyan);
    color: var(--aq-white);
}

.quality-flow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.quality-flow::before {
    position: absolute;
    top: 25px;
    right: 7%;
    left: 7%;
    height: 1px;
    background: var(--aq-line-strong);
    content: "";
}

.quality-flow li {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    padding: 0 0.65rem;
    text-align: center;
}

.quality-flow span {
    display: grid;
    width: 50px;
    height: 50px;
    margin-bottom: 0.85rem;
    place-items: center;
    border: 1px solid var(--aq-line-strong);
    border-radius: 50%;
    background: var(--aq-white);
    color: var(--aq-teal-dark);
    font-size: 0.72rem;
    font-weight: 800;
}

.quality-flow strong,
.quality-flow small {
    display: block;
}

.quality-flow strong {
    color: var(--aq-ink);
    font-size: 0.92rem;
}

.quality-flow small {
    margin-top: 0.2rem;
    color: var(--aq-muted);
    font-size: 0.68rem;
}

.ai-answer-source {
    border-block: 1px solid var(--aq-line);
    background: var(--aq-white);
}

.ai-answer-source__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: center;
}

.ai-answer-source__grid > div > p:not(.eyebrow) {
    color: var(--aq-muted);
}

.ai-answer-source ul {
    display: grid;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--aq-line);
    list-style: none;
}

.ai-answer-source li {
    display: grid;
    grid-template-columns: 125px 1fr;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--aq-line);
}

.ai-answer-source li span {
    color: var(--aq-cyan-dark);
    font-size: 0.74rem;
    font-weight: 750;
}

.ai-answer-source li strong {
    color: var(--aq-ink);
    font-size: 0.88rem;
}

.home-final-cta {
    background: var(--aq-orange-soft);
}

.home-final-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.home-final-cta__inner > div:first-child {
    max-width: 780px;
}

.home-final-cta__inner h2 {
    margin-bottom: 0;
}

.home-final-cta__inner > div:last-child {
    display: flex;
    flex: 0 0 auto;
    gap: 0.7rem;
}

/* Cards and grids */
.resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.resource-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.resource-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 1.45rem;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius);
    background: var(--aq-white);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.resource-card:hover {
    border-color: #a9c8c3;
    box-shadow: var(--aq-shadow-sm);
    transform: translateY(-3px);
}

.resource-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.85rem;
    margin-bottom: 0.9rem;
    color: var(--aq-muted);
    font-size: 0.76rem;
}

.resource-card__badges {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
}

.resource-card__type {
    color: var(--aq-teal-dark);
    font-weight: 720;
    letter-spacing: 0.08em;
}

.resource-card h2,
.resource-card h3 {
    margin-bottom: 0.7rem;
    font-size: 1.22rem;
    letter-spacing: -0.018em;
}

.resource-card h2 a,
.resource-card h3 a {
    color: inherit;
    text-decoration: none;
}

.resource-card h2 a::after,
.resource-card h3 a::after {
    position: absolute;
    inset: 0;
    content: "";
}

.resource-card__excerpt {
    color: var(--aq-muted);
    font-size: 0.92rem;
    line-height: 1.7;
}

.resource-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1.1rem;
    border-top: 1px solid var(--aq-line);
    color: var(--aq-muted);
    font-size: 0.8rem;
}

.resource-card__arrow {
    color: var(--aq-teal);
    font-size: 1.15rem;
}

.resource-card--feature {
    grid-column: span 2;
    min-height: 300px;
    justify-content: end;
    padding: clamp(1.7rem, 4vw, 2.6rem);
    background: var(--aq-ink);
}

.resource-card--feature h2,
.resource-card--feature h3,
.resource-card--feature .resource-card__type {
    color: var(--aq-white);
}

.resource-card--feature .resource-card__excerpt,
.resource-card--feature .resource-card__meta,
.resource-card--feature .resource-card__footer {
    color: #c4d3d8;
}

.resource-card--feature .resource-card__footer {
    border-color: rgba(255, 255, 255, 0.15);
}

.resource-card--institution h2,
.resource-card--institution h3 {
    margin-top: 0.7rem;
}

.card-terms {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.3rem 0 1rem;
}

.card-terms a,
.chip {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0.25rem 0.58rem;
    border-radius: 999px;
    background: var(--aq-paper);
    color: #4a626e;
    font-size: 0.74rem;
    line-height: 1.3;
    text-decoration: none;
}

.status-badge {
    display: inline-flex;
    width: fit-content;
    min-height: 30px;
    align-items: center;
    gap: 0.45rem;
    padding: 0.3rem 0.65rem;
    border: 1px solid var(--aq-line-strong);
    border-radius: 999px;
    background: var(--aq-paper);
    color: var(--aq-text);
    font-size: 0.74rem;
    font-weight: 650;
    line-height: 1.2;
}

.status-badge > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--aq-muted);
}

.status-badge.is-verified {
    border-color: #a7d3ca;
    background: var(--aq-teal-soft);
    color: #075c56;
}

.status-badge.is-verified > span {
    background: var(--aq-teal);
}

.status-badge.is-pending {
    border-color: #e7c887;
    background: var(--aq-amber-soft);
    color: #744704;
}

.status-badge.is-pending > span {
    background: var(--aq-amber);
}

.status-badge.is-submitted {
    border-color: #b8ccd8;
    background: var(--aq-blue-soft);
    color: #35566b;
}

.status-badge.is-submitted > span {
    background: #527d95;
}

.status-badge.is-recommended {
    border-color: #f0c36c;
    background: var(--aq-orange-soft);
    color: #754600;
}

.status-badge.is-recommended > span {
    background: var(--aq-orange);
}

.status-badge.is-sponsored {
    border-color: #9db9c9;
    background: var(--aq-blue-soft);
    color: #244e64;
}

.status-badge.is-sponsored > span {
    background: #3e728b;
}

.quick-paths {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.quick-paths.resource-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.quick-path {
    position: relative;
    min-height: 225px;
    padding: 1.6rem;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius);
    background: var(--aq-white);
    color: inherit;
    text-decoration: none;
}

.quick-path__number {
    display: block;
    margin-bottom: 2.8rem;
    color: var(--aq-teal);
    font-size: 0.77rem;
    font-weight: 720;
    letter-spacing: 0.13em;
}

.quick-path h3 {
    margin-bottom: 0.45rem;
}

.quick-path p {
    margin: 0;
    color: var(--aq-muted);
    font-size: 0.9rem;
}

.quick-path::after {
    position: absolute;
    top: 1.35rem;
    right: 1.35rem;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid var(--aq-line-strong);
    border-radius: 50%;
    color: var(--aq-teal);
    content: "↗";
    transition: background 160ms ease, color 160ms ease;
}

.quick-path:hover {
    border-color: #a9c8c3;
    color: inherit;
}

.quick-path:hover::after {
    background: var(--aq-teal);
    color: var(--aq-white);
}

.quick-path--static::after {
    display: none;
}

/* Filters and forms */
.archive-tools {
    margin-top: -1px;
    padding: 1.2rem 0;
    border-bottom: 1px solid var(--aq-line);
    background: var(--aq-white);
}

.archive-tools__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1.1rem;
    margin-top: 1rem;
    font-size: 0.84rem;
}

.archive-tools__links a {
    font-weight: 700;
}

/* Service and commercial conversion sections */
.home-institution-results {
    margin-top: clamp(2.25rem, 5vw, 4rem);
}

.section-heading--compact {
    margin-bottom: 1.2rem;
}

.section-heading--compact h3 {
    margin: 0;
    color: var(--aq-white);
}

.institution-database .resource-card {
    border-color: rgba(255, 255, 255, 0.12);
}

.institution-database .resource-card h2,
.institution-database .resource-card h3 {
    color: var(--aq-ink);
}

.notice-card--dark {
    margin-top: 2rem;
    border-color: rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.06);
    color: #b9ccd4;
}

.notice-card--dark h3 {
    color: var(--aq-white);
}

.home-business-section {
    background: var(--aq-white);
}

.home-business-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.business-card {
    min-height: 330px;
    padding: clamp(2rem, 5vw, 3.4rem);
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius-lg);
}

.business-card h2 {
    max-width: 600px;
}

.business-card p:not(.eyebrow) {
    max-width: 600px;
}

.business-card .button {
    margin-top: 0.75rem;
}

.business-card--user {
    background:
        radial-gradient(circle at 92% 12%, rgba(28, 166, 206, 0.18), transparent 30%),
        var(--aq-cyan-soft);
}

.business-card--institution {
    border-color: rgba(255, 255, 255, 0.14);
    background:
        radial-gradient(circle at 92% 12%, rgba(245, 166, 35, 0.18), transparent 30%),
        var(--aq-ink-deep);
    color: #b9ccd4;
}

.business-card--institution h2 {
    color: var(--aq-white);
}

.business-card--institution .eyebrow {
    color: var(--aq-orange);
}

.home-data-strip {
    padding-top: clamp(2.4rem, 5vw, 4rem);
    padding-bottom: clamp(2.4rem, 5vw, 4rem);
    background: var(--aq-paper-warm);
}

.home-data-strip__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.home-data-strip__inner > div {
    max-width: 760px;
}

.home-data-strip__inner h2,
.home-data-strip__inner p:last-child {
    margin-bottom: 0;
}

.filter-form {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(150px, 0.8fr)) auto;
    gap: 0.85rem;
    align-items: end;
}

.filter-form--compact {
    grid-template-columns: repeat(2, minmax(180px, 1fr)) auto;
}

.field,
.airqtest-form-field,
.managed-form p {
    min-width: 0;
}

.field label,
.airqtest-form-field label,
.managed-form label {
    display: block;
    margin-bottom: 0.38rem;
    color: var(--aq-ink);
    font-size: 0.82rem;
    font-weight: 650;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="number"],
input[type="date"],
select,
textarea {
    width: 100%;
    min-height: 48px;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--aq-line-strong);
    border-radius: 8px;
    background: var(--aq-white);
    color: var(--aq-ink);
}

textarea {
    min-height: 145px;
    resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--aq-teal);
    outline: 3px solid rgba(8, 124, 115, 0.12);
    outline-offset: 0;
}

.form-help,
.description {
    display: block;
    margin-top: 0.3rem;
    color: var(--aq-muted);
    font-size: 0.78rem;
}

.filter-actions {
    display: flex;
    gap: 0.55rem;
}

.managed-form {
    display: grid;
    grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(2rem, 6vw, 5rem);
    padding: clamp(1.8rem, 5vw, 4rem);
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius-lg);
    background: var(--aq-paper);
}

.managed-form__intro {
    align-self: start;
}

.managed-form__intro h2 {
    font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.managed-form__body {
    padding: clamp(1.25rem, 4vw, 2rem);
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius);
    background: var(--aq-white);
    box-shadow: var(--aq-shadow-sm);
}

.managed-form__body > :last-child,
.managed-form__body form > :last-child {
    margin-bottom: 0;
}

.airqtest-form-notice {
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--aq-line-strong);
    border-radius: var(--aq-radius-sm);
    background: var(--aq-blue-soft);
}

.airqtest-form-notice p:last-child {
    margin-bottom: 0;
}

.airqtest-form-success {
    border-color: #a7d3ca;
    background: var(--aq-teal-soft);
}

.airqtest-form-error {
    border-color: #deb0b0;
    background: var(--aq-red-soft);
}

.airqtest-form-pending {
    border-color: #e3c990;
    background: var(--aq-amber-soft);
}

.notice-card {
    padding: 1.25rem;
    border: 1px solid #e3c990;
    border-radius: 10px;
    background: var(--aq-amber-soft);
}

.notice-card h3 {
    margin-bottom: 0.35rem;
    font-size: 1rem;
}

.notice-card p:last-child {
    margin-bottom: 0;
}

/* Archive */
.archive-hero--pollutants {
    background:
        linear-gradient(125deg, rgba(7, 39, 51, 0.98), rgba(8, 67, 75, 0.96)),
        var(--aq-ink-deep);
    color: var(--aq-white);
}

.archive-hero--pollutants::after {
    border-color: rgba(41, 192, 174, 0.12);
}

.archive-hero--pollutants h1,
.archive-hero--pollutants .eyebrow {
    color: var(--aq-white);
}

.archive-hero--pollutants .lede,
.archive-hero__note {
    color: #c9dbdf;
}

.archive-hero__note {
    max-width: 760px;
    margin: 1.1rem 0 0;
    font-size: 0.9rem;
}

.pollutant-guide,
.pollutant-reference {
    padding: clamp(3rem, 6vw, 5.6rem) 0;
}

.pollutant-guide {
    background: var(--aq-paper);
}

.pollutant-guide__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 2rem;
}

.pollutant-guide__grid article {
    padding: 1.55rem;
    border: 1px solid var(--aq-line);
    border-top: 4px solid var(--aq-teal);
    border-radius: var(--aq-radius);
    background: var(--aq-white);
}

.pollutant-guide__grid span {
    display: inline-grid;
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: 1rem;
    place-items: center;
    border-radius: 50%;
    background: var(--aq-teal-soft);
    color: var(--aq-teal-dark);
    font-size: 0.76rem;
    font-weight: 800;
}

.pollutant-guide__grid h3 {
    margin-bottom: 0.65rem;
}

.pollutant-guide__grid p {
    margin: 0;
    color: var(--aq-muted);
}

.section-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.8rem;
}

.section-heading-row h2,
.section-heading-row .eyebrow {
    margin-bottom: 0;
}

.table-scroll {
    overflow-x: auto;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius);
    background: var(--aq-white);
    box-shadow: var(--aq-shadow-sm);
}

.pollutant-limit-table {
    width: 100%;
    min-width: 760px;
    margin: 0;
    border-collapse: collapse;
}

.pollutant-limit-table th,
.pollutant-limit-table td {
    padding: 0.9rem 1rem;
    border-bottom: 1px solid var(--aq-line);
    text-align: left;
    vertical-align: top;
}

.pollutant-limit-table thead th {
    background: var(--aq-ink-deep);
    color: var(--aq-white);
    font-size: 0.82rem;
}

.pollutant-limit-table tbody th {
    width: 22%;
}

.pollutant-limit-table tbody td:nth-child(2) {
    width: 24%;
    color: var(--aq-teal-dark);
    font-weight: 700;
}

.pollutant-limit-table tbody tr:last-child th,
.pollutant-limit-table tbody tr:last-child td {
    border-bottom: 0;
}

.pollutant-reference__note {
    margin: 1rem 0 0;
    padding: 1rem 1.1rem;
    border-left: 4px solid var(--aq-amber);
    background: var(--aq-amber-soft);
    color: var(--aq-muted);
    font-size: 0.88rem;
}

.archive-results--pollutants {
    border-top: 1px solid var(--aq-line);
    background: #f8fbfa;
}

.archive-hero--standards {
    background:
        radial-gradient(circle at 82% 28%, rgba(245, 166, 35, 0.14), transparent 25%),
        linear-gradient(125deg, rgba(8, 28, 42, 0.99), rgba(9, 61, 67, 0.97)),
        var(--aq-ink-deep);
    color: var(--aq-white);
}

.archive-hero--standards::after {
    border-color: rgba(245, 166, 35, 0.16);
}

.archive-hero--standards h1,
.archive-hero--standards .eyebrow {
    color: var(--aq-white);
}

.archive-hero--standards .lede {
    color: #d4e2e4;
}

.standard-routes,
.standard-register {
    padding: clamp(3rem, 6vw, 5.6rem) 0;
}

.standard-routes {
    background: var(--aq-paper);
}

.standard-routes__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.standard-route-card {
    display: flex;
    min-height: 285px;
    flex-direction: column;
    padding: 1.45rem;
    border: 1px solid var(--aq-line);
    border-top: 4px solid var(--aq-teal);
    border-radius: var(--aq-radius);
    background: var(--aq-white);
}

.standard-route-card:nth-child(2) {
    border-top-color: var(--aq-orange);
}

.standard-route-card:nth-child(3) {
    border-top-color: var(--aq-cyan);
}

.standard-route-card:nth-child(4) {
    border-top-color: var(--aq-green);
}

.standard-route-card__number {
    display: inline-grid;
    width: 2.35rem;
    height: 2.35rem;
    margin-bottom: 1.15rem;
    place-items: center;
    border-radius: 50%;
    background: var(--aq-teal-soft);
    color: var(--aq-teal-dark);
    font-size: 0.76rem;
    font-weight: 800;
}

.standard-route-card h3 {
    margin-bottom: 0.65rem;
    font-size: 1.08rem;
}

.standard-route-card p {
    margin-bottom: 1rem;
    color: var(--aq-muted);
    font-size: 0.9rem;
}

.standard-route-card ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: auto 0 0;
    padding: 0;
    list-style: none;
}

.standard-route-card li {
    margin: 0;
}

.standard-route-card a {
    display: inline-flex;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: var(--aq-blue-soft);
    color: var(--aq-teal-dark);
    font-size: 0.76rem;
    font-weight: 700;
    text-decoration: none;
}

.standard-route-card a:hover {
    background: var(--aq-teal);
    color: var(--aq-white);
}

.standard-register {
    background: var(--aq-white);
}

.standard-register__count {
    flex: 0 0 auto;
    padding: 0.42rem 0.75rem;
    border-radius: 999px;
    background: var(--aq-teal-soft);
    color: var(--aq-teal-dark);
    font-size: 0.8rem;
    font-weight: 750;
}

.standard-register-table {
    width: 100%;
    min-width: 1040px;
    margin: 0;
    border-collapse: collapse;
}

.standard-register-table th,
.standard-register-table td {
    padding: 0.95rem 1rem;
    border-bottom: 1px solid var(--aq-line);
    text-align: left;
    vertical-align: top;
}

.standard-register-table thead th {
    background: var(--aq-ink-deep);
    color: var(--aq-white);
    font-size: 0.8rem;
}

.standard-register-table tbody th {
    width: 28%;
}

.standard-register-table tbody th a {
    color: var(--aq-ink);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.standard-register-table tbody th small {
    display: block;
    margin-top: 0.35rem;
    color: var(--aq-muted);
    font-weight: 600;
}

.standard-register-table tbody td:nth-child(2) {
    width: 15%;
}

.standard-register-table tbody td:nth-child(3),
.standard-register-table tbody td:nth-child(4) {
    width: 11%;
    white-space: nowrap;
}

.standard-register-table tbody tr:last-child th,
.standard-register-table tbody tr:last-child td {
    border-bottom: 0;
}

.document-status {
    display: inline-flex;
    padding: 0.3rem 0.58rem;
    border-radius: 999px;
    background: var(--aq-paper);
    color: var(--aq-muted);
    font-size: 0.74rem;
    font-weight: 750;
}

.document-status--current {
    background: var(--aq-green-soft);
    color: var(--aq-green-dark);
}

.document-status--draft {
    background: var(--aq-amber-soft);
    color: var(--aq-amber);
}

.standard-register__note {
    margin: 1rem 0 0;
    padding: 1rem 1.1rem;
    border-left: 4px solid var(--aq-orange);
    background: var(--aq-orange-soft);
    color: var(--aq-muted);
    font-size: 0.88rem;
}

.archive-results--standards {
    border-top: 1px solid var(--aq-line);
    background: #f8fbfa;
}

.archive-results {
    padding: clamp(2.8rem, 6vw, 5.5rem) 0;
}

.results-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.4rem;
    color: var(--aq-muted);
    font-size: 0.86rem;
}

.results-summary p {
    margin: 0;
}

.pagination {
    margin-top: 2.5rem;
}

.pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pagination .page-numbers {
    display: grid;
    min-width: 44px;
    min-height: 44px;
    place-items: center;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--aq-line);
    border-radius: 7px;
    background: var(--aq-white);
    color: var(--aq-text);
    text-decoration: none;
}

.pagination .current {
    border-color: var(--aq-ink);
    background: var(--aq-ink);
    color: var(--aq-white);
}

.empty-state {
    max-width: 620px;
    margin: 1rem auto;
    padding: clamp(2rem, 6vw, 4rem);
    border: 1px dashed var(--aq-line-strong);
    border-radius: var(--aq-radius);
    background: var(--aq-paper);
    text-align: center;
}

.empty-state__mark {
    width: 52px;
    height: 52px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: var(--aq-white);
    color: var(--aq-teal);
    font-size: 1.5rem;
    line-height: 52px;
}

.empty-state h2 {
    font-size: 1.35rem;
}

.empty-state p:not(.empty-state__mark) {
    color: var(--aq-muted);
}

/* Singular content */
.entry-header {
    padding: clamp(3.4rem, 7vw, 6.4rem) 0 2.7rem;
}

.entry-header__inner {
    max-width: 920px;
}

.entry-header h1 {
    margin-bottom: 1.2rem;
    font-size: clamp(2.15rem, 5.5vw, 4rem);
}

.entry-summary {
    max-width: 760px;
    color: #536875;
    font-size: clamp(1.05rem, 2vw, 1.22rem);
}

.entry-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1.2rem;
    align-items: center;
    margin-top: 1.5rem;
    color: var(--aq-muted);
    font-size: 0.84rem;
}

.entry-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
}

.entry-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: clamp(2.5rem, 7vw, 6.4rem);
    align-items: start;
    padding-bottom: clamp(4rem, 8vw, 7rem);
}

.entry-content {
    min-width: 0;
    color: #2f444f;
    font-size: 1.04rem;
    line-height: 1.88;
}

.entry-content > * {
    max-width: var(--aq-reading);
}

.entry-content > .alignwide {
    width: min(var(--aq-container), calc(100vw - 40px));
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.entry-content > .alignfull {
    width: 100vw;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
    margin-top: 2.25em;
    margin-bottom: 0.7em;
}

.entry-content h2 {
    padding-bottom: 0.45rem;
    border-bottom: 1px solid var(--aq-line);
    font-size: clamp(1.55rem, 3vw, 2.05rem);
}

.entry-content h3 {
    font-size: 1.35rem;
}

.entry-content a {
    overflow-wrap: anywhere;
}

.entry-content blockquote {
    margin: 2rem 0;
    padding: 1.2rem 1.4rem;
    border-left: 4px solid var(--aq-teal);
    background: var(--aq-teal-soft);
    color: var(--aq-ink);
}

.entry-content blockquote > :last-child {
    margin-bottom: 0;
}

.entry-content table,
.data-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.entry-content th,
.entry-content td,
.data-table th,
.data-table td {
    min-width: 130px;
    padding: 0.8rem;
    border: 1px solid var(--aq-line);
    text-align: left;
    vertical-align: top;
}

.entry-content th,
.data-table th {
    background: var(--aq-paper);
    color: var(--aq-ink);
    font-weight: 680;
}

.entry-sidebar {
    position: sticky;
    top: 1.5rem;
    display: grid;
    gap: 1rem;
}

.sidebar-card,
.fact-panel {
    padding: 1.25rem;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius);
    background: var(--aq-paper);
}

.sidebar-card h2,
.fact-panel h2 {
    margin-bottom: 0.8rem;
    font-size: 1rem;
    letter-spacing: 0;
}

.sidebar-card p,
.sidebar-card li,
.fact-panel p,
.fact-panel li {
    color: var(--aq-muted);
    font-size: 0.84rem;
    line-height: 1.65;
}

.sidebar-card > :last-child,
.fact-panel > :last-child {
    margin-bottom: 0;
}

.fact-list {
    margin: 0;
}

.fact-list > div {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--aq-line);
}

.fact-list > div:first-child {
    padding-top: 0;
}

.fact-list > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.fact-list dt {
    color: var(--aq-muted);
    font-size: 0.75rem;
}

.fact-list dd {
    margin: 0.18rem 0 0;
    color: var(--aq-ink);
    font-size: 0.9rem;
    font-weight: 620;
    overflow-wrap: anywhere;
}

.source-panel {
    margin: 2.2rem 0;
    padding: 1.3rem;
    border: 1px solid #a8d1ca;
    border-radius: var(--aq-radius);
    background: var(--aq-teal-soft);
}

.source-panel h2,
.source-panel h3 {
    margin-top: 0;
    font-size: 1.05rem;
}

.source-panel p:last-child {
    margin-bottom: 0;
}

.institution-hero {
    padding: clamp(3rem, 7vw, 5.5rem) 0;
    background: var(--aq-paper);
}

.institution-hero__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.3rem;
}

.institution-hero h1 {
    max-width: 900px;
    margin-bottom: 1rem;
    font-size: clamp(2rem, 5vw, 3.6rem);
}

.institution-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.4rem;
}

.evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.evidence-item {
    padding: 1.2rem;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius-sm);
    background: var(--aq-white);
}

.evidence-item dt {
    color: var(--aq-muted);
    font-size: 0.76rem;
}

.evidence-item dd {
    margin: 0.35rem 0 0;
    color: var(--aq-ink);
    font-weight: 620;
}

.entry-footer {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--aq-line);
}

.entry-navigation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 2rem 0;
    border-top: 1px solid var(--aq-line);
}

.entry-navigation a {
    display: block;
    padding: 1rem;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius-sm);
    color: var(--aq-ink);
    font-weight: 620;
    text-decoration: none;
}

.entry-navigation .nav-next {
    text-align: right;
}

/* Footer */
.site-footer {
    background: var(--aq-ink-deep);
    color: #b8c9cf;
}

.site-footer__main {
    display: grid;
    grid-template-columns: 1.45fr 0.8fr 0.8fr 1fr;
    gap: clamp(2rem, 5vw, 4rem);
    padding-block: clamp(3.5rem, 7vw, 6rem);
}

.brand-mark--footer {
    margin-bottom: 1rem;
    color: var(--aq-white);
}

.footer-brand > p:not(.brand-mark) {
    max-width: 420px;
    font-size: 0.88rem;
}

.footer-navigation h2,
.footer-action h2,
.footer-widget__title {
    margin-bottom: 1rem;
    color: var(--aq-white);
    font-size: 0.9rem;
    font-weight: 680;
    letter-spacing: 0.04em;
}

.menu--footer {
    display: grid;
    gap: 0.56rem;
}

.menu--footer a {
    color: #b8c9cf;
    font-size: 0.85rem;
    text-decoration: none;
}

.menu--footer a:hover {
    color: var(--aq-white);
}

.footer-action {
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--aq-radius);
    background: rgba(255, 255, 255, 0.04);
}

.footer-action p {
    font-size: 0.84rem;
}

.site-footer__bottom {
    padding: 1.05rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.74rem;
}

.footer-bottom-row {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}

.footer-bottom-row p {
    margin: 0;
}

/* Search and 404 */
.search-page-form {
    max-width: 720px;
    margin-top: 1.5rem;
}

.error-404 {
    display: grid;
    min-height: 62vh;
    place-items: center;
    padding: 4rem 0;
    background: var(--aq-paper);
}

.error-404__inner {
    max-width: 720px;
    text-align: center;
}

.error-code {
    margin-bottom: 0.2rem;
    color: var(--aq-teal);
    font-size: clamp(4.5rem, 18vw, 10rem);
    font-weight: 800;
    letter-spacing: -0.08em;
    line-height: 0.9;
}

.error-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    justify-content: center;
    margin-top: 1.5rem;
}

/* Comments */
.comments-area {
    border-top: 1px solid var(--aq-line);
}

.comment-list,
.comment-list .children {
    padding: 0;
    list-style: none;
}

.comment-list .children {
    margin-left: 1.5rem;
}

.comment-body {
    margin-bottom: 1rem;
    padding: 1.2rem;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius-sm);
}

.comment-meta {
    color: var(--aq-muted);
    font-size: 0.82rem;
}

.comment-author {
    color: var(--aq-ink);
    font-weight: 650;
}

.comment-author img {
    float: left;
    margin-right: 0.7rem;
    border-radius: 50%;
}

.comment-form-cookies-consent {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}

.comment-form-cookies-consent input {
    margin-top: 0.45rem;
}

/* WordPress core */
.alignleft {
    float: left;
    margin-right: 1.5rem;
    margin-bottom: 1rem;
}

.alignright {
    float: right;
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

.aligncenter {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.wp-caption,
.gallery-caption {
    max-width: 100%;
    color: var(--aq-muted);
    font-size: 0.82rem;
}

.sticky {
    border-color: #9fc9c3;
}

.bypostauthor {
    color: inherit;
}

/* Responsive */
/* Professional article catalogue */
.archive-hero--knowledge {
    padding: clamp(3.4rem, 7vw, 5.8rem) 0;
    border-bottom: 0;
    background:
        linear-gradient(90deg, rgba(32, 165, 198, 0.07) 1px, transparent 1px),
        linear-gradient(rgba(32, 165, 198, 0.07) 1px, transparent 1px),
        var(--aq-ink-deep);
    background-size: 58px 58px;
}

.archive-hero--knowledge::after {
    top: auto;
    right: 7vw;
    bottom: -170px;
    width: 390px;
    height: 390px;
    border-width: 72px;
    border-color: rgba(38, 181, 169, 0.12);
}

.archive-hero--knowledge h1,
.archive-hero--knowledge .eyebrow {
    color: var(--aq-white);
}

.archive-hero--knowledge .eyebrow {
    color: #62d7ca;
}

.archive-hero--knowledge .lede {
    color: #c6d9df;
}

.knowledge-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.62fr);
    align-items: end;
    gap: clamp(2rem, 6vw, 5rem);
}

.knowledge-hero__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--aq-radius);
    background: rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(10px);
}

.knowledge-hero__facts div {
    min-width: 0;
    padding: 1.25rem 1rem;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.knowledge-hero__facts div:last-child {
    border-right: 0;
}

.knowledge-hero__facts dt {
    margin-bottom: 0.2rem;
    color: var(--aq-white);
    font-size: clamp(1.35rem, 3vw, 2rem);
    font-weight: 760;
    letter-spacing: -0.04em;
    line-height: 1.15;
}

.knowledge-hero__facts dd {
    margin: 0;
    color: #9fb6bf;
    font-size: 0.76rem;
    line-height: 1.5;
}

.knowledge-search {
    padding: 1rem 0;
    border-bottom: 1px solid var(--aq-line);
    background: var(--aq-white);
}

.knowledge-search form {
    display: grid;
    grid-template-columns: auto minmax(220px, 1fr) auto auto;
    align-items: center;
    gap: 0.85rem;
}

.knowledge-search label {
    color: var(--aq-ink);
    font-size: 0.86rem;
    font-weight: 720;
}

.knowledge-search input[type="search"] {
    min-height: 46px;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--aq-line-strong);
    border-radius: var(--aq-radius-sm);
    background: var(--aq-paper);
    color: var(--aq-ink);
}

.knowledge-search input[type="search"]:focus {
    border-color: var(--aq-teal);
    background: var(--aq-white);
    outline: 3px solid rgba(8, 124, 115, 0.13);
}

.knowledge-search__clear {
    padding-inline: 0.25rem;
    font-size: 0.84rem;
    font-weight: 680;
    white-space: nowrap;
}

.knowledge-catalogue {
    padding: clamp(2.8rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 7rem);
    background: #f7f9f8;
}

.knowledge-catalogue__grid {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    align-items: start;
    gap: clamp(1.5rem, 4vw, 3.5rem);
}

.knowledge-categories__inner {
    position: sticky;
    top: 1.2rem;
    overflow: hidden;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius);
    background: var(--aq-white);
    box-shadow: var(--aq-shadow-sm);
}

.knowledge-categories .eyebrow {
    margin: 0;
    padding: 1.1rem 1.2rem;
    background: var(--aq-ink);
    color: #9edfd6;
}

.knowledge-category {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.72rem 1rem 0.72rem 1.2rem;
    border-bottom: 1px solid var(--aq-line);
    color: var(--aq-text);
    font-size: 0.88rem;
    text-decoration: none;
    transition: background 160ms ease, color 160ms ease, padding 160ms ease;
}

.knowledge-category:hover,
.knowledge-category.is-active {
    padding-left: 1.35rem;
    background: var(--aq-teal-soft);
    color: var(--aq-teal-dark);
}

.knowledge-category.is-active {
    box-shadow: inset 4px 0 0 var(--aq-teal);
    font-weight: 720;
}

.knowledge-category small {
    display: inline-flex;
    min-width: 25px;
    min-height: 25px;
    align-items: center;
    justify-content: center;
    padding: 0.1rem 0.35rem;
    border-radius: 999px;
    background: var(--aq-paper);
    color: var(--aq-muted);
    font-size: 0.7rem;
}

.knowledge-category.is-active small {
    background: var(--aq-white);
    color: var(--aq-teal-dark);
}

.knowledge-categories__note {
    margin: 0;
    padding: 1.1rem 1.2rem;
    color: var(--aq-muted);
    font-size: 0.74rem;
    line-height: 1.65;
}

.knowledge-results {
    min-width: 0;
}

.knowledge-results__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.3rem;
}

.knowledge-results__heading .eyebrow {
    margin-bottom: 0.45rem;
}

.knowledge-results__heading h2 {
    margin: 0;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.knowledge-results__heading > span {
    flex: 0 0 auto;
    padding-bottom: 0.3rem;
    color: var(--aq-muted);
    font-size: 0.82rem;
}

.knowledge-list {
    display: grid;
    gap: 1rem;
}

.knowledge-row {
    position: relative;
    display: grid;
    grid-template-columns: 176px minmax(0, 1fr) 82px;
    align-items: stretch;
    min-height: 154px;
    overflow: hidden;
    border: 1px solid var(--aq-line);
    border-radius: var(--aq-radius);
    background: var(--aq-white);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.knowledge-row:hover,
.knowledge-row:focus-within {
    border-color: #9fc8c2;
    box-shadow: var(--aq-shadow-sm);
    transform: translateY(-2px);
}

.knowledge-row__visual {
    position: relative;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.2rem;
    overflow: hidden;
    color: var(--aq-white);
    text-decoration: none;
}

.knowledge-row__visual::before,
.knowledge-row__visual::after {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    content: "";
}

.knowledge-row__visual::before {
    right: -26px;
    bottom: -36px;
    width: 110px;
    height: 110px;
}

.knowledge-row__visual::after {
    right: 20px;
    bottom: 18px;
    width: 42px;
    height: 42px;
}

.knowledge-row__visual--1 { background: linear-gradient(145deg, #087c73, #075a61); }
.knowledge-row__visual--2 { background: linear-gradient(145deg, #158aa8, #125b7b); }
.knowledge-row__visual--3 { background: linear-gradient(145deg, #b86a0d, #82491d); }
.knowledge-row__visual--4 { background: linear-gradient(145deg, #385d73, #17384b); }
.knowledge-row__visual--5 { background: linear-gradient(145deg, #39885f, #1c5e4c); }

.knowledge-row__visual span {
    position: relative;
    z-index: 1;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.08em;
    line-height: 1;
}

.knowledge-row__visual small {
    position: relative;
    z-index: 1;
    max-width: 110px;
    color: rgba(255, 255, 255, 0.83);
    font-size: 0.72rem;
    font-weight: 680;
}

.knowledge-row__body {
    min-width: 0;
    padding: 1.15rem 1.45rem 1.1rem;
}

.knowledge-row__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    margin-bottom: 0.45rem;
    color: var(--aq-muted);
    font-size: 0.72rem;
}

.knowledge-row__meta span:first-child {
    color: var(--aq-teal-dark);
    font-weight: 720;
}

.knowledge-row h2 {
    margin: 0 0 0.4rem;
    font-size: clamp(1.08rem, 2vw, 1.3rem);
    line-height: 1.4;
}

.knowledge-row h2 a {
    color: var(--aq-ink);
    text-decoration: none;
}

.knowledge-row h2 a:hover {
    color: var(--aq-teal-dark);
}

.knowledge-row__body > p {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--aq-muted);
    font-size: 0.86rem;
    line-height: 1.65;
}

.knowledge-row__action {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.55rem;
    color: var(--aq-teal-dark);
    font-size: 0.78rem;
    font-weight: 720;
    text-decoration: none;
}

.knowledge-row__action span {
    transition: transform 160ms ease;
}

.knowledge-row:hover .knowledge-row__action span {
    transform: translateX(3px);
}

.knowledge-row__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-left: 1px solid var(--aq-line);
    background: #fbfcfb;
    color: var(--aq-muted);
    line-height: 1.25;
    text-align: center;
}

.knowledge-row__date small {
    margin-bottom: 0.3rem;
    color: var(--aq-teal-dark);
    font-size: 0.68rem;
}

.knowledge-row__date strong {
    color: var(--aq-ink);
    font-size: 1.08rem;
    letter-spacing: -0.03em;
}

.knowledge-row__date span {
    margin-top: 0.2rem;
    font-size: 0.72rem;
}

.knowledge-results .pagination {
    margin-top: 2rem;
}

@media (max-width: 960px) {
    .knowledge-hero__grid {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .knowledge-hero__facts {
        max-width: 620px;
    }

    .knowledge-catalogue__grid {
        grid-template-columns: 1fr;
    }

    .knowledge-categories__inner {
        position: static;
        display: flex;
        flex-wrap: wrap;
        gap: 0.55rem;
        padding: 1rem;
    }

    .knowledge-categories .eyebrow,
    .knowledge-categories__note {
        width: 100%;
        padding: 0;
        background: transparent;
    }

    .knowledge-categories .eyebrow {
        color: var(--aq-teal-dark);
    }

    .knowledge-category {
        min-height: 36px;
        gap: 0.55rem;
        padding: 0.38rem 0.7rem;
        border: 1px solid var(--aq-line);
        border-radius: 999px;
    }

    .knowledge-category:hover,
    .knowledge-category.is-active {
        padding-left: 0.7rem;
        box-shadow: none;
    }
}

@media (max-width: 720px) {
    .knowledge-search form {
        grid-template-columns: 1fr auto;
    }

    .knowledge-search label {
        grid-column: 1 / -1;
    }

    .knowledge-search__clear {
        grid-column: 1 / -1;
    }

    .knowledge-row {
        grid-template-columns: 92px minmax(0, 1fr);
        min-height: 0;
    }

    .knowledge-row__visual {
        min-height: 132px;
        padding: 0.85rem;
    }

    .knowledge-row__visual span {
        font-size: 1.35rem;
    }

    .knowledge-row__body {
        padding: 1rem;
    }

    .knowledge-row__body > p {
        -webkit-line-clamp: 3;
    }

    .knowledge-row__date {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: flex-start;
        gap: 0.45rem;
        padding: 0.55rem 1rem;
        border-top: 1px solid var(--aq-line);
        border-left: 0;
        text-align: left;
    }

    .knowledge-row__date small,
    .knowledge-row__date span {
        margin: 0;
    }
}

@media (max-width: 1080px) {
    .site-navigation-wrap {
        gap: 1.2rem;
    }

    .menu--primary {
        gap: 1rem;
    }

    .header-search {
        display: none;
    }

    .resource-grid--four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quick-paths.resource-grid--four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .platform-centers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .platform-center,
    .platform-center:nth-child(n + 4) {
        min-height: 250px;
        grid-column: auto;
    }

    .platform-center:last-child {
        grid-column: 1 / -1;
    }

    .platform-centers--six .platform-center,
    .platform-centers--six .platform-center:nth-child(n + 4),
    .platform-centers--six .platform-center:last-child {
        grid-column: auto;
    }

    .knowledge-clusters,
    .testing-journey {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .entity-index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quality-flow {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.3rem 0;
    }

    .quality-flow::before {
        display: none;
    }

    .site-footer__main {
        grid-template-columns: 1.3fr repeat(2, 0.7fr);
    }

    .footer-action {
        grid-column: 1 / -1;
    }
}

@media (max-width: 960px) {
    .site-header__main {
        min-height: 70px;
    }

    .menu-toggle {
        display: none;
    }

    .has-js .menu-toggle {
        display: inline-flex;
    }

    .site-navigation-wrap {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: block;
        max-height: calc(100vh - 104px);
        overflow-y: auto;
        padding: 1.1rem 20px 1.4rem;
        border-top: 1px solid var(--aq-line);
        border-bottom: 1px solid var(--aq-line);
        background: var(--aq-white);
        box-shadow: var(--aq-shadow-lg);
    }

    .has-js .site-navigation-wrap {
        display: none;
    }

    .has-js .menu-is-open .site-navigation-wrap {
        display: block;
    }

    .menu-is-open .menu-toggle__lines span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .menu-is-open .menu-toggle__lines span:nth-child(2) {
        opacity: 0;
    }

    .menu-is-open .menu-toggle__lines span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .menu--primary {
        display: grid;
        gap: 0;
    }

    .menu--primary a {
        min-height: 48px;
        padding: 0.75rem 0;
        border-bottom: 1px solid var(--aq-line);
    }

    .menu--primary a::after {
        display: none;
    }

    .menu--primary .sub-menu {
        position: static;
        display: block;
        min-width: 0;
        padding: 0 0 0 1rem;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .menu--primary .sub-menu a {
        white-space: normal;
    }

    .header-actions {
        display: grid;
        grid-template-columns: 1fr 1.5fr;
        margin-top: 1rem;
    }

    .header-search {
        display: inline-flex;
        justify-content: center;
        border: 1px solid var(--aq-line-strong);
        border-radius: 8px;
    }

    .home-hero__grid {
        grid-template-columns: 1fr;
    }

    .platform-hero__grid,
    .prevention-grid,
    .database-grid,
    .ai-answer-source__grid {
        grid-template-columns: 1fr;
    }

    .platform-console {
        max-width: 680px;
    }

    .institution-database__intro,
    .home-final-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-final-cta__inner > div:last-child {
        flex-wrap: wrap;
    }

    .hero-evidence {
        max-width: 660px;
    }

    .resource-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pollutant-guide__grid {
        grid-template-columns: 1fr;
    }

    .standard-routes__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-business-grid {
        grid-template-columns: 1fr;
    }

    .home-data-strip__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .entry-layout {
        grid-template-columns: 1fr;
    }

    .entry-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filter-form,
    .filter-form--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filter-actions {
        align-self: stretch;
    }

    .filter-actions .button {
        flex: 1;
    }
}

@media (max-width: 720px) {
    .site-container,
    .reading-container {
        width: min(calc(100% - 28px), var(--aq-container));
    }

    .section-heading-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .pollutant-guide,
    .pollutant-reference,
    .standard-routes,
    .standard-register {
        padding: 2.8rem 0;
    }

    .standard-routes__grid {
        grid-template-columns: 1fr;
    }

    .standard-route-card {
        min-height: 0;
    }

    .site-header__principles {
        display: none;
    }

    .brand-mark__tagline {
        display: none;
    }

    .home-hero {
        padding-top: 3.8rem;
    }

    .platform-hero {
        padding-top: 5.5rem;
    }

    .platform-hero::after {
        right: 20px;
        width: 118px;
        height: 40px;
    }

    .platform-hero h1 {
        font-size: clamp(2.4rem, 12vw, 3.6rem);
    }

    .platform-hero__actions,
    .platform-hero__actions .button {
        width: 100%;
    }

    .home-hero::before {
        top: auto;
        right: -140px;
        bottom: -140px;
        width: 330px;
    }

    .home-hero h1 {
        font-size: clamp(2.45rem, 13vw, 3.65rem);
    }

    .resource-search {
        display: grid;
    }

    .resource-search button {
        width: 100%;
    }

    .principle-strip__grid,
    .trust-rail__grid,
    .platform-centers,
    .knowledge-clusters,
    .entity-index,
    .testing-journey,
    .database-schema,
    .quick-paths,
    .resource-grid,
    .resource-grid--four,
    .evidence-grid,
    .entry-sidebar,
    .managed-form,
    .site-footer__main {
        grid-template-columns: 1fr;
    }

    .trust-rail__grid > div,
    .trust-rail__grid > div:last-child {
        border-right: 1px solid var(--aq-line);
        border-bottom: 1px solid var(--aq-line);
    }

    .trust-rail__grid > div:last-child {
        border-bottom: 0;
    }

    .platform-center:last-child {
        grid-column: auto;
    }

    .business-card {
        min-height: 0;
        padding: 1.6rem;
    }

    .home-data-strip__inner .button,
    .service-match-card .button--block {
        width: 100%;
    }

    .service-match-card .button--block {
        width: calc(100% - 2rem);
        margin-right: 1rem;
        margin-left: 1rem;
    }

    .data-center-note,
    .core-guides {
        grid-template-columns: 1fr;
        gap: 0.8rem;
    }

    .data-center-note div {
        flex-wrap: wrap;
    }

    .knowledge-cluster > p {
        min-height: 0;
    }

    .entity-link {
        min-height: 100px;
    }

    .core-guides ol {
        grid-template-columns: 1fr;
    }

    .prevention-timeline li {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    .quality-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.4rem 0;
    }

    .ai-answer-source li {
        grid-template-columns: 105px 1fr;
    }

    .institution-database__intro .button,
    .home-final-cta__inner > div:last-child,
    .home-final-cta__inner .button {
        width: 100%;
    }

    .principle-item,
    .principle-item:last-child {
        border-right: 1px solid var(--aq-line);
        border-bottom: 1px solid var(--aq-line);
    }

    .principle-item:last-child {
        border-bottom: 0;
    }

    .section-heading {
        display: block;
    }

    .section-heading .text-link {
        margin-top: 0.7rem;
    }

    .resource-card--feature {
        grid-column: auto;
        min-height: 260px;
    }

    .filter-form,
    .filter-form--compact {
        grid-template-columns: 1fr;
    }

    .managed-form {
        gap: 1.25rem;
        padding: 1rem;
    }

    .entry-navigation {
        grid-template-columns: 1fr;
    }

    .entry-navigation .nav-next {
        text-align: left;
    }

    .site-footer__main {
        gap: 2.2rem;
    }

    .footer-action {
        grid-column: auto;
    }

    .footer-bottom-row {
        display: grid;
        gap: 0.45rem;
    }
}

@media (max-width: 430px) {
    .brand-mark__name {
        font-size: 1.35rem;
    }

    .menu-toggle__label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .header-actions {
        grid-template-columns: 1fr;
    }

    .quality-flow {
        grid-template-columns: 1fr;
    }

    .entity-link {
        grid-template-columns: 52px 1fr auto;
        gap: 0.75rem;
        padding: 1rem;
    }

    .ai-answer-source li {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }

    .institution-hero__top {
        align-items: flex-start;
        flex-direction: column;
    }

    .institution-actions,
    .institution-actions .button {
        width: 100%;
    }
}

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

@media print {
    .site-header,
    .site-footer,
    .archive-tools,
    .entry-sidebar,
    .entry-navigation,
    .button,
    .managed-form {
        display: none !important;
    }

    body {
        color: #000;
        font-size: 11pt;
    }

    a {
        color: #000;
        text-decoration: none;
    }

    .entry-layout {
        display: block;
    }
}
