* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    color:#14263a;
    background:#fff;
    font:17px/1.67 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}

.skip {
    position:absolute;
    left:-999px;
    top:10px;
    background:#fff;
    color:#10253d;
    padding:12px 16px;
    z-index:1000;
    border:2px solid #dd6b38
}

.skip:focus {
    left:12px
}

.calbar {
    background:#0d2034;
    color:#cfe1ec;
    padding:7px 22px;
    text-align:center;
    font-size:12px;
    letter-spacing:.04em
}

.header {
    position:sticky;
    top:0;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid #d8e1e7;
    z-index:30
}

.head {
    max-width:1260px;
    margin:auto;
    display:flex;
    align-items:center;
    padding:15px 24px;
    gap:26px
}

.brand {
    text-decoration:none;
    color:#11283e;
    font-size:22px;
    font-weight:900;
    letter-spacing:-.04em
}

.brand b {
    color:#dd6b38
}

.nav {
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:21px
}

.nav a {
    color:#29445d;
    text-decoration:none;
    font-size:14px;
    font-weight:750
}

.nav .nav-cta {
    background:#e26432;
    color:#fff;
    padding:10px 14px;
    border-radius:6px
}

.menu {
    display:none;
    margin-left:auto;
    background:#fff;
    border:1px solid #9aabb8;
    border-radius:5px;
    padding:9px 12px;
    font-weight:800
}

.hero {
    background:#eef4f7;
    border-bottom:1px solid #d5e0e6
}

.hero-grid {
    max-width:1260px;
    margin:auto;
    padding:56px 24px 58px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,540px);
    gap:54px;
    align-items:center
}

.kicker {
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:12px;
    font-weight:850;
    color:#bb512a
}

.hero h1,.page-title {
    font-family:Georgia,"Times New Roman",serif;
    letter-spacing:-.045em;
    color:#10253d
}

.hero h1 {
    font-size:clamp(3rem,5.4vw,5rem);
    line-height:.98;
    margin:10px 0 20px;
    max-width:760px
}

.hero p {
    font-size:19px;
    color:#43596c;
    max-width:680px
}

.hero-media img {
    width:100%;
    height:auto;
    display:block;
    border-radius:18px;
    box-shadow:0 28px 70px rgba(16,37,61,.16)
}

.actions {
    display:flex;
    gap:11px;
    flex-wrap:wrap;
    margin-top:25px
}

.btn {
    display:inline-block;
    background:#dd6333;
    color:#fff;
    text-decoration:none;
    font-weight:850;
    padding:13px 17px;
    border-radius:6px;
    border:2px solid #dd6333
}

.btn.secondary {
    background:#fff;
    color:#17324c;
    border-color:#9eb1bf
}

.service-band {
    max-width:1260px;
    margin:-27px auto 0;
    padding:0 24px;
    position:relative
}

.service-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    background:#fff;
    border:1px solid #cedae2;
    box-shadow:0 16px 40px rgba(16,37,61,.09)
}

.service-link {
    padding:21px;
    text-decoration:none;
    color:#17324c;
    border-right:1px solid #dfe7ec
}

.service-link:last-child {
    border:0
}

.service-link strong {
    display:block;
    font-size:16px
}

.service-link span {
    display:block;
    color:#65798a;
    font-size:13px;
    margin-top:4px
}

.home-content {
    max-width:1260px;
    margin:auto;
    padding:60px 24px 84px
}

.intro-grid {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:42px;
    align-items:start
}

.intro-grid h2 {
    font:700 34px/1.15 Georgia,serif;
    margin:0 0 12px;
    color:#10253d
}

.mode-table,.data-table {
    width:100%;
    border-collapse:collapse;
    margin:18px 0 8px;
    font-size:15px
}

.mode-table th,.data-table th {
    text-align:left;
    background:#17324c;
    color:#fff;
    padding:12px 13px
}

.mode-table td,.data-table td {
    border-bottom:1px solid #d9e3e9;
    padding:12px 13px;
    vertical-align:top
}

.trust-block {
    background:#10253d;
    color:#e7f0f4;
    padding:28px
}

.trust-block h2 {
    color:#fff
}

