/* CTN Group Sigorta — 2026 brand system */
:root {
    --primary: #163a3a;
    --primary-dark: #102d2d;
    --primary-light: #eef1ed;
    --secondary: #49635e;
    --accent: #c6b291;
    --background: #ffffff;
    --surface: #ffffff;
    --soft-surface: #eef1ed;
    --text-primary: #202422;
    --text-secondary: #6d746f;
    --border: #dde1dc;
    --border-strong: #c6ccc6;
    --ink: #202422;
    --paper: #ffffff;
    --muted: #6d746f;
    --container: 1280px;
    --section: clamp(5.5rem, 8vw, 7.5rem);
    --radius-sm: 4px;
    --radius: 6px;
    --radius-lg: 10px;
    --shadow-sm: none;
    --shadow-md: none;
    --ease: 280ms cubic-bezier(.2, .75, .3, 1);
}

/* Blog detail — long-form editorial reading */
.ctn-article {
    --article-ink: #172320;
    --article-muted: #68716e;
    --article-line: #d8ddda;
    --article-accent: var(--primary, #103c37);
    background: #fff;
    color: var(--article-ink);
}

.ctn-article-hero {
    padding-top: 1px;
    border-bottom: 1px solid var(--article-line);
    background: #fff;
}

.ctn-article-breadcrumb {
    display: flex;
    align-items: center;
    gap: .48rem;
    min-height: 66px;
    border-bottom: 1px solid var(--article-line);
    color: #818986;
    font-size: .72rem;
    font-weight: 650;
}

.ctn-article-breadcrumb a {
    color: var(--article-ink);
}

.ctn-article-breadcrumb a:hover {
    color: var(--article-accent);
}

.ctn-article-breadcrumb svg {
    width: 13px;
    height: 13px;
    stroke-width: 1.6;
}

.ctn-article-heading {
    max-width: 1110px;
    margin: 0 auto;
    padding: clamp(4.5rem, 8vw, 8rem) 0 clamp(4rem, 7vw, 6.8rem);
}

.ctn-article-meta {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    margin-bottom: clamp(2rem, 4vw, 3.4rem);
    color: var(--article-muted);
    font-size: .68rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ctn-article-meta span {
    color: var(--article-accent);
    font-weight: 800;
    letter-spacing: .16em;
}

.ctn-article-meta time,
.ctn-article-meta small {
    position: relative;
    padding-left: 1.1rem;
}

.ctn-article-meta time::before,
.ctn-article-meta small::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #aab1ae;
    content: "";
    transform: translateY(-50%);
}

.ctn-article-heading h1 {
    max-width: 1070px;
    margin: 0;
    font-size: clamp(3.25rem, 6.25vw, 6.65rem);
    font-weight: 690;
    letter-spacing: -.075em;
    line-height: .94;
}

.ctn-article-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: clamp(3rem, 9vw, 9rem);
    align-items: end;
    margin-top: clamp(2.8rem, 5vw, 4.8rem);
    padding-top: 2rem;
    border-top: 1px solid var(--article-line);
}

.ctn-article-intro > p {
    max-width: 760px;
    margin: 0;
    color: #4e5754;
    font-size: clamp(1.16rem, 1.65vw, 1.55rem);
    line-height: 1.55;
}

.ctn-article-byline {
    border-top: 1px solid var(--article-ink);
    border-bottom: 1px solid var(--article-line);
}

.ctn-article-byline-author {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 1rem;
    align-items: center;
    padding: 1rem 0;
}

.ctn-article-byline-mark {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid var(--article-line);
    background: #fff;
}

.ctn-article-byline-mark img {
    width: 27px;
    height: 31px;
    object-fit: contain;
    filter: grayscale(1) contrast(1.2);
}

.ctn-article-byline-author > div {
    display: grid;
    gap: .16rem;
}

.ctn-article-byline-author span,
.ctn-article-byline-author small,
.ctn-article-byline-date span {
    color: #858c89;
    font-size: .56rem;
    font-weight: 730;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.ctn-article-byline-author strong {
    margin-top: .25rem;
    color: var(--article-ink);
    font-size: .84rem;
    line-height: 1.2;
}

.ctn-article-byline-date {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 52px;
    border-top: 1px solid var(--article-line);
}

.ctn-article-byline time {
    color: #626b68;
    font-size: .68rem;
    font-weight: 720;
    letter-spacing: .025em;
}

.ctn-article-visual {
    position: relative;
    height: clamp(440px, 54vw, 760px);
    margin-top: clamp(1.4rem, 3vw, 2.5rem);
    overflow: hidden;
    border-top: 1px solid var(--article-line);
    border-bottom: 1px solid var(--article-line);
    background: #eef0ee;
}

.ctn-article-visual::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 68%, rgb(11 25 22 / 38%));
    content: "";
    pointer-events: none;
}

.ctn-article-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.72) contrast(.98);
}

.ctn-article-visual figcaption {
    position: absolute;
    z-index: 1;
    right: clamp(1rem, 3vw, 2.6rem);
    bottom: clamp(1rem, 3vw, 2.2rem);
    color: #fff;
    font-size: .61rem;
    font-weight: 750;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.ctn-article-content {
    padding: clamp(5rem, 9vw, 9rem) 0;
    border-bottom: 1px solid var(--article-line);
    background: #fff;
}

.ctn-article-layout {
    display: grid;
    grid-template-columns: 255px minmax(0, 790px);
    justify-content: space-between;
    gap: clamp(4rem, 10vw, 10rem);
}

.ctn-article-toc {
    position: sticky;
    top: 118px;
    align-self: start;
    border-top: 1px solid var(--article-ink);
}

.ctn-article-toc > p {
    margin: 0;
    padding: 1.15rem 0 .8rem;
    color: var(--article-accent);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-article-toc ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ctn-article-toc li {
    border-bottom: 1px solid var(--article-line);
}

.ctn-article-toc a {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: .7rem;
    align-items: start;
    padding: .9rem 0;
    color: #56605c;
    font-size: .72rem;
    line-height: 1.4;
}

.ctn-article-toc a:hover {
    color: var(--article-ink);
}

.ctn-article-toc small {
    padding-top: .05rem;
    color: #9aa19e;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-article-lead {
    max-width: 735px;
    margin: 0 0 clamp(3.8rem, 6vw, 5.5rem);
    padding-left: 1.45rem;
    border-left: 2px solid var(--article-accent);
    color: #34403c;
    font-size: clamp(1.22rem, 1.65vw, 1.55rem);
    font-weight: 520;
    letter-spacing: -.02em;
    line-height: 1.52;
}

.ctn-article-body > section {
    position: relative;
    padding: clamp(3.2rem, 6vw, 5rem) 0;
    border-top: 1px solid var(--article-line);
    scroll-margin-top: 120px;
}

.ctn-article-body > section > span {
    display: block;
    margin-bottom: 1.25rem;
    color: #9a8460;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.ctn-article-body h2 {
    max-width: 660px;
    margin: 0 0 1.7rem;
    font-size: clamp(2rem, 3.2vw, 3.15rem);
    font-weight: 680;
    letter-spacing: -.055em;
    line-height: 1.04;
}

.ctn-article-body section > p {
    max-width: 710px;
    margin: 0 0 1.15rem;
    color: #59615e;
    font-size: .98rem;
    line-height: 1.82;
}

.ctn-article-body ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2.2rem;
    margin: 2rem 0 0;
    padding: 0;
    border-top: 0;
    counter-reset: article-list;
    list-style: none;
}

.ctn-article-body li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: .7rem;
    align-items: center;
    min-height: 72px;
    padding: .9rem 0;
    border-bottom: 1px solid var(--article-line);
    color: #303936;
    font-size: .76rem;
    font-weight: 650;
    line-height: 1.45;
    counter-increment: article-list;
}

.ctn-article-body li:nth-child(odd) {
    border-right: 0;
}

.ctn-article-body li::before {
    position: static;
    width: auto;
    height: auto;
    background: none;
    color: #9a8460;
    content: counter(article-list, decimal-leading-zero);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-article-body > .ctn-article-snapshot {
    margin: 0 0 clamp(4rem, 7vw, 6rem);
    padding: 0;
    border-top: 1px solid var(--article-ink);
    border-right: 0;
    border-bottom: 1px solid var(--article-ink);
    border-left: 0;
    background: #fff;
    color: var(--article-ink);
}

.ctn-article-snapshot > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    min-height: 62px;
    padding: 0;
    border-bottom: 1px solid var(--article-line);
}

.ctn-article-snapshot > header span {
    color: var(--article-accent);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-article-snapshot > header strong {
    color: #747c79;
    font-size: .72rem;
    font-weight: 580;
    letter-spacing: .015em;
}

.ctn-article-snapshot > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ctn-article-snapshot article {
    position: relative;
    min-height: 205px;
    padding: clamp(1.8rem, 3.5vw, 2.5rem) clamp(.2rem, 2vw, 1.5rem) clamp(1.8rem, 3.5vw, 2.5rem) 0;
}

.ctn-article-snapshot article + article {
    padding-right: 0;
    padding-left: clamp(1.5rem, 4vw, 3rem);
    border-left: 1px solid var(--article-line);
}

.ctn-article-snapshot article small {
    display: inline-block;
    margin-bottom: 1.5rem;
    color: #9a8460;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ctn-article-body .ctn-article-snapshot h2 {
    max-width: 300px;
    margin: 0 0 .85rem;
    color: var(--article-ink);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    letter-spacing: -.035em;
    line-height: 1.12;
}

.ctn-article-body .ctn-article-snapshot article p {
    max-width: 310px;
    margin: 0;
    color: #69726f;
    font-size: .8rem;
    line-height: 1.7;
}

.ctn-article-list-title {
    margin: 2.7rem 0 0;
    padding-bottom: .8rem;
    border-bottom: 1px solid var(--article-ink);
    color: var(--article-accent);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.ctn-article-list-title + ul {
    margin-top: 0;
}

.ctn-article-note {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 1rem;
    margin-top: 2.3rem;
    padding: 1.45rem 1.5rem;
    border-top: 1px solid var(--article-ink);
    border-bottom: 1px solid var(--article-line);
    background: #f7f8f6;
}

.ctn-article-note svg {
    width: 19px;
    height: 19px;
    margin-top: .1rem;
    color: #9a8460;
    stroke-width: 1.4;
}

.ctn-article-note strong {
    display: block;
    margin-bottom: .5rem;
    color: var(--article-ink);
    font-size: .72rem;
    letter-spacing: .04em;
}

.ctn-article-body section .ctn-article-note p {
    margin: 0;
    color: #66706c;
    font-size: .78rem;
    line-height: 1.65;
}

.ctn-article-table-wrap {
    margin-top: 2.3rem;
    overflow-x: auto;
    border-top: 1px solid var(--article-ink);
    border-bottom: 1px solid var(--article-ink);
    -webkit-overflow-scrolling: touch;
}

.ctn-article-table-wrap table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
    table-layout: fixed;
}

.ctn-article-table-wrap th,
.ctn-article-table-wrap td {
    padding: 1.15rem 1rem;
    border-right: 1px solid var(--article-line);
    border-bottom: 1px solid var(--article-line);
    text-align: left;
    vertical-align: top;
}

.ctn-article-table-wrap tr > *:last-child {
    border-right: 0;
}

.ctn-article-table-wrap tbody tr:last-child > * {
    border-bottom: 0;
}

.ctn-article-table-wrap thead th {
    background: var(--article-accent);
    color: #fff;
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .025em;
}

.ctn-article-table-wrap thead th:first-child {
    width: 27%;
    color: #d6c5a4;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ctn-article-table-wrap tbody th {
    color: var(--article-ink);
    font-size: .7rem;
    font-weight: 750;
}

.ctn-article-table-wrap td {
    color: #5e6764;
    font-size: .72rem;
    line-height: 1.55;
}

.ctn-article-body > .ctn-article-sources {
    padding-bottom: 2.4rem;
}

.ctn-article-body .ctn-article-sources h2 {
    margin-bottom: 1.6rem;
    font-size: clamp(1.8rem, 2.6vw, 2.5rem);
}

.ctn-article-sources ol {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--article-ink);
    list-style: none;
}

.ctn-article-body .ctn-article-sources li {
    display: block;
    min-height: 0;
    padding: 0;
    border-right: 0;
    border-bottom: 1px solid var(--article-line);
    counter-increment: none;
}

.ctn-article-body .ctn-article-sources li::before {
    display: none;
}

.ctn-article-sources a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    min-height: 76px;
    padding: .8rem 0;
}

.ctn-article-sources a > span {
    display: grid;
    gap: .28rem;
}

.ctn-article-sources a strong {
    color: var(--article-ink);
    font-size: .75rem;
}

.ctn-article-sources a small {
    color: #838b88;
    font-size: .6rem;
    font-weight: 650;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ctn-article-sources a svg {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    color: var(--article-accent);
}

.ctn-article-sources a:hover strong {
    color: var(--article-accent);
}

.ctn-article-disclaimer {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 1rem;
    margin-top: clamp(3rem, 6vw, 5rem);
    padding: 1.6rem 0;
    border-top: 1px solid var(--article-ink);
    border-bottom: 1px solid var(--article-line);
}

.ctn-article-disclaimer svg {
    width: 19px;
    height: 19px;
    color: var(--article-accent);
    stroke-width: 1.5;
}

.ctn-article-disclaimer strong {
    display: block;
    margin-bottom: .35rem;
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ctn-article-disclaimer p {
    margin: 0;
    color: #727a77;
    font-size: .73rem;
    line-height: 1.65;
}

.ctn-article-summary {
    padding: clamp(5rem, 8vw, 8rem) 0;
    border-bottom: 1px solid var(--article-line);
    background: #fff;
}

.ctn-article-summary > .container {
    display: grid;
    grid-template-columns: .78fr 1.5fr;
    gap: clamp(3rem, 9vw, 9rem);
}

.ctn-article-summary h2 {
    margin: .8rem 0 0;
    font-size: clamp(2.6rem, 4.7vw, 4.65rem);
    font-weight: 680;
    letter-spacing: -.065em;
    line-height: .98;
}

.ctn-article-summary ol {
    display: grid;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--article-ink);
    list-style: none;
}

.ctn-article-summary li {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 1rem;
    align-items: center;
    min-height: 102px;
    border-bottom: 1px solid var(--article-line);
}

.ctn-article-summary small {
    color: #9a8460;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ctn-article-summary li p {
    margin: 0;
    color: #303835;
    font-size: clamp(.9rem, 1.2vw, 1.05rem);
    font-weight: 640;
    line-height: 1.5;
}

.ctn-article-product {
    border-bottom: 1px solid var(--article-ink);
    background: #fff;
}

.ctn-article-product > .container {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: center;
    min-height: 150px;
}

.ctn-article-product p {
    display: grid;
    gap: .5rem;
    margin: 0;
    color: #626b68;
    font-size: .82rem;
}

.ctn-article-product p span {
    color: var(--article-accent);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-article-product a {
    display: inline-flex;
    gap: 1.5rem;
    align-items: center;
    min-height: 52px;
    padding: 0 1.25rem;
    border: 1px solid var(--article-ink);
    color: var(--article-ink);
    font-size: .73rem;
    font-weight: 750;
}

.ctn-article-product a:hover {
    background: var(--article-ink);
    color: #fff;
}

.ctn-article-product svg {
    width: 16px;
    height: 16px;
}

.ctn-article-related {
    padding: clamp(5rem, 9vw, 8.5rem) 0;
    background: #fff;
}

.ctn-article-related > .container > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: clamp(2.8rem, 5vw, 4.5rem);
}

.ctn-article-related h2 {
    margin: .75rem 0 0;
    font-size: clamp(2.55rem, 4.2vw, 4.25rem);
    letter-spacing: -.06em;
    line-height: 1;
}

.ctn-article-related > .container > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--article-ink);
}

.ctn-article-related article {
    display: grid;
    grid-template-columns: 43% 1fr;
    min-height: 275px;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--article-line);
}

.ctn-article-related article:nth-child(odd) {
    padding-right: 1.5rem;
    border-right: 1px solid var(--article-line);
}

.ctn-article-related article:nth-child(even) {
    padding-left: 1.5rem;
}

.ctn-article-related-media {
    display: block;
    min-height: 225px;
    overflow: hidden;
    background: #eef0ee;
}

.ctn-article-related-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.7);
}

.ctn-article-related article > div {
    display: flex;
    flex-direction: column;
    padding: .2rem 0 .2rem 1.4rem;
}

.ctn-article-related article > div > p {
    display: flex;
    justify-content: space-between;
    margin: 0;
    color: #777f7c;
    font-size: .57rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ctn-article-related h3 {
    margin: 1.4rem 0 1rem;
    font-size: clamp(1.25rem, 1.7vw, 1.65rem);
    letter-spacing: -.035em;
    line-height: 1.12;
}

.ctn-article-related article > div > a {
    display: inline-flex;
    gap: .55rem;
    align-items: center;
    width: fit-content;
    margin-top: auto;
    padding-bottom: .35rem;
    border-bottom: 1px solid var(--article-ink);
    font-size: .68rem;
    font-weight: 750;
}

.ctn-article-related article > div > a svg {
    width: 14px;
    height: 14px;
}

@media (max-width: 980px) {
    .ctn-article-layout {
        grid-template-columns: 200px minmax(0, 1fr);
        gap: 3.5rem;
    }

    .ctn-article-heading h1 {
        font-size: clamp(3.1rem, 8vw, 5rem);
    }

    .ctn-article-related article {
        grid-template-columns: 1fr;
    }

    .ctn-article-related article > div {
        min-height: 185px;
        padding: 1.25rem 0 0;
    }
}

@media (max-width: 760px) {
    .ctn-article-heading {
        padding: 3.2rem 0 3.6rem;
    }

    .ctn-article-breadcrumb {
        min-height: 58px;
        overflow: hidden;
        white-space: nowrap;
    }

    .ctn-article-breadcrumb span {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .ctn-article-meta {
        flex-wrap: wrap;
        gap: .65rem 1rem;
        margin-bottom: 2rem;
    }

    .ctn-article-heading h1 {
        font-size: clamp(2.75rem, 13vw, 4.2rem);
        line-height: .98;
    }

    .ctn-article-intro {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-top: 2.5rem;
    }

    .ctn-article-byline {
        max-width: 320px;
    }

    .ctn-article-visual {
        height: 64vw;
        min-height: 320px;
    }

    .ctn-article-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .ctn-article-toc {
        position: static;
    }

    .ctn-article-toc ol {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ctn-article-toc li:nth-child(odd) {
        padding-right: .8rem;
        border-right: 1px solid var(--article-line);
    }

    .ctn-article-toc li:nth-child(even) {
        padding-left: .8rem;
    }

    .ctn-article-lead {
        margin-bottom: 3.5rem;
    }

    .ctn-article-summary > .container,
    .ctn-article-product > .container {
        grid-template-columns: 1fr;
    }

    .ctn-article-product > .container {
        gap: 1.25rem;
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .ctn-article-product a {
        justify-content: space-between;
        width: 100%;
    }

    .ctn-article-related > .container > div {
        grid-template-columns: 1fr;
    }

    .ctn-article-related article:nth-child(odd),
    .ctn-article-related article:nth-child(even) {
        padding: 1.25rem 0;
        border-right: 0;
    }
}

@media (max-width: 520px) {
    .ctn-article-meta time::before,
    .ctn-article-meta small::before {
        display: none;
    }

    .ctn-article-meta time,
    .ctn-article-meta small {
        padding-left: 0;
    }

    .ctn-article-visual {
        min-height: 270px;
    }

    .ctn-article-visual figcaption {
        display: none;
    }

    .ctn-article-toc ol,
    .ctn-article-body ul {
        grid-template-columns: 1fr;
    }

    .ctn-article-toc li:nth-child(odd),
    .ctn-article-toc li:nth-child(even) {
        padding-right: 0;
        padding-left: 0;
        border-right: 0;
    }

    .ctn-article-body li:nth-child(odd) {
        border-right: 0;
    }

    .ctn-article-summary li { grid-template-columns: 36px 1fr; }

    .ctn-article-snapshot > header {
        align-items: flex-start;
        flex-direction: column;
        gap: .4rem;
        padding: 1rem 0;
    }

    .ctn-article-snapshot > div {
        grid-template-columns: 1fr;
    }

    .ctn-article-snapshot article {
        min-height: 0;
        padding: 1.6rem 0;
    }

    .ctn-article-snapshot article + article {
        padding-left: 0;
        border-top: 1px solid var(--article-line);
        border-left: 0;
    }

    .ctn-article-snapshot article small {
        margin-bottom: 1.2rem;
    }

    .ctn-article-note {
        grid-template-columns: 30px 1fr;
        padding: 1.25rem 1rem;
    }

    .ctn-article-lead {
        padding-left: 1rem;
    }
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 96px;
}

body {
    overflow-x: clip;
    background: var(--background);
    color: var(--text-primary);
    font-family: var(--font-sans);
}

a,
button {
    -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

[hidden] {
    display: none !important;
}

.ctn-kicker {
    margin: 0 0 1.25rem;
    color: var(--primary);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .2em;
    line-height: 1.4;
    text-transform: uppercase;
}

.ctn-kicker::before {
    display: inline-block;
    width: 28px;
    height: 1px;
    margin: 0 .75rem .22rem 0;
    background: currentColor;
    content: "";
}

.ctn-kicker--light {
    color: #d8e1dc;
}

.ctn-section {
    padding-block: var(--section);
}

.ctn-section-head h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(2.35rem, 4vw, 3.25rem);
    font-weight: 720;
    line-height: 1.05;
    letter-spacing: -.055em;
}

.ctn-section-head > p,
.ctn-section-head > div > p:last-child {
    color: var(--text-secondary);
    font-size: 1.04rem;
    line-height: 1.75;
}

.ctn-section-head--split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .62fr);
    align-items: end;
    gap: clamp(3rem, 8vw, 8rem);
    margin-bottom: clamp(3.25rem, 5vw, 4.5rem);
}

.ctn-section-head--split > p {
    max-width: 34rem;
    margin: 0 0 .2rem;
}

.ctn-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.1rem;
}

.ctn-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    padding: .85rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: .88rem;
    font-weight: 750;
    line-height: 1;
    transition: background var(--ease), color var(--ease), border-color var(--ease);
}

.ctn-button svg {
    width: 17px;
    height: 17px;
    transition: transform var(--ease);
}

.ctn-button:hover svg {
    transform: translateX(3px);
}

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

.ctn-button--primary:hover {
    background: var(--primary-dark);
    color: #fff;
}

.ctn-button--text {
    border-color: transparent;
    color: var(--text-primary);
}

.ctn-button--text:hover {
    border-color: var(--border-strong);
    color: var(--primary);
}

.ctn-button--outline {
    border-color: var(--primary);
    color: var(--primary);
}

.ctn-button--outline:hover {
    background: var(--primary);
    color: #fff;
}

.ctn-button--cream {
    background: var(--background);
    color: var(--primary-dark);
}

.ctn-button--cream:hover {
    background: var(--accent);
    color: var(--primary-dark);
}

.ctn-inline-link {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding-bottom: .3rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: .88rem;
    font-weight: 750;
}

.ctn-inline-link svg {
    width: 16px;
    height: 16px;
    transition: transform var(--ease);
}

.ctn-inline-link:hover svg {
    transform: translateX(3px);
}

/* Header */
.ctn-site-header.site-header {
    position: sticky;
    z-index: 500;
    top: 0;
    border: 0;
    border-top: 0;
    border-bottom: 1px solid rgba(22, 58, 58, .12);
    background: rgba(255, 255, 255, .98);
    box-shadow: none;
    backdrop-filter: blur(16px);
    transition: background var(--ease), border-color var(--ease);
}

.ctn-site-header.site-header.is-scrolled {
    border-color: var(--border-strong);
    background: #fff;
    box-shadow: none;
}

.ctn-header-utility {
    height: 34px;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    background: var(--primary-dark);
    color: #fff;
    opacity: 1;
    transition: height var(--ease), border-color var(--ease), opacity var(--ease);
}

.ctn-site-header.is-scrolled .ctn-header-utility {
    height: 0;
    border-color: transparent;
    opacity: 0;
}

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

.ctn-header-utility p,
.ctn-header-utility nav,
.ctn-header-utility a {
    display: flex;
    align-items: center;
}

.ctn-header-utility p {
    gap: .5rem;
    margin: 0;
    color: #e6ece9;
    font-size: .64rem;
    font-weight: 550;
    letter-spacing: .01em;
}

.ctn-header-utility nav {
    gap: 0;
    height: 34px;
}

.ctn-header-utility a {
    height: 100%;
    gap: .45rem;
    padding-inline: 1rem;
    border-left: 1px solid rgba(255, 255, 255, .11);
    color: #e6ece9;
    font-size: .63rem;
    font-weight: 650;
    transition: background-color var(--ease), color var(--ease);
}

.ctn-header-utility a:hover {
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.ctn-header-utility svg {
    width: 13px;
    height: 13px;
    color: var(--accent);
}

.ctn-nav-shell.nav-shell {
    background: #fff;
}

.ctn-nav-shell.nav-shell {
    display: flex;
    min-height: 88px;
    align-items: center;
    gap: clamp(1.25rem, 2.2vw, 2.25rem);
}

.ctn-header-logo.brand {
    display: grid;
    width: 94px;
    min-width: 94px;
    height: 72px;
    place-items: center;
    overflow: hidden;
    border-right: 1px solid var(--border);
}

.ctn-header-logo.brand img {
    width: 62px;
    height: 69px;
    object-fit: contain;
    filter: none;
}

.ctn-main-nav.main-nav {
    display: flex;
    align-items: center;
    gap: clamp(.85rem, 1.6vw, 1.55rem);
    margin: 0 auto;
}

.ctn-main-nav.main-nav > a {
    position: relative;
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    gap: .4rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #4a514d;
    font-size: .79rem;
    font-weight: 680;
    letter-spacing: -.015em;
    transition: color var(--ease);
}

.ctn-main-nav.main-nav > a::before,
.ctn-main-nav .ctn-mega-wrap > a::before,
.ctn-main-nav .ctn-nav-dropdown > a::before {
    position: static;
    display: inline-block;
    width: auto;
    height: auto;
    border: 0;
    background: transparent;
    color: #9a9f9b;
    content: attr(data-nav-index);
    font-size: .48rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    opacity: 1;
    transform: none;
    transition: color var(--ease);
}

.ctn-main-nav.main-nav > a::after {
    position: absolute;
    right: 0;
    bottom: 6px;
    left: 1.15rem;
    display: block;
    width: auto;
    height: 2px;
    border: 0;
    border-radius: 0;
    background: var(--primary);
    content: "";
    opacity: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: opacity var(--ease), transform var(--ease);
}

.ctn-main-nav.main-nav > a:hover,
.ctn-main-nav.main-nav > a.is-active {
    background: transparent;
    color: var(--primary);
}

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

.ctn-main-nav.main-nav > a:hover::after {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
}

.ctn-main-nav.main-nav > a.is-active {
    font-weight: 760;
}

.ctn-main-nav.main-nav > a.is-active::after {
    opacity: 1;
    transform: scaleX(.45);
    transform-origin: left;
}

.ctn-main-nav .ctn-mega-wrap,
.ctn-main-nav .ctn-nav-dropdown {
    position: static;
}

.ctn-main-nav .ctn-nav-dropdown {
    position: relative;
}

.ctn-main-nav .ctn-mega-wrap > a,
.ctn-main-nav .ctn-nav-dropdown > a {
    position: relative;
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    gap: .35rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #4a514d;
    font-size: .79rem;
    font-weight: 680;
    letter-spacing: -.015em;
    white-space: nowrap;
    transition: color var(--ease);
}

.ctn-main-nav .ctn-mega-wrap > a::after,
.ctn-main-nav .ctn-nav-dropdown > a::after {
    position: absolute;
    right: 0;
    bottom: 6px;
    left: 1.15rem;
    display: block;
    width: auto;
    height: 2px;
    border-radius: 0;
    background: var(--primary);
    content: "";
    opacity: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: opacity var(--ease), transform var(--ease);
}

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

.ctn-main-nav .ctn-mega-wrap > a:hover::after,
.ctn-main-nav .ctn-nav-dropdown > a:hover::after {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
}

.ctn-main-nav .ctn-mega-wrap > a.is-active,
.ctn-main-nav .ctn-nav-dropdown > a.is-active {
    font-weight: 760;
}

.ctn-main-nav .ctn-mega-wrap > a.is-active::after,
.ctn-main-nav .ctn-nav-dropdown > a.is-active::after {
    opacity: 1;
    transform: scaleX(.45);
    transform-origin: left;
}

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

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

.ctn-mega-menu.mega-menu {
    top: 122px;
    grid-template-columns: 240px minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    padding-top: 2rem;
    padding-bottom: 2.1rem;
    border-top: 1px solid var(--border);
    border-bottom: 2px solid var(--primary-dark);
    background: #fff;
    box-shadow: none;
}

.ctn-site-header.is-scrolled .ctn-mega-menu.mega-menu {
    top: 88px;
}

.ctn-mega-intro {
    display: flex;
    min-height: 210px;
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
    padding: .4rem 2rem .25rem 0;
    border-right: 1px solid var(--border);
    background: #fff;
    color: var(--text-primary);
}

.ctn-mega-intro > span {
    color: var(--primary);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-mega-intro > strong {
    margin: 1.05rem 0 0;
    color: var(--text-primary);
    font-size: 1.28rem;
    font-weight: 680;
    line-height: 1.18;
    letter-spacing: -.04em;
}

.ctn-mega-intro > a {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: .5rem;
    margin-top: auto;
    padding-bottom: .28rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: .72rem;
    font-weight: 750;
}

.ctn-mega-intro > a svg {
    width: 15px;
    height: 15px;
}

.ctn-mega-columns.mega-columns {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(1rem, 1.7vw, 1.75rem);
    padding: .35rem 0 .25rem clamp(2rem, 4vw, 4rem);
}

.ctn-mega-columns > div {
    position: relative;
    gap: .78rem;
    padding: .15rem 0 0;
    border-left: 0;
}

.ctn-mega-columns > div > a:not(.mega-title) {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--text-secondary);
    font-size: .7rem;
    line-height: 1.45;
    transition: color var(--ease), transform var(--ease);
}

.ctn-mega-columns .mega-title {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: .42rem;
    margin-bottom: .15rem;
    padding-bottom: .85rem;
    border-color: var(--border);
    color: var(--primary-dark);
}

.ctn-mega-columns .mega-title span {
    color: var(--muted);
    font-size: .48rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.ctn-mega-columns .mega-title strong {
    color: var(--primary-dark);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.3;
}

.ctn-mega-columns > div > a:not(.mega-title):hover {
    color: var(--primary);
    transform: translateX(2px);
}

.ctn-corporate-menu.nav-dropdown-menu {
    top: calc(100% + 14px);
    width: 340px;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--border-strong);
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
}

.ctn-corporate-menu.nav-dropdown-menu::before,
.ctn-action-menu.nav-action-menu::before {
    position: absolute;
    top: -1px;
    right: 0;
    left: 0;
    height: 2px;
    background: var(--primary-dark);
    content: "";
}

.ctn-corporate-menu.nav-dropdown-menu > a,
.ctn-action-menu.nav-action-menu > a {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    gap: .75rem;
    padding: .78rem;
    border-radius: 3px;
}

.ctn-corporate-menu.nav-dropdown-menu > a:hover,
.ctn-action-menu.nav-action-menu > a:hover {
    background: var(--soft-surface);
}

.ctn-corporate-menu.nav-dropdown-menu > a > svg,
.ctn-action-menu.nav-action-menu > a > svg {
    width: 18px;
    height: 18px;
    color: var(--primary);
}

.ctn-corporate-menu.nav-dropdown-menu span,
.ctn-action-menu.nav-action-menu span {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

.ctn-corporate-menu.nav-dropdown-menu strong,
.ctn-action-menu.nav-action-menu strong {
    color: var(--text-primary);
    font-size: .75rem;
}

.ctn-corporate-menu.nav-dropdown-menu small,
.ctn-action-menu.nav-action-menu small {
    margin-top: .18rem;
    color: var(--text-secondary);
    font-size: .64rem;
}

.ctn-corporate-menu-head {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-corporate-menu .ctn-corporate-menu-head > span {
    display: block;
    color: var(--primary);
    font-size: .58rem;
    font-weight: 720;
    letter-spacing: .15em;
    line-height: 1.2;
}

.ctn-corporate-menu .ctn-corporate-menu-head > small {
    margin: 0;
    color: #7b817d;
    font-size: .61rem;
    font-weight: 450;
    line-height: 1.35;
}

.ctn-corporate-menu.nav-dropdown-menu > a {
    position: relative;
    min-height: 76px;
    grid-template-columns: 34px minmax(0, 1fr) 16px;
    gap: .75rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    font-family: var(--font-sans);
    transition: background-color var(--ease);
}

.ctn-corporate-menu.nav-dropdown-menu > a strong {
    color: var(--text-primary);
    font-size: .78rem;
    font-weight: 680;
    line-height: 1.28;
    letter-spacing: -.012em;
}

.ctn-corporate-menu.nav-dropdown-menu > a small {
    margin-top: .25rem;
    color: #777e79;
    font-size: .63rem;
    font-weight: 450;
    line-height: 1.45;
    letter-spacing: 0;
}

.ctn-corporate-menu.nav-dropdown-menu > a:last-child {
    border-bottom: 0;
}

.ctn-corporate-menu.nav-dropdown-menu > a:hover {
    background: #f5f6f3;
}

.ctn-corporate-menu .ctn-corporate-index {
    display: block;
    color: #888f8a;
    font-size: .5rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
}

.ctn-corporate-menu.nav-dropdown-menu > a > svg {
    width: 14px;
    height: 14px;
    color: var(--muted);
    transition: color var(--ease), transform var(--ease);
}

.ctn-corporate-menu.nav-dropdown-menu > a:hover > svg {
    color: var(--primary);
    transform: translate(2px, -2px);
}

.ctn-nav-actions.nav-actions {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin: 0;
    padding-left: clamp(1rem, 1.8vw, 1.6rem);
    border-left: 1px solid var(--border);
}

.ctn-search-toggle.nav-search-toggle {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    background: #fff;
    color: var(--primary-dark);
    transition: background var(--ease), border-color var(--ease);
}

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

.ctn-search-toggle svg {
    width: 18px;
    height: 18px;
}

.ctn-nav-quote {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: .55rem;
    padding: .7rem 1.1rem;
    border: 1px solid var(--primary-dark);
    border-radius: 3px;
    background: var(--primary-dark);
    color: #fff;
    font-size: .79rem;
    font-weight: 750;
    transition: background var(--ease), color var(--ease);
}

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

.ctn-quick-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: .55rem;
    padding: .7rem .2rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--primary-dark);
    font-size: .72rem;
    font-weight: 750;
    white-space: nowrap;
    transition: border-color var(--ease), background var(--ease);
}

.ctn-quick-button:hover,
.ctn-action-dropdown:focus-within .ctn-quick-button {
    background: transparent;
    color: var(--primary);
}

.ctn-quick-button svg {
    width: 14px;
    height: 14px;
    transition: transform var(--ease);
}

.ctn-action-dropdown:hover .ctn-quick-button svg,
.ctn-action-dropdown:focus-within .ctn-quick-button svg {
    transform: rotate(180deg);
}

.ctn-action-menu.nav-action-menu {
    top: calc(100% + 15px);
    right: 0;
    width: 292px;
    padding: .55rem;
    border: 1px solid var(--border-strong);
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
}

.ctn-nav-quote:hover {
    border-color: var(--primary-dark);
    background: #fff;
    color: var(--primary);
}

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

.ctn-menu-toggle.menu-toggle {
    border-radius: 0;
}

.ctn-search-panel.nav-search-panel {
    top: 122px;
    padding: 2.5rem 0 3rem;
    border-top: 0;
    border-bottom: 1px solid var(--border-strong);
    background: #fff;
    box-shadow: none;
}

.ctn-site-header.is-scrolled .ctn-search-panel.nav-search-panel {
    top: 88px;
}

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

.ctn-search-head.nav-search-head {
    align-items: flex-start;
    margin-bottom: 1.65rem;
}

.ctn-search-head > div {
    display: grid;
    gap: .32rem;
}

.ctn-search-head span {
    color: var(--primary);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .2em;
}

.ctn-search-head strong {
    margin-top: .38rem;
    color: var(--text-primary);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    line-height: 1.08;
    letter-spacing: -.05em;
}

.ctn-search-head small {
    max-width: 560px;
    margin-top: .55rem;
    color: var(--text-secondary);
    font-size: .8rem;
    line-height: 1.6;
}

.ctn-search-head > button {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    background: #fff;
    color: var(--text-primary);
    transition: border-color var(--ease), background var(--ease), transform var(--ease);
}

.ctn-search-head > button:hover {
    border-color: var(--primary);
    background: var(--soft-surface);
    transform: rotate(6deg);
}

.ctn-search-field.nav-search-field {
    display: grid;
    min-height: 64px;
    grid-template-columns: 52px minmax(0, 1fr) 42px;
    gap: .7rem;
    margin: 0;
    padding: 5px 7px 5px 5px;
    border: 1px solid var(--border-strong);
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    transition: border-color var(--ease);
}

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

.ctn-search-field.nav-search-field > svg {
    box-sizing: content-box;
    width: 20px;
    height: 20px;
    padding: 16px;
    border-radius: 4px;
    background: var(--primary);
    color: #fff;
}

.ctn-search-field.nav-search-field input {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 .15rem;
    border: 0 !important;
    border-radius: 0;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text-primary);
    font-size: .93rem;
}

