/* Shared section hierarchy for the main marketing pages. */
.mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) {
    --nt-section-heading-color: var(--mia-blue);
    --nt-section-space: clamp(3.5rem, 7vw, 5rem);
    --nt-section-heading-gap: clamp(1.5rem, 3vw, 2.5rem);
}

.mia-wrapper :is(.nt-front-page .nt-video-section, .tug-schematics-section, .tug-closing-section, .nt-mt-video, .nt-mt-cta, .nt-mnv-demo, .nt-mnv-closing, .nt-trn-section--dark, .nt-trn-closing) {
    --nt-section-heading-color: #ffffff;
}

/* Royal Blue is under 3:1 on light surfaces; light mode uses the accessible derivative. Heroes and navy panels keep Royal Blue. */
[data-theme="light"] .mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) {
    --mia-blue: var(--nt-action-blue);
}

/* Dark mode: white section headings, accent phrases in blue-on-dark. Light mode keeps fully blue headings. */
[data-theme="dark"] .mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) {
    --nt-section-heading-color: #ffffff;
}

[data-theme="dark"] .mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) h2 span:is(.nt-accent-text, .tug-accent) {
    color: var(--nt-blue-on-dark);
}

/* Navy panels: accent phrases in blue-on-dark in both themes. */
.mia-wrapper :is(.nt-front-page .nt-video-section, .tug-schematics-section, .tug-closing-section, .nt-mt-video, .nt-mt-cta, .nt-mnv-demo, .nt-mnv-closing, .nt-trn-section--dark, .nt-trn-closing) h2 span:is(.nt-accent-text, .tug-accent) {
    color: var(--nt-blue-on-dark);
}

[data-theme="light"] .mia-wrapper :is(.nt-hero, .tug-hero, .nt-mt-hero, .nt-mnv-hero, .nt-trn-hero, .nt-contact-hero, .nt-contact-side-card, .nt-trn-control, .nt-video-container, .nt-mnv-video-container, .tug-spec-card-header, .nt-front-page .nt-video-section, .tug-schematics-section, .tug-closing-section, .nt-mt-video, .nt-mt-cta, .nt-mnv-demo, .nt-mnv-closing, .nt-trn-section--dark, .nt-trn-closing) {
    --mia-blue: #009cdd;
}

.mia-wrapper .nt-front-page :is(.nt-section-header, .nt-about-text, .nt-crt-text, .nt-home-value-intro, .nt-home-research-inner) h2,
.mia-wrapper :is(.nt-front-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page) .nt-faq-inner > h2,
.mia-wrapper .tug-page :is(.tug-heading-lg, .tug-closing-inner h2),
.mia-wrapper .nt-megatrends-page :is(.nt-mt-section-head, .nt-mt-trend-copy, .nt-mt-cta .nt-container) > h2,
.mia-wrapper .nt-maneuvers-page :is(.nt-mnv-brief, .nt-mnv-section-heading, .nt-mnv-demo-copy, .nt-mnv-closing .nt-mnv-wrap) > h2,
.mia-wrapper .nt-training-page :is(.nt-trn-section-heading, .nt-trn-feature-copy, .nt-trn-closing .nt-trn-wrap) > h2 {
    color: var(--nt-section-heading-color);
    font: 600 clamp(1.8rem, 3.5vw, 3rem)/1.15 var(--mia-font-display);
    letter-spacing: -0.03em;
    text-wrap: balance;
}

.mia-wrapper .nt-front-page :is(.nt-section-header, .nt-about-text, .nt-crt-text) h2 .nt-accent-text,
.mia-wrapper .tug-page .tug-heading-lg .tug-accent {
    color: inherit;
}

.mia-wrapper .nt-contact-page .nt-contact-form-card > h2 {
    color: var(--mia-blue);
    font: 600 clamp(1.45rem, 3vw, 1.7rem)/1.2 var(--mia-font-display);
    letter-spacing: -0.03em;
    text-wrap: balance;
}

.mia-wrapper .nt-front-page .nt-section,
.mia-wrapper .tug-page :is(.tug-section, .tug-closing-section),
.mia-wrapper .nt-megatrends-page :is(.nt-mt-trends, .nt-mt-trend, .nt-mt-video, .nt-mt-cta),
.mia-wrapper .nt-maneuvers-page :is(.nt-mnv-section, .nt-mnv-closing),
.mia-wrapper .nt-training-page :is(.nt-trn-section, .nt-trn-closing),
.mia-wrapper .nt-contact-page .nt-contact-main {
    padding-block: var(--nt-section-space);
}

.mia-wrapper :is(.nt-front-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page) .nt-faq-section {
    padding-block: var(--nt-section-space);
}