.trust-block p {
    color:#c8d8e1
}

.breadcrumbs {
    max-width:1260px;
    margin:auto;
    padding:22px 24px 0;
    color:#70818e;
    font-size:13px
}

.breadcrumbs a {
    color:#335e79
}

.page-head {
    max-width:1260px;
    margin:auto;
    padding:34px 24px 30px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:44px;
    align-items:start
}

.page-title {
    font-size:clamp(2.6rem,5vw,4.45rem);
    line-height:1.01;
    margin:8px 0 18px
}

.dek {
    font-size:19px;
    color:#455e71;
    margin:0
}

.answer-card {
    background:#fff5ed;
    border-left:5px solid #dd6333;
    padding:20px 22px;
    margin-top:24px
}

.answer-card strong {
    display:block;
    color:#a94621;
    margin-bottom:5px
}

.page-visual img {
    width:100%;
    height:auto;
    border-radius:14px;
    display:block;
    background:#eef4f7
}

.visual-cap {
    font-size:12px;
    color:#70818e;
    margin-top:7px
}

.article-shell {
    max-width:1260px;
    margin:auto;
    padding:8px 24px 90px;
    display:grid;
    grid-template-columns:minmax(0,790px) 320px;
    gap:58px
}

.toc {
    border-top:3px solid #17324c;
    padding-top:15px
}

.toc strong {
    display:block;
    margin-bottom:9px
}

.toc a {
    display:block;
    color:#42657e;
    text-decoration:none;
    font-size:14px;
    margin:7px 0
}

.article {
    min-width:0;
    max-width:100%
}

.article section {
    padding:30px 0;
    border-bottom:1px solid #dce4e9
}

.article h2 {
    font:700 30px/1.15 Georgia,serif;
    letter-spacing:-.02em;
    color:#10253d;
    margin:0 0 15px
}

.article h3 {
    font-size:20px;
    margin:22px 0 8px;
    color:#17324c
}

.article p {
    margin:0 0 16px
}

.takeaways {
    background:#eef4f7;
    border-top:4px solid #2d6677;
    padding:22px 24px;
    margin:12px 0 8px
}

.takeaways h2 {
    font:800 18px system-ui;
    margin:0 0 9px
}

.takeaways ul,.bullets {
    padding-left:22px
}

.takeaways li,.bullets li {
    margin:7px 0
}

.callout {
    border-left:4px solid #f0b14b;
    background:#fff9ed;
    padding:17px 19px;
    margin:20px 0
}

.callout.warn {
    border-color:#dd6333;
    background:#fff4ee
}

.callout strong {
    display:block;
    margin-bottom:4px
}

.figure {
    margin:24px 0
}

.figure img {
    display:block;
    width:100%;
    height:auto;
    border-radius:12px;
    background:#eef4f7
}

.figure figcaption {
    font-size:12px;
    color:#6f808e;
    margin-top:7px
}

.step-list {
    counter-reset:st;
    list-style:none;
    padding:0;
    margin:20px 0
}

.step-list li {
    counter-increment:st;
    display:grid;
    grid-template-columns:42px 1fr;
    gap:12px;
    padding:14px 0;
    border-bottom:1px solid #e2e8ec
}

.step-list li:before {
    content:counter(st);
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    background:#17324c;
    color:#fff;
    border-radius:50%;
    font-weight:850
}

.step-list strong {
    display:block
}

.qa-list details {
    border-top:1px solid #dbe4e9;
    padding:14px 0
}

.qa-list summary {
    font-weight:800;
    cursor:pointer
}

.side {
    padding-top:22px
}

.sticky {
    position:sticky;
    top:88px
}

.cta {
    background:#17324c;
    color:#fff;
    padding:24px
}

.cta h2 {
    font:700 25px/1.15 Georgia,serif;
    margin:0 0 10px
}

.cta p {
    color:#d2e0e7
}

.cta .btn {
    width:100%;
    text-align:center
}

.disclosure {
    font-size:12px;
    color:#9fb4c2;
    margin-top:11px
}

.related {
    margin-top:18px;
    border:1px solid #d6e0e6
}

