@import url("variables.css");
@import url("reset.css");
@import url("typography.css");
@import url("layout.css");
@import url("components.css");
@import url("forms.css");
@import url("responsive.css");

.page-hero h1 {
    font-size: clamp(2.55rem, 4.4vw, 3.5rem);
}

.button-primary,
.button-dark,
.button-primary:hover,
.button-dark:hover {
    box-shadow: none;
}

@media (max-width: 900px) {
    .menu-toggle {
        margin-left: auto;
    }
}

/* Two-level corporate navigation */
.site-header {
    background: #fff;
    border-bottom: 1px solid #dfe7ef;
    box-shadow: none;
}

.site-header.is-scrolled {
    box-shadow: 0 8px 24px rgba(11, 41, 72, .08);
}

.header-topbar {
    min-height: 40px;
    background: #08182c;
    color: #dce7f1;
}

.header-topbar-inner {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.topbar-contact,
.topbar-social {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.topbar-contact a,
.topbar-contact span {
    display: inline-flex;
    align-items: center;
    gap: .48rem;
    color: #dce7f1;
    font-size: .73rem;
}

.topbar-contact svg {
    width: 15px;
    height: 15px;
    color: #86a9c7;
}

.topbar-social a {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 6px;
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.topbar-social svg {
    width: 15px;
    height: 15px;
}

.nav-shell {
    min-height: 82px;
}

.brand {
    min-width: 220px;
}

.brand img {
    width: 50px;
    height: 50px;
}

.main-nav {
    gap: .18rem;
}

.main-nav > a,
.mega-wrap > a,
.nav-dropdown > a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: .38rem;
    padding: 0 .9rem;
    border-radius: 9px;
    color: #223044;
    font-size: .79rem;
    font-weight: 650;
    white-space: nowrap;
    transition: background var(--ease), color var(--ease);
}

.main-nav > a::after,
.mega-wrap > a::after {
    display: none;
}

.main-nav > a:hover,
.mega-wrap > a:hover,
.nav-dropdown > a:hover,
.main-nav > a.is-active,
.mega-wrap > a.is-active,
.nav-dropdown > a.is-active {
    background: #f1f5f9;
    color: var(--primary);
}

.main-nav > a.is-active,
.mega-wrap > a.is-active,
.nav-dropdown > a.is-active {
    position: relative;
}

.main-nav > a.is-active::before,
.mega-wrap > a.is-active::before,
.nav-dropdown > a.is-active::before {
    position: absolute;
    right: 16px;
    bottom: 4px;
    left: 16px;
    height: 2px;
    border-radius: 3px;
    background: var(--accent);
    content: "";
}

.mega-wrap > a svg,
.nav-dropdown > a svg {
    width: 14px;
    height: 14px;
    transition: transform var(--ease);
}

.mega-wrap:hover > a svg,
.mega-wrap.is-open > a svg,
.nav-dropdown:hover > a svg {
    transform: rotate(180deg);
}

.mega-menu {
    top: 122px;
    padding-top: 2.2rem;
    padding-bottom: 2.2rem;
    border-top: 1px solid #dfe7ef;
    border-bottom: 3px solid var(--secondary);
    box-shadow: 0 20px 40px rgba(11, 41, 72, .1);
}

.mega-intro > a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.mega-intro > a svg {
    width: 16px;
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown-menu {
    position: absolute;
    z-index: 110;
    top: calc(100% + 10px);
    left: 0;
    width: 310px;
    padding: .55rem;
    border: 1px solid #dfe7ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(11, 41, 72, .11);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity var(--ease), visibility var(--ease), transform var(--ease);
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.nav-dropdown-menu a {
    display: flex;
    flex-direction: column;
    padding: .85rem .95rem;
    border-radius: 8px;
}

.nav-dropdown-menu a:hover {
    background: #f4f7fa;
}

.nav-dropdown-menu span {
    color: var(--primary-dark);
    font-size: .83rem;
    font-weight: 750;
}

.nav-dropdown-menu small {
    margin-top: .18rem;
    color: var(--text-secondary);
    font-size: .68rem;
}

.nav-actions {
    gap: .5rem;
    margin-left: 1.5rem;
}

.nav-search-toggle {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 9px;
    background: #f3f6f9;
    color: var(--primary-dark);
    cursor: pointer;
}

.nav-search-toggle:hover,
.nav-search-toggle[aria-expanded="true"] {
    background: var(--primary-light);
    color: var(--secondary);
}

.nav-search-toggle svg {
    width: 20px;
    height: 20px;
}

.nav-actions .button {
    min-height: 44px;
    padding-inline: 1.15rem;
    border-radius: 8px;
    box-shadow: none;
    font-size: .75rem;
}

.nav-quote-button {
    background: #168da5;
    color: #fff;
}

.nav-quote-button:hover {
    background: #10778d;
}

.nav-quote-button svg {
    width: 15px;
}

.nav-contact-button {
    background: #1768c4;
    color: #fff;
}

.nav-contact-button:hover {
    background: #0f58a8;
}

.nav-search-panel {
    position: absolute;
    z-index: 120;
    top: 100%;
    right: 0;
    left: 0;
    padding: 1.8rem 0 2.1rem;
    border-top: 1px solid #dfe7ef;
    border-bottom: 2px solid var(--secondary);
    background: #fff;
    box-shadow: none;
}

.nav-search-inner {
    max-width: 980px;
}

.nav-search-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.nav-search-head div {
    display: flex;
    flex-direction: column;
}

.nav-search-head span {
    color: var(--secondary);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.nav-search-head strong {
    margin-top: .3rem;
    color: var(--primary-dark);
    font-size: 1.3rem;
    letter-spacing: -.02em;
}

.nav-search-head small {
    margin-top: .32rem;
    color: #718096;
    font-size: .7rem;
}

.nav-search-head button {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid #e0e7ee;
    border-radius: 9px;
    background: #f7f9fb;
    color: var(--primary-dark);
    cursor: pointer;
}

.nav-search-head button:hover {
    border-color: #bfd0de;
    background: #eef4f8;
}

.nav-search-head svg {
    width: 18px;
}

.nav-search-field {
    display: grid;
    grid-template-columns: 24px 1fr 34px;
    align-items: center;
    gap: .65rem;
    margin-top: 1.15rem;
    padding: 0 .72rem 0 1rem;
    border: 1px solid #bac9d6;
    border-radius: 9px;
    background: #fff;
}

.nav-search-field:focus-within {
    border-color: var(--secondary);
    box-shadow: none;
}

.nav-search-field > svg {
    width: 20px;
    color: var(--secondary);
}

.nav-search-field input {
    min-width: 0;
    min-height: 56px;
    border: 0;
    background: transparent;
    color: var(--primary-dark);
    font-size: .88rem;
    outline: 0;
}

.nav-search-field input::placeholder {
    color: #8a96a6;
}

.nav-search-field button {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 7px;
    background: #f1f5f8;
    color: #667085;
    cursor: pointer;
}

.nav-search-field button:hover {
    background: #e7eef4;
    color: var(--primary);
}

.nav-search-field button svg {
    width: 15px;
}

.nav-search-meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    margin: .78rem .1rem .68rem;
}

.nav-search-meta p {
    display: flex;
    align-items: baseline;
    gap: .55rem;
    margin: 0;
}

.nav-search-meta p strong {
    color: var(--primary-dark);
    font-size: .72rem;
}

.nav-search-meta p span {
    color: #7a8797;
    font-size: .65rem;
}

.nav-search-results {
    display: grid;
    max-height: 228px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    overflow-y: auto;
    padding-right: .2rem;
    scrollbar-color: #b9c8d5 transparent;
    scrollbar-width: thin;
}

.nav-search-results a {
    display: grid;
    min-height: 68px;
    grid-template-columns: 30px minmax(0, 1fr) 16px;
    align-items: center;
    gap: .65rem;
    padding: .68rem .72rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    transition: border-color var(--ease), background var(--ease);
}

.nav-search-results a:hover,
.nav-search-results a:focus-visible {
    border-color: #91b9d3;
    background: #f5f9fc;
    outline: 0;
}

.nav-search-results a > svg:first-child {
    width: 19px;
    color: var(--secondary);
}

.nav-search-results a > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.nav-search-results strong {
    color: var(--primary-dark);
    font-size: .73rem;
    font-weight: 750;
    line-height: 1.35;
}

.nav-search-results small {
    margin-top: .14rem;
    color: var(--secondary);
    font-size: .61rem;
    font-weight: 750;
}

.nav-search-result-arrow {
    width: 14px !important;
    color: #9aabba !important;
}

.nav-search-results a:hover .nav-search-result-arrow,
.nav-search-results a:focus-visible .nav-search-result-arrow {
    color: var(--secondary) !important;
}

.nav-search-empty {
    display: grid;
    min-height: 112px;
    place-items: center;
    align-content: center;
    gap: .3rem;
    margin: 0;
    border: 1px dashed #c7d4df;
    border-radius: 8px;
    color: #718096;
    text-align: center;
}

.nav-search-empty svg {
    width: 21px;
    color: var(--secondary);
}

.nav-search-empty strong {
    color: var(--primary-dark);
    font-size: .76rem;
}

.nav-search-empty span {
    font-size: .66rem;
}

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

@media (max-width: 1180px) and (min-width: 901px) {
    .brand {
        min-width: 180px;
    }

    .main-nav > a,
    .mega-wrap > a,
    .nav-dropdown > a {
        padding-inline: .65rem;
    }

    .nav-actions {
        margin-left: .65rem;
    }

    .nav-contact-button {
        display: none;
    }
}

/* CTN monochrome brand system */
html,
body {
    background: #fff;
}

.site-header {
    border-bottom-color: #e5e5e5;
}

.site-header.is-scrolled {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
}

.header-topbar,
.site-footer {
    background: #0b0b0b;
}

.header-topbar,
.topbar-contact a,
.topbar-contact span,
.topbar-actions a,
.footer-grid a,
.footer-grid p {
    color: #d8d8d8;
}

.topbar-contact svg,
.topbar-actions svg,
.topbar-actions a:first-child svg,
.footer-grid h2,
.brand--footer small,
.footer-bottom {
    color: #9a9a9a;
}

.topbar-actions a + a,
.footer-bottom,
.footer-grid > div {
    border-color: #292929;
}

.main-nav > a,
.mega-wrap > a,
.nav-dropdown > a {
    color: #1b1b1b;
}

.main-nav > a:hover,
.mega-wrap > a:hover,
.nav-dropdown > a:hover,
.nav-dropdown-menu a:hover,
.nav-search-toggle,
.nav-search-toggle:hover,
.nav-search-toggle[aria-expanded="true"],
.nav-search-head button,
.nav-search-field button {
    background: #f4f4f4;
    color: #111;
}

.main-nav > a.is-active,
.mega-wrap > a.is-active,
.nav-dropdown > a.is-active,
.main-nav a:focus-visible {
    color: #111;
}

.main-nav > a.is-active::before,
.mega-wrap > a.is-active::before,
.nav-dropdown > a.is-active::before,
.hero--corporate .hero-kicker::before,
.mega-columns .mega-title::after {
    background: #111;
}

.nav-quote-button,
.nav-contact-button,
.button-primary,
.button-dark {
    border-color: #111;
    background: #111;
    color: #fff;
}

.nav-quote-button:hover,
.nav-contact-button:hover,
.button-primary:hover,
.button-dark:hover {
    border-color: #333;
    background: #333;
    color: #fff;
}

.button-secondary,
.button-outline {
    border-color: #b8b8b8;
    background: #fff;
    color: #171717;
}

.button-secondary:hover,
.button-outline:hover {
    border-color: #171717;
    color: #171717;
}

.mega-menu,
.nav-dropdown-menu,
.nav-action-menu,
.nav-search-panel,
.nav-search-head button,
.nav-search-field,
.nav-search-results a {
    border-color: #dedede;
}

.mega-menu {
    border-bottom-color: #111;
}

.mega-intro > span,
.mega-intro > a,
.nav-search-head span,
.nav-search-field > svg,
.nav-search-results a > svg:first-child,
.nav-search-results small,
.nav-search-empty svg {
    color: #333;
}

.mega-intro > a {
    border-bottom-color: #999;
}

.mega-intro > a:hover {
    border-bottom-color: #111;
    color: #111;
}

.mega-columns > div > a:not(.mega-title)::before {
    background: #333;
}

.mega-columns > div > a:not(.mega-title):hover {
    color: #111;
}

.nav-search-field:focus-within,
.search-box input:focus,
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus {
    border-color: #555;
    box-shadow: 0 0 0 4px rgba(0, 0, 0, .07);
}

.nav-search-results a:hover,
.nav-search-results a:focus-visible {
    border-color: #aaa;
    background: #f8f8f8;
}

.hero,
.hero--corporate,
.form-page,
.soft-section {
    background: #fff;
}

.soft-blue-section,
.page-hero,
.legal-hero,
.product-hero,
.principle-strip {
    background: #f5f5f5;
}

.page-hero::after {
    border-color: rgba(0, 0, 0, .045);
}

.hero::before {
    background: rgba(0, 0, 0, .035);
}

.hero--corporate .hero-kicker,
.hero--corporate .hero-copy h1 em,
.eyebrow,
.card-link,
.product-card-copy a,
.check-list span,
.accordion button svg,
.text-link {
    color: #222;
}

.hero--corporate .hero-copy h1,
.hero--corporate .hero-trust strong {
    color: #0b0b0b;
}

.hero--corporate .hero-trust,
.hero--corporate .hero-trust li {
    border-color: #dedede;
}

.hero-service-visual {
    border-color: #dedede;
    background: #fff;
}

.hero-service-visual > img {
    filter: grayscale(1) contrast(1.06) brightness(1.025);
}

.icon-box,
.hero-media-card > span,
.form-intro li span {
    background: #f0f0f0;
    color: #222;
}

.quick-card:hover,
.product-card:hover {
    border-color: #aaa;
}

.process-grid article,
.policy-note,
.legal-warning,
.mini-form {
    border-color: #d8d8d8;
}

.policy-note,
.legal-warning {
    border-left-color: #222;
    background: #f5f5f5;
}

.dark-section,
.final-cta,
.inline-cta,
.not-found {
    background: #111;
}

.final-cta p,
.final-cta span,
.inline-cta p,
.not-found p:not(.eyebrow) {
    color: #bdbdbd;
}

.footer-grid h2 {
    color: #a8a8a8;
}

.footer-grid a:hover {
    color: #fff;
}

.mobile-sticky {
    box-shadow: 0 -8px 22px rgba(0, 0, 0, .07);
}

@media (min-width: 901px) {
    .main-nav > a:hover,
    .mega-wrap > a:hover,
    .nav-dropdown > a:hover,
    .nav-search-toggle,
    .nav-quote-button:hover {
        background: #f5f5f5;
    }

    .main-nav > a.is-active,
    .mega-wrap > a.is-active,
    .nav-dropdown > a.is-active {
        color: #111;
    }

    .nav-quote-button {
        border-color: #d2d2d2;
        background: #fff;
        color: #171717;
    }

    .nav-contact-button {
        border-color: #111;
        background: #111;
        color: #fff;
    }
}

/* Flat header: no shadows or floating effects */
.site-header,
.site-header.is-scrolled,
.mega-menu,
.nav-dropdown-menu,
.nav-action-menu,
.nav-search-panel {
    box-shadow: none;
}

.brand img {
    box-shadow: none;
    filter: none;
}

.mega-menu,
.nav-dropdown-menu,
.nav-action-menu,
.nav-search-panel {
    border-color: #e1e7ed;
}

.nav-actions .button:hover,
.nav-search-toggle:hover {
    box-shadow: none;
    transform: none;
}

.main-nav a:focus-visible,
.menu-toggle:focus-visible,
.nav-search-toggle:focus-visible {
    outline: 0;
    box-shadow: none;
}

.main-nav a:focus-visible {
    color: var(--primary);
}

/* Refined mega menu hierarchy: white, quiet and editorial */
@media (min-width: 901px) {
    .mega-menu {
        top: 132px;
        grid-template-columns: 260px minmax(0, 1fr);
        gap: 2.8rem;
        padding: 1.9rem max(var(--gutter), calc((100vw - var(--container)) / 2)) 2rem;
        border-top: 1px solid #dbe4ec;
        border-bottom: 2px solid #178fba;
        background: #fff;
        box-shadow: none;
    }

    .mega-intro {
        padding: .25rem 2.4rem .35rem 0;
        border-right: 1px solid #dbe4ec;
        background: transparent;
    }

    .mega-intro > span {
        color: #1688bd;
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .15em;
    }

    .mega-intro > strong {
        margin: .82rem 0 1.45rem;
        color: var(--primary-dark);
        font-size: 1.52rem;
        line-height: 1.26;
        letter-spacing: -.03em;
    }

    .mega-intro > a {
        padding-bottom: .3rem;
        border-bottom: 1px solid #9bc9dd;
        color: #167cae;
        font-size: .76rem;
        font-weight: 700;
    }

    .mega-intro > a:hover {
        border-bottom-color: #167cae;
        color: var(--primary);
    }

    .mega-columns {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 1.45rem;
        align-items: start;
        padding-top: .15rem;
    }

    .mega-columns > div {
        gap: .08rem;
        padding: 0;
        border: 0;
    }

    .mega-columns .mega-title {
        position: relative;
        margin-bottom: .48rem;
        padding: .2rem 0 .75rem;
        border-bottom: 1px solid #d4dee7;
        color: var(--primary-dark);
        font-size: .76rem;
        font-weight: 800;
        letter-spacing: -.01em;
    }

    .mega-columns .mega-title::after {
        position: absolute;
        bottom: -1px;
        left: 0;
        width: 30px;
        height: 2px;
        background: #1796bd;
        content: "";
    }

    .mega-columns > div > a:not(.mega-title) {
        position: relative;
        padding: .38rem 0 .38rem .72rem;
        color: #667085;
        font-size: .72rem;
        font-weight: 500;
        line-height: 1.4;
        transition: color var(--ease);
    }

    .mega-columns > div > a:not(.mega-title)::before {
        position: absolute;
        top: 50%;
        left: .08rem;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: #18a0b8;
        content: "";
        opacity: 0;
        transform: translateY(-50%);
        transition: opacity var(--ease);
    }

    .mega-columns > div > a:not(.mega-title):hover {
        color: #126f9f;
    }

    .mega-columns > div > a:not(.mega-title):hover::before {
        opacity: 1;
    }
}

@media (max-width: 1180px) and (min-width: 901px) {
    .mega-menu {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 1.35rem;
    }

    .mega-columns {
        gap: .7rem;
    }
}

/* Exact CTN Group logo placement */
a.brand--company {
    gap: 0;
}

a.brand--company img {
    display: block;
    border-radius: 0;
    background: #fff;
    object-fit: contain;
    object-position: center;
}

a.brand--header-logo {
    min-width: 105px;
}

a.brand--header-logo img {
    width: 64px;
    height: 72px;
}

a.brand--footer-logo {
    min-width: 0;
}

a.brand--footer-logo img {
    width: 78px;
    height: 88px;
}

@media (max-width: 1180px) and (min-width: 901px) {
    a.brand--header-logo {
        min-width: 78px;
    }
}

@media (max-width: 900px) {
    a.brand--header-logo {
        min-width: 0;
    }

    a.brand--header-logo img {
        width: 55px;
        height: 62px;
    }
}

/* Home hero: restrained corporate editorial layout */
.hero--corporate {
    padding: 0;
    border-bottom: 1px solid #dce5ec;
    background: #fff;
}

.hero--corporate::before {
    display: none;
}

.hero--corporate .hero-grid {
    min-height: 610px;
    grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr);
    gap: clamp(3.2rem, 6vw, 6.4rem);
}

.hero--corporate .hero-copy {
    padding: 5rem 0;
}

.hero--corporate .hero-kicker {
    gap: .65rem;
    color: #167fae;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.hero--corporate .hero-kicker::before {
    width: 34px;
    height: 2px;
    background: #18a0b8;
    content: "";
}

.hero--corporate .hero-copy h1 {
    max-width: 650px;
    margin: 1.2rem 0 1.35rem;
    color: #0b2948;
    font-size: clamp(3.25rem, 4.25vw, 4.45rem);
    font-weight: 780;
    line-height: 1.04;
    letter-spacing: -.048em;
}

.hero--corporate .hero-copy h1 em {
    color: #176e9e;
}

.hero--corporate .hero-copy > p:last-of-type {
    max-width: 570px;
    color: #607086;
    font-size: 1.02rem;
    line-height: 1.7;
}

.hero--corporate .hero-copy .button-row {
    margin-top: 1.8rem;
}

.hero--corporate .button {
    min-height: 50px;
    border-radius: 6px;
    box-shadow: none;
    transform: none;
}

.hero--corporate .hero-trust {
    display: grid;
    max-width: 590px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 2.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #d9e3eb;
}

.hero--corporate .hero-trust li {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: .12rem;
    padding: 0 1rem;
    border-left: 1px solid #d9e3eb;
}

.hero--corporate .hero-trust li:first-child {
    padding-left: 0;
    border-left: 0;
}

.hero--corporate .hero-trust strong {
    color: #0b2948;
    font-size: .78rem;
    font-weight: 800;
}

.hero--corporate .hero-trust span {
    color: #718096;
    font-size: .66rem;
    font-weight: 500;
}

.hero-service-visual {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0;
    border: 1px solid #d5e1e8;
    border-radius: 14px;
    background: #f6f7f6;
}

.hero-service-visual > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 900px) {
    .hero--corporate .hero-grid {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .hero--corporate .hero-copy {
        padding: 4rem 0 3rem;
    }

    .hero-service-visual {
        margin-bottom: 3rem;
    }
}

@media (max-width: 620px) {
    .hero--corporate .hero-copy {
        padding: 3rem 0 2.4rem;
    }

    .hero--corporate .hero-copy h1 {
        font-size: clamp(2.7rem, 13vw, 3.35rem);
    }

    .hero--corporate .hero-trust li {
        padding-inline: .65rem;
    }

    .hero-service-visual {
        aspect-ratio: 1.1 / 1;
        margin-bottom: 2.4rem;
        border-radius: 10px;
    }

    .hero-service-visual > img {
        object-position: 60% center;
    }

}

@media (max-width: 900px) {
    .header-topbar {
        display: none;
    }

    .nav-shell {
        min-height: 74px;
    }

    .brand {
        min-width: 0;
    }

    .brand img {
        width: 46px;
        height: 46px;
    }

    .brand span {
        display: flex;
    }

    .nav-actions {
        display: none;
    }

    .main-nav {
        top: 74px;
        justify-content: flex-start;
        padding-top: 2.2rem;
    }

    .main-nav > a,
    .mega-wrap > a,
    .nav-dropdown > a {
        width: 100%;
        min-height: 48px;
        justify-content: space-between;
        padding: .35rem .75rem;
        border-radius: 8px;
        font-size: 1.25rem;
    }

    .main-nav > a.is-active::before,
    .mega-wrap > a.is-active::before,
    .nav-dropdown > a.is-active::before {
        display: none;
    }

    .nav-dropdown {
        width: 100%;
    }

    .nav-dropdown-menu,
    .mega-menu {
        display: none;
    }

    .mobile-contact {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr 1fr;
        gap: .65rem;
    }

    .mobile-contact a {
        display: grid;
        min-height: 46px;
        place-items: center;
        border-radius: 8px;
        background: var(--primary);
        color: #fff;
        font-size: .76rem;
        font-weight: 750;
    }

    .mobile-contact a:last-child {
        border: 1px solid var(--border-strong);
        background: #fff;
        color: var(--primary);
    }
}

/* Reference-matched header proportions */
.header-topbar,
.header-topbar-inner {
    min-height: 50px;
}

.topbar-contact {
    gap: 1.75rem;
}

.topbar-contact a,
.topbar-contact span {
    font-size: .76rem;
}

.nav-shell {
    min-height: 82px;
}

.brand {
    min-width: 220px;
}

.brand img {
    width: 44px;
    height: 44px;
}

.brand strong {
    font-size: 1.16rem;
}

.main-nav {
    gap: .1rem;
    margin-right: auto;
    margin-left: 25px;
}

.main-nav > a,
.mega-wrap > a,
.nav-dropdown > a {
    min-height: 42px;
    padding-inline: .85rem;
    font-size: .82rem;
    font-weight: 600;
}

.mega-menu {
    top: 132px;
}

.nav-actions {
    flex: 0 0 auto;
    gap: .5rem;
    margin-left: 1.2rem;
}

.nav-actions .button {
    min-height: 42px;
    padding-inline: .8rem;
    font-size: .68rem;
    white-space: nowrap;
}

.nav-search-toggle {
    width: 42px;
    height: 42px;
}

.nav-action-dropdown {
    position: relative;
}

.nav-quote-button {
    width: 140px;
}

.nav-contact-button {
    width: 145px;
}

.nav-contact-button svg {
    width: 15px;
    height: 15px;
}

.nav-action-menu {
    position: absolute;
    z-index: 125;
    top: calc(100% + 10px);
    right: 0;
    width: 285px;
    padding: .55rem;
    border: 1px solid #dfe7ef;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(11, 41, 72, .11);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity var(--ease), visibility var(--ease), transform var(--ease);
}

.nav-action-dropdown:hover .nav-action-menu,
.nav-action-dropdown:focus-within .nav-action-menu {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.nav-action-menu > a {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    gap: .7rem;
    padding: .72rem .75rem;
    border-radius: 7px;
}

.nav-action-menu > a:hover {
    background: #f3f7fa;
}

.nav-action-menu > a > svg {
    width: 19px;
    color: var(--secondary);
}

.nav-action-menu span {
    display: flex;
    flex-direction: column;
}

.nav-action-menu strong {
    color: var(--primary-dark);
    font-size: .76rem;
}

.nav-action-menu small {
    margin-top: .08rem;
    color: var(--text-secondary);
    font-size: .65rem;
}

/* Corporate menu shares the same visual language as Quick Actions */
.nav-corporate-menu {
    top: calc(100% + 10px);
    left: 0;
    width: 285px;
    padding: .55rem;
    border: 1px solid #dfe7ef;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}

.nav-corporate-menu > a {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    gap: .7rem;
    padding: .72rem .75rem;
    border-radius: 7px;
}

.nav-corporate-menu > a:hover {
    background: #f3f7fa;
}

.nav-corporate-menu > a > svg {
    width: 19px;
    color: var(--secondary);
}

.nav-corporate-menu span {
    display: flex;
    flex-direction: column;
}

.nav-corporate-menu strong {
    color: var(--primary-dark);
    font-size: .76rem;
}

.nav-corporate-menu small {
    margin-top: .08rem;
    color: var(--text-secondary);
    font-size: .65rem;
}

@media (max-width: 1180px) and (min-width: 901px) {
    .brand {
        min-width: 150px;
    }

    .main-nav {
        margin-left: 10px;
    }

    .main-nav > a,
    .mega-wrap > a,
    .nav-dropdown > a {
        padding-inline: .4rem;
        font-size: .74rem;
    }

    .nav-search-toggle,
    .nav-contact-button {
        display: none;
    }

    .nav-quote-button {
        width: 124px;
    }
}

@media (max-width: 900px) {
    .header-topbar {
        display: none;
    }

    .nav-shell {
        min-height: 74px;
    }

    .brand {
        min-width: 0;
    }

    .brand img {
        width: 46px;
        height: 46px;
    }

    .main-nav {
        margin: 0;
    }
}

.site-header {
    border-bottom-color: #198bd0;
}

/* Useful quick-access bar */
.topbar-brand {
    color: #fff !important;
    font-weight: 700;
}

.topbar-note {
    padding-left: 1.35rem;
    border-left: 1px solid rgba(255, 255, 255, .16);
    color: #9fb2c5 !important;
}

.topbar-actions {
    display: flex;
    min-height: 50px;
    align-items: stretch;
    margin-left: auto;
}

.topbar-actions a {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    gap: .48rem;
    padding: 0 1rem;
    border-left: 1px solid rgba(255, 255, 255, .1);
    color: #dce7f1;
    font-size: .72rem;
    font-weight: 600;
    transition: background var(--ease), color var(--ease);
}

.topbar-actions a:last-child {
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.topbar-actions a:hover {
    background: rgba(255, 255, 255, .09);
    color: #fff;
}

.topbar-actions a:first-child {
    background: rgba(33, 150, 181, .16);
    color: #fff;
}

.topbar-actions a:first-child:hover {
    background: rgba(33, 150, 181, .28);
}

.topbar-actions svg {
    width: 15px;
    height: 15px;
    color: #7fabc9;
}

.topbar-actions a:first-child svg {
    color: #65c7d6;
}

@media (max-width: 1100px) and (min-width: 901px) {
    .topbar-note {
        display: none;
    }

    .topbar-actions a {
        padding-inline: .7rem;
        font-size: .68rem;
    }
}

/* Reference navigation: plain links, soft active item */
@media (min-width: 901px) {
    .site-header {
        border-bottom-color: #e4eaf0;
    }

    .main-nav {
        gap: .18rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .main-nav > a,
    .mega-wrap > a,
    .nav-dropdown > a {
        position: relative;
        min-height: 42px;
        padding-inline: .88rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #172033;
        font-size: .82rem;
        font-weight: 500;
    }

    .main-nav > a:hover,
    .mega-wrap > a:hover,
    .nav-dropdown > a:hover {
        border-radius: 9px;
        background: #f7f9fb;
        color: var(--primary);
    }

    .main-nav > a.is-active,
    .mega-wrap > a.is-active,
    .nav-dropdown > a.is-active {
        border-radius: 0;
        background: transparent;
        color: var(--secondary);
        font-weight: 600;
    }

    .main-nav > a.is-active::before,
    .mega-wrap > a.is-active::before,
    .nav-dropdown > a.is-active::before {
        display: block;
        right: auto;
        bottom: 4px;
        left: 50%;
        width: 24px;
        height: 2px;
        border-radius: 3px;
        background: #16a2be;
        transform: translateX(-50%);
    }

    .nav-search-toggle {
        background: #f5f7f9;
    }

    .nav-quote-button {
        border: 1px solid #d6e0e8;
        background: #fff;
        color: var(--primary);
    }

    .nav-quote-button:hover {
        border-color: #aac3d7;
        background: #f8fafc;
        color: var(--primary);
    }

    .nav-contact-button {
        background: var(--primary);
        color: #fff;
    }

    .nav-contact-button:hover {
        background: var(--primary-dark);
    }
}

@media (max-width: 1180px) and (min-width: 901px) {
    .main-nav {
        gap: .1rem;
    }

    .main-nav > a,
    .mega-wrap > a,
    .nav-dropdown > a {
        padding-inline: .58rem;
        font-size: .73rem;
    }
}

/* Keep late component refinements inside the monochrome palette */
.site-header {
    border-bottom-color: #dedede;
}

.header-topbar {
    background: #0b0b0b;
}

.topbar-note,
.topbar-actions a,
.topbar-actions svg,
.topbar-actions a:first-child svg {
    color: #c7c7c7 !important;
}

.topbar-actions a:first-child {
    background: rgba(255, 255, 255, .07);
}

.topbar-actions a:first-child:hover {
    background: rgba(255, 255, 255, .12);
}

.nav-action-menu,
.nav-corporate-menu {
    border-color: #dedede;
}

.nav-action-menu > a:hover,
.nav-corporate-menu > a:hover {
    background: #f4f4f4;
}

.hero--corporate {
    border-bottom-color: #e2e2e2;
    background: #fff;
}

.hero--corporate .hero-kicker,
.hero--corporate .hero-copy h1 em {
    color: #222;
}

.hero--corporate .hero-kicker::before {
    background: #111;
}

.hero--corporate .hero-copy h1,
.hero--corporate .hero-trust strong {
    color: #0b0b0b;
}

.hero--corporate .hero-trust,
.hero--corporate .hero-trust li {
    border-color: #dedede;
}

.hero-service-visual {
    border-color: #dedede;
    background: #fff;
}

.hero-service-visual > img {
    filter: grayscale(1) contrast(1.06) brightness(1.025);
}

.hero-trust li,
.breadcrumb,
.nav-search-head small,
.nav-search-meta p span,
.nav-search-empty {
    color: #6d6d6d;
}

.hero-media::before {
    border-color: rgba(0, 0, 0, .12);
}

.process-grid article > span,
.final-cta p,
.final-cta span,
.inline-cta p {
    color: #aaa;
}

.partner-visual > span {
    border-color: #d0d0d0;
    color: #222;
}

.partner-visual > i {
    border-color: #c8c8c8;
}

.not-found .container > span {
    color: #333;
}

.not-found p:not(.eyebrow) {
    color: #c9c9c9;
}

.form-grid label > span {
    color: #444;
}

@media (min-width: 901px) {
    .site-header {
        border-bottom-color: #dedede;
    }

    .main-nav > a:hover,
    .mega-wrap > a:hover,
    .nav-dropdown > a:hover,
    .nav-search-toggle,
    .nav-quote-button:hover {
        background: #f5f5f5;
    }

    .main-nav > a.is-active,
    .mega-wrap > a.is-active,
    .nav-dropdown > a.is-active {
        color: #111;
    }

    .main-nav > a.is-active::before,
    .mega-wrap > a.is-active::before,
    .nav-dropdown > a.is-active::before {
        background: #111;
    }

    .nav-quote-button {
        border-color: #d2d2d2;
        background: #fff;
        color: #171717;
    }

    .nav-quote-button:hover {
        border-color: #aaa;
        color: #111;
    }

    .nav-contact-button,
    .nav-contact-button:hover {
        border-color: #111;
        background: #111;
        color: #fff;
    }

    .mega-menu {
        border-bottom-color: #111;
    }

    .mega-intro > span,
    .mega-intro > a {
        color: #333;
    }

    .mega-intro > a {
        border-bottom-color: #999;
    }

    .mega-columns .mega-title::after,
    .mega-columns > div > a:not(.mega-title)::before {
        background: #222;
    }

    .mega-columns > div > a:not(.mega-title):hover {
        color: #111;
    }
}

/* Immediate post-hero route finder */
.insurance-finder {
    padding: 2.45rem 0 2.35rem;
    border-bottom: 1px solid #dedede;
    background: #fff;
}

.insurance-finder-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(285px, .42fr);
    align-items: end;
    gap: 3rem;
    margin-bottom: 1.55rem;
}

.insurance-finder-heading {
    display: flex;
    flex-direction: column;
}

.insurance-finder-heading > span {
    color: #777;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.insurance-finder-heading h2 {
    max-width: 650px;
    margin-top: .58rem;
    color: #111;
    font-size: clamp(1.55rem, 2.1vw, 2rem);
    font-weight: 740;
    line-height: 1.15;
    letter-spacing: -.035em;
}

.insurance-finder-help {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    padding-left: 1.35rem;
    border-left: 1px solid #d7d7d7;
    color: #222;
}

.insurance-finder-help > span,
.insurance-finder-help > strong {
    grid-column: 1;
}

.insurance-finder-help > span {
    color: #777;
    font-size: .63rem;
    line-height: 1.45;
}

.insurance-finder-help > strong {
    margin-top: .38rem;
    font-size: .75rem;
    font-weight: 750;
}

.insurance-finder-help svg {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: end;
    width: 16px;
    height: 16px;
    transition: transform var(--ease);
}

.insurance-finder-help:hover svg,
.insurance-finder-help:focus-visible svg {
    transform: translateX(3px);
}

.insurance-finder-links {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid #cfcfcf;
    border-bottom: 1px solid #cfcfcf;
    border-left: 1px solid #dedede;
}

.insurance-finder-links a {
    position: relative;
    display: grid;
    min-height: 142px;
    min-width: 0;
    grid-template-columns: 38px minmax(0, 1fr) 15px;
    grid-template-rows: auto 1fr;
    align-items: center;
    gap: .85rem .7rem;
    padding: 1rem 1.05rem 1.15rem;
    border-right: 1px solid #dedede;
    color: #222;
    transition: background-color var(--ease), color var(--ease);
}

.insurance-finder-links a:hover,
.insurance-finder-links a:focus-visible {
    background: #111;
    color: #fff;
    outline: 0;
}

.insurance-finder-index {
    grid-column: 1 / -1;
    color: #999;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.insurance-finder-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #d5d5d5;
    border-radius: 50%;
    color: #333;
}

.insurance-finder-icon svg {
    width: 18px;
    height: 18px;
}

.insurance-finder-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.insurance-finder-copy strong {
    font-size: .78rem;
    font-weight: 760;
}

.insurance-finder-copy small {
    margin-top: .28rem;
    overflow: hidden;
    color: #777;
    font-size: .6rem;
    line-height: 1.4;
    text-overflow: ellipsis;
}

.insurance-finder-links a > svg:last-child {
    width: 14px;
    height: 14px;
    color: #999;
    transition: transform var(--ease);
}

.insurance-finder-links a:hover .insurance-finder-index,
.insurance-finder-links a:focus-visible .insurance-finder-index,
.insurance-finder-links a:hover .insurance-finder-copy small,
.insurance-finder-links a:focus-visible .insurance-finder-copy small {
    color: #aaa;
}

.insurance-finder-links a:hover .insurance-finder-icon,
.insurance-finder-links a:focus-visible .insurance-finder-icon {
    border-color: #555;
    color: #fff;
}

.insurance-finder-links a:hover > svg:last-child,
.insurance-finder-links a:focus-visible > svg:last-child {
    color: #fff;
    transform: translate(2px, -2px);
}

@media (max-width: 1100px) {
    .insurance-finder-links a {
        grid-template-columns: 34px minmax(0, 1fr) 14px;
        padding-inline: .75rem;
    }
}

@media (max-width: 900px) {
    .insurance-finder {
        padding: 2rem 0;
    }

    .insurance-finder-head {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        margin-bottom: 1.3rem;
    }

    .insurance-finder-help {
        padding: 1rem 0 0;
        border-top: 1px solid #dedede;
        border-left: 0;
    }

    .insurance-finder-help svg {
        align-self: center;
    }

    .insurance-finder-links {
        grid-template-columns: repeat(5, 205px);
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .insurance-finder-links a {
        min-height: 132px;
        scroll-snap-align: start;
    }
}

@media (max-width: 620px) {
    .insurance-finder-heading h2 {
        font-size: 1.5rem;
    }
}

/* Post-policy service hub */
.home-support-hub {
    position: relative;
    overflow: hidden;
    background: #0b0b0b;
    color: #fff;
}

.home-support-hub::after {
    position: absolute;
    bottom: -.3em;
    left: -.08em;
    color: rgba(255, 255, 255, .025);
    content: "CTN";
    font-size: clamp(12rem, 24vw, 25rem);
    font-weight: 850;
    line-height: .75;
    letter-spacing: -.09em;
    pointer-events: none;
}

.home-support-layout {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 590px;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
}

.home-support-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5.5rem clamp(2rem, 5vw, 5rem) 5.5rem 0;
    border-right: 1px solid rgba(255, 255, 255, .16);
}

.home-support-kicker {
    color: #a7a7a7;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.home-support-intro h2 {
    max-width: 510px;
    margin-top: 1.2rem;
    font-size: clamp(2.8rem, 4.35vw, 4.35rem);
    font-weight: 760;
    line-height: .98;
    letter-spacing: -.055em;
}

.home-support-intro > p:not(.home-support-kicker) {
    max-width: 510px;
    margin-top: 1.65rem;
    color: #b8b8b8;
    font-size: .95rem;
    line-height: 1.75;
}

.home-support-intro > a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .55rem;
    margin-top: 2rem;
    padding-bottom: .4rem;
    border-bottom: 1px solid #777;
    color: #fff;
    font-size: .75rem;
    font-weight: 750;
}

.home-support-intro > a:hover {
    border-color: #fff;
}

.home-support-intro > a svg {
    width: 15px;
    height: 15px;
}

.home-support-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-support-actions > a {
    position: relative;
    display: flex;
    min-height: 295px;
    flex-direction: column;
    padding: 2rem;
    border-right: 1px solid rgba(255, 255, 255, .16);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    color: #fff;
    transition: background-color var(--ease), color var(--ease);
}

.home-support-actions > a:nth-child(even) {
    border-right: 0;
}

.home-support-actions > a:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.home-support-actions > a:hover,
.home-support-actions > a:focus-visible {
    background: #fff;
    color: #111;
    outline: 0;
}

.home-support-actions > a > span {
    color: #7f7f7f;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.home-support-actions > a > svg:not(:last-child) {
    width: 27px;
    height: 27px;
    margin-top: 2.2rem;
    color: #c7c7c7;
}

.home-support-actions h3 {
    margin-top: 1.15rem;
    font-size: 1.05rem;
    font-weight: 720;
    letter-spacing: -.02em;
}

.home-support-actions p {
    max-width: 290px;
    margin-top: .65rem;
    color: #969696;
    font-size: .73rem;
    line-height: 1.65;
}

.home-support-actions > a > svg:last-child {
    position: absolute;
    top: 1.8rem;
    right: 1.8rem;
    width: 17px;
    height: 17px;
    color: #777;
    transition: transform var(--ease);
}

.home-support-actions > a:hover > svg:not(:last-child),
.home-support-actions > a:focus-visible > svg:not(:last-child),
.home-support-actions > a:hover > svg:last-child,
.home-support-actions > a:focus-visible > svg:last-child {
    color: #111;
}

/* Search-friendly editorial insurance guide */
.home-guides {
    background: #fff;
}

.home-guides-layout {
    display: grid;
    grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr);
    align-items: start;
    gap: clamp(3rem, 7vw, 7rem);
}

.home-guides-intro {
    position: sticky;
    top: 155px;
}

.home-guides-intro h2 {
    max-width: 450px;
    margin-top: .9rem;
    color: #111;
    font-size: clamp(2.4rem, 3.6vw, 3.6rem);
    font-weight: 750;
    line-height: 1.02;
    letter-spacing: -.052em;
}

.home-guides-intro > p:not(.eyebrow) {
    max-width: 440px;
    margin-top: 1.35rem;
    color: #666;
    font-size: .94rem;
    line-height: 1.75;
}

.home-guides-intro > span {
    display: block;
    max-width: 400px;
    margin-top: 1.6rem;
    padding-left: 1rem;
    border-left: 2px solid #222;
    color: #777;
    font-size: .68rem;
    line-height: 1.6;
}

.home-guide-list {
    border-top: 1px solid #bdbdbd;
}

.home-guide-list article {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 1.35rem;
    padding: 2rem .2rem 2.15rem;
    border-bottom: 1px solid #c9c9c9;
}

.home-guide-index {
    padding-top: .15rem;
    color: #9a9a9a;
    font-size: 1.4rem;
    font-weight: 650;
    letter-spacing: -.04em;
    transition: color var(--ease);
}

.home-guide-category {
    color: #777;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.home-guide-list h3 {
    max-width: 750px;
    margin-top: .52rem;
    color: #161616;
    font-size: clamp(1.15rem, 1.65vw, 1.45rem);
    font-weight: 720;
    line-height: 1.3;
    letter-spacing: -.025em;
}

.home-guide-list article > div > p:not(.home-guide-category) {
    max-width: 760px;
    margin-top: .72rem;
    color: #676767;
    font-size: .8rem;
    line-height: 1.75;
}

.home-guide-links {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1.2rem;
    margin-top: 1rem;
}

.home-guide-links a {
    padding-bottom: .2rem;
    border-bottom: 1px solid #8f8f8f;
    color: #222;
    font-size: .68rem;
    font-weight: 750;
}

.home-guide-links a:hover {
    border-color: #111;
    color: #000;
}

.home-guide-list article:hover .home-guide-index {
    color: #111;
}

@media (max-width: 900px) {
    .home-support-layout,
    .home-guides-layout {
        grid-template-columns: 1fr;
    }

    .home-support-intro {
        padding: 4.5rem 0 3.5rem;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .16);
    }

    .home-guides-intro {
        position: static;
    }
}

@media (max-width: 620px) {
    .home-support-actions {
        grid-template-columns: 1fr;
    }

    .home-support-actions > a {
        min-height: 235px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .16);
    }

    .home-support-actions > a:nth-last-child(2) {
        border-bottom: 1px solid rgba(255, 255, 255, .16);
    }

    .home-support-actions > a:last-child {
        border-bottom: 0;
    }

    .home-guide-list article {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: .85rem;
        padding-block: 1.6rem;
    }

    .home-guide-index {
        font-size: 1rem;
    }
}

/* Categorized home product showcase */
.products-showcase {
    background: #fff;
}

.products-showcase-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 3rem;
}

.products-showcase-head h2 {
    max-width: 760px;
    margin-top: .85rem;
    color: #111;
    font-size: clamp(2.55rem, 4vw, 4rem);
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.055em;
}

.products-showcase-head > div > p:last-child {
    max-width: 650px;
    margin-top: 1.15rem;
    color: #6c6c6c;
    font-size: .9rem;
    line-height: 1.7;
}

.products-showcase-all {
    display: inline-flex;
    align-items: center;
    gap: 1.2rem;
    padding: .9rem 0 .45rem 1.25rem;
    border-bottom: 1px solid #888;
    color: #1a1a1a;
    font-size: .72rem;
    font-weight: 750;
}

.products-showcase-all:hover {
    border-color: #111;
}

.products-showcase-all svg {
    width: 16px;
    height: 16px;
    transition: transform var(--ease);
}

.products-showcase-all:hover svg {
    transform: translate(2px, -2px);
}

.products-showcase-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    margin-top: 2.5rem;
    margin-bottom: 1.15rem;
}

