﻿:root {
    --navy: #061d43;
    --navy-2: #0b2d5e;
    --gold: #f2b735;
    --gold-dark: #da9615;
    --ink: #0a1830;
    --muted: #667085;
    --line: #e6eaf0;
    --soft: #f6f8fb;
    --white: #fff;
    --reference: url('../images/nscmo-reference.png')
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: Manrope,Arial,sans-serif;
    font-size: 14px;
    line-height: 1.55
}

a {
    color: inherit;
    text-decoration: none
}

button, input, select, textarea {
    font: inherit
}

.shell {
    width: min(1120px,calc(100% - 40px));
    margin-inline: auto
}

.topbar {
    height: 34px;
    color: #fff;
    background: #061c41;
    font-size: 11px
}

.topbar-inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.top-contact {
    display: flex;
    gap: 28px;
    align-items: center
}

.main-nav {
    height: 76px;
    background: #fff;
    box-shadow: 0 2px 12px #071b3920;
    position: relative;
    z-index: 5
}

.nav-inner {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 28px
}

.brand {
    min-width: 255px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.15
}

    .brand > span:last-child {
        border-bottom: 5px double currentColor;
        padding-bottom: 4px
    }

.brand-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
    flex: none
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 47px;
    color: var(--navy);
    font-style: italic
}

    .brand-mark b {
        font-size: 20px
    }

    .brand-mark small {
        font-size: 8px
    }

.nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    flex: 1;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap
}

    .nav-links a {
        padding: 28px 0;
        position: relative
    }

        .nav-links a:hover:after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 3px;
            background: var(--gold)
        }

.button {
    min-height: 42px;
    padding: 11px 20px;
    border: 0;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s transform,.2s box-shadow
}

    .button:hover {
        transform: translateY(-1px);
        box-shadow: 0 8px 22px #061c4130
    }

