/*
File: static/style.css
Summary: Shared public-site stylesheet for global layout, navigation, marketing pages, intake flow, and footer components.
Author: Frank Robles
Owner: trueTest
Last edited: See git history.
Change log: See git log -- static/style.css and CHANGELOG.md.
*/

/*
Theme Name: @Home Clinical Tests
Theme URI: https://example.com
Author: Frank Robles
Description: Custom landing page theme inspired by premium at-home brain screening services.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: athome-cts
*/

html,
:root {
    color-scheme: only light;
    forced-color-adjust: none;
    --deep-navy: #0d0d0d;
    --mid-navy: #6f655f;
    --sky: #e87300;
    --primary-blue: #e87300;
    --slate: #6f655f;
    --charcoal: #2a2a2a;
    --cloud: #f6f0eb;
    --white: #ffffff;
    --accent: #e87300;
    --border: #ded6d1;
    --pill-bg: #f6f0eb;
    --surface: #f8f6f4;
    --ink-soft: #6f655f;
    --shadow-soft: 0 12px 26px rgba(111, 101, 95, 0.10);
    --shadow-strong: 0 22px 46px rgba(111, 101, 95, 0.16);
    --warm-white: #ffffff;
    --warm-off-white: #f8f6f4;
    --warm-cream: #f6f0eb;
    --warm-grey: #e9e3e0;
    --warm-taupe: #c8b3a9;
    --warm-brown: #6f655f;
    --warm-ink: #0d0d0d;
    --action-orange: #e87300;
}

.flash-stack {
    margin: 1rem 0 1.25rem;
    display: grid;
    gap: 0.65rem;
}

.flash {
    border-radius: 12px;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    line-height: 1.35;
    border: 1px solid transparent;
}

.flash-error {
    background: #fff2f2;
    color: #8f1d1d;
    border-color: #f5c2c2;
}

.flash-success {
    background: #f1fff7;
    color: #0d6a3b;
    border-color: #b8e8cc;
}

.flash-warning {
    background: #fff9eb;
    color: #8a5a00;
    border-color: #f2dfab;
}

.flash-info {
    background: #eef7ff;
    color: #0f4f89;
    border-color: #bbd9f3;
}

@media (max-width: 1239px) {
    .site-header .header-inner {
        width: 100% !important;
        min-height: 70px !important;
        height: auto !important;
        padding: 12px 1.25rem !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        gap: 0.75rem !important;
    }

    .site-header .site-logo {
        position: static !important;
        width: auto !important;
        max-width: calc(100% - 64px) !important;
    }

    .site-header .site-logo__box {
        width: 10rem !important;
        height: auto !important;
        min-height: 45px !important;
        padding: 0.35rem 0.6rem !important;
    }

    .site-header .site-logo__image {
        max-width: 100% !important;
    }

    .site-header .nav-toggle {
        display: inline-flex !important;
        flex-direction: column !important;
        flex: 0 0 auto !important;
        order: 3 !important;
        margin-left: 0 !important;
    }

    .site-header .header-call-button {
        position: static !important;
        right: auto !important;
        top: auto !important;
        order: 2 !important;
        margin-left: auto !important;
        margin-right: 0.75rem !important;
        min-height: 44px !important;
        font-size: 15px !important;
        white-space: nowrap !important;
    }

    .site-header .primary-nav {
        position: static !important;
        inset: auto !important;
        order: 3 !important;
        width: 100% !important;
        height: auto !important;
        display: none !important;
    }

    .nav-open .site-header .primary-nav {
        display: block !important;
    }

    .site-header .primary-nav .menu {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0.35rem !important;
        padding: 1rem 0 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    .site-header .primary-nav .menu > .menu-item:nth-child(n) {
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
    }

    .site-header .primary-nav .menu li a,
    .site-header .primary-nav .menu li button {
        width: 100% !important;
        height: auto !important;
        min-height: 24px !important;
        padding: 0.5rem 0 !important;
        justify-content: space-between !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .site-header .menu-item--has-caret > a,
    .site-header .menu-item--has-caret > .menu-trigger {
        padding-right: 1.1rem !important;
    }

    .site-header .menu-item--has-caret > a::after,
    .site-header .menu-item--has-caret > .menu-trigger::after {
        right: 0 !important;
    }

    .site-header .primary-nav .sub-menu {
        position: static !important;
        min-width: 0 !important;
        margin-top: 0.5rem !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: block !important;
        background: transparent !important;
    }

    .site-header .primary-nav .sub-menu li a {
        padding: 0.35rem 0 0.35rem 0.9rem !important;
        color: var(--warm-white) !important;
    }
}

@media (min-width: 1240px) {
    .site-header .nav-toggle {
        display: none !important;
    }

    .site-header .primary-nav {
        display: block !important;
    }
}

/* Final warm-shell overrides aligned to the Figma marketing frames */
.site-header {
    background: var(--action-orange);
    position: relative;
    z-index: 40;
    box-shadow: none;
}

.header-inner {
    box-sizing: border-box;
    width: 1440px;
    max-width: 100%;
    height: 70px;
    min-height: 70px;
    margin: 0 auto;
    padding: 0;
    position: relative;
}

.site-logo {
    color: var(--warm-ink);
    text-decoration: none;
    position: absolute;
    left: 64px;
    top: 11px;
    width: 285px;
    z-index: 30;
}

.site-logo__box {
    width: 285px;
    max-width: 100%;
    height: 45px;
    display: grid;
    place-items: center;
    background: var(--warm-white);
    padding: 0.45rem 1rem;
}

.site-logo__image {
    width: auto;
    max-width: 206px;
    max-height: 28px;
    height: auto;
    object-fit: contain;
    display: block;
    mix-blend-mode: normal;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.site-logo__image--header {
    max-width: 285px !important;
    max-height: 45px !important;
}

.header-call-button {
    position: absolute;
    right: 50px;
    top: 11px;
    z-index: 30;
}

.header-call-button,
.support-phone-link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    color: var(--warm-white);
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
}

.header-call-button:hover,
.header-call-button:focus-visible,
.support-phone-link:hover,
.support-phone-link:focus-visible {
    transform: none;
    color: var(--warm-white);
}

.primary-nav {
    position: absolute;
    inset: 0;
    z-index: 10;
}

.primary-nav .menu {
    position: relative;
    width: 100%;
    height: 100%;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
    list-style: none;
}

.primary-nav .menu > .menu-item:nth-child(1) {
    position: absolute;
    left: 513px;
    top: 22px;
    width: 179px;
    height: 24px;
}

.primary-nav .menu > .menu-item:nth-child(2) {
    position: absolute;
    left: 759px;
    top: 22px;
    width: 218px;
    height: 24px;
}

.primary-nav .menu > .menu-item:nth-child(3) {
    position: absolute;
    left: 1013px;
    top: 22px;
    width: 40px;
    height: 24px;
}

.primary-nav .menu > .menu-item:nth-child(4) {
    position: absolute;
    left: 1118px;
    top: 22px;
    width: 71px;
    height: 24px;
}

.primary-nav .menu > .menu-item:nth-child(5) {
    position: absolute;
    left: 1319px;
    top: 22px;
    width: 71px;
    height: 24px;
}

.primary-nav .menu li a,
.primary-nav .menu li button {
    color: var(--warm-white);
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    height: 24px;
    position: relative;
}

.primary-nav .menu li button {
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.menu-item--has-caret > a::after,
.menu-item--has-caret > .menu-trigger::after {
    content: '';
    position: absolute;
    right: 1px;
    top: 7px;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
}

.menu-item--has-caret > a,
.menu-item--has-caret > .menu-trigger {
    width: 100%;
    padding-right: 24px;
}

.primary-nav .sub-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 2px);
    min-width: 284px;
    padding: 10px 0;
    margin: 0;
    list-style: none;
    background: var(--warm-white);
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    box-shadow: 0 18px 32px rgba(13, 13, 13, 0.12);
    display: none;
    z-index: 20;
}

.primary-nav .sub-menu li {
    width: 100%;
}

.primary-nav .sub-menu li a {
    display: block;
    height: auto;
    padding: 0.8rem 1rem;
    color: var(--warm-ink);
    line-height: 1.35;
    white-space: normal;
}

.primary-nav .sub-menu li a:hover,
.primary-nav .sub-menu li a:focus {
    background: var(--warm-cream);
    color: var(--warm-ink);
    text-decoration: none;
}

.primary-nav .menu > .menu-item:first-child:hover .sub-menu,
.primary-nav .menu > .menu-item:first-child:focus-within .sub-menu,
.primary-nav .menu > .menu-item--open .sub-menu {
    display: block;
}

.nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 10px;
    background: transparent;
    cursor: pointer;
}

.nav-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    margin: 2px 0;
    background: var(--warm-white);
    transition: transform 0.18s ease, opacity 0.18s ease;
}

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

.nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
}

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

.header-cart,
.header-cta,
.menu-dropdown,
.announcement-bar {
    display: none !important;
}

.site-main {
    max-width: 1440px;
    padding: 2.5rem 62px 4.5rem;
}

.site-footer {
    background: var(--warm-brown);
    margin-top: 0;
    padding: 3.25rem 0;
}

.footer-inner {
    max-width: 1440px;
    padding: 0 62px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.footer-copy {
    max-width: 52rem;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    margin: 0 0 1.25rem;
    text-decoration: none;
}

.footer-brand__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.footer-brand__mark img {
    display: block;
    width: auto;
    height: 2rem;
}

.footer-copy p,
.footer-links a {
    margin: 0;
    color: rgba(248, 246, 244, 0.96);
    text-decoration: none;
}

.footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    text-align: right;
}

@media (max-width: 1100px) {
    .site-main,
    .site-main--warm {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .header-inner {
        width: 100%;
        height: auto;
        min-height: 70px;
        padding: 12px 1.25rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .site-logo {
        position: static;
        width: auto;
        max-width: calc(100% - 64px);
    }

    .site-logo__box {
        width: 10rem;
    }

    .nav-toggle {
        display: inline-flex;
        flex-direction: column;
    }

    .header-call-button {
        position: static;
        right: auto;
        top: auto;
    }

    .primary-nav {
        position: static;
        width: 100%;
        display: none;
        order: 3;
    }

    .primary-nav .menu {
        position: static;
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0.35rem;
        padding: 1rem 0 0;
    }

    .primary-nav .menu > .menu-item:nth-child(n) {
        position: static;
        width: 100%;
        height: auto;
    }

    .primary-nav .menu li a,
    .primary-nav .menu li button {
        width: 100%;
        min-height: 24px;
        justify-content: space-between;
        white-space: normal;
        text-align: left;
        padding: 0.5rem 0;
    }

    .menu-item--has-caret > a,
    .menu-item--has-caret > .menu-trigger {
        padding-right: 1.1rem;
    }

    .menu-item--has-caret > a::after,
    .menu-item--has-caret > .menu-trigger::after {
        right: 0;
    }

    .primary-nav .sub-menu {
        position: static;
        min-width: 0;
        margin-top: 0.5rem;
        padding: 0;
        border: 0;
        box-shadow: none;
        display: block;
        background: transparent;
    }

    .primary-nav .sub-menu li a {
        padding: 0.35rem 0 0.35rem 0.9rem;
        color: var(--warm-white);
    }

    .primary-nav .sub-menu li a:hover,
    .primary-nav .sub-menu li a:focus {
        background: transparent;
        color: rgba(255, 255, 255, 0.84);
    }

    .primary-nav .sub-menu .sub-menu__item--disabled {
        padding: 0.35rem 0 0.35rem 0.9rem;
        color: rgba(255, 255, 255, 0.74);
    }

    .primary-nav .sub-menu .sub-menu__item--disabled .cta-dropdown__badge {
        background: rgba(255, 255, 255, 0.96);
        color: var(--action-orange);
        border: 1px solid rgba(255, 255, 255, 0.7);
    }

    .footer-inner {
        padding: 0 1.25rem;
        flex-direction: column;
    }

    .footer-links {
        align-items: flex-start;
        text-align: left;
    }

    .nav-open .primary-nav {
        display: block;
    }
}

.site-main--warm {
    max-width: 1440px;
    width: 100%;
    padding: 4.2rem 62px 4.75rem;
    gap: 2.35rem;
}

.site-main--home {
    display: grid;
    gap: 48px;
    padding-top: 0;
    padding-bottom: 38px;
}

.button--warm,
.button--soft {
    border-radius: 10px;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 500;
}

.button--warm {
    background: var(--action-orange);
    color: var(--warm-white);
    box-shadow: none;
}

.button--soft {
    background: var(--warm-white);
    border-color: #c6c6c6;
    color: var(--warm-ink);
    box-shadow: none;
}

.button--compact {
    min-height: 48px;
    padding: 0.7rem 1.15rem;
}

.button--disabled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0.62;
    cursor: default;
    pointer-events: none;
}

.button--block {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.button--block::after,
.button--compact::after,
.cognitive-overview__cta::after {
    content: '\203A';
    font-size: 1.1rem;
    line-height: 1;
}

.cta-dropdown {
    position: relative;
    width: 100%;
}

.cta-dropdown summary {
    list-style: none;
    min-height: 54px;
    border: 1px solid #c6c6c6;
    border-radius: 10px;
    background: var(--warm-white);
    color: var(--warm-ink);
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    cursor: pointer;
}

.cta-dropdown summary::-webkit-details-marker {
    display: none;
}

.cta-dropdown summary::after {
    content: '';
    width: 0.7rem;
    height: 0.7rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    flex: 0 0 auto;
}

.cta-dropdown[open] summary::after {
    transform: rotate(-135deg) translateY(-1px);
}

.cta-dropdown__menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.35rem);
    z-index: 10;
    list-style: none;
    margin: 0;
    padding: 0.5rem 0;
    background: var(--warm-white);
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    box-shadow: 0 18px 32px rgba(13, 13, 13, 0.12);
}

.cta-dropdown__menu a {
    color: var(--warm-ink);
    text-decoration: none;
}

.cta-dropdown__menu a.cta-dropdown__item,
.cta-dropdown__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem;
}

.cta-dropdown__item {
    width: 100%;
}

.cta-dropdown__item--disabled {
    color: rgba(46, 42, 35, 0.62);
    cursor: default;
}

.cta-dropdown__menu a:hover,
.cta-dropdown__menu a:focus {
    background: var(--warm-cream);
}

.primary-nav .sub-menu .sub-menu__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
}

.primary-nav .sub-menu .sub-menu__item--disabled {
    color: rgba(46, 42, 35, 0.62);
    cursor: default;
}

.cta-dropdown__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(232, 115, 0, 0.12);
    color: var(--action-orange);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.welcome-hero,
.cognitive-overview__hero {
    background: var(--warm-grey);
    border: 1px solid #d8d8d8;
    border-radius: 0 0 10px 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 566px);
    align-items: end;
    overflow: hidden;
    min-height: 500px;
}

.cognitive-overview__hero {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 566px);
    align-items: stretch;
}

.welcome-hero {
    display: grid;
    grid-template-columns: minmax(0, 720px) minmax(0, 720px);
    min-height: 550px;
    height: 550px;
}

.welcome-hero--auto-height {
    height: auto;
}

.welcome-hero__content,
.cognitive-overview__content {
    padding: clamp(2rem, 2.8vw, 3rem);
}

.cognitive-overview__content {
    align-self: start;
    padding: 3.9rem 2.1rem 2.25rem 5.7rem;
}

.welcome-hero__content {
    max-width: none;
    padding: 110px 36px 72px 91px;
    background: var(--warm-grey);
}

.welcome-hero h1,
.cognitive-overview__content h1 {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 44px;
    font-weight: 400;
    line-height: 46px;
    letter-spacing: -0.04em;
    max-width: 10ch;
    margin-bottom: 12px;
}

.cognitive-overview__content h1 {
    max-width: 22ch;
}

.welcome-hero__subhead,
.cognitive-overview__subhead {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 26px;
    font-weight: 300;
    line-height: 32px;
    margin-bottom: 18px;
}

.welcome-hero__body,
.welcome-hero__content > p:last-of-type,
.cognitive-overview__content > p:last-of-type {
    max-width: 660px;
}

.site-main--home .welcome-hero__content > p,
.site-main--home .test-card p,
.site-main--home .referral-banner p,
.site-main--home .process-list p,
.site-main--home .proof-card p,
.site-main--home .proof-card li,
.site-main--home .home-cta-card p,
.site-main--home .test-card__meta,
.site-main--home .footer-copy p,
.site-main--home .footer-links a {
    font-size: 12px;
    line-height: 20px;
}

.welcome-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.7rem;
}