.products-showcase-filters {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border: 1px solid #d4d4d4;
}

.products-showcase-filters button {
    display: grid;
    min-height: 62px;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    padding: .75rem .9rem;
    border-right: 1px solid #d4d4d4;
    background: #fff;
    color: #555;
    cursor: pointer;
    text-align: left;
    transition: background-color var(--ease), color var(--ease);
}

.products-showcase-filters button:last-child {
    border-right: 0;
}

.products-showcase-filters button:hover,
.products-showcase-filters button:focus-visible {
    background: #f1f1f1;
    color: #111;
    outline: 0;
}

.products-showcase-filters button.is-active {
    background: #111;
    color: #fff;
}

.products-showcase-filters button > svg {
    width: 18px;
    height: 18px;
}

.products-showcase-filters button > span {
    overflow: hidden;
    font-size: .7rem;
    font-weight: 720;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-showcase-filters button > small {
    display: grid;
    min-width: 21px;
    height: 21px;
    place-items: center;
    border: 1px solid #d0d0d0;
    border-radius: 50%;
    color: #777;
    font-size: .52rem;
    font-weight: 800;
}

.products-showcase-filters button.is-active > small {
    border-color: #555;
    color: #d0d0d0;
}

.products-showcase-status {
    display: flex;
    min-width: 105px;
    align-items: baseline;
    justify-content: flex-end;
    gap: .38rem;
    margin: 0;
    color: #777;
    white-space: nowrap;
}

.products-showcase-status strong {
    color: #111;
    font-size: 1.2rem;
    font-weight: 760;
}

.products-showcase-status span {
    font-size: .58rem;
    font-weight: 650;
}

.product-showcase-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid #bdbdbd;
    border-left: 1px solid #d6d6d6;
}