.mia-wrapper :is(.nt-front-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page) .nt-faq-inner > h2 {
    margin-bottom: var(--nt-section-heading-gap);
}

.mia-wrapper .nt-front-page .nt-section-header,
.mia-wrapper .tug-page .tug-section-header,
.mia-wrapper .nt-megatrends-page .nt-mt-section-head,
.mia-wrapper .nt-maneuvers-page .nt-mnv-section-heading,
.mia-wrapper .nt-training-page .nt-trn-section-heading {
    margin-bottom: var(--nt-section-heading-gap);
}

.mia-wrapper .nt-front-page .nt-section-header,
.mia-wrapper .tug-page :is(.tug-why-section, .tug-gallery-section, .tug-testimonials-section, .tug-faq-section) .tug-section-header,
.mia-wrapper .nt-megatrends-page .nt-mt-section-head {
    text-align: left;
}

.mia-wrapper .nt-megatrends-page .nt-mt-section-head {
    margin-inline: 0;
}

/* Card and step titles: one style on every main page. */
.mia-wrapper .nt-training-page :is(.nt-trn-path, .nt-trn-capabilities) h3,
.mia-wrapper .nt-megatrends-page .nt-mt-operation-sequence h3,
.mia-wrapper .nt-front-page .nt-deployment-sequence h3,
.mia-wrapper .tug-page :is(.tug-why-card-title, .tug-deployment-path h3),
.mia-wrapper .nt-maneuvers-page .nt-mnv-capability h3 {
    color: var(--mia-blue);
}

.mia-wrapper .nt-training-page :is(.nt-trn-path, .nt-trn-capabilities) h3,
.mia-wrapper .nt-megatrends-page .nt-mt-operation-sequence h3,
.mia-wrapper .nt-front-page .nt-deployment-sequence h3,
.mia-wrapper .tug-page :is(.tug-why-card-title, .tug-deployment-path h3, .tug-deployment-commercial h3),
.mia-wrapper .nt-maneuvers-page :is(.nt-mnv-capability h3, .nt-mnv-scenario h3) {
    font: 600 1.125rem/1.3 var(--mia-font-display);
    letter-spacing: -0.01em;
}

/* Buttons: one filled and one outline style, matching .nt-btn-primary. Layout (display, margins) stays per page. */
.mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) :is(.nt-btn-primary, .nt-btn-about, .tug-deployment-cta, .tug-closing-inner > a:not(.tug-whitepaper-link), .nt-mt-button--primary, .nt-contact-submit),
.mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) :is(.nt-btn-secondary, .nt-mt-button--ghost) {
    min-height: 44px;
    padding: 0.9rem 2rem;
    border-radius: var(--nt-radius-lg);
    font: 600 0.95rem/1.2 var(--mia-font-body);
}

.mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) :is(.nt-btn-primary, .nt-btn-about, .tug-deployment-cta, .tug-closing-inner > a:not(.tug-whitepaper-link), .nt-mt-button--primary, .nt-contact-submit) {
    border: 0;
    background: var(--nt-action-blue);
    color: #ffffff;
}

.mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) :is(.nt-btn-primary, .nt-btn-about, .tug-deployment-cta, .tug-closing-inner > a:not(.tug-whitepaper-link), .nt-mt-button--primary, .nt-contact-submit):is(:hover, :focus-visible) {
    background: var(--nt-action-blue-hover);
    color: #ffffff;
}

.mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) :is(.nt-btn-secondary, .nt-mt-button--ghost) {
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.mia-wrapper :is(.nt-front-page, .tug-page, .nt-megatrends-page, .nt-maneuvers-page, .nt-training-page, .nt-contact-page) :is(.nt-btn-secondary, .nt-mt-button--ghost):is(:hover, :focus-visible) {
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.15);
}

/* Section labels above headings: one style. Colour stays per surface. */
.mia-wrapper .nt-megatrends-page .nt-mt-index,
.mia-wrapper .tug-page .tug-closing-inner > span:has(+ h2),
.mia-wrapper .nt-maneuvers-page :is(.nt-mnv-section-heading, .nt-mnv-demo-copy, .nt-mnv-wrap) > span:has(+ h2),
.mia-wrapper .nt-training-page :is(.nt-trn-section-heading, .nt-trn-feature-copy, .nt-trn-wrap, .nt-trn-control-copy) > span:has(+ :is(h2, h3)) {
    font: 600 0.8rem/1.4 var(--mia-font-body);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* Small kickers inside cards: one style. */
.mia-wrapper .nt-maneuvers-page :is(.nt-mnv-video-label, .nt-mnv-capability > span, .nt-mnv-scenario header > span),
.mia-wrapper .tug-page .tug-deployment-commercial span:has(+ h3) {
    font: 700 0.72rem/1.4 var(--mia-font-body);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