.ctn-search-field.nav-search-field input::placeholder {
    color: #949b96;
}

.ctn-search-field.nav-search-field > button {
    align-self: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: var(--soft-surface);
    color: var(--primary);
}

.ctn-search-shortcuts {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 1rem 0 1.45rem;
}

.ctn-search-shortcuts > span {
    margin-right: .25rem;
    color: var(--text-secondary);
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ctn-search-shortcuts > a {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: .35rem .72rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: #4f5752;
    font-size: .67rem;
    font-weight: 650;
    transition: border-color var(--ease), background var(--ease), color var(--ease);
}

.ctn-search-shortcuts > a:hover {
    border-color: var(--primary);
    background: var(--soft-surface);
    color: var(--primary);
}

.ctn-search-meta.nav-search-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 .8rem;
}

.ctn-search-meta p {
    display: flex;
    align-items: baseline;
    gap: .65rem;
    margin: 0;
    color: var(--text-secondary);
    font-size: .7rem;
}

.ctn-search-meta p strong {
    color: var(--text-primary);
    font-size: .74rem;
}

.ctn-search-meta > a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--primary);
    font-size: .69rem;
    font-weight: 750;
}

.ctn-search-meta > a svg {
    width: 13px;
    height: 13px;
}

.ctn-search-results.nav-search-results {
    max-height: 288px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    border-top: 1px solid var(--border-strong);
    border-left: 1px solid var(--border);
    background: #fff;
}

.ctn-search-results.nav-search-results > a {
    min-height: 92px;
    grid-template-columns: 44px minmax(0, 1fr) 18px;
    gap: .9rem;
    padding: 1rem 1.1rem;
    border: 0;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    background: transparent;
    transition: background var(--ease), padding var(--ease);
}

.ctn-search-results.nav-search-results > a > svg:first-child {
    box-sizing: content-box;
    width: 18px;
    height: 18px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--primary);
}

.ctn-search-results.nav-search-results strong {
    color: var(--text-primary);
    font-size: .77rem;
    font-weight: 750;
}

.ctn-search-results.nav-search-results small {
    width: fit-content;
    margin-top: .3rem;
    color: var(--primary);
    font-size: .58rem;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ctn-search-results.nav-search-results > a:hover,
.ctn-search-results.nav-search-results > a:focus-visible {
    padding-right: .8rem;
    padding-left: 1.4rem;
    border-color: var(--border);
    background: var(--soft-surface);
    outline: 0;
}

.ctn-search-results.nav-search-results .nav-search-result-arrow {
    width: 15px !important;
    height: 15px;
    color: #8d9690 !important;
}

/* Hero */
.ctn-hero {
    position: relative;
    overflow: hidden;
    background: var(--background);
}

.ctn-hero::before {
    position: absolute;
    top: 0;
    right: calc(50% - 760px);
    width: 420px;
    height: 1px;
    background: var(--border-strong);
    content: "";
}

.ctn-hero-layout {
    display: grid;
    min-height: min(780px, calc(100vh - 88px));
    grid-template-columns: minmax(0, .92fr) minmax(510px, 1.08fr);
    align-items: center;
    gap: clamp(3.5rem, 7vw, 7rem);
    padding-block: clamp(4.5rem, 8vw, 7rem);
}

.ctn-hero-copy {
    position: relative;
    z-index: 2;
}

.ctn-hero-copy h1 {
    max-width: 720px;
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(3.35rem, 5.4vw, 4.5rem);
    font-weight: 720;
    line-height: .98;
    letter-spacing: -.068em;
}

.ctn-hero-copy h1 em {
    color: var(--primary);
    font-style: normal;
    font-weight: inherit;
}

.ctn-hero-copy .ctn-hero-offer-title {
    font-size: clamp(2.55rem, 3.2vw, 3rem);
    line-height: 1.04;
    letter-spacing: -.055em;
}

.ctn-hero-offer-title > span,
.ctn-hero-offer-title > em {
    display: block;
}

.ctn-hero-offer-title > em {
    margin-top: .12em;
}

@media (min-width: 1101px) {
    .ctn-hero-offer-title > span,
    .ctn-hero-offer-title > em {
        white-space: nowrap;
    }
}

.ctn-hero-lead {
    max-width: 620px;
    margin: 1.65rem 0 2rem;
    color: var(--text-secondary);
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.7;
}

.ctn-hero-promises {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: clamp(3.25rem, 6vw, 5rem);
    padding: 1.25rem 0 0;
    border-top: 1px solid var(--border-strong);
}

.ctn-hero-promises li {
    display: flex;
    min-width: 0;
    gap: .72rem;
    padding-right: 1rem;
}

.ctn-hero-promises svg {
    width: 18px;
    min-width: 18px;
    height: 18px;
    color: var(--primary);
}

.ctn-hero-promises span {
    display: grid;
    gap: .35rem;
}

.ctn-hero-promises strong {
    color: var(--text-primary);
    font-size: .76rem;
    line-height: 1.3;
}

.ctn-hero-promises small {
    color: var(--text-secondary);
    font-size: .68rem;
    line-height: 1.45;
}

.ctn-hero-art {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    background:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
        var(--primary);
    background-size: 42px 42px;
}

.ctn-hero-art::before,
.ctn-hero-art::after {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .16);
    content: "";
}

.ctn-hero-art::before {
    top: 24px;
    right: 24px;
    width: 112px;
    height: 112px;
    border-left: 0;
    border-bottom: 0;
}

.ctn-hero-art::after {
    bottom: 24px;
    left: 24px;
    width: 86px;
    height: 86px;
    border-top: 0;
    border-right: 0;
}

.ctn-hero-art-index {
    position: absolute;
    z-index: 2;
    top: 30px;
    right: 34px;
    left: 34px;
    display: flex;
    justify-content: space-between;
    color: rgba(255, 255, 255, .7);
    font-size: .61rem;
    font-weight: 750;
    letter-spacing: .16em;
}

.ctn-hero-art-sheet {
    position: absolute;
    z-index: 2;
    top: 105px;
    right: 11%;
    bottom: 78px;
    left: 11%;
    padding: clamp(2rem, 4vw, 3.2rem);
    background: var(--background);
}

.ctn-hero-art-sheet::before {
    position: absolute;
    top: 14px;
    right: -14px;
    bottom: -14px;
    left: 14px;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, .3);
    content: "";
}

.ctn-hero-art-logo {
    position: absolute;
    top: 32px;
    right: 34px;
    display: grid;
    width: 52px;
    height: 58px;
    place-items: center;
    overflow: hidden;
    opacity: .16;
}

.ctn-hero-art-logo img {
    width: 50px;
    height: 56px;
    object-fit: contain;
}

.ctn-hero-art-sheet > p {
    margin: 0 0 1.2rem;
    color: var(--primary);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-hero-art-sheet > strong {
    display: block;
    max-width: 430px;
    color: var(--text-primary);
    font-size: clamp(2rem, 3.4vw, 3rem);
    line-height: 1.06;
    letter-spacing: -.055em;
}

.ctn-hero-art-lines {
    display: flex;
    gap: 5px;
    margin: 1.55rem 0 1.9rem;
}

.ctn-hero-art-lines span {
    display: block;
    width: 42px;
    height: 3px;
    background: var(--accent);
}

.ctn-hero-art-lines span:nth-child(2) {
    width: 18px;
    background: var(--primary);
}

.ctn-hero-art-lines span:nth-child(3) {
    width: 8px;
    background: var(--border-strong);
}

.ctn-hero-art-sheet ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--border-strong);
    border-left: 1px solid var(--border-strong);
}

.ctn-hero-art-sheet li {
    display: grid;
    min-height: 72px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .75rem;
    padding: .85rem 1rem;
    border-right: 1px solid var(--border-strong);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-hero-art-sheet li svg {
    width: 19px;
    height: 19px;
    color: var(--primary);
}

.ctn-hero-art-sheet li span {
    font-size: .8rem;
    font-weight: 750;
}

.ctn-hero-art-sheet li small {
    color: #979d98;
    font-size: .61rem;
}

.ctn-hero-art-note {
    position: absolute;
    z-index: 3;
    right: 5%;
    bottom: 34px;
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: .38rem 1rem;
    padding: 1rem 1.2rem;
    border-left: 3px solid var(--accent);
    background: var(--primary-dark);
    color: #fff;
}

.ctn-hero-art-note span {
    color: #bfcac5;
    font-size: .54rem;
    font-weight: 750;
    letter-spacing: .12em;
}

.ctn-hero-art-note strong {
    grid-column: 1 / -1;
    font-size: .78rem;
}

.ctn-hero-visual {
    position: relative;
    min-width: 0;
    margin: 0;
    border: 1px solid var(--primary);
    background: #fff;
}

.ctn-hero-visual::before {
    position: absolute;
    z-index: -1;
    top: 16px;
    right: -16px;
    bottom: -16px;
    left: 16px;
    border-right: 1px solid var(--border-strong);
    border-bottom: 1px solid var(--border-strong);
    content: "";
}

.ctn-hero-visual-media {
    position: relative;
    height: clamp(390px, 35vw, 485px);
    overflow: hidden;
    background: var(--primary-dark);
}

.ctn-hero-visual-media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.ctn-hero-visual-media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 45, 45, .02) 45%, rgba(16, 45, 45, .58) 100%);
    content: "";
    pointer-events: none;
}

.ctn-hero-visual-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 54%;
    filter: grayscale(1) contrast(.95) brightness(1.02);
    transform: scale(1.012);
}

.ctn-hero-visual-label {
    position: absolute;
    z-index: 2;
    top: 22px;
    left: 24px;
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: #fff;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-hero-visual-label::before {
    width: 26px;
    height: 1px;
    background: var(--accent);
    content: "";
}

.ctn-hero-visual-count {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    display: flex;
    min-width: 150px;
    min-height: 78px;
    align-items: center;
    gap: .75rem;
    padding: 1rem 1.15rem;
    border-top: 3px solid var(--accent);
    background: var(--primary);
    color: #fff;
}

.ctn-hero-visual-count strong {
    font-size: 2rem;
    font-weight: 680;
    line-height: 1;
    letter-spacing: -.05em;
}

.ctn-hero-visual-count small {
    color: #d0dad5;
    font-size: .6rem;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ctn-hero-visual-caption {
    display: grid;
    min-height: 126px;
    grid-template-columns: minmax(230px, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 1.5rem;
    padding: 1.4rem 1.55rem;
    border-top: 1px solid var(--primary);
    background: #fff;
}

.ctn-hero-visual-caption > div {
    display: grid;
    gap: .45rem;
}

.ctn-hero-visual-caption > div > span {
    color: var(--primary);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-hero-visual-caption > div > strong {
    color: var(--text-primary);
    font-size: .9rem;
    line-height: 1.45;
}

.ctn-hero-visual-caption ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
}

.ctn-hero-visual-caption li {
    position: relative;
    display: block;
    min-height: 39px;
    padding: 0;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    color: #414844;
    font-size: .65rem;
    font-weight: 700;
}

.ctn-hero-visual-caption li:nth-child(5) {
    grid-column: 1 / -1;
}

.ctn-hero-visual-caption li > a {
    position: relative;
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: .55rem;
    padding: .5rem 3rem .5rem .7rem;
    color: inherit;
    transition: background-color .2s ease, color .2s ease;
}

.ctn-hero-visual-caption li > a:hover,
.ctn-hero-visual-caption li > a:focus-visible {
    background: #f7f9f7;
    color: var(--primary);
}

.ctn-hero-visual-caption li > a::after {
    position: absolute;
    top: 50%;
    right: .65rem;
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border: 1px solid #cbd4cf;
    border-radius: 50%;
    color: var(--primary);
    content: "↗";
    font-size: .72rem;
    font-weight: 650;
    line-height: 1;
    transform: translateY(-50%);
    transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.ctn-hero-visual-caption li > a:hover::after,
.ctn-hero-visual-caption li > a:focus-visible::after {
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
}

.ctn-hero-visual-caption li svg {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    color: var(--primary);
}

.ctn-hero-visual-caption li > a > span {
    opacity: 1;
    transition: opacity .18s ease;
}

.ctn-hero-visual-caption li > a:hover > span,
.ctn-hero-visual-caption li > a:focus-visible > span {
    opacity: 0;
}

.ctn-hero-visual-caption li small {
    position: absolute;
    top: 50%;
    left: 2.45rem;
    display: inline-flex;
    align-items: center;
    color: var(--primary);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1;
    opacity: 0;
    text-transform: none;
    transform: translateY(-50%);
    transition: opacity .18s ease;
}

.ctn-hero-visual-caption li small::after {
    content: none;
}

.ctn-hero-visual-caption li > a:hover small,
.ctn-hero-visual-caption li > a:focus-visible small {
    opacity: 1;
}

@media (hover: none) {
    .ctn-hero-visual-caption li small {
        display: none;
    }
}

/* Insurance branch selector */
.ctn-branches {
    border-top: 1px solid var(--border);
    background: var(--surface);
}

.ctn-branch-selector {
    display: grid;
    grid-template-columns: minmax(250px, .36fr) minmax(0, 1fr);
    border: 1px solid var(--border-strong);
}

.ctn-branch-mobile-control {
    display: none;
}

.ctn-branch-tabs {
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--border-strong);
    background: var(--background);
}

.ctn-branch-tabs button {
    position: relative;
    display: grid;
    min-height: 78px;
    grid-template-columns: 30px 30px 1fr auto;
    align-items: center;
    gap: .8rem;
    padding: .8rem 1.25rem;
    border: 0;
    border-bottom: 1px solid var(--border);
    background: transparent;
    color: var(--text-primary);
    text-align: left;
    transition: background var(--ease), color var(--ease);
}

.ctn-branch-tabs button:last-child {
    border-bottom: 0;
}

.ctn-branch-tabs button::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1px;
    width: 3px;
    background: var(--accent);
    content: "";
    opacity: 0;
    transform: scaleY(.4);
    transition: opacity var(--ease), transform var(--ease);
}

.ctn-branch-tabs button[aria-selected="true"] {
    background: var(--soft-surface);
    color: var(--primary-dark);
}

.ctn-branch-tabs button[aria-selected="true"]::before {
    opacity: 1;
    transform: scaleY(1);
}

.ctn-branch-tabs button:hover {
    background: rgba(238, 241, 237, .7);
}

.ctn-branch-tabs button > span {
    color: #929994;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-branch-tabs button > svg:first-of-type {
    width: 20px;
    height: 20px;
    color: var(--primary);
}

.ctn-branch-tabs button > svg:last-child {
    width: 16px;
    height: 16px;
    opacity: .55;
    transition: transform var(--ease);
}

.ctn-branch-tabs button[aria-selected="true"] > svg:last-child {
    opacity: 1;
    transform: translateX(3px);
}

.ctn-branch-tabs strong {
    font-size: .9rem;
}

.ctn-branch-panels {
    min-width: 0;
}

.ctn-branch-panel {
    display: grid;
    min-height: 468px;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
}

.ctn-branch-panel > header {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding: clamp(2rem, 4vw, 3.4rem);
    border-right: 1px solid var(--border);
    background: var(--primary);
    color: #fff;
}

.ctn-branch-panel > header > p {
    margin: 0 0 auto;
    color: #c9d3ce;
    font-size: .65rem;
    font-weight: 750;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ctn-branch-panel > header h3 {
    margin: 4rem 0 1rem;
    color: #fff;
    font-size: clamp(2rem, 3.3vw, 2.75rem);
    line-height: 1.02;
    letter-spacing: -.05em;
}

.ctn-branch-panel > header > span {
    display: block;
    color: #ced8d3;
    font-size: .92rem;
    line-height: 1.7;
}

.ctn-branch-panel > header > a {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: 2rem;
    padding-bottom: .25rem;
    border-bottom: 1px solid rgba(255, 255, 255, .6);
    color: #fff;
    font-size: .78rem;
    font-weight: 750;
}

.ctn-branch-panel > header > a svg {
    width: 15px;
    height: 15px;
}

.ctn-branch-products {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.25rem, 3vw, 2.5rem);
}

.ctn-branch-products > a {
    display: grid;
    min-height: 112px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.15rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--border);
    color: var(--text-primary);
    transition: background-color var(--ease), color var(--ease);
}

.ctn-branch-products > a:first-child {
    border-top: 1px solid var(--border);
}

.ctn-branch-products > a:hover,
.ctn-branch-products > a:focus-visible {
    padding: 1.25rem 0;
    background: var(--soft-surface);
    outline: 0;
}

.ctn-branch-product-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    color: var(--primary);
}

.ctn-branch-product-icon svg {
    width: 19px;
    height: 19px;
}

.ctn-branch-products > a > span:nth-child(2) {
    display: grid;
    gap: .45rem;
}

.ctn-branch-products strong {
    font-size: .93rem;
}

.ctn-branch-products small {
    max-width: 520px;
    color: var(--text-secondary);
    font-size: .76rem;
    line-height: 1.55;
}

.ctn-branch-products > a > svg {
    width: 16px;
    height: 16px;
    color: var(--primary);
}

/* Values */
.ctn-values {
    background: #fff;
}

.ctn-values-layout {
    display: grid;
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
    gap: clamp(4rem, 9vw, 9rem);
}

.ctn-values-intro {
    align-self: start;
    position: sticky;
    top: 130px;
}

.ctn-values-intro > p:not(.ctn-kicker) {
    max-width: 440px;
    margin: 1.7rem 0 2rem;
}

.ctn-value-list {
    border-top: 1px solid var(--border-strong);
}

.ctn-value-list article {
    display: grid;
    min-height: 154px;
    grid-template-columns: 44px 48px 1fr;
    align-items: start;
    gap: 1.2rem;
    padding: 2rem 0;
    border-bottom: 1px solid var(--border-strong);
}

.ctn-value-list article > span {
    padding-top: .35rem;
    color: #929994;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ctn-value-list article > svg {
    width: 24px;
    height: 24px;
    margin-top: .1rem;
    color: var(--primary);
}

.ctn-value-list h3 {
    margin: 0 0 .65rem;
    color: var(--text-primary);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    letter-spacing: -.04em;
}

.ctn-value-list p {
    max-width: 620px;
    margin: 0;
    color: var(--text-secondary);
    font-size: .91rem;
    line-height: 1.7;
}

/* Process */
.ctn-process {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.ctn-process-line {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(1.25rem, 2.6vw, 2.5rem);
    margin: 0;
    padding-top: 0;
    list-style: none;
}

.ctn-process-line li {
    list-style: none;
}

.ctn-process-line li::marker {
    content: "";
}

.ctn-process-line::before {
    display: none;
}

.ctn-process-line li {
    position: relative;
    min-height: 250px;
    padding: 1.35rem 0 0;
    border-top: 1px solid var(--border-strong);
    border-right: 0;
}

.ctn-process-line li:first-child {
    padding-left: 0;
}

.ctn-process-line li:last-child {
    padding-right: 0;
    border-right: 0;
}

.ctn-process-line li > span {
    display: block;
    color: #929994;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ctn-process-line li > svg {
    position: relative;
    z-index: 2;
    display: block;
    box-sizing: content-box;
    width: 23px;
    height: 23px;
    margin: 1.35rem 0 1.9rem;
    padding: .7rem;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    background: var(--surface);
    color: var(--primary);
}

.ctn-process-line h3 {
    max-width: 240px;
    margin: 0 0 .8rem;
    color: var(--text-primary);
    font-size: 1.14rem;
    letter-spacing: -.035em;
}

.ctn-process-line p {
    max-width: 250px;
    margin: 0;
    color: var(--text-secondary);
    font-size: .83rem;
    line-height: 1.7;
}

/* Assurance */
.ctn-assurance {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 7vw, 6.75rem);
    background: var(--primary-dark);
    color: #fff;
}

.ctn-assurance::before {
    position: absolute;
    top: -245px;
    right: -80px;
    width: 500px;
    height: 500px;
    border: 1px solid rgba(255, 255, 255, .075);
    box-shadow: inset 0 0 0 46px var(--primary-dark), inset 0 0 0 47px rgba(255, 255, 255, .07), inset 0 0 0 92px var(--primary-dark), inset 0 0 0 93px rgba(255, 255, 255, .055);
    content: "";
    transform: rotate(45deg);
}

.ctn-assurance-layout {
    position: relative;
    z-index: 2;
    display: block;
}

.ctn-assurance-copy {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .55fr);
    grid-template-rows: auto auto;
    align-items: end;
    gap: .45rem clamp(4rem, 10vw, 10rem);
}

.ctn-assurance-copy .ctn-kicker {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: .95rem;
}

.ctn-assurance-copy h2 {
    grid-column: 1;
    grid-row: 2;
    max-width: 820px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.5rem, 4.25vw, 3.75rem);
    line-height: 1.02;
    letter-spacing: -.06em;
}

.ctn-assurance-copy > p:last-child {
    grid-column: 2;
    grid-row: 1 / 3;
    max-width: 410px;
    margin: 0 0 .25rem;
    color: #c5d0ca;
    font-size: .94rem;
    line-height: 1.75;
}

.ctn-assurance-band {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    margin-top: clamp(3.75rem, 6vw, 5.5rem);
    border-top: 1px solid rgba(255, 255, 255, .25);
}

.ctn-assurance-method {
    display: flex;
    min-height: 138px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.35rem clamp(2rem, 4vw, 4rem) 0 0;
    border-right: 1px solid rgba(255, 255, 255, .2);
}

.ctn-assurance-method span {
    color: var(--accent);
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-assurance-method strong {
    color: #fff;
    font-size: clamp(.95rem, 1.4vw, 1.15rem);
    font-weight: 650;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.ctn-assurance-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 0;
}

.ctn-assurance-facts div {
    min-height: 138px;
    padding: 1.35rem clamp(1.2rem, 2.4vw, 2.4rem) 0;
    border-left: 1px solid rgba(255, 255, 255, .2);
}

.ctn-assurance-facts div:first-child {
    border-left: 0;
}

.ctn-assurance-facts dt {
    color: #fff;
    font-size: clamp(2.35rem, 3.5vw, 3.1rem);
    font-weight: 680;
    line-height: 1;
    letter-spacing: -.06em;
}

.ctn-assurance-facts dd {
    margin: 1.15rem 0 0;
    color: #bfcac4;
    font-size: .67rem;
    line-height: 1.45;
}

/* Claims */
.ctn-claims {
    border-top: 1px solid var(--border);
    background: #fff;
}

.ctn-claims-layout {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(300px, 1fr) minmax(280px, .82fr);
    align-items: start;
    gap: clamp(2.5rem, 5vw, 5.5rem);
}

.ctn-claims-copy h2 {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(2.5rem, 4.2vw, 3.4rem);
    line-height: 1.03;
    letter-spacing: -.06em;
}

.ctn-claims-copy > p:not(.ctn-kicker) {
    max-width: 450px;
    margin: 1.45rem 0 2rem;
    color: var(--text-secondary);
    font-size: .94rem;
    line-height: 1.75;
}

.ctn-claims-steps {
    border-top: 1px solid var(--border-strong);
}

.ctn-claims-steps li {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 1rem;
    padding: 1.35rem 0;
    border-bottom: 1px solid var(--border-strong);
}

.ctn-claims-steps li > span {
    color: var(--primary);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-claims-steps h3 {
    margin: 0 0 .38rem;
    font-size: 1rem;
    letter-spacing: -.025em;
}

.ctn-claims-steps p {
    margin: 0;
    color: var(--text-secondary);
    font-size: .78rem;
    line-height: 1.6;
}

.ctn-claims-dossier {
    position: relative;
    min-height: 505px;
    padding: 2rem;
    border: 1px solid var(--primary);
    background: var(--background);
}

.ctn-claims-dossier::before {
    position: absolute;
    top: 12px;
    right: -12px;
    bottom: -12px;
    left: 12px;
    z-index: -1;
    border: 1px solid var(--border-strong);
    content: "";
}

.ctn-claims-dossier header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--border-strong);
    color: var(--primary);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.ctn-claims-dossier header svg {
    width: 22px;
    height: 22px;
}

.ctn-claims-dossier > strong {
    display: block;
    margin: 2rem 0 2.5rem;
    font-size: clamp(1.35rem, 2.2vw, 1.8rem);
    line-height: 1.16;
    letter-spacing: -.04em;
}

.ctn-claims-dossier > div {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .8rem;
    margin: 1.15rem 0;
    color: var(--text-secondary);
    font-size: .72rem;
}

.ctn-claims-dossier > div i {
    height: 1px;
    background: var(--border-strong);
}

.ctn-claims-dossier > div small {
    color: var(--primary);
    font-size: .58rem;
    font-weight: 800;
}

.ctn-claims-dossier footer {
    position: absolute;
    right: 2rem;
    bottom: 1.6rem;
    left: 2rem;
    display: flex;
    align-items: center;
    gap: .65rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--border-strong);
    color: var(--primary);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-claims-dossier footer img {
    width: 28px;
    height: 34px;
    object-fit: contain;
}

/* FAQ */
.ctn-faq {
    border-top: 1px solid var(--border);
    background: #fff;
}

.ctn-faq-layout {
    display: grid;
    grid-template-columns: minmax(300px, .68fr) minmax(0, 1.32fr);
    align-items: start;
    gap: clamp(4rem, 8vw, 8rem);
}

.ctn-faq .ctn-section-head {
    position: sticky;
    top: 130px;
}

.ctn-faq .ctn-section-head > p:not(.ctn-kicker) {
    max-width: 420px;
    margin: 1.5rem 0 0;
}

.ctn-faq-summary {
    display: grid;
    max-width: 390px;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 1.15rem;
    margin-top: 2.25rem;
    padding: 1.15rem 0;
    border-top: 1px solid var(--border-strong);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-faq-summary strong {
    color: var(--text-primary);
    font-size: 2.6rem;
    font-weight: 680;
    line-height: 1;
    letter-spacing: -.07em;
}

.ctn-faq-summary span {
    padding-left: 1.15rem;
    border-left: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.55;
}

.ctn-faq .ctn-inline-link {
    margin-top: 1.8rem;
}

.ctn-faq-content {
    min-width: 0;
}

.ctn-faq-list-head {
    display: flex;
    min-height: 40px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 .25rem .9rem;
    color: var(--text-secondary);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.ctn-faq-list-head small {
    color: var(--muted);
    font-size: .63rem;
    font-weight: 500;
    letter-spacing: 0;
}

.ctn-faq-list {
    border-top: 1px solid var(--border-strong);
}

.ctn-faq-list article {
    position: relative;
    border-bottom: 1px solid var(--border-strong);
    transition: background-color var(--ease);
}

.ctn-faq-list article::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: var(--primary-dark);
    content: "";
    transform: scaleY(0);
    transform-origin: top;
    transition: transform var(--ease);
}

.ctn-faq-list article.is-open {
    background: var(--primary-light);
}

.ctn-faq-list article.is-open::before {
    transform: scaleY(1);
}

.ctn-faq-list button {
    display: flex;
    width: 100%;
    min-height: 96px;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.1rem 1.2rem 1.1rem 1.35rem;
    border: 0;
    background: transparent;
    color: var(--text-primary);
    text-align: left;
    transition: background-color var(--ease), padding-left var(--ease);
}

.ctn-faq-list article:not(.is-open) button:hover {
    background: rgba(238, 241, 237, .55);
    padding-left: 1.6rem;
}

.ctn-faq-question {
    display: grid;
    min-width: 0;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    font-size: 1.03rem;
    font-weight: 700;
    letter-spacing: -.02em;
}

.ctn-faq-question > small {
    align-self: start;
    padding-top: .18rem;
    color: var(--muted);
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ctn-faq-question > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .38rem;
}

.ctn-faq-question em {
    color: var(--primary);
    font-size: .55rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .15em;
    line-height: 1;
    text-transform: uppercase;
}

.ctn-faq-toggle {
    display: grid;
    width: 38px;
    height: 38px;
    min-width: 38px;
    place-items: center;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    color: var(--primary);
    transition: border-color var(--ease), background-color var(--ease), color var(--ease);
}

.ctn-faq-toggle svg {
    width: 17px;
    height: 17px;
    transition: transform var(--ease);
}

.ctn-faq-list button[aria-expanded="true"] .ctn-faq-toggle {
    border-color: var(--primary-dark);
    background: var(--primary-dark);
    color: #fff;
}

.ctn-faq-list button[aria-expanded="true"] .ctn-faq-toggle svg {
    transform: rotate(45deg);
}

.ctn-faq-answer p {
    max-width: 680px;
    margin: 0;
    padding: .1rem 5.2rem 1.9rem 4.25rem;
    color: var(--text-secondary);
    font-size: .9rem;
    line-height: 1.75;
}

/* Final CTA */
.ctn-final-cta {
    position: relative;
    overflow: hidden;
    padding-block: clamp(4.5rem, 7vw, 6rem);
    background: var(--primary);
    color: #fff;
}

.ctn-final-cta::before,
.ctn-final-cta::after {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .1);
    content: "";
    transform: rotate(45deg);
}

.ctn-final-cta::before {
    top: -120px;
    right: 11%;
    width: 270px;
    height: 270px;
}

.ctn-final-cta::after {
    right: 5%;
    bottom: -110px;
    width: 190px;
    height: 190px;
}

.ctn-final-cta-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 3rem;
}

.ctn-final-cta h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.4rem, 4.3vw, 3.6rem);
    line-height: 1.02;
    letter-spacing: -.06em;
}

.ctn-final-cta-layout > div:first-child > p:last-child {
    margin: 1.25rem 0 0;
    color: #c9d3ce;
    font-size: 1rem;
}

.ctn-final-cta-actions {
    display: flex;
    align-items: center;
    gap: 1.4rem;
}

.ctn-final-cta-actions > a:last-child {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding-bottom: .25rem;
    border-bottom: 1px solid rgba(255, 255, 255, .7);
    color: #fff;
    font-size: .84rem;
    font-weight: 700;
}

.ctn-final-cta-actions > a:last-child svg {
    width: 15px;
    height: 15px;
}

/* Footer */
.ctn-site-footer.site-footer {
    padding: 0;
    border-top: 1px solid var(--primary-dark);
    border-radius: 0;
    background: #fff;
    color: var(--text-primary);
}

.ctn-footer-top {
    display: grid;
    min-height: 170px;
    grid-template-columns: auto minmax(260px, 1fr) auto;
    align-items: center;
    gap: clamp(1.5rem, 3.5vw, 3.5rem);
    padding-block: 2rem;
    border-bottom: 1px solid var(--border-strong);
}

.ctn-footer-logo {
    display: grid;
    width: 76px;
    height: 86px;
    place-items: center;
    overflow: hidden;
}

.ctn-footer-logo img {
    width: 72px;
    height: 82px;
    object-fit: contain;
}

.ctn-footer-identity {
    display: flex;
    min-height: 72px;
    max-width: 520px;
    flex-direction: column;
    justify-content: center;
    gap: .65rem;
    padding-left: clamp(1.5rem, 3vw, 3rem);
    border-left: 1px solid var(--border);
}

.ctn-footer-identity span,
.ctn-footer-direct > span {
    color: var(--primary);
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ctn-footer-identity strong {
    color: var(--text-primary);
    font-size: clamp(1.2rem, 1.8vw, 1.55rem);
    font-weight: 680;
    line-height: 1.2;
    letter-spacing: -.035em;
}

.ctn-footer-direct {
    display: grid;
    min-width: 370px;
    grid-template-columns: auto auto;
    align-items: end;
    gap: .75rem 2rem;
    padding-left: clamp(2rem, 4vw, 4rem);
    border-left: 1px solid var(--border-strong);
}

.ctn-footer-direct > span {
    grid-column: 1 / -1;
}

.ctn-footer-direct a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--text-primary);
    white-space: nowrap;
}

.ctn-footer-direct a:first-of-type {
    font-size: 1.25rem;
    font-weight: 720;
    letter-spacing: -.035em;
}

.ctn-footer-direct a + a {
    padding-bottom: .28rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: .75rem;
    font-weight: 750;
}

.ctn-footer-direct svg {
    width: 15px;
    height: 15px;
}

.ctn-footer-direct address {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 16px minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
    margin: .8rem 0 0;
    padding-top: .75rem;
    border-top: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: .64rem;
    font-style: normal;
    line-height: 1.55;
}

.ctn-footer-direct address svg {
    margin-top: .08rem;
    color: var(--primary);
}

.ctn-footer-main {
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) .72fr .85fr .76fr;
    gap: clamp(2.5rem, 6vw, 6rem);
    padding-block: clamp(3.25rem, 5vw, 4.5rem);
}

.ctn-footer-about {
    max-width: 380px;
}

.ctn-footer-column {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: .72rem;
}

.ctn-footer-about h2,
.ctn-footer-column h2 {
    margin: 0 0 .75rem;
    color: var(--primary);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.ctn-footer-about p {
    max-width: 360px;
    margin: 0;
    color: var(--text-secondary);
    font-size: .82rem;
    line-height: 1.75;
}

.ctn-footer-about > a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1.35rem;
    padding-bottom: .28rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: .73rem;
    font-weight: 750;
}

.ctn-footer-about > a svg {
    width: 14px;
    height: 14px;
}

.ctn-footer-socials {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1.25rem;
}

.ctn-footer-socials > a {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    background: #fff;
    color: var(--text-primary);
    transition: border-color var(--ease), background-color var(--ease), color var(--ease);
}

.ctn-footer-socials > a[href=""] {
    display: none;
}