.product-card.product-card--showcase {
    min-height: 345px;
    padding: 0;
    border: 0;
    border-right: 1px solid #d6d6d6;
    border-bottom: 1px solid #d6d6d6;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    transform: none;
    transition: background-color var(--ease), color var(--ease);
}

.product-card.product-card--showcase:hover,
.product-card.product-card--showcase:focus-within {
    border-color: #d6d6d6;
    background: #111;
    box-shadow: none;
    transform: none;
}

.product-card--showcase > a {
    display: flex;
    width: 100%;
    min-height: 345px;
    flex-direction: column;
    padding: 1.55rem;
    color: #111;
}

.product-card--showcase > a:focus-visible {
    outline: 2px solid #111;
    outline-offset: -5px;
}

.product-showcase-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.product-showcase-card-head > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}

.product-showcase-card-head small {
    color: #999;
    font-size: .57rem;
    font-weight: 750;
}

.product-showcase-card-head strong {
    padding-left: .55rem;
    border-left: 1px solid #cfcfcf;
    color: #555;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.product-showcase-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid #cfcfcf;
    color: #222;
}

.product-showcase-icon svg {
    width: 21px;
    height: 21px;
}

.product-showcase-card-copy {
    margin-top: 2.25rem;
}

.product-showcase-card-copy > p {
    color: #858585;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.product-card--showcase .product-showcase-card-copy h3 {
    max-width: 250px;
    margin-top: .55rem;
    color: #111;
    font-size: 1.25rem;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -.03em;
}

.product-showcase-card-copy > span {
    display: block;
    margin-top: .9rem;
    color: #707070;
    font-size: .76rem;
    line-height: 1.65;
}

.product-card--showcase footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid #dedede;
    color: #222;
    font-size: .68rem;
    font-weight: 750;
}

.product-card--showcase footer svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.product-card--showcase:hover .product-showcase-card-head strong,
.product-card--showcase:focus-within .product-showcase-card-head strong,
.product-card--showcase:hover .product-showcase-icon,
.product-card--showcase:focus-within .product-showcase-icon,
.product-card--showcase:hover .product-showcase-card-copy h3,
.product-card--showcase:focus-within .product-showcase-card-copy h3,
.product-card--showcase:hover footer,
.product-card--showcase:focus-within footer {
    color: #fff;
}

.product-card--showcase:hover .product-showcase-icon,
.product-card--showcase:focus-within .product-showcase-icon {
    border-color: #555;
}

.product-card--showcase:hover .product-showcase-card-head strong,
.product-card--showcase:focus-within .product-showcase-card-head strong,
.product-card--showcase:hover footer,
.product-card--showcase:focus-within footer {
    border-color: #444;
}

.product-card--showcase:hover .product-showcase-card-copy > span,
.product-card--showcase:focus-within .product-showcase-card-copy > span,
.product-card--showcase:hover .product-showcase-card-copy > p,
.product-card--showcase:focus-within .product-showcase-card-copy > p {
    color: #aaa;
}

.product-card--showcase:hover footer svg,
.product-card--showcase:focus-within footer svg {
    transform: translateX(3px);
}