.welcome-hero__media,
.cognitive-overview__media {
    align-self: stretch;
    min-height: 100%;
}

.welcome-hero__media img,
.cognitive-overview__media img {
    width: 100%;
    height: 100%;
    min-height: 500px;
    object-fit: cover;
    object-position: center top;
    border-radius: 0;
}

.welcome-hero__media {
    background: var(--warm-grey);
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 0;
    overflow: hidden;
    isolation: isolate;
}

.welcome-hero__media::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
}

.welcome-hero__media--home-art::before {
    background: url('/static/assets/MiddleAgeWoman_v3.png') right bottom / auto 100% no-repeat;
}

.welcome-hero__media img {
    display: none;
}

.welcome-hero__media .media-card {
    position: relative;
    z-index: 1;
}

.welcome-hero__media--contain-image::before {
    inset: 0;
    width: 100%;
    height: 100%;
    background-position: right bottom;
    background-size: contain;
}

.welcome-hero__media--screeners-art::before {
    background-image: url('/static/assets/MiddleAgeWoman_v3.png');
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: auto 86%;
}

.welcome-hero__support {
    margin-top: 1.15rem;
}

.section-heading {
    margin-bottom: 24px;
}

.section-heading h2,
.referral-banner h2,
.home-process__content h2,
.proof-card h2,
.home-testimonial h2,
.home-cta-card h2,
.question-banner h2,
.cognitive-steps__price {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 28px;
    margin-bottom: 8px;
}

.section-heading--wide {
    max-width: 42rem;
}

.section-heading--wide p {
    margin-bottom: 0;
}

.popular-tests__grid,
.home-proof,
.home-cta-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px;
}

.test-card,
.proof-card,
.home-cta-card,
.step-panel {
    background: var(--warm-white);
    border: 1px solid #e0dbd8;
    border-radius: 10px;
    padding: 26px;
}

.home-cta-card--faq {
    background: var(--warm-grey);
    border-color: #d8d8d8;
    min-height: 116px;
    padding: 24px 20px 24px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.home-cta-card__body {
    flex: 1 1 auto;
    min-width: 0;
}

.test-card {
    min-height: 252px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.test-card h3,
.step-panel h3 {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
    margin-bottom: 10px;
}

.test-card p,
.proof-card p,
.step-panel p,
.question-banner p,
.home-cta-card p {
    color: #2a2a2a;
}

.home-cta-card--faq p {
    max-width: 40ch;
}

.home-cta-card__faq-button {
    width: 174px;
    min-width: 174px;
    height: 48px;
    min-height: 48px;
    padding: 0 20px;
    border: 2px solid var(--action-orange);
    justify-content: space-between;
    gap: 0.7rem;
    color: var(--warm-white);
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.1;
    white-space: nowrap;
    flex-shrink: 0;
}

.test-card__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-top: 1.35rem;
}

.test-card__meta {
    margin: 0;
    color: #48413d;
}

.test-card__status {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0.7rem 1.15rem;
    border: 1px solid #c6c6c6;
    border-radius: 10px;
    background: var(--warm-off-white);
    color: #6f655f;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.referral-banner,
.question-banner {
    background: var(--warm-grey);
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    min-height: 116px;
    padding: 24px 23px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.referral-banner p,
.question-banner p {
    margin: 0;
}

.home-process,
.cognitive-steps {
    background: var(--warm-grey);
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    padding: 26px;
}

.home-process {
    display: grid;
    grid-template-columns: 405px minmax(0, 1fr);
    gap: 39px;
    align-items: stretch;
    width: 1289px;
    max-width: 100%;
    height: 625px;
    min-height: 625px;
    padding: 33px 39px 35px 1px;
    border: 1px solid #c6c6c6;
    border-radius: 10px;
    background: #e9e3e0;
}

.home-process__media img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.home-process__media--cutout {
    background: var(--warm-grey);
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    min-height: 590px;
    height: 590px;
    padding: 0;
}

.home-process__media--cutout img {
    width: 935px;
    height: 623px;
    min-height: 0;
    max-width: none;
    aspect-ratio: 932 / 621;
    object-fit: contain;
    object-position: left top;
    transform: translate(-90px, 0);
}

#benefits-of-testing .home-process__media--cutout {
    background: transparent;
    background-image: url('/static/assets/2ndMiddleAgeMan_v3.png');
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 94% auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    justify-content: center;
    min-height: 640px;
    height: 640px;
}

#benefits-of-testing {
    height: auto;
    min-height: 625px;
}

#benefits-of-testing .home-process__content {
    display: flex;
    flex-direction: column;
    padding-bottom: 1rem;
}

.process-list {
    list-style: none;
    margin: 20px 0 24px;
    padding: 0;
    counter-reset: process-step;
    display: grid;
    gap: 22px;
}

.process-list li {
    position: relative;
    min-height: 78px;
    padding-left: 59px;
}

.process-list li::before {
    counter-increment: process-step;
    content: counter(process-step);
    position: absolute;
    left: 0;
    top: 0;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--action-orange);
    color: var(--warm-white);
    display: grid;
    place-items: center;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 21px;
}

.process-list h3 {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 26px;
    margin-bottom: 4px;
}

.process-list p {
    margin: 0;
}

.home-process__content .cta-dropdown {
    margin-top: auto;
}

.proof-card ul {
    margin: 1rem 0 0;
    padding-left: 1.2rem;
}

.proof-card li + li {
    margin-top: 0.5rem;
}

.proof-card {
    min-height: 452px;
}

.proof-card .button {
    margin-top: 1.25rem;
}

.proof-card__support-phone {
    margin-top: 1rem;
}

.home-testimonial {
    background: var(--warm-ink);
    color: var(--warm-white);
    border-radius: 10px;
    min-height: 120px;
    padding: 26px 20px;
    display: grid;
    grid-template-columns: 514px minmax(0, 1fr);
    gap: 34px;
    align-items: center;
}

.home-testimonial h2 {
    color: var(--warm-white);
    margin-bottom: 0;
}

.home-testimonial p {
    margin: 0;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 17px;
    font-weight: 500;
    font-style: italic;
    line-height: 26px;
}

.home-cta-card {
    background: var(--warm-grey);
    min-height: 150px;
}

.cognitive-overview {
    display: grid;
    gap: 2rem;
}

.cognitive-overview__media--cutout {
    background: var(--warm-grey);
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 0;
    align-self: end;
    justify-self: end;
    width: 100%;
    max-width: 566px;
    min-height: 0;
    height: auto;
    aspect-ratio: auto;
    overflow: visible;
}

.cognitive-overview__media--cutout img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-width: 100%;
    max-height: none;
    transform: none;
}

.cognitive-overview__cta {
    margin-top: 1.75rem;
}

.cognitive-steps__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.step-panel {
    min-height: 250px;
}

.cognitive-steps__footer {
    margin-top: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.cognitive-steps__price {
    margin: 0;
}

.faq-page,
.contact-page,
.intake-page {
    display: grid;
    gap: 2rem;
}

.faq-page {
    grid-template-rows: auto auto auto auto auto;
}

.faq-page__header h1,
.contact-page__header h1,
.intake-page__header h1 {
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    margin-bottom: 0.75rem;
}

.faq-page__subhead,
.contact-page__subhead {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: clamp(1.35rem, 2vw, 1.875rem);
    font-weight: 300;
    line-height: 1.25;
    max-width: 48rem;
    margin-bottom: 1rem;
}

.faq-search-card,
.faq-section__panel,
.contact-card,
.intake-wizard {
    background: var(--warm-grey);
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    padding: 1.5rem;
}

.faq-search-card {
    min-height: 119px;
}

.faq-search-card__label,
.faq-section h2 {
    display: block;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: 1rem;
}

.faq-search-card__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: center;
}

.faq-search-card input {
    width: 100%;
    border: 1px solid #c6c6c6;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    font: inherit;
    background: var(--warm-white);
}

.faq-section__panel {
    background: var(--warm-white);
    min-height: 501px;
}

.faq-section + .faq-section .faq-section__panel {
    min-height: 412px;
}

.faq-row + .faq-row {
    border-top: 1px solid rgba(111, 101, 95, 0.16);
}

.faq-row__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 0;
    border: 0;
    background: transparent;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.faq-row__caret {
    width: 0.7rem;
    height: 0.7rem;
    border-right: 2px solid var(--warm-ink);
    border-bottom: 2px solid var(--warm-ink);
    transform: rotate(-45deg);
    transition: transform 0.18s ease;
    flex: 0 0 auto;
}

.faq-row__toggle.is-open .faq-row__caret {
    transform: rotate(45deg);
}

.faq-row__question {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
}

.faq-row__answer {
    padding: 0 0 1rem 1.55rem;
}

.faq-row__answer p {
    margin: 0;
}

.faq-section__cta {
    margin-top: 1.25rem;
    width: 285px;
    max-width: 100%;
    justify-content: space-between;
}

.faq-page__note {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.25;
    margin: 0;
}

.contact-page__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.contact-card {
    min-height: 646px;
}

.contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.25rem;
}

.contact-page__intake-label {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.2rem;
    margin: 0;
}

.placeholder-page {
    display: grid;
    gap: 1.5rem;
}

.placeholder-page__header h1 {
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    margin-bottom: 0.75rem;
}

.placeholder-page__subhead {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: clamp(1.35rem, 2vw, 1.875rem);
    font-weight: 300;
    line-height: 1.25;
    margin: 0;
}

.placeholder-page__card {
    background: var(--warm-grey);
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    padding: 1.5rem;
    max-width: 52rem;
}

.legal-page {
    gap: 1rem;
}

.legal-page__header {
    max-width: 60rem;
}

.legal-page__note {
    margin: 0.75rem 0 0;
    font-size: 0.95rem;
    color: var(--ink-soft);
}

.legal-page__card {
    max-width: 72rem;
    background: var(--warm-white);
}

.legal-page__card h2 {
    margin: 0 0 0.75rem;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1.2;
}

.legal-page__card h3 {
    margin: 1rem 0 0.55rem;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--warm-ink);
}

.legal-page__card p {
    margin: 0 0 0.85rem;
}

.legal-page__card p:last-child {
    margin-bottom: 0;
}

.legal-page__card ul {
    margin: 0.15rem 0 0.95rem 1.2rem;
    padding: 0;
    display: grid;
    gap: 0.42rem;
}

.legal-page__card li {
    margin: 0;
    line-height: 1.45;
}

.about-page {
    gap: 1rem;
}

.about-page__header {
    max-width: 60rem;
}

.about-page__card {
    max-width: 72rem;
    background: var(--warm-white);
}

.about-page__card h2 {
    margin: 0 0 1rem;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.45rem;
    font-weight: 500;
    line-height: 1.2;
}

.about-page__card p {
    margin: 0 0 0.95rem;
}

.about-page__card p:last-child {
    margin-bottom: 0;
}

.about-page__list {
    display: grid;
    gap: 1rem;
    margin: 0;
    padding-left: 1.25rem;
}

.about-page__list li {
    padding-left: 0.15rem;
}

.about-page__list strong {
    display: block;
    margin-bottom: 0.35rem;
}

.about-page__list p {
    margin-bottom: 0;
}

.benefits-page {
    gap: 1rem;
}

.benefits-page__header {
    max-width: 64rem;
}

.benefits-page__card {
    max-width: 72rem;
    background: var(--warm-white);
}

.benefits-page__card h2 {
    margin: 0 0 1rem;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 1.45rem;
    font-weight: 500;
    line-height: 1.2;
}

.benefits-page__card p {
    margin: 0 0 0.95rem;
}

.benefits-page__card p:last-child {
    margin-bottom: 0;
}

.benefits-page__list {
    display: grid;
    gap: 1rem;
    margin: 0;
    padding-left: 1.25rem;
}

.benefits-page__list li {
    padding-left: 0.15rem;
}

.benefits-page__list strong {
    display: block;
    margin-bottom: 0.35rem;
}

.benefits-page__list p {
    margin-bottom: 0;
}

.question-banner--contact .button--soft {
    background: var(--warm-brown);
    border-color: var(--warm-brown);
    color: var(--warm-white);
}

.intake-page__header {
    max-width: 72rem;
}

.intake-wizard {
    background: var(--warm-white);
    padding: 1.75rem;
    min-height: 925px;
}

.wizard-progress {
    list-style: none;
    display: flex;
    gap: 0.85rem;
    margin: 0 0 1.5rem;
    padding: 0;
}

.wizard-progress li {
    width: 65px;
    height: 65px;
    border-radius: 999px;
    background: var(--action-orange);
    color: var(--warm-white);
    display: grid;
    place-items: center;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 2rem;
    font-weight: 500;
}

.wizard-progress li.is-active {
    background: var(--action-orange);
}

.intake-wizard .form-step {
    display: none;
    background: transparent;
    border-radius: 0;
    padding: 0.75rem 0 0;
    min-height: 720px;
    flex-direction: column;
}

.intake-wizard .form-step.is-active {
    display: flex;
}

.intake-wizard .form-step h2 {
    font-size: clamp(1.9rem, 2vw, 2.2rem);
    font-weight: 400;
    margin-bottom: 1.2rem;
}

.intake-page > .intake-wizard {
    margin-top: -0.2rem;
}

.intake-page__fields {
    margin-top: 1.25rem;
}

.intake-wizard .field input,
.intake-wizard .field select,
.intake-wizard .field textarea {
    border-radius: 10px;
    border-color: #c6c6c6;
    background: var(--warm-white);
}

.step-actions--wizard {
    margin-top: auto;
    padding-top: 2rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

@media (max-width: 980px) {
    .contact-page__grid,
    .faq-search-card__controls {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .welcome-hero,
    .home-process,
    .home-testimonial,
    .popular-tests__grid,
    .home-proof,
    .home-cta-row,
    .cognitive-steps__grid,
    .contact-page__grid {
        grid-template-columns: 1fr;
    }

    .cognitive-overview__hero {
        grid-template-columns: minmax(0, 1fr) minmax(220px, 0.72fr);
        align-items: start;
    }

    .cognitive-overview__content {
        padding: 2.75rem 1.6rem 2rem 2rem;
    }

    .cognitive-overview__media--cutout img {
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    .welcome-hero__content {
        max-width: none;
        padding: clamp(2rem, 2.8vw, 3rem);
    }

    .welcome-hero {
        min-height: auto;
        height: auto;
    }

    .welcome-hero__media {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 0.75rem;
        min-height: auto;
        padding: 1.5rem;
        align-items: stretch;
        justify-content: stretch;
    }

    .welcome-hero__media::before {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        display: block;
        grid-column: 1 / -1;
        width: 100%;
        height: auto;
        aspect-ratio: 681 / 550;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: auto 100%;
    }

    .welcome-hero__media--contain-image::before {
        background-position: center center;
    }

    .welcome-hero__media--screeners-art {
        display: block;
        min-height: clamp(18rem, 38vw, 21.5rem);
        padding: 0;
    }

    .welcome-hero__media--screeners-art::before {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
        background-position: center bottom;
        background-size: auto 84%;
    }

    .home-process {
        width: auto;
        height: auto;
        min-height: auto;
        gap: 1.5rem;
        padding: 1.5rem;
    }

    .home-process__media--cutout {
        min-height: auto;
        height: auto;
        justify-content: center;
        align-items: flex-start;
    }

    .home-process__media--cutout img {
        width: min(100%, 420px);
        height: auto;
        max-width: 100%;
        transform: none;
        margin: 0 auto;
        object-position: center top;
        display: block;
    }

    #benefits-of-testing .home-process__media--cutout {
        min-height: clamp(28rem, 92vw, 38rem);
        height: clamp(28rem, 92vw, 38rem);
        background-size: auto 100%;
    }

    #benefits-of-testing {
        min-height: auto;
    }

    .welcome-hero__media img,
    .cognitive-overview__media img,
    .home-process__media img {
        min-height: 280px;
    }

    .referral-banner,
    .question-banner,
    .cognitive-steps__footer {
        flex-direction: column;
        align-items: flex-start;
    }

}

@media (min-width: 981px) and (max-width: 1100px) {
    .cognitive-overview__hero {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    }

    .cognitive-overview__content {
        padding: 3.1rem 1.9rem 2rem 2.6rem;
    }

    .cognitive-overview__content h1 {
        font-size: 36px;
        line-height: 38px;
        max-width: 18ch;
    }
}

@media (min-width: 1240px) {
    .cognitive-overview__media,
    .cognitive-overview__media--cutout {
        align-self: end;
    }
}

@media (max-width: 560px) {
    .cognitive-overview__hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .cognitive-overview__content {
        padding: 1.8rem 1.2rem 1.5rem;
    }

    .site-main--warm {
        padding: 2.5rem 1.25rem 3rem;
        gap: 1.4rem;
    }

    .welcome-hero__content,
    .cognitive-overview__content,
    .home-process,
    .cognitive-steps,
    .referral-banner,
    .question-banner,
    .home-testimonial,
    .home-cta-card,
    .proof-card,
    .test-card,
    .step-panel,
    .faq-search-card,
    .faq-section__panel,
    .contact-card,
    .intake-wizard .form-step,
    .intake-wizard {
        padding: 1.2rem;
    }

    .button--block,
    .button--warm,
    .button--soft {
        width: 100%;
        justify-content: space-between;
    }

    .home-cta-card--faq {
        flex-direction: column;
        align-items: flex-start;
    }

    .home-cta-card__faq-button {
        max-width: 174px;
    }

    .process-list li {
        padding-left: 2.8rem;
    }

    .wizard-progress {
        gap: 0.5rem;
    }

    .wizard-progress li {
        width: 3rem;
        height: 3rem;
        font-size: 1.25rem;
    }

    .welcome-hero__media {
        padding: 1rem;
    }

    .welcome-hero__media::before {
        background-size: contain;
    }

    .welcome-hero__media--screeners-art {
        min-height: 13rem;
    }

    .welcome-hero__media .media-card {
        max-width: none;
        min-height: auto;
        padding: 0.75rem;
    }

    .home-process {
        gap: 1.25rem;
        padding: 1.2rem;
    }

    .home-process__media--cutout {
        min-height: auto;
        height: auto;
    }

    .cognitive-overview__media--cutout {
        justify-content: flex-end;
        justify-self: center;
        max-width: 320px;
        width: 100%;
        aspect-ratio: auto;
        min-height: auto;
        overflow: visible;
    }

    .cognitive-overview__media--cutout img {
        width: min(100%, 148px);
        height: auto;
        min-height: 0;
        max-height: none;
        margin: 0 0 0 auto;
        object-position: center bottom;
    }

    .home-process__media--cutout img {
        width: min(100%, 320px);
    }

    #benefits-of-testing .home-process__media--cutout {
        min-height: clamp(26rem, 104vw, 33rem);
        height: clamp(26rem, 104vw, 33rem);
        background-size: auto 100%;
    }

    #benefits-of-testing {
        min-height: auto;
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    color: var(--charcoal);
    background:
        radial-gradient(circle at top left, rgba(233, 227, 224, 0.55), transparent 48%),
        radial-gradient(circle at bottom right, rgba(200, 179, 169, 0.22), transparent 52%),
        var(--warm-off-white);
    line-height: 1.6;
    color-scheme: only light;
    forced-color-adjust: none;
}