.ctn-footer-socials:not(:has(> a:not([href=""]))) {
    display: none;
}

.ctn-footer-socials a:hover,
.ctn-footer-socials a:focus-visible {
    border-color: var(--primary-dark);
    background: var(--primary-dark);
    color: #fff;
    outline: 0;
}

.ctn-footer-socials > a img {
    display: block;
    width: 18px;
    height: 18px;
    object-fit: contain;
    transition: filter var(--ease);
}

.ctn-footer-socials a:hover img,
.ctn-footer-socials a:focus-visible img {
    filter: invert(1);
}

.ctn-footer-column a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--text-secondary);
    font-size: .77rem;
    line-height: 1.55;
    transition: color var(--ease), transform var(--ease);
}

.ctn-footer-column a::after {
    color: var(--primary);
    content: "↗";
    opacity: 0;
    transform: translate(-4px, 4px);
    transition: opacity var(--ease), transform var(--ease);
}

.ctn-footer-column a:hover {
    color: var(--primary);
    transform: translateX(2px);
}

.ctn-footer-column a:hover::after {
    opacity: 1;
    transform: translate(0, 0);
}

.ctn-footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    min-height: 72px;
    align-items: center;
    gap: 2rem;
    padding-block: 1rem;
    border-top: 1px solid var(--border-strong);
}

.ctn-footer-bottom p,
.ctn-footer-bottom a {
    color: #777e79;
    font-size: .67rem;
}

.ctn-footer-bottom a {
    transition: color var(--ease);
}

.ctn-footer-bottom a:hover {
    color: var(--primary);
}

.ctn-footer-credit {
    justify-self: center;
    color: #525b56 !important;
    font-weight: 700;
    letter-spacing: .015em;
    text-align: center;
}

.ctn-footer-credit:hover {
    color: var(--primary) !important;
}

.ctn-footer-bottom > div {
    display: flex;
    justify-self: end;
    flex-wrap: wrap;
    gap: 1.25rem;
}

/* Shared internal pages */
.page-hero,
.legal-hero,
.soft-section,
.soft-blue-section {
    background: #fff;
}

.page-hero::after {
    right: -100px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(22, 58, 58, .12);
    border-radius: 0;
    box-shadow: inset 0 0 0 36px #fff, inset 0 0 0 37px rgba(22, 58, 58, .1), inset 0 0 0 72px #fff, inset 0 0 0 73px rgba(22, 58, 58, .08);
    transform: rotate(45deg);
}

.button-primary,
.button-dark {
    border-color: var(--primary);
    border-radius: 4px;
    background: var(--primary);
    color: #fff;
}

.button-primary:hover,
.button-dark:hover {
    border-color: var(--primary-dark);
    background: var(--primary-dark);
    color: #fff;
}

.button-secondary,
.button-outline {
    border-color: var(--primary);
    border-radius: 4px;
    background: transparent;
    color: var(--primary);
}

.button-secondary:hover,
.button-outline:hover {
    background: var(--primary);
    color: #fff;
}

.product-card,
.quick-card,
.form-panel,
.mini-form,
.contact-card,
.value-grid article,
.process-grid article {
    border-color: var(--border);
    border-radius: 6px;
    box-shadow: none;
}

.mobile-sticky {
    border-color: var(--border-strong);
    background: var(--background);
    box-shadow: none;
}

.mobile-sticky .is-primary {
    background: var(--primary);
}

.cookie-banner {
    border: 1px solid var(--border-strong);
    border-radius: 6px;
    background: var(--background);
    color: var(--text-primary);
    box-shadow: none;
}

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

    .ctn-main-nav.main-nav > a {
        font-size: .76rem;
    }

    .ctn-main-nav .ctn-mega-wrap > a,
    .ctn-main-nav .ctn-nav-dropdown > a {
        font-size: .76rem;
    }

    .ctn-nav-quote {
        display: none;
    }

    .ctn-mega-menu.mega-menu {
        grid-template-columns: 205px minmax(0, 1fr);
    }

    .ctn-mega-intro {
        padding: .3rem 1.25rem .25rem 0;
    }

    .ctn-mega-intro > strong {
        font-size: 1.05rem;
    }

    .ctn-mega-columns.mega-columns {
        gap: .8rem;
        padding: .3rem 0 .3rem 2rem;
    }

    .ctn-mega-columns > div {
        padding-inline: .65rem;
    }

    .ctn-mega-columns .mega-title strong,
    .ctn-mega-columns > div > a:not(.mega-title) {
        font-size: .63rem;
    }

    .ctn-hero-layout {
        grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
        gap: 3rem;
    }

    .ctn-hero-promises {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .ctn-hero-promises small {
        display: none;
    }

    .ctn-claims-layout {
        grid-template-columns: .82fr 1fr;
    }

    .ctn-claims-dossier {
        grid-column: 1 / -1;
        width: min(100%, 520px);
        min-height: 450px;
        margin: 1rem auto 0;
    }

    .ctn-footer-main {
        grid-template-columns: minmax(240px, 1.2fr) repeat(3, .8fr);
        gap: clamp(2rem, 3.5vw, 3.5rem);
    }
}

@media (max-width: 900px) {
    html {
        scroll-padding-top: 78px;
    }

    .ctn-header-utility {
        display: none;
    }

    .ctn-nav-shell.nav-shell {
        min-height: 76px;
        gap: .65rem;
    }

    .ctn-header-logo.brand {
        width: 58px;
        min-width: 58px;
        height: 62px;
        border-right: 0;
    }

    .ctn-header-logo.brand img {
        width: 52px;
        height: 59px;
    }

    .ctn-menu-toggle.menu-toggle {
        z-index: 520;
        display: flex;
        order: 3;
        width: 44px;
        height: 44px;
        margin: 0;
    }

    .ctn-menu-toggle.menu-toggle i,
    .ctn-menu-toggle.menu-toggle i::before,
    .ctn-menu-toggle.menu-toggle i::after {
        background: var(--primary-dark);
    }

    .ctn-menu-toggle.menu-toggle[aria-expanded="true"] i {
        background: transparent;
    }

    .ctn-main-nav.main-nav {
        position: fixed;
        z-index: 510;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: .25rem;
        margin: 0;
        padding: 88px var(--gutter) 2rem;
        background: var(--background);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: opacity var(--ease), visibility var(--ease), transform var(--ease);
    }

    .ctn-main-nav.main-nav.is-open {
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .ctn-main-nav.main-nav > a {
        display: inline-flex;
        min-height: 50px;
        padding: 0;
        color: var(--text-primary);
        font-size: clamp(1.45rem, 6vw, 2.15rem);
        font-weight: 680;
        letter-spacing: -.04em;
    }

    .ctn-main-nav.main-nav > a::after {
        bottom: 4px;
        left: 0;
    }

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

    .ctn-main-nav .ctn-mega-wrap,
    .ctn-main-nav .ctn-nav-dropdown {
        position: static;
    }

    .ctn-main-nav .ctn-mega-wrap > a,
    .ctn-main-nav .ctn-nav-dropdown > a {
        display: inline-flex;
        min-height: 50px;
        padding: 0;
        color: var(--text-primary);
        font-size: clamp(1.45rem, 6vw, 2.15rem);
        font-weight: 680;
        letter-spacing: -.04em;
    }

    .ctn-main-nav .ctn-mega-wrap > a::after,
    .ctn-main-nav .ctn-nav-dropdown > a::after {
        bottom: 4px;
        left: 0;
    }

    .ctn-main-nav .ctn-mega-wrap > a svg,
    .ctn-main-nav .ctn-nav-dropdown > a svg {
        display: none;
    }

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

    .ctn-mobile-contact.mobile-contact {
        display: flex;
        width: 100%;
        margin-top: 1.6rem;
        padding-top: 1.2rem;
        border-top: 1px solid var(--border-strong);
    }

    .ctn-nav-actions.nav-actions {
        order: 2;
        margin-left: auto;
        padding-left: 0;
        border-left: 0;
    }

    .ctn-action-dropdown.nav-action-dropdown {
        display: none;
    }

    .ctn-nav-quote {
        display: none;
    }

    .ctn-search-panel.nav-search-panel {
        top: 76px;
        max-height: calc(100vh - 76px);
        overflow-y: auto;
        padding: 2rem 0;
    }

    .ctn-site-header.is-scrolled .ctn-search-panel.nav-search-panel {
        top: 76px;
    }

    .ctn-search-results.nav-search-results {
        grid-template-columns: repeat(2, 1fr);
    }

    .ctn-hero-layout {
        grid-template-columns: 1fr;
        gap: 4rem;
        padding-block: 4.5rem;
    }

    .ctn-hero-copy {
        max-width: 720px;
    }

    .ctn-hero-promises {
        grid-template-columns: repeat(3, 1fr);
    }

    .ctn-hero-art {
        width: min(100%, 700px);
        min-height: 570px;
        margin-inline: auto;
    }

    .ctn-hero-visual {
        width: min(100%, 700px);
        margin-inline: auto;
    }

    .ctn-section-head--split,
    .ctn-values-layout,
    .ctn-assurance-layout,
    .ctn-faq-layout {
        grid-template-columns: 1fr;
    }

    .ctn-faq-layout {
        gap: 3.5rem;
    }

    .ctn-faq .ctn-section-head {
        position: static;
    }

    .ctn-footer-top {
        min-height: 0;
        grid-template-columns: auto 1fr;
        padding-block: 2.5rem;
    }

    .ctn-footer-identity {
        max-width: none;
    }

    .ctn-footer-direct {
        min-width: 0;
        grid-column: 1 / -1;
        padding: 1.5rem 0 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .ctn-footer-main {
        grid-template-columns: repeat(3, 1fr);
    }

    .ctn-footer-about {
        max-width: 680px;
        grid-column: 1 / -1;
        padding-bottom: 2rem;
        border-bottom: 1px solid var(--border);
    }

    .ctn-section-head--split {
        gap: 1.5rem;
    }

    .ctn-values-intro {
        position: static;
    }

    .ctn-branch-selector {
        grid-template-columns: 1fr;
    }

    .ctn-branch-tabs {
        overflow-x: auto;
        flex-direction: row;
        border-right: 0;
        border-bottom: 1px solid var(--border-strong);
        scrollbar-width: thin;
    }

    .ctn-branch-tabs button {
        min-width: 170px;
        min-height: 72px;
        grid-template-columns: 24px 25px 1fr;
        padding: .75rem 1rem;
        border-right: 1px solid var(--border);
        border-bottom: 0;
    }

    .ctn-branch-tabs button::before {
        top: auto;
        right: 0;
        bottom: -1px;
        left: 0;
        width: auto;
        height: 3px;
        transform: scaleX(.4);
    }

    .ctn-branch-tabs button[aria-selected="true"]::before {
        transform: scaleX(1);
    }

    .ctn-branch-tabs button > svg:last-child {
        display: none;
    }

    .ctn-branch-panel {
        min-height: 0;
    }

    .ctn-process-line {
        grid-template-columns: repeat(2, 1fr);
    }

    .ctn-process-line::before {
        display: none;
    }

    .ctn-process-line li {
        min-height: 250px;
        padding: 2rem;
        border-top: 1px solid var(--border);
    }

    .ctn-process-line li:first-child {
        padding-left: 2rem;
    }

    .ctn-process-line li:last-child {
        padding-right: 2rem;
    }

    .ctn-process-line li:nth-child(2) {
        border-right: 0;
    }

    .ctn-assurance-layout {
        display: block;
    }

    .ctn-assurance-copy {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 0;
    }

    .ctn-assurance-copy .ctn-kicker,
    .ctn-assurance-copy h2,
    .ctn-assurance-copy > p:last-child {
        grid-column: 1;
        grid-row: auto;
    }

    .ctn-assurance-copy > p:last-child {
        max-width: 620px;
        margin-top: 1.5rem;
    }

    .ctn-assurance-band {
        grid-template-columns: 1fr;
    }

    .ctn-assurance-method {
        min-height: 120px;
        padding-right: 0;
        padding-bottom: 1.4rem;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
    }

    .ctn-assurance-facts {
        max-width: none;
    }

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

    .ctn-claims-dossier {
        grid-column: 1 / -1;
    }

    .ctn-final-cta-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    :root {
        --section: 4.75rem;
    }

    body {
        font-size: 16px;
    }

    .ctn-kicker {
        margin-bottom: 1rem;
        font-size: .64rem;
    }

    .ctn-section-head h2 {
        font-size: clamp(2.15rem, 10vw, 2.7rem);
    }

    .ctn-search-head small {
        display: none;
    }

    .ctn-search-results.nav-search-results {
        grid-template-columns: 1fr;
    }

    .ctn-hero-layout {
        gap: 3rem;
        padding-top: 3.7rem;
        padding-bottom: 4rem;
    }

    .ctn-hero-copy h1 {
        font-size: clamp(3rem, 15vw, 3.9rem);
    }

    .ctn-hero-lead {
        font-size: 1rem;
    }

    .ctn-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ctn-actions .ctn-button {
        width: 100%;
    }

    .ctn-hero-promises {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-top: 3rem;
    }

    .ctn-hero-promises small {
        display: block;
    }

    .ctn-hero-art {
        min-height: 455px;
    }

    .ctn-hero-visual {
        width: calc(100% - 10px);
        margin-right: 10px;
        margin-left: 0;
    }

    .ctn-hero-visual::before {
        top: 10px;
        right: -10px;
        bottom: -10px;
        left: 10px;
    }

    .ctn-hero-visual-media {
        height: clamp(330px, 92vw, 440px);
    }

    .ctn-hero-visual-media img {
        object-position: center 54%;
    }

    .ctn-hero-visual-label {
        top: 16px;
        left: 16px;
        font-size: .53rem;
    }

    .ctn-hero-visual-count {
        min-width: 132px;
        min-height: 68px;
        padding: .8rem .95rem;
    }

    .ctn-hero-visual-count strong {
        font-size: 1.7rem;
    }

    .ctn-hero-visual-caption {
        grid-template-columns: 1fr;
        gap: 1.1rem;
        padding: 1.25rem;
    }

    .ctn-hero-art-index {
        top: 22px;
        right: 22px;
        left: 22px;
    }

    .ctn-hero-art-sheet {
        top: 75px;
        right: 8%;
        bottom: 58px;
        left: 8%;
        padding: 1.5rem;
    }

    .ctn-hero-art-sheet > strong {
        font-size: clamp(1.55rem, 8vw, 2.1rem);
    }

    .ctn-hero-art-logo {
        top: 20px;
        right: 20px;
        width: 38px;
        height: 44px;
    }

    .ctn-hero-art-logo img {
        width: 36px;
        height: 42px;
    }

    .ctn-hero-art-lines {
        margin: 1rem 0 1.2rem;
    }

    .ctn-hero-art-sheet li {
        min-height: 58px;
        gap: .5rem;
        padding: .65rem;
    }

    .ctn-hero-art-sheet li svg {
        width: 16px;
        height: 16px;
    }

    .ctn-hero-art-sheet li span {
        font-size: .7rem;
    }

    .ctn-hero-art-note {
        right: 2%;
        bottom: 20px;
        padding: .8rem 1rem;
    }

    .ctn-branch-tabs button {
        min-width: 154px;
    }

    .ctn-branch-panel {
        grid-template-columns: 1fr;
    }

    .ctn-branch-panel > header {
        min-height: 330px;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .ctn-branch-panel > header h3 {
        margin-top: 3rem;
    }

    .ctn-branch-products {
        padding: 1rem 1.25rem 1.5rem;
    }

    .ctn-branch-products > a {
        min-height: 105px;
        gap: .85rem;
    }

    .ctn-branch-products small {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .ctn-value-list article {
        grid-template-columns: 36px 34px 1fr;
        gap: .75rem;
    }

    .ctn-process-line {
        grid-template-columns: 1fr;
        padding-top: 0;
    }

    .ctn-process-line li,
    .ctn-process-line li:first-child,
    .ctn-process-line li:last-child {
        min-height: 0;
        padding: 2rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .ctn-process-line li > svg {
        margin-bottom: 1.35rem;
    }

    .ctn-process-line h3,
    .ctn-process-line p {
        max-width: 100%;
    }

    .ctn-assurance-facts {
        grid-template-columns: 1fr;
    }

    .ctn-assurance-facts div,
    .ctn-assurance-facts div:first-child {
        display: grid;
        grid-template-columns: 80px 1fr;
        align-items: end;
        gap: 1rem;
        padding: 1.1rem 0;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
        border-left: 0;
    }

    .ctn-assurance-facts dd {
        margin: 0 0 .2rem;
    }

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

    .ctn-claims-dossier {
        grid-column: auto;
        width: calc(100% - 12px);
        min-height: 460px;
        margin: 1rem 12px 0 0;
        padding: 1.5rem;
    }

    .ctn-claims-dossier footer {
        right: 1.5rem;
        left: 1.5rem;
    }

    .ctn-faq-summary {
        max-width: 100%;
    }

    .ctn-faq-list-head small {
        display: none;
    }

    .ctn-faq-list button {
        min-height: 90px;
        padding: 1rem .75rem 1rem 1rem;
    }

    .ctn-faq-list article:not(.is-open) button:hover {
        padding-left: 1rem;
    }

    .ctn-faq-question {
        grid-template-columns: 34px 1fr;
        font-size: .92rem;
    }

    .ctn-faq-toggle {
        width: 34px;
        height: 34px;
        min-width: 34px;
    }

    .ctn-faq-answer p {
        padding: 0 1.25rem 1.6rem 3.15rem;
    }

    .ctn-final-cta-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ctn-final-cta-actions .ctn-button {
        width: 100%;
    }

    .ctn-final-cta-actions > a:last-child {
        align-self: flex-start;
    }

    .ctn-footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem 1.5rem;
    }

    .ctn-footer-top {
        grid-template-columns: 64px 1fr;
        gap: 1rem;
    }

    .ctn-footer-logo {
        width: 64px;
        height: 74px;
    }

    .ctn-footer-logo img {
        width: 60px;
        height: 70px;
    }

    .ctn-footer-identity {
        min-height: 64px;
        gap: .5rem;
        padding-left: 1rem;
    }

    .ctn-footer-identity strong {
        font-size: 1.05rem;
    }

    .ctn-footer-direct {
        grid-template-columns: 1fr;
        align-items: start;
        gap: .75rem;
    }

    .ctn-footer-direct > span {
        grid-column: auto;
    }

    .ctn-footer-about,
    .ctn-footer-support {
        grid-column: 1 / -1;
    }

    .ctn-footer-support {
        flex-direction: row;
        flex-wrap: wrap;
        gap: .75rem 1.25rem;
        padding-top: 2rem;
        border-top: 1px solid var(--border);
    }

    .ctn-footer-support h2 {
        width: 100%;
    }

    .ctn-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: .9rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Product detail — traffic insurance */
.ctn-product-detail {
    overflow: hidden;
    background: #fff;
    color: #111;
}

.ctn-product-detail section[id] {
    scroll-margin-top: 110px;
}

.ctn-detail-hero {
    padding: 1.4rem 0 0;
    border-bottom: 1px solid #d8d8d8;
    background: #fff;
}

.ctn-detail-breadcrumb {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding-block: .9rem 1.6rem;
    color: #767676;
    font-size: .69rem;
}

.ctn-detail-breadcrumb a {
    color: #4d4d4d;
}

.ctn-detail-breadcrumb a:hover {
    color: #000;
}

.ctn-detail-breadcrumb span[aria-current="page"] {
    color: #111;
    font-weight: 700;
}

.ctn-detail-hero-grid {
    display: grid;
    min-height: 650px;
    grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
    align-items: stretch;
    gap: clamp(3rem, 6vw, 6.5rem);
}

.ctn-detail-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem 0 3.5rem;
}

.ctn-detail-kicker {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: #555;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.ctn-detail-kicker > span {
    color: #111;
    font-variant-numeric: tabular-nums;
}

.ctn-detail-kicker::before {
    width: 28px;
    height: 1px;
    background: #111;
    content: "";
}

.ctn-detail-hero-copy h1 {
    max-width: 720px;
    margin: 1.6rem 0 1.5rem;
    color: #0b0b0b;
    font-size: clamp(3.6rem, 6.1vw, 6.5rem);
    font-weight: 720;
    line-height: .93;
    letter-spacing: -.068em;
}

.ctn-detail-lead {
    max-width: 570px;
    color: #5f5f5f;
    font-size: clamp(1rem, 1.35vw, 1.15rem);
    line-height: 1.7;
}

.ctn-detail-actions {
    display: flex;
    align-items: center;
    gap: 1.7rem;
    margin-top: 2.3rem;
}

.ctn-detail-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    padding: 0 1.35rem;
    border: 1px solid #111;
    color: #111;
    font-size: .78rem;
    font-weight: 750;
    transition: background-color var(--ease), color var(--ease);
}

.ctn-detail-button svg {
    width: 16px;
    height: 16px;
}

.ctn-detail-button--dark {
    background: #111;
    color: #fff;
}

.ctn-detail-button--dark:hover {
    background: #fff;
    color: #111;
}

.ctn-detail-phone {
    display: flex;
    flex-direction: column;
    gap: .18rem;
}

.ctn-detail-phone span {
    color: #777;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ctn-detail-phone strong {
    color: #111;
    font-size: .92rem;
    font-weight: 750;
}

.ctn-detail-facts {
    display: grid;
    margin-top: auto;
    padding-top: 3rem;
    grid-template-columns: repeat(3, 1fr);
}

.ctn-detail-facts > div {
    padding: 1rem 1rem 0;
    border-top: 1px solid #cfcfcf;
}

.ctn-detail-facts > div:first-child {
    padding-left: 0;
}

.ctn-detail-facts dt {
    color: #8a8a8a;
    font-size: .58rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ctn-detail-facts dd {
    margin-top: .35rem;
    color: #181818;
    font-size: .76rem;
    font-weight: 700;
}

.ctn-detail-hero-media {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    background: #111;
}

.ctn-detail-hero-media::after {
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .7));
    content: "";
}

.ctn-detail-hero-media picture,
.ctn-detail-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
}

.ctn-detail-hero-media picture {
    position: absolute;
    inset: 0;
}

.ctn-detail-hero-media img {
    object-fit: cover;
    object-position: center 72%;
    filter: saturate(.72) contrast(1.05);
}

.ctn-detail-hero-media figcaption {
    position: absolute;
    z-index: 1;
    right: clamp(1.5rem, 3vw, 2.5rem);
    bottom: clamp(1.5rem, 3vw, 2.5rem);
    left: clamp(1.5rem, 3vw, 2.5rem);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    color: #fff;
}

.ctn-detail-hero-media figcaption span {
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.ctn-detail-hero-media figcaption strong {
    font-size: clamp(1.5rem, 2.5vw, 2.2rem);
    font-weight: 650;
    line-height: 1.05;
    letter-spacing: -.04em;
    text-align: right;
}

.ctn-detail-jump {
    border-bottom: 1px solid #dedede;
    background: #fff;
}

.ctn-detail-jump .container {
    display: flex;
    min-height: 68px;
    align-items: center;
    gap: clamp(1rem, 2.8vw, 2.5rem);
    overflow-x: auto;
    scrollbar-width: none;
}

.ctn-detail-jump .container::-webkit-scrollbar {
    display: none;
}

.ctn-detail-jump span,
.ctn-detail-jump a {
    flex: 0 0 auto;
    white-space: nowrap;
}

.ctn-detail-jump span {
    color: #8a8a8a;
    font-size: .58rem;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.ctn-detail-jump a {
    color: #444;
    font-size: .72rem;
    font-weight: 650;
}

.ctn-detail-jump a:hover {
    color: #000;
}

.ctn-detail-section {
    padding: clamp(5.5rem, 8vw, 8rem) 0;
    background: #fff;
}

.ctn-detail-editorial-grid {
    display: grid;
    grid-template-columns: minmax(260px, .76fr) minmax(0, 1.24fr);
    gap: clamp(3rem, 9vw, 9rem);
}

.ctn-detail-section-heading h2,
.ctn-detail-comparison-head h2,
.ctn-detail-process-head h2,
.ctn-detail-quote-copy h2,
.ctn-detail-related h2,
.ctn-detail-boundaries-title h2 {
    margin-top: 1.35rem;
    color: #111;
    font-size: clamp(2.35rem, 4.3vw, 4.35rem);
    font-weight: 680;
    line-height: 1.02;
    letter-spacing: -.058em;
}

.ctn-detail-section-heading > p:last-child {
    max-width: 430px;
    margin-top: 1.3rem;
    color: #6e6e6e;
    font-size: .9rem;
}

.ctn-detail-editorial-copy {
    padding-top: 2.1rem;
}

.ctn-detail-editorial-copy > p {
    max-width: 760px;
    color: #686868;
    font-size: 1rem;
    line-height: 1.8;
}

.ctn-detail-editorial-copy > .ctn-detail-intro {
    margin-bottom: 1.6rem;
    color: #181818;
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    font-weight: 560;
    line-height: 1.38;
    letter-spacing: -.035em;
}

.ctn-detail-note {
    display: grid;
    margin-top: 2.6rem;
    padding: 1.3rem 0;
    grid-template-columns: 28px 1fr;
    gap: 1rem;
    border-top: 1px solid #cfcfcf;
    border-bottom: 1px solid #cfcfcf;
}

.ctn-detail-note svg {
    width: 20px;
    height: 20px;
    color: #111;
}

.ctn-detail-note p {
    max-width: 680px;
    color: #6b6b6b;
    font-size: .78rem;
    line-height: 1.65;
}

.ctn-detail-note strong {
    display: block;
    margin-bottom: .22rem;
    color: #111;
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ctn-detail-overview {
    padding: clamp(4.5rem, 6vw, 5.75rem) 0;
}

.ctn-detail-overview .ctn-detail-editorial-grid {
    grid-template-columns: minmax(370px, .84fr) minmax(0, 1.16fr);
    gap: clamp(4.5rem, 8vw, 8rem);
    align-items: start;
}

.ctn-detail-overview .ctn-detail-section-heading h2 {
    max-width: 560px;
    font-size: clamp(2.8rem, 3.75vw, 3.9rem);
}

.ctn-detail-overview-points {
    max-width: 520px;
    margin: 2.4rem 0 0;
    padding: 0;
    border-top: 1px solid #cfd3d0;
    list-style: none;
}

.ctn-detail-overview-points li {
    display: grid;
    min-height: 60px;
    padding: .75rem 0;
    grid-template-columns: 32px 1fr;
    align-items: center;
    gap: .85rem;
    border-bottom: 1px solid #e0e2e0;
}

.ctn-detail-overview-points svg {
    width: 18px;
    height: 18px;
    color: var(--primary);
    stroke-width: 1.65;
}

.ctn-detail-overview-points small,
.ctn-detail-overview-points strong {
    display: block;
}

.ctn-detail-overview-points small {
    margin-bottom: .15rem;
    color: #858a87;
    font-size: .56rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ctn-detail-overview-points strong {
    color: var(--text-primary);
    font-size: .82rem;
    font-weight: 650;
}

.ctn-detail-overview .ctn-detail-note {
    margin-top: 2rem;
}

.ctn-detail-coverage {
    padding: clamp(4.5rem, 6vw, 5.75rem) 0;
    border-top: 1px solid #e1e1e1;
}

.ctn-detail-coverage .ctn-detail-editorial-grid {
    grid-template-columns: minmax(360px, .88fr) minmax(0, 1.12fr);
    gap: clamp(4rem, 7vw, 7rem);
    align-items: start;
}

.ctn-detail-coverage .ctn-detail-section-heading h2 {
    max-width: 540px;
    font-size: clamp(2.8rem, 3.65vw, 3.8rem);
}

.ctn-detail-coverage-facts {
    max-width: 470px;
    margin: 2.35rem 0 0;
    border-top: 1px solid #cfd3d0;
}

.ctn-detail-coverage-facts > div {
    display: grid;
    min-height: 48px;
    grid-template-columns: 125px 1fr;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid #e0e2e0;
}

.ctn-detail-coverage-facts dt {
    color: #858a87;
    font-size: .58rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ctn-detail-coverage-facts dd {
    margin: 0;
    color: var(--primary);
    font-size: .78rem;
    font-weight: 650;
}

.ctn-detail-coverage-list {
    border-top: 1px solid #111;
}

.ctn-detail-coverage-list article {
    display: grid;
    min-height: 148px;
    grid-template-columns: 36px 56px 1fr;
    align-items: center;
    gap: 1.2rem;
    border-bottom: 1px solid #d4d4d4;
}

.ctn-detail-coverage-list article > span {
    align-self: start;
    padding-top: 1.5rem;
    color: #8b8b8b;
    font-size: .62rem;
    font-weight: 750;
}

.ctn-detail-coverage-list article > svg {
    width: 25px;
    height: 25px;
    color: #111;
}

.ctn-detail-coverage-list h3 {
    margin: .32rem 0 .5rem;
    color: #111;
    font-size: 1.25rem;
    letter-spacing: -.025em;
}

.ctn-detail-coverage-list small {
    color: var(--primary);
    font-size: .58rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ctn-detail-coverage-list p {
    max-width: 580px;
    color: #6c6c6c;
    font-size: .86rem;
}

.ctn-detail-boundaries {
    padding: clamp(3.75rem, 4.7vw, 4.5rem) 0;
    background: #111;
    color: #fff;
}

.ctn-detail-boundaries .ctn-detail-kicker,
.ctn-detail-boundaries .ctn-detail-kicker > span {
    color: #a8a8a8;
}

.ctn-detail-boundaries .ctn-detail-kicker::before {
    background: #888;
}

.ctn-detail-boundaries-title {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: end;
}

.ctn-detail-boundaries-intro > p:last-child {
    max-width: 390px;
    margin-top: 1.5rem;
    color: #c5d0ca;
    font-size: .88rem;
    line-height: 1.75;
}

.ctn-detail-boundaries-title h2 {
    max-width: 780px;
    margin-top: 0;
    color: #fff;
    font-size: clamp(2.5rem, 3.65vw, 3.85rem);
}

.ctn-detail-boundaries-grid {
    display: grid;
    margin-top: clamp(2.35rem, 3vw, 2.75rem);
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #3d3d3d;
}

.ctn-detail-boundaries-grid article {
    display: flex;
    min-height: 225px;
    padding: 1.4rem clamp(1.25rem, 2.5vw, 2.4rem) 1.25rem;
    border-right: 1px solid #3d3d3d;
    flex-direction: column;
}

.ctn-detail-boundaries-grid article:first-child {
    padding-left: 0;
}

.ctn-detail-boundaries-grid article:last-child {
    border-right: 0;
}

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

.ctn-detail-boundary-meta span {
    display: block;
    color: #8d8d8d;
    font-size: .62rem;
    font-weight: 750;
}

.ctn-detail-boundary-meta svg {
    width: 1.05rem;
    height: 1.05rem;
    color: #d8e1dc;
    stroke-width: 1.65;
}

.ctn-detail-boundaries-grid h3 {
    margin: 2.15rem 0 .8rem;
    color: #fff;
    font-size: 1.25rem;
}

.ctn-detail-boundaries-grid p {
    max-width: 340px;
    color: #a9a9a9;
    font-size: .84rem;
    line-height: 1.7;
}

.ctn-detail-boundaries-grid small {
    display: block;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
    color: #d8e1dc;
    font-size: .68rem;
    font-weight: 650;
    letter-spacing: .02em;
}

.ctn-detail-comparison {
    background: #f5f5f3;
}

.ctn-detail-comparison-head {
    display: grid;
    grid-template-columns: .6fr 1.1fr .8fr;
    align-items: end;
    gap: clamp(2rem, 5vw, 5rem);
    margin-bottom: 4rem;
}

.ctn-detail-comparison-head h2 {
    margin-top: 0;
}

.ctn-detail-comparison-head > p:last-child {
    color: #6b6b6b;
    font-size: .88rem;
    line-height: 1.7;
}

.ctn-detail-comparison-table {
    border-top: 1px solid #111;
    border-bottom: 1px solid #111;
}

.ctn-detail-comparison-row {
    display: grid;
    min-height: 82px;
    grid-template-columns: .7fr 1.15fr 1.15fr;
    align-items: center;
    border-bottom: 1px solid #cfcfcd;
}

.ctn-detail-comparison-row:last-child {
    border-bottom: 0;
}

.ctn-detail-comparison-row > * {
    padding: 1rem 1.4rem;
}

.ctn-detail-comparison-row > *:first-child {
    padding-left: 0;
}

.ctn-detail-comparison-row > * + * {
    border-left: 1px solid #d4d4d1;
}

.ctn-detail-comparison-row span {
    color: #747474;
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ctn-detail-comparison-row strong {
    color: #111;
    font-size: 1.05rem;
}

.ctn-detail-comparison-row p {
    color: #4f4f4f;
    font-size: .85rem;
}

.ctn-detail-comparison-row--head {
    min-height: 68px;
}

.ctn-detail-text-link {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-top: 2rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid #111;
    color: #111;
    font-size: .75rem;
    font-weight: 750;
}

.ctn-detail-text-link svg {
    width: 15px;
    height: 15px;
}

.ctn-detail-process {
    padding: clamp(4.5rem, 6vw, 5.75rem) 0;
}

.ctn-detail-process-head {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .58fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: end;
}

.ctn-detail-process-head h2 {
    max-width: 740px;
    margin-top: 1.35rem;
    font-size: clamp(2.8rem, 3.75vw, 3.9rem);
}

.ctn-detail-process-lead {
    max-width: 410px;
    margin-bottom: .25rem;
    color: var(--text-secondary);
    font-size: .94rem;
    line-height: 1.75;
}

.ctn-detail-process-list {
    display: grid;
    margin-top: clamp(2.35rem, 3vw, 2.75rem);
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--border-strong);
    list-style: none;
}

.ctn-detail-process-list li {
    min-height: 268px;
    padding: 1.35rem clamp(1.25rem, 2.8vw, 2.6rem) 1.7rem;
    border-right: 1px solid var(--border-strong);
}

.ctn-detail-process-list li:first-child {
    padding-left: 0;
}

.ctn-detail-process-list li:last-child {
    border-right: 0;
}

.ctn-detail-step-meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.ctn-detail-step-meta > span {
    color: #8c938e;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ctn-detail-step-meta > svg {
    box-sizing: content-box;
    width: 22px;
    height: 22px;
    padding: .65rem;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    color: var(--primary);
}

.ctn-detail-step-body {
    margin-top: 1.75rem;
}

.ctn-detail-process-list h3 {
    margin-bottom: .85rem;
    color: #111;
    font-size: 1.35rem;
    letter-spacing: -.035em;
}

.ctn-detail-process-list p {
    max-width: 330px;
    color: #717171;
    font-size: .84rem;
    line-height: 1.7;
}

.ctn-detail-step-body small {
    display: block;
    max-width: 330px;
    margin-top: 1.35rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
    color: var(--primary);
    font-size: .61rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ctn-detail-step-details {
    display: grid;
    max-width: 330px;
    margin-top: 1.25rem;
    padding-top: .8rem;
    gap: .45rem;
    border-top: 1px solid var(--border);
}

.ctn-detail-step-details span {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: var(--primary);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .025em;
}

.ctn-detail-step-details span::before {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--accent);
    content: "";
    flex: 0 0 auto;
}

.ctn-detail-faq {
    border-top: 1px solid #dedede;
}

.ctn-detail-faq .ctn-detail-section-heading .ctn-detail-text-link {
    margin-top: 2rem;
}

.ctn-detail-accordion {
    border-top-color: #111;
}

.ctn-detail-accordion article {
    border-bottom-color: #d2d2d2;
}

.ctn-detail-accordion button {
    min-height: 84px;
    padding: 1.3rem 0;
}

.ctn-detail-accordion button span {
    color: #181818;
    font-size: .98rem;
    font-weight: 680;
}

.ctn-detail-accordion button i {
    color: #111;
    font-size: 1.25rem;
    font-style: normal;
    transition: transform var(--ease);
}

.ctn-detail-accordion button[aria-expanded="true"] i {
    transform: rotate(45deg);
}

.ctn-detail-accordion article > div {
    max-width: 720px;
    padding: 0 3rem 1.5rem 0;
    color: #686868;
    font-size: .86rem;
    line-height: 1.7;
}

.ctn-detail-quote {
    padding: clamp(5rem, 8vw, 7.5rem) 0;
    background: #111;
    color: #fff;
}

.ctn-detail-quote-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(430px, 1.15fr);
    align-items: start;
    gap: clamp(3rem, 8vw, 8rem);
}

.ctn-detail-quote .ctn-detail-kicker,
.ctn-detail-quote .ctn-detail-kicker > span {
    color: #a7a7a7;
}

.ctn-detail-quote .ctn-detail-kicker::before {
    background: #8a8a8a;
}

.ctn-detail-quote-copy h2 {
    max-width: 640px;
    color: #fff;
}

.ctn-detail-quote-copy > p:not(.ctn-detail-kicker) {
    max-width: 560px;
    margin-top: 1.5rem;
    color: #aaa;
    font-size: .94rem;
    line-height: 1.75;
}

.ctn-detail-quote-copy ul {
    margin-top: 3rem;
    border-top: 1px solid #3d3d3d;
    list-style: none;
}

.ctn-detail-quote-copy li {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 1rem 0;
    border-bottom: 1px solid #3d3d3d;
    color: #d1d1d1;
    font-size: .78rem;
}

.ctn-detail-quote-copy li svg {
    width: 16px;
    height: 16px;
}

.ctn-detail-form {
    padding: clamp(1.6rem, 3vw, 2.5rem);
    background: #fff;
    color: #111;
}

.ctn-detail-form-head {
    margin-bottom: 1.7rem;
}

.ctn-detail-form-head span {
    color: #777;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ctn-detail-form-head strong {
    display: block;
    margin-top: .55rem;
    color: #111;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    letter-spacing: -.045em;
}

.ctn-detail-form-head p {
    margin-top: .45rem;
    color: #6a6a6a;
    font-size: .78rem;
}

.ctn-detail-form .form-grid input:not([type="checkbox"]),
.ctn-detail-form .form-grid select,
.ctn-detail-form .form-grid textarea,
.ctn-detail-form .form-grid button {
    border-radius: 0;
}

.ctn-detail-form .form-grid input:not([type="checkbox"]),
.ctn-detail-form .form-grid select {
    min-height: 48px;
}

.ctn-detail-form .check {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: .75rem;
    padding-block: .2rem;
}

.ctn-detail-form .check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: 0;
    margin: .08rem 0 0;
    padding: 0;
}

.ctn-detail-form .check > span {
    line-height: 1.55;
}

.ctn-detail-form .form-grid button {
    width: 100%;
    background: #111;
}

.ctn-detail-related {
    padding: clamp(4.5rem, 7vw, 6.5rem) 0;
    border-bottom: 1px solid #d5d5d5;
    background: #fff;
}

.ctn-detail-related > .container {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    align-items: end;
    gap: clamp(3rem, 8vw, 8rem);
}

.ctn-detail-related h2 {
    font-size: clamp(2rem, 3.5vw, 3.4rem);
}

.ctn-detail-related-links {
    border-top: 1px solid #111;
}

.ctn-detail-related-links a {
    display: flex;
    min-height: 96px;
    padding-inline: 1.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #d2d2d2;
    color: #111;
    font-size: 1.05rem;
    font-weight: 680;
    transform: none;
    transition: background-color var(--ease), color var(--ease);
}

.ctn-detail-related-links a:hover {
    padding-inline: 1.25rem;
    background: #f6f6f4;
    transform: none;
}

.ctn-detail-related-links svg {
    width: 18px;
    height: 18px;
    transform: none;
    transition: none;
}

@media (max-width: 1050px) {
    .ctn-detail-hero-grid {
        min-height: 0;
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }

    .ctn-detail-hero-copy h1 {
        font-size: clamp(3.2rem, 7vw, 4.9rem);
    }

    .ctn-detail-hero-media {
        min-height: 590px;
    }

    .ctn-detail-editorial-grid,
    .ctn-detail-comparison-head,
    .ctn-detail-boundaries-title,
    .ctn-detail-process-head,
    .ctn-detail-related > .container {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .ctn-detail-coverage .ctn-detail-editorial-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .ctn-detail-overview .ctn-detail-editorial-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .ctn-detail-editorial-copy {
        padding-top: 0;
    }
}

@media (max-width: 820px) {
    .ctn-detail-hero-grid,
    .ctn-detail-quote-grid {
        grid-template-columns: 1fr;
    }

    .ctn-detail-hero-copy {
        min-height: 520px;
        padding: 3rem 0;
    }

    .ctn-detail-hero-media {
        min-height: min(660px, 112vw);
    }

    .ctn-detail-quote-grid {
        gap: 3.5rem;
    }

    .ctn-detail-boundaries-grid,
    .ctn-detail-process-list {
        grid-template-columns: 1fr;
    }

    .ctn-detail-boundaries-grid article,
    .ctn-detail-process-list li,
    .ctn-detail-boundaries-grid article:first-child,
    .ctn-detail-process-list li:first-child {
        min-height: 0;
        padding: 1.5rem 0 2.5rem;
        border-right: 0;
        border-bottom: 1px solid #3d3d3d;
    }

    .ctn-detail-process-list li,
    .ctn-detail-process-list li:first-child {
        border-bottom-color: #d2d2d2;
    }

    .ctn-detail-boundaries-grid article:last-child,
    .ctn-detail-process-list li:last-child {
        border-bottom: 0;
    }

    .ctn-detail-boundaries-intro > p:last-child {
        margin-top: 1.2rem;
    }

    .ctn-detail-boundaries-grid h3 {
        margin-top: 1.65rem;
    }

    .ctn-detail-boundaries-grid small {
        margin-top: 1.5rem;
    }

    .ctn-detail-step-body {
        margin-top: 1.75rem;
        padding-bottom: 0;
    }

    .ctn-detail-step-meta {
        margin-top: 0;
    }
}

@media (max-width: 620px) {
    .ctn-detail-process-head h2 {
        font-size: clamp(2.35rem, 12vw, 3rem);
    }

    .ctn-detail-overview .ctn-detail-section-heading h2 {
        font-size: clamp(2.35rem, 12vw, 3rem);
    }

    .ctn-detail-coverage .ctn-detail-section-heading h2 {
        font-size: clamp(2.35rem, 12vw, 3rem);
    }

    .ctn-detail-coverage-facts > div {
        grid-template-columns: 110px 1fr;
    }

    .ctn-detail-breadcrumb {
        overflow-x: auto;
        white-space: nowrap;
    }

    .ctn-detail-hero-copy {
        min-height: 490px;
    }

    .ctn-detail-hero-copy h1 {
        font-size: clamp(3rem, 15vw, 4.3rem);
    }

    .ctn-detail-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .ctn-detail-button {
        width: 100%;
    }

    .ctn-detail-facts {
        gap: .55rem;
    }

    .ctn-detail-facts > div {
        padding-inline: .55rem;
    }

    .ctn-detail-facts dd {
        font-size: .68rem;
    }

    .ctn-detail-hero-media figcaption strong {
        font-size: 1.45rem;
    }

    .ctn-detail-coverage-list article {
        min-height: 180px;
        grid-template-columns: 28px 38px 1fr;
        gap: .75rem;
    }

    .ctn-detail-comparison-table {
        overflow-x: auto;
    }

    .ctn-detail-comparison-row {
        min-width: 680px;
    }

    .ctn-detail-quote-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ctn-detail-form {
        padding: 1.25rem;
    }
}

/* FAQ toggle geometry fix: rotate only the plus, never its circle */
.ctn-faq-accordion button > .ctn-faq-accordion-toggle {
    box-sizing: border-box;
    display: grid;
    width: 30px;
    height: 30px;
    min-width: 30px;
    aspect-ratio: 1;
    place-items: center;
    transform: none;
}

.ctn-faq-accordion button[aria-expanded="true"] .ctn-faq-accordion-toggle {
    transform: none;
}

.ctn-faq-accordion button .ctn-faq-accordion-toggle svg {
    width: 13px;
    height: 13px;
    transition: transform .2s ease;
}

.ctn-faq-accordion button[aria-expanded="true"] .ctn-faq-accordion-toggle svg {
    transform: rotate(45deg);
}

.ctn-detail-accordion button i,
.product-content #sss .accordion button i {
    font-size: 0;
    transform: none;
}

.ctn-detail-accordion button i::before,
.product-content #sss .accordion button i::before {
    content: "+";
    font-size: .9rem;
    line-height: 1;
    transition: transform .2s ease;
}

.ctn-detail-accordion button[aria-expanded="true"] i,
.product-content #sss .accordion button[aria-expanded="true"] i {
    transform: none;
}

.ctn-detail-accordion button[aria-expanded="true"] i::before,
.product-content #sss .accordion button[aria-expanded="true"] i::before {
    transform: rotate(45deg);
}

/* Insurance products directory — grouped editorial index */
.ctn-products-directory-page {
    --products-ink: #192522;
    --products-muted: #707975;
    --products-line: #d7dcda;
    --products-soft: #f6f7f5;
    background: #fff;
    color: var(--products-ink);
}

.ctn-products-directory-hero {
    border-bottom: 1px solid var(--products-ink);
    background: #fff;
}

.ctn-products-directory-breadcrumb {
    display: flex;
    align-items: center;
    gap: .48rem;
    min-height: 58px;
    border-bottom: 1px solid var(--products-line);
    color: #858d8a;
    font-size: .7rem;
    font-weight: 650;
}

.ctn-products-directory-breadcrumb a {
    color: var(--products-ink);
}

.ctn-products-directory-breadcrumb svg {
    width: 13px;
    height: 13px;
    stroke-width: 1.6;
}

.ctn-products-directory-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .62fr);
    gap: clamp(4rem, 9vw, 9rem);
    align-items: end;
    padding: clamp(4.7rem, 7.5vw, 7rem) 0;
}

