html {
    scroll-padding-top: 76px;
}

#s1, #s2, #s3, #s4, #s5,
#impact, #compliance, #cta, #page-01 {
    scroll-margin-top: 76px;
}

a,
button,
input,
select,
textarea {
    touch-action: manipulation;
}

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

.media-seg {
    height: 26px;
    margin: -12px 0;
    overflow: visible;
    background: none;
    transition: width .35s var(--ease-out);
}

.media-seg::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 2px;
    margin-top: -1px;
    background: var(--border-light);
    transition: background .3s;
}

.media-seg:hover,
.media-seg.is-active {
    background: none;
}

.media-seg:hover::before { background: var(--text-muted); }

.media-seg.is-active::before { background: var(--ink); }

.media-seg-fill {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 2px;
    margin-top: -1px;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left center;
}

.media-seg:focus-visible {
    outline: 2px solid var(--ink);
    outline-offset: -11px;
}

@media (pointer: coarse) {

    .form-field input,
    .form-field select,
    .form-field textarea {
        font-size: 16px;
    }

    .cta-input-wrap input {
        font-size: 16px;
    }
}

@media (max-width: 768px) {

    html { scroll-padding-top: 64px; }

    #s1, #s2, #s3, #s4, #s5,
    #impact, #compliance, #cta, #page-01 {
        scroll-margin-top: 64px;
    }

    .top-bar {
        height: calc(52px + env(safe-area-inset-top));
        padding-top: env(safe-area-inset-top);
        padding-left: max(24px, env(safe-area-inset-left));
        padding-right: max(24px, env(safe-area-inset-right));
    }

    .top-bar a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    .lang-switch {
        margin-left: 0;
        padding-left: 0;
    }

    .lang-switch::before { display: none; }

    .lang-opt {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    .site-nav {
        position: relative;
    }

    .menu-button {
        min-width: 44px;
        min-height: 44px;
    }

    .menu.mobile-open {
        min-width: 150px;
        max-width: calc(100vw - 40px);
        padding: 6px 20px;
    }

    .menu.mobile-open a {
        display: block;
        padding: 14px 0;
        font-size: 15px;
    }

    .header,
    .cta-bottom,
    .cta-content {
        min-height: auto;
    }

    .cta-content {
        padding: 72px 0 40px;
    }

    .site-footer {
        padding-bottom: calc(32px + env(safe-area-inset-bottom));
    }

    .cta-footer {
        padding-bottom: env(safe-area-inset-bottom);
    }

    .media-nav-btn {
        width: 44px;
        height: 44px;
    }

    .media-card-arrow {
        width: 44px;
        height: 44px;
        top: 12px;
        right: 12px;
    }

    .footer-col a,
    .footer-col span {
        display: inline-block;
        padding: 8px 0;
    }

    .breadcrumb a {
        display: inline-block;
        padding: 6px 0;
    }

}

@media (max-width: 900px) and (orientation: landscape) {

    .page-hero {
        min-height: auto;
    }

    .page-hero-inner {
        padding-bottom: 44px;
    }

    .hero-content {
        padding: 12vh 0 48px;
    }
}

@media (max-width: 800px) {

    .locator {
        left: auto;
        top: auto;
        right: 10px;
        bottom: calc(14px + env(safe-area-inset-bottom));
        width: auto;
        padding: 8px 0;
        background: rgba(255, 255, 255, .42);
        -webkit-backdrop-filter: blur(6px);
        backdrop-filter: blur(6px);
        border-color: rgba(255, 255, 255, .5);
        box-shadow: none;
        transform: none;
        pointer-events: none;
    }

    .locator-list {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        max-height: none;
        padding: 0;
        overflow: visible;
    }

    .locator-link {
        width: 20px;
        height: 24px;
        padding: 0;
        pointer-events: auto;
    }

    .locator-link:hover { background: none; }

    .locator-link.is-active .locator-dot {
        transform: scale(1.7);
        box-shadow: 0 0 0 4px rgba(176, 141, 62, .2);
    }
}