.related h3 {
    font-size:14px;
    margin:0;
    padding:13px 15px;
    background:#eef4f7
}

.related a {
    display:block;
    padding:12px 15px;
    border-top:1px solid #dfe7ec;
    color:#214f6d;
    text-decoration:none;
    font-weight:700;
    font-size:14px
}

.footer {
    background:#09192a;
    color:#c9d8e1;
    padding:52px 24px
}

.foot {
    max-width:1260px;
    margin:auto;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:50px
}

.foot strong {
    color:#fff;
    font-size:21px
}

.foot a {
    color:#fff
}

.mobile-cta {
    display:none
}

.media-strip {
    margin:58px 0 0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px
}

.media-panel {
    background:#f4f7f9;
    padding:26px;
    border-top:4px solid #dd6333
}

.media-panel h3 {
    margin-top:0
}

.home-guides {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:48px
}

.guide {
    border:1px solid #d7e1e7;
    padding:24px
}

.guide h3 {
    margin:0 0 8px
}

.guide a {
    color:#214f6d;
    font-weight:800;
    text-decoration:none
}

.credit {
    font-size:11px;
    color:#778894
}

.table-scroll {
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain
}

.anchor-target {
    scroll-margin-top:90px
}

.hero-note {
    font-size:12px;
    color:#70818e;
    margin-top:7px
}

@media(max-width:850px) {
    body {
        font-size:16px
    }

    .head {
        padding:12px 16px
    }

    .nav {
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:#fff;
        border-bottom:1px solid #d6e0e6;
        padding:8px 16px 16px;
        flex-direction:column;
        align-items:stretch;
        gap:0
    }

    .nav.open {
        display:flex
    }

    .nav a {
        padding:11px 4px;
        border-bottom:1px solid #e6ebef
    }

    .menu {
        display:block
    }

    .hero-grid {
        grid-template-columns:1fr;
        padding:34px 16px 44px;
        gap:24px
    }

    .hero h1 {
        font-size:3.15rem
    }

    .hero-media {
        order:-1
    }

    .service-band {
        padding:0 16px
    }

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

    .service-link:nth-child(2) {
        border-right:0
    }

    .service-link:nth-child(-n+2) {
        border-bottom:1px solid #dfe7ec
    }

    .home-content {
        padding:48px 16px 94px
    }

    .intro-grid,.foot {
        grid-template-columns:1fr
    }

    .home-guides {
        grid-template-columns:1fr
    }

    .breadcrumbs {
        padding:17px 16px 0
    }

    .page-head {
        grid-template-columns:1fr;
        padding:27px 16px 20px;
        gap:22px
    }

    .page-title {
        font-size:2.8rem
    }

    .article-shell {
        grid-template-columns:1fr;
        padding:0 16px 100px;
        gap:18px
    }

    .side {
        order:2
    }

    .sticky {
        position:static
    }

    .article section {
        min-width:0
    }

    .table-scroll {
        max-width:calc(100vw - 32px)
    }

    .media-strip {
        grid-template-columns:1fr
    }

    .mobile-cta {
        display:block;
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        background:#fff;
        border-top:1px solid #cbd8df;
        padding:9px 14px;
        z-index:25
    }

    .mobile-cta .btn {
        display:block;
        text-align:center;
        padding:10px
    }

    .article h2 {
        font-size:27px
    }

    .calbar {
        font-size:11px
    }

    .hero-media img {
        border-radius:12px
    }

}

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

    * {
        transition:none!important;
        animation:none!important
    }

}

/* Responsive informational tables: one semantic source, no JS required. */ .table-block {
    width:100%;
    min-width:0
}

.data-table caption {
    caption-side:top;
    text-align:left;
    font-weight:750;
    padding:0 0 12px;
    color:#17324c
}

.data-table tbody th {
    background:#f1f5f7;
    color:#17324c;
    border-bottom:1px solid #d9e3e9;
    vertical-align:top;
    font-weight:750
}

.data-table th,.data-table td {
    overflow-wrap:anywhere
}

.cell-label {
    display:none
}

.matrix-hint {
    font-size:14px
}