body[data-drop-shadows="off"] {
    --shadow-soft: none;
    --shadow-strong: none;
}

body[data-drop-shadows="off"] *,
body[data-drop-shadows="off"] *::before,
body[data-drop-shadows="off"] *::after {
    box-shadow: none !important;
}

body[data-drop-shadows="off"] :focus-visible {
    outline: 2px solid var(--action-orange);
    outline-offset: 3px;
}

html {
    scroll-behavior: smooth;
}

.checkins-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 4rem;
}

.site-main > section {
    scroll-margin-top: 110px;
    margin: 0;
}

.checkins-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #fdf6ef 0%, #f1f7ff 55%, #fcf7ef 100%);
    border-radius: 28px;
    padding: 2.75rem;
    box-shadow: var(--shadow-strong);
    margin-bottom: 3rem;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 2rem;
    align-items: center;
}

.checkins-hero::before,
.checkins-hero::after {
    content: '';
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    filter: blur(0.5px);
    opacity: 0.7;
    pointer-events: none;
}

.checkins-hero::before {
    top: -140px;
    right: -120px;
    background: radial-gradient(circle at center, rgba(255, 214, 185, 0.9), rgba(255, 214, 185, 0));
}

.checkins-hero::after {
    bottom: -160px;
    left: -140px;
    background: radial-gradient(circle at center, rgba(186, 220, 255, 0.85), rgba(186, 220, 255, 0));
}

.checkins-hero > * {
    position: relative;
    z-index: 1;
}

.checkins-hero h1 {
    font-size: clamp(2.2rem, 1.8rem + 2vw, 3.4rem);
    max-width: 24ch;
}

.checkins-hero p {
    max-width: 60ch;
}

.checkins-hero .eyebrow {
    color: #3c6a8f;
}

@media (max-width: 900px) {
    .checkins-hero {
        grid-template-columns: 1fr;
    }

}
.assessment-tiles {
    margin-top: 2.75rem;
    margin-bottom: 3rem;
    background: var(--surface);
    border-radius: 28px;
    padding: 2.5rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
}

.cart-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    background: var(--white);
    border-radius: 20px;
    padding: 1.4rem 1.6rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
    margin-bottom: 1.8rem;
}

.cart-bar p {
    margin: 0.2rem 0;
}

.tile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.2rem;
}

