/* AUTO-GENERATED by bin/bundle-storefront-css.php -- do not edit. */
:root {
    --accent: #dc2626;
    --accent-bright: #ef4444;
    --accent-700: #b91c1c;
    --accent-900: #991b1b;
    --brand: var(--accent);
    --font-display: "Bebas Neue", sans-serif;
    --font-body: "Source Sans 3", sans-serif;
    --control-height: 44px;
    --touch: var(--control-height);
    --max: 80rem;
    --measure-hero: min(34rem, 100%);
    --measure-lede: min(36rem, 100%);
    --measure-prose: 48rem;
    --measure-listing: 56rem;
    --measure-wide: 68rem;
    --measure-band: min(48rem, 100%);
    --chrome-bg: #111827;
    --chrome-bg-mid: #1f2937;
    --chrome-text: #f9fafb;
    --chrome-muted: #9ca3af;
    --chrome-line: rgba(255, 255, 255, 0.12);
    --ink: var(--chrome-bg);
    --canvas: #eef1f4;
    --canvas-soft: #f7f8fa;
    --text: #1f2937;
    --muted: #4b5563;
    --muted-soft: #6b7280;
    --line: rgba(17, 24, 39, 0.1);
    --surface: #ffffff;
    --on-filled: #ffffff;
    --input-bg: #ffffff;
    --input-border: #7e8a9a;
    --state-neutral: #5b6b7c;
    --state-neutral-bg: #f1f4f8;
    --state-neutral-border: #e1e7ef;
    --state-info: #2563eb;
    --state-info-bg: #eff5ff;
    --state-info-border: #c7dbfe;
    --state-progress: #c2410c;
    --state-progress-bg: #fff6ed;
    --state-progress-border: #fdd9ac;
    --state-success: #15803d;
    --state-success-bg: #f1fcf4;
    --state-success-border: #bbebc8;
    --state-danger: #c0212c;
    --state-danger-bg: #fdf2f3;
    --state-danger-border: #f7c9cd;
    --pill-slate: #64748b;
    --pill-slate-ink: #475569;
    --pill-slate-bg: #f1f5f9;
    --pill-slate-border: #e2e8f0;
    --pill-blue: #3b82f6;
    --pill-blue-ink: #1d4ed8;
    --pill-blue-bg: #eff6ff;
    --pill-blue-border: #bfdbfe;
    --pill-amber: #f97316;
    --pill-amber-ink: #c2410c;
    --pill-amber-bg: #fff7ed;
    --pill-amber-border: #fed7aa;
    --pill-green: #10b981;
    --pill-green-ink: #047857;
    --pill-green-bg: #ecfdf5;
    --pill-green-border: #a7f3d0;
    --pill-red: #ef4444;
    --pill-red-ink: #b91c1c;
    --pill-red-bg: #fef2f2;
    --pill-red-border: #fecaca;
    --ok: var(--state-success);
    --ok-ink: #14532d;
    --ok-strong: var(--state-success);
    --warn: var(--state-progress);
    --warn-ink: #7c2d12;
    --warn-strong: var(--state-progress);
    --bad: var(--state-danger);
    --bad-ink: #7f1d1d;
    --info: var(--state-info);
    --info-ink: #1e3a8a;
    --progress: #0891b2;
    --progress-ink: #155e75;
    --muted-strong: #9ca3af;
    --results-range-gradient: linear-gradient(90deg, #fde3c8 0%, #fdd0a8 18%, #a7f0cf 18%, #6ee7b7 50%, #a7f0cf 82%, #fecaca 82%, #fca5a5 100%);
    --results-band-low: 18%;
    --results-band-high: 82%;
    --fs-2xs: 0.75rem;
    --fs-xs: 0.8rem;
    --fs-sm: 0.88rem;
    --fs-md: 0.95rem;
    --fs-lg: 1.05rem;
    --fs-xl: 1.15rem;
    --fs-price: 1.35rem;
    --fs-h3: 1.25rem;
    --fs-h2: 1.45rem;
    --fs-h1: 1.7rem;
    --focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent);
    --focus-outline: 2px solid var(--accent);
    --radius-xs: 0.35rem;
    --radius-sm: 0.5rem;
    --radius-md: 0.65rem;
    --radius-pill: 999px;
    --radius-card: 0.5rem;
    --z-base: 1;
    --z-flash: 20;
    --z-chrome: 30;
    --z-drawer: 40;
    --z-banner: 60;
    --z-cookie: 80;
    --z-skip: 10000;
    --chrome-inset-bottom: 0px;
    --shell: 1440px;
    --shell-min-viewport: 1600px;
    --shell-outside: #e7e9ee;
    --space-1: 0.35rem;
    --space-2: 0.55rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.75rem;
    --space-7: 2rem;
    --space-8: 3rem;
    --sticky-buy-height: 4.75rem;
    --cookie-banner-height: 10rem;
    --shadow-drawer: 0 12px 32px rgba(0, 0, 0, 0.12);
    --shadow-sticky: 0 -8px 24px rgba(17, 24, 39, 0.08);
    --shadow-modal: 0 12px 40px rgba(20, 16, 14, 0.18);
    --shadow-card: 0 1px 2px rgba(17, 24, 39, 0.04), 0 2px 8px rgba(17, 24, 39, 0.06);
    --shadow-card-lift: 0 2px 4px rgba(17, 24, 39, 0.05), 0 10px 24px rgba(17, 24, 39, 0.1);
    --shadow-float: 0 14px 28px rgba(17, 24, 39, 0.14);
    --t-quick: 0.15s;
    --t-media: 0.45s;
    --bp-sm: 700px;
    --bp-md: 900px;
    --bp-lg: 1100px;
    --bp-xl: 1400px;
    --bg-deep: var(--chrome-bg);
    --bg-mid: var(--chrome-bg-mid);
    --dx-red-600: var(--accent);
    --dx-red-700: var(--accent-700);
    --dx-red-50: #fef2f2;
    --dx-muted: var(--muted);
    --dx-line: var(--line);
    --dx-surface: var(--surface);
    --accent-rule: linear-gradient(90deg, transparent, rgba(220, 38, 38, 0.45), transparent);
    --accent-rule-height: 3px;
    --accent-rule-on-dark: linear-gradient(90deg, rgba(239, 68, 68, 0.85), rgba(239, 68, 68, 0.25) 65%, transparent);
    --chrome-sticky-offset: 4.5rem;
}
@media (min-width: 900px) {
    :root {
        --chrome-sticky-offset: 5.5rem;
        --measure-hero: min(40rem, 54%);
        --measure-lede: min(38rem, 100%);
        --measure-band: min(52rem, 100%);
    }
}
body.page-portal:has(.portal-banner) {
    --chrome-sticky-offset: 7.5rem;
}
@media (min-width: 900px) {
    body.page-portal:has(.portal-banner) {
        --chrome-sticky-offset: 8.5rem;
    }
}
@media (forced-colors: active) {
    :root {
        --line: CanvasText;
        --accent: LinkText;
        --text: CanvasText;
        --muted: GrayText;
        --focus-outline: 2px solid Highlight;
    }
    a:focus-visible,
    button:focus-visible,
    summary:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible,
    .btn:focus-visible,
    .obs__tool:focus-visible {
        outline: 2px solid Highlight;
        outline-offset: 2px;
    }
    .btn,
    .obs__tool,
    .site-nav a,
    .meta-list,
    .results__cat {
        border: 1px solid CanvasText;
    }
}
@font-face {
    font-family: "Bebas Neue";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/bebas-neue-latin-ext-aRXa7v9.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Bebas Neue";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/bebas-neue-latin-kCS-Go6.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/source-sans-3-latin-ext-eCU7jd1.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/source-sans-3-latin-8PKsh_E.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/source-sans-3-latin-ext-eCU7jd1.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/source-sans-3-latin-8PKsh_E.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/source-sans-3-latin-ext-eCU7jd1.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/source-sans-3-latin-8PKsh_E.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/source-sans-3-latin-ext-eCU7jd1.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/source-sans-3-latin-8PKsh_E.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}
[hidden] {
    display: none !important;
}
.has-accent-rule {
    position: relative;
}
.has-accent-rule::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: min(100% - 2rem, var(--max));
    height: var(--accent-rule-height);
    background: var(--accent-rule);
    pointer-events: none;
    z-index: 1;
}
.impersonation-banner,
.store-closed-banner {
    position: relative;
    z-index: var(--z-flash, 20);
    color: var(--on-filled);
    text-align: center;
    padding: 0.65rem 1rem;
    font-size: 0.92rem;
}
.impersonation-banner a,
.store-closed-banner a {
    color: var(--on-filled);
    font-weight: 700;
    margin-left: 0.5rem;
    text-underline-offset: 0.15em;
}
.impersonation-banner {
    background: var(--warn-ink);
    color: #fffbeb;
}
.store-closed-banner {
    background: var(--accent-900);
}
html {
    max-width: 100%;
    background: var(--shell-outside);
}
body {
    margin: 0;
    min-height: 100vh;
    margin-inline: auto;
    overflow-x: clip;
    display: flex;
    flex-direction: column;
    font-family: var(--font-body);
    color: var(--text);
    background: var(--canvas);
}
@media (min-width: 1600px) {
    body {
        max-width: var(--shell);
    }
}
a {
    color: var(--accent);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.15em;
}
::selection {
    background: color-mix(in srgb, var(--accent) 22%, transparent);
}
.site-stage {
    --site-stage-gutter: clamp(0.75rem, 2.5vw, 1.35rem);
    --site-stage-gap: 0.55rem;
    --site-stage-radius-top: 0.85rem;
    --site-stage-radius-bottom: 1.25rem;
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}
.site-main {
    max-width: 100%;
    width: 100%;
    flex: 1 0 auto;
    position: relative;
    z-index: 1;
    background:
        radial-gradient(ellipse 90% 45% at 50% 0%, rgba(220, 38, 38, 0.05), transparent 72%),
        linear-gradient(180deg, var(--canvas-soft), var(--canvas) 40%);
}
@media (max-width: 699.98px) {
    .site-stage {
        --site-stage-gutter: clamp(0.45rem, 2.8vw, 0.7rem);
        --site-stage-gap: 0.35rem;
        --site-stage-radius-top: 0.7rem;
        --site-stage-radius-bottom: 1rem;
    }
}
.stage-footer--float .site-stage {
    padding-inline: var(--site-stage-gutter);
    background: linear-gradient(
        180deg,
        transparent 0%,
        transparent calc(100% - 2.75rem),
        var(--chrome-bg-mid) calc(100% - 2.75rem)
    );
}
.stage-footer--float .site-main {
    overflow: hidden;
    margin-bottom: -1.5rem;
    border-radius: 0 0 var(--site-stage-radius-bottom) var(--site-stage-radius-bottom);
    box-shadow: 0 22px 48px color-mix(in srgb, #000 28%, transparent);
}
@media (max-width: 699.98px) {
    .stage-footer--float .site-main {
        margin-bottom: -1.15rem;
        box-shadow: 0 16px 36px color-mix(in srgb, #000 24%, transparent);
    }
}
.stage-footer--off .site-stage {
    padding-inline: 0;
    background: none;
}
.stage-footer--off .site-main {
    overflow: visible;
    margin-bottom: 0;
    border-radius: 0;
    box-shadow: none;
}
.stage-top--soft.stage-footer--float .site-stage {
    padding-top: var(--site-stage-gap);
    background: linear-gradient(
        180deg,
        var(--canvas-soft) 0%,
        var(--canvas-soft) var(--site-stage-gap),
        transparent var(--site-stage-gap),
        transparent calc(100% - 2.75rem),
        var(--chrome-bg-mid) calc(100% - 2.75rem)
    );
}
.stage-top--soft.stage-footer--float .site-main {
    border-radius:
        var(--site-stage-radius-top)
        var(--site-stage-radius-top)
        var(--site-stage-radius-bottom)
        var(--site-stage-radius-bottom);
    box-shadow:
        0 -1px 10px rgba(15, 23, 42, 0.04),
        0 22px 48px color-mix(in srgb, #000 28%, transparent);
}
@media (max-width: 699.98px) {
    .stage-top--soft.stage-footer--float .site-main {
        box-shadow:
            0 -1px 8px rgba(15, 23, 42, 0.035),
            0 16px 36px color-mix(in srgb, #000 24%, transparent);
    }
    body.page-home.stage-top--soft.stage-footer--float .site-stage {
        background: linear-gradient(
            180deg,
            var(--canvas-soft) 0%,
            var(--canvas-soft) var(--site-stage-gap),
            transparent var(--site-stage-gap),
            transparent calc(100% - 2.75rem),
            var(--chrome-bg-mid) calc(100% - 2.75rem)
        );
    }
}
.stage-top--soft.stage-footer--off .site-stage {
    padding-top: var(--site-stage-gap);
    padding-inline: var(--site-stage-gutter);
    background: var(--canvas-soft);
}
.stage-top--soft.stage-footer--off .site-main {
    overflow: hidden;
    border-radius: var(--site-stage-radius-top);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}
.stage-top--off.stage-footer--float .site-main {
    border-radius: 0 0 var(--site-stage-radius-bottom) var(--site-stage-radius-bottom);
}
.site-chrome {
    position: sticky;
    top: 0;
    z-index: var(--z-chrome, 30);
    max-width: 100%;
    flex-shrink: 0;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    color: var(--text);
}
.site-utility {
    background: var(--canvas-soft);
    border-bottom: 1px solid var(--line);
    font-size: var(--fs-xs);
}
.site-utility__inner,
.site-masthead__inner {
    width: min(100%, var(--max));
    margin: 0 auto;
    padding-inline: clamp(1rem, 4vw, 2.5rem);
    display: flex;
    align-items: center;
    gap: 0.75rem 1.25rem;
}
.site-utility__inner {
    justify-content: space-between;
    min-height: 2.1rem;
    flex-wrap: wrap;
}
.site-utility__phone {
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
}
.site-utility__right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    margin-left: auto;
}
.site-utility__nav {
    display: none;
    flex-wrap: wrap;
    gap: 0.15rem 1rem;
}
.site-utility__nav a {
    color: var(--muted);
    text-decoration: none;
    font-weight: 600;
}
.site-utility__trust {
    margin: 0;
    color: var(--muted);
    font-weight: 600;
}
.site-utility__trust strong {
    color: var(--text);
    margin-left: 0.25rem;
}
@media (min-width: 900px) {
    .site-utility__nav {
        display: flex;
    }
}
.site-masthead {
    background: var(--surface);
}
.site-masthead__inner {
    min-height: 4.25rem;
    padding-block: 0.65rem;
    gap: 0.45rem 0.65rem;
    min-width: 0;
}
.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    text-decoration: none;
    color: var(--text);
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 8.75rem);
}
.site-brand__mark {
    display: inline-grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: var(--radius-sm);
    background: linear-gradient(145deg, var(--accent-bright), var(--accent));
    font-family: var(--font-display);
    font-size: var(--fs-xl);
    color: var(--chrome-text);
    flex: 0 0 auto;
}
.site-brand__name {
    font-family: var(--font-display);
    font-size: 1.55rem;
    letter-spacing: 0.06em;
    line-height: 1;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.site-brand__logo {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 2.35rem;
    height: auto;
    object-fit: contain;
    flex: 0 1 auto;
}
.site-search {
    display: none;
    flex: 1 1 auto;
    max-width: 36rem;
    margin-inline: auto;
    align-items: stretch;
    border: 1px solid var(--input-border);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--surface);
}
.site-search input {
    flex: 1;
    min-width: 0;
    min-height: var(--control-height);
    border: 0;
    padding: 0.7rem 0.9rem;
    background: transparent;
    color: var(--text);
    font: inherit;
}
.site-search input::placeholder {
    color: var(--muted);
}
.site-search button {
    border: 0;
    border-radius: 0;
    padding: 0.65rem 1.15rem;
    min-height: var(--control-height);
    background: linear-gradient(to right, var(--accent-bright), var(--accent));
    color: var(--chrome-text);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
    .site-search button:hover {
        background: linear-gradient(to right, var(--accent), var(--accent-700));
        color: var(--chrome-text);
    }
}
.site-search button:active {
    background: linear-gradient(to right, var(--accent-700), var(--accent-900));
    color: var(--chrome-text);
}
.site-masthead__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
    flex: 0 0 auto;
}
.site-account,
.site-basket {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
    color: var(--text);
    font-weight: 600;
    font-size: 0.92rem;
    min-height: var(--touch);
    min-width: var(--touch);
    justify-content: center;
}
.site-account.is-active {
    box-shadow: none;
}
.site-account__label {
    display: none;
}
.site-basket {
    width: var(--touch);
    height: var(--touch);
    padding: 0;
    border-radius: 999px;
    background: rgb(220 38 38 / 0.14);
    color: #9f1239;
}
.site-basket__label {
    display: none;
    color: #9f1239;
    font-weight: 600;
}
.site-basket {
    position: relative;
}
.site-basket__count {
    position: absolute;
    top: 0.15rem;
    right: 0.15rem;
    display: inline-grid;
    place-items: center;
    min-width: 1.15rem;
    height: 1.15rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    background: var(--accent);
    color: var(--on-filled);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 0 0 1.5px #fff;
}
@media (max-width: 899.98px) {
    .site-basket {
        margin-right: 0.75rem;
    }
}
.site-icon {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    position: relative;
    flex: 0 0 auto;
}
.site-icon--user::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0.15rem;
    width: 0.45rem;
    height: 0.45rem;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    transform: translateX(-50%);
}
.site-icon--user::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0.1rem;
    width: 0.85rem;
    height: 0.45rem;
    border: 1.5px solid currentColor;
    border-bottom: 0;
    border-radius: 0.45rem 0.45rem 0 0;
    transform: translateX(-50%);
}
.site-icon--bag::before {
    content: "";
    position: absolute;
    inset: 0.35rem 0.2rem 0.1rem;
    border: 1.5px solid currentColor;
    border-radius: 0.2rem;
}
.site-icon--bag::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0.1rem;
    width: 0.55rem;
    height: 0.35rem;
    border: 1.5px solid currentColor;
    border-bottom: 0;
    border-radius: 0.35rem 0.35rem 0 0;
    transform: translateX(-50%);
}
.site-nav-wrap {
    position: relative;
    flex: 0 0 auto;
}
.site-nav-toggle {
    list-style: none;
    cursor: pointer;
    font-weight: 700;
    color: var(--text);
    padding: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    min-height: var(--touch);
    min-width: var(--touch);
    width: var(--touch);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    line-height: 0;
    position: relative;
}
.site-nav-toggle::before {
    content: "";
    display: block;
    width: 1.05rem;
    height: 0.75rem;
    background:
        linear-gradient(currentColor, currentColor) 0 0 / 100% 2px no-repeat,
        linear-gradient(currentColor, currentColor) 0 50% / 100% 2px no-repeat,
        linear-gradient(currentColor, currentColor) 0 100% / 100% 2px no-repeat;
}
.site-nav-toggle::-webkit-details-marker {
    display: none;
}
.site-nav--drawer {
    display: none;
    flex-direction: column;
    gap: 0;
    position: absolute;
    right: 0;
    top: calc(100% + 0.4rem);
    min-width: min(17rem, 90vw);
    max-height: min(70vh, 32rem);
    overflow: auto;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 0.55rem;
    background: var(--surface);
    box-shadow: var(--shadow-drawer, 0 12px 32px rgba(0, 0, 0, 0.12));
    z-index: var(--z-drawer, 40);
}
.site-nav-wrap[open] .site-nav--drawer {
    display: flex;
}
@media (max-width: 899.98px) {
    body:has(.site-nav-wrap[open]) {
        overflow: hidden;
    }
}
.site-nav--drawer a {
    color: var(--text);
    text-decoration: none;
    font-weight: 600;
    min-height: var(--touch);
    display: inline-flex;
    align-items: center;
}
.site-nav--drawer .site-drawer__solo {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.9rem 0.95rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--text);
    border-bottom: 1px solid var(--line);
    min-height: var(--touch);
    text-decoration: none;
    transition: background 0.12s ease;
}
.site-nav--drawer .site-drawer__solo:hover {
    background: color-mix(in srgb, var(--canvas-soft) 85%, transparent);
}
.site-nav--drawer .site-drawer__group-details {
    border-bottom: 1px solid var(--line);
}
.site-nav--drawer .site-drawer__group-summary {
    list-style: none;
    cursor: pointer;
    padding: 0.9rem 0.95rem;
    font-weight: 700;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-height: var(--touch);
    color: var(--text);
    user-select: none;
    transition: background 0.12s ease;
}
.site-nav--drawer .site-drawer__group-summary:hover {
    background: color-mix(in srgb, var(--canvas-soft) 85%, transparent);
}
.site-nav--drawer .site-drawer__label {
    flex: 1;
    text-align: left;
}
.site-nav--drawer .site-drawer__group-summary::-webkit-details-marker {
    display: none;
}
.site-nav--drawer .site-drawer__group-summary::after {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: var(--muted);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
    margin-left: 0.25rem;
}
.site-nav--drawer .site-drawer__group-details[open] .site-drawer__group-summary::after {
    transform: rotate(225deg);
}
.site-nav--drawer .site-drawer__ico {
    width: 2rem;
    height: 2rem;
    border-radius: 0.45rem;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    background: var(--canvas-soft);
    color: var(--chrome-bg-mid);
}
.site-nav--drawer .site-drawer__ico svg {
    width: 1.05rem;
    height: 1.05rem;
    display: block;
}
.site-nav--drawer .site-drawer__solo .site-drawer__ico,
.site-nav--drawer .site-drawer__ico--find,
.site-nav--drawer .site-drawer__ico--star {
    background: color-mix(in srgb, var(--accent) 10%, var(--canvas-soft));
    color: var(--accent);
}
.site-nav--drawer .site-drawer__ico--drop {
    color: var(--pill-green-ink);
    background: var(--pill-green-bg);
}
.site-nav--drawer .site-drawer__ico--venus {
    color: #9d174d;
    background: #fdf2f8;
}
.site-nav--drawer .site-drawer__ico--mars {
    color: var(--pill-blue-ink);
    background: var(--pill-blue-bg);
}
.site-nav--drawer .site-drawer__ico--help {
    color: var(--pill-slate-ink);
    background: var(--pill-slate-bg);
}
.site-nav--drawer .site-drawer__group {
    display: flex;
    flex-direction: column;
}
.site-nav--drawer .site-drawer__group a {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.9rem 0.65rem 1.15rem;
    color: var(--text);
    font-weight: 600;
    font-size: 0.92rem;
    border-top: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
    text-decoration: none;
    min-height: var(--touch);
}
.site-nav--drawer .site-drawer__foot-util {
    margin-top: auto;
    padding: 0;
    display: flex;
    background: var(--chrome-bg-mid);
    border-top: none;
}
.site-nav--drawer .site-drawer__console {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    padding: 0.95rem 1rem;
    min-height: calc(var(--touch) + 0.35rem);
    color: var(--chrome-text);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}
.site-nav--drawer .site-drawer__console:hover {
    color: var(--chrome-text);
}
.site-nav--drawer .site-drawer__console-lead {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}
.site-nav--drawer .site-drawer__console .site-icon {
    color: var(--chrome-text);
}
.site-nav--drawer .site-drawer__console-cue {
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--accent-bright);
}
.site-nav-bar {
    display: none;
    background: var(--surface);
    border-top: 1px solid var(--line);
}
.site-primary {
    background: color-mix(in srgb, var(--canvas-soft) 65%, var(--surface));
}
.site-primary__inner {
    width: min(100%, var(--max));
    margin: 0 auto;
    padding-inline: clamp(1rem, 4vw, 2.5rem);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 1.15rem;
    padding-block: 0.65rem;
}
.site-primary__link {
    color: var(--text);
    text-decoration: none;
    font-weight: 700;
    font-size: var(--fs-md, 0.95rem);
    white-space: nowrap;
    min-height: var(--touch);
    display: inline-flex;
    align-items: center;
}
.site-primary__link--promo {
    color: var(--accent);
}
.site-primary__link--has-sub {
    position: relative;
}
.site-primary__link--has-sub::after {
    content: "";
    width: 0;
    height: 0;
    margin-left: 0.35rem;
    border-left: 0.28rem solid transparent;
    border-right: 0.28rem solid transparent;
    border-top: 0.32rem solid currentColor;
    opacity: 0.55;
}
.site-primary__link.is-active {
    color: var(--accent);
    box-shadow: inset 0 -2px 0 var(--accent);
    border-radius: 0;
}
.site-primary__link[aria-current] {
    color: var(--accent);
    box-shadow: inset 0 -2px 0 var(--accent);
    border-radius: 0;
}
.site-secondary {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.28s ease;
    background: var(--canvas-soft);
    border-top: 1px solid transparent;
}
.site-nav-bar.is-open .site-secondary {
    grid-template-rows: 1fr;
    border-top-color: var(--line);
}
.site-secondary__clip {
    overflow: hidden;
    min-height: 0;
}
.site-secondary__panel {
    width: min(100%, var(--max));
    margin: 0 auto;
}
.site-secondary__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 1.15rem;
    padding: 0.7rem clamp(1rem, 4vw, 2.5rem);
}
.site-secondary__link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--text);
    text-decoration: none;
    font-weight: 600;
    font-size: var(--fs-sm, 0.88rem);
    white-space: nowrap;
    min-height: var(--touch);
}
.site-secondary__dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--cat-dot, var(--accent));
    flex: 0 0 auto;
}
@media (min-width: 900px) {
    .site-search {
        display: flex;
    }
    .site-nav-wrap {
        display: none;
    }
    .site-brand {
        flex: 0 0 auto;
        max-width: none;
    }
    .site-brand__logo {
        max-height: 2.75rem;
        max-width: min(12rem, 28vw);
    }
    .site-masthead__actions {
        gap: 0.5rem 0.75rem;
    }
    .site-account,
    .site-basket {
        min-width: 0;
        justify-content: flex-start;
    }
    .site-basket {
        width: auto;
        height: auto;
        padding: 0.35rem 0.65rem 0.35rem 0.5rem;
    }
    .site-account__label,
    .site-basket__label {
        display: inline;
    }
    .site-nav-bar {
        display: block;
    }
}
@media (prefers-reduced-motion: no-preference) {
    .site-utility__nav a,
    .site-primary__link,
    .site-secondary__link,
    .site-account {
        transition: color var(--t-quick) ease, box-shadow var(--t-quick) ease;
    }
}
@media (hover: hover) and (pointer: fine) {
    .site-utility__nav a:hover,
    .site-primary__link:hover,
    .site-secondary__link:hover,
    .site-account:hover {
        color: var(--accent);
    }
    .site-basket:hover {
        background: rgb(220 38 38 / 0.14);
    }
}
@media (prefers-reduced-motion: reduce) {
    .site-secondary {
        transition: none;
    }
}
.site-admin-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--touch);
    height: var(--touch);
    margin-right: 0.15rem;
    border-radius: 50%;
    color: #334155;
    background: color-mix(in srgb, #334155 10%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, #334155 25%, transparent);
    text-decoration: none;
    transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
@media (max-width: 899.98px) {
    .site-admin-link {
        display: none;
    }
}
.site-admin-link:hover,
.site-admin-link:focus-visible {
    color: var(--on-filled);
    background: #334155;
    box-shadow: inset 0 0 0 1px #334155;
}
.site-icon--admin::before {
    content: "";
    position: absolute;
    inset: 0.12rem 0.25rem 0.15rem;
    border: 1.5px solid currentColor;
    border-radius: 0.2rem 0.2rem 0.5rem 0.5rem;
}
.site-icon--admin::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0.5rem;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 50%;
    background: currentColor;
    transform: translateX(-50%);
}
.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;
}
.skip-link {
    position: absolute;
    left: 0.75rem;
    top: 0.75rem;
    z-index: var(--z-skip, 10000);
    padding: 0.5rem 0.85rem;
    background: var(--chrome-bg);
    color: var(--chrome-text);
    text-decoration: none;
    font-weight: 600;
    border-radius: var(--radius-sm, 0.5rem);
    transform: translateY(-200%);
}
.skip-link:focus,
.skip-link:focus-visible {
    transform: translateY(0);
    outline: var(--focus-outline, 2px solid #fff);
    outline-offset: 2px;
}
.flash {
    margin: 0;
    padding: 0.85rem clamp(1rem, 4vw, 2.5rem);
    font-weight: 600;
    border-bottom: 1px solid var(--line);
    font-size: var(--fs-md);
    line-height: 1.45;
    position: relative;
    z-index: var(--z-flash, 20);
}
.flash--success {
    background: color-mix(in srgb, var(--ok) 10%, var(--canvas-soft));
    color: var(--ok-ink);
    border-bottom-color: color-mix(in srgb, var(--ok) 28%, var(--line));
}
.flash--warning {
    background: color-mix(in srgb, var(--warn) 12%, var(--canvas-soft));
    color: var(--warn-ink);
    border-bottom-color: color-mix(in srgb, var(--warn) 30%, var(--line));
}
.flash--danger {
    background: var(--pill-red-bg, var(--state-danger-bg, color-mix(in srgb, var(--bad) 10%, var(--canvas-soft))));
    color: var(--pill-red-ink, var(--bad-ink));
    border-bottom-color: var(--pill-red-border, var(--state-danger-border, color-mix(in srgb, var(--bad) 28%, var(--line))));
}
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--control-height);
    padding: 0.65rem 1.15rem;
    border: 0;
    border-radius: var(--radius-sm);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    background: var(--surface);
    color: var(--text);
    box-shadow: inset 0 0 0 1px var(--line);
}
@media (prefers-reduced-motion: no-preference) {
    .btn {
        transition:
            background-color var(--t-quick) ease,
            background-image var(--t-quick) ease,
            box-shadow var(--t-quick) ease,
            color var(--t-quick) ease,
            transform var(--t-quick) ease;
    }
    .btn:active {
        transform: translateY(1px);
    }
}
.btn--primary {
    background: linear-gradient(to right, var(--accent), var(--accent-700));
    color: var(--on-filled);
    box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
    .btn--primary:hover {
        background: linear-gradient(to right, var(--accent-700), var(--accent-900));
        color: var(--on-filled);
    }
}
.btn--primary:active {
    background: linear-gradient(to right, var(--accent-900), var(--accent-900));
    color: var(--on-filled);
}
.btn:disabled,
.btn[aria-disabled="true"] {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}
.btn:focus-visible,
.site-nav-toggle:focus-visible,
.site-account:focus-visible,
.site-basket:focus-visible,
.site-search button:focus-visible,
.help-faq__item summary:focus-visible,
.track-another summary:focus-visible,
.find-quiz__change summary:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
.site-search:focus-within {
    box-shadow: var(--focus-ring);
}
.saq-option:focus-within,
.find-quiz__option:focus-within {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
.btn--ghost {
    background: transparent;
    color: var(--text);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line) 85%, var(--muted));
    font-weight: 600;
}
@media (hover: hover) and (pointer: fine) {
    .btn--ghost:hover {
        color: var(--accent);
        background: color-mix(in srgb, var(--accent) 4%, transparent);
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, var(--line));
    }
}
.btn--ghost:active {
    background: color-mix(in srgb, var(--line) 35%, transparent);
}
.hero .btn--ghost,
.page-home .hero .btn--ghost {
    color: var(--chrome-text);
    box-shadow: inset 0 0 0 1px var(--chrome-line);
}
@media (hover: hover) and (pointer: fine) {
    .hero .btn--ghost:hover,
    .page-home .hero .btn--ghost:hover {
        color: var(--chrome-text);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
    }
}
.btn--block {
    width: 100%;
}
.link-quiet:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
.surface-panel {
    padding: 1.15rem 1.2rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
}
.dx-sticky-bar {
    display: none;
}
@media (max-width: 899.98px) {
    .dx-sticky-bar {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: var(--chrome-inset-bottom, 0px);
        z-index: var(--z-chrome, 30);
        align-items: center;
        gap: var(--space-3);
        padding: 0.5rem 0.9rem calc(0.5rem + env(safe-area-inset-bottom, 0px));
        background: rgba(255, 255, 255, 0.96);
        border-top: 1px solid var(--line);
        backdrop-filter: blur(8px);
        box-shadow: var(--shadow-sticky, 0 -8px 24px rgba(17, 24, 39, 0.08));
    }
    .shop--basket .form-row input,
    .shop--basket .form-row select,
    .shop--basket .form-row textarea,
    .shop--basket .form-row button,
    .shop--basket .form-row a.btn,
    .checkout-form input,
    .checkout-form select,
    .checkout-form textarea,
    .checkout-form button,
    .checkout-form a.btn,
    .saq-form input,
    .saq-form select,
    .saq-form textarea,
    .saq-form button,
    .pdp .checkout-field input,
    .pdp .checkout-field select,
    .pdp .checkout-field textarea,
    .pdp .checkout-field button {
        scroll-margin-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
    }
    .dx-sticky-bar .btn {
        flex: 1;
        min-height: var(--control-height);
        padding-inline: 0.85rem;
    }
    .dx-sticky-bar__total {
        margin: 0;
        display: grid;
        gap: 0.1rem;
        font-size: 0.75rem;
        color: var(--muted);
        text-transform: uppercase;
        letter-spacing: 0.04em;
        font-weight: 700;
        white-space: nowrap;
    }
    .dx-sticky-bar__total strong {
        font-size: 1.15rem;
        color: var(--text);
        letter-spacing: 0;
        text-transform: none;
        font-variant-numeric: tabular-nums;
        font-weight: 700;
    }
}
.heading-brand,
.shop__intro h1,
.section-head > h2,
.trust-strip__headline,
.results-demo__panel h2,
.pdp__title,
.pdp__markers h2,
.pdp__how h2,
.pdp__faq h2,
.pdp__related h2,
.find-quiz__results h2,
.news-channel__title,
.encyc-group h2,
.encyc-detail__section h2,
.results__mast h1,
.results__group h2,
.order-detail__panel .account-panel__title,
.auth-panel__intro h1 {
    display: inline-block;
    max-width: 100%;
    text-wrap: balance;
    color: transparent;
    background-image: linear-gradient(
        90deg,
        var(--ink) 0%,
        var(--ink) 28%,
        var(--accent) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
    .heading-brand,
    .shop__intro h1,
    .section-head > h2,
    .trust-strip__headline,
    .results-demo__panel h2,
    .pdp__title,
    .pdp__markers h2,
    .pdp__how h2,
    .pdp__faq h2,
    .pdp__related h2,
    .find-quiz__results h2,
    .news-channel__title,
    .encyc-group h2,
    .encyc-detail__section h2,
    .results__mast h1,
    .results__group h2,
    .order-detail__panel .account-panel__title,
    .auth-panel__intro h1 {
        color: var(--ink);
        background-image: none;
        -webkit-text-fill-color: unset;
    }
}
.hero h1,
.ai-band__headline,
.trends-band__copy h2 {
    text-wrap: balance;
}
.lede,
.ai-band__lede {
    text-wrap: pretty;
}
.chrome-splash {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: calc(var(--chrome-splash-opacity, 18) / 100);
}
.chrome-splash img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    mix-blend-mode: screen;
}
.hero,
.hero--home {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    min-height: calc(100vh - 4.5rem);
    min-height: calc(100svh - 4.5rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 5vw, 4rem) 0;
    color: var(--chrome-text);
    overflow: hidden;
    isolation: isolate;
    background-color: var(--chrome-bg);
    background-image:
        linear-gradient(
            105deg,
            rgba(17, 24, 39, 0.92) 0%,
            rgba(17, 24, 39, 0.78) 36%,
            rgba(17, 24, 39, 0.35) 58%,
            rgba(17, 24, 39, 0.5) 100%
        ),
        radial-gradient(ellipse 70% 55% at 18% 20%, rgba(220, 38, 38, 0.18), transparent 55%),
        var(--hero-image, none),
        linear-gradient(165deg, var(--chrome-bg), var(--chrome-bg-mid) 55%, #0f172a);
    background-repeat: no-repeat;
    background-size: cover, cover, cover, cover;
    background-position: center, center, right center, center;
}
.hero__shell {
    width: min(100%, var(--max));
    margin: 0 auto;
    padding-inline: clamp(1rem, 4vw, 2.5rem);
    box-sizing: border-box;
}
.hero__copy {
    position: relative;
    z-index: 1;
    max-width: var(--measure-hero);
}
@media (max-width: 699.98px) {
    .hero--home {
        min-height: min(70svh, calc(100svh - 7.25rem));
        background-position: center, center, 72% center, center;
    }
    .hero__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .hero__actions .btn {
        width: 100%;
    }
}
.brand {
    margin: 0 0 0.65rem;
    font-family: var(--font-display);
    font-size: clamp(2.75rem, 8vw, 4.75rem);
    letter-spacing: 0.06em;
    line-height: 0.95;
    color: var(--accent-bright);
}
.hero h1 {
    margin: 0 0 0.75rem;
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 2.8vw, 2rem);
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.15;
    color: var(--chrome-text);
}
.lede {
    margin: 0;
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--chrome-muted);
    max-width: var(--measure-lede);
}
.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: 1.5rem;
}
.hero__proof {
    position: relative;
    margin: 1rem 0 0;
    max-width: min(42rem, 100%);
    padding-left: 0.85rem;
    font-size: var(--fs-sm);
    color: color-mix(in srgb, var(--chrome-muted) 85%, var(--on-filled));
    letter-spacing: 0.01em;
    line-height: 1.4;
}
@media (prefers-reduced-motion: no-preference) {
    .brand,
    .hero h1,
    .lede,
    .hero__actions,
    .hero__proof {
        animation: hero-rise 0.7s ease-out both;
    }
    .brand { animation-delay: 0.05s; }
    .hero h1 { animation-delay: 0.12s; }
    .lede { animation-delay: 0.2s; }
    .hero__actions { animation-delay: 0.28s; }
    .hero__proof { animation-delay: 0.35s; }
}
@media (min-width: 700px) {
    .hero__proof {
        white-space: nowrap;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
.hero__proof::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    bottom: 0.15em;
    width: 2px;
    background: var(--accent);
    border-radius: 1px;
}
.link-quiet {
    display: inline-block;
    margin-top: 0.35rem;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--muted);
    text-decoration: underline;
    text-underline-offset: 0.15em;
    text-decoration-color: color-mix(in srgb, var(--muted) 45%, transparent);
    cursor: pointer;
    text-align: center;
    width: 100%;
}
.link-quiet:hover {
    color: var(--accent);
    text-decoration-color: var(--accent);
}
.trust-strip {
    background: var(--canvas-soft);
    border-block: 1px solid var(--line);
    color: var(--text);
}
.trust-strip__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    column-gap: var(--space-7);
    width: min(100%, var(--max));
    margin: 0 auto;
    padding: 1.5rem clamp(1rem, 4vw, 2.5rem);
    font-size: 0.92rem;
    font-weight: 600;
}
.trust-strip__item {
    display: grid;
    gap: 0.5rem;
    align-content: start;
    color: var(--muted);
    padding: 1rem 0 1.05rem;
    border-top: 1px solid var(--line);
}
.trust-strip__item:nth-child(-n+2) {
    border-top: 0;
    padding-top: 0.15rem;
}
.trust-strip__item:nth-child(odd) {
    padding-inline-end: 1rem;
}
.trust-strip__item:nth-child(even) {
    padding-inline-start: 1rem;
    border-inline-start: 1px solid var(--line);
}
.trust-strip__item > p {
    margin: 0;
    color: var(--text);
    line-height: 1.35;
}
.trust-strip__body {
    display: block;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--muted);
    line-height: 1.4;
}
@media (min-width: 700px) {
    .trust-strip__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.25rem 2rem;
    }
}
@media (min-width: 900px) {
    .trust-strip__inner {
        grid-template-columns: repeat(4, 1fr);
        text-align: center;
        padding-block: 1.75rem;
        gap: 1.25rem 2rem;
    }
    .trust-strip__item {
        justify-items: center;
    }
}
.trust-strip--parallax {
    background: var(--canvas-soft);
    border-block: 0;
    isolation: isolate;
    overflow-x: clip;
    max-width: 100%;
}
.trust-strip__stage {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    height: clamp(20rem, 34vw, 26rem);
    min-height: 20rem;
    border-block: 1px solid var(--line);
    background: var(--canvas-soft);
}
.trust-strip__layer {
    position: absolute;
    top: calc(-1 * var(--trust-parallax-overscan, 72px));
    bottom: calc(-1 * var(--trust-parallax-overscan, 72px));
    left: 0;
    right: 0;
    z-index: 0;
    margin: 0;
    pointer-events: none;
    will-change: transform;
    transform-origin: center center;
}
.trust-strip__layer img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}
.trust-strip__veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--canvas-soft) 88%, transparent) 0%,
        color-mix(in srgb, var(--canvas-soft) 55%, transparent) 28%,
        color-mix(in srgb, var(--canvas-soft) 12%, transparent) 46%,
        transparent 58%
    );
}
.trust-strip--parallax .trust-strip__stage {
    position: relative;
    border-block: 0;
    border-bottom: 1px solid var(--line);
}
.trust-strip.has-accent-rule::after {
    z-index: 4;
}
.trust-strip__mid {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    align-items: center;
    justify-items: start;
    box-sizing: border-box;
    width: min(100%, var(--max));
    max-width: var(--max);
    margin: 0 auto;
    padding: 2rem clamp(1rem, 4vw, 2.5rem);
    text-align: left;
}
.trust-strip__panel {
    position: relative;
    width: min(36rem, 100%);
    padding: 0.85rem 1.15rem 0.95rem 1.45rem;
    background:
        linear-gradient(
            90deg,
            color-mix(in srgb, var(--canvas-soft) 90%, transparent) 0%,
            color-mix(in srgb, var(--canvas-soft) 70%, transparent) 70%,
            transparent 100%
        );
    border: 0;
    backdrop-filter: none;
    overflow: visible;
}
.trust-strip__panel::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.1rem;
    bottom: 0.1rem;
    width: 0.28rem;
    background: var(--accent);
    pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
    .trust-strip--parallax .trust-strip__panel {
        transform: translate3d(-0.55rem, 0, 0);
        transition: transform 0.55s ease-out;
    }
    .trust-strip--parallax .trust-strip__list li {
        transform: translate3d(0, 0.4rem, 0);
        transition: transform 0.45s ease-out;
    }
    .trust-strip--parallax .trust-strip__list li:nth-child(1) { transition-delay: 0.08s; }
    .trust-strip--parallax .trust-strip__list li:nth-child(2) { transition-delay: 0.14s; }
    .trust-strip--parallax .trust-strip__list li:nth-child(3) { transition-delay: 0.2s; }
    .trust-strip--parallax .trust-strip__list li:nth-child(4) { transition-delay: 0.26s; }
    .trust-strip--parallax.is-inview .trust-strip__panel,
    .trust-strip--parallax.is-inview .trust-strip__list li {
        transform: none;
    }
    .page-home .product-grid--home-featured > li {
        transform: translate3d(0, 0.55rem, 0);
        animation: home-featured-rise 0.55s ease-out forwards;
    }
    .page-home .product-grid--home-featured > li:nth-child(1) { animation-delay: 0.05s; }
    .page-home .product-grid--home-featured > li:nth-child(2) { animation-delay: 0.12s; }
    .page-home .product-grid--home-featured > li:nth-child(3) { animation-delay: 0.19s; }
    .page-home .product-grid--home-featured > li:nth-child(4) { animation-delay: 0.26s; }
    .page-home .home-reveal {
        transform: none;
    }
    .page-home .home-reveal > .home-section__inner,
    .page-home .home-reveal > .ai-band__inner,
    .page-home .home-reveal > .results-demo__stage {
        transform: translate3d(0, 0.45rem, 0);
        transition: transform 0.55s ease-out;
    }
    .page-home .home-reveal.is-inview > .home-section__inner,
    .page-home .home-reveal.is-inview > .ai-band__inner,
    .page-home .home-reveal.is-inview > .results-demo__stage {
        transform: none;
    }
    .page-home .home-reveal--stagger > .home-reveal-item {
        transform: translate3d(0, 0.4rem, 0);
        transition: transform 0.45s ease-out;
    }
    .page-home .home-reveal.is-inview .home-reveal--stagger > .home-reveal-item:nth-child(1),
    .page-home .home-reveal--stagger.is-inview > .home-reveal-item:nth-child(1) { transition-delay: 0.06s; }
    .page-home .home-reveal.is-inview .home-reveal--stagger > .home-reveal-item:nth-child(2),
    .page-home .home-reveal--stagger.is-inview > .home-reveal-item:nth-child(2) { transition-delay: 0.12s; }
    .page-home .home-reveal.is-inview .home-reveal--stagger > .home-reveal-item:nth-child(3),
    .page-home .home-reveal--stagger.is-inview > .home-reveal-item:nth-child(3) { transition-delay: 0.18s; }
    .page-home .home-reveal.is-inview .home-reveal--stagger > .home-reveal-item:nth-child(4),
    .page-home .home-reveal--stagger.is-inview > .home-reveal-item:nth-child(4) { transition-delay: 0.24s; }
    .page-home .home-reveal.is-inview .home-reveal--stagger > .home-reveal-item,
    .page-home .home-reveal--stagger.is-inview > .home-reveal-item {
        transform: none;
    }
}
@media print {
    .brand,
    .hero h1,
    .lede,
    .hero__actions,
    .hero__proof,
    .trust-strip--parallax .trust-strip__panel,
    .trust-strip--parallax .trust-strip__list li,
    .page-home .product-grid--home-featured > li,
    .page-home .home-reveal,
    .page-home .home-reveal--stagger > .home-reveal-item {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}
.trust-strip__headline {
    margin: 0 0 1.1rem;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 3.2vw, 2rem);
    letter-spacing: 0.04em;
    font-weight: 400;
}
.trust-strip__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
}
.trust-strip__list li {
    display: grid;
    grid-template-columns: 1.35rem 1fr;
    gap: 0.55rem 0.65rem;
    align-items: start;
    padding: 1.15rem 0 1.2rem;
    border-top: 1px solid var(--line);
}
.trust-strip__list li:first-child {
    border-top: 0;
    padding-top: 0.15rem;
}
.trust-strip__n {
    color: var(--accent);
    font-weight: 700;
    font-size: 0.78rem;
    line-height: 1.45;
}
.trust-strip__title {
    margin: 0;
    font-weight: 700;
    font-size: var(--fs-md);
    line-height: 1.3;
    color: var(--text);
}
.trust-strip__list .trust-strip__body {
    margin: 0.2rem 0 0;
    font-size: var(--fs-xs);
    line-height: 1.4;
}
@media (min-width: 700px) {
    .trust-strip__list {
        grid-template-columns: 1fr 1fr;
        column-gap: 0;
        row-gap: 0;
    }
    .trust-strip__list li:nth-child(-n+2) {
        border-top: 0;
        padding-top: 0.15rem;
        padding-bottom: 1.35rem;
    }
    .trust-strip__list li:nth-child(n+3) {
        border-top: 1px solid var(--line);
        padding-top: 1.35rem;
    }
    .trust-strip__list li:nth-child(odd) {
        padding-inline-end: 1.5rem;
    }
    .trust-strip__list li:nth-child(even) {
        padding-inline-start: 1.5rem;
        border-inline-start: 1px solid var(--line);
    }
    .trust-strip__stage {
        height: clamp(21rem, 32vw, 26rem);
        min-height: 21rem;
    }
}
@media (min-width: 900px) {
    .trust-strip__stage {
        height: 26rem;
        min-height: 0;
        max-height: 28rem;
    }
    .trust-strip__veil {
        background: linear-gradient(
            90deg,
            color-mix(in srgb, var(--canvas-soft) 86%, transparent) 0%,
            color-mix(in srgb, var(--canvas-soft) 48%, transparent) 26%,
            color-mix(in srgb, var(--canvas-soft) 10%, transparent) 44%,
            transparent 56%
        );
    }
    .trust-strip__panel {
        width: min(38rem, 52%);
        padding: 1rem 1.25rem 1.05rem 1.55rem;
    }
    .trust-strip__headline {
        font-size: clamp(1.7rem, 2.1vw, 2.05rem);
        margin-bottom: 0.85rem;
    }
    .trust-strip__title {
        font-size: 1rem;
    }
    .trust-strip__list .trust-strip__body {
        font-size: 0.84rem;
    }
}
@media (min-width: 1100px) {
    .trust-strip__stage {
        height: 27rem;
    }
    .trust-strip__panel {
        width: min(40rem, 50%);
    }
}
@media (max-width: 899.98px) {
    .trust-strip__stage {
        height: auto;
        min-height: 0;
        max-height: none;
    }
    .trust-strip__mid {
        position: relative;
        inset: auto;
        width: min(100%, var(--max));
        max-width: var(--max);
        margin: 0 auto;
        padding: 1.5rem clamp(1rem, 4vw, 2.5rem);
        align-items: start;
    }
    .trust-strip__layer,
    .trust-strip__veil {
        position: absolute;
        inset: 0;
    }
}
@media (max-width: 699.98px) {
    .trust-strip__layer img {
        opacity: 0.9;
        object-position: center 30%;
    }
    .trust-strip__veil {
        background: linear-gradient(
            180deg,
            color-mix(in srgb, var(--canvas-soft) 72%, transparent) 0%,
            color-mix(in srgb, var(--canvas-soft) 86%, transparent) 55%,
            color-mix(in srgb, var(--canvas-soft) 94%, transparent) 100%
        );
    }
    .trust-strip__panel {
        width: 100%;
        max-width: none;
        padding: 0.65rem 0.35rem 0.75rem 1.25rem;
    }
    .trust-strip__list li {
        padding: 0.75rem 0 0.8rem;
    }
}
@media (max-width: 899.98px) {
    .trust-strip--parallax-desktop-only .trust-strip__layer,
    .trust-strip--parallax-desktop-only .trust-strip__veil {
        display: none;
    }
    .trust-strip--parallax-desktop-only .trust-strip__stage {
        min-height: 0;
        height: auto;
        background: var(--canvas-soft);
    }
    .trust-strip--parallax-desktop-only .trust-strip__mid {
        min-height: 0;
        padding-block: 1.5rem;
    }
    .trust-strip--parallax-desktop-only .trust-strip__panel {
        width: min(100%, var(--max));
        padding: 0.75rem 0.5rem 0.75rem 1.35rem;
        background: transparent;
    }
    .trust-strip--parallax-desktop-only .trust-strip__panel::before {
        display: block;
    }
}
@media (prefers-reduced-motion: reduce) {
    .trust-strip__layer {
        transform: none !important;
    }
}
.media-slot {
    margin: 0;
    overflow: hidden;
}
.media-slot img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.media-slot--placeholder {
    display: grid;
    place-content: center;
    gap: 0.3rem;
    padding: 1rem;
    text-align: center;
    border: 1px solid color-mix(in srgb, var(--line) 85%, var(--accent));
    background:
        linear-gradient(
            160deg,
            color-mix(in srgb, var(--surface) 94%, var(--canvas)) 0%,
            color-mix(in srgb, var(--canvas) 88%, var(--accent)) 100%
        );
    color: var(--muted);
}
.media-slot__eyebrow {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent-bright);
}
.media-slot__label {
    font-size: 0.85rem;
    line-height: 1.35;
    max-width: 18rem;
    margin-inline: auto;
}
.media-slot--tile {
    aspect-ratio: 4 / 3;
    border-radius: 0;
}
.media-slot--pdp {
    aspect-ratio: 16 / 10;
    border-radius: var(--radius-card);
    margin-bottom: 1.25rem;
}
.media-slot--trust {
    aspect-ratio: 3 / 2;
    border-radius: 0;
    min-height: 4.5rem;
}
.media-slot--step {
    aspect-ratio: 16 / 10;
    border-radius: var(--radius-card);
}
.media-slot--video iframe,
.media-slot--video video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #0a0a0a;
}
.media-slot--pdp-video {
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-card);
    margin: 0 0 1.25rem;
}
.media-slot--content-video,
.media-slot--hero-video {
    aspect-ratio: 16 / 9;
    border-radius: 0;
    margin: 0 0 1.25rem;
}
.media-slot--news,
.media-slot--collection {
    aspect-ratio: 16 / 10;
    border-radius: var(--radius-card);
    margin-bottom: 0.75rem;
}
.media-slot--news-lead {
    aspect-ratio: 16 / 10;
    border-radius: var(--radius-card);
    margin: 0;
    height: 100%;
    min-height: 12rem;
}
.media-slot--news-thumb {
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-card);
    margin: 0;
    height: 100%;
}
.media-slot--article-tile {
    aspect-ratio: 16 / 10;
    border-radius: 0;
    margin: 0;
}
.media-slot--content {
    width: 100%;
    aspect-ratio: 21 / 9;
    border-radius: var(--radius-md);
    margin: 0 0 1.5rem;
    max-height: none;
}
.media-slot--collection-hero {
    width: 100%;
    max-width: none;
    aspect-ratio: 21 / 9;
    border-radius: var(--radius-md);
    margin: 0 0 1.5rem;
    max-height: none;
}
@media (min-width: 900px) {
    .media-slot--collection-hero {
        aspect-ratio: 2.4 / 1;
    }
}
.hero__video {
    position: absolute;
    inset: auto 4% 8% auto;
    width: min(38%, 22rem);
    z-index: 2;
}
.hero__video .media-slot {
    box-shadow: 0 12px 40px rgb(0 0 0 / 0.45);
}
@media (max-width: 699.98px) {
    .hero__video {
        position: relative;
        inset: auto;
        width: min(100%, 22rem);
        margin: 1rem auto 0;
        z-index: 1;
    }
    .hero__video .media-slot {
        box-shadow: none;
    }
}
.pdp__markers-intro {
    margin: 0 0 0.75rem;
    color: var(--dx-muted);
}
.hero__media-note {
    position: absolute;
    right: clamp(1rem, 4vw, 2.5rem);
    bottom: clamp(1.25rem, 4vw, 2.5rem);
    z-index: 1;
    display: grid;
    gap: 0.25rem;
    max-width: 14rem;
    padding: 0.85rem 1rem;
    border: 1px dashed rgba(248, 113, 113, 0.55);
    background: rgba(17, 24, 39, 0.72);
    color: var(--chrome-muted);
    font-size: 0.82rem;
    line-height: 1.35;
}
.ai-band {
    position: relative;
    overflow: hidden;
    color: var(--chrome-text);
    background-color: var(--chrome-bg);
    background-image:
        radial-gradient(ellipse 50% 55% at 92% 12%, rgba(220, 38, 38, 0.12), transparent 58%),
        linear-gradient(105deg, var(--chrome-bg) 0%, var(--chrome-bg) 38%, var(--chrome-bg-mid) 100%);
    border-block: 1px solid var(--chrome-line);
    padding-block: clamp(2.25rem, 5vw, 3.5rem);
}
.ai-band__inner {
    position: relative;
    z-index: 1;
    width: min(100%, var(--max));
    margin: 0 auto;
    padding-inline: clamp(1rem, 4vw, 2.5rem);
    box-sizing: border-box;
    display: grid;
    gap: 1.15rem;
    align-items: start;
}
.ai-band__copy { grid-area: copy; }
.ai-band__viz { grid-area: viz; }
.ai-band__actions { grid-area: actions; }
.ai-band__inner {
    grid-template-areas:
        "copy"
        "viz"
        "actions";
}
@media (min-width: 900px) {
    .ai-band__inner {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
        grid-template-areas:
            "copy viz"
            "actions viz";
        column-gap: clamp(1.5rem, 4vw, 2.75rem);
        row-gap: 1.15rem;
        align-items: start;
    }
    .ai-band__viz {
        align-self: center;
    }
}
.ai-band__eyebrow {
    margin: 0 0 0.4rem;
    color: var(--accent-bright);
    font-size: var(--fs-2xs);
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.ai-band__headline {
    margin: 0 0 0.65rem;
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: 0.03em;
    font-size: clamp(1.55rem, 3.2vw, 2.35rem);
    line-height: 1.05;
    color: var(--chrome-text);
    max-width: var(--measure-band);
}
.ai-band__lede {
    margin: 0;
    color: var(--chrome-muted);
    font-size: 1.05rem;
    line-height: 1.5;
    max-width: var(--measure-lede);
}
.ai-band__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 0;
}
.ai-band__actions .btn {
    min-height: var(--touch);
    flex: 1 1 auto;
    min-width: min(100%, 9.5rem);
    justify-content: center;
}
.ai-band .btn--ghost {
    color: var(--on-filled);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38);
}
@media (hover: hover) and (pointer: fine) {
    .ai-band .btn--ghost:hover {
        color: var(--on-filled);
        background: rgba(255, 255, 255, 0.11);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
    }
}
.ai-band .btn--ghost:active {
    background: rgba(255, 255, 255, 0.08);
}
.ai-band__viz {
    background: #e8ecf1;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-card);
    padding: 0.55rem;
    color: var(--text);
    display: grid;
    gap: 0.4rem;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, 0.06);
}
.ai-band__obs {
    background: color-mix(in srgb, var(--pill-amber) 6%, var(--surface));
    border: 1px solid var(--line);
    border-left: 3px solid var(--pill-amber);
    border-radius: var(--radius-card);
    padding: 0.5rem 0.6rem 0.55rem;
    color: var(--text);
}
.ai-band__obs--normal {
    border-left-color: var(--pill-green);
    background: color-mix(in srgb, var(--pill-green) 5%, var(--surface));
}
.ai-band__obs--high {
    border-left-color: var(--pill-red);
    background: color-mix(in srgb, var(--pill-red) 6%, var(--surface));
}
.ai-band__obs-head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
}
.ai-band__obs-name {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--ink);
}
.ai-band__obs-value-wrap {
    text-align: right;
    flex: 0 0 auto;
}
.ai-band__obs-value {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.ai-band__obs-unit {
    margin-left: 0.2rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--muted);
    vertical-align: super;
}
.ai-band__obs-flag {
    margin: 0.12rem 0 0;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}
.ai-band__obs--low .ai-band__obs-flag {
    color: var(--pill-amber-ink);
}
.ai-band__obs--normal .ai-band__obs-flag {
    color: var(--pill-green-ink);
}
.ai-band__obs--high .ai-band__obs-flag {
    color: var(--pill-red-ink);
}
.ai-band__obs-range {
    margin: 0.2rem 0 0;
    font-size: 0.75rem;
    color: var(--muted);
    line-height: 1.3;
}
.ai-band__obs-chart {
    margin-top: 0.4rem;
}
.ai-band__obs-bar {
    position: relative;
    height: 0.45rem;
}
.ai-band__obs-track {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--results-range-gradient);
}
.ai-band__obs-marker {
    position: absolute;
    top: 50%;
    width: 0.7rem;
    height: 0.7rem;
    margin-left: -0.35rem;
    border-radius: 50%;
    background: var(--text);
    border: 2px solid var(--surface);
    box-shadow: 0 1px 4px rgba(17, 24, 39, 0.4);
    transform: translateY(-50%);
}
.ai-band__obs-marker--low {
    background: var(--pill-amber);
}
.ai-band__obs-marker--high {
    background: var(--pill-red);
}
.ai-band__obs-marker--normal {
    background: var(--pill-green);
}
.ai-band__obs-marker--unknown,
.ai-band__obs-marker--rejected {
    background: var(--muted-strong);
}
.ai-band__obs-scale {
    display: flex;
    justify-content: space-between;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    color: var(--muted);
}
.ai-band__obs-track {
    position: relative;
}
.ai-band__obs-track::before,
.ai-band__obs-track::after {
    content: "";
    position: absolute;
    top: -2px;
    bottom: -2px;
    width: 1px;
    background: rgba(17, 24, 39, 0.28);
}
.ai-band__obs-track::before {
    left: var(--results-band-low, 18%);
}
.ai-band__obs-track::after {
    left: var(--results-band-high, 82%);
}
.ai-band__obs-scale--band {
    display: block;
    position: relative;
    height: 1rem;
    margin-top: 0.3rem;
}
.ai-band__obs-scale--band > span {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    white-space: nowrap;
}
.ai-band__obs-scale-lo {
    left: var(--results-band-low, 18%);
}
.ai-band__obs-scale-hi {
    left: var(--results-band-high, 82%);
}
.ai-band__one-liner {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    background: color-mix(in srgb, var(--canvas-soft) 70%, var(--surface));
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
    border-radius: var(--radius-sm);
    padding: 0.45rem 0.55rem;
    font-size: 0.78rem;
    line-height: 1.35;
    color: var(--text);
}
.ai-band__one-liner strong {
    flex: 0 0 auto;
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: 0.04em;
    font-size: 0.85rem;
    color: var(--ink);
    white-space: nowrap;
}
.ai-band__one-liner span {
    color: #374151;
    min-width: 0;
}
@media (max-width: 899.98px) {
    .ai-band__headline {
        font-size: clamp(1.45rem, 5.5vw, 1.85rem);
    }
    .ai-band__lede {
        font-size: 1rem;
    }
}
.results-demo {
    isolation: isolate;
    overflow-x: clip;
    max-width: 100%;
    background: var(--canvas-soft);
    border: 0;
}
.results-demo__stage {
    position: relative;
    overflow: hidden;
    width: 100%;
    background:
        radial-gradient(ellipse 50% 70% at 82% 40%, rgba(220, 38, 38, 0.07), transparent 58%),
        linear-gradient(120deg, var(--canvas-soft) 0%, #e8ecf1 55%, #dfe5ec 100%);
}
.results-demo__layer {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    pointer-events: none;
    will-change: transform;
}
.results-demo__field {
    position: absolute;
    left: 40%;
    right: -6%;
    top: -10%;
    bottom: -10%;
    margin: 0;
    opacity: 0.55;
    filter: saturate(0.85);
    overflow: hidden;
}
.results-demo__field img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 60% 30%;
}
.results-demo__device {
    position: absolute;
    right: max(clamp(1rem, 5vw, 3rem), calc((100% - var(--max)) / 2));
    top: 1.1rem;
    bottom: 1.1rem;
    width: min(32%, 13.5rem);
    transform: none;
    filter: none;
    overflow: hidden;
    border-radius: 1.1rem;
    border: 1px solid rgba(17, 24, 39, 0.12);
    background: var(--surface);
    box-shadow: var(--shadow-float);
}
.results-demo__device--empty {
    background: linear-gradient(160deg, #f8fafc 0%, #e2e8f0 45%, #cbd5e1 100%);
}
.results-demo__device img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}
.results-demo__veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        var(--canvas-soft) 0%,
        color-mix(in srgb, var(--canvas-soft) 92%, transparent) 42%,
        color-mix(in srgb, var(--canvas-soft) 40%, transparent) 62%,
        transparent 78%
    );
}
.results-demo__mid {
    position: relative;
    z-index: 2;
    width: min(100%, var(--max));
    margin: 0 auto;
    padding: 1.5rem clamp(1rem, 4vw, 2.5rem) 1.65rem;
}
.results-demo__panel {
    position: relative;
    width: min(26rem, 100%);
    padding: 0.1rem 0 0.1rem 1.25rem;
}
.results-demo__panel::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.1rem;
    bottom: 0.1rem;
    width: 0.28rem;
    background: var(--accent);
    pointer-events: none;
}
.results-demo__panel h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 3.5vw, 2rem);
    letter-spacing: 0.04em;
    font-weight: 400;
}
.results-demo__panel > p {
    margin: 0.3rem 0 0;
    color: var(--muted);
    line-height: 1.4;
    font-size: 0.92rem;
}
.results-demo__dial-card {
    position: relative;
    margin-top: 0.9rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 0.9rem 1rem 1rem;
    overflow: hidden;
}
.results-demo__dial-card[data-flag="low"] {
    background: linear-gradient(90deg, var(--pill-amber-bg) 0%, var(--surface) 45%);
}
.results-demo__dial-card[data-flag="high"] {
    background: linear-gradient(90deg, var(--pill-red-bg) 0%, var(--surface) 45%);
}
.results-demo__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.75rem;
}
.results-demo__tabs button {
    font-family: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    min-height: 2rem;
    padding: 0.28rem 0.6rem;
    border-radius: var(--radius-sm);
    cursor: pointer;
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--text);
    flex: 1 1 auto;
    text-align: center;
}
.results-demo__tabs button[aria-selected="true"] {
    background: linear-gradient(to right, var(--accent-bright), var(--accent));
    color: var(--on-filled);
    border-color: transparent;
}
@media (prefers-reduced-motion: no-preference) {
    .results-demo__tabs button {
        transition:
            background-color var(--t-quick) ease,
            background-image var(--t-quick) ease,
            border-color var(--t-quick) ease,
            color var(--t-quick) ease;
    }
}
.results-demo__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    align-items: flex-start;
    margin-bottom: 0.2rem;
}
.results-demo__meta h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text);
}
.results-demo__value-wrap {
    text-align: right;
}
.results-demo__value {
    margin: 0;
    font-family: var(--font-display);
    font-size: 2.1rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;
}
.results-demo__unit {
    margin-left: 0.3rem;
    font-family: var(--font-body);
    font-size: var(--fs-sm);
    font-weight: 600;
    letter-spacing: 0;
    color: var(--muted);
    vertical-align: baseline;
}
.results-demo__flag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.35rem 0 0;
    padding: 0.16rem 0.55rem;
    border: 1px solid var(--pill-green-border);
    border-radius: var(--radius-pill, 999px);
    background: var(--pill-green-bg);
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pill-green-ink);
}
.results-demo__flag::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--pill-green);
    flex: 0 0 auto;
}
.results-demo__flag[data-flag="low"] { background: var(--pill-amber-bg); color: var(--pill-amber-ink); border-color: var(--pill-amber-border); }
.results-demo__flag[data-flag="low"]::before { background: var(--pill-amber); }
.results-demo__flag[data-flag="high"] { background: var(--pill-red-bg); color: var(--pill-red-ink); border-color: var(--pill-red-border); }
.results-demo__flag[data-flag="high"]::before { background: var(--pill-red); }
.results-demo__dial {
    --pct: 50%;
    margin: 0.55rem 0 0.15rem;
}
.results-demo__track {
    position: relative;
    height: 0.65rem;
}
.results-demo__bar {
    display: block;
    position: relative;
    height: 100%;
    border-radius: 999px;
    background: var(--results-range-gradient);
}
.results-demo__bar::before,
.results-demo__bar::after {
    content: "";
    position: absolute;
    top: -3px;
    bottom: -3px;
    width: 1px;
    background: rgba(17, 24, 39, 0.28);
}
.results-demo__bar::before {
    left: var(--results-band-low, 18%);
}
.results-demo__bar::after {
    left: var(--results-band-high, 82%);
}
.results-demo__marker {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: translateX(var(--pct));
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}
.results-demo__marker::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 50%;
    background: var(--pill-green, var(--ok));
    color: var(--pill-green, var(--ok));
    border: 2px solid var(--surface);
    box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 22%, transparent), 0 1px 3px rgba(17, 24, 39, 0.35);
    transform: translate(-50%, -50%);
}
.results-demo__dial-card[data-flag="low"] .results-demo__marker::after {
    background: var(--pill-amber, var(--warn));
    color: var(--pill-amber, var(--warn));
}
.results-demo__dial-card[data-flag="high"] .results-demo__marker::after {
    background: var(--pill-red, var(--bad));
    color: var(--pill-red, var(--bad));
}
.results-demo__scale {
    display: flex;
    justify-content: space-between;
    margin-top: 0.3rem;
    font-size: var(--fs-xs);
    color: var(--muted);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}
.results-demo__scale--band {
    display: block;
    position: relative;
    height: 1.1rem;
    margin-top: 0.4rem;
}
.results-demo__scale--band > span {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    white-space: nowrap;
}
.results-demo__scale-lo {
    left: var(--results-band-low, 18%);
}
.results-demo__scale-hi {
    left: var(--results-band-high, 82%);
}
@media (max-width: 799.98px) {
    .results-demo__field {
        display: block;
        left: 6%;
        right: -14%;
        top: -12%;
        bottom: -12%;
        opacity: 0.5;
        filter: saturate(0.9);
    }
    .results-demo__field img {
        object-position: 42% 18%;
    }
    .results-demo__device {
        display: none;
    }
    .results-demo__veil {
        background:
            linear-gradient(
                180deg,
                color-mix(in srgb, var(--canvas-soft) 78%, transparent) 0%,
                color-mix(in srgb, var(--canvas-soft) 55%, transparent) 32%,
                color-mix(in srgb, var(--canvas-soft) 82%, transparent) 78%,
                var(--canvas-soft) 100%
            ),
            linear-gradient(
                90deg,
                var(--canvas-soft) 0%,
                color-mix(in srgb, var(--canvas-soft) 55%, transparent) 36%,
                transparent 78%
            );
    }
    .results-demo__mid {
        padding-top: 1.35rem;
        padding-bottom: 1.5rem;
    }
    .results-demo__panel {
        width: 100%;
    }
}
@media (prefers-reduced-motion: reduce) {
    .results-demo__layer {
        transform: none !important;
    }
    .results-demo__marker {
        transition: none;
    }
}
.home-news {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}
.home-news__lead {
    position: relative;
    display: block;
    min-height: 15rem;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    background: var(--surface);
}
.home-news__lead .media-slot--news-lead,
.home-news__lead .media-slot--news-lead img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home-news__lead::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgb(0 0 0 / 0.82) 0%, rgb(0 0 0 / 0.55) 32%, rgb(0 0 0 / 0.10) 72%);
    transition: opacity 0.25s ease;
}
.home-news__lead .media-slot--news-lead img {
    transition: transform 0.5s ease;
}
.home-news__lead:hover .media-slot--news-lead img,
.home-news__lead:focus-visible .media-slot--news-lead img {
    transform: scale(1.04);
}
.home-news__lead:hover .home-news__cta,
.home-news__lead:focus-visible .home-news__cta {
    background: rgb(255 255 255 / 0.95);
    color: #111;
}
@media (prefers-reduced-motion: reduce) {
    .home-news__lead .media-slot--news-lead img {
        transition: none;
    }
    .home-news__lead:hover .media-slot--news-lead img {
        transform: none;
    }
}
.home-news__lead-body {
    position: absolute;
    inset: auto 1rem 1rem;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}
.home-news__kind {
    background: rgb(255 255 255 / 0.92);
    color: var(--accent);
    font-size: var(--fs-2xs);
    font-weight: 600;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
}
.home-news__lead-title {
    color: var(--on-filled);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.25;
    text-wrap: balance;
}
.home-news__cta {
    display: inline-block;
    border: 1px solid rgb(255 255 255 / 0.85);
    color: var(--on-filled);
    font-size: 0.88rem;
    padding: 0.4rem 0.9rem;
    border-radius: var(--radius-sm, 0.5rem);
}
.home-news__list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}
.home-news__list {
    justify-content: space-between;
}
.home-news__list li {
    flex: 0 0 auto;
    display: flex;
}
.home-news__list li + li {
    border-top: 1px solid var(--line);
}
.home-news__list li:first-child a {
    padding-top: 0;
}
.home-news__list li:last-child a {
    padding-bottom: 0;
}
.home-news__list a {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    width: 100%;
    padding: 0.65rem 0;
    text-decoration: none;
    color: var(--text);
    font-size: 0.92rem;
    line-height: 1.4;
}
.home-news__row-body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}
.home-news__row-date {
    color: var(--muted);
    font-weight: 600;
    white-space: nowrap;
}
.home-news__row-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    margin-top: 0.3rem;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--muted);
}
@media (max-width: 899.98px) {
    .home-news__row-excerpt {
        display: none;
    }
}
.home-news__lead-meta {
    color: rgb(255 255 255 / 0.82);
    font-size: 0.8rem;
}
.home-news__list a:hover .home-news__row-title,
.home-news__list a:focus-visible .home-news__row-title {
    text-decoration: underline;
}
.home-news__list a:hover .media-slot--news-thumb,
.home-news__list a:focus-visible .media-slot--news-thumb {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}
.home-news__list .media-slot--news-thumb {
    flex: 0 0 2.6rem;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 6px;
    overflow: hidden;
}
.home-news__list .media-slot--news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (max-width: 767.98px) {
    .home-news {
        grid-template-columns: 1fr;
    }
}
.home-section--trends {
    background:
        radial-gradient(ellipse 50% 70% at 18% 40%, rgba(220, 38, 38, 0.06), transparent 58%),
        linear-gradient(120deg, var(--canvas-soft) 0%, #e8ecf1 55%, #dfe5ec 100%);
    --tb-line: var(--pill-green, #10b981);
    --tb-good: var(--pill-green, #10b981);
    --tb-out: var(--pill-red, #ef4444);
    --tb-band: rgba(16, 185, 129, 0.16);
    --tb-band-out: rgba(239, 68, 68, 0.09);
    --tb-band-edge: rgba(16, 185, 129, 0.38);
    --tb-muted: var(--muted-soft);
    --tb-grid: rgba(17, 24, 39, 0.08);
}
.trends-band__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(1.4rem, 3.5vw, 2.6rem);
    align-items: center;
}
.trends-band__card svg {
    overflow: visible;
}
.trends-band__card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 0.85rem 1rem 0.35rem;
    min-width: 0;
    box-shadow: var(--shadow-float);
}
.trends-band__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.6rem;
}
.trends-band__tab {
    border: 1px solid var(--line);
    background: var(--canvas-soft);
    border-radius: var(--radius-pill);
    font: 600 0.75rem var(--font-body);
    color: var(--text);
    padding: 0.3rem 0.65rem;
    cursor: pointer;
    white-space: nowrap;
    flex: 1 1 auto;
    text-align: center;
}
@media (min-width: 1100px) {
    .trends-band__tabs {
        flex-wrap: nowrap;
    }
}
.trends-band__tab.is-active {
    background: linear-gradient(to right, var(--accent-bright), var(--accent));
    border-color: var(--accent);
    color: var(--on-filled);
}
@media (prefers-reduced-motion: no-preference) {
    .trends-band__tab {
        transition:
            background-color var(--t-quick) ease,
            background-image var(--t-quick) ease,
            border-color var(--t-quick) ease,
            color var(--t-quick) ease;
    }
}
.trends-band__explain {
    margin: 0.15rem 0 0.5rem;
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--text);
    min-height: 3em;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.16s ease, transform 0.16s ease;
}
.trends-band__explain.is-fading {
    opacity: 0;
    transform: translateY(-3px);
}
.trends-band__meta {
    margin: 0.3rem 0 0.4rem;
    font-size: 0.78rem;
    color: var(--muted);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    flex-wrap: nowrap;
}
.trends-band__meta > span:first-child {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.trends-band__meta > span:first-child > * + * { margin-left: 0.45rem; }
.trends-band__types {
    display: inline-flex;
    flex: 0 0 auto;
    margin-left: auto;
    padding: 2px;
    border-radius: var(--radius-pill);
    background: rgba(17, 24, 39, 0.06);
    border: 1px solid var(--line);
}
.trends-band__type {
    width: 30px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    display: inline-grid;
    place-items: center;
}
.trends-band__type svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.trends-band__type[aria-pressed="true"] {
    background: var(--surface);
    color: var(--accent);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.14);
}
.trends-band__type:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}
.trends-band__pill {
    display: inline-flex;
    vertical-align: middle;
    align-items: center;
    gap: 0.3rem;
    font: 700 0.68rem/1 var(--font-body);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.28rem 0.5rem;
    border-radius: var(--radius-pill);
    border: 1px solid;
    white-space: nowrap;
}
.trends-band__pill::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}
.trends-band__pill--ok { color: var(--pill-green-ink); background: var(--pill-green-bg); border-color: var(--pill-green-border); }
.trends-band__pill--ok::before { background: var(--pill-green); }
.trends-band__pill--out { color: var(--pill-red-ink); background: var(--pill-red-bg); border-color: var(--pill-red-border); }
.trends-band__pill--out::before { background: var(--pill-red); }
.trends-band__delta { white-space: nowrap; }
.trends-band__delta--up::before { content: "\25B2 "; font-size: 0.6em; }
.trends-band__delta--down::before { content: "\25BC "; font-size: 0.6em; }
.trends-band__copy .trends-band__pick { font-size: 0.9rem; color: var(--text); }
.trends-band__copy .trends-band__pick strong { font-weight: 600; }
@media (prefers-reduced-motion: no-preference) {
    .trends-band__card .tb-line { stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: tb-draw 0.48s ease-out forwards; }
    .trends-band__card .tb-dot { opacity: 0; animation: tb-pop 0.2s ease-out forwards; }
    .trends-band__card .tb-area { opacity: 0; animation: tb-fade 0.4s ease-out 0.25s forwards; }
    @keyframes tb-draw { to { stroke-dashoffset: 0; } }
    @keyframes tb-pop { to { opacity: 1; } }
    @keyframes tb-fade { to { opacity: 1; } }
}
.trends-band__card svg[data-trends-band-chart] { transition: opacity 0.16s ease; }
.trends-band__card svg[data-trends-band-chart].is-fading { opacity: 0; }
.trends-band__copy h2 {
    margin: 0 0 0.5rem;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(1.7rem, 3.2vw, 2.2rem);
    line-height: 1.05;
}
.trends-band__copy p {
    color: var(--muted);
    line-height: 1.55;
    max-width: 36rem;
}
@media (max-width: 767.98px) {
    .trends-band__grid {
        grid-template-columns: 1fr;
    }
    .trends-band__copy {
        order: -1;
    }
}
@media (min-width: 900px) {
    .trust-strip--parallax .trust-strip__stage,
    .results-demo__stage {
        width: calc(min(100%, var(--max)) - 2 * clamp(1rem, 4vw, 2.5rem));
        margin-inline: auto;
    }
    .trust-strip--parallax .trust-strip__stage::after,
    .results-demo__stage::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background:
            linear-gradient(90deg, var(--canvas-soft) 0%, transparent 4rem),
            linear-gradient(270deg, var(--canvas-soft) 0%, transparent 4rem);
    }
    .results-demo__stage::after {
        background:
            linear-gradient(90deg, var(--canvas-soft) 0%, transparent 4rem),
            linear-gradient(270deg, var(--canvas-soft) 0%, transparent 2.5rem);
    }
    .trust-strip--parallax .trust-strip__mid,
    .results-demo__mid {
        width: 100%;
        padding-inline: 0;
    }
}
.import-band .import-band__soon {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.5rem;
    background: #fef3c7;
    color: #92400e;
    font: 700 0.68rem/1 var(--font-body);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.3rem 0.55rem;
    border-radius: var(--radius-pill);
}
.import-band {
    --tb-line: var(--pill-green, #10b981);
    --tb-good: var(--pill-green, #10b981);
    --tb-band: rgba(16, 185, 129, 0.16);
    --tb-grid: rgba(17, 24, 39, 0.08);
    --tb-muted: #6b7280;
}
.import-band .import-band__foot {
    margin: 0.9rem 0 0;
    font-size: 0.82rem;
    color: var(--muted);
}
.import-band .heading-brand em {
    font-style: normal;
}
.import-band__doc {
    background: var(--surface);
    color: var(--text);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-float);
    padding: 0.85rem 0.9rem;
    text-align: left;
    font-size: 0.78rem;
}
.import-band__doc b {
    display: block;
    font: 700 0.66rem/1 var(--font-body);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 0.5rem;
}
.import-band__doc .r {
    display: flex;
    justify-content: space-between;
    padding: 0.2rem 0;
    border-bottom: 1px solid #eef0f3;
}
.import-band__doc .r:last-child { border: 0; }
.home-section--import-flow {
    background:
        radial-gradient(ellipse 60% 80% at 80% 20%, rgba(220, 38, 38, 0.18), transparent 60%),
        linear-gradient(160deg, #111827 0%, #1f2937 100%);
    color: #fff;
    text-align: center;
}
.home-section--import-flow .shop__eyebrow { color: var(--accent-bright); }
.home-section--import-flow .heading-brand {
    background-image: linear-gradient(90deg, #fff 0%, #fff 28%, var(--accent-bright) 100%);
    margin-bottom: 0.4rem;
}
.home-section--import-flow .lede {
    color: #cbd5e1;
    max-width: 56ch;
    margin: 0 auto 1.6rem;
    font-size: 1.05rem;
}
.home-section--import-flow .import-band__foot { color: #9ca3af; }
.import-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 1.1fr;
    gap: 0.9rem;
    align-items: center;
    margin: 0 auto 1.6rem;
    max-width: 960px;
}
.import-flow .import-band__doc { position: relative; }
.import-flow .import-band__doc::after {
    content: "\2192";
    position: absolute;
    right: -0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--accent-bright);
    font-size: 1.3rem;
    font-weight: 700;
}
.import-flow__chart {
    background: var(--surface);
    border-radius: var(--radius-card);
    padding: 0.6rem 0.7rem 0.3rem;
    box-shadow: var(--shadow-float);
}
.import-flow__chart svg { overflow: visible; display: block; }
.import-flow__chart small {
    display: block;
    text-align: left;
    font-size: 0.7rem;
    color: var(--muted);
    margin: 0.3rem 0 0.2rem;
}
@media (max-width: 1023px) {
    .import-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .import-flow .import-band__doc::after { display: none; }
    .import-flow__chart { grid-column: 1 / -1; }
}
@media (max-width: 599px) {
    .import-flow { grid-template-columns: 1fr 1fr; }
    .import-flow .import-band__doc:nth-child(3) { display: none; }
}
.home-section--import-stack { background: var(--surface); }
.import-stack__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3.5rem);
    align-items: center;
}
.import-stack { position: relative; height: 270px; }
.import-stack .import-band__doc {
    position: absolute;
    width: 58%;
    border: 1px solid var(--line);
    font-size: 0.76rem;
}
.import-stack .d1 { left: 0; top: 60px; transform: rotate(-5deg); opacity: 0.85; }
.import-stack .d2 { left: 16%; top: 30px; transform: rotate(1.5deg); opacity: 0.93; }
.import-stack .d3 { left: 34%; top: 0; transform: rotate(5deg); }
.import-stack .d3 b { color: var(--accent); }
.import-stack__badge {
    position: absolute;
    right: 0;
    bottom: 8px;
    background: var(--ink);
    color: #fff;
    border-radius: var(--radius-pill);
    padding: 0.45rem 0.8rem;
    font: 700 0.78rem var(--font-body);
    box-shadow: var(--shadow-float);
}
.import-stack__badge i {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--tb-good);
    margin-right: 0.4rem;
    vertical-align: -1px;
}
.home-section--import-stack .heading-brand { margin-bottom: 0.5rem; }
.home-section--import-stack .lede {
    font-size: 1.05rem;
    color: var(--text);
    margin: 0 0 1.2rem;
    max-width: 44ch;
}
.home-section--import-stack .import-band__foot { max-width: 44ch; }
@media (max-width: 767px) {
    .import-stack__grid { grid-template-columns: 1fr; }
    .import-stack { height: 230px; }
}
.shop,
.pdp {
    width: min(100%, var(--max));
    margin: 0 auto;
    padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1rem, 4vw, 2.5rem) clamp(2.5rem, 6vw, 4rem);
    box-sizing: border-box;
}
body.page-portal .shop {
    padding-bottom: clamp(3.5rem, 8vw, 5.5rem);
}
body.page-portal .shop > .surface-panel:last-child,
body.page-portal .shop > .portal-empty:last-child {
    margin-bottom: 0.25rem;
}
body.page-shop,
body.page-portal {
    background: var(--canvas);
}
body.page-shop .site-main,
body.page-portal .site-main {
    background:
        radial-gradient(ellipse 90% 45% at 50% 0%, rgba(220, 38, 38, 0.05), transparent 72%),
        linear-gradient(180deg, var(--canvas-soft), var(--canvas) 42%);
}
@media (min-width: 700px) {
    body.page-portal .shop:not(.shop--narrow):not(.shop--help):not(.shop--content):not(.shop--news):not(.shop--encyclopaedia) > .shop__intro {
        max-width: none;
    }
    body.page-portal .shop:not(.shop--narrow):not(.shop--help):not(.shop--content):not(.shop--news):not(.shop--encyclopaedia) > .shop__intro > p:not(.portal-ticket-meta),
    body.page-portal .shop:not(.shop--narrow):not(.shop--help):not(.shop--content):not(.shop--news):not(.shop--encyclopaedia) > .shop__intro > .shop__lede {
        max-width: min(var(--measure-wide), 100%);
    }
}
body.page-portal .shop > .shop__intro {
    max-width: none;
}
body.page-portal .shop > .shop__intro > p:not(.portal-ticket-meta),
body.page-portal .shop > .shop__intro > .shop__lede {
    max-width: min(var(--measure-wide), 100%);
}
body.page-portal .portal-empty p {
    max-width: none;
}
body.page-portal .portal-empty {
    max-width: 100%;
}
body.page-portal .saq-list,
body.page-portal .portal-section,
body.page-portal .results__mast,
body.page-portal .results__status-strip,
body.page-portal .results__analysis--lead {
    max-width: none;
    width: 100%;
}
.shop--narrow {
    max-width: 32rem;
}
.shop--checkout > .shop__intro {
    max-width: 36rem;
}
@media (min-width: 700px) {
    .shop--checkout > .shop__intro {
        max-width: min(var(--measure-listing), 100%);
    }
}
.shop.shop--help > .shop__intro {
    max-width: min(var(--measure-wide), 100%);
}
.shop.shop--help > .shop__intro p,
.shop.shop--help > .shop__intro .shop__lede {
    max-width: min(var(--measure-wide), 100%);
}
.shop__intro {
    max-width: 36rem;
    margin-bottom: 0.25rem;
}
.shop__intro p:not(.portal-ticket-meta),
.shop__intro > .shop__lede {
    max-width: 38rem;
}
@media (min-width: 700px) {
    .shop:not(.shop--narrow):not(.shop--help):not(.shop--content):not(.shop--news):not(.shop--encyclopaedia) > .shop__intro,
    .shop--find > .shop__intro {
        max-width: min(var(--measure-listing), 100%);
    }
    .shop:not(.shop--narrow):not(.shop--help):not(.shop--content):not(.shop--news):not(.shop--encyclopaedia) > .shop__intro > p:not(.portal-ticket-meta),
    .shop:not(.shop--narrow):not(.shop--help):not(.shop--content):not(.shop--news):not(.shop--encyclopaedia) > .shop__intro > .shop__lede,
    .shop--find > .shop__intro > p,
    .shop--find > .shop__intro > .shop__lede {
        max-width: min(var(--measure-prose), 100%);
    }
    .shop:has(.product-grid):not(.shop--help):not(.shop--content):not(.shop--encyclopaedia) > .shop__intro,
    .shop:has(.collection-grid):not(.shop--help):not(.shop--content):not(.shop--encyclopaedia) > .shop__intro {
        max-width: min(var(--measure-listing), 100%);
    }
}
.shop.shop--news > .shop__intro {
    max-width: none;
}
.shop.shop--news > .shop__intro .shop__lede {
    max-width: min(var(--measure-prose), 100%);
}
.shop.shop--content > .shop__intro,
.shop.shop--help > .shop__intro {
    max-width: none;
}
.shop.shop--help > .shop__intro p,
.shop.shop--help > .shop__intro .shop__lede {
    max-width: min(var(--measure-prose), 100%);
}
.shop.shop--content:not(.shop--help) > .shop__intro p {
    max-width: none;
}
.shop.shop--content > .media-slot--content,
.shop.shop--content > .media-slot--content-video {
    max-width: none;
}
.shop__lede {
    margin: 0.65rem 0 0;
    color: var(--muted);
    font-size: 0.98rem;
    line-height: 1.5;
}
.shop__lede--quiet {
    margin-top: 0.35rem;
    font-size: 0.9rem;
}
.shop__lede--after {
    margin-top: 1.25rem;
}
.auth-panel {
    padding: 1.25rem 1.3rem 1.35rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
}
.auth-panel__intro {
    margin: 0 0 1.1rem;
}
.auth-panel__intro h1 {
    margin: 0 0 0.35rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 2.75rem);
    letter-spacing: 0.04em;
    font-weight: 400;
}
.auth-panel__intro > p {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-md);
}
.auth-panel__intro .shop__eyebrow {
    margin: 0 0 0.35rem;
}
.auth-panel .shop-notice {
    margin: 0 0 1rem;
}
.auth-panel .checkout-form {
    margin: 0;
    position: relative;
}
.auth-panel .checkout-form > input[type="hidden"],
.checkout-form--narrow > input[type="hidden"] {
    position: absolute;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
}
.dx-turnstile {
    line-height: 0;
}
.dx-turnstile__host:empty {
    display: none;
}
.auth-panel .checkout-form > .dx-turnstile:not(.is-challenging),
.checkout-form--narrow > .dx-turnstile:not(.is-challenging) {
    position: absolute;
    left: 0;
    right: 0;
    height: 0;
    margin: 0;
    overflow: hidden;
    pointer-events: none;
}
.auth-panel .checkout-form > .dx-turnstile.is-challenging,
.checkout-form--narrow > .dx-turnstile.is-challenging {
    position: static;
    margin: 0;
    height: auto;
    overflow: visible;
    line-height: normal;
    pointer-events: auto;
}
.auth-panel__trust {
    margin: 0.85rem 0 0;
    font-size: 0.82rem;
    color: var(--muted);
    line-height: 1.4;
}
.auth-panel__turnstile-help {
    margin: 0.65rem 0 0;
    font-size: 0.85rem;
    color: var(--muted);
    line-height: 1.4;
}
.auth-panel__turnstile-help a {
    color: var(--accent);
    font-weight: 600;
}
.auth-switch {
    margin-top: 1rem;
}
.auth-switch .btn {
    flex: 1 1 12rem;
}
.auth-panel .checkout-field > label.required::after,
.shop--narrow .checkout-form .checkout-field > label.required::after {
    content: " *";
    color: var(--state-danger, var(--bad));
    font-weight: 700;
}
.auth-consents {
    margin: 0.35rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid var(--line);
    display: grid;
    gap: 0.65rem;
}
.auth-consents__title {
    margin: 0;
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--state-danger, var(--bad));
}
.auth-consents__lede {
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--muted);
    line-height: 1.45;
}
.auth-consents__lede a {
    font-weight: 600;
}
.auth-consents__flags {
    margin: 0;
    padding: 0;
    border: 0;
    border-top: 0;
}
.shop-notice {
    margin: 0 0 1.5rem;
    padding: 0.85rem 1rem;
    border-left: 3px solid var(--accent);
    border-radius: var(--radius-sm);
    background: rgba(220, 38, 38, 0.06);
    font-size: var(--fs-md);
    line-height: 1.45;
    color: var(--text);
}
.shop-notice--success {
    border-left-color: var(--ok);
    background: color-mix(in srgb, var(--ok) 10%, var(--canvas-soft));
    color: var(--ok-ink);
}
.shop-notice--warn {
    border-left-color: var(--warn);
    background: rgba(217, 119, 6, 0.1);
    color: var(--warn-ink);
}
.shop-notice a {
    font-weight: 600;
    color: inherit;
    text-underline-offset: 0.15em;
}
.medical-disclaimer {
    margin: 1.25rem 0 0;
    padding: 0.9rem 1rem;
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--accent) 5%, var(--surface));
    color: var(--text);
}
.medical-disclaimer__title {
    margin: 0 0 0.35rem;
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--accent);
}
.medical-disclaimer__body {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--muted);
}
.pdp__buy .medical-disclaimer {
    margin-top: 0.85rem;
}
.results .medical-disclaimer {
    margin: 0.75rem 0 0;
}
.shop--encyclopaedia > .medical-disclaimer {
    margin: 1.75rem 0 0;
}
.shop__controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 0.75rem;
    margin: 1.5rem 0 1.35rem;
    align-items: center;
    padding: 0.35rem 0 0.85rem;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
}
.shop__controls input[type="search"],
.shop__controls select {
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--input-border);
    border-radius: var(--radius-xs);
    background: var(--surface);
    color: var(--text);
    min-height: var(--control-height);
    font: inherit;
    flex: 1 1 10rem;
    min-width: 0;
    max-width: 100%;
}
.shop__controls:not(:has(input[type="search"])) select {
    flex: 1 1 0;
}
.shop__controls input[type="search"] {
    flex: 1 1 14rem;
}
.shop__controls .btn {
    flex: 0 0 auto;
}
.shop__count {
    margin: 0 0 1.15rem;
    color: var(--muted);
    font-size: 0.92rem;
}
.shop__pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem 1.25rem;
    margin: 2rem 0 0.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--line);
}
.shop__pager-status {
    color: var(--muted);
    font-size: 0.9rem;
}
.shop .product-grid,
.shop .collection-grid {
    margin-top: 0.25rem;
}
@media (min-width: 1100px) {
    .shop .product-grid {
        margin-top: 0.5rem;
    }
}
.account-panel,
.portal-section {
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
}
.account-panel.surface-panel,
.portal-section.surface-panel {
    margin-top: 0;
    padding-top: 1.15rem;
    border-top: 0;
}
.account-panel--flush {
    border-top: 0;
    margin-top: 0;
    padding-top: 0.25rem;
}
.account-panel.surface-panel.account-panel--flush {
    padding-top: 1.15rem;
}
.account-panel h2,
.account-panel__title,
.portal-section__title {
    margin: 0 0 0.85rem;
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 700;
}
.account-panel.surface-panel > .shop__lede {
    margin-top: 0;
}
.account-panel.surface-panel > .shop-notice {
    margin-bottom: 1rem;
}
.account-panel.surface-panel .checkout-form > .btn {
    margin-top: 0.35rem;
}
.account-panel__disclosure {
    margin: 0;
}
.account-panel.surface-panel .account-panel__disclosure > summary {
    margin-bottom: 0;
    min-height: 0;
    padding: 0.15rem 0;
}
.account-panel.surface-panel .account-panel__disclosure[open] > summary {
    margin-bottom: 0.85rem;
}
.account-panel__disclosure > summary {
    list-style: none;
    cursor: pointer;
    margin: 0 0 0.85rem;
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 2.75rem;
}
.account-panel__disclosure > summary::-webkit-details-marker {
    display: none;
}
.account-panel__disclosure > summary::after {
    content: '';
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: var(--ink);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.account-panel__disclosure[open] > summary {
    margin-bottom: 0.85rem;
}
.account-panel__disclosure[open] > summary::after {
    transform: rotate(225deg);
}
.account-panel__disclosure > summary:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
.portal-section__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-bottom: 0.35rem;
}
.portal-section__head .portal-section__title {
    margin-bottom: 0;
}
.portal-page-head .shop__cta--row {
    margin-top: 1.1rem;
}
.portal-page-head--rule {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    flex-wrap: wrap;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--line);
}
.portal-page-head--rule::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 4.5rem;
    height: 3px;
    border-radius: 2px;
    background: var(--accent);
}
.portal-page-head__count {
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--muted);
}
.portal-page-head--rule > p {
    flex: 1 0 100%;
    margin-top: 0.35rem;
}
.portal-page-head__cta {
    margin: 1.1rem 0 0;
}
.portal-form-panel {
    max-width: 40rem;
}
.portal-form {
    width: 100%;
}
.portal-form__actions {
    margin-top: 0.35rem;
}
.portal-form__actions--row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}
.portal-empty,
.empty-state {
    display: grid;
    gap: 0.85rem;
    justify-items: start;
    margin-top: 0.85rem;
    padding: 1.15rem 1.2rem 1.25rem;
    max-width: min(40rem, 100%);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    color: var(--muted);
    line-height: 1.45;
}
.basket-empty {
    position: relative;
    overflow: hidden;
    padding-top: 1.35rem;
}
.basket-empty::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent) 0 4.5rem, var(--line) 4.5rem);
}
.portal-empty > p > strong:first-child,
.basket-empty > p > strong:first-child {
    display: block;
    color: var(--text);
    font-size: var(--fs-md, 0.95rem);
}
.portal-empty--compact {
    margin-top: 0.5rem;
}
.portal-empty p,
.empty-state__body {
    margin: 0;
    max-width: none;
    color: var(--muted);
    font-size: var(--fs-sm, 0.88rem);
    line-height: 1.45;
}
.empty-state__title {
    margin: 0;
    font-weight: 700;
    font-size: var(--fs-md, 0.95rem);
    color: var(--text);
}
.empty-state__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    margin-top: 0;
}
.portal-empty .btn,
.empty-state__actions .btn {
    margin-top: 0;
}
.shop__empty.empty-state {
    margin-top: 1.5rem;
    max-width: 36rem;
}
.portal-ticket-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.85rem;
    margin-top: 0.85rem;
    max-width: none;
}
.portal-ticket-meta > span:not(.status-pill) {
    color: var(--muted);
    font-size: 0.92rem;
}
.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 1.55rem;
    padding: 0.2rem 0.7rem;
    border-radius: var(--radius-pill);
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: var(--pill-slate-bg, color-mix(in srgb, var(--muted) 14%, var(--canvas-soft)));
    color: var(--pill-slate-ink, var(--text));
    border: 1px solid var(--pill-slate-border);
    white-space: nowrap;
    --pill-dot: var(--pill-slate);
}
.status-pill::before {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--pill-dot);
    flex: 0 0 auto;
}
.status-pill--open,
.status-pill--awaiting_staff {
    background: var(--pill-red-bg, var(--state-danger-bg));
    color: var(--pill-red-ink, var(--bad-ink));
    border-color: var(--pill-red-border, var(--state-danger-border));
    --pill-dot: var(--pill-red, var(--bad));
}
.status-pill--awaiting_customer {
    background: var(--pill-amber-bg, var(--state-progress-bg));
    color: var(--pill-amber-ink, var(--warn-ink));
    border-color: var(--pill-amber-border, var(--state-progress-border));
    --pill-dot: var(--pill-amber, var(--warn));
}
.status-pill--resolved {
    background: var(--pill-green-bg, var(--state-success-bg));
    color: var(--pill-green-ink, var(--ok-ink));
    border-color: var(--pill-green-border, var(--state-success-border));
    --pill-dot: var(--pill-green, var(--ok));
}
.status-pill--closed {
    background: var(--pill-slate-bg);
    color: var(--pill-slate-ink);
    border-color: var(--pill-slate-border);
    --pill-dot: var(--pill-slate);
}
.portal-ticket-cards {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.85rem;
    max-width: min(68rem, 100%);
}
.portal-ticket-card {
    display: grid;
    gap: 0.55rem;
    padding: 1.05rem 1.1rem 1.1rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    color: inherit;
    text-decoration: none;
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--text) 14%, transparent);
    min-height: var(--touch);
}
.portal-ticket-card--open,
.portal-ticket-card--awaiting_staff {
    box-shadow: inset 3px 0 0 var(--pill-red, var(--bad));
}
.portal-ticket-card--awaiting_customer {
    box-shadow: inset 3px 0 0 var(--pill-amber, var(--warn));
}
.portal-ticket-card--resolved {
    box-shadow: inset 3px 0 0 var(--pill-green, var(--ok));
}
.portal-ticket-card--closed {
    box-shadow: inset 3px 0 0 var(--pill-slate, var(--muted));
}
.portal-ticket-card__top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.45rem 0.75rem;
    align-items: center;
}
.portal-ticket-card__id {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}
.portal-ticket-card__subject {
    font-size: clamp(1.05rem, 2.2vw, 1.2rem);
    font-weight: 700;
    line-height: 1.25;
    color: var(--text);
}
.portal-ticket-card__preview {
    margin: 0;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.portal-ticket-card__foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.45rem 0.75rem;
    align-items: center;
    margin-top: 0.15rem;
}
.portal-ticket-card__foot time {
    font-size: var(--fs-sm);
    color: var(--muted);
}
.portal-ticket-card__cta {
    color: var(--accent);
    font-weight: 700;
    font-size: var(--fs-md);
}
@media (hover: hover) and (pointer: fine) {
    .portal-ticket-card:hover .portal-ticket-card__subject {
        color: var(--accent);
    }
    .portal-ticket-card:hover .portal-ticket-card__cta {
        text-decoration: underline;
        text-underline-offset: 0.18em;
    }
}
.support-thread {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.85rem;
}
.support-thread__item {
    padding: 0.95rem 1.05rem;
    border-radius: var(--radius-card);
    border: 1px solid var(--line);
    background: var(--surface);
}
.support-thread__item--you {
    border-color: color-mix(in srgb, var(--line) 70%, var(--muted));
    background: var(--canvas-soft);
}
.support-thread__item--staff {
    border-color: color-mix(in srgb, var(--accent) 22%, var(--line));
    background: color-mix(in srgb, var(--accent) 5%, var(--surface));
    box-shadow: inset 3px 0 0 var(--accent);
}
.support-thread__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.35rem 1rem;
    margin-bottom: 0.45rem;
    font-size: var(--fs-sm);
    color: var(--muted);
}
.support-thread__meta strong {
    color: var(--text);
    font-weight: 700;
}
.support-thread__body {
    line-height: 1.55;
    color: var(--text);
}
.portal-support > .shop__intro {
    max-width: min(68rem, 100%);
}
.portal-support > .shop__intro p:not(.portal-ticket-meta) {
    max-width: min(48rem, 100%);
}
.portal-support--detail .portal-page-head--ticket {
    margin-bottom: 0.25rem;
}
.portal-ticket-layout {
    display: grid;
    gap: 1.5rem;
    margin-top: 1rem;
    align-items: start;
}
@media (min-width: 900px) {
    .portal-ticket-layout {
        grid-template-columns: minmax(0, 1fr) 15.5rem;
    }
}
.portal-ticket-main {
    min-width: 0;
}
.portal-ticket-shell.surface-panel {
    padding: 1.2rem 1.15rem 1.3rem;
}
.portal-ticket-shell__reply {
    margin-top: 1.15rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--line);
}
.portal-ticket-shell__reply .portal-form {
    max-width: none;
}
.portal-ticket-reply .portal-form {
    max-width: none;
}
.portal-ticket-closed-note {
    margin-top: 1rem;
}
.portal-ticket-aside {
    display: grid;
    gap: var(--space-4);
    padding: 1rem 1.05rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--canvas-soft);
}
.portal-ticket-aside.surface-panel {
    background: var(--surface);
    padding: 1.15rem 1.15rem 1.2rem;
}
.portal-ticket-aside__title {
    margin: 0;
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.portal-ticket-aside__facts {
    margin: 0;
    display: grid;
    gap: 0.65rem;
}
.portal-ticket-aside__facts > div {
    display: grid;
    gap: 0.2rem;
}
.portal-ticket-aside__facts dt {
    margin: 0;
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}
.portal-ticket-aside__facts dd {
    margin: 0;
    font-size: var(--fs-md);
    color: var(--text);
}
.portal-ticket-aside__actions .btn {
    width: 100%;
}
.portal-ticket-aside__actions--stack {
    display: grid;
    gap: 0.5rem;
}
.portal-ticket-aside__staff {
    margin: 0;
    padding-top: 0.65rem;
    border-top: 1px solid var(--line);
    font-size: var(--fs-sm);
    line-height: 1.45;
}
.portal-ticket-aside__staff a {
    font-weight: 700;
    color: var(--accent);
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .portal-ticket-aside__staff a:hover {
        text-decoration: underline;
        text-underline-offset: 0.15em;
    }
}
.portal-staff-hint {
    margin: 0.75rem 0 0;
    padding: 0.75rem 0.9rem;
    border-radius: var(--radius-card);
    border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
    background: color-mix(in srgb, var(--accent) 6%, var(--surface));
    font-size: 0.92rem;
    line-height: 1.45;
}
.portal-staff-hint a {
    font-weight: 700;
    color: var(--accent);
}
.portal-support-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 1.25rem;
    margin-bottom: 0.85rem;
}
.portal-support-filters__link {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.2rem 0.75rem;
    border-radius: var(--radius-pill);
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--text);
    font-size: var(--fs-sm);
    font-weight: 700;
    text-decoration: none;
}
.portal-support-filters__link.is-active {
    border-color: var(--pill-blue-border, var(--state-info-border, color-mix(in srgb, var(--info) 35%, var(--line))));
    background: var(--pill-blue-bg, var(--state-info-bg, color-mix(in srgb, var(--info) 10%, var(--surface))));
    color: var(--pill-blue-ink, var(--info-ink));
}
.account-order-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0;
}
.account-order-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-4);
    padding: 0.95rem 0;
    border-top: 1px solid var(--line);
}
.account-order-list li:last-child {
    border-bottom: 1px solid var(--line);
}
.account-order-list li div {
    display: grid;
    gap: 0.2rem;
}
.account-order-list a {
    color: var(--text);
    text-decoration: none;
}
.account-order-list a.btn {
    flex-shrink: 0;
    line-height: 1.25;
    padding-block: 0.55rem;
    color: inherit;
}
.account-order-list a.btn--primary {
    color: var(--on-filled);
}
.account-order-list a.btn--ghost {
    color: var(--text);
}
@media (hover: hover) and (pointer: fine) {
    .account-order-list a:hover {
        color: var(--accent);
    }
    .account-order-list a.btn--primary:hover {
        color: var(--on-filled);
    }
    .account-order-list a.btn--ghost:hover {
        color: var(--accent);
    }
}
.account-order-list span:not(.status-pill) {
    color: var(--muted);
    font-size: 0.92rem;
}
.account-order-list__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem 0.85rem;
}
.account-order-list__actions > span {
    min-width: 4.5rem;
    text-align: right;
    color: var(--text);
    font-weight: 600;
}
.account-order-list--dense {
    border-top: 1px solid var(--line);
}
.account-order-list--dense > .account-order-list__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "main price"
        "actions actions";
    gap: 0.55rem 0.75rem;
    align-items: start;
    padding: 0.85rem 0.65rem;
    border-top: 0;
    border-bottom: 1px solid var(--line);
    transition: background 0.15s ease;
}
.account-order-list--dense > .account-order-list__row:not(:has(.account-order-list__actions)) {
    grid-template-areas: "main price";
    gap: 0.35rem 0.75rem;
}
.account-order-list--dense > .account-order-list__row:not(:has(.account-order-list__price)) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "main"
        "actions";
}
.account-order-list--dense > .account-order-list__row:not(:has(.account-order-list__price)):not(:has(.account-order-list__actions)) {
    grid-template-areas: "main";
}
@media (min-width: 700px) {
    .account-order-list--dense > .account-order-list__row {
        grid-template-columns: minmax(0, 1fr) auto auto;
        grid-template-areas: "main actions price";
        gap: 0.35rem 0.85rem;
    }
    .account-order-list--dense > .account-order-list__row:not(:has(.account-order-list__actions)) {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "main price";
    }
    .account-order-list--dense > .account-order-list__row:not(:has(.account-order-list__price)) {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "main actions";
    }
    .account-order-list--dense > .account-order-list__row:not(:has(.account-order-list__price)):not(:has(.account-order-list__actions)) {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "main";
    }
}
.account-order-list--dense > .account-order-list__row:last-child {
    border-bottom: 1px solid var(--line);
}
.surface-panel > .account-order-list--dense {
    border-top: 0;
}
.surface-panel > .account-order-list--dense > .account-order-list__row {
    padding-inline: 0.65rem;
}
.surface-panel > .account-order-list--dense > .account-order-list__row:first-child {
    padding-top: 0.55rem;
}
.surface-panel > .account-order-list--dense > .account-order-list__row:last-child {
    border-bottom: 0;
    padding-bottom: 0.55rem;
}
.surface-panel > .account-order-list:not(.account-order-list--dense) > li:first-child {
    border-top: 0;
    padding-top: 0.15rem;
}
.surface-panel > .account-order-list:not(.account-order-list--dense) > li:last-child {
    border-bottom: 0;
    padding-bottom: 0.15rem;
}
.surface-panel.portal-wallet__balance-panel,
.surface-panel.portal-wallet__redeem-panel {
    margin-top: 1.25rem;
}
.surface-panel.portal-wallet__balance-panel h2,
.surface-panel.portal-wallet__redeem-panel h2 {
    margin: 0 0 0.85rem;
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 700;
}
@media (hover: hover) and (pointer: fine) {
    .surface-panel > .account-order-list--dense > .account-order-list__row:hover {
        background: color-mix(in srgb, var(--canvas-soft) 65%, transparent);
        border-radius: var(--radius-xs);
    }
}
@media (hover: hover) and (pointer: fine) {
    .account-order-list--dense > .account-order-list__row:hover {
        background: color-mix(in srgb, var(--surface) 72%, transparent);
    }
}
.account-order-list--dense .account-order-list__main {
    grid-area: main;
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}
@media (min-width: 700px) {
    .account-order-list--dense .account-order-list__main {
        gap: 0.25rem;
    }
}
.account-order-list--dense .account-order-list__title {
    margin: 0;
    font-size: var(--fs-md);
    font-weight: 700;
    line-height: 1.3;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.35rem;
    min-width: 0;
}
.account-order-list--dense .account-order-list__title .status-pill {
    flex: 0 0 auto;
    max-width: 100%;
    min-height: 1.35rem;
    padding: 0.12rem 0.55rem;
    gap: 0.3rem;
}
.account-order-list--dense .account-order-list__title-name {
    flex: none;
    width: 100%;
    min-width: 0;
}
@media (min-width: 700px) {
    .account-order-list--dense .account-order-list__title {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.4rem 0.55rem;
        font-size: var(--fs-lg);
    }
    .account-order-list--dense .account-order-list__title-name {
        flex: 1 1 8rem;
        width: auto;
    }
}
.account-order-list--dense .account-order-list__title a {
    color: var(--text);
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .account-order-list--dense .account-order-list__title a:hover {
        color: var(--accent);
    }
}
.account-order-list--dense .account-order-list__more {
    font-weight: 600;
    color: var(--muted);
    font-size: 0.9rem;
}
.account-order-list--dense .account-order-list__meta {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.45rem;
    font-size: 0.8rem;
    line-height: 1.35;
    color: var(--muted);
}
@media (min-width: 700px) {
    .account-order-list--dense .account-order-list__meta {
        font-size: var(--fs-sm);
        gap: 0.4rem 0.55rem;
    }
}
.account-order-list__hint {
    margin: 0.35rem 0 0;
    font-size: var(--fs-sm);
    color: var(--muted);
    line-height: 1.4;
    max-width: 36rem;
}
.account-order-list--dense .account-order-list__num {
    font-weight: 500;
    color: var(--muted);
    overflow-wrap: anywhere;
}
.account-order-list--dense .account-order-list__when {
    white-space: nowrap;
}
.account-order-list--dense .account-order-list__path {
    flex: 1 1 auto;
    min-width: 0;
}
.account-order-list--dense .account-order-list__actions {
    grid-area: actions;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: stretch;
    gap: 0.5rem 0.75rem;
}
.account-order-list--dense .account-order-list__actions > .btn {
    flex: 1 1 auto;
    width: 100%;
}
@media (min-width: 700px) {
    .account-order-list--dense .account-order-list__actions {
        justify-content: flex-end;
        padding-top: 0.1rem;
    }
    .account-order-list--dense .account-order-list__actions > .btn {
        flex: 0 0 auto;
        width: auto;
    }
}
.account-order-list.account-order-list--dense.account-order-list--cards {
    border-top: 0;
    gap: 0.6rem;
    margin-top: 1.25rem;
}
.account-order-list.account-order-list--dense.account-order-list--cards > .account-order-list__row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "main"
        "verdict"
        "actions";
    gap: 0.6rem 0.85rem;
    align-items: start;
    padding: 0.9rem 1rem;
    border: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    box-shadow: var(--shadow-card);
}
.account-order-list.account-order-list--dense.account-order-list--cards .account-order-list__actions {
    grid-area: actions;
    justify-content: stretch;
    padding-top: 0;
}
.account-order-list.account-order-list--dense.account-order-list--cards .account-order-list__actions > .btn {
    flex: 1 1 auto;
    width: 100%;
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .account-order-list.account-order-list--dense.account-order-list--cards > .account-order-list__row {
        transition: transform var(--t-quick, 0.15s) ease, box-shadow var(--t-quick, 0.15s) ease;
    }
    .account-order-list.account-order-list--dense.account-order-list--cards > .account-order-list__row:hover {
        transform: translateY(-1px);
        box-shadow: var(--shadow-card-lift);
    }
}
.account-order-list__verdict {
    grid-area: verdict;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
    font-size: var(--fs-xs);
    color: var(--muted);
}
.account-order-list__verdict b {
    color: var(--text);
}
.account-order-list__out {
    color: var(--pill-amber-ink);
    font-weight: 700;
}
.account-order-list__mini {
    display: flex;
    gap: 2px;
    flex: 0 0 5.5rem;
    height: 0.4rem;
}
@media (max-width: 699.98px) {
    .account-order-list__verdict {
        flex-wrap: wrap;
        gap: 0.4rem 0.75rem;
    }
    .account-order-list__mini {
        flex: 1 0 100%;
        height: 0.5rem;
    }
}
@media (min-width: 700px) {
    .account-order-list__mini {
        flex-basis: 6.5rem;
    }
}
.account-order-list__mini i {
    display: block;
    min-width: 0.3rem;
    border-radius: 999px;
}
.account-order-list__mini-ok { background: var(--pill-green, var(--ok-strong)); }
.account-order-list__mini-flag { background: var(--pill-amber, var(--warn-strong)); }
.account-order-list__mini-none { background: var(--pill-slate-border, #e2e8f0); }
.account-order-list__dots {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}
.account-order-list__dots i {
    display: block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--pill-slate-border, #e2e8f0);
}
.account-order-list__dots i.is-done {
    background: var(--pill-blue, #3b82f6);
}
.account-order-list__dots i.is-now {
    background: var(--accent);
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.18);
}
.account-order-list.account-order-list--dense.account-order-list--cards > .account-order-list__row.account-order-list__row--in-flight {
    background: linear-gradient(90deg, var(--pill-blue-bg, #eff6ff) 0, var(--surface) 40%);
}
@media (min-width: 700px) {
    .account-order-list.account-order-list--dense.account-order-list--cards > .account-order-list__row {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "main actions"
            "verdict actions";
        align-items: center;
        gap: 0.5rem 1rem;
    }
    .account-order-list.account-order-list--dense.account-order-list--cards .account-order-list__actions {
        justify-content: flex-end;
        align-self: center;
    }
    .account-order-list.account-order-list--dense.account-order-list--cards .account-order-list__actions > .btn {
        flex: 0 0 auto;
        width: auto;
        min-width: 8rem;
    }
}
.account-order-list--dense .account-order-list__price {
    grid-area: price;
    min-width: 3.25rem;
    text-align: right;
    font-weight: 600;
    font-size: var(--fs-sm);
    font-variant-numeric: tabular-nums;
    color: var(--muted-strong, var(--muted));
    line-height: 1.3;
    padding-top: 0.1rem;
    letter-spacing: 0.01em;
}
@media (min-width: 700px) {
    .account-order-list--dense .account-order-list__price {
        font-size: var(--fs-md);
        padding-top: 0.2rem;
    }
}
.order-detail__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem 1.25rem;
    margin: 0 0 1rem;
}
.order-detail__titles h1 {
    margin: 0;
}
.order-detail__more {
    color: var(--muted);
    font-weight: 400;
}
.order-detail__sub {
    margin: 0.35rem 0 0;
    color: var(--muted);
    font-size: var(--fs-md);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
}
.order-detail__num {
    font-variant-numeric: tabular-nums;
}
.order-detail__price {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1;
    color: var(--text);
}
.order-detail__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}
.order-detail__panel {
    margin: 1.25rem 0 0;
    padding: 1.15rem 1.2rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
}
.order-detail__panel .account-panel__title {
    margin: 0 0 0.85rem;
    font-family: var(--font-display);
    font-size: 1.45rem;
    letter-spacing: 0.04em;
    text-transform: none;
    font-weight: 400;
}
.order-detail__panel .meta-list--panel {
    margin: 0;
    gap: 0.75rem 1.5rem;
}
@media (min-width: 700px) {
    .order-detail__panel .meta-list--panel {
        grid-template-columns: 1fr 1fr;
    }
}
.order-detail__panel .account-order-list {
    margin: 0;
}
.order-detail__panel .account-order-list li:first-child {
    padding-top: 0;
}
.order-detail__panel .account-order-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.order-detail__panel .order-detail__lines {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.85rem;
}
.order-detail__panel .order-detail__lines > .checkout-line {
    padding: 0.15rem 0;
}
.order-detail__panel .order-detail__lines > .checkout-line + .checkout-line {
    border-top: 1px solid var(--line);
    padding-top: 0.85rem;
}
.status-pill--order-pending_payment {
    background: var(--pill-slate-bg);
    color: var(--pill-slate-ink);
    border-color: var(--pill-slate-border);
    --pill-dot: var(--pill-slate);
}
.status-pill--order-paid,
.status-pill--order-submitted_to_lab {
    background: var(--pill-blue-bg);
    color: var(--pill-blue-ink);
    border-color: var(--pill-blue-border);
    --pill-dot: var(--pill-blue);
}
.status-pill--order-in_progress {
    background: var(--pill-amber-bg);
    color: var(--pill-amber-ink);
    border-color: var(--pill-amber-border);
    --pill-dot: var(--pill-amber);
}
.status-pill--order-results_ready,
.status-pill--order-analysed {
    background: var(--pill-green-bg);
    color: var(--pill-green-ink);
    border-color: var(--pill-green-border);
    --pill-dot: var(--pill-green);
}
.status-pill--upload-received,
.status-pill--upload-awaiting_extraction,
.status-pill--upload-extracting,
.status-pill--upload-transcribing,
.status-pill--upload-verifying {
    background: var(--pill-blue-bg);
    color: var(--pill-blue-ink);
    border-color: var(--pill-blue-border);
    --pill-dot: var(--pill-blue);
}
.status-pill--upload-awaiting_confirmation,
.status-pill--upload-awaiting_password {
    background: var(--pill-amber-bg);
    color: var(--pill-amber-ink);
    border-color: var(--pill-amber-border);
    --pill-dot: var(--pill-amber);
}
.status-pill--upload-confirmed {
    background: var(--pill-green-bg);
    color: var(--pill-green-ink);
    border-color: var(--pill-green-border);
    --pill-dot: var(--pill-green);
}
.status-pill--upload-failed {
    background: var(--pill-red-bg);
    color: var(--pill-red-ink);
    border-color: var(--pill-red-border);
    --pill-dot: var(--pill-red);
}
.status-pill--order-cancelled,
.status-pill--order-failed {
    background: var(--pill-red-bg, var(--state-danger-bg));
    color: var(--pill-red-ink, var(--bad-ink));
    border-color: var(--pill-red-border, var(--state-danger-border));
    --pill-dot: var(--pill-red, var(--bad));
}
.account-forms {
    display: grid;
    gap: 1.15rem;
}
.account-forms__rail {
    display: grid;
    gap: 1.15rem;
    align-content: start;
}
.account-forms__rail > .account-panel:first-child,
.account-forms__rail > .account-panel.surface-panel:first-child {
    margin-top: 0;
    padding-top: 1.15rem;
    border-top: 0;
}
.account-forms--profile.surface-panel {
    gap: 0;
    padding: 0;
    overflow: hidden;
}
.account-forms--profile.surface-panel > .account-panel.surface-panel,
.account-forms--profile.surface-panel .account-forms__rail > .account-panel.surface-panel {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 1.15rem 1.2rem 1.25rem;
}
.account-forms--profile.surface-panel .account-forms__rail {
    gap: 0;
}
@media (max-width: 699.98px) {
    .account-forms--profile.surface-panel > .account-panel.surface-panel + .account-forms__rail,
    .account-forms--profile.surface-panel .account-forms__rail > .account-panel.surface-panel + .account-panel.surface-panel,
    .account-forms--profile.surface-panel > .account-forms__span {
        border-top: 1px solid var(--line);
    }
}
.account-forms__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1.25rem;
    margin-top: 0.35rem;
}
.account-prefs-list {
    margin: 0.65rem 0 0;
    padding-left: 1.15rem;
    color: var(--ink);
    font-size: var(--fs-md);
    line-height: 1.55;
}
.account-prefs-list li + li {
    margin-top: 0.35rem;
}
@media (min-width: 700px) {
    .account-forms {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 2.5rem;
        align-items: start;
    }
    .account-forms--profile > .account-panel:first-child,
    .account-forms--profile > .account-panel.surface-panel:first-child {
        grid-column: 1;
        grid-row: 1;
        margin-top: 0;
        border-top: 0;
    }
    .account-forms--profile {
        gap: 1.25rem;
    }
    .account-forms--profile.surface-panel {
        gap: 0;
    }
    .account-forms--profile.surface-panel > .account-forms__rail {
        border-left: 1px solid var(--line);
    }
    .account-forms--profile.surface-panel .account-forms__rail > .account-panel.surface-panel + .account-panel.surface-panel {
        border-top: 1px solid var(--line);
    }
    .account-forms--profile.surface-panel > .account-forms__span {
        border-top: 1px solid var(--line);
    }
    .account-forms--profile > .account-forms__rail {
        grid-column: 2;
        grid-row: 1;
    }
    .account-forms--profile > .account-forms__span {
        grid-column: 1 / -1;
        grid-row: 2;
    }
    .account-forms--prefs {
        max-width: min(var(--measure-wide), 100%);
        width: 100%;
        grid-template-columns: minmax(18rem, 34rem) minmax(16rem, 1fr);
        column-gap: clamp(2.5rem, 5vw, 4rem);
        row-gap: 1.5rem;
    }
    .account-forms--prefs > .account-prefs-aside {
        padding-left: 1.5rem;
        border-left: 1px solid var(--line);
    }
}
.order-timeline-fold {
    margin: 1.25rem 0 1.5rem;
    border: 1px solid var(--line);
    background: var(--surface);
    border-radius: var(--radius-card);
}
.order-timeline-fold > summary {
    list-style: none;
    cursor: pointer;
    padding: 0.85rem 1rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.order-timeline-fold > summary::-webkit-details-marker {
    display: none;
}
.order-timeline-fold > summary::after {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: var(--muted);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.order-timeline-fold[open] > summary::after {
    transform: rotate(225deg);
}
.order-timeline-fold .order-timeline {
    margin: 0;
    padding: 0 1rem 1rem;
}
.order-timeline-fold .order-timeline__note {
    padding: 0 1rem 1rem;
    margin: 0;
}
.order-detail__panel > .account-panel__title + .account-order-list,
.order-detail__panel > .account-panel__title + .order-detail__lines,
.order-detail__panel > h3.account-panel__title {
    margin-top: 1.25rem;
}
.order-detail__panel > h3.account-panel__title:first-of-type {
    margin-top: 0;
}
.order-timeline {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}
.order-timeline__note {
    margin: 0 0 1.75rem;
    max-width: var(--measure-prose, 48rem);
    font-size: var(--fs-md);
}
.order-timeline__step {
    display: grid;
    grid-template-columns: 0.85rem 1fr;
    gap: var(--space-3);
    align-items: center;
    color: var(--muted);
}
.order-timeline__marker {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    background: #d1d5db;
}
.order-timeline__step--pending_payment {
    --tl: var(--pill-slate, var(--muted-strong));
    --tl-ring: color-mix(in srgb, var(--pill-slate, var(--muted-strong)) 28%, transparent);
}
.order-timeline__step--paid {
    --tl: var(--pill-blue, var(--info));
    --tl-ring: color-mix(in srgb, var(--pill-blue, var(--info)) 28%, transparent);
}
.order-timeline__detail {
    margin-left: 0.45rem;
    color: var(--muted);
    font-size: var(--fs-sm);
    font-weight: 500;
    white-space: nowrap;
}
.order-timeline__step--kit_dispatched {
    --tl: var(--pill-blue, var(--info));
    --tl-ring: color-mix(in srgb, var(--pill-blue, var(--info)) 28%, transparent);
}
.meta-list__hint {
    color: var(--muted);
    font-size: var(--fs-sm);
}
.order-timeline__step--submitted_to_lab {
    --tl: var(--pill-blue, var(--info));
    --tl-ring: color-mix(in srgb, var(--pill-blue, var(--info)) 28%, transparent);
}
.order-timeline__step--in_progress {
    --tl: var(--pill-amber, var(--warn));
    --tl-ring: color-mix(in srgb, var(--pill-amber, var(--warn)) 28%, transparent);
}
.order-timeline__step--results_ready,
.order-timeline__step--analysed {
    --tl: var(--pill-green, var(--ok));
    --tl-ring: color-mix(in srgb, var(--pill-green, var(--ok)) 28%, transparent);
}
.order-timeline__step--cancelled,
.order-timeline__step--failed {
    --tl: var(--pill-red, var(--bad));
    --tl-ring: color-mix(in srgb, var(--pill-red, var(--bad)) 28%, transparent);
}
.order-timeline__step--done {
    color: var(--text);
}
.order-timeline__step--done .order-timeline__marker {
    background: var(--tl, var(--accent));
}
.order-timeline__step--current {
    color: var(--text);
    font-weight: 600;
}
.order-timeline__step--current .order-timeline__marker {
    background: var(--tl, var(--accent-bright));
    box-shadow: 0 0 0 3px var(--tl-ring, color-mix(in srgb, var(--accent) 25%, transparent));
}
.order-timeline--rail,
.order-timeline-fold .order-timeline--rail {
    position: relative;
    padding: 0.25rem 1rem 1rem 4rem;
    gap: 1rem;
}
.order-timeline--rail::before,
.order-timeline--rail::after {
    content: "";
    position: absolute;
    left: calc(2.125rem - 1px);
    top: 1.375rem;
    width: 2px;
    height: calc(100% - 1.375rem - 1rem - 1.125rem);
    background: var(--line);
}
.order-timeline--rail::after {
    height: calc((100% - 1.375rem - 1rem - 1.125rem) * var(--tl-fill, 0) / 100);
    background: linear-gradient(180deg, var(--accent-700), var(--accent));
}
.order-timeline--rail .order-timeline__step {
    position: relative;
    display: block;
}
.order-timeline__ring {
    position: absolute;
    left: -3rem;
    top: -0.15rem;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: var(--surface);
    border: 2px solid var(--line);
    color: var(--muted);
    font-family: var(--font-display);
    font-size: 1.05rem;
    letter-spacing: 0.03em;
    line-height: 1;
}
.order-timeline__step--done .order-timeline__ring {
    border-color: var(--tl, var(--accent));
    color: var(--tl, var(--accent));
}
.order-timeline__step--current .order-timeline__ring {
    background: var(--tl, var(--accent));
    border-color: var(--tl, var(--accent));
    color: var(--on-filled);
    box-shadow: 0 0 0 4px var(--tl-ring, color-mix(in srgb, var(--accent) 22%, transparent));
}
.order-timeline__step--skipped .order-timeline__ring {
    border-style: dashed;
}
@media (max-width: 699.98px) {
    .order-timeline--rail,
    .order-timeline-fold .order-timeline--rail {
        padding-left: 3.25rem;
        gap: 0.85rem;
    }
    .order-timeline__ring {
        left: -2.5rem;
        width: 1.9rem;
        height: 1.9rem;
        font-size: 0.95rem;
    }
    .order-timeline--rail::before,
    .order-timeline--rail::after {
        left: calc(1.7rem - 1px);
        top: 1.2rem;
        height: calc(100% - 1.2rem - 1rem - 0.95rem);
    }
    .order-timeline--rail::after {
        height: calc((100% - 1.2rem - 1rem - 0.95rem) * var(--tl-fill, 0) / 100);
    }
}
.order-timeline__now {
    display: inline-block;
    margin-left: 0.45rem;
    padding: 0.08rem 0.45rem;
    border-radius: var(--radius-pill, 999px);
    border: 1px solid var(--pill-red-border);
    background: var(--pill-red-bg);
    color: var(--pill-red-ink);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    vertical-align: middle;
}
.shop__cta--row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: center;
}
.pdp__sample-options {
    margin: 0 0 1rem;
    padding: 0.85rem 0;
    border: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    min-width: 0;
}
.pdp__sample-label {
    margin: 0 0 0.5rem;
    padding: 0;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}
.pdp__sample-options .checkout-card {
    padding: 0.7rem 0.8rem;
    gap: var(--space-2);
}
.pdp__sample-options .checkout-card__label {
    font-size: 0.92rem;
    font-weight: 700;
}
.pdp__sample-options .checkout-card__price {
    font-size: var(--fs-sm);
    font-weight: 700;
    color: var(--accent-900);
}
.page-home .home-section--how .section-head,
.page-home .home-section--sample .section-head,
.page-home .home-section--reviews .section-head,
.page-home .home-section--how .how-steps,
.page-home .home-section--sample .sample-edu__grid,
.page-home .home-section--sample .sample-edu__note,
.page-home .home-section--reviews .review-rail {
    max-width: none;
}
.sample-edu__grid {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.5rem;
    grid-template-columns: 1fr;
}
.sample-edu__card {
    position: relative;
    display: grid;
    gap: var(--space-2);
    align-content: start;
    padding: 1.15rem 1.2rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    overflow: hidden;
    isolation: isolate;
}
.sample-edu__card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--sample-edu-splash, none);
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    opacity: 0.08;
}
.sample-edu__card > *:not(.sample-edu__mark) {
    position: relative;
    z-index: 1;
}
.sample-edu__mark {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 0.15rem;
    transform: translateY(-55%);
    pointer-events: none;
    user-select: none;
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 5.5rem;
    line-height: 0.8;
    letter-spacing: -0.04em;
    color: var(--accent);
    opacity: 0.1;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 55%, transparent 100%);
            mask-image: linear-gradient(90deg, #000 0%, #000 55%, transparent 100%);
}
@media (max-width: 699.98px) {
    .sample-edu__mark {
        font-size: 5rem;
    }
}
@media (min-width: 700px) {
    .sample-edu__grid--2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sample-edu__grid--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.sample-edu__card h3 {
    margin: 0;
    font-size: var(--fs-lg);
}
.sample-edu__lead {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-md);
    line-height: 1.45;
}
.sample-edu__card ul {
    margin: 0.15rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.4rem;
    font-size: 0.9rem;
    line-height: 1.4;
}
.sample-edu__card li {
    position: relative;
    padding-left: 1rem;
    color: var(--text);
}
.sample-edu__card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: var(--radius-pill);
    background: var(--accent);
}
.sample-edu__note {
    margin: 1rem 0 0;
    font-size: 0.9rem;
    color: var(--muted);
    max-width: var(--measure-lede);
}
.pdp__sample-edu.home-section,
.shop--how .home-section--sample {
    margin: 1.75rem 0 2rem;
    padding: 0;
}
.pdp__sample-edu .home-section__inner,
.shop--how .home-section--sample .home-section__inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
.how-steps--pdp,
.how-steps--page {
    margin: 0 0 1.5rem;
}
.shop__lede--secondary {
    margin-top: 0.5rem;
}
.shop--how .home-section__more {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}
.shop--how .how-page__sample {
    margin-top: 0.5rem;
}
.how-page__more {
    margin: 0 0 1.75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card, 0.5rem);
    background: color-mix(in srgb, var(--surface) 88%, var(--canvas));
}
.how-page__more summary {
    cursor: pointer;
    list-style: none;
    min-height: var(--touch, 2.75rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 1rem;
    font-weight: 700;
}
.how-page__more summary::-webkit-details-marker { display: none; }
.how-page__more summary::after {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: var(--muted);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.how-page__more[open] summary::after { transform: rotate(225deg); }
.how-page__more .how-page__body {
    margin: 0;
    padding: 0 1rem 1rem;
}
.pdp__markers {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 0;
}
.pdp__markers h2 {
    margin: 0 0 0.75rem;
    font-family: var(--font-display);
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    font-weight: 400;
}
.pdp__markers ul {
    margin: 0;
    padding: 0 0 0 1.15rem;
    columns: 1;
    gap: var(--space-7);
    color: var(--muted);
    line-height: 1.55;
}
@media (min-width: 700px) {
    .pdp__markers ul {
        columns: 2;
    }
}
.pdp__marker-accordion {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.35rem;
}
.pdp__marker-panel {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    overflow: hidden;
}
.pdp__marker-blurb {
    margin: 0.35rem 1.1rem 0.3rem;
    color: var(--muted);
    font-size: var(--fs-sm);
}
.pdp__marker-group + .pdp__marker-blurb {
    margin-left: 0;
    margin-right: 0;
}
.pdp__tat-meta {
    color: var(--muted);
    font-size: var(--fs-sm);
    margin: 0.4rem 0 0;
}
.pdp__marker-panel summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: 0.9rem 1.1rem;
    cursor: pointer;
    list-style: none;
    font-weight: 700;
    min-height: var(--touch);
}
.pdp__marker-panel summary::-webkit-details-marker {
    display: none;
}
.pdp__marker-panel summary::after {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: var(--muted);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.pdp__marker-panel[open] summary::after {
    transform: rotate(225deg);
}
.pdp__marker-panel ul {
    margin: 0;
    padding: 0 1.1rem 1rem;
    list-style: none;
    columns: unset;
    display: grid;
    gap: 0.35rem 1.25rem;
    color: var(--text);
}
@media (min-width: 700px) {
    .pdp__marker-panel ul {
        grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
        columns: unset;
    }
}
.pdp__marker-panel a {
    color: var(--text);
    text-decoration: none;
}
.pdp__marker-panel a:hover,
.pdp__marker-panel a:focus-visible {
    color: var(--accent);
}
.pdp__marker-panel li {
    position: relative;
    padding-left: 0.9rem;
    font-size: 0.92rem;
    break-inside: avoid;
}
.pdp__marker-panel li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: var(--radius-pill);
    background: var(--accent);
}
.shop__eyebrow,
.section-head .shop__eyebrow {
    margin: 0 0 0.4rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent);
}
.shop__intro h1,
.section-head h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 6vw, 3.25rem);
    letter-spacing: 0.04em;
    font-weight: 400;
}
.shop__intro p,
.section-head p {
    margin: 0.55rem 0 0;
    color: var(--muted);
    line-height: 1.5;
}
.page-home .section-head {
    position: relative;
    max-width: none;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--line);
}
.page-home .section-head::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 4.5rem;
    height: 3px;
    border-radius: 2px;
    background: var(--accent);
}
.page-home .section-head > p:not(.shop__eyebrow) {
    max-width: var(--measure-band);
}
.page-home .home-section--news .section-head {
    padding-bottom: 0;
    border-bottom: 0;
}
.page-home .home-section--news .section-head::after {
    display: none;
}
.section-head--row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: var(--space-5, 1.25rem);
    align-items: end;
}
.section-head--row > :not(.section-head__link) {
    grid-column: 1;
}
.section-head__link {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: end;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    min-height: var(--touch);
    font-weight: 600;
    font-size: 0.92rem;
    color: var(--text);
    text-decoration: none;
    white-space: nowrap;
}
.section-head__link::after {
    content: "\2192";
    margin-left: 0.35rem;
    color: var(--accent);
    transition: transform var(--t-quick, 0.15s) ease;
}
@media (hover: hover) and (pointer: fine) {
    .section-head__link:hover {
        color: var(--accent);
    }
    .section-head__link:hover::after {
        transform: translateX(3px);
    }
}
@media (max-width: 699.98px) {
    .section-head--row {
        grid-template-columns: minmax(0, 1fr);
    }
    .section-head__link {
        grid-column: 1;
        grid-row: auto;
        justify-self: start;
        margin-top: 0.35rem;
    }
}
.shop__crumb {
    margin: 0 0 1rem;
    font-size: 0.88rem;
    color: var(--muted);
}
.shop__crumb a.shop__crumb-back {
    display: none;
    align-items: center;
    gap: 0.4rem;
    width: fit-content;
    max-width: 100%;
    min-height: var(--touch);
    margin: 0;
    padding: 0;
    color: var(--accent);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.92rem;
    line-height: 1.25;
    flex: 0 1 auto;
}
.shop__crumb-back-icon {
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    flex: 0 0 auto;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}
.shop__crumb-back-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.shop__crumb a.shop__crumb-back:hover,
.shop__crumb a.shop__crumb-back:focus-visible {
    color: var(--accent-700);
}
.shop__crumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
@media (max-width: 699.98px) {
    .shop__crumb {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 0.25rem 0.5rem;
        margin: 0.1rem 0 0.85rem;
    }
    .shop__crumb a.shop__crumb-back {
        display: inline-flex;
        min-height: 0;
        padding-block: 0.2rem;
    }
    .shop__crumb a.shop__crumb-back::after {
        content: "/";
        margin-left: 0.45rem;
        color: color-mix(in srgb, var(--muted) 70%, transparent);
        font-weight: 400;
    }
    .shop__crumb-list {
        display: flex;
        flex: 1 1 8rem;
        min-width: 0;
        margin: 0;
    }
    .shop__crumb-item:not(:last-child) {
        display: none;
    }
    .shop__crumb-item:last-child {
        display: block;
        min-width: 0;
        max-width: 100%;
    }
    .shop__crumb-item:last-child::after {
        content: none;
    }
    .shop__crumb [aria-current="page"] {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-weight: 600;
        color: var(--muted);
    }
}
.shop__crumb-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}
.shop__crumb-item:not(:last-child)::after {
    content: "/";
    color: color-mix(in srgb, var(--muted) 65%, transparent);
    font-weight: 400;
    pointer-events: none;
}
.shop__crumb a {
    color: var(--muted);
    text-decoration: none;
}
.shop__crumb a:hover {
    color: var(--accent);
}
.shop__crumb [aria-current="page"] {
    color: var(--text);
    font-weight: 600;
}
.shop__empty {
    margin-top: 1.5rem;
    color: var(--muted);
}
.product-hero {
    margin: 0 0 1.75rem;
    padding: 1.25rem 0 1.5rem;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.product-hero__eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}
.product-hero__grid {
    display: grid;
    gap: var(--space-5);
    grid-template-columns: 1fr;
    margin: 0;
    padding: 0;
    list-style: none;
}
.product-hero__grid > li {
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.product-hero__grid > li > .product-tile {
    flex: 1 1 auto;
    width: 100%;
}
@media (min-width: 700px) {
    .product-hero__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.product-hero__grid .product-tile {
    height: 100%;
}
.product-tile--featured .product-tile__caption {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin: 0;
    padding: 0.65rem 0.85rem;
    border-block: 1px solid var(--line);
    background: color-mix(in srgb, var(--surface) 92%, var(--canvas));
}
.product-tile__caption-title {
    margin: 0;
    font-weight: 700;
    font-size: var(--fs-md, 0.95rem);
    line-height: 1.3;
    color: var(--text);
    min-width: 0;
}
.product-tile__caption-price {
    margin: 0;
    flex-shrink: 0;
    font-weight: 700;
    font-size: var(--fs-md, 0.95rem);
    color: var(--text);
    font-variant-numeric: tabular-nums;
}
.product-tile--featured .product-tile__price {
    display: none;
}
.product-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin: 1.75rem 0 0;
    padding: 0;
    list-style: none;
    align-items: stretch;
}
.product-grid > li {
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.product-grid > li > .product-tile {
    flex: 1 1 auto;
    width: 100%;
}
@media (min-width: 700px) {
    .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem 1.75rem;
    }
}
@media (min-width: 1100px) {
    .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .product-grid--home-featured {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (min-width: 1400px) {
    .product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (min-width: 700px) {
    .product-grid:has(> :only-child) {
        grid-template-columns: minmax(0, min(36rem, 100%));
    }
}
@media (min-width: 1100px) {
    .product-grid:has(> :nth-child(2):last-child) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1400px) {
    .product-grid:has(> :nth-child(3):last-child) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.product-tile {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100%;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--surface) 72%, var(--canvas-soft));
    box-shadow: var(--shadow-card);
}
@media (prefers-reduced-motion: no-preference) {
    .product-tile {
        transition:
            border-color var(--t-quick) ease,
            background-color var(--t-quick) ease,
            box-shadow var(--t-quick) ease,
            transform var(--t-quick) ease;
    }
    .product-tile .media-slot img {
        transition: transform var(--t-media) ease;
    }
    .product-tile__title a {
        transition: color var(--t-quick) ease;
    }
}
.product-tile > .media-slot,
.product-tile__media > .media-slot {
    border-radius: 0;
    border-bottom: 1px solid var(--line);
    background: var(--canvas-soft);
}
.product-tile__media,
.pdp__media {
    position: relative;
}
.pdp__media {
    border-radius: var(--radius-card);
    overflow: hidden;
    margin-bottom: 1.25rem;
}
.pdp__media > .media-slot--pdp {
    margin-bottom: 0;
    border-radius: 0;
}
.pdp__media-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: baseline;
    gap: 0.4rem 0.55rem;
    pointer-events: none;
    font-size: 0.95rem;
    line-height: 1.25;
}
.pdp__media-overlay strong {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    font-size: 1.2rem;
}
.pdp__media-overlay--glass {
    right: auto;
    left: 0.55rem;
    bottom: 0.55rem;
    width: fit-content;
    max-width: calc(100% - 1.1rem);
    align-items: center;
    padding: 0.3rem 0.7rem;
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--ink) 72%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--on-filled);
}
.pdp__media-overlay--glass span {
    opacity: 0.88;
    font-weight: 500;
}
.pdp__media-overlay--scrim {
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0.65rem 0.9rem;
    background: linear-gradient(transparent, color-mix(in srgb, #000 72%, transparent));
    color: var(--on-filled);
    font-size: 0.9rem;
}
.pdp__media-overlay--scrim strong {
    font-size: 1.15rem;
}
.pdp__media-overlay__count {
    font-weight: 600;
}
.pdp__media-overlay__sec {
    opacity: 0.75;
    font-weight: 500;
    font-size: 0.8rem;
}
.pdp__media-overlay--pill {
    left: 0.55rem;
    right: 0.55rem;
    bottom: 0.55rem;
    width: auto;
    padding: 0.55rem 0.75rem;
    border-radius: var(--radius-sm, 0.5rem);
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: var(--ink, var(--text));
    border: 1px solid color-mix(in srgb, var(--surface) 40%, var(--line));
    box-shadow: 0 4px 16px color-mix(in srgb, #000 18%, transparent);
    font-size: 0.9rem;
}
.pdp__media-overlay--pill strong {
    font-size: 1.15rem;
    color: var(--accent);
}
.pdp__media-overlay--pill span {
    color: var(--muted);
    font-weight: 600;
}
.pdp__media-overlay--caption {
    right: auto;
    left: 0.55rem;
    bottom: 0.55rem;
    width: fit-content;
    max-width: calc(100% - 1.1rem);
    align-items: center;
    justify-content: flex-start;
    padding: 0.3rem 0.7rem;
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--ink) 72%, transparent);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: var(--on-filled);
    font-size: 0.85rem;
    font-weight: 600;
}
.pdp__media-overlay--caption strong {
    font-size: 1.05rem;
}
@media (max-width: 699.98px) {
    .pdp__media-overlay--scrim {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0.15rem;
        padding: 0.55rem 0.75rem;
    }
    .pdp__media-overlay--scrim strong {
        font-size: 1.05rem;
    }
    .pdp__media-overlay__sec {
        font-size: 0.75rem;
    }
    .pdp__media-overlay--glass,
    .pdp__media-overlay--caption {
        padding: 0.55rem 0.75rem;
    }
    .pdp__media-overlay--glass strong,
    .pdp__media-overlay--caption strong {
        font-size: 1.05rem;
    }
}
.sample-badge {
    position: absolute;
    top: 0.55rem;
    right: 0.55rem;
    left: auto;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    max-width: calc(100% - 1.1rem);
    padding: 0.22rem 0.45rem;
    border-radius: var(--radius-pill);
    border: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    color: var(--ink);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.2;
    box-shadow: 0 1px 2px color-mix(in srgb, var(--ink) 10%, transparent);
}
.sample-badge__text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sample-badge__icon {
    flex: 0 0 auto;
    width: 0.7rem;
    height: 0.7rem;
    background: currentColor;
    opacity: 0.85;
}
.sample-badge__icon--venous {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='black' d='M192 512C86 512 0 426 0 320C0 228.8 130.3 57.7 166.3 9.7C172.8 1 183.1-1.8 192 1.4c8.9 3.2 14.7 11.8 14.7 21.3v.3C230.1 146.6 384 228.8 384 320c0 106-86 192-192 192z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='black' d='M192 512C86 512 0 426 0 320C0 228.8 130.3 57.7 166.3 9.7C172.8 1 183.1-1.8 192 1.4c8.9 3.2 14.7 11.8 14.7 21.3v.3C230.1 146.6 384 228.8 384 320c0 106-86 192-192 192z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sample-badge__icon--finger {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='black' d='M192 0c-17 0-32 13.2-35.6 29.8L128 160H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h16.4l22.6 158.3C92.7 476.8 117.8 512 160 512h64c42.2 0 67.3-35.2 73-65.7L319.6 288H336c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48h-80l-28.4-130.2C223.9 13.2 209 0 192 0z'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='black' d='M192 0c-17 0-32 13.2-35.6 29.8L128 160H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h16.4l22.6 158.3C92.7 476.8 117.8 512 160 512h64c42.2 0 67.3-35.2 73-65.7L319.6 288H336c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48h-80l-28.4-130.2C223.9 13.2 209 0 192 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sample-badge--venous {
    color: color-mix(in srgb, var(--accent) 85%, var(--ink));
    background: color-mix(in srgb, var(--dx-red-50) 88%, var(--surface));
    border-color: color-mix(in srgb, var(--accent) 22%, transparent);
}
.sample-badge--finger {
    color: var(--pill-blue-ink, var(--info-ink));
    background: var(--pill-blue-bg, var(--state-info-bg));
    border-color: var(--pill-blue-border, var(--state-info-border));
}
.sample-badge--both {
    color: var(--pill-slate-ink, var(--state-neutral));
    background: var(--pill-slate-bg, var(--state-neutral-bg));
    border-color: var(--pill-slate-border, var(--state-neutral-border));
}
.product-tile__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 0.5rem;
    padding: 1.15rem 1.25rem 1.35rem;
}
.product-tile__eyebrow {
    margin: 0;
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
}
.product-tile__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
.product-tile__title a {
    color: var(--text);
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .product-tile__title a:hover {
        color: var(--accent);
    }
    .product-tile:hover,
    .product-tile:focus-within {
        border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
        background: var(--surface);
        box-shadow: var(--shadow-card-lift);
    }
    .product-tile:hover .media-slot img,
    .product-tile:focus-within .media-slot img {
        transform: scale(1.03);
    }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .product-tile:hover {
        transform: translateY(-2px);
    }
}
.product-tile__blurb {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
    font-size: var(--fs-md);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}
.product-tile__count {
    position: absolute;
    bottom: 0.55rem;
    left: 0.55rem;
    z-index: 2;
    padding: 0.24rem 0.7rem;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.85);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
}
.product-tile__count strong {
    font-size: 0.84rem;
}
.product-tile__count-inline {
    margin: 0;
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 600;
}
.product-tile__foot {
    display: grid;
    gap: 0.4rem;
    margin-top: auto;
    padding-top: 0.95rem;
    border-top: 1px solid var(--line);
}
.product-tile__meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.65rem;
}
.product-tile__price {
    margin: 0;
    font-size: var(--fs-price, 1.35rem);
    font-weight: 700;
    color: var(--text);
}
.product-tile__method {
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--muted);
    text-align: right;
    max-width: 58%;
    line-height: 1.3;
}
.product-tile__foot .btn {
    text-align: center;
}
.product-tile__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    margin-top: 0.65rem;
}
.product-tile__actions .btn {
    margin-top: 0;
    width: 100%;
    box-sizing: border-box;
    padding-inline: 1rem;
    white-space: nowrap;
    justify-content: center;
    text-align: center;
}
.product-tile__select {
    justify-content: center;
    text-align: center;
}
.product-tile__compare-form {
    margin: 0;
    display: flex;
    width: 100%;
    justify-content: stretch;
}
.product-tile__compare.btn {
    width: 100%;
}
.product-tile__actions form {
    margin: 0;
}
.page-home .product-tile > .media-slot,
.page-home .product-tile__media > .media-slot {
    aspect-ratio: 4 / 3;
}
.page-home .product-tile__body {
    gap: 0.4rem;
    padding: 1rem 1.15rem 1.2rem;
}
.page-home .product-tile__blurb {
    font-size: 0.88rem;
}
.page-home .product-tile__foot {
    padding-top: 0.75rem;
    gap: 0.3rem;
}
.page-home .product-tile__price {
    font-size: 1.2rem;
}
.page-home .product-tile__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    margin-top: 0.5rem;
}
.page-home .product-tile__select {
    width: 100%;
}
.page-home .product-tile__compare-form {
    width: 100%;
    justify-content: stretch;
}
@media (max-width: 699.98px) {
    .product-tile__body {
        gap: 0.4rem;
        padding: 1rem 1.15rem 1.2rem;
    }
    .product-tile__blurb {
        font-size: 0.85rem;
    }
    .product-tile__foot {
        padding-top: 0.75rem;
        gap: 0.3rem;
    }
    .product-tile__price {
        font-size: 1.2rem;
    }
    .product-tile__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 0.45rem;
        margin-top: 0.5rem;
    }
    .product-tile__select {
        width: 100%;
    }
    .product-tile__compare-form {
        width: 100%;
        justify-content: stretch;
    }
}
.pdp__return {
    margin: -0.35rem 0 1rem;
    font-size: 0.92rem;
}
.pdp__return a {
    color: var(--muted-strong, var(--muted));
    text-underline-offset: 0.15em;
}
.pdp__return a:hover,
.pdp__return a:focus-visible {
    color: var(--accent);
}
.pdp__layout {
    display: grid;
    gap: var(--space-7);
}
@media (min-width: 900px) {
    .pdp__layout {
        grid-template-columns: 1.5fr 0.9fr;
        align-items: start;
        gap: 3rem;
    }
}
.pdp__title {
    margin: 0.25rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 6vw, 3.6rem);
    letter-spacing: 0.03em;
    font-weight: 400;
    line-height: 0.98;
}
.pdp__intro {
    margin: 1.1rem 0 0;
    font-size: 1.1rem;
    line-height: 1.55;
    color: var(--muted);
    max-width: min(var(--measure-prose), 100%);
}
.pdp__body {
    margin-top: 1rem;
    max-width: min(var(--measure-prose), 100%);
    color: var(--muted);
    line-height: 1.65;
}
.pdp__biomarkers {
    margin: 1.25rem 0 0;
    font-size: var(--fs-lg);
    color: var(--muted);
}
.pdp__biomarkers strong {
    color: var(--text);
    font-size: 1.5rem;
}
.pdp__buy {
    padding: 1.35rem 1.3rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--canvas-soft) 70%, var(--surface));
    position: static;
}
@media (min-width: 900px) {
    .pdp__buy {
        position: sticky;
        top: var(--chrome-sticky-offset);
    }
}
.pdp__buy-price {
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.15rem;
    font-family: var(--font-display);
    font-weight: 400;
    line-height: 1;
    color: var(--text);
}
.pdp__buy-price__cur {
    margin-top: 0.3rem;
    font-size: 1.4rem;
    color: var(--accent);
}
.pdp__buy-price__num {
    font-size: 3.4rem;
    letter-spacing: 0.02em;
}
.pdp__buy-price__cap {
    align-self: flex-end;
    margin: 0 0 0.35rem 0.5rem;
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--muted);
}
.pdp__outcome-meta--chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.75rem 0 1rem;
}
.pdp__buy-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.65rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-pill, 999px);
    background: var(--canvas-soft);
    color: var(--text);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.3;
}
.pdp__buy-chip::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
    flex: 0 0 auto;
}
.pdp__buy-chip--ok::before {
    background: var(--ok);
}
.pdp__buy-cta::after {
    content: "\2192";
    margin-left: 0.5rem;
}
@media (prefers-reduced-motion: no-preference) {
    .pdp__buy-cta::after {
        display: inline-block;
        transition: transform var(--t-quick, 0.15s) ease;
    }
    .pdp__buy-cta:hover::after {
        transform: translateX(4px);
    }
}
.pdp__assure {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem 1rem;
    margin: 0.85rem 0 0;
    padding-top: 0.75rem;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 600;
}
.pdp__assure span::before {
    content: "\2713";
    margin-right: 0.3rem;
    color: var(--ok);
    font-weight: 700;
}
.pdp__outcome-meta {
    margin: 0.45rem 0 0.85rem;
    color: var(--text);
    font-weight: 600;
    font-size: var(--fs-md);
    line-height: 1.4;
}
.pdp__outcome-meta em {
    font-style: normal;
    color: var(--muted);
    font-weight: 500;
}
.pdp__reviews {
    margin-top: 3rem;
}
.pdp__reviews.home-section--reviews {
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    padding-block: 2.25rem 2.5rem;
}
.pdp__reviews .review-rail--pdp .review-quote__text {
    font-size: 1rem;
}
.pdp__path-failsafe {
    margin: 0.65rem 0 0;
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: 1.4;
}
.pdp__buy-note {
    margin: 0 0 0.85rem;
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: 1.4;
}
[data-path-note] {
    display: none;
}
#pdp-buy-form:has(input[value="clinic_network"]:checked) [data-path-note="clinic_network"],
#pdp-buy-form:has(input[value="finger_prick"]:checked) [data-path-note="finger_prick"],
#pdp-buy-form:has(input[value="self_arrange"]:checked) [data-path-note="self_arrange"] {
    display: block;
}
.sticky-buy {
    display: none;
}
@media (max-width: 899.98px) {
    .pdp .sticky-buy.dx-sticky-bar {
        display: flex;
    }
    .pdp {
        padding-bottom: calc(var(--sticky-buy-height, 4.75rem) + env(safe-area-inset-bottom, 0px));
    }
    .pdp__buy-price,
    .pdp__buy .btn--block {
        display: none;
    }
}
.sticky-buy__price {
    margin: 0;
    font-weight: 700;
    font-size: var(--fs-xl);
    line-height: 1.15;
    white-space: nowrap;
}
.sticky-buy__price small {
    display: block;
    font-size: var(--fs-2xs);
    font-weight: 600;
    color: var(--muted);
}
.pdp__how {
    margin-top: var(--space-8);
    padding-top: var(--space-7);
    border-top: 1px solid var(--line);
}
.pdp__how h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 4vw, 2.6rem);
    letter-spacing: 0.04em;
    font-weight: 400;
}
.pdp__marker-group {
    margin: 1.25rem 0 0.5rem;
    font-size: 1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}
.pdp__marker-panel__title {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}
.pdp__marker-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    border: 1px solid var(--pill-slate-border, #e2e8f0);
    background: var(--pill-slate-bg, #f1f5f9);
    color: var(--pill-slate-ink, #475569);
    font-size: var(--fs-xs, 0.8rem);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1;
    vertical-align: middle;
}
.pdp__prep {
    margin-top: 1.5rem;
}
.pdp__prep-title {
    margin: 0 0 0.4rem;
    font-size: 1rem;
}
.pdp-prep--canvas {
    margin-top: 1.5rem;
    padding: 0.95rem 1.05rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card, 0.5rem);
    background: var(--canvas-soft);
}
.pdp-prep__kicker {
    margin: 0 0 0.2rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
}
.pdp-prep__title {
    margin: 0 0 0.5rem;
    font-family: inherit;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: normal;
    color: var(--ink);
}
.pdp-prep__body {
    max-width: var(--measure-prose, 48rem);
    font-size: var(--fs-md, 0.95rem);
    line-height: 1.45;
    color: var(--muted);
}
.pdp-prep__body p {
    margin: 0 0 0.65rem;
}
.pdp-prep__body p:last-child {
    margin-bottom: 0;
}
.pdp-prep__list {
    margin: 0;
    padding-left: 1.15rem;
}
.pdp-prep__list li {
    margin: 0 0 0.45rem;
}
.pdp-prep__list li:last-child {
    margin-bottom: 0;
}
.pdp__faq {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--line);
}
.pdp__related {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--line);
}
.pdp__faq h2,
.pdp__related h2 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 3.5vw, 2.4rem);
    letter-spacing: 0.04em;
    font-weight: 400;
}
.pdp__faq .help-layout {
    margin-top: 0.25rem;
}
.help-layout--pdp-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}
.help-aside__links--compact {
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--line);
}
.help-layout--pdp .help-faq__list {
    gap: 0.35rem;
}
.help-layout--pdp .help-faq__item summary {
    padding: 0.7rem 0.95rem;
    min-height: 2.75rem;
}
.help-layout--pdp .help-faq__answer {
    padding: 0 0.95rem 0.85rem;
}
.pdp-trust-band {
    width: 100%;
    margin: 0.1rem 0 0;
    padding: 0.55rem 0.75rem;
    border-radius: var(--radius-card, 0.5rem);
    border: 1px solid transparent;
    background: linear-gradient(120deg, var(--chrome-bg) 0%, var(--chrome-bg-mid) 55%, #3f1212 100%);
    color: var(--on-filled);
}
.pdp-trust-band--row {
    display: grid;
    gap: 0.3rem 1.25rem;
}
@media (min-width: 700px) {
    .pdp-trust-band {
        padding: 0.8rem 1.15rem;
    }
    .pdp-trust-band--row {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.55rem 1.25rem;
    }
}
.pdp-trust-band__kicker {
    margin: 0 0 0.1rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--accent) 70%, var(--on-filled));
}
@media (min-width: 700px) {
    .pdp-trust-band__kicker {
        margin: 0 0 0.15rem;
    }
}
.pdp-trust-band__headline {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 700px) {
    .pdp-trust-band__headline {
        font-size: 1.05rem;
        line-height: 1.3;
    }
}
.pdp-trust-band__dots {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.45rem;
    row-gap: 0.1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--fs-2xs);
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.8);
}
@media (min-width: 700px) {
    .pdp-trust-band__dots {
        font-size: 0.84rem;
        line-height: 1.35;
        column-gap: 0.55rem;
        row-gap: 0.15rem;
        justify-content: flex-end;
    }
}
.pdp-trust-band__dots li {
    position: relative;
    margin: 0;
    padding-left: 0.7rem;
}
.pdp-trust-band__dots li::before {
    content: "·";
    position: absolute;
    left: 0;
    color: var(--accent);
    font-weight: 700;
}
@media (max-width: 699.98px) {
    .pdp-trust-band__dots {
        flex-direction: column;
    }
}
.pdp-trust-band__creds {
    display: grid;
    gap: 0.25rem;
}
@media (min-width: 700px) {
    .pdp-trust-band__creds {
        gap: 0.45rem;
        justify-items: end;
        text-align: right;
    }
}
.pdp-trust-band__note {
    margin: 0;
    max-width: 28rem;
    font-size: var(--fs-2xs);
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.68);
}
.pdp-trust-band__note a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.12em;
}
.pdp__related .product-grid--encyc {
    margin-top: 0.25rem;
}
.help-layout {
    margin-top: 2rem;
    display: grid;
    gap: 1.75rem;
}
@media (min-width: 900px) {
    .help-layout {
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 19rem);
        gap: 2.25rem 2.5rem;
        align-items: start;
    }
    .help-aside {
        position: sticky;
        top: calc(var(--chrome-sticky-offset, 5.5rem) + 0.75rem);
    }
    .help-layout.help-layout--pdp-stack {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
}
.help-faq {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}
.help-faq__heading {
    margin: 0 0 0.85rem;
    font-size: var(--fs-xs, 0.8rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    font-family: var(--font-body);
}
.help-faq__list {
    display: grid;
    gap: 0.5rem;
    max-width: none;
}
.help-faq__item {
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    scroll-margin-top: calc(var(--chrome-sticky-offset, 4.5rem) + 0.6rem);
    overflow: hidden;
    scroll-margin-top: calc(var(--chrome-sticky-offset, 5.5rem) + 0.75rem);
}
.help-faq__item[open] {
    border-color: color-mix(in srgb, var(--accent) 30%, var(--line));
    box-shadow: inset 3px 0 0 var(--accent);
}
.help-faq__item summary {
    cursor: pointer;
    list-style: none;
    min-height: var(--touch);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: 0.95rem 1.1rem;
    font-weight: 700;
    color: var(--text);
}
.help-faq__item summary::-webkit-details-marker {
    display: none;
}
.help-faq__item summary::after {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    flex-shrink: 0;
    color: var(--muted);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
}
.help-faq__item[open] summary::after {
    transform: rotate(225deg);
}
.help-faq__answer {
    padding: 0 1.1rem 1.05rem;
    color: var(--muted);
    line-height: 1.55;
}
.help-aside {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}
.help-aside__panel {
    padding: 1.1rem 1.15rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--surface) 78%, var(--canvas-soft));
}
.help-aside__eyebrow {
    margin: 0 0 0.45rem;
    font-size: var(--fs-xs, 0.8rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.help-aside__lede {
    margin: 0 0 0.95rem;
    color: var(--muted);
    font-size: var(--fs-md);
    line-height: 1.45;
}
.help-aside__cta-stack {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.75rem;
}
.help-aside__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.15rem;
}
.help-aside__links a {
    display: block;
    padding: 0.45rem 0;
    color: var(--text);
    text-decoration: none;
    font-size: var(--fs-md);
    font-weight: 600;
    line-height: 1.35;
}
.help-aside__links a:hover {
    color: var(--accent);
}
.help-aside__links a:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
.pdp__related .product-grid {
    margin-top: 0.5rem;
}
.content-legal__updated {
    margin: 2rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: var(--fs-sm);
}
.shop--directory > .shop__intro,
.shop--directory > .shop__intro > p,
.shop--directory > .shop__intro > .shop__lede {
    max-width: none;
}
.directory {
    margin-top: var(--space-4);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    overflow: hidden;
}
.directory__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: var(--space-3);
}
.directory__tab {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: var(--control-height);
    padding: 0 0.95rem;
    font: inherit;
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--text);
    background: var(--canvas-soft);
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    cursor: pointer;
}
.directory__tab:hover { background: var(--canvas); }
.directory__tab.is-active {
    color: var(--on-filled);
    background: var(--accent);
}
.directory__tab-count {
    padding: 0.05rem 0.5rem;
    font-size: var(--fs-xs);
    font-weight: 700;
    border-radius: var(--radius-pill);
    background: rgba(17, 24, 39, 0.08);
}
.directory__tab.is-active .directory__tab-count { background: rgba(255, 255, 255, 0.26); }
@media (max-width: 599.98px) {
    .directory__tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .directory__tab {
        justify-content: space-between;
        padding-inline: 0.7rem;
    }
}
@media (min-width: 600px) and (max-width: 899.98px) {
    .directory__tabs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .directory__tab {
        justify-content: space-between;
    }
}
.directory__search {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    padding: 0 var(--space-3) var(--space-3);
}
.directory__input {
    flex: 1 1 18rem;
    min-height: var(--control-height);
    padding: 0 0.85rem;
    font: inherit;
    color: var(--text);
    background: var(--input-bg);
    border: 1px solid var(--input-border);
    border-radius: var(--radius-md);
}
.directory__input:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
    border-color: var(--accent);
}
.directory__count {
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--muted);
    white-space: nowrap;
}
.directory__head { display: none; }
.directory__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.directory__row {
    display: grid;
    gap: 0.45rem;
    padding: var(--space-4) var(--space-3);
    border-top: 1px solid var(--line);
}
.directory__row:hover { background: var(--canvas-soft); }
.directory__heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
}
.directory__link {
    font-size: var(--fs-lg);
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
    color: var(--accent);
    text-decoration: none;
}
.directory__link:hover,
.directory__link:focus-visible { text-decoration: underline; }
.directory__spec {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 1.5rem;
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--muted);
}
.directory__spec-item { flex: 0 0 auto; }
.directory__spec b { color: var(--text); font-weight: 600; }
@media (min-width: 30rem) {
    .directory__spec-item:first-child { flex: 0 0 15rem; }
}
.directory__summary {
    margin: 0.25rem 0 0;
    font-size: var(--fs-sm);
    line-height: 1.55;
    color: var(--muted);
    max-width: var(--measure-prose);
}
.directory__notes {
    margin: 0.2rem 0 0;
    padding: 0.65rem 0.9rem;
    border-left: 3px solid var(--pill-amber);
    background: var(--pill-amber-bg);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    max-width: var(--measure-prose);
}
.directory__notes p {
    margin: 0.5rem 0 0;
    font-size: var(--fs-sm);
    color: var(--pill-amber-ink);
}
.directory__notes-title {
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pill-amber-ink);
    cursor: pointer;
    list-style: none;
}
.directory__notes-title::-webkit-details-marker { display: none; }
.directory__notes-title::after {
    content: " +";
    font-weight: 700;
}
.directory__notes[open] .directory__notes-title::after { content: " \00D7"; }
.directory__notes-title:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
.directory__facts {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin: 0.15rem 0 0;
    padding-top: 0.6rem;
    border-top: 1px dashed var(--line);
}
.directory__turnaround { margin: 0; font-size: var(--fs-sm); color: var(--muted); }
.directory__price {
    margin: 0;
    font-size: var(--fs-lg);
    font-weight: 700;
    color: var(--text);
}
.directory__row--empty {
    color: var(--muted);
    font-size: var(--fs-sm);
    padding: var(--space-4) var(--space-3);
    text-align: center;
}
.directory__note {
    margin: 0;
    padding: var(--space-3);
    border-top: 1px solid var(--line);
    background: var(--canvas-soft);
    font-size: var(--fs-sm);
    color: var(--muted);
    line-height: 1.45;
}
.pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.6rem;
    padding: 0.12rem 0.55rem;
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.7;
    white-space: nowrap;
    border-radius: var(--radius-pill);
    border: 1px solid transparent;
}
.pill--panel {
    color: var(--pill-blue-ink);
    background: var(--pill-blue-bg);
    border-color: var(--pill-blue-border);
}
.pill--single {
    color: var(--pill-green-ink);
    background: var(--pill-green-bg);
    border-color: var(--pill-green-border);
}
@media (min-width: 56rem) {
    .directory__head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 9rem 7rem;
        gap: 1.5rem;
        padding: 0.75rem var(--space-3);
        font-size: var(--fs-xs);
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--muted);
        background: var(--canvas-soft);
        border-top: 1px solid var(--line);
    }
    .directory__head > span:not(:first-child) { text-align: right; }
    .directory__row {
        grid-template-columns: minmax(0, 1fr) 9rem 7rem;
        gap: 0.45rem 2rem;
        align-items: start;
        padding: var(--space-4);
    }
    .directory__facts {
        display: contents;
    }
    .directory__turnaround,
    .directory__price {
        grid-row: 1;
        text-align: right;
        align-self: start;
    }
    .directory__turnaround { grid-column: 2; }
    .directory__price { grid-column: 3; font-size: var(--fs-sm); }
    .directory__fact-label { display: none; }
}
.form-with-aside {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
    align-items: start;
    max-width: 66rem;
}
@media (min-width: 900px) {
    .form-with-aside { grid-template-columns: minmax(0, 40rem) minmax(16rem, 1fr); }
}
.faq-aside {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 1rem 1.15rem 1.1rem;
}
.faq-aside__title {
    margin: 0 0 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--muted);
}
.faq-aside__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}
.faq-aside__list a {
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.4;
}
.faq-aside__list a:hover { color: var(--accent); text-decoration: underline; }
.faq-aside__all { margin: 0.7rem 0 0; font-size: 0.85rem; }
.collection-grid,
.article-grid {
    display: grid;
    gap: var(--space-5);
    margin-top: 1.75rem;
    align-items: stretch;
}
@media (min-width: 700px) {
    .collection-grid,
    .article-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem 1.75rem;
    }
}
@media (min-width: 1100px) {
    .page-home .article-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.collection-tile,
.article-tile {
    display: grid;
    gap: 0.5rem;
    align-content: start;
    min-height: 100%;
    padding: 1.3rem 1.25rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--surface) 72%, var(--canvas-soft));
    text-decoration: none;
    color: inherit;
    box-shadow: none;
}
.article-tile--media {
    gap: 0;
    padding: 0;
    overflow: hidden;
    align-content: stretch;
}
.article-tile--media > .media-slot {
    border-bottom: 1px solid var(--line);
    background: var(--canvas-soft);
}
.article-tile__body {
    display: grid;
    gap: 0.5rem;
    align-content: start;
    min-height: 0;
}
.article-tile--media .article-tile__body {
    flex: 1 1 auto;
    padding: 1.15rem 1.25rem 1.35rem;
}
.page-home .article-tile--media .media-slot--article-tile {
    aspect-ratio: 3 / 2;
    min-height: 10.5rem;
}
@media (min-width: 1100px) {
    .page-home .article-tile--media .media-slot--article-tile {
        min-height: 12rem;
    }
}
@media (hover: hover) and (pointer: fine) {
    .collection-tile:hover,
    .article-tile:hover {
        border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
        box-shadow: none;
        background: var(--surface);
    }
}
.collection-tile h2,
.article-tile h3 {
    margin: 0;
    color: var(--text);
    font-size: 1.25rem;
    line-height: 1.3;
}
.collection-tile p,
.article-tile p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}
.collection-tile__cta,
.article-tile__cta,
.article-tile span:last-child {
    color: var(--accent);
    font-weight: 700;
    font-size: var(--fs-md);
    margin-top: auto;
    padding-top: 0.35rem;
}
.article-tile time {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}
.home-section {
    padding: 3.25rem 0 3.75rem;
}
.page-home .home-section--featured {
    padding-bottom: 3.25rem;
}
.page-home .home-section--sample {
    background: var(--surface);
    border-block: 1px solid var(--line);
    padding-block: 3.5rem 4rem;
}
.page-home .home-section--how:has(+ .results-demo) {
    border-bottom: 0;
}
.page-home .results-demo + .home-section--sample {
    border-top: 0;
}
.page-home .has-accent-rule {
    border-bottom: 0;
}
.page-home .has-accent-rule + * {
    border-top: 0;
}
.page-home .home-section--featured + .trust-strip--parallax {
    margin-top: 0;
}
.page-home .trust-strip + .ai-band {
    margin-top: 0;
}
.page-home .ai-band + .home-section--how {
    border-top: 0;
}
.page-home .trust-strip + .home-section {
    padding-top: 3.75rem;
}
.home-section__inner {
    width: min(100%, var(--max));
    margin: 0 auto;
    padding-inline: clamp(1rem, 4vw, 2.5rem);
    box-sizing: border-box;
}
.section-head {
    max-width: var(--measure-band);
}
.home-section__more {
    display: flex;
    justify-content: center;
    margin-top: 1.75rem;
}
.home-section__more .btn {
    min-height: var(--touch);
}
.home-section--how {
    background: var(--canvas-soft);
    border-block: 1px solid var(--line);
}
.how-section-video {
    margin-top: 1.5rem;
    max-width: min(100%, 48rem);
}
.media-slot--how-section {
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-card);
    border: 1px solid var(--line);
    overflow: hidden;
    background: #0a0a0a;
}
.home-section--how .how-steps {
    margin-top: 1.75rem;
}
.page-home .home-section--reviews {
    background: var(--canvas-soft);
    border-block: 0;
    padding-block: 3.75rem 4rem;
}
.home-section--reviews {
    background: var(--surface);
    border-block: 1px solid var(--line);
    padding-block: 3.25rem 3.75rem;
}
.page-home .home-section--news {
    background:
        radial-gradient(ellipse 60% 55% at 88% 0%, rgba(220, 38, 38, 0.11), transparent 58%),
        radial-gradient(ellipse 50% 45% at 4% 100%, rgba(220, 38, 38, 0.07), transparent 60%),
        var(--canvas-soft);
    padding-top: 4.5rem;
    padding-bottom: 4.75rem;
    border-top: 1px solid var(--line);
}
.home-section--news {
    background:
        radial-gradient(ellipse 60% 55% at 88% 0%, rgba(220, 38, 38, 0.11), transparent 58%),
        radial-gradient(ellipse 50% 45% at 4% 100%, rgba(220, 38, 38, 0.07), transparent 60%),
        var(--canvas-soft);
    padding-top: 3.75rem;
    padding-bottom: 4.5rem;
    border-top: 0;
}
.home-section--news .section-head {
    max-width: var(--measure-band);
}
.home-section--news .article-grid {
    margin-top: 2rem;
}
.page-home .home-section--news .article-grid {
    margin-top: 2.25rem;
}
.page-home .review-rail {
    max-width: min(var(--measure-wide), 100%);
}
.review-rail {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.5rem;
}
@media (min-width: 700px) {
    .review-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.review-quote {
    margin: 0;
    padding: 1.15rem 1.2rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-top: 3px solid var(--accent);
    border-radius: var(--radius-card);
    display: grid;
    gap: 0.65rem;
    align-content: start;
}
.review-quote__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem 0.75rem;
}
.review-quote__rating {
    margin: 0;
    letter-spacing: 0.06em;
    color: var(--accent);
    font-size: var(--fs-sm);
}
.review-quote__badge {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ok-ink);
    background: color-mix(in srgb, var(--ok) 12%, var(--surface));
    padding: 0.2rem 0.45rem;
    border-radius: var(--radius-xs);
}
.review-quote__text {
    margin: 0;
    font-family: var(--font-body, "Source Sans 3", sans-serif);
    font-size: var(--fs-lg);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    color: var(--text);
}
.review-quote footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-md);
}
.review-quote cite {
    font-style: normal;
    font-weight: 700;
    color: var(--text);
}
body.page-home {
    background: var(--canvas-soft);
}
body.page-home .site-main {
    background: var(--canvas-soft);
}
@media (min-width: 1100px) {
    .page-home .home-section {
        padding: 3.5rem 0 4rem;
    }
    .page-home .product-grid {
        margin-top: 2rem;
    }
    .page-home .section-head h2 {
        font-size: clamp(2rem, 3vw, 2.75rem);
    }
}
.how-steps {
    list-style: none;
    margin: 1.75rem 0 0;
    padding: 0;
    display: grid;
    gap: 0;
}
@media (min-width: 900px) {
    .how-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 2.75rem;
    }
}
.how-steps__item {
    display: grid;
    gap: 0.55rem;
    align-content: start;
    padding: 1.25rem 0 1.35rem;
    border-top: 1px solid var(--line);
}
.how-steps__item:first-child {
    border-top: 0;
    padding-top: 0.25rem;
}
@media (min-width: 900px) {
    .how-steps__item {
        gap: 0.85rem;
        border-top: 0;
        padding: 0.25rem 0;
        border-inline-start: 0;
        position: relative;
    }
    .how-steps__item:first-child {
        padding-top: 0.25rem;
    }
    .how-steps__item + .how-steps__item::before {
        content: '';
        position: absolute;
        inset-block: 0;
        inset-inline-start: calc(-1.375rem - 0.5px);
        width: 1px;
        background: var(--line);
    }
}
.how-steps__copy {
    display: grid;
    gap: 0.35rem 0.5rem;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
}
.how-steps__copy strong {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    font-size: var(--fs-lg);
    color: var(--text);
    line-height: 1.2;
}
.how-steps__copy span:not(.how-steps__mark) {
    grid-column: 2;
    color: var(--muted);
    line-height: 1.45;
    font-size: var(--fs-md);
}
.how-steps--timeline .how-steps__copy .how-steps__mark {
    display: none;
}
.how-steps--timeline .how-steps__copy {
    grid-template-columns: minmax(0, 1fr);
}
.how-steps--timeline .how-steps__copy strong,
.how-steps--timeline .how-steps__copy span:not(.how-steps__mark),
.how-steps--timeline .how-steps__copy a,
.how-steps--timeline .how-steps__copy .btn {
    grid-column: 1;
}
.how-steps__ring {
    position: absolute;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: var(--surface);
    border: 2px solid var(--line);
    color: var(--muted);
    font-family: var(--font-display);
    font-size: 1.15rem;
    letter-spacing: 0.03em;
    line-height: 1;
}
.how-steps--timeline .how-steps__item {
    position: relative;
}
.how-steps--timeline .how-steps__item:first-child .how-steps__ring {
    border-color: var(--accent);
    color: var(--accent);
}
@media (max-width: 899.98px) {
    .how-steps--timeline {
        position: relative;
        padding-left: 3rem;
    }
    .how-steps--timeline::before {
        content: "";
        position: absolute;
        top: 1.2rem;
        bottom: 1.2rem;
        left: 1.2rem;
        width: 2px;
        background: var(--line);
    }
    .how-steps--timeline .how-steps__item,
    .how-steps--timeline .how-steps__item:first-child {
        border-top: 0;
        padding-top: 0;
    }
    .how-steps--timeline .how-steps__ring {
        top: 0;
        left: -3rem;
        width: 2.4rem;
        height: 2.4rem;
    }
}
@media (min-width: 900px) {
    .how-steps--timeline {
        padding-top: 3.1rem;
    }
    .how-steps--timeline .how-steps__item + .how-steps__item::before {
        display: none;
    }
    .how-steps--timeline .how-steps__item::before,
    .how-steps--timeline .how-steps__item::after {
        content: "";
        position: absolute;
        top: calc(-3.1rem + 1.2rem - 1px);
        height: 2px;
        left: calc(-1.375rem);
        right: calc(-1.375rem);
        background: var(--line);
    }
    .how-steps--timeline .how-steps__item:first-child::before,
    .how-steps--timeline .how-steps__item:first-child::after {
        left: 50%;
    }
    .how-steps--timeline .how-steps__item:last-child::before,
    .how-steps--timeline .how-steps__item:last-child::after {
        right: 50%;
    }
    .how-steps--timeline .how-steps__item::after {
        background: linear-gradient(90deg, var(--accent-700), var(--accent-bright));
        transform: scaleX(0);
        transform-origin: left center;
    }
    .how-steps--timeline .how-steps__ring {
        top: -3.1rem;
        left: 50%;
        transform: translateX(-50%);
    }
}
@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
    .how-steps--timeline .how-steps__item::after {
        transition: transform 0.35s ease;
    }
    .how-steps--timeline .how-steps__ring,
    .how-steps--timeline .media-slot {
        transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    }
    .how-steps--timeline .how-steps__item:nth-child(2)::after { transition-delay: 0.3s; }
    .how-steps--timeline .how-steps__item:nth-child(3)::after { transition-delay: 0.6s; }
}
@media (min-width: 900px) and (hover: hover) and (pointer: fine) {
    .how-steps--timeline:hover .how-steps__item::after {
        transform: scaleX(1);
    }
    .how-steps--timeline:hover .how-steps__ring {
        border-color: var(--accent);
        color: var(--accent);
    }
    .how-steps--timeline .how-steps__item:hover .how-steps__ring {
        background: var(--accent);
        color: var(--on-filled);
        transform: translateX(-50%) scale(1.08);
    }
    .how-steps--timeline .how-steps__item:hover .media-slot {
        transform: translateY(-2px);
        box-shadow: var(--shadow-card-lift);
    }
}
.how-steps__copy .how-steps__mark {
    grid-column: 1;
    grid-row: 1;
    display: block;
    margin: 0;
    padding-top: 0.12em;
    color: var(--accent);
    font-weight: 700;
    font-size: 0.82rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
}
.how-steps__copy a,
.how-steps__copy .btn {
    grid-column: 2;
    justify-self: start;
    width: auto;
    text-decoration: none;
}
@media (min-width: 900px) {
    .how-steps__copy {
        align-items: baseline;
        gap: 0.45rem 0.55rem;
    }
    .how-steps__copy .how-steps__mark {
        padding-top: 0.18em;
        font-size: 0.85rem;
    }
    .how-steps__copy strong {
        font-size: 1.2rem;
    }
}
.product-list {
    list-style: none;
    margin: 1.75rem 0 0;
    padding: 0;
    display: grid;
    gap: 0;
}
.product-row {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    grid-template-areas:
        "media copy"
        "media aside";
    gap: 0.75rem 1rem;
    padding: 1.25rem 0;
    border-top: 1px solid var(--line);
    align-items: start;
}
.product-row:last-child {
    border-bottom: 1px solid var(--line);
}
.product-row__media {
    grid-area: media;
    width: 5.5rem;
    flex-shrink: 0;
}
.product-row__copy {
    grid-area: copy;
    min-width: 0;
}
.product-row__aside {
    grid-area: aside;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
}
.product-row:not(:has(.product-row__media)) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "copy"
        "aside";
}
@media (min-width: 700px) {
    .product-row {
        grid-template-columns: 5.5rem 1fr auto;
        grid-template-areas: "media copy aside";
        gap: 1.25rem 1.5rem;
        align-items: center;
    }
    .product-row:not(:has(.product-row__media)) {
        grid-template-columns: 1fr auto;
        grid-template-areas: "copy aside";
    }
    .product-row__aside {
        align-items: flex-end;
    }
}
.product-row__media .media-slot,
.product-row__media .media-slot--tile {
    aspect-ratio: 1;
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--canvas-soft);
}
.product-row__media .media-slot img {
    object-fit: contain;
}
.product-row__copy h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 4.5vw, 1.55rem);
    letter-spacing: 0.03em;
    font-weight: 400;
    line-height: 1.15;
}
.product-row__copy h2 a {
    color: var(--text);
    text-decoration: none;
}
.product-row__copy h2 a:hover {
    color: var(--accent);
}
.product-row__copy p {
    margin: 0.4rem 0 0;
    color: var(--muted);
    line-height: 1.45;
}
.product-row__meta {
    margin: 0.35rem 0 0;
    font-size: var(--fs-md);
    color: var(--muted);
}
.product-row__price,
.price {
    margin: 0;
    font-weight: 700;
    font-size: var(--fs-xl, 1.15rem);
    color: var(--text);
}
.shop.shop--basket {
    padding-top: clamp(1rem, 2.5vw, 1.5rem);
}
.shop.shop--basket > .shop__intro {
    margin-bottom: 0;
}
.shop.shop--basket > .shop__intro h1 {
    font-size: clamp(1.85rem, 4.5vw, 2.5rem);
}
.shop.shop--basket > .shop__intro p {
    margin-top: 0.35rem;
}
.basket-empty {
    margin-top: 0.85rem;
    display: grid;
    gap: 0.85rem;
    justify-items: start;
    max-width: 28rem;
    padding: 1.15rem 1.2rem 1.25rem;
}
.basket-empty > p {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-sm, 0.88rem);
    line-height: 1.45;
}
.basket-empty__doors {
    display: flex;
    gap: 0.5rem 0.75rem;
    width: 100%;
}
.basket-empty__doors > .btn {
    flex: 1 1 0;
    min-width: 0;
}
.basket-shell {
    display: grid;
    gap: 1.5rem;
    margin-top: 0.35rem;
}
.shop.shop--basket .product-row {
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}
@media (min-width: 900px) {
    .basket-shell {
        grid-template-columns: 1.45fr minmax(16rem, 20rem);
        gap: var(--space-7);
        align-items: start;
    }
}
.basket-shell .product-list {
    margin-top: 0;
}
.basket-lines {
    padding: 0.35rem 1.2rem 0.45rem;
    min-width: 0;
}
.basket-lines .product-list {
    margin: 0;
}
.basket-lines .product-row {
    border-top: 0;
    border-bottom: 1px solid var(--line);
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.basket-lines .product-row:last-child {
    border-bottom: 0;
}
.shop.shop--basket .basket-lines .product-row {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.basket-summary {
    padding: 1.15rem 1.2rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    display: grid;
    gap: 0.75rem;
    align-content: start;
}
@media (min-width: 900px) {
    .basket-summary {
        position: sticky;
        top: var(--chrome-sticky-offset);
    }
}
.basket-summary h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.45rem;
    letter-spacing: 0.04em;
    font-weight: 400;
}
.basket-summary__totals {
    display: grid;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
}
.basket-summary__row,
.basket-summary__total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-4);
    margin: 0;
    font-size: var(--fs-md);
}
.basket-summary__row {
    color: var(--muted);
}
.basket-summary__row strong {
    color: var(--text);
}
.basket-summary__row--sample {
    padding: 0.35rem 0.45rem;
    margin-inline: -0.45rem;
    border-radius: var(--radius-xs);
    background: color-mix(in srgb, var(--accent) 6%, transparent);
    font-weight: 600;
    color: var(--text);
}
.basket-summary__total {
    margin-top: 0.35rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--line);
    font-size: var(--fs-xl);
    font-weight: 700;
    color: var(--text);
}
.basket-summary__note {
    margin: 0;
    font-size: var(--fs-sm);
}
.basket-sticky {
    display: none;
}
@media (max-width: 899.98px) {
    .shop--basket .basket-sticky.dx-sticky-bar {
        display: flex;
    }
    .shop--basket .basket-summary__cta {
        display: none;
    }
    .shop--basket {
        padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
    }
}
.basket-summary__cta {
    width: 100%;
}
.qty-form--stepper {
    flex-wrap: nowrap;
}
.qty-stepper {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--input-border);
    background: var(--surface);
    border-radius: var(--radius-xs);
    overflow: hidden;
}
.qty-stepper__btn {
    width: var(--touch);
    min-height: var(--touch);
    border: 0;
    background: var(--canvas-soft);
    color: var(--text);
    font-size: var(--fs-xl, 1.15rem);
    font-weight: 700;
    cursor: pointer;
    line-height: 1;
}
@media (hover: hover) and (pointer: fine) {
    .qty-stepper__btn:hover {
        background: color-mix(in srgb, var(--accent) 8%, var(--canvas-soft));
    }
}
.qty-stepper input[type="number"] {
    width: 3rem;
    min-height: var(--touch);
    margin: 0;
    padding: 0.35rem 0.25rem;
    border: 0;
    border-left: 1px solid var(--line);
    border-right: 1px solid var(--line);
    border-radius: 0;
    text-align: center;
    font: inherit;
    font-weight: 700;
    font-size: 16px;
    background: var(--surface);
    -moz-appearance: textfield;
}
.qty-stepper input[type="number"]::-webkit-outer-spin-button,
.qty-stepper input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.product-row__aside .link-quiet {
    display: inline-flex;
    align-items: center;
    width: auto;
    min-height: var(--touch);
    color: var(--muted);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb, var(--muted) 45%, transparent);
    text-underline-offset: 0.15em;
    background: none;
    border: 0;
    padding: 0 0.6rem;
    cursor: pointer;
    font-family: inherit;
}
@media (hover: hover) and (pointer: fine) {
    .product-row__aside .link-quiet:hover {
        color: var(--accent);
        text-decoration-color: var(--accent);
    }
}
.shop__promo,
.shop__promo-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.6rem;
}
.shop__promo-form label {
    display: grid;
    gap: 0.3rem;
    font-size: var(--fs-md);
    color: var(--muted);
}
.shop__promo-form input[type="text"] {
    min-height: var(--control-height);
    min-width: 11rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--input-border);
    border-radius: var(--radius-sm);
    background: var(--input-bg);
    font: inherit;
}
.qty-form {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.qty-form label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--muted);
    font-size: var(--fs-md);
}
.qty-form input[type="number"],
.checkout-form input[type="text"],
.checkout-form input[type="email"],
.checkout-form input[type="date"],
.checkout-form input[type="password"],
.checkout-form input[type="tel"],
.checkout-form input[type="number"],
.checkout-form select,
.checkout-form textarea {
    width: 100%;
    min-height: var(--control-height);
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--input-border);
    border-radius: var(--radius-sm);
    background: var(--input-bg);
    color: var(--text);
    font: inherit;
    font-size: 16px;
}
.qty-form input[type="number"] {
    width: 4rem;
}
.checkout-form .checkout-field {
    display: grid;
    gap: 0.35rem;
}
.checkout-form input[type="checkbox"],
.checkout-form input[type="radio"]:not(.checkout-card__input) {
    -webkit-appearance: auto;
    appearance: auto;
    width: 1.15rem;
    height: 1.15rem;
    min-width: 1.15rem;
    max-width: 1.15rem;
    min-height: 0;
    max-height: 1.15rem;
    margin: 0.2rem 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    accent-color: var(--accent);
    flex-shrink: 0;
    justify-self: start;
    align-self: start;
}
.checkout-check {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.7rem;
    row-gap: 0.25rem;
    align-items: start;
}
.checkout-check > input[type="checkbox"],
.checkout-check > input[type="radio"] {
    grid-column: 1;
    grid-row: 1;
}
.checkout-check > label,
.checkout-check > .checkout-check__label {
    grid-column: 2;
    grid-row: 1;
    display: block;
    margin: 0;
    color: var(--text);
    font-size: var(--fs-md);
    line-height: 1.35;
    cursor: pointer;
}
.checkout-check > .help-text,
.checkout-check > .form-help,
.checkout-check > [id$="_help"] {
    grid-column: 2;
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: 1.4;
}
.checkout-check > .form-error,
.checkout-check > .invalid-feedback,
.checkout-check > ul {
    grid-column: 2;
}
.checkout-choice-list {
    display: grid;
    gap: var(--space-2);
}
.checkout-collection,
.checkout-booking {
    margin: 0.5rem 0 0;
    padding: 1rem 0 0;
    border: 0;
    border-top: 1px solid var(--line);
    display: grid;
    gap: var(--space-3);
}
.form-panel .checkout-collection,
.form-panel .checkout-booking,
.form-panel .checkout-shipping,
.form-panel .checkout-flags {
    margin: 0;
    padding: 0;
    border-top: 0;
}
.checkout-collection > legend,
.checkout-booking > legend {
    padding: 0;
    margin: 0;
    color: var(--text);
    font-size: var(--fs-lg);
    font-weight: 600;
}
.form-panel .checkout-collection > legend,
.form-panel .checkout-booking > legend,
.form-panel .checkout-shipping > legend,
.form-panel .checkout-flags > legend {
    font-family: var(--font-display);
    font-size: 1.55rem;
    letter-spacing: 0.04em;
    font-weight: 400;
    color: var(--text);
    margin: 0 0 0.25rem;
}
.checkout-card-list {
    display: grid;
    gap: 0.65rem;
}
.checkout-card-list--compact {
    gap: 0.5rem;
}
.checkout-card:hover {
    border-color: color-mix(in srgb, var(--brand) 35%, var(--line));
}
.checkout-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-3);
    align-items: start;
    margin: 0;
    padding: 0.9rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card, 0.5rem);
    background: var(--surface);
    cursor: pointer;
    transition: border-color 0.15s ease;
}
.checkout-card:has(.checkout-card__input:checked),
.checkout-card:has(input:checked) {
    border-color: color-mix(in srgb, var(--brand) 28%, var(--line));
    background: var(--surface);
}
.checkout-card__input {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    width: 1.35rem;
    height: 1.35rem;
    margin: 0.12rem 0 0;
    flex-shrink: 0;
    border: 2px solid color-mix(in srgb, var(--muted) 45%, var(--line));
    border-radius: 50%;
    background: var(--surface);
    box-shadow: inset 0 0 0 0 var(--brand);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    cursor: pointer;
}
.checkout-card__input:hover {
    border-color: color-mix(in srgb, var(--brand) 55%, var(--line));
}
.checkout-card__input:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}
.checkout-card__input:checked {
    border-radius: 50%;
    border-color: var(--brand);
    background: var(--surface);
    box-shadow: inset 0 0 0 0.35rem var(--brand);
}
.checkout-card__body {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}
.checkout-card__top {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem 0.75rem;
}
.checkout-card__title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}
.checkout-card__label {
    color: var(--text);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.3;
}
.checkout-card__badge {
    display: inline-block;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: var(--pill-slate-bg, var(--canvas-soft));
    color: var(--pill-slate-ink, var(--muted));
    border: 1px solid var(--pill-slate-border);
    font-size: var(--fs-2xs);
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.checkout-card__badge--clinic_network {
    background: var(--pill-blue-bg);
    color: var(--pill-blue-ink);
    border-color: var(--pill-blue-border);
}
.checkout-card__badge--finger_prick {
    background: var(--pill-amber-bg);
    color: var(--pill-amber-ink);
    border-color: var(--pill-amber-border);
}
.checkout-card__badge--self_arrange {
    background: var(--pill-slate-bg);
    color: var(--pill-slate-ink);
    border-color: var(--pill-slate-border);
}
.checkout-card__badge--recommended {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
    font-size: 0.58rem;
    padding: 0.1rem 0.38rem;
    letter-spacing: 0.03em;
    white-space: nowrap;
}
.checkout-card__price {
    color: var(--accent-900);
    font-size: 0.98rem;
    font-weight: 700;
    white-space: nowrap;
}
.checkout-card__lede {
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
.checkout-card:not(:has(.checkout-card__input:checked)) .checkout-card__lede {
    -webkit-line-clamp: 3;
    line-clamp: 3;
    opacity: 0.72;
}
.checkout-card:has(.checkout-card__input:checked) .checkout-card__lede {
    display: block;
    -webkit-line-clamp: none;
    line-clamp: none;
    overflow: visible;
    opacity: 1;
}
.checkout-card--sub {
    padding: 0.75rem 0.9rem;
}
.checkout-booking__direct {
    display: grid;
    gap: var(--space-3);
}
.checkout-booking__selected {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
}
.checkout-booking__selected-label {
    margin: 0;
    color: var(--text);
    font-size: var(--fs-md);
}
.checkout-booking__steps {
    display: grid;
    gap: var(--space-2);
}
.checkout-finder {
    border: 0;
    padding: 0;
    max-width: min(32rem, calc(100vw - 2rem));
    width: 100%;
    border-radius: var(--radius-card, 0.5rem);
    background: transparent;
    overflow: hidden;
}
.checkout-finder--map {
    max-width: min(56rem, calc(100vw - 1.5rem));
}
.checkout-finder::backdrop {
    background: rgba(20, 16, 14, 0.45);
}
.checkout-finder__panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.1rem 1.15rem 1.25rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--canvas);
    border: 1px solid var(--line);
    border-radius: inherit;
    box-shadow: var(--shadow-modal, 0 12px 40px rgba(20, 16, 14, 0.18));
    overflow: hidden;
}
.checkout-finder__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    min-width: 0;
}
.checkout-finder__head h3 {
    margin: 0;
    font-size: var(--fs-xl);
}
.checkout-finder__close {
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.1rem 0.35rem;
}
.checkout-finder__search {
    min-width: 0;
}
.checkout-finder__input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.checkout-finder__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
    max-height: min(22rem, 50vh);
    overflow: auto;
    min-width: 0;
}
.checkout-finder__item {
    display: grid;
    gap: 0.35rem;
    padding: 0.75rem 0;
    border-top: 1px solid var(--line);
}
.checkout-finder__item:first-child {
    border-top: 0;
    padding-top: 0;
}
.checkout-finder__name {
    margin: 0;
    font-weight: 600;
    color: var(--text);
}
.checkout-finder__addr {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-sm);
    overflow-wrap: anywhere;
}
.checkout-finder__choose {
    justify-self: start;
    margin-top: 0.15rem;
}
.checkout-finder__body {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    min-height: 0;
}
.checkout-finder__map-wrap {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
    min-height: 0;
    align-content: start;
}
.checkout-finder__map {
    width: 100%;
    height: min(16rem, 40vh);
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--canvas-soft);
}
.checkout-finder__map-note {
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--muted);
    line-height: 1.4;
    overflow-wrap: anywhere;
}
@media (min-width: 700px) {
    .checkout-finder--map .checkout-finder__panel {
        grid-template-columns: minmax(0, 20rem) minmax(0, 1fr);
        grid-template-areas:
            'head head'
            'search map'
            'list map'
            'status status';
        column-gap: 1rem;
        row-gap: 0.75rem;
        align-items: start;
    }
    .checkout-finder--map .checkout-finder__head {
        grid-area: head;
    }
    .checkout-finder--map .checkout-finder__search {
        grid-area: search;
    }
    .checkout-finder--map .checkout-finder__body {
        display: contents;
    }
    .checkout-finder--map .checkout-finder__list {
        grid-area: list;
        max-height: min(24rem, 55vh);
    }
    .checkout-finder--map .checkout-finder__map-wrap {
        grid-area: map;
        align-self: stretch;
    }
    .checkout-finder--map .checkout-finder__map {
        height: min(24rem, 55vh);
    }
    .checkout-finder--map [data-checkout-booking-target='finderStatus'] {
        grid-area: status;
        min-width: 0;
    }
}
.checkout-aside [data-checkout-totals-target="feeRow"],
.checkout-aside__sample {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-3);
    font-weight: 600;
    color: var(--text);
}
.checkout-aside__sample:not([hidden]) {
    padding: 0.35rem 0.45rem;
    margin: 0.15rem -0.45rem;
    border-radius: var(--radius-xs);
    background: color-mix(in srgb, var(--accent) 6%, transparent);
}
.checkout-aside [data-checkout-totals-target="feeRow"][hidden],
.checkout-aside [data-checkout-totals-target="creditRow"][hidden],
.checkout-booking[hidden],
.checkout-booking__direct[hidden],
.checkout-booking__steps[hidden] {
    display: none !important;
}
.checkout-form fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-2);
}
.checkout-form fieldset > legend {
    margin: 0 0 0.35rem;
    color: var(--muted);
    font-size: var(--fs-md);
}
.checkout-flags {
    margin: 0.35rem 0 0;
    padding: 1rem 0 0;
    border: 0;
    border-top: 1px solid var(--line);
    display: grid;
    gap: var(--space-3);
}
.checkout-flags legend {
    padding: 0;
    margin: 0 0 0.15rem;
    color: var(--text);
    font-size: 1rem;
    font-weight: 600;
}
.checkout-layout {
    display: grid;
    gap: 2.5rem;
    margin-top: 1.75rem;
}
@media (min-width: 900px) {
    .checkout-layout {
        grid-template-columns: 1.4fr 1fr;
        gap: 3rem;
        align-items: start;
    }
}
.checkout-main {
    display: grid;
    gap: 1.15rem;
    min-width: 0;
}
.form-panel {
    padding: 1.1rem 1.15rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    display: grid;
    gap: var(--space-3);
}
.form-panel h2 {
    margin: 0 0 0.15rem;
    font-family: var(--font-display);
    font-size: 1.55rem;
    letter-spacing: 0.04em;
    font-weight: 400;
    color: var(--text);
}
@media (max-width: 899.98px) {
    .checkout-layout .form-panel h2,
    .form-panel .checkout-collection > legend,
    .form-panel .checkout-booking > legend,
    .form-panel .checkout-shipping > legend,
    .form-panel .checkout-flags > legend {
        font-family: var(--font-body);
        font-size: 0.78rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        font-weight: 700;
        color: var(--muted);
    }
    .checkout-layout h2 {
        font-family: var(--font-body);
        font-size: 0.78rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        font-weight: 700;
        color: var(--muted);
    }
}
.form-panel__help {
    margin: 0 0 0.35rem;
    font-size: var(--fs-sm);
    color: var(--muted);
    max-width: 36rem;
    line-height: 1.45;
}
.form-panel__fields {
    display: grid;
    gap: var(--space-3);
}
.checkout-identity {
    padding: var(--space-3);
    background: var(--canvas-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
}
.checkout-identity__label {
    margin: 0 0 0.15rem;
    font-size: var(--fs-xs);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--muted);
}
.checkout-identity__name {
    margin: 0;
    font-size: var(--fs-lg);
    font-weight: 600;
    color: var(--text);
}
.checkout-identity__email {
    margin: 0 0 0.5rem;
    font-size: var(--fs-sm);
    color: var(--muted);
    overflow-wrap: anywhere;
}
.checkout-layout h2 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: 1.65rem;
    letter-spacing: 0.04em;
    text-transform: none;
    font-weight: 400;
    color: var(--text);
}
.checkout-aside h2 {
    margin: 0 0 1rem;
}
.checkout-form {
    display: grid;
    gap: 0.9rem;
}
.checkout-form.checkout-form--layout {
    display: contents;
}
.checkout-form--narrow {
    max-width: 28rem;
}
.track-another {
    margin: 1.75rem 0 0;
    max-width: 28rem;
    border-top: 1px solid var(--line);
    padding-top: 1rem;
}
.track-another summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--accent);
    list-style: none;
}
.track-another summary::-webkit-details-marker {
    display: none;
}
.track-another[open] summary {
    margin-bottom: 1rem;
}
#results-panels {
    scroll-margin-top: var(--chrome-sticky-offset, 5.5rem);
}
.checkout-form label {
    color: var(--muted);
    font-size: var(--fs-md);
}
.checkout-form .checkout-field > label {
    display: block;
    margin: 0;
}
.checkout-form .form-error,
.checkout-form .invalid-feedback,
.checkout-form ul:not([class]) {
    margin: 0.25rem 0 0;
    padding: 0;
    list-style: none;
    color: var(--bad-ink);
    font-size: var(--fs-sm);
}
.checkout-form__errors {
    margin: 0 0 1.25rem;
    padding: 0.85rem 1rem;
    border-left: 3px solid var(--bad-ink);
    background: color-mix(in srgb, var(--bad-ink) 8%, var(--canvas-soft));
    color: var(--ink);
}
.checkout-form__errors > p {
    margin: 0 0 0.5rem;
}
.checkout-form__errors > p:last-child {
    margin-bottom: 0;
}
.checkout-form__errors ul {
    margin: 0.35rem 0 0;
}
.checkout-field > .help-text,
.checkout-field > .form-help,
.checkout-field > [id$="_help"],
.checkout-form .help-text,
.checkout-form .form-help {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: 1.4;
}
.checkout-form textarea {
    min-height: 10rem;
    resize: vertical;
    line-height: 1.45;
}
.checkout-form select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%),
        linear-gradient(135deg, var(--muted) 50%, transparent 50%);
    background-position: calc(100% - 1.15rem) calc(50% - 0.15rem), calc(100% - 0.75rem) calc(50% - 0.15rem);
    background-size: 0.4rem 0.4rem, 0.4rem 0.4rem;
    background-repeat: no-repeat;
    padding-right: 2.25rem;
}
.checkout-aside {
    padding: 0 0 0 0;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--line);
    border-radius: 0;
    padding-top: 1.25rem;
}
@media (min-width: 900px) {
    .checkout-aside {
        border-top: 0;
        border-left: 1px solid var(--line);
        padding: 0 0 0 1.75rem;
        position: sticky;
        top: var(--chrome-sticky-offset);
    }
}
.checkout-aside--panel {
    padding: 1.15rem 1.2rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
}
@media (min-width: 900px) {
    .checkout-aside--panel {
        border-left: 1px solid var(--line);
        padding: 1.15rem 1.2rem 1.25rem;
    }
}
.checkout-aside__rows {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.35rem;
    font-size: 0.92rem;
}
.checkout-aside__rows > div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-4);
    color: var(--muted);
}
.checkout-aside__rows strong {
    color: var(--text);
}
.checkout-aside__pay {
    width: 100%;
    margin-top: 1rem;
}
.checkout-flags--inline {
    margin: 0.85rem 0 0;
    padding: 0.85rem 0 0;
    border: 0;
    border-top: 1px solid var(--line);
}
.checkout-flags--inline legend {
    padding: 0;
    font-weight: 700;
    font-size: var(--fs-md, 0.95rem);
}
.checkout-address-fold {
    margin: 0;
    border: 0;
}
.checkout-address-fold > summary {
    cursor: pointer;
    list-style: none;
    min-height: var(--touch, 2.75rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.75rem;
    font-weight: 700;
    font-size: var(--fs-lg, 1.05rem);
}
.checkout-address-fold > summary::-webkit-details-marker { display: none; }
.checkout-address-fold > summary::after {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: var(--muted);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.checkout-address-fold[open] > summary::after { transform: rotate(225deg); }
.checkout-address-fold[open] > summary {
    margin-bottom: 0.5rem;
}
.checkout-sticky-pay {
    display: none;
}
@media (max-width: 899.98px) {
    .checkout-sticky-pay.dx-sticky-bar {
        display: flex;
        justify-content: space-between;
    }
    .checkout-sticky-pay__btn {
        flex: 1 1 auto;
        max-width: 14rem;
    }
    .checkout-aside__pay {
        display: none;
    }
    .checkout-layout {
        padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
    }
}
.checkout-aside__trust {
    margin: 0.85rem 0 0;
    font-size: 0.82rem;
    color: var(--muted);
    line-height: 1.4;
}
.checkout-aside ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
}
.checkout-lines {
    gap: var(--space-4);
}
.checkout-line {
    display: grid;
    grid-template-columns: 3.5rem 1fr auto;
    gap: 0.75rem 1rem;
    align-items: start;
    color: var(--muted);
    font-size: var(--fs-md);
}
.checkout-line__media {
    width: 3.5rem;
}
.checkout-line__media .media-slot,
.checkout-line__media .media-slot--tile {
    aspect-ratio: 1;
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--canvas-soft);
}
.checkout-line__media .media-slot img {
    object-fit: contain;
}
.checkout-line__copy {
    min-width: 0;
}
.checkout-line__name {
    margin: 0;
    color: var(--text);
    font-weight: 700;
    line-height: 1.35;
}
.checkout-line__name a {
    color: inherit;
    text-decoration: none;
}
.checkout-line__name a:hover {
    color: var(--accent);
}
.checkout-line__meta {
    margin: 0.2rem 0 0;
    font-size: var(--fs-sm);
    color: var(--muted);
}
.checkout-line__meta a {
    color: var(--accent);
    font-weight: 600;
    text-decoration: none;
}
.checkout-line__meta a:hover {
    text-decoration: underline;
}
.checkout-line__price {
    margin: 0;
    color: var(--text);
    font-weight: 700;
    white-space: nowrap;
}
.checkout-line:not(:has(.checkout-line__media)) {
    grid-template-columns: 1fr auto;
}
.checkout-aside__total {
    margin: 0.75rem 0 0;
    padding-top: 0.75rem;
    border-top: 1px solid var(--line);
    font-size: var(--fs-xl);
    color: var(--text);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-4);
    font-weight: 700;
}
.checkout-aside__promo,
.checkout-aside__promo-form {
    margin-top: 0.75rem;
}
.checkout-aside__promo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.checkout-aside__promo p {
    margin: 0;
    font-size: var(--fs-sm);
}
.checkout-aside__promo-form {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "label label"
        "input apply";
    gap: 0.3rem 0.5rem;
    align-items: stretch;
}
.checkout-aside__promo-label {
    grid-area: label;
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--muted);
}
.checkout-aside__promo-input {
    grid-area: input;
    min-width: 0;
    width: 100%;
    min-height: var(--control-height);
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--input-border);
    border-radius: var(--radius-xs);
    background: var(--input-bg);
    font: inherit;
}
.checkout-aside__promo-apply {
    grid-area: apply;
    min-height: var(--control-height);
    padding-inline: 0.85rem;
    white-space: nowrap;
}
.checkout-aside .shop__lede {
    margin-top: 0.65rem;
    margin-bottom: 0;
    font-size: var(--fs-sm);
}
.checkout-aside__pay {
    margin-top: 0.85rem;
}
.meta-list {
    display: grid;
    gap: 0.85rem;
    margin: 1.5rem 0 0;
}
.meta-list dt {
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.meta-list dd {
    margin: 0.15rem 0 0;
}
.content-legal__toc {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    margin: 0 0 1.75rem;
    max-width: min(var(--measure-wide, 68rem), 100%);
}
.content-legal__toc a {
    font-weight: 600;
    color: var(--accent);
    text-decoration: none;
}
.content-legal__toc a:hover {
    text-decoration: underline;
}
.content-legal__section {
    scroll-margin-top: 5.5rem;
    margin: 0 0 2.5rem;
    padding-top: 0.25rem;
    border-top: 1px solid var(--line, rgba(15, 23, 42, 0.12));
}
.content-legal__section:first-of-type {
    border-top: 0;
    padding-top: 0;
}
.content-legal__section h2 {
    margin: 1.25rem 0 0.5rem;
    font-size: 1.35rem;
}
.content-legal__lede {
    margin: 0 0 1rem;
    color: var(--muted);
    max-width: min(var(--measure-wide, 68rem), 100%);
}
.content-body {
    margin-top: 1.5rem;
    max-width: min(var(--measure-prose), 100%);
    color: var(--muted);
    line-height: 1.65;
}
.shop--content .content-body,
.shop--help .content-body {
    max-width: none;
}
.content-body--rich {
    color: var(--text);
    font-size: 1.0625rem;
    line-height: 1.7;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.content-body--rich > *:first-child {
    margin-top: 0;
}
.content-body--rich > *:last-child {
    margin-bottom: 0;
}
.content-body--rich h2,
.content-body--rich h3,
.content-body--rich h4 {
    color: var(--chrome-bg);
    font-family: var(--font-body);
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: -0.01em;
}
.content-body--rich h2 {
    margin: 2rem 0 0.75rem;
    font-size: clamp(1.3rem, 2.2vw, 1.5rem);
}
.content-body--rich h3 {
    margin: 1.65rem 0 0.6rem;
    font-size: clamp(1.12rem, 1.8vw, 1.22rem);
}
.content-body--rich h4 {
    margin: 1.4rem 0 0.5rem;
    font-size: var(--fs-lg);
}
.content-body--rich p {
    margin: 0 0 1.1rem;
}
.content-body--rich ul,
.content-body--rich ol {
    margin: 0 0 1.15rem;
    padding-left: 1.4rem;
}
.content-body--rich li {
    margin: 0.35rem 0;
    padding-left: 0.15rem;
}
.content-body--rich li > ul,
.content-body--rich li > ol {
    margin: 0.4rem 0 0.55rem;
}
.content-body--rich blockquote {
    margin: 1.4rem 0;
    padding: 0.7rem 1rem 0.7rem 1.15rem;
    border-left: 3px solid var(--accent);
    background: color-mix(in srgb, var(--accent) 5%, var(--canvas-soft));
    color: var(--muted);
}
.content-body--rich blockquote p:last-child {
    margin-bottom: 0;
}
.content-body--rich a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}
.content-body--rich a:hover {
    color: var(--accent-bright);
}
.content-body--rich strong,
.content-body--rich b {
    color: var(--chrome-bg);
    font-weight: 700;
}
.content-body--rich em,
.content-body--rich i {
    font-style: italic;
}
.content-body--rich hr {
    margin: 1.75rem 0;
    border: 0;
    border-top: 1px solid var(--line);
}
.content-body--rich code {
    font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Consolas, monospace;
    font-size: 0.88em;
    padding: 0.12em 0.35em;
    border-radius: var(--radius-xs);
    background: color-mix(in srgb, var(--chrome-bg) 6%, var(--surface));
    color: var(--chrome-bg);
}
.content-body--rich pre {
    margin: 1.25rem 0;
    padding: 0.9rem 1rem;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-xs);
    background: var(--canvas-soft);
    font-size: 0.9em;
    line-height: 1.5;
}
.content-body--rich pre code {
    padding: 0;
    background: none;
    font-size: inherit;
    border-radius: 0;
}
.content-body--rich table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.95em;
    line-height: 1.45;
    border: 1px solid var(--line);
    background: var(--surface);
}
.content-body--rich caption {
    caption-side: bottom;
    padding: 0.55rem 0.15rem 0;
    font-size: 0.88em;
    color: var(--muted);
    text-align: left;
}
.content-body--rich th,
.content-body--rich td {
    border: 1px solid var(--line);
    padding: 0.55rem 0.75rem;
    text-align: left;
    vertical-align: top;
}
.content-body--rich thead th,
.content-body--rich th {
    background: color-mix(in srgb, var(--chrome-bg) 5%, var(--surface));
    color: var(--chrome-bg);
    font-weight: 700;
}
.content-body--rich tbody tr:nth-child(even) {
    background: color-mix(in srgb, var(--canvas-soft) 85%, var(--surface));
}
@media (max-width: 699.98px) {
    .content-body--rich table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
}
.news-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.85rem;
}
.news-index {
    margin-top: 2rem;
    display: grid;
    gap: 0.85rem;
    max-width: none;
    animation: fade-in 0.7s ease-out both;
}
.news-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.45rem 0.85rem;
    margin: 0;
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.news-meta__kind {
    color: var(--accent);
}
.news-meta time {
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    color: inherit;
}
.news-cta {
    display: inline-block;
    margin-top: 0.85rem;
    color: var(--accent);
    font-weight: 700;
    font-size: var(--fs-md);
}
.news-lead {
    display: grid;
    gap: var(--space-5);
    padding: 1.25rem 1.15rem 1.35rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    text-decoration: none;
    color: inherit;
    animation: fade-in 0.8s ease-out 0.08s both;
}
@media (max-width: 699.98px) {
    .news-lead {
        padding: 1.1rem 0.95rem 1.2rem;
    }
}
.news-lead--overlay {
    gap: 0;
    padding: 0;
    overflow: hidden;
}
.news-lead--overlay .news-lead__media {
    position: relative;
    border-radius: 0;
    background: var(--chrome-bg);
}
.news-lead--overlay .news-lead__media-frame {
    display: block;
}
.news-lead--overlay .media-slot--news-lead {
    border-radius: 0;
    min-height: 14rem;
}
.news-lead__scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.08) 30%, rgba(15, 23, 42, 0.78) 100%);
}
.news-lead__overlay {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    gap: 0.45rem;
    padding: 1.15rem 1.1rem 1.2rem;
    max-width: none;
}
.news-lead--overlay .news-lead__title {
    color: var(--on-filled);
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
    font-size: clamp(1.45rem, 4vw, 2.15rem);
}
.news-lead--overlay .news-lead__excerpt {
    margin: 0;
    padding: 0.95rem 1.1rem 1.15rem;
    max-width: none;
    font-size: var(--fs-md);
}
.news-meta--on-dark {
    color: rgba(255, 255, 255, 0.78);
}
.news-meta--on-dark .news-meta__kind {
    color: var(--pill-red-border);
}
.news-cta--on-dark {
    margin-top: 0.35rem;
    color: var(--pill-red-border);
}
.news-lead__body {
    display: grid;
    gap: var(--space-2);
    align-content: start;
    max-width: 44rem;
}
.news-lead--media .news-lead__body {
    max-width: none;
}
.news-lead__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.85rem, 4.5vw, 2.75rem);
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1.05;
    color: var(--text);
}
.news-lead__excerpt {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-lg);
    line-height: 1.55;
    max-width: min(var(--measure-prose), 100%);
}
.news-lead__media {
    overflow: hidden;
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--surface) 70%, var(--canvas-soft));
}
@media (min-width: 900px) {
    .news-lead--media:not(.news-lead--overlay) {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
        gap: var(--space-7);
        align-items: stretch;
        padding: 1.35rem 1.25rem 1.45rem;
    }
    .news-lead--media:not(.news-lead--overlay) .news-lead__body {
        padding-block: 0.35rem;
        align-content: center;
    }
    .news-lead--media:not(.news-lead--overlay) .media-slot--news-lead {
        min-height: 16rem;
        aspect-ratio: 16 / 10;
    }
    .news-lead--overlay .media-slot--news-lead {
        min-height: 18rem;
        aspect-ratio: 21 / 9;
    }
    .news-lead--overlay .news-lead__overlay {
        padding: 1.35rem 1.35rem 1.45rem;
    }
    .news-lead--overlay .news-lead__excerpt {
        padding: 1.05rem 1.35rem 1.3rem;
    }
}
@media (hover: hover) and (pointer: fine) {
    .news-lead:hover .news-lead__title,
    .news-row:hover .news-row__title {
        color: var(--accent);
    }
    .news-lead--overlay:hover .news-lead__title {
        color: var(--on-filled);
        text-decoration: underline;
        text-underline-offset: 0.12em;
    }
    .news-lead:hover .news-cta,
    .news-row:hover .news-cta {
        text-decoration: underline;
        text-underline-offset: 0.18em;
    }
}
.news-row {
    display: grid;
    gap: var(--space-4);
    padding: 1.15rem 1.15rem 1.25rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    text-decoration: none;
    color: inherit;
}
@media (max-width: 699.98px) {
    .news-row {
        padding: 1rem 0.95rem 1.1rem;
    }
}
.news-row__body {
    display: grid;
    gap: 0.4rem;
    align-content: start;
    min-width: 0;
}
.news-row__title {
    margin: 0;
    font-size: clamp(1.2rem, 2.4vw, 1.45rem);
    line-height: 1.25;
    color: var(--text);
}
.news-channel__intro {
    margin-bottom: 1.35rem;
    max-width: min(40rem, 100%);
}
.news-channel__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 3.2vw, 2.05rem);
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1.15;
}
.news-channel__lede {
    margin: 0.55rem 0 0;
    color: var(--muted);
    line-height: 1.5;
}
.news-channel__more {
    margin: 1.25rem 0 0;
}
.news-channel__more a {
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .news-channel__more a:hover {
        text-decoration: underline;
        text-underline-offset: 0.18em;
    }
}
.news-row p {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
    max-width: 46rem;
}
.news-row .news-cta {
    margin-top: 0.35rem;
}
.news-row__media {
    overflow: hidden;
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--surface) 70%, var(--canvas-soft));
    max-width: none;
    width: 100%;
}
@media (min-width: 700px) {
    .news-row--media {
        grid-template-columns: 10.5rem minmax(0, 1fr);
        gap: 1.35rem;
        align-items: start;
    }
    .news-row__media {
        max-width: none;
        width: auto;
    }
}
.news-detail__date {
    margin: 0.55rem 0 0;
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}
.news-detail__date time {
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}
.news-detail__date--on-hero {
    margin-top: 0.45rem;
    color: rgba(255, 255, 255, 0.78);
}
.news-preview-banner {
    margin: 0 0 1.25rem;
    padding: 0.7rem 0.95rem;
    border: 1px solid var(--pill-amber);
    border-left: 4px solid var(--pill-amber);
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--pill-amber) 10%, var(--surface));
    color: var(--text);
    font-size: var(--fs-sm);
    line-height: 1.45;
}
.news-detail__hero {
    position: relative;
    margin-top: 0.35rem;
    border-radius: var(--radius-md);
    overflow: hidden;
    max-width: none;
    width: 100%;
    background: var(--chrome-bg);
    min-height: 16.5rem;
}
.news-detail__hero .news-detail__hero-media,
.news-detail__hero .media-slot--content,
.news-detail__hero .media-slot--content-video {
    margin: 0;
    border-radius: 0;
    max-width: none;
    width: 100%;
    min-height: 16.5rem;
    height: 100%;
    object-fit: cover;
}
.news-detail__hero .media-slot--content img,
.news-detail__hero .media-slot--content-video img,
.news-detail__hero .media-slot--content-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.news-detail__hero-scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.12) 28%, rgba(15, 23, 42, 0.82) 100%);
}
.news-detail__hero-copy {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.15rem 1.1rem 1.25rem;
    max-width: none;
}
.news-detail__hero-copy h1 {
    margin: 0;
    color: var(--on-filled);
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.4);
    font-size: clamp(1.35rem, 3.8vw, 2.45rem);
    line-height: 1.08;
}
@media (max-width: 699.98px) {
    .news-detail__hero,
    .news-detail__hero .media-slot--content,
    .news-detail__hero .media-slot--content-video {
        min-height: 18.5rem;
        aspect-ratio: auto;
    }
    .news-detail__hero {
        display: grid;
    }
}
@media (min-width: 900px) {
    .news-detail__hero-copy {
        padding: 1.5rem 1.4rem 1.55rem;
    }
    .news-detail__hero-copy h1 {
        font-size: clamp(2rem, 2.8vw, 2.85rem);
    }
}
.news-detail__lede {
    margin: 0 0 1.1rem;
    color: var(--muted);
    font-size: 1.02rem;
    line-height: 1.55;
}
.news-detail__lede + .news-detail__body {
    margin-top: 0;
}
.news-detail__panel {
    margin-top: 1.25rem;
    padding: 1.35rem 1.2rem 1.4rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    max-width: none;
    width: 100%;
}
@media (max-width: 699.98px) {
    .shop.shop--content > .news-detail__hero,
    .shop.shop--content > .news-detail__panel {
        margin-inline: calc(-1 * clamp(1rem, 4vw, 2.5rem));
        width: auto;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }
    .news-detail__panel {
        padding: 1.15rem 1rem 1.25rem;
    }
}
.news-detail__body {
    margin-top: 0;
    max-width: none;
}
.shop--content .news-detail__panel .content-body {
    max-width: none;
}
.news-list > li {
    animation: fade-in 0.65s ease-out both;
}
.news-list > li:nth-child(1) { animation-delay: 0.12s; }
.news-list > li:nth-child(2) { animation-delay: 0.2s; }
.news-list > li:nth-child(3) { animation-delay: 0.28s; }
.news-list > li:nth-child(4) { animation-delay: 0.36s; }
.news-list > li:nth-child(n+5) { animation-delay: 0.42s; }
.site-footer {
    position: relative;
    z-index: 0;
    overflow: hidden;
    margin-top: 0;
    padding: 2rem 0 0;
    border-top: 0;
    background: var(--chrome-bg-mid);
    color: var(--chrome-text);
    flex-shrink: 0;
}
.site-footer__grid,
.site-footer__meta {
    position: relative;
    z-index: 1;
}
.stage-footer--float .site-footer {
    padding: 3.25rem 0 0;
}
.site-footer__grid {
    width: min(100%, var(--max));
    margin: 0 auto;
    padding-inline: clamp(1rem, 4vw, 2.5rem);
    box-sizing: border-box;
    display: grid;
    gap: var(--space-6);
}
@media (min-width: 900px) {
    .site-footer__grid {
        grid-template-columns: minmax(0, 1fr) minmax(14rem, 16rem);
        gap: 2rem 3rem;
        align-items: start;
    }
}
.site-footer__newsletter-col {
    display: grid;
    gap: var(--space-2);
    align-content: start;
    min-width: 0;
}
.site-footer__channels {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}
.site-footer__channels-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--touch);
    height: var(--touch);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.08);
    color: var(--chrome-muted);
    text-decoration: none;
}
.site-footer__meta-brand {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    color: inherit;
    text-decoration: none;
}
.site-footer__meta-brand .site-brand__logo {
    max-height: 2rem;
    height: 2rem;
}
.site-footer__nav {
    display: grid;
    gap: 0;
    grid-template-columns: 1fr;
}
@media (min-width: 900px) {
    .site-footer__nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.5rem 2rem;
    }
}
@media (min-width: 900px) {
    .site-footer__nav:has(> :nth-child(4)) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
.site-footer__col {
    display: grid;
    gap: 0.2rem;
    align-content: start;
}
.site-footer__col a {
    display: inline-flex;
    align-items: center;
    line-height: 1.35;
    padding-block: 0.1rem;
}
@media (pointer: coarse) {
    .site-footer__col a {
        min-height: 2.25rem;
        padding-block: 0.3rem;
    }
}
details.site-footer__col > summary.site-footer__label {
    list-style: none;
    cursor: pointer;
    user-select: none;
    justify-content: space-between;
    margin: 0;
}
details.site-footer__col > summary.site-footer__label::-webkit-details-marker {
    display: none;
}
details.site-footer__col > summary.site-footer__label::after {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: var(--chrome-muted);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
details.site-footer__col[open] > summary.site-footer__label::after {
    transform: rotate(225deg);
}
@media (max-width: 899.98px) {
    details.site-footer__col {
        border-top: 0;
        margin-top: var(--space-4);
    }
    details.site-footer__col:last-child {
        border-bottom: 0;
    }
    details.site-footer__col[open] > .site-footer__col-links {
        display: flex;
        flex-direction: column;
        padding-bottom: 0.65rem;
    }
    .site-footer__col-links a {
        padding-block: 0.3rem;
        min-height: var(--touch);
    }
}
@media (min-width: 900px) {
    details.site-footer__col {
        border: none;
    }
    details.site-footer__col > .site-footer__col-links {
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
    }
    details.site-footer__col > summary.site-footer__label {
        pointer-events: none;
        cursor: default;
        display: block;
        margin: 0 0 0.15rem;
    }
    details.site-footer__col > summary.site-footer__label::after {
        display: none;
    }
}
.site-footer__meta {
    width: 100%;
    margin: 1.75rem 0 0;
    padding: 1rem clamp(1rem, 4vw, 2.5rem) 1.5rem;
    box-sizing: border-box;
    border-top: 1px solid var(--chrome-line);
    background: var(--chrome-bg);
    color: var(--chrome-muted);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem 1.5rem;
}
.site-footer__meta--rail {
    align-items: center;
}
.site-footer__meta--stack,
.site-footer__meta--inline {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    text-align: center;
}
.site-footer__legal {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.site-footer__meta--rail .site-footer__legal {
    max-width: 28rem;
    text-align: right;
}
.site-footer__meta--stack .site-footer__legal,
.site-footer__meta--inline .site-footer__legal {
    max-width: 38rem;
    text-align: center;
}
.site-footer__payments {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.7rem;
}
.site-footer__payments--stack,
.site-footer__payments--inline {
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
}
.site-footer__payments-label {
    margin: 0;
    font-size: var(--fs-2xs);
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: none;
    color: var(--muted);
    white-space: nowrap;
}
.site-footer__payments-inline {
    margin: 0;
    max-width: 40rem;
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: 1.55;
}
.site-footer__payments-lead {
    color: var(--muted);
    font-weight: 600;
}
.site-footer__payments-name {
    color: var(--text);
    font-weight: 650;
}
.site-footer__payments-sep {
    margin: 0 0.35rem;
    color: var(--muted);
    opacity: 0.7;
}
.pay-marks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}
.site-footer__payments--rail .pay-marks {
    justify-content: flex-start;
}
.newsletter-bar__row {
    display: grid;
    gap: var(--space-2);
}
.newsletter-bar__input {
    width: 100%;
    min-width: 0;
    min-height: var(--touch);
    padding: 0.6rem 0.85rem;
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
    color: var(--chrome-text);
    font: inherit;
    font-size: var(--fs-sm);
    box-sizing: border-box;
}
.newsletter-bar__input::placeholder {
    color: var(--chrome-muted);
    opacity: 0.75;
}
.newsletter-bar__input:focus-visible {
    outline: 2px solid var(--chrome-text);
    outline-offset: 2px;
}
.newsletter-bar__submit {
    width: 100%;
    min-height: var(--touch);
}
.newsletter-bar__turnstile:not(:empty) {
    margin-top: var(--space-2);
}
.newsletter-bar__consent {
    margin: var(--space-2) 0 0;
    color: var(--chrome-muted);
    font-size: var(--fs-2xs);
    line-height: 1.45;
}
.pay-mark {
    display: block;
    width: 3rem;
    aspect-ratio: 58 / 40;
    line-height: 0;
}
.pay-mark svg,
.pay-mark img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: var(--radius-xs);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--line) 70%, transparent);
}
.pay-mark img {
    object-fit: contain;
    background: #fff;
}
.pay-mark--klarna img {
    background: #F4B6C7;
}
.site-footer__tm {
    font-size: 0.65em;
    line-height: 0;
    vertical-align: super;
}
.site-footer__brand {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.65rem;
    letter-spacing: 0.06em;
    color: var(--accent);
    line-height: 1;
}
.site-footer a {
    color: var(--chrome-muted);
    text-decoration: none;
    font-weight: 600;
}
@media (prefers-reduced-motion: no-preference) {
    .site-footer a,
    .site-footer__channels-ico,
    .site-footer__meta-brand {
        transition:
            color var(--t-quick) ease,
            background-color var(--t-quick) ease,
            opacity var(--t-quick) ease;
    }
}
.site-footer__label {
    margin: 0 0 0.15rem;
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--chrome-text);
    display: flex;
    align-items: center;
    padding-block: 0.75rem;
    min-height: var(--touch);
    background-image: var(--accent-rule-on-dark);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: min(100%, 12rem) 2px;
}
@media (max-width: 699.98px) {
    .stage-footer--float .site-footer {
        padding-top: 2.75rem;
    }
    .site-footer__grid {
        gap: var(--space-4);
    }
    .site-footer__meta {
        margin-top: 1rem;
        padding-block: 0.75rem 1rem;
    }
    .site-footer__meta--rail {
        flex-direction: column;
        align-items: flex-start;
    }
    .site-footer__meta--rail .site-footer__legal {
        text-align: left;
    }
    .site-footer__meta--stack,
    .site-footer__meta--inline {
        align-items: center;
    }
}
@media (hover: hover) and (pointer: fine) {
    .site-footer a:hover {
        color: var(--chrome-text);
    }
    .site-footer__meta-brand:hover {
        opacity: 0.88;
    }
    .site-footer__channels-ico:hover {
        background: rgba(255, 255, 255, 0.16);
        color: var(--chrome-text);
    }
}
.site-footer__meta a {
    color: var(--chrome-muted);
    font-weight: 600;
}
.site-footer__meta .site-footer__legal,
.site-footer__meta .site-footer__payments-label,
.site-footer__meta .site-footer__payments-lead,
.site-footer__meta .site-footer__payments-inline,
.site-footer__meta .site-footer__payments-sep {
    color: var(--chrome-muted);
}
.site-footer__meta .site-footer__payments-name {
    color: var(--chrome-text);
}
.site-footer__meta .pay-mark svg {
    box-shadow: 0 0 0 1px var(--chrome-line);
}
@media (hover: hover) and (pointer: fine) {
    .site-footer__meta a:hover {
        color: var(--chrome-text);
    }
}
.portal-banner {
    background: color-mix(in srgb, var(--accent) 8%, var(--canvas-soft));
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
    color: var(--text);
}
.portal-banner__inner {
    width: min(100%, var(--max));
    margin: 0 auto;
    padding: 0.45rem clamp(1rem, 4vw, 2.5rem);
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 1rem;
    box-sizing: border-box;
}
.portal-banner p {
    margin: 0;
    font-weight: 600;
    font-size: var(--fs-sm);
    line-height: 1.35;
    min-width: 0;
}
.portal-banner__resend {
    margin-top: 0;
    white-space: nowrap;
    cursor: pointer;
}
.checkout-shipping {
    margin: 1.25rem 0 0;
    padding: 1.15rem 0 0;
    border: 0;
    border-top: 1px solid var(--line);
    display: grid;
    gap: 0.9rem;
}
.checkout-shipping legend {
    padding: 0;
    margin: 0 0 0.15rem;
    font-weight: 700;
    font-size: var(--fs-lg);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}
.portal-home__intro {
    margin-bottom: 0.25rem;
}
.portal-home__intro h1 {
    max-width: 22ch;
}
@media (max-width: 699.98px) {
    body.page-portal .shop {
        padding-inline: clamp(0.7rem, 3vw, 1rem);
        padding-top: clamp(1.15rem, 3.5vw, 1.65rem);
    }
}
.portal-section.portal-home__orders {
    margin-top: 1.35rem;
    padding-top: 0;
    border-top: 0;
}
.portal-section.portal-home__orders > .portal-section__head {
    margin-bottom: 0.55rem;
}
.portal-section.portal-home__orders > .surface-panel {
    margin-top: 0;
    padding: 0.35rem 0.2rem;
}
.portal-home__next {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    margin: 0.85rem 0 0;
}
.portal-home__next-eyebrow {
    flex: 1 0 100%;
    margin: 0 0 -0.2rem;
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent);
}
.portal-tiles .portal-tile .portal-tile__live,
.portal-tiles--compact .portal-tile .portal-tile__live {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: var(--fs-xs);
    font-weight: 600;
    color: var(--text);
    line-height: 1.3;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
}
.portal-tile__live::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--pill-slate, var(--muted-strong));
    flex: 0 0 auto;
}
.portal-tile__live--ok::before { background: var(--pill-green, var(--ok-strong)); }
.portal-tile__live--blue::before { background: var(--pill-blue, var(--info)); }
.portal-tile__live--amber::before { background: var(--pill-amber, var(--warn-strong)); }
.portal-tiles {
    margin: 1rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}
.portal-tiles--compact .portal-tile {
    min-height: 0;
    padding: 0.6rem 0.7rem;
    gap: 0.12rem;
}
.portal-tiles--compact .portal-tile strong {
    font-size: var(--fs-md);
    line-height: 1.2;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.portal-tiles--compact .portal-tile span {
    font-size: var(--fs-2xs);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (min-width: 700px) {
    .portal-tiles {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem;
    }
    .portal-tiles--compact .portal-tile {
        padding: 0.75rem 0.85rem;
    }
    .portal-tiles--compact .portal-tile strong {
        font-size: var(--fs-lg);
        line-height: 1.25;
    }
    .portal-tiles--compact .portal-tile span {
        font-size: 0.78rem;
    }
}
@media (min-width: 900px) {
    .portal-tiles {
        gap: 0.65rem;
    }
    .portal-tiles--compact .portal-tile {
        padding: 0.85rem 1rem;
    }
}
.portal-tile {
    display: grid;
    gap: 0.25rem;
    align-content: start;
    min-height: 0;
    padding: 0.95rem 1.05rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.portal-tile--soon {
    border-style: dashed;
    background: var(--surface-muted, var(--surface));
}
.portal-tile--soon span {
    opacity: 0.85;
}
@media (hover: hover) and (pointer: fine) {
    .portal-tile:hover {
        border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
        background: color-mix(in srgb, var(--accent) 4%, var(--surface));
    }
    .portal-tile:hover strong {
        color: var(--accent);
    }
}
.portal-tile strong {
    font-size: var(--fs-lg);
    font-weight: 700;
    color: var(--text);
    line-height: 1.25;
}
.portal-tile span {
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: 1.4;
}
.portal-wallet__balance {
    margin: 0.35rem 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 2.6rem);
    letter-spacing: 0.04em;
    font-weight: 400;
    color: var(--text);
}
.results__mast {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem 1.25rem;
    margin: 0 0 0;
    width: 100%;
    position: relative;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--line);
}
.results__mast::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 4.5rem;
    height: 3px;
    border-radius: 2px;
    background: var(--accent);
}
.results__mast-main {
    min-width: min(100%, 16rem);
    flex: 1 1 16rem;
}
.results__title-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem;
    min-width: 0;
}
.results__mast h1 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 2.6rem);
    letter-spacing: 0.04em;
    font-weight: 400;
    min-width: 0;
}
.results__jump-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    color: var(--muted-strong, var(--muted));
    text-decoration: none;
    border: 1px solid var(--line);
    background: var(--surface);
    transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.results__jump-icon svg {
    width: 1.2rem;
    height: 1.2rem;
    display: block;
}
.results__jump-icon:hover,
.results__jump-icon:focus-visible {
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 8%, var(--surface));
    border-color: color-mix(in srgb, var(--accent) 22%, var(--line));
    outline: none;
}
.results__jump-icon:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent);
    outline-offset: 2px;
}
.results__sample-notes {
    margin: 0.4rem 0 0;
    font-size: 0.92rem;
    color: var(--muted);
    max-width: 40rem;
}
.results__download {
    flex: 0 0 auto;
}
.results__mast-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 100%;
    width: 100%;
}
.results__mast-actions > .btn {
    flex: 1 1 calc(50% - 0.25rem);
    min-width: min(100%, 9rem);
    text-align: center;
    justify-content: center;
}
@media (min-width: 700px) {
    .results__mast-actions {
        flex: 0 0 auto;
        flex-wrap: wrap;
        width: auto;
        max-width: min(22rem, 100%);
        align-self: center;
        justify-content: flex-end;
    }
    .results__mast-actions > .btn {
        flex: 0 0 auto;
        width: auto;
        min-width: 8rem;
    }
}
.results__status-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin: 1.15rem 0 1.25rem;
    padding: 0;
    list-style: none;
    border: 0;
    background: none;
}
.results__status-strip:has(> :only-child) {
    grid-template-columns: 1fr;
}
.results__status-strip:has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.results__status-strip li {
    padding: 0.7rem 0.9rem;
    position: relative;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    box-shadow: var(--shadow-card);
}
.results__status-strip-label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 0.25rem;
}
.results__status-strip-label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
    flex: 0 0 auto;
}
.results__status-strip-value {
    display: block;
    font-size: var(--fs-md);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--text);
}
@media (max-width: 699.98px) {
    .results__status-strip {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0.15rem 0.9rem;
        border: 1px solid var(--line);
        border-radius: var(--radius-sm);
        background: var(--surface);
        box-shadow: var(--shadow-card);
    }
    .results__status-strip li {
        padding: 0.55rem 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: none;
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.5rem 0.75rem;
    }
    .results__status-strip li + li {
        border-top: 1px solid var(--line);
    }
    .results__status-strip-label {
        margin-bottom: 0;
        flex: 1 1 auto;
        min-width: 0;
    }
    .results__status-strip-value {
        font-size: var(--fs-sm);
        font-variant-numeric: tabular-nums;
        text-align: right;
        flex: 0 0 auto;
        white-space: nowrap;
    }
}
.results__layout {
    display: grid;
    gap: var(--space-6);
}
.results__layout--single {
    grid-template-columns: 1fr;
}
@media (min-width: 900px) {
    .results__layout:not(.results__layout--single) {
        grid-template-columns: 11rem 1fr;
        gap: 2.5rem;
        align-items: start;
    }
}
.results__nav a {
    color: var(--muted);
    text-decoration: none;
    font-weight: 600;
    font-size: var(--fs-md);
}
.results__nav a:hover {
    color: var(--accent);
}
.results__group {
    margin: 0 0 2.25rem;
    scroll-margin-top: var(--chrome-sticky-offset, 5.5rem);
}
.results__group h2 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    font-weight: 400;
}
.results__group-head {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    margin: 0 0 0.85rem;
}
.results__group-head h2 {
    margin: 0;
}
.results__group-count {
    font-size: var(--fs-xs);
    font-weight: 600;
    color: var(--muted);
}
.results__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
}
.obs {
    position: relative;
    padding: 1rem 1.15rem 1rem 1.3rem;
    border-radius: var(--radius-card);
    background: var(--surface);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-card);
    overflow: hidden;
}
.obs::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--muted-strong);
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .obs {
        transition: transform var(--t-quick, 0.15s) ease, box-shadow var(--t-quick, 0.15s) ease;
    }
    .obs:hover {
        transform: translateY(-1px);
        box-shadow: var(--shadow-card-lift);
    }
}
@media (max-width: 899.98px) {
    .results__list {
        gap: 0.45rem;
    }
    .obs--normal {
        padding: 0.7rem 0.85rem;
    }
    .obs--normal .obs__value {
        font-size: 1.6rem;
    }
    .obs__range {
        margin-top: 0.2rem;
        font-size: var(--fs-xs);
        line-height: 1.25;
    }
    .obs--normal .obs__chart {
        margin-top: 0.55rem;
    }
}
.obs--normal::before { background: var(--pill-green, var(--ok)); }
.obs--low::before { background: var(--pill-amber, var(--warn)); }
.obs--high::before { background: var(--pill-red, var(--bad)); }
.obs--rejected::before,
.obs--unknown::before { background: var(--muted-strong); }
.obs--low {
    background: linear-gradient(90deg, var(--pill-amber-bg) 0%, var(--surface) 45%);
}
.obs--high {
    background: linear-gradient(90deg, var(--pill-red-bg) 0%, var(--surface) 45%);
}
.obs--rejected {
    background: linear-gradient(90deg, var(--pill-slate-bg) 0%, var(--surface) 45%);
}
.obs__head {
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
    align-items: flex-start;
}
.obs__head > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
}
.obs__name-row {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    min-width: 0;
}
.obs__name {
    margin: 0;
    font-weight: 700;
    font-size: var(--fs-lg);
    line-height: 1.25;
    overflow-wrap: anywhere;
    flex: 1 1 auto;
    min-width: 0;
}
.obs__name-tools {
    display: flex;
    gap: 0.3rem;
    flex: 0 0 auto;
    margin-left: 0.15rem;
}
.obs__tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--touch, 44px);
    height: var(--touch, 44px);
    min-width: var(--touch, 44px);
    min-height: var(--touch, 44px);
    margin: 0;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 0.4rem;
    background: color-mix(in srgb, var(--surface) 88%, var(--canvas));
    color: var(--muted-strong, var(--muted));
    cursor: pointer;
    line-height: 1;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}
.obs__tool svg {
    width: 1rem;
    height: 1rem;
}
.obs__tool:hover {
    border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
    color: var(--text);
    background: var(--surface);
}
.obs__tool:focus-visible {
    outline: var(--focus-outline, 2px solid var(--accent));
    outline-offset: 2px;
}
.obs__tool[aria-expanded="true"] {
    border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}
.obs__range {
    margin: 0.35rem 0 0;
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: 1.3;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.obs__failure {
    margin: 0.35rem 0 0;
    color: var(--muted-strong, var(--muted));
    font-size: var(--fs-sm);
    line-height: 1.35;
}
.results__lab-notes {
    margin: 1.25rem 0 0;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
}
.results__lab-notes > summary.results__lab-notes-title {
    cursor: pointer;
    padding: 0.85rem 1rem;
    font-weight: 700;
    color: var(--text);
}
.results__lab-notes-body {
    padding: 0 1rem 1rem;
}
.results__lab-notes-lede {
    margin: 0 0 0.6rem;
    color: var(--muted);
    font-size: var(--fs-sm);
}
.results__lab-notes-list {
    margin: 0;
    font-size: var(--fs-sm);
}
.results__lab-notes-list dt {
    font-weight: 700;
    margin: 0.6rem 0 0.1rem;
}
.results__lab-notes-list dd {
    margin: 0 0 0.2rem;
    color: var(--muted-strong, var(--muted));
}
.obs__range-bands {
    margin: 0.45rem 0 0;
}
.obs__range-note {
    list-style: none;
    margin: 0;
    padding: 0.45rem 0.75rem;
    font-size: var(--fs-xs);
    line-height: 1.35;
    color: var(--muted);
    background: color-mix(in srgb, var(--canvas) 80%, white);
    border-left: 2px solid color-mix(in srgb, var(--accent) 35%, transparent);
    display: grid;
    gap: 0.2rem;
}
.obs__range-note li {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 0.75rem 1fr;
    column-gap: 0.35rem;
    align-items: start;
}
.obs__range-note li::before {
    content: "–";
    color: var(--muted-strong, var(--muted));
    font-weight: 600;
    line-height: 1.35;
}
.obs__range-value {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.obs__value-wrap {
    text-align: right;
    flex: 0 0 auto;
    max-width: 42%;
}
.obs__value {
    margin: 0;
    font-family: var(--font-display);
    font-size: 2.1rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;
}
.obs__unit {
    margin-left: 0.3rem;
    font-family: var(--font-body);
    font-size: var(--fs-sm);
    font-weight: 600;
    letter-spacing: 0;
    color: var(--muted);
}
.obs__flag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.35rem 0 0;
    padding: 0.16rem 0.55rem;
    border: 1px solid var(--pill-slate-border);
    border-radius: var(--radius-pill, 999px);
    background: var(--pill-slate-bg);
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pill-slate-ink);
}
.obs__flag::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--pill-slate, var(--muted-strong));
    flex: 0 0 auto;
}
.obs--normal .obs__flag { background: var(--pill-green-bg); color: var(--pill-green-ink); border-color: var(--pill-green-border); }
.obs--normal .obs__flag::before { background: var(--pill-green); }
.obs--low .obs__flag { background: var(--pill-amber-bg); color: var(--pill-amber-ink); border-color: var(--pill-amber-border); }
.obs--low .obs__flag::before { background: var(--pill-amber); }
.obs--high .obs__flag { background: var(--pill-red-bg); color: var(--pill-red-ink); border-color: var(--pill-red-border); }
.obs--high .obs__flag::before { background: var(--pill-red); }
.obs__bar {
    position: relative;
    margin-top: 0.35rem;
    height: 0.6rem;
}
.obs__chart {
    margin-top: 0.85rem;
}
.obs__bar-track {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--results-range-gradient);
}
.obs__bar-marker {
    position: absolute;
    top: 50%;
    width: 1.05rem;
    height: 1.05rem;
    margin-left: -0.525rem;
    border-radius: 50%;
    background: var(--text);
    border: 2px solid var(--surface);
    box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 22%, transparent), 0 1px 3px rgba(17, 24, 39, 0.35);
    transform: translateY(-50%);
}
.obs__bar-marker--low {
    background: var(--pill-amber, var(--warn));
    color: var(--pill-amber, var(--warn));
}
.obs__bar-marker--high {
    background: var(--pill-red, var(--bad));
    color: var(--pill-red, var(--bad));
}
.obs__bar-marker--normal {
    background: var(--pill-green, var(--ok));
    color: var(--pill-green, var(--ok));
}
.obs__bar-marker--unknown,
.obs__bar-marker--rejected {
    background: var(--muted-strong, var(--muted));
}
.obs__bar-scale {
    display: flex;
    justify-content: space-between;
    margin-top: 0.35rem;
    font-size: var(--fs-xs);
    color: var(--muted);
    font-variant-numeric: tabular-nums;
}
.obs__bar-track {
    position: relative;
}
.obs__bar-track::before,
.obs__bar-track::after {
    content: "";
    position: absolute;
    top: -3px;
    bottom: -3px;
    width: 1px;
    background: rgba(17, 24, 39, 0.28);
}
.obs__bar-track::before {
    left: var(--results-band-low, 18%);
}
.obs__bar-track::after {
    left: var(--results-band-high, 82%);
}
.obs__bar-scale--band {
    display: block;
    position: relative;
    height: 1.1rem;
    margin-top: 0.4rem;
}
.obs__bar-scale--band > span {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    white-space: nowrap;
}
.obs__bar-scale-lo {
    left: var(--results-band-low, 18%);
}
.obs__bar-scale-hi {
    left: var(--results-band-high, 82%);
}
.obs__detail {
    margin-top: 0.75rem;
    padding: 0.55rem 0.75rem;
    background: color-mix(in srgb, var(--canvas) 55%, white);
    border-left: 2px solid color-mix(in srgb, var(--accent) 28%, transparent);
}
.obs__blurb {
    margin: 0 0 0.55rem;
    font-size: var(--fs-sm);
    line-height: 1.55;
    color: var(--text);
    max-width: none;
}
.obs__blurb:last-child {
    margin-bottom: 0;
}
.obs__blurb--why {
    color: var(--text);
}
.obs__learn {
    margin: 0;
    font-size: var(--fs-sm);
}
.obs__learn a {
    font-weight: 600;
}
.results__summary {
    margin: 1rem 0 0.6rem;
}
.results__summary-track {
    display: flex;
    gap: 3px;
    height: 0.65rem;
    margin-bottom: 0.55rem;
}
.results__summary-seg {
    display: block;
    min-width: 0.4rem;
    border-radius: 999px;
}
.results__summary-seg--ok {
    background: var(--pill-green, var(--ok-strong));
}
.results__summary-seg--flag {
    background: var(--pill-amber, var(--warn-strong));
}
.results__summary-seg--none {
    background: var(--pill-slate, var(--muted-strong, var(--muted)));
}
@media (forced-colors: active) {
    .results__summary-track {
        display: none;
    }
}
.results__summary-legend {
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--muted);
}
.results__summary-legend b {
    color: var(--text);
}
.results__summary-legend--chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0;
    list-style: none;
}
.results__summary-chip--ok,
.results__summary-chip--flag,
.results__summary-chip--none {
    flex: 1 1 auto;
    justify-content: center;
}
.results__summary-chip--cats {
    flex: 1 0 100%;
}
.results__summary-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.22rem 0.6rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-pill, 999px);
    background: var(--surface);
    font-size: var(--fs-xs);
    font-weight: 600;
    color: var(--text);
    font-variant-numeric: tabular-nums;
}
.results__summary-chip::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex: 0 0 auto;
}
.results__summary-chip--ok::before { background: var(--pill-green, var(--ok-strong)); }
.results__summary-chip--flag::before { background: var(--pill-amber, var(--warn-strong)); }
.results__summary-chip--none::before { background: var(--pill-slate, var(--muted-strong)); }
.results__summary-chip--cats::before { display: none; }
.results__summary-chip--flag {
    border-color: var(--pill-amber-border);
    background: var(--pill-amber-bg);
    color: var(--pill-amber-ink);
}
.results__summary-chip--flag b {
    color: inherit;
    font-weight: 700;
}
.results__summary-chip--cats {
    padding: 0.22rem 0.2rem;
    border: 0;
    background: none;
    color: var(--muted);
    font-weight: 500;
}
.results__cats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
    margin: 0 0 0.35rem;
    scroll-margin-top: var(--chrome-sticky-offset, 5.5rem);
}
@media (min-width: 700px) {
    .results__cats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--space-2);
        margin: 0 0 0.5rem;
    }
}
.results__cat {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm, 0.5rem);
    background: var(--surface);
    box-shadow: var(--shadow-card);
    color: inherit;
    text-decoration: none;
    font-size: var(--fs-sm);
    line-height: 1.3;
    scroll-margin-top: var(--chrome-sticky-offset, 5.5rem);
}
.results__cat::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pill-slate, var(--muted-strong));
    flex: 0 0 auto;
}
.results__cat:hover {
    border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
    background: color-mix(in srgb, var(--canvas-soft) 55%, var(--surface));
}
.results__cat:focus-visible {
    outline: var(--focus-outline, 2px solid var(--accent));
    outline-offset: 2px;
}
.results__cat--normal::before { background: var(--pill-green, var(--ok-strong)); }
.results__cat--low::before { background: var(--pill-amber, var(--warn-strong)); }
.results__cat--high::before { background: var(--pill-red, var(--bad)); }
.results__cat--unknown::before { background: var(--pill-slate, var(--muted-strong, var(--muted))); }
.results__cat--rejected::before { background: var(--muted-strong, var(--muted)); }
.results__cat--low .results__cat-n {
    background: var(--pill-amber-bg);
    color: var(--pill-amber-ink);
    border-color: var(--pill-amber-border);
}
.results__cat--high .results__cat-n {
    background: var(--pill-red-bg);
    color: var(--pill-red-ink);
    border-color: var(--pill-red-border);
}
.results__cat-name {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
}
.results__cat-n {
    flex: 0 0 auto;
    padding: 0.1rem 0.5rem;
    border: 1px solid var(--pill-slate-border);
    border-radius: var(--radius-pill, 999px);
    background: var(--pill-slate-bg);
    font-size: var(--fs-2xs);
    font-weight: 700;
    color: var(--pill-slate-ink);
    font-variant-numeric: tabular-nums;
}
.results__cat-flagged {
    font-weight: 700;
    color: inherit;
}
.hero--error {
    min-height: 0;
    padding-block: clamp(2.5rem, 8vh, 4.5rem);
}
.hero--error .error-page {
    max-width: min(var(--measure-prose), 100%);
}
.hero--error .error-page__status {
    margin: 0 0 0.35rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 6vw, 3.25rem);
    letter-spacing: 0.08em;
    line-height: 1;
    color: var(--accent-bright);
    opacity: 0.9;
}
.hero--error .error-page__detail,
.hero--error .error-page__ref {
    margin: 0.75rem 0 0;
    font-size: var(--fs-md);
    color: var(--chrome-muted);
}
.hero--error .error-page__detail code,
.hero--error .error-page__ref code {
    font-size: 0.9em;
    word-break: break-all;
    color: var(--chrome-text);
    background: rgba(255, 255, 255, 0.08);
    padding: 0.1em 0.35em;
    border-radius: var(--radius-xs);
}
.hero--error .hero__actions {
    margin-top: 1.5rem;
    flex-wrap: wrap;
}
.error-page {
    max-width: min(var(--measure-band), 100%);
}
.error-page .shop__intro p:last-of-type {
    margin-bottom: 0;
}
.saq-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-4);
}
.saq-list__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--line);
}
.saq-list__item:last-child {
    border-bottom: 0;
}
.surface-panel > .saq-list {
    gap: 0;
}
.surface-panel > .saq-list > .saq-list__item {
    padding-block: 1rem;
}
.surface-panel > .saq-list > .saq-list__item:first-child {
    padding-top: 0.15rem;
}
.surface-panel > .saq-list > .saq-list__item:last-child {
    padding-bottom: 0.15rem;
    border-bottom: 0;
}
.saq-list__item h2 {
    margin: 0 0 0.35rem;
    font-size: 1.25rem;
}
.saq-list__meta {
    font-size: var(--fs-sm);
    color: var(--dx-muted);
}
.saq-progress {
    max-width: min(var(--measure-listing), 100%);
    margin: 0 0 1rem;
}
.saq-progress__status {
    font-size: var(--fs-sm);
    color: var(--muted);
    margin-bottom: 0.4rem;
}
.saq-progress__track {
    height: 0.35rem;
    border-radius: 0;
    background: color-mix(in srgb, var(--text) 8%, var(--canvas-soft));
    overflow: hidden;
}
.saq-progress__bar {
    height: 100%;
    background: var(--accent);
    border-radius: 0;
    transition: width 0.25s ease;
}
.saq-form {
    max-width: min(var(--measure-listing), 100%);
}
.saq-form__panel {
    padding: 0.35rem 0.85rem 0.55rem;
}
.saq-form__panel > .saq-question:first-child,
.saq-form__panel > .saq-consent:first-child {
    padding-top: 0.55rem;
}
.saq-form--readonly .saq-form__panel {
    padding: 0.15rem 0.95rem 0.25rem;
}
.saq-answers {
    margin: 0;
    counter-reset: saq-answer;
}
.saq-answers__row {
    margin: 0;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--line);
    counter-increment: saq-answer;
}
.saq-answers__row:last-child {
    border-bottom: 0;
}
.saq-answers__prompt {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    margin: 0 0 0.25rem;
    font-size: var(--fs-sm);
    font-weight: 600;
    line-height: 1.35;
    color: var(--muted);
}
.saq-answers__num {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--muted-soft, var(--muted));
}
.saq-answers__num::before {
    content: counter(saq-answer) ".";
}
.saq-answers__label {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--muted);
}
.saq-answers__value {
    margin: 0;
    padding-left: 1.2rem;
    font-size: var(--fs-md);
    font-weight: 600;
    line-height: 1.4;
    color: var(--text);
    overflow-wrap: anywhere;
}
.saq-intro__desc a {
    font-weight: 600;
    color: inherit;
    text-underline-offset: 0.15em;
}
.saq-question[hidden] {
    display: none;
}
.saq-question,
.saq-consent {
    margin: 0;
    padding: 0.95rem 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    min-width: 0;
}
.saq-question:last-of-type,
.saq-consent {
    border-bottom: 0;
}
.saq-consent {
    margin-top: 0.15rem;
    padding-top: 1.05rem;
    border-top: 1px solid var(--line);
}
.saq-question__legend {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0.4rem 0.5rem;
    float: none;
    width: 100%;
    padding: 0;
    margin: 0 0 0.55rem;
    font-weight: 700;
    line-height: 1.35;
}
.saq-question__num {
    flex: 0 0 auto;
    min-width: 1.35rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: var(--fs-sm);
    letter-spacing: 0.02em;
    color: var(--muted);
    background: none;
    height: auto;
    padding: 0;
    display: inline;
}
.saq-question__sep {
    flex: 0 0 auto;
    color: var(--muted);
    font-weight: 500;
}
.saq-question__prompt {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--text);
    font-size: var(--fs-md);
}
.saq-question__req {
    color: var(--pill-red-ink, var(--bad-ink, var(--accent)));
    font-weight: 700;
    margin-left: 0.15rem;
}
.saq-question__body {
    display: grid;
    gap: 0.55rem;
    min-width: 0;
}
@media (min-width: 700px) {
    .saq-question__body {
        padding-left: calc(1.35rem + 0.5rem + 0.7rem);
    }
    .saq-question__prompt {
        font-size: 1.05rem;
    }
}
.saq-question__help {
    margin: 0;
    font-size: var(--fs-sm);
    line-height: 1.4;
    color: var(--muted);
}
.saq-question__answer {
    margin: 0;
    font-size: var(--fs-md);
    line-height: 1.4;
    color: var(--text);
    font-weight: 600;
}
.saq-question__error {
    margin: 0;
    color: var(--pill-red-ink, var(--bad-ink, var(--accent-700)));
    font-size: var(--fs-sm);
}
.saq-options {
    display: grid;
    gap: 0.35rem;
}
.saq-options--inline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}
@media (min-width: 700px) {
    .saq-options--inline {
        grid-template-columns: repeat(2, minmax(0, 8.5rem));
    }
}
.saq-option {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-height: var(--touch);
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-xs, 0.35rem);
    cursor: pointer;
    background: var(--surface);
    color: var(--text);
    font-size: var(--fs-sm);
    line-height: 1.35;
}
.saq-option input {
    margin-top: 0.15rem;
    flex: 0 0 auto;
}
.saq-option span {
    flex: 1 1 auto;
    min-width: 0;
}
.saq-option:has(input:checked) {
    border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
    background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}
.saq-option:has(input:focus-visible) {
    outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent);
    outline-offset: 1px;
}
.saq-sticky {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-top: 1.15rem;
}
@media (max-width: 899.98px) {
    .portal-saq:not(.portal-saq--readonly) {
        padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
    }
    .saq-progress {
        position: sticky;
        top: var(--chrome-sticky-offset, 3.5rem);
        z-index: 5;
        margin: 0 0 0.85rem;
        padding: 0.55rem 0;
        background: color-mix(in srgb, var(--canvas-soft) 92%, transparent);
        backdrop-filter: blur(6px);
    }
    .saq-sticky.dx-sticky-bar {
        display: flex;
        flex-wrap: nowrap;
        margin: 0;
    }
    .saq-sticky__back {
        flex: 0 0 auto;
        margin-top: 0;
        width: auto;
    }
}
.saq-input {
    width: 100%;
    max-width: 100%;
    min-height: var(--control-height);
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--input-border);
    border-radius: var(--radius-xs, 0.35rem);
    background: var(--input-bg);
    font: inherit;
    box-sizing: border-box;
}
.saq-input[type="number"] {
    max-width: 10rem;
}
.saq-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: 1rem;
}
.saq-intro__desc {
    margin: 0.35rem 0 0;
    color: var(--muted);
    font-size: var(--fs-sm);
}
@media (max-width: 699.98px) {
    .saq-intro__desc {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
    }
}
.results__analysis {
    margin-top: 2rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--line);
    width: 100%;
    scroll-margin-top: var(--chrome-sticky-offset, 5.5rem);
}
.results__analysis--lead {
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
    padding: 1.4rem 1.4rem 1.3rem 1.5rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    box-shadow: var(--shadow-card);
    position: relative;
    overflow: hidden;
}
.results__analysis--lead::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--accent), var(--pill-amber, #f97316));
}
.results__analysis-footnote {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 1rem 0 0;
    padding-top: 0.75rem;
    border-top: 1px dashed var(--line);
    font-size: var(--fs-xs);
    line-height: 1.45;
    color: var(--muted);
    max-width: none;
}
.results__analysis-footnote::before {
    content: "i";
    display: inline-grid;
    place-items: center;
    width: 1rem;
    height: 1rem;
    margin-top: 0.1rem;
    border-radius: 50%;
    border: 1px solid var(--muted);
    font-size: 0.62rem;
    font-weight: 700;
    font-style: normal;
    flex: 0 0 auto;
}
.results__analysis-title {
    margin: 0 0 0.85rem;
    font-family: var(--font-display);
    font-size: 1.9rem;
    letter-spacing: 0.04em;
    font-weight: 400;
}
.results__analysis-fold {
    margin: 0;
}
.results__analysis-fold > summary.results__analysis-title {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0;
}
.results__analysis-fold > summary.results__analysis-title::-webkit-details-marker {
    display: none;
}
.results__analysis-fold > summary.results__analysis-title::after {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    color: var(--muted);
    transform: rotate(45deg);
    transition: transform 0.15s ease;
    flex-shrink: 0;
}
.results__analysis-fold[open] > summary.results__analysis-title {
    margin-bottom: 0.85rem;
}
.results__analysis--lead:has(> .results__analysis-fold:not([open])) {
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
}
.results__analysis--lead:has(> .results__analysis-fold:not([open])) .results__analysis-title {
    font-size: 1.6rem;
}
.results__analysis-fold[open] > summary.results__analysis-title::after {
    transform: rotate(225deg);
}
.results__analysis-fold-body {
    min-width: 0;
}
.results__analysis-subtitle {
    margin: 1.5rem 0 0.65rem;
    font-size: var(--fs-lg);
    font-weight: 700;
    letter-spacing: 0.02em;
}
.results__analysis-body {
    margin: 0;
    max-width: none;
    line-height: 1.65;
    color: var(--text);
}
.results__analysis-list {
    margin: 0 0 2.25rem;
    padding-left: 1.35rem;
    max-width: none;
    line-height: 1.65;
    color: var(--text);
    list-style-type: decimal;
    list-style-position: outside;
}
.results__analysis-list li {
    margin: 0 0 0.55rem;
    padding-left: 0.25rem;
}
.results__analysis-list li:last-child {
    margin-bottom: 0;
}
.results__narrative + .results__analysis,
.results__narrative + .results__summary,
.results__analysis + .results__summary,
.results__status-strip + .results__analysis,
.results__status-strip + .results__narrative,
.results__mast + .results__analysis,
.results__mast + .results__narrative,
.results__cats + .results__layout {
    margin-top: 0.75rem;
}
.account-results--focus {
    margin: 0 0 1.75rem;
    padding: 1.25rem 1.15rem 1.35rem;
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--accent) 4%, var(--surface));
}
.account-results--focus .account-panel__title {
    margin-top: 0;
    margin-bottom: 0.35rem;
}
.account-results--focus .shop__lede {
    margin-bottom: 0.85rem;
}
.account-results--focus .shop__cta {
    margin-bottom: 0;
}
.account-results--focus .shop__cta .btn--primary {
    min-width: 9rem;
}
@media (max-width: 699.98px) {
    .account-results--focus .shop__cta--row {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
    }
    .account-results--focus .shop__cta--row > .btn {
        width: 100%;
        min-width: 0;
    }
}
.results__reorder {
    display: inline;
    margin: 0;
}
.compare-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1rem 0 1.5rem;
    border: 1px solid var(--line);
    border-radius: 0;
    background: color-mix(in srgb, var(--surface) 72%, var(--canvas-soft));
    overscroll-behavior-x: contain;
}
.compare-stack {
    display: none;
    margin: 1rem 0 0.5rem;
}
.compare-stack__banner {
    margin: 0 0 0.75rem;
    padding: 0.85rem 1rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card, 0.5rem);
}
.compare-stack__banner strong {
    display: block;
    font-size: 1.05rem;
    line-height: 1.25;
}
.compare-stack__banner span {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.85rem;
    color: var(--muted);
}
.compare-stack__cards {
    display: grid;
    gap: 0.65rem;
}
.compare-stack__card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-card, 0.5rem);
    padding: 0.9rem 0.95rem 1rem;
}
.compare-stack__card-top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
}
.compare-stack__title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.25;
    flex: 1 1 auto;
}
.compare-stack__title a {
    color: var(--accent);
    text-decoration: none;
}
.compare-stack__price {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    white-space: nowrap;
}
.compare-stack__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.55rem 0 0;
}
.compare-stack__chip {
    font-size: var(--fs-2xs);
    font-weight: 700;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: var(--canvas);
    color: var(--muted);
}
.compare-stack__chip--plus {
    background: color-mix(in srgb, var(--accent) 10%, var(--surface));
    color: var(--accent);
}
.compare-stack__chip--miss {
    background: color-mix(in srgb, var(--muted) 12%, var(--surface));
    color: var(--muted);
}
.compare-stack__only-label {
    margin: 0.55rem 0 0.25rem;
    font-size: 0.8rem;
    font-weight: 700;
}
.compare-stack__only {
    margin: 0.35rem 0 0;
    padding: 0;
    list-style: none;
    font-size: 0.85rem;
}
.compare-stack__only li {
    display: flex;
    gap: 0.3rem;
    align-items: baseline;
    margin: 0.12rem 0;
    line-height: 1.35;
}
.compare-stack__sign {
    flex: 0 0 auto;
    font-weight: 700;
}
.compare-stack__only a {
    color: var(--accent);
    text-decoration: none;
}
.compare-stack__more,
.compare-stack__note {
    margin: 0.3rem 0 0;
    font-size: 0.8rem;
    color: var(--muted);
}
.compare-stack__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.85rem;
}
.compare-stack__actions form {
    margin: 0;
}
.compare-stack__actions .btn {
    min-height: 2.5rem;
}
.compare-stack__add {
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    padding: 1.1rem 0.75rem;
    border: 1px dashed color-mix(in srgb, var(--accent) 45%, var(--line));
    border-radius: var(--radius-card, 0.5rem);
    color: var(--accent);
    text-decoration: none;
    font-weight: 700;
    background: color-mix(in srgb, var(--canvas-soft) 70%, var(--surface));
}
.compare-stack__add-mark {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    border: 1px dashed color-mix(in srgb, var(--accent) 45%, var(--line));
    font-size: var(--fs-price, 1.35rem);
    line-height: 1;
}
@media (max-width: 699.98px) {
    .compare-stack {
        display: block;
    }
    .compare-table-wrap {
        display: none;
    }
}
@media (min-width: 700px) {
    .compare-stack {
        display: none;
    }
}
.compare-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    font-size: var(--fs-md);
}
.compare-table th,
.compare-table td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
    text-align: left;
}
.compare-table thead th:not(:first-child),
.compare-table tbody td {
    min-width: 12rem;
}
.compare-table thead th {
    background: var(--canvas-soft);
}
.compare-table thead th:first-child,
.compare-table tbody th[scope="row"] {
    position: sticky;
    left: 0;
    z-index: 2;
    width: 5.75rem;
    min-width: 5.75rem;
    max-width: 5.75rem;
    padding-inline: 0.65rem;
    box-shadow: 1px 0 0 var(--line);
}
.compare-table thead th:first-child {
    z-index: 3;
    background: var(--canvas-soft);
}
.compare-table tbody th[scope="row"] {
    font-weight: 700;
    color: var(--muted);
    background: color-mix(in srgb, var(--surface) 88%, var(--canvas-soft));
    font-size: var(--fs-sm, 0.88rem);
    line-height: 1.25;
    hyphens: auto;
}
.compare-table__slot {
    min-width: 10rem;
    color: var(--muted);
    background: color-mix(in srgb, var(--canvas-soft) 55%, transparent);
}
.compare-table thead .compare-table__slot {
    background: color-mix(in srgb, var(--canvas-soft) 80%, var(--surface));
}
.compare-table__add {
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    padding: 0.85rem 0.5rem;
    color: var(--accent);
    text-decoration: none;
    font-weight: 700;
}
.compare-table__add-mark {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    border: 1px dashed color-mix(in srgb, var(--accent) 45%, var(--line));
    font-size: var(--fs-price);
    line-height: 1;
    color: var(--accent);
}
@media (hover: hover) and (pointer: fine) {
    .compare-table__add:hover {
        color: var(--accent-bright);
    }
    .compare-table__add:hover .compare-table__add-mark {
        border-color: var(--accent);
        background: color-mix(in srgb, var(--accent) 8%, var(--surface));
    }
}
.compare-table__list ul {
    margin: 0;
    padding-left: 1.1rem;
}
.compare-table__summary {
    margin: 0 0 0.55rem;
    padding: 0;
    list-style: none;
    font-size: var(--fs-sm, 0.88rem);
    line-height: 1.4;
}
.compare-table__summary li {
    margin: 0.2rem 0;
}
.compare-table__summary-same {
    color: var(--muted);
    font-weight: 700;
}
.compare-table__summary-partial {
    color: var(--text);
}
.compare-table__summary-missing {
    color: var(--muted);
}
.compare-table__only-label {
    margin: 0.35rem 0 0.25rem;
    font-size: var(--fs-sm, 0.88rem);
    font-weight: 700;
    color: var(--text);
}
.compare-table__no-diff {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-sm, 0.88rem);
}
.compare-table__only {
    margin: 0 0 0.35rem;
    padding-left: 0;
    list-style: none;
}
.compare-table__only li {
    display: flex;
    gap: 0.35rem;
    align-items: baseline;
    margin: 0.15rem 0;
    line-height: 1.35;
    font-size: var(--fs-sm, 0.88rem);
}
.compare-table__sign {
    flex: 0 0 auto;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--text);
}
.compare-table__more {
    margin: 0.35rem 0 0;
    color: var(--muted);
    font-size: var(--fs-sm, 0.88rem);
}
.compare-table__list ul.compare-table__only + .compare-table__more,
.compare-table__list .compare-table__more {
    margin-top: 0.25rem;
}
.compare-table__list ul .compare-table__more {
    list-style: none;
    margin-left: -1.1rem;
    padding-left: 0;
}
.compare-table thead th:not(:first-child) {
    font-size: var(--fs-sm, 0.88rem);
    line-height: 1.3;
}
.compare-table__remove {
    margin: 0.45rem 0 0;
}
.compare-table__remove .btn {
    font-size: 0.85rem;
    min-height: 2.25rem;
    padding: 0.25rem 0.7rem;
}
.compare-table__action .btn {
    width: 100%;
    max-width: 11rem;
    font-size: 0.9rem;
    padding-inline: 0.75rem;
}
.compare-table__footer-cta {
    justify-content: flex-end;
    margin-top: 0.25rem;
}
.compare-table__footer-cta form {
    margin: 0;
    display: inline-flex;
}
@media (max-width: 699.98px) {
    .compare-table__footer-cta {
        gap: 0.5rem;
    }
    .compare-table__footer-cta .btn {
        min-height: 2.5rem;
        font-size: 0.88rem;
        padding-inline: 0.85rem;
    }
}
.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--z-cookie, 80);
    background: var(--surface);
    border-top: 1px solid var(--line);
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
body:has(.cookie-banner:not([hidden])) {
    --chrome-inset-bottom: var(--cookie-banner-height, 10rem);
    padding-bottom: calc(var(--chrome-inset-bottom) + env(safe-area-inset-bottom, 0px));
}
.cookie-banner__inner {
    width: min(100%, var(--max));
    margin: 0 auto;
    padding: 1rem clamp(1rem, 4vw, 2.5rem);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem 1.25rem;
    box-sizing: border-box;
}
.cookie-banner__message {
    margin: 0;
    flex: 1 1 16rem;
    color: var(--muted);
    font-size: var(--fs-md);
    line-height: 1.45;
}
.cookie-banner__message a {
    color: var(--accent);
    font-weight: 600;
}
.cookie-banner__actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 12rem;
    min-width: min(100%, 12rem);
}
.cookie-banner__actions .btn {
    flex: 1 1 0;
    min-width: 0;
    height: var(--control-height);
    min-height: var(--control-height);
    padding-block: 0;
    box-sizing: border-box;
}
.cookie-banner__actions .btn--primary {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-900) 28%, transparent);
}
@keyframes fade-in {
    from { opacity: 1; transform: translate3d(0, 0.4rem, 0); }
    to { opacity: 1; transform: none; }
}
@keyframes hero-rise {
    from { transform: translate3d(0, 0.45rem, 0); }
    to { transform: none; }
}
@keyframes home-featured-rise {
    from {
        transform: translate3d(0, 0.55rem, 0);
    }
    to {
        transform: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
.find-quiz {
    margin-top: 1.25rem;
    display: grid;
    gap: 0.85rem;
    max-width: min(var(--measure-listing), 100%);
    padding: 1.1rem 1.15rem 1.2rem;
    scroll-margin-top: calc(var(--chrome-sticky-offset, 5.5rem) + 0.75rem);
}
.find-quiz__progress-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin: 0;
}
.find-quiz__progress {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    scroll-margin-top: calc(var(--chrome-sticky-offset, 5.5rem) + 0.5rem);
}
.find-quiz__progress:focus {
    outline: none;
}
.find-quiz__progress:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
.find-quiz__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    margin-top: 1rem;
    padding-top: 0.95rem;
    border-top: 1px solid var(--line);
}
.find-quiz__nav .btn {
    min-height: var(--control-height);
}
.find-quiz__nav .btn--ghost {
    flex: 1 1 0;
}
.find-quiz__nav .btn--primary {
    flex: 1 1 100%;
}
@media (min-width: 600px) {
    .find-quiz__nav .btn--ghost {
        flex: 0 0 auto;
    }
    .find-quiz__nav .btn--primary {
        flex: 0 0 auto;
        min-width: 12rem;
        margin-inline-start: auto;
    }
}
.find-quiz__nav .btn[hidden] {
    display: none !important;
}
.find-quiz__step {
    margin: 0;
    padding: 0;
    border: 0;
}
.find-quiz__step[hidden] {
    display: none !important;
}
.find-quiz__step legend {
    padding: 0;
    margin: 0 0 0.75rem;
    font-family: var(--font-body);
    font-size: 1.15rem;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 700;
    color: var(--text);
}
.find-quiz__options {
    display: grid;
    gap: 0;
}
.find-quiz__help {
    margin: -0.35rem 0 0.75rem;
    font-size: var(--fs-sm, 0.88rem);
    color: var(--muted);
    line-height: 1.45;
}
.find-quiz__option > span {
    display: grid;
    gap: 0.05rem;
}
.find-quiz__option-help {
    font-size: var(--fs-sm, 0.88rem);
    font-weight: 400;
    color: var(--muted);
    line-height: 1.3;
}
.find-quiz__option {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.15rem;
    border-bottom: 1px solid var(--line);
    cursor: pointer;
    color: var(--text);
    font-size: var(--fs-md);
    line-height: 1.35;
    min-height: var(--touch, 44px);
}
.find-quiz__option:last-child {
    border-bottom: 0;
}
.find-quiz__option input {
    margin: 0;
    accent-color: var(--accent);
    flex: 0 0 auto;
}
.find-quiz__option:has(input:checked) span {
    color: var(--accent);
    font-weight: 700;
}
@media (max-width: 899.98px) {
    .shop--find {
        padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
    }
}
.find-quiz__results {
    margin-top: 1.75rem;
    padding-top: 1.35rem;
    border-top: 1px solid var(--line);
    scroll-margin-top: var(--chrome-sticky-offset, 5.5rem);
}
.shop--find > .find-quiz__results:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}
.find-quiz__results h2 {
    margin: 0 0 0.5rem;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 4vw, 2.35rem);
    letter-spacing: 0.04em;
    font-weight: 400;
}
.find-quiz__answer-summary {
    margin: 0 0 1rem;
    color: var(--muted);
    font-size: var(--fs-sm);
    font-weight: 600;
}
.find-quiz__actions {
    align-items: center;
}
.find-quiz__change {
    margin: 0;
    max-width: none;
    border-top: 0;
    padding-top: 0;
    flex: 0 0 auto;
}
.find-quiz__change summary {
    cursor: pointer;
    list-style: none;
}
.find-quiz__change summary:hover,
.find-quiz__change summary:focus-visible {
    color: inherit;
}
.find-quiz__change summary::-webkit-details-marker {
    display: none;
}
.find-quiz__change[open] {
    flex: 1 1 100%;
    margin-top: 0.35rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
}
.find-quiz__change[open] summary {
    margin-bottom: 1rem;
}
.results__narrative {
    margin: 0 0 2rem;
    padding-bottom: 1.75rem;
}
.results__narrative h2 {
    margin: 0 0 0.35rem;
    font-size: 1.2rem;
}
.results__narrative-body {
    margin: 1rem 0 0;
    padding: 0;
    white-space: pre-wrap;
    font-family: var(--font-body);
    font-size: var(--fs-md);
    line-height: 1.55;
    color: var(--text);
}
.shop.shop--encyclopaedia > .shop__intro {
    max-width: min(var(--measure-wide), 100%);
}
.shop.shop--encyclopaedia .shop__intro p {
    max-width: min(var(--measure-listing), 100%);
}
.encyc-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
    margin: 1.5rem 0 0;
    max-width: min(var(--measure-wide), 100%);
}
.encyc-toolbar__field {
    position: relative;
    flex: 1 1 16rem;
    max-width: min(var(--measure-listing), 100%);
    min-width: 0;
}
.encyc-toolbar__input {
    width: 100%;
    min-height: var(--touch);
    padding: 0.65rem 3rem 0.65rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    color: var(--text);
    font: inherit;
}
.encyc-toolbar__input:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
.encyc-toolbar__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}
.encyc-toolbar__clear {
    position: absolute;
    top: 50%;
    right: 0.3rem;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    appearance: none;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    padding: 0;
}
.encyc-toolbar__clear[hidden] {
    display: none;
}
.encyc-toolbar__clear:hover,
.encyc-toolbar__clear:focus-visible {
    color: var(--text);
    background: color-mix(in srgb, var(--text) 8%, transparent);
}
.encyc-toolbar__clear:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 1px;
}
.encyc-filter-empty {
    margin: 1.5rem 0 0;
    padding: 1rem 1.1rem;
    border: 1px dashed var(--line);
    border-radius: var(--radius-card);
    color: var(--muted);
    background: color-mix(in srgb, var(--surface) 70%, var(--canvas-soft));
}
.encyc-layout {
    margin-top: 1.25rem;
}
.encyc-chapters {
    min-width: 0;
}
.encyc-toc {
    margin: 0 0 1.15rem;
    max-width: min(var(--measure-wide), 100%);
    padding: 0 0 1.15rem;
    border-bottom: 1px solid var(--line);
}
.encyc-toc__label {
    margin: 0 0 0.65rem;
    font-size: var(--fs-xs, 0.8rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.encyc-toc__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-5);
    row-gap: 0;
    border-top: 1px solid var(--line);
}
.encyc-toc__list a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem 0.65rem;
    min-height: var(--touch);
    padding: 0.55rem 0;
    color: var(--text);
    text-decoration: none;
    font-size: var(--fs-md);
    font-weight: 500;
    line-height: 1.3;
    border-bottom: 1px solid var(--line);
}
.encyc-toc__name {
    min-width: 0;
    text-wrap: balance;
}
.encyc-toc__count {
    flex-shrink: 0;
    font-size: var(--fs-sm);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    color: var(--muted);
    letter-spacing: 0.02em;
}
.encyc-toc__list a:hover {
    color: var(--accent);
}
.encyc-toc__list a:hover .encyc-toc__count {
    color: color-mix(in srgb, var(--accent) 70%, var(--muted));
}
.encyc-toc__list a:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
@media (min-width: 700px) and (max-width: 899.98px) {
    .encyc-toc__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 1.5rem;
    }
    .encyc-toc__list a {
        padding: 0.5rem 0;
    }
}
@media (min-width: 900px) {
    .encyc-layout {
        display: grid;
        grid-template-columns: minmax(12.5rem, 15rem) minmax(0, 1fr);
        gap: 1.75rem 2.25rem;
        align-items: start;
        margin-top: 1.5rem;
    }
    .encyc-toc {
        position: sticky;
        top: calc(var(--chrome-sticky-offset, 5.5rem) + 0.5rem);
        margin: 0;
        max-width: none;
        padding: 0;
        border-bottom: 0;
    }
    .encyc-toc__list {
        grid-template-columns: 1fr;
        column-gap: 0;
    }
    .encyc-toc__list a {
        padding: 0.45rem 0;
        font-size: var(--fs-sm);
    }
    .encyc-chapters > .encyc-group:first-child {
        margin-top: 0;
    }
}
.encyc-group {
    margin: 1.35rem 0 0;
    padding: 1.65rem 1.15rem 1.45rem;
    background: var(--canvas-soft);
    scroll-margin-top: calc(var(--chrome-sticky-offset, 5.5rem) + 0.5rem);
}
.encyc-chapters:not(.encyc-chapters--js) > .encyc-group:nth-child(even),
.encyc-chapters--js > .encyc-group--alt {
    background: color-mix(in srgb, var(--surface) 70%, var(--canvas-soft));
}
.encyc-group__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem 1.25rem;
    margin: 0 0 1.1rem;
}
.encyc-group h2 {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    letter-spacing: 0.02em;
    font-weight: 400;
    line-height: 1.15;
    scroll-margin-top: calc(var(--chrome-sticky-offset, 5.5rem) + 0.5rem);
}
.encyc-group__meta {
    margin: 0;
    color: var(--muted);
    font-size: var(--fs-sm);
    font-weight: 500;
    letter-spacing: 0.02em;
    white-space: nowrap;
}
.encyc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: 1fr;
    align-items: stretch;
}
.encyc-list > li {
    display: flex;
    min-width: 0;
    min-height: 100%;
}
.encyc-list > li[hidden] {
    display: none;
}
@media (min-width: 700px) {
    .encyc-group {
        padding: 1.85rem 1.4rem 1.6rem;
    }
    .encyc-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem 1rem;
    }
}
@media (min-width: 1100px) {
    .encyc-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.encyc-card {
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 0.2rem;
    align-content: start;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    padding: 0.95rem 1.05rem 0.95rem 1.15rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    color: inherit;
    text-decoration: none;
    min-height: var(--touch);
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--text) 14%, transparent);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
    .encyc-card:hover {
        border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
        background: var(--surface);
        box-shadow: inset 3px 0 0 var(--accent);
        transform: translateY(-1px);
    }
    .encyc-card:hover strong {
        color: var(--accent);
    }
}
@media (prefers-reduced-motion: reduce) {
    .encyc-card {
        transition: none;
    }
    .encyc-card:hover {
        transform: none;
    }
}
.encyc-card strong {
    font-size: 1.02rem;
    color: var(--text);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
.encyc-card__unit {
    color: var(--muted);
    font-size: var(--fs-sm);
}
.encyc-card__summary {
    color: var(--muted);
    font-size: var(--fs-md);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
@media (max-width: 699.98px) {
    .encyc-group {
        padding: 1.1rem 0.85rem 1.05rem;
        margin-top: 0.75rem;
    }
    .encyc-group__head {
        margin-bottom: 0.7rem;
        gap: 0.25rem 0.75rem;
    }
    .encyc-group h2 {
        font-size: clamp(1.25rem, 5.2vw, 1.4rem);
        letter-spacing: 0.02em;
        line-height: 1.15;
    }
    .encyc-list {
        gap: 0.5rem;
    }
    .encyc-card {
        padding: 0.75rem 0.85rem;
        row-gap: 0.15rem;
    }
    .encyc-card strong {
        font-size: 0.98rem;
    }
    .encyc-card__summary {
        font-size: var(--fs-sm);
        line-height: 1.35;
    }
}
.encyc-detail__intro .shop__eyebrow a {
    color: inherit;
    text-decoration: none;
}
.encyc-detail__intro .shop__eyebrow a:hover {
    color: var(--accent);
}
.encyc-detail__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.85rem 0 0;
}
.encyc-detail__chip {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-xs, 0.35rem);
    background: color-mix(in srgb, var(--surface) 70%, var(--canvas-soft));
    color: var(--muted);
    font-size: var(--fs-sm);
}
.encyc-detail__chip strong {
    color: var(--text);
    font-weight: 700;
}
.encyc-detail__deck {
    margin: 0.95rem 0 0;
    max-width: min(var(--measure-listing), 100%);
    font-size: var(--fs-lg);
    line-height: 1.55;
}
.encyc-detail {
    margin-top: 1.75rem;
    display: grid;
    gap: 1.75rem;
}
@media (min-width: 900px) {
    .encyc-detail {
        grid-template-columns: minmax(0, 1fr) minmax(15rem, 18rem);
        gap: 2.25rem 2.5rem;
        align-items: start;
    }
    .encyc-detail__aside {
        position: sticky;
        top: calc(var(--chrome-sticky-offset, 5.5rem) + 0.75rem);
    }
}
.encyc-detail__main {
    min-width: 0;
}
.encyc-detail__aside {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}
.encyc-detail__rail {
    padding: 1.05rem 1.1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: color-mix(in srgb, var(--surface) 78%, var(--canvas-soft));
}
.encyc-detail__rail-label {
    margin: 0 0 0.55rem;
    font-size: var(--fs-xs, 0.8rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.encyc-detail__rail-label--follow {
    margin-top: 0.95rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--line);
}
.encyc-detail__rail--combined .encyc-detail__rail-cat {
    margin-bottom: 0.15rem;
}
.encyc-detail__rail-toc {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.1rem;
}
.encyc-detail__rail-toc a {
    display: block;
    padding: 0.4rem 0;
    color: var(--text);
    text-decoration: none;
    font-size: var(--fs-md);
    font-weight: 500;
    line-height: 1.35;
}
.encyc-detail__rail-toc a:hover {
    color: var(--accent);
}
.encyc-detail__rail-toc a:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
.encyc-detail__rail-cat {
    display: inline-flex;
    align-items: center;
    min-height: var(--touch);
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
}
.encyc-detail__rail-cat:hover {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}
.encyc-detail__section {
    margin: 0 0 1.35rem;
    padding: 1.35rem 1.2rem 1.25rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--text) 18%, transparent);
    max-width: none;
}
.encyc-detail__section h2 {
    margin: 0 0 0.75rem;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.4vw, 1.7rem);
    font-weight: 400;
    letter-spacing: 0.03em;
    scroll-margin-top: calc(var(--chrome-sticky-offset, 5.5rem) + 0.75rem);
}
.encyc-detail__section--athlete {
    background: color-mix(in srgb, var(--canvas-soft) 55%, var(--surface));
    box-shadow: inset 3px 0 0 var(--accent);
}
.shop--encyclopaedia .encyc-detail__prose.content-body,
.encyc-detail__prose {
    margin-top: 0;
    max-width: none;
    line-height: 1.65;
    color: var(--text);
}
.encyc-detail__prose p + p,
.encyc-detail__prose {
    margin: 0;
}
.encyc-detail__lede {
    margin: 0 0 1rem;
    color: var(--muted);
    font-size: var(--fs-md);
}
.encyc-detail__empty {
    display: grid;
    gap: 0.85rem;
    justify-items: start;
    padding: 0.25rem 0 0.15rem;
    color: var(--muted);
}
.encyc-detail__empty p {
    margin: 0;
}
.encyc-detail__more {
    margin: 1rem 0 0;
    font-size: var(--fs-md);
}
.encyc-detail__more a {
    color: var(--accent);
    font-weight: 600;
    text-decoration: none;
}
.encyc-detail__more a:hover {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}
.product-grid--encyc {
    margin-top: 0.5rem;
    max-width: none;
    width: 100%;
}
.product-grid--encyc {
    gap: 1rem 1.1rem;
}
@media (min-width: 700px) {
    .product-grid--encyc {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1100px) {
    .product-grid--encyc {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (min-width: 1400px) {
    .product-grid--encyc {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.product-grid--encyc .product-tile__eyebrow {
    min-height: 1.1em;
}
.product-grid--encyc .product-tile__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    min-height: calc(1.25em * 2);
}
.product-grid--encyc .product-tile__blurb {
    -webkit-line-clamp: 2;
    line-clamp: 2;
    min-height: calc(1.45em * 2);
}
@media (max-width: 899.98px) {
    .encyc-detail {
        display: flex;
        flex-direction: column;
    }
    .encyc-detail__aside {
        order: -1;
    }
    .encyc-detail__rail-toc {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem 0.85rem;
    }
    .encyc-detail__rail-toc a {
        padding: 0.25rem 0;
    }
}
.obs__name a {
    color: inherit;
    text-decoration: none;
    text-underline-offset: 0.15em;
}
@media (hover: hover) and (pointer: fine) {
    .obs__name a:hover {
        text-decoration: underline;
    }
}
.obs__name a:focus-visible {
    text-decoration: underline;
}
.pdp__markers a {
    color: var(--text);
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .pdp__markers a:hover {
        color: var(--accent);
    }
}
.pdp__markers a:focus-visible {
    color: var(--accent);
}
.compare-table__list a {
    color: var(--accent);
    text-decoration: none;
    text-underline-offset: 0.15em;
}
@media (hover: hover) and (pointer: fine) {
    .compare-table__list a:hover {
        text-decoration: underline;
    }
}
@media print {
    .site-chrome,
    .site-nav-wrap,
    .site-footer,
    .cookie-banner,
    .sticky-buy,
    .dx-sticky-bar,
    .basket-sticky,
    .checkout-sticky-pay,
    .skip-link,
    .flash,
    .results__download,
    .results__mast-actions,
    .results__jump-icon,
    .saq-sticky,
    .btn.results__download {
        display: none !important;
    }
    body,
    .home-reveal,
    .home-reveal-item,
    .trust-strip__panel,
    .trust-strip__list li,
    .hero__actions,
    .product-grid--home-featured > li {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
    .obs,
    .obs__range-bands,
    .obs__range-note,
    .results__status-strip,
    .results__analysis-fold {
        break-inside: avoid;
    }
    .obs__name-tools {
        display: none !important;
    }
    .obs__range-bands,
    .obs--open .obs__detail {
        display: block !important;
    }
    .obs--high,
    .obs--low,
    .obs--normal,
    .status-pill,
    .obs__flag {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    body {
        background: var(--surface);
        padding: 0;
    }
}
.totp-setup {
    border: 0;
    padding: 0;
    max-width: min(26rem, calc(100vw - 2rem));
    width: 100%;
    border-radius: var(--radius-card, 0.5rem);
    background: transparent;
    overflow: hidden;
}
.totp-setup::backdrop {
    background: rgba(20, 16, 14, 0.45);
}
.totp-setup__panel {
    display: grid;
    gap: 1rem;
    padding: 1.15rem 1.2rem 1.35rem;
    width: 100%;
    max-width: 100%;
    max-height: min(90vh, 40rem);
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    background: var(--canvas);
    border: 1px solid var(--line);
    border-radius: inherit;
    box-shadow: var(--shadow-modal, 0 12px 40px rgba(20, 16, 14, 0.18));
}
.totp-setup__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    min-width: 0;
}
.totp-setup__head h3 {
    margin: 0;
    font-size: var(--fs-xl);
}
.totp-setup__close {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 1.5rem;
    line-height: 1;
    padding: 0.15rem 0.35rem;
    cursor: pointer;
    border-radius: var(--radius-sm, 0.5rem);
}
.totp-setup__close:hover {
    color: var(--text);
}
.totp-setup__close:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
.totp-setup__steps {
    margin: 0;
    padding-left: 1.25rem;
    display: grid;
    gap: 0.35rem;
    font-size: var(--fs-md);
    line-height: 1.45;
    color: var(--text);
}
.totp-setup__qr {
    display: flex;
    justify-content: center;
    padding: 0.75rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm, 0.5rem);
}
.totp-setup__qr canvas {
    display: block;
    width: min(220px, 70vw);
    height: auto;
    max-width: 100%;
}
.totp-setup__manual {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm, 0.5rem);
    padding: 0;
    background: var(--canvas-soft, var(--canvas));
}
.totp-setup__manual > summary {
    cursor: pointer;
    padding: 0.7rem 0.85rem;
    font-weight: 600;
    list-style: none;
}
.totp-setup__manual > summary::-webkit-details-marker {
    display: none;
}
.totp-setup__manual > summary::before {
    content: "+ ";
    color: var(--muted);
    font-weight: 700;
}
.totp-setup__manual[open] > summary::before {
    content: "− ";
}
.totp-setup__manual > summary:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: -2px;
}
.totp-setup__manual-body {
    padding: 0 0.85rem 0.9rem;
    display: grid;
    gap: 0.65rem;
}
.totp-setup__secret-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: stretch;
}
.totp-setup__secret {
    flex: 1 1 12rem;
    min-width: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: var(--fs-sm);
    letter-spacing: 0.02em;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm, 0.5rem);
    background: var(--canvas);
    color: var(--text);
}
.totp-setup__copy-status {
    margin: 0;
    min-height: 1.25em;
    font-size: var(--fs-sm);
    color: var(--muted);
}
.totp-setup__footer {
    display: grid;
    gap: 0.65rem;
    margin: 0;
    padding-top: 0.85rem;
    border-top: 1px solid var(--line);
}
.totp-setup__confirm,
.totp-setup__cancel {
    margin: 0;
    display: grid;
    gap: 0.65rem;
}
.totp-setup__btn {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
}
.totp-setup__reopen {
    margin: 0.75rem 0 0;
}
.portal-history,
.rh-overlay,
.rh-tip {
    --rh-line: var(--pill-green, #10b981);
    --rh-good: var(--pill-green, #10b981);
    --rh-out: var(--pill-red, #ef4444);
    --rh-band: rgba(16, 185, 129, 0.12);
    --rh-band-edge: rgba(16, 185, 129, 0.38);
    --rh-band-out: rgba(239, 68, 68, 0.06);
    --rh-grid: #e1e0d9;
    --rh-axis: #c3c2b7;
    --rh-muted: #898781;
}
.rh-panel { max-width: none; }
.rh-head {
    align-items: flex-start;
}
.rh-head__main {
    min-width: 0;
    flex: 1 1 20rem;
}
.rh-eye {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: var(--touch);
    padding: 0 0.9rem 0 0.7rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-pill, 999px);
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: var(--fs-sm);
    font-weight: 600;
    cursor: pointer;
    box-shadow: var(--shadow-card);
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.rh-eye svg {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
}
.rh-eye__shut { display: none; }
.rh-eye[aria-pressed="true"] .rh-eye__open { display: none; }
.rh-eye[aria-pressed="true"] .rh-eye__shut { display: block; }
.rh-eye[aria-pressed="true"] {
    border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
    background: color-mix(in srgb, var(--accent) 6%, var(--surface));
    color: var(--accent);
}
.rh-eye__count {
    font-size: var(--fs-2xs);
    font-weight: 600;
    color: var(--muted);
}
.rh-eye:focus-visible {
    outline: var(--focus-outline, 2px solid var(--accent));
    outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
    .rh-eye:hover {
        border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
    }
}
@media (max-width: 47.98rem) {
    .rh-eye {
        width: 100%;
        justify-content: center;
    }
}
.rh-hide-singles .rh-row.rh-card--single { display: none; }
.rh-block[hidden] { display: none; }
.rh-group {
    margin: 0.9rem 0 0.15rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rh-muted);
}
.rh-group:first-child,
.rh-block:first-child > .rh-group { margin-top: 0; }
.rh-list { display: grid; grid-template-columns: 1fr; }
@media (min-width: 640px) {
    .rh-list { grid-template-columns: 1fr 1fr; column-gap: 1.6rem; }
}
@media (min-width: 1000px) {
    .rh-list { grid-template-columns: 1fr 1fr 1fr; }
}
.rh-row {
    display: grid;
    grid-template-columns: 10px 1fr 74px auto;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.25rem;
    border: 0;
    background: none;
    width: 100%;
    text-align: left;
    border-top: 1px solid var(--line);
    cursor: pointer;
    font: inherit;
    color: inherit;
    border-radius: 6px;
}
.rh-row:hover,
.rh-row:focus-visible {
    background: var(--canvas-soft);
    outline: none;
    box-shadow: inset 0 0 0 1px var(--text);
}
.rh-dot { width: 9px; height: 9px; border-radius: 50%; }
.rh-dot--normal { background: var(--rh-good); }
.rh-dot--out { background: var(--rh-out); }
.rh-dot--unknown { background: var(--surface); border: 2px solid var(--rh-muted); width: 8px; height: 8px; }
.rh-name {
    font-size: 0.88rem;
    font-weight: 600;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rh-list:has(.rh-card) {
    gap: 0.6rem;
}
@media (min-width: 640px) {
    .rh-list:has(.rh-card) { column-gap: 0.6rem; }
}
.rh-row.rh-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    align-items: start;
    gap: 0.3rem;
    padding: 0.85rem 0.95rem 0.8rem;
    border: 1px solid var(--line);
    border-top: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
    box-shadow: var(--shadow-card);
    overflow: hidden;
}
.rh-row.rh-card:hover,
.rh-row.rh-card:focus-visible {
    background: var(--surface);
    box-shadow: var(--shadow-card-lift);
    outline: none;
}
.rh-row.rh-card:focus-visible {
    box-shadow: var(--shadow-card-lift), 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent);
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .rh-row.rh-card { transition: transform var(--t-quick, 0.15s) ease, box-shadow var(--t-quick, 0.15s) ease; }
    .rh-row.rh-card:hover { transform: translateY(-1px); }
}
.rh-card__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.6rem;
}
.rh-card__name {
    min-width: 0;
    flex: 1 1 auto;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    overflow: visible;
}
.rh-card__name small {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rh-muted);
    white-space: normal;
}
.rh-card__value {
    flex: 0 0 auto;
    white-space: nowrap;
    font-family: var(--font-display);
    font-size: 1.7rem;
    line-height: 1;
    letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;
    text-align: right;
}
.rh-card__value small {
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rh-muted);
    margin-left: 0.2rem;
    letter-spacing: 0;
}
.rh-card__spark {
    display: block;
    width: 100%;
    height: 36px;
    margin-top: 0.25rem;
}
.rh-card .rh-single {
    display: block;
    text-align: left;
    margin-top: 0.25rem;
}
.rh-card__foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.15rem;
    font-size: 0.72rem;
    color: var(--rh-muted);
}
.rh-card__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.1rem 0.45rem;
    border-radius: var(--radius-pill, 999px);
    border: 1px solid var(--pill-slate-border);
    background: var(--pill-slate-bg);
    color: var(--pill-slate-ink);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.rh-card__pill::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--pill-slate);
}
.rh-card--normal .rh-card__pill { border-color: var(--pill-green-border); background: var(--pill-green-bg); color: var(--pill-green-ink); }
.rh-card--normal .rh-card__pill::before { background: var(--pill-green); }
.rh-card--out .rh-card__pill { border-color: var(--pill-red-border); background: var(--pill-red-bg); color: var(--pill-red-ink); }
.rh-card--out .rh-card__pill::before { background: var(--pill-red); }
.rh-card__delta {
    font-weight: 600;
    text-align: right;
}
.rh-card__delta--up::before { content: "\25B2 "; font-size: 0.6em; }
.rh-card__delta--down::before { content: "\25BC "; font-size: 0.6em; }
.rh-name small { display: block; font-size: 0.7rem; font-weight: 600; color: var(--rh-muted); }
.rh-val { text-align: right; font-variant-numeric: tabular-nums; font-size: 0.9rem; font-weight: 700; }
.rh-val small { display: block; font-size: 0.68rem; color: var(--rh-muted); font-weight: 600; }
.rh-single { font-size: 0.68rem; color: var(--rh-muted); text-align: center; }
.rh-footnote { max-width: 760px; color: var(--muted); font-size: var(--fs-sm); line-height: 1.5; }
.rh-overlay {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.45);
    z-index: var(--z-modal, 70);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.rh-overlay[data-open] { display: flex; }
.rh-sheet {
    background: var(--surface);
    border-radius: var(--radius-card);
    width: min(880px, 100%);
    max-height: 92vh;
    overflow: auto;
    padding: 1.1rem 1.2rem 1.4rem;
    position: relative;
}
.rh-sheet-title { margin: 0 0 0.1rem; font-size: 1.15rem; }
.rh-sheet-sub { margin: 0 0 0.8rem; color: var(--muted); font-size: 0.82rem; }
.rh-close {
    position: absolute;
    top: 0.7rem;
    right: 0.8rem;
    border: 1px solid var(--line);
    background: var(--surface);
    border-radius: 999px;
    width: 32px;
    height: 32px;
    font-size: 1rem;
    cursor: pointer;
    color: var(--muted);
    line-height: 1;
}
.rh-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: safe center;
    gap: 0.7rem 0.9rem;
    margin: 0.6rem 0 0;
    font-size: 0.76rem;
    color: var(--muted);
    align-items: center;
}
.rh-legend i { display: inline-block; vertical-align: -1px; margin-right: 0.3rem; font-style: normal; }
.rh-key-line { width: 16px; height: 2px; background: var(--rh-line); }
.rh-key-band { width: 14px; height: 10px; background: var(--rh-band); border: 1px solid var(--rh-band-edge); }
.rh-key-dot { width: 9px; height: 9px; border-radius: 50%; }
.rh-key-hollow { background: var(--surface); border: 2px solid var(--rh-muted); }
.rh-key-tri { color: var(--accent); font-weight: 700; }
.rh-key-bar { width: 8px; height: 12px; border-radius: 2px; background: var(--rh-good); opacity: 0.85; }
.rh-key-rail { width: 8px; height: 14px; border-radius: 4px; background: var(--rh-band); border: 1px solid var(--rh-band-edge); }
.rh-key-line--thread { background: none; border-top: 2px dashed var(--rh-line); opacity: 0.6; height: 0; }
.rh-type {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    gap: 2px;
    padding: 3px;
    margin: 0.6rem auto 0;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.06);
}
.rh-type button {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 0;
    background: transparent;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--muted);
    cursor: pointer;
}
.rh-type button svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.rh-type button[aria-pressed="true"] { background: var(--surface); color: var(--text); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.14); }
.rh-type button[aria-pressed="true"] svg { color: var(--accent); }
.rh-type button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.rh-gauge {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    gap: 0.55rem 0.9rem;
    align-items: center;
    font-size: 0.9rem;
    padding: 0.3rem 0.1rem;
}
.rh-gauge__date { color: var(--muted); white-space: nowrap; }
.rh-gauge__val { font-weight: 700; white-space: nowrap; text-align: right; }
.rh-gauge__val small { font-weight: 400; color: var(--rh-muted); margin-left: 0.2rem; }
.rh-gauge__track { position: relative; height: 14px; border-radius: 7px; background: var(--rh-band-out); }
.rh-gauge__band { position: absolute; top: 0; bottom: 0; background: var(--rh-band); border-left: 1px solid var(--rh-band-edge); border-right: 1px solid var(--rh-band-edge); }
.rh-gauge__band--open-left { border-left: 0; border-radius: 7px 0 0 7px; }
.rh-gauge__band--open-right { border-right: 0; border-radius: 0 7px 7px 0; }
.rh-gauge__mark { position: absolute; top: 50%; width: 12px; height: 12px; border-radius: 50%; transform: translate(-50%, -50%); border: 2px solid var(--surface); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08); cursor: pointer; }
.rh-gauge__mark--hollow { background: var(--surface); border: 2px solid var(--rh-muted); }
.rh-gauge__range { color: var(--rh-muted); font-size: 0.78rem; white-space: nowrap; }
.rh-gauge__range b { color: var(--accent); font-weight: 700; }
@media (prefers-reduced-motion: no-preference) {
    #rh-chart .rh-anim-line { stroke-dasharray: 2400; stroke-dashoffset: 2400; animation: rh-draw 0.55s ease-out forwards; }
    #rh-chart .rh-anim-dot { opacity: 0; animation: rh-pop 0.2s ease-out forwards; }
    #rh-chart .rh-anim-area { opacity: 0; animation: rh-fade 0.4s ease-out 0.3s forwards; }
    @keyframes rh-draw { to { stroke-dashoffset: 0; } }
    @keyframes rh-pop { to { opacity: 1; } }
    @keyframes rh-fade { to { opacity: 1; } }
}
#rh-chart { transition: opacity 0.16s ease; }
#rh-chart.is-fading { opacity: 0; }
@media (max-width: 639.98px) {
    .rh-overlay { align-items: flex-end; padding: 0; }
    .rh-sheet { border-radius: 18px 18px 0 0; max-height: 88vh; width: 100%; }
    .rh-sheet::before {
        content: "";
        display: block;
        width: 42px;
        height: 4px;
        border-radius: 2px;
        background: var(--rh-axis);
        margin: 0 auto 0.8rem;
    }
}
.rh-rotate-note { display: none; }
@media (max-width: 899.98px) and (orientation: portrait) {
    .rh-rotate-note {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        min-height: 7rem;
        margin: 0;
        color: var(--muted);
        font-weight: 600;
        text-align: center;
    }
    .rh-rotate-note::before {
        content: "⟳";
        font-size: 1.4rem;
        color: var(--accent);
    }
    .rh-overlay[data-open] .rh-chart-stage,
    .rh-overlay[data-open] .rh-legend { display: none; }
    .rh-sheet[data-type="gauge"] .rh-rotate-note,
    .rh-sheet[data-type="rail"] .rh-rotate-note { display: none; }
    .rh-overlay[data-open] .rh-sheet[data-type="gauge"] .rh-chart-stage,
    .rh-overlay[data-open] .rh-sheet[data-type="rail"] .rh-chart-stage { display: block; }
    .rh-overlay[data-open] .rh-sheet[data-type="rail"] .rh-legend { display: flex; }
}
@media (max-height: 520px) and (orientation: landscape) {
    .rh-overlay[data-open] { padding: 0; align-items: stretch; }
    .rh-sheet {
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
        border-radius: 0;
        width: 100%;
        overflow: hidden;
        padding: 0.6rem 1rem 0.5rem;
    }
    .rh-sheet::before { display: none; }
    .rh-sheet-title { font-size: 1rem; padding-right: 2.4rem; }
    .rh-sheet-sub { font-size: 0.72rem; margin-bottom: 0.3rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .rh-close { top: 0.45rem; right: 0.6rem; width: 28px; height: 28px; }
    .rh-type { margin: 0.2rem auto 0; padding: 2px; }
    .rh-type button { font-size: 0.7rem; padding: 0.15rem 0.6rem; gap: 0.25rem; }
    .rh-type button svg { width: 12px; height: 12px; }
    .rh-chart-stage { height: calc(100vh - 8.1rem); height: calc(100dvh - 8.1rem); display: flex; justify-content: center; }
    html.rh-vh-measured .rh-sheet { height: var(--rh-vh); max-height: var(--rh-vh); }
    html.rh-vh-measured .rh-chart-stage { height: calc(var(--rh-vh) - 8.1rem); }
    .rh-chart-stage > #rh-chart { height: 100%; width: auto; flex: none; }
    .rh-sheet[data-type="gauge"] .rh-chart-stage > #rh-chart { width: 100%; overflow: auto; }
    .rh-sheet[data-type="gauge"] .rh-gauge { font-size: 0.78rem; gap: 0.3rem 0.7rem; }
    .rh-chart-stage svg { height: 100% !important; width: auto !important; max-width: 100%; }
    .rh-legend { gap: 0.4rem 0.7rem; font-size: 0.68rem; margin-top: 0.2rem; flex-wrap: nowrap; overflow: hidden; }
}
.rh-chart-stage svg,
.rh-chart-stage svg * {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}
.rh-chart-stage svg { touch-action: manipulation; }
.rh-tip {
    position: fixed;
    z-index: calc(var(--z-modal, 70) + 5);
    pointer-events: none;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.13);
    padding: 0.6rem 0.75rem;
    font-size: 0.82rem;
    min-width: 200px;
    display: none;
}
.rh-tip-row { display: flex; justify-content: space-between; gap: 1rem; }
.rh-tip-muted { color: var(--rh-muted); }
.rh-tip-flag--normal { color: var(--pill-green-ink, #047857); font-weight: 700; }
.rh-tip-flag--high, .rh-tip-flag--low { color: var(--rh-out); font-weight: 700; }
.rh-tip-flag--unknown, .rh-tip-flag--rejected { color: var(--muted); font-weight: 700; }
.rh-tip-note { margin-top: 0.35rem; padding-top: 0.35rem; border-top: 1px solid var(--line); color: var(--muted); max-width: 260px; }
.rh-nonnumeric { color: var(--muted); font-size: 0.9rem; }
.upload-steps {
    list-style: none;
    margin: 1.1rem 0 0;
    padding: 0;
}
.upload-steps li {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem 0.2rem;
    color: var(--muted);
    border-top: 1px solid var(--line);
}
.upload-steps li:first-child {
    border-top: 0;
}
.upload-steps li::before {
    content: "\25CB";
    width: 1.15rem;
    text-align: center;
    flex: 0 0 auto;
}
.upload-steps li.is-done {
    color: var(--pill-green-ink);
}
.upload-steps li.is-done::before {
    content: "\2713";
    font-weight: 700;
}
.upload-steps li.is-on {
    color: var(--ink);
    font-weight: 600;
}
.upload-steps li.is-on::before {
    content: "\25CF";
    color: var(--accent);
}
.upload-progress__ring {
    width: 44px;
    height: 44px;
    margin: 0 auto 0.9rem;
    border: 4px solid var(--line);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: upload-spin 0.9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
    .upload-progress__ring {
        animation: none;
    }
}
@keyframes upload-spin {
    to {
        transform: rotate(360deg);
    }
}
.upload-progress {
    max-width: 34rem;
    margin-inline: auto;
    text-align: center;
}
.upload-progress .upload-steps {
    text-align: left;
    max-width: 24rem;
    margin-inline: auto;
}
body.page-uploads .results__sample-notes {
    max-width: min(var(--measure-wide), 100%);
}
body.page-uploads .results__mast {
    margin-bottom: 1.35rem;
}
@media (max-width: 699.98px) {
    body.page-uploads .results__list .obs__head {
        flex-wrap: wrap;
        gap: 0.15rem var(--space-4);
    }
    body.page-uploads .results__list .obs__head > div:first-child {
        flex: 1 1 100%;
    }
    body.page-uploads .results__list .obs__flag {
        margin-top: 0;
        white-space: nowrap;
        font-size: var(--fs-2xs);
    }
}
.upload-form {
    margin-top: 1.1rem;
}
.upload-form__label {
    display: block;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 0.5rem;
}
.upload-form__drop {
    display: block;
    max-width: 44rem;
    padding: 1rem 1.1rem;
    border: 1.5px dashed var(--input-border);
    border-radius: var(--radius-md);
    background: var(--canvas-soft);
    cursor: pointer;
}
.upload-form__drop:focus-within {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
.upload-form__drop input[type="file"] {
    display: block;
    width: 100%;
    font: inherit;
    color: var(--text);
    cursor: pointer;
}
.upload-form__drop input[type="file"]::file-selector-button {
    font: inherit;
    font-weight: 600;
    margin-right: 0.85rem;
    padding: 0.5rem 1rem;
    border: 0;
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line) 85%, var(--muted));
    cursor: pointer;
}
.upload-form__input {
    display: block;
    width: 100%;
    max-width: 24rem;
    min-height: var(--control-height);
    padding: 0.5rem 0.75rem;
    font: inherit;
    color: var(--text);
    background: var(--input-bg);
    border: 1px solid var(--input-border);
    border-radius: var(--radius-sm);
}
.upload-form__input:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 1px;
}
.upload-form__hint {
    margin: 0.7rem 0 0;
    color: var(--muted);
    font-size: var(--fs-sm);
    max-width: none;
}
.upload-form .portal-form__actions {
    margin-top: 1.1rem;
}
.upload-form__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    margin-bottom: 0.85rem;
}
.upload-form__head h2 {
    margin: 0;
}
.upload-form__caveat {
    display: grid;
    gap: 0.6rem;
    margin: 0.85rem 0 0;
}
.upload-form__caveat .shop-notice {
    margin: 0;
}
.upload-form__caveat .checkout-check__label {
    font-weight: 600;
}
.upload-form__foot {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.6rem 0.75rem;
}
.upload-form__foot > .btn {
    flex: 0 1 auto;
    min-width: 0;
    white-space: nowrap;
}
.upload-form__foot > .upload-form__credits {
    flex: 0 0 auto;
    white-space: nowrap;
}
.upload-form__credits {
    display: inline-flex;
    align-items: baseline;
    gap: 0.3rem;
    min-height: 1.9rem;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--pill-slate-border, #e2e8f0);
    background: var(--pill-slate-bg, #f1f5f9);
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--pill-slate-ink, #475569);
}
.upload-form__credits strong {
    color: var(--text);
}
.upload-form__buy {
    display: inline;
    margin: 0;
}
.upload-form__buy-link {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}
.upload-form__buy-link:hover {
    color: var(--accent-700);
}
.upload-form__buy-link:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 2px;
}
body.page-uploads .form-error,
body.page-uploads .form-success,
.upload-notice {
    margin: 1.15rem 0 0;
    padding: 0.85rem 1rem;
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--accent) 5%, var(--surface));
    max-width: none;
}
.upload-notice p {
    margin: 0;
}
.upload-notice p + p,
.upload-notice__list {
    margin-top: 0.5rem;
}
.upload-notice__list {
    margin-bottom: 0;
    padding-left: 1.15rem;
}
.upload-notice__list li + li {
    margin-top: 0.35rem;
}
.upload-notice--warn {
    border-left-color: var(--state-progress);
    background: var(--state-progress-bg);
}
body.page-uploads .form-success,
.upload-notice--success {
    border-left-color: var(--state-success);
    background: var(--state-success-bg);
    color: var(--ok-ink);
}
.affiliate-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.35rem;
    margin: 0 0 var(--space-5, 1.25rem);
    padding: 0.3rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
}
@media (min-width: 48rem) {
    .affiliate-nav {
        display: flex;
    }
}
@media (max-width: 47.98rem) {
    .affiliate-nav {
        grid-auto-rows: var(--touch);
        gap: 0.3rem;
    }
    .affiliate-nav a {
        font-size: 0.88rem;
        padding: 0 0.35rem;
    }
}
.affiliate-nav a {
    flex: 1 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--touch);
    padding: 0 0.6rem;
    height: 100%;
    border-radius: calc(var(--radius-card) - 0.25rem);
    color: var(--muted);
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.01em;
    text-decoration: none;
    text-align: center;
    line-height: 1.15;
    transition: color 0.15s ease, background 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
    .affiliate-nav a:hover {
        color: var(--text);
        background: var(--canvas-soft);
    }
}
.affiliate-nav a:focus-visible {
    color: var(--text);
}
.affiliate-nav a[aria-current="page"] {
    color: #fff;
    background: var(--accent);
}
.affiliate-section + .affiliate-section {
    margin-top: var(--space-6, 1.75rem);
}
.affiliate-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: var(--space-3, 0.75rem);
    margin-bottom: var(--space-5, 1.25rem);
}
.affiliate-stat {
    padding: 0.9rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: var(--surface);
}
.affiliate-stat strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.65rem;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: var(--text);
}
.affiliate-stat--lead strong {
    color: var(--accent);
}
.affiliate-stat span {
    display: block;
    margin-top: 0.2rem;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.35;
}
.affiliate-rows {
    list-style: none;
    margin: 0;
    padding: 0;
}
.affiliate-rows li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-4);
    padding: 0.9rem 0;
    border-top: 1px solid var(--line);
}
.affiliate-rows li:first-child {
    border-top: 0;
}
.affiliate-rows__main {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}
.affiliate-rows__title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    font-weight: 600;
}
.affiliate-rows__meta {
    margin: 0;
    color: var(--muted);
    font-size: 0.88rem;
}
.affiliate-rows__meta span + span::before {
    content: "· ";
}
.affiliate-rows__amount {
    flex: 0 0 auto;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.affiliate-rows__amount--negative {
    color: var(--bad);
}
.affiliate-code-row code {
    font-family: var(--font-display);
    font-size: 1.2rem;
    letter-spacing: 0.06em;
    background: none;
    padding: 0;
}
.affiliate-share {
    flex: 1 0 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    font-size: 0.88rem;
}
.affiliate-share__label {
    color: var(--muted);
    font-weight: 600;
}
.affiliate-share__url {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-all;
    color: var(--accent);
}
.affiliate-share__copy {
    margin-left: auto;
    white-space: nowrap;
}
.affiliate-code-row {
    flex-wrap: wrap;
}
.pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin-top: var(--space-4, 1rem);
    color: var(--muted);
    font-size: 0.92rem;
}
.status-pill--pending {
    background: var(--pill-amber-bg, var(--state-progress-bg));
    color: var(--pill-amber-ink, var(--warn-ink));
    border-color: var(--pill-amber-border, var(--state-progress-border));
    --pill-dot: var(--pill-amber, var(--warn));
}
.status-pill--approved {
    background: var(--pill-green-bg, var(--state-success-bg));
    color: var(--pill-green-ink, var(--ok-ink));
    border-color: var(--pill-green-border, var(--state-success-border));
    --pill-dot: var(--pill-green, var(--ok));
}
.status-pill--void {
    background: var(--pill-slate-bg);
    color: var(--pill-slate-ink);
    border-color: var(--pill-slate-border);
    --pill-dot: var(--pill-slate);
}
.affiliate-note {
    color: var(--muted);
    font-size: 0.92rem;
    max-width: var(--measure-prose);
}
body.page-affiliate .portal-form-panel {
    max-width: none;
}
@media (min-width: 64rem) {
    .affiliate-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    body.page-affiliate .checkout-form {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-4, 1rem) var(--space-5, 1.25rem);
        align-items: start;
    }
    body.page-affiliate .checkout-form > input[type="hidden"] {
        display: none;
    }
    body.page-affiliate .checkout-form > .portal-form__actions {
        grid-column: 1 / -1;
    }
}
.affiliate-agreement__points {
    max-width: var(--measure-wide);
    padding-left: 1.2rem;
    display: grid;
    gap: 0.6rem;
}
.affiliate-identity {
    border: 0;
    margin: 0 0 var(--space-5, 1.25rem);
    padding: 0;
    display: grid;
    gap: var(--space-4, 1rem);
}
.affiliate-identity > legend {
    font-family: var(--font-display);
    font-size: 1.15rem;
    letter-spacing: 0.02em;
    padding: 0;
    margin-bottom: 0.25rem;
}
@media (min-width: 64rem) {
    .affiliate-identity {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-column: 1 / -1;
        align-items: start;
    }
    .affiliate-identity > .checkout-field,
    body.page-affiliate .checkout-form > .checkout-field {
        align-content: start;
    }
    .affiliate-identity > legend,
    .affiliate-identity > .affiliate-note {
        grid-column: 1 / -1;
    }
    body.page-affiliate .checkout-form > .checkout-flags {
        grid-column: 1 / -1;
    }
}
.affiliate-help {
    display: grid;
    gap: var(--space-4, 1rem);
}
.affiliate-help__section h2 {
    margin-top: 0;
    font-size: 1.15rem;
}
.affiliate-help__section ul,
.affiliate-help__section ol {
    padding-left: 1.2rem;
    display: grid;
    gap: 0.4rem;
}
.affiliate-help__section--important {
    border-left: 3px solid var(--accent);
}
@media (max-width: 47.98rem) {
    .affiliate-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }
    .affiliate-stat {
        padding: 0.75rem 0.85rem;
    }
    .affiliate-stat strong {
        font-size: 1.45rem;
    }
    .affiliate-rows li {
        flex-wrap: wrap;
        gap: 0.35rem var(--space-4);
    }
    .affiliate-rows__amount {
        margin-left: auto;
    }
    .affiliate-share__copy {
        flex: 1 0 100%;
        margin-left: 0;
    }
    .affiliate-help__section {
        padding: 1rem;
    }
}
.auth-panel__eyebrow {
    margin: 0 0 0.25rem;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.affiliate-terms-box {
    max-height: 26rem;
    overflow-y: auto;
    padding: 1rem 1.1rem;
    margin: 0 0 var(--space-5, 1.25rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--canvas-soft);
}
.affiliate-terms-body h3 {
    font-size: 1rem;
    margin: 1.1rem 0 0.4rem;
}
.affiliate-terms-body h3:first-of-type {
    margin-top: 0;
}
.affiliate-terms-body p,
.affiliate-terms-body li {
    font-size: 0.95rem;
    line-height: 1.55;
}
.upload-split {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: clamp(1rem, 2.5vw, 1.75rem);
    align-items: stretch;
    margin-bottom: 1.35rem;
}
.upload-split > .account-panel.surface-panel {
    margin: 0;
}
.upload-expect h2 {
    margin-top: 0;
}
.upload-expect p {
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--muted);
    margin: 0;
}
@media (max-width: 899px) {
    .upload-split {
        grid-template-columns: minmax(0, 1fr);
    }
}