@media (max-width: 1120px) {
    .products-showcase-toolbar {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .products-showcase-status {
        justify-content: flex-start;
    }

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

@media (max-width: 900px) {
    .products-showcase-head {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .products-showcase-all {
        width: fit-content;
        padding-left: 0;
    }

    .products-showcase-filters {
        grid-template-columns: repeat(6, minmax(135px, 1fr));
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .products-showcase-filters button {
        min-height: 58px;
    }
}

@media (max-width: 620px) {
    .products-showcase-head h2 {
        font-size: 2.4rem;
    }

    .product-showcase-grid {
        grid-template-columns: 1fr;
    }

    .product-card.product-card--showcase,
    .product-card--showcase > a {
        min-height: 315px;
    }
}

/* Editorial product directory — category first, no card wall */
.products-directory {
    background: #fff;
}

.products-directory-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 3rem;
}

.products-directory-head h2 {
    max-width: 760px;
    margin-top: .85rem;
    color: #111;
    font-size: clamp(2.55rem, 4vw, 4rem);
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.055em;
}

.products-directory-head > div > p:last-child {
    max-width: 620px;
    margin-top: 1.1rem;
    color: #6b6b6b;
    font-size: .9rem;
    line-height: 1.7;
}

.products-directory-all {
    display: inline-flex;
    align-items: center;
    gap: 1.1rem;
    padding-bottom: .4rem;
    border-bottom: 1px solid #888;
    color: #1b1b1b;
    font-size: .72rem;
    font-weight: 750;
}

.products-directory-all:hover {
    border-color: #111;
}

.products-directory-all svg {
    width: 16px;
    height: 16px;
    transition: transform var(--ease);
}

.products-directory-all:hover svg {
    transform: translate(2px, -2px);
}

.products-directory-nav {
    display: flex;
    align-items: stretch;
    margin-top: 2.6rem;
    overflow-x: auto;
    border-top: 1px solid #cecece;
    border-bottom: 1px solid #cecece;
    scrollbar-width: thin;
}

.products-directory-nav > span,
.products-directory-nav > a {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    white-space: nowrap;
}

.products-directory-nav > span {
    min-width: 150px;
    color: #888;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.products-directory-nav > a {
    gap: .55rem;
    padding: 0 1.25rem;
    border-left: 1px solid #dedede;
    color: #333;
    font-size: .69rem;
    font-weight: 700;
    transition: background-color var(--ease), color var(--ease);
}

.products-directory-nav > a:hover,
.products-directory-nav > a:focus-visible {
    background: #f3f3f1;
    color: #000;
    outline: 0;
}

.products-directory-nav small {
    color: #999;
    font-size: .52rem;
    font-weight: 750;
}

.products-directory-groups {
    margin-top: 2.2rem;
}

.products-directory-group {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    scroll-margin-top: 155px;
    border-top: 1px solid #222;
    border-bottom: 1px solid #d0d0d0;
}

.products-directory-group + .products-directory-group {
    margin-top: 1.7rem;
}

.products-directory-category {
    padding: 2.25rem clamp(1.5rem, 3vw, 3rem) 2.25rem 0;
    border-right: 1px solid #d0d0d0;
}

.products-directory-category-mark {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.products-directory-category-mark > span {
    color: #999;
    font-size: .68rem;
    font-weight: 750;
}

.products-directory-category-mark > svg {
    width: 23px;
    height: 23px;
    color: #333;
}

.products-directory-category > p {
    margin-top: 2.3rem;
    color: #858585;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.products-directory-category h3 {
    max-width: 300px;
    margin-top: .55rem;
    color: #111;
    font-size: clamp(1.55rem, 2.25vw, 2.15rem);
    font-weight: 750;
    line-height: 1.08;
    letter-spacing: -.04em;
}

.products-directory-category > span {
    display: block;
    max-width: 340px;
    margin-top: 1rem;
    color: #6d6d6d;
    font-size: .75rem;
    line-height: 1.7;
}

.products-directory-category > a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1.6rem;
    padding-bottom: .28rem;
    border-bottom: 1px solid #8c8c8c;
    color: #222;
    font-size: .67rem;
    font-weight: 750;
}

.products-directory-category > a:hover {
    border-color: #111;
}

.products-directory-category > a svg {
    width: 14px;
    height: 14px;
}

.products-directory-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.products-directory-list > a {
    position: relative;
    display: grid;
    min-height: 142px;
    grid-template-columns: 58px 46px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 1.15rem;
    padding: 1.45rem 1.45rem 1.45rem 1.8rem;
    color: #111;
    transition: background-color var(--ease);
}

.products-directory-list > a + a {
    border-top: 1px solid #d8d8d8;
}

.products-directory-list > a:hover,
.products-directory-list > a:focus-visible {
    background: #f3f3f1;
    outline: 0;
}

.products-directory-product-index {
    color: #999;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.products-directory-product-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid #cecece;
    color: #292929;
}

.products-directory-product-icon svg {
    width: 21px;
    height: 21px;
}

.products-directory-product-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.products-directory-product-copy strong {
    color: #151515;
    font-size: 1rem;
    font-weight: 740;
    letter-spacing: -.02em;
}

.products-directory-product-copy small {
    max-width: 620px;
    margin-top: .38rem;
    color: #737373;
    font-size: .72rem;
    line-height: 1.55;
}

.products-directory-list > a > svg:last-child {
    width: 16px;
    height: 16px;
    color: #777;
    transition: transform var(--ease), color var(--ease);
}

.products-directory-list > a:hover > svg:last-child,
.products-directory-list > a:focus-visible > svg:last-child {
    color: #111;
    transform: translate(2px, -2px);
}

@media (max-width: 900px) {
    .products-directory-head {
        grid-template-columns: 1fr;
        gap: 1.3rem;
    }

    .products-directory-all {
        width: fit-content;
    }

    .products-directory-group {
        grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
    }

    .products-directory-list > a {
        grid-template-columns: 42px 40px minmax(0, 1fr) 16px;
        gap: .8rem;
        padding-inline: 1rem;
    }

    .products-directory-product-icon {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 700px) {
    .products-directory-head h2 {
        font-size: 2.4rem;
    }

    .products-directory-nav > span {
        min-width: 115px;
    }

    .products-directory-group {
        grid-template-columns: 1fr;
    }

    .products-directory-category {
        padding: 1.8rem 0;
        border-right: 0;
        border-bottom: 1px solid #d0d0d0;
    }

    .products-directory-category > p {
        margin-top: 1.6rem;
    }

    .products-directory-list > a {
        min-height: 126px;
        grid-template-columns: 38px minmax(0, 1fr) 16px;
        padding: 1.15rem 0;
    }

    .products-directory-product-icon {
        display: none;
    }
}

/* Calm product selector */
.home-product-selector {
    background: #fff;
}

.home-product-selector-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 3rem;
}

.home-product-selector-head h2 {
    max-width: 760px;
    margin-top: .85rem;
    color: #111;
    font-size: clamp(2.55rem, 4vw, 4rem);
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.055em;
}

.home-product-selector-head > div > p:last-child {
    max-width: 620px;
    margin-top: 1.1rem;
    color: #6b6b6b;
    font-size: .9rem;
    line-height: 1.7;
}

.home-product-selector-all {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    padding-bottom: .38rem;
    border-bottom: 1px solid #888;
    color: #222;
    font-size: .7rem;
    font-weight: 750;
}

.home-product-selector-all:hover {
    border-color: #111;
}

.home-product-selector-all svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.home-product-selector-all:hover svg {
    transform: translate(2px, -2px);
}

.home-product-selector-shell {
    display: grid;
    min-height: 470px;
    grid-template-columns: 310px minmax(0, 1fr);
    margin-top: 2.6rem;
    border: 1px solid #d7d7d7;
}

.home-product-selector-tabs {
    display: flex;
    flex-direction: column;
    padding: .8rem 0;
    border-right: 1px solid #d7d7d7;
    background: #f5f5f3;
}

.home-product-selector-tabs button {
    position: relative;
    display: grid;
    min-height: 82px;
    grid-template-columns: 24px minmax(0, 1fr) 16px;
    align-items: center;
    gap: .85rem;
    padding: .9rem 1.25rem;
    background: transparent;
    color: #666;
    cursor: pointer;
    text-align: left;
    transition: background-color var(--ease), color var(--ease);
}

.home-product-selector-tabs button::before {
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 0;
    width: 2px;
    background: #111;
    content: "";
    opacity: 0;
}

.home-product-selector-tabs button + button {
    border-top: 1px solid #dfdfdd;
}

.home-product-selector-tabs button:hover,
.home-product-selector-tabs button:focus-visible {
    background: #eeeeeb;
    color: #111;
    outline: 0;
}

.home-product-selector-tabs button[aria-selected="true"] {
    background: #fff;
    color: #111;
}

.home-product-selector-tabs button[aria-selected="true"]::before {
    opacity: 1;
}

.home-product-selector-tabs button > svg:first-child {
    width: 21px;
    height: 21px;
}

.home-product-selector-tabs button > svg:last-child {
    width: 14px;
    height: 14px;
    color: #aaa;
    transition: transform var(--ease), color var(--ease);
}

.home-product-selector-tabs button[aria-selected="true"] > svg:last-child {
    color: #111;
    transform: translateX(2px);
}

.home-product-selector-tabs button > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.home-product-selector-tabs strong {
    font-size: .78rem;
    font-weight: 730;
}

.home-product-selector-tabs small {
    margin-top: .2rem;
    color: #909090;
    font-size: .59rem;
}

.home-product-selector-content {
    min-width: 0;
    background: #fff;
}

.home-product-selector-content > section {
    display: grid;
    min-height: 468px;
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
}

.home-product-selector-content > section[hidden] {
    display: none;
}

.home-product-selector-content > section > header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2.5rem clamp(1.7rem, 3.4vw, 3.4rem);
    border-right: 1px solid #e0e0e0;
}

.home-product-selector-content > section > header > span {
    color: #858585;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.home-product-selector-content > section > header h3 {
    max-width: 360px;
    margin-top: .7rem;
    color: #111;
    font-size: clamp(1.85rem, 2.8vw, 2.8rem);
    font-weight: 750;
    line-height: 1.05;
    letter-spacing: -.045em;
}

.home-product-selector-content > section > header p {
    max-width: 390px;
    margin-top: 1.1rem;
    color: #6e6e6e;
    font-size: .76rem;
    line-height: 1.7;
}

.home-product-selector-content > section > header a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .5rem;
    margin-top: 1.6rem;
    padding-bottom: .28rem;
    border-bottom: 1px solid #929292;
    color: #222;
    font-size: .66rem;
    font-weight: 750;
}

.home-product-selector-content > section > header a:hover {
    border-color: #111;
}

.home-product-selector-content > section > header a svg {
    width: 14px;
    height: 14px;
}

.home-product-selector-products {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 0;
}

.home-product-selector-products > a {
    display: grid;
    min-height: 142px;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.15rem;
    padding: 1.4rem 1.8rem;
    color: #111;
    transition: background-color var(--ease);
}

.home-product-selector-products > a + a {
    border-top: 1px solid #dfdfdf;
}

.home-product-selector-products > a:hover,
.home-product-selector-products > a:focus-visible {
    background: #f5f5f3;
    outline: 0;
}

.home-product-selector-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid #cfcfcf;
    color: #333;
}

.home-product-selector-icon svg {
    width: 21px;
    height: 21px;
}

.home-product-selector-products > a > span:nth-child(2) {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.home-product-selector-products strong {
    font-size: 1rem;
    font-weight: 740;
    letter-spacing: -.02em;
}

.home-product-selector-products small {
    max-width: 520px;
    margin-top: .4rem;
    color: #727272;
    font-size: .7rem;
    line-height: 1.55;
}

.home-product-selector-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #555;
    font-size: .62rem;
    font-weight: 750;
}

.home-product-selector-link svg {
    width: 14px;
    height: 14px;
    transition: transform var(--ease);
}

.home-product-selector-products > a:hover .home-product-selector-link svg,
.home-product-selector-products > a:focus-visible .home-product-selector-link svg {
    transform: translate(2px, -2px);
}

@media (max-width: 1050px) {
    .home-product-selector-shell {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .home-product-selector-content > section {
        grid-template-columns: 1fr;
    }

    .home-product-selector-content > section > header {
        padding-block: 1.8rem;
        border-right: 0;
        border-bottom: 1px solid #dfdfdf;
    }

    .home-product-selector-content > section > header p {
        max-width: 680px;
    }
}

@media (max-width: 760px) {
    .home-product-selector-head {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .home-product-selector-all {
        width: fit-content;
    }

    .home-product-selector-shell {
        grid-template-columns: 1fr;
    }

    .home-product-selector-tabs {
        overflow-x: auto;
        flex-direction: row;
        padding: 0;
        border-right: 0;
        border-bottom: 1px solid #d7d7d7;
        scrollbar-width: thin;
    }

    .home-product-selector-tabs button {
        min-width: 180px;
        min-height: 70px;
        grid-template-columns: 20px minmax(0, 1fr);
        border-right: 1px solid #dfdfdd;
    }

    .home-product-selector-tabs button::before {
        top: auto;
        right: 18px;
        bottom: 0;
        left: 18px;
        width: auto;
        height: 2px;
    }

    .home-product-selector-tabs button + button {
        border-top: 0;
    }

    .home-product-selector-tabs button > svg:last-child {
        display: none;
    }

    .home-product-selector-content > section {
        min-height: 0;
    }
}

@media (max-width: 620px) {
    .home-product-selector-head h2 {
        font-size: 2.4rem;
    }

    .home-product-selector-content > section > header {
        padding: 1.6rem 1.2rem;
    }

    .home-product-selector-products > a {
        grid-template-columns: 40px minmax(0, 1fr) 14px;
        gap: .8rem;
        padding: 1.15rem 1.2rem;
    }

    .home-product-selector-icon {
        width: 40px;
        height: 40px;
    }

    .home-product-selector-link {
        font-size: 0;
    }
}

/* Premium need-based navigation */
.life-moments {
    background: #fff;
}

.life-moments-shell {
    display: grid;
    grid-template-columns: minmax(340px, .72fr) minmax(0, 1.28fr);
    border-top: 1px solid #111;
    border-bottom: 1px solid #c8c8c8;
}

.life-moments-intro {
    position: relative;
    display: flex;
    min-height: 590px;
    overflow: hidden;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.6rem, 5vw, 5.2rem);
    background: #101010;
    color: #fff;
}

.life-moments-intro::after {
    position: absolute;
    right: -.08em;
    bottom: -.22em;
    color: rgba(255, 255, 255, .035);
    content: "CTN";
    font-size: clamp(8rem, 14vw, 14rem);
    font-weight: 850;
    line-height: 1;
    letter-spacing: -.09em;
    pointer-events: none;
}

.life-moments-intro > p,
.life-moments-intro > h2,
.life-moments-intro > span,
.life-moments-intro > a {
    position: relative;
    z-index: 1;
}

.life-moments-intro > p {
    color: #aaa;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.life-moments-intro h2 {
    max-width: 470px;
    margin-top: 1.15rem;
    font-size: clamp(2.8rem, 4.5vw, 4.45rem);
    font-weight: 750;
    line-height: .98;
    letter-spacing: -.055em;
}

.life-moments-intro > span {
    max-width: 430px;
    margin-top: 1.65rem;
    color: #b7b7b7;
    font-size: .82rem;
    line-height: 1.75;
}

.life-moments-intro > a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .55rem;
    margin-top: 2rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid #777;
    color: #fff;
    font-size: .69rem;
    font-weight: 750;
}

.life-moments-intro > a:hover {
    border-color: #fff;
}

.life-moments-intro > a svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.life-moments-intro > a:hover svg {
    transform: translateX(3px);
}

.life-moments-list {
    display: flex;
    min-width: 0;
    flex-direction: column;
    background: #fff;
}

.life-moments-list > a {
    display: grid;
    min-height: 118px;
    flex: 1;
    grid-template-columns: 34px 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.15rem;
    padding: 1.15rem 1.65rem;
    color: #151515;
    transition: background-color var(--ease);
}

.life-moments-list > a + a {
    border-top: 1px solid #d9d9d9;
}

.life-moments-list > a:hover,
.life-moments-list > a:focus-visible {
    background: #f6f6f6;
    outline: 0;
}

.life-moment-number {
    color: #9a9a9a;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.life-moment-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid #cfcfcf;
    color: #222;
    transition: background-color var(--ease), border-color var(--ease), color var(--ease);
}

.life-moment-icon svg {
    width: 20px;
    height: 20px;
}

.life-moments-list > a:hover .life-moment-icon,
.life-moments-list > a:focus-visible .life-moment-icon {
    border-color: #111;
    background: #111;
    color: #fff;
}

.life-moment-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.life-moment-copy > small {
    color: #858585;
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.life-moment-copy > strong {
    margin-top: .26rem;
    color: #141414;
    font-size: clamp(.92rem, 1.25vw, 1.08rem);
    font-weight: 740;
    letter-spacing: -.02em;
}

.life-moment-copy > span {
    margin-top: .26rem;
    color: #777;
    font-size: .64rem;
}

.life-moment-action {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #555;
    font-size: .61rem;
    font-weight: 750;
    white-space: nowrap;
}

.life-moment-action svg {
    width: 14px;
    height: 14px;
    transition: transform var(--ease);
}

.life-moments-list > a:hover .life-moment-action svg,
.life-moments-list > a:focus-visible .life-moment-action svg {
    transform: translate(2px, -2px);
}

@media (max-width: 980px) {
    .life-moments-shell {
        grid-template-columns: 1fr;
    }

    .life-moments-intro {
        min-height: 430px;
    }
}

@media (max-width: 620px) {
    .life-moments-intro {
        min-height: 390px;
        padding: 2.1rem 1.5rem;
    }

    .life-moments-list > a {
        min-height: 126px;
        grid-template-columns: 28px 40px minmax(0, 1fr) 14px;
        gap: .7rem;
        padding: 1rem .9rem;
    }

    .life-moment-icon {
        width: 40px;
        height: 40px;
    }

    .life-moment-action {
        font-size: 0;
    }
}

/* Professional insurance action center */
.service-gateway {
    background: #fff;
}

.service-gateway-head {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    align-items: end;
    gap: 4rem;
}

.service-gateway-head h2 {
    max-width: 760px;
    margin-top: .85rem;
    color: #111;
    font-size: clamp(2.7rem, 4.2vw, 4.15rem);
    font-weight: 760;
    line-height: 1;
    letter-spacing: -.055em;
}

.service-gateway-head > p {
    max-width: 420px;
    color: #6c6c6c;
    font-size: .88rem;
    line-height: 1.75;
}

.service-gateway-grid {
    display: grid;
    grid-template-columns: 1.16fr .92fr .92fr;
    margin-top: 2.6rem;
    border: 1px solid #cdcdcd;
}

.service-gateway-item {
    display: flex;
    min-height: 360px;
    flex-direction: column;
    padding: 1.8rem;
    background: #fff;
    color: #151515;
    transition: background-color var(--ease);
}

.service-gateway-item + .service-gateway-item {
    border-left: 1px solid #cdcdcd;
}

.service-gateway-item:not(.service-gateway-item--primary):hover,
.service-gateway-item:not(.service-gateway-item--primary):focus-visible {
    background: #f5f5f3;
    outline: 0;
}

.service-gateway-item--primary {
    background: #111;
    color: #fff;
}

.service-gateway-item--primary:hover,
.service-gateway-item--primary:focus-visible {
    background: #272727;
    outline: 0;
}

.service-gateway-item header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1.1rem;
    border-bottom: 1px solid #d8d8d8;
}

.service-gateway-item--primary header {
    border-color: #444;
}

.service-gateway-item header > span {
    color: #858585;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.service-gateway-item--primary header > span {
    color: #aaa;
}

.service-gateway-item header > svg {
    width: 21px;
    height: 21px;
    color: #444;
}

.service-gateway-item--primary header > svg {
    color: #ddd;
}

.service-gateway-item > div {
    margin-top: 2.8rem;
}

.service-gateway-item h3 {
    max-width: 360px;
    color: inherit;
    font-size: clamp(1.5rem, 2vw, 1.95rem);
    font-weight: 740;
    line-height: 1.08;
    letter-spacing: -.04em;
}