.tile-secondary {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.assessment-detail {
    background: var(--surface);
    border-radius: 28px;
    padding: 2.5rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
}

.assessment-detail__header {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 2rem;
    align-items: start;
}

.assessment-detail__card {
    margin: 0;
}

.assessment-detail__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.occupational-page {
    margin: 2rem 0 3rem;
}

.occupational-hero {
    background: linear-gradient(135deg, #f6f2ea 0%, #eef3fb 55%, #fdf2e8 100%);
    border-radius: 28px;
    padding: 2.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 2rem;
    box-shadow: var(--shadow-strong);
}

.occupational-card {
    background: var(--white);
    border-radius: 20px;
    padding: 1.6rem;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(15, 61, 102, 0.08);
}

.screeners-shell {
    margin: 2rem 0 3.5rem;
}

.screeners-hero {
    background: linear-gradient(140deg, #eef3ff 0%, #fdf6ee 60%, #f4f7ff 100%);
    border-radius: 28px;
    padding: 2.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 2rem;
    box-shadow: var(--shadow-strong);
}

.screeners-hero__card {
    background: var(--white);
    border-radius: 20px;
    padding: 1.75rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
}

.screener-highlights {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0.75rem;
}

.screener-highlights li {
    background: var(--white);
    border-radius: 12px;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    font-weight: 600;
    color: var(--deep-navy);
}

.screeners-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1rem;
}

.screeners-grid {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.screener-card {
    background: var(--white);
    border-radius: 22px;
    padding: 1.75rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.screener-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.screener-pill {
    border-radius: 999px;
    padding: 0.2rem 0.9rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: 1px solid rgba(15, 61, 102, 0.15);
    color: var(--mid-navy);
    background: rgba(42, 127, 189, 0.08);
}

.screener-pill--free {
    background: rgba(7, 190, 110, 0.12);
    border-color: rgba(7, 190, 110, 0.3);
    color: #077a51;
}

.screeners-support {
    margin-top: 3rem;
    background: var(--surface);
    border-radius: 24px;
    padding: 2.25rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.screeners-support__actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.stop-bang-shell {
    padding-top: 2rem;
}

.epworth-shell {
    padding-top: 2rem;
}

.epworth-hero {
    background: linear-gradient(140deg, #f7f2ea 0%, #eef5ff 55%, #fdf3ea 100%);
    border-radius: 28px;
    padding: 2.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 2rem;
    box-shadow: var(--shadow-strong);
    margin-bottom: 2.5rem;
}

.epworth-card {
    background: var(--white);
    border-radius: 20px;
    padding: 1.6rem;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(15, 61, 102, 0.08);
}

.epworth-form {
    background: var(--surface);
    border-radius: 28px;
    padding: 2.5rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    margin-bottom: 2.75rem;
}

.epworth-form ol {
    padding-left: 1.2rem;
}

.epworth-form li {
    margin-bottom: 1.2rem;
    font-size: 1.08rem;
}

.epworth-form select {
    margin-left: 1.2rem;
    padding: 0.3rem 0.7rem;
    border-radius: 8px;
    border: 1px solid var(--border);
    font-size: 1rem;
}

.epworth-form button {
    margin-top: 1.5rem;
    background: var(--sky);
    color: var(--white);
    border: none;
    border-radius: 8px;
    padding: 0.7rem 1.6rem;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: var(--shadow-soft);
    transition: background 0.2s;
}
.epworth-form button:hover {
    background: var(--deep-navy);
}

#epworth-result {
    background: var(--white);
    border-radius: 16px;
    padding: 1.2rem 1.5rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
    font-size: 1.1rem;
}

.stop-bang-hero {
    background: linear-gradient(140deg, #f7f2ea 0%, #eef5ff 55%, #fdf3ea 100%);
    border-radius: 28px;
    padding: 2.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 2rem;
    box-shadow: var(--shadow-strong);
    margin-bottom: 2.5rem;
}

.stop-bang-card {
    background: var(--white);
    border-radius: 20px;
    padding: 1.6rem;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(15, 61, 102, 0.08);
}

.stop-bang-card ul {
    padding-left: 1.2rem;
}

.stop-bang-form {
    background: var(--surface);
    border-radius: 28px;
    padding: 2.5rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    margin-bottom: 2.75rem;
}

.stop-bang-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.stop-bang-question {
    background: var(--white);
    border-radius: 18px;
    padding: 1.3rem 1.4rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
}

.stop-bang-question legend {
    font-weight: 700;
    color: var(--deep-navy);
    margin-bottom: 0.5rem;
}

.stop-bang-question p {
    color: var(--slate);
    margin-bottom: 0.8rem;
}

.stop-bang-question label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: var(--charcoal);
}

.stop-bang-question input[type="number"] {
    width: 100%;
    margin-top: 0.4rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    border: 1px solid rgba(15, 61, 102, 0.2);
    font-size: 1rem;
}

.stop-bang-question input[type="radio"] {
    margin-right: 0.45rem;
}

.stop-bang-inputs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.8rem;
}

.bmi-display {
    margin-top: 0.8rem;
    font-weight: 600;
}

.stop-bang-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
}

.stop-bang-actions .disclaimer {
    font-size: 0.9rem;
    color: var(--slate);
}

/* Symbol Digit Coding Test Styles */
.symbol-digit-shell {
    padding-top: 2rem;
}

.symbol-digit-shell .assessment-intro {
    background: linear-gradient(140deg, #f1f7ff 0%, #fdf6ee 60%, #f4f7ff 100%);
    border-radius: 28px;
    padding: 2.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
    gap: 2rem;
    box-shadow: var(--shadow-strong);
    margin-bottom: 3rem;
    align-items: start;
}

.symbol-digit-shell .intro-content {
    position: relative;
    z-index: 1;
}

.symbol-digit-shell .intro-content h1 {
    font-size: clamp(2.2rem, 1.8rem + 2vw, 3.2rem);
    max-width: 28ch;
    margin-bottom: 1.2rem;
}

.symbol-digit-shell .intro-content .lede {
    font-size: 1.15rem;
    color: var(--slate);
    max-width: 60ch;
    margin-bottom: 2rem;
}

.symbol-digit-shell .intro-details {
    display: grid;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.symbol-digit-shell .intro-block {
    background: var(--white);
    border-radius: 18px;
    padding: 1.5rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
}

.symbol-digit-shell .intro-block h3 {
    color: var(--deep-navy);
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.symbol-digit-shell .intro-block p {
    margin: 0.5rem 0;
}

.symbol-digit-shell .intro-block ul {
    padding-left: 1.5rem;
    margin: 0.5rem 0;
}

.symbol-digit-shell .intro-block li {
    margin-bottom: 0.3rem;
    color: var(--slate);
}

.symbol-digit-shell .intro-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.symbol-digit-shell .button--large {
    padding: 1rem 2rem;
    font-size: 1.15rem;
}

.symbol-digit-shell .cta-note {
    font-size: 0.9rem;
    color: var(--slate);
    text-align: center;
    margin: 0;
}

.symbol-digit-shell .intro-card {
    background: var(--white);
    border-radius: 20px;
    padding: 1.75rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
    height: fit-content;
}

.symbol-digit-shell .intro-card h3 {
    color: var(--deep-navy);
    margin-top: 0;
    margin-bottom: 1rem;
}

.symbol-digit-shell .intro-card ul {
    padding-left: 1.5rem;
    margin: 0;
}

.symbol-digit-shell .intro-card li {
    margin-bottom: 0.6rem;
    color: var(--slate);
    line-height: 1.6;
}

.symbol-digit-shell .test-details {
    margin-bottom: 3rem;
}

.symbol-digit-shell .details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.symbol-digit-shell .detail-card {
    background: var(--surface);
    border-radius: 20px;
    padding: 1.75rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
}

.symbol-digit-shell .detail-card h3 {
    color: var(--deep-navy);
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.symbol-digit-shell .detail-card p {
    color: var(--slate);
    line-height: 1.6;
    margin-bottom: 1rem;
}

.symbol-digit-shell .detail-card ul {
    padding-left: 1.5rem;
    margin: 0;
}

.symbol-digit-shell .detail-card li {
    margin-bottom: 0.3rem;
    color: var(--slate);
}

.symbol-digit-shell .final-cta {
    background: linear-gradient(135deg, #f1f7ff 0%, #fdf6ee 55%, #f4f7ff 100%);
    border-radius: 28px;
    padding: 3rem 2.5rem;
    text-align: center;
    box-shadow: var(--shadow-strong);
    margin-bottom: 3rem;
}

.symbol-digit-shell .cta-content h2 {
    font-size: clamp(2rem, 1.6rem + 1.5vw, 2.8rem);
    max-width: 35ch;
    margin: 0 auto 1.5rem;
    color: var(--deep-navy);
}

.symbol-digit-shell .cta-content p {
    font-size: 1.1rem;
    color: var(--slate);
    max-width: 60ch;
    margin: 0 auto 2rem;
}

.symbol-digit-shell .screeners-grid {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.symbol-digit-shell .screener-card {
    background: var(--white);
    border-radius: 22px;
    padding: 1.75rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.symbol-digit-shell .screener-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.symbol-digit-shell .screener-pill {
    border-radius: 999px;
    padding: 0.2rem 0.9rem;
    font-size: 0.82rem;
    font-weight: 600;
    border: 1px solid rgba(15, 61, 102, 0.15);
    color: var(--mid-navy);
    background: rgba(42, 127, 189, 0.08);
}

.symbol-digit-shell .screener-pill--free {
    background: rgba(7, 190, 110, 0.12);
    border-color: rgba(7, 190, 110, 0.3);
    color: #077a51;
}

.symbol-digit-shell .screener-card h3 {
    color: var(--deep-navy);
    margin: 0;
}

.symbol-digit-shell .screener-card p {
    color: var(--slate);
    line-height: 1.6;
    margin: 0;
}

.symbol-digit-shell .screener-benefits {
    padding-left: 1.5rem;
    margin: 0.5rem 0;
}

.symbol-digit-shell .screener-benefits li {
    margin-bottom: 0.3rem;
    color: var(--slate);
}

@media (max-width: 900px) {
    .symbol-digit-shell .assessment-intro {
        grid-template-columns: 1fr;
        padding: 2rem;
    }
    
    .symbol-digit-shell .final-cta {
        padding: 2rem 1.5rem;
    }
    
    .symbol-digit-shell .details-grid {
        grid-template-columns: 1fr;
    }
}

.stop-bang-results {
    margin-bottom: 3rem;
}


.results-card {
    background: var(--white);
    border-radius: 28px;
    padding: 2.5rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
    box-shadow: var(--shadow-strong);
    opacity: 1;
    transform: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.results-card.show {
    opacity: 1;
    transform: translateY(0);
}

.results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.score-pill {
    background: var(--pill-bg);
    border-radius: 999px;
    padding: 0.4rem 1rem;
    color: var(--deep-navy);
    font-weight: 600;
    display: inline-flex;
    gap: 0.4rem;
    align-items: center;
}

.risk-level {
    border-radius: 18px;
    padding: 1.4rem;
    background: #f7f8fb;
    border: 1px solid rgba(15, 61, 102, 0.08);
    margin-bottom: 1.5rem;
}

.risk-low {
    background: rgba(40, 167, 69, 0.08);
    border-color: rgba(40, 167, 69, 0.2);
}

.risk-medium {
    background: rgba(255, 193, 7, 0.14);
    border-color: rgba(255, 193, 7, 0.4);
}

.risk-high {
    background: rgba(220, 53, 69, 0.12);
    border-color: rgba(220, 53, 69, 0.35);
}

.results-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
}

.results-block ul {
    padding-left: 1.2rem;
}

.button--ghost {
    border: 1px solid rgba(15, 61, 102, 0.2);
    background: var(--white);
    color: var(--deep-navy);
    padding: 0.55rem 1.2rem;
    border-radius: 999px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 1.5rem;
}

@media (max-width: 960px) {
    .stop-bang-hero {
        grid-template-columns: 1fr;
    }

    .occupational-hero {
        grid-template-columns: 1fr;
    }

    .screeners-hero {
        grid-template-columns: 1fr;
    }

    .screeners-support {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .stop-bang-form {
        padding: 2rem 1.5rem;
    }

    .results-header {
        flex-direction: column;
        align-items: flex-start;
    }
}

.tile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

@media (min-width: 960px) {
    .tile-grid .assessment-tile.is-centered {
        grid-column: 2;
        grid-row: 3;
    }
}

.intake-shell,
.checkout-shell,
.success-shell {
    max-width: 1100px;
    margin: 2.5rem auto 4rem;
    padding: 0 1.5rem;
}

.intake-hero,
.checkout-hero {
    background: linear-gradient(135deg, #fdf6ef 0%, #f1f7ff 55%, #fcf7ef 100%);
    border-radius: 28px;
    padding: 2.5rem;
    box-shadow: var(--shadow-strong);
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: 2rem;
    margin-bottom: 2.5rem;
}

.intake-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1.5rem;
}

.intake-meta span {
    background: rgba(42, 127, 189, 0.12);
    color: var(--mid-navy);
    font-weight: 600;
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    font-size: 0.85rem;
}

.intake-callout,
.checkout-summary {
    background: var(--white);
    border-radius: 20px;
    padding: 1.6rem;
    box-shadow: var(--shadow-soft);
}

.intake-callout h2,
.intake-callout li,
.intake-callout p,
.intake-callout .support-phone-link {
    color: var(--warm-ink);
}

.cost-banner {
    margin: 1rem 0 0;
    padding: 0.95rem 1.2rem;
    border-radius: 16px;
    background: linear-gradient(120deg, rgba(42, 127, 189, 0.15), rgba(245, 173, 66, 0.12));
    border: 1px solid rgba(42, 127, 189, 0.18);
    box-shadow: var(--shadow-soft);
}

.cost-banner strong {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mid-navy);
}

.cost-banner span {
    font-weight: 600;
    color: var(--charcoal);
}

.intake-callout ul,
.checkout-summary ul {
    padding-left: 1.2rem;
    margin: 0 0 1rem;
}

.intake-sidebar-list {
    margin: 0 0 1rem;
    padding-left: 1.2rem;
}

.intake-sidebar-list li + li {
    margin-top: 0.75rem;
}

.intake-note {
    font-size: 0.9rem;
    color: var(--slate);
}

.checkout-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
    font-size: 1.05rem;
}

.intake-form,
.checkout-form,
.success-card {
    background: var(--white);
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(15, 61, 102, 0.08);
}

.stepper {
    display: flex;
    gap: 0.75rem;
    padding: 0;
    margin: 0 0 2rem;
    list-style: none;
}

.stepper li {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--pill-bg);
    color: var(--mid-navy);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.stepper li.is-active {
    background: var(--mid-navy);
    color: var(--white);
}

.form-step {
    display: none;
}

.form-step.is-active {
    display: block;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.25rem;
}

.field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.field-label {
    font-weight: 600;
    color: var(--ink-soft);
}

.field-span {
    grid-column: 1 / -1;
}

.field input,
.field select,
.field textarea {
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 0.65rem 0.85rem;
    font-size: 1rem;
    font-family: inherit;
}

.field-hint {
    font-size: 0.85rem;
    color: var(--slate);
    margin: 0 0 0.3rem;
}

.checkout-form--stripe {
    display: grid;
    gap: 1.25rem;
}

.stripe-card-shell {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--white);
    padding: 0.9rem 1rem;
}

.stripe-feedback {
    padding: 0.9rem 1rem;
    border-radius: 12px;
    font-weight: 600;
}

.stripe-feedback--error {
    background: rgba(176, 36, 24, 0.08);
    color: #8d241a;
    border: 1px solid rgba(176, 36, 24, 0.16);
}

.stripe-feedback--success {
    background: rgba(26, 128, 94, 0.08);
    color: #166c4f;
    border: 1px solid rgba(26, 128, 94, 0.16);
}

.form-note--error {
    background: rgba(176, 36, 24, 0.08);
    color: #8d241a;
    border: 1px solid rgba(176, 36, 24, 0.16);
    border-radius: 12px;
    padding: 1rem 1.1rem;
}

.field-inline {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.checkbox-row {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    font-weight: 600;
    color: var(--ink-soft);
}

.checkbox-row--boxed {
    padding: 1rem 1.1rem;
    border: 1px solid #ded6d1;
    border-radius: 14px;
    background: #fffdfb;
}

.form-note {
    color: var(--slate);
    margin-bottom: 1.5rem;
}

.inline-link {
    display: inline-block;
    margin: 0.75rem 0 1.5rem;
    color: var(--sky);
    font-weight: 600;
}

.authorization-full {
    background: var(--cloud);
    border-radius: 16px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
}

.authorization-full summary {
    font-weight: 600;
    cursor: pointer;
}

.step-actions {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.success-card h1 {
    margin-bottom: 1rem;
}

.thank-you-banner {
    margin: 1.5rem 0 2rem;
    padding: 1.2rem 1.5rem;
    border-radius: 18px;
    background: linear-gradient(120deg, rgba(42, 127, 189, 0.12), rgba(245, 173, 66, 0.18));
    border: 1px solid rgba(42, 127, 189, 0.25);
    box-shadow: var(--shadow-soft);
}

.thank-you-banner__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: var(--mid-navy);
}

.thank-you-banner p {
    margin: 0.45rem 0 0;
    font-weight: 600;
    color: var(--charcoal);
}

.thank-you-banner--compact {
    margin: 1rem 0 0;
    padding: 1rem 1.25rem;
}

.success-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.step-actions--confirmation {
    justify-content: flex-start;
}

.confirmation-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

.confirmation-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(16, 24, 40, 0.58);
    backdrop-filter: blur(4px);
}

.confirmation-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: calc(100vh - 3rem);
    overflow: auto;
    background: var(--white);
    border-radius: 24px;
    padding: 2rem;
    box-shadow: 0 24px 90px rgba(16, 24, 40, 0.28);
    border: 1px solid rgba(15, 61, 102, 0.08);
}

.confirmation-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.confirmation-modal__header h2 {
    margin: 0.25rem 0 0;
}

.confirmation-modal__close {
    border: 0;
    background: rgba(42, 127, 189, 0.1);
    color: var(--mid-navy);
    width: 42px;
    height: 42px;
    border-radius: 999px;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}

.confirmation-modal__close:hover {
    background: rgba(42, 127, 189, 0.16);
}

.healthie-intake {
    width: min(1120px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 2rem 0 4rem;
}

.healthie-intake__intro {
    margin-bottom: 1.5rem;
}

.healthie-intake__context {
    margin: 0.75rem 0 0;
    color: #5e4f3c;
    font-weight: 600;
}

.healthie-intake__actions {
    margin-top: 1.25rem;
}

.healthie-intake__frame-shell {
    background: #fffdf8;
    border: 1px solid rgba(65, 43, 26, 0.12);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(58, 38, 22, 0.08);
    height: min(1600px, calc(100vh - 180px));
    min-height: 1100px;
}

.healthie-intake__frame {
    display: block;
    height: 100%;
}

.healthie-intake__fallback {
    margin-top: 1rem;
    color: #5e4f3c;
}

.intake-hero--intake-form {
    display: flex;
    padding: 40px;
    justify-content: center;
    align-items: flex-start;
    gap: 32px;
    align-self: stretch;
    background: linear-gradient(135deg, #e0dedc 0%, #e8edf3 36%, #e6edf5 64%, #dad8d6 100%);
    border: 1px solid #e3e7ec;
    box-shadow: 0 8px 18px rgba(16, 24, 40, 0.035);
    border-radius: 26px;
    min-height: 510px;
    margin-bottom: 2rem;
}

.intake-hero--intake-form .test-card {
    border-radius: 22px;
}

.intake-hero__intro-card {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
}

.intake-hero__intro-card .eyebrow {
    align-self: stretch;
    margin: 0;
    color: #6f655f;
    font-family: Raleway, sans-serif;
    font-size: 13.6px;
    font-style: normal;
    font-weight: 600;
    line-height: 21.76px;
    letter-spacing: 1.632px;
    text-transform: uppercase;
}

.intake-hero__intro-card h1 {
    margin: 0.46rem 0 0.88rem;
    align-self: stretch;
    color: #0d0d0d;
    font-family: Raleway, sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 38.4px;
    letter-spacing: 0.32px;
}

.intake-hero__intro-card > p:not(.intake-hero__pill) {
    align-self: stretch;
    margin: 0;
    color: #2a2a2a;
    font-family: Raleway, sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 38.4px;
}

.intake-hero__help-card {
    background: #ffffff;
    border: 1px solid #e9edf2;
    box-shadow: 0 4px 14px rgba(16, 24, 40, 0.035);
    padding: 1.7rem 1.55rem;
    width: 100%;
    max-width: 430px;
    flex: 0 0 430px;
    margin-top: 2px;
}

.intake-hero__help-card h2 {
    margin: 0 0 0.95rem;
    font-size: 48px;
    font-weight: 700;
    line-height: 57.6px;
    letter-spacing: -0.01em;
    color: #171a21;
}

.intake-hero__help-card .mini-list {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: intake-step;
    display: grid;
    gap: 14px;
}

.intake-hero__help-card .mini-list li {
    margin: 0;
    color: #222a35;
    font-size: 0.97rem;
    line-height: 1.42;
    display: grid;
    grid-template-columns: 20px 1fr;
    column-gap: 12px;
    align-items: center;
    counter-increment: intake-step;
}

.intake-hero__help-card .mini-list li::before {
    content: counter(intake-step) ".";
    display: block;
    color: #171a21;
    font-family: Raleway, sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
    align-self: center;
    transform: translateY(2px);
    text-align: right;
}

.intake-hero__help-card .mini-list li:nth-child(1)::before,
.intake-hero__help-card .mini-list li:nth-child(3)::before {
    transform: translateY(-1px);
}

.intake-hero__help-card .mini-list li:nth-child(2)::before {
    transform: translateY(1px);
}

.intake-hero__pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    margin-top: 1.15rem;
    padding: 0.35rem 0.95rem;
    background: #d9e6f3;
    color: #6f655f;
    font-family: Raleway, sans-serif;
    font-size: 13.6px;
    font-style: normal;
    font-weight: 600;
    line-height: 21.76px;
}

.intake-form--structured {
    display: grid;
    gap: 1.35rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 1.35rem;
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.08);
}

.intake-form--structured label {
    font-size: 0.93rem;
    font-weight: 600;
    color: #27313e;
}

.intake-form--structured input[type="text"],
.intake-form--structured input[type="date"],
.intake-form--structured input[type="email"],
.intake-form--structured input[type="number"],
.intake-form--structured select,
.intake-form--structured textarea {
    height: 44px;
    border: 1px solid #d8dbe1;
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
    font-size: 0.95rem;
    color: #1f2937;
    background: #fff;
}

.intake-form--structured input::placeholder {
    color: #9aa3af;
}

.intake-form--structured input[type="text"]:focus,
.intake-form--structured input[type="date"]:focus,
.intake-form--structured input[type="email"]:focus,
.intake-form--structured input[type="number"]:focus,
.intake-form--structured select:focus,
.intake-form--structured textarea:focus {
    outline: none;
    border-color: #f07f1a;
    box-shadow: 0 0 0 3px rgba(240, 127, 26, 0.14);
}

.intake-section {
    display: grid;
    gap: 0.95rem;
    padding-top: 1.35rem;
    border-top: 1px solid #e5e7eb;
}

.intake-section:first-of-type {
    padding-top: 0;
    border-top: 0;
}

.intake-section__header h2 {
    margin: 0.1rem 0 0;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.intake-section__header .eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    color: #7d7f84;
    margin: 0 0 0.15rem;
}

.form-grid--dob-state {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    max-width: 60%;
}

.form-grid--dob-state .field {
    min-width: 0;
}

.form-grid--dob-state .field input,
.form-grid--dob-state .field select {
    width: 100%;
    min-width: 0;
}

.dob-control {
    position: relative;
    width: 100%;
}

.dob-control input {
    width: 100%;
    min-width: 0;
    padding-right: 2.55rem;
}

.dob-control input[type="date"] {
    width: 100%;
    min-width: 0;
    appearance: none;
    -webkit-appearance: none;
}

.dob-control__button {
    position: absolute;
    right: 0.7rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.65rem;
    height: 1.65rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.calendar-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='17' rx='3' fill='white' stroke='%231f3b63' stroke-width='1.8'/%3E%3Crect x='3' y='4' width='18' height='5' rx='3' fill='%23f07f1a'/%3E%3Crect x='7' y='2.5' width='2' height='4' rx='1' fill='%231f3b63'/%3E%3Crect x='15' y='2.5' width='2' height='4' rx='1' fill='%231f3b63'/%3E%3Crect x='7' y='11' width='3' height='3' rx='0.7' fill='%231f3b63'/%3E%3Crect x='12' y='11' width='3' height='3' rx='0.7' fill='%23f07f1a'/%3E%3Crect x='7' y='16' width='3' height='3' rx='0.7' fill='%23f07f1a'/%3E%3Crect x='12' y='16' width='3' height='3' rx='0.7' fill='%231f3b63'/%3E%3C/svg%3E");
}

.dob-control__button:hover .calendar-icon {
    filter: brightness(0.95);
}

.dob-picker-proxy {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px !important;
    max-width: 1px !important;
    min-width: 0 !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    margin: 0 !important;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    clip-path: inset(50%);
}

.intake-recipient {
    margin-top: 0.2rem;
    padding: 1rem;
    border-radius: 12px;
    background: #f3f5f8;
    border: 1px solid #dfe3ea;
}

.intake-recipient h3 {
    margin: 0 0 0.45rem;
    font-size: 1.5rem;
    font-weight: 700;
}

.intake-ack-list {
    display: grid;
    gap: 0.55rem;
}

.intake-form--structured .checkbox-row {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    column-gap: 0.7rem;
    font-weight: 500;
    color: #394150;
}

.intake-form--structured .checkbox-row input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    align-self: start;
    position: relative;
    top: 0.34rem;
}

.intake-form--structured .checkbox-row label {
    margin: 0;
    line-height: 1.45;
}

.intake-form--structured .checkbox-row--boxed {
    padding: 0.8rem 0.9rem;
    border-radius: 10px;
    border: 1px solid #e2e4e8;
    background: #fff;
}

.intake-form--structured .checkbox-row--boxed label {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.45;
}

.field-inline {
    gap: 1rem;
}

.field-inline__option {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 500;
}

.btn-primary-strong {
    min-width: 320px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.intake-form--structured .step-actions {
    margin-top: 0.4rem;
    padding-top: 0.4rem;
}

@media (max-width: 900px) {
    .intake-hero--intake-form {
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        padding: 1.5rem;
        gap: 1.5rem;
    }

    .intake-hero__help-card {
        max-width: none;
        width: 100%;
        flex: 1 1 auto;
    }

    .intake-hero__intro-card h1 {
        font-size: 2rem;
        line-height: 1.15;
    }

    .intake-hero__intro-card > p:not(.intake-hero__pill) {
        font-size: 1.1rem;
        line-height: 1.65;
    }

    .intake-hero,
    .checkout-hero {
        grid-template-columns: 1fr;
    }

    .healthie-intake {
        width: min(100%, calc(100% - 1rem));
        padding: 1.25rem 0 3rem;
    }

    .healthie-intake__frame-shell {
        height: min(1400px, calc(100vh - 132px));
        min-height: 900px;
        border-radius: 18px;
    }

    .intake-form--structured {
        padding: 1rem;
        border-radius: 16px;
    }

    .intake-section__header h2,
    .intake-hero__help-card h2,
    .intake-recipient h3 {
        font-size: 1.45rem;
    }

    .form-grid--dob-state {
        grid-template-columns: 1fr;
        max-width: 100%;
    }

    .btn-primary-strong {
        min-width: 100%;
    }
}

@media (max-width: 640px) {
    .intake-hero--intake-form {
        padding: 1.1rem;
        border-radius: 20px;
    }

    .intake-hero__help-card {
        padding: 1.2rem 1rem;
    }

    .intake-hero__intro-card h1 {
        font-size: 1.7rem;
    }

    .intake-hero__help-card h2,
    .intake-section__header h2,
    .intake-recipient h3 {
        font-size: 1.25rem;
        line-height: 1.2;
    }

    .intake-form--structured {
        padding: 0.9rem;
    }

    .field-inline {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.65rem;
    }
}

.assessment-tile {
    background: var(--white);
    border-radius: 28px;
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.assessment-tile.is-highlighted {
    outline: 3px solid var(--sky);
    box-shadow: 0 24px 50px rgba(0, 162, 255, 0.18);
}

.tile-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.tile-header h2 {
    margin: 0;
}

.tile-badge {
    background: rgba(0, 162, 255, 0.12);
    color: var(--mid-navy);
    font-weight: 600;
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    font-size: 0.85rem;
}

.tile-fit {
    font-size: 0.95rem;
    color: var(--slate);
}

.tile-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.tile-chips span {
    background: var(--pill-bg);
    border-radius: 999px;
    padding: 0.35rem 0.9rem;
    font-weight: 600;
    font-size: 0.85rem;
}

.button--price {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    justify-content: center;
    color: var(--white);
}

.button--price span {
    color: var(--white);
}

.button--price .price-strike {
    color: var(--white);
    text-decoration: line-through;
    font-weight: 600;
}

.button--price .price-now {
    background: rgba(255, 255, 255, 0.2);
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-weight: 700;
    color: var(--white);
}

.button--price .price-label {
    font-weight: 700;
}

.button--free {
    background: linear-gradient(135deg, #10B981, #059669);
    color: var(--white);
    font-weight: 700;
}

.button--free:hover {
    background: linear-gradient(135deg, #059669, #047857);
}

.button--free .price-label {
    font-weight: 700;
}

.price-note {
    margin-top: 0.75rem;
    color: var(--slate);
    font-size: 0.95rem;
}

.price-note a {
    color: var(--mid-navy);
    font-weight: 600;
    text-decoration: underline;
}

.tile-helps ul {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.tile-helps li::before {
    content: '\2713';
    color: var(--sky);
    margin-right: 0.35rem;
}

.tile-helps li {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
}

.tile-cta {
    width: 100%;
}

.tile-disclaimer {
    font-size: 0.85rem;
    color: var(--slate);
    margin: 0;
}

.quiet-proof-block {
    background: var(--white);
    border-radius: 24px;
    padding: 2.25rem;
    box-shadow: var(--shadow-soft);
    margin-bottom: 2rem;
}

.quiet-proof-block ul {
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.quiet-proof-block li::before {
    content: '\2713';
    color: var(--sky);
    margin-right: 0.4rem;
}

.quiet-proof-block li {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
}

.standard-disclaimer {
    background: rgba(15, 61, 102, 0.08);
    border-radius: 18px;
    padding: 1.5rem;
    margin-bottom: 3rem;
    display: grid;
    gap: 0.5rem;
    font-size: 0.95rem;
    color: var(--deep-navy);
}

.badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.badge-pill {
    border-radius: 999px;
    background: var(--pill-bg);
    padding: 0.4rem 1rem;
    font-weight: 600;
    font-size: 0.85rem;
}

.badge-pill--outline {
    background: transparent;
    border: 1px solid rgba(15, 61, 102, 0.2);
}

.checkin-block {
    background: var(--white);
    border-radius: 32px;
    padding: 2.5rem;
    margin-bottom: 2.5rem;
    box-shadow: var(--shadow-strong);
}

.checkin-top {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
}

.checkin-summary h2 {
    margin-bottom: 0.5rem;
}

.checkin-one-line {
    font-size: 1.05rem;
    color: var(--slate);
}

.alt-ctas {
    display: flex;
    gap: 1rem;
    margin-top: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}

.alt-ctas--gallery {
    justify-content: center;
    grid-column: 1 / -1;
    margin-top: 1rem;
}

.alt-ctas a {
    font-weight: 600;
    color: var(--mid-navy);
}

.powered-note {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--slate);
}

.checkin-context {
    display: grid;
    gap: 1rem;
}

.context-card {
    border: 1px solid rgba(15, 61, 102, 0.08);
    border-radius: 18px;
    padding: 1.5rem;
    background: var(--cloud);
}

.context-card ul,
.list-check {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.context-card li,
.list-check li {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
}

.if-list li::before {
    content: '\2014';
    color: var(--slate);
    margin-right: 0.35rem;
}

.reason-list li::before,
.list-check li::before {
    content: '\2713';
    color: var(--sky);
    margin-right: 0.35rem;
}

.checkin-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.25rem;
}

.detail-card {
    border-radius: 18px;
    background: var(--cloud);
    padding: 1.5rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
}

.checkins-faq {
    background: var(--white);
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: 0 20px 40px rgba(15, 61, 102, 0.08);
}

.faq-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.25rem;
}

.faq-item {
    background: var(--cloud);
    border-radius: 14px;
    padding: 1.25rem;
}

.disclaimer {
    margin-top: 1.5rem;
    font-size: 0.9rem;
    color: var(--slate);
}

a {
    color: var(--mid-navy);
    text-decoration: none;
}

a:hover,
a:focus {
    text-decoration: underline;
}

img {
    max-width: 100%;
    display: block;
    border-radius: 8px;
}

.site-header {
    background: var(--action-orange);
    position: relative;
    z-index: 5;
}

.header-inner {
    box-sizing: border-box;
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    height: 70px;
    min-height: 70px;
    padding: 0;
    position: relative;
}

.site-logo {
    color: var(--warm-ink);
    text-decoration: none;
    position: absolute;
    left: 64px;
    top: 11px;
    width: 285px;
}

.site-logo__box {
    width: 285px;
    max-width: 100%;
    height: 45px;
    display: grid;
    place-items: center;
    background: transparent;
    padding: 0;
}

.primary-nav {
    position: absolute;
    inset: 0;
}


.primary-nav .menu {
    position: relative;
    width: 100%;
    height: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

.primary-nav .menu > .menu-item:nth-child(1) {
    position: absolute;
    left: 513px;
    top: 22px;
    width: 179px;
    height: 24px;
}

.primary-nav .menu > .menu-item:nth-child(2) {
    position: absolute;
    left: 759px;
    top: 22px;
    width: 218px;
    height: 24px;
}

.primary-nav .menu > .menu-item:nth-child(3) {
    position: absolute;
    left: 1013px;
    top: 22px;
    width: 40px;
    height: 24px;
}

.primary-nav .menu > .menu-item:nth-child(4) {
    position: absolute;
    left: 1118px;
    top: 22px;
    width: 71px;
    height: 24px;
}

.primary-nav .menu > .menu-item:nth-child(5) {
    position: absolute;
    left: 1319px;
    top: 22px;
    width: 71px;
    height: 24px;
}

.primary-nav .menu li a,
.primary-nav .menu li button {
    color: var(--warm-white);
    border-bottom: 0;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-rendering: geometricPrecision;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    min-height: 24px;
    position: relative;
}

.primary-nav .menu li button {
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.primary-nav .menu li a:hover,
.primary-nav .menu li.current-menu-item > a,
.primary-nav .menu li button:hover,
.primary-nav .menu li button:focus-visible {
    color: rgba(255, 255, 255, 0.84);
}
.menu-item--has-caret > a::after,
.menu-item--has-caret > .menu-trigger::after {
    content: '';
    position: static;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    margin-left: 4px;
    flex: 0 0 auto;
}

.menu-item--has-caret > a,
.menu-item--has-caret > .menu-trigger {
    width: auto;
    padding-right: 0;
}

.primary-nav .sub-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 2px);
    min-width: 284px;
    padding: 10px 0;
    margin: 0;
    list-style: none;
    background: var(--warm-white);
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    box-shadow: 0 18px 32px rgba(13, 13, 13, 0.12);
    display: none;
    z-index: 20;
}

.primary-nav .sub-menu li {
    width: 100%;
}

.primary-nav .sub-menu li a {
    display: block;
    height: auto;
    padding: 0.8rem 1rem;
    color: var(--warm-ink);
    line-height: 1.35;
    white-space: normal;
}

.primary-nav .sub-menu li a:hover,
.primary-nav .sub-menu li a:focus {
    background: var(--warm-cream);
    color: var(--warm-ink);
    text-decoration: none;
}

.primary-nav .menu > .menu-item:first-child:hover .sub-menu,
.primary-nav .menu > .menu-item:first-child:focus-within .sub-menu,
.primary-nav .menu > .menu-item--open .sub-menu {
    display: block;
}

.site-main {
    max-width: 1440px;
    margin: 0 auto;
    padding: 2.5rem 62px 4.5rem;
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.85rem;
    color: var(--mid-navy);
    font-weight: 600;
}

h1,
h2,
h3,
h4 {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    color: var(--warm-ink);
    margin-top: 0;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.lede {
    font-size: 1.5rem;
    max-width: 46ch;
}

.lede--headline {
    font-size: 2.1rem;
    color: var(--white);
    font-style: italic;
    white-space: nowrap;
    margin-top: 0.2rem;
    margin-bottom: 0.6rem;
    line-height: 1.2;
}

p {
    margin: 0 0 1rem;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.75rem 1.6rem;
    border-radius: 10px;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 2px solid transparent;
}

.button:hover {
    transform: translateY(-2px);
}

.button--primary {
    background: var(--action-orange);
    color: var(--white);
    box-shadow: none;
}

.button--ghost {
    background: var(--white);
    color: var(--action-orange);
    border-color: var(--action-orange);
}

.hero {
    background: var(--warm-grey);
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    padding: 2.5rem;
    margin-top: 2rem;
    color: var(--warm-ink);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 1.5rem;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.hero::after {
    content: '';
    position: absolute;
    inset: 20px;
    border-radius: 10px;
    border: 1px solid rgba(111, 101, 95, 0.16);
    pointer-events: none;
}

.hero-content {
    position: relative;
    z-index: 1;
}


.hero-content h1 {
    font-size: clamp(2.3rem, 3.4vw, 3.4rem);
    color: var(--warm-ink);
    letter-spacing: 0.01em;
    white-space: nowrap;
    margin-bottom: 0.2rem;
}

.hero-content .lede {
    text-wrap: balance;
    max-width: 38ch;
}

@media (max-width: 720px) {
    .hero-content h1 {
        white-space: normal;
    }
}

.hero .alt-ctas .button--primary {
    font-size: 1.05rem;
    padding: 0.8rem 1.6rem;
    background: var(--action-orange);
    color: var(--white);
    box-shadow: none;
}

.hero-pillars {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
}

.hero-pillars li {
    background: rgba(255, 255, 255, 0.72);
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    font-size: 0.9rem;
}

.hero-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    position: relative;
    z-index: 1;
    margin-top: 1.5rem;
}

.hero-gallery figure {
    margin: 0;
}

.hero-gallery img {
    border-radius: 16px;
    height: 220px;
    object-fit: cover;
    box-shadow: 0 10px 22px rgba(111, 101, 95, 0.12);
}

.front-door {
    margin-top: 3.5rem;
    background: linear-gradient(135deg, rgba(248, 246, 244, 0.96), rgba(246, 240, 235, 0.96));
    border-radius: 10px;
    padding: 2.75rem;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(111, 101, 95, 0.08);
}

.front-door header {
    max-width: 70ch;
}

.front-door-grid {
    margin-top: 2rem;
    display: flex;
    justify-content: center;
}

.front-door-orbit {
    position: relative;
    width: min(360px, 80vw);
    aspect-ratio: 1;
    margin: 0 auto;
}

@media (min-width: 1240px) {
    .site-header .primary-nav .menu > .menu-item:nth-child(n) {
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: auto !important;
        height: auto !important;
        flex: 0 0 auto !important;
    }

    .site-header .primary-nav .menu li a,
    .site-header .primary-nav .menu li button {
        height: 24px !important;
        width: auto !important;
        white-space: nowrap !important;
    }

    .site-header .menu-item--has-caret > a,
    .site-header .menu-item--has-caret > .menu-trigger {
        width: auto !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        padding-right: 18px !important;
    }
}

/* Final desktop nav lock: keep all top-level items horizontal */
@media (min-width: 1240px) {
    .site-header .header-inner {
        display: block !important;
    }

    .site-header .primary-nav {
        position: absolute !important;
        left: 360px !important;
        right: 185px !important;
        top: 0 !important;
        bottom: 0 !important;
        z-index: 20 !important;
        display: flex !important;
        align-items: center !important;
    }

    .site-header .primary-nav .menu {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 18px !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        position: static !important;
        overflow: visible !important;
    }

    .site-header .primary-nav .menu > li,
    .site-header .primary-nav .menu > .menu-item {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
    }

    .site-header .primary-nav .menu > .menu-item--has-caret {
        position: relative !important;
    }

    .site-header .primary-nav .menu > .menu-item--has-caret::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 100% !important;
        height: 12px !important;
        z-index: 25 !important;
    }

    .site-header .primary-nav .menu > li > a,
    .site-header .primary-nav .menu > li > button {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        min-height: 24px !important;
        white-space: nowrap !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.01em !important;
        text-rendering: geometricPrecision !important;
    }

    .site-header .primary-nav .menu > .menu-item:nth-child(1) {
        width: auto !important;
        min-width: 0 !important;
    }

    .site-header .menu-item--has-caret > .menu-trigger {
        width: auto !important;
        min-width: 0 !important;
        padding-right: 0 !important;
    }

    .site-header .menu-item--has-caret > .menu-trigger::after {
        position: static !important;
        right: auto !important;
        top: auto !important;
        margin-left: 4px !important;
    }

    .site-header .primary-nav .sub-menu {
        top: 100% !important;
        left: 0 !important;
        margin-top: 0 !important;
        z-index: 30 !important;
    }

    .site-header .primary-nav .sub-menu li {
        display: block !important;
    }

    .site-header .primary-nav .sub-menu li a,
    .site-header .primary-nav .sub-menu .sub-menu__item {
        display: flex !important;
        align-items: center !important;
    }

    .site-header .header-call-button {
        right: 50px !important;
        top: 11px !important;
        transform: none !important;
        z-index: 30 !important;
        white-space: nowrap !important;
        font-size: 16px !important;
        font-weight: 500 !important;
    }

    .page-home .site-main--home {
        max-width: none;
        width: 100%;
        gap: 0;
        padding: 4.2rem 0 38px;
    }

    .page-home .site-main--home > :not(.welcome-hero--home) {
        width: min(1316px, calc(100% - 124px));
        margin-left: auto;
        margin-right: auto;
    }

    .page-home .welcome-hero--home {
        width: min(1316px, calc(100% - 124px));
        max-width: 100%;
        border-top: 1px solid #d8d8d8;
        border-radius: 10px;
        grid-template-columns: minmax(0, 1.08fr) minmax(400px, 0.92fr);
        min-height: 552px;
        height: 552px;
        margin: 0 auto;
        align-items: stretch;
    }

    .page-home .welcome-hero--home .welcome-hero__content {
        padding: 74px 28px 42px max(72px, calc((100vw - 1440px) / 2 + 76px));
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .page-home .welcome-hero--home h1 {
        font-size: clamp(2.85rem, 2.58rem + 0.34vw, 3rem);
        line-height: 1.05;
        letter-spacing: -0.055em;
        max-width: none;
        margin-bottom: 14px;
    }

    .page-home .welcome-hero--home .welcome-hero__subhead {
        font-size: clamp(1.6rem, 1.54rem + 0.1vw, 1.68rem);
        line-height: 1.24;
        margin-bottom: 20px;
        max-width: 100%;
        white-space: normal;
    }

    .page-home .welcome-hero--home .welcome-hero__body {
        max-width: 35rem;
        font-size: 16px;
        line-height: 1.5;
        margin-bottom: 0;
    }

    .page-home .welcome-hero--home .welcome-hero__support {
        display: none;
    }

    .page-home .welcome-hero--home .welcome-hero__media {
        padding-right: max(20px, calc((100vw - 1440px) / 2 + 24px));
        align-items: flex-end;
        justify-content: flex-end;
    }

    .page-home .welcome-hero__media--home-art::before {
        display: none;
    }

    .page-home .welcome-hero__media--home-art img {
        display: block;
        width: min(100%, 612px);
        max-width: 612px;
        height: auto;
        max-height: 508px;
        min-height: 0;
        object-fit: contain;
        object-position: right bottom;
        transform: translateX(18px);
    }

    .page-home .welcome-hero--home + * {
        margin-top: 42px;
    }

    .page-home .popular-tests {
        padding: 0 26px 18px;
    }

    .page-home .popular-tests .section-heading {
        margin-bottom: 28px;
    }

    .page-home .popular-tests .section-heading h2 {
        font-size: 32px;
        line-height: 1.08;
        margin-bottom: 0;
    }

    .page-home .home-process--home {
        grid-template-columns: 520px minmax(0, 1fr);
        gap: 56px;
        width: 100%;
        min-height: 876px;
        height: auto;
        padding: 56px 54px 44px 52px;
        align-items: stretch;
    }

    .page-home .home-process--home .home-process__media--cutout {
        min-height: 740px;
        height: 100%;
        background-position: left bottom;
        background-size: auto 100%;
    }

    .page-home .home-process--home .home-process__content {
        display: flex;
        flex-direction: column;
        padding-top: 2px;
    }

    .page-home .home-process--home .home-process__content h2 {
        font-size: 38px;
        line-height: 1.08;
        font-weight: 400;
        margin-bottom: 28px;
    }

    .page-home .home-process--home .process-list {
        margin: 0 0 34px;
        gap: 30px;
    }

    .page-home .home-process--home .process-list li {
        min-height: 108px;
        padding-left: 96px;
    }

    .page-home .home-process--home .process-list li::before {
        top: 4px;
        width: 70px;
        height: 70px;
        font-size: 26px;
        line-height: 1;
        font-weight: 500;
    }

    .page-home .home-process--home .process-list h3 {
        font-size: 30px;
        line-height: 1.12;
        font-weight: 500;
        margin-bottom: 8px;
    }

    .page-home .home-process--home .process-list p {
        font-size: 19px;
        line-height: 1.48;
        max-width: 48rem;
    }

    .page-home .home-process--home .home-process__content .cta-dropdown {
        width: min(100%, 1080px);
        margin-top: auto;
    }

    .page-home .home-process--home .home-process__content .cta-dropdown summary {
        min-height: 78px;
        padding: 0 28px;
        font-size: 27px;
        font-weight: 400;
        border-radius: 16px;
    }

    .page-home .home-process--home .home-process__content .cta-dropdown summary::after {
        width: 0.95rem;
        height: 0.95rem;
        border-right-width: 3px;
        border-bottom-width: 3px;
        margin-right: 6px;
    }
}

@media (max-width: 1100px) {
    .page-home .welcome-hero--home .welcome-hero__subhead {
        font-size: clamp(1.58rem, 1.3rem + 0.95vw, 1.8rem);
        line-height: 1.16;
        max-width: 24ch;
        white-space: normal;
    }
}

@media (max-width: 1100px) {
    .page-home .welcome-hero--home {
        grid-template-columns: 1fr;
        min-height: auto;
        height: auto;
        align-items: stretch;
    }

    .page-home .welcome-hero--home .welcome-hero__content {
        padding: clamp(1.75rem, 5vw, 2.5rem) clamp(1.5rem, 4vw, 2rem) 1.25rem;
    }

    .page-home .welcome-hero--home h1 {
        max-width: 12ch;
    }

    .page-home .welcome-hero--home .welcome-hero__media {
        display: flex;
        min-height: auto;
        padding: 0 clamp(1.5rem, 4vw, 2rem) clamp(1.5rem, 4vw, 2rem);
        align-items: flex-end;
        justify-content: center;
    }

    .page-home .welcome-hero__media--home-art::before {
        display: none;
    }

    .page-home .welcome-hero__media--home-art img {
        display: block;
        width: min(100%, 560px);
        height: auto;
        min-height: 0;
        object-fit: contain;
        object-position: center bottom;
        transform: none;
        margin: 0 auto;
    }
}

@media (max-width: 640px) {
    .page-home .welcome-hero--home .welcome-hero__content {
        padding: 1.2rem 1.2rem 1rem;
    }

    .page-home .welcome-hero--home .welcome-hero__subhead {
        font-size: clamp(1.52rem, 1.28rem + 1.4vw, 1.7rem);
        line-height: 1.18;
        max-width: 20ch;
    }

    .page-home .welcome-hero--home .welcome-hero__media {
        padding: 0 1.2rem 1.2rem;
    }

    .page-home .welcome-hero__media--home-art img {
        width: min(100%, 420px);
    }
}

.front-door-orbit::before {
    content: '';
    position: absolute;
    inset: 14%;
    border-radius: 50%;
    border: 1px dashed rgba(15, 61, 102, 0.25);
}

.orbit-center {
    position: absolute;
    inset: 22%;
    background: var(--white);
    border-radius: 50%;
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.25rem;
}

.orbit-center h3 {
    margin: 0.35rem 0 0.4rem;
}

.orbit-ring {
    position: absolute;
    inset: 0;
}

.orbit-step {
    position: absolute;
    transform: translate(-50%, -50%);
    background: var(--white);
    border: 1px solid rgba(15, 61, 102, 0.2);
    padding: 0.5rem;
    border-radius: 50%;
    width: clamp(78px, 10vw, 104px);
    height: clamp(78px, 10vw, 104px);
    box-sizing: border-box;
    font-weight: 600;
    color: var(--deep-navy);
    box-shadow: 0 10px 18px rgba(15, 61, 102, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.2rem;
}

.orbit-step.is-active {
    background: linear-gradient(135deg, rgba(42, 127, 189, 0.18), rgba(245, 173, 66, 0.25));
    box-shadow: 0 16px 30px rgba(15, 61, 102, 0.18);
    transform: translate(-50%, -50%) scale(1.05);
}

.orbit-step__num {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.orbit-step__label {
    font-size: 0.85rem;
    line-height: 1.1;
}

.orbit-step--1 {
    top: 12%;
    left: 50%;
}

.orbit-step--2 {
    top: 76%;
    left: 78%;
}

.orbit-step--3 {
    top: 76%;
    left: 22%;
}

.orbit-step--4 {
    top: 88%;
    left: 50%;
}

.orbit-step--5 {
    top: 50%;
    left: 12%;
}

.front-door-accordion {
    margin-top: 3.5rem;
    text-align: center;
}

.front-door-accordion header {
    max-width: 70ch;
    margin: 0 auto;
}

.front-door-accordion .faq-list {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin: 1.5rem auto 0;
}

.front-door-accordion .faq-item {
    text-align: left;
}

@media (prefers-reduced-motion: reduce) {
    .orbit-step {
        transition: none;
    }

    .sub-menu,
    .sub-menu * {
        transition: none !important;
    }
}

.cns-trust {
    margin-top: 3rem;
    background: var(--surface);
    border-radius: 24px;
    padding: 2.5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    border: 1px solid rgba(15, 61, 102, 0.08);
}

.cns-trust .trust-text {
    max-width: 100%;
}

.cns-trust p {
    max-width: 100%;
}

.cns-trust ul {
    margin: 0.75rem 0 0 1.25rem;
    padding: 0;
    display: grid;
    gap: 0.4rem;
}

.cns-trust li {
    color: var(--slate);
}

.trust-subhead {
    font-size: 1.1rem;
    color: var(--slate);
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.trust-focus {
    text-align: center;
}

.trust-report-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
    align-items: start;
}

.trust-report {
    margin: 0;
    display: grid;
    gap: 0.85rem;
}

.trust-focus object {
    width: min(520px, 100%);
    height: auto;
    aspect-ratio: 612 / 792;
    border-radius: 16px;
    border: 1px solid rgba(15, 61, 102, 0.14);
    background: var(--white);
    box-shadow: 0 18px 40px rgba(15, 61, 102, 0.18);
}

.trust-report-grid object,
.trust-report-grid img {
    width: 100%;
}

.trust-report-preview {
    pointer-events: none;
    user-select: none;
}

.trust-report figcaption {
    color: var(--slate);
    font-size: 0.95rem;
    font-weight: 600;
}

.trust-focus object + p,
.trust-focus object p {
    margin-top: 1rem;
    color: var(--slate);
    font-size: 0.95rem;
}

.trust-focus a {
    color: var(--mid-navy);
    font-weight: 600;
    text-decoration: underline;
}

.trust-docs {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.trust-doc {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    width: min(460px, 100%);
    padding: 1.25rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 61, 102, 0.12);
    background: var(--white);
    color: var(--deep-navy);
    text-decoration: none;
    font-weight: 600;
    box-shadow: var(--shadow-soft);
    contain: paint;
}

@media (max-width: 640px) {
    .trust-docs {
        flex-direction: column;
    }
}

.trust-doc__thumb {
    width: 100%;
    aspect-ratio: 612 / 792;
    border-radius: 12px;
    overflow: hidden;
    background: var(--cloud);
}

.trust-doc__thumb object {
    width: 100%;
    height: 100%;
    border: 0;
    pointer-events: none;
    display: block;
}

.trust-doc__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    image-rendering: auto;
}

.trust-doc__label {
    font-size: 0.95rem;
}


.trust-focus .trust-icons {
    justify-content: center;
}

.trust-focus .trust-chips {
    grid-template-columns: 1fr;
    justify-items: center;
}

.trust-focus .trust-chips li {
    text-align: center;
}

.trust-icons {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    color: var(--mid-navy);
}

.trust-icons span {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px rgba(15, 61, 102, 0.08);
}

.trust-icons svg {
    width: 32px;
    height: 32px;
}

.trust-chips {
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
}

.trust-chips li {
    font-size: 0.9rem;
    padding: 0.65rem 0.75rem;
    background: var(--cloud);
    border-radius: 12px;
    border: 1px solid rgba(15, 61, 102, 0.08);
}

.assessment-catalog {
    margin-top: 2.5rem;
    background: var(--white);
    border-radius: 28px;
    padding: 2.75rem;
    box-shadow: var(--shadow-strong);
}

.assessment-grid {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.assessment-card {
    border-radius: 22px;
    padding: 1.75rem;
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.9), #ffffff);
    box-shadow: inset 0 0 0 1px rgba(15, 61, 102, 0.08);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.assessment-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.badge {
    background: rgba(0, 162, 255, 0.12);
    color: var(--mid-navy);
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    font-size: 0.85rem;
}

.assessment-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    color: var(--slate);
}

.assessment-card ul li::before {
    content: '\2022';
    color: var(--sky);
    margin-right: 0.4rem;
    font-weight: 700;
}

.assessment-card ul li {
    display: flex;
    align-items: flex-start;
}

.assessment-footer {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.price {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--deep-navy);
}

.assurance-banner {
    margin-top: 2rem;
    background: var(--white);
    border-radius: 18px;
    padding: 1.75rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    box-shadow: var(--shadow-soft);
}

.assurance-banner h3,
.assurance-banner p {
    text-align: center;
}

.banner-icon {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 20px;
    background: var(--pill-bg);
    display: flex;
    align-items: center;
    justify-content: center;
}

.banner-icon svg {
    width: 42px;
    height: 42px;
    stroke: var(--deep-navy);
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.audience-grid {
    margin-top: 3.25rem;
}

.audience-grid header h2 {
    margin-bottom: 1rem;
}

.audience-grid header p {
    font-size: 1rem;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
}

.audience-card {
    background: var(--white);
    border-radius: 16px;
    padding: 1.25rem;
    box-shadow: var(--shadow-soft);
    text-align: center;
}

.diagnosis-symptoms {
    margin-top: 3.25rem;
    background: transparent;
    border-radius: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    box-shadow: none;
}

.assessment-finder-step {
    background: var(--white);
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: var(--shadow-soft);
}

.assessment-finder-step-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 1.75rem;
}

.step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--primary-blue, #236eaa);
    color: white;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1;
}

.assessment-finder-step-header h3 {
    margin: 0;
    font-size: 1.35rem;
    color: var(--deep-navy);
    font-weight: 700;
}

.step-label {
    font-size: 1rem;
    color: var(--slate);
    display: block;
    font-weight: 500;
    margin-bottom: 1.5rem;
    letter-spacing: 0.01em;
}

.results-summary {
    padding: 1.5rem;
    background: rgba(35, 110, 170, 0.05);
    border-left: 4px solid var(--primary-blue);
    border-radius: 8px;
    margin-bottom: 1.5rem;
}

.results-summary .results-text {
    color: var(--deep-navy);
    line-height: 1.6;
}

.results-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--mid-navy) 100%);
    color: white;
    padding: 1rem 1.75rem;
    border-radius: 28px;
    margin-bottom: 1.25rem;
    font-weight: 600;
    box-shadow: 0 4px 16px rgba(35, 110, 170, 0.3);
}

.symptom-count {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.symptom-label {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.3;
}

.suggested-diagnosis-section {
    margin-top: 1.5rem;
}

.optional-diagnosis-section {
    background: var(--white);
    border-radius: 24px;
    padding: 2.25rem;
    box-shadow: var(--shadow-soft);
}

.matched-assessments {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.assessment-card {
    background: var(--white);
    border: 1px solid rgba(15, 61, 102, 0.12);
    border-radius: 16px;
    padding: 1.5rem;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
}

.assessment-card:hover {
    border-color: var(--primary-blue);
    box-shadow: var(--shadow-soft);
    transform: translateY(-2px);
}

.assessment-card h4 {
    margin: 0 0 0.75rem 0;
    font-size: 1.1rem;
    color: var(--deep-navy);
    font-weight: 600;
}

.assessment-card p {
    margin: 0 0 1rem 0;
    font-size: 0.95rem;
    color: var(--slate);
    line-height: 1.5;
    flex-grow: 1;
}

.assessment-card .button {
    align-self: flex-start;
    margin-top: auto;
}

/* Test Card Styles */
.test-card {
    background: var(--white);
    border: 1px solid rgba(15, 61, 102, 0.12);
    border-radius: 16px;
    padding: 1.5rem;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
}

.test-card:hover {
    border-color: var(--primary-blue);
    box-shadow: var(--shadow-soft);
    transform: translateY(-2px);
}

.test-card--coming-soon {
    background: linear-gradient(135deg, var(--white) 0%, #f8f9fa 100%);
    border-style: dashed;
}

.test-card--coming-soon:hover {
    transform: none;
    box-shadow: var(--shadow-soft);
}

.test-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
    gap: 1rem;
}

.test-name {
    margin: 0;
    font-size: 1.1rem;
    color: var(--deep-navy);
    font-weight: 600;
    flex: 1;
}

.test-status {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.35rem 0.75rem;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.test-status--available {
    background: #d1fae5;
    color: #065f46;
}

.test-status--coming-soon {
    background: #fef3c7;
    color: #92400e;
}

.test-card-body {
    flex: 1;
}

.test-domain {
    display: inline-block;
    font-size: 0.8rem;
    color: var(--primary-blue);
    background: var(--pill-bg);
    padding: 0.25rem 0.75rem;
    border-radius: 12px;
    margin-bottom: 0.75rem;
}

.test-measures {
    margin-top: 0.5rem;
}

.test-measures-label {
    font-size: 0.85rem;
    color: var(--slate);
    font-weight: 500;
}

.test-measure-chip {
    display: inline-block;
    font-size: 0.75rem;
    color: var(--slate);
    background: var(--cloud);
    padding: 0.2rem 0.5rem;
    border-radius: 8px;
    margin: 0.2rem;
    text-transform: capitalize;
}

.test-card-footer {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.test-card-footer .button {
    display: inline-block;
}

.coming-soon-notice {
    font-size: 0.9rem;
    color: var(--slate);
    font-style: italic;
}

.no-tests-message {
    text-align: center;
    color: var(--slate);
    padding: 2rem;
    background: var(--cloud);
    border-radius: 12px;
}

button:focus-visible,
a:focus-visible {
    outline: 2px solid var(--primary-blue);
    outline-offset: 2px;
}

.periodic-element:focus-visible {
    outline: 2px solid var(--primary-blue);
    outline-offset: 1px;
}

.pill-grid button:focus-visible {
    outline: 2px solid var(--primary-blue);
    outline-offset: 1px;
}

.diagnosis-column span,
.symptoms-column span {
    font-size: 0.9rem;
    color: var(--slate);
    display: block;
    font-weight: 400;
}

.pill-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.pill-grid button {
    border: 1px solid rgba(15, 61, 102, 0.2);
    background: var(--pill-bg);
    padding: 0.55rem 1.1rem;
    border-radius: 999px;
    font-weight: 600;
    cursor: pointer;
}

.pill-grid button.active {
    outline: 2px solid var(--sky);
    background: var(--white);
}

.suggested-dx {
    margin-top: 1.5rem;
}

.suggested-dx .pill-grid {
    margin-top: 0.75rem;
}

.suggested-dx .pill-grid span {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.95rem;
    border-radius: 999px;
    background: var(--pill-bg);
    border: 1px solid rgba(15, 61, 102, 0.2);
    font-weight: 600;
    color: var(--deep-navy);
}

.symptom-grid {
    margin: 2.5rem 0;
}

.symptom-grid button.active {
    outline: 2px solid var(--sky);
    background: var(--white);
}

.section-head {
    margin-bottom: 1.5rem;
    max-width: 70ch;
}

.section-head h2 {
    margin-bottom: 0.5rem;
}

.section-head p {
    color: var(--slate);
}

.gold-standard {
    margin-top: 3.25rem;
    background: linear-gradient(180deg, rgba(15, 61, 102, 0.08), rgba(255, 255, 255, 0.9));
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: var(--shadow-soft);
}

.gold-standard-columns,
.gold-standard-principles,
.gold-standard-callouts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
}

.gold-standard-columns {
    margin-bottom: 2rem;
}

.gold-standard-principles {
    margin-bottom: 2rem;
}

.gold-standard-card {
    background: var(--white);
    border-radius: 18px;
    padding: 1.5rem;
    box-shadow: var(--shadow-soft);
}

.gold-standard-card h3 {
    margin-bottom: 0.6rem;
}

.gold-standard-card ul {
    margin: 0.75rem 0 0;
    padding-left: 1.1rem;
    color: var(--slate);
}

.gold-standard-list {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem 1rem;
}

.gold-standard-list li {
    position: relative;
    padding-left: 1.2rem;
    color: var(--slate);
}

.gold-standard-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--sky);
}

.gold-standard-rule {
    font-weight: 600;
    color: var(--deep-navy);
    margin-bottom: 0.65rem;
}

.gold-standard-note {
    color: var(--slate);
    margin-top: 0.85rem;
}

.gold-standard-callout {
    background: var(--white);
    border-radius: 16px;
    padding: 1.5rem;
    border: 1px solid rgba(15, 61, 102, 0.12);
}

.gold-standard-compare {
    margin-top: 2.25rem;
}

.gold-standard-compare h3 {
    margin: 0 auto 1.5rem;
    text-align: center;
    max-width: 60ch;
}

.gold-standard-table {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem 2rem;
    background: var(--white);
    border-radius: 16px;
    padding: 2rem;
    box-shadow: var(--shadow-soft);
    max-width: 980px;
    margin: 0 auto;
}

.gold-standard-table > div {
    padding: 0.55rem 0;
}

.gold-standard-table .table-head {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: var(--deep-navy);
    border-bottom: 2px solid var(--border);
    padding-bottom: 0.6rem;
}

.gold-standard-table .table-cell {
    color: var(--slate);
    border-bottom: 1px solid rgba(15, 61, 102, 0.08);
}

.gold-standard-table .table-cell:nth-last-child(-n+2) {
    border-bottom: 0;
}

.tile-fit,
.tile-helps,
.deliverable-card p,
.step-card p {
    color: var(--slate);
}

.learning-center {
    margin-top: 4rem;
}

.learning-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
}

.learning-center article {
    background: var(--white);
    border-radius: 18px;
    padding: 1.25rem;
    box-shadow: var(--shadow-soft);
}

.learning-center .tag {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    color: var(--slate);
}

.how-it-works {
    margin-top: 4rem;
    background: var(--white);
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: var(--shadow-soft);
}

.diagnosis-symptoms + .how-it-works {
    margin-top: 2.75rem;
}

.how-it-works-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.how-it-works-cta {
    flex-shrink: 0;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}

/* .step-card debug background removed */
.step-card {
    border-radius: 18px;
    padding: 1.25rem;
    min-height: 190px;
    box-shadow: inset 0 0 0 1px rgba(15, 61, 102, 0.08);
    width: 100%;
    box-sizing: border-box;
}

.step-number {
    display: inline-flex;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    align-items: center;
    justify-content: center;
    background: var(--white);
    color: var(--sky);
    font-weight: 700;
    margin-bottom: 0.75rem;
}

.featured-insights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 4rem;
}

.what-you-get {
    margin-top: 4rem;
}

.deliverables-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.deliverable-card {
    background: var(--white);
    border-radius: 18px;
    padding: 1.5rem;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(111, 101, 95, 0.08);
}

.deliverable-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    color: var(--slate);
}

.deliverable-list li {
    display: flex;
    align-items: flex-start;
}

.deliverable-list li::before {
    content: "\2713";
    color: var(--sky);
    margin-right: 0.35rem;
}

.faqs {
    margin-top: 4rem;
}

.faq-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.faq-item {
    background: var(--white);
    border-radius: 18px;
    padding: 1.5rem;
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(111, 101, 95, 0.08);
}

.faq-item h3 {
    margin-bottom: 0.5rem;
}

.faq-toggle {
    width: 100%;
    background: transparent;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font: inherit;
    color: var(--deep-navy);
    text-align: left;
    cursor: pointer;
}

.faq-toggle span:first-child {
    font-weight: 600;
}

.faq-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid rgba(111, 101, 95, 0.2);
    position: relative;
    flex-shrink: 0;
}

.faq-icon::before,
.faq-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 2px;
    background: var(--deep-navy);
    transform: translate(-50%, -50%);
}

.faq-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform 0.2s ease;
}

.faq-toggle[aria-expanded="true"] .faq-icon::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.faq-answer {
    margin-top: 0.75rem;
    color: var(--slate);
}

.tabs {
    display: inline-flex;
    gap: 0.5rem;
    background: var(--warm-cream);
    padding: 0.35rem;
    border-radius: 999px;
}

.tabs button {
    border: none;
    background: transparent;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 600;
}

.tabs button.active {
    background: var(--white);
    box-shadow: 0 10px 20px rgba(111, 101, 95, 0.08);
}

.video-card {
    margin-top: 1rem;
    background: var(--white);
    padding: 1rem;
    border-radius: 16px;
    display: flex;
    gap: 1rem;
    box-shadow: var(--shadow-soft);
}

.video-thumb {
    position: relative;
    flex-shrink: 0;
}

.video-thumb img {
    width: 160px;
    height: 120px;
    object-fit: cover;
}

.play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.8);
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--deep-navy);
    font-weight: 700;
}