.button-gold {
    background: linear-gradient(135deg,#ffd15c,#e7a21c);
    color: #132441
}

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

.button-green {
    background: #06b738;
    color: #fff
}

.button-outline {
    color: #fff;
    border: 1px solid #fff;
    background: #ffffff08
}

.nav-cta {
    min-width: 145px
}

.menu-toggle {
    display: none;
    border: 0;
    background: none;
    font-size: 25px;
    color: var(--navy)
}

.hero {
    height: 335px;
    color: #fff;
    background: linear-gradient(90deg,#041837 0%,#082550 55%,#102e54 100%);
    overflow: hidden
}

.hero-inner {
    height: 100%;
    display: grid;
    grid-template-columns: 48% 52%;
    position: relative
}

.hero-copy {
    z-index: 2;
    padding: 36px 0 25px
}

.eyebrow {
    margin: 0 0 4px;
    text-transform: uppercase;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: .03em
}

.gold {
    color: var(--gold)
}

.hero h1 {
    font-size: 39px;
    line-height: 1.1;
    margin: 5px 0 12px;
    letter-spacing: -1.5px
}

    .hero h1 em {
        color: var(--gold);
        font-style: normal
    }

.hero-copy > p:not(.eyebrow) {
    max-width: 520px;
    margin: 0;
    color: #f2f5fb;
    font-size: 13px
}

.hero-actions {
    display: flex;
    gap: 12px;
    margin: 20px 0 16px
}

.trust-points {
    display: flex;
    gap: 23px;
    font-size: 11px
}

    .trust-points span::first-letter {
        color: var(--gold)
    }

.hero-art {
    position: absolute;
    right: -2px;
    top: 0;
    width: 62%;
    height: 100%;
    background-image: linear-gradient(90deg,#071f48 0%,transparent 28%),var(--reference);
    background-size: auto,1125px 1999px;
    background-position: left top,-431px -101px;
    background-repeat: no-repeat;
    filter: saturate(1.05);
    mask-image: linear-gradient(90deg,transparent 0,#000 20%);
    -webkit-mask-image: linear-gradient(90deg,transparent 0,#000 20%)
}

.stats {
    height: 66px;
    color: #fff;
    background: linear-gradient(90deg,#082754,#061b3d)
}

.stats-grid {
    height: 100%;
    display: grid;
    grid-template-columns: repeat(5,1fr)
}

    .stats-grid > div {
        display: grid;
        grid-template-columns: 48px auto;
        grid-template-rows: 1fr 1fr;
        align-content: center;
        padding: 8px 20px;
        border-right: 1px solid #ffffff18
    }

    .stats-grid b {
        grid-row: 1/3;
        color: var(--gold);
        font-size: 32px;
        font-weight: 400;
        align-self: center
    }

    .stats-grid strong {
        color: var(--gold);
        font-size: 19px;
        line-height: 1.2
    }

    .stats-grid span {
        font-size: 10px
    }

.section {
    padding: 19px 0
}

.section-tight {
    padding-top: 0
}

.section-heading {
    margin-bottom: 12px
}

    .section-heading h2, .process h2 {
        margin: 0;
        font-size: 20px;
        line-height: 1.25
    }

.split-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

    .split-heading > p, .split-heading > a {
        font-size: 10px;
        text-align: right;
        color: #586276;
        margin: 0
    }

.service-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 6px
}

    .service-grid article {
        min-height: 148px;
        border: 1px solid var(--line);
        border-radius: 7px;
        padding: 14px;
        text-align: center;
        box-shadow: 0 3px 12px #0c1f3d0b
    }

    .service-grid i {
        display: block;
        font-style: normal;
        font-size: 28px;
        color: #10274b
    }

    .service-grid h3 {
        font-size: 13px;
        line-height: 1.35;
        margin: 4px 0 8px
    }

    .service-grid p {
        font-size: 10px;
        color: #333d4e;
        margin: 0
    }

.feature-row {
    display: grid;
    grid-template-columns: 56% 44%;
    gap: 16px
}

.chip-grid {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 7px
}

    .chip-grid span {
        border: 1px solid var(--line);
        border-radius: 4px;
        min-height: 45px;
        padding: 7px 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: 9px
    }

.why-us {
    background: linear-gradient(135deg,#061c3e,#0b315f);
    color: #fff;
    border-radius: 5px;
    padding: 15px 23px
}

.check-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 18px;
    font-size: 10px;
    margin: 12px 0
}

    .check-grid span::first-letter {
        color: var(--gold)
    }

.why-us .button {
    float: right;
    min-height: 32px;
    padding: 7px 19px
}

.industries {
    padding-top: 0
}

.industry-grid {
    display: grid;
    grid-template-columns: repeat(10,1fr);
    gap: 5px
}

.crop {
    height: 76px;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    background-image: var(--reference);
    background-size: 1125px 1999px;
    background-repeat: no-repeat
}

.crop.has-image {
    background-image: none
}

    .crop.has-image img {
        display: block;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center
    }

    .crop:after {
        content: "";
        position: absolute;
        inset: 40% 0 0;
        background: linear-gradient(transparent,#051328dd)
    }

    .crop span {
        position: absolute;
        z-index: 1;
        left: 7px;
        bottom: 6px;
        color: #fff;
        font-size: 9px
    }

.crop-1 {
    background-position: -51px -914px
}

.crop-2 {
    background-position: -153px -914px
}

.crop-3 {
    background-position: -255px -914px
}

.crop-4 {
    background-position: -357px -914px
}

.crop-5 {
    background-position: -459px -914px
}

.crop-6 {
    background-position: -561px -914px
}

.crop-7 {
    background-position: -663px -914px
}

.crop-8 {
    background-position: -765px -914px
}

.crop-9 {
    background-position: -867px -914px
}

.crop-10 {
    background-position: -969px -914px
}

.process {
    padding-top: 2px
}

.steps {
    padding: 8px 10px 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(11,1fr);
    list-style: none
}

    .steps li {
        text-align: center;
        position: relative
    }

        .steps li:not(:last-child):after {
            content: "";
            position: absolute;
            top: 13px;
            right: -8px;
            color: var(--gold-dark)
        }

    .steps b {
        margin: auto;
        display: grid;
        place-items: center;
        width: 39px;
        height: 39px;
        background: var(--navy);
        color: #fff;
        border-radius: 50%;
        font-size: 16px;
        box-shadow: inset 0 0 0 3px #0d3264
    }

    .steps span {
        display: block;
        font-size: 9px;
        margin-top: 4px
    }

.tracking-section {
    padding: 7px 0
}

.tracking-box {
    min-height: 105px;
    border-radius: 6px;
    color: #fff;
    padding: 14px 33px;
    background: linear-gradient(105deg,#061b3d,#0b356a);
    display: grid;
    grid-template-columns: 60% 40%;
    overflow: hidden
}

    .tracking-box h3 {
        font-size: 15px;
        margin: 0 0 8px
    }

.tracking-form {
    display: flex;
    gap: 10px
}

    .tracking-form input {
        height: 34px;
        border-radius: 3px;
        border: 0;
        padding: 8px 13px;
        flex: 1
    }

    .tracking-form .button {
        min-height: 34px;
        padding: 7px 25px
    }

.tracking-box small {
    font-size: 8px
}

.ship-art {
    font-size: 48px;
    color: #c9d8ed;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-3deg)
}

    .ship-art span {
        color: #e87527;
        font-size: 25px
    }

.form-section {
    padding: 0
}

.form-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr .85fr;
    gap: 8px
}

.panel, .whatsapp {
    min-height: 176px;
    background: var(--soft);
    border: 1px solid #edf0f4;
    border-radius: 5px;
    padding: 13px 22px
}

    .panel h3, .contact-area h3 {
        font-size: 10px;
        margin: 0 0 8px
    }

.fields {
    display: grid;
    gap: 7px
}

    .fields.two, .two {
        grid-template-columns: 1fr 1fr
    }

    .fields .wide {
        grid-column: 1/-1
    }

    .fields input, .fields select, .fields textarea, .newsletter input {
        width: 100%;
        border: 1px solid #e6eaf0;
        background: #fff;
        border-radius: 3px;
        min-height: 32px;
        padding: 7px 10px;
        font-size: 9px
    }

    .fields textarea {
        min-height: 62px;
        resize: vertical
    }

.full {
    width: 100%;
    min-height: 30px;
    padding: 6px;
    margin-top: 7px
}

.dropzone {
    height: 93px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px dashed #bdc5d1;
    background: #fff;
    text-align: center;
    font-size: 23px
}

    .dropzone strong {
        font-size: 9px;
        font-weight: 500
    }

    .dropzone small {
        font-size: 7px;
        color: var(--muted)
    }

.whatsapp {
    color: #fff;
    background: linear-gradient(145deg,#041b3f,#092d5a);
    padding: 26px
}

.wa-icon {
    color: #00d23b;
    font-size: 36px
}

.whatsapp h3 {
    text-transform: uppercase;
    font-size: 12px;
    margin: 6px 0 0
}

.whatsapp p {
    font-size: 10px;
    margin: 0 0 8px
}

.whatsapp .button {
    width: 100%;
    min-height: 30px;
    padding: 6px
}

.testimonials {
    padding-bottom: 7px
}

.testimonial-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr .55fr;
    gap: 10px
}

    .testimonial-grid blockquote, .contact-mini {
        margin: 0;
        border: 1px solid var(--line);
        border-radius: 6px;
        padding: 14px;
        min-height: 112px;
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 8px;
        box-shadow: 0 2px 9px #0921440b
    }

        .testimonial-grid blockquote p {
            font-size: 8px;
            margin: 0
        }

        .testimonial-grid blockquote footer {
            grid-column: 2;
            font-size: 8px
        }

            .testimonial-grid blockquote footer b, .testimonial-grid blockquote footer small {
                display: block
            }

.avatar {
    grid-row: 1/3;
    width: 40px;
    height: 50px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(#d6e2ee,#17365e);
    border-radius: 50% 50% 5px 5px;
    font-size: 10px
}

.avatar-3 {
    background: linear-gradient(#f4d2bd,#526c94)
}

.contact-mini {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 8px
}

.partner-row {
    display: grid;
    grid-template-columns: repeat(8,1fr);
    gap: 8px
}

    .partner-row span {
        min-height: 44px;
        border: 1px solid var(--line);
        border-radius: 5px;
        padding: 8px;
        text-align: center;
        font-size: 8px;
        color: #526074;
        line-height: 1.1
    }

.insights {
    padding-top: 3px
}

.insight-contact {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 18px
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px
}

    .blog-grid article {
        border: 1px solid var(--line);
        border-radius: 5px;
        padding: 5px 5px 9px
    }

.blog-img {
    height: 75px;
    border-radius: 3px;
    background-image: var(--reference);
    background-size: 1125px 1999px
}

.blog-1 {
    background-position: -56px -1674px
}

.blog-2 {
    background-position: -248px -1674px
}

.blog-3 {
    background-position: -442px -1674px
}

.blog-grid small {
    font-size: 7px;
    color: #667085
}

.blog-grid h3 {
    font-size: 9px;
    margin: 3px 0;
    line-height: 1.4
}

.blog-grid a, .split-heading a {
    font-size: 8px;
    color: var(--gold-dark)
}

.contact-area {
    background: var(--soft);
    padding: 13px 20px;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 15px
}

    .contact-area p {
        font-size: 9px;
        margin: 6px 0
    }

.socials {
    display: flex;
    gap: 9px
}

    .socials span, .socials a {
        width: 21px;
        height: 21px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: #173b6d;
        color: #fff;
        font-size: 8px
    }

.faq-section {
    background: #071f48;
    color: #fff;
    padding: 20px 0
}

    .faq-section .shell {
        display: grid;
        grid-template-columns: 240px 1fr 1fr;
        gap: 20px
    }

    .faq-section details {
        font-size: 10px;
        border-left: 1px solid #ffffff22;
        padding-left: 20px
    }

    .faq-section summary {
        font-weight: 700;
        cursor: pointer
    }

    .faq-section details p {
        color: #c8d3e1
    }

.footer {
    color: #d8e2ef;
    background: linear-gradient(125deg,#051a3a,#082b58);
    padding: 20px 0 8px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.45fr repeat(4,1fr) 1.25fr;
    gap: 23px
}

.brand-light {
    color: #fff;
    min-width: 0
}

.footer h4 {
    color: var(--gold);
    font-size: 9px;
    text-transform: uppercase;
    margin: 0 0 9px
}

.footer p, .footer a {
    font-size: 8px
}

.footer-grid > div > a:not(.brand) {
    display: block;
    margin: 3px 0
}

.newsletter {
    display: grid;
    grid-template-columns: 1fr auto
}

    .newsletter .button {
        min-height: 31px;
        padding: 5px 10px
    }

.copyright {
    border-top: 1px solid #ffffff17;
    margin-top: 15px;
    padding-top: 8px;
    display: flex;
    justify-content: space-between;
    font-size: 7px
}

.toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 20;
    padding: 13px 20px;
    color: #fff;
    background: #0b7646;
    border-radius: 5px;
    box-shadow: 0 8px 30px #0004;
    opacity: 0;
    transform: translateY(15px);
    pointer-events: none;
    transition: .25s
}

    .toast.show {
        opacity: 1;
        transform: none
    }

@media(max-width: 1050px) {
    .nav-links {
        gap: 14px
    }

        .nav-links a:nth-last-child(-n+2) {
            display: none
        }

    .nav-cta {
        display: none
    }

    .industry-grid {
        grid-template-columns: repeat(5,1fr)
    }

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

    .partner-row {
        grid-template-columns: repeat(4,1fr)
    }

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

@media(max-width: 760px) {
    body {
        font-size: 13px
    }

    .shell {
        width: min(100% - 28px,620px)
    }

    .topbar {
        height: auto;
        padding: 7px 0
    }

    .topbar-inner {
        justify-content: center
    }

    .top-contact {
        display: none
    }

    .main-nav {
        height: 68px
    }

    .brand {
        min-width: 0;
        flex: 1
    }

    .nav-inner {
        gap: 12px
    }

    .menu-toggle {
        display: block
    }

    .nav-links {
        display: none;
        position: absolute;
        top: 68px;
        left: 0;
        right: 0;
        background: #fff;
        padding: 12px 22px;
        box-shadow: 0 12px 30px #071b3925;
        flex-direction: column;
        align-items: flex-start;
        gap: 0
    }

        .nav-links.open {
            display: flex
        }

        .nav-links a, .nav-links a:nth-last-child(-n+2) {
            display: block;
            padding: 8px 0
        }

    .hero {
        height: auto;
        min-height: 480px
    }

    .hero-inner {
        display: block
    }

    .hero-copy {
        padding: 42px 0 30px
    }

    .hero h1 {
        font-size: 32px
    }

    .hero-copy > p:not(.eyebrow) {
        max-width: 95%
    }

    .hero-art {
        inset: auto -100px 0 auto;
        width: 520px;
        height: 230px;
        opacity: .38;
        background-position: -345px -70px
    }

    .trust-points {
        font-size: 9px;
        gap: 10px
    }

    .stats {
        height: auto
    }

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

        .stats-grid > div {
            min-height: 65px
        }

            .stats-grid > div:last-child {
                grid-column: 1/-1
            }

    .split-heading {
        align-items: flex-start;
        gap: 12px
    }

        .split-heading > p br {
            display: none
        }

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

        .service-grid article:last-child {
            grid-column: 1/-1
        }

    .feature-row {
        grid-template-columns: 1fr
    }

    .chip-grid {
        grid-template-columns: repeat(3,1fr)
    }

    .why-us {
        padding-bottom: 55px
    }

    .industry-grid {
        grid-template-columns: repeat(2,1fr)
    }

    .crop {
        background-size: 1125px 1999px
    }

    .steps {
        grid-template-columns: repeat(4,1fr);
        gap: 15px
    }

        .steps li:not(:last-child):after {
            display: none
        }

    .tracking-box {
        grid-template-columns: 1fr;
        padding: 18px
    }

    .ship-art {
        display: none
    }

    .tracking-form {
        flex-direction: column
    }

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

    .panel, .whatsapp {
        min-height: 0
    }

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

    .partner-row {
        grid-template-columns: 1fr 1fr
    }

    .insight-contact {
        grid-template-columns: 1fr
    }

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

    .blog-img {
        height: 135px
    }

    .contact-area {
        grid-template-columns: 1fr
    }

    .faq-section .shell {
        grid-template-columns: 1fr
    }

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

        .footer-grid > div:first-child, .footer-grid > div:last-child {
            grid-column: 1/-1
        }

    .copyright {
        gap: 10px;
        flex-direction: column
    }

    .hero-actions {
        flex-wrap: wrap
    }
}

@media(max-width: 420px) {
    .brand {
        font-size: 11px
    }

    .brand-mark {
        width: 36px
    }

    .hero h1 {
        font-size: 28px
    }

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

        .service-grid article:last-child {
            grid-column: auto
        }

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

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

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

        .footer-grid > div:first-child, .footer-grid > div:last-child {
            grid-column: auto
        }
}

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

    .button, .toast {
        transition: none
    }
}

@media(max-width: 760px) {
    .hero-art {
        background-position: left top,-431px -101px
    }
}

.testimonial-layout {
    display: grid;
    grid-template-columns: 1fr .18fr;
    gap: 10px;
    align-items: stretch
}

.testimonial-window {
    overflow: hidden
}

.testimonial-track {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
    gap: 10px
}

    .testimonial-track blockquote {
        margin: 0;
        border: 1px solid var(--line);
        border-radius: 6px;
        padding: 14px;
        min-height: 132px;
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 10px;
        box-shadow: 0 2px 9px #0921440b;
        background: #fff
    }

        .testimonial-track blockquote p {
            font-size: 9px;
            margin: 3px 0 8px
        }

        .testimonial-track blockquote footer {
            font-size: 8px
        }

            .testimonial-track blockquote footer b, .testimonial-track blockquote footer small {
                display: block
            }

.testimonial-stars {
    display: flex;
    gap: 1px;
    color: var(--gold-dark);
    font-size: 10px;
    line-height: 1
}

.testimonial-track .avatar {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat
}

    .testimonial-track .avatar[style] {
        font-size: 0
    }

.testimonial-loop .testimonial-window {
    mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
    -webkit-mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)
}

.testimonial-loop .testimonial-track {
    display: flex;
    width: max-content;
    animation: testimonialMarquee 35s linear infinite
}

    .testimonial-loop .testimonial-track:hover {
        animation-play-state: paused
    }

.testimonial-loop blockquote {
    width: 245px;
    flex: 0 0 245px
}

@keyframes testimonialMarquee {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}

@media(max-width: 760px) {
    .testimonial-layout {
        grid-template-columns: 1fr
    }

    .testimonial-loop blockquote {
        width: 260px;
        flex-basis: 260px
    }
}

@media(prefers-reduced-motion:reduce) {
    .testimonial-loop .testimonial-track {
        animation: none;
        overflow-x: auto;
        width: auto
    }

    .testimonial-loop blockquote {
        width: auto;
        flex: 0 0 260px
    }
}

.partner-row a, .partner-row span {
    min-height: 58px;
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 8px;
    text-align: center;
    font-size: 8px;
    color: #526074;
    line-height: 1.1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background: #fff
}

    .partner-row a:hover {
        border-color: var(--gold);
        box-shadow: 0 4px 14px #09214412;
        transform: translateY(-1px)
    }

.partner-logo {
    width: 34px;
    height: 24px;
    display: grid;
    place-items: center;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    color: var(--navy);
    font-size: 13px
}

    .partner-logo[style] {
        font-size: 0
    }

.partner-card {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 42px;
    padding: 7px 10px;
    border: 1px solid #d9e1ec;
    border-radius: 5px;
    background: #fff;
    color: var(--navy);
    text-align: center;
    text-decoration: none;
    line-height: 1.1;
    transition: border-color .2s,box-shadow .2s,transform .2s
}

    .partner-card:hover {
        border-color: var(--gold);
        box-shadow: 0 4px 14px #09214412;
        transform: translateY(-1px)
    }

    .partner-card b {
        display: block;
        max-width: 100%;
        overflow: hidden;
        color: var(--navy);
        font-size: 8px;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap
    }

.partner-row .partner-logo, .partner-row .partner-logo span {
    width: 13px;
    height: 11px;
    min-height: 0;
    margin: 0 0 2px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    color: var(--navy);
    font-size: 8px;
    line-height: 1
}

    .partner-row .partner-logo[style] {
        font-size: 0
    }

/* Interactive and accessibility states */
html {
    scroll-padding-top: 84px
}

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

.honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important
}

.nav-links a.active:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--gold)
}

.page-hero {
    padding: 72px 0;
    background: linear-gradient(120deg,#061c41,#0b376f);
    color: #fff
}

    .page-hero .shell {
        max-width: 850px;
        margin-left: max(20px,calc((100% - 1120px)/2))
    }

    .page-hero h1 {
        margin: 8px 0 14px;
        font-size: 42px;
        line-height: 1.15
    }

    .page-hero p:last-child {
        max-width: 720px;
        font-size: 16px;
        color: #dbe7f8
    }

.page-copy {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 56px;
    align-items: center
}

    .page-copy > div > p {
        max-width: 680px
    }

.page-cta {
    margin-top: 44px;
    padding: 30px;
    border-radius: 8px;
    background: #f3f6fa;
    text-align: center
}

    .page-cta h2 {
        margin: 0 0 8px
    }

    .page-cta p {
        margin: 0 0 20px
    }

.tracking-page {
    min-height: 430px
}

.faq-page {
    min-height: 520px;
    padding: 65px 0
}

.page-contact {
    grid-template-columns: .75fr 1.25fr;
    max-width: 950px
}

.page-footer .footer-grid {
    align-items: start
}

.page-footer .newsletter input {
    min-width: 0
}

.service-grid article a, .blog-grid article > a {
    color: var(--navy);
    font-weight: 700
}

    .service-grid article a:hover, .blog-grid article > a:hover {
        text-decoration: underline
    }

.page-hero.compact {
    padding: 54px 0
}

.content-section {
    padding: 56px 0
}

.rich-content {
    max-width: 900px;
    color: var(--ink);
    font-size: 16px;
    line-height: 1.75
}

    .rich-content h2, .rich-content h3 {
        margin: 28px 0 12px;
        color: var(--navy);
        line-height: 1.25
    }

    .rich-content p, .rich-content ul, .rich-content ol {
        margin: 0 0 18px
    }

    .rich-content ul, .rich-content ol {
        padding-left: 24px
    }

    .rich-content a {
        color: var(--gold);
        font-weight: 700
    }

@media(max-width: 760px) {
    .page-hero {
        padding: 48px 0
    }

        .page-hero h1 {
            font-size: 32px
        }

    .page-copy, .page-contact {
        grid-template-columns: 1fr
    }

    .page-copy {
        gap: 28px
    }

    .faq-page {
        padding: 45px 0
    }

    .page-footer {
        padding-top: 28px
    }

        .page-footer .footer-grid {
            gap: 25px 30px
        }

        .page-footer p, .page-footer a {
            font-size: 11px
        }

        .page-footer h4 {
            font-size: 11px
        }

        .page-footer .copyright {
            align-items: flex-start
        }
}

@media(max-width: 420px) {
    .page-footer .newsletter {
        grid-template-columns: 1fr;
        gap: 7px
    }

        .page-footer .newsletter .button {
            width: 100%
        }
}

/* About page */
.about-story {
    padding: 82px 0
}

    .about-story .page-copy {
        align-items: stretch
    }

        .about-story .page-copy > div {
            padding: 15px 0
        }

    .about-story h2, .about-heading h2 {
        margin: 7px 0 18px;
        color: var(--navy);
        font-size: 34px;
        line-height: 1.2
    }

    .about-story .page-copy > div p {
        font-size: 14px;
        color: #5b6678;
        line-height: 1.8
    }

    .about-story .about-lead {
        font-size: 17px !important;
        color: #203653 !important;
        font-weight: 600
    }

    .about-story .why-us {
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-radius: 14px;
        padding: 38px;
        background: linear-gradient(145deg,#061c41,#0b376f);
        box-shadow: 0 24px 50px #061c4128
    }

        .about-story .why-us h3 {
            margin: 5px 0 25px;
            color: #fff;
            font-size: 25px
        }

        .about-story .why-us .button {
            align-self: flex-start;
            margin-top: 24px
        }

.about-image-stack {
    display: grid;
    gap: 16px
}

    .about-image-stack img {
        display: block;
        width: 100%;
        max-height: 280px;
        object-fit: cover;
        border-radius: 10px;
        box-shadow: 0 16px 34px #061c4130
    }

        .about-image-stack img:nth-child(2) {
            width: 82%;
            margin-left: auto
        }

.company-journey {
    overflow: hidden;
    background: #f5f8fc;
    padding: 80px 0
}

.about-heading {
    max-width: 680px;
    margin: 0 auto 45px;
    text-align: center
}

    .about-heading > p:last-child {
        color: #657186;
        font-size: 14px
    }

.company-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 24px;
    margin: 0;
    padding: 32px 0 0;
    list-style: none
}

    .company-timeline:before {
        content: "";
        position: absolute;
        top: 48px;
        left: 8%;
        right: 8%;
        height: 2px;
        background: linear-gradient(90deg,var(--gold),#0d477e)
    }

    .company-timeline li {
        position: relative;
        padding-top: 54px;
        text-align: center
    }

        .company-timeline li:before {
            content: "";
            position: absolute;
            z-index: 1;
            top: 8px;
            left: 50%;
            width: 18px;
            height: 18px;
            border: 6px solid #f5f8fc;
            border-radius: 50%;
            background: var(--gold);
            box-shadow: 0 0 0 2px var(--gold-dark);
            transform: translateX(-50%)
        }

.timeline-year {
    position: absolute;
    top: -25px;
    left: 50%;
    padding: 5px 12px;
    border-radius: 20px;
    color: #fff;
    background: var(--navy);
    font-size: 11px;
    font-weight: 800;
    transform: translateX(-50%)
}

.company-timeline h3 {
    margin: 0 0 9px;
    color: var(--navy);
    font-size: 15px
}

.company-timeline p {
    margin: 0;
    color: #657186;
    font-size: 11px;
    line-height: 1.7
}

.leadership-section {
    padding: 80px 0
}

.management-section {
    background: #f7f9fc
}

.leadership-grid {
    display: grid;
    grid-auto-flow: column;
    gap: 25px;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 4px 22px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch
}

    .leadership-grid::-webkit-scrollbar {
        height: 8px
    }

    .leadership-grid::-webkit-scrollbar-track {
        background: #e9eef5;
        border-radius: 999px
    }

    .leadership-grid::-webkit-scrollbar-thumb {
        background: #b9c3d2;
        border-radius: 999px
    }

.board-grid {
    grid-auto-columns: 300px
}

.management-grid {
    grid-auto-columns: 240px
}

.leader-card {
    overflow: hidden;
    border: 1px solid #e5eaf1;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 35px #061c4112;
    scroll-snap-align: start;
    transition: transform .25s,box-shadow .25s
}

    .leader-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 45px #061c4123
    }

.leader-photo {
    aspect-ratio: 1/1;
    background-image: url('../images/team-leadership.png');
    background-repeat: no-repeat;
    background-size: 400% 200%;
    filter: saturate(.92)
}

.uploaded-leader-photo {
    background-position: center;
    background-size: cover
}

.portrait-1 {
    background-position: 0 0
}

.portrait-2 {
    background-position: 33.333% 0
}

.portrait-3 {
    background-position: 66.667% 0
}

.portrait-4 {
    background-position: 100% 0
}

.portrait-5 {
    background-position: 0 100%
}

.portrait-6 {
    background-position: 33.333% 100%
}

.portrait-7 {
    background-position: 66.667% 100%
}

.portrait-8 {
    background-position: 100% 100%
}

.leader-info {
    padding: 22px
}

    .leader-info span {
        display: block;
        color: var(--gold-dark);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase
    }

    .leader-info h3 {
        margin: 5px 0 10px;
        color: var(--navy);
        font-size: 18px
    }

    .leader-info p {
        margin: 0;
        color: #6a7484;
        font-size: 11px;
        line-height: 1.65
    }

.leader-card.compact .leader-info {
    padding: 18px
}

    .leader-card.compact .leader-info h3 {
        font-size: 16px
    }

.about-closing {
    padding: 48px 0;
    color: #fff;
    background: linear-gradient(110deg,#071f48,#0d477e)
}

    .about-closing .shell {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 30px
    }

    .about-closing h2 {
        margin: 5px 0 0;
        font-size: 27px
    }

    .about-closing .button {
        flex: none
    }

@media(max-width: 1050px) {
    .company-timeline {
        gap: 14px
    }

        .company-timeline p {
            font-size: 10px
        }
}

@media(max-width: 760px) {
    .about-story, .company-journey, .leadership-section {
        padding: 55px 0
    }

        .about-story h2, .about-heading h2 {
            font-size: 28px
        }

        .about-story .why-us {
            padding: 28px
        }

    .company-timeline {
        display: block;
        padding: 0 0 0 55px
    }

        .company-timeline:before {
            top: 0;
            bottom: 0;
            left: 15px;
            width: 2px;
            height: auto
        }

        .company-timeline li {
            min-height: 125px;
            padding: 0 0 30px;
            text-align: left
        }

            .company-timeline li:before {
                top: 3px;
                left: -39px
            }

    .timeline-year {
        position: static;
        display: inline-block;
        margin-bottom: 10px;
        transform: none
    }

    .company-timeline p {
        font-size: 12px
    }

    .board-grid, .management-grid {
        grid-auto-columns: minmax(235px,82vw)
    }

    .about-closing .shell {
        align-items: flex-start;
        flex-direction: column
    }

    .about-closing h2 {
        font-size: 23px
    }
}

@media(max-width: 480px) {
    .board-grid, .management-grid {
        grid-auto-columns: minmax(220px,88vw)
    }

    .leader-info {
        padding: 20px
    }

        .leader-info h3 {
            font-size: 17px
        }

    .about-heading {
        margin-bottom: 30px
    }

    .about-story .about-lead {
        font-size: 15px !important
    }
}

/* Services page */
.services-intro {
    padding: 55px 0;
    border-bottom: 1px solid #e7ecf2;
    background: #fff
}

    .services-intro .shell {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: end;
        gap: 70px
    }

    .services-intro h2 {
        margin: 6px 0 0;
        color: var(--navy);
        font-size: 34px;
        line-height: 1.2
    }

    .services-intro .shell > p {
        margin: 0;
        color: #647084;
        font-size: 14px;
        line-height: 1.8
    }

.services-showcase {
    padding: 75px 0;
    background: #f5f8fc
}

.service-detail-list {
    display: grid;
    gap: 32px
}

.service-detail-card {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: start;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 15px 45px #061c4110
}

    .service-detail-card:nth-child(even) .service-photo {
        grid-column: 2
    }

    .service-detail-card:nth-child(even) .service-card-content {
        grid-column: 1;
        grid-row: 1
    }

.service-photo {
    width: 100%;
    aspect-ratio: 1.15;
    background-image: url('../images/service-solutions.png');
    background-repeat: no-repeat;
    background-size: 300% auto
}

.service-photo-1 {
    background-position: 0 0
}

.service-photo-2 {
    background-position: 50% 0
}

.service-photo-3 {
    background-position: 100% 0
}

.service-photo-4 {
    background-position: 0 100%
}

.service-photo-5 {
    background-position: 50% 100%
}

.service-card-content {
    padding: 38px 42px
}

.service-number {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--gold-dark)
}

    .service-number span {
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .15em
    }

    .service-number i {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: #fff6dc;
        font-size: 20px;
        font-style: normal
    }

.service-card-content > h2 {
    margin: 14px 0 10px;
    color: var(--navy);
    font-size: 27px;
    line-height: 1.25
}

.service-summary {
    margin: 0 0 22px;
    color: #667286;
    font-size: 14px
}

.service-details {
    border-top: 1px solid #e7ebf0
}

    .service-details summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 18px 0;
        color: var(--navy);
        font-size: 12px;
        font-weight: 800;
        cursor: pointer;
        list-style: none
    }

        .service-details summary::-webkit-details-marker {
            display: none
        }

        .service-details summary:after {
            content: "+";
            display: grid;
            place-items: center;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            color: #fff;
            background: var(--navy);
            font-size: 18px;
            transition: transform .25s,background .25s
        }

    .service-details[open] summary:after {
        content: "-";
        background: var(--gold-dark);
        transform: rotate(180deg)
    }

.service-details-body {
    padding: 4px 0 5px;
    animation: serviceReveal .3s ease
}

    .service-details-body > p {
        color: #566276;
        font-size: 12px;
        line-height: 1.75
    }

    .service-details-body h3 {
        margin: 20px 0 10px;
        color: var(--navy);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: .08em
    }

    .service-details-body ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px;
        margin: 0 0 20px;
        padding: 0;
        list-style: none
    }

    .service-details-body li {
        color: #40516a;
        font-size: 11px
    }

.best-for {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding: 13px 15px;
    border-left: 3px solid var(--gold);
    background: #f6f8fb
}

    .best-for span {
        color: #778195;
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase
    }

    .best-for strong {
        color: var(--navy);
        font-size: 11px
    }

.service-details-body .button {
    min-height: 38px
}

@keyframes serviceReveal {
    from {
        opacity: 0;
        transform: translateY(-8px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.service-uploaded-photo {
    display: block;
    height: 100%;
    object-fit: cover;
    background-image: none
}

.service-detail-card[hidden], .service-scroll-sentinel[hidden] {
    display: none
}

.service-detail-card {
    cursor: pointer
}

    .service-detail-card a, .service-detail-card summary {
        cursor: pointer
    }

.service-scroll-sentinel {
    display: grid;
    place-items: center;
    min-height: 74px;
    border: 1px dashed #d9e2ec;
    border-radius: 14px;
    color: #667286;
    background: #fff;
    font-size: 12px;
    font-weight: 800
}

.industry-photo.industry-uploaded-photo {
    display: block;
    width: 100%;
    aspect-ratio: 1.7;
    height: auto;
    object-fit: contain;
    background: #f3f6fa;
    background-image: none
}

.service-support {
    padding: 80px 0
}

.service-chip-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 12px
}

    .service-chip-grid span {
        display: flex;
        align-items: center;
        min-height: 58px;
        padding: 14px 18px;
        border: 1px solid #e1e7ef;
        border-radius: 9px;
        color: #334762;
        background: #fff;
        box-shadow: 0 5px 20px #061c4109;
        font-size: 11px;
        font-weight: 700;
        transition: border-color .2s,transform .2s
    }

        .service-chip-grid span:hover {
            border-color: var(--gold);
            transform: translateY(-3px)
        }

.service-method {
    padding: 70px 0;
    color: #fff;
    background: linear-gradient(120deg,#061c41,#0b376f)
}

    .service-method > .shell > div:first-child {
        display: flex;
        align-items: end;
        justify-content: space-between;
        margin-bottom: 40px
    }

    .service-method h2 {
        margin: 5px 0 0;
        font-size: 30px
    }

    .service-method ol {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 1px;
        margin: 0;
        padding: 0;
        overflow: hidden;
        border-radius: 12px;
        background: #ffffff1c;
        list-style: none
    }

    .service-method li {
        display: flex;
        gap: 15px;
        min-height: 120px;
        padding: 25px;
        background: #ffffff0a
    }

        .service-method li b {
            color: var(--gold);
            font-size: 18px
        }

        .service-method li span {
            color: #cbd7e6;
            font-size: 11px;
            line-height: 1.6
        }

        .service-method li strong {
            display: block;
            margin-bottom: 7px;
            color: #fff;
            font-size: 14px
        }

.services-closing {
    background: linear-gradient(110deg,#9b6510,#d69722)
}

    .services-closing .eyebrow {
        color: #fff
    }

    .services-closing .button {
        color: var(--navy);
        background: #fff
    }

@media(max-width: 900px) {
    .service-detail-card {
        grid-template-columns: 1fr 1.15fr
    }

    .service-card-content {
        padding: 28px
    }

    .service-chip-grid {
        grid-template-columns: repeat(3,1fr)
    }

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

@media(max-width: 760px) {
    .services-intro .shell {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .services-intro h2 {
        font-size: 28px
    }

    .services-showcase {
        padding: 50px 0
    }

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

        .service-detail-card:nth-child(even) .service-photo, .service-detail-card:nth-child(even) .service-card-content {
            grid-column: 1;
            grid-row: auto
        }

    .service-photo {
        aspect-ratio: 1.65;
        background-size: 300% auto
    }

    .service-card-content {
        padding: 26px
    }

        .service-card-content > h2 {
            font-size: 23px
        }

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

    .service-method {
        padding: 50px 0
    }

        .service-method h2 {
            font-size: 25px
        }

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

        .service-method li {
            min-height: 105px
        }
}

@media(max-width: 480px) {
    .service-details-body ul, .service-chip-grid, .service-method ol {
        grid-template-columns: 1fr
    }

    .service-method li {
        min-height: 0
    }

    .service-card-content {
        padding: 22px
    }

    .service-summary {
        font-size: 13px
    }

    .best-for {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px
    }
}

/* Industries page */
.industry-intro {
    padding: 58px 0;
    background: #fff
}

    .industry-intro .shell {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: end;
        gap: 70px
    }

    .industry-intro h2 {
        margin: 6px 0 0;
        color: var(--navy);
        font-size: 34px;
        line-height: 1.2
    }

    .industry-intro .shell > p {
        margin: 0;
        color: #647084;
        font-size: 14px;
        line-height: 1.8
    }

.industry-jump {
    border-block: 1px solid #e5eaf0;
    background: #f8fafc
}

    .industry-jump .shell {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-block: 13px;
        scrollbar-width: thin
    }

    .industry-jump a {
        flex: none;
        padding: 8px 13px;
        border: 1px solid #dfe5ed;
        border-radius: 20px;
        color: #41536c;
        background: #fff;
        font-size: 10px;
        font-weight: 700;
        transition: .2s
    }

        .industry-jump a:hover {
            border-color: var(--gold);
            color: var(--navy);
            background: #fff8e5
        }

.industry-showcase {
    padding: 72px 0;
    background: #f3f6fa
}

.industry-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px
}

.industry-detail-card {
    overflow: hidden;
    border: 1px solid #e1e7ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 35px #061c410d;
    scroll-margin-top: 20px;
    transition: transform .25s,box-shadow .25s
}

    .industry-detail-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 20px 48px #061c411b
    }

.industry-photo {
    aspect-ratio: 1.7;
    background-image: url('../images/industry-sectors.png');
    background-repeat: no-repeat;
    background-size: 400% auto
}

.industry-photo-1 {
    background-position: 0 0
}

.industry-photo-2 {
    background-position: 33.333% 0
}

.industry-photo-3 {
    background-position: 66.667% 0
}

.industry-photo-4 {
    background-position: 100% 0
}

.industry-photo-5 {
    background-position: 0 50%
}

.industry-photo-6 {
    background-position: 33.333% 50%
}

.industry-photo-7 {
    background-position: 66.667% 50%
}

.industry-photo-8 {
    background-position: 100% 50%
}

.industry-photo-9 {
    background-position: 0 100%
}

.industry-photo-10 {
    background-position: 33.333% 100%
}

.industry-card-body {
    padding: 26px 28px
}

.industry-card-title {
    display: flex;
    align-items: flex-start;
    gap: 17px
}

    .industry-card-title > span {
        display: grid;
        place-items: center;
        flex: none;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        color: var(--navy);
        background: #fff3ce;
        font-size: 10px;
        font-weight: 800
    }

    .industry-card-title p {
        margin: 0;
        color: var(--gold-dark);
        font-size: 9px;
        font-weight: 800;
        letter-spacing: .05em;
        text-transform: uppercase
    }

    .industry-card-title h2 {
        margin: 3px 0 12px;
        color: var(--navy);
        font-size: 23px
    }

.industry-card-body > p {
    min-height: 66px;
    margin: 0;
    color: #657186;
    font-size: 12px;
    line-height: 1.75
}

.industry-details {
    margin-top: 20px;
    border-top: 1px solid #e5eaf0
}

    .industry-details summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 17px 0;
        color: var(--navy);
        font-size: 11px;
        font-weight: 800;
        cursor: pointer;
        list-style: none
    }

        .industry-details summary::-webkit-details-marker {
            display: none
        }

        .industry-details summary:after {
            content: "+";
            display: grid;
            place-items: center;
            width: 27px;
            height: 27px;
            border-radius: 50%;
            color: #fff;
            background: var(--navy);
            font-size: 17px;
            transition: .2s
        }

    .industry-details[open] summary:after {
        content: "âˆ’";
        background: var(--gold-dark);
        transform: rotate(180deg)
    }

    .industry-details > div {
        padding: 0 0 4px;
        animation: serviceReveal .3s ease
    }

    .industry-details h3 {
        margin: 4px 0 12px;
        color: #667286;
        font-size: 10px;
        letter-spacing: .08em;
        text-transform: uppercase
    }

    .industry-details ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin: 0 0 20px;
        padding: 0;
        list-style: none
    }

    .industry-details li {
        color: #40516a;
        font-size: 10px
    }

    .industry-details .button {
        width: 100%;
        min-height: 38px
    }

.industry-confidence {
    padding: 30px 0;
    color: #fff;
    background: linear-gradient(110deg,#061c41,#0d477e)
}

    .industry-confidence .shell {
        display: grid;
        grid-template-columns: repeat(4,1fr)
    }

        .industry-confidence .shell > div {
            padding: 8px 24px;
            border-right: 1px solid #ffffff25;
            text-align: center
        }

            .industry-confidence .shell > div:last-child {
                border: 0
            }

    .industry-confidence strong {
        display: block;
        color: var(--gold);
        font-size: 27px
    }

    .industry-confidence span {
        font-size: 10px;
        color: #cbd7e6
    }

@media(max-width: 900px) {
    .industry-detail-grid {
        gap: 20px
    }

    .industry-card-body {
        padding: 23px
    }

    .industry-details ul {
        grid-template-columns: 1fr
    }

    .industry-card-body > p {
        min-height: 85px
    }
}

@media(max-width: 760px) {
    .industry-intro .shell {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .industry-intro h2 {
        font-size: 28px
    }

    .industry-showcase {
        padding: 50px 0
    }

    .industry-detail-grid {
        grid-template-columns: 1fr
    }

    .industry-photo {
        aspect-ratio: 1.8
    }

    .industry-card-body > p {
        min-height: 0
    }

    .industry-details ul {
        grid-template-columns: 1fr 1fr
    }

    .industry-confidence .shell {
        grid-template-columns: 1fr 1fr;
        gap: 20px 0
    }

        .industry-confidence .shell > div:nth-child(2) {
            border-right: 0
        }
}

@media(max-width: 480px) {
    .industry-card-body {
        padding: 21px
    }

    .industry-card-title h2 {
        font-size: 20px
    }

    .industry-details ul {
        grid-template-columns: 1fr
    }

    .industry-confidence .shell > div {
        padding: 8px
    }

    .industry-confidence strong {
        font-size: 23px
    }

    .industry-confidence span {
        font-size: 9px
    }
}

/* How it works page */
.process-intro {
    padding: 58px 0;
    background: #fff
}

    .process-intro .shell {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: end;
        gap: 70px
    }

    .process-intro h2 {
        margin: 6px 0 0;
        color: var(--navy);
        font-size: 34px;
        line-height: 1.2
    }

    .process-intro .shell > p {
        margin: 0;
        color: #647084;
        font-size: 14px;
        line-height: 1.8
    }

.interactive-process {
    padding: 72px 0;
    background: #f3f6fa
}

.process-flow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(11,minmax(92px,1fr));
    gap: 8px;
    overflow-x: auto;
    padding: 12px 4px 25px;
    scrollbar-width: thin
}

    .process-flow:before {
        content: "";
        position: absolute;
        top: 38px;
        left: 45px;
        right: 45px;
        height: 2px;
        background: linear-gradient(90deg,var(--gold),#0c477e)
    }

.process-flow-step {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding: 0 3px;
    border: 0;
    color: #68758a;
    background: transparent;
    text-align: center;
    cursor: pointer
}

    .process-flow-step > span {
        display: grid;
        place-items: center;
        width: 52px;
        height: 52px;
        margin: 0 auto 12px;
        border: 5px solid #f3f6fa;
        border-radius: 50%;
        color: var(--navy);
        background: #fff;
        box-shadow: 0 0 0 2px #cad4e0;
        font-size: 11px;
        font-weight: 800;
        transition: .25s
    }

    .process-flow-step strong {
        display: block;
        color: #41516a;
        font-size: 9px;
        line-height: 1.25
    }

    .process-flow-step small {
        display: none
    }

    .process-flow-step:hover > span, .process-flow-step:focus-visible > span {
        box-shadow: 0 0 0 3px var(--gold);
        transform: translateY(-2px)
    }

    .process-flow-step:focus-visible {
        outline: 2px solid var(--gold);
        outline-offset: 4px
    }

    .process-flow-step.active > span {
        color: #fff;
        background: var(--navy);
        box-shadow: 0 0 0 3px var(--gold);
        transform: scale(1.08)
    }

    .process-flow-step.active strong {
        color: var(--navy)
    }

.process-detail-panel {
    position: relative;
    overflow: hidden;
    margin-top: 25px;
    padding: 42px;
    border: 1px solid #dfe6ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 50px #061c4112
}

    .process-detail-panel:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 5px;
        background: linear-gradient(90deg,var(--gold),#0c477e)
    }

.process-detail-heading {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;
    padding-bottom: 28px;
    border-bottom: 1px solid #e5eaf0
}

.process-detail-number {
    display: grid;
    place-items: center;
    width: 70px;
    height: 70px;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(145deg,#061c41,#0d477e);
    font-size: 23px;
    font-weight: 800
}

.process-detail-heading .eyebrow {
    margin: 0
}

.process-detail-heading h2 {
    margin: 4px 0 0;
    color: var(--navy);
    font-size: 29px
}

.process-duration {
    min-width: 145px;
    padding: 13px 16px;
    border-radius: 9px;
    background: #fff7df;
    text-align: center
}

    .process-duration small {
        display: block;
        color: #88703c;
        font-size: 8px;
        font-weight: 800;
        text-transform: uppercase
    }

    .process-duration strong {
        display: block;
        margin-top: 3px;
        color: var(--navy);
        font-size: 11px
    }

.process-detail-content {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 55px;
    padding: 32px 0
}

    .process-detail-content h3 {
        margin: 0 0 12px;
        color: var(--navy);
        font-size: 11px;
        letter-spacing: .08em;
        text-transform: uppercase
    }

    .process-detail-content p {
        margin: 0;
        color: #5f6d80;
        font-size: 13px;
        line-height: 1.8
    }

    .process-detail-content ul {
        display: grid;
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none
    }

    .process-detail-content li {
        padding: 9px 12px;
        border-radius: 6px;
        color: #354a65;
        background: #f4f7fa;
        font-size: 11px
    }

.process-outcome {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 17px 20px;
    border-left: 4px solid var(--gold);
    border-radius: 0 8px 8px 0;
    background: #f7f9fc
}

    .process-outcome span {
        color: var(--gold-dark);
        font-size: 9px;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase
    }

    .process-outcome strong {
        color: var(--navy);
        font-size: 12px
    }

.process-loader {
    position: absolute;
    inset: 5px 0 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--navy);
    background: #fffffff0;
    font-size: 12px;
    font-weight: 700
}

    .process-loader[hidden] {
        display: none
    }

    .process-loader span {
        width: 24px;
        height: 24px;
        border: 3px solid #dce4ed;
        border-top-color: var(--gold-dark);
        border-radius: 50%;
        animation: spin .7s linear infinite
    }

.process-error {
    margin-top: 15px;
    padding: 12px;
    color: #a22018;
    background: #fff0ee;
    border-radius: 6px
}

    .process-error[hidden] {
        display: none
    }

.process-detail-panel.detail-changed .process-detail-content, .process-detail-panel.detail-changed .process-detail-heading, .process-detail-panel.detail-changed .process-outcome {
    animation: processFade .35s ease
}

@keyframes processFade {
    from {
        opacity: .25;
        transform: translateY(8px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.process-principles {
    padding: 65px 0
}

    .process-principles .shell {
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 25px
    }

    .process-principles article {
        padding: 30px;
        border: 1px solid #e3e8ef;
        border-radius: 12px;
        text-align: center;
        box-shadow: 0 8px 28px #061c410b
    }

        .process-principles article > span {
            display: grid;
            place-items: center;
            width: 48px;
            height: 48px;
            margin: 0 auto 14px;
            border-radius: 50%;
            color: var(--gold-dark);
            background: #fff4d2;
            font-size: 20px
        }

    .process-principles h3 {
        margin: 0 0 8px;
        color: var(--navy);
        font-size: 16px
    }

    .process-principles p {
        margin: 0;
        color: #687487;
        font-size: 11px;
        line-height: 1.65
    }

@media(max-width: 900px) {
    .process-flow {
        grid-template-columns: repeat(11,92px)
    }

    .process-detail-panel {
        padding: 32px
    }

    .process-detail-content {
        gap: 30px
    }
}

@media(max-width: 760px) {
    .process-intro .shell {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .process-intro h2 {
        font-size: 28px
    }

    .interactive-process {
        padding: 45px 0
    }

    .process-flow {
        margin-inline: -14px;
        padding-inline: 14px
    }

    .process-detail-panel {
        margin-top: 15px;
        padding: 25px
    }

    .process-detail-heading {
        grid-template-columns: auto 1fr
    }

    .process-detail-number {
        width: 55px;
        height: 55px;
        border-radius: 13px;
        font-size: 18px
    }

    .process-detail-heading h2 {
        font-size: 23px
    }

    .process-duration {
        grid-column: 1/-1;
        width: 100%
    }

    .process-detail-content {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 25px 0
    }

    .process-principles .shell {
        grid-template-columns: 1fr
    }

    .process-principles article {
        text-align: left
    }

        .process-principles article > span {
            margin: 0 0 14px
        }

    .process-outcome {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px
    }
}

@media(max-width: 420px) {
    .process-detail-panel {
        padding: 20px
    }

    .process-detail-heading {
        gap: 13px
    }

        .process-detail-heading .eyebrow {
            font-size: 8px
        }

        .process-detail-heading h2 {
            font-size: 20px
        }

    .process-flow {
        grid-template-columns: repeat(11,82px)
    }

    .process-flow-step strong {
        font-size: 8px
    }
}

/* Tracking page */
.tracking-workspace {
    padding: 75px 0;
    background: #f3f6fa
}

.tracking-workspace-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 22px 60px #061c411a
}

.tracking-visual {
    position: relative;
    min-height: 540px;
    background: url('../images/shipment-tracking.png') center/cover no-repeat
}

    .tracking-visual:after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg,transparent 45%,#061c41b8)
    }

.tracking-visual-badge {
    position: absolute;
    z-index: 1;
    left: 30px;
    bottom: 28px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 11px;
    padding: 13px 17px;
    border: 1px solid #ffffff35;
    border-radius: 10px;
    color: #fff;
    background: #061c41d9;
    backdrop-filter: blur(8px)
}

    .tracking-visual-badge > span {
        grid-row: 1/3;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #28c76f;
        box-shadow: 0 0 0 5px #28c76f26
    }

    .tracking-visual-badge strong {
        font-size: 11px
    }

    .tracking-visual-badge small {
        color: #bfcde0;
        font-size: 8px
    }

.tracking-console {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 45px
}

    .tracking-console h2 {
        margin: 7px 0 12px;
        color: var(--navy);
        font-size: 31px;
        line-height: 1.2
    }

    .tracking-console > p:not(.eyebrow):not(.tracking-example) {
        color: #677386;
        font-size: 12px
    }

.tracking-page-form {
    margin-top: 20px
}

    .tracking-page-form > label {
        display: block;
        margin-bottom: 8px;
        color: var(--navy);
        font-size: 10px;
        font-weight: 800
    }

    .tracking-page-form > div {
        display: flex;
        gap: 9px
    }

    .tracking-page-form input {
        min-width: 0;
        min-height: 47px;
        flex: 1;
        padding: 10px 14px;
        border: 1px solid #d8e0e9;
        border-radius: 5px;
        font-size: 12px;
        outline: 0
    }

        .tracking-page-form input:focus {
            border-color: var(--gold-dark);
            box-shadow: 0 0 0 3px #e7a21c20
        }

    .tracking-page-form .button {
        min-height: 47px;
        white-space: nowrap
    }

.tracking-example {
    margin: 9px 0 0 !important;
    color: #778398 !important;
    font-size: 9px !important
}

    .tracking-example button {
        padding: 0;
        border: 0;
        color: var(--gold-dark);
        background: none;
        font-weight: 800;
        cursor: pointer;
        text-decoration: underline
    }

.tracking-secure {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 20px;
    padding: 13px;
    border-radius: 7px;
    background: #f3f6fa
}

    .tracking-secure > span {
        color: #0a7041
    }

    .tracking-secure p {
        margin: 0;
        color: #6d7889;
        font-size: 9px
    }

    .tracking-secure strong {
        display: block;
        color: var(--navy);
        font-size: 10px
    }

.tracking-page-result {
    margin-top: 18px;
    border-color: #dce3eb;
    color: var(--navy);
    background: #f7f9fc
}

    .tracking-page-result.show {
        grid-template-columns: 1fr 1fr
    }

    .tracking-page-result span {
        color: #788396
    }

    .tracking-page-result strong {
        color: var(--navy)
    }

    .tracking-page-result .tracking-progress {
        background: #dce3eb
    }

    .tracking-page-result.error {
        color: #a22018;
        border-color: #f1b8b2;
        background: #fff2f0
    }

.tracking-benefits {
    padding: 28px 0;
    border-block: 1px solid #e5eaf0
}

    .tracking-benefits .shell {
        display: grid;
        grid-template-columns: repeat(3,1fr)
    }

    .tracking-benefits article {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 5px 25px;
        border-right: 1px solid #e1e7ee
    }

        .tracking-benefits article:last-child {
            border: 0
        }

        .tracking-benefits article > span {
            display: grid;
            place-items: center;
            flex: none;
            width: 42px;
            height: 42px;
            border-radius: 50%;
            color: var(--gold-dark);
            background: #fff3ce;
            font-size: 17px
        }

    .tracking-benefits h3 {
        margin: 0 0 4px;
        color: var(--navy);
        font-size: 12px
    }

    .tracking-benefits p {
        margin: 0;
        color: #788396;
        font-size: 9px;
        line-height: 1.5
    }

.shipment-stages {
    padding: 80px 0
}

.shipment-stage-flow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 20px;
    margin: 0;
    padding: 20px 0 0;
    list-style: none
}

    .shipment-stage-flow:before {
        content: "";
        position: absolute;
        top: 45px;
        left: 8%;
        right: 8%;
        height: 2px;
        background: linear-gradient(90deg,var(--gold),#0d477e)
    }

    .shipment-stage-flow li {
        position: relative;
        padding-top: 62px;
        text-align: center
    }

        .shipment-stage-flow li > span {
            position: absolute;
            z-index: 1;
            top: 0;
            left: 50%;
            display: grid;
            place-items: center;
            width: 52px;
            height: 52px;
            border: 6px solid #fff;
            border-radius: 50%;
            color: #fff;
            background: var(--navy);
            box-shadow: 0 0 0 2px var(--gold);
            font-size: 10px;
            font-weight: 800;
            transform: translateX(-50%)
        }

    .shipment-stage-flow h3 {
        margin: 0 0 7px;
        color: var(--navy);
        font-size: 13px
    }

    .shipment-stage-flow p {
        margin: 0;
        color: #6d7889;
        font-size: 9px;
        line-height: 1.65
    }

.tracking-terms-section {
    padding: 75px 0;
    background: #f4f7fa
}

.tracking-terms-heading {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: 60px;
    margin-bottom: 36px
}

    .tracking-terms-heading h2 {
        margin: 5px 0 0;
        color: var(--navy);
        font-size: 31px
    }

    .tracking-terms-heading > p {
        margin: 0;
        color: #6d7889;
        font-size: 12px;
        line-height: 1.7
    }

.tracking-terms-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px
}

.tracking-term {
    border: 1px solid #e0e6ed;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 5px 18px #061c4108
}

    .tracking-term summary {
        display: grid;
        grid-template-columns: 95px 1fr auto;
        align-items: center;
        padding: 17px 19px;
        color: var(--navy);
        cursor: pointer;
        list-style: none
    }

        .tracking-term summary::-webkit-details-marker {
            display: none
        }

        .tracking-term summary:after {
            content: "+";
            font-size: 18px
        }

    .tracking-term[open] summary:after {
        content: "âˆ’";
        color: var(--gold-dark)
    }

    .tracking-term summary span {
        color: var(--gold-dark);
        font-size: 11px;
        font-weight: 800
    }

    .tracking-term summary strong {
        font-size: 11px
    }

    .tracking-term p {
        margin: 0;
        padding: 0 19px 18px 114px;
        color: #6d7889;
        font-size: 10px;
        line-height: 1.65;
        animation: serviceReveal .25s ease
    }

.tracking-note {
    padding: 38px 0;
    color: #fff;
    background: #071f48
}

    .tracking-note .shell {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 35px
    }

        .tracking-note .shell > div {
            display: flex;
            align-items: flex-start;
            gap: 17px
        }

            .tracking-note .shell > div > span {
                display: grid;
                place-items: center;
                flex: none;
                width: 38px;
                height: 38px;
                border: 1px solid var(--gold);
                border-radius: 50%;
                color: var(--gold);
                font-weight: 800
            }

    .tracking-note h3 {
        margin: 0 0 6px;
        font-size: 14px
    }

    .tracking-note p {
        max-width: 740px;
        margin: 0;
        color: #bdcbe0;
        font-size: 10px;
        line-height: 1.7
    }

    .tracking-note .button {
        flex: none
    }

.tracking-modes {
    padding: 75px 0;
    background: #fff
}

.tracking-mode-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px
}

    .tracking-mode-grid article {
        overflow: hidden;
        border: 1px solid #e1e7ef;
        border-radius: 13px;
        background: #fff;
        box-shadow: 0 10px 32px #061c4110;
        transition: .25s
    }

        .tracking-mode-grid article:hover {
            transform: translateY(-5px);
            box-shadow: 0 18px 40px #061c411d
        }

.tracking-mode-photo {
    aspect-ratio: 1.7;
    background-image: url('../images/service-solutions.png');
    background-repeat: no-repeat;
    background-size: 300% auto
}

.mode-ocean {
    background-position: 50% 0
}

.mode-road {
    background-position: 100% 0
}

.mode-express {
    background-position: 50% 100%
}

.tracking-mode-grid article > div:last-child {
    padding: 21px
}

.tracking-mode-grid span {
    color: var(--gold-dark);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase
}

.tracking-mode-grid h3 {
    margin: 4px 0 8px;
    color: var(--navy);
    font-size: 16px
}

.tracking-mode-grid p {
    margin: 0;
    color: #6d7889;
    font-size: 10px;
    line-height: 1.65
}

@media(max-width: 900px) {
    .tracking-workspace-grid {
        grid-template-columns: .9fr 1.1fr
    }

    .tracking-visual {
        min-height: 500px
    }

    .tracking-console {
        padding: 32px
    }

    .shipment-stage-flow {
        gap: 10px
    }

    .tracking-terms-grid {
        grid-template-columns: 1fr
    }
}

@media(max-width: 760px) {
    .tracking-workspace {
        padding: 45px 0
    }

    .tracking-workspace-grid {
        grid-template-columns: 1fr
    }

    .tracking-visual {
        min-height: 330px
    }

    .tracking-console {
        padding: 28px
    }

        .tracking-console h2 {
            font-size: 27px
        }

    .tracking-benefits .shell {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .tracking-benefits article {
        padding: 5px 0;
        border-right: 0
    }

    .tracking-mode-grid {
        grid-template-columns: 1fr
    }

        .tracking-mode-grid article {
            display: grid;
            grid-template-columns: 140px 1fr
        }

    .tracking-mode-photo {
        height: 100%;
        aspect-ratio: auto
    }

    .shipment-stages {
        padding: 55px 0
    }

    .shipment-stage-flow {
        display: block;
        padding-left: 55px
    }

        .shipment-stage-flow:before {
            top: 0;
            bottom: 0;
            left: 20px;
            width: 2px;
            height: auto
        }

        .shipment-stage-flow li {
            min-height: 120px;
            padding: 0 0 28px;
            text-align: left
        }

            .shipment-stage-flow li > span {
                top: 0;
                left: -34px;
                width: 42px;
                height: 42px;
                border-width: 5px;
                transform: none
            }

    .tracking-terms-section {
        padding: 55px 0
    }

    .tracking-terms-heading {
        grid-template-columns: 1fr;
        gap: 15px
    }

        .tracking-terms-heading h2 {
            font-size: 27px
        }

    .tracking-note .shell {
        align-items: flex-start;
        flex-direction: column
    }
}

@media(max-width: 480px) {
    .tracking-visual {
        min-height: 245px
    }

    .tracking-visual-badge {
        left: 15px;
        bottom: 15px
    }

    .tracking-console {
        padding: 23px
    }

    .tracking-page-form > div {
        flex-direction: column
    }

    .tracking-page-form .button {
        width: 100%
    }

    .tracking-page-result.show {
        grid-template-columns: 1fr
    }

    .tracking-mode-grid article {
        display: block
    }

    .tracking-mode-photo {
        height: auto;
        aspect-ratio: 1.7
    }

    .tracking-term summary {
        grid-template-columns: 65px 1fr auto;
        padding: 15px
    }

    .tracking-term p {
        padding: 0 15px 16px
    }

    .tracking-note .shell > div {
        gap: 12px
    }
}

/* Blog and article pages */
.blog-intro {
    padding: 58px 0;
    background: #fff
}

    .blog-intro .shell {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: end;
        gap: 70px
    }

    .blog-intro h2 {
        margin: 6px 0 0;
        color: var(--navy);
        font-size: 34px
    }

    .blog-intro .shell > p {
        margin: 0;
        color: #647084;
        font-size: 14px;
        line-height: 1.8
    }

.blog-featured-section {
    padding: 70px 0;
    background: #f3f6fa
}

.blog-featured {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 55px #061c4118
}

    .blog-featured > .article-photo {
        min-height: 475px
    }

    .blog-featured > div {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 42px
    }

.article-category {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 15px;
    color: #8a5c0a;
    background: #fff3ce;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase
}

.article-meta {
    margin: 12px 0 5px !important;
    color: #778397 !important;
    font-size: 9px !important
}

.blog-featured h2 {
    margin: 7px 0 14px;
    color: var(--navy);
    font-size: 29px;
    line-height: 1.25
}

    .blog-featured h2 a:hover, .article-card h3 a:hover {
        color: var(--gold-dark)
    }

.blog-featured > div > p:not(.article-meta) {
    color: #657186;
    font-size: 12px;
    line-height: 1.75
}

.article-author {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 16px 0 22px
}

    .article-author > span, .article-byline > span {
        display: grid;
        place-items: center;
        width: 38px;
        height: 38px;
        border-radius: 50%;
        color: #fff;
        background: linear-gradient(145deg,#0d477e,#061c41);
        font-size: 10px;
        font-weight: 800
    }

    .article-author strong, .article-author small, .article-byline strong, .article-byline small {
        display: block
    }

    .article-author strong {
        color: var(--navy);
        font-size: 10px
    }

    .article-author small {
        color: #8791a1;
        font-size: 8px
    }

.blog-library {
    padding: 80px 0
}

.blog-library-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 35px
}

    .blog-library-heading h2 {
        margin: 4px 0 0;
        color: var(--navy);
        font-size: 30px
    }

    .blog-library-heading > span {
        padding: 7px 12px;
        border-radius: 18px;
        color: #536177;
        background: #f2f5f8;
        font-size: 9px;
        font-weight: 800
    }

.blog-card-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 24px
}

.article-card {
    overflow: hidden;
    border: 1px solid #e2e7ee;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 28px #061c410b;
    transition: .25s
}

    .article-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 17px 40px #061c411b
    }

    .article-card > .article-photo {
        display: block;
        aspect-ratio: 1.7
    }

    .article-card > div {
        padding: 22px
    }

.article-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between
}

    .article-card-top small {
        color: #8690a0;
        font-size: 8px
    }

.article-card h3 {
    margin: 13px 0 10px;
    color: var(--navy);
    font-size: 16px;
    line-height: 1.4
}

.article-card p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #687487;
    font-size: 10px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.article-card footer {
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 13px;
    border-top: 1px solid #edf0f4;
    color: #8791a1;
    font-size: 8px
}

.article-read-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    color: var(--gold-dark);
    font-size: 10px;
    font-weight: 800
}

    .article-read-link span {
        font-size: 16px
    }

.blog-subscribe {
    padding: 48px 0;
    color: #fff;
    background: linear-gradient(110deg,#071f48,#0d477e)
}

    .blog-subscribe .shell {
        display: grid;
        grid-template-columns: 1fr 420px;
        align-items: center;
        gap: 60px
    }

    .blog-subscribe h2 {
        margin: 5px 0 0;
        font-size: 25px
    }

    .blog-subscribe .newsletter input {
        min-height: 42px;
        font-size: 11px
    }

    .blog-subscribe .newsletter .button {
        min-height: 42px
    }

.article-photo {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat
}

.article-photo-logistics {
    background-image: url('../images/shipment-tracking.png')
}

.article-photo-sourcing {
    background-image: url('../images/service-solutions.png');
    background-position: 0 0;
    background-size: 300% auto
}

.article-photo-customs {
    background-image: url('../images/service-solutions.png');
    background-position: 0 100%;
    background-size: 300% auto
}

.article-photo-quality {
    background-image: url('../images/service-solutions.png');
    background-position: 0 0;
    background-size: 300% auto
}

.article-photo-freight {
    background-image: url('../images/service-solutions.png');
    background-position: 50% 0;
    background-size: 300% auto
}

.article-photo-resilience {
    background-image: url('../images/industry-sectors.png');
    background-position: 66.667% 100%;
    background-size: 400% auto
}

.article-hero {
    padding: 65px 0 80px;
    color: #fff;
    background: linear-gradient(120deg,#061c41,#0b376f)
}

    .article-hero .shell {
        max-width: 880px
    }

    .article-hero nav {
        display: flex;
        gap: 9px;
        margin-bottom: 35px;
        color: #b9c8db;
        font-size: 9px
    }

        .article-hero nav a:hover {
            color: var(--gold)
        }

    .article-hero h1 {
        max-width: 850px;
        margin: 16px 0 15px;
        font-size: 45px;
        line-height: 1.15
    }

    .article-hero > div > p {
        max-width: 730px;
        color: #c9d5e4;
        font-size: 15px;
        line-height: 1.7
    }

.article-byline {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 25px
}

    .article-byline strong {
        font-size: 11px
    }

    .article-byline small {
        color: #b9c8db;
        font-size: 9px
    }

.article-hero-photo {
    width: min(1120px,calc(100% - 40px));
    height: 490px;
    margin: -45px auto 0;
    border: 8px solid #fff;
    border-radius: 18px;
    background-repeat: no-repeat;
    box-shadow: 0 20px 55px #061c4125
}

.article-page {
    display: grid;
    grid-template-columns: minmax(0,1fr) 310px;
    gap: 70px;
    padding-block: 75px
}

.article-content {
    max-width: 720px
}

    .article-content h2 {
        margin: 36px 0 12px;
        color: var(--navy);
        font-size: 25px
    }

    .article-content > p {
        color: #4e5d72;
        font-size: 14px;
        line-height: 1.9
    }

    .article-content blockquote {
        margin: 35px 0;
        padding: 28px 30px;
        border-left: 5px solid var(--gold);
        color: var(--navy);
        background: #f4f7fa;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.6
    }

    .article-content .article-disclaimer {
        padding-top: 20px;
        border-top: 1px solid #e2e7ee;
        color: #8791a1;
        font-size: 9px
    }

.article-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.takeaway-card, .article-help {
    padding: 27px;
    border: 1px solid #e1e7ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 30px #061c410d
}

    .takeaway-card ul {
        display: grid;
        gap: 13px;
        margin: 18px 0 0;
        padding: 0;
        list-style: none
    }

    .takeaway-card li {
        color: #41516a;
        font-size: 11px;
        line-height: 1.5
    }

.article-help {
    color: #fff;
    background: linear-gradient(145deg,#061c41,#0d477e)
}

    .article-help > span {
        color: var(--gold);
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase
    }

    .article-help h3 {
        margin: 9px 0 20px;
        font-size: 18px
    }

.related-articles {
    padding: 70px 0;
    background: #f3f6fa
}

    .related-articles .blog-library-heading > a {
        color: var(--gold-dark);
        font-size: 10px;
        font-weight: 800
    }

.related-grid {
    grid-template-columns: repeat(3,1fr)
}

@media(max-width: 900px) {
    .blog-featured {
        grid-template-columns: 1fr 1fr
    }

        .blog-featured > div {
            padding: 30px
        }

    .blog-card-grid {
        grid-template-columns: 1fr 1fr
    }

    .blog-subscribe .shell {
        grid-template-columns: 1fr 360px
    }

    .article-page {
        grid-template-columns: minmax(0,1fr) 270px;
        gap: 35px
    }
}

@media(max-width: 760px) {
    .blog-intro .shell {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .blog-intro h2 {
        font-size: 28px
    }

    .blog-featured {
        grid-template-columns: 1fr
    }

        .blog-featured > .article-photo {
            min-height: 300px
        }

        .blog-featured > div {
            padding: 28px
        }

    .blog-card-grid, .related-grid {
        grid-template-columns: 1fr
    }

    .article-card {
        display: grid;
        grid-template-columns: 190px 1fr
    }

        .article-card > .article-photo {
            height: 100%;
            aspect-ratio: auto
        }

    .blog-subscribe .shell {
        grid-template-columns: 1fr;
        gap: 22px
    }

    .article-hero {
        padding: 48px 0 65px
    }

        .article-hero h1 {
            font-size: 34px
        }

    .article-hero-photo {
        height: 350px
    }

    .article-page {
        grid-template-columns: 1fr;
        padding-block: 50px
    }

    .article-content {
        max-width: none
    }

    .article-sidebar {
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    .related-grid .article-card {
        display: block
    }

        .related-grid .article-card > .article-photo {
            height: auto;
            aspect-ratio: 1.7
        }
}

@media(max-width: 480px) {
    .blog-featured > .article-photo {
        min-height: 220px
    }

    .blog-featured h2 {
        font-size: 24px
    }

    .article-card {
        display: block
    }

        .article-card > .article-photo {
            height: auto;
            aspect-ratio: 1.7
        }

    .blog-library-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px
    }

    .article-hero h1 {
        font-size: 29px
    }

    .article-hero-photo {
        width: calc(100% - 28px);
        height: 240px;
        border-width: 5px
    }

    .article-page {
        gap: 35px
    }

    .article-content h2 {
        font-size: 22px
    }

    .article-content > p {
        font-size: 13px
    }

    .article-content blockquote {
        padding: 22px;
        font-size: 15px
    }

    .article-sidebar {
        grid-template-columns: 1fr
    }
}

/* FAQ page */
.faq-welcome {
    padding: 55px 0;
    background: linear-gradient(115deg,#edf3fa,#fff8e8)
}

    .faq-welcome .shell {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 60px
    }

    .faq-welcome h2 {
        margin: 5px 0 10px;
        color: var(--navy);
        font-size: 34px
    }

    .faq-welcome .shell > div:first-child > p:last-child {
        max-width: 620px;
        margin: 0;
        color: #637085;
        font-size: 13px
    }

.faq-welcome-stats {
    display: flex;
    flex: none;
    overflow: hidden;
    border: 1px solid #dfe6ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 30px #061c410d
}

    .faq-welcome-stats span {
        min-width: 110px;
        padding: 17px;
        border-right: 1px solid #e6ebf1;
        color: #788396;
        text-align: center;
        font-size: 8px
    }

        .faq-welcome-stats span:last-child {
            border: 0
        }

    .faq-welcome-stats strong {
        display: block;
        color: var(--navy);
        font-size: 20px
    }

.faq-knowledge {
    padding: 70px 0 85px;
    background: #f5f7fa
}

.faq-controls {
    margin-bottom: 55px;
    padding: 28px;
    border: 1px solid #e0e6ed;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 13px 38px #061c4110
}

    .faq-controls label > span {
        display: block;
        margin-bottom: 9px;
        color: var(--navy);
        font-size: 10px;
        font-weight: 800
    }

    .faq-controls label > div {
        position: relative
    }

    .faq-controls label i {
        position: absolute;
        top: 50%;
        left: 16px;
        color: var(--gold-dark);
        font-size: 21px;
        font-style: normal;
        transform: translateY(-50%)
    }

    .faq-controls input {
        width: 100%;
        height: 52px;
        padding: 12px 16px 12px 48px;
        border: 1px solid #d9e1e9;
        border-radius: 8px;
        color: var(--navy);
        background: #f8fafc;
        font-size: 12px;
        outline: 0
    }

        .faq-controls input:focus {
            border-color: var(--gold-dark);
            background: #fff;
            box-shadow: 0 0 0 3px #e7a21c20
        }

.faq-filters {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    margin-top: 18px;
    padding-bottom: 2px
}

    .faq-filters button {
        flex: none;
        padding: 9px 16px;
        border: 1px solid #dce3eb;
        border-radius: 20px;
        color: #56657b;
        background: #fff;
        font-size: 10px;
        font-weight: 700;
        cursor: pointer;
        transition: .2s
    }

        .faq-filters button:hover {
            border-color: var(--gold)
        }

        .faq-filters button.active {
            border-color: var(--navy);
            color: #fff;
            background: var(--navy)
        }

.faq-results-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 28px
}

    .faq-results-header h2 {
        margin: 5px 0 0;
        color: var(--navy);
        font-size: 30px
    }

    .faq-results-header > span {
        padding: 7px 11px;
        border-radius: 18px;
        color: #647187;
        background: #e9eef4;
        font-size: 9px;
        font-weight: 800
    }

.faq-ajax {
    position: relative;
    min-height: 200px
}

.faq-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 15px
}

.faq-item {
    overflow: hidden;
    border: 1px solid #e0e6ed;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 6px 22px #061c4109;
    transition: border-color .2s,box-shadow .2s
}

    .faq-item[open] {
        border-color: #cbd6e2;
        box-shadow: 0 12px 32px #061c4114
    }

    .faq-item summary {
        position: relative;
        display: grid;
        grid-template-columns: 80px 1fr 30px;
        align-items: center;
        gap: 10px;
        min-height: 82px;
        padding: 17px 18px;
        cursor: pointer;
        list-style: none
    }

        .faq-item summary::-webkit-details-marker {
            display: none
        }

        .faq-item summary:after {
            content: "+";
            display: grid;
            place-items: center;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            color: #fff;
            background: var(--navy);
            font-size: 17px;
            transition: .2s
        }

    .faq-item[open] summary:after {
        content: "âˆ’";
        background: var(--gold-dark);
        transform: rotate(180deg)
    }

    .faq-item summary span {
        justify-self: start;
        padding: 5px 8px;
        border-radius: 13px;
        color: #8a5b08;
        background: #fff3ce;
        font-size: 8px;
        font-weight: 800;
        text-transform: uppercase
    }

    .faq-item summary strong {
        color: var(--navy);
        font-size: 12px;
        line-height: 1.5
    }

    .faq-item > p {
        margin: 0;
        padding: 0 58px 22px 108px;
        color: #5f6d80;
        font-size: 11px;
        line-height: 1.8;
        animation: serviceReveal .25s ease
    }

.faq-loading {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px
}

    .faq-loading[hidden] {
        display: none
    }

    .faq-loading span {
        height: 82px;
        border-radius: 10px;
        background: linear-gradient(90deg,#e9edf2 25%,#f7f9fb 50%,#e9edf2 75%);
        background-size: 200% 100%;
        animation: faqShimmer 1.2s infinite
    }

@keyframes faqShimmer {
    to {
        background-position: -200% 0
    }
}

.faq-empty, .faq-ajax-error {
    padding: 55px;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    background: #fff;
    text-align: center
}

    .faq-empty[hidden], .faq-ajax-error[hidden] {
        display: none
    }

    .faq-empty > span {
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        margin: 0 auto 12px;
        border-radius: 50%;
        color: var(--gold-dark);
        background: #fff3ce;
        font-size: 22px;
        font-weight: 800
    }

    .faq-empty h3 {
        margin: 0;
        color: var(--navy)
    }

    .faq-empty p {
        color: #778396
    }

.faq-ajax-error {
    color: #a22018;
    background: #fff3f1
}

.faq-contact-strip {
    padding: 42px 0;
    color: #fff;
    background: linear-gradient(110deg,#071f48,#0d477e)
}

    .faq-contact-strip .shell {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 35px
    }

        .faq-contact-strip .shell > div {
            display: flex;
            align-items: center;
            gap: 20px
        }

            .faq-contact-strip .shell > div > span {
                display: grid;
                place-items: center;
                flex: none;
                width: 52px;
                height: 52px;
                border: 1px solid var(--gold);
                border-radius: 50%;
                color: var(--gold);
                font-size: 21px
            }

    .faq-contact-strip h2 {
        margin: 5px 0;
        color: #fff;
        font-size: 23px
    }

    .faq-contact-strip .shell > div p:last-child {
        margin: 0;
        color: #bdcbe0;
        font-size: 10px
    }

    .faq-contact-strip .button {
        flex: none
    }

@media(max-width: 900px) {
    .faq-welcome .shell {
        align-items: flex-start;
        flex-direction: column;
        gap: 28px
    }

    .faq-welcome-stats {
        width: 100%
    }

        .faq-welcome-stats span {
            flex: 1
        }

    .faq-item summary {
        grid-template-columns: 70px 1fr 30px
    }

    .faq-item > p {
        padding-left: 98px
    }
}

@media(max-width: 760px) {
    .faq-welcome h2 {
        font-size: 28px
    }

    .faq-knowledge {
        padding: 50px 0 60px
    }

    .faq-controls {
        padding: 20px
    }

    .faq-list, .faq-loading {
        grid-template-columns: 1fr
    }

    .faq-results-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px
    }

        .faq-results-header h2 {
            font-size: 26px
        }

    .faq-contact-strip .shell {
        align-items: flex-start;
        flex-direction: column
    }

        .faq-contact-strip .shell > div {
            align-items: flex-start
        }
}

@media(max-width: 480px) {
    .faq-welcome-stats span {
        min-width: 0;
        padding: 13px 8px
    }

    .faq-welcome-stats strong {
        font-size: 17px
    }

    .faq-controls input {
        font-size: 10px
    }

    .faq-item summary {
        grid-template-columns: 1fr 30px;
        gap: 8px;
        min-height: 95px
    }

        .faq-item summary span {
            grid-column: 1
        }

        .faq-item summary strong {
            grid-column: 1;
            grid-row: 2
        }

        .faq-item summary:after {
            grid-column: 2;
            grid-row: 1/3
        }

    .faq-item > p {
        padding: 0 18px 20px
    }

    .faq-contact-strip h2 {
        font-size: 20px
    }
}

/* Contact page */
.contact-overview {
    padding: 28px 0;
    border-bottom: 1px solid #e2e8ef;
    background: #fff
}

    .contact-overview .shell {
        display: grid;
        grid-template-columns: repeat(3,1fr)
    }

    .contact-overview article {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 10px 30px;
        border-right: 1px solid #e3e8ef
    }

        .contact-overview article:last-child {
            border: 0
        }

        .contact-overview article > span {
            display: grid;
            place-items: center;
            flex: none;
            width: 45px;
            height: 45px;
            border-radius: 50%;
            color: var(--gold-dark);
            background: #fff3ce;
            font-size: 17px
        }

    .contact-overview small, .contact-overview strong, .contact-overview a {
        display: block
    }

    .contact-overview small {
        color: #7c8797;
        font-size: 8px;
        font-weight: 800;
        text-transform: uppercase
    }

    .contact-overview strong, .contact-overview a {
        margin: 3px 0;
        color: var(--navy);
        font-size: 12px;
        font-weight: 800
    }

    .contact-overview p {
        margin: 0;
        color: #8993a2;
        font-size: 8px
    }

.contact-departments {
    padding: 78px 0;
    background: #f4f7fa
}

.department-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px
}

.department-card {
    padding: 28px;
    border: 1px solid #e0e6ed;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 10px 32px #061c410c;
    transition: .25s
}

    .department-card:hover {
        border-color: #cbd6e2;
        transform: translateY(-4px);
        box-shadow: 0 18px 42px #061c4119
    }

.department-card-head {
    display: flex;
    align-items: center;
    gap: 16px
}

    .department-card-head > span {
        display: grid;
        place-items: center;
        flex: none;
        width: 58px;
        height: 58px;
        border-radius: 15px;
        color: #fff;
        background: linear-gradient(145deg,#061c41,#0d477e);
        font-size: 13px;
        font-weight: 800
    }

    .department-card-head small {
        color: var(--gold-dark);
        font-size: 8px;
        font-weight: 800;
        text-transform: uppercase
    }

    .department-card-head h3 {
        margin: 3px 0;
        color: var(--navy);
        font-size: 17px
    }

    .department-card-head p {
        margin: 0;
        color: #7b8696;
        font-size: 9px
    }

.department-card > p {
    min-height: 42px;
    margin: 18px 0;
    color: #667286;
    font-size: 10px;
    line-height: 1.7
}

.department-contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid #e8ecf1
}

    .department-contact a {
        padding: 10px;
        border-radius: 6px;
        background: #f5f7fa
    }

        .department-contact a:last-child {
            grid-column: 1/-1
        }

        .department-contact a:hover {
            background: #fff4d2
        }

    .department-contact span, .department-contact strong {
        display: block
    }

    .department-contact span {
        color: #8791a0;
        font-size: 7px;
        font-weight: 800;
        text-transform: uppercase
    }

    .department-contact strong {
        margin-top: 2px;
        color: var(--navy);
        font-size: 9px
    }

.contact-connect {
    padding: 80px 0;
    background: #fff
}

.contact-connect-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    overflow: hidden;
    border: 1px solid #dfe6ee;
    border-radius: 18px;
    box-shadow: 0 18px 52px #061c4112
}

.contact-form-card {
    padding: 42px
}

    .contact-form-card h2, .contact-hours h2 {
        margin: 5px 0 9px;
        color: var(--navy);
        font-size: 29px
    }

    .contact-form-card > p:not(.eyebrow) {
        margin: 0;
        color: #718095;
        font-size: 11px
    }

.contact-page-form {
    margin-top: 28px
}

.contact-form-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px
}

    .contact-form-fields .full-field {
        grid-column: 1/-1
    }

    .contact-form-fields label > span {
        display: block;
        margin-bottom: 6px;
        color: #41516a;
        font-size: 9px;
        font-weight: 800
    }

    .contact-form-fields input, .contact-form-fields select, .contact-form-fields textarea {
        width: 100%;
        min-height: 42px;
        padding: 10px 12px;
        border: 1px solid #dce3eb;
        border-radius: 6px;
        color: var(--navy);
        background: #f9fafc;
        font-size: 10px;
        outline: 0
    }

    .contact-form-fields textarea {
        min-height: 115px;
        resize: vertical
    }

        .contact-form-fields input:focus, .contact-form-fields select:focus, .contact-form-fields textarea:focus {
            border-color: var(--gold-dark);
            background: #fff;
            box-shadow: 0 0 0 3px #e7a21c20
        }

.contact-page-form > .button {
    margin-top: 17px
}

.contact-page-form .form-result {
    font-size: 10px
}

.contact-hours {
    padding: 42px;
    color: #fff;
    background: linear-gradient(145deg,#061c41,#0b376f)
}

    .contact-hours h2 {
        color: #fff
    }

.hours-list {
    margin: 25px 0 13px
}

    .hours-list > div {
        display: flex;
        justify-content: space-between;
        gap: 15px;
        padding: 12px 0;
        border-bottom: 1px solid #ffffff1b;
        font-size: 9px
    }

    .hours-list span {
        color: #bdcbe0
    }

    .hours-list strong {
        color: #fff
    }

    .hours-list .closed strong {
        color: #ffbead
    }

.contact-hours > small {
    color: #9fb0c5;
    font-size: 8px;
    line-height: 1.5
}

.messaging-support {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #ffffff20
}

    .messaging-support h3 {
        margin: 0 0 4px;
        font-size: 13px
    }

    .messaging-support > p {
        margin: 0 0 13px;
        color: #bdcbe0;
        font-size: 9px
    }

.message-button {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding: 11px 13px;
    border-radius: 7px;
    color: #fff
}

    .message-button > span {
        display: grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: #ffffff20;
        font-weight: 800
    }

    .message-button small, .message-button strong {
        display: block
    }

    .message-button small {
        font-size: 8px
    }

    .message-button strong {
        font-size: 10px
    }

.whatsapp-button {
    background: #087c3f
}

.viber-button {
    background: #665cac
}

.message-button:hover {
    filter: brightness(1.1)
}

.contact-location {
    padding: 75px 0;
    background: #f3f6fa
}

    .contact-location > .shell {
        display: grid;
        grid-template-columns: .65fr 1.35fr;
        overflow: hidden;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 16px 45px #061c4112
    }

.location-copy {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding: 38px
}

    .location-copy h2 {
        margin: 5px 0 11px;
        color: var(--navy);
        font-size: 27px
    }

    .location-copy > p:not(.eyebrow) {
        color: #6c788b;
        font-size: 11px;
        line-height: 1.7
    }

    .location-copy > div {
        display: flex;
        gap: 12px;
        margin: 14px 0 22px
    }

        .location-copy > div > span {
            color: var(--gold-dark)
        }

        .location-copy > div p {
            margin: 0;
            color: #6b7789;
            font-size: 10px
        }

        .location-copy > div strong {
            display: block;
            color: var(--navy);
            font-size: 11px
        }

.map-frame {
    min-height: 430px
}

    .map-frame iframe {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 430px;
        border: 0
    }

.contact-location.map-only > .shell {
    display: block;
    position: relative;
    overflow: hidden
}

.contact-location.map-only .map-link {
    position: absolute;
    right: 24px;
    bottom: 24px
}

@media(max-width: 900px) {
    .contact-overview article {
        padding: 10px 18px
    }

    .contact-connect-grid {
        grid-template-columns: 1.1fr .9fr
    }

    .contact-form-card, .contact-hours {
        padding: 30px
    }

    .contact-location > .shell {
        grid-template-columns: .8fr 1.2fr
    }
}

@media(max-width: 760px) {
    .contact-overview .shell {
        grid-template-columns: 1fr
    }

    .contact-overview article {
        padding: 14px 0;
        border-right: 0;
        border-bottom: 1px solid #e3e8ef
    }

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

    .department-card > p {
        min-height: 0
    }

    .contact-connect {
        padding: 55px 0
    }

    .contact-connect-grid {
        grid-template-columns: 1fr
    }

    .contact-form-card, .contact-hours {
        padding: 28px
    }

    .contact-location {
        padding: 55px 0
    }

        .contact-location > .shell {
            grid-template-columns: 1fr
        }

    .map-frame, .map-frame iframe {
        min-height: 340px
    }
}

@media(max-width: 480px) {
    .contact-departments {
        padding: 55px 0
    }

    .department-card {
        padding: 22px
    }

    .department-contact {
        grid-template-columns: 1fr
    }

        .department-contact a:last-child {
            grid-column: auto
        }

    .contact-form-fields {
        grid-template-columns: 1fr
    }

        .contact-form-fields .full-field {
            grid-column: auto
        }

    .contact-form-card h2, .contact-hours h2 {
        font-size: 25px
    }

    .location-copy {
        padding: 27px
    }

    .map-frame, .map-frame iframe {
        min-height: 290px
    }
}

/* Wider homepage canvas */
.home-page #main-content .shell {
    width: min(1480px,calc(100% - 12px))
}

@media(max-width: 760px) {
    .home-page #main-content .shell {
        width: calc(100% - 20px)
    }
}

@media(max-width: 420px) {
    .home-page #main-content .shell {
        width: calc(100% - 16px)
    }
}

/* Blog image fit */
.blog-featured > .article-photo, .article-card > .article-photo, .article-hero-photo {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #edf2f7
}

/* Shared wide canvas for homepage and inner pages */
.shell {
    width: min(1480px,calc(100% - 12px))
}

@media(max-width: 760px) {
    .shell {
        width: calc(100% - 20px)
    }
}

@media(max-width: 420px) {
    .shell {
        width: calc(100% - 16px)
    }
}

.fields label {
    display: grid;
    gap: 3px
}

    .fields label > span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0,0,0,0)
    }

    .fields label.wide {
        grid-column: 1/-1
    }

.button:disabled {
    cursor: wait;
    opacity: .78;
    transform: none;
    box-shadow: none
}

.spinner {
    display: none;
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spin .65s linear infinite
}

.is-loading .button-text {
    opacity: .7
}

.is-loading .spinner {
    display: inline-block
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

.form-result {
    grid-column: 1/-1;
    min-height: 0;
    margin-top: 5px;
    font-size: 9px;
    font-weight: 600
}

    .form-result.success {
        color: #08763f
    }

    .form-result.error {
        color: #b42318
    }

.newsletter .form-result {
    grid-column: 1/-1;
    color: #fff
}

.form-status-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: 20px;
    background: #061c4166;
    backdrop-filter: blur(3px)
}

    .form-status-modal[hidden] {
        display: none
    }

.form-status-dialog {
    width: min(420px,100%);
    padding: 30px 28px;
    text-align: center;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 70px #061c4140
}

.form-status-loader {
    display: inline-block;
    width: 34px;
    height: 34px;
    border: 3px solid #e4e9f1;
    border-top-color: var(--gold-dark);
    border-radius: 50%;
    animation: spin .75s linear infinite
}

.form-status-dialog h3 {
    margin: 14px 0 7px;
    color: var(--navy);
    font-size: 22px
}

.form-status-dialog p {
    margin: 0 0 18px;
    color: #667286;
    font-size: 12px;
    line-height: 1.6
}

.form-status-dialog .button {
    min-height: 42px;
    padding: 11px 20px
}

.tracking-result {
    display: none;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #ffffff2d;
    border-radius: 5px;
    background: #ffffff0d
}

    .tracking-result.show {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 12px
    }

    .tracking-result span {
        font-size: 9px;
        color: #bdcce0
    }

    .tracking-result strong {
        display: block;
        color: #fff;
        font-size: 11px
    }

    .tracking-result.error {
        display: block;
        color: #ffd1cc;
        border-color: #ef8176
    }

.tracking-progress {
    grid-column: 1/-1;
    height: 4px;
    background: #ffffff25;
    border-radius: 5px;
    overflow: hidden
}

    .tracking-progress i {
        display: block;
        height: 100%;
        background: var(--gold);
        border-radius: 5px
    }

.dropzone.dragging {
    border-color: var(--gold-dark);
    background: #fff9e9
}

.dropzone.file-selected {
    border-style: solid;
    border-color: #0b7646;
    background: #f0fff7
}

input:focus-visible, select:focus-visible, textarea:focus-visible, .button:focus-visible, a:focus-visible, summary:focus-visible, .menu-toggle:focus-visible {
    outline: 3px solid #f2b735;
    outline-offset: 2px
}

.skip-link {
    position: fixed;
    left: 12px;
    top: -60px;
    z-index: 999;
    background: #fff;
    color: #061d43;
    padding: 10px 15px;
    border-radius: 4px
}

    .skip-link:focus {
        top: 12px
    }

@media(max-width: 760px) {
    html {
        scroll-padding-top: 72px
    }

    .hero {
        min-height: 400px
    }

    .tracking-result.show {
        grid-template-columns: 1fr 1fr
    }

    .fields.two {
        grid-template-columns: 1fr
    }

    .fields label.wide {
        grid-column: auto
    }

    .service-grid article {
        min-height: 135px
    }

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

        .hero-copy > p:not(.eyebrow) {
            overflow-wrap: anywhere
        }
}

/* Footer layout */
.page-footer .footer-grid {
    grid-template-columns: 1.45fr repeat(3,1fr) 1.35fr
}

@media(max-width: 760px) {
    .page-footer .footer-grid {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width: 420px) {
    .page-footer .footer-grid {
        grid-template-columns: 1fr
    }
}

/* Mobile navigation drawer */
.nav-backdrop {
    display: none
}

@media(max-width: 760px) {
    body.nav-drawer-open {
        overflow: hidden
    }

    .main-nav {
        z-index: 80
    }

    .nav-inner {
        position: relative
    }

    .menu-toggle {
        position: relative;
        z-index: 102;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        min-height: 40px;
        padding: 9px 13px;
        border: 1px solid #dfe6ee;
        border-radius: 6px;
        color: var(--navy);
        background: #fff;
        box-shadow: 0 8px 20px #061c4114;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0
    }

        .menu-toggle:before, .menu-toggle:after {
            content: "";
            display: block;
            width: 18px;
            height: 2px;
            border-radius: 4px;
            background: currentColor;
            box-shadow: 0 6px 0 currentColor;
            transition: transform .25s ease,box-shadow .25s ease
        }

        .menu-toggle:after {
            display: none
        }

        .menu-toggle[aria-expanded="true"] {
            border-color: #f1c969;
            color: #061d43;
            background: #fff8e4
        }

            .menu-toggle[aria-expanded="true"]:before {
                box-shadow: none;
                transform: translateY(3px) rotate(45deg)
            }

            .menu-toggle[aria-expanded="true"]:after {
                display: block;
                position: absolute;
                left: 13px;
                top: 18px;
                box-shadow: none;
                transform: rotate(-45deg)
            }

            .menu-toggle[aria-expanded="true"] span {
                padding-left: 25px
            }

    .nav-backdrop {
        position: fixed;
        inset: 0;
        z-index: 90;
        display: block;
        border: 0;
        background: #061d4373;
        backdrop-filter: blur(3px)
    }

        .nav-backdrop[hidden] {
            display: none
        }

    .nav-links {
        position: fixed;
        inset: 0 0 0 auto;
        z-index: 100;
        display: flex;
        width: min(86vw,360px);
        height: 100dvh;
        padding: 86px 22px 24px;
        border-left: 1px solid #d9e2ee;
        background: linear-gradient(180deg,#ffffff 0%,#f8fbff 62%,#fff8e8 100%);
        box-shadow: -24px 0 55px #061c4130;
        flex-direction: column;
        align-items: stretch;
        gap: 7px;
        white-space: normal;
        transform: translateX(105%);
        visibility: hidden;
        transition: transform .28s ease,visibility .28s ease
    }

        .nav-links:before {
            content: "Navigation";
            display: block;
            margin: 0 0 10px;
            color: var(--gold-dark);
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .08em
        }

        .nav-links.open {
            display: flex;
            visibility: visible;
            transform: translateX(0)
        }

        .nav-links a, .nav-links a:nth-last-child(-n+2) {
            display: flex;
            align-items: center;
            min-height: 45px;
            padding: 12px 14px;
            border: 1px solid transparent;
            border-radius: 6px;
            color: #142846;
            font-size: 13px;
            font-weight: 800;
            line-height: 1.25;
            transition: background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease
        }

            .nav-links a:hover {
                border-color: #ead38d;
                background: #fff6da;
                color: #061d43;
                transform: translateX(-2px)
            }

                .nav-links a:after, .nav-links a:hover:after {
                    display: none
                }

            .nav-links a.active {
                border-color: #dbe5f0;
                background: #eef4fb;
                color: var(--navy);
                box-shadow: inset 4px 0 0 var(--gold)
            }
}

@media(max-width: 420px) {
    .menu-toggle span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0,0,0,0)
    }

    .menu-toggle {
        width: 42px;
        justify-content: center;
        padding-inline: 11px
    }

        .menu-toggle[aria-expanded="true"] span {
            padding-left: 0
        }

        .menu-toggle[aria-expanded="true"]:after {
            left: 11px
        }

    .nav-links {
        width: min(90vw,330px);
        padding-inline: 18px
    }
}

/* Homepage insights and contact */
.home-page .form-section {
    padding: 34px 0 48px
}

.home-page .quote-banner {
    margin-bottom: 18px;
    padding: 28px 32px;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(120deg,#061c41,#0b376f);
    box-shadow: 0 18px 45px #061c4118
}

    .home-page .quote-banner h2 {
        max-width: 760px;
        margin: 5px 0 8px;
        font-size: 30px;
        line-height: 1.18;
        color: #fff
    }

    .home-page .quote-banner p:last-child {
        max-width: 820px;
        margin: 0;
        color: #d7e3f2;
        font-size: 13px;
        line-height: 1.7
    }

.home-page .form-grid {
    grid-template-columns: 1.25fr 1fr 1fr .9fr;
    gap: 18px;
    align-items: stretch
}

    .home-page .form-grid.whatsapp-only {
        grid-template-columns: minmax(320px,1fr) minmax(280px,430px);
        justify-content: center
    }

    .home-page .form-grid.quote-actions {
        grid-template-columns: 1.25fr 1fr 1fr .9fr
    }

    .home-page .form-grid .panel, .home-page .form-grid .whatsapp {
        min-height: 300px;
        padding: 28px;
        border-radius: 8px;
        border-color: #dfe6ee;
        background: #fff;
        box-shadow: 0 16px 42px #061c4110
    }

        .home-page .form-grid .panel h3, .home-page .form-grid .whatsapp h3 {
            margin: 5px 0 18px;
            color: var(--navy);
            font-size: 22px;
            line-height: 1.25
        }

    .home-page .form-grid .eyebrow {
        font-size: 12px;
        letter-spacing: .08em;
        color: var(--gold-dark)
    }

    .home-page .form-grid .fields {
        gap: 12px
    }

        .home-page .form-grid .fields input, .home-page .form-grid .fields select, .home-page .form-grid .fields textarea {
            min-height: 46px;
            padding: 11px 13px;
            border-radius: 6px;
            font-size: 12px
        }

    .home-page .form-grid .full {
        min-height: 46px;
        margin-top: 14px;
        border-radius: 6px;
        font-size: 12px
    }

    .home-page .form-grid .dropzone {
        height: 172px;
        border-radius: 8px;
        font-size: 38px
    }

        .home-page .form-grid .dropzone strong {
            margin-top: 8px;
            font-size: 13px
        }

        .home-page .form-grid .dropzone small {
            margin-top: 4px;
            font-size: 10px
        }

    .home-page .form-grid .whatsapp {
        display: flex;
        flex-direction: column;
        justify-content: center;
        color: #fff;
        background: linear-gradient(145deg,#061c41,#0b376f)
    }

    .home-page .form-grid .wa-icon {
        font-size: 54px
    }

    .home-page .form-grid .whatsapp h3 {
        color: #fff;
        font-size: 22px
    }

    .home-page .form-grid .whatsapp p {
        margin: 0 0 24px;
        color: #d8e4f2;
        font-size: 13px;
        line-height: 1.6
    }

    .home-page .form-grid .whatsapp .button {
        min-height: 48px;
        border-radius: 6px;
        font-size: 12px
    }

.home-page .insights {
    padding: 78px 0 92px;
    background: linear-gradient(180deg,#fff 0%,#f5f8fc 100%)
}

.home-page .insight-contact {
    grid-template-columns: minmax(0,1.38fr) minmax(390px,.62fr);
    gap: 32px;
    align-items: start
}

.home-page .insights .section-heading {
    margin-bottom: 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dfe6ee
}

.home-page .insights .split-heading {
    align-items: center
}

.home-page .insights .eyebrow {
    font-size: 13px;
    letter-spacing: .08em;
    color: var(--gold-dark)
}

.home-page .insights .split-heading > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 16px;
    border: 1px solid #ead38d;
    border-radius: 6px;
    color: var(--navy);
    background: #fff8e4;
    font-size: 11px;
    font-weight: 800;
    box-shadow: 0 8px 22px #061c4108;
    transition: .2s ease
}

    .home-page .insights .split-heading > a:hover {
        border-color: var(--gold-dark);
        background: #fff1c7;
        transform: translateY(-1px)
    }

.home-page .blog-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px
}

    .home-page .blog-grid article {
        overflow: hidden;
        display: flex;
        min-height: 310px;
        flex-direction: column;
        padding: 0;
        border: 1px solid #dfe6ee;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 14px 36px #061c4110;
        transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease
    }

        .home-page .blog-grid article:hover {
            border-color: #c8d3e0;
            box-shadow: 0 20px 48px #061c411c;
            transform: translateY(-4px)
        }

.home-page .blog-img {
    height: 162px;
    border-radius: 0;
    background-repeat: no-repeat;
    background-color: #e8eef5;
    filter: saturate(1.04)
}

.home-page .blog-grid small {
    display: block;
    margin: 16px 18px 7px;
    color: #6f7b8d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase
}

.home-page .blog-grid h3 {
    margin: 0 18px 18px;
    color: var(--navy);
    font-size: 18px;
    line-height: 1.35;
    letter-spacing: 0
}

.home-page .blog-grid article > a {
    margin: auto 18px 20px;
    color: var(--gold-dark);
    font-size: 12px;
    font-weight: 900
}

.home-page .contact-area {
    position: sticky;
    top: 96px;
    overflow: hidden;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px;
    border: 1px solid #102d5726;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(145deg,#061c41 0%,#0b376f 58%,#103d73 100%);
    box-shadow: 0 24px 62px #061c4128
}

    .home-page .contact-area:before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 5px;
        background: linear-gradient(90deg,var(--gold),#ffe19a)
    }

    .home-page .contact-area > div {
        position: relative;
        z-index: 1
    }

    .home-page .contact-area h3 {
        max-width: 360px;
        margin: 6px 0 12px;
        color: #fff;
        font-size: 24px;
        line-height: 1.18;
        letter-spacing: 0
    }

    .home-page .contact-area p {
        display: flex;
        align-items: center;
        gap: 9px;
        margin: 7px 0;
        color: #d5e1ef;
        font-size: 11px;
        line-height: 1.45
    }

        .home-page .contact-area p:not(.eyebrow):before {
            content: "";
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--gold);
            box-shadow: 0 0 0 4px #f2b73520;
            flex: none
        }

    .home-page .contact-area .eyebrow {
        display: block;
        color: var(--gold);
        font-size: 12px
    }

    .home-page .contact-area .socials {
        gap: 8px;
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid #ffffff1c
    }

        .home-page .contact-area .socials span, .home-page .contact-area .socials a {
            width: 31px;
            height: 31px;
            border: 1px solid #ffffff25;
            background: #ffffff12;
            color: #fff;
            font-size: 9px;
            font-weight: 900;
            text-transform: uppercase;
            transition: .2s ease
        }

            .home-page .contact-area .socials span:hover, .home-page .contact-area .socials a:hover {
                border-color: var(--gold);
                background: var(--gold);
                color: #061d43;
                transform: translateY(-2px)
            }

    .home-page .contact-area .fields {
        position: relative;
        z-index: 1;
        gap: 8px
    }

        .home-page .contact-area .fields input, .home-page .contact-area .fields textarea {
            min-height: 38px;
            border: 1px solid #ffffff24;
            border-radius: 6px;
            color: #fff;
            background: #ffffff12;
            font-size: 11px;
            outline: 0
        }

        .home-page .contact-area .fields textarea {
            min-height: 82px
        }

            .home-page .contact-area .fields input::placeholder, .home-page .contact-area .fields textarea::placeholder {
                color: #c9d5e5
            }

            .home-page .contact-area .fields input:focus, .home-page .contact-area .fields textarea:focus {
                border-color: var(--gold);
                background: #ffffff1d;
                box-shadow: 0 0 0 3px #f2b73524
            }

    .home-page .contact-area .button {
        min-height: 40px;
        border-radius: 6px;
        background: linear-gradient(135deg,#ffd15c,#e7a21c);
        color: #10213c;
        font-size: 11px
    }

    .home-page .contact-area .form-result {
        font-size: 11px
    }

@media(max-width: 1100px) {
    .home-page .form-grid {
        grid-template-columns: 1fr 1fr
    }

        .home-page .form-grid.quote-actions {
            grid-template-columns: 1fr 1fr
        }

    .home-page .insight-contact {
        grid-template-columns: 1fr
    }

    .home-page .contact-area {
        position: relative;
        top: auto;
        grid-template-columns: .85fr 1.15fr
    }
}

@media(max-width: 760px) {
    .home-page .form-section {
        padding: 28px 0 40px
    }

    .home-page .quote-banner {
        padding: 24px
    }

        .home-page .quote-banner h2 {
            font-size: 24px
        }

    .home-page .form-grid {
        grid-template-columns: 1fr
    }

        .home-page .form-grid.whatsapp-only {
            grid-template-columns: 1fr
        }

        .home-page .form-grid.quote-actions {
            grid-template-columns: 1fr
        }

        .home-page .form-grid .panel, .home-page .form-grid .whatsapp {
            min-height: 0;
            padding: 24px
        }

        .home-page .form-grid .dropzone {
            height: 145px
        }

    .home-page .insights {
        padding: 52px 0 62px
    }

        .home-page .insights .split-heading {
            align-items: flex-start;
            flex-direction: column
        }

    .home-page .blog-grid {
        grid-template-columns: 1fr
    }

        .home-page .blog-grid article {
            min-height: 0
        }

    .home-page .blog-img {
        height: 210px
    }

    .home-page .contact-area {
        grid-template-columns: 1fr;
        padding: 26px
    }

        .home-page .contact-area h3 {
            font-size: 25px
        }
}

@media(max-width: 420px) {
    .home-page .blog-img {
        height: 170px
    }

    .home-page .blog-grid h3 {
        font-size: 16px
    }

    .home-page .contact-area {
        padding: 22px
    }

        .home-page .contact-area p {
            font-size: 12px
        }
}

/* Error pages */
.not-found-page {
    min-height: calc(100vh - 110px);
    display: grid;
    place-items: center;
    padding: 60px 20px;
    background: radial-gradient(circle at 50% 10%,#fff8e5,#f5f7fb 45%,#eef2f7)
}

.not-found-card {
    width: min(680px,100%);
    padding: 55px 42px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 24px 65px #071b3915
}

.not-found-code {
    margin: 0;
    color: var(--navy);
    font-size: clamp(72px,15vw,130px);
    font-weight: 800;
    line-height: .9;
    letter-spacing: -8px
}

.not-found-card h1 {
    margin: 8px 0 12px;
    font-size: clamp(24px,4vw,36px);
    line-height: 1.2
}

.not-found-card > p:not(.not-found-code):not(.eyebrow) {
    max-width: 540px;
    margin: 0 auto;
    color: var(--muted)
}

.not-found-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 28px
}

@media(max-width: 520px) {
    .not-found-page {
        padding: 20px 14px
    }

    .not-found-card {
        padding: 40px 20px
    }

    .not-found-actions {
        flex-direction: column
    }

        .not-found-actions .button {
            width: 100%
        }
}

/* Homepage hero */
.hero {
    height: 560px
}

.hero-copy {
    padding: 82px 0 54px
}

.hero h1 {
    font-size: 52px
}

.hero-copy > p:not(.eyebrow) {
    font-size: 16px;
    line-height: 1.75
}

.hero-actions {
    margin: 28px 0 22px
}

.trust-points {
    font-size: 13px
}

@media(max-width: 760px) {
    .hero {
        height: auto;
        min-height: 560px
    }

    .hero-copy {
        padding: 58px 0 36px
    }

    .hero h1 {
        font-size: 36px
    }

    .hero-copy > p:not(.eyebrow) {
        font-size: 14px;
        line-height: 1.65
    }
}

/* Homepage service cards */
.home-page #services {
    padding: 70px 0
}

    .home-page #services .section-heading {
        margin-bottom: 26px
    }

    .home-page #services .split-heading {
        align-items: center
    }

        .home-page #services .split-heading a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: 10px 18px;
            border-radius: 4px;
            background: var(--navy);
            color: #fff;
            font-size: 13px;
            font-weight: 800;
            text-decoration: none
        }

            .home-page #services .split-heading a:hover {
                background: #0d3567
            }