.ctn-products-directory-hero .ctn-kicker span {
    margin-right: .55rem;
    color: #b79d70;
}

.ctn-products-directory-hero h1 {
    max-width: 860px;
    margin: 1.25rem 0 0;
    font-size: clamp(3.7rem, 5.8vw, 5.8rem);
    font-weight: 680;
    letter-spacing: -.075em;
    line-height: .94;
}

.ctn-products-directory-hero h1 em {
    color: #78817d;
    font-style: normal;
    font-weight: 500;
}

.ctn-products-directory-hero-grid > aside > p {
    margin: 0;
    color: var(--products-muted);
    font-size: .86rem;
    line-height: 1.72;
}

.ctn-products-directory-hero-grid dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 2rem 0 0;
    padding-top: 1.15rem;
    border-top: 1px solid var(--products-ink);
}

.ctn-products-directory-hero-grid dl > div {
    display: grid;
    gap: .42rem;
    min-width: 0;
    padding: 0 1rem;
    border-left: 1px solid var(--products-line);
}

.ctn-products-directory-hero-grid dl > div:first-child {
    padding-left: 0;
    border-left: 0;
}

.ctn-products-directory-hero-grid dl > div:last-child {
    padding-right: 0;
}

.ctn-products-directory-hero-grid dt {
    font-size: 1.6rem;
    font-weight: 680;
    letter-spacing: -.05em;
}

.ctn-products-directory-hero-grid dd {
    margin: 0;
    color: #858d89;
    font-size: .52rem;
    font-weight: 750;
    letter-spacing: .07em;
    line-height: 1.4;
    text-transform: uppercase;
}

.ctn-products-category-nav {
    border-bottom: 1px solid var(--products-line);
    background: #fff;
}

.ctn-products-category-nav > .container {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ctn-products-category-nav a {
    display: grid;
    grid-template-columns: 25px 27px 1fr 14px;
    gap: .65rem;
    align-items: center;
    min-height: 92px;
    padding: 0 1rem;
    border-right: 1px solid var(--products-line);
    color: var(--products-ink);
}

.ctn-products-category-nav a:first-child {
    padding-left: 0;
}

.ctn-products-category-nav a:last-child {
    padding-right: 0;
    border-right: 0;
}

.ctn-products-category-nav a:hover {
    background: var(--products-soft);
}

.ctn-products-category-nav a > small {
    color: #b79d70;
    font-size: .52rem;
    font-weight: 800;
}

.ctn-products-category-nav a > svg {
    width: 18px;
    height: 18px;
    color: var(--primary);
    stroke-width: 1.4;
}

.ctn-products-category-nav a > svg:last-child {
    width: 13px;
    height: 13px;
    color: #8b928f;
}

.ctn-products-category-nav a > span {
    display: grid;
    gap: .22rem;
    min-width: 0;
}

.ctn-products-category-nav a strong {
    font-size: .7rem;
}

.ctn-products-category-nav a em {
    color: #8c9490;
    font-size: .54rem;
    font-style: normal;
}

.ctn-products-directory {
    border-bottom: 1px solid var(--products-ink);
    background: #fff;
}

.ctn-products-group {
    display: grid;
    grid-template-columns: minmax(260px, .58fr) minmax(0, 1.42fr);
    gap: clamp(4rem, 9vw, 9rem);
    padding: clamp(5rem, 7.5vw, 7rem) 0;
    border-bottom: 1px solid var(--products-line);
    scroll-margin-top: 105px;
}

.ctn-products-group:last-child {
    border-bottom: 0;
}

.ctn-products-group > header {
    align-self: start;
}

.ctn-products-group-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 390px;
    margin-bottom: 2.3rem;
    padding: .85rem 0;
    border-top: 1px solid var(--products-ink);
    border-bottom: 1px solid var(--products-line);
}

.ctn-products-group-meta span {
    color: #b79d70;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-products-group-meta svg {
    width: 20px;
    height: 20px;
    color: var(--primary);
    stroke-width: 1.4;
}

.ctn-products-group > header > p:first-of-type {
    margin: 0 0 .9rem;
    color: var(--primary);
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.ctn-products-group h2 {
    max-width: 410px;
    margin: 0 0 1.15rem;
    font-size: clamp(2.35rem, 3.5vw, 3.6rem);
    font-weight: 680;
    letter-spacing: -.065em;
    line-height: 1;
}

.ctn-products-group > header > p:last-of-type {
    max-width: 410px;
    margin: 0;
    color: var(--products-muted);
    font-size: .73rem;
    line-height: 1.7;
}

.ctn-products-group > header > a {
    display: inline-flex;
    gap: .75rem;
    align-items: center;
    margin-top: 1.8rem;
    padding-bottom: .42rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: .64rem;
    font-weight: 750;
}

.ctn-products-group > header > a svg {
    width: 14px;
    height: 14px;
}

.ctn-products-group-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    border-top: 1px solid var(--products-ink);
    border-left: 1px solid var(--products-line);
}

.ctn-products-group-list > a {
    display: grid;
    grid-template-columns: 26px 38px minmax(0, 1fr) 16px;
    gap: .75rem;
    align-items: center;
    min-height: 142px;
    padding: 1.1rem;
    border-right: 1px solid var(--products-line);
    border-bottom: 1px solid var(--products-line);
    color: var(--products-ink);
}

.ctn-products-group-list > a:hover {
    background: var(--products-soft);
}

.ctn-products-group-list > a > small {
    align-self: start;
    padding-top: .2rem;
    color: #b79d70;
    font-size: .51rem;
    font-weight: 800;
}

.ctn-products-group-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid var(--products-line);
    border-radius: 50%;
}

.ctn-products-group-icon svg {
    width: 17px;
    height: 17px;
    color: var(--primary);
    stroke-width: 1.5;
}

.ctn-products-group-list > a > span:nth-of-type(2) {
    display: grid;
    gap: .42rem;
    min-width: 0;
}

.ctn-products-group-list strong {
    font-size: .78rem;
    line-height: 1.35;
}

.ctn-products-group-list em {
    display: -webkit-box;
    overflow: hidden;
    color: var(--products-muted);
    font-size: .61rem;
    font-style: normal;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ctn-products-group-list > a > svg {
    width: 14px;
    height: 14px;
    color: var(--primary);
}

.ctn-products-directory-note {
    border-bottom: 1px solid var(--products-ink);
    background: #fff;
}

.ctn-products-directory-note > .container {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    gap: 1rem;
    align-items: center;
    min-height: 110px;
}

.ctn-products-directory-note > .container > svg {
    width: 18px;
    height: 18px;
    color: var(--primary);
}

.ctn-products-directory-note p {
    display: grid;
    gap: .22rem;
    margin: 0;
}

.ctn-products-directory-note p strong {
    font-size: .7rem;
}

.ctn-products-directory-note p span {
    color: var(--products-muted);
    font-size: .62rem;
}

.ctn-products-directory-note a {
    display: inline-flex;
    gap: .8rem;
    align-items: center;
    padding-bottom: .4rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: .66rem;
    font-weight: 750;
}

.ctn-products-directory-note a svg {
    width: 14px;
    height: 14px;
}

@media (max-width: 1050px) {
    .ctn-products-directory-hero-grid,
    .ctn-products-group {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .ctn-products-directory-hero-grid > aside {
        max-width: 680px;
    }

    .ctn-products-category-nav > .container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ctn-products-category-nav a:nth-child(3) {
        border-right: 0;
    }

    .ctn-products-category-nav a:nth-child(-n+3) {
        border-bottom: 1px solid var(--products-line);
    }

    .ctn-products-group > header {
        max-width: 680px;
    }
}

@media (max-width: 700px) {
    .ctn-products-directory-hero-grid {
        padding: 3.5rem 0;
    }

    .ctn-products-directory-hero h1 {
        font-size: clamp(3rem, 13vw, 4.15rem);
    }

    .ctn-products-directory-hero-grid dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ctn-products-directory-hero-grid dl > div:last-child {
        display: none;
    }

    .ctn-products-category-nav > .container,
    .ctn-products-group-list {
        grid-template-columns: 1fr;
    }

    .ctn-products-category-nav a,
    .ctn-products-category-nav a:first-child,
    .ctn-products-category-nav a:last-child {
        min-height: 72px;
        padding: 0;
        border-right: 0;
        border-bottom: 1px solid var(--products-line);
    }

    .ctn-products-group-list > a {
        min-height: 124px;
    }

    .ctn-products-directory-note > .container {
        grid-template-columns: 24px 1fr;
        padding-top: 1.4rem;
        padding-bottom: 1.4rem;
    }

    .ctn-products-directory-note a {
        grid-column: 2;
        width: fit-content;
        margin-top: .4rem;
    }
}

/* Product detail — homepage brand alignment */
.ctn-product-detail {
    background: var(--background);
    color: var(--text-primary);
}

.ctn-detail-hero {
    padding-top: 0;
    border-bottom-color: var(--border);
    background: var(--background);
}

.ctn-detail-breadcrumb {
    padding-block: 1.25rem 1.6rem;
    color: var(--text-secondary);
}

.ctn-detail-breadcrumb a {
    color: var(--text-secondary);
}

.ctn-detail-breadcrumb a:hover,
.ctn-detail-breadcrumb span[aria-current="page"] {
    color: var(--primary);
}

.ctn-detail-hero-grid {
    min-height: min(720px, calc(100vh - 110px));
    grid-template-columns: minmax(0, .92fr) minmax(510px, 1.08fr);
    align-items: center;
    gap: clamp(3.5rem, 7vw, 7rem);
    padding-bottom: clamp(4rem, 7vw, 6.5rem);
}

.ctn-detail-hero-copy {
    min-height: 610px;
    padding: 2.5rem 0 0;
}

.ctn-detail-kicker {
    color: var(--primary);
    letter-spacing: .18em;
}

.ctn-detail-kicker > span {
    color: var(--accent);
}

.ctn-detail-kicker::before {
    background: var(--primary);
}

.ctn-detail-hero-copy h1 {
    margin: 1.45rem 0 1.5rem;
    color: var(--text-primary);
    font-size: clamp(3.35rem, 5.4vw, 4.8rem);
    line-height: .97;
}

.ctn-detail-hero-copy h1 em {
    color: var(--primary);
    font-style: normal;
    font-weight: inherit;
}

.ctn-detail-lead {
    color: var(--text-secondary);
}

.ctn-detail-phone span {
    color: var(--text-secondary);
}

.ctn-detail-phone strong {
    color: var(--primary);
}

.ctn-detail-promises {
    display: grid;
    margin-top: auto;
    padding-top: 1.25rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--border-strong);
    list-style: none;
}

.ctn-detail-promises li {
    display: flex;
    min-width: 0;
    gap: .7rem;
    padding-right: .85rem;
}

.ctn-detail-promises li > svg {
    width: 18px;
    min-width: 18px;
    height: 18px;
    color: var(--primary);
}

.ctn-detail-promises li > span {
    display: grid;
    gap: .35rem;
}

.ctn-detail-promises strong {
    color: var(--text-primary);
    font-size: .74rem;
    line-height: 1.3;
}

.ctn-detail-promises small {
    color: var(--text-secondary);
    font-size: .65rem;
    line-height: 1.4;
}

.ctn-detail-hero-visual {
    position: relative;
    min-width: 0;
    margin: 0;
    border: 1px solid var(--primary);
    background: var(--background);
}

.ctn-detail-hero-visual::before {
    position: absolute;
    z-index: -1;
    top: 16px;
    right: -16px;
    bottom: -16px;
    left: 16px;
    border-right: 1px solid var(--border-strong);
    border-bottom: 1px solid var(--border-strong);
    content: "";
}

.ctn-detail-hero-media {
    height: clamp(390px, 35vw, 485px);
    min-height: 0;
    background: var(--primary-dark);
}

.ctn-detail-hero-media::after {
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 45, 45, .02) 45%, rgba(16, 45, 45, .5) 100%);
}

.ctn-detail-hero-media img {
    object-position: center;
    filter: grayscale(1) contrast(.94) brightness(1.05);
    transform: scale(1.01);
}

.ctn-detail-hero-count {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    display: flex;
    min-width: 150px;
    min-height: 78px;
    align-items: center;
    gap: .75rem;
    padding: 1rem 1.15rem;
    border-top: 3px solid var(--accent);
    background: var(--primary);
    color: #fff;
}

.ctn-detail-hero-count strong {
    font-size: 2rem;
    font-weight: 680;
    line-height: 1;
    letter-spacing: -.05em;
}

.ctn-detail-hero-count small {
    color: #d0dad5;
    font-size: .6rem;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ctn-detail-hero-caption {
    display: grid;
    min-height: 126px;
    grid-template-columns: minmax(250px, 1.1fr) minmax(180px, .9fr);
    align-items: center;
    gap: 1.5rem;
    padding: 1.4rem 1.55rem;
    border-top: 1px solid var(--primary);
    background: var(--background);
}

.ctn-detail-hero-caption > div {
    display: grid;
    gap: .45rem;
}

.ctn-detail-hero-caption > div > span {
    color: var(--primary);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-detail-hero-caption > div > strong {
    color: var(--text-primary);
    font-size: .86rem;
    line-height: 1.45;
}

.ctn-detail-hero-caption ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
    list-style: none;
}

.ctn-detail-hero-caption li {
    display: flex;
    min-height: 39px;
    align-items: center;
    gap: .5rem;
    padding: .45rem .6rem;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    color: #414844;
    font-size: .64rem;
    font-weight: 700;
}

.ctn-detail-hero-caption li svg {
    width: 15px;
    height: 15px;
    color: var(--primary);
}

.ctn-detail-jump,
.ctn-detail-coverage,
.ctn-detail-faq,
.ctn-detail-related {
    border-color: var(--border);
}

.ctn-detail-jump a,
.ctn-detail-editorial-copy > p,
.ctn-detail-section-heading > p:last-child,
.ctn-detail-coverage-list p,
.ctn-detail-comparison-head > p:last-child,
.ctn-detail-process-list p,
.ctn-detail-accordion article > div,
.ctn-detail-related-links a {
    color: var(--text-secondary);
}

.ctn-detail-jump a:hover,
.ctn-detail-text-link,
.ctn-detail-coverage-list article > svg {
    color: var(--primary);
}

.ctn-detail-section-heading h2,
.ctn-detail-comparison-head h2,
.ctn-detail-process-head h2,
.ctn-detail-related h2,
.ctn-detail-coverage-list h3,
.ctn-detail-process-list h3,
.ctn-detail-accordion button span {
    color: var(--text-primary);
}

.ctn-detail-editorial-copy > .ctn-detail-intro {
    color: var(--text-primary);
}

.ctn-detail-note,
.ctn-detail-coverage-list,
.ctn-detail-coverage-list article,
.ctn-detail-process-list,
.ctn-detail-process-list li,
.ctn-detail-accordion,
.ctn-detail-accordion article,
.ctn-detail-related-links,
.ctn-detail-related-links a {
    border-color: var(--border-strong);
}

.ctn-detail-note svg,
.ctn-detail-note strong {
    color: var(--primary);
}

.ctn-detail-boundaries,
.ctn-detail-quote {
    position: relative;
    overflow: hidden;
    background: var(--primary-dark);
}

.ctn-detail-boundaries::before,
.ctn-detail-quote::before {
    position: absolute;
    top: -250px;
    right: -90px;
    width: 500px;
    height: 500px;
    border: 1px solid rgba(255, 255, 255, .07);
    box-shadow: inset 0 0 0 46px var(--primary-dark), inset 0 0 0 47px rgba(255, 255, 255, .06), inset 0 0 0 92px var(--primary-dark), inset 0 0 0 93px rgba(255, 255, 255, .05);
    content: "";
    transform: rotate(45deg);
}

.ctn-detail-boundaries .container,
.ctn-detail-quote .container {
    position: relative;
    z-index: 1;
}

.ctn-detail-boundaries .ctn-detail-kicker,
.ctn-detail-quote .ctn-detail-kicker {
    color: #d8e1dc;
}

.ctn-detail-boundaries .ctn-detail-kicker > span,
.ctn-detail-quote .ctn-detail-kicker > span {
    color: var(--accent);
}

.ctn-detail-boundaries .ctn-detail-kicker::before,
.ctn-detail-quote .ctn-detail-kicker::before {
    background: #d8e1dc;
}

.ctn-detail-boundaries-grid,
.ctn-detail-boundaries-grid article,
.ctn-detail-quote-copy ul,
.ctn-detail-quote-copy li {
    border-color: rgba(255, 255, 255, .2);
}

.ctn-detail-boundaries-grid p,
.ctn-detail-quote-copy > p:not(.ctn-detail-kicker),
.ctn-detail-quote-copy li {
    color: #c5d0ca;
}

.ctn-detail-comparison {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--background);
}

.ctn-detail-dual-compare {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr);
    align-items: stretch;
    border-top: 1px solid var(--primary);
}

.ctn-detail-compare-product {
    padding: 2rem 0 0;
}

.ctn-detail-compare-product header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.ctn-detail-compare-product header span {
    color: var(--primary);
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.ctn-detail-compare-product header h3 {
    margin-top: .7rem;
    color: var(--text-primary);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    letter-spacing: -.05em;
}

.ctn-detail-compare-product header > svg {
    box-sizing: content-box;
    width: 24px;
    height: 24px;
    padding: .8rem;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    color: var(--primary);
}

.ctn-detail-compare-product--traffic header > svg {
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
}

.ctn-detail-compare-summary {
    max-width: 510px;
    min-height: 82px;
    margin-top: 1.5rem;
    color: var(--text-secondary);
    font-size: .9rem;
    line-height: 1.7;
}

.ctn-detail-compare-product dl {
    margin-top: 1.4rem;
    border-top: 1px solid var(--border-strong);
}

.ctn-detail-compare-product dl > div {
    display: grid;
    min-height: 62px;
    grid-template-columns: 135px 1fr;
    align-items: center;
    gap: 1.2rem;
    border-bottom: 1px solid var(--border);
}

.ctn-detail-compare-product dt {
    color: #858c87;
    font-size: .59rem;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ctn-detail-compare-product dd {
    color: var(--text-primary);
    font-size: .82rem;
    font-weight: 620;
}

.ctn-detail-compare-divider {
    position: relative;
    display: grid;
    min-height: 100%;
    place-items: center;
}

.ctn-detail-compare-divider::before {
    position: absolute;
    top: 2rem;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: var(--border-strong);
    content: "";
}

.ctn-detail-compare-divider span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--accent);
    border-radius: 50%;
    background: #fff;
    color: var(--primary);
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ctn-detail-comparison-foot {
    display: flex;
    min-height: 80px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border-bottom: 1px solid var(--primary);
}

.ctn-detail-comparison-foot > p {
    color: var(--text-secondary);
    font-size: .78rem;
}

.ctn-detail-comparison-foot > p strong {
    color: var(--primary);
}

.ctn-detail-comparison-foot .ctn-detail-text-link {
    flex: 0 0 auto;
    margin-top: 0;
}

@media (max-width: 820px) {
    .ctn-detail-dual-compare {
        grid-template-columns: 1fr;
    }

    .ctn-detail-compare-divider {
        min-height: 70px;
    }

    .ctn-detail-compare-divider::before {
        top: 50%;
        right: 0;
        bottom: auto;
        left: 0;
        width: auto;
        height: 1px;
    }

    .ctn-detail-comparison-foot {
        align-items: flex-start;
        flex-direction: column;
        padding-block: 1.5rem;
    }
}

@media (max-width: 520px) {
    .ctn-detail-compare-product dl > div {
        grid-template-columns: 105px 1fr;
    }
}

.ctn-detail-comparison-table {
    border-color: var(--primary);
}

.ctn-detail-comparison-row {
    border-color: var(--border-strong);
}

.ctn-detail-comparison-row > * + * {
    border-color: var(--border-strong);
}

.ctn-detail-comparison-row strong,
.ctn-detail-comparison-row p {
    color: var(--text-primary);
}

.ctn-detail-text-link {
    border-bottom-color: var(--primary);
}

.ctn-detail-form {
    border-top: 3px solid var(--accent);
    background: var(--background);
}

.ctn-detail-form-head span,
.ctn-detail-form-head strong {
    color: var(--primary);
}

.ctn-detail-form .form-grid button {
    background: var(--primary);
}

.ctn-detail-related-links a {
    color: var(--text-primary);
}

.ctn-detail-related-links a:hover {
    background: var(--soft-surface);
    color: var(--primary);
}

@media (max-width: 1050px) {
    .ctn-detail-hero-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ctn-detail-hero-copy {
        min-height: 580px;
    }
}

@media (max-width: 820px) {
    .ctn-detail-hero-grid {
        grid-template-columns: 1fr;
    }

    .ctn-detail-hero-copy {
        min-height: 540px;
    }
}

@media (max-width: 620px) {
    .ctn-detail-promises {
        gap: 1.15rem;
        grid-template-columns: 1fr;
    }

    .ctn-detail-hero-caption {
        grid-template-columns: 1fr;
    }
}

/* About — editorial company profile */
.ctn-about {
    background: var(--background);
    color: var(--text-primary);
}

.ctn-about-hero {
    border-bottom: 1px solid var(--border);
    background: var(--background);
}

.ctn-about-breadcrumb {
    display: flex;
    min-height: 64px;
    align-items: center;
    gap: .55rem;
    border-bottom: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: .69rem;
}

.ctn-about-breadcrumb a {
    transition: color var(--ease);
}

.ctn-about-breadcrumb a:hover,
.ctn-about-breadcrumb span {
    color: var(--primary);
}

.ctn-about-breadcrumb svg {
    width: 13px;
    height: 13px;
}

.ctn-about-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
    align-items: center;
    gap: clamp(3.5rem, 7vw, 7.5rem);
    padding-block: clamp(4rem, 6vw, 5.25rem);
}

.ctn-about-hero-copy {
    display: flex;
    min-height: 540px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
}

.ctn-about-hero-copy .ctn-kicker > span {
    color: var(--accent);
}

.ctn-about-hero-copy h1 {
    max-width: 720px;
    margin: .2rem 0 1.65rem;
    color: var(--text-primary);
    font-size: clamp(3.4rem, 5.45vw, 5rem);
    font-weight: 740;
    line-height: .98;
    letter-spacing: -.065em;
}

.ctn-about-hero-copy h1 em {
    color: var(--primary);
    font-style: normal;
    font-weight: inherit;
}

.ctn-about-hero-copy > p:not(.ctn-kicker) {
    max-width: 620px;
    margin: 0;
    color: var(--text-secondary);
    font-size: .93rem;
    line-height: 1.8;
}

.ctn-about-hero-copy .ctn-about-lead {
    margin-bottom: .75rem !important;
    color: var(--text-primary) !important;
    font-size: 1.08rem !important;
    font-weight: 620;
    line-height: 1.65 !important;
}

.ctn-about-hero-copy .ctn-actions {
    margin-top: 2rem;
}

.ctn-about-hero-facts {
    display: grid;
    width: 100%;
    margin-top: 2.5rem;
    padding-top: 1.35rem;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--border-strong);
}

.ctn-about-hero-facts > div {
    min-width: 0;
    padding: 0 1rem;
    border-left: 1px solid var(--border);
}

.ctn-about-hero-facts > div:first-child {
    padding-left: 0;
    border-left: 0;
}

.ctn-about-hero-facts dt {
    color: var(--primary);
    font-size: .76rem;
    font-weight: 780;
}

.ctn-about-hero-facts dd {
    margin-top: .25rem;
    color: var(--text-secondary);
    font-size: .64rem;
    line-height: 1.45;
}

.ctn-about-hero-visual {
    position: relative;
    min-width: 0;
    margin: 0;
    border: 1px solid var(--primary);
    background: #fff;
}

.ctn-about-hero-visual::before {
    position: absolute;
    z-index: -1;
    top: 16px;
    right: -16px;
    bottom: -16px;
    left: 16px;
    border-right: 1px solid var(--border-strong);
    border-bottom: 1px solid var(--border-strong);
    content: "";
}

.ctn-about-hero-media {
    position: relative;
    height: clamp(430px, 36vw, 525px);
    overflow: hidden;
    background: var(--primary-dark);
}

.ctn-about-hero-media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 45, 45, .03) 45%, rgba(16, 45, 45, .35) 100%);
    content: "";
}

.ctn-about-hero-media picture,
.ctn-about-hero-media img {
    width: 100%;
    height: 100%;
}

.ctn-about-hero-media picture {
    display: block;
}

.ctn-about-hero-media img {
    object-fit: cover;
    object-position: 50% 58%;
    filter: grayscale(.78) contrast(.92) brightness(1.04);
}

.ctn-about-hero-stamp {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    display: flex;
    min-width: 162px;
    min-height: 76px;
    align-items: center;
    gap: .7rem;
    padding: 1rem 1.15rem;
    border-top: 3px solid var(--accent);
    background: var(--primary);
    color: #fff;
}

.ctn-about-hero-stamp svg {
    width: 22px;
    height: 22px;
}

.ctn-about-hero-stamp small {
    font-size: .58rem;
    font-weight: 800;
    line-height: 1.55;
    letter-spacing: .1em;
}

.ctn-about-hero-visual figcaption {
    display: flex;
    min-height: 112px;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.35rem 1.55rem;
    border-top: 1px solid var(--primary);
}