.why-choose {
    background: var(--white);
    padding: 1.5rem;
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
}

.why-choose ul {
    padding-left: 1.2rem;
}

.patient-stories {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.patient-stories article {
    background: var(--white);
    border-radius: 22px;
    padding: 1.75rem;
    box-shadow: var(--shadow-soft);
}

.patient-stories blockquote {
    margin: 0;
    font-size: 1.15rem;
    font-style: italic;
}

.patient-stories footer {
    margin-top: 1rem;
    color: var(--slate);
}

.final-cta {
    margin-top: 4rem;
    background: linear-gradient(120deg, var(--warm-ink), #6f655f);
    border-radius: 10px;
    padding: 3rem;
    color: var(--white);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 2rem;
    align-items: center;
}

.final-cta h2 {
    color: var(--white);
    margin-bottom: 1rem;
}

.final-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
}

.final-cta .button--ghost {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.6);
}

.trust-note {
    margin: 0;
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
}

.site-footer {
    background: var(--warm-brown);
    color: var(--white);
    margin-top: 0;
    padding: 3.25rem 0;
}

.footer-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 62px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.footer-copy {
    max-width: 52rem;
}

.footer-copy p {
    margin: 0 0 0.85rem;
    color: rgba(248, 246, 244, 0.96);
}