.home-page .service-card-grid {
    grid-template-columns: repeat(3,1fr);
    gap: 18px
}

    .home-page .service-card-grid article {
        min-height: 285px;
        display: flex;
        flex-direction: column;
        padding: 0;
        text-align: left;
        overflow: hidden;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 14px 34px #071b3912
    }

.home-page .service-card-image {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
    background-image: var(--reference);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.home-page .service-card-image-1 {
    background-position: -56px -1674px
}

.home-page .service-card-image-2 {
    background-position: -248px -1674px
}

.home-page .service-card-image-3 {
    background-position: -442px -1674px
}

.home-page .service-card-image-4 {
    background-position: -51px -914px
}

.home-page .service-card-image-5 {
    background-position: -357px -914px
}

.home-page .service-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px
}

.home-page .service-card-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    margin-top: -39px;
    margin-bottom: 12px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy);
    font-size: 18px;
    font-weight: 800;
    box-shadow: 0 8px 20px #071b3922
}

.home-page .service-card-grid h3 {
    font-size: 20px;
    line-height: 1.25;
    margin: 0 0 18px;
    color: var(--navy)
}

.home-page .service-card-grid p {
    font-size: 14px;
    line-height: 1.65;
    color: #3d4657;
    margin: 0 0 18px
}

.home-page .service-card-grid .service-card-body > a {
    margin-top: auto;
    color: var(--gold-dark);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none
}

    .home-page .service-card-grid .service-card-body > a:hover {
        text-decoration: underline
    }