.complex-matrix:focus-visible {
    outline:3px solid #dd6333;
    outline-offset:3px
}

@media(max-width:850px) {
    .table-block .data-table {
        display:block;
        width:100%;
        min-width:0;
        max-width:100%;
        font-size:16px;
        line-height:1.55;
        margin:18px 0
    }

    .table-block .data-table caption {
        display:block;
        width:100%
    }

    .table-block thead {
        position:absolute;
        width:1px;
        height:1px;
        padding:0;
        margin:-1px;
        overflow:hidden;
        clip-path:inset(50%);
        white-space:nowrap
    }

    .table-block tbody {
        display:grid;
        gap:14px;
        width:100%
    }

    .table-block tr {
        display:block;
        min-width:0;
        border:1px solid #cbd9e2;
        border-radius:8px;
        overflow:hidden;
        background:#fff
    }

    .table-block tbody th {
        display:block;
        background:#17324c;
        color:#fff;
        padding:13px 16px;
        border:0;
        font-size:17px;
        text-align:left
    }

    .table-block td {
        display:block;
        padding:12px 16px;
        border:0;
        border-top:1px solid #e2e9ee;
        min-width:0
    }

    .table-block .cell-label {
        display:block;
        font-size:14px;
        font-weight:750;
        color:#496579;
        margin:0 0 3px
    }

    .table-block .cell-value {
        display:block;
        overflow-wrap:anywhere
    }

    .simple-table tbody {
        gap:10px
    }

    .simple-table tbody th {
        padding:10px 14px
    }

    .simple-table td {
        padding:10px 14px
    }

    .complex-matrix .data-table {
        min-width:650px
    }

    .complex-matrix tbody th {
        position:sticky;
        left:0;
        max-width:150px
    }

}

.media-choice {
    max-width:1212px;
    margin:16px auto 24px;
    padding:16px;
    background:#f1f5f7;
    border-left:4px solid #dd6333
}

.media-choice p {
    font-size:14px
}

.media-choice img {
    max-height:500px;
    object-fit:contain;
    margin-top:12px
}

@media(max-width:850px) {
    .media-choice {
        margin:16px
    }

}

/* Selected licensed photography: preserve the complete frame at every breakpoint. */ .hero-media picture,.page-visual picture {
    display:block;
    max-width:100%
}

.selected-stock-photo {
    width:100%;
    height:auto;
    object-fit:contain
}

.media-integrated picture {
    display:block;
    max-width:100%
}

.integrated-diagram {
    margin:30px 0;
    padding:18px;
    border:1px solid #cfdee7;
    border-radius:12px;
    background:#f7fafb
}

.integrated-diagram img {
    display:block;
    width:100%;
    height:auto
}

.integrated-diagram figcaption {
    margin-top:10px;
    color:#52697a;
    font-size:14px;
    line-height:1.45
}

/* Final narrow correction: no page-level overflow masking. */ .page-head-text-only {
    grid-template-columns:minmax(0,1fr)
}

.page-head-text-only>div {
    max-width:950px
}

.functional-graphic {
    padding:26px;
    background:#eef4f7;
    border:1px solid #cfdee7;
    border-radius:12px;
    color:#17324c;
    font-size:16px;
    line-height:1.5
}

.diagram-node {
    min-width:0;
    overflow-wrap:anywhere;
    font-weight:750;
    background:#fff;
    border:1px solid #9bb3c3;
    border-radius:7px;
    padding:16px;
    text-align:center
}

.diagram-stages {
    padding:0;
    margin:0;
    list-style:none;
    display:grid;
    gap:24px
}

.graphic-flow .diagram-stages {
    grid-template-columns:repeat(4,minmax(0,1fr))
}

.graphic-flow .diagram-stages:has(li:nth-child(3):last-child) {
    grid-template-columns:repeat(3,minmax(0,1fr))
}

.graphic-flow .diagram-node {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center
}

.graphic-flow .diagram-node:not(:last-child):after {
    content:'→';
    position:absolute;
    right:-21px;
    color:#a64620;
    font-size:21px
}

.graphic-stack .diagram-stages {
    gap:10px;
    max-width:570px;
    margin:auto
}