.service-gateway-item > div p {
    max-width: 360px;
    margin-top: 1rem;
    color: #737373;
    font-size: .76rem;
    line-height: 1.72;
}

.service-gateway-item--primary > div p {
    color: #aaa;
}

.service-gateway-item footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid #d8d8d8;
    color: #333;
    font-size: .67rem;
    font-weight: 750;
}

.service-gateway-item--primary footer {
    border-color: #444;
    color: #fff;
}

.service-gateway-item footer svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.service-gateway-item:hover footer svg,
.service-gateway-item:focus-visible footer svg {
    transform: translateX(3px);
}

.service-gateway-note {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-right: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    border-left: 1px solid #d7d7d7;
}

.service-gateway-note > span {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    color: #666;
    font-size: .62rem;
    font-weight: 650;
}

.service-gateway-note > span + span {
    border-left: 1px solid #d7d7d7;
}

.service-gateway-note svg {
    width: 16px;
    height: 16px;
    color: #333;
}

@media (max-width: 900px) {
    .service-gateway-head {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .service-gateway-grid {
        grid-template-columns: 1fr;
    }

    .service-gateway-item {
        min-height: 320px;
    }

    .service-gateway-item + .service-gateway-item {
        border-top: 1px solid #cdcdcd;
        border-left: 0;
    }
}

@media (max-width: 620px) {
    .service-gateway-head h2 {
        font-size: 2.45rem;
    }

    .service-gateway-item {
        min-height: 300px;
        padding: 1.4rem;
    }

    .service-gateway-note {
        grid-template-columns: 1fr;
    }

    .service-gateway-note > span {
        justify-content: flex-start;
        padding-inline: 1.4rem;
    }

    .service-gateway-note > span + span {
        border-top: 1px solid #d7d7d7;
        border-left: 0;
    }
}

/* Editorial trust statement */
.why-editorial {
    overflow: hidden;
    background: #fff;
}

.why-editorial-head {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    align-items: end;
    gap: 4rem;
}

.why-editorial-head h2 {
    max-width: 830px;
    margin-top: .85rem;
    color: #111;
    font-size: clamp(2.7rem, 4.25vw, 4.25rem);
    font-weight: 760;
    line-height: .98;
    letter-spacing: -.058em;
}

.why-editorial-head > p {
    max-width: 420px;
    color: #666;
    font-size: .9rem;
    line-height: 1.75;
}

.why-editorial-body {
    display: grid;
    grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr);
    margin-top: 3rem;
    border-top: 1px solid #151515;
    border-bottom: 1px solid #cfcfcf;
}

.why-editorial-manifesto {
    display: flex;
    min-height: 510px;
    flex-direction: column;
    padding: 3.25rem 4rem 3.25rem 0;
    border-right: 1px solid #cfcfcf;
}

.why-editorial-manifesto > span {
    color: #767676;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.why-editorial-manifesto h3 {
    max-width: 520px;
    margin-top: 3.3rem;
    color: #151515;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.05em;
}

.why-editorial-manifesto > p {
    max-width: 510px;
    margin-top: 1.5rem;
    color: #666;
    font-size: .86rem;
    line-height: 1.8;
}

.why-editorial-manifesto > a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .55rem;
    margin-top: auto;
    padding-bottom: .45rem;
    border-bottom: 1px solid #111;
    color: #111;
    font-size: .69rem;
    font-weight: 750;
}

.why-editorial-manifesto > a svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.why-editorial-manifesto > a:hover svg,
.why-editorial-manifesto > a:focus-visible svg {
    transform: translate(2px, -2px);
}

.why-editorial-principles {
    padding-left: 4rem;
}

.why-editorial-principles article {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    min-height: 127px;
    align-items: center;
    gap: 1.25rem;
    border-bottom: 1px solid #d8d8d8;
}

.why-editorial-principles article:last-child {
    border-bottom: 0;
}

.why-editorial-principles article > span {
    align-self: start;
    padding-top: 2.55rem;
    color: #9a9a9a;
    font-size: .6rem;
    font-weight: 750;
    letter-spacing: .12em;
}

.why-editorial-principles article > div {
    display: grid;
    grid-template-columns: minmax(150px, .65fr) minmax(230px, 1fr);
    align-items: center;
    gap: 2.5rem;
}

.why-editorial-principles h3 {
    color: #181818;
    font-size: clamp(1.25rem, 1.8vw, 1.65rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.035em;
}

.why-editorial-principles p {
    max-width: 420px;
    color: #6d6d6d;
    font-size: .75rem;
    line-height: 1.7;
}

@media (max-width: 980px) {
    .why-editorial-head {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .why-editorial-body {
        grid-template-columns: 1fr;
    }

    .why-editorial-manifesto {
        min-height: 390px;
        padding-right: 0;
        border-right: 0;
        border-bottom: 1px solid #cfcfcf;
    }

    .why-editorial-principles {
        padding-left: 0;
    }
}

@media (max-width: 620px) {
    .why-editorial-head h2 {
        font-size: 2.5rem;
    }

    .why-editorial-body {
        margin-top: 2.25rem;
    }

    .why-editorial-manifesto {
        min-height: 420px;
        padding-block: 2.2rem;
    }

    .why-editorial-manifesto h3 {
        margin-top: 2.4rem;
        font-size: 2.15rem;
    }

    .why-editorial-principles article {
        grid-template-columns: 42px minmax(0, 1fr);
        min-height: 0;
        gap: .7rem;
        padding-block: 1.55rem;
    }

    .why-editorial-principles article > span {
        padding-top: .2rem;
    }

    .why-editorial-principles article > div {
        grid-template-columns: 1fr;
        gap: .7rem;
    }
}

/* High-contrast policy review */
.why-insight {
    overflow: hidden;
    background: #fff;
}

.why-insight-head {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    align-items: end;
    gap: 4rem;
}

.why-insight-head h2 {
    max-width: 900px;
    margin-top: .85rem;
    color: #111;
    font-size: clamp(2.75rem, 4.35vw, 4.35rem);
    font-weight: 770;
    line-height: .98;
    letter-spacing: -.06em;
}

.why-insight-head > p {
    max-width: 420px;
    color: #696969;
    font-size: .9rem;
    line-height: 1.75;
}

.why-insight-frame {
    display: grid;
    grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr);
    margin-top: 3.2rem;
    border-top: 1px solid #111;
    border-bottom: 1px solid #cfcfcf;
}

.why-insight-statement {
    position: relative;
    display: flex;
    min-height: 600px;
    overflow: hidden;
    flex-direction: column;
    padding: clamp(2.4rem, 4vw, 4.4rem);
    background: #111;
    color: #fff;
}

.why-insight-statement::after {
    position: absolute;
    right: -.08em;
    bottom: -.25em;
    color: rgba(255, 255, 255, .035);
    content: "CTN";
    font-size: clamp(8rem, 14vw, 14rem);
    font-weight: 850;
    line-height: 1;
    letter-spacing: -.1em;
    pointer-events: none;
}

.why-insight-statement > * {
    position: relative;
    z-index: 1;
}

.why-insight-statement > span {
    color: #a9a9a9;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.why-insight-statement h3 {
    max-width: 570px;
    margin-top: 4.3rem;
    font-size: clamp(2.7rem, 4.2vw, 4.2rem);
    font-weight: 720;
    line-height: .96;
    letter-spacing: -.06em;
}

.why-insight-statement > p {
    max-width: 510px;
    margin-top: 1.7rem;
    color: #b7b7b7;
    font-size: .82rem;
    line-height: 1.8;
}

.why-insight-assurance {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1.5rem;
    border-top: 1px solid #3e3e3e;
}

.why-insight-assurance svg {
    width: 22px;
    height: 22px;
    color: #fff;
}

.why-insight-assurance span {
    max-width: 400px;
    color: #d5d5d5;
    font-size: .68rem;
    line-height: 1.6;
}

.why-insight-review {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding-left: clamp(2rem, 4vw, 4.4rem);
}

.why-insight-review > header {
    min-height: 138px;
    padding: 2.7rem 0 2rem;
    border-bottom: 1px solid #d6d6d6;
}

.why-insight-review > header span {
    color: #8b8b8b;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.why-insight-review > header p {
    margin-top: .55rem;
    color: #191919;
    font-size: 1.08rem;
    font-weight: 690;
    letter-spacing: -.02em;
}

.why-insight-review article {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    min-height: 116px;
    align-items: center;
    gap: 1.2rem;
    border-bottom: 1px solid #d6d6d6;
}

.why-insight-review article > span {
    align-self: start;
    padding-top: 2.25rem;
    color: #969696;
    font-size: .57rem;
    font-weight: 750;
    letter-spacing: .13em;
}

.why-insight-review article > div {
    display: grid;
    grid-template-columns: minmax(180px, .65fr) minmax(240px, 1fr);
    align-items: center;
    gap: 2.25rem;
}

.why-insight-review h3 {
    color: #171717;
    font-size: clamp(1.25rem, 1.65vw, 1.55rem);
    font-weight: 710;
    line-height: 1.1;
    letter-spacing: -.035em;
}

.why-insight-review article p {
    max-width: 430px;
    color: #6b6b6b;
    font-size: .73rem;
    line-height: 1.7;
}

.why-insight-review > footer {
    display: flex;
    min-height: 114px;
    align-items: center;
}

.why-insight-review > footer a {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding-bottom: .42rem;
    border-bottom: 1px solid #111;
    color: #111;
    font-size: .68rem;
    font-weight: 760;
}

.why-insight-review > footer svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.why-insight-review > footer a:hover svg,
.why-insight-review > footer a:focus-visible svg {
    transform: translateX(3px);
}

@media (max-width: 980px) {
    .why-insight-head {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .why-insight-frame {
        grid-template-columns: 1fr;
    }

    .why-insight-statement {
        min-height: 520px;
    }

    .why-insight-review {
        padding-left: 0;
    }
}

@media (max-width: 620px) {
    .why-insight-head h2 {
        font-size: 2.5rem;
    }

    .why-insight-frame {
        margin-top: 2.3rem;
    }

    .why-insight-statement {
        min-height: 490px;
        padding: 2rem 1.45rem;
    }

    .why-insight-statement h3 {
        margin-top: 3rem;
        font-size: 2.75rem;
    }

    .why-insight-review > header {
        min-height: 0;
        padding: 2rem 0 1.6rem;
    }

    .why-insight-review article {
        grid-template-columns: 38px minmax(0, 1fr);
        min-height: 0;
        gap: .65rem;
        padding-block: 1.45rem;
    }

    .why-insight-review article > span {
        padding-top: .2rem;
    }

    .why-insight-review article > div {
        grid-template-columns: 1fr;
        gap: .65rem;
    }

    .why-insight-review > footer {
        min-height: 95px;
    }
}

/* Minimal policy clarity */
.why-clarity {
    background: #fff;
}

.why-clarity-head {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(280px, .58fr);
    align-items: end;
    gap: 4rem;
}

.why-clarity-head h2 {
    max-width: 910px;
    margin-top: .9rem;
    color: #151515;
    font-size: clamp(2.65rem, 4.25vw, 4.2rem);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.058em;
}

.why-clarity-head > p {
    max-width: 420px;
    padding-bottom: .2rem;
    color: #6b6b6b;
    font-size: .9rem;
    line-height: 1.75;
}

.why-clarity-questions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3.2rem;
    border-top: 1px solid #141414;
    border-bottom: 1px solid #cfcfcf;
}

.why-clarity-questions article {
    min-height: 390px;
    padding: 2.1rem clamp(1.5rem, 3vw, 3.2rem) 2.5rem;
}

.why-clarity-questions article + article {
    border-left: 1px solid #d5d5d5;
}

.why-clarity-questions header {
    display: grid;
    grid-template-columns: auto minmax(30px, 1fr);
    align-items: center;
    gap: 1rem;
}

.why-clarity-questions header span:first-child {
    color: #7d7d7d;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.why-clarity-questions header span:last-child {
    height: 1px;
    background: #dedede;
}

.why-clarity-questions h3 {
    margin-top: 4.6rem;
    color: #171717;
    font-size: clamp(2rem, 2.8vw, 2.85rem);
    font-weight: 710;
    line-height: 1.01;
    letter-spacing: -.052em;
}

.why-clarity-questions p {
    max-width: 360px;
    margin-top: 1.45rem;
    color: #6b6b6b;
    font-size: .78rem;
    line-height: 1.75;
}

.why-clarity-foot {
    display: flex;
    min-height: 92px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border-bottom: 1px solid #e0e0e0;
}

.why-clarity-foot p {
    color: #747474;
    font-size: .73rem;
}

.why-clarity-foot p strong {
    color: #171717;
    font-weight: 730;
}

.why-clarity-foot a {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid #222;
    color: #1a1a1a;
    font-size: .68rem;
    font-weight: 750;
}

.why-clarity-foot a svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.why-clarity-foot a:hover svg,
.why-clarity-foot a:focus-visible svg {
    transform: translate(2px, -2px);
}

@media (max-width: 900px) {
    .why-clarity-head {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .why-clarity-questions {
        grid-template-columns: 1fr;
    }

    .why-clarity-questions article {
        min-height: 0;
        padding: 2rem 0 2.3rem;
    }

    .why-clarity-questions article + article {
        border-top: 1px solid #d5d5d5;
        border-left: 0;
    }

    .why-clarity-questions h3 {
        margin-top: 2.4rem;
    }
}

@media (max-width: 620px) {
    .why-clarity-head h2 {
        font-size: 2.45rem;
    }

    .why-clarity-questions {
        margin-top: 2.3rem;
    }

    .why-clarity-questions h3 {
        font-size: 2.25rem;
    }

    .why-clarity-foot {
        min-height: 118px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 1rem;
    }
}

/* CTN signature approach */
.why-signature {
    background: #fff;
}

.why-signature-shell {
    display: grid;
    grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr);
    border-top: 1px solid #151515;
    border-bottom: 1px solid #cfcfcf;
}

.why-signature-copy {
    display: flex;
    min-height: 570px;
    flex-direction: column;
    justify-content: center;
    padding: 4.8rem clamp(2.7rem, 5vw, 5.7rem) 4.8rem 0;
    border-right: 1px solid #d2d2d2;
}

.why-signature-copy h2 {
    max-width: 600px;
    margin-top: 1.15rem;
    color: #151515;
    font-size: clamp(2.6rem, 3.9vw, 3.9rem);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.058em;
}

.why-signature-copy > p:not(.eyebrow) {
    max-width: 500px;
    margin-top: 1.55rem;
    color: #696969;
    font-size: .88rem;
    line-height: 1.78;
}

.why-signature-copy > a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .55rem;
    margin-top: 2rem;
    padding-bottom: .4rem;
    border-bottom: 1px solid #1b1b1b;
    color: #191919;
    font-size: .68rem;
    font-weight: 760;
}

.why-signature-copy > a svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.why-signature-copy > a:hover svg,
.why-signature-copy > a:focus-visible svg {
    transform: translate(2px, -2px);
}

.why-signature-list {
    padding-left: clamp(2.4rem, 5vw, 5.5rem);
}

.why-signature-list article {
    display: grid;
    min-height: 142px;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 1.35rem;
    border-bottom: 1px solid #d7d7d7;
}

.why-signature-list article:last-child {
    border-bottom: 0;
}

.why-signature-list article > span {
    align-self: start;
    padding-top: 2.75rem;
    color: #969696;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.why-signature-list article > div {
    display: grid;
    grid-template-columns: minmax(210px, .76fr) minmax(250px, 1fr);
    align-items: center;
    gap: 2.4rem;
}

.why-signature-list h3 {
    max-width: 290px;
    color: #181818;
    font-size: clamp(1.35rem, 1.8vw, 1.7rem);
    font-weight: 710;
    line-height: 1.08;
    letter-spacing: -.04em;
}

.why-signature-list p {
    max-width: 430px;
    color: #6c6c6c;
    font-size: .74rem;
    line-height: 1.72;
}

@media (max-width: 980px) {
    .why-signature-shell {
        grid-template-columns: 1fr;
    }

    .why-signature-copy {
        min-height: 450px;
        padding-right: 0;
        border-right: 0;
        border-bottom: 1px solid #d2d2d2;
    }

    .why-signature-list {
        padding-left: 0;
    }
}

@media (max-width: 620px) {
    .why-signature-copy {
        min-height: 420px;
        padding-block: 3rem;
    }

    .why-signature-copy h2 {
        font-size: 2.55rem;
    }

    .why-signature-list article {
        min-height: 0;
        grid-template-columns: 38px minmax(0, 1fr);
        gap: .7rem;
        padding-block: 1.55rem;
    }

    .why-signature-list article > span {
        padding-top: .2rem;
    }

    .why-signature-list article > div {
        grid-template-columns: 1fr;
        gap: .7rem;
    }
}

/* End-to-end insurance support */
.service-continuity {
    background: #fff;
}

.service-continuity-head {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    align-items: end;
    gap: 4rem;
}

.service-continuity-head h2 {
    max-width: 860px;
    margin-top: .9rem;
    color: #141414;
    font-size: clamp(2.8rem, 4.4vw, 4.35rem);
    font-weight: 760;
    line-height: .98;
    letter-spacing: -.06em;
}

.service-continuity-head > p {
    max-width: 430px;
    padding-bottom: .2rem;
    color: #686868;
    font-size: .89rem;
    line-height: 1.78;
}

.service-continuity-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 3rem;
    border-top: 1px solid #111;
    border-bottom: 1px solid #cfcfcf;
}

.service-continuity-grid > a {
    display: flex;
    min-height: 390px;
    flex-direction: column;
    padding: 1.7rem clamp(1.25rem, 2.3vw, 2.25rem) 1.8rem;
    color: #171717;
    transition: background-color var(--ease);
}