.footer-copy p:last-child {
    margin-bottom: 0;
}

.footer-copy .app-version-note {
    margin-top: 1rem;
    color: transparent !important;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    text-align: right;
}

.footer-links a {
    color: rgba(248, 246, 244, 0.96);
    text-decoration: none;
}

@media (max-width: 1100px) {
    .header-inner {
        padding: 12px 1.25rem;
        align-items: center;
    }

    .site-logo__box {
        width: 10rem;
    }

    .primary-nav {
        width: 100%;
    }

    .primary-nav .menu {
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 0.35rem;
        background: transparent;
        border: 0;
        box-shadow: none;
        padding: 0;
    }

    .footer-inner {
        padding: 0 1.25rem;
        flex-direction: column;
    }

    .footer-links {
        align-items: flex-start;
        text-align: left;
    }
}

@media (max-width: 1100px) {
    .header-inner {
        flex-wrap: wrap;
    }

    .primary-nav .menu {
        flex-wrap: nowrap;
        gap: 0.35rem;
    }

    .hero {
        grid-template-columns: minmax(0, 1fr);
        text-align: center;
    }

    .hero-pillars {
        justify-content: center;
    }

    .hero-gallery {
        order: 3;
    }

    .header-cta {
        margin-left: 0;
    }

    .assessment-tiles {
        padding: 2rem;
    }

    .cart-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .assessment-detail__header {
        grid-template-columns: 1fr;
    }

    .front-door-grid {
        grid-template-columns: 1fr;
    }

    .front-door-orbit {
        width: min(320px, 80vw);
    }

    .cns-trust,
    .diagnosis-symptoms {
        padding: 2rem;
    }

    .gold-standard {
        padding: 2rem;
    }

    .final-cta {
        text-align: center;
    }
    
    .final-cta-actions {
        align-items: center;
        width: 100%;
    }
}

