.access-v8 {
    padding: clamp(85px, 8vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 40%, rgba(44, 151, 225, .065), transparent 31%),
        linear-gradient(135deg, #fff 0%, #f8fbfe 100%);
}

.access-v8__inner {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: clamp(55px, 8vw, 130px);
    align-items: center;
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.access-v8__eyebrow {
    margin: 0 0 20px;
    color: #0878db;
    font: 800 12px/1 "Arial", sans-serif;
    letter-spacing: .32em;
}

.access-v8__content h2 {
    margin: 0;
    color: #0c1b30;
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.2;
    letter-spacing: .06em;
}

.access-v8__content address {
    margin: 28px 0 30px;
    color: #344a63;
    font-size: 17px;
    font-style: normal;
    line-height: 2.05;
}

.access-v8__detail,
.access-v8__map > a {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    color: #0878db;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
}

.access-v8__detail span,
.access-v8__map > a span {
    transition: transform .25s;
}

.access-v8__detail:hover span,
.access-v8__map > a:hover span {
    transform: translateX(5px);
}

.access-v8__station {
    margin: 24px 0 0;
    color: #506278;
    font-size: 14px;
}

.access-v8__station span {
    margin-right: 7px;
    color: #0878db;
}

.access-v8__map {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.access-v8__map iframe {
    width: 100%;
    height: clamp(330px, 30vw, 440px);
    border: 0;
    border-radius: 2px;
    background: #e7eef6;
    box-shadow: 0 24px 70px rgba(12, 52, 93, .12);
    filter: saturate(.82) contrast(.95);
}

.access-v8__map > a {
    margin-top: 14px;
    font-size: 13px;
}

.contact-v8 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(75px, 7vw, 110px) 0;
    color: #fff;
    background: linear-gradient(112deg, #052d70 0%, #0759bd 48%, #078df0 100%);
}

.contact-v8::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        radial-gradient(circle at 78% 46%, rgba(89, 216, 255, .24), transparent 24%),
        radial-gradient(circle at 52% 100%, rgba(0, 174, 255, .15), transparent 32%);
}

.contact-v8__circuit {
    position: absolute;
    z-index: -1;
    right: -3%;
    bottom: -20%;
    width: 60%;
    height: 130%;
    opacity: .17;
    background-image:
        linear-gradient(30deg, transparent 47%, #87dfff 48%, #87dfff 49%, transparent 50%),
        linear-gradient(150deg, transparent 47%, #87dfff 48%, #87dfff 49%, transparent 50%),
        radial-gradient(circle, #a4e9ff 0 2px, transparent 3px);
    background-size: 130px 75px, 130px 75px, 130px 75px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000);
}

.contact-v8__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 70px;
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.contact-v8__message p {
    margin: 0 0 22px;
    font: 800 12px/1 "Arial", sans-serif;
    letter-spacing: .32em;
}

.contact-v8__message h2 {
    margin: 0;
    font-size: clamp(36px, 4.5vw, 64px);
    line-height: 1.45;
    letter-spacing: .035em;
}

.contact-v8__button {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    min-width: 245px;
    min-height: 62px;
    padding: 12px 28px;
    color: #0878db;
    background: #fff;
    box-shadow: 0 13px 35px rgba(0, 26, 80, .16);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    transition: color .25s, background .25s, transform .25s;
}

.contact-v8__button span {
    font-size: 19px;
    transition: transform .25s;
}

.contact-v8__button:hover {
    color: #fff;
    background: #16aaf0;
    transform: translateY(-3px);
}

.contact-v8__button:hover span {
    transform: translateX(5px);
}

@media (max-width: 767px) {
    .access-v8 { padding: 76px 0; }
    .access-v8__inner {
        grid-template-columns: 1fr;
        gap: 45px;
        width: calc(100% - 36px);
    }
    .access-v8__content h2 { font-size: 40px; }
    .access-v8__content address { margin: 22px 0 24px; font-size: 15px; }
    .access-v8__station { font-size: 13px; }
    .access-v8__map iframe { height: 330px; }
    .contact-v8 { padding: 72px 0; }
    .contact-v8__circuit { width: 120%; opacity: .11; }
    .contact-v8__inner {
        display: block;
        width: calc(100% - 36px);
    }
    .contact-v8__message p { margin-bottom: 15px; }
    .contact-v8__message h2 { font-size: 34px; line-height: 1.5; }
    .contact-v8__button {
        width: 100%;
        min-height: 58px;
        margin-top: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .access-v8__detail span,
    .access-v8__map > a span,
    .contact-v8__button,
    .contact-v8__button span { transition: none; }
}

/* Two-office access layout */
.access-v8__inner{display:block}.access-v8__heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:42px}.access-v8__heading .access-v8__eyebrow{position:absolute;margin-bottom:82px}.access-v8__offices{display:grid;grid-template-columns:1fr 1fr;gap:22px}.access-v8__office{display:grid;grid-template-columns:.92fr 1.08fr;min-height:330px;border:1px solid #dce7ed;background:#fff;box-shadow:0 18px 48px rgba(12,52,93,.08)}.access-v8__office>div{padding:30px 25px}.access-v8__office small{color:#0878db;font-size:9px;font-weight:700;letter-spacing:.16em}.access-v8__office h3{margin:8px 0 15px;color:#0c1b30;font-size:23px}.access-v8__office address{margin:0;color:#41566d;font-size:13px;line-height:1.85}.access-v8__office .access-v8__station{font-size:11px;line-height:1.7}.access-v8__office iframe{width:100%;height:100%;min-height:330px;border:0;filter:saturate(.8)}
@media(max-width:991px){.access-v8__office{grid-template-columns:1fr}.access-v8__office iframe{height:250px;min-height:250px}}
@media(max-width:767px){.access-v8__heading{display:block}.access-v8__heading .access-v8__eyebrow{position:static;margin-bottom:20px}.access-v8__heading .access-v8__detail{margin-top:20px}.access-v8__offices{grid-template-columns:1fr}.access-v8__office{grid-template-columns:1fr}.access-v8__office iframe{height:260px}}

/* White contact section above the navy-to-blue footer. */
.contact-v8{color:#0b2947;background:#fff}
.contact-v8::before,.contact-v8__circuit{display:none}
.contact-v8__message p{color:#0878c5}
.contact-v8__button{color:#fff;background:#075fba;box-shadow:0 13px 35px rgba(0,65,139,.18)}
.contact-v8__button:hover{color:#fff;background:#084a91}
.contact-v8__button:focus-visible{outline:3px solid #095fa7;outline-offset:4px}