@media(max-width: 1050px) {
    .home-page .service-card-grid {
        grid-template-columns: repeat(2,1fr)
    }
}

@media(max-width: 760px) {
    .home-page #services {
        padding: 52px 0
    }

        .home-page #services .split-heading {
            align-items: flex-start;
            flex-direction: column
        }

    .home-page .service-card-grid {
        grid-template-columns: 1fr
    }

        .home-page .service-card-grid article:last-child {
            grid-column: auto
        }

    .home-page .service-card-image {
        height: 210px
    }

    .home-page .service-card-grid h3 {
        font-size: 19px
    }
}

/* Dynamic homepage hero image */
.hero-art {
    background-image: linear-gradient(90deg,#071f48 0%,transparent 28%),var(--hero-art-image,var(--reference));
    background-size: auto,cover;
    background-position: left top,center
}

/* Larger public footer and compact FAQ preview */
.page-footer {
    padding: 58px 0 22px
}

    .page-footer .footer-grid {
        gap: 42px;
        align-items: start
    }

    .page-footer .brand-logo {
        width: 82px;
        height: 82px
    }

    .page-footer h4 {
        margin-bottom: 18px;
        font-size: 13px;
        letter-spacing: .06em
    }

    .page-footer p, .page-footer a {
        font-size: 13px;
        line-height: 1.8
    }

    .page-footer .footer-grid > div > a:not(.brand) {
        margin: 8px 0
    }

    .page-footer .socials {
        gap: 12px;
        margin-top: 20px
    }

        .page-footer .socials span, .page-footer .socials a {
            width: 34px;
            height: 34px;
            font-size: 12px
        }

    .page-footer .social-icon {
        width: 18px;
        height: 18px;
        display: block
    }

    .page-footer .newsletter {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 14px
    }

        .page-footer .newsletter input {
            min-height: 46px;
            font-size: 12px
        }

        .page-footer .newsletter .button {
            width: 100%;
            min-height: 46px;
            font-size: 12px
        }

    .page-footer .copyright {
        margin-top: 38px;
        padding-top: 18px;
        font-size: 11px
    }

.faq-preview-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px
}