.service-continuity-grid > a + a {
    border-left: 1px solid #d4d4d4;
}

.service-continuity-grid > a:hover,
.service-continuity-grid > a:focus-visible {
    background: #f6f6f4;
    outline: 0;
}

.service-continuity-grid header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #dedede;
}

.service-continuity-grid header span {
    color: #8d8d8d;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.service-continuity-grid header svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.65;
}

.service-continuity-grid > a > div {
    margin-top: 3.2rem;
}

.service-continuity-grid h3 {
    max-width: 270px;
    color: #171717;
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    font-weight: 720;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.service-continuity-grid > a > div p {
    max-width: 310px;
    margin-top: 1.15rem;
    color: #6c6c6c;
    font-size: .74rem;
    line-height: 1.72;
}

.service-continuity-grid footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid #dedede;
    color: #3f3f3f;
    font-size: .64rem;
    font-weight: 750;
}

.service-continuity-grid footer svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.service-continuity-grid > a:hover footer svg,
.service-continuity-grid > a:focus-visible footer svg {
    transform: translate(2px, -2px);
}

.service-continuity-contact {
    display: flex;
    min-height: 92px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border-bottom: 1px solid #dedede;
}

.service-continuity-contact > div {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.service-continuity-contact > div > svg {
    width: 21px;
    height: 21px;
    color: #343434;
    stroke-width: 1.7;
}

.service-continuity-contact p {
    display: flex;
    align-items: baseline;
    gap: .45rem;
    font-size: .71rem;
}

.service-continuity-contact p span {
    color: #777;
}

.service-continuity-contact p strong {
    color: #181818;
    font-weight: 740;
}

.service-continuity-contact > a {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid #1d1d1d;
    color: #1a1a1a;
    font-size: .67rem;
    font-weight: 760;
}

.service-continuity-contact > a svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.service-continuity-contact > a:hover svg,
.service-continuity-contact > a:focus-visible svg {
    transform: translateX(3px);
}

@media (max-width: 1050px) {
    .service-continuity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-continuity-grid > a:nth-child(3) {
        border-left: 0;
    }

    .service-continuity-grid > a:nth-child(n + 3) {
        border-top: 1px solid #d4d4d4;
    }
}

@media (max-width: 760px) {
    .service-continuity-head {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .service-continuity-contact p {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }
}

@media (max-width: 620px) {
    .service-continuity-head h2 {
        font-size: 2.55rem;
    }

    .service-continuity-grid {
        grid-template-columns: 1fr;
        margin-top: 2.3rem;
    }

    .service-continuity-grid > a {
        min-height: 310px;
        padding: 1.4rem 0;
    }

    .service-continuity-grid > a + a {
        border-top: 1px solid #d4d4d4;
        border-left: 0;
    }

    .service-continuity-grid > a > div {
        margin-top: 2.3rem;
    }

    .service-continuity-contact {
        min-height: 145px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 1.25rem;
    }
}

/* Connected three-step planning journey */
.planning-journey {
    background: #f5f5f3;
}

.planning-journey-head {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    align-items: end;
    gap: 4rem;
}

.planning-journey-head h2 {
    max-width: 850px;
    margin-top: .9rem;
    color: #151515;
    font-size: clamp(2.75rem, 4.3vw, 4.25rem);
    font-weight: 760;
    line-height: .99;
    letter-spacing: -.06em;
}

.planning-journey-head > p {
    max-width: 440px;
    padding-bottom: .2rem;
    color: #696969;
    font-size: .89rem;
    line-height: 1.78;
}

.planning-journey-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3.4rem;
    border-top: 1px solid #171717;
    border-bottom: 1px solid #c9c9c9;
}

.planning-journey-track article {
    min-height: 350px;
    padding: 0 clamp(1.7rem, 3vw, 3.4rem) 2.6rem 0;
}

.planning-journey-track article + article {
    padding-left: clamp(1.7rem, 3vw, 3.4rem);
    border-left: 1px solid #d3d3d3;
}

.planning-journey-track article:last-child {
    padding-right: 0;
}

.planning-journey-track header {
    display: grid;
    grid-template-columns: auto minmax(30px, 1fr) auto;
    align-items: center;
    gap: .85rem;
    padding-top: 1.7rem;
}

.planning-journey-track header > span {
    color: #303030;
    font-size: .65rem;
    font-weight: 820;
    letter-spacing: .13em;
}

.planning-journey-track header > i {
    height: 1px;
    background: #cecece;
}

.planning-journey-track header > small {
    color: #858585;
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.planning-journey-track h3 {
    max-width: 390px;
    margin-top: 4.5rem;
    color: #171717;
    font-size: clamp(2rem, 2.7vw, 2.7rem);
    font-weight: 720;
    line-height: 1.01;
    letter-spacing: -.052em;
}

.planning-journey-track p {
    max-width: 370px;
    margin-top: 1.35rem;
    color: #6a6a6a;
    font-size: .77rem;
    line-height: 1.75;
}

.planning-journey-start {
    display: flex;
    min-height: 94px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border-bottom: 1px solid #d5d5d5;
}

.planning-journey-start p {
    display: flex;
    align-items: baseline;
    gap: .75rem;
}

.planning-journey-start p span {
    color: #8a8a8a;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.planning-journey-start p strong {
    color: #1d1d1d;
    font-size: .72rem;
    font-weight: 700;
}

.planning-journey-start > a {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding-bottom: .38rem;
    border-bottom: 1px solid #1c1c1c;
    color: #191919;
    font-size: .68rem;
    font-weight: 760;
}

.planning-journey-start > a svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.planning-journey-start > a:hover svg,
.planning-journey-start > a:focus-visible svg {
    transform: translateX(3px);
}

@media (max-width: 900px) {
    .planning-journey-head {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .planning-journey-track {
        grid-template-columns: 1fr;
    }

    .planning-journey-track article,
    .planning-journey-track article + article,
    .planning-journey-track article:last-child {
        min-height: 0;
        padding: 0 0 2.2rem;
        border-left: 0;
    }

    .planning-journey-track article + article {
        border-top: 1px solid #d3d3d3;
    }

    .planning-journey-track h3 {
        margin-top: 2.5rem;
    }
}

@media (max-width: 620px) {
    .planning-journey-head h2 {
        font-size: 2.5rem;
    }

    .planning-journey-track {
        margin-top: 2.4rem;
    }

    .planning-journey-track h3 {
        font-size: 2.25rem;
    }

    .planning-journey-start {
        min-height: 145px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 1.2rem;
    }

    .planning-journey-start p {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
    }
}

/* Typographic process poster */
.process-poster {
    overflow: hidden;
    background: #111;
    color: #fff;
}

.process-poster-shell {
    border-top: 1px solid #4a4a4a;
    border-bottom: 1px solid #4a4a4a;
}

.process-poster-head {
    padding: 2.25rem 0 3.7rem;
}

.process-poster-head > p {
    color: #8e8e8e;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.process-poster-head > div {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    align-items: end;
    gap: 4rem;
    margin-top: 1.7rem;
}

.process-poster-head h2 {
    max-width: 850px;
    color: #fff;
    font-size: clamp(3.2rem, 5.4vw, 5.5rem);
    font-weight: 710;
    line-height: .91;
    letter-spacing: -.065em;
}

.process-poster-head h2 span {
    color: #777;
}

.process-poster-head > div > p {
    max-width: 430px;
    padding-bottom: .25rem;
    color: #aaa;
    font-size: .83rem;
    line-height: 1.78;
}

.process-poster-flow {
    margin: 0;
    border-top: 1px solid #424242;
    list-style: none;
}

.process-poster-flow li {
    display: grid;
    min-height: 190px;
    grid-template-columns: 55px minmax(360px, 1.25fr) minmax(260px, .65fr) 24px;
    align-items: center;
    gap: clamp(1.3rem, 3vw, 3.2rem);
    border-bottom: 1px solid #353535;
}

.process-poster-flow li > span {
    align-self: start;
    padding-top: 2.3rem;
    color: #777;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.process-poster-flow li > div {
    padding-block: 1.65rem;
}

.process-poster-flow small {
    display: block;
    margin-bottom: .35rem;
    color: #777;
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .2em;
}

.process-poster-flow h3 {
    color: #f5f5f5;
    font-size: clamp(3.2rem, 6.3vw, 6.5rem);
    font-weight: 760;
    line-height: .82;
    letter-spacing: -.075em;
}

.process-poster-flow li:nth-child(2) h3 {
    color: #bdbdbd;
}

.process-poster-flow li > p {
    max-width: 390px;
    color: #aaa;
    font-size: .73rem;
    line-height: 1.75;
}

.process-poster-flow li > svg {
    width: 20px;
    height: 20px;
    color: #777;
    stroke-width: 1.5;
}

.process-poster-flow li:last-child > svg {
    color: #fff;
}

.process-poster-foot {
    display: flex;
    min-height: 104px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.process-poster-foot > p {
    color: #8f8f8f;
    font-size: .68rem;
}

.process-poster-foot > a {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding-bottom: .4rem;
    border-bottom: 1px solid #aaa;
    color: #fff;
    font-size: .68rem;
    font-weight: 760;
}

.process-poster-foot > a svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.process-poster-foot > a:hover svg,
.process-poster-foot > a:focus-visible svg {
    transform: translateX(3px);
}

@media (max-width: 900px) {
    .process-poster-head > div {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .process-poster-flow li {
        grid-template-columns: 42px minmax(0, 1fr) 20px;
        gap: 1rem;
        padding-block: 1.7rem;
    }

    .process-poster-flow li > span {
        padding-top: .45rem;
    }

    .process-poster-flow li > div {
        padding: 0;
    }

    .process-poster-flow li > p {
        grid-column: 2 / 3;
        padding-bottom: .35rem;
    }

    .process-poster-flow li > svg {
        grid-row: 1 / 3;
        grid-column: 3;
    }
}

@media (max-width: 620px) {
    .process-poster-head {
        padding-bottom: 2.8rem;
    }

    .process-poster-head h2 {
        font-size: 3.25rem;
    }

    .process-poster-flow h3 {
        font-size: clamp(3rem, 15vw, 4.4rem);
    }

    .process-poster-flow li {
        grid-template-columns: 30px minmax(0, 1fr) 18px;
    }

    .process-poster-foot {
        min-height: 135px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 1.15rem;
    }
}

/* Human advisory scene */
.advisory-scene {
    background: #f3f3f0;
}

.advisory-scene-shell {
    display: grid;
    grid-template-columns: minmax(420px,1.08fr) minmax(360px,.92fr);
    align-items: stretch;
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9;
}

.advisory-scene-visual {
    position: relative;
    min-height: 680px;
    margin: 0;
    overflow: hidden;
    background: #e8e8e5;
}

.advisory-scene-visual::after {
    position: absolute;
    inset: 48% 0 0;
    background: linear-gradient(180deg,transparent,rgba(0,0,0,.72));
    content: "";
}

.advisory-scene-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 51% center;
    filter: grayscale(1) contrast(1.03);
    transition: transform .8s var(--ease);
}

.advisory-scene-visual:hover img {
    transform: scale(1.018);
}

.advisory-scene-visual figcaption {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 2.2rem 2.4rem;
    color: #fff;
}

.advisory-scene-visual figcaption span {
    color: #c7c7c7;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.advisory-scene-visual figcaption strong {
    display: block;
    max-width: 520px;
    margin-top: .65rem;
    font-size: clamp(1.8rem,2.7vw,2.65rem);
    font-weight: 690;
    line-height: 1.04;
    letter-spacing: -.045em;
}

.advisory-scene-copy {
    display: flex;
    min-height: 680px;
    flex-direction: column;
    justify-content: center;
    padding: clamp(3rem,5.2vw,5.8rem);
    background: #fff;
}

.advisory-scene-copy h2 {
    max-width: 610px;
    margin-top: 1rem;
    color: #171717;
    font-size: clamp(2.6rem,4vw,3.9rem);
    font-weight: 750;
    line-height: .99;
    letter-spacing: -.058em;
}

.advisory-scene-copy > p:not(.eyebrow) {
    max-width: 560px;
    margin-top: 1.4rem;
    color: #696969;
    font-size: .84rem;
    line-height: 1.78;
}

.advisory-scene-copy dl {
    margin: 2.4rem 0 0;
    border-top: 1px solid #d4d4d4;
}

.advisory-scene-copy dl > div {
    display: grid;
    min-height: 76px;
    grid-template-columns: minmax(180px,.82fr) minmax(190px,1fr);
    align-items: center;
    gap: 1.5rem;
    border-bottom: 1px solid #d4d4d4;
}

.advisory-scene-copy dt {
    color: #1e1e1e;
    font-size: .7rem;
    font-weight: 720;
}

.advisory-scene-copy dd {
    margin: 0;
    color: #7a7a7a;
    font-size: .65rem;
    line-height: 1.55;
}

.advisory-scene-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 2.3rem;
}

.advisory-scene-actions > a {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding-bottom: .4rem;
    border-bottom: 1px solid #191919;
    color: #191919;
    font-size: .68rem;
    font-weight: 760;
    white-space: nowrap;
}

.advisory-scene-actions > a svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.advisory-scene-actions > a:hover svg,
.advisory-scene-actions > a:focus-visible svg {
    transform: translateX(3px);
}

.advisory-scene-actions > span {
    max-width: 250px;
    color: #8a8a8a;
    font-size: .59rem;
    line-height: 1.55;
    text-align: right;
}

@media (max-width: 980px) {
    .advisory-scene-shell {
        grid-template-columns: 1fr;
    }

    .advisory-scene-visual {
        min-height: 560px;
    }

    .advisory-scene-copy {
        min-height: 0;
        padding-block: 4.5rem;
    }
}

@media (max-width: 620px) {
    .advisory-scene {
        padding-inline: 0;
    }

    .advisory-scene-shell {
        width: 100%;
    }

    .advisory-scene-visual {
        min-height: 430px;
    }

    .advisory-scene-visual figcaption {
        padding: 1.7rem 1.25rem;
    }

    .advisory-scene-copy {
        padding: 3.5rem var(--gutter);
    }

    .advisory-scene-copy h2 {
        font-size: 2.55rem;
    }

    .advisory-scene-copy dl > div {
        min-height: 90px;
        grid-template-columns: 1fr;
        align-content: center;
        gap: .35rem;
    }

    .advisory-scene-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .advisory-scene-actions > span {
        text-align: left;
    }
}

/* White editorial footer */
.final-cta {
    padding-block: clamp(4rem, 6vw, 5.5rem);
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
    background: #fff;
    color: #151515;
}

.final-cta .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 3rem;
}

.final-cta p,
.final-cta span {
    color: #6b6b6b;
}

.final-cta p {
    margin-bottom: .75rem;
    font-size: .68rem;
    font-weight: 780;
    letter-spacing: .15em;
}

.final-cta h2 {
    max-width: 760px;
    color: #151515;
    font-size: clamp(2.15rem, 3.5vw, 3.15rem);
    letter-spacing: -.045em;
}

.final-cta span {
    max-width: 620px;
    margin-top: .85rem;
    font-size: .94rem;
}

.final-cta .button-light {
    min-width: 188px;
    border-color: #151515;
    border-radius: 8px;
    background: #151515;
    color: #fff;
    box-shadow: none;
}

.final-cta .button-light:hover,
.final-cta .button-light:focus-visible {
    border-color: #333;
    background: #333;
    color: #fff;
}

.site-footer {
    padding-top: 0;
    border: 0;
    background: #fff;
    color: #171717;
}

.footer-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1.35fr) .72fr 1fr 1.18fr;
    gap: clamp(2rem, 4.5vw, 4.75rem);
    padding-block: clamp(4rem, 6vw, 5.5rem);
}

.footer-grid > div,
.footer-grid > nav {
    border-color: #e8e8e8;
}

.footer-brand {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

a.brand--footer-logo {
    min-width: 0;
    margin-bottom: 1.3rem;
}

a.brand--footer-logo img {
    width: 82px;
    height: 92px;
    background: transparent;
}

.footer-brand .footer-brand-kicker {
    margin: 0 0 .7rem;
    color: #777;
    font-size: .65rem;
    font-weight: 780;
    letter-spacing: .15em;
}

.footer-brand-title {
    max-width: 330px;
    color: #171717;
    font-size: clamp(1.25rem, 1.7vw, 1.55rem);
    line-height: 1.25;
    letter-spacing: -.025em;
}

.footer-brand .footer-brand-copy {
    display: block;
    max-width: 350px;
    margin: 1rem 0 1.45rem;
    color: #696969;
    font-size: .84rem;
    line-height: 1.7;
}

.footer-brand-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid #171717;
    color: #171717;
    font-size: .78rem;
    font-weight: 720;
}

.footer-brand-link svg {
    width: 15px;
    height: 15px;
    transition: transform var(--ease);
}

.footer-brand-link:hover svg,
.footer-brand-link:focus-visible svg {
    transform: translateX(3px);
}

.footer-column {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: .78rem;
    padding-left: clamp(1.25rem, 2vw, 2rem);
    border-left: 1px solid #e8e8e8;
}