.ctn-about-hero-visual figcaption span {
    color: var(--primary);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.ctn-about-hero-visual figcaption strong {
    color: var(--text-primary);
    font-size: .86rem;
    line-height: 1.5;
}

.ctn-about-manifesto {
    padding-block: clamp(5rem, 7vw, 6.25rem);
    border-bottom: 1px solid var(--border);
}

.ctn-about-manifesto-grid {
    display: grid;
    grid-template-columns: minmax(380px, .84fr) minmax(0, 1.16fr);
    gap: clamp(4rem, 9vw, 9rem);
}

.ctn-about-manifesto h2 {
    color: var(--text-primary);
    font-size: clamp(3rem, 5vw, 4.65rem);
    line-height: .98;
    letter-spacing: -.065em;
}

.ctn-about-manifesto h2 em {
    color: var(--primary);
    font-style: normal;
}

.ctn-about-manifesto-copy {
    padding-top: 3.25rem;
}

.ctn-about-manifesto-lead {
    max-width: 700px;
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(1.35rem, 2.2vw, 1.9rem);
    font-weight: 620;
    line-height: 1.45;
    letter-spacing: -.025em;
}

.ctn-about-manifesto-columns {
    display: grid;
    margin-top: 2.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
}

.ctn-about-manifesto-columns p {
    color: var(--text-secondary);
    font-size: .88rem;
    line-height: 1.8;
}

.ctn-about-manifesto blockquote {
    display: grid;
    margin: 3rem 0 0;
    padding: 1.5rem 0;
    grid-template-columns: 48px 1fr;
    align-items: start;
    border-top: 1px solid var(--border-strong);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-about-manifesto blockquote > span {
    color: var(--accent);
    font-size: 3rem;
    font-weight: 700;
    line-height: .8;
}

.ctn-about-manifesto blockquote p {
    margin: 0;
    color: var(--primary);
    font-size: 1.05rem;
    font-weight: 680;
    line-height: 1.55;
}

.ctn-about-method {
    position: relative;
    overflow: hidden;
    background: var(--primary-dark);
    color: #fff;
    padding-block: clamp(5rem, 7vw, 6.25rem);
}

.ctn-about-method::after {
    position: absolute;
    top: -180px;
    right: -120px;
    width: 440px;
    height: 440px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    content: "";
}

.ctn-about-method-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(310px, .78fr) minmax(0, 1.22fr);
    gap: clamp(4rem, 9vw, 9rem);
}

.ctn-about-method-intro {
    display: flex;
    min-height: 590px;
    align-items: flex-start;
    flex-direction: column;
}

.ctn-about-method-intro h2 {
    margin: .15rem 0 1.35rem;
    color: #fff;
    font-size: clamp(3rem, 4.6vw, 4.2rem);
    line-height: 1;
    letter-spacing: -.06em;
}

.ctn-about-method-intro > p:last-of-type {
    max-width: 430px;
    color: #c5d0ca;
    font-size: .92rem;
    line-height: 1.75;
}

.ctn-about-method-note {
    display: grid;
    width: 100%;
    margin-top: auto;
    padding-top: 1.35rem;
    grid-template-columns: 74px 1fr;
    border-top: 1px solid rgba(255, 255, 255, .25);
}

.ctn-about-method-note span {
    color: var(--accent);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.ctn-about-method-note strong {
    font-size: .85rem;
    line-height: 1.55;
}

.ctn-about-method-list {
    border-top: 1px solid rgba(255, 255, 255, .27);
    list-style: none;
}

.ctn-about-method-list li {
    display: grid;
    min-height: 155px;
    grid-template-columns: 38px 50px 1fr;
    align-items: center;
    gap: 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.ctn-about-method-list li > span {
    align-self: start;
    padding-top: 2.25rem;
    color: var(--accent);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-about-method-list li > svg {
    box-sizing: content-box;
    width: 21px;
    height: 21px;
    padding: .75rem;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    color: #fff;
}

.ctn-about-method-list h3 {
    margin: 0 0 .5rem;
    color: #fff;
    font-size: 1.12rem;
    letter-spacing: -.025em;
}

.ctn-about-method-list p {
    max-width: 590px;
    margin: 0;
    color: #c5d0ca;
    font-size: .82rem;
    line-height: 1.65;
}

.ctn-about-purpose {
    padding-block: clamp(5rem, 7vw, 6.25rem);
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-about-purpose-grid {
    display: grid;
    margin-top: clamp(3rem, 5vw, 4.5rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-about-purpose-grid > article {
    min-width: 0;
    padding: clamp(2rem, 4vw, 3.4rem);
    border-left: 1px solid var(--border-strong);
}

.ctn-about-purpose-grid > article:first-child {
    padding-left: 0;
    border-left: 0;
}

.ctn-about-purpose-grid > article:last-child {
    padding-right: 0;
}

.ctn-about-purpose-grid article > header {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 1rem;
}

.ctn-about-purpose-grid article > header > span {
    padding-top: .25rem;
    color: var(--accent);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-about-purpose-grid article > header p {
    margin: 0 0 .7rem;
    color: var(--primary);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ctn-about-purpose-grid h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: clamp(2rem, 3vw, 2.75rem);
    line-height: 1.05;
    letter-spacing: -.055em;
}

.ctn-about-purpose-grid article > p {
    max-width: 590px;
    margin: 1.7rem 0 2rem 60px;
    color: var(--text-secondary);
    font-size: .86rem;
    line-height: 1.75;
}

.ctn-about-purpose-grid ul {
    margin-left: 60px;
    border-top: 1px solid var(--border-strong);
    list-style: none;
}

.ctn-about-purpose-grid li {
    display: grid;
    min-height: 92px;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid var(--border);
}

.ctn-about-purpose-grid li:last-child {
    border-bottom: 0;
}

.ctn-about-purpose-grid li > svg {
    width: 19px;
    height: 19px;
    color: var(--primary);
}

.ctn-about-purpose-grid li div {
    display: grid;
    gap: .25rem;
}

.ctn-about-purpose-grid li strong {
    color: var(--text-primary);
    font-size: .9rem;
}

.ctn-about-purpose-grid li span {
    color: var(--text-secondary);
    font-size: .74rem;
    line-height: 1.55;
}

.ctn-about-scope {
    padding-block: clamp(5rem, 7vw, 6.25rem);
    border-bottom: 1px solid var(--border);
}

.ctn-about-scope-list {
    border-top: 1px solid var(--primary);
}

.ctn-about-scope-list > a {
    position: relative;
    display: grid;
    min-height: 112px;
    grid-template-columns: 42px 48px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 1.35rem;
    border-bottom: 1px solid var(--border-strong);
    transition: color var(--ease), border-color var(--ease);
}

.ctn-about-scope-list > a > span {
    color: #8b928d;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-about-scope-list > a > svg:first-of-type {
    box-sizing: content-box;
    width: 20px;
    height: 20px;
    padding: .7rem;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    color: var(--primary);
}

.ctn-about-scope-list h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.22rem;
    letter-spacing: -.03em;
}

.ctn-about-scope-list > a > div {
    display: grid;
    grid-template-columns: minmax(160px, .42fr) minmax(280px, 1fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}

.ctn-about-scope-list p {
    max-width: 650px;
    margin: 0;
    color: var(--text-secondary);
    font-size: .8rem;
    line-height: 1.65;
}

.ctn-about-scope-list > a > svg:last-child {
    width: 17px;
    height: 17px;
    color: var(--primary);
}

.ctn-about-scope-list > a:hover {
    border-bottom-color: var(--primary);
}

.ctn-about-scope-list > a:hover h3 {
    color: var(--primary);
}

.ctn-about-principles {
    background: #fff;
    padding-block: clamp(5rem, 7vw, 6.25rem);
}

.ctn-about-principles-grid {
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    gap: clamp(4rem, 9vw, 9rem);
}

.ctn-about-principles header h2 {
    color: var(--text-primary);
    font-size: clamp(3rem, 4.8vw, 4.35rem);
    line-height: .98;
    letter-spacing: -.065em;
}

.ctn-about-principles header > p:last-child {
    margin-top: 1.5rem;
    color: var(--text-secondary);
    font-size: .9rem;
}

.ctn-about-principles dl {
    border-top: 1px solid var(--primary);
}

.ctn-about-principles dl > div {
    display: grid;
    min-height: 112px;
    grid-template-columns: 220px 1fr;
    align-items: center;
    gap: 2rem;
    border-bottom: 1px solid var(--border-strong);
}

.ctn-about-principles dt {
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 740;
}

.ctn-about-principles dt span {
    display: inline-block;
    width: 42px;
    color: var(--accent);
    font-size: .58rem;
    letter-spacing: .1em;
}

.ctn-about-principles dd {
    max-width: 520px;
    color: var(--text-secondary);
    font-size: .82rem;
    line-height: 1.65;
}

.ctn-about-contact {
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-about-contact-grid {
    display: grid;
    min-height: 260px;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    align-items: center;
    gap: clamp(3rem, 8vw, 8rem);
}

.ctn-about-contact h2 {
    max-width: 780px;
    color: var(--text-primary);
    font-size: clamp(2.4rem, 4vw, 3.45rem);
    line-height: 1.06;
    letter-spacing: -.055em;
}

.ctn-about-contact-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2rem;
}

.ctn-about-contact-phone {
    display: grid;
    flex: 0 0 auto;
    gap: .35rem;
}

.ctn-about-contact-phone span {
    color: var(--text-secondary);
    font-size: .6rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ctn-about-contact-phone strong {
    color: var(--primary);
    font-size: 1rem;
}

@media (max-width: 1100px) {
    .ctn-about-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr);
        gap: 3.5rem;
    }

    .ctn-about-manifesto-grid,
    .ctn-about-method-grid,
    .ctn-about-principles-grid {
        gap: 4rem;
    }

    .ctn-about-contact-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .ctn-about-scope-list > a > div {
        grid-template-columns: minmax(140px, .4fr) minmax(240px, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 860px) {
    .ctn-about-hero-grid,
    .ctn-about-manifesto-grid,
    .ctn-about-method-grid,
    .ctn-about-principles-grid,
    .ctn-about-contact-grid {
        grid-template-columns: 1fr;
    }

    .ctn-about-hero-copy,
    .ctn-about-method-intro {
        min-height: 0;
    }

    .ctn-about-hero-copy {
        padding-top: 1rem;
    }

    .ctn-about-hero-facts {
        margin-top: 3rem;
    }

    .ctn-about-hero-media {
        height: min(720px, 112vw);
    }

    .ctn-about-manifesto-copy {
        padding-top: 0;
    }

    .ctn-about-method-intro {
        padding-bottom: 3rem;
    }

    .ctn-about-method-note {
        margin-top: 3rem;
    }

    .ctn-about-scope-list > a {
        grid-template-columns: 36px 46px minmax(0, 1fr) 22px;
        gap: 1rem;
    }

    .ctn-about-contact-grid {
        min-height: 0;
        padding-block: 4rem;
    }

    .ctn-about-contact-actions {
        align-items: center;
        flex-direction: row;
        justify-content: flex-start;
    }

    .ctn-about-purpose-grid {
        grid-template-columns: 1fr;
    }

    .ctn-about-purpose-grid > article,
    .ctn-about-purpose-grid > article:first-child,
    .ctn-about-purpose-grid > article:last-child {
        padding: 2.6rem 0;
        border-left: 0;
        border-top: 1px solid var(--border-strong);
    }

    .ctn-about-purpose-grid > article:first-child {
        border-top: 0;
    }
}

@media (max-width: 620px) {
    .ctn-about-breadcrumb {
        overflow-x: auto;
        white-space: nowrap;
    }

    .ctn-about-hero-grid {
        gap: 3rem;
        padding-block: 3rem 4rem;
    }

    .ctn-about-hero-copy h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .ctn-about-hero-facts {
        gap: .65rem;
    }

    .ctn-about-hero-facts > div {
        padding-inline: .55rem;
    }

    .ctn-about-hero-facts dt {
        font-size: .68rem;
    }

    .ctn-about-hero-facts dd {
        font-size: .58rem;
    }

    .ctn-about-hero-visual::before {
        display: none;
    }

    .ctn-about-hero-media {
        height: 120vw;
        max-height: 640px;
    }

    .ctn-about-hero-media img {
        object-position: 50% 66%;
    }

    .ctn-about-hero-visual figcaption {
        align-items: flex-start;
        flex-direction: column;
    }

    .ctn-about-manifesto h2,
    .ctn-about-method-intro h2,
    .ctn-about-principles header h2 {
        font-size: clamp(2.7rem, 13vw, 3.5rem);
    }

    .ctn-about-manifesto-columns {
        grid-template-columns: 1fr;
    }

    .ctn-about-method-list li {
        min-height: 0;
        grid-template-columns: 30px 42px 1fr;
        gap: .8rem;
        padding-block: 1.5rem;
    }

    .ctn-about-method-list li > span {
        padding-top: .8rem;
    }

    .ctn-about-method-list li > svg {
        width: 18px;
        height: 18px;
        padding: .6rem;
    }

    .ctn-about-scope-list > a {
        min-height: 142px;
        grid-template-columns: 28px 42px 1fr 18px;
        gap: .7rem;
        padding-block: 1.1rem;
    }

    .ctn-about-scope-list > a > div {
        display: block;
        align-self: center;
    }

    .ctn-about-scope-list p {
        margin-top: .4rem;
        font-size: .7rem;
    }

    .ctn-about-principles dl > div {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: .7rem;
        padding-block: 1.45rem;
    }

    .ctn-about-contact-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .ctn-about-purpose-grid article > header {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .ctn-about-purpose-grid article > p,
    .ctn-about-purpose-grid ul {
        margin-left: 0;
    }

    .ctn-about-purpose-grid article > p {
        margin-top: 1.35rem;
    }

    .ctn-about-purpose-grid h3 {
        font-size: clamp(2rem, 10vw, 2.65rem);
    }
}

/* Insurer directory — A–Z sector index */
.ctn-insurers {
    background: #fff;
    color: var(--text-primary);
}

.ctn-insurers-hero {
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-insurers-breadcrumb {
    display: flex;
    min-height: 64px;
    align-items: center;
    gap: .55rem;
    border-bottom: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: .69rem;
}

.ctn-insurers-breadcrumb a {
    transition: color var(--ease);
}

.ctn-insurers-breadcrumb a:hover,
.ctn-insurers-breadcrumb span {
    color: var(--primary);
}

.ctn-insurers-breadcrumb svg {
    width: 13px;
    height: 13px;
}

.ctn-insurers-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(430px, .72fr);
    align-items: center;
    gap: clamp(4rem, 9vw, 9rem);
    padding-block: clamp(4rem, 6vw, 5.5rem);
}

.ctn-insurers-hero-copy .ctn-kicker > span {
    color: var(--accent);
}

.ctn-insurers-hero-copy h1 {
    max-width: 790px;
    margin: .2rem 0 1.6rem;
    color: var(--text-primary);
    font-size: clamp(3.6rem, 5.9vw, 5.35rem);
    font-weight: 740;
    line-height: .96;
    letter-spacing: -.07em;
}

.ctn-insurers-hero-copy h1 em {
    color: var(--primary);
    font-style: normal;
    font-weight: inherit;
}

.ctn-insurers-hero-copy > p:not(.ctn-kicker):not(.ctn-insurers-hero-note) {
    max-width: 650px;
    margin: 0;
    color: var(--text-secondary);
    font-size: 1rem;
    line-height: 1.8;
}

.ctn-insurers-hero-copy .ctn-actions {
    margin-top: 2.1rem;
}

.ctn-insurers-hero-note {
    display: grid;
    max-width: 680px;
    margin: 2.2rem 0 0;
    padding-top: 1.2rem;
    grid-template-columns: 20px 1fr;
    gap: .7rem;
    border-top: 1px solid var(--border-strong);
    color: var(--text-secondary);
    font-size: .7rem;
    line-height: 1.6;
}

.ctn-insurers-hero-note svg {
    width: 17px;
    height: 17px;
    color: var(--primary);
}

.ctn-insurers-index-card {
    position: relative;
    min-height: 320px;
    padding: 2rem;
    border: 1px solid var(--border-strong);
    background: #fff;
    color: var(--text-primary);
}

.ctn-insurers-index-card::before,
.ctn-insurers-index-card::after {
    display: none;
}

.ctn-insurers-index-card header,
.ctn-insurers-index-card footer,
.ctn-insurers-index-total,
.ctn-insurers-index-card dl {
    position: relative;
    z-index: 1;
}

.ctn-insurers-index-card header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.ctn-insurers-index-card header span {
    padding-top: .35rem;
    color: var(--primary);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.ctn-insurers-index-card header strong {
    color: var(--text-secondary);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.ctn-insurers-index-total {
    display: grid;
    margin-top: 2.35rem;
    grid-template-columns: 1fr auto;
    align-items: end;
}

.ctn-insurers-index-total > span {
    grid-column: 1 / 3;
    color: var(--text-secondary);
    font-size: .65rem;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ctn-insurers-index-total strong {
    margin-top: .4rem;
    color: var(--primary);
    font-size: clamp(4.25rem, 6.4vw, 5.8rem);
    font-weight: 680;
    line-height: .78;
    letter-spacing: -.08em;
}

.ctn-insurers-index-total small {
    padding-bottom: .2rem;
    color: var(--text-secondary);
    font-size: .68rem;
    line-height: 1.45;
    text-transform: uppercase;
}

.ctn-insurers-index-card dl {
    display: grid;
    margin-top: 2rem;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid var(--border-strong);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-insurers-index-card dl > div {
    padding: 1rem .8rem 1rem 0;
    border-right: 1px solid var(--border);
}

.ctn-insurers-index-card dl > div + div {
    padding-left: .8rem;
}

.ctn-insurers-index-card dl > div:last-child {
    border-right: 0;
}

.ctn-insurers-index-card dt {
    color: var(--text-primary);
    font-size: 1.2rem;
    font-weight: 720;
}

.ctn-insurers-index-card dd {
    margin-top: .25rem;
    color: var(--text-secondary);
    font-size: .56rem;
    line-height: 1.45;
}

.ctn-insurers-index-card footer {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-top: 1.4rem;
    color: var(--text-secondary);
    font-size: .58rem;
    line-height: 1.5;
}

.ctn-insurers-index-card footer svg {
    width: 18px;
    height: 18px;
    color: var(--primary);
}

.ctn-insurer-directory {
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-insurer-tools {
    display: grid;
    grid-template-columns: minmax(340px, .9fr) minmax(0, 1.1fr);
    align-items: stretch;
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
    background: #f7f8f6;
}

.ctn-insurer-tools--search-only {
    grid-template-columns: minmax(0, 1fr);
}

.ctn-insurer-tools--search-only .ctn-insurer-search {
    border-right: 0;
}

.ctn-insurer-search {
    position: relative;
    display: grid;
    min-height: 72px;
    grid-template-columns: 25px 1fr auto;
    align-items: center;
    gap: .8rem;
    padding: 0 1.35rem;
    border-right: 1px solid var(--border-strong);
    background: #fff;
}

.ctn-insurer-search > svg {
    width: 20px;
    height: 20px;
    color: var(--primary);
}

.ctn-insurer-search input {
    min-width: 0;
    height: 100%;
    border: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: .95rem;
    outline: 0;
}

.ctn-insurer-search input::placeholder {
    color: #909691;
}

.ctn-insurer-search button {
    padding: .5rem 0;
    border-bottom: 1px solid var(--primary);
    background: transparent;
    color: var(--primary);
    font-size: .65rem;
    font-weight: 750;
    cursor: pointer;
}

.ctn-insurer-filters {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.ctn-insurer-filters button {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .8rem .65rem;
    border-bottom: 2px solid transparent;
    border-left: 1px solid var(--border);
    background: transparent;
    color: var(--text-secondary);
    font-size: .7rem;
    font-weight: 720;
    cursor: pointer;
    transition: border-color var(--ease), color var(--ease);
}

.ctn-insurer-filters button:first-child {
    border-left: 0;
}

.ctn-insurer-filters button span {
    min-width: 0;
    min-height: 0;
    padding-left: .1rem;
    border: 0;
    color: #8b918c;
    font-size: .55rem;
}

.ctn-insurer-filters button:hover,
.ctn-insurer-filters button.is-active {
    border-bottom-color: var(--primary);
    background: transparent;
    color: var(--primary);
}

.ctn-insurer-filters button.is-active span {
    color: var(--primary);
}

.ctn-insurer-directory-meta {
    display: flex;
    min-height: 78px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.ctn-insurer-directory-meta > p {
    color: var(--text-secondary);
    font-size: .73rem;
}

.ctn-insurer-directory-meta > p strong {
    margin-right: .25rem;
    color: var(--primary);
    font-size: 1rem;
}

.ctn-insurer-order-note {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.ctn-insurer-order-note svg {
    width: 15px;
    height: 15px;
    color: var(--primary);
}

.ctn-insurer-groups {
    display: grid;
    gap: clamp(2.6rem, 5vw, 4.2rem);
}

.ctn-insurer-category-group {
    display: block;
    padding-bottom: clamp(2.6rem, 4vw, 3.5rem);
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
    scroll-margin-top: 110px;
}

.ctn-insurer-category-group > header {
    display: grid;
    min-height: 116px;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    padding: 1.4rem 0;
}

.ctn-insurer-category-number {
    color: var(--accent);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ctn-insurer-category-group > header h3 {
    color: var(--text-primary);
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    line-height: 1.05;
    letter-spacing: -.045em;
}

.ctn-insurer-category-group > header p {
    max-width: 680px;
    margin-top: .45rem;
    color: var(--text-secondary);
    font-size: .7rem;
    line-height: 1.55;
}

.ctn-insurer-category-group > header > strong {
    color: var(--primary);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ctn-insurer-logo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.ctn-insurer-logo-grid > a {
    display: flex;
    min-width: 0;
    min-height: 210px;
    flex-direction: column;
    border: 1px solid var(--border-strong);
    background: #fff;
    transition: border-color var(--ease), background var(--ease);
}

.ctn-insurer-logo-grid > a:hover {
    border-color: var(--primary);
    background: #f8f9f7;
}

.ctn-insurer-logo {
    display: grid;
    min-height: 140px;
    flex: 1;
    place-items: center;
    padding: 1.5rem;
    background: #fbfcfa;
}

.ctn-insurer-logo img {
    width: auto;
    max-width: 82%;
    height: auto;
    max-height: 72px;
    object-fit: contain;
}

.ctn-insurer-card-meta {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1.05rem;
    border-top: 1px solid var(--border);
}

.ctn-insurer-card-meta > span {
    display: grid;
    min-width: 0;
    gap: .25rem;
}

.ctn-insurer-card-meta strong {
    overflow: hidden;
    color: var(--text-primary);
    font-size: .72rem;
    font-weight: 740;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.ctn-insurer-card-meta small {
    color: var(--text-secondary);
    font-size: .55rem;
}

.ctn-insurer-card-meta > svg {
    width: 15px;
    min-width: 15px;
    height: 15px;
    color: var(--primary);
}

.ctn-insurer-empty {
    padding: 5rem 1rem;
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
    text-align: center;
}

.ctn-insurer-empty svg {
    width: 32px;
    height: 32px;
    color: var(--primary);
}

.ctn-insurer-empty h3 {
    margin-top: 1rem;
    color: var(--text-primary);
}

.ctn-insurer-empty p {
    margin-top: .5rem;
    color: var(--text-secondary);
    font-size: .82rem;
}

.ctn-insurer-disclosure {
    display: grid;
    margin-top: 2rem;
    padding: 1.35rem 0;
    grid-template-columns: 25px minmax(0, 1fr) auto;
    align-items: start;
    gap: 1rem;
    border-top: 1px solid var(--border-strong);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-insurer-disclosure > svg {
    width: 20px;
    height: 20px;
    color: var(--primary);
}

.ctn-insurer-disclosure strong {
    color: var(--text-primary);
    font-size: .72rem;
}

.ctn-insurer-disclosure p {
    max-width: 850px;
    margin-top: .35rem;
    color: var(--text-secondary);
    font-size: .68rem;
    line-height: 1.65;
}

.ctn-insurer-disclosure > a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding-bottom: .25rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: .68rem;
    font-weight: 750;
    white-space: nowrap;
}

.ctn-insurer-disclosure > a svg {
    width: 14px;
    height: 14px;
}

.ctn-insurer-evaluation {
    padding-block: clamp(4.25rem, 6vw, 5.75rem);
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-insurer-evaluation .ctn-section-head--split {
    margin-bottom: clamp(2.25rem, 3.5vw, 3rem);
}

.ctn-insurer-evaluation-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
    list-style: none;
}

.ctn-insurer-evaluation-list li {
    display: flex;
    min-height: 220px;
    align-items: flex-start;
    flex-direction: column;
    padding: 1.35rem 1.5rem 1.5rem;
    border-right: 1px solid var(--border-strong);
}

.ctn-insurer-evaluation-list li:last-child {
    border-right: 0;
}

.ctn-insurer-evaluation-list li > span {
    color: var(--accent);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-insurer-evaluation-list li > svg {
    box-sizing: content-box;
    width: 22px;
    height: 22px;
    margin-top: 1.25rem;
    padding: .68rem;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    color: var(--primary);
}

.ctn-insurer-evaluation-list h3 {
    margin-top: 1.65rem;
    color: var(--text-primary);
    font-size: 1.15rem;
}

.ctn-insurer-evaluation-list p {
    margin-top: .65rem;
    color: var(--text-secondary);
    font-size: .75rem;
    line-height: 1.65;
}

.ctn-insurer-contact {
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-insurer-contact-grid {
    display: grid;
    min-height: 270px;
    grid-template-columns: minmax(0, 1.2fr) minmax(350px, .8fr);
    align-items: center;
    gap: clamp(3rem, 8vw, 8rem);
}

.ctn-insurer-contact h2 {
    max-width: 780px;
    color: var(--text-primary);
    font-size: clamp(2.4rem, 4vw, 3.4rem);
    line-height: 1.05;
    letter-spacing: -.055em;
}

.ctn-insurer-contact-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2rem;
}

.ctn-insurer-contact-actions > a:first-child {
    display: grid;
    flex: 0 0 auto;
    gap: .35rem;
}

.ctn-insurer-contact-actions > a:first-child span {
    color: var(--text-secondary);
    font-size: .6rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ctn-insurer-contact-actions > a:first-child strong {
    color: var(--primary);
    font-size: 1rem;
}

@media (max-width: 1100px) {
    .ctn-insurers-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(380px, .76fr);
        gap: 4rem;
    }

    .ctn-insurer-logo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ctn-insurer-tools {
        grid-template-columns: 1fr;
    }

    .ctn-insurer-search {
        border-right: 0;
        border-bottom: 1px solid var(--border-strong);
    }

    .ctn-insurer-contact-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Site-wide FAQ standard — one continuous row system */
.ctn-faq-list,
.ctn-faq-accordion,
.ctn-detail-accordion,
.ctn-claims-faq-list,
.product-content #sss .accordion {
    --site-faq-ink: #192522;
    --site-faq-muted: #707975;
    --site-faq-line: #d7dcda;
    --site-faq-number: #b79d70;
    border-top: 1px solid var(--site-faq-ink);
    background: #fff;
}

.ctn-faq-list article,
.ctn-faq-accordion article,
.ctn-detail-accordion article,
.ctn-claims-faq-list article,
.product-content #sss .accordion article {
    position: relative;
    border-bottom: 1px solid var(--site-faq-line);
    background: #fff;
}

.ctn-faq-list article::before {
    display: none;
}

.ctn-faq-list article.is-open,
.ctn-faq-accordion article.is-open,
.ctn-detail-accordion article.is-open,
.ctn-claims-faq-list article.is-open,
.product-content #sss .accordion article.is-open {
    background: #fff;
}

.ctn-faq-list button,
.ctn-faq-accordion button,
.ctn-claims-faq-list article > button {
    min-height: 84px;
    padding: 1rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-faq-ink);
    box-shadow: none;
}

.ctn-faq-list article:not(.is-open) button:hover,
.ctn-faq-accordion button:hover,
.ctn-claims-faq-list article > button:hover {
    padding-left: 0;
    background: transparent;
}

.ctn-faq-list .ctn-faq-question {
    grid-template-columns: 38px minmax(0, 1fr);
    font-size: .82rem;
    font-weight: 680;
    line-height: 1.45;
}

.ctn-faq-list .ctn-faq-question > small,
.ctn-faq-accordion button > small,
.ctn-claims-faq-list article > button small {
    padding: 0;
    color: var(--site-faq-number);
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.ctn-faq-list .ctn-faq-question em,
.ctn-faq-accordion button em {
    display: none;
}

.ctn-faq-list .ctn-faq-question > span {
    display: block;
}

.ctn-faq-accordion button,
.ctn-claims-faq-list article > button {
    grid-template-columns: 38px minmax(0, 1fr) 30px;
    gap: 1rem;
}

.ctn-faq-accordion button > span {
    display: block;
}

.ctn-faq-accordion button strong,
.ctn-claims-faq-list article > button strong {
    font-size: .82rem;
    font-weight: 680;
    letter-spacing: -.018em;
    line-height: 1.45;
}

.ctn-faq-toggle,
.ctn-faq-accordion-toggle,
.ctn-claims-faq-list article > button > span {
    box-sizing: border-box;
    display: grid;
    width: 30px;
    height: 30px;
    min-width: 30px;
    flex: 0 0 30px;
    place-items: center;
    border: 1px solid var(--site-faq-line);
    border-radius: 50%;
    background: transparent;
    color: var(--site-faq-ink);
}

.ctn-faq-toggle svg,
.ctn-faq-accordion-toggle svg,
.ctn-claims-faq-list article > button svg {
    width: 13px;
    height: 13px;
}

.ctn-faq-list button[aria-expanded="true"] .ctn-faq-toggle,
.ctn-faq-accordion button[aria-expanded="true"] .ctn-faq-accordion-toggle {
    border-color: var(--site-faq-line);
    background: transparent;
    color: var(--site-faq-ink);
}

.ctn-faq-list button[aria-expanded="true"] .ctn-faq-toggle svg,
.ctn-faq-accordion button[aria-expanded="true"] .ctn-faq-accordion-toggle,
.ctn-claims-faq-list article.is-open > button svg {
    transform: rotate(45deg);
}

.ctn-faq-answer p,
.ctn-faq-accordion article > div,
.ctn-claims-faq-list article > div {
    max-width: none;
    padding: 0 46px 1.45rem 38px;
}

.ctn-faq-answer p,
.ctn-faq-accordion article > div p,
.ctn-claims-faq-list article > div p {
    max-width: 720px;
    margin: 0;
    color: var(--site-faq-muted);
    font-size: .71rem;
    line-height: 1.72;
}

.ctn-detail-faq,
.product-content #sss {
    background: #fff;
}

.ctn-detail-accordion,
.product-content #sss .accordion {
    counter-reset: site-faq;
}

.ctn-detail-accordion article,
.product-content #sss .accordion article {
    counter-increment: site-faq;
}

.ctn-detail-accordion button,
.product-content #sss .accordion button {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 30px;
    gap: 1rem;
    align-items: center;
    width: 100%;
    min-height: 84px;
    padding: 1rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-faq-ink);
    box-shadow: none;
    text-align: left;
}

.ctn-detail-accordion button::before,
.product-content #sss .accordion button::before {
    color: var(--site-faq-number);
    content: counter(site-faq, decimal-leading-zero);
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.ctn-detail-accordion button span,
.product-content #sss .accordion button span {
    color: var(--site-faq-ink);
    font-size: .82rem;
    font-weight: 680;
    letter-spacing: -.018em;
    line-height: 1.45;
}

.ctn-detail-accordion button i,
.product-content #sss .accordion button i {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid var(--site-faq-line);
    border-radius: 50%;
    background: transparent;
    color: var(--site-faq-ink);
    font-size: .9rem;
    font-style: normal;
    font-weight: 450;
    line-height: 1;
}

.ctn-detail-accordion article > div,
.product-content #sss .accordion article > div {
    max-width: none;
    padding: 0 46px 1.45rem 38px;
    color: var(--site-faq-muted);
    font-size: .71rem;
    line-height: 1.72;
}

.ctn-detail-accordion article > div p,
.product-content #sss .accordion article > div p {
    max-width: 720px;
    margin: 0;
}

@media (max-width: 620px) {
    .ctn-faq-list .ctn-faq-question {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    .ctn-faq-accordion button,
    .ctn-claims-faq-list article > button,
    .ctn-detail-accordion button,
    .product-content #sss .accordion button {
        grid-template-columns: 28px minmax(0, 1fr) 28px;
        gap: .7rem;
        min-height: 88px;
    }

    .ctn-faq-answer p,
    .ctn-faq-accordion article > div,
    .ctn-claims-faq-list article > div,
    .ctn-detail-accordion article > div,
    .product-content #sss .accordion article > div {
        padding: 0 0 1.4rem 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ctn-faq-toggle svg,
    .ctn-faq-accordion-toggle,
    .ctn-claims-faq-list article > button svg,
    .ctn-detail-accordion button i,
    .product-content #sss .accordion button i {
        transition: none;
    }
}

/* Claims support — guided post-policy process */
.ctn-claims-page {
    --claims-ink: #192522;
    --claims-muted: #6c7571;
    --claims-line: #d8ddda;
    background: #fff;
    color: var(--claims-ink);
}

.ctn-claims-hero {
    border-bottom: 1px solid var(--claims-line);
    background: #fff;
}

.ctn-claims-breadcrumb {
    display: flex;
    align-items: center;
    gap: .48rem;
    min-height: 64px;
    border-bottom: 1px solid var(--claims-line);
    color: #858d8a;
    font-size: .7rem;
    font-weight: 650;
}

.ctn-claims-breadcrumb a {
    color: var(--claims-ink);
}

.ctn-claims-breadcrumb svg {
    width: 13px;
    height: 13px;
    stroke-width: 1.6;
}

.ctn-claims-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: clamp(4rem, 10vw, 10rem);
    align-items: end;
    padding: clamp(4.8rem, 8vw, 7.5rem) 0;
}

.ctn-claims-hero .ctn-kicker span {
    margin-right: .55rem;
    color: #9a8460;
}

.ctn-claims-hero h1 {
    margin: 1.3rem 0 0;
    font-size: clamp(3.5rem, 6vw, 6.1rem);
    font-weight: 680;
    letter-spacing: -.075em;
    line-height: .94;
}

.ctn-claims-hero h1 em {
    color: #7b8380;
    font-style: normal;
    font-weight: 500;
}

.ctn-claims-hero-copy > p {
    margin: 0;
    color: var(--claims-muted);
    font-size: .96rem;
    line-height: 1.72;
}

.ctn-claims-hero-copy > a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .18rem 1rem;
    align-items: center;
    margin-top: 2.2rem;
    padding: 1.15rem 0;
    border-top: 1px solid var(--claims-ink);
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-hero-copy > a span {
    color: #8a928f;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.ctn-claims-hero-copy > a strong {
    font-size: 1.15rem;
}

.ctn-claims-hero-copy > a svg {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 19px;
    height: 19px;
    color: var(--primary);
}

.ctn-claims-safety {
    border-bottom: 1px solid var(--claims-ink);
    background: #fff;
}

.ctn-claims-safety > .container {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    gap: 1rem;
    align-items: center;
    min-height: 82px;
}

.ctn-claims-safety svg {
    width: 20px;
    height: 20px;
    color: var(--primary);
    stroke-width: 1.5;
}

.ctn-claims-safety p {
    display: flex;
    gap: .6rem;
    margin: 0;
    font-size: .75rem;
}

.ctn-claims-safety p span {
    color: #727a77;
}

.ctn-claims-safety small {
    color: #9a8460;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.ctn-claims-first-steps,
.ctn-claims-types {
    padding: clamp(5rem, 8vw, 7.5rem) 0;
    border-bottom: 1px solid var(--claims-line);
    background: #fff;
}

.ctn-claims-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .55fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: end;
    margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.ctn-claims-section-head h2 {
    max-width: 780px;
    margin: .9rem 0 0;
    font-size: clamp(2.7rem, 4.8vw, 4.7rem);
    font-weight: 680;
    letter-spacing: -.068em;
    line-height: .98;
}

.ctn-claims-section-head > p {
    margin: 0;
    color: var(--claims-muted);
    font-size: .84rem;
    line-height: 1.72;
}

.ctn-claims-first-steps ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--claims-ink);
    border-bottom: 1px solid var(--claims-ink);
    list-style: none;
}

.ctn-claims-first-steps li {
    display: grid;
    grid-template-columns: 1fr auto;
    min-height: 255px;
    padding: 1.5rem;
    border-right: 1px solid var(--claims-line);
}

.ctn-claims-first-steps li:first-child {
    padding-left: 0;
}

.ctn-claims-first-steps li:last-child {
    padding-right: 0;
    border-right: 0;
}

.ctn-claims-first-steps li > small {
    color: #9a8460;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-claims-first-steps li > svg {
    width: 20px;
    height: 20px;
    color: var(--primary);
    stroke-width: 1.5;
}

.ctn-claims-first-steps h3 {
    grid-column: 1 / -1;
    align-self: end;
    margin: 2.5rem 0 .7rem;
    font-size: 1.05rem;
    letter-spacing: -.025em;
}

.ctn-claims-first-steps li p {
    grid-column: 1 / -1;
    margin: 0;
    color: #747c79;
    font-size: .72rem;
    line-height: 1.65;
}

.ctn-claims-types > .container > nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 2.5rem;
    border-top: 1px solid var(--claims-ink);
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-types > .container > nav a {
    display: grid;
    grid-template-columns: 30px 1fr 16px;
    gap: .7rem;
    align-items: center;
    min-height: 68px;
    padding: 0 1rem;
    border-right: 1px solid var(--claims-line);
    font-size: .72rem;
    font-weight: 700;
}

.ctn-claims-types > .container > nav a:first-child {
    padding-left: 0;
}

.ctn-claims-types > .container > nav a:last-child {
    padding-right: 0;
    border-right: 0;
}

.ctn-claims-types > .container > nav small {
    color: #9a8460;
    font-size: .53rem;
    letter-spacing: .1em;
}

.ctn-claims-types > .container > nav svg {
    width: 14px;
    height: 14px;
    color: var(--primary);
}

.ctn-claims-type-list {
    border-top: 1px solid var(--claims-ink);
}

.ctn-claims-type-list > article {
    display: grid;
    grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr);
    gap: clamp(3rem, 8vw, 8rem);
    padding: clamp(3rem, 5vw, 4.5rem) 0;
    border-bottom: 1px solid var(--claims-line);
    scroll-margin-top: 105px;
}

.ctn-claims-type-list > article > header {
    display: grid;
    grid-template-columns: 36px 1fr;
    align-content: start;
    align-items: center;
    gap: 1.1rem;
}

.ctn-claims-type-list > article > header small {
    grid-column: 1 / -1;
    color: #9a8460;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-claims-type-list > article > header svg {
    width: 23px;
    height: 23px;
    color: var(--primary);
    stroke-width: 1.4;
}

.ctn-claims-type-list h3 {
    margin: 0;
    font-size: clamp(1.7rem, 2.8vw, 2.65rem);
    letter-spacing: -.05em;
}

.ctn-claims-type-list > article > div > p {
    max-width: 720px;
    margin: 0 0 2.2rem;
    color: #606966;
    font-size: .9rem;
    line-height: 1.78;
}

.ctn-claims-type-list h4 {
    margin: 0 0 .8rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--claims-ink);
    color: var(--primary);
    font-size: .58rem;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.ctn-claims-type-list ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2rem;
    margin: 0;
    padding: 0;
    counter-reset: claim-doc;
    list-style: none;
}

.ctn-claims-type-list li {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: .6rem;
    align-items: center;
    min-height: 62px;
    border-bottom: 1px solid var(--claims-line);
    font-size: .72rem;
    font-weight: 650;
    counter-increment: claim-doc;
}

.ctn-claims-type-list li::before {
    color: #9a8460;
    content: counter(claim-doc, decimal-leading-zero);
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.ctn-claims-type-list aside {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: .8rem;
    margin-top: 1.7rem;
    padding: 1.1rem 0;
    border-top: 1px solid var(--claims-ink);
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-type-list aside svg {
    width: 18px;
    height: 18px;
    color: var(--primary);
}

.ctn-claims-type-list aside p {
    margin: 0;
    color: #747c79;
    font-size: .68rem;
    line-height: 1.6;
}

.ctn-claims-follow {
    padding: clamp(4.5rem, 7vw, 6.5rem) 0;
    border-bottom: 1px solid var(--claims-line);
    background: #fff;
}

.ctn-claims-follow > .container {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: clamp(4rem, 9vw, 9rem);
}

.ctn-claims-follow h2 {
    margin: .8rem 0 0;
    font-size: clamp(2.5rem, 4vw, 4rem);
    letter-spacing: -.06em;
    line-height: 1;
}

.ctn-claims-follow ol {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--claims-ink);
    list-style: none;
}

.ctn-claims-follow li {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 1rem;
    min-height: 96px;
    padding: 1.15rem 0;
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-follow li > small {
    padding-top: .15rem;
    color: #9a8460;
    font-size: .55rem;
    font-weight: 800;
}

.ctn-claims-follow li div {
    display: grid;
    gap: .4rem;
}

.ctn-claims-follow li strong {
    font-size: .82rem;
}

.ctn-claims-follow li p {
    margin: 0;
    color: #747c79;
    font-size: .7rem;
    line-height: 1.55;
}

.ctn-claims-contact {
    border-bottom: 1px solid var(--claims-ink);
    background: #fff;
}

.ctn-claims-contact > .container {
    display: grid;
    grid-template-columns: 1.1fr .72fr auto;
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
    min-height: 230px;
}

.ctn-claims-contact h2 {
    margin: .8rem 0 0;
    font-size: clamp(2rem, 3.2vw, 3.2rem);
    letter-spacing: -.055em;
    line-height: 1;
}

.ctn-claims-contact > .container > p {
    margin: 0;
    color: #737b78;
    font-size: .8rem;
    line-height: 1.7;
}

.ctn-claims-contact > .container > div:last-child {
    display: grid;
    min-width: 205px;
}

.ctn-claims-contact a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 50px;
    border-bottom: 1px solid var(--claims-line);
    font-size: .69rem;
    font-weight: 750;
}

.ctn-claims-contact a:first-child {
    border-top: 1px solid var(--claims-ink);
}

.ctn-claims-contact a:hover {
    color: var(--primary);
}

.ctn-claims-contact a svg {
    width: 15px;
    height: 15px;
}

@media (max-width: 900px) {
    .ctn-claims-hero-grid,
    .ctn-claims-section-head,
    .ctn-claims-follow > .container {
        grid-template-columns: 1fr;
        gap: 2.8rem;
    }

    .ctn-claims-hero-copy {
        max-width: 620px;
    }

    .ctn-claims-first-steps ol,
    .ctn-claims-types > .container > nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ctn-claims-first-steps li:nth-child(2) {
        border-right: 0;
    }

    .ctn-claims-first-steps li:nth-child(-n+2) {
        border-bottom: 1px solid var(--claims-line);
    }

    .ctn-claims-type-list > article {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .ctn-claims-contact > .container {
        grid-template-columns: 1fr 1fr;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .ctn-claims-contact > .container > div:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .ctn-claims-breadcrumb {
        min-height: 56px;
    }

    .ctn-claims-hero-grid {
        padding: 3.5rem 0;
    }

    .ctn-claims-hero h1 {
        font-size: clamp(2.9rem, 13vw, 4.2rem);
    }

    .ctn-claims-safety > .container {
        grid-template-columns: 28px 1fr;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .ctn-claims-safety p {
        display: grid;
        gap: .3rem;
    }

    .ctn-claims-safety small {
        grid-column: 2;
    }

    .ctn-claims-first-steps ol,
    .ctn-claims-types > .container > nav,
    .ctn-claims-type-list ul {
        grid-template-columns: 1fr;
    }

    .ctn-claims-first-steps li,
    .ctn-claims-first-steps li:first-child,
    .ctn-claims-first-steps li:last-child {
        min-height: 210px;
        padding: 1.4rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--claims-line);
    }

    .ctn-claims-types > .container > nav a,
    .ctn-claims-types > .container > nav a:first-child,
    .ctn-claims-types > .container > nav a:last-child {
        padding: 0;
        border-right: 0;
        border-bottom: 1px solid var(--claims-line);
    }

    .ctn-claims-contact > .container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .ctn-claims-contact > .container > div:last-child {
        grid-column: auto;
    }
}

/* Claims support v2 — compact, guided and action-led */
.ctn-claims-page {
    --claims-ink: #192522;
    --claims-muted: #707975;
    --claims-line: #d7dcda;
    --claims-soft: #f5f6f4;
    background: #fff;
    color: var(--claims-ink);
}

.ctn-claims-page .ctn-claims-hero {
    border-bottom: 1px solid var(--claims-ink);
    background: #fff;
}

.ctn-claims-page .ctn-claims-breadcrumb {
    min-height: 58px;
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-page .ctn-claims-hero-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .72fr);
    gap: clamp(4rem, 9vw, 9rem);
    align-items: center;
    padding: clamp(4.4rem, 7.5vw, 7rem) 0;
}

.ctn-claims-page .ctn-claims-hero-copy {
    max-width: 760px;
}

.ctn-claims-page .ctn-claims-hero-copy > .ctn-kicker {
    margin: 0;
    color: var(--primary);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .18em;
    line-height: 1.3;
}

.ctn-claims-page .ctn-claims-hero-copy > .ctn-kicker span {
    color: #b79d70;
}

.ctn-claims-page .ctn-claims-hero-copy h1 {
    max-width: 760px;
    margin: 1.25rem 0 1.7rem;
    font-size: clamp(3.7rem, 5.8vw, 5.8rem);
    font-weight: 680;
    letter-spacing: -.075em;
    line-height: .94;
}

.ctn-claims-page .ctn-claims-hero-copy h1 em {
    color: #77807c;
    font-style: normal;
    font-weight: 500;
}

.ctn-claims-page .ctn-claims-hero-copy > p:not(.ctn-kicker) {
    max-width: 600px;
    margin: 0;
    color: var(--claims-muted);
    font-size: .9rem;
    line-height: 1.75;
}

.ctn-claims-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2.2rem;
    align-items: center;
    margin-top: 2.2rem;
}

.ctn-claims-hero-actions a {
    display: inline-flex;
    gap: .85rem;
    align-items: center;
    min-height: 48px;
    color: var(--primary);
    font-size: .72rem;
    font-weight: 750;
}

.ctn-claims-hero-actions a:first-child {
    padding: 0 1.25rem;
    border: 1px solid var(--primary);
    background: var(--primary);
    color: #fff;
}

.ctn-claims-hero-actions a:last-child {
    border-bottom: 1px solid var(--primary);
}

.ctn-claims-hero-actions svg {
    width: 16px;
    height: 16px;
}

.ctn-claims-brief {
    display: grid;
    min-height: 455px;
    padding: 1.65rem;
    border: 1px solid var(--primary);
    background: var(--primary);
    color: #fff;
}

.ctn-claims-brief > header,
.ctn-claims-brief > footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ctn-claims-brief > header {
    align-self: start;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255,255,255,.24);
}

.ctn-claims-brief > header span,
.ctn-claims-brief > footer span {
    color: rgba(255,255,255,.64);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.ctn-claims-brief > header strong {
    color: #c7b28e;
    font-size: .75rem;
}

.ctn-claims-brief > div {
    align-self: center;
}

.ctn-claims-brief > div svg {
    width: 30px;
    height: 30px;
    margin-bottom: 1.2rem;
    stroke-width: 1.35;
}

.ctn-claims-brief > div p {
    margin: 0;
    font-size: clamp(1.7rem, 2.6vw, 2.65rem);
    font-weight: 650;
    letter-spacing: -.05em;
    line-height: 1.05;
}

.ctn-claims-brief > div em {
    color: rgba(255,255,255,.63);
    font-style: normal;
    font-weight: 450;
}

.ctn-claims-brief ol {
    align-self: end;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255,255,255,.24);
    list-style: none;
}

.ctn-claims-brief li {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    min-height: 44px;
    border-bottom: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.82);
    font-size: .65rem;
}

.ctn-claims-brief li span {
    color: #c7b28e;
    font-size: .51rem;
    font-weight: 800;
}

.ctn-claims-brief > footer {
    align-self: end;
    padding-top: 1rem;
}

.ctn-claims-brief > footer strong {
    font-size: 1.25rem;
    letter-spacing: -.03em;
}

.ctn-claims-start,
.ctn-claims-guide {
    padding: clamp(4.8rem, 7vw, 6.8rem) 0;
    border-bottom: 1px solid var(--claims-line);
    background: #fff;
}

.ctn-claims-page .ctn-claims-section-head {
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .52fr);
    gap: clamp(3rem, 8vw, 8rem);
    margin-bottom: 3.4rem;
}

.ctn-claims-page .ctn-claims-section-head h2 {
    margin: .9rem 0 0;
    font-size: clamp(2.8rem, 4.2vw, 4.25rem);
    line-height: .98;
}

.ctn-claims-start-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--claims-ink);
    border-bottom: 1px solid var(--claims-ink);
    list-style: none;
}

.ctn-claims-start-list li {
    display: grid;
    grid-template-columns: 1fr auto;
    min-height: 235px;
    padding: 1.45rem 1.8rem;
    border-right: 1px solid var(--claims-line);
}

.ctn-claims-start-list li:first-child {
    padding-left: 0;
}

.ctn-claims-start-list li:last-child {
    padding-right: 0;
    border-right: 0;
}

.ctn-claims-start-list li > span {
    color: #b79d70;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-claims-start-list li > svg {
    width: 20px;
    height: 20px;
    color: var(--primary);
    stroke-width: 1.45;
}

.ctn-claims-start-list li > div {
    grid-column: 1 / -1;
    align-self: end;
}

.ctn-claims-start-list h3 {
    margin: 0 0 .65rem;
    font-size: 1.12rem;
    letter-spacing: -.035em;
}

.ctn-claims-start-list p {
    max-width: 320px;
    margin: 0;
    color: var(--claims-muted);
    font-size: .71rem;
    line-height: 1.65;
}

.ctn-claims-guide-layout {
    display: grid;
    grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
    gap: clamp(4rem, 9vw, 9rem);
    align-items: start;
}

.ctn-claims-guide-layout > header {
    position: sticky;
    top: 110px;
}

.ctn-claims-guide-layout > header h2 {
    max-width: 440px;
    margin: .9rem 0 1.35rem;
    font-size: clamp(2.8rem, 4.2vw, 4.25rem);
    letter-spacing: -.065em;
    line-height: .98;
}

.ctn-claims-guide-layout > header > p:not(.ctn-kicker) {
    max-width: 420px;
    margin: 0;
    color: var(--claims-muted);
    font-size: .78rem;
    line-height: 1.72;
}

.ctn-claims-guide-layout > header > aside {
    display: grid;
    gap: .55rem;
    margin-top: 2.4rem;
    padding: 1.2rem 0;
    border-top: 1px solid var(--claims-ink);
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-guide-layout > header > aside span {
    color: #b79d70;
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.ctn-claims-guide-layout > header > aside strong {
    max-width: 360px;
    font-size: .8rem;
    line-height: 1.45;
}

.ctn-claims-guide-layout > header > aside small {
    color: var(--claims-muted);
    font-size: .64rem;
    line-height: 1.5;
}

.ctn-claims-accordion {
    border-top: 1px solid var(--claims-ink);
}

.ctn-claims-accordion article {
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-accordion article > button {
    display: grid;
    grid-template-columns: 34px 42px 1fr 28px;
    gap: 1rem;
    align-items: center;
    width: 100%;
    min-height: 98px;
    padding: 1rem 0;
    border: 0;
    background: transparent;
    color: var(--claims-ink);
    text-align: left;
    cursor: pointer;
}

.ctn-claims-accordion article > button > small {
    color: #b79d70;
    font-size: .54rem;
    font-weight: 800;
}

.ctn-claims-accordion article > button > svg {
    width: 20px;
    height: 20px;
    color: var(--primary);
    stroke-width: 1.4;
}

.ctn-claims-accordion article > button > span:nth-of-type(1) {
    display: grid;
    gap: .25rem;
}

.ctn-claims-accordion article > button strong {
    font-size: .96rem;
    letter-spacing: -.025em;
}

.ctn-claims-accordion article > button em {
    color: var(--claims-muted);
    font-size: .64rem;
    font-style: normal;
    font-weight: 450;
}

.ctn-claims-accordion-toggle {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid var(--claims-line);
    border-radius: 50%;
}

.ctn-claims-accordion-toggle svg {
    width: 13px;
    height: 13px;
    transition: transform .2s ease;
}

.ctn-claims-accordion article.is-open .ctn-claims-accordion-toggle svg {
    transform: rotate(45deg);
}

.ctn-claims-accordion article > div {
    padding: .2rem 0 1.7rem 92px;
}

.ctn-claims-accordion article > div > p {
    max-width: 680px;
    margin: 0 0 1.2rem;
    color: #5f6965;
    font-size: .73rem;
    line-height: 1.72;
}

.ctn-claims-accordion ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ctn-claims-accordion li {
    display: grid;
    grid-template-columns: 17px 1fr;
    gap: .45rem;
    align-items: start;
    color: var(--claims-ink);
    font-size: .63rem;
    line-height: 1.45;
}

.ctn-claims-accordion li svg {
    width: 13px;
    height: 13px;
    margin-top: .05rem;
    color: #b79d70;
}

.ctn-claims-accordion article > div > aside {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: .65rem;
    margin-top: 1.35rem;
    padding-top: 1rem;
    border-top: 1px solid var(--claims-line);
    color: var(--claims-muted);
    font-size: .62rem;
    line-height: 1.55;
}

.ctn-claims-accordion article > div > aside svg {
    width: 15px;
    height: 15px;
    color: var(--primary);
}

.ctn-claims-flow {
    padding: clamp(4.2rem, 6vw, 5.6rem) 0;
    border-bottom: 1px solid var(--primary);
    background: var(--primary);
    color: #fff;
}

.ctn-claims-flow > .container {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: clamp(4rem, 9vw, 9rem);
    align-items: end;
}

.ctn-claims-flow header h2 {
    max-width: 500px;
    margin: .8rem 0 0;
    font-size: clamp(2.5rem, 3.8vw, 3.8rem);
    letter-spacing: -.06em;
    line-height: .98;
}

.ctn-claims-flow ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255,255,255,.32);
    border-bottom: 1px solid rgba(255,255,255,.32);
    list-style: none;
}

.ctn-claims-flow li {
    display: grid;
    align-content: space-between;
    min-height: 150px;
    padding: 1rem;
    border-right: 1px solid rgba(255,255,255,.18);
}

.ctn-claims-flow li:last-child {
    border-right: 0;
}

.ctn-claims-flow li span {
    color: #c7b28e;
    font-size: .53rem;
    font-weight: 800;
}

.ctn-claims-flow li strong {
    align-self: end;
    font-size: .75rem;
}

.ctn-claims-flow li small {
    color: rgba(255,255,255,.56);
    font-size: .55rem;
    line-height: 1.4;
}

.ctn-claims-page .ctn-claims-contact {
    border-bottom: 1px solid var(--claims-ink);
    background: #fff;
}

.ctn-claims-page .ctn-claims-contact > .container {
    grid-template-columns: 1.05fr .68fr auto;
    min-height: 220px;
}

.ctn-claims-page .ctn-claims-contact h2 {
    max-width: 570px;
    font-size: clamp(2rem, 3vw, 3rem);
}

@media (max-width: 980px) {
    .ctn-claims-page .ctn-claims-hero-grid,
    .ctn-claims-guide-layout,
    .ctn-claims-flow > .container {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .ctn-claims-brief {
        min-height: 390px;
    }

    .ctn-claims-guide-layout > header {
        position: static;
    }

    .ctn-claims-guide-layout > header > p:not(.ctn-kicker) {
        max-width: 620px;
    }

    .ctn-claims-flow ol {
        max-width: 820px;
    }

    .ctn-claims-page .ctn-claims-contact > .container {
        grid-template-columns: 1fr 1fr;
    }

    .ctn-claims-page .ctn-claims-contact > .container > div:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .ctn-claims-page .ctn-claims-hero-grid {
        padding: 3.5rem 0;
    }

    .ctn-claims-page .ctn-claims-hero-copy h1 {
        font-size: clamp(3rem, 13vw, 4.1rem);
    }

    .ctn-claims-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ctn-claims-hero-actions a {
        justify-content: center;
    }

    .ctn-claims-hero-actions a:last-child {
        align-self: flex-start;
    }

    .ctn-claims-brief {
        min-height: 420px;
        padding: 1.35rem;
    }

    .ctn-claims-page .ctn-claims-section-head {
        grid-template-columns: 1fr;
        gap: 1.4rem;
        margin-bottom: 2.4rem;
    }

    .ctn-claims-start-list {
        grid-template-columns: 1fr;
    }

    .ctn-claims-start-list li,
    .ctn-claims-start-list li:first-child,
    .ctn-claims-start-list li:last-child {
        min-height: 195px;
        padding: 1.3rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--claims-line);
    }

    .ctn-claims-accordion article > button {
        grid-template-columns: 26px 30px 1fr 26px;
        gap: .7rem;
        min-height: 90px;
    }

    .ctn-claims-accordion article > div {
        padding: .2rem 0 1.5rem 56px;
    }

    .ctn-claims-accordion ul {
        grid-template-columns: 1fr;
        gap: .65rem;
    }

    .ctn-claims-flow ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ctn-claims-flow li:nth-child(2) {
        border-right: 0;
    }

    .ctn-claims-flow li:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

    .ctn-claims-page .ctn-claims-contact > .container {
        grid-template-columns: 1fr;
        gap: 1.8rem;
    }

    .ctn-claims-page .ctn-claims-contact > .container > div:last-child {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ctn-claims-accordion-toggle svg {
        transition: none;
    }
}

/* Claims support v3 — form-first claim reporting center */
.ctn-claims-page--report {
    --claims-ink: #192522;
    --claims-muted: #707975;
    --claims-line: #d7dcda;
    background: #fff;
}

.ctn-claims-report {
    border-bottom: 1px solid var(--claims-ink);
    background: #fff;
}

.ctn-claims-report-layout {
    display: grid;
    grid-template-columns: minmax(330px, .76fr) minmax(520px, 1.24fr);
    gap: clamp(4rem, 8vw, 8rem);
    align-items: start;
    padding: clamp(4.5rem, 7vw, 6.8rem) 0;
}

.ctn-claims-report-intro {
    position: sticky;
    top: 110px;
    padding-top: .3rem;
}

.ctn-claims-report-intro > .ctn-kicker {
    margin: 0;
    color: var(--primary);
}

.ctn-claims-report-intro > .ctn-kicker span {
    margin-right: .55rem;
    color: #b79d70;
}

.ctn-claims-report-intro h1 {
    max-width: 680px;
    margin: 1.35rem 0 1.6rem;
    font-size: clamp(3.4rem, 5vw, 5.15rem);
    font-weight: 680;
    letter-spacing: -.074em;
    line-height: .95;
}

.ctn-claims-report-intro h1 em {
    color: #78817d;
    font-style: normal;
    font-weight: 500;
}

.ctn-claims-report-intro > p:not(.ctn-kicker) {
    max-width: 520px;
    margin: 0;
    color: var(--claims-muted);
    font-size: .84rem;
    line-height: 1.72;
}

.ctn-claims-direct {
    margin-top: 2.6rem;
    border-top: 1px solid var(--claims-ink);
}

.ctn-claims-direct > a,
.ctn-claims-direct > p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 70px;
    margin: 0;
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-direct > a span {
    display: grid;
    gap: .35rem;
}

.ctn-claims-direct > a small {
    color: #8a928f;
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.ctn-claims-direct > a strong {
    color: var(--claims-ink);
    font-size: 1.2rem;
    letter-spacing: -.025em;
}

.ctn-claims-direct > a svg,
.ctn-claims-direct > p > svg {
    width: 18px;
    height: 18px;
    color: var(--primary);
}

.ctn-claims-direct > p {
    justify-content: flex-start;
    color: var(--claims-muted);
    font-size: .65rem;
    line-height: 1.5;
}

.ctn-claims-direct > p span {
    display: grid;
    gap: .15rem;
}

.ctn-claims-direct > p strong {
    color: var(--claims-ink);
    font-size: .68rem;
}

.ctn-claims-report-panel {
    padding-left: clamp(2.2rem, 4vw, 4.2rem);
    border-left: 1px solid var(--claims-line);
}

.ctn-claims-report-panel > header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: end;
    padding: 1.1rem 0 1.35rem;
    border-top: 1px solid var(--claims-ink);
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-report-panel > header > div {
    display: grid;
    gap: .65rem;
}

.ctn-claims-report-panel > header span {
    color: var(--primary);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.ctn-claims-report-panel > header h2 {
    margin: 0;
    color: var(--claims-ink);
    font-size: clamp(1.85rem, 2.7vw, 2.55rem);
    font-weight: 670;
    letter-spacing: -.052em;
}

.ctn-claims-report-panel > header > small {
    color: #8b9390;
    font-size: .55rem;
    font-weight: 650;
}

.ctn-claims-report-panel > header > small strong {
    color: #b79d70;
}

.ctn-claims-form.form-grid {
    gap: 1.45rem 1.5rem;
    padding-top: 1.8rem;
}

.ctn-claims-form.form-grid label:not(.check):not(.honeypot) {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.ctn-claims-form.form-grid label > span {
    color: #5e6763;
    font-size: .59rem;
    font-weight: 750;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.ctn-claims-form.form-grid input:not([type="checkbox"]),
.ctn-claims-form.form-grid select,
.ctn-claims-form.form-grid textarea {
    width: 100%;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--claims-line);
    border-radius: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    color: var(--claims-ink);
    font: inherit;
    font-size: .81rem;
}

.ctn-claims-form.form-grid input:not([type="checkbox"]),
.ctn-claims-form.form-grid select {
    height: 49px;
}

.ctn-claims-form.form-grid textarea {
    min-height: 115px;
    padding-top: .65rem;
    resize: vertical;
}

.ctn-claims-form.form-grid input:focus,
.ctn-claims-form.form-grid select:focus,
.ctn-claims-form.form-grid textarea:focus {
    border-color: var(--primary);
    box-shadow: none;
}

.ctn-claims-form.form-grid input::placeholder,
.ctn-claims-form.form-grid textarea::placeholder {
    color: #a4aaa7;
}

.ctn-claims-form .check {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: .75rem;
    align-items: start;
    padding: .75rem 0;
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-form .check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    border-radius: 0;
    accent-color: var(--primary);
}

.ctn-claims-form .check > span {
    color: var(--claims-muted) !important;
    font-size: .63rem !important;
    font-weight: 500 !important;
    line-height: 1.5;
    text-transform: none !important;
}

.ctn-claims-form .check a {
    color: var(--claims-ink);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.ctn-claims-form .field-error {
    color: #a23b32;
    font-size: .61rem;
}

.ctn-claims-form .form-notice {
    padding: .9rem 0;
    border: 0;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-radius: 0;
    background: transparent;
    font-size: .72rem;
}

.ctn-claims-form > button[type="submit"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 56px;
    padding: 0 1.15rem;
    border: 1px solid var(--primary);
    border-radius: 0;
    background: var(--primary);
    box-shadow: none;
    color: #fff;
    font: inherit;
    font-size: .7rem;
    font-weight: 750;
    cursor: pointer;
}

.ctn-claims-form > button[type="submit"]:hover {
    border-color: #101917;
    background: #101917;
}

.ctn-claims-form > button[type="submit"] svg {
    width: 16px;
    height: 16px;
}

.ctn-claims-practical,
.ctn-claims-kit,
.ctn-claims-status {
    padding: clamp(4.8rem, 7vw, 6.8rem) 0;
    border-bottom: 1px solid var(--claims-line);
    background: #fff;
}

.ctn-claims-practical > .container {
    display: grid;
    grid-template-columns: minmax(280px, .6fr) minmax(0, 1.4fr);
    gap: clamp(4rem, 9vw, 9rem);
    align-items: start;
}

.ctn-claims-practical-head h2,
.ctn-claims-kit-layout > header h2,
.ctn-claims-status header h2 {
    margin: .9rem 0 1.25rem;
    font-size: clamp(2.65rem, 4vw, 4rem);
    font-weight: 680;
    letter-spacing: -.066em;
    line-height: .98;
}

.ctn-claims-practical-head > p:not(.ctn-kicker),
.ctn-claims-kit-layout > header > p:not(.ctn-kicker) {
    max-width: 410px;
    margin: 0;
    color: var(--claims-muted);
    font-size: .72rem;
    line-height: 1.7;
}

.ctn-claims-practical-steps {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--claims-ink);
    list-style: none;
}

.ctn-claims-practical-steps li {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 1.3rem;
    min-height: 126px;
    padding: 1.35rem 0;
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-practical-steps li > span {
    padding-top: .15rem;
    color: #b79d70;
    font-size: .54rem;
    font-weight: 800;
}

.ctn-claims-practical-steps li > div {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: .3rem 1rem;
    align-content: center;
}

.ctn-claims-practical-steps li svg {
    grid-row: 1 / span 2;
    width: 20px;
    height: 20px;
    margin-top: .15rem;
    color: var(--primary);
    stroke-width: 1.4;
}

.ctn-claims-practical-steps h3 {
    margin: 0;
    font-size: .96rem;
    letter-spacing: -.025em;
}

.ctn-claims-practical-steps p {
    max-width: 600px;
    margin: 0;
    color: var(--claims-muted);
    font-size: .68rem;
    line-height: 1.55;
}

.ctn-claims-kit-layout {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
    gap: clamp(4rem, 9vw, 9rem);
    align-items: end;
}

.ctn-claims-kit ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--claims-ink);
    border-left: 1px solid var(--claims-line);
    list-style: none;
}

.ctn-claims-kit li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: .35rem .8rem;
    align-content: center;
    min-height: 130px;
    padding: 1.2rem;
    border-right: 1px solid var(--claims-line);
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-kit li > span {
    grid-row: 1 / span 2;
    color: #b79d70;
    font-size: .53rem;
    font-weight: 800;
}

.ctn-claims-kit li strong {
    font-size: .82rem;
}

.ctn-claims-kit li small {
    color: var(--claims-muted);
    font-size: .61rem;
    line-height: 1.45;
}

.ctn-claims-status > .container {
    display: block;
}

.ctn-claims-status header {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .48fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: end;
    margin-bottom: 2.8rem;
}

.ctn-claims-status header h2 {
    max-width: 720px;
    margin-bottom: 0;
}

.ctn-claims-status header > p {
    margin: 0;
    color: var(--claims-muted);
    font-size: .72rem;
    line-height: 1.7;
}

.ctn-claims-status ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--claims-ink);
    border-bottom: 1px solid var(--claims-ink);
    list-style: none;
}

.ctn-claims-status li {
    display: grid;
    align-content: space-between;
    min-height: 132px;
    padding: 1.1rem;
    border-right: 1px solid var(--claims-line);
}

.ctn-claims-status li:last-child {
    border-right: 0;
}

.ctn-claims-status li span {
    color: #b79d70;
    font-size: .53rem;
    font-weight: 800;
}

.ctn-claims-status li strong {
    font-size: .76rem;
    line-height: 1.4;
}

.ctn-claims-status li > div {
    display: grid;
    gap: .35rem;
}

.ctn-claims-status li small {
    color: var(--claims-muted);
    font-size: .57rem;
    line-height: 1.45;
}

.ctn-claims-faq {
    padding: clamp(4.8rem, 7vw, 6.8rem) 0;
    border-bottom: 1px solid var(--claims-ink);
    background: #fff;
}

.ctn-claims-faq-layout {
    display: grid;
    grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr);
    gap: clamp(4rem, 9vw, 9rem);
    align-items: start;
}

.ctn-claims-faq-layout > header h2 {
    max-width: 470px;
    margin: .9rem 0 1.2rem;
    font-size: clamp(2.65rem, 4vw, 4rem);
    font-weight: 680;
    letter-spacing: -.066em;
    line-height: .98;
}

.ctn-claims-faq-layout > header > p:not(.ctn-kicker) {
    max-width: 410px;
    margin: 0;
    color: var(--claims-muted);
    font-size: .72rem;
    line-height: 1.7;
}

.ctn-claims-faq-layout > header > a {
    display: inline-flex;
    gap: .8rem;
    align-items: center;
    margin-top: 2rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: .66rem;
    font-weight: 750;
}

.ctn-claims-faq-layout > header > a svg {
    width: 14px;
    height: 14px;
}

.ctn-claims-faq-list {
    border-top: 1px solid var(--claims-ink);
}

.ctn-claims-faq-list article {
    border-bottom: 1px solid var(--claims-line);
}

.ctn-claims-faq-list article > button {
    display: grid;
    grid-template-columns: 38px 1fr 30px;
    gap: 1rem;
    align-items: center;
    width: 100%;
    min-height: 82px;
    padding: 1rem 0;
    border: 0;
    background: transparent;
    color: var(--claims-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ctn-claims-faq-list article > button small {
    color: #b79d70;
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.ctn-claims-faq-list article > button strong {
    font-size: .82rem;
    font-weight: 680;
    letter-spacing: -.018em;
    line-height: 1.45;
}

.ctn-claims-faq-list article > button > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid var(--claims-line);
    border-radius: 50%;
}

.ctn-claims-faq-list article > button svg {
    width: 13px;
    height: 13px;
    transition: transform .2s ease;
}

.ctn-claims-faq-list article.is-open > button svg {
    transform: rotate(45deg);
}

.ctn-claims-faq-list article > div {
    padding: 0 50px 1.45rem 38px;
}

.ctn-claims-faq-list article > div p {
    max-width: 720px;
    margin: 0;
    color: var(--claims-muted);
    font-size: .71rem;
    line-height: 1.72;
}

@media (max-width: 1050px) {
    .ctn-claims-report-layout {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .ctn-claims-report-intro {
        position: static;
    }

    .ctn-claims-report-intro > p:not(.ctn-kicker) {
        max-width: 650px;
    }

    .ctn-claims-report-panel {
        padding-left: 0;
        border-left: 0;
    }
}

@media (max-width: 820px) {
    .ctn-claims-practical > .container,
    .ctn-claims-kit-layout,
    .ctn-claims-faq-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .ctn-claims-status header {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .ctn-claims-status header > p {
        max-width: 580px;
    }

    .ctn-claims-status ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ctn-claims-status li:nth-child(2) {
        border-right: 0;
    }

    .ctn-claims-status li:nth-child(-n+2) {
        border-bottom: 1px solid var(--claims-line);
    }
}

@media (max-width: 620px) {
    .ctn-claims-report-layout {
        padding: 3.5rem 0;
    }

    .ctn-claims-report-intro h1 {
        font-size: clamp(2.9rem, 13vw, 4rem);
    }

    .ctn-claims-report-panel > header {
        grid-template-columns: 1fr;
        gap: .8rem;
        align-items: start;
    }

    .ctn-claims-form.form-grid {
        grid-template-columns: 1fr;
    }

    .ctn-claims-practical-steps li {
        grid-template-columns: 32px 1fr;
    }

    .ctn-claims-practical-steps li > div {
        grid-template-columns: 30px 1fr;
    }

    .ctn-claims-kit ul,
    .ctn-claims-status ol {
        grid-template-columns: 1fr;
    }

    .ctn-claims-kit li,
    .ctn-claims-status li {
        min-height: 112px;
    }

    .ctn-claims-status li {
        border-right: 0;
        border-bottom: 1px solid var(--claims-line);
    }

    .ctn-claims-faq-list article > button {
        grid-template-columns: 28px 1fr 28px;
        gap: .7rem;
        min-height: 88px;
    }

    .ctn-claims-faq-list article > div {
        padding: 0 0 1.4rem 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ctn-claims-faq-list article > button svg {
        transition: none;
    }
}

/* Contact page — direct, calm and form-led */
.ctn-contact-page {
    --contact-ink: #192522;
    --contact-muted: #6c7571;
    --contact-line: #d8ddda;
    background: #fff;
    color: var(--contact-ink);
}

.ctn-contact-hero {
    border-bottom: 1px solid var(--contact-line);
    background: #fff;
}

.ctn-contact-breadcrumb {
    display: flex;
    align-items: center;
    gap: .48rem;
    min-height: 64px;
    border-bottom: 1px solid var(--contact-line);
    color: #858d8a;
    font-size: .7rem;
    font-weight: 650;
}

.ctn-contact-breadcrumb a {
    color: var(--contact-ink);
}

.ctn-contact-breadcrumb svg {
    width: 13px;
    height: 13px;
    stroke-width: 1.6;
}

.ctn-contact-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: clamp(4rem, 10vw, 10rem);
    align-items: end;
    padding: clamp(4.8rem, 8vw, 7.5rem) 0;
}

.ctn-contact-hero .ctn-kicker span {
    margin-right: .55rem;
    color: #9a8460;
}

.ctn-contact-hero h1 {
    max-width: 850px;
    margin: 1.3rem 0 0;
    font-size: clamp(3.4rem, 5.8vw, 5.9rem);
    font-weight: 680;
    letter-spacing: -.075em;
    line-height: .95;
}

.ctn-contact-hero h1 em {
    color: #7b8380;
    font-style: normal;
    font-weight: 500;
}

.ctn-contact-hero-copy > p {
    margin: 0;
    color: var(--contact-muted);
    font-size: .96rem;
    line-height: 1.72;
}

.ctn-contact-hero-copy > a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .18rem 1rem;
    align-items: center;
    margin-top: 2.2rem;
    padding: 1.15rem 0;
    border-top: 1px solid var(--contact-ink);
    border-bottom: 1px solid var(--contact-line);
}

.ctn-contact-hero-copy > a span {
    color: #8a928f;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.ctn-contact-hero-copy > a strong {
    font-size: 1.15rem;
    letter-spacing: -.025em;
}

.ctn-contact-hero-copy > a svg {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 19px;
    height: 19px;
    color: var(--primary);
    stroke-width: 1.5;
}

.ctn-contact-hero-copy > a.ctn-contact-address strong {
    max-width: 410px;
    font-size: .76rem;
    font-weight: 620;
    line-height: 1.5;
}

.ctn-contact-routes {
    border-bottom: 1px solid var(--contact-ink);
    background: #fff;
}

.ctn-contact-routes > .container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ctn-contact-routes a {
    display: grid;
    grid-template-columns: 34px 1fr 18px;
    gap: 1rem;
    align-items: center;
    min-height: 138px;
    padding: 1.5rem clamp(1.2rem, 3vw, 2.2rem);
    border-right: 1px solid var(--contact-line);
    color: var(--contact-ink);
}

.ctn-contact-routes a:first-child {
    padding-left: 0;
}

.ctn-contact-routes a:last-child {
    padding-right: 0;
    border-right: 0;
}

.ctn-contact-routes a > small {
    color: #9a8460;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-contact-routes a > span {
    display: grid;
    gap: .4rem;
}

.ctn-contact-routes strong {
    font-size: .92rem;
}

.ctn-contact-routes em {
    color: #7d8582;
    font-size: .67rem;
    font-style: normal;
    line-height: 1.45;
}

.ctn-contact-routes a > svg {
    width: 16px;
    height: 16px;
    color: var(--primary);
}

.ctn-contact-routes a:hover strong {
    color: var(--primary);
}

.ctn-contact-form-section {
    padding: clamp(5rem, 9vw, 8.5rem) 0;
    border-bottom: 1px solid var(--contact-ink);
    background: #fff;
    scroll-margin-top: 105px;
}

.ctn-contact-form-layout {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    gap: clamp(4.5rem, 10vw, 10rem);
    align-items: start;
}

.ctn-contact-form-layout > aside {
    position: sticky;
    top: 120px;
}

.ctn-contact-form-layout > aside h2 {
    max-width: 520px;
    margin: 1rem 0 1.4rem;
    font-size: clamp(2.5rem, 4.3vw, 4.35rem);
    font-weight: 680;
    letter-spacing: -.067em;
    line-height: .98;
}

.ctn-contact-form-layout > aside > p:not(.ctn-kicker) {
    max-width: 480px;
    margin: 0;
    color: var(--contact-muted);
    font-size: .86rem;
    line-height: 1.75;
}

.ctn-contact-form-note {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: .8rem;
    margin-top: 2.5rem;
    padding: 1.25rem 0;
    border-top: 1px solid var(--contact-ink);
    border-bottom: 1px solid var(--contact-line);
}

.ctn-contact-form-note svg {
    width: 18px;
    height: 18px;
    color: var(--primary);
    stroke-width: 1.5;
}

.ctn-contact-form-note p {
    display: grid;
    gap: .3rem;
    margin: 0;
}

.ctn-contact-form-note strong {
    font-size: .71rem;
}

.ctn-contact-form-note span {
    color: #7f8784;
    font-size: .65rem;
    line-height: 1.55;
}

.ctn-contact-form-panel {
    border-top: 1px solid var(--contact-ink);
}

.ctn-contact-form-panel > header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: center;
    min-height: 126px;
    padding: 1.45rem 0;
    border-bottom: 1px solid var(--contact-line);
}

.ctn-contact-form-panel > header > div {
    display: grid;
    gap: .55rem;
}

.ctn-contact-form-panel > header span {
    color: #8a928f;
    font-size: .56rem;
    font-weight: 750;
    letter-spacing: .16em;
}

.ctn-contact-form-panel > header h3 {
    margin: 0;
    font-size: clamp(1.8rem, 2.5vw, 2.35rem);
    font-weight: 680;
    letter-spacing: -.045em;
    line-height: 1;
}

.ctn-contact-form-panel > header > p {
    display: flex;
    gap: .45rem;
    align-items: center;
    margin: 0;
    color: #868e8b;
    font-size: .6rem;
    font-weight: 650;
    letter-spacing: .025em;
}

.ctn-contact-form-panel > header > p strong {
    color: #9a8460;
    font-size: .82rem;
}

.ctn-contact-form.form-grid {
    gap: 1.7rem 1.5rem;
    padding-top: 2.2rem;
}

.ctn-contact-form.form-grid label:not(.check):not(.honeypot) {
    gap: .5rem;
}

.ctn-contact-form.form-grid label > span {
    color: #5e6763;
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ctn-contact-form.form-grid input:not([type="checkbox"]),
.ctn-contact-form.form-grid select,
.ctn-contact-form.form-grid textarea {
    width: 100%;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--contact-line);
    border-radius: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    color: var(--contact-ink);
    font: inherit;
    font-size: .85rem;
}

.ctn-contact-form.form-grid input:not([type="checkbox"]),
.ctn-contact-form.form-grid select {
    height: 54px;
}

.ctn-contact-form.form-grid textarea {
    min-height: 140px;
    padding-top: .8rem;
    resize: vertical;
}

.ctn-contact-form.form-grid input:focus,
.ctn-contact-form.form-grid select:focus,
.ctn-contact-form.form-grid textarea:focus {
    border-color: var(--primary);
    box-shadow: none;
}

.ctn-contact-form.form-grid input::placeholder,
.ctn-contact-form.form-grid textarea::placeholder {
    color: #a3aaa7;
}

.ctn-contact-form .check {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: .8rem;
    align-items: start;
    padding: .9rem 0;
    border-bottom: 1px solid var(--contact-line);
}

.ctn-contact-form .check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    border-radius: 0;
    accent-color: var(--primary);
}

.ctn-contact-form .check > span {
    color: #747c79 !important;
    font-size: .66rem !important;
    font-weight: 500 !important;
    line-height: 1.55;
    text-transform: none !important;
}

.ctn-contact-form .check a {
    color: var(--contact-ink);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.ctn-contact-form .field-error {
    color: #a23b32;
    font-size: .62rem;
}

.ctn-contact-form .form-notice {
    padding: 1rem 0;
    border: 0;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-radius: 0;
    background: transparent;
    font-size: .75rem;
}

.ctn-contact-form > button[type="submit"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 58px;
    margin-top: .3rem;
    padding: 0 1.2rem;
    border: 1px solid var(--primary);
    border-radius: 0;
    background: var(--primary);
    color: #fff;
    font: inherit;
    font-size: .72rem;
    font-weight: 750;
    cursor: pointer;
}

.ctn-contact-form > button[type="submit"]:hover {
    background: var(--contact-ink);
    border-color: var(--contact-ink);
}

.ctn-contact-form > button[type="submit"] svg {
    width: 16px;
    height: 16px;
}

.ctn-contact-map {
    padding: clamp(5rem, 9vw, 8rem) 0;
    border-bottom: 1px solid var(--contact-ink);
    background: #fff;
}

.ctn-contact-map-head {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: end;
    margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.ctn-contact-map-head .ctn-kicker span {
    margin-right: .55rem;
    color: #9a8460;
}

.ctn-contact-map-head h2 {
    max-width: 760px;
    margin: 1rem 0 0;
    font-size: clamp(2.9rem, 5vw, 5rem);
    font-weight: 680;
    letter-spacing: -.07em;
    line-height: .98;
}

.ctn-contact-map-head h2 em {
    color: #7b8380;
    font-style: normal;
    font-weight: 500;
}

.ctn-contact-map-head > div:last-child > p {
    margin: 0;
    color: var(--contact-muted);
    font-size: .86rem;
    line-height: 1.75;
}

.ctn-contact-map-head > div:last-child > a {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    margin-top: 1.4rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid var(--contact-ink);
    color: var(--contact-ink);
    font-size: .72rem;
    font-weight: 780;
}

.ctn-contact-map-head > div:last-child > a svg {
    width: 15px;
    height: 15px;
    transition: transform .18s ease;
}

.ctn-contact-map-head > div:last-child > a:hover svg {
    transform: translate(2px, -2px);
}

.ctn-contact-map-frame {
    padding: 12px;
    border: 1px solid #c8d0cc;
    background: #fff;
}

.ctn-contact-map-frame iframe {
    display: block;
    width: 100%;
    height: clamp(410px, 49vw, 610px);
    border: 0;
    filter: none;
}

.ctn-contact-map-frame > footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    align-items: center;
    min-height: 92px;
    padding: 1rem 1.15rem .25rem;
}

.ctn-contact-map-frame > footer > div {
    display: grid;
    min-width: 0;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .85rem;
    align-items: center;
}

.ctn-contact-map-frame > footer > div > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--contact-line);
    border-radius: 50%;
    color: var(--primary);
}

.ctn-contact-map-frame > footer > div > span svg {
    width: 17px;
    height: 17px;
}

.ctn-contact-map-frame > footer p,
.ctn-contact-map-frame > footer strong,
.ctn-contact-map-frame > footer small {
    display: block;
    min-width: 0;
}

.ctn-contact-map-frame > footer p {
    margin: 0;
}

.ctn-contact-map-frame > footer p strong {
    font-size: .8rem;
}

.ctn-contact-map-frame > footer p small {
    max-width: 760px;
    margin-top: .25rem;
    color: var(--contact-muted);
    font-size: .65rem;
    line-height: 1.5;
}

.ctn-contact-map-frame > footer > a {
    display: grid;
    gap: .2rem;
    padding-left: 2rem;
    border-left: 1px solid var(--contact-line);
    color: var(--contact-ink);
}

.ctn-contact-map-frame > footer > a span {
    color: #8a928f;
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ctn-contact-map-frame > footer > a strong {
    font-size: .9rem;
}

@media (max-width: 900px) {
    .ctn-contact-hero-grid {
        grid-template-columns: 1fr;
        gap: 2.8rem;
    }

    .ctn-contact-hero-copy {
        max-width: 620px;
    }

    .ctn-contact-form-layout {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .ctn-contact-form-layout > aside {
        position: static;
    }

    .ctn-contact-map-head {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

@media (max-width: 680px) {
    .ctn-contact-breadcrumb {
        min-height: 56px;
    }

    .ctn-contact-hero-grid {
        padding: 3.5rem 0;
    }

    .ctn-contact-hero h1 {
        font-size: clamp(2.8rem, 13vw, 4.1rem);
    }

    .ctn-contact-routes > .container {
        grid-template-columns: 1fr;
    }

    .ctn-contact-routes a,
    .ctn-contact-routes a:first-child,
    .ctn-contact-routes a:last-child {
        min-height: 104px;
        padding: 1.2rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--contact-line);
    }

    .ctn-contact-form-panel > header {
        grid-template-columns: 1fr;
        gap: 1rem;
        align-items: start;
    }

    .ctn-contact-form.form-grid {
        grid-template-columns: 1fr;
    }

    .ctn-contact-map {
        padding: 4rem 0;
    }

    .ctn-contact-map-head h2 {
        font-size: clamp(2.45rem, 11vw, 3.25rem);
    }

    .ctn-contact-map-frame {
        padding: 7px;
    }

    .ctn-contact-map-frame iframe {
        height: 340px;
    }

    .ctn-contact-map-frame > footer {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1rem .55rem .55rem;
    }

    .ctn-contact-map-frame > footer > a {
        padding: 1rem 0 0;
        border-top: 1px solid var(--contact-line);
        border-left: 0;
    }
}

/* FAQ directory — editorial question and answer page */
.ctn-faq-page {
    --faq-ink: #192522;
    --faq-muted: #6d7572;
    --faq-line: #d8ddda;
    background: #fff;
    color: var(--faq-ink);
}

.ctn-faq-page-hero {
    border-bottom: 1px solid var(--faq-line);
    background: #fff;
}

.ctn-faq-page-breadcrumb {
    display: flex;
    align-items: center;
    gap: .48rem;
    min-height: 64px;
    border-bottom: 1px solid var(--faq-line);
    color: #858d8a;
    font-size: .7rem;
    font-weight: 650;
}

.ctn-faq-page-breadcrumb a {
    color: var(--faq-ink);
}

.ctn-faq-page-breadcrumb svg {
    width: 13px;
    height: 13px;
    stroke-width: 1.6;
}

.ctn-faq-page-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
    gap: clamp(4rem, 10vw, 10rem);
    align-items: end;
    padding: clamp(4.8rem, 8vw, 7.5rem) 0;
}

.ctn-faq-page-hero .ctn-kicker span {
    margin-right: .55rem;
    color: #9a8460;
}

.ctn-faq-page-hero h1 {
    max-width: 850px;
    margin: 1.3rem 0 0;
    font-size: clamp(3.25rem, 5.6vw, 5.7rem);
    font-weight: 680;
    letter-spacing: -.072em;
    line-height: .96;
}

.ctn-faq-page-hero h1 em {
    color: #7b8380;
    font-style: normal;
    font-weight: 500;
}

.ctn-faq-page-intro > p {
    margin: 0;
    color: var(--faq-muted);
    font-size: .98rem;
    line-height: 1.72;
}

.ctn-faq-page-intro dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 2.2rem 0 0;
    padding-top: 1.15rem;
    border-top: 1px solid var(--faq-ink);
}

.ctn-faq-page-intro dl > div {
    display: grid;
    gap: .3rem;
}

.ctn-faq-page-intro dl > div + div {
    padding-left: 1.2rem;
    border-left: 1px solid var(--faq-line);
}

.ctn-faq-page-intro dt {
    font-size: 1.7rem;
    font-weight: 680;
    letter-spacing: -.045em;
}

.ctn-faq-page-intro dd {
    margin: 0;
    color: #838b88;
    font-size: .57rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ctn-faq-directory {
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    border-bottom: 1px solid var(--faq-line);
    background: #fff;
}

.ctn-faq-search {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    min-height: 76px;
    border-top: 1px solid var(--faq-ink);
    border-bottom: 1px solid var(--faq-ink);
    cursor: text;
}

.ctn-faq-search svg {
    width: 20px;
    height: 20px;
    color: var(--primary);
    stroke-width: 1.5;
}

.ctn-faq-search input {
    width: 100%;
    height: 74px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--faq-ink);
    font: inherit;
    font-size: clamp(1.05rem, 1.5vw, 1.3rem);
}

.ctn-faq-search input::placeholder {
    color: #a0a6a3;
}

.ctn-faq-search small {
    color: #8c9390;
    font-size: .6rem;
    letter-spacing: .04em;
}

.ctn-faq-directory-layout {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: clamp(4rem, 8vw, 8rem);
    margin-top: clamp(3.5rem, 6vw, 5.5rem);
}

.ctn-faq-categories {
    position: sticky;
    top: 115px;
    align-self: start;
}

.ctn-faq-categories > div:first-child {
    display: grid;
    gap: .55rem;
    padding-bottom: 1.15rem;
    border-bottom: 1px solid var(--faq-ink);
}

.ctn-faq-categories > div:first-child span {
    color: var(--primary);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.ctn-faq-categories > div:first-child small {
    max-width: 180px;
    color: #858d8a;
    font-size: .65rem;
    line-height: 1.55;
}

.ctn-faq-categories > div:last-child {
    display: grid;
}

.ctn-faq-categories button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 52px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--faq-line);
    border-radius: 0;
    background: transparent;
    color: #747c79;
    font: inherit;
    font-size: .73rem;
    font-weight: 650;
    text-align: left;
    cursor: pointer;
}

.ctn-faq-categories button small {
    color: #a0a6a3;
    font-size: .56rem;
    font-weight: 750;
    letter-spacing: .08em;
}

.ctn-faq-categories button:hover,
.ctn-faq-categories button.is-active {
    color: var(--faq-ink);
}

.ctn-faq-categories button.is-active {
    position: relative;
    font-weight: 780;
}

.ctn-faq-categories button.is-active::before {
    position: absolute;
    top: 50%;
    left: -18px;
    width: 8px;
    height: 1px;
    background: var(--primary);
    content: "";
}

.ctn-faq-results-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.4rem;
}

.ctn-faq-results-head h2 {
    margin: .7rem 0 0;
    font-size: clamp(2rem, 3vw, 3.1rem);
    font-weight: 680;
    letter-spacing: -.055em;
    line-height: 1;
}

.ctn-faq-results-head h2 span {
    color: #9a8460;
}

.ctn-faq-results-head > small {
    max-width: 180px;
    color: #8c9390;
    font-size: .62rem;
    line-height: 1.55;
    text-align: right;
}

.ctn-faq-accordion {
    border-top: 1px solid var(--faq-ink);
}

.ctn-faq-accordion article {
    border-bottom: 1px solid var(--faq-line);
}

.ctn-faq-accordion article[hidden] {
    display: none;
}

.ctn-faq-accordion button {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 1.1rem;
    align-items: center;
    width: 100%;
    min-height: 104px;
    padding: 1.1rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--faq-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ctn-faq-accordion button > small {
    color: #9a8460;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-faq-accordion button > span {
    display: grid;
    gap: .45rem;
}

.ctn-faq-accordion button em {
    color: #8b928f;
    font-size: .55rem;
    font-style: normal;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.ctn-faq-accordion button strong {
    font-size: clamp(.94rem, 1.35vw, 1.16rem);
    font-weight: 680;
    letter-spacing: -.02em;
    line-height: 1.35;
}

.ctn-faq-accordion-toggle {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--faq-line);
    border-radius: 50%;
    color: var(--primary);
    transition: border-color var(--ease), transform var(--ease);
}

.ctn-faq-accordion button:hover .ctn-faq-accordion-toggle {
    border-color: var(--primary);
}

.ctn-faq-accordion button[aria-expanded="true"] .ctn-faq-accordion-toggle {
    border-color: var(--primary);
    transform: rotate(45deg);
}

.ctn-faq-accordion article > div {
    padding: 0 66px 1.8rem 53px;
}

.ctn-faq-accordion article > div p {
    max-width: 690px;
    margin: 0;
    color: #646d69;
    font-size: .86rem;
    line-height: 1.8;
}

.ctn-faq-empty {
    display: grid;
    justify-items: start;
    gap: .55rem;
    padding: 2.5rem 0;
    border-top: 1px solid var(--faq-ink);
    border-bottom: 1px solid var(--faq-line);
}

.ctn-faq-empty[hidden] {
    display: none;
}

.ctn-faq-empty svg {
    width: 24px;
    height: 24px;
    margin-bottom: .5rem;
    color: var(--primary);
}

.ctn-faq-empty strong {
    font-size: 1rem;
}

.ctn-faq-empty p {
    margin: 0;
    color: #7d8582;
    font-size: .76rem;
}

.ctn-faq-contact {
    border-bottom: 1px solid var(--faq-ink);
    background: #fff;
}

.ctn-faq-contact > .container {
    display: grid;
    grid-template-columns: 1.15fr .75fr auto;
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
    min-height: 220px;
}

.ctn-faq-contact h2 {
    margin: .8rem 0 0;
    font-size: clamp(2rem, 3.2vw, 3.2rem);
    font-weight: 680;
    letter-spacing: -.055em;
    line-height: 1;
}

.ctn-faq-contact > .container > p {
    margin: 0;
    color: #737b78;
    font-size: .82rem;
    line-height: 1.7;
}

.ctn-faq-contact > .container > div:last-child {
    display: grid;
    min-width: 190px;
}

.ctn-faq-contact a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    min-height: 48px;
    border-bottom: 1px solid var(--faq-line);
    color: var(--faq-ink);
    font-size: .7rem;
    font-weight: 750;
}

.ctn-faq-contact a:first-child {
    border-top: 1px solid var(--faq-ink);
}

.ctn-faq-contact a:hover {
    color: var(--primary);
}

.ctn-faq-contact a svg {
    width: 15px;
    height: 15px;
}

@media (max-width: 900px) {
    .ctn-faq-page-hero-grid {
        grid-template-columns: 1fr;
        gap: 2.8rem;
    }

    .ctn-faq-page-intro {
        max-width: 620px;
    }

    .ctn-faq-directory-layout {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .ctn-faq-categories {
        position: static;
    }

    .ctn-faq-categories > div:last-child {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ctn-faq-categories button {
        padding: 0 .8rem;
        border-right: 1px solid var(--faq-line);
    }

    .ctn-faq-categories button.is-active::before {
        display: none;
    }

    .ctn-faq-contact > .container {
        grid-template-columns: 1fr 1fr;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .ctn-faq-contact > .container > div:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .ctn-faq-page-breadcrumb {
        min-height: 56px;
    }

    .ctn-faq-page-hero-grid {
        padding: 3.5rem 0;
    }

    .ctn-faq-page-hero h1 {
        font-size: clamp(2.75rem, 13vw, 4rem);
    }

    .ctn-faq-search {
        grid-template-columns: 24px minmax(0, 1fr);
        min-height: 66px;
    }

    .ctn-faq-search input {
        height: 64px;
        font-size: .96rem;
    }

    .ctn-faq-search small {
        display: none;
    }

    .ctn-faq-categories > div:last-child {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ctn-faq-results-head {
        align-items: flex-start;
        flex-direction: column;
        gap: .8rem;
    }

    .ctn-faq-results-head > small {
        text-align: left;
    }

    .ctn-faq-accordion button {
        grid-template-columns: 28px minmax(0, 1fr) 34px;
        gap: .7rem;
        min-height: 92px;
    }

    .ctn-faq-accordion-toggle {
        width: 32px;
        height: 32px;
    }

    .ctn-faq-accordion article > div {
        padding: 0 34px 1.5rem 35px;
    }

    .ctn-faq-contact > .container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .ctn-faq-contact > .container > div:last-child {
        grid-column: auto;
    }
}

/* Blog — editorial insurance guide */
.ctn-blog {
    background: #fff;
    color: var(--text-primary);
}

.ctn-blog-hero {
    border-bottom: 1px solid var(--border-strong);
    background: #fff;
}

.ctn-blog-breadcrumb {
    display: flex;
    min-height: 64px;
    align-items: center;
    gap: .55rem;
    border-bottom: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: .69rem;
}

.ctn-blog-breadcrumb a:hover,
.ctn-blog-breadcrumb span {
    color: var(--primary);
}

.ctn-blog-breadcrumb svg {
    width: 13px;
    height: 13px;
}

.ctn-blog-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, .55fr);
    align-items: end;
    gap: clamp(4rem, 9vw, 9rem);
    padding-block: clamp(4.8rem, 7vw, 6.5rem);
}

.ctn-blog-hero .ctn-kicker > span {
    color: var(--accent);
}

.ctn-blog-hero h1 {
    max-width: 880px;
    margin: 0 0 1.65rem;
    font-size: clamp(3.65rem, 5.8vw, 5.4rem);
    font-weight: 740;
    line-height: .98;
    letter-spacing: -.07em;
}

.ctn-blog-hero h1 em {
    color: var(--primary);
    font-style: normal;
}

.ctn-blog-hero header > p:last-child {
    max-width: 680px;
    color: var(--text-secondary);
    font-size: 1rem;
    line-height: 1.8;
}

.ctn-blog-topics {
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-blog-topics > span {
    display: flex;
    min-height: 44px;
    align-items: center;
    border-bottom: 1px solid var(--border);
    color: var(--primary);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.ctn-blog-topics a {
    display: grid;
    min-height: 60px;
    grid-template-columns: 32px minmax(0, 1fr) 18px;
    align-items: center;
    border-bottom: 1px solid var(--border);
    transition: color var(--ease), background var(--ease);
}

.ctn-blog-topics a:last-child {
    border-bottom: 0;
}

.ctn-blog-topics a:hover {
    background: #f8f9f7;
    color: var(--primary);
}

.ctn-blog-topics small {
    color: var(--accent);
    font-size: .52rem;
    font-weight: 800;
}

.ctn-blog-topics strong {
    font-size: .76rem;
}

.ctn-blog-topics svg {
    width: 15px;
    height: 15px;
}

.ctn-blog-featured,
.ctn-blog-latest {
    border-bottom: 1px solid var(--border-strong);
    background: #fff;
}

.ctn-blog-featured-card {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-blog-featured-media,
.ctn-blog-card-media {
    display: block;
    overflow: hidden;
    background: var(--primary-light);
}

.ctn-blog-featured-media {
    min-height: 500px;
    border-right: 1px solid var(--border-strong);
}

.ctn-blog-featured-media img,
.ctn-blog-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(.6) contrast(.94);
    transition: filter var(--ease);
}

.ctn-blog-featured-media:hover img,
.ctn-blog-card-media:hover img {
    filter: grayscale(.15) contrast(.98);
}

.ctn-blog-featured-card > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.2rem, 4.5vw, 4.25rem);
}

.ctn-blog-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--primary);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ctn-blog-meta small {
    color: var(--text-secondary);
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .06em;
}

.ctn-blog-featured-card h2 {
    max-width: 570px;
    margin: 2.2rem 0 1.25rem;
    font-size: clamp(2.35rem, 3.8vw, 3.45rem);
    line-height: 1.03;
    letter-spacing: -.06em;
}

.ctn-blog-featured-card h2 a:hover,
.ctn-blog-grid h3 a:hover {
    color: var(--primary);
}

.ctn-blog-featured-card > div > p:not(.ctn-blog-meta) {
    max-width: 560px;
    color: var(--text-secondary);
    font-size: .86rem;
    line-height: 1.78;
}

.ctn-blog-read {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .65rem;
    margin-top: 2rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
    font-size: .73rem;
    font-weight: 780;
}

.ctn-blog-read svg {
    width: 15px;
    height: 15px;
}

.ctn-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(3.5rem, 5vw, 5rem) 1.6rem;
}

.ctn-blog-grid article {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding-top: 1rem;
    border-top: 1px solid var(--primary);
}

.ctn-blog-card-media {
    height: 245px;
    margin-bottom: 1.25rem;
}

.ctn-blog-grid .ctn-blog-meta {
    min-height: 30px;
}

.ctn-blog-grid h3 {
    margin: 1.05rem 0 .85rem;
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    line-height: 1.14;
    letter-spacing: -.045em;
}

.ctn-blog-grid article > p:not(.ctn-blog-meta) {
    color: var(--text-secondary);
    font-size: .76rem;
    line-height: 1.7;
}

.ctn-blog-grid .ctn-blog-read {
    margin-top: auto;
    padding-top: 1.6rem;
}

.ctn-blog-guide {
    border-bottom: 1px solid var(--border-strong);
    background: #fff;
}

.ctn-blog-guide-grid {
    display: grid;
    min-height: 300px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .5fr) 170px;
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}

.ctn-blog-guide .ctn-kicker {
    margin-bottom: 1rem;
}

.ctn-blog-guide h2 {
    max-width: 680px;
    font-size: clamp(2.3rem, 3.8vw, 3.35rem);
    line-height: 1.04;
    letter-spacing: -.055em;
}

.ctn-blog-guide-grid > p {
    color: var(--text-secondary);
    font-size: .82rem;
    line-height: 1.75;
}

.ctn-blog-guide-grid > a {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    border: 1px solid var(--primary);
    color: var(--primary);
    font-size: .75rem;
    font-weight: 780;
    transition: background var(--ease), color var(--ease);
}

.ctn-blog-guide-grid > a:hover {
    background: var(--primary);
    color: #fff;
}

.ctn-blog-guide-grid > a svg {
    width: 16px;
    height: 16px;
}

@media (max-width: 960px) {
    .ctn-blog-hero-grid,
    .ctn-blog-featured-card,
    .ctn-blog-guide-grid {
        grid-template-columns: 1fr;
    }

    .ctn-blog-hero-grid {
        gap: 3.5rem;
    }

    .ctn-blog-topics {
        max-width: 680px;
    }

    .ctn-blog-featured-media {
        min-height: 460px;
        border-right: 0;
        border-bottom: 1px solid var(--border-strong);
    }

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

    .ctn-blog-guide-grid {
        min-height: 0;
        gap: 1.5rem;
        padding-block: 4.5rem;
    }

    .ctn-blog-guide-grid > p {
        max-width: 600px;
    }

    .ctn-blog-guide-grid > a {
        width: fit-content;
        padding-inline: 1.2rem;
    }
}

@media (max-width: 620px) {
    .ctn-blog-breadcrumb {
        overflow-x: auto;
        white-space: nowrap;
    }

    .ctn-blog-hero-grid {
        padding-block: 3.5rem 4rem;
    }

    .ctn-blog-hero h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .ctn-blog-featured-media {
        min-height: 0;
        height: 75vw;
        max-height: 420px;
    }

    .ctn-blog-featured-card > div {
        padding: 2rem 0;
    }

    .ctn-blog-grid {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .ctn-blog-card-media {
        height: 62vw;
        max-height: 360px;
    }

    .ctn-blog-guide-grid {
        padding-block: 4rem;
    }
}

/* Mission & Vision — bespoke editorial page */
.ctn-mv {
    background: #fff;
    color: var(--text-primary);
}

.ctn-mv-hero,
.ctn-mv-mission,
.ctn-mv-vision,
.ctn-mv-promise,
.ctn-mv-outlook,
.ctn-mv-next {
    background: #fff;
}

.ctn-mv-hero {
    border-bottom: 1px solid var(--border-strong);
}

.ctn-mv-breadcrumb {
    display: flex;
    min-height: 58px;
    align-items: center;
    gap: .5rem;
    border-bottom: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: .66rem;
}

.ctn-mv-breadcrumb a:hover,
.ctn-mv-breadcrumb span {
    color: var(--primary);
}

.ctn-mv-breadcrumb svg {
    width: 12px;
    height: 12px;
}

.ctn-mv-local-nav {
    display: grid;
    min-height: 72px;
    grid-template-columns: 170px minmax(0, 1fr);
    align-items: stretch;
    border-bottom: 1px solid var(--border);
}

.ctn-mv-local-nav > span {
    display: flex;
    align-items: center;
    border-right: 1px solid var(--border);
    color: var(--primary);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ctn-mv-local-nav > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ctn-mv-local-nav a {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .65rem;
    padding: 0 1.15rem;
    border-right: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: .73rem;
    font-weight: 700;
    transition: color var(--ease), background var(--ease);
}

.ctn-mv-local-nav a:last-child {
    border-right: 0;
}

.ctn-mv-local-nav a::after {
    position: absolute;
    right: 1.15rem;
    bottom: -1px;
    left: 1.15rem;
    height: 2px;
    background: transparent;
    content: "";
}

.ctn-mv-local-nav a:hover,
.ctn-mv-local-nav a.is-active {
    background: #fafaf8;
    color: var(--primary);
}

.ctn-mv-local-nav a.is-active::after {
    background: var(--primary);
}

.ctn-mv-local-nav small {
    color: var(--accent);
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-mv-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(350px, .58fr);
    align-items: end;
    gap: clamp(4rem, 9vw, 9rem);
    padding-block: clamp(4.8rem, 7vw, 6.8rem);
}

.ctn-mv-hero-copy .ctn-kicker > span {
    color: var(--accent);
}

.ctn-mv-hero-copy h1 {
    max-width: 890px;
    margin: 0 0 1.7rem;
    font-size: clamp(3.65rem, 5.9vw, 5.5rem);
    font-weight: 740;
    line-height: .97;
    letter-spacing: -.072em;
}

.ctn-mv-hero-copy h1 em,
.ctn-mv-editorial-grid h2 em,
.ctn-mv-vision-head h2 em,
.ctn-mv-promise h2 em,
.ctn-mv-outlook h2 em {
    color: var(--primary);
    font-style: normal;
}

.ctn-mv-hero-copy > p:last-child {
    max-width: 690px;
    color: var(--text-secondary);
    font-size: 1rem;
    line-height: 1.8;
}

.ctn-mv-direction {
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-mv-direction > header {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--border);
    color: var(--primary);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.ctn-mv-direction > header small {
    color: var(--accent);
}

.ctn-mv-direction li {
    display: grid;
    min-height: 82px;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    border-bottom: 1px solid var(--border);
}

.ctn-mv-direction li:last-child {
    border-bottom: 0;
}

.ctn-mv-direction li > span {
    color: var(--accent);
    font-size: .54rem;
    font-weight: 800;
}

.ctn-mv-direction li div {
    display: grid;
    gap: .25rem;
}

.ctn-mv-direction li strong {
    font-size: .8rem;
}

.ctn-mv-direction li small {
    color: var(--text-secondary);
    font-size: .66rem;
}

.ctn-mv-mission,
.ctn-mv-vision,
.ctn-mv-promise {
    border-bottom: 1px solid var(--border-strong);
}

.ctn-mv-editorial-grid {
    display: grid;
    grid-template-columns: minmax(330px, .78fr) minmax(0, 1fr);
    gap: clamp(4rem, 9vw, 9rem);
}

.ctn-mv-editorial-grid > header {
    align-self: start;
}

.ctn-mv-editorial-grid h2,
.ctn-mv-promise h2 {
    max-width: 620px;
    margin: 0;
    font-size: clamp(3.1rem, 5.1vw, 4.75rem);
    font-weight: 740;
    line-height: .99;
    letter-spacing: -.068em;
}

.ctn-mv-editorial-copy {
    border-top: 1px solid var(--primary);
}

.ctn-mv-lead {
    margin: 0;
    padding: 1.85rem 0 2rem;
    border-bottom: 1px solid var(--border);
    color: var(--text-primary);
    font-size: clamp(1.35rem, 2.25vw, 1.85rem);
    font-weight: 590;
    line-height: 1.42;
    letter-spacing: -.032em;
}

.ctn-mv-copy-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
    padding: 2rem 0 2.5rem;
}

.ctn-mv-copy-columns p,
.ctn-mv-promise-grid > header > p:last-child {
    color: var(--text-secondary);
    font-size: .8rem;
    line-height: 1.75;
}

.ctn-mv-principle-lines {
    border-top: 1px solid var(--primary);
}

.ctn-mv-principle-lines li {
    display: grid;
    min-height: 98px;
    grid-template-columns: 46px minmax(180px, .62fr) minmax(260px, 1fr);
    align-items: center;
    gap: 1.2rem;
    border-bottom: 1px solid var(--border);
}

.ctn-mv-principle-lines li:last-child {
    border-bottom: 0;
}

.ctn-mv-principle-lines span,
.ctn-mv-vision-principles article > span,
.ctn-mv-promise-list li > span {
    color: var(--accent);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.ctn-mv-principle-lines strong {
    font-size: .84rem;
}

.ctn-mv-principle-lines p {
    color: var(--text-secondary);
    font-size: .7rem;
    line-height: 1.65;
}

.ctn-mv-vision-head {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .45fr);
    align-items: end;
    gap: clamp(3rem, 8vw, 8rem);
    margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.ctn-mv-vision-head h2 {
    max-width: 1000px;
    margin: 0;
    font-size: clamp(2.75rem, 4.4vw, 4.15rem);
    font-weight: 730;
    line-height: 1.03;
    letter-spacing: -.063em;
}

.ctn-mv-vision-head > p {
    margin: 0 0 .35rem;
    color: var(--text-secondary);
    font-size: .88rem;
    line-height: 1.75;
}

.ctn-mv-vision-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-mv-vision-principles article {
    display: flex;
    min-height: 270px;
    flex-direction: column;
    padding: 1.5rem 2rem 1.75rem;
    border-right: 1px solid var(--border-strong);
}

.ctn-mv-vision-principles article:first-child {
    padding-left: 0;
}

.ctn-mv-vision-principles article:last-child {
    padding-right: 0;
    border-right: 0;
}

.ctn-mv-vision-principles h3 {
    margin: auto 0 .8rem;
    font-size: 1.3rem;
    letter-spacing: -.035em;
}

.ctn-mv-vision-principles p {
    max-width: 330px;
    color: var(--text-secondary);
    font-size: .74rem;
    line-height: 1.7;
}

.ctn-mv-promise-grid {
    display: grid;
    grid-template-columns: minmax(320px, .7fr) minmax(0, 1fr);
    gap: clamp(4rem, 9vw, 9rem);
}

.ctn-mv-promise-grid > header > p:last-child {
    max-width: 470px;
    margin-top: 1.8rem;
}

.ctn-mv-promise-list {
    border-top: 1px solid var(--primary);
}

.ctn-mv-promise-list li {
    display: grid;
    min-height: 152px;
    grid-template-columns: 42px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 1.25rem;
    border-bottom: 1px solid var(--border);
}

.ctn-mv-promise-list li:last-child {
    border-bottom-color: var(--border-strong);
}

.ctn-mv-promise-list h3 {
    margin: 0 0 .5rem;
    font-size: 1.25rem;
    letter-spacing: -.035em;
}

.ctn-mv-promise-list p {
    max-width: 620px;
    color: var(--text-secondary);
    font-size: .76rem;
    line-height: 1.7;
}

.ctn-mv-promise-list svg {
    width: 18px;
    height: 18px;
    color: var(--primary);
}

.ctn-mv-outlook {
    border-bottom: 1px solid var(--border-strong);
}

.ctn-mv-outlook-grid {
    display: grid;
    min-height: 360px;
    grid-template-columns: 180px minmax(0, 1fr) minmax(280px, .47fr);
    align-items: center;
    gap: clamp(2.5rem, 6vw, 6rem);
}

.ctn-mv-outlook .ctn-kicker {
    margin: 0;
}

.ctn-mv-outlook h2 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(2.6rem, 4.3vw, 3.9rem);
    line-height: 1.02;
    letter-spacing: -.063em;
}

.ctn-mv-outlook-grid > p:last-child {
    color: var(--text-secondary);
    font-size: .84rem;
    line-height: 1.75;
}

.ctn-mv-next {
    border-bottom: 1px solid var(--border-strong);
}

.ctn-mv-next > a {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    transition: color var(--ease);
}

.ctn-mv-next > a:hover {
    color: var(--primary);
}

.ctn-mv-next span {
    display: grid;
    gap: .55rem;
}

.ctn-mv-next small {
    color: var(--text-secondary);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.ctn-mv-next strong {
    font-size: clamp(2.2rem, 3.5vw, 3.1rem);
    letter-spacing: -.055em;
}

.ctn-mv-next svg {
    width: 31px;
    height: 31px;
}

@media (max-width: 980px) {
    .ctn-mv-local-nav {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .ctn-mv-local-nav a {
        justify-content: center;
        padding-inline: .65rem;
        text-align: center;
    }

    .ctn-mv-local-nav small {
        display: none;
    }

    .ctn-mv-hero-grid,
    .ctn-mv-editorial-grid,
    .ctn-mv-promise-grid {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .ctn-mv-direction {
        max-width: 680px;
    }

    .ctn-mv-vision-head,
    .ctn-mv-outlook-grid {
        grid-template-columns: 1fr;
        gap: 1.7rem;
    }

    .ctn-mv-outlook-grid {
        min-height: 0;
        padding-block: 5rem;
    }

    .ctn-mv-outlook-grid > p:last-child {
        max-width: 660px;
    }
}

@media (max-width: 700px) {
    .ctn-mv-breadcrumb {
        overflow-x: auto;
        white-space: nowrap;
    }

    .ctn-mv-local-nav {
        display: block;
        min-height: 0;
        padding-block: .8rem;
        overflow-x: auto;
        white-space: nowrap;
    }

    .ctn-mv-local-nav > span {
        display: none;
    }

    .ctn-mv-local-nav > div {
        display: flex;
        width: max-content;
    }

    .ctn-mv-local-nav a {
        min-height: 42px;
        padding-inline: 1rem;
        border-right: 1px solid var(--border);
    }

    .ctn-mv-local-nav a::after {
        right: 1rem;
        left: 1rem;
    }

    .ctn-mv-hero-grid {
        padding-block: 3.7rem 4rem;
    }

    .ctn-mv-hero-copy h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .ctn-mv-copy-columns,
    .ctn-mv-vision-principles {
        grid-template-columns: 1fr;
    }

    .ctn-mv-copy-columns {
        gap: 1rem;
    }

    .ctn-mv-principle-lines li {
        grid-template-columns: 35px minmax(0, 1fr);
        gap: .65rem;
        padding-block: 1.25rem;
    }

    .ctn-mv-principle-lines p {
        grid-column: 2;
    }

    .ctn-mv-vision-principles article,
    .ctn-mv-vision-principles article:first-child,
    .ctn-mv-vision-principles article:last-child {
        min-height: 190px;
        padding: 1.25rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .ctn-mv-vision-principles article:last-child {
        border-bottom: 0;
    }

    .ctn-mv-promise-list li {
        min-height: 132px;
        grid-template-columns: 32px minmax(0, 1fr);
        gap: .7rem;
        padding-block: 1.1rem;
    }

    .ctn-mv-promise-list svg {
        display: none;
    }

    .ctn-mv-outlook-grid {
        padding-block: 4rem;
    }

    .ctn-mv-next > a {
        min-height: 150px;
    }
}

/* Mission & Vision — uses the About page visual language */
.ctn-mv-vision-list > article {
    display: grid;
    min-height: 112px;
    grid-template-columns: 42px 48px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 1.35rem;
    border-bottom: 1px solid var(--border-strong);
}

.ctn-mv-vision-list > article > span {
    color: #8b928d;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-mv-vision-list > article > svg:first-of-type {
    box-sizing: content-box;
    width: 20px;
    height: 20px;
    padding: .7rem;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    color: var(--primary);
}

.ctn-mv-vision-list > article > div {
    display: grid;
    grid-template-columns: minmax(160px, .42fr) minmax(280px, 1fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}

.ctn-mv-vision-list h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 1.22rem;
    letter-spacing: -.03em;
}

.ctn-mv-vision-list p {
    max-width: 650px;
    margin: 0;
    color: var(--text-secondary);
    font-size: .8rem;
    line-height: 1.65;
}

.ctn-mv-vision-list > article > svg:last-child {
    width: 17px;
    height: 17px;
    color: var(--primary);
}

@media (max-width: 860px) {
    .ctn-mv-vision-list > article {
        grid-template-columns: 36px 46px minmax(0, 1fr) 22px;
        gap: 1rem;
    }

    .ctn-mv-vision-list > article > div {
        grid-template-columns: minmax(140px, .4fr) minmax(240px, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 620px) {
    .ctn-mv-vision-list > article {
        min-height: 142px;
        grid-template-columns: 28px 42px 1fr 18px;
        gap: .7rem;
        padding-block: 1.1rem;
    }

    .ctn-mv-vision-list > article > div {
        display: block;
        align-self: center;
    }

    .ctn-mv-vision-list p {
        margin-top: .4rem;
        font-size: .7rem;
    }
}

/* Human Resources — content-specific proportion fixes */
.ctn-careers-about .ctn-about-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(480px, 1fr);
    gap: clamp(3rem, 6vw, 5.5rem);
}

.ctn-careers-about .ctn-about-hero-copy {
    min-height: 575px;
}

.ctn-careers-about .ctn-about-hero-copy h1 {
    max-width: 660px;
    font-size: clamp(3.15rem, 4.8vw, 4.4rem);
    line-height: 1;
    letter-spacing: -.058em;
}

.ctn-careers-about .ctn-about-hero-visual::before {
    right: 0;
    bottom: -12px;
    left: 12px;
}

.ctn-careers-about .ctn-about-method::after {
    top: -120px;
    right: 0;
    width: 360px;
    height: 360px;
}

.ctn-careers-about .ctn-about-scope-list > article {
    overflow: hidden;
}

@media (max-width: 1100px) {
    .ctn-careers-about .ctn-about-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(430px, .92fr);
        gap: 3.5rem;
    }
}

@media (max-width: 860px) {
    .ctn-careers-about .ctn-about-hero-grid {
        grid-template-columns: 1fr;
    }

    .ctn-careers-about .ctn-about-hero-copy {
        min-height: 0;
    }
}

@media (max-width: 620px) {
    .ctn-careers-about .ctn-about-hero-grid {
        gap: 2.5rem;
        padding-block: 2.7rem 3.5rem;
    }

    .ctn-careers-about .ctn-about-hero-copy h1 {
        font-size: clamp(2.75rem, 12.5vw, 3.25rem);
        line-height: 1.01;
        letter-spacing: -.052em;
    }

    .ctn-careers-about .ctn-about-hero-media {
        height: 106vw;
        max-height: 520px;
    }

    .ctn-careers-about .ctn-about-method::after {
        top: -70px;
        right: 0;
        width: 230px;
        height: 230px;
    }

    .ctn-careers-about .ctn-about-scope-list > article {
        min-height: 154px;
    }
}

.ctn-careers-about #basvuru-sureci dl > div {
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 1.5rem;
}

.ctn-careers-about #basvuru-sureci dt {
    white-space: nowrap;
}

@media (max-width: 620px) {
    .ctn-careers-about #basvuru-sureci dl > div {
        grid-template-columns: 1fr;
        gap: .7rem;
    }

    .ctn-careers-about #basvuru-sureci dt {
        white-space: normal;
    }
}

/* Corporate detail pages */
.ctn-corporate-page {
    background: #fff;
    color: var(--text-primary);
}

.ctn-corporate-page-hero {
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-corporate-page-breadcrumb {
    display: flex;
    min-height: 64px;
    align-items: center;
    gap: .55rem;
    border-bottom: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: .69rem;
}

.ctn-corporate-page-breadcrumb a:hover,
.ctn-corporate-page-breadcrumb span {
    color: var(--primary);
}

.ctn-corporate-page-breadcrumb svg {
    width: 13px;
    height: 13px;
}

.ctn-corporate-page-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .62fr);
    align-items: center;
    gap: clamp(4rem, 9vw, 9rem);
    padding-block: clamp(4.5rem, 7vw, 6.5rem);
}

.ctn-corporate-page-hero .ctn-kicker > span {
    color: var(--accent);
}

.ctn-corporate-page-hero h1 {
    max-width: 820px;
    margin: .2rem 0 1.65rem;
    color: var(--text-primary);
    font-size: clamp(3.5rem, 5.8vw, 5.25rem);
    font-weight: 740;
    line-height: .97;
    letter-spacing: -.07em;
}

.ctn-corporate-page-hero h1 em {
    color: var(--primary);
    font-style: normal;
}

.ctn-corporate-page-hero-grid > div > p:last-child {
    max-width: 680px;
    color: var(--text-secondary);
    font-size: 1rem;
    line-height: 1.8;
}

.ctn-corporate-page-nav {
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-corporate-page-nav > span {
    display: block;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--border);
    color: var(--primary);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.ctn-corporate-page-nav a {
    display: grid;
    min-height: 68px;
    grid-template-columns: 32px minmax(0, 1fr) 17px;
    align-items: center;
    gap: .7rem;
    padding: .8rem 1.1rem;
    border-bottom: 1px solid var(--border);
    transition: background var(--ease), color var(--ease);
}

.ctn-corporate-page-nav a:last-child {
    border-bottom: 0;
}

.ctn-corporate-page-nav a:hover,
.ctn-corporate-page-nav a.is-active {
    background: #f5f6f3;
    color: var(--primary);
}

.ctn-corporate-page-nav small {
    color: var(--accent);
    font-size: .53rem;
    font-weight: 800;
}

.ctn-corporate-page-nav strong {
    font-size: .76rem;
    font-weight: 720;
}

.ctn-corporate-page-nav svg {
    width: 15px;
    height: 15px;
}

.ctn-corporate-page-content {
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-corporate-page-framework {
    display: grid;
    grid-template-columns: minmax(260px, .38fr) minmax(0, 1fr);
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-strong);
}

.ctn-corporate-page-framework > aside {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    padding: 2rem 2.25rem 2rem 0;
    border-right: 1px solid var(--border-strong);
}

.ctn-corporate-page-framework > aside > span {
    color: var(--primary);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.ctn-corporate-page-framework > aside > strong {
    max-width: 300px;
    margin-top: 2rem;
    color: var(--text-primary);
    font-size: clamp(1.65rem, 2.7vw, 2.3rem);
    font-weight: 720;
    line-height: 1.08;
    letter-spacing: -.05em;
}

.ctn-corporate-page-framework > aside > p {
    max-width: 290px;
    margin-top: auto;
    padding-top: 3rem;
    color: var(--text-secondary);
    font-size: .72rem;
    line-height: 1.7;
}

.ctn-corporate-page-cards {
    display: grid;
}

.ctn-corporate-page-cards article {
    display: grid;
    min-height: 132px;
    grid-template-columns: 48px 52px minmax(150px, .42fr) minmax(260px, 1fr);
    align-items: center;
    gap: 1.3rem;
    padding: 1.45rem 1.5rem;
    border-bottom: 1px solid var(--border-strong);
}

.ctn-corporate-page-cards article:last-child {
    border-bottom: 0;
}

.ctn-corporate-page-cards article > span {
    color: var(--accent);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ctn-corporate-page-cards article > svg {
    width: 22px;
    height: 22px;
    color: var(--primary);
}

.ctn-corporate-page-cards h3 {
    color: var(--text-primary);
    font-size: 1.08rem;
    letter-spacing: -.025em;
}

.ctn-corporate-page-cards p {
    color: var(--text-secondary);
    font-size: .74rem;
    line-height: 1.68;
}

.ctn-corporate-page-note {
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-corporate-page-note-grid {
    display: grid;
    min-height: 310px;
    grid-template-columns: minmax(170px, .35fr) minmax(0, 1.05fr) minmax(300px, .65fr);
    align-items: center;
    gap: clamp(2.5rem, 6vw, 6rem);
}

.ctn-corporate-page-note-grid .ctn-kicker {
    margin: 0;
}

.ctn-corporate-page-note-grid h2 {
    max-width: 720px;
    font-size: clamp(2.35rem, 4vw, 3.45rem);
    line-height: 1.04;
    letter-spacing: -.06em;
}

.ctn-corporate-page-note-grid > p:last-child {
    color: var(--text-secondary);
    font-size: .86rem;
    line-height: 1.75;
}

.ctn-corporate-page-contact {
    border-bottom: 1px solid var(--border);
    background: #fff;
}

.ctn-corporate-page-contact-grid {
    display: flex;
    min-height: 250px;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}

.ctn-corporate-page-contact h2 {
    max-width: 760px;
    font-size: clamp(2.25rem, 3.7vw, 3.25rem);
    line-height: 1.05;
    letter-spacing: -.055em;
}

@media (max-width: 900px) {
    .ctn-corporate-page-hero-grid,
    .ctn-corporate-page-note-grid {
        grid-template-columns: 1fr;
    }

    .ctn-corporate-page-hero-grid {
        gap: 3.5rem;
    }

    .ctn-corporate-page-note-grid {
        min-height: 0;
        gap: 1.4rem;
        padding-block: 4.5rem;
    }

    .ctn-corporate-page-framework {
        grid-template-columns: 1fr;
    }

    .ctn-corporate-page-framework > aside {
        min-height: 260px;
        padding: 2rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--border-strong);
    }

    .ctn-corporate-page-framework > aside > p {
        max-width: 560px;
        padding-top: 2rem;
    }

    .ctn-corporate-page-cards article {
        grid-template-columns: 42px 45px minmax(150px, .45fr) minmax(230px, 1fr);
        padding-inline: 0;
    }
}

@media (max-width: 620px) {
    .ctn-corporate-page-breadcrumb {
        overflow-x: auto;
        white-space: nowrap;
    }

    .ctn-corporate-page-hero-grid {
        padding-block: 3.7rem 4rem;
    }

    .ctn-corporate-page-hero h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .ctn-corporate-page-cards article,
    .ctn-corporate-page-cards article:nth-child(2n) {
        min-height: 0;
        grid-template-columns: 34px 38px minmax(0, 1fr);
        gap: .75rem;
        padding-block: 1.4rem;
        border-bottom: 1px solid var(--border-strong);
    }

    .ctn-corporate-page-cards article > p {
        grid-column: 3;
        margin-top: -.15rem;
    }

    .ctn-corporate-page-cards article:last-child {
        border-bottom: 0;
    }

    .ctn-corporate-page-framework > aside {
        min-height: 0;
    }

    .ctn-corporate-page-framework > aside > p {
        margin-top: 0;
    }

    .ctn-corporate-page-contact-grid {
        min-height: 0;
        align-items: flex-start;
        flex-direction: column;
        padding-block: 4rem;
    }
}

@media (max-width: 860px) {
    .ctn-insurers-hero-grid,
    .ctn-insurer-contact-grid {
        grid-template-columns: 1fr;
    }

    .ctn-insurers-index-card {
        min-height: 370px;
    }

    .ctn-insurer-directory-meta {
        align-items: flex-start;
        flex-direction: column;
        padding-block: 1.2rem;
    }

    .ctn-insurer-evaluation-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .ctn-insurer-evaluation-list li:nth-child(2) {
        border-right: 0;
    }

    .ctn-insurer-evaluation-list li:nth-child(-n+2) {
        border-bottom: 1px solid var(--border-strong);
    }

    .ctn-insurer-contact-grid {
        min-height: 0;
        padding-block: 4rem;
    }

    .ctn-insurer-contact-actions {
        align-items: center;
        flex-direction: row;
        justify-content: flex-start;
    }
}

@media (max-width: 620px) {
    .ctn-insurers-breadcrumb {
        overflow-x: auto;
        white-space: nowrap;
    }

    .ctn-insurers-hero-grid {
        gap: 3rem;
        padding-block: 3.5rem 4rem;
    }

    .ctn-insurers-hero-copy h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .ctn-insurers-index-card {
        min-height: 355px;
        padding: 1.35rem;
    }

    .ctn-insurers-index-total {
        margin-top: 2.15rem;
    }

    .ctn-insurers-index-card dl > div {
        padding-inline: .5rem;
    }

    .ctn-insurers-index-card dd {
        font-size: .5rem;
    }

    .ctn-insurer-search {
        min-height: 64px;
        padding-inline: .9rem;
    }

    .ctn-insurer-filters {
        grid-template-columns: repeat(2, 1fr);
    }

    .ctn-insurer-filters button {
        min-height: 56px;
        border-bottom: 1px solid var(--border);
    }

    .ctn-insurer-category-group > header {
        min-height: 0;
        grid-template-columns: 42px 1fr;
        gap: .8rem;
        padding: 1.3rem 0;
    }

    .ctn-insurer-category-group > header > div {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .ctn-insurer-category-group > header > strong {
        grid-column: 1;
        grid-row: 2;
        align-self: end;
        font-size: .52rem;
    }

    .ctn-insurer-logo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .ctn-insurer-logo-grid > a {
        min-height: 184px;
    }

    .ctn-insurer-logo {
        min-height: 116px;
        padding: .85rem;
    }

    .ctn-insurer-logo img {
        max-width: 88%;
        max-height: 58px;
    }

    .ctn-insurer-card-meta {
        min-height: 62px;
        padding: .7rem;
    }

    .ctn-insurer-disclosure {
        grid-template-columns: 22px 1fr;
    }

    .ctn-insurer-disclosure > a {
        grid-column: 2;
        width: fit-content;
        margin-top: .4rem;
        white-space: normal;
    }

    .ctn-insurer-evaluation-list {
        grid-template-columns: 1fr;
    }

    .ctn-insurer-evaluation-list li,
    .ctn-insurer-evaluation-list li:nth-child(2) {
        min-height: 210px;
        border-right: 0;
        border-bottom: 1px solid var(--border-strong);
    }

    .ctn-insurer-evaluation-list li:last-child {
        border-bottom: 0;
    }

    .ctn-insurer-contact-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Late FAQ normalization: keep directory and claims rows identical */
.ctn-faq-accordion,
.ctn-claims-faq-list {
    --site-faq-ink: #192522;
    --site-faq-muted: #707975;
    --site-faq-line: #d7dcda;
    --site-faq-number: #b79d70;
    border-top: 1px solid var(--site-faq-ink);
    background: #fff;
}

.ctn-faq-accordion article,
.ctn-claims-faq-list article {
    border-bottom: 1px solid var(--site-faq-line);
    background: #fff;
}

.ctn-faq-accordion button,
.ctn-claims-faq-list article > button {
    grid-template-columns: 38px minmax(0, 1fr) 30px;
    gap: 1rem;
    min-height: 84px;
    padding: 1rem 0;
    background: transparent;
    color: var(--site-faq-ink);
}

.ctn-faq-accordion button:hover,
.ctn-claims-faq-list article > button:hover {
    padding-left: 0;
    background: transparent;
}

.ctn-faq-accordion button > small,
.ctn-claims-faq-list article > button small {
    padding: 0;
    color: var(--site-faq-number);
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.ctn-faq-accordion button > span {
    display: block;
}

.ctn-faq-accordion button em {
    display: none;
}

.ctn-faq-accordion button strong,
.ctn-claims-faq-list article > button strong {
    font-size: .82rem;
    font-weight: 680;
    letter-spacing: -.018em;
    line-height: 1.45;
}

.ctn-faq-accordion-toggle,
.ctn-claims-faq-list article > button > span {
    display: grid;
    width: 30px;
    height: 30px;
    min-width: 30px;
    place-items: center;
    border: 1px solid var(--site-faq-line);
    border-radius: 50%;
    background: transparent;
    color: var(--site-faq-ink);
}

.ctn-faq-accordion-toggle svg,
.ctn-claims-faq-list article > button svg {
    width: 13px;
    height: 13px;
}

.ctn-faq-accordion button[aria-expanded="true"] .ctn-faq-accordion-toggle {
    border-color: var(--site-faq-line);
    background: transparent;
    color: var(--site-faq-ink);
    transform: rotate(45deg);
}

.ctn-faq-accordion article > div,
.ctn-claims-faq-list article > div {
    max-width: none;
    padding: 0 46px 1.45rem 38px;
}

.ctn-faq-accordion article > div p,
.ctn-claims-faq-list article > div p {
    max-width: 720px;
    margin: 0;
    color: var(--site-faq-muted);
    font-size: .71rem;
    line-height: 1.72;
}

@media (max-width: 620px) {
    .ctn-faq-accordion button,
    .ctn-claims-faq-list article > button {
        grid-template-columns: 28px minmax(0, 1fr) 28px;
        gap: .7rem;
        min-height: 88px;
    }

    .ctn-faq-accordion article > div,
    .ctn-claims-faq-list article > div {
        padding: 0 0 1.4rem 28px;
    }
}

/* Final FAQ geometry guard */
.ctn-faq-accordion button > .ctn-faq-accordion-toggle {
    box-sizing: border-box;
    display: grid;
    width: 30px;
    height: 30px;
    min-width: 30px;
    aspect-ratio: 1;
    place-items: center;
    transform: none;
}

.ctn-faq-accordion button[aria-expanded="true"] .ctn-faq-accordion-toggle {
    transform: none;
}

.ctn-faq-accordion button .ctn-faq-accordion-toggle svg {
    width: 13px;
    height: 13px;
    transition: transform .2s ease;
}

.ctn-faq-accordion button[aria-expanded="true"] .ctn-faq-accordion-toggle svg {
    transform: rotate(45deg);
}

.ctn-detail-accordion button i,
.product-content #sss .accordion button i {
    font-size: 0;
    transform: none;
}

.ctn-detail-accordion button i::before,
.product-content #sss .accordion button i::before {
    content: "+";
    font-size: .9rem;
    line-height: 1;
    transition: transform .2s ease;
}

.ctn-detail-accordion button[aria-expanded="true"] i,
.product-content #sss .accordion button[aria-expanded="true"] i {
    transform: none;
}

.ctn-detail-accordion button[aria-expanded="true"] i::before,
.product-content #sss .accordion button[aria-expanded="true"] i::before {
    transform: rotate(45deg);
}

/* Final full-colour photography override.
   Loaded last so older monochrome page rules cannot mute photographs. */
.ctn-hero-visual-media img,
.ctn-detail-hero-media img,
.ctn-about-hero-media img,
.ctn-article-visual img,
.ctn-article-related-media img,
.ctn-blog-featured-media img,
.ctn-blog-card-media img,
.hero-service-visual > img,
.advisory-scene-visual img,
.page-hero-visual img,
.editorial-image img {
    filter: saturate(1.08) contrast(1.01) brightness(1.035);
}

.ctn-blog-featured-media:hover img,
.ctn-blog-card-media:hover img {
    filter: saturate(1.12) contrast(1.02) brightness(1.035);
}

.ctn-hero-visual-media::after {
    background: linear-gradient(180deg, transparent 64%, rgb(10 27 25 / 22%) 100%);
}

.ctn-detail-hero-media::after {
    background: linear-gradient(180deg, transparent 60%, rgb(10 27 25 / 28%) 100%);
}

.ctn-about-hero-media::after {
    background: linear-gradient(180deg, transparent 64%, rgb(10 27 25 / 18%) 100%);
}

.ctn-article-visual::after {
    background: linear-gradient(180deg, transparent 72%, rgb(10 27 25 / 22%) 100%);
}

.advisory-scene-visual::after {
    background: linear-gradient(180deg, transparent 56%, rgb(0 0 0 / 42%));
}

/* Home — trust numbers */
.ctn-trust-numbers {
    padding-block: clamp(3.4rem, 5.2vw, 5rem);
    background: var(--primary-dark);
}

.ctn-trust-numbers dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    border-block: 1px solid rgb(255 255 255 / 18%);
}

.ctn-trust-numbers dl > div {
    display: grid;
    min-height: clamp(9rem, 12vw, 10.75rem);
    align-content: center;
    justify-items: center;
    gap: .65rem;
    padding: 1.5rem 1rem;
    text-align: center;
}

.ctn-trust-numbers dl > div + div {
    border-inline-start: 1px solid rgb(255 255 255 / 18%);
}

.ctn-trust-numbers dt {
    color: #fff;
    font-size: clamp(2.65rem, 4.3vw, 3.5rem);
    font-weight: 700;
    line-height: .9;
    letter-spacing: -.065em;
}

.ctn-trust-numbers dt sup {
    position: relative;
    top: -.28em;
    margin-left: .04em;
    font-size: .48em;
    letter-spacing: -.02em;
    color: #c7eee7;
}

.ctn-trust-numbers dd {
    margin: 0;
    color: rgb(255 255 255 / 66%);
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .025em;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    .ctn-trust-numbers {
        padding-block: 2.5rem;
    }

    .ctn-trust-numbers dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ctn-trust-numbers dl > div {
        min-height: 7.85rem;
        padding: 1rem .7rem;
    }

    .ctn-trust-numbers dl > div + div {
        border-inline-start: 0;
    }

    .ctn-trust-numbers dl > div:nth-child(even) {
        border-inline-start: 1px solid rgb(255 255 255 / 18%);
    }

    .ctn-trust-numbers dl > div:nth-child(n + 3) {
        border-top: 1px solid rgb(255 255 255 / 18%);
    }

    .ctn-trust-numbers dt {
        font-size: 2.5rem;
    }

    .ctn-trust-numbers dd {
        font-size: .64rem;
    }
}

/* Homepage Google reviews */
.ctn-reviews {
    overflow: hidden;
    border-block: 1px solid #d7ddda;
    background: #f6f8f6;
}

.ctn-reviews-head {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: end;
    margin-bottom: clamp(2.5rem, 5vw, 4.75rem);
}

.ctn-reviews-head h2 {
    max-width: 12ch;
    margin: 1.1rem 0 1.35rem;
    color: #192522;
    font-size: clamp(2.75rem, 5vw, 5.25rem);
    line-height: .94;
    letter-spacing: -.065em;
}

.ctn-reviews-head > div:first-child > p:last-child {
    max-width: 38rem;
    margin: 0;
    color: #707975;
    font-size: 1rem;
    line-height: 1.75;
}

.ctn-reviews-rating {
    display: grid;
    gap: 1.35rem;
    padding: 1.5rem;
    border: 1px solid #cfd7d3;
    background: #fff;
}

.ctn-reviews-rating-label {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding-bottom: 1.15rem;
    border-bottom: 1px solid #e0e5e2;
}

.ctn-reviews-google-mark {
    display: inline-flex;
    width: 2.45rem;
    height: 2.45rem;
    flex: 0 0 2.45rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd4d0;
    border-radius: 50%;
    color: #173f3c;
    font-size: 1rem;
    font-weight: 800;
}

.ctn-reviews-rating-label > span:last-child {
    display: grid;
    gap: .22rem;
}

.ctn-reviews-rating-label strong {
    color: #192522;
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.ctn-reviews-rating-label small {
    color: #7a8480;
    font-size: .7rem;
    font-weight: 550;
}

.ctn-reviews-rating-score {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ctn-reviews-rating-score > span:first-child {
    display: flex;
    align-items: flex-end;
    gap: .35rem;
}

.ctn-reviews-rating-score strong {
    color: #173f3c;
    font-size: clamp(3rem, 4.5vw, 4.1rem);
    line-height: .82;
    letter-spacing: -.06em;
}

.ctn-reviews-rating-score > span:first-child small {
    margin-bottom: .24rem;
    color: #707975;
    font-size: .8rem;
    font-weight: 700;
}

.ctn-reviews-stars,
.ctn-review-card-stars {
    display: flex;
    color: #b89b69;
}

.ctn-reviews-stars {
    gap: .16rem;
}

.ctn-reviews-stars svg {
    width: 1.08rem;
    height: 1.08rem;
    fill: currentColor;
    stroke-width: 1.6;
}

.ctn-reviews-rating > a {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3.15rem;
    padding: .85rem 1rem;
    background: #173f3c;
    color: #fff;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.ctn-reviews-rating > a svg {
    width: 1.05rem;
    height: 1.05rem;
}

.ctn-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #cfd6d3;
    border-left: 1px solid #cfd6d3;
}

.ctn-review-card {
    display: flex;
    min-height: 18.5rem;
    flex-direction: column;
    padding: clamp(1.75rem, 3vw, 2.5rem);
    border-right: 1px solid #cfd6d3;
    border-bottom: 1px solid #cfd6d3;
    background: #fff;
}

.ctn-review-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ctn-review-card-stars {
    gap: .08rem;
}

.ctn-review-card-stars svg {
    width: .9rem;
    height: .9rem;
    fill: currentColor;
    stroke-width: 1.5;
}

.ctn-review-quote {
    width: 1.25rem;
    height: 1.25rem;
    color: #9ba5a1;
    stroke-width: 1.5;
}

.ctn-review-card blockquote {
    margin: 2.15rem 0 2.5rem;
    color: #25302d;
    font-size: clamp(1.05rem, 1.35vw, 1.25rem);
    font-weight: 560;
    line-height: 1.55;
    letter-spacing: -.018em;
}

.ctn-review-card footer {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-top: auto;
}

.ctn-review-avatar {
    display: inline-flex;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 2.65rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #cad2cf;
    border-radius: 50%;
    color: #173f3c;
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .04em;
}

.ctn-review-card footer > span:last-child {
    display: grid;
    gap: .22rem;
}

.ctn-review-card footer strong {
    color: #192522;
    font-size: .88rem;
}

.ctn-review-card footer small {
    color: #7c8582;
    font-size: .66rem;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .ctn-reviews-head {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .ctn-reviews-head h2 {
        max-width: 10ch;
        font-size: clamp(2.55rem, 10vw, 4rem);
    }

    .ctn-reviews-rating {
        max-width: 28rem;
    }

    .ctn-reviews-grid {
        display: flex;
        width: auto;
        margin-right: calc(var(--container-padding, 1.25rem) * -1);
        padding-right: var(--container-padding, 1.25rem);
        gap: .85rem;
        overflow-x: auto;
        border: 0;
        scrollbar-width: none;
        scroll-padding-left: 0;
        scroll-snap-type: x mandatory;
    }

    .ctn-reviews-grid::-webkit-scrollbar {
        display: none;
    }

    .ctn-review-card {
        min-width: min(82vw, 21rem);
        min-height: 17rem;
        flex-basis: min(82vw, 21rem);
        border: 1px solid #cfd6d3;
        scroll-snap-align: start;
    }
}

@media (max-width: 560px) {
    .ctn-reviews-head {
        margin-bottom: 2rem;
    }

    .ctn-reviews-rating {
        gap: 1.15rem;
        padding: 1.25rem;
    }

    .ctn-review-card {
        padding: 1.55rem;
    }
}