.graphic-stack .diagram-node:nth-child(1) {
    background:#f0b14b
}

.graphic-stack .diagram-node:nth-child(2) {
    background:#dd6333;
    color:#fff
}

.graphic-stack .diagram-node:nth-child(3) {
    background:#2d6677;
    color:#fff
}

.graphic-stack .diagram-node:nth-child(4) {
    background:#17324c;
    color:#fff
}

.functional-graphic .diagram-note {
    margin:22px 0 0;
    font-size:16px;
    text-align:center
}

.graphic-route {
    display:grid;
    grid-template-columns:1fr 1.15fr 1fr;
    align-items:center;
    gap:24px
}

.route-end,.network-hub {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    background:#17324c;
    color:white;
    border-radius:9px;
    padding:20px;
    min-width:0;
    overflow-wrap:anywhere
}

.route-end strong,.network-hub strong {
    font-size:22px
}

.route-end span,.network-hub span {
    font-size:15px;
    color:#d9e8f1
}

.route-options {
    display:grid;
    gap:12px;
    position:relative
}

.route-options:before,.route-options:after {
    content:'→';
    position:absolute;
    top:calc(50% - 15px);
    font-size:22px;
    color:#a64620
}

.route-options:before {
    left:-20px
}

.route-options:after {
    right:-20px
}

.graphic-network {
    display:grid;
    grid-template-columns:1fr 2fr;
    gap:24px;
    align-items:center
}

.network-branches {
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px
}

@media(max-width:850px) {
    .data-table {
        position:relative;
        width:100%;
        max-width:100%;
        min-width:0;
        table-layout:fixed
    }

    .data-table thead {
        display:block;
        position:absolute;
        inset:0 auto auto 0;
        width:1px!important;
        max-width:1px!important;
        min-width:0!important;
        height:1px!important;
        padding:0!important;
        margin:0!important;
        border:0!important;
        overflow:hidden!important;
        clip-path:inset(50%);
        contain:strict;
        white-space:normal!important
    }

    .data-table thead tr,.data-table thead th {
        display:block!important;
        width:1px!important;
        max-width:1px!important;
        min-width:0!important;
        height:1px!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        overflow:hidden!important;
        white-space:normal!important
    }

    .data-table tbody,.data-table tbody tr,.data-table tbody th,.data-table td,.cell-label,.cell-value {
        min-width:0;
        max-width:100%;
        overflow-wrap:anywhere;
        white-space:normal;
        word-break:normal
    }

    .data-table tbody {
        width:100%;
        grid-template-columns:minmax(0,1fr)
    }

    .page-head>*,.hero-grid>*,.foot>*,.article-shell>*,.intro-grid>*,.service-grid>* {
        min-width:0
    }

    .page-title,.hero h1,.breadcrumbs,.footer,.related a,.cta {
        overflow-wrap:anywhere
    }

    .functional-graphic {
        padding:20px 16px;
        font-size:16px
    }

    .graphic-flow .diagram-stages,.graphic-flow .diagram-stages:has(li:nth-child(3):last-child),.graphic-route,.graphic-network {
        grid-template-columns:minmax(0,1fr);
        gap:24px
    }

    .graphic-flow .diagram-node:not(:last-child):after {
        content:'↓';
        right:calc(50% - 8px);
        bottom:-25px
    }

    .route-options:before,.route-options:after {
        content:'↓';
        left:calc(50% - 7px);
        right:auto;
        top:auto
    }

    .route-options:before {
        top:-26px
    }

    .route-options:after {
        bottom:-26px
    }

    .network-branches {
        grid-template-columns:minmax(0,1fr)
    }

    .functional-figure figcaption,.visual-cap,.hero-note {
        font-size:13px;
        line-height:1.5
    }

}

/* V2: wrap technical tokens in ordinary article prose/lists, not only tables. */ @media(max-width:850px) {
    .article p,   .article li,   .article dd,   .article dt {
        min-width:0;
        overflow-wrap:anywhere;
    }

    .article .step-list li > div {
        min-width:0;
        max-width:100%
    }

}