.footer-grid h2 {
    margin: 0 0 .8rem;
    color: #171717;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.footer-grid .footer-column > a:not(.button),
.footer-grid .footer-column > p,
.footer-grid .footer-column address,
.footer-contact-list a {
    color: #686868;
    font-size: .8rem;
}

.footer-grid .footer-column > a:not(.button) {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    transition: color var(--ease), transform var(--ease);
}

.footer-grid .footer-column > a:not(.button):hover,
.footer-grid .footer-column > a:not(.button):focus-visible,
.footer-contact-list a:hover,
.footer-contact-list a:focus-visible {
    color: #111;
}

.footer-contact-intro {
    display: block;
    max-width: 250px;
    margin-bottom: .35rem;
    line-height: 1.65;
}

.footer-contact-list {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: .68rem;
}

.footer-contact-list a,
.footer-address {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: .55rem;
}

.footer-contact-list svg,
.footer-address svg {
    width: 16px;
    height: 16px;
    margin-top: .12rem;
    color: #202020;
}

.footer-address {
    max-width: 280px;
    margin-top: .25rem;
    color: #777;
    font-style: normal;
    line-height: 1.6;
}

.footer-quote {
    min-width: 142px;
    margin-top: .55rem;
    border-radius: 8px;
    box-shadow: none;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding-block: 1.5rem;
    border-top: 1px solid #e8e8e8;
    color: #818181;
    font-size: .69rem;
}

.footer-bottom p,
.footer-bottom a {
    color: inherit;
}

.footer-bottom div {
    display: flex;
    flex-wrap: wrap;
    gap: 1.35rem;
}

.footer-bottom a:hover,
.footer-bottom a:focus-visible {
    color: #111;
}

@media (max-width: 1050px) {
    .footer-grid {
        grid-template-columns: 1.2fr 1fr 1fr;
    }

    .footer-contact {
        grid-column: 2 / 4;
    }
}

@media (max-width: 760px) {
    .final-cta .container {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 1.75rem;
    }

    .final-cta .button-light {
        width: 100%;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem 1.5rem;
    }

    .footer-brand {
        grid-column: 1 / -1;
        padding-bottom: 2.5rem;
        border-bottom: 1px solid #e8e8e8;
    }

    .footer-column {
        padding-left: 0;
        border-left: 0;
    }

    .footer-contact {
        grid-column: 1 / -1;
        padding-top: 2.5rem;
        border-top: 1px solid #e8e8e8;
    }
}

@media (max-width: 520px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-brand,
    .footer-contact {
        grid-column: auto;
    }

    .footer-grid > .footer-column {
        padding-bottom: 1.5rem;
        border-bottom: 1px solid #e8e8e8;
    }

    .footer-contact {
        padding-top: 0;
        border-top: 0;
    }

    .footer-quote {
        width: 100%;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: .8rem;
    }
}

/* CTN bright monochrome system */
:root {
    --ctn-mono-ink: #111111;
    --ctn-mono-graphite: #333333;
    --ctn-mono-soft: #eeeeeb;
    --ctn-mono-wash: #f7f7f4;
    --ctn-mono-paper: #fcfcfa;
}

body,
main {
    background: var(--ctn-mono-paper);
}

.main-nav > a.is-active::after,
.mega-wrap > a.is-active::after,
.nav-dropdown > a.is-active::after {
    background: var(--ctn-mono-ink);
}

.main-nav > a.is-active,
.mega-wrap > a.is-active,
.nav-dropdown > a.is-active {
    color: var(--ctn-mono-ink);
}

.nav-search-toggle:hover,
.nav-search-toggle[aria-expanded="true"] {
    background: var(--ctn-mono-soft);
    color: var(--ctn-mono-ink);
}

.hero--corporate {
    border-bottom-color: #e1e1de;
    background: linear-gradient(118deg, #fff 0%, #fff 57%, #f0f0ed 100%);
}

.hero--corporate .hero-kicker,
.hero--corporate .hero-copy h1 em {
    color: var(--ctn-mono-graphite);
}

.hero--corporate .hero-kicker::before {
    background: var(--ctn-mono-ink);
}

.hero--corporate .button-primary {
    border-color: var(--ctn-mono-ink);
    background: var(--ctn-mono-ink);
}

.hero--corporate .button-primary:hover,
.hero--corporate .button-primary:focus-visible {
    border-color: var(--ctn-mono-graphite);
    background: var(--ctn-mono-graphite);
}

.hero--corporate .button-primary svg {
    color: #fff;
}

.hero--corporate .hero-trust,
.hero--corporate .hero-trust li {
    border-color: #ddddda;
}

.hero-service-visual {
    border-color: #d7d7d4;
    background: #f3f3f0;
}

.hero-service-visual > img {
    filter: grayscale(.82) contrast(1.03) brightness(1.035);
}

.insurance-finder {
    border-bottom-color: #e1e1de;
    background: #fff;
}

.insurance-finder-heading > span,
.insurance-finder-help > strong {
    color: var(--ctn-mono-graphite);
}

.insurance-finder-links,
.insurance-finder-links a {
    border-color: #ddddda;
}

.insurance-finder-links {
    background: #fff;
}

.insurance-finder-links a:nth-child(odd) {
    background: #fafaf8;
}

.insurance-finder-links a:nth-child(1) .insurance-finder-icon,
.insurance-finder-links a:nth-child(3) .insurance-finder-icon,
.insurance-finder-links a:nth-child(5) .insurance-finder-icon {
    border-color: #d5d5d2;
    background: #e9e9e6;
    color: #222;
}

.insurance-finder-links a:nth-child(2) .insurance-finder-icon,
.insurance-finder-links a:nth-child(4) .insurance-finder-icon {
    border-color: #dededb;
    background: #f3f3f0;
    color: #333;
}

.insurance-finder-links a:hover,
.insurance-finder-links a:focus-visible {
    background: var(--ctn-mono-ink);
    color: #fff;
}

.insurance-finder-links a:hover .insurance-finder-index,
.insurance-finder-links a:focus-visible .insurance-finder-index,
.insurance-finder-links a:hover .insurance-finder-copy small,
.insurance-finder-links a:focus-visible .insurance-finder-copy small {
    color: #bdbdbd;
}

.insurance-finder-links a:hover .insurance-finder-icon,
.insurance-finder-links a:focus-visible .insurance-finder-icon {
    border-color: #666;
    background: #292929;
    color: #fff;
}

.insurance-finder-links a:hover > svg:last-child,
.insurance-finder-links a:focus-visible > svg:last-child {
    color: #fff;
}

.service-gateway {
    background: var(--ctn-mono-paper);
}

.service-gateway .eyebrow,
.home-product-selector .eyebrow,
.home-guides .eyebrow,
.service-continuity .eyebrow,
.faq-preview .eyebrow {
    color: var(--ctn-mono-graphite);
}

.service-gateway-grid,
.service-gateway-item + .service-gateway-item,
.service-gateway-note,
.service-gateway-note > span + span {
    border-color: #d6d6d3;
}

.service-gateway-item--primary {
    border-top: 3px solid var(--ctn-mono-ink);
    background: var(--ctn-mono-soft);
    color: var(--ctn-mono-ink);
}

.service-gateway-item--primary:hover,
.service-gateway-item--primary:focus-visible {
    background: #e5e5e2;
}

.service-gateway-item--primary header,
.service-gateway-item--primary footer {
    border-color: #c9c9c6;
}

.service-gateway-item--primary header > span,
.service-gateway-item--primary > div p {
    color: #666;
}

.service-gateway-item--primary header > svg,
.service-gateway-item--primary footer,
.service-gateway-note svg {
    color: var(--ctn-mono-ink);
}

.service-gateway-item:not(.service-gateway-item--primary):hover,
.service-gateway-item:not(.service-gateway-item--primary):focus-visible {
    background: var(--ctn-mono-wash);
}

.home-product-selector {
    background: #fff;
}

.home-product-selector-shell,
.home-product-selector-tabs,
.home-product-selector-content > section > header,
.home-product-selector-products > a + a {
    border-color: #d9d9d6;
}

.home-product-selector-tabs {
    background: var(--ctn-mono-wash);
}

.home-product-selector-tabs button::before {
    display: none;
}

.home-product-selector-tabs button:hover,
.home-product-selector-tabs button:focus-visible {
    background: var(--ctn-mono-soft);
}

.home-product-selector-tabs button[aria-selected="true"] {
    background: var(--ctn-mono-ink);
    color: #fff;
}

.home-product-selector-tabs button[aria-selected="true"] small,
.home-product-selector-tabs button[aria-selected="true"] > svg:last-child {
    color: #bdbdbd;
}

.home-product-selector-content > section > header > span,
.home-product-selector-content > section > header a,
.home-product-selector-link {
    color: var(--ctn-mono-graphite);
}

.home-product-selector-icon {
    border-color: #d0d0cd;
    border-radius: 10px;
    background: var(--ctn-mono-soft);
    color: var(--ctn-mono-ink);
}

.home-product-selector-products > a:hover,
.home-product-selector-products > a:focus-visible {
    background: var(--ctn-mono-wash);
}

.home-support-hub {
    background: #efefec;
    color: var(--ctn-mono-ink);
}

.home-support-hub::after {
    color: rgba(0, 0, 0, .035);
}

.home-support-intro {
    border-color: #d1d1ce;
}

.home-support-kicker,
.home-support-intro > a {
    color: var(--ctn-mono-graphite);
}

.home-support-intro > p:not(.home-support-kicker) {
    color: #626262;
}

.home-support-intro > a {
    border-color: #777;
}

.home-support-intro > a:hover,
.home-support-intro > a:focus-visible {
    border-color: var(--ctn-mono-ink);
    color: var(--ctn-mono-ink);
}

.home-support-actions {
    background: rgba(255, 255, 255, .36);
}

.home-support-actions > a {
    border-color: #d1d1ce;
    color: var(--ctn-mono-ink);
}

.home-support-actions > a:hover,
.home-support-actions > a:focus-visible {
    background: var(--ctn-mono-ink);
    color: #fff;
}

.home-support-actions > a > span,
.home-support-actions p {
    color: #686868;
}

.home-support-actions > a > svg:not(:last-child),
.home-support-actions > a > svg:last-child {
    color: var(--ctn-mono-graphite);
}

.home-support-actions > a:hover > span,
.home-support-actions > a:focus-visible > span,
.home-support-actions > a:hover p,
.home-support-actions > a:focus-visible p {
    color: #bdbdbd;
}

.home-support-actions > a:hover > svg:not(:last-child),
.home-support-actions > a:focus-visible > svg:not(:last-child),
.home-support-actions > a:hover > svg:last-child,
.home-support-actions > a:focus-visible > svg:last-child {
    color: #fff;
}

.home-guides {
    background: #fff;
}

.home-guides-intro > span {
    padding: .85rem 1rem;
    border-color: var(--ctn-mono-ink);
    background: var(--ctn-mono-wash);
}

.home-guide-list,
.home-guide-list article {
    border-color: #d5d5d2;
}

.home-guide-category,
.home-guide-list article:hover .home-guide-index,
.home-guide-links a:hover {
    color: var(--ctn-mono-ink);
}

.home-guide-links a:hover {
    border-color: var(--ctn-mono-ink);
}

.service-continuity {
    background: var(--ctn-mono-wash);
}

.service-continuity-grid {
    border-top-color: var(--ctn-mono-ink);
    border-bottom-color: #d2d2cf;
    background: #fff;
}

.service-continuity-grid > a + a,
.service-continuity-grid header,
.service-continuity-grid footer,
.service-continuity-contact {
    border-color: #d8d8d5;
}

.service-continuity-grid header svg,
.service-continuity-grid footer,
.service-continuity-contact > div > svg,
.service-continuity-contact > a {
    color: var(--ctn-mono-graphite);
}

.service-continuity-grid > a:hover,
.service-continuity-grid > a:focus-visible {
    background: var(--ctn-mono-soft);
}

.partners-preview,
.faq-preview {
    background: #fff;
}

.accordion button svg,
.text-link {
    color: var(--ctn-mono-graphite);
}

.final-cta {
    border-color: #d9d9d6;
    background: var(--ctn-mono-soft);
}

.final-cta p {
    color: var(--ctn-mono-graphite);
}

.final-cta .button-light {
    border-color: var(--ctn-mono-ink);
    background: var(--ctn-mono-ink);
}

.final-cta .button-light:hover,
.final-cta .button-light:focus-visible {
    border-color: var(--ctn-mono-graphite);
    background: var(--ctn-mono-graphite);
}

.footer-brand .footer-brand-kicker,
.footer-brand-link,
.footer-contact-list svg,
.footer-address svg {
    color: var(--ctn-mono-graphite);
}

.footer-brand-link {
    border-color: var(--ctn-mono-ink);
}

@media (max-width: 900px) {
    .hero--corporate {
        background: linear-gradient(180deg, #fff 0%, #f1f1ee 100%);
    }

    .home-support-intro {
        border-bottom-color: #d1d1ce;
    }
}

/* CTN high-contrast editorial direction */
body,
main,
.hero--corporate,
.insurance-finder,
.service-gateway,
.home-product-selector,
.home-support-hub,
.home-guides,
.service-continuity,
.partners-preview,
.faq-preview,
.final-cta {
    background: #fff;
}

.hero--corporate {
    position: relative;
    overflow: hidden;
    border-bottom: 0;
}

.hero--corporate::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 9px;
    height: 100%;
    background: #111;
    content: "";
}

.hero--corporate .hero-grid {
    min-height: 680px;
    grid-template-columns: minmax(0, .98fr) minmax(460px, 1.02fr);
    gap: clamp(3rem, 5.5vw, 5.5rem);
}

.hero--corporate .hero-copy {
    padding-block: 6rem;
}

.hero--corporate .hero-kicker {
    display: inline-flex;
    width: fit-content;
    min-height: 29px;
    align-items: center;
    padding: 0 .72rem;
    background: #111;
    color: #fff;
    font-size: .6rem;
    letter-spacing: .15em;
}

.hero--corporate .hero-kicker::before {
    display: none;
}

.hero--corporate .hero-copy h1 {
    max-width: 690px;
    margin: 1.35rem 0 1.35rem;
    color: #111;
    font-size: clamp(3.8rem, 5.15vw, 5.25rem);
    line-height: .95;
    letter-spacing: -.065em;
}

.hero--corporate .hero-copy h1 em {
    color: #111;
    font-style: normal;
    box-shadow: inset 0 -.12em 0 #e8e8e8;
}

.hero--corporate .hero-copy > p:last-of-type {
    max-width: 540px;
    color: #626262;
    font-size: .98rem;
}

.hero--corporate .button-primary {
    border-color: #111;
    background: #111;
    color: #fff;
}

.hero--corporate .button-secondary {
    border-color: #111;
    color: #111;
}

.hero--corporate .button-primary:hover,
.hero--corporate .button-primary:focus-visible {
    border-color: #111;
    background: #fff;
    color: #111;
}

.hero--corporate .button-secondary:hover,
.hero--corporate .button-secondary:focus-visible {
    background: #111;
    color: #fff;
}

.hero--corporate .hero-trust {
    border-top: 2px solid #111;
}

.hero--corporate .hero-trust li {
    border-color: #d8d8d8;
}

.hero-service-visual {
    position: relative;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: #fff;
}

.hero-service-visual::before {
    position: absolute;
    z-index: 2;
    top: -18px;
    left: -18px;
    width: 72px;
    height: 72px;
    border-top: 2px solid #111;
    border-left: 2px solid #111;
    content: "";
}

.hero-service-visual::after {
    position: absolute;
    right: -1px;
    bottom: -1px;
    padding: .8rem 1rem;
    background: #111;
    color: #fff;
    content: "CTN / GÜVENCE";
    font-size: .56rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .14em;
}

.hero-service-visual > img {
    border-radius: 0;
    filter: grayscale(1) contrast(1.06) brightness(1.03);
}

.insurance-finder {
    padding-block: 3.4rem;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
}

.insurance-finder-heading > span,
.service-gateway .eyebrow,
.home-product-selector .eyebrow,
.home-guides .eyebrow,
.service-continuity .eyebrow,
.faq-preview .eyebrow {
    display: inline-flex;
    width: fit-content;
    padding: .35rem .55rem;
    background: #111;
    color: #fff;
}

.insurance-finder-help > strong {
    color: #111;
}

.insurance-finder-links {
    border-top: 2px solid #111;
    border-right: 0;
    border-bottom: 1px solid #111;
    border-left: 0;
    background: #fff;
}

.insurance-finder-links a,
.insurance-finder-links a:nth-child(odd) {
    min-height: 154px;
    border-color: #d8d8d8;
    background: #fff;
}

.insurance-finder-icon,
.insurance-finder-links a:nth-child(1) .insurance-finder-icon,
.insurance-finder-links a:nth-child(2) .insurance-finder-icon,
.insurance-finder-links a:nth-child(3) .insurance-finder-icon,
.insurance-finder-links a:nth-child(4) .insurance-finder-icon,
.insurance-finder-links a:nth-child(5) .insurance-finder-icon {
    border: 1px solid #111;
    background: #fff;
    color: #111;
}

.insurance-finder-index {
    color: #aaa;
    font-size: .72rem;
}

.insurance-finder-links a:hover,
.insurance-finder-links a:focus-visible {
    background: #111;
    color: #fff;
}

.insurance-finder-links a:hover .insurance-finder-icon,
.insurance-finder-links a:focus-visible .insurance-finder-icon {
    border-color: #fff;
    background: #fff;
    color: #111;
}

.service-gateway,
.home-product-selector,
.home-guides,
.service-continuity,
.partners-preview,
.faq-preview {
    border-top: 1px solid #e2e2e2;
}

.service-gateway-grid {
    border-top: 2px solid #111;
    border-right: 0;
    border-bottom: 1px solid #111;
    border-left: 0;
}

.service-gateway-item,
.service-gateway-item--primary {
    min-height: 380px;
    border-top: 0;
    background: #fff;
    color: #111;
}

.service-gateway-item + .service-gateway-item {
    border-color: #d5d5d5;
}

.service-gateway-item header,
.service-gateway-item--primary header,
.service-gateway-item footer,
.service-gateway-item--primary footer {
    border-color: #d6d6d6;
}

.service-gateway-item header > span,
.service-gateway-item--primary header > span,
.service-gateway-item > div p,
.service-gateway-item--primary > div p {
    color: #6c6c6c;
}

.service-gateway-item header > svg,
.service-gateway-item--primary header > svg {
    display: grid;
    width: 38px;
    height: 38px;
    padding: 9px;
    border-radius: 50%;
    background: #111;
    color: #fff;
}

.service-gateway-item footer,
.service-gateway-item--primary footer {
    color: #111;
}

.service-gateway-item:hover,
.service-gateway-item:focus-visible,
.service-gateway-item--primary:hover,
.service-gateway-item--primary:focus-visible {
    background: #f7f7f7;
    color: #111;
}

.service-gateway-note {
    border-color: #d7d7d7;
    background: #fff;
}

.home-product-selector-shell {
    border-top: 2px solid #111;
    border-right: 0;
    border-bottom: 1px solid #111;
    border-left: 0;
}

.home-product-selector-tabs {
    border-color: #d8d8d8;
    background: #fff;
}

.home-product-selector-tabs button {
    background: #fff;
}

.home-product-selector-tabs button::before {
    display: block;
    width: 4px;
    background: #111;
}

.home-product-selector-tabs button:hover,
.home-product-selector-tabs button:focus-visible,
.home-product-selector-tabs button[aria-selected="true"] {
    background: #f3f3f3;
    color: #111;
}

.home-product-selector-tabs button[aria-selected="true"] small,
.home-product-selector-tabs button[aria-selected="true"] > svg:last-child {
    color: #777;
}

.home-product-selector-icon {
    border: 0;
    border-radius: 50%;
    background: #111;
    color: #fff;
}

.home-product-selector-products > a:hover,
.home-product-selector-products > a:focus-visible {
    background: #f7f7f7;
}

.home-support-hub {
    border-top: 1px solid #e2e2e2;
    color: #111;
}

.home-support-hub::after {
    right: -.04em;
    bottom: -.02em;
    left: auto;
    color: rgba(0, 0, 0, .025);
    font-size: clamp(13rem, 25vw, 27rem);
}

.home-support-intro {
    border-color: #d5d5d5;
}

.home-support-kicker {
    display: inline-flex;
    width: fit-content;
    padding: .4rem .6rem;
    background: #111;
    color: #fff;
}

.home-support-intro > p:not(.home-support-kicker) {
    color: #666;
}

.home-support-intro > a {
    border-color: #111;
    color: #111;
}

.home-support-actions {
    background: #fff;
}

.home-support-actions > a {
    border-color: #d5d5d5;
    color: #111;
}

.home-support-actions > a > svg:not(:last-child) {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 10px;
    border: 1px solid #111;
    border-radius: 50%;
    color: #111;
}

.home-support-actions > a > svg:last-child {
    color: #111;
}

.home-support-actions > a:hover,
.home-support-actions > a:focus-visible {
    background: #111;
    color: #fff;
}

.home-support-actions > a:hover > svg:not(:last-child),
.home-support-actions > a:focus-visible > svg:not(:last-child) {
    border-color: #fff;
    color: #fff;
}

.home-guides-intro > span {
    padding: 1rem 0 1rem 1rem;
    border-color: #111;
    background: #fff;
}

.home-guide-list {
    border-top: 2px solid #111;
}

.home-guide-index {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 1px solid #111;
    border-radius: 50%;
    color: #111;
    font-size: .75rem;
}

.home-guide-list article:hover .home-guide-index {
    background: #111;
    color: #fff;
}

.service-continuity-grid {
    border-top: 2px solid #111;
    background: #fff;
}

.service-continuity-grid > a {
    background: #fff;
}

.service-continuity-grid header svg {
    display: grid;
    width: 38px;
    height: 38px;
    padding: 9px;
    border-radius: 50%;
    background: #111;
    color: #fff;
}

.service-continuity-grid > a:hover,
.service-continuity-grid > a:focus-visible {
    background: #f4f4f4;
}

.logo-grid > * {
    border-color: #d8d8d8;
    border-radius: 0;
    background: #fff;
    transition: background-color var(--ease), color var(--ease);
}

.logo-grid > *:hover {
    background: #111;
    color: #fff;
}

.final-cta {
    position: relative;
    border-top: 3px solid #111;
    border-bottom: 1px solid #111;
    background: #fff;
}

.final-cta::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: clamp(8px, 1.2vw, 18px);
    background: #111;
    content: "";
}

.final-cta p {
    color: #333;
}

.footer-brand .footer-brand-kicker,
.footer-brand-link,
.footer-contact-list svg,
.footer-address svg {
    color: #222;
}

@media (max-width: 900px) {
    .hero--corporate {
        background: #fff;
    }

    .hero--corporate .hero-grid {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .hero--corporate .hero-copy {
        padding-block: 4.5rem 3.5rem;
    }

    .hero-service-visual {
        margin-bottom: 4rem;
    }

    .home-support-intro {
        border-bottom-color: #d5d5d5;
    }
}

@media (max-width: 620px) {
    .hero--corporate::after {
        width: 5px;
    }

    .hero--corporate .hero-copy h1 {
        font-size: clamp(3rem, 14vw, 3.75rem);
    }

    .hero-service-visual::before {
        top: -10px;
        left: -10px;
        width: 44px;
        height: 44px;
    }

    .insurance-finder-links a {
        min-height: 140px;
    }

    .service-gateway-item,
    .service-gateway-item--primary {
        min-height: 310px;
    }
}

/* Strict monochrome restoration */
:root {
    --ctn-blue: #111111;
    --ctn-blue-dark: #111111;
    --ctn-blue-soft: #f1f1f1;
    --ctn-sky-soft: #f5f5f5;
    --ctn-butter-soft: #eeeeee;
    --ctn-coral-soft: #f4f4f4;
    --ctn-rose-soft: #f2f2f2;
}

.main-nav > a.is-active,
.mega-wrap > a.is-active,
.nav-dropdown > a.is-active {
    color: var(--ctn-blue-dark);
}

.main-nav > a.is-active::after,
.mega-wrap > a.is-active::after,
.nav-dropdown > a.is-active::after {
    background: var(--ctn-blue);
}

.nav-search-toggle:hover,
.nav-search-toggle[aria-expanded="true"] {
    background: var(--ctn-blue-soft);
    color: var(--ctn-blue-dark);
}

.hero--corporate::after,
.hero--corporate .hero-kicker,
.hero-service-visual::after {
    background: var(--ctn-blue);
}

.hero--corporate .hero-copy h1 em {
    box-shadow: inset 0 -.12em 0 #e8e8e8;
}

.hero--corporate .button-primary {
    border-color: #111;
    background: #111;
}

.hero--corporate .button-primary:hover,
.hero--corporate .button-primary:focus-visible {
    border-color: #111;
    background: #fff;
    color: #111;
}

.hero--corporate .button-secondary:hover,
.hero--corporate .button-secondary:focus-visible {
    border-color: var(--ctn-blue-dark);
    background: var(--ctn-blue-dark);
}

.hero--corporate .hero-trust {
    border-top-color: var(--ctn-blue);
}

.hero-service-visual::before {
    border-color: var(--ctn-blue);
}

.hero-service-visual > img {
    filter: grayscale(1) contrast(1.06) brightness(1.03);
}

.insurance-finder-heading > span,
.service-gateway .eyebrow,
.home-product-selector .eyebrow,
.home-guides .eyebrow,
.service-continuity .eyebrow,
.faq-preview .eyebrow,
.home-support-kicker {
    background: var(--ctn-blue);
}

.insurance-finder-help > strong,
.home-product-selector-content > section > header > span,
.home-product-selector-content > section > header a,
.home-product-selector-link,
.text-link,
.accordion button svg {
    color: var(--ctn-blue);
}

.insurance-finder-links {
    border-top-color: var(--ctn-blue);
}

.insurance-finder-links a:nth-child(1) .insurance-finder-icon {
    border-color: #d8d8d8;
    background: var(--ctn-blue-soft);
    color: var(--ctn-blue-dark);
}

.insurance-finder-links a:nth-child(2) .insurance-finder-icon {
    border-color: #dddddd;
    background: var(--ctn-sky-soft);
    color: #333333;
}

.insurance-finder-links a:nth-child(3) .insurance-finder-icon {
    border-color: #d7d7d7;
    background: var(--ctn-butter-soft);
    color: #333333;
}

.insurance-finder-links a:nth-child(4) .insurance-finder-icon {
    border-color: #dddddd;
    background: var(--ctn-coral-soft);
    color: #333333;
}

.insurance-finder-links a:nth-child(5) .insurance-finder-icon {
    border-color: #d9d9d9;
    background: var(--ctn-rose-soft);
    color: #333333;
}

.insurance-finder-links a:hover,
.insurance-finder-links a:focus-visible {
    background: var(--ctn-blue);
}

.insurance-finder-links a:hover .insurance-finder-icon,
.insurance-finder-links a:focus-visible .insurance-finder-icon {
    border-color: #fff;
    background: #fff;
    color: var(--ctn-blue-dark);
}

.service-gateway-grid,
.home-product-selector-shell,
.home-guide-list,
.service-continuity-grid {
    border-top-color: var(--ctn-blue);
}

.service-gateway-item:nth-child(1) header > svg,
.service-continuity-grid > a:nth-child(1) header svg {
    background: var(--ctn-blue);
}

.service-gateway-item:nth-child(2) header > svg,
.service-continuity-grid > a:nth-child(2) header svg {
    background: var(--ctn-butter-soft);
    color: #333333;
}

.service-gateway-item:nth-child(3) header > svg,
.service-continuity-grid > a:nth-child(3) header svg {
    background: var(--ctn-coral-soft);
    color: #333333;
}

.service-continuity-grid > a:nth-child(4) header svg {
    background: var(--ctn-sky-soft);
    color: #333333;
}

.service-gateway-item:hover,
.service-gateway-item:focus-visible,
.service-gateway-item--primary:hover,
.service-gateway-item--primary:focus-visible,
.home-product-selector-products > a:hover,
.home-product-selector-products > a:focus-visible,
.service-continuity-grid > a:hover,
.service-continuity-grid > a:focus-visible {
    background: #f7f7f7;
}

.service-gateway-note svg,
.home-product-selector-tabs button[aria-selected="true"],
.home-product-selector-tabs button[aria-selected="true"] > svg:last-child {
    color: var(--ctn-blue-dark);
}

.home-product-selector-tabs button::before {
    background: var(--ctn-blue);
}

.home-product-selector-tabs button:hover,
.home-product-selector-tabs button:focus-visible,
.home-product-selector-tabs button[aria-selected="true"] {
    background: var(--ctn-blue-soft);
}

.home-product-selector-icon {
    background: var(--ctn-blue);
}

.home-support-hub {
    background: #f7f7f7;
}

.home-support-hub::after {
    color: rgba(0, 0, 0, .035);
}

.home-support-intro > a {
    border-color: var(--ctn-blue);
    color: var(--ctn-blue-dark);
}

.home-support-actions > a:nth-child(1) > svg:not(:last-child) {
    border-color: var(--ctn-blue);
    background: var(--ctn-blue-soft);
    color: var(--ctn-blue);
}

.home-support-actions > a:nth-child(2) > svg:not(:last-child) {
    border-color: #d7d7d7;
    background: var(--ctn-butter-soft);
    color: #333333;
}

.home-support-actions > a:nth-child(3) > svg:not(:last-child) {
    border-color: #dddddd;
    background: var(--ctn-coral-soft);
    color: #333333;
}

.home-support-actions > a:nth-child(4) > svg:not(:last-child) {
    border-color: #dddddd;
    background: var(--ctn-sky-soft);
    color: #333333;
}

.home-support-actions > a > svg:last-child {
    color: var(--ctn-blue);
}

.home-support-actions > a:hover,
.home-support-actions > a:focus-visible {
    background: var(--ctn-blue);
}

.home-guides-intro > span {
    border-color: var(--ctn-blue);
    background: #f7f7f7;
}

.home-guide-index {
    border-color: var(--ctn-blue);
    color: var(--ctn-blue);
}

.home-guide-list article:hover .home-guide-index {
    background: var(--ctn-blue);
}

.home-guide-category,
.home-guide-links a:hover,
.service-continuity-grid footer,
.service-continuity-contact > div > svg,
.service-continuity-contact > a {
    color: var(--ctn-blue);
}

.logo-grid > *:hover {
    background: var(--ctn-blue);
}

.final-cta {
    border-top-color: var(--ctn-blue);
    background: var(--ctn-blue-soft);
}

.final-cta::before {
    background: var(--ctn-blue);
}

.final-cta .button-light {
    border-color: #111;
    background: #111;
}

.final-cta p,
.footer-brand .footer-brand-kicker,
.footer-brand-link,
.footer-contact-list svg,
.footer-address svg {
    color: var(--ctn-blue);
}

.footer-brand-link {
    border-color: var(--ctn-blue);
}

/* Transparent category hover */
.insurance-finder-links a:hover,
.insurance-finder-links a:focus-visible {
    background: #f5f5f5;
    color: #222;
    outline: 0;
}

.insurance-finder-links a:hover .insurance-finder-index,
.insurance-finder-links a:focus-visible .insurance-finder-index {
    color: #888;
}

.insurance-finder-links a:hover .insurance-finder-copy small,
.insurance-finder-links a:focus-visible .insurance-finder-copy small {
    color: #777;
}

.insurance-finder-links a:hover .insurance-finder-icon,
.insurance-finder-links a:focus-visible .insurance-finder-icon {
    border-color: transparent;
    background: #f2f2f2;
    color: #222;
}

.insurance-finder-links a:hover > svg:last-child,
.insurance-finder-links a:focus-visible > svg:last-child {
    color: #111;
}

.insurance-finder-links a:nth-child(1) .insurance-finder-icon,
.insurance-finder-links a:nth-child(2) .insurance-finder-icon,
.insurance-finder-links a:nth-child(3) .insurance-finder-icon,
.insurance-finder-links a:nth-child(4) .insurance-finder-icon,
.insurance-finder-links a:nth-child(5) .insurance-finder-icon {
    border-color: transparent;
    background: #f2f2f2;
    color: #222;
}

/* Calm support-card hover */
.home-support-actions > a:hover,
.home-support-actions > a:focus-visible {
    background: #f5f5f5;
    color: #111;
    outline: 0;
}

.home-support-actions > a:hover > span,
.home-support-actions > a:focus-visible > span {
    color: #7f7f7f;
}

.home-support-actions > a:hover h3,
.home-support-actions > a:focus-visible h3 {
    color: #111;
}

.home-support-actions > a:hover p,
.home-support-actions > a:focus-visible p {
    color: #686868;
}

.home-support-actions > a:nth-child(1) > svg:not(:last-child),
.home-support-actions > a:nth-child(2) > svg:not(:last-child),
.home-support-actions > a:nth-child(3) > svg:not(:last-child),
.home-support-actions > a:nth-child(4) > svg:not(:last-child),
.home-support-actions > a:hover > svg:not(:last-child),
.home-support-actions > a:focus-visible > svg:not(:last-child) {
    border-color: #d8d8d8;
    background: #f2f2f2;
    color: #222;
}

.home-support-actions > a:hover > svg:last-child,
.home-support-actions > a:focus-visible > svg:last-child {
    color: #111;
}

/* Site-wide calm card interaction */
.quick-card:hover,
.quick-card:focus-within,
.product-card:hover,
.product-card:focus-within,
.product-card.product-card--showcase:hover,
.product-card.product-card--showcase:focus-within,
.products-directory-nav > a:hover,
.products-directory-nav > a:focus-visible,
.products-directory-list > a:hover,
.products-directory-list > a:focus-visible,
.life-moments-list > a:hover,
.life-moments-list > a:focus-visible,
.service-gateway-item:hover,
.service-gateway-item:focus-visible,
.service-gateway-item--primary:hover,
.service-gateway-item--primary:focus-visible,
.home-product-selector-products > a:hover,
.home-product-selector-products > a:focus-visible,
.home-support-actions > a:hover,
.home-support-actions > a:focus-visible,
.service-continuity-grid > a:hover,
.service-continuity-grid > a:focus-visible,
.insurance-finder-links a:hover,
.insurance-finder-links a:focus-visible,
.home-guide-list article:hover,
.logo-grid > *:hover {
    background: #f5f5f5;
    color: #111;
    box-shadow: none;
    transform: none;
    outline: 0;
}

.product-card--showcase:hover .product-showcase-card-head strong,
.product-card--showcase:focus-within .product-showcase-card-head strong {
    border-color: #cfcfcf;
    color: #555;
}

.product-card--showcase:hover .product-showcase-icon,
.product-card--showcase:focus-within .product-showcase-icon {
    border-color: #cfcfcf;
    background: transparent;
    color: #222;
}

.product-card--showcase:hover .product-showcase-card-copy h3,
.product-card--showcase:focus-within .product-showcase-card-copy h3 {
    color: #111;
}

.product-card--showcase:hover .product-showcase-card-copy > p,
.product-card--showcase:focus-within .product-showcase-card-copy > p {
    color: #858585;
}

.product-card--showcase:hover .product-showcase-card-copy > span,
.product-card--showcase:focus-within .product-showcase-card-copy > span {
    color: #707070;
}

.product-card--showcase:hover footer,
.product-card--showcase:focus-within footer {
    border-color: #dedede;
    color: #222;
}

.life-moments-list > a:hover .life-moment-icon,
.life-moments-list > a:focus-visible .life-moment-icon {
    border-color: #cfcfcf;
    background: transparent;
    color: #222;
}

.home-guide-list article:hover .home-guide-index {
    border-color: #111;
    background: transparent;
    color: #111;
}

/* Footer separation */
.site-footer {
    border-top: 1px solid #dedede;
}