.faq-section .faq-preview-heading .button {
    flex: none;
    color: #132441
}

@media(max-width: 760px) {
    .page-footer {
        padding: 42px 0 18px
    }

        .page-footer .footer-grid {
            gap: 28px
        }

        .page-footer .brand-logo {
            width: 68px;
            height: 68px
        }

        .page-footer p, .page-footer a {
            font-size: 12px
        }

    .faq-preview-heading {
        align-items: stretch;
        flex-direction: column
    }

    .faq-section .faq-preview-heading .button {
        width: max-content
    }
}

@media(max-width: 420px) {
    .page-footer .newsletter {
        grid-template-columns: 1fr
    }

    .faq-section .faq-preview-heading .button {
        width: 100%
    }
}

/* Larger public header and footer logos */
.main-nav {
    height: 92px
}

.brand-logo {
    width: 200px;
    height: 76px
}

.page-footer .brand-logo {
    width: 200px;
    height: 112px
}

@media(max-width: 760px) {
    .main-nav {
        height: 78px
    }

    .nav-links {
        top: 78px
    }

    .brand-logo {
        width: 62px;
        height: 62px
    }

    .page-footer .brand-logo {
        width: 88px;
        height: 88px
    }
}

/* Homepage service widgets */
.home-service-widgets + #services {
    display: none
}