/* Commercial CTA calibration - narrow Concept B extension. */ .commercial-cta {
    margin:24px 0;
    padding:22px 24px;
    border:1px solid #cfdce4;
    border-left:5px solid #dd6333;
    background:#f6f9fa;
    color:#17324c
}

.commercial-cta h2 {
    font:700 24px/1.2 Georgia,"Times New Roman",serif;
    color:#10253d;
    margin:2px 0 8px
}

.commercial-cta p {
    margin:0 0 14px;
    color:#425b6e
}

.commercial-cta .btn {
    max-width:100%;
    text-align:center
}

.commercial-cta .disclosure {
    color:#647b8c;
    max-width:68ch
}

.cta.final-commercial {
    margin-top:18px
}

.cta.final-commercial h2 {
    font-size:24px
}

.cta.final-commercial .disclosure {
    color:#b9cad4
}

.hero-commercial-context {
    display:flex;
    flex-direction:column;
    max-width:520px;
    flex-basis:100%;
    margin:2px 0 0
}

.hero-commercial-context span {
    font-weight:850;
    color:#17324c
}

.hero-commercial-context small {
    display:block;
    color:#5d7282;
    font-size:13px;
    line-height:1.5;
    margin-top:2px
}

.home-commercial-final {
    margin:48px 0 0;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);
    gap:28px;
    align-items:center;
    background:#eef4f7;
    border-left-color:#2d6677;
    padding:28px
}

.home-commercial-final h2 {
    font-size:28px
}

.home-commercial-final .btn {
    width:100%
}

@media(max-width:850px) {
    .commercial-cta {
        margin:20px 0;
        padding:19px 18px
    }

    .commercial-cta h2 {
        font-size:22px
    }

    .home-commercial-final {
        grid-template-columns:minmax(0,1fr);
        gap:12px;
        margin-top:34px;
        padding:20px 18px
    }

    .hero-commercial-context {
        margin-top:4px
    }

    .actions .commercial-link,.actions .secondary {
        width:100%;
        text-align:center
    }

    .persistent-sidebar-cta {
        display:none
    }

    .has-mobile-cta {
        padding-bottom:calc(78px + env(safe-area-inset-bottom))
    }

    .mobile-cta.persistent-mobile-cta {
        display:grid;
        gap:2px;
        padding:7px 12px calc(7px + env(safe-area-inset-bottom));
        z-index:40;
        min-height:58px
    }

    .persistent-mobile-cta .btn {
        min-height:44px;
        display:grid;
        place-items:center;
        padding:8px 12px
    }

    .persistent-mobile-cta .persistent-note {
        display:block;
        text-align:center;
        font-size:10px;
        line-height:1.25;
        color:#617585
    }

}

/* CTA V3 persistent responsive access layer;
excluded from contextual inline CTA density. */ .persistent-sidebar-cta {
    margin-top:18px
}

.persistent-sidebar-cta .persistent-note {
    font-size:11px;
    line-height:1.35;
    color:#b9cad4;
    margin-top:9px
}

.persistent-sidebar-cta .btn {
    width:100%;
    text-align:center
}

/* Centralized phone CTA integration: phone complements, never replaces, the web CTA. */ .phone-link {
    margin-top:9px;
    background:#fff;
    color:#17324c;
    border-color:#9eb1bf
}

.commercial-cta .phone-link,.persistent-sidebar-cta .phone-link,.home-commercial-final .phone-link {
    display:block;
    width:100%;
    text-align:center
}

.footer-phone {
    margin-top:14px
}

.footer-phone .phone-link {
    display:inline-block;
    width:auto;
    margin-top:0
}

.hero-commercial-context~.phone-link {
    margin-top:0
}

@media(max-width:850px) {
    .persistent-mobile-actions {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px;
        align-items:stretch
    }

    .persistent-mobile-actions .btn {
        margin:0;
        min-height:44px
    }

    .persistent-mobile-actions .phone-link {
        min-width:76px;
        background:#fff;
        color:#17324c;
        border-color:#9eb1bf
    }

    .commercial-cta .phone-link,.home-commercial-final .phone-link {
        width:100%
    }

    .actions .phone-link {
        width:100%;
        text-align:center
    }

    .has-mobile-cta {
        padding-bottom:calc(82px + env(safe-area-inset-bottom))
    }

}

