/* Styles scoped exclusively to the two updated pages. */
.pv-page {
    background: #173d48 url("pv-original.jpg") center center / cover fixed no-repeat
}

.pv-page .site-header {
    background: rgba(252, 252, 247, .96)
}

.pv-photo-intro {
    min-height: calc(100svh - 98px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-block: 70px;
    position: relative;
    color: white
}

.pv-photo-intro:before {
    content: "";
    position: absolute;
    inset: 0 calc((1240px - 100vw)/2);
    background: linear-gradient(90deg, rgba(7, 34, 53, .79), rgba(7, 34, 53, .36) 62%, rgba(7, 34, 53, .06));
    z-index: -1
}

.pv-photo-intro {
    isolation: isolate
}

.pv-photo-intro h1 {
    max-width: 850px;
    font-size: clamp(46px, 5.8vw, 80px);
    text-shadow: 0 2px 14px #12374b55
}

.pv-photo-intro .lead {
    color: #fff;
    max-width: 670px
}

.pv-photo-intro .eyebrow {
    color: #ffdf46
}

.pv-photo-intro .actions .pv-more {
    border-color: white;
    color: white;
    background: transparent
}

.pv-photo-intro .actions .pv-more:hover {
    background: #ffffff24
}

.pv-page .pv-panel {
    background: rgba(252, 252, 247, .97);
    padding: 48px;
    border-radius: 10px;
    margin-block: 44px
}

.pv-page .pv-panel.faq {
    margin-top: 0
}

.pv-page .cta {
    border: 0
}

.pv-page footer {
    background: #14333e
}

.contact-layout {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 35px;
    padding-block: 25px 50px
}

.contact-primary {
    background: var(--blue);
    padding: 38px;
    border-radius: 9px
}

.contact-route {
    display: block;
    text-decoration: none;
    padding: 24px 0;
    border-bottom: 1px solid #bdcfd5
}

.contact-route:first-of-type {
    padding-top: 0
}

.contact-label {
    font-size: 12px;
    display: block;
    color: var(--muted)
}

.contact-route strong {
    font-size: clamp(20px, 2.4vw, 32px);
    letter-spacing: -.025em;
    line-height: 1.4;
    display: block;
    margin: 8px 0;
    overflow-wrap: anywhere
}

.contact-route>span:last-child {
    font-size: 13px
}

.contact-route:hover strong {
    text-decoration: underline;
    text-underline-offset: 6px
}

.contact-help {
    font-size: 14px;
    color: var(--muted);
    margin: 25px 0 0
}

.company-card {
    border: 1px solid var(--line);
    background: white;
    border-radius: 9px;
    padding: 38px
}

.company-card h2 {
    font-size: 30px;
    margin-bottom: 8px
}

.company-card address {
    font-style: normal;
    margin: 25px 0
}

.company-card dl {
    margin: 25px 0
}

.company-card dl>div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid var(--line);
    padding: 10px 0;
    font-size: 14px
}

.company-card dt {
    color: var(--muted)
}

.company-card dd {
    margin: 0;
    text-align: right;
    font-weight: bold
}

.company-card .micro {
    margin-bottom: 0
}

.contact-topics {
    padding-block: 20px 60px
}

.mail-note {
    margin-top: 25px
}

@media(max-width:1336px) {
    .pv-photo-intro:before {
        inset: 0 -48px
    }
}

@media(max-width:1150px) {
    .pv-photo-intro:before {
        inset: 0 -30px
    }
}

@media(max-width:760px) {
    .pv-page {
        background-attachment: scroll;
        background-size: auto 100svh;
        background-position: center top;
        background-repeat: repeat-y
    }

    .pv-photo-intro {
        min-height: calc(100svh - 95px);
        padding-block: 55px
    }

    .pv-photo-intro:before {
        inset: 0 -18px;
        background: linear-gradient(90deg, rgba(7, 34, 53, .8), rgba(7, 34, 53, .38))
    }

    .pv-photo-intro h1 {
        font-size: 48px
    }

    .pv-page .pv-panel {
        padding: 25px;
        margin-block: 25px
    }

    .contact-layout {
        grid-template-columns: 1fr;
        gap: 22px
    }

    .contact-primary,
    .company-card {
        padding: 25px
    }

    .contact-route strong {
        font-size: 23px
    }

    .company-card dl>div {
        flex-wrap: wrap
    }
}

@media print {
    .pv-page {
        background: white
    }

    .pv-photo-intro {
        min-height: 0;
        color: black
    }

    .pv-photo-intro:before {
        display: none
    }

    .pv-photo-intro .lead {
        color: black
    }

    .pv-photo-intro .actions {
        display: none
    }
}

.pv-page {
    overflow-x: clip
}
