    /* Novatug global theme styles */
    /* Shared tokens, wrappers, layout primitives, footer, and reveal utilities */

    :root {
        --mia-duration-fast: 160ms;
        --mia-duration-ui: 200ms;
        --mia-duration-panel: 250ms;
        --mia-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
        --mia-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
        --mia-stagger-step: 50ms;
    }

    html,
    body {
        margin: 0;
        padding: 0;
        width: 100%;
        scroll-behavior: auto !important; /* Force native smooth scroll to fix macOS delay */
        background-color: #000; /* Fallback for dark mode */
    }

    html {
        overflow-x: hidden;
        scroll-padding-top: 120px;
    }

    .mia-wrapper main :is(section, article, form, input, select, textarea)[id] {
        scroll-margin-top: 120px;
    }

    body {
        overflow-x: visible;
        overflow-y: visible;
    }

    @supports (overflow: clip) {
        body {
            overflow-x: clip;
        }
    }

    html[data-theme="light"],
    html[data-theme="light"] body {
        background-color: #f0f4f8; /* Matches .mia-wrapper in light mode */
    }

    .mia-wrapper {
        /* Novatug Brand Colors */
        --mia-black: #000000;
        --mia-white: #ffffff;
        --mia-blue: #009cdd;
        --mia-dark-blue: #5391b4;
        --nt-navy-900: #04121f;
        --nt-navy-800: #061826;
        --nt-navy-700: #0d2b40;
        --nt-navy-gradient: radial-gradient(120% 140% at 20% 0%, var(--nt-navy-700) 0%, var(--nt-navy-900) 68%);
        --nt-navy-text: #ffffff;
        --nt-navy-text-secondary: #b9c8d3;
        --nt-navy-text-muted: #8ea4b5;
        --nt-blue-on-dark: #40c4ff;
        --nt-media-shadow: 0 18px 45px rgba(4, 18, 31, 0.12);

        /* Derived colors */
        --mia-bg-primary: var(--mia-black);
        --mia-bg-secondary: #0a0a0a;
        --mia-bg-card: #12161a;
        --mia-text-primary: #ffffff;
        --mia-text-secondary: #c2cbd2;
        --mia-text-muted: #9aa8b2;
        --mia-border: rgba(0, 156, 221, 0.2);
        --mia-border-light: rgba(255, 255, 255, 0.16);
        --nt-radius-sm: 4px;
        --nt-radius-md: 8px;
        --nt-radius-lg: 12px;
        --nt-radius-pill: 999px;

        /* Status colors */
        /* Status colors */
        --mia-critical: var(--mia-blue);
        --mia-major: var(--mia-dark-blue);
        --mia-moderate: var(--mia-white);
        --mia-minor: var(--mia-text-muted);

        /* Typography */
        --mia-font-display: "Sora", "Avenir Next", "Segoe UI", sans-serif;
        --mia-font-body: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
    }

    [data-theme="light"] .mia-wrapper {
        --mia-bg-primary: #eaf0f5;
        --mia-bg-secondary: #ffffff;
        --mia-bg-card: #ffffff;
        --mia-text-primary: #1a1a1a;
        --mia-text-secondary: #3f4b55;
        --mia-text-muted: #56636d;
        --mia-border: rgba(0, 114, 163, 0.42);
        --mia-border-light: rgba(4, 18, 31, 0.16);
        --mia-moderate: #666666;
        --mia-white: #000000;
    }

    .mia-wrapper {

        font-family: var(--mia-font-body);
        background: var(--mia-bg-primary);
        color: var(--mia-text-primary);
        line-height: 1.6;
        padding: 0;
        position: relative;
        box-sizing: border-box;
        min-height: 100vh;
        overflow: visible;
    }


    .mia-wrapper .mia-accidents-page #mia-react-app,
    .mia-wrapper .nt-wiki-page #wiki-react-app {
        display: flow-root;
    }


    .mia-wrapper .nt-wiki-page {
        --wiki-app-reserved-height: clamp(900px, 100vh, 1200px);
    }

    .mia-wrapper .nt-wiki-page #wiki-react-app,
    .mia-wrapper .nt-wiki-page #wiki-react-app > .wiki-shell {
        min-height: var(--wiki-app-reserved-height);
    }

    .mia-wrapper *,
    .mia-wrapper *::before,
    .mia-wrapper *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }

    /* Wave Background */
    .mia-wrapper .mia-wave-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 0;
        opacity: 0.05;
        overflow: hidden;
    }

    .mia-wrapper .mia-wave-bg svg {
        width: 100%;
        height: 100%;
        color: var(--mia-blue);
    }

    .mia-wrapper .mia-wave-path {
        animation: miaWaveFlow 20s ease-in-out infinite;
    }

    .mia-wrapper .mia-wave-path:nth-child(2) {
        animation-delay: -5s;
        opacity: 0.5;
    }

    .mia-wrapper .mia-wave-path:nth-child(3) {
        animation-delay: -10s;
        opacity: 0.3;
    }

    html.nt-motion-paused .mia-wrapper .mia-wave-path {
        animation-play-state: paused;
    }

    @keyframes miaWaveFlow {

        0%,
        100% {
            transform: translateX(0) translateY(0);
        }

        50% {
            transform: translateX(-20px) translateY(10px);
        }
    }

    .mia-wrapper .mia-container {
        position: relative;
        z-index: 1;
    }

    /* Shared Novatug page primitives */
    .nt-page-shell {
        background: var(--mia-bg-primary);
    }

    .nt-page-shell-maneuvers .nt-page-header .nt-heading-lg,
    .nt-page-shell-megatrends .nt-page-header .nt-heading-lg {
        color: var(--mia-blue);
    }

    /* Shared sticky in-page section navigation */
    .nt-section-rail {
        position: sticky;
        top: 88px;
        z-index: 30;
        border-bottom: 1px solid var(--mia-border);
        background: color-mix(in srgb, var(--mia-bg-primary) 92%, transparent);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .nt-section-rail__inner {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.3rem;
        width: 100%;
        max-width: 1320px;
        min-height: 58px;
        margin: 0 auto;
        padding: 0 clamp(1.25rem, 4vw, 3rem);
    }

    .nt-section-rail span {
        flex: none;
        margin-right: 0.8rem;
        color: var(--mia-text-muted);
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .nt-section-rail a {
        flex: none;
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        padding: 0.42rem 0.8rem;
        border-radius: 100px;
        color: var(--mia-text-secondary, #b0b0b0);
        font-size: 0.82rem;
        font-weight: 700;
        text-decoration: none;
        transition: color 0.2s ease, background 0.2s ease;
    }

    .nt-section-rail a:hover,
    .nt-section-rail a:focus-visible {
        color: var(--mia-blue);
        background: rgba(0, 156, 221, 0.09);
    }

    .nt-section-rail a.is-active {
        color: #ffffff;
        background: var(--mia-blue);
    }

    @media (min-width: 1200px) {
        .nt-section-rail {
            width: calc(100% - 40px);
            max-width: var(--nav-max-width, 1200px);
            margin-inline: auto;
            border: 1px solid var(--nav-border, var(--mia-border));
            border-radius: var(--nav-radius-shell, 28px);
            background: var(--nav-bg, color-mix(in srgb, var(--mia-bg-primary) 92%, transparent));
            box-shadow: 0 12px 32px rgba(4, 18, 31, 0.12);
        }
    }

    @media (max-width: 768px) {
        .nt-section-rail {
            top: 68px;
        }

        .nt-section-rail__inner {
            justify-content: flex-start;
            gap: 0.15rem;
            min-height: 54px;
            overflow-x: auto;
            overscroll-behavior-inline: contain;
            scroll-padding-inline: 1.25rem;
            scroll-snap-type: x proximity;
            scrollbar-width: none;
            mask-image: linear-gradient(90deg, transparent, #000 1.25rem, #000 calc(100% - 1.25rem), transparent);
        }

        .nt-section-rail__inner::-webkit-scrollbar {
            display: none;
        }

        .nt-section-rail span {
            margin-right: 0.45rem;
        }

        .nt-section-rail a {
            justify-content: center;
            min-height: 44px;
            padding: 0.42rem 0.7rem;
            scroll-snap-align: start;
        }
    }

    @media (max-width: 520px) {
        .nt-section-rail__inner {
            min-height: 48px;
            padding-inline: 0.75rem;
            scroll-padding-inline: 0.75rem;
            mask-image: linear-gradient(90deg, transparent, #000 0.75rem, #000 calc(100% - 0.75rem), transparent);
        }

        .nt-section-rail span {
            display: none;
        }

        .nt-section-rail a {
            min-height: 44px;
            padding: 0.36rem 0.62rem;
            font-size: 0.78rem;
        }
    }

    .nt-section {
        padding: clamp(4rem, 10vw, 8rem) 0;
        position: relative;
        background: var(--mia-bg-primary);
        width: 100%;
    }

    .nt-container {
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        padding: 0 clamp(1.25rem, 4vw, 3rem);
    }

    .nt-section-divider {
        height: 0;
        border-top: 1px solid var(--mia-blue);
        max-width: 200px;
        margin: 0 auto;
        position: relative;
        z-index: 10;
        opacity: 0.5;
    }

    .nt-heading-xl {
        font-family: var(--mia-font-display);
        font-size: clamp(2.8rem, 6vw, 5.5rem);
        font-weight: 700;
        line-height: 1.02;
        letter-spacing: -0.035em;
    }

    .nt-heading-lg {
        font-family: var(--mia-font-display);
        font-size: clamp(2rem, 4vw, 3.5rem);
        font-weight: 700;
        line-height: 1.08;
        letter-spacing: -0.024em;
    }

    .nt-heading-sm {
        font-family: var(--mia-font-display);
        font-size: clamp(1.25rem, 2.2vw, 1.7rem);
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: -0.015em;
        margin-bottom: 0.9rem;
    }

    .nt-body-lg {
        font-size: clamp(1.05rem, 1.3vw, 1.25rem);
        line-height: 1.78;
        font-weight: 400;
    }

    .nt-body {
        font-size: 1rem;
        line-height: 1.75;
    }

    .nt-label {
        font-size: 0.8rem;
        font-weight: 600;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .nt-accent-text {
        color: var(--mia-blue);
    }

    .nt-hero-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.4rem 1rem;
        background: rgba(0, 156, 221, 0.15);
        border: 1px solid rgba(0, 156, 221, 0.3);
        border-radius: 100px;
        color: var(--mia-blue);
        font-size: 0.8rem;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        margin-bottom: 1.5rem;
        backdrop-filter: blur(10px);
    }

    .nt-hero-badge-dot {
        width: 6px;
        height: 6px;
        background: var(--mia-blue);
        border-radius: 50%;
    }

    .nt-hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        align-items: center;
    }

    .nt-btn-primary {
        display: inline-flex;
        align-items: center;
        gap: 0.6rem;
        padding: 0.9rem 2rem;
        font-size: 0.95rem;
        font-weight: 600;
        color: #fff;
        background: var(--mia-blue);
        border-radius: var(--nt-radius-lg);
        transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 160ms ease;
        position: relative;
        overflow: hidden;
    }

    .nt-btn-primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(0, 156, 221, 0.4);
    }

    .nt-btn-secondary {
        display: inline-flex;
        align-items: center;
        gap: 0.6rem;
        padding: 0.9rem 2rem;
        font-size: 0.95rem;
        font-weight: 600;
        color: #fff;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: var(--nt-radius-lg);
        backdrop-filter: blur(10px);
        transition: background-color 160ms ease, border-color 160ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
    }

    .nt-btn-secondary:hover {
        background: rgba(255, 255, 255, 0.15);
        border-color: rgba(255, 255, 255, 0.4);
        transform: translateY(-2px);
    }

    /* Shared sheen for promotional actions. Functional controls keep their own states. */
    .mia-wrapper :where(
        .nt-btn-primary,
        .nt-btn-secondary,
        .nt-btn-about,
        .nt-mt-button,
        .nt-contact-submit,
        .tug-deployment-cta,
        .tug-closing-inner > a:not(.tug-whitepaper-link),
        .mia-btn-primary,
        .nt-research-updates__link,
        .wp-block-button__link
    ) {
        position: relative;
        isolation: isolate;
        overflow: hidden;
    }

    .mia-wrapper :where(
        .nt-btn-primary,
        .nt-btn-secondary,
        .nt-btn-about,
        .nt-mt-button,
        .nt-contact-submit,
        .tug-deployment-cta,
        .tug-closing-inner > a:not(.tug-whitepaper-link),
        .mia-btn-primary,
        .nt-research-updates__link,
        .wp-block-button__link
    ):focus-visible {
        outline: 3px solid var(--mia-blue);
        outline-offset: 3px;
    }

    .mia-wrapper :where(
        .nt-btn-primary,
        .nt-btn-secondary,
        .nt-btn-about,
        .nt-mt-button,
        .nt-contact-submit,
        .tug-deployment-cta,
        .tug-closing-inner > a:not(.tug-whitepaper-link),
        .mia-btn-primary,
        .nt-research-updates__link,
        .wp-block-button__link
    )::after {
        content: '';
        position: absolute;
        z-index: 1;
        top: 0;
        bottom: 0;
        left: -60%;
        width: 42%;
        pointer-events: none;
        background: linear-gradient(
            90deg,
            transparent,
            color-mix(in srgb, currentColor 24%, transparent),
            transparent
        );
        transform: translate3d(0, 0, 0) skewX(-20deg);
        transition: transform 500ms var(--mia-ease-out);
    }

    .mia-wrapper :where(
        .nt-btn-primary,
        .nt-btn-secondary,
        .nt-btn-about,
        .nt-mt-button,
        .nt-contact-submit,
        .tug-deployment-cta,
        .tug-closing-inner > a:not(.tug-whitepaper-link),
        .mia-btn-primary,
        .nt-research-updates__link,
        .wp-block-button__link
    ):is(:hover, :focus-visible)::after {
        transform: translate3d(430%, 0, 0) skewX(-20deg);
    }

    .nt-section-header {
        text-align: center;
        margin-bottom: clamp(3.5rem, 7vw, 5.5rem);
    }

    .nt-section-label {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 1rem;
        color: var(--mia-blue);
    }

    .nt-section-label::before,
    .nt-section-label::after {
        content: '';
        width: 24px;
        height: 1px;
        background: var(--mia-blue);
        opacity: 0.5;
    }

    .nt-section-desc {
        max-width: 680px;
        margin: 1rem auto 0;
        color: var(--mia-text-secondary);
        line-height: 1.75;
    }

    .nt-about {
        background: var(--mia-bg-primary);
    }

    .nt-about-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: clamp(3rem, 8vw, 6rem);
        align-items: center;
    }

    .nt-about-visual {
        position: relative;
    }

    .nt-about-visual-main {
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    }

    .nt-about-visual-main img {
        width: 100%;
        height: auto;
        display: block;
    }

    .nt-about-visual-float {
        position: absolute;
        bottom: -20px;
        right: -20px;
        background: var(--mia-bg-primary);
        padding: 1.5rem 2rem;
        border-radius: 16px;
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
        text-align: center;
        border: 1px solid var(--mia-border-light);
    }

    .nt-about-visual-float-icon {
        font-size: 2.5rem;
        margin-bottom: 0.5rem;
    }

    .nt-about-visual-float-value {
        font-family: var(--mia-font-display);
        font-size: 2rem;
        font-weight: 700;
        color: var(--mia-blue);
        line-height: 1;
        margin-bottom: 0.25rem;
    }

    .nt-about-visual-float-label {
        font-size: 0.75rem;
        color: var(--mia-text-muted);
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 600;
    }

    .nt-about-text-label {
        margin-bottom: 1rem;
    }

    .nt-about-text h2 {
        margin-bottom: 1.5rem;
    }

    .nt-about-text p {
        margin-bottom: 1.25rem;
        line-height: 1.78;
    }

    .nt-about-features {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        margin: 2.5rem 0;
        list-style: none;
    }

    .nt-about-feature {
        display: flex;
        gap: 1rem;
        align-items: flex-start;
    }

    .nt-about-feature-icon {
        width: 48px;
        height: 48px;
        min-width: 48px;
        background: rgba(0, 156, 221, 0.08);
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--mia-blue);
    }

    .nt-about-feature-icon svg {
        width: 24px;
        height: 24px;
    }

    .nt-about-feature-title {
        font-weight: 600;
        font-size: 1.05rem;
        margin-bottom: 0.25rem;
        color: var(--mia-text-primary);
    }

    .nt-about-feature-desc {
        font-size: 0.9rem;
        color: var(--mia-text-muted);
    }

    .nt-btn-about {
        display: inline-flex;
        align-items: center;
        gap: 0.6rem;
        padding: 0.9rem 2rem;
        font-size: 0.95rem;
        font-weight: 600;
        color: #fff;
        background: var(--mia-blue);
        border-radius: 12px;
        transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 160ms ease;
        margin-top: 1rem;
    }

    .nt-btn-about:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(0, 156, 221, 0.4);
    }

    @media (max-width: 1024px) {
        .nt-about-grid {
            grid-template-columns: 1fr;
            gap: 3rem;
        }
    }

    @media (max-width: 768px) {
        .nt-btn-secondary {
            width: 100%;
            justify-content: center;
        }

        .nt-about-visual-float {
            position: static;
            margin-top: 1.5rem;
        }
    }

    @media (max-width: 480px) {
        .nt-hero-actions {
            flex-direction: column;
            width: 100%;
        }

        .nt-hero-actions a {
            width: 100%;
            justify-content: center;
        }
    }


    /* Footer — full-width container */
    /* ─── Footer (redesigned) ───────────────────────────────────────── */

    .nt-footer {
        width: 100%;
        background: var(--mia-bg-secondary);
    }

    [data-theme="dark"] .nt-footer {
        background: var(--mia-bg-secondary);
    }

    .nt-footer-inner {
        max-width: var(--max-wide);
        margin: 0 auto;
        padding: clamp(3rem, 7vw, 5rem) clamp(1.25rem, 4vw, 3rem) 0;
    }

    /* Grid: brand | nav col | nav col | contact */
    .nt-footer-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    @media (min-width: 640px) {
        .nt-footer-grid {
            grid-template-columns: 1fr 1fr;
            gap: 2rem 3rem;
        }
    }

    @media (min-width: 1024px) {
        .nt-footer-grid {
            grid-template-columns: 1fr 1fr 1fr 1.2fr;
            gap: 2rem 3rem;
        }
    }

    /* Brand column */
    .nt-footer-brand {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .nt-footer-logo-link {
        display: inline-block;
        line-height: 0;
        opacity: 0.9;
        transition: opacity 0.2s ease;
    }

    .nt-footer-logo-link:hover {
        opacity: 1;
    }

    .nt-footer-logo-link img {
        height: 36px;
        width: auto;
    }

    .nt-footer-tagline {
        font-size: 0.85rem;
        font-style: italic;
        color: var(--text-light-secondary);
        margin: 0;
        line-height: 1.55;
        max-width: 220px;
    }

    [data-theme="dark"] .nt-footer-tagline {
        color: var(--text-secondary);
    }

    .nt-footer-address {
        font-style: normal;
        font-size: 0.8rem;
        line-height: 1.65;
        color: var(--text-light-muted);
    }

    [data-theme="dark"] .nt-footer-address {
        color: var(--text-muted);
    }

    /* Nav columns */
    .nt-footer-col-heading {
        font-family: 'Sora', sans-serif;
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--mia-blue);
        margin: 0 0 0.9rem;
    }

    .nt-footer-nav-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
    }

    .nt-footer-nav-link {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        font-size: 0.875rem;
        color: var(--text-light-secondary);
        text-decoration: none;
        transition: color 0.2s ease;
        line-height: 1.4;
    }

    [data-theme="dark"] .nt-footer-nav-link {
        color: var(--text-secondary);
    }

    .nt-footer-nav-link:hover {
        color: var(--mia-blue);
    }

    /* Contact column */
    .nt-footer-contact-col {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

    .nt-footer-contact-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
    }

    .nt-footer-contact-item {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.875rem;
        color: var(--text-light-secondary);
    }

    [data-theme="dark"] .nt-footer-contact-item {
        color: var(--text-secondary);
    }

    .nt-footer-contact-item svg {
        flex-shrink: 0;
        color: var(--mia-blue);
        opacity: 0.8;
    }

    .nt-footer-contact-item a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        color: inherit;
        text-decoration: none;
        transition: color 0.2s ease;
    }

    .nt-footer-contact-item a:hover {
        color: var(--mia-blue);
    }

    /* Social icons */
    .nt-footer-social {
        display: flex;
        gap: 0.65rem;
        flex-wrap: wrap;
    }

    .nt-footer-social-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        border: 1px solid rgba(0, 156, 221, 0.25);
        color: var(--text-light-secondary);
        transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
    }

    [data-theme="dark"] .nt-footer-social-link {
        color: var(--text-secondary);
        border-color: var(--border);
    }

    .nt-footer-social-link:hover {
        color: var(--mia-blue);
        border-color: var(--mia-blue);
        background: rgba(0, 156, 221, 0.06);
    }

    /* Legal */
    .nt-footer-legal {
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
    }

    .nt-footer-legal-row {
        display: flex;
        gap: 0.4rem;
        font-size: 0.75rem;
        color: var(--text-light-muted);
    }

    [data-theme="dark"] .nt-footer-legal-row {
        color: var(--text-muted);
    }

    .nt-footer-legal-row dt {
        font-weight: 600;
        flex-shrink: 0;
        min-width: 2.5rem;
    }

    .nt-footer-legal-row dd {
        margin: 0;
    }

    /* Bottom bar */
    .nt-footer-bottom {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        margin-top: clamp(2.5rem, 5vw, 4rem);
        padding: 1.25rem 0;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        text-align: center;
    }

    [data-theme="dark"] .nt-footer-bottom {
        border-top-color: var(--border);
    }

    @media (min-width: 640px) {
        .nt-footer-bottom {
            flex-direction: row;
            justify-content: space-between;
            text-align: left;
        }
    }

    .nt-footer-copyright {
        font-size: 0.78rem;
        color: var(--text-light-muted);
    }

    [data-theme="dark"] .nt-footer-copyright {
        color: var(--text-muted);
    }

    .nt-footer-bottom-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0 1rem;
    }

    .nt-footer-bottom-link {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        font-size: 0.78rem;
        color: var(--mia-blue);
        text-decoration: none;
        transition: opacity 0.2s ease;
    }

    .nt-footer-bottom-link:hover {
        opacity: 0.75;
    }

    /* Legacy selectors kept for compatibility — blank overrides */
    .mia-footer-contact,
    .mia-footer-heading,
    .mia-footer-contact .mia-section-title,
    .mia-footer-contact .mia-footer-section-header,
    .mia-footer-contact .mia-footer-text,
    .mia-footer-contact .mia-footer-address,
    .mia-footer-contact .mia-footer-tagline,
    .mia-footer-contact .mia-footer-links,
    .mia-footer-contact .mia-footer-link-item,
    .mia-footer-contact .mia-footer-link,
    .mia-footer-contact .mia-footer-copyright { /* intentionally unstyled — replaced by .nt-footer */ }

    /* ================================
   Global Scroll Reveal Animations
   ================================ */
    html.nt-motion .nt-reveal,
    html.nt-motion .nt-reveal-left,
    html.nt-motion .nt-reveal-right,
    html.nt-motion .nt-reveal-scale,
    html.nt-motion .nt-auto-reveal,
    html.nt-motion .nt-stagger > * {
        opacity: 0;
        transform: translate3d(0, 16px, 0);
        transition:
            opacity 0.42s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
        transition-delay: 0s;
        will-change: opacity, transform;
        backface-visibility: hidden;
    }

    html.nt-motion .nt-reveal-left {
        transform: translate3d(-24px, 0, 0);
    }

    html.nt-motion .nt-reveal-right {
        transform: translate3d(24px, 0, 0);
    }

    html.nt-motion .nt-reveal-scale {
        transform: scale(0.97);
    }

    html.nt-motion .nt-stagger > :nth-child(1) {
        transition-delay: 0ms;
    }

    html.nt-motion .nt-stagger > :nth-child(2) {
        transition-delay: calc(var(--mia-stagger-step) * 1);
    }

    html.nt-motion .nt-stagger > :nth-child(3) {
        transition-delay: calc(var(--mia-stagger-step) * 2);
    }

    html.nt-motion .nt-stagger > :nth-child(4) {
        transition-delay: calc(var(--mia-stagger-step) * 3);
    }

    html.nt-motion .nt-stagger > :nth-child(5) {
        transition-delay: calc(var(--mia-stagger-step) * 4);
    }

    html.nt-motion .nt-stagger > :nth-child(6),
    html.nt-motion .nt-stagger > :nth-child(n + 7) {
        transition-delay: calc(var(--mia-stagger-step) * 5);
    }

    html.nt-motion .nt-reveal.visible,
    html.nt-motion .nt-reveal-left.visible,
    html.nt-motion .nt-reveal-right.visible,
    html.nt-motion .nt-reveal-scale.visible,
    html.nt-motion .nt-auto-reveal.visible,
    html.nt-motion .nt-stagger > *.visible {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    /* The wiki skips global reveal JS, so its shared footer must be visible immediately. */
    body.page-template-page-maritime-wiki .nt-footer .nt-reveal,
    body.page-template-page-maritime-wiki-php .nt-footer .nt-reveal,
    body.page-template-page-maritime-wiki .nt-footer .nt-stagger > *,
    body.page-template-page-maritime-wiki-php .nt-footer .nt-stagger > * {
        opacity: 1;
        transform: none;
        transition: none;
        will-change: auto;
    }

    /* Global rounded card box */
    .nt-card {
        background: var(--mia-bg-card, var(--mia-bg-secondary));
        border: 1px solid var(--mia-border-light);
        border-radius: 16px;
        padding: clamp(1.5rem, 3vw, 2.5rem);
        transition: border-color 0.3s ease;
    }

    .nt-card:hover {
        border-color: var(--mia-border);
    }

    .mia-contact-kicker {
        color: var(--mia-blue);
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        font-weight: 600;
        display: block;
        margin-bottom: 0.5rem;
    }

    /* ================================
       Mobile horizontal padding
       ================================ */

    /* Add side padding to inner .mia-container elements within content sections.
       Without this, text touches the screen edge on narrow viewports. */
    .mia-wrapper .nt-contact-hero .mia-container,
    .mia-wrapper .nt-contact-form-section .mia-container,
    .mia-wrapper .mia-contact-section .mia-container,
    .mia-wrapper .nt-research-hero .mia-container,
    .mia-wrapper .nt-research-grid-section .mia-container,
    .mia-wrapper .nt-article-hero .mia-container,
    .mia-wrapper .nt-article-section .mia-container,
    .mia-wrapper .nt-article-nav-section .mia-container,
    .mia-wrapper .nt-more-articles-section .mia-container {
        padding-left: clamp(1.25rem, 4vw, 3rem);
        padding-right: clamp(1.25rem, 4vw, 3rem);
    }


    @media (prefers-reduced-motion: reduce) {

        .mia-wrapper .mia-wave-path {
            animation: none;
        }

        html:not(.nt-force-motion) .nt-reveal,
        html:not(.nt-force-motion) .nt-reveal-left,
        html:not(.nt-force-motion) .nt-reveal-right,
        html:not(.nt-force-motion) .nt-reveal-scale,
        html:not(.nt-force-motion) .nt-auto-reveal,
        html:not(.nt-force-motion) .nt-stagger > * {
            opacity: 1 !important;
            transform: none !important;
            filter: none !important;
            transition: none !important;
            transition-delay: 0s !important;
            will-change: auto !important;
        }

        .mia-wrapper :where(
            .nt-btn-primary,
            .nt-btn-secondary,
            .nt-btn-about,
            .nt-mt-button,
            .nt-contact-submit,
            .tug-deployment-cta,
            .tug-closing-inner > a:not(.tug-whitepaper-link),
            .mia-btn-primary,
            .nt-research-updates__link,
            .wp-block-button__link
        )::after {
            display: none;
        }
    }

    /* Accessibility preferences for floating materials and direct controls. */
    @media (prefers-reduced-transparency: reduce) {
        .nt-section-rail,
        .nt-hero-badge,
        .nt-btn-secondary {
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }

        .nt-section-rail {
            background: var(--mia-bg-primary);
        }

        .nt-hero-badge,
        .nt-btn-secondary {
            background: rgba(0, 0, 0, 0.92);
        }
    }

    @media (prefers-contrast: more) {
        .nt-section-rail {
            background: var(--mia-bg-primary);
            border-bottom-color: currentColor;
        }

        .nt-section-rail a {
            color: var(--mia-text-primary);
        }

        .nt-section-rail a.is-active {
            outline: 2px solid currentColor;
            outline-offset: -2px;
        }
    }

    .nt-btn-primary:active,
    .nt-btn-secondary:active {
        transform: scale(0.97);
        transition-duration: 90ms;
        transition-timing-function: ease-out;
    }

    @media (hover: none), (pointer: coarse) {
        .nt-btn-primary:hover,
        .nt-btn-secondary:hover {
            transform: none;
            box-shadow: none;
        }

    }
