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 {
        min-height: 100svh;
    }

    .cta-content {
        min-height: 100svh;
    }

    .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;
    }
}