.periodic-table-shell {
    display: flex !important;
    flex-wrap: wrap;
    gap: 3rem 2.5rem;
    margin: 2.5rem 0 0 0;
}

.periodic-table-shell .periodic-domain {
    flex: 0 0 calc(50% - 1.25rem);
    max-width: calc(50% - 1.25rem);
}

@media (max-width: 640px) {
    body {
        font-size: 0.95rem;
    }

    h1 {
        font-size: clamp(1.8rem, 1.4rem + 3vw, 2.4rem);
    }

    h2 {
        font-size: clamp(1.4rem, 1.1rem + 2.2vw, 2rem);
    }

    h3 {
        font-size: clamp(1.1rem, 0.95rem + 1.6vw, 1.5rem);
    }

    p {
        margin-bottom: 0.85rem;
    }

    .site-main {
        padding: 1.25rem 1rem 2.5rem;
        gap: 2.5rem;
    }

    .checkins-main {
        padding: 1.25rem 1rem 2.5rem;
    }

    .assurance-banner,
    .video-card {
        flex-direction: column;
        text-align: center;
    }

    .primary-nav .menu {
        flex-direction: column;
        align-items: flex-start;
    }

    .menu-dropdown {
        width: 100%;
    }

    .menu-dropdown summary {
        width: 100%;
        justify-content: space-between;
    }

    .sub-menu {
        position: static;
        min-width: 0;
        padding: 0;
        border: none;
        box-shadow: none;
        display: block;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        background: transparent;
    }

    .sub-menu li a {
        padding: 0.35rem 0 0.35rem 0.9rem;
        color: var(--warm-white);
    }

    .sub-menu li a:hover,
    .sub-menu li a:focus {
        background: transparent;
        color: rgba(255, 255, 255, 0.84);
        text-decoration: none;
    }

    .nav-toggle {
        display: inline-flex;
    }

    .primary-nav {
        width: 100%;
        display: none;
    }

    .nav-open .primary-nav {
        display: block;
    }

    .primary-nav .menu {
        background: var(--white);
        border-radius: 16px;
        padding: 1rem;
        border: 1px solid rgba(15, 61, 102, 0.08);
        box-shadow: 0 18px 30px rgba(15, 61, 102, 0.08);
    }

    .header-inner {
        gap: 0.75rem;
    }

    .site-logo {
        width: 100%;
    }

    .header-cta {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .hero-gallery {
        grid-template-columns: 1fr;
    }

    .hero-gallery img {
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .screeners-hero,
    .screeners-support {
        padding: 1.5rem;
    }

    .screener-highlights,
    .screeners-grid {
        grid-template-columns: 1fr;
    }

    .assessment-tiles,
    .cns-trust,
    .diagnosis-symptoms {
        padding: 1.25rem;
    }

    .tile-grid {
        grid-template-columns: 1fr;
    }

    .tile-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .steps-grid,
    .deliverables-grid,
    .faq-list {
        grid-template-columns: 1fr;
    }

    .how-it-works-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .front-door {
        padding: 1.5rem;
    }

    .front-door-orbit::before {
        inset: 18%;
    }

    .orbit-step {
        position: static;
        transform: none;
        display: flex;
        flex-direction: row;
        height: auto;
        width: 100%;
        margin: 0.35rem 0;
        text-align: center;
        border-radius: 16px;
    }

    .orbit-step.is-active {
        transform: none;
    }

    .orbit-step__num {
        letter-spacing: 0.04em;
    }

    .orbit-step__label {
        font-size: 0.9rem;
    }

    .orbit-ring {
        position: static;
        display: grid;
        gap: 0.35rem;
        margin-top: 1rem;
    }

    .front-door-orbit {
        aspect-ratio: auto;
        width: 100%;
    }

    .orbit-center {
        position: static;
        border-radius: 16px;
        margin-bottom: 1rem;
    }

    .symptom-grid {
        grid-template-columns: 1fr;
    }

    .footer-inner {
        grid-template-columns: 1fr;
    }
    
    .assessment-grid,
    .patient-stories {
        grid-template-columns: 1fr;
    }

    .checkins-hero,
    .checkin-block,
    .checkins-faq {
        padding: 1.5rem;
    }

    /* How It Works Section */
    .how-it-works,
    .how-it-works-container {
        background: linear-gradient(180deg, rgba(247, 250, 255, 0.9) 0%, rgba(255, 255, 255, 1) 100%);
        border-radius: 28px;
        padding: 3rem 2.5rem;
        margin-bottom: 2.5rem;
        border: 1px solid rgba(15, 61, 102, 0.08);
        box-shadow: var(--shadow-soft);
    }

    .how-it-works-container {
        max-width: 1000px;
        margin: 0 auto;
    }

    .how-it-works-header {
        text-align: center;
        margin-bottom: 2.5rem;
    }

    .how-it-works-header h2 {
        font-size: 2.25rem;
        margin-bottom: 0.75rem;
    }

    .how-it-works-intro {
        font-size: 1.15rem;
        color: var(--slate);
        max-width: 50ch;
        margin: 0 auto;
    }

    .steps-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .step-card {
        background: var(--white);
        border-radius: 20px;
        padding: 1.75rem 1.5rem;
        text-align: center;
        box-shadow: var(--shadow-soft);
        border: 1px solid rgba(15, 61, 102, 0.08);
        position: relative;
        width: 100%;
        box-sizing: border-box;
    }

    .step-connector {
        display: none;
    }

    .step-card-qualify {
        background: linear-gradient(135deg, rgba(42, 127, 189, 0.08), rgba(245, 173, 66, 0.08));
        border-color: rgba(42, 127, 189, 0.2);
    }

    .step-card-final {
        background: linear-gradient(135deg, rgba(40, 167, 69, 0.08), rgba(42, 127, 189, 0.08));
        border-color: rgba(40, 167, 69, 0.2);
    }

    .step-number {
        position: absolute;
        top: -12px;
        left: 50%;
        transform: translateX(-50%);
        background: var(--deep-navy);
        color: var(--white);
        width: 28px;
        height: 28px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: 0.9rem;
    }

    .step-icon {
        font-size: 2.5rem;
        margin-bottom: 0.75rem;
    }

    .step-card h3 {
        font-size: 1.15rem;
        margin-bottom: 0.6rem;
        color: var(--deep-navy);
    }

    .step-card p {
        font-size: 0.95rem;
        color: var(--slate);
        margin: 0;
        line-height: 1.5;
    }

    .step-connector {
        display: none;
    }

    .after-qualify-box {
        background: var(--white);
        border-radius: 20px;
        padding: 1.75rem 2rem;
        display: flex;
        align-items: flex-start;
        gap: 1.25rem;
        box-shadow: var(--shadow-soft);
        border: 1px solid rgba(15, 61, 102, 0.08);
        margin-bottom: 2rem;
    }

    .after-qualify-icon {
        font-size: 2.25rem;
        flex-shrink: 0;
    }

    .after-qualify-content h4 {
        font-size: 1.15rem;
        margin-bottom: 0.6rem;
        color: var(--deep-navy);
    }

    .after-qualify-content p {
        margin: 0;
        color: var(--slate);
        font-size: 1rem;
        line-height: 1.6;
    }

    .cta-row {
        text-align: center;
    }

    .button--large {
        padding: 1rem 2.5rem;
        font-size: 1.15rem;
        box-shadow: 0 14px 28px rgba(35, 110, 170, 0.3);
    }

    .button-arrow {
        font-size: 1.25rem;
        transition: transform 0.2s ease;
    }

    .button:hover .button-arrow {
        transform: translateX(4px);
    }

    .cta-note {
        margin-top: 1rem;
        font-size: 0.95rem;
        color: var(--slate);
    }

    .hero-disclaimer {
        font-size: 0.9rem;
        color: var(--slate);
    }

    .periodic-domain {
        background: var(--white);
        border: 2px solid rgba(35, 110, 170, 0.12);
        border-radius: 20px;
        padding: 0;
        margin-bottom: 0;
        overflow: hidden;
        transition: all 0.3s ease;
        box-shadow: 0 2px 8px rgba(15, 61, 102, 0.06);
    }

    .periodic-domain:hover {
        border-color: rgba(35, 110, 170, 0.3);
        background: rgba(35, 110, 170, 0.05);
        box-shadow: 0 4px 16px rgba(35, 110, 170, 0.1);
    }

    .periodic-domain-toggle {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1.5rem;
        padding: 2.25rem 2.5rem;
        margin: 0;
        border: none;
        background: rgba(35, 110, 170, 0.04);
        cursor: pointer;
        text-align: left;
        transition: all 0.3s ease;
        border-radius: 20px 20px 0 0;
    }

    .periodic-domain-toggle:hover {
        background: rgba(35, 110, 170, 0.08);
    }

    .periodic-domain-toggle[aria-expanded="true"] {
        background: rgba(35, 110, 170, 0.12);
        border-bottom: 2px solid rgba(35, 110, 170, 0.15);
    }

    .periodic-domain-toggle:focus-visible {
        outline: 2px solid var(--primary-blue);
        outline-offset: -2px;
    }

    .domain-toggle-text {
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
        flex: 1;
    }

    .domain-toggle-text h3 {
        margin: 0;
        font-size: 1.25rem;
        color: var(--deep-navy);
        font-weight: 700;
        letter-spacing: -0.01em;
    }

    .domain-description {
        margin: 0;
        font-size: 0.95rem;
        color: var(--slate);
        line-height: 1.5;
    }

    .domain-chevron {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        min-width: 40px;
        flex-shrink: 0;
        transition: transform 0.3s ease;
        background: rgba(35, 110, 170, 0.12);
        border-radius: 10px;
        line-height: 1;
        color: var(--primary-blue, #236eaa);
        font-size: 1.4rem;
        font-weight: bold;
    }

    .periodic-domain-toggle[aria-expanded="true"] .domain-chevron {
        transform: rotate(180deg);
    }

    .periodic-elements {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 1.5rem;
        padding: 2.5rem 3rem;
        transition: all 0.3s ease;
        animation: slideDown 0.3s ease;
        background: rgba(35, 110, 170, 0.02);
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .periodic-elements[hidden] {
        display: none;
    }

    .periodic-element {
        padding: 1.5rem 1.75rem;
        border: 2px solid rgba(35, 110, 170, 0.25);
        background: white;
        border-radius: 14px;
        font-size: 1rem;
        cursor: pointer;
        transition: all 0.2s ease;
        text-align: left;
        line-height: 1.6;
        color: var(--slate);
        font-weight: 500;
        box-shadow: 0 1px 3px rgba(15, 61, 102, 0.08);
        min-height: 70px;
        display: flex;
        align-items: center;
    }

    .periodic-element:hover {
        border-color: var(--primary-blue);
        background: rgba(35, 110, 170, 0.06);
        transform: translateY(-3px);
        box-shadow: 0 6px 20px rgba(35, 110, 170, 0.15);
    }

    .periodic-element.active {
        background: var(--primary-blue);
        color: white;
        border: 3px solid var(--deep-navy);
        box-shadow: 0 8px 24px rgba(35, 110, 170, 0.4);
        transform: scale(1.05);
        font-weight: 600;
        position: relative;
        z-index: 10;
    }

    .periodic-element.active::after {
        content: '✓';
        position: absolute;
        top: 8px;
        right: 8px;
        font-size: 1.2rem;
        font-weight: bold;
        line-height: 1;
    }

    .periodic-element--mild {
        border-left: 5px solid #7bc9a6;
    }

    .periodic-element--moderate {
        border-left: 5px solid #e8941a;
    }

    .periodic-element--severe {
        border-left: 5px solid #d04a3f;
    }

    .periodic-element.active--mild {
        background: linear-gradient(135deg, #7bc9a6 0%, #5db88e 100%);
        border: 3px solid #4a9d7a;
        box-shadow: 0 8px 24px rgba(123, 201, 166, 0.5);
        transform: scale(1.05);
    }

    .periodic-element.active--moderate {
        background: linear-gradient(135deg, #e8941a 0%, #d4820a 100%);
        border: 3px solid #b86f08;
        box-shadow: 0 8px 24px rgba(232, 148, 26, 0.5);
        transform: scale(1.05);
    }

    .periodic-element.active--severe {
        background: linear-gradient(135deg, #d04a3f 0%, #b83a30 100%);
        border: 3px solid #9a2e25;
        box-shadow: 0 8px 24px rgba(208, 74, 63, 0.5);
        transform: scale(1.05);
    }

    /* Dim unselected symptoms when selections exist */
    .periodic-table-shell.has-selections .periodic-element:not(.active) {
        opacity: 0.6;
        filter: grayscale(0.2);
    }

    .periodic-table-shell.has-selections .periodic-element:not(.active):hover {
        opacity: 1;
        filter: grayscale(0);
    }

    .element-text {
        display: block;
    }

    .hipaa-disclaimer {
        background: rgba(35, 110, 170, 0.08);
        border-left: 4px solid var(--primary-blue);
        padding: 1rem;
        border-radius: 8px;
        margin: 1.5rem 0;
        font-size: 0.95rem;
    }

    .hipaa-disclaimer p {
        margin: 0;
        color: var(--deep-navy);
        line-height: 1.5;
    }

    @media (max-width: 640px) {
        .how-it-works {
            padding: 2rem 1.5rem;
        }

        .steps-grid {
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        .step-card {
            max-width: 100%;
            width: 100%;
        }

        .step-connector {
            display: none;
        }

        .after-qualify-box {
            flex-direction: column;
            text-align: center;
            align-items: center;
        }

        .assessment-finder-step {
            padding: 2rem 1.5rem;
        }

        .assessment-finder-step-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        .step-number {
            width: 36px;
            height: 36px;
            min-width: 36px;
            font-size: 1.1rem;
        }

        .assessment-finder-step-header h3 {
            font-size: 1.2rem;
        }

        .step-label {
            font-size: 0.9rem;
            margin-bottom: 1.25rem;
        }

        .matched-assessments {
            grid-template-columns: 1fr;
            gap: 1rem;
        }

        .optional-diagnosis-section {
            padding: 1.75rem 1.5rem;
        }

        .periodic-table-shell {
            grid-template-columns: 1fr;
            gap: 2rem;
        }

        .periodic-table-shell .periodic-domain:last-child {
            grid-column: 1;
        }

        .periodic-domain-toggle {
            padding: 1.5rem;
        }

        .domain-toggle-text h3 {
            font-size: 1.1rem;
        }

        .domain-description {
            font-size: 0.85rem;
        }

        .domain-chevron {
            width: 36px;
            height: 36px;
            min-width: 36px;
            font-size: 1.2rem;
        }

        .periodic-elements {
            display: grid;
            gap: 1rem;
            padding: 1.5rem;
            grid-template-columns: 1fr;
        }

        .periodic-element {
            padding: 1rem 1.25rem;
            font-size: 0.9rem;
            min-height: 56px;
            display: flex;
            align-items: center;
        }

        .periodic-element.active {
            transform: scale(1.02);
        }

        .periodic-element.active::after {
            font-size: 1rem;
            top: 6px;
            right: 6px;
        }

        .results-badge {
            padding: 0.875rem 1.5rem;
            gap: 0.5rem;
        }

        .symptom-count {
            font-size: 2rem;
        }

        .symptom-label {
            font-size: 0.85rem;
        }

        .pill-grid button {
            min-height: 44px;
            padding: 0.75rem 1rem;
        }
    }

    @media (min-width: 641px) and (max-width: 1024px) {
        .matched-assessments {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media (min-width: 1025px) {
        .assessment-finder-step {
            padding: 2.5rem;
        }

        .optional-diagnosis-section {
            padding: 2.5rem;
        }
    }
    
    /* ========================================
       Symptom Matcher Styles
       ======================================== */
    .symptom-matcher-hero {
        padding: 60px 20px;
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        text-align: center;
    }
    
    .symptom-matcher-hero h1 {
        font-size: 2.5rem;
        margin-bottom: 1rem;
        color: #212529;
    }
    
    .symptom-matcher-hero .lede {
        font-size: 1.25rem;
        color: #495057;
        max-width: 700px;
        margin: 0 auto 2rem;
    }
    
    .disclaimer {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        max-width: 700px;
        margin: 0 auto;
        padding: 16px 20px;
        background: #fff3cd;
        border: 1px solid #ffc107;
        border-radius: 8px;
        text-align: left;
    }
    
    .disclaimer svg {
        flex-shrink: 0;
        color: #856404;
        margin-top: 2px;
    }
    
    .disclaimer p {
        margin: 0;
        font-size: 0.95rem;
        color: #856404;
    }
    
    .symptom-selector {
        padding: 60px 20px;
    }
    
    .symptom-selector-header {
        text-align: center;
        margin-bottom: 3rem;
    }
    
    .symptom-selector-header h2 {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }
    
    .section-subtitle {
        font-size: 1.1rem;
        color: #6c757d;
    }
    
    .symptom-domains {
        max-width: 900px;
        margin: 0 auto 2rem;
    }
    
    .symptom-domain {
        margin-bottom: 1rem;
        border: 1px solid #dee2e6;
        border-radius: 8px;
        background: #fff;
        overflow: hidden;
    }
    
    .symptom-domain.is-expanded {
        border-color: #0066cc;
    }
    
    .domain-toggle {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 20px 24px;
        background: none;
        border: none;
        cursor: pointer;
        text-align: left;
        transition: background-color 0.2s;
    }
    
    .domain-toggle:hover {
        background-color: #f8f9fa;
    }
    
    .domain-header h3 {
        font-size: 1.25rem;
        margin: 0 0 0.5rem 0;
        color: #212529;
    }
    
    .domain-description {
        margin: 0;
        font-size: 0.95rem;
        color: #6c757d;
    }
    
    .domain-arrow {
        flex-shrink: 0;
        transition: transform 0.3s;
        color: #6c757d;
    }
    
    .symptom-domain.is-expanded .domain-arrow {
        transform: rotate(180deg);
    }
    
    .symptom-list {
        padding: 0 24px 24px;
        display: grid;
        gap: 12px;
    }
    
    .symptom-checkbox {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 12px;
        border-radius: 6px;
        cursor: pointer;
        transition: background-color 0.2s;
    }
    
    .symptom-checkbox:hover {
        background-color: #f8f9fa;
    }
    
    .symptom-checkbox input[type="checkbox"] {
        margin-top: 2px;
        width: 18px;
        height: 18px;
        cursor: pointer;
    }
    
    .symptom-text {
        flex: 1;
        font-size: 0.95rem;
        color: #212529;
    }
    
    .symptom-actions {
        display: flex;
        justify-content: center;
        gap: 16px;
        margin-top: 2rem;
    }
    
    .validation-error {
        padding: 12px 20px;
        background: #f8d7da;
        border: 1px solid #f5c2c7;
        border-radius: 6px;
        color: #842029;
        text-align: center;
        margin-bottom: 1rem;
        animation: slideDown 0.3s ease-out;
    }
    
    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    .matched-assessments {
        padding: 60px 20px;
        background: #f8f9fa;
    }
    
    .matched-assessments h2 {
        text-align: center;
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }
    
    .matched-assessments .section-subtitle {
        text-align: center;
        margin-bottom: 3rem;
    }
    
.assessment-matches {
    display: grid;
    gap: 24px;
    max-width: 900px;
    margin: 0 auto 2rem;
}

.match-section-heading {
    font-size: 1.125rem;
    font-weight: 600;
    color: #343a40;
    margin: 0 0 1rem 0;
}

.match-grid {
    display: grid;
    gap: 24px;
}

.match-grid + .match-section-heading {
    margin-top: 2rem;
}
    
    .assessment-match {
        padding: 24px;
        background: #fff;
        border: 2px solid #dee2e6;
        border-radius: 12px;
        position: relative;
    }
    
    .assessment-match.match-high {
        border-color: #28a745;
        box-shadow: 0 4px 12px rgba(40, 167, 69, 0.1);
    }
    
    .assessment-match.match-medium {
        border-color: #0066cc;
    }
    
    .match-badge {
        margin-bottom: 12px;
    }
    
    .badge-best,
    .badge-good {
        display: inline-block;
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 0.85rem;
        font-weight: 600;
    }
    
    .badge-best {
        background: #28a745;
        color: #fff;
    }
    
    .badge-good {
        background: #0066cc;
        color: #fff;
    }
    
    .assessment-match h3 {
        font-size: 1.5rem;
        margin: 0 0 0.5rem 0;
    }
    
    .assessment-category {
        font-size: 0.9rem;
        color: #6c757d;
        margin: 0 0 1rem 0;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .assessment-fit {
        margin: 0 0 1rem 0;
        color: #495057;
    }
    
    .assessment-helps {
        margin: 1rem 0;
        padding-left: 20px;
    }
    
    .assessment-helps li {
        margin-bottom: 0.5rem;
        color: #495057;
    }
    
    .assessment-actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 1.5rem;
        padding-top: 1.5rem;
        border-top: 1px solid #dee2e6;
    }
    
    .assessment-price {
        font-size: 1.25rem;
        font-weight: 700;
        color: #212529;
    }
    
    .all-assessments-link {
        text-align: center;
        margin-top: 2rem;
    }
    
    .no-matches {
        text-align: center;
        padding: 40px;
        color: #6c757d;
    }
    
    @media (max-width: 768px) {
        .symptom-matcher-hero h1 {
            font-size: 2rem;
        }
        
        .symptom-actions {
            flex-direction: column;
        }
        
        .symptom-actions button {
            width: 100%;
        }
    }

    @media (max-width: 1239px) {
        .site-header .header-inner {
            width: 100% !important;
            min-height: 70px !important;
            height: auto !important;
            padding: 12px 1.25rem !important;
            position: relative !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            flex-wrap: wrap !important;
            gap: 0.75rem !important;
        }

        .site-header .site-logo {
            position: static !important;
            width: auto !important;
            max-width: calc(100% - 64px) !important;
        }

        .site-header .site-logo__box {
            width: clamp(12.75rem, 48vw, 13.5rem) !important;
            min-height: 52px !important;
            padding: 0.45rem 1rem !important;
        }

        .site-header .site-logo__image,
        .site-header .site-logo__image--header {
            max-width: clamp(182px, 40vw, 196px) !important;
            max-height: 34px !important;
        }

        .site-header .nav-toggle {
            display: inline-flex !important;
            flex-direction: column !important;
            flex: 0 0 auto !important;
            order: 3 !important;
            margin-left: 0 !important;
        }

        .site-header .header-call-button {
            position: static !important;
            right: auto !important;
            top: auto !important;
            order: 2 !important;
            margin-left: auto !important;
            margin-right: 0.75rem !important;
            min-height: 44px !important;
            font-size: 15px !important;
            white-space: nowrap !important;
        }

        .site-header .primary-nav {
            position: static !important;
            inset: auto !important;
            order: 3 !important;
            width: 100% !important;
            display: none !important;
        }

        .nav-open .site-header .primary-nav {
            display: block !important;
        }

        .site-header .primary-nav .menu {
            position: static !important;
            width: 100% !important;
            height: auto !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            gap: 0.35rem !important;
            padding: 1rem 0 0 !important;
        }

        .site-header .primary-nav .menu > .menu-item:nth-child(n) {
            position: static !important;
            left: auto !important;
            top: auto !important;
            width: 100% !important;
            height: auto !important;
            margin: 0 !important;
        }

        .site-header .primary-nav .menu li a,
        .site-header .primary-nav .menu li button {
            width: 100% !important;
            height: auto !important;
            min-height: 24px !important;
            padding: 0.5rem 0 !important;
            justify-content: space-between !important;
            text-align: left !important;
            white-space: normal !important;
        }

        .site-header .menu-item--has-caret > a,
        .site-header .menu-item--has-caret > .menu-trigger {
            padding-right: 1.1rem !important;
        }

        .site-header .menu-item--has-caret > a::after,
        .site-header .menu-item--has-caret > .menu-trigger::after {
            right: 0 !important;
        }

        .site-header .primary-nav .sub-menu {
            position: static !important;
            min-width: 0 !important;
            margin-top: 0.5rem !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            display: block !important;
            background: transparent !important;
        }

        .site-header .primary-nav .sub-menu li a {
            padding: 0.35rem 0 0.35rem 0.9rem !important;
            color: var(--warm-white) !important;
        }
    }

    @media (min-width: 1240px) {
        .site-header .nav-toggle {
            display: none !important;
        }

        .site-header .primary-nav {
            display: block !important;
        }
    }
}
