html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-padding-top: 82px;
}

body { overflow-x: hidden; }

a, button, input, select, textarea { touch-action: manipulation; }
img { max-width: 100%; height: auto; }
.profile-image { background-image: url('/assets/icon-192.png'); }

main > section:nth-child(n+2),
.related-articles,
.contextual-internal-links {
    content-visibility: auto;
    contain-intrinsic-size: auto 700px;
}

:focus-visible {
    outline: 3px solid rgba(193, 18, 31, .38);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .nav-menu a,
    .nav-menu button,
    .back-to-top,
    .support-launcher {
        min-width: 44px;
        min-height: 44px;
    }

    .nav-menu { overscroll-behavior: contain; }
    p, li { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
.person-details .hero-subtitle {
    margin: 0;
    color: var(--red);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.5;
    text-align: right;
}

.focus-card .focus-title {
    margin: 5px 0 12px;
    color: #222;
    font-size: 16px;
    font-weight: 700;
}

.focus-card .focus-subtitle {
    margin: 0 0 12px;
    color: var(--red);
    font-size: 13px;
    font-weight: 400;
}

.skill .skill-title,
.tech-item .tech-label {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 400;
}

.service-card .service-subtitle {
    margin: 0 0 8px;
    color: #777;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
}

.platform-card .platform-title {
    margin: 8px 0 14px;
    color: #222;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
}

.advantage-card .advantage-subtitle {
    margin: 0 0 14px;
    color: #777;
    font-size: 12px;
    font-weight: 400;
}

@media (max-width: 767px) {
    .person-details .hero-subtitle {
        font-size: 17px;
        text-align: center;
    }
}

.home-seo-overview {
    background: #f7f8fa;
}

.home-seo-overview-copy {
    max-width: 1040px;
    margin: 0 auto;
    columns: 2;
    column-gap: 3rem;
}

.home-seo-overview-copy p {
    margin: 0 0 1rem;
    color: #444a54;
    font-size: .96rem;
    line-height: 2.15;
    text-align: justify;
    break-inside: avoid;
}

.home-seo-overview-copy a {
    color: #a70f1a;
    font-weight: 700;
    text-underline-offset: 4px;
}

/* Accessible third-level product navigation. */
.nav-subdropdown { position: relative; }
.nav-submenu-nested {
    top: -7px;
    right: auto;
    left: 100%;
    min-width: 176px;
}
.nav-subdropdown > a::before { display: none; }
.nav-subdropdown > a::after {
    content: "›";
    margin-right: auto;
    margin-left: 0;
    padding-right: 18px;
    color: #ef5b67;
    font-size: 18px;
}
.product-menu a.active { color: #fff; background: #bf101e; }

@media (max-width: 1199px) {
    .nav-submenu-nested {
        position: static;
        padding-right: 18px;
        background: rgba(0, 0, 0, .12);
    }
    .nav-subdropdown > a::after { content: "⌄"; }
    .nav-submenu-nested a { padding-inline-start: 52px !important; }
}

@media (max-width: 800px) {
    .home-seo-overview-copy { columns: 1; }
}