/* Pre-pilot global commercial navigation correction. Persistent phone/web access remains separate from inline CTA density. */ .header-commercial {
    display:flex;
    align-items:center;
    gap:12px;
    margin-left:4px
}

.header-phone {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    line-height:1.15
}

.header-phone>span {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#65798a;
    font-weight:800
}

.header-phone .phone-link {
    margin:2px 0 0;
    padding:0;
    border:0;
    background:transparent;
    color:#17324c;
    font-size:15px;
    font-weight:900;
    white-space:nowrap
}

.header-quote {
    background:#e26432;
    color:#fff!important;
    padding:10px 14px;
    border-radius:6px;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
    white-space:nowrap
}

.mobile-header-call {
    display:none
}

.nav {
    gap:17px
}

.nav a {
    white-space:nowrap
}

/* Inline commercial blocks default to web conversion only;
persistent layers carry routine phone access. */ .inline-commercial .phone-link,.home-commercial-final .phone-link,.actions>.phone-link {
    display:none!important
}

@media(max-width:1100px) and (min-width:851px) {
    .head {
        gap:14px;
        padding-left:18px;
        padding-right:18px
    }

    .nav {
        gap:11px
    }

    .nav a {
        font-size:12px
    }

    .header-phone>span {
        display:none
    }

    .header-phone .phone-link {
        font-size:13px
    }

    .header-quote {
        padding:9px 11px;
        font-size:13px
    }

}

@media(max-width:850px) {
    .head {
        gap:8px;
        min-height:60px
    }

    .brand {
        font-size:20px;
        margin-right:auto
    }

    .header-commercial {
        display:none
    }

    .mobile-header-call {
        display:grid!important;
        place-items:center;
        margin:0;
        padding:8px 12px;
        min-width:58px;
        min-height:44px;
        background:#fff;
        color:#17324c;
        border:1px solid #9eb1bf;
        border-radius:6px;
        font-size:14px
    }

    .menu {
        display:block;
        margin-left:0;
        min-height:44px;
        padding:8px 11px
    }

    .nav {
        top:100%
    }

    .has-mobile-cta {
        padding-bottom:calc(72px + env(safe-area-inset-bottom))
    }

    .mobile-cta.persistent-mobile-cta {
        display:block;
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        background:#fff;
        border-top:1px solid #cbd8df;
        padding:7px 10px calc(7px + env(safe-area-inset-bottom));
        z-index:40;
        min-height:58px;
        box-shadow:0 -8px 22px rgba(16,37,61,.10)
    }

    .persistent-mobile-actions {
        display:grid;
        grid-template-columns:minmax(96px,.72fr) minmax(0,1.28fr);
        gap:8px;
        align-items:stretch;
        max-width:620px;
        margin:0 auto
    }

    .persistent-mobile-actions .btn {
        margin:0;
        min-height:44px;
        display:grid;
        place-items:center;
        padding:7px 10px;
        line-height:1.1;
        white-space:nowrap
    }

    .persistent-mobile-actions .phone-link {
        background:#fff;
        color:#17324c;
        border-color:#9eb1bf;
        min-width:0
    }

    .persistent-mobile-cta .persistent-note {
        display:none!important
    }

}

/* Final architecture-based primary navigation */ .nav {
    overflow:visible
}

.nav-group {
    position:relative
}

.nav-group-toggle {
    appearance:none;
    border:0;
    background:transparent;
    color:#29445d;
    font:750 13px system-ui;
    padding:11px 4px;
    cursor:pointer;
    white-space:nowrap
}

.nav-group-toggle span {
    display:none
}

.nav-submenu {
    display:none;
    position:absolute;
    top:100%;
    left:-12px;
    min-width:240px;
    background:#fff;
    border:1px solid #d6e0e6;
    border-radius:6px;
    box-shadow:0 14px 34px rgba(16,37,61,.13);
    padding:8px;
    z-index:60
}

.nav-submenu a {
    display:block;
    padding:10px 11px;
    border-radius:4px;
    white-space:normal;
    font-size:13px
}