.home-service-widgets {
    overflow: hidden;
    padding: 44px 0
}

/* Bigger homepage about, industries, and process sections */
#about.section-tight {
    padding: 46px 0 34px
}

#about .feature-row {
    grid-template-columns: 1.05fr .95fr;
    gap: 34px;
    align-items: stretch
}

#about .eyebrow, .industries .eyebrow, .process .eyebrow {
    font-size: 14px;
    margin-bottom: 18px
}

#about .chip-grid {
    grid-template-columns: repeat(3,1fr);
    gap: 13px
}

    #about .chip-grid span {
        min-height: 72px;
        padding: 16px 14px;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.35
    }

#about .why-us {
    padding: 34px 38px;
    border-radius: 8px
}

#about .check-grid {
    gap: 16px 24px;
    font-size: 13px;
    line-height: 1.55;
    margin: 22px 0 26px
}

#about .why-us .button {
    min-height: 46px;
    padding: 12px 24px;
    font-size: 13px
}

.industries {
    padding: 42px 0 38px
}

.industry-grid {
    grid-template-columns: repeat(4,1fr);
    gap: 14px
}

.crop {
    height: 158px;
    border-radius: 8px
}

    .crop span {
        left: 14px;
        bottom: 13px;
        font-size: 14px;
        font-weight: 800
    }

