/* ============================================================
   MERKAIR — SITE-WIDE EDITORIAL SYSTEM
   Extends the premium homepage language across every interior.
   ============================================================ */

:root {
    --white: #fff;
    --off-white: #f5f4f1;
    --light-gray: #ecebe7;
    --mid-gray: #d8d7d2;
    --text-muted: #85878b;
    --text-body: #5e6268;
    --text-dark: #111214;
    --navy: #111315;
    --navy-mid: #1b1e21;
    --blue: #2f65b9;
    --blue-bright: #4e83d2;
    --blue-light: #edf3fb;
    --accent: #111315;
    --accent-hover: #2a2d30;
    --gold: #c7a15a;
    --container: 1380px;
    --container-sm: 940px;
    --radius: 12px;
    --radius-md: 18px;
    --radius-lg: 26px;
    --space-4xl: 10rem;
    --shadow-sm: 0 1px 2px rgba(17,18,20,.04);
    --shadow-md: 0 16px 42px rgba(17,18,20,.07);
    --shadow-lg: 0 26px 70px rgba(17,18,20,.1);
    --shadow-xl: 0 34px 90px rgba(17,18,20,.13);
}

body { color: var(--text-body); font-weight: 400; letter-spacing: -.006em; }
body:not(.page-home--premium) { background: var(--white); }
::selection { background: #dce8f8; color: #111; }

body:not(.page-home--premium) h1,
body:not(.page-home--premium) h2,
body:not(.page-home--premium) h3,
body:not(.page-home--premium) h4,
body:not(.page-home--premium) h5,
body:not(.page-home--premium) h6 {
    font-family: var(--font-body);
    font-weight: 500;
    text-transform: none;
    letter-spacing: -.045em;
}
body:not(.page-home--premium) h1 { font-size: clamp(4rem, 8vw, 8.5rem); line-height: .93; }
body:not(.page-home--premium) h2 { font-size: clamp(2.8rem, 5.5vw, 5.8rem); line-height: .98; }
body:not(.page-home--premium) h3 { font-size: clamp(1.6rem, 2.8vw, 2.75rem); line-height: 1.08; }
body:not(.page-home--premium) h4 { letter-spacing: -.025em; }
body:not(.page-home--premium) p { line-height: 1.78; }
body:not(.page-home--premium) .lead { color: #6e7176; font-size: clamp(1.08rem, 1.55vw, 1.3rem); line-height: 1.7; font-weight: 300; }

.container { padding-inline: clamp(1.25rem, 4vw, 3rem); }
.section { padding-block: clamp(6.5rem, 11vw, 11rem); }
.section--sm { padding-block: clamp(5rem, 8vw, 8rem); }
.section--lg { padding-block: clamp(8rem, 14vw, 14rem); }
.section--light { background: var(--off-white); }
.section--navy,
.section--navy-mid { background: #111315; }
.section + .section { border-top: 0; }

.section-header { margin-bottom: clamp(3.5rem, 7vw, 6.5rem); }
.section-header--center { max-width: 880px; margin-inline: auto; }
.section-header--center .lead { max-width: 680px; margin: 1.5rem auto 0; }
.eyebrow {
    color: #82858a;
    font-family: var(--font-body);
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .17em;
    margin-bottom: 1.35rem;
}
.eyebrow--gold,
.eyebrow--red { color: #a78952; }
.section--navy .eyebrow,
.section--navy-mid .eyebrow,
.cta-banner .eyebrow { color: rgba(255,255,255,.48); }
.divider { width: 42px; height: 1px; margin-block: 2rem; background: #b2b4b7; }
.divider--blue,
.divider--gold { background: #b2b4b7; }

/* Interior hero: immersive image, quiet information hierarchy. */
.page-hero {
    min-height: min(78svh, 820px);
    display: flex;
    align-items: flex-end;
    padding: 10rem 0 clamp(4.5rem, 9vh, 7rem);
    background-color: #111315;
    background-size: cover !important;
    border: 0;
}
.page-hero::before {
    background: linear-gradient(0deg, rgba(6,8,10,.58), transparent 62%);
}
.page-hero__content { width: 100%; }
.page-hero__content::before {
    content: 'MERKAIR';
    display: block;
    margin-bottom: 1.25rem;
    color: rgba(255,255,255,.6);
    font: 600 .66rem/1 var(--font-body);
    letter-spacing: .18em;
    text-transform: uppercase;
}
.page-hero .eyebrow { display: none; }
.page-hero h1 { max-width: 980px; margin-bottom: 1.5rem; color: #fff; }
.page-hero .lead { max-width: 620px; color: rgba(255,255,255,.72); font-size: clamp(1.05rem, 1.6vw, 1.3rem); }
.page-hero .btn-group { margin-top: 2.25rem; }

/* Product-specific full-height heroes. */
.aircraft-hero { min-height: 92svh; padding: 10rem 0 6rem; }
.aircraft-hero__name { font-family: var(--font-body); font-weight: 500; letter-spacing: -.07em; text-transform: none; }
.aircraft-hero__tagline { font-family: var(--font-body); font-weight: 400; letter-spacing: -.02em; text-transform: none; }
.aircraft-hero__desc { max-width: 610px; font-weight: 300; }

/* Buttons are calm, tactile controls rather than promotional blocks. */
.btn {
    min-height: 48px;
    padding: .85rem 1.55rem;
    border-width: 1px;
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .025em;
    text-transform: none;
    box-shadow: none;
}
.btn--lg { min-height: 55px; padding: 1rem 1.9rem; font-size: .8rem; }
.btn--sm { min-height: 38px; padding: .55rem 1.1rem; font-size: .68rem; }
.btn--primary,
.btn--accent,
.btn--blue { background: #111315; border-color: #111315; color: #fff; }
.btn--primary:hover,
.btn--accent:hover,
.btn--blue:hover { background: #2a2d30; border-color: #2a2d30; box-shadow: none; transform: translateY(-2px); }
.section--navy .btn--accent,
.section--navy-mid .btn--accent,
.cta-banner .btn--accent,
.page-hero .btn--accent { background: #fff; border-color: #fff; color: #111315; }
.btn--outline { border-color: rgba(17,19,21,.28); color: #111315; }
.btn--outline:hover { background: #111315; border-color: #111315; }
.btn--outline-white { border-color: rgba(255,255,255,.35); }

/* Editorial cards and collections. */
.card,
.aircraft-card,
.mission-card,
.news-card {
    border-color: rgba(17,18,20,.11);
    border-radius: var(--radius-md);
    box-shadow: none;
    transition: transform .35s ease, box-shadow .35s ease;
}
.card:hover,
.aircraft-card:hover,
.mission-card:hover,
.news-card:hover { border-color: rgba(17,18,20,.11); box-shadow: var(--shadow-md); transform: translateY(-4px); }
.card__body,
.aircraft-card__body,
.news-card__body { padding: clamp(1.5rem, 3vw, 2.5rem); }
.card__title,
.aircraft-card__name,
.mission-card__title,
.news-card__title { color: #111315; }
.card__text,
.aircraft-card__copy,
.mission-card__body { color: #6d7075; }
.section--navy .card__title,
.section--navy-mid .card__title,
.section--navy .aircraft-card__name,
.section--navy-mid .aircraft-card__name,
.section--navy .mission-card__title,
.section--navy-mid .mission-card__title,
.section--navy .news-card__title,
.section--navy-mid .news-card__title { color: #111315; }
.section--navy .card__text,
.section--navy-mid .card__text,
.section--navy .aircraft-card__copy,
.section--navy-mid .aircraft-card__copy,
.section--navy .mission-card__body,
.section--navy-mid .mission-card__body { color: #6d7075; }
.aircraft-card__image,
.news-card__image { background: #ebeae6; }
.aircraft-card:hover .aircraft-card__image img,
.news-card:hover .news-card__image img { transform: scale(1.025); }
.mission-card { padding: clamp(1.5rem, 3vw, 2.5rem); }
.mission-card::before { display: none; }
.badge { border: 1px solid rgba(17,18,20,.1); border-radius: 999px; background: rgba(255,255,255,.88); color: #111315; font-family: var(--font-body); font-size: .59rem; }

.split { gap: clamp(3rem, 8vw, 9rem); }
.split__image,
.img-placeholder { border-radius: 0; background: #ebeae6; }
.split__image img,
.img-placeholder img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.split__image:hover img,
.img-placeholder:hover img { transform: scale(1.018); }
.feature-list { gap: 0; }
.feature-list__item { padding: 1.3rem 0; border-color: rgba(17,18,20,.11); }
.feature-list__title { font-family: var(--font-body); color: #111315; font-size: .9rem; font-weight: 600; letter-spacing: -.01em; text-transform: none; }
.feature-list__desc { color: #74777b; }
.feature-list__icon { border-radius: 50%; background: var(--off-white); color: #111; }

.pillars-grid { border-color: rgba(17,18,20,.11); border-radius: 0; }
.pillar { padding: 3rem 2rem; border-color: rgba(17,18,20,.11); }
.pillar:hover { background: #f8f7f4; }
.pillar__number { color: #d8d7d2; font-family: var(--font-body); font-weight: 300; }
.pillar__title { color: #111315; }

/* Tables, FAQs and timelines. */
.specs-table th,
.compare-table th { font-family: var(--font-body); font-weight: 600; letter-spacing: .08em; }
.specs-table td,
.compare-table td { padding-block: 1.15rem; border-color: rgba(17,18,20,.09); }
.specs-table tr:hover td,
.compare-table tr:hover td { background: #f7f6f3; }
.compare-table th { background: #17191b; text-transform: none; letter-spacing: -.01em; }
.compare-table th:first-child { background: #111315; }
.compare-table td:first-child { font-family: var(--font-body); background: #f5f4f1; }
.faq-item { border-color: rgba(17,18,20,.14); }
.faq-question { padding: 1.6rem 0; color: #111315; font-family: var(--font-body); font-size: 1.05rem; font-weight: 500; letter-spacing: -.015em; text-transform: none; }
.faq-question:hover { color: #111315; }
.faq-question__icon { border-width: 1px; }
.faq-item.open .faq-question__icon { background: #111315; border-color: #111315; }
.timeline { padding-left: 3.5rem; }
.timeline::before { width: 1px; background: #d0cfca; }
.timeline-item { border-color: rgba(17,18,20,.1); }
.timeline-item::before { background: #111315; border-color: #fff; box-shadow: 0 0 0 1px #111315; }
.timeline-item__year { color: #898b8f; font-family: var(--font-body); }
.timeline-item__title { color: #111315; }

/* Forms and configurators: clean product-interface language. */
.form-label { color: #54575c; font-family: var(--font-body); font-size: .65rem; font-weight: 600; letter-spacing: .1em; }
.form-control {
    min-height: 54px;
    padding: .9rem 1rem;
    border: 1px solid #d5d4cf;
    border-radius: 12px;
    background-color: #fff;
    color: #111315;
}
.form-control:focus { border-color: #111315; box-shadow: 0 0 0 3px rgba(17,19,21,.07); }
.configurator { border-color: rgba(17,18,20,.11); border-radius: 24px; box-shadow: var(--shadow-md); }
.configurator__progress { background: #111315; }
.configurator__step-title { color: #111315; }
.config-step-indicator__label { font-family: var(--font-body); }
.config-step-indicator.active .config-step-indicator__dot,
.config-step-indicator.done .config-step-indicator__dot { background: #fff; border-color: #fff; color: #111315; }
.config-step-indicator.active::after { background: rgba(255,255,255,.8); }
.config-option { border: 1px solid #d5d4cf; border-radius: 16px; text-align: left; }
.config-option:hover,
.config-option.selected { border-color: #111315; background: #f5f4f1; }
.config-option.selected::after { background: #111315; }
.config-option__name { color: #111315; font-family: var(--font-body); font-weight: 600; letter-spacing: -.01em; text-transform: none; }
.config-detail-drawer { background: #f5f4f1; border-color: #d8d7d2; }

.buyers-guide__form { border: 1px solid rgba(17,18,20,.08); border-radius: 22px; box-shadow: none; }
.buyers-guide__form-title { color: #111315; }
.buyers-guide__field label { color: #66696e; font-family: var(--font-body); font-size: .64rem; font-weight: 600; }
.buyers-guide__field input,
.buyers-guide__field select { min-height: 50px; border-color: #d5d4cf; border-radius: 11px; background: #fff; }
.buyers-guide__field input:focus,
.buyers-guide__field select:focus { border-color: #111315; box-shadow: 0 0 0 3px rgba(17,19,21,.07); }
.buyers-guide__highlights li::before { color: rgba(255,255,255,.7); }

.cert-strip { gap: .65rem; }
.cert-badge,
.cert-badge--gold,
.cert-badge--red {
    padding: .55rem 1rem;
    border: 1px solid rgba(17,18,20,.13);
    border-radius: 999px;
    background: #f7f6f3;
    color: #4f5257;
    font-family: var(--font-body);
    font-size: .64rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: none;
}
.cert-badge:hover,
.cert-badge--gold:hover,
.cert-badge--red:hover { background: #111315; border-color: #111315; color: #fff; }

.production-status-card { border: 1px solid rgba(255,255,255,.1); border-radius: 20px; background: #141719; }
.production-status-card h3,
.status-row__name { font-family: var(--font-body); font-weight: 500; letter-spacing: -.01em; text-transform: none; }
.production-steps::before { height: 1px; background: #d0cfca; }
.production-step__num { border: 1px solid #111315; background: #fff; color: #111315; font-family: var(--font-body); font-weight: 500; }
.production-step:hover .production-step__num { background: #111315; color: #fff; }
.production-step__title { color: #111315; }

.cost-calc { border-color: rgba(255,255,255,.13); border-radius: 18px; background: rgba(255,255,255,.035); }
.cost-calc__title,
.calc-row__price,
.calc-total__label,
.calc-total__value { font-family: var(--font-body); }
.cost-calc__title,
.calc-total__label { font-weight: 500; letter-spacing: -.01em; text-transform: none; }
.calc-total { border-top: 1px solid rgba(255,255,255,.2); }
.calc-total__value { color: #fff; font-weight: 300; }

.cookie-consent { border-top: 1px solid rgba(255,255,255,.12); background: rgba(17,19,21,.94); box-shadow: none; backdrop-filter: blur(20px); }

/* Repeated conversion areas become a confident closing statement. */
.cta-banner { padding: clamp(7rem, 13vw, 12rem) 0; background: #111315; }
.cta-banner::before { background: radial-gradient(circle at 50% 130%, rgba(255,255,255,.1), transparent 48%); }
.cta-banner h2 { font-size: clamp(4rem, 9vw, 9rem); letter-spacing: -.07em; }
.cta-banner p { max-width: 650px; margin: 0 auto 2.5rem; color: rgba(255,255,255,.58); font-weight: 300; }
.cta-banner .btn-group { justify-content: center; }

/* Navigation and footer complete the single brand system. */
.nav__logo .nav__logo-img { width: auto; height: clamp(42px, 5vw, 58px); max-height: 58px; object-fit: contain; }
.nav__logo-text { display: block; }
.nav__logo-name { color: rgba(255,255,255,.65); font-family: var(--font-body); font-size: .58rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.site-footer { background: #0f1113; }
.footer-inner { max-width: 1440px; padding-top: clamp(6rem, 10vw, 9rem); gap: clamp(2rem, 5vw, 5rem); }
.footer-logo__img { width: min(300px, 76vw); height: auto; max-height: 145px; object-fit: contain; }
.footer-logo__text strong,
.footer-col__heading { font-family: var(--font-body); font-weight: 600; text-transform: none; letter-spacing: -.01em; }
.footer-tagline { font-family: var(--font-body); font-size: 1.25rem; font-weight: 400; letter-spacing: -.025em; text-transform: none; }
.footer-desc { max-width: 320px; color: rgba(255,255,255,.48); }
.footer-partner { color: rgba(255,255,255,.35); font-family: var(--font-body); }
.footer-social:hover { background: #fff; border-color: #fff; color: #111315; }
.footer-col ul { gap: .7rem; }
.footer-col ul li a { font-size: .78rem; }
.footer-bottom { max-width: 1380px; }

.modal__box,
.exit-popup__box { border-radius: 24px; }
.modal__title,
.exit-popup__title { color: #111315; }

@media (max-width: 980px) {
    :root { --space-4xl: 7rem; }
    .page-hero { min-height: 68svh; }
    .footer-inner { grid-template-columns: 2fr 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 800px) {
    body:not(.page-home--premium) h1 { font-size: clamp(3.5rem, 16vw, 6rem); }
    body:not(.page-home--premium) h2 { font-size: clamp(2.6rem, 11vw, 4.5rem); }
    .page-hero { min-height: 72svh; padding-bottom: 4rem; }
    .page-hero__content::before { margin-bottom: 1rem; }
    .section { padding-block: 6rem; }
    .aircraft-feature-block { grid-template-columns: 1fr !important; gap: 3rem !important; }
    .footer-inner { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    .btn-group { align-items: flex-start; flex-direction: column; }
    .page-hero .btn-group { align-items: flex-start; }
    .configurator__body { padding: 1.35rem; }
    .config-option { padding: 1.25rem; }
    .footer-inner { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
    .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    .card,
    .aircraft-card,
    .mission-card,
    .news-card,
    .split__image img,
    .img-placeholder img { transition: none; }
}

.footer-origin {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin-bottom: var(--space-sm);
    color: rgba(255,255,255,.52);
    font-family: var(--font-mono);
    font-size: .65rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.footer-origin__item { display: inline-flex; align-items: center; gap: .4rem; }
.footer-origin__flag { flex: 0 0 auto; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255,255,255,.18); }
.footer-origin__sep { color: rgba(255,255,255,.25); }