.nav-submenu a:hover,.nav-submenu a:focus {
    background:#eef4f7
}

.nav-group:hover>.nav-submenu,.nav-group:focus-within>.nav-submenu,.nav-group.group-open>.nav-submenu {
    display:block
}

@media(max-width:1100px) and (min-width:851px) {
    .nav-group-toggle {
        font-size:11px;
        padding:9px 2px
    }

    .nav {
        gap:8px
    }

}

@media(max-width:850px) {
    .nav {
        padding:6px 16px 16px
    }

    .nav-group {
        border-bottom:1px solid #e6ebef
    }

    .nav-group-toggle {
        width:100%;
        min-height:44px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:10px 4px;
        font-size:14px;
        text-align:left
    }

    .nav-group-toggle span {
        display:block;
        font-size:18px;
        line-height:1
    }

    .nav-submenu {
        position:static;
        display:none;
        min-width:0;
        border:0;
        border-radius:0;
        box-shadow:none;
        padding:0 0 7px 12px
    }

    .nav-group.group-open>.nav-submenu {
        display:block
    }

    .nav-submenu a {
        min-height:44px;
        display:flex;
        align-items:center;
        padding:10px 4px;
        border:0
    }

    .nav-group.group-open>.nav-group-toggle span {
        transform:rotate(45deg)
    }

}

.source-list {
    padding-left:22px
}

.source-list li {
    margin:8px 0
}

.source-list a {
    color:#214f6d;
    font-weight:700
}

.utility-article-shell {
    grid-template-columns:minmax(0,790px);
    padding-top:0
}

.utility-article-shell .article {
    max-width:790px
}

/* Pre-Final-QA policy and utility-page layer. */ .footer-partner-disclosure {
    max-width:72ch;
    color:#b9cbd6;
    font-size:14px;
    line-height:1.55
}

.footer-links {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px
}

.footer-links a {
    font-size:14px;
    line-height:1.35
}

.utility-page .page-head {
    padding-bottom:16px
}

.utility-page .article section:first-child {
    padding-top:18px
}

.utility-page .header-commercial,.utility-page .mobile-header-call,.utility-page .mobile-cta {
    display:none!important
}

.policy-list {
    padding-left:22px
}

.policy-list li {
    margin:8px 0
}

.request-form {
    display:grid;
    gap:18px;
    max-width:720px
}

.form-field {
    display:grid;
    gap:7px
}

.form-field label {
    font-weight:800;
    color:#17324c
}

.form-field input,.form-field select,.form-field textarea {
    width:100%;
    font:inherit;
    color:#14263a;
    background:#fff;
    border:1px solid #9fb1be;
    border-radius:6px;
    padding:11px 12px
}

.form-field textarea {
    min-height:150px;
    resize:vertical
}

.form-field input:focus,.form-field select:focus,.form-field textarea:focus {
    outline:3px solid rgba(221,99,51,.28);
    border-color:#a94621
}

.form-note {
    font-size:14px;
    color:#5b7182
}

.form-status {
    padding:14px 16px;
    border-left:4px solid #2d6677;
    background:#eef4f7
}

.form-status.error {
    border-color:#b13d2d;
    background:#fff3f0
}

.form-actions {
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap
}

.honeypot-field {
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important
}

@media(max-width:850px) {
    .footer-links {
        gap:14px
    }

    .request-form {
        gap:16px
    }

    .form-actions .btn {
        width:100%;
        text-align:center
    }

}

/* Stage C documentary media - page-id bound, in-prose placements. */ .documentary-media {
    max-width:760px;
    margin:26px auto 34px
}

.documentary-media picture {
    display:block;
    max-width:100%
}

.documentary-media img {
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    border-radius:12px;
    background:#eef4f7
}

.documentary-media.documentary-portrait {
    max-width:430px
}

.documentary-media figcaption {
    font-size:12px;
    color:#6f808e;
    margin-top:7px
}

@media(max-width:850px) {
    .documentary-media,.documentary-media.documentary-portrait {
        max-width:100%;
        margin:22px auto 30px
    }

    .documentary-media img {
        width:100%;
        height:auto
    }

}