.process {
    padding: 48px 0
}

    .process h2 {
        font-size: 32px;
        margin-bottom: 26px
    }

.steps {
    grid-template-columns: repeat(5,1fr);
    gap: 22px 18px;
    padding: 12px 0 0
}

    .steps li {
        text-align: center
    }

    .steps b {
        width: 64px;
        height: 64px;
        font-size: 24px
    }

    .steps span {
        font-size: 13px;
        font-weight: 700;
        line-height: 1.35;
        margin-top: 10px
    }

@media(max-width: 900px) {
    #about .feature-row {
        grid-template-columns: 1fr
    }

    .industry-grid {
        grid-template-columns: repeat(2,1fr)
    }

    .steps {
        grid-template-columns: repeat(2,1fr)
    }
}

@media(max-width: 760px) {
    #about.section-tight {
        padding: 34px 0 28px
    }

    #about .chip-grid {
        grid-template-columns: 1fr 1fr
    }

        #about .chip-grid span {
            min-height: 62px;
            font-size: 12px
        }

    #about .why-us {
        padding: 26px 24px
    }

    .crop {
        height: 132px
    }

    .process h2 {
        font-size: 26px
    }

    .steps b {
        width: 54px;
        height: 54px;
        font-size: 20px
    }

    .steps span {
        font-size: 12px
    }
}

@media(max-width: 420px) {
    #about .chip-grid, .industry-grid, .steps {
        grid-template-columns: 1fr
    }

    .crop {
        height: 150px
    }
}

/* Bigger homepage testimonials and partners */
.testimonials, .partners {
    padding: 52px 0 42px
}

    .testimonials .split-heading, .partners .split-heading {
        margin-bottom: 26px
    }

    .testimonials .eyebrow, .partners .eyebrow {
        font-size: 18px
    }

    .testimonials .split-heading a, .partners .split-heading a {
        font-size: 12px;
        font-weight: 800
    }

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

.testimonial-track {
    gap: 18px
}

    .testimonial-track blockquote {
        grid-template-columns: 72px 1fr;
        gap: 16px;
        min-height: 196px;
        padding: 24px;
        border-radius: 8px
    }

.testimonial-loop blockquote {
    width: 340px;
    flex-basis: 340px
}

.testimonial-track blockquote p {
    font-size: 13px;
    line-height: 1.65;
    margin: 7px 0 14px
}

.testimonial-track blockquote footer {
    font-size: 12px;
    line-height: 1.45
}

    .testimonial-track blockquote footer b {
        font-size: 13px
    }

.testimonial-stars {
    font-size: 15px;
    gap: 2px
}

.testimonial-track .avatar, .testimonial-grid .avatar {
    width: 64px;
    height: 78px;
    font-size: 15px
}

.partners .partner-row {
    grid-template-columns: repeat(4,1fr);
    gap: 18px
}

.partners .partner-card {
    min-height: 126px;
    padding: 20px 18px;
    border-radius: 8px;
    gap: 14px
}

    .partners .partner-card b {
        font-size: 14px;
        line-height: 1.35;
        white-space: normal
    }

.partners .partner-row .partner-logo, .partners .partner-row .partner-logo span {
    width: 76px;
    height: 48px;
    font-size: 20px
}

@media(max-width: 900px) {
    .partners .partner-row {
        grid-template-columns: repeat(3,1fr)
    }

    .testimonial-layout {
        grid-template-columns: 1fr
    }

    .testimonial-loop blockquote {
        width: 310px;
        flex-basis: 310px
    }
}

@media(max-width: 760px) {
    .testimonials, .partners {
        padding: 38px 0 32px
    }

        .testimonials .eyebrow, .partners .eyebrow {
            font-size: 16px
        }

    .testimonial-track blockquote {
        grid-template-columns: 58px 1fr;
        min-height: 170px;
        padding: 18px
    }

    .testimonial-track .avatar, .testimonial-grid .avatar {
        width: 52px;
        height: 64px
    }

    .partners .partner-row {
        grid-template-columns: repeat(2,1fr);
        gap: 14px
    }

    .partners .partner-card {
        min-height: 108px
    }

    .partners .partner-row .partner-logo, .partners .partner-row .partner-logo span {
        width: 62px;
        height: 40px
    }
}

@media(max-width: 420px) {
    .partners .partner-row {
        grid-template-columns: 1fr
    }

    .testimonial-track blockquote {
        display: block
    }

    .testimonial-track .avatar, .testimonial-grid .avatar {
        margin-bottom: 12px
    }
}

.home-service-widgets .split-heading {
    align-items: flex-end;
    margin-bottom: 22px
}

    .home-service-widgets .split-heading > p {
        max-width: 330px;
        color: #586276;
        font-size: 12px;
        line-height: 1.6
    }

.service-widget-carousel {
    display: grid;
    gap: 14px
}

.service-widget-scroll {
    width: 100%;
    overflow-x: auto;
    padding: 2px 2px 14px;
    scrollbar-width: thin
}

.service-widget-scroll {
    cursor: grab;
    user-select: none
}

    .service-widget-scroll.is-dragging {
        cursor: grabbing
    }

.service-widget-track {
    display: flex;
    gap: 14px;
    width: 100%;
    min-width: 100%
}

.service-widget-card {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    flex: 0 0 calc((100% - 56px) / 5);
    min-width: 0;
    min-height: 156px;
    padding: 24px 18px;
    border: 1px solid #dfe7f0;
    border-radius: 6px;
    background: #fff;
    text-align: center;
    box-shadow: none;
    transition: transform .2s,border-color .2s,box-shadow .2s
}

    .service-widget-card:hover {
        border-color: var(--gold);
        transform: translateY(-2px);
        box-shadow: 0 12px 26px #071b3914
    }

.service-widget-track i {
    display: block;
    margin: 0 0 16px;
    color: var(--navy);
    font-size: 24px;
    font-style: normal;
    line-height: 1
}

.service-widget-track h3 {
    margin: 0 0 12px;
    color: #020914;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 800
}

.service-widget-track p {
    max-width: 210px;
    margin: 0;
    color: #2f415c;
    font-size: 11px;
    line-height: 1.45
}

    .service-widget-track h3 a, .service-widget-track p a {
        color: inherit;
        text-decoration: none
    }

        .service-widget-track h3 a:hover, .service-widget-track p a:hover {
            text-decoration: underline
        }

.service-widget-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px
}

.service-widget-carousel.single-page .service-widget-controls {
    display: none
}

.service-widget-page-button {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--navy);
    background: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: background .2s,border-color .2s,color .2s
}

    .service-widget-page-button:hover:not(:disabled) {
        border-color: var(--gold);
        background: #fff7de;
        color: var(--gold-dark)
    }

    .service-widget-page-button:disabled {
        opacity: .42;
        cursor: not-allowed
    }

.service-widget-page-status {
    min-width: 84px;
    color: #667286;
    font-size: 12px;
    font-weight: 700;
    text-align: center
}

.service-widget-more {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 0 4px;
    border: 0;
    border-bottom: 2px solid currentColor;
    color: var(--navy);
    background: transparent;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    transition: color .2s,opacity .2s
}

    .service-widget-more:hover:not(:disabled) {
        color: var(--gold-dark)
    }

    .service-widget-more:disabled {
        opacity: .42;
        cursor: not-allowed
    }

@media(max-width: 900px) {
    .service-widget-track {
        width: max-content
    }

    .service-widget-card {
        flex-basis: 220px;
        min-width: 220px
    }
}

@media(max-width: 760px) {
    .home-service-widgets {
        padding: 36px 0
    }

        .home-service-widgets .split-heading {
            align-items: flex-start;
            flex-direction: column
        }

            .home-service-widgets .split-heading > p {
                text-align: left
            }

    .service-widget-card {
        flex-basis: 245px;
        min-height: 150px
    }
}
