:root {
    --font-premium: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --brand-orange: #f5821f;
    --brand-blue: #2ea3f2;
    --brand-navy: #003388;
    --ink: #17222b;
    --muted: #66747e;
    --line: #dce5eb;
    --paper: #ffffff;
    --soft: #f5f8fb;
    --soft-blue: #eaf6fd;
    --navy-soft: #0b3d87;
    --shadow: 0 22px 60px rgba(17, 38, 55, 0.14);
    --shadow-soft: 0 14px 38px rgba(17, 38, 55, 0.10);
    --radius: 8px;
    --header-height: 82px;
    color-scheme: light;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: var(--font-premium);
    font-size: 12px;
    line-height: 1.65;
    letter-spacing: 0;
    font-feature-settings: "liga" 1, "kern" 1, "calt" 1;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.nav-open {
    overflow: hidden;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    color: inherit;
}

main {
    overflow: hidden;
}

.site-header {
    position: fixed;
    z-index: 50;
    top: 0;
    left: 0;
    right: 0;
    min-height: var(--header-height);
    padding: 12px clamp(14px, 4vw, 42px);
    transition: transform 220ms ease;
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(1280px, 100%);
    min-height: 58px;
    margin: 0 auto;
    padding: 8px 10px 8px clamp(12px, 2vw, 18px);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.90);
    box-shadow: 0 16px 42px rgba(7, 32, 48, 0.12);
    backdrop-filter: blur(16px);
}

.site-header.is-scrolled .header-inner,
body:not([data-page="home"]) .header-inner {
    border-color: rgba(0, 51, 136, 0.10);
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 10px 30px rgba(7, 32, 48, 0.14);
}

.brand-mark {
    display: flex;
    align-items: center;
    width: clamp(168px, 18vw, 230px);
    min-height: 42px;
}

.brand-mark img {
    width: 100%;
    height: auto;
}

.header-panel {
    display: flex;
    align-items: center;
    gap: 10px;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 2px;
}

.site-nav a,
.header-brochure {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 12px;
    border-radius: var(--radius);
    color: var(--ink);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.1;
    transition: color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.site-nav a:hover,
.site-nav a.is-active {
    color: #ffffff;
    background: var(--brand-navy);
}

.header-brochure {
    color: #ffffff;
    background: var(--brand-orange);
    box-shadow: 0 12px 24px rgba(245, 130, 31, 0.24);
}

.site-nav a:hover,
.header-brochure:hover {
    transform: translateY(-1px);
}

.nav-toggle {
    display: none;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    color: var(--ink);
    background: #ffffff;
    cursor: pointer;
}

.nav-toggle span {
    width: 20px;
    height: 2px;
    background: currentColor;
    transition: transform 180ms ease, opacity 180ms ease;
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.hero {
    position: relative;
    isolation: isolate;
}

.hero-home {
    display: grid;
    min-height: 100svh;
    padding: calc(var(--header-height) + 54px) clamp(18px, 5vw, 72px) clamp(54px, 7vw, 86px);
    color: #ffffff;
    background: var(--brand-navy);
}

.hero-home::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(100deg, rgba(0, 33, 88, 0.96) 0%, rgba(0, 51, 136, 0.82) 46%, rgba(245, 130, 31, 0.46) 100%),
        linear-gradient(0deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.04));
}

.hero-backdrop {
    position: absolute;
    inset: 0;
    z-index: -2;
    overflow: hidden;
}

.hero-backdrop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.04);
}

.hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.8fr);
    gap: clamp(34px, 6vw, 82px);
    align-items: center;
    width: min(1280px, 100%);
    margin: 0 auto;
}

.hero-content,
.page-hero-copy {
    min-width: 0;
}

.eyebrow {
    margin: 0 0 12px;
    color: var(--brand-orange);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.hero .eyebrow,
.page-hero .eyebrow,
.contact-cta .eyebrow,
.footer-cta .eyebrow {
    color: #ffffff;
}

h1,
h2,
h3 {
    margin: 0;
    font-family: var(--font-premium);
    line-height: 1.08;
    letter-spacing: 0;
}

h1 {
    max-width: 900px;
    font-size: clamp(2.7rem, 7vw, 5.7rem);
    font-weight: 900;
}

h2 {
    font-size: clamp(1.85rem, 4vw, 3.25rem);
    font-weight: 900;
}

h3 {
    font-size: 1.1rem;
    font-weight: 900;
}

p {
    margin: 0;
}

.hero-content > p:not(.eyebrow),
.page-hero-copy > p:not(.eyebrow) {
    max-width: 760px;
    margin-top: 22px;
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(1rem, 1.7vw, 1.18rem);
}

.hero-actions,
.section-action {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.button-primary,
.button-ghost,
.text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: var(--radius);
    font-weight: 900;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.button-primary {
    padding: 12px 20px;
    border: 1px solid var(--brand-orange);
    color: #ffffff;
    background: var(--brand-orange);
    box-shadow: 0 16px 30px rgba(245, 130, 31, 0.26);
}

.button-ghost {
    padding: 12px 20px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    color: #ffffff;
    background: rgba(255, 255, 255, 0.10);
}

.button-primary:hover,
.button-ghost:hover,
.text-link:hover {
    transform: translateY(-2px);
}

.text-link {
    min-width: max-content;
    padding: 10px 0;
    color: var(--brand-navy);
}

.text-link::after {
    content: "";
    width: 34px;
    height: 2px;
    margin-left: 10px;
    background: var(--brand-orange);
}

.hero-proof {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    width: min(620px, 100%);
    margin-top: 34px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(10px);
}

.hero-proof div {
    padding: 18px;
    background: rgba(255, 255, 255, 0.08);
}

.hero-proof strong {
    display: block;
    font-size: clamp(1.45rem, 3vw, 2.2rem);
    line-height: 1;
}

.hero-proof span {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.9rem;
    font-weight: 800;
}

.hero-showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(142px, 0.55fr);
    gap: 14px;
    min-width: 0;
}

.hero-showcase figure {
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.16);
    box-shadow: var(--shadow);
}

.showcase-main img {
    width: 100%;
    height: min(620px, 68vh);
    object-fit: cover;
}

.showcase-stack {
    display: grid;
    grid-template-rows: minmax(160px, 1fr) auto;
    gap: 14px;
}

.showcase-stack img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
}

.showcase-note {
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: var(--radius);
    color: var(--ink);
    background: #ffffff;
    box-shadow: var(--shadow);
}

.showcase-note span,
.process-card span,
.product-card span {
    color: var(--brand-blue);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.showcase-note strong {
    display: block;
    line-height: 1.28;
}

.metrics-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: var(--line);
    border-bottom: 1px solid var(--line);
}

.metric {
    min-height: 148px;
    padding: clamp(24px, 4vw, 38px);
    background: #ffffff;
}

.metric strong {
    display: block;
    color: var(--brand-navy);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1;
}

.metric span {
    display: block;
    max-width: 220px;
    margin-top: 12px;
    color: var(--muted);
    font-weight: 800;
}

.split-section,
.section-shell,
.contact-section,
.contact-cta,
.footer-cta {
    padding: clamp(58px, 8vw, 108px) clamp(18px, 5vw, 72px);
}

.split-section {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(34px, 6vw, 80px);
    align-items: center;
    width: min(1280px, 100%);
    margin: 0 auto;
}

.split-feature {
    padding-top: clamp(74px, 9vw, 124px);
}

.split-section.is-reversed .split-copy {
    order: 2;
}

.split-copy,
.section-heading,
.contact-details {
    display: grid;
    gap: 16px;
}

.split-copy p:not(.eyebrow),
.section-heading p,
.content-row p,
.feature-card p,
.product-card p,
.cert-card p,
.infra-item p,
.contact-details p,
.footer-brand p,
.footer-contact p,
.page-hero-aside p {
    color: var(--muted);
}

.split-image,
.page-hero-image,
.content-row-media,
.process-media {
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--soft-blue);
}

.split-image {
    box-shadow: var(--shadow);
}

.split-image img {
    width: 100%;
    height: min(540px, 64vh);
    object-fit: cover;
    transition: transform 500ms ease;
}

.split-image:hover img,
.content-row:hover img,
.infra-item:hover img {
    transform: scale(1.035);
}

.section-badges,
.category-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.section-badges {
    margin-top: 10px;
}

.section-badges span,
.category-pills span,
.category-pills button {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(46, 163, 242, 0.24);
    border-radius: var(--radius);
    color: var(--brand-navy);
    background: var(--soft-blue);
    font-size: 0.84rem;
    font-weight: 900;
}

.category-pills button {
    cursor: pointer;
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.section-tint {
    max-width: none;
    background:
        linear-gradient(180deg, rgba(234, 246, 253, 0.72), rgba(245, 248, 251, 0.92)),
        var(--soft);
}

.section-heading {
    width: min(100%, 960px);
    margin-bottom: 34px;
}

.section-heading-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    width: min(1280px, 100%);
}

.section-shell > .section-heading,
.section-shell > .icon-grid,
.section-shell > .process-grid,
.section-shell > .product-grid,
.section-shell > .cert-grid,
.section-shell > .gallery-grid,
.section-shell > .section-stack,
.section-shell > .category-block,
.section-shell > .category-pills,
.section-shell > .infra-timeline,
.section-shell > .section-action {
    width: min(1280px, 100%);
    margin-left: auto;
    margin-right: auto;
}

.icon-grid,
.cert-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.feature-card,
.cert-card,
.product-card,
.process-card,
.contact-details,
.contact-form {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #ffffff;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.feature-card,
.cert-card {
    display: grid;
    gap: 14px;
    align-content: start;
    min-height: 100%;
    padding: 22px;
}

.feature-card:hover,
.cert-card:hover,
.product-card:hover,
.process-card:hover,
.content-row:hover,
.infra-item:hover {
    transform: translateY(-3px);
    border-color: rgba(46, 163, 242, 0.42);
    box-shadow: var(--shadow-soft);
}

.feature-card img {
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.cert-card img {
    width: 94px;
    height: 86px;
    object-fit: contain;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.process-card {
    overflow: hidden;
}

.process-media img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}

.process-card > div:last-child {
    display: grid;
    gap: 10px;
    padding: 20px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.product-card {
    overflow: hidden;
}

.product-card button,
.gallery-item {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.product-card img {
    width: 100%;
    aspect-ratio: 4 / 4.85;
    object-fit: cover;
    transition: transform 280ms ease, filter 280ms ease;
}

.product-card:hover img {
    filter: saturate(1.06);
    transform: scale(1.035);
}

.product-card div {
    display: grid;
    gap: 8px;
    padding: 16px;
}

.section-action {
    display: flex;
    justify-content: center;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 10px;
}

.gallery-item {
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--soft-blue);
}

.gallery-item:nth-child(7n + 1) {
    grid-column: span 2;
    grid-row: span 2;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    min-height: 150px;
    aspect-ratio: 1;
    object-fit: cover;
    transition: transform 280ms ease, filter 280ms ease;
}

.gallery-item:hover img {
    filter: saturate(1.08);
    transform: scale(1.06);
}

.contact-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    color: #ffffff;
    background:
        linear-gradient(110deg, rgba(0, 51, 136, 0.98), rgba(0, 51, 136, 0.90) 58%, rgba(245, 130, 31, 0.88)),
        var(--brand-navy);
}

.contact-cta > div,
.footer-cta > div {
    max-width: 840px;
}

.contact-cta p:not(.eyebrow) {
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.82);
}

.page-hero {
    position: relative;
    display: grid;
    min-height: 68svh;
    padding: calc(var(--header-height) + 68px) clamp(18px, 5vw, 72px) clamp(58px, 7vw, 90px);
    color: #ffffff;
    background: var(--brand-navy);
    isolation: isolate;
}

.page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(105deg, rgba(0, 35, 93, 0.94), rgba(0, 51, 136, 0.70) 58%, rgba(245, 130, 31, 0.46)),
        linear-gradient(0deg, rgba(0, 0, 0, 0.24), rgba(0, 0, 0, 0));
}

.page-hero-backdrop {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.page-hero-backdrop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: clamp(30px, 6vw, 76px);
    align-items: end;
    width: min(1280px, 100%);
    margin: 0 auto;
}

.page-hero-aside {
    display: grid;
    gap: 10px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: var(--radius);
    color: var(--ink);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow);
}

.page-hero-aside span {
    color: var(--brand-orange);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.page-hero-aside strong {
    color: var(--brand-navy);
    font-size: 1.4rem;
    line-height: 1.16;
}

.section-stack {
    display: grid;
    gap: 22px;
}

.content-row,
.infra-item {
    display: grid;
    align-items: center;
    gap: 24px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #ffffff;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.content-row {
    grid-template-columns: minmax(220px, 0.46fr) minmax(0, 1fr);
    padding: 18px;
}

.content-row > div:last-child,
.infra-item > div:last-child {
    display: grid;
    gap: 12px;
}

.content-row-media img,
.infra-item img {
    width: 100%;
    height: 100%;
    min-height: 230px;
    object-fit: cover;
    transition: transform 500ms ease;
}

.category-pills-large {
    margin-top: -12px;
    margin-bottom: 30px;
}

.category-block {
    margin-top: 44px;
}

.category-block > h2 {
    margin-bottom: 16px;
    color: var(--brand-navy);
    font-size: clamp(1.35rem, 2vw, 2.05rem);
}

.infra-timeline {
    display: grid;
    gap: 18px;
}

.infra-item {
    grid-template-columns: 64px minmax(220px, 320px) minmax(0, 1fr);
    padding: 18px;
}

.infra-count {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: var(--radius);
    color: #ffffff;
    background: var(--brand-navy);
    font-weight: 900;
}

.infra-item img {
    border-radius: var(--radius);
}

.contact-section {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(28px, 5vw, 64px);
    background: var(--soft);
}

.contact-details,
.contact-form {
    padding: clamp(22px, 4vw, 34px);
}

.contact-form {
    display: grid;
    gap: 16px;
}

.contact-form label {
    display: grid;
    gap: 8px;
    color: var(--ink);
    font-weight: 900;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 13px 14px;
    color: var(--ink);
    background: #ffffff;
    outline: none;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: var(--brand-blue);
    box-shadow: 0 0 0 3px rgba(46, 163, 242, 0.18);
}

.contact-form small {
    color: #b3261e;
}

.form-status {
    padding: 12px 14px;
    border-radius: var(--radius);
    color: #155724;
    background: #d4edda;
}

.site-footer {
    color: #ffffff;
    background: #102430;
}

.footer-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    color: #ffffff;
    background:
        linear-gradient(110deg, rgba(0, 51, 136, 0.96), rgba(16, 36, 48, 0.98)),
        #102430;
}

.footer-cta h2 {
    max-width: 900px;
    font-size: clamp(1.65rem, 3vw, 2.75rem);
}

.footer-inner {
    display: grid;
    grid-template-columns: 1.15fr 0.65fr 0.9fr 0.75fr 1.15fr;
    gap: 28px;
    padding: clamp(42px, 6vw, 72px) clamp(18px, 5vw, 72px);
}

.footer-brand img {
    width: min(220px, 100%);
    margin-bottom: 18px;
}

.footer-links,
.footer-contact,
.footer-brand,
.footer-certifications {
    display: grid;
    align-content: start;
    gap: 12px;
}

.footer-links h2,
.footer-contact h2,
.footer-certifications h2 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 1rem;
}

.footer-links a,
.footer-contact a,
.social-links a {
    color: rgba(255, 255, 255, 0.78);
    transition: color 180ms ease;
}

.footer-links a:hover,
.footer-contact a:hover,
.social-links a:hover {
    color: var(--brand-orange);
}

.social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-cert-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.footer-cert-grid img {
    width: 100%;
    height: 68px;
    padding: 8px;
    border-radius: var(--radius);
    object-fit: contain;
    background: #ffffff;
}

.footer-map iframe {
    width: 100%;
    min-height: 260px;
    border: 0;
    border-radius: var(--radius);
    filter: grayscale(0.2);
}

.footer-bottom {
    padding: 18px clamp(18px, 5vw, 72px);
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.9rem;
}

.lightbox {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(5, 14, 22, 0.90);
}

.lightbox.is-open {
    display: flex;
}

.lightbox img {
    max-width: min(1100px, 92vw);
    max-height: 82vh;
    border-radius: var(--radius);
    object-fit: contain;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.34);
}

.lightbox button {
    position: absolute;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: var(--radius);
    color: #ffffff;
    background: rgba(255, 255, 255, 0.10);
    cursor: pointer;
    font-size: 1.8rem;
    line-height: 1;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.lightbox button:hover {
    border-color: rgba(255, 255, 255, 0.76);
    background: rgba(255, 255, 255, 0.18);
}

.lightbox-close {
    top: 18px;
    right: 18px;
}

.lightbox-nav {
    top: 50%;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    font-size: 1.45rem;
    transform: translateY(-50%);
}

.lightbox-nav:hover {
    transform: translateY(-50%) scale(1.04);
}

.lightbox-nav--prev {
    left: clamp(16px, 4vw, 54px);
}

.lightbox-nav--next {
    right: clamp(16px, 4vw, 54px);
}

.lightbox-nav[hidden] {
    display: none;
}

.lightbox p {
    position: absolute;
    bottom: 22px;
    left: 24px;
    right: 24px;
    color: #ffffff;
    text-align: center;
}

.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 520ms ease, transform 520ms ease;
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 1220px) {
    .hero-inner,
    .page-hero-inner {
        grid-template-columns: 1fr;
    }

    .hero-showcase {
        max-width: 780px;
    }

    .product-grid,
    .icon-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cert-grid,
    .footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    :root {
        --header-height: 74px;
    }

    .header-inner {
        padding-right: 8px;
    }

    .nav-toggle {
        display: inline-flex;
    }

    .header-panel {
        position: fixed;
        top: calc(var(--header-height) + 8px);
        left: 14px;
        right: 14px;
        display: grid;
        gap: 10px;
        padding: 14px;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: rgba(255, 255, 255, 0.98);
        box-shadow: var(--shadow);
        transform-origin: top;
        transform: scaleY(0.94);
        opacity: 0;
        pointer-events: none;
        transition: transform 180ms ease, opacity 180ms ease;
    }

    .header-panel.is-open {
        transform: scaleY(1);
        opacity: 1;
        pointer-events: auto;
    }

    .site-nav {
        display: grid;
        gap: 6px;
    }

    .site-nav a,
    .header-brochure {
        width: 100%;
    }

    .split-section,
    .contact-section {
        grid-template-columns: 1fr;
    }

    .split-section.is-reversed .split-copy {
        order: initial;
    }

    .metrics-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .section-heading-row,
    .contact-cta,
    .footer-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .content-row,
    .infra-item {
        grid-template-columns: 1fr;
    }

    .infra-count {
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 680px) {
    .site-header {
        padding-inline: 10px;
    }

    .brand-mark {
        width: min(176px, 58vw);
    }

    .hero-home,
    .page-hero,
    .split-section,
    .section-shell,
    .contact-section,
    .contact-cta,
    .footer-cta {
        padding-left: 16px;
        padding-right: 16px;
    }

    .hero-home {
        min-height: auto;
        padding-top: calc(var(--header-height) + 46px);
    }

    h1 {
        font-size: clamp(2.15rem, 12vw, 3.35rem);
    }

    .hero-actions,
    .section-action {
        align-items: stretch;
        flex-direction: column;
    }

    .button-primary,
    .button-ghost {
        width: 100%;
    }

    .hero-proof,
    .hero-showcase,
    .metrics-band,
    .process-grid,
    .product-grid,
    .icon-grid,
    .cert-grid,
    .gallery-grid,
    .footer-inner {
        grid-template-columns: 1fr;
    }

    .hero-showcase {
        gap: 10px;
    }

    .showcase-main img,
    .showcase-stack img {
        height: auto;
        min-height: 0;
        aspect-ratio: 1.1;
    }

    .page-hero {
        min-height: auto;
    }

    .page-hero-aside {
        padding: 18px;
    }

    .metric {
        min-height: 122px;
    }

    .gallery-item:nth-child(7n + 1) {
        grid-column: auto;
        grid-row: auto;
    }

    .gallery-grid {
        gap: 12px;
    }

    .product-card img,
    .gallery-item img {
        aspect-ratio: 1.1;
    }

    .content-row,
    .infra-item {
        padding: 14px;
    }

    .content-row-media img,
    .infra-item img {
        min-height: 230px;
    }

    .footer-cert-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Index hero video + casual falling card stack, scoped to the home page only. */
[data-page="home"] .is-index-hero {
    min-height: 100svh;
}

[data-page="home"] .is-index-hero .aeline-hero-bg video,
[data-page="home"] .is-index-hero .aeline-hero-bg img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

[data-page="home"] .is-index-hero .aeline-hero-bg video {
    z-index: 1;
    opacity: 0;
    transition: opacity 420ms ease;
}

[data-page="home"] .is-index-hero .aeline-hero-bg.has-generated-video video {
    opacity: 1;
}

[data-page="home"] .is-index-hero .aeline-hero-bg.has-generated-video img {
    opacity: 0;
}

[data-page="home"] .is-index-hero .aeline-visual {
    isolation: isolate;
}

[data-page="home"] .is-index-hero .aeline-float-card {
    z-index: 3;
    transform-origin: center;
    cursor: grab;
    touch-action: none;
    user-select: none;
    will-change: transform, translate, scale;
}

[data-page="home"] .is-index-hero .aeline-card-stack.is-left .aeline-float-card:nth-child(1) {
    z-index: 2;
    animation: indexDropLeft1 1100ms cubic-bezier(0.16, 1, 0.3, 1) 120ms both, indexShakeA 5.2s ease-in-out 1400ms infinite;
}

[data-page="home"] .is-index-hero .aeline-card-stack.is-left .aeline-float-card:nth-child(2) {
    z-index: 4;
    animation: indexDropLeft2 1050ms cubic-bezier(0.16, 1, 0.3, 1) 260ms both, indexShakeB 4.7s ease-in-out 1450ms infinite;
}

[data-page="home"] .is-index-hero .aeline-card-stack.is-left .aeline-float-card:nth-child(3) {
    z-index: 1;
    animation: indexDropLeft3 1180ms cubic-bezier(0.16, 1, 0.3, 1) 60ms both, indexShakeC 5.8s ease-in-out 1380ms infinite;
}

[data-page="home"] .is-index-hero .aeline-card-stack.is-right .aeline-float-card:nth-child(1) {
    z-index: 5;
    animation: indexDropRight1 1120ms cubic-bezier(0.16, 1, 0.3, 1) 180ms both, indexShakeB 5.5s ease-in-out 1480ms infinite;
}

[data-page="home"] .is-index-hero .aeline-card-stack.is-right .aeline-float-card:nth-child(2) {
    z-index: 2;
    animation: indexDropRight2 1080ms cubic-bezier(0.16, 1, 0.3, 1) 340ms both, indexShakeA 4.9s ease-in-out 1500ms infinite;
}

[data-page="home"] .is-index-hero .aeline-card-stack.is-right .aeline-float-card:nth-child(3) {
    z-index: 3;
    animation: indexDropRight3 1200ms cubic-bezier(0.16, 1, 0.3, 1) 220ms both, indexShakeC 5.4s ease-in-out 1580ms infinite;
}

[data-page="home"] .is-index-hero .aeline-accent-card {
    position: absolute;
    z-index: 6;
    left: 50%;
    top: 50%;
    width: clamp(210px, 28vw, 390px);
    height: clamp(260px, 32vw, 430px);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 80px rgba(46, 163, 242, 0.2);
    transform-origin: center;
    transform: translate3d(-38%, -33%, 230px) rotateZ(-5deg);
    cursor: grab;
    touch-action: none;
    user-select: none;
    animation: indexDropAccent 1180ms cubic-bezier(0.16, 1, 0.3, 1) 420ms both, indexShakeAccent 5.8s ease-in-out 1680ms infinite;
}

[data-page="home"] .is-index-hero .aeline-accent-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

[data-page="home"] .is-index-hero .aeline-float-card img {
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

[data-page="home"] .is-index-hero .aeline-rating-card {
    z-index: 7;
    background: rgba(20, 22, 33, 0.84);
}

[data-page="home"] .is-index-hero .aeline-float-card:hover,
[data-page="home"] .is-index-hero .aeline-accent-card:hover {
    scale: 1.045;
    box-shadow: 0 28px 90px rgba(46, 163, 242, 0.32);
}

[data-page="home"] .is-index-hero .aeline-visual:hover .aeline-float-card {
    animation-duration: 1100ms, 1.2s;
}

[data-page="home"] .is-index-hero .aeline-visual.is-card-settled .aeline-card-stack.is-left .aeline-float-card:nth-child(1) {
    animation: indexShakeA 5.2s ease-in-out infinite;
}

[data-page="home"] .is-index-hero .aeline-visual.is-card-settled .aeline-card-stack.is-left .aeline-float-card:nth-child(2) {
    animation: indexShakeB 4.7s ease-in-out infinite;
}

[data-page="home"] .is-index-hero .aeline-visual.is-card-settled .aeline-card-stack.is-left .aeline-float-card:nth-child(3) {
    animation: indexShakeC 5.8s ease-in-out infinite;
}

[data-page="home"] .is-index-hero .aeline-visual.is-card-settled .aeline-card-stack.is-right .aeline-float-card:nth-child(1) {
    animation: indexShakeB 5.5s ease-in-out infinite;
}

[data-page="home"] .is-index-hero .aeline-visual.is-card-settled .aeline-card-stack.is-right .aeline-float-card:nth-child(2) {
    animation: indexShakeA 4.9s ease-in-out infinite;
}

[data-page="home"] .is-index-hero .aeline-visual.is-card-settled .aeline-card-stack.is-right .aeline-float-card:nth-child(3) {
    animation: indexShakeC 5.4s ease-in-out infinite;
}

[data-page="home"] .is-index-hero .aeline-visual.is-card-settled .aeline-accent-card {
    animation: indexShakeAccent 5.8s ease-in-out infinite;
}

.aeline-visual.reveal .aeline-float-card,
.aeline-visual.reveal .aeline-accent-card,
.aeline-page-visual.reveal .aeline-orbit-card {
    animation-play-state: paused, paused;
}

body.is-site-ready .aeline-visual.reveal.is-visible .aeline-float-card,
body.is-site-ready .aeline-visual.reveal.is-visible .aeline-accent-card,
body.is-site-ready .aeline-page-visual.reveal.is-visible .aeline-orbit-card {
    animation-play-state: running, running;
}

.aeline-float-card.is-dragging,
.aeline-accent-card.is-dragging,
.aeline-orbit-card.is-dragging {
    z-index: 30;
    cursor: grabbing;
    scale: 1 !important;
    translate: 0 0 !important;
    animation: none !important;
    filter: brightness(1.04);
}

.aeline-float-card.is-dismissed,
.aeline-accent-card.is-dismissed,
.aeline-orbit-card.is-dismissed {
    scale: 1 !important;
    translate: 0 0 !important;
    pointer-events: none;
    animation: none !important;
}

@keyframes indexDropLeft1 {
    from {
        opacity: 0;
        transform: translate3d(-350px, -720px, 120px) rotateY(22deg) rotateZ(-22deg);
    }

    74% {
        opacity: 1;
        transform: translate3d(-330px, 24px, 120px) rotateY(22deg) rotateZ(-3deg);
    }

    to {
        opacity: 1;
        transform: translate3d(-330px, 10px, 120px) rotateY(22deg) rotateZ(-7deg);
    }
}

@keyframes indexDropLeft2 {
    from {
        opacity: 0;
        transform: translate3d(-120px, -690px, 220px) rotateY(12deg) rotateZ(-12deg);
    }

    72% {
        opacity: 1;
        transform: translate3d(-120px, 82px, 220px) rotateY(12deg) rotateZ(8deg);
    }

    to {
        opacity: 1;
        transform: translate3d(-120px, 66px, 220px) rotateY(12deg) rotateZ(5deg);
    }
}

@keyframes indexDropLeft3 {
    from {
        opacity: 0;
        transform: translate3d(-250px, -760px, 20px) rotateY(28deg) rotateZ(28deg);
    }

    76% {
        opacity: 1;
        transform: translate3d(-250px, -130px, 20px) rotateY(28deg) rotateZ(6deg);
    }

    to {
        opacity: 1;
        transform: translate3d(-250px, -145px, 20px) rotateY(28deg) rotateZ(10deg);
    }
}

@keyframes indexDropRight1 {
    from {
        opacity: 0;
        transform: translate3d(120px, -760px, 180px) rotateY(-16deg) rotateZ(-24deg);
    }

    74% {
        opacity: 1;
        transform: translate3d(120px, -104px, 180px) rotateY(-16deg) rotateZ(-9deg);
    }

    to {
        opacity: 1;
        transform: translate3d(120px, -120px, 180px) rotateY(-16deg) rotateZ(-5deg);
    }
}

@keyframes indexDropRight2 {
    from {
        opacity: 0;
        transform: translate3d(340px, -720px, 80px) rotateY(-24deg) rotateZ(24deg);
    }

    73% {
        opacity: 1;
        transform: translate3d(340px, 52px, 80px) rotateY(-24deg) rotateZ(3deg);
    }

    to {
        opacity: 1;
        transform: translate3d(340px, 35px, 80px) rotateY(-24deg) rotateZ(7deg);
    }
}

@keyframes indexDropRight3 {
    from {
        opacity: 0;
        transform: translate3d(80px, -660px, 260px) rotateY(-8deg) rotateZ(-28deg);
    }

    72% {
        opacity: 1;
        transform: translate3d(80px, 162px, 260px) rotateY(-8deg) rotateZ(-3deg);
    }

    to {
        opacity: 1;
        transform: translate3d(80px, 145px, 260px) rotateY(-8deg) rotateZ(-7deg);
    }
}

@keyframes indexDropAccent {
    from {
        opacity: 0;
        transform: translate3d(-38%, -760px, 230px) rotateZ(-18deg);
    }

    72% {
        opacity: 1;
        transform: translate3d(-38%, -35%, 230px) rotateZ(9deg);
    }

    to {
        opacity: 1;
        transform: translate3d(-38%, -33%, 230px) rotateZ(-5deg);
    }
}

@keyframes indexShakeA {
    0%, 100% {
        translate: 0 0;
    }

    50% {
        translate: 4px -5px;
    }
}

@keyframes indexShakeB {
    0%, 100% {
        translate: 0 0;
    }

    50% {
        translate: -5px 4px;
    }
}

@keyframes indexShakeC {
    0%, 100% {
        translate: 0 0;
    }

    50% {
        translate: 3px 5px;
    }
}

@keyframes indexShakeAccent {
    0%, 100% {
        translate: 0 0;
    }

    50% {
        translate: -6px -4px;
    }
}

@media (max-width: 900px) {
    [data-page="home"] .is-index-hero .aeline-accent-card {
        width: clamp(180px, 38vw, 270px);
        height: clamp(220px, 46vw, 330px);
    }
}

@media (max-width: 640px) {
    [data-page="home"] .is-index-hero .aeline-accent-card {
        left: 52%;
        width: min(210px, 58vw);
        height: min(260px, 70vw);
    }
}

/* Aeline-inspired system: dark canvas, animated cards, marquee, carousel, and arrow hover buttons. */
:root {
    --aeline-bg: #05060b;
    --aeline-bg-2: #090d18;
    --aeline-panel: #101522;
    --aeline-panel-2: #151b2b;
    --aeline-line: rgba(255, 255, 255, 0.14);
    --aeline-text: #f8fbff;
    --aeline-muted: rgba(248, 251, 255, 0.68);
    --aeline-blue: var(--brand-blue);
    --aeline-orange: var(--brand-orange);
    --aeline-glow: 0 24px 80px rgba(46, 163, 242, 0.18);
}

body.aeline-theme {
    color: var(--aeline-text);
    background: var(--aeline-bg);
}

.aeline-theme main {
    background: var(--aeline-bg);
}

.aeline-theme .site-header {
    padding-top: 14px;
}

.aeline-theme .header-inner {
    border: 1px solid var(--aeline-line);
    border-radius: 999px;
    background: rgba(8, 11, 20, 0.76);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
}

.aeline-theme .site-header.is-scrolled .header-inner,
.aeline-theme:not([data-page="home"]) .header-inner,
body.aeline-theme:not([data-page="home"]) .header-inner {
    border-color: var(--aeline-line);
    background: rgba(8, 11, 20, 0.90);
}

.aeline-theme .site-nav a {
    color: rgba(255, 255, 255, 0.78);
}

.aeline-theme .site-nav a:hover,
.aeline-theme .site-nav a.is-active {
    color: #ffffff;
    background: rgba(46, 163, 242, 0.18);
}

.aeline-theme .header-brochure {
    color: #101522;
    background: #ffffff;
    box-shadow: none;
}

.aeline-theme .nav-toggle {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--aeline-line);
}

.aeline-theme h1,
.aeline-theme h2,
.aeline-theme h3 {
    font-family: var(--font-premium);
}

.aeline-theme .eyebrow,
.aeline-page-copy .eyebrow,
.aeline-section-head .eyebrow {
    color: var(--aeline-blue);
    letter-spacing: 0;
}

.button-arrow {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    overflow: hidden;
    padding: 12px 16px 12px 20px;
    border: 1px solid var(--aeline-line);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
    font-weight: 800;
    transition: transform 180ms ease, border-color 180ms ease, color 180ms ease;
}

.button-arrow::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    z-index: -1;
    height: 0%;
    background: #ffffff;
    transition: height 220ms ease;
}

.button-arrow i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    color: #101522;
    background: #ffffff;
    font-style: normal;
    transition: transform 220ms ease, background 220ms ease;
}

.button-arrow:hover {
    color: #101522;
    border-color: #ffffff;
    transform: translateY(-2px);
}

.button-arrow:hover::before {
    height: 100%;
}

.button-arrow:hover i {
    color: #ffffff;
    background: #101522;
    transform: translate(2px, -2px);
}

.aeline-theme .button-primary {
    color: #101522;
    border-color: #ffffff;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: none;
}

.aeline-theme .button-primary:hover {
    color: #ffffff;
    border-color: var(--aeline-blue);
    background: var(--aeline-blue);
}

.aeline-hero,
.aeline-page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 100svh;
    padding: calc(var(--header-height) + 72px) clamp(18px, 5vw, 72px) clamp(54px, 7vw, 90px);
    background:
        linear-gradient(180deg, rgba(5, 6, 11, 0.72), var(--aeline-bg) 82%),
        var(--aeline-bg);
}

.aeline-hero-bg,
.aeline-page-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: 0.42;
}

.aeline-hero-bg img,
.aeline-page-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(0.2) saturate(1.08);
}

.aeline-hero::before,
.aeline-page-hero::before,
.aeline-contact-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(110deg, rgba(0, 51, 136, 0.34), transparent 36%),
        linear-gradient(250deg, rgba(245, 130, 31, 0.18), transparent 38%),
        linear-gradient(180deg, rgba(5, 6, 11, 0.12), #05060b 100%);
}

.aeline-hero-copy,
.aeline-page-copy {
    display: grid;
    justify-items: center;
    width: min(1040px, 100%);
    margin: 0 auto;
    text-align: center;
}

.aeline-hero-copy h1,
.aeline-page-copy h1 {
    max-width: 1120px;
    color: #ffffff;
    font-size: clamp(3.1rem, 8vw, 7.4rem);
    line-height: 0.95;
    font-weight: 700;
}

.aeline-page-copy h1 {
    font-size: clamp(2.8rem, 7vw, 6.5rem);
}

.aeline-hero-copy p:not(.eyebrow),
.aeline-page-copy p:not(.eyebrow) {
    max-width: 760px;
    margin-top: 22px;
    color: var(--aeline-muted);
    font-size: clamp(1rem, 1.55vw, 1.2rem);
}

.aeline-hero .hero-actions {
    justify-content: center;
}

.aeline-visual {
    position: relative;
    width: min(1120px, 100%);
    height: clamp(390px, 44vw, 620px);
    margin: clamp(44px, 7vw, 86px) auto 0;
    perspective: 1200px;
}

.aeline-card-stack {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    transform-style: preserve-3d;
}

.aeline-float-card,
.aeline-orbit-card {
    position: absolute;
    overflow: hidden;
    width: clamp(160px, 22vw, 290px);
    aspect-ratio: 4 / 5;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: var(--aeline-glow);
    cursor: grab;
    touch-action: none;
    user-select: none;
    animation: aelineFloat 7s ease-in-out infinite;
}

.aeline-float-card img,
.aeline-orbit-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.aeline-card-stack.is-left .aeline-float-card:nth-child(1) {
    transform: translate3d(-330px, 10px, 120px) rotateY(22deg) rotateZ(-7deg);
}

.aeline-card-stack.is-left .aeline-float-card:nth-child(2) {
    transform: translate3d(-120px, 66px, 220px) rotateY(12deg) rotateZ(5deg);
    animation-delay: 0.7s;
}

.aeline-card-stack.is-left .aeline-float-card:nth-child(3) {
    transform: translate3d(-250px, -145px, 20px) rotateY(28deg) rotateZ(10deg);
    animation-delay: 1.2s;
}

.aeline-card-stack.is-right .aeline-float-card:nth-child(1) {
    transform: translate3d(120px, -120px, 180px) rotateY(-16deg) rotateZ(-5deg);
    animation-delay: 0.3s;
}

.aeline-card-stack.is-right .aeline-float-card:nth-child(2) {
    transform: translate3d(340px, 35px, 80px) rotateY(-24deg) rotateZ(7deg);
    animation-delay: 0.9s;
}

.aeline-card-stack.is-right .aeline-float-card:nth-child(3) {
    transform: translate3d(80px, 145px, 260px) rotateY(-8deg) rotateZ(-7deg);
    animation-delay: 1.5s;
}

.aeline-rating-card {
    position: absolute;
    left: 50%;
    bottom: 8%;
    display: grid;
    gap: 6px;
    width: min(300px, 80%);
    padding: 18px;
    border: 1px solid var(--aeline-line);
    border-radius: 8px;
    background: rgba(16, 21, 34, 0.82);
    box-shadow: var(--aeline-glow);
    transform: translateX(-50%);
    text-align: center;
    pointer-events: none;
}

.aeline-rating-card strong {
    font-size: clamp(2rem, 5vw, 3.8rem);
    line-height: 1;
}

.aeline-rating-card span {
    color: var(--aeline-muted);
    font-weight: 800;
}

@keyframes aelineFloat {
    0%, 100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -14px;
    }
}

.aeline-marquee {
    overflow: hidden;
    border-block: 1px solid var(--aeline-line);
    background: rgba(255, 255, 255, 0.03);
}

.aeline-marquee-row {
    display: flex;
    width: max-content;
    gap: clamp(28px, 5vw, 74px);
    padding: 26px 0;
    animation: aelineMarquee 42s linear infinite;
}

.aeline-marquee-row.reverse {
    animation-direction: reverse;
}

.aeline-marquee-row span {
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(1.4rem, 3vw, 3.25rem);
    font-weight: 800;
    white-space: nowrap;
}

@keyframes aelineMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.aeline-section,
.aeline-carousel-section,
.aeline-faq-section,
.aeline-contact-section {
    padding: clamp(68px, 9vw, 132px) clamp(18px, 5vw, 72px);
    background: var(--aeline-bg);
}

.aeline-dark-section {
    background: linear-gradient(180deg, var(--aeline-bg-2), var(--aeline-bg));
}

.aeline-section-head {
    display: grid;
    gap: 14px;
    width: min(1280px, 100%);
    margin: 0 auto clamp(32px, 5vw, 56px);
}

.aeline-section-head h2 {
    max-width: 920px;
    color: #ffffff;
    font-size: clamp(2rem, 5vw, 4.7rem);
    line-height: 1;
}

.aeline-section-head p:not(.eyebrow) {
    color: var(--aeline-muted);
}

.aeline-metric-grid,
.aeline-card-grid,
.aeline-service-grid,
.aeline-logo-grid,
.aeline-content-grid {
    display: grid;
    width: min(1280px, 100%);
    margin: 0 auto;
    gap: 18px;
}

.aeline-metric-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.aeline-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aeline-service-grid,
.aeline-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aeline-logo-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.aeline-metric-card,
.aeline-hover-card,
.aeline-service-card,
.aeline-logo-card,
.aeline-content-card,
.aeline-icon-card {
    overflow: hidden;
    border: 1px solid var(--aeline-line);
    border-radius: 8px;
    background: var(--aeline-panel);
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.aeline-metric-card:hover,
.aeline-hover-card:hover,
.aeline-service-card:hover,
.aeline-logo-card:hover,
.aeline-content-card:hover,
.aeline-icon-card:hover {
    transform: translateY(-6px);
    border-color: rgba(46, 163, 242, 0.56);
    box-shadow: var(--aeline-glow);
    background: var(--aeline-panel-2);
}

.aeline-metric-card {
    display: grid;
    gap: 12px;
    min-height: 180px;
    align-content: end;
    padding: 24px;
}

.aeline-metric-card strong {
    color: #ffffff;
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1;
}

.aeline-metric-card span {
    color: var(--aeline-muted);
    font-weight: 800;
}

.aeline-split {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(26px, 5vw, 72px);
    align-items: center;
    padding: clamp(68px, 9vw, 132px) clamp(18px, 5vw, 72px);
    background: var(--aeline-bg);
}

.aeline-split-copy {
    display: grid;
    gap: 18px;
    max-width: 720px;
}

.aeline-split-copy h2 {
    color: #ffffff;
    font-size: clamp(2rem, 5vw, 4.5rem);
    line-height: 1;
}

.aeline-split-copy p:not(.eyebrow),
.aeline-hover-card p,
.aeline-service-card p,
.aeline-logo-card p,
.aeline-content-card p,
.aeline-icon-card p {
    color: var(--aeline-muted);
}

.aeline-split-visual,
.aeline-faq-visual {
    overflow: hidden;
    border: 1px solid var(--aeline-line);
    border-radius: 8px;
}

.aeline-split-visual img,
.aeline-faq-visual img {
    width: 100%;
    height: min(620px, 68vh);
    object-fit: cover;
    transition: transform 420ms ease;
}

.aeline-split-visual:hover img,
.aeline-faq-visual:hover img {
    transform: scale(1.04);
}

.section-badges span,
.category-pills span,
.category-pills button {
    color: #ffffff;
    border-color: var(--aeline-line);
    background: rgba(255, 255, 255, 0.06);
}

.product-filter-options {
    width: min(1280px, 100%);
    margin: 0 auto;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: thin;
}

.product-filter-options button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.product-filter-options button:hover,
.product-filter-options button.is-active {
    color: #101522;
    border-color: #ffffff;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(46, 163, 242, 0.18);
    transform: translateY(-1px);
}

[data-product-filter-section] > .aeline-category-block:not(.product-filter-panel) {
    display: none;
}

.product-filter-panels {
    width: min(1280px, 100%);
    margin: 0 auto;
}

.product-filter-panel[hidden] {
    display: none !important;
}

.product-row-carousel {
    width: 100%;
}

.product-row-carousel .aeline-carousel-track {
    align-items: stretch;
}

.product-row-card {
    display: flex;
    flex: 0 0 calc((100% - 48px) / 3);
    flex-direction: column;
    min-width: 0;
}

.product-row-card > div {
    flex: 1;
}

.product-row-card button {
    cursor: zoom-in;
}

.product-row-controls {
    justify-content: flex-end;
}

.aeline-hover-card button,
.aeline-slide {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    cursor: zoom-in;
}

.aeline-hover-card img {
    width: 100%;
    aspect-ratio: 4 / 4.7;
    object-fit: cover;
    transition: transform 320ms ease, filter 320ms ease;
}

.aeline-hover-card:hover img {
    filter: saturate(1.12);
    transform: scale(1.04);
}

.aeline-hover-card a,
.aeline-hover-card div,
.aeline-service-card div,
.aeline-content-card div,
.aeline-icon-card,
.aeline-logo-card {
    display: grid;
    gap: 10px;
    padding: 20px;
}

.aeline-hover-card span,
.aeline-service-card span,
.aeline-content-card span,
.aeline-logo-card h3 {
    color: var(--aeline-blue);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.aeline-hover-card h3,
.aeline-service-card h3,
.aeline-content-card h2,
.aeline-icon-card h3,
.aeline-logo-card h3 {
    color: #ffffff;
}

.aeline-hover-card i {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    margin-top: 6px;
    border-radius: 999px;
    color: #101522;
    background: #ffffff;
    font-style: normal;
    transition: transform 220ms ease, background 220ms ease, color 220ms ease;
}

.aeline-hover-card:hover i {
    color: #ffffff;
    background: var(--aeline-blue);
    transform: translate(3px, -3px);
}

.aeline-service-card img,
.aeline-content-card img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.aeline-icon-card img {
    width: 58px;
    height: 58px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    object-fit: contain;
    background: linear-gradient(135deg, rgba(0, 51, 136, 0.96), rgba(46, 163, 242, 0.9));
    box-shadow: 0 14px 30px rgba(0, 51, 136, 0.24);
    transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.aeline-icon-card:hover img {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(0, 51, 136, 0.3);
}

.aeline-logo-card {
    align-content: start;
    min-height: 100%;
}

.aeline-logo-card img {
    width: 100%;
    height: 92px;
    padding: 12px;
    border-radius: 8px;
    object-fit: contain;
    background: #ffffff;
}

.aeline-carousel {
    position: relative;
    width: min(1280px, 100%);
    margin: 0 auto;
    overflow: hidden;
}

.aeline-carousel-track {
    display: flex;
    gap: 24px;
    transition: transform 360ms ease;
    will-change: transform;
}

.aeline-slide {
    display: block;
    position: relative;
    flex: 0 0 calc((100% - 48px) / 3);
    overflow: hidden;
    min-height: 420px;
    border: 1px solid var(--aeline-line);
    border-radius: 8px;
    padding: 0;
    text-align: left;
    text-decoration: none;
    color: inherit;
    background: var(--aeline-panel);
    cursor: pointer;
    appearance: none;
}

.aeline-slide img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transition: transform 320ms ease;
}

.aeline-slide:hover img {
    transform: scale(1.04);
}

.aeline-slide div,
.aeline-slide > span {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    gap: 8px;
    padding: 22px;
    color: #ffffff;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.78));
}

.aeline-slide span {
    color: var(--aeline-blue);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.aeline-carousel-controls {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.aeline-carousel-controls button {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid var(--aeline-line);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
    cursor: pointer;
    transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.aeline-carousel-controls button:hover {
    color: #101522;
    background: #ffffff;
    transform: translateY(-2px);
}

.aeline-faq-section,
.aeline-contact-section {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1fr);
    gap: clamp(26px, 5vw, 72px);
    align-items: center;
}

.aeline-faq-content,
.aeline-contact-panel,
.aeline-contact-form {
    display: grid;
    gap: 18px;
}

.aeline-faq-content h2,
.aeline-contact-panel h2,
.aeline-contact-form h2 {
    color: #ffffff;
    font-size: clamp(2rem, 5vw, 4.5rem);
    line-height: 1;
}

.faq-list {
    display: grid;
    gap: 0;
}

.faq-item {
    border-top: 1px solid var(--aeline-line);
    padding: 18px 0;
}

.faq-item:last-child {
    border-bottom: 1px solid var(--aeline-line);
}

.faq-item summary {
    cursor: pointer;
    color: #ffffff;
    font-weight: 900;
    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    float: right;
    color: var(--aeline-blue);
}

.faq-item[open] summary::after {
    content: "-";
}

.faq-item p {
    max-width: 720px;
    margin-top: 12px;
    color: var(--aeline-muted);
}

.aeline-page-hero {
    min-height: 82svh;
    display: grid;
    align-items: center;
}

.aeline-page-visual {
    position: relative;
    width: min(760px, 100%);
    height: 300px;
    margin: 44px auto 0;
    perspective: 1000px;
}

.aeline-page-visual .aeline-orbit-card {
    --orbit-ry: 0deg;
    --orbit-rz: 0deg;
    --orbit-drop-rz: 0deg;
    --orbit-entry-delay: 100ms;
    opacity: 0;
    transform-origin: center;
    will-change: transform, translate, opacity;
    animation-name: pageHeroCardDrop, aelineFloat;
    animation-duration: 1250ms, 7s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1), ease-in-out;
    animation-delay: var(--orbit-entry-delay), calc(var(--orbit-entry-delay) + 1250ms);
    animation-fill-mode: both, none;
    animation-iteration-count: 1, infinite;
}

.aeline-orbit-card:nth-child(1) {
    --orbit-ry: 20deg;
    --orbit-rz: -8deg;
    --orbit-drop-rz: -24deg;
    --orbit-entry-delay: 80ms;
    left: 4%;
    top: 18%;
    transform: rotateY(20deg) rotateZ(-8deg);
}

.aeline-orbit-card:nth-child(2) {
    --orbit-ry: 10deg;
    --orbit-rz: 5deg;
    --orbit-drop-rz: 18deg;
    --orbit-entry-delay: 210ms;
    left: 25%;
    top: 0;
    transform: rotateY(10deg) rotateZ(5deg);
}

.aeline-orbit-card:nth-child(3) {
    --orbit-ry: -10deg;
    --orbit-rz: -4deg;
    --orbit-drop-rz: -18deg;
    --orbit-entry-delay: 340ms;
    left: 45%;
    top: 20%;
    transform: rotateY(-10deg) rotateZ(-4deg);
}

.aeline-orbit-card:nth-child(4) {
    --orbit-ry: -18deg;
    --orbit-rz: 8deg;
    --orbit-drop-rz: 24deg;
    --orbit-entry-delay: 470ms;
    left: 62%;
    top: 3%;
    transform: rotateY(-18deg) rotateZ(8deg);
}

.aeline-orbit-card:nth-child(5) {
    --orbit-ry: -24deg;
    --orbit-rz: -6deg;
    --orbit-drop-rz: -22deg;
    --orbit-entry-delay: 600ms;
    left: 75%;
    top: 30%;
    transform: rotateY(-24deg) rotateZ(-6deg);
}

.aeline-page-visual.is-card-settled .aeline-orbit-card {
    opacity: 1;
    animation: aelineFloat 7s ease-in-out infinite;
}

.aeline-page-visual.is-card-settled .aeline-orbit-card:nth-child(2) {
    animation-delay: 0.35s;
}

.aeline-page-visual.is-card-settled .aeline-orbit-card:nth-child(3) {
    animation-delay: 0.7s;
}

.aeline-page-visual.is-card-settled .aeline-orbit-card:nth-child(4) {
    animation-delay: 1.05s;
}

.aeline-page-visual.is-card-settled .aeline-orbit-card:nth-child(5) {
    animation-delay: 1.4s;
}

@keyframes pageHeroCardDrop {
    0% {
        opacity: 0;
        transform: translate3d(0, -720px, 190px) rotateY(var(--orbit-ry)) rotateZ(var(--orbit-drop-rz));
    }

    58% {
        opacity: 1;
        transform: translate3d(0, 28px, 0) rotateY(var(--orbit-ry)) rotateZ(var(--orbit-rz));
    }

    74% {
        opacity: 1;
        transform: translate3d(0, -18px, 0) rotateY(var(--orbit-ry)) rotateZ(var(--orbit-rz));
    }

    88% {
        opacity: 1;
        transform: translate3d(0, 8px, 0) rotateY(var(--orbit-ry)) rotateZ(var(--orbit-rz));
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotateY(var(--orbit-ry)) rotateZ(var(--orbit-rz));
    }
}

.aeline-category-block {
    width: min(1280px, 100%);
    margin: 54px auto 0;
}

.aeline-category-block > h2 {
    margin-bottom: 18px;
    color: #ffffff;
    font-size: clamp(1.5rem, 3vw, 2.5rem);
}

.aeline-contact-panel,
.aeline-contact-form {
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid var(--aeline-line);
    border-radius: 8px;
    background: var(--aeline-panel);
}

.aeline-contact-panel p,
.aeline-contact-form label {
    color: var(--aeline-muted);
}

.aeline-contact-panel a {
    color: #ffffff;
}

.aeline-contact-form label {
    display: grid;
    gap: 8px;
    font-weight: 800;
}

.aeline-contact-form input,
.aeline-contact-form textarea,
.footer-form input {
    width: 100%;
    border: 1px solid var(--aeline-line);
    border-radius: 8px;
    padding: 14px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
    outline: none;
}

.aeline-contact-form input:focus,
.aeline-contact-form textarea:focus {
    border-color: var(--aeline-blue);
    box-shadow: 0 0 0 3px rgba(46, 163, 242, 0.18);
}

.aeline-contact-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: 560px;
    align-items: end;
    overflow: hidden;
    padding: clamp(68px, 9vw, 132px) clamp(18px, 5vw, 72px);
    background: var(--aeline-bg);
}

.aeline-contact-hero > img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.74;
    filter: saturate(1.08) contrast(1.04);
}

.aeline-contact-hero > div {
    display: grid;
    gap: 18px;
    width: min(980px, 100%);
}

.aeline-contact-hero h2 {
    color: #ffffff;
    font-size: clamp(2.5rem, 7vw, 6.4rem);
    line-height: 0.98;
    text-shadow: 0 18px 42px rgba(0, 0, 0, 0.32);
}

.aeline-contact-hero p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.78);
}

.aeline-contact-hero .eyebrow {
    color: #ffffff;
}

.aeline-contact-hero .button-arrow {
    justify-self: start;
    width: fit-content;
    min-width: 168px;
    max-width: 100%;
    padding: 12px 16px 12px 22px;
}

.aeline-contact-hero .button-arrow span {
    white-space: nowrap;
}

.site-footer {
    background: #03050a;
}

.footer-cta {
    color: #ffffff;
    background: linear-gradient(180deg, var(--aeline-bg), #03050a);
}

.footer-inner {
    grid-template-columns: 1.05fr 0.65fr 0.9fr 0.8fr 1fr;
    border-top: 1px solid var(--aeline-line);
    background: #03050a;
}

.footer-links a,
.footer-contact a,
.social-links a,
.footer-brand p,
.footer-contact p {
    color: var(--aeline-muted);
}

.footer-brochure {
    display: inline-flex;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid var(--aeline-line);
    border-radius: 999px;
    color: #ffffff !important;
}

.footer-cert-grid img,
.footer-map iframe {
    border: 1px solid var(--aeline-line);
}

@media (prefers-reduced-motion: reduce) {
    .aeline-float-card,
    .aeline-orbit-card,
    .aeline-marquee-row {
        animation: none;
        opacity: 1;
        translate: 0 0;
    }
}

@media (max-width: 1180px) {
    .aeline-metric-grid,
    .aeline-card-grid,
    .aeline-logo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aeline-slide {
        flex-basis: calc((100% - 24px) / 2);
    }

    .product-row-card {
        flex-basis: calc((100% - 24px) / 2);
    }

    .aeline-card-stack.is-left .aeline-float-card:nth-child(1) {
        transform: translate3d(-230px, 20px, 120px) rotateY(22deg) rotateZ(-7deg);
    }

    .aeline-card-stack.is-right .aeline-float-card:nth-child(2) {
        transform: translate3d(230px, 45px, 80px) rotateY(-24deg) rotateZ(7deg);
    }
}

@media (max-width: 900px) {
    .aeline-theme .header-inner {
        border-radius: 8px;
    }

    .aeline-theme .header-panel {
        background: rgba(8, 11, 20, 0.98);
        border-color: var(--aeline-line);
    }

    .aeline-split,
    .aeline-faq-section,
    .aeline-contact-section,
    .aeline-service-grid,
    .aeline-content-grid {
        grid-template-columns: 1fr;
    }

    .aeline-visual {
        height: 500px;
    }

    .aeline-card-stack.is-left .aeline-float-card:nth-child(1) {
        transform: translate3d(-130px, 10px, 120px) rotateY(14deg) rotateZ(-7deg);
    }

    .aeline-card-stack.is-left .aeline-float-card:nth-child(2) {
        transform: translate3d(-28px, 105px, 220px) rotateY(8deg) rotateZ(5deg);
    }

    .aeline-card-stack.is-left .aeline-float-card:nth-child(3) {
        transform: translate3d(-95px, -130px, 20px) rotateY(14deg) rotateZ(10deg);
    }

    .aeline-card-stack.is-right .aeline-float-card:nth-child(1) {
        transform: translate3d(65px, -118px, 180px) rotateY(-12deg) rotateZ(-5deg);
    }

    .aeline-card-stack.is-right .aeline-float-card:nth-child(2) {
        transform: translate3d(132px, 38px, 80px) rotateY(-14deg) rotateZ(7deg);
    }

    .aeline-card-stack.is-right .aeline-float-card:nth-child(3) {
        transform: translate3d(30px, 180px, 260px) rotateY(-8deg) rotateZ(-7deg);
    }

    .aeline-page-visual {
        height: 240px;
    }

    .aeline-orbit-card {
        width: clamp(112px, 24vw, 180px);
    }
}

@media (max-width: 640px) {
    .aeline-hero,
    .aeline-page-hero {
        min-height: auto;
        padding-top: calc(var(--header-height) + 52px);
    }

    .aeline-hero-copy h1,
    .aeline-page-copy h1 {
        font-size: clamp(2.65rem, 14vw, 4.6rem);
    }

    .aeline-visual {
        height: 420px;
    }

    .aeline-float-card {
        width: clamp(116px, 36vw, 160px);
    }

    .aeline-rating-card {
        bottom: 0;
    }

    .aeline-metric-grid,
    .aeline-card-grid,
    .aeline-logo-grid {
        grid-template-columns: 1fr;
    }

    .aeline-slide {
        flex-basis: 100%;
        min-height: 360px;
    }

    .product-row-card {
        flex-basis: 100%;
    }

    .aeline-slide img {
        min-height: 360px;
    }

    .aeline-carousel-controls {
        justify-content: center;
    }

    .aeline-service-card img,
    .aeline-content-card img {
        height: 240px;
    }

    .aeline-page-visual {
        display: none;
    }

    .aeline-contact-hero {
        min-height: 460px;
    }

    .aeline-contact-hero h2 {
        font-size: clamp(2.4rem, 13vw, 4rem);
    }

    .button-arrow,
    .aeline-theme .button-primary {
        width: 100%;
    }
}

@media (max-width: 430px) {
    body {
        font-size: 15px;
    }

    .brand-mark {
        width: min(154px, 54vw);
    }

    .header-inner {
        min-height: 54px;
    }

    .nav-toggle {
        width: 40px;
        height: 40px;
    }

    .section-badges span,
    .category-pills span,
    .category-pills button {
        width: 100%;
        justify-content: center;
    }
}

/* Aluna-inspired layout treatment adapted to Maya brand colors and assets. */
:root {
    --canvas: #f5f4f0;
    --canvas-2: #fafaf8;
    --warm-line: #e7e1d7;
    --editorial: var(--font-premium);
}

body {
    background: var(--canvas);
}

.header-inner {
    min-height: 56px;
    padding: 8px 10px 8px 14px;
    border-color: rgba(23, 34, 43, 0.08);
    border-radius: 999px;
    background: rgba(250, 250, 248, 0.92);
}

.brand-mark {
    width: clamp(154px, 16vw, 208px);
}

.site-nav a,
.header-brochure,
.button-primary,
.button-ghost,
.text-link,
.category-pills span,
.section-badges span {
    border-radius: 999px;
}

.site-nav a {
    color: rgba(23, 34, 43, 0.78);
    font-size: 0.84rem;
}

.site-nav a:hover,
.site-nav a.is-active {
    color: #ffffff;
    background: var(--brand-navy);
}

h1,
h2 {
    font-family: var(--editorial);
    font-weight: 500;
}

h3 {
    font-family: var(--font-premium);
}

.eyebrow {
    color: var(--brand-navy);
}

.hero-home {
    min-height: auto;
    padding: calc(var(--header-height) + 42px) clamp(18px, 5vw, 72px) clamp(54px, 7vw, 86px);
    color: var(--ink);
    background:
        radial-gradient(circle at 84% 12%, rgba(46, 163, 242, 0.14), transparent 30%),
        linear-gradient(180deg, var(--canvas-2), var(--canvas));
}

.hero-home::before,
.hero-backdrop {
    display: none;
}

.hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 410px);
    align-items: end;
    gap: clamp(24px, 5vw, 68px);
    margin-bottom: clamp(28px, 5vw, 54px);
}

.hero .eyebrow,
.page-hero .eyebrow {
    color: var(--brand-orange);
}

.hero-content > p:not(.eyebrow),
.page-hero-copy > p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.86);
}

.hero-home .hero-content > p:not(.eyebrow) {
    color: var(--muted);
}

.hero-home h1 {
    max-width: 980px;
    font-size: clamp(3rem, 9vw, 7.25rem);
    line-height: 0.98;
}

.hero-home .button-ghost {
    color: var(--brand-navy);
    border-color: rgba(0, 51, 136, 0.24);
    background: rgba(255, 255, 255, 0.62);
}

.hero-info-card {
    display: grid;
    gap: 18px;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--warm-line);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--shadow-soft);
}

.hero-info-top {
    display: grid;
    gap: 8px;
}

.hero-info-top span {
    color: var(--brand-orange);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.hero-info-top strong {
    color: var(--brand-navy);
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.08;
}

.hero-info-card p {
    color: var(--muted);
}

.hero-proof {
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: 0;
    border-color: var(--warm-line);
    background: #ffffff;
    backdrop-filter: none;
}

.hero-proof div {
    padding: 16px 0;
    background: transparent;
    border-bottom: 1px solid var(--warm-line);
}

.hero-proof div:last-child {
    border-bottom: 0;
}

.hero-proof strong {
    color: var(--brand-navy);
    font-size: clamp(1.5rem, 2.2vw, 2.2rem);
}

.hero-proof span {
    color: var(--muted);
}

.hero-showcase {
    width: min(1280px, 100%);
    margin: 0 auto;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.45fr);
    gap: clamp(12px, 2vw, 22px);
}

.hero-showcase figure {
    box-shadow: none;
}

.showcase-main img {
    height: min(620px, 64vh);
}

.showcase-stack {
    grid-template-rows: minmax(220px, 1fr) auto;
}

.showcase-note {
    min-height: 170px;
    align-content: end;
    box-shadow: none;
    border: 1px solid var(--warm-line);
    background: var(--brand-navy);
    color: #ffffff;
}

.showcase-note span {
    color: var(--brand-orange);
}

.aluna-strip {
    width: min(1280px, calc(100% - 36px));
    margin: 0 auto clamp(48px, 7vw, 86px);
    overflow: hidden;
    border: 1px solid var(--warm-line);
    border-radius: var(--radius);
    background: var(--warm-line);
}

.metric {
    background: var(--canvas-2);
}

.intro-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(260px, 0.72fr);
    grid-template-areas:
        "copy body"
        "media body";
    gap: clamp(18px, 3vw, 30px);
    width: min(1280px, calc(100% - 36px));
    margin: 0 auto;
    padding: 0 0 clamp(58px, 8vw, 108px);
}

.intro-copy {
    grid-area: copy;
    display: grid;
    align-content: end;
    min-height: 230px;
    padding: clamp(22px, 4vw, 40px);
    border-radius: var(--radius);
    background: var(--brand-navy);
    color: #ffffff;
}

.intro-copy .eyebrow {
    color: var(--brand-orange);
}

.intro-copy h2 {
    max-width: 760px;
}

.intro-media {
    grid-area: media;
    overflow: hidden;
    border-radius: var(--radius);
}

.intro-media img {
    width: 100%;
    height: 460px;
    object-fit: cover;
}

.intro-body {
    grid-area: body;
    display: grid;
    align-content: end;
    gap: 18px;
    padding: clamp(22px, 4vw, 40px);
    border: 1px solid var(--warm-line);
    border-radius: var(--radius);
    background: #ffffff;
}

.intro-body p {
    color: var(--muted);
}

.section-shell,
.split-section,
.contact-section,
.contact-cta,
.footer-cta {
    padding-top: clamp(58px, 8vw, 108px);
    padding-bottom: clamp(58px, 8vw, 108px);
}

.section-tint {
    background: #ffffff;
}

.section-heading {
    margin-bottom: clamp(28px, 5vw, 48px);
}

.section-heading h2 {
    max-width: 780px;
}

.course-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    width: min(1280px, 100%);
    margin: 0 auto;
}

.course-card {
    overflow: hidden;
    border: 1px solid var(--warm-line);
    border-radius: var(--radius);
    background: var(--canvas-2);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.course-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-soft);
}

.course-card button {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.course-card img {
    width: 100%;
    aspect-ratio: 4 / 4.9;
    object-fit: cover;
    transition: transform 320ms ease;
}

.course-card:hover img {
    transform: scale(1.035);
}

.course-card a {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.course-card span,
.location-card span,
.cert-card h3 {
    color: var(--brand-blue);
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
}

.course-card p {
    color: var(--muted);
}

.location-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    width: min(1280px, 100%);
    margin: 0 auto;
}

.location-card {
    position: relative;
    min-height: 440px;
    overflow: hidden;
    border-radius: var(--radius);
    color: #ffffff;
    background: var(--brand-navy);
}

.location-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.72;
    transition: transform 420ms ease;
}

.location-card:hover img {
    transform: scale(1.04);
}

.location-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 36, 92, 0.86));
}

.location-card div {
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    gap: 10px;
    padding: 22px;
}

.location-card span {
    color: var(--brand-orange);
}

.location-card h3 {
    font-size: 1.35rem;
}

.location-card p {
    color: rgba(255, 255, 255, 0.84);
}

.split-section {
    background: var(--canvas);
}

.split-copy {
    padding: clamp(22px, 4vw, 36px);
}

.split-image {
    box-shadow: none;
}

.faq-section {
    display: grid;
    grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1fr);
    gap: clamp(24px, 5vw, 70px);
    align-items: center;
    padding: clamp(58px, 8vw, 108px) clamp(18px, 5vw, 72px);
    background: var(--brand-navy);
    color: #ffffff;
}

.faq-media {
    overflow: hidden;
    border-radius: var(--radius);
}

.faq-media img {
    width: 100%;
    min-height: 520px;
    object-fit: cover;
}

.faq-content {
    display: grid;
    gap: 28px;
    max-width: 760px;
}

.faq-content .eyebrow {
    color: var(--brand-orange);
}

.faq-list {
    display: grid;
    gap: 10px;
}

.faq-item {
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    padding: 18px 0;
}

.faq-item:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.faq-item summary {
    cursor: pointer;
    color: #ffffff;
    font-weight: 900;
    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    float: right;
    color: var(--brand-orange);
}

.faq-item[open] summary::after {
    content: "-";
}

.faq-item p {
    max-width: 640px;
    margin-top: 12px;
    color: rgba(255, 255, 255, 0.76);
}

.statement-band {
    padding: clamp(70px, 10vw, 132px) clamp(18px, 5vw, 72px);
    background: var(--canvas);
}

.statement-inner {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.statement-inner p {
    color: var(--ink);
    font-family: var(--editorial);
    font-size: clamp(2.2rem, 5vw, 5rem);
    line-height: 1.05;
}

.ticker-section {
    overflow: hidden;
    border-block: 1px solid var(--warm-line);
    background: #ffffff;
}

.ticker-track {
    display: flex;
    width: max-content;
    gap: clamp(28px, 5vw, 72px);
    padding: 24px 0;
    animation: tickerMove 32s linear infinite;
}

.ticker-track span {
    color: var(--brand-navy);
    font-family: var(--editorial);
    font-size: clamp(1.6rem, 3vw, 3rem);
    white-space: nowrap;
}

@keyframes tickerMove {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.contact-cta {
    position: relative;
    isolation: isolate;
    min-height: 520px;
    align-items: end;
    overflow: hidden;
}

.contact-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(0, 35, 93, 0.92), rgba(0, 51, 136, 0.68) 58%, rgba(245, 130, 31, 0.46)),
        rgba(0, 51, 136, 0.8);
}

.contact-cta-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact-cta h2 {
    max-width: 960px;
}

.footer-cta {
    background: var(--brand-navy);
}

.footer-inner {
    background: #102430;
}

@media (max-width: 1220px) {
    .course-grid,
    .location-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .header-inner {
        border-radius: var(--radius);
    }

    .hero-inner,
    .intro-panel,
    .faq-section {
        grid-template-columns: 1fr;
    }

    .intro-panel {
        grid-template-areas:
            "copy"
            "media"
            "body";
    }

    .intro-copy {
        min-height: auto;
    }

    .intro-media img,
    .faq-media img {
        min-height: 0;
        height: auto;
        aspect-ratio: 1.2;
    }

    .location-card {
        min-height: 380px;
    }
}

@media (max-width: 680px) {
    .hero-home h1 {
        font-size: clamp(2.7rem, 15vw, 4.3rem);
    }

    .hero-showcase,
    .course-grid,
    .location-grid {
        grid-template-columns: 1fr;
    }

    .showcase-main img,
    .showcase-stack img {
        aspect-ratio: 1;
    }

    .hero-proof {
        grid-template-columns: 1fr;
    }

    .aluna-strip {
        width: calc(100% - 32px);
    }

    .course-card img {
        aspect-ratio: 1.08;
    }

    .location-card {
        min-height: 340px;
    }

    .faq-section {
        padding-left: 16px;
        padding-right: 16px;
    }

    .statement-inner p {
        font-size: clamp(2rem, 12vw, 3.4rem);
    }
}

/* Final home polish: reliable video visibility, calmer type, and smoother motion. */
[data-page="home"] .is-index-hero {
    scroll-margin-top: var(--header-height);
}

[data-page="home"] .is-index-hero .aeline-hero-bg {
    overflow: hidden;
    opacity: 0.78;
}

[data-page="home"] .is-index-hero .aeline-hero-bg video,
[data-page="home"] .is-index-hero .aeline-hero-bg > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(0.12) saturate(1.14) contrast(1.02);
}

[data-page="home"] .is-index-hero .aeline-hero-bg video {
    z-index: 2;
    opacity: 0;
    transition: opacity 700ms ease;
}

[data-page="home"] .is-index-hero .aeline-hero-bg.has-generated-video video,
[data-page="home"] .is-index-hero .aeline-hero-bg.has-source-video video {
    opacity: 1;
}

[data-page="home"] .is-index-hero .aeline-hero-bg.has-generated-video > img,
[data-page="home"] .is-index-hero .aeline-hero-bg.has-source-video > img {
    opacity: 0;
}

[data-page="home"] .is-index-hero .aeline-hero-bg:not(.has-generated-video):not(.has-source-video) > img {
    animation: heroPosterDrift 14s ease-in-out infinite alternate;
    transform-origin: center;
}

[data-page="home"] .is-index-hero .aeline-hero-copy h1 {
    max-width: 1010px;
    font-size: clamp(2.75rem, 6.45vw, 6.15rem);
    line-height: 0.98;
}

[data-page="home"] .is-index-hero .aeline-hero-copy p:not(.eyebrow) {
    max-width: 700px;
    font-size: clamp(0.95rem, 1.24vw, 1.08rem);
    line-height: 1.68;
}

.aeline-theme .reveal {
    transition: opacity 720ms ease, transform 720ms cubic-bezier(0.16, 1, 0.3, 1);
}

.aeline-theme .button-primary,
.aeline-theme .button-arrow,
.aeline-theme .aeline-hover-card,
.aeline-theme .aeline-service-card,
.aeline-theme .aeline-content-card,
.aeline-theme .aeline-icon-card,
.aeline-theme .aeline-metric-card,
.aeline-theme .aeline-logo-card,
.aeline-theme .aeline-float-card,
.aeline-theme .aeline-accent-card {
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

.aeline-theme .aeline-carousel-track {
    transition-duration: 520ms;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

[data-page="home"] .is-index-hero .aeline-float-card,
[data-page="home"] .is-index-hero .aeline-accent-card {
    transition-property: scale, box-shadow, filter;
    transition-duration: 300ms;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes heroPosterDrift {
    from {
        transform: scale(1.04) translate3d(-1.5%, -1%, 0);
    }

    to {
        transform: scale(1.1) translate3d(1.5%, 1%, 0);
    }
}

@media (max-width: 900px) {
    [data-page="home"] .is-index-hero .aeline-hero-copy h1 {
        max-width: 780px;
        font-size: clamp(2.55rem, 10vw, 5rem);
    }
}

@media (max-width: 640px) {
    [data-page="home"] .is-index-hero .aeline-hero-copy h1 {
        font-size: clamp(2.35rem, 12.5vw, 4.05rem);
        line-height: 1.02;
    }

    [data-page="home"] .is-index-hero .aeline-hero-copy p:not(.eyebrow) {
        font-size: 0.95rem;
    }
}

/* Theme selector and light layout override. */
html:not([data-theme="light"]) {
    color-scheme: dark;
}

.theme-switcher {
    display: inline-grid;
    place-items: center;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.theme-toggle {
    position: relative;
    display: block;
    width: 76px;
    height: 38px;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    cursor: pointer;
}

.theme-toggle::before,
.theme-toggle::after {
    display: none;
}

.theme-toggle__track {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow:
        0 8px 18px rgba(15, 23, 42, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);
    transition: background 240ms ease, border-color 240ms ease, box-shadow 240ms ease, transform 220ms ease;
}

.theme-toggle__track::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 42px;
    z-index: 3;
    width: 20px;
    height: 20px;
    border: 3px solid #f5ad35;
    border-radius: 50%;
    background: #ffe6b0;
    box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.2);
    transform: translateY(-50%);
    transition: left 260ms cubic-bezier(0.16, 1, 0.3, 1), border-color 220ms ease, background 220ms ease;
}

.theme-toggle:hover .theme-toggle__track {
    transform: translateY(-1px);
    box-shadow:
        0 11px 22px rgba(15, 23, 42, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.theme-toggle__sun {
    position: absolute;
    left: 15px;
    top: 50%;
    z-index: 4;
    width: 9px;
    height: 9px;
    border: 2px solid #f5ad35;
    border-radius: 50%;
    background: transparent;
    box-shadow: 0 0 0 0 #f5ad35;
    transform: translateY(-50%);
    transition: opacity 220ms ease, transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-toggle__sun::before,
.theme-toggle__sun::after {
    content: "";
    position: absolute;
    inset: 50% auto auto 50%;
    background: #f5ad35;
    border-radius: 50%;
}

.theme-toggle__sun::before {
    width: 2px;
    height: 22px;
    box-shadow:
        -7px 0 0 -0.2px #f5ad35,
        7px 0 0 -0.2px #f5ad35;
    transform: translate(-50%, -50%) rotate(0deg);
}

.theme-toggle__sun::after {
    width: 22px;
    height: 2px;
    box-shadow:
        0 -7px 0 -0.2px #f5ad35,
        0 7px 0 -0.2px #f5ad35;
    transform: translate(-50%, -50%) rotate(0deg);
}

.theme-toggle__cloud,
.theme-toggle__night,
.theme-toggle__star {
    display: none;
}

.theme-toggle__moon {
    position: absolute;
    right: 15px;
    top: 50%;
    z-index: 4;
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #f5ad35;
    box-shadow: inset -5px 0 0 #ffffff;
    opacity: 0;
    transform: translateY(-50%) scale(0.78);
    transition: opacity 220ms ease, transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-toggle.is-light .theme-toggle__track {
    border-color: rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.96);
}

.theme-toggle.is-light .theme-toggle__track::after {
    left: 42px;
}

.theme-toggle.is-dark .theme-toggle__track {
    border-color: rgba(17, 24, 39, 0.08);
    background: rgba(255, 255, 255, 0.96);
    box-shadow:
        0 8px 18px rgba(15, 23, 42, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.theme-toggle.is-dark .theme-toggle__track::after {
    left: 42px;
    border-color: #f5ad35;
    background: #ffe6b0;
}

.theme-toggle.is-dark .theme-toggle__sun {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}

.theme-toggle.is-dark .theme-toggle__moon {
    opacity: 0;
    transform: translateY(-50%) scale(0.78);
}

.footer-logo-light {
    display: none;
}

html[data-theme="light"] {
    --aeline-bg: #ffffff;
    --aeline-bg-2: #f3f7fb;
    --aeline-panel: #ffffff;
    --aeline-panel-2: #f5f9fc;
    --aeline-line: rgba(0, 51, 136, 0.13);
    --aeline-text: #142230;
    --aeline-muted: rgba(20, 34, 48, 0.66);
    --aeline-glow: 0 18px 48px rgba(0, 51, 136, 0.12);
    color-scheme: light;
}

html[data-theme="light"] body.aeline-theme,
html[data-theme="light"] body.aeline-theme main {
    color: var(--aeline-text);
    background: #ffffff;
}

html[data-theme="light"] body.aeline-theme .header-inner,
html[data-theme="light"] body.aeline-theme .site-header.is-scrolled .header-inner,
html[data-theme="light"] body.aeline-theme:not([data-page="home"]) .header-inner {
    border-color: rgba(0, 51, 136, 0.12);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 52px rgba(17, 38, 55, 0.14);
}

html[data-theme="light"] body.aeline-theme .site-nav a {
    color: rgba(20, 34, 48, 0.74);
}

html[data-theme="light"] body.aeline-theme .site-nav a:hover,
html[data-theme="light"] body.aeline-theme .site-nav a.is-active {
    color: #ffffff;
    background: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .header-brochure {
    color: #ffffff;
    background: var(--brand-orange);
    box-shadow: 0 12px 24px rgba(245, 130, 31, 0.22);
}

html[data-theme="light"] body.aeline-theme .nav-toggle,
html[data-theme="light"] body.aeline-theme .theme-switcher {
    color: var(--aeline-text);
    border-color: var(--aeline-line);
    background: rgba(0, 51, 136, 0.05);
}

html[data-theme="light"] body.aeline-theme .theme-switcher [data-theme-option] {
    color: rgba(20, 34, 48, 0.68);
}

html[data-theme="light"] body.aeline-theme .theme-switcher [data-theme-option].is-active {
    color: #ffffff;
    background: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .aeline-section,
html[data-theme="light"] body.aeline-theme .aeline-carousel-section,
html[data-theme="light"] body.aeline-theme .aeline-faq-section,
html[data-theme="light"] body.aeline-theme .aeline-contact-section,
html[data-theme="light"] body.aeline-theme .aeline-split,
html[data-theme="light"] body.aeline-theme .aeline-contact-hero {
    background: #ffffff;
}

html[data-theme="light"] body.aeline-theme .aeline-dark-section {
    background: linear-gradient(180deg, #f3f7fb, #ffffff);
}

html[data-theme="light"] body.aeline-theme .aeline-marquee {
    background: #f6f9fc;
}

html[data-theme="light"] body.aeline-theme .aeline-marquee-row span,
html[data-theme="light"] body.aeline-theme .aeline-section-head h2,
html[data-theme="light"] body.aeline-theme .aeline-split-copy h2,
html[data-theme="light"] body.aeline-theme .aeline-metric-card strong,
html[data-theme="light"] body.aeline-theme .aeline-hover-card h3,
html[data-theme="light"] body.aeline-theme .aeline-service-card h3,
html[data-theme="light"] body.aeline-theme .aeline-content-card h2,
html[data-theme="light"] body.aeline-theme .aeline-icon-card h3,
html[data-theme="light"] body.aeline-theme .aeline-logo-card h3,
html[data-theme="light"] body.aeline-theme .aeline-faq-content h2,
html[data-theme="light"] body.aeline-theme .aeline-contact-panel h2,
html[data-theme="light"] body.aeline-theme .aeline-contact-form h2,
html[data-theme="light"] body.aeline-theme .faq-item summary,
html[data-theme="light"] body.aeline-theme .aeline-category-block > h2 {
    color: var(--aeline-text);
}

html[data-theme="light"] body.aeline-theme .aeline-metric-card,
html[data-theme="light"] body.aeline-theme .aeline-hover-card,
html[data-theme="light"] body.aeline-theme .aeline-service-card,
html[data-theme="light"] body.aeline-theme .aeline-logo-card,
html[data-theme="light"] body.aeline-theme .aeline-content-card,
html[data-theme="light"] body.aeline-theme .aeline-icon-card,
html[data-theme="light"] body.aeline-theme .aeline-contact-panel,
html[data-theme="light"] body.aeline-theme .aeline-contact-form {
    background: #ffffff;
    box-shadow: 0 16px 44px rgba(17, 38, 55, 0.08);
}

html[data-theme="light"] body.aeline-theme .aeline-metric-card:hover,
html[data-theme="light"] body.aeline-theme .aeline-hover-card:hover,
html[data-theme="light"] body.aeline-theme .aeline-service-card:hover,
html[data-theme="light"] body.aeline-theme .aeline-logo-card:hover,
html[data-theme="light"] body.aeline-theme .aeline-content-card:hover,
html[data-theme="light"] body.aeline-theme .aeline-icon-card:hover {
    background: #f5f9fc;
}

html[data-theme="light"] body.aeline-theme .aeline-rating-card {
    background: rgba(255, 255, 255, 0.86);
    color: var(--aeline-text);
}

html[data-theme="light"] body.aeline-theme .aeline-rating-card span,
html[data-theme="light"] body.aeline-theme .aeline-section-head p:not(.eyebrow),
html[data-theme="light"] body.aeline-theme .aeline-split-copy p:not(.eyebrow),
html[data-theme="light"] body.aeline-theme .aeline-hover-card p,
html[data-theme="light"] body.aeline-theme .aeline-service-card p,
html[data-theme="light"] body.aeline-theme .aeline-logo-card p,
html[data-theme="light"] body.aeline-theme .aeline-content-card p,
html[data-theme="light"] body.aeline-theme .aeline-icon-card p,
html[data-theme="light"] body.aeline-theme .faq-item p,
html[data-theme="light"] body.aeline-theme .aeline-contact-panel p,
html[data-theme="light"] body.aeline-theme .aeline-contact-form label {
    color: var(--aeline-muted);
}

html[data-theme="light"] body.aeline-theme .section-badges span,
html[data-theme="light"] body.aeline-theme .category-pills span,
html[data-theme="light"] body.aeline-theme .category-pills button {
    color: var(--aeline-text);
    background: rgba(0, 51, 136, 0.05);
}

html[data-theme="light"] body.aeline-theme .product-filter-options button:hover,
html[data-theme="light"] body.aeline-theme .product-filter-options button.is-active {
    color: #ffffff;
    border-color: var(--brand-navy);
    background: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .button-arrow {
    color: var(--aeline-text);
    background: rgba(0, 51, 136, 0.04);
}

html[data-theme="light"] body.aeline-theme .button-arrow::before {
    background: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .button-arrow i {
    color: #ffffff;
    background: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .button-arrow:hover {
    color: #ffffff;
    border-color: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .button-arrow:hover i {
    color: var(--brand-navy);
    background: #ffffff;
}

html[data-theme="light"] body.aeline-theme .button-primary {
    color: #ffffff;
    border-color: var(--brand-navy);
    background: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .aeline-contact-form input,
html[data-theme="light"] body.aeline-theme .aeline-contact-form textarea,
html[data-theme="light"] body.aeline-theme .footer-form input {
    color: var(--aeline-text);
    background: #ffffff;
}

html[data-theme="light"] body.aeline-theme .aeline-carousel-controls button {
    color: var(--aeline-text);
    background: rgba(0, 51, 136, 0.04);
}

html[data-theme="light"] body.aeline-theme .aeline-carousel-controls button:hover {
    color: #ffffff;
    background: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .site-footer,
html[data-theme="light"] body.aeline-theme .footer-inner {
    color: var(--aeline-text);
    background: #ffffff;
}

html[data-theme="light"] body.aeline-theme .footer-cta {
    color: var(--aeline-text);
    background: linear-gradient(180deg, #f3f7fb, #ffffff);
}

html[data-theme="light"] body.aeline-theme .footer-cta .eyebrow,
html[data-theme="light"] body.aeline-theme .footer-links h2,
html[data-theme="light"] body.aeline-theme .footer-contact h2,
html[data-theme="light"] body.aeline-theme .footer-certifications h2 {
    color: var(--aeline-text);
}

html[data-theme="light"] body.aeline-theme .footer-links a,
html[data-theme="light"] body.aeline-theme .footer-contact a,
html[data-theme="light"] body.aeline-theme .social-links a,
html[data-theme="light"] body.aeline-theme .footer-brand p,
html[data-theme="light"] body.aeline-theme .footer-contact p {
    color: var(--aeline-muted);
}

html[data-theme="light"] body.aeline-theme .footer-bottom,
html[data-theme="light"] body.aeline-theme .footer-inner,
html[data-theme="light"] body.aeline-theme .footer-cert-grid img,
html[data-theme="light"] body.aeline-theme .footer-map iframe {
    border-color: var(--aeline-line);
}

html[data-theme="light"] body.aeline-theme .footer-logo-dark {
    display: none;
}

html[data-theme="light"] body.aeline-theme .footer-logo-light {
    display: block;
}

@media (max-width: 900px) {
    .theme-switcher {
        width: 100%;
        justify-content: stretch;
    }

    .theme-switcher [data-theme-option] {
        flex: 1;
    }

    html[data-theme="light"] body.aeline-theme .header-panel {
        background: rgba(255, 255, 255, 0.98);
        border-color: var(--aeline-line);
    }
}

/* Final header polish: floating theme control and refined menu typography. */
body.aeline-theme .site-nav {
    gap: clamp(4px, 0.48vw, 9px);
}

body.aeline-theme .site-nav a,
body.aeline-theme .header-brochure {
    min-height: 42px;
    padding: 10px clamp(13px, 0.82vw, 17px);
    border-radius: 999px;
    font-family: var(--font-premium);
    font-size: clamp(0.9rem, 0.78vw, 0.98rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

body.aeline-theme .site-nav a {
    color: rgba(255, 255, 255, 0.82);
}

body.aeline-theme .site-nav a:hover,
body.aeline-theme .site-nav a.is-active {
    color: #ffffff;
    background: rgba(46, 163, 242, 0.22);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

body.aeline-theme .header-brochure {
    font-size: clamp(0.9rem, 0.8vw, 1rem);
}

.site-theme-switcher {
    position: fixed;
    top: clamp(162px, 24vh, 218px);
    right: clamp(18px, 2.3vw, 38px);
    z-index: 60;
    min-height: auto;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.site-theme-switcher button {
    min-width: 0;
    min-height: 0;
    font-size: inherit;
}

html[data-theme="light"] body.aeline-theme .site-nav a {
    color: rgba(20, 34, 48, 0.78);
}

html[data-theme="light"] body.aeline-theme .site-nav a:hover,
html[data-theme="light"] body.aeline-theme .site-nav a.is-active {
    color: #ffffff;
    background: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .site-theme-switcher {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

@media (max-width: 1180px) {
    body.aeline-theme .site-nav {
        gap: 3px;
    }

    body.aeline-theme .site-nav a,
    body.aeline-theme .header-brochure {
        padding-inline: 11px;
        font-size: 0.86rem;
    }

    .site-theme-switcher {
        top: calc(var(--header-height) + 94px);
        right: 18px;
    }
}

@media (max-width: 900px) {
    body.aeline-theme .site-nav a,
    body.aeline-theme .header-brochure {
        width: 100%;
        min-height: 44px;
        font-size: 0.94rem;
    }

    .site-theme-switcher {
        top: auto;
        right: 14px;
        bottom: 18px;
        width: auto;
        justify-content: center;
    }

    .site-theme-switcher button {
        flex: 0 0 auto;
        min-width: 0;
    }
}

@media (max-width: 520px) {
    .site-theme-switcher {
        right: 10px;
        bottom: 12px;
        transform: scale(0.94);
        transform-origin: right bottom;
    }
}

/* Contact banner contrast and button sizing. */
body.aeline-theme .aeline-contact-hero::before {
    background:
        linear-gradient(90deg, rgba(3, 7, 14, 0.88), rgba(3, 7, 14, 0.56) 50%, rgba(0, 51, 136, 0.38)),
        linear-gradient(180deg, rgba(5, 6, 11, 0.18), rgba(5, 6, 11, 0.84));
}

html[data-theme="light"] body.aeline-theme .aeline-contact-hero {
    background: #05060b;
}

html[data-theme="light"] body.aeline-theme .aeline-contact-hero .eyebrow,
html[data-theme="light"] body.aeline-theme .aeline-contact-hero h2 {
    color: #ffffff;
}

html[data-theme="light"] body.aeline-theme .aeline-contact-hero p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.78);
}

body.aeline-theme .aeline-contact-hero .button-arrow,
html[data-theme="light"] body.aeline-theme .aeline-contact-hero .button-arrow {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.09);
}

body.aeline-theme .aeline-contact-hero .button-arrow:hover,
html[data-theme="light"] body.aeline-theme .aeline-contact-hero .button-arrow:hover {
    color: #ffffff;
    border-color: var(--brand-navy);
    background: var(--brand-navy);
}

body.aeline-theme .aeline-contact-hero .button-arrow:hover i,
html[data-theme="light"] body.aeline-theme .aeline-contact-hero .button-arrow:hover i {
    color: var(--brand-navy);
    background: #ffffff;
}

/* Mobile stabilization for the deployed brochure layout. */
@media (max-width: 768px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    body.aeline-theme {
        min-width: 0;
    }

    body.aeline-theme .site-header {
        padding: 10px 12px 0;
    }

    body.aeline-theme .header-inner {
        width: 100%;
        min-height: 58px;
        gap: 10px;
        padding: 8px 8px 8px 14px;
        border-radius: 24px;
    }

    body.aeline-theme .brand-mark {
        width: min(178px, 58vw);
        min-width: 0;
    }

    body.aeline-theme .nav-toggle {
        display: inline-flex;
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
    }

    body.aeline-theme .header-panel {
        top: calc(var(--header-height) + 6px);
        left: 12px;
        right: 12px;
        z-index: 70;
        max-height: calc(100svh - var(--header-height) - 24px);
        overflow-y: auto;
        border-radius: 18px;
    }

    body.aeline-theme .site-nav {
        display: grid;
        width: 100%;
        gap: 7px;
    }

    body.aeline-theme .site-nav a,
    body.aeline-theme .header-brochure {
        width: 100%;
        min-height: 42px;
        padding: 10px 12px;
        font-size: 0.92rem;
    }

    .aeline-hero,
    .aeline-page-hero {
        min-height: auto;
        align-items: start;
        padding: calc(var(--header-height) + 42px) 16px 46px;
    }

    .aeline-hero-copy,
    .aeline-page-copy {
        justify-items: start;
        width: 100%;
        text-align: left;
    }

    .aeline-hero-copy h1,
    .aeline-page-copy h1,
    [data-page="home"] .is-index-hero .aeline-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(2rem, 10.5vw, 3.25rem);
        line-height: 1.06;
        overflow-wrap: break-word;
    }

    .aeline-hero-copy p:not(.eyebrow),
    .aeline-page-copy p:not(.eyebrow),
    [data-page="home"] .is-index-hero .aeline-hero-copy p:not(.eyebrow) {
        max-width: 100%;
        margin-top: 14px;
        font-size: 0.94rem;
        line-height: 1.58;
    }

    .hero-actions {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .button-primary,
    .button-arrow,
    .aeline-theme .button-primary {
        width: 100%;
        min-height: 46px;
    }

    .aeline-visual {
        width: min(340px, 100%);
        height: 282px;
        margin: 26px auto 0;
        overflow: visible;
    }

    .aeline-float-card {
        width: min(132px, 36vw);
    }

    .aeline-card-stack.is-left .aeline-float-card:nth-child(1) {
        transform: translate3d(-88px, 18px, 120px) rotateY(12deg) rotateZ(-7deg);
    }

    .aeline-card-stack.is-left .aeline-float-card:nth-child(2) {
        transform: translate3d(-8px, 78px, 220px) rotateY(8deg) rotateZ(5deg);
    }

    .aeline-card-stack.is-left .aeline-float-card:nth-child(3) {
        transform: translate3d(-64px, -72px, 20px) rotateY(12deg) rotateZ(9deg);
    }

    .aeline-card-stack.is-right .aeline-float-card:nth-child(1) {
        transform: translate3d(58px, -76px, 180px) rotateY(-10deg) rotateZ(-5deg);
    }

    .aeline-card-stack.is-right .aeline-float-card:nth-child(2) {
        transform: translate3d(96px, 22px, 80px) rotateY(-10deg) rotateZ(7deg);
    }

    .aeline-card-stack.is-right .aeline-float-card:nth-child(3) {
        transform: translate3d(28px, 118px, 260px) rotateY(-6deg) rotateZ(-6deg);
    }

    [data-page="home"] .is-index-hero .aeline-accent-card {
        left: 50%;
        top: 54%;
        width: min(132px, 36vw);
        height: min(174px, 48vw);
    }

    .aeline-rating-card {
        bottom: -4px;
        width: min(232px, 76vw);
        padding: 14px;
    }

    .aeline-rating-card strong {
        font-size: clamp(2rem, 11vw, 3rem);
    }

    .aeline-page-visual {
        display: none;
    }

    .aeline-section,
    .aeline-carousel-section,
    .aeline-faq-section,
    .aeline-contact-section,
    .aeline-split {
        padding: 54px 16px;
    }

    .aeline-section-head {
        align-items: flex-start;
        text-align: left;
    }

    .aeline-section-head h2,
    .aeline-split-copy h2,
    .aeline-faq-content h2,
    .aeline-contact-panel h2,
    .aeline-contact-form h2,
    .aeline-contact-hero h2 {
        max-width: 100%;
        font-size: clamp(1.85rem, 9vw, 2.65rem);
        line-height: 1.08;
        overflow-wrap: break-word;
    }

    .aeline-metric-grid,
    .aeline-card-grid,
    .aeline-logo-grid,
    .aeline-service-grid,
    .aeline-content-grid,
    .aeline-contact-section,
    .footer-inner {
        grid-template-columns: 1fr;
    }

    .aeline-hover-card,
    .aeline-service-card,
    .aeline-content-card,
    .aeline-icon-card,
    .aeline-logo-card,
    .aeline-contact-panel,
    .aeline-contact-form {
        min-width: 0;
        border-radius: 8px;
    }

    .aeline-hover-card h3,
    .aeline-service-card h3,
    .aeline-content-card h2 {
        font-size: clamp(1.35rem, 7vw, 2rem);
        line-height: 1.12;
        overflow-wrap: break-word;
    }

    .aeline-hover-card img,
    .aeline-service-card img,
    .aeline-content-card img,
    .aeline-split-visual img,
    .aeline-faq-visual img {
        height: auto;
        min-height: 0;
        aspect-ratio: 1.15 / 1;
        object-fit: cover;
    }

    .aeline-slide {
        flex-basis: 100%;
        min-height: 0;
    }

    .aeline-slide img {
        min-height: 0;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    .aeline-carousel-track {
        gap: 16px;
    }

    .aeline-marquee-row span {
        font-size: clamp(1.5rem, 8vw, 2.3rem);
    }

    .section-badges,
    .category-pills {
        display: grid;
        grid-template-columns: 1fr;
    }

    .section-badges span,
    .category-pills span,
    .category-pills button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .product-filter-options {
        display: flex;
        grid-template-columns: none;
        width: 100%;
    }

    .product-filter-options button {
        width: auto;
    }

    .aeline-contact-panel,
    .aeline-contact-form {
        padding: 22px;
    }

    .aeline-contact-form input,
    .aeline-contact-form textarea {
        width: 100%;
    }

    .aeline-contact-hero {
        min-height: 420px;
        padding: 64px 16px;
        align-items: center;
    }

    .footer-cta {
        display: grid;
        align-items: start;
        gap: 18px;
        padding: 48px 16px;
    }

    .footer-inner {
        gap: 26px;
        padding: 44px 16px;
    }

    .footer-cert-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-map iframe {
        min-height: 260px;
    }

    .site-theme-switcher {
        right: 6px;
        bottom: 10px;
        transform: scale(0.72);
        transform-origin: right bottom;
    }

    body.nav-open .site-theme-switcher {
        opacity: 0.2;
        pointer-events: none;
    }

    .lightbox {
        padding: 18px 12px 96px;
    }

    .lightbox img {
        max-width: 94vw;
        max-height: 72vh;
    }

    .lightbox-close {
        top: 10px;
        right: 10px;
    }

    .lightbox-nav {
        top: auto;
        bottom: 26px;
        width: 46px;
        height: 46px;
        transform: none;
    }

    .lightbox-nav:hover {
        transform: translateY(-2px);
    }

    .lightbox-nav--prev {
        left: calc(50% - 58px);
    }

    .lightbox-nav--next {
        right: calc(50% - 58px);
    }

    .lightbox p {
        bottom: 78px;
        font-size: 0.86rem;
    }
}

@media (max-width: 430px) {
    :root {
        --header-height: 72px;
    }

    body.aeline-theme .site-header {
        padding-inline: 8px;
    }

    body.aeline-theme .header-inner {
        min-height: 54px;
        padding-left: 12px;
    }

    body.aeline-theme .brand-mark {
        width: min(150px, 54vw);
    }

    .aeline-hero,
    .aeline-page-hero {
        padding-top: calc(var(--header-height) + 34px);
    }

    .aeline-hero-copy h1,
    .aeline-page-copy h1,
    [data-page="home"] .is-index-hero .aeline-hero-copy h1 {
        font-size: clamp(1.9rem, 9.6vw, 2.6rem);
        line-height: 1.08;
    }

    .aeline-visual {
        width: min(300px, 100%);
        height: 250px;
        margin-top: 18px;
    }

    .aeline-card-stack.is-right .aeline-float-card:nth-child(3) {
        display: none;
    }

    .aeline-rating-card {
        width: min(210px, 74vw);
    }

    .aeline-section,
    .aeline-carousel-section,
    .aeline-faq-section,
    .aeline-contact-section,
    .aeline-split {
        padding-block: 46px;
    }

    .aeline-contact-panel,
    .aeline-contact-form {
        padding: 18px;
    }

    .site-theme-switcher {
        transform: scale(0.64);
    }
}

/* Final phone fit: keep header, hero copy, and motion strips inside the viewport. */
@media (max-width: 768px) {
    body.aeline-theme {
        overflow-x: hidden;
    }

    body.aeline-theme .main-wrapper,
    body.aeline-theme .aeline-hero,
    body.aeline-theme .aeline-page-hero,
    body.aeline-theme .aeline-section,
    body.aeline-theme .aeline-carousel-section,
    body.aeline-theme .aeline-faq-section,
    body.aeline-theme .aeline-contact-section,
    body.aeline-theme .aeline-split {
        max-width: 100vw;
        overflow-x: hidden;
    }

    body.aeline-theme .site-header {
        z-index: 100;
        padding: 10px 12px 0;
    }

    body.aeline-theme .header-inner {
        position: relative;
        width: 100%;
        max-width: calc(100vw - 24px);
        min-height: 58px;
        padding: 8px 58px 8px 14px;
        overflow: visible;
    }

    body.aeline-theme .brand-mark {
        width: min(176px, 54vw);
        max-width: calc(100vw - 100px);
        flex: 0 1 auto;
    }

    body.aeline-theme .nav-toggle {
        position: fixed;
        top: 18px;
        right: 20px;
        z-index: 110;
        display: inline-flex !important;
        width: 42px;
        height: 42px;
        border-color: rgba(255, 255, 255, 0.28);
        background: rgba(8, 11, 20, 0.72);
        transform: none;
        backdrop-filter: blur(14px);
    }

    body.aeline-theme .header-panel {
        position: fixed;
        top: calc(var(--header-height) + 6px);
        left: 12px;
        right: 12px;
        max-height: calc(100svh - var(--header-height) - 24px);
        overflow-y: auto;
    }

    .aeline-hero,
    .aeline-page-hero {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: auto;
        padding: calc(var(--header-height) + 34px) 16px 42px;
    }

    .aeline-page-hero {
        min-height: 520px;
    }

    .aeline-hero-copy,
    .aeline-page-copy {
        position: relative;
        z-index: 3;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        max-width: calc(100vw - 32px);
        margin: 0;
        text-align: left;
    }

    .aeline-hero-copy h1,
    .aeline-page-copy h1,
    [data-page="home"] .is-index-hero .aeline-hero-copy h1 {
        width: 100%;
        max-width: min(100%, calc(100vw - 48px));
        font-size: clamp(1.72rem, 7.3vw, 2.08rem) !important;
        line-height: 1.08;
        overflow-wrap: break-word;
        text-wrap: balance;
    }

    .aeline-page-copy h1 {
        max-width: min(100%, calc(100vw - 54px));
        font-size: clamp(1.82rem, 7.8vw, 2.18rem) !important;
    }

    .aeline-hero-copy p:not(.eyebrow),
    .aeline-page-copy p:not(.eyebrow),
    [data-page="home"] .is-index-hero .aeline-hero-copy p:not(.eyebrow) {
        width: 100%;
        max-width: min(100%, calc(100vw - 48px));
        color: rgba(255, 255, 255, 0.78);
        font-size: 0.88rem;
        line-height: 1.55;
        overflow-wrap: break-word;
    }

    .hero-actions {
        max-width: 100%;
    }

    .aeline-visual {
        width: min(312px, 100%);
        height: 260px;
        margin-top: 24px;
        overflow: hidden;
    }

    .aeline-float-card {
        width: min(118px, 33vw);
    }

    [data-page="home"] .is-index-hero .aeline-accent-card {
        width: min(116px, 33vw);
        height: min(156px, 43vw);
    }

    .aeline-rating-card {
        width: min(210px, 72vw);
    }

    .aeline-marquee {
        display: none;
    }

    .aeline-section-head,
    .aeline-contact-panel,
    .aeline-contact-form,
    .aeline-split-copy,
    .aeline-faq-content {
        width: 100%;
        max-width: calc(100vw - 32px);
    }

    .aeline-section-head h2,
    .aeline-split-copy h2,
    .aeline-faq-content h2,
    .aeline-contact-panel h2,
    .aeline-contact-form h2,
    .aeline-contact-hero h2 {
        max-width: min(100%, calc(100vw - 48px));
        font-size: clamp(1.55rem, 7.1vw, 2rem);
        line-height: 1.12;
        overflow-wrap: break-word;
    }

    .aeline-section-head p,
    .aeline-content-card p,
    .aeline-hover-card p,
    .aeline-service-card p,
    .aeline-contact-panel p,
    .aeline-contact-form p,
    .aeline-split-copy p,
    .aeline-faq-content p {
        max-width: min(100%, calc(100vw - 48px));
        overflow-wrap: break-word;
    }
}

@media (max-width: 430px) {
    body.aeline-theme .site-header {
        padding-inline: 8px;
    }

    body.aeline-theme .header-inner {
        max-width: calc(100vw - 16px);
        padding-right: 54px;
    }

    body.aeline-theme .brand-mark {
        width: min(158px, 52vw);
    }

    body.aeline-theme .nav-toggle {
        top: 17px;
        right: 16px;
        width: 40px;
        height: 40px;
    }

    .aeline-hero,
    .aeline-page-hero {
        padding: calc(var(--header-height) + 28px) 14px 38px;
    }

    .aeline-hero-copy,
    .aeline-page-copy {
        max-width: min(330px, calc(100vw - 28px));
    }

    .aeline-hero-copy h1,
    .aeline-page-copy h1,
    [data-page="home"] .is-index-hero .aeline-hero-copy h1 {
        max-width: min(330px, calc(100vw - 42px));
        font-size: clamp(1.65rem, 7.6vw, 2rem) !important;
    }

    .aeline-hero-copy p:not(.eyebrow),
    .aeline-page-copy p:not(.eyebrow),
    [data-page="home"] .is-index-hero .aeline-hero-copy p:not(.eyebrow),
    .aeline-section-head,
    .aeline-section-head h2,
    .aeline-section-head p,
    .aeline-content-card h2,
    .aeline-content-card p {
        max-width: min(330px, calc(100vw - 42px));
    }

    body.aeline-theme .nav-toggle {
        right: auto;
        left: calc(min(100vw, 390px) - 56px);
    }

    .aeline-visual {
        width: min(286px, 100%);
        height: 236px;
    }

    .aeline-card-stack.is-left .aeline-float-card:nth-child(3),
    .aeline-card-stack.is-right .aeline-float-card:nth-child(3) {
        display: none;
    }
}

/* Reference-style compact light/dark toggle. */
.site-theme-switcher {
    display: inline-flex;
    align-items: center;
    top: clamp(150px, 22vh, 208px);
    right: 10px;
    gap: 0;
}

.theme-switcher__label {
    display: none;
}

.site-theme-switcher .theme-toggle {
    width: 66px;
    height: 36px;
}

.site-theme-switcher .theme-toggle__track {
    inset: 0;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.16);
}

.site-theme-switcher .theme-toggle__track::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 31px;
    width: 1px;
    border-radius: 999px;
    background: rgba(245, 130, 31, 0.48);
}

.site-theme-switcher .theme-toggle__track::after {
    left: 36px;
    width: 24px;
    height: 24px;
    border: 3px solid #f5a832;
    background: #fff4dc;
    box-shadow: none;
}

.site-theme-switcher .theme-toggle__moon,
.site-theme-switcher .theme-toggle__cloud,
.site-theme-switcher .theme-toggle__night,
.site-theme-switcher .theme-toggle__star {
    display: none;
}

.site-theme-switcher .theme-toggle__sun {
    display: block;
    left: 13px;
    width: 8px;
    height: 8px;
    border: 1.8px solid #f5a832;
    opacity: 1;
}

.site-theme-switcher .theme-toggle__sun::before {
    width: 1.6px;
    height: 18px;
    box-shadow:
        -5px 0 0 -0.2px #f5a832,
        5px 0 0 -0.2px #f5a832;
}

.site-theme-switcher .theme-toggle__sun::after {
    width: 18px;
    height: 1.6px;
    box-shadow:
        0 -5px 0 -0.2px #f5a832,
        0 5px 0 -0.2px #f5a832;
}

.site-theme-switcher .theme-toggle.is-light .theme-toggle__track {
    background: rgba(255, 255, 255, 0.98);
}

.site-theme-switcher .theme-toggle.is-light .theme-toggle__track::after {
    left: 5px;
    background: #fff4dc;
}

.site-theme-switcher .theme-toggle.is-light .theme-toggle__sun {
    opacity: 0;
    transform: translateY(-50%) scale(0.72);
}

.site-theme-switcher .theme-toggle.is-dark .theme-toggle__track {
    background: rgba(255, 255, 255, 0.98);
}

.site-theme-switcher .theme-toggle.is-dark .theme-toggle__track::after {
    left: 36px;
    background: #fff4dc;
}

.site-theme-switcher .theme-toggle.is-dark .theme-toggle__sun {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}

body.aeline-theme .aeline-hero-copy p:not(.eyebrow),
body.aeline-theme .aeline-page-copy p:not(.eyebrow),
[data-page="home"] .is-index-hero .aeline-hero-copy p:not(.eyebrow),
html[data-theme="light"] body.aeline-theme .aeline-hero-copy p:not(.eyebrow),
html[data-theme="light"] body.aeline-theme .aeline-page-copy p:not(.eyebrow),
html[data-theme="light"] [data-page="home"] .is-index-hero .aeline-hero-copy p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.92) !important;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.42);
}

@media (max-width: 900px) {
    .site-theme-switcher {
        top: calc(var(--header-height) + 16px);
        right: 10px;
        bottom: auto;
        transform: none;
        transform-origin: right top;
    }
}

@media (max-width: 520px) {
    .site-theme-switcher {
        top: calc(var(--header-height) + 12px);
        right: 8px;
        bottom: auto;
        transform: scale(0.88);
    }

    .site-theme-switcher .theme-toggle {
        width: 66px;
        height: 36px;
    }
}

/* Global scale-down and responsive preloader polish. */
.site-preloader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 24px;
    color: #ffffff;
    background:
        radial-gradient(circle at 28% 26%, rgba(245, 130, 31, 0.22), transparent 34%),
        linear-gradient(135deg, #02050a 0%, #0a1422 48%, #23140c 100%);
    transition: opacity 520ms ease, visibility 520ms ease;
}

.site-preloader.is-hidden {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

.preloader-panel {
    display: grid;
    justify-items: center;
    width: min(520px, 100%);
    gap: 22px;
    padding: clamp(28px, 5vw, 46px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    background: rgba(5, 8, 14, 0.62);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(20px);
}

.preloader-panel img {
    width: min(340px, 76vw);
    height: auto;
    animation: preloaderLogoFloat 1500ms ease-in-out infinite alternate;
}

.preloader-copy {
    display: grid;
    justify-items: center;
    gap: 6px;
    text-align: center;
}

.preloader-copy span {
    color: var(--brand-orange);
    font-size: clamp(0.72rem, 2vw, 0.82rem);
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.preloader-copy strong {
    max-width: 360px;
    color: #ffffff;
    font-size: clamp(1.25rem, 5vw, 2rem);
    line-height: 1.08;
}

.preloader-bar {
    position: relative;
    overflow: hidden;
    width: min(300px, 72vw);
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
}

.preloader-bar span {
    position: absolute;
    inset: 0;
    width: 46%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--brand-orange), var(--brand-blue));
    animation: preloaderBar 1050ms cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

@keyframes preloaderLogoFloat {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-8px);
    }
}

@keyframes preloaderBar {
    from {
        transform: translateX(-115%);
    }

    to {
        transform: translateX(225%);
    }
}

body.aeline-theme h1,
body.aeline-theme .aeline-hero-copy h1,
body.aeline-theme .aeline-page-copy h1,
[data-page="home"] .is-index-hero .aeline-hero-copy h1,
body .hero-home h1 {
    font-size: clamp(2.25rem, 5.4vw, 5.15rem) !important;
    line-height: 1.02;
}

body.aeline-theme h2,
body.aeline-theme .aeline-section-head h2,
body.aeline-theme .aeline-split-copy h2,
body.aeline-theme .aeline-faq-content h2,
body.aeline-theme .aeline-contact-panel h2,
body.aeline-theme .aeline-contact-form h2,
body.aeline-theme .aeline-contact-hero h2,
body .contact-cta h2,
body .footer-cta h2 {
    font-size: clamp(1.6rem, 3.7vw, 3.35rem) !important;
    line-height: 1.08;
}

body.aeline-theme .aeline-content-card h2,
body.aeline-theme .aeline-category-block > h2,
body.aeline-theme .category-block > h2 {
    font-size: clamp(1.32rem, 2.5vw, 2rem) !important;
}

body.aeline-theme .aeline-metric-card strong,
body.aeline-theme .aeline-rating-card strong {
    font-size: clamp(2rem, 4.4vw, 3.5rem) !important;
}

body.aeline-theme .aeline-marquee-row span {
    font-size: clamp(1.25rem, 2.5vw, 2.4rem) !important;
}

@media (max-width: 768px) {
    body.aeline-theme h1,
    body.aeline-theme .aeline-hero-copy h1,
    body.aeline-theme .aeline-page-copy h1,
    [data-page="home"] .is-index-hero .aeline-hero-copy h1,
    body .hero-home h1 {
        font-size: clamp(1.65rem, 7.4vw, 2.15rem) !important;
    }

    body.aeline-theme h2,
    body.aeline-theme .aeline-section-head h2,
    body.aeline-theme .aeline-split-copy h2,
    body.aeline-theme .aeline-faq-content h2,
    body.aeline-theme .aeline-contact-panel h2,
    body.aeline-theme .aeline-contact-form h2,
    body.aeline-theme .aeline-contact-hero h2,
    body .contact-cta h2,
    body .footer-cta h2 {
        font-size: clamp(1.35rem, 6.5vw, 1.9rem) !important;
    }

    .preloader-panel {
        gap: 18px;
        padding: 26px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .preloader-panel img,
    .preloader-bar span {
        animation: none;
    }
}

/* Final compact heading scale requested globally. */
body h1,
body.aeline-theme h1,
body.aeline-theme .aeline-hero-copy h1,
body.aeline-theme .aeline-page-copy h1,
[data-page="home"] .is-index-hero .aeline-hero-copy h1,
body .hero-home h1 {
    font-size: clamp(1.75rem, 3.7vw, 3.6rem) !important;
    line-height: 1.06;
    overflow-wrap: break-word;
    text-wrap: balance;
}

body h2,
body.aeline-theme h2,
body.aeline-theme .aeline-section-head h2,
body.aeline-theme .aeline-split-copy h2,
body.aeline-theme .aeline-faq-content h2,
body.aeline-theme .aeline-contact-panel h2,
body.aeline-theme .aeline-contact-form h2,
body.aeline-theme .aeline-contact-hero h2,
body .contact-cta h2,
body .footer-cta h2 {
    font-size: clamp(1.22rem, 2.45vw, 2.25rem) !important;
    line-height: 1.12;
    overflow-wrap: break-word;
    text-wrap: balance;
}

body h3,
body.aeline-theme h3,
body.aeline-theme .aeline-hover-card h3,
body.aeline-theme .aeline-service-card h3,
body.aeline-theme .aeline-icon-card h3,
body.aeline-theme .aeline-logo-card h3,
body.aeline-theme .aeline-slide h3,
body.aeline-theme .faq-item summary {
    font-size: clamp(1rem, 1.45vw, 1.28rem) !important;
    line-height: 1.18;
}

body h4,
body h5,
body h6,
body.aeline-theme .aeline-content-card h2,
body.aeline-theme .aeline-category-block > h2,
body.aeline-theme .category-block > h2,
body.aeline-theme .footer-links h2,
body.aeline-theme .footer-contact h2,
body.aeline-theme .footer-certifications h2 {
    font-size: clamp(0.95rem, 1.45vw, 1.25rem) !important;
    line-height: 1.2;
}

body.aeline-theme .aeline-metric-card strong,
body.aeline-theme .aeline-rating-card strong {
    font-size: clamp(1.55rem, 2.9vw, 2.45rem) !important;
    line-height: 1.02;
}

body.aeline-theme .aeline-marquee-row span {
    font-size: clamp(1rem, 1.65vw, 1.55rem) !important;
}

@media (max-width: 768px) {
    body h1,
    body.aeline-theme h1,
    body.aeline-theme .aeline-hero-copy h1,
    body.aeline-theme .aeline-page-copy h1,
    [data-page="home"] .is-index-hero .aeline-hero-copy h1,
    body .hero-home h1 {
        font-size: clamp(1.3rem, 5.6vw, 1.72rem) !important;
        line-height: 1.08;
    }

    body h2,
    body.aeline-theme h2,
    body.aeline-theme .aeline-section-head h2,
    body.aeline-theme .aeline-split-copy h2,
    body.aeline-theme .aeline-faq-content h2,
    body.aeline-theme .aeline-contact-panel h2,
    body.aeline-theme .aeline-contact-form h2,
    body.aeline-theme .aeline-contact-hero h2,
    body .contact-cta h2,
    body .footer-cta h2 {
        font-size: clamp(1.12rem, 4.7vw, 1.45rem) !important;
        line-height: 1.14;
    }

    body h3,
    body.aeline-theme h3,
    body.aeline-theme .aeline-hover-card h3,
    body.aeline-theme .aeline-service-card h3,
    body.aeline-theme .aeline-icon-card h3,
    body.aeline-theme .aeline-logo-card h3,
    body.aeline-theme .aeline-slide h3,
    body.aeline-theme .faq-item summary {
        font-size: clamp(0.95rem, 4vw, 1.16rem) !important;
    }

    body.aeline-theme .aeline-metric-card strong,
    body.aeline-theme .aeline-rating-card strong {
        font-size: clamp(1.35rem, 6.2vw, 1.9rem) !important;
    }
}

@media (max-width: 430px) {
    body h1,
    body.aeline-theme h1,
    body.aeline-theme .aeline-hero-copy h1,
    body.aeline-theme .aeline-page-copy h1,
    [data-page="home"] .is-index-hero .aeline-hero-copy h1,
    body .hero-home h1 {
        font-size: clamp(1.22rem, 5.35vw, 1.6rem) !important;
    }

    body h2,
    body.aeline-theme h2,
    body.aeline-theme .aeline-section-head h2,
    body.aeline-theme .aeline-split-copy h2,
    body.aeline-theme .aeline-faq-content h2,
    body.aeline-theme .aeline-contact-panel h2,
    body.aeline-theme .aeline-contact-form h2,
    body.aeline-theme .aeline-contact-hero h2,
    body .contact-cta h2,
    body .footer-cta h2 {
        font-size: clamp(1.05rem, 4.45vw, 1.35rem) !important;
    }
}

/* Readability boost for page content and footer copy. */
.split-copy p:not(.eyebrow),
.section-heading p,
.content-row p,
.feature-card p,
.product-card p,
.cert-card p,
.infra-item p,
.contact-details p,
.page-hero-aside p,
.intro-body p,
body.aeline-theme .aeline-section-head p:not(.eyebrow),
body.aeline-theme .aeline-split-copy p:not(.eyebrow),
body.aeline-theme .aeline-hover-card p,
body.aeline-theme .aeline-service-card p,
body.aeline-theme .aeline-logo-card p,
body.aeline-theme .aeline-content-card p,
body.aeline-theme .aeline-icon-card p,
body.aeline-theme .aeline-contact-panel p,
body.aeline-theme .aeline-contact-form label,
body.aeline-theme .faq-item p {
    font-size: clamp(0.94rem, 1vw, 1.02rem);
    line-height: 1.72;
}

.footer-links a,
.footer-contact a,
.social-links a,
.footer-brand p,
.footer-contact p,
body.aeline-theme .footer-links a,
body.aeline-theme .footer-contact a,
body.aeline-theme .social-links a,
body.aeline-theme .footer-brand p,
body.aeline-theme .footer-contact p {
    font-size: clamp(0.92rem, 0.92vw, 1rem);
    line-height: 1.72;
}

.footer-bottom,
body.aeline-theme .footer-bottom {
    font-size: clamp(0.9rem, 0.88vw, 0.98rem);
    line-height: 1.65;
}

body.aeline-theme .footer-links h2,
body.aeline-theme .footer-contact h2,
body.aeline-theme .footer-certifications h2 {
    font-size: clamp(1.02rem, 1.35vw, 1.18rem) !important;
}

/* Premium layout refresh: stronger heroes, catalogue, process sections, and footer. */
.button-arrow-soft {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.08);
}

.hero-actions {
    flex-wrap: wrap;
    justify-content: center;
}

.hero-proof-strip,
.page-hero-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    width: min(680px, 100%);
    margin-top: 20px;
}

.hero-proof-strip div,
.page-hero-kpis div {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: rgba(8, 12, 20, 0.48);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(14px);
}

.hero-proof-strip strong,
.page-hero-kpis strong {
    display: block;
    color: #ffffff;
    font-size: clamp(1rem, 1.8vw, 1.35rem);
    line-height: 1.05;
}

.hero-proof-strip span,
.page-hero-kpis span {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.25;
}

.aeline-page-hero[data-page-hero] {
    --page-accent: var(--brand-blue);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
    gap: clamp(28px, 5vw, 72px);
    min-height: 84svh;
    padding: calc(var(--header-height) + 46px) clamp(18px, 5vw, 72px) clamp(58px, 8vw, 108px);
    align-items: center;
}

.page-hero-about-us {
    --page-accent: var(--brand-orange);
}

.page-hero-infrastructure {
    --page-accent: #2ea3f2;
}

.page-hero-products {
    --page-accent: #f5821f;
}

.page-hero-sourcing {
    --page-accent: #24c28a;
}

.page-hero-contact-us {
    --page-accent: #2ea3f2;
}

.aeline-page-hero[data-page-hero]::after {
    content: "";
    position: absolute;
    right: clamp(18px, 5vw, 72px);
    bottom: clamp(18px, 5vw, 56px);
    width: min(310px, 32vw);
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--page-accent));
    opacity: 0.86;
}

.aeline-page-hero[data-page-hero] .aeline-page-copy {
    justify-items: start;
    width: min(820px, 100%);
    margin: 0;
    text-align: left;
}

.aeline-page-hero[data-page-hero] .aeline-page-copy h1 {
    max-width: 780px;
}

.aeline-page-hero[data-page-hero] .aeline-page-copy p:not(.eyebrow) {
    max-width: 660px;
}

.aeline-page-hero[data-page-hero] .aeline-page-visual {
    width: min(620px, 100%);
    height: clamp(260px, 32vw, 390px);
    margin: 0;
}

.page-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.page-hero-actions .button-primary,
.page-hero-actions .button-arrow {
    min-height: 48px;
}

.page-hero-kpis {
    width: min(620px, 100%);
    margin-top: 22px;
}

.aeline-timeline-section,
.aeline-process-section,
.aeline-journey-section {
    background:
        radial-gradient(circle at 82% 16%, rgba(245, 130, 31, 0.1), transparent 28%),
        var(--aeline-bg);
}

.company-timeline,
.manufacturing-flow,
.buyer-journey-grid {
    display: grid;
    width: min(1280px, 100%);
    margin: 0 auto;
    gap: 18px;
}

.company-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: relative;
}

.company-timeline::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 34px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(46, 163, 242, 0.55), transparent);
}

.timeline-item,
.flow-step,
.journey-step {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--aeline-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.055);
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.16);
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.timeline-item {
    padding: 28px;
}

.timeline-item:hover,
.flow-step:hover,
.journey-step:hover {
    transform: translateY(-6px);
    border-color: rgba(46, 163, 242, 0.58);
    background: rgba(255, 255, 255, 0.08);
}

.timeline-item span,
.flow-step span,
.journey-step span {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    padding: 6px 12px;
    border-radius: 999px;
    color: #101522;
    background: var(--brand-orange);
    font-size: 0.78rem;
    font-weight: 900;
}

.timeline-item h3,
.flow-step h3,
.journey-step h3 {
    margin: 0 0 10px;
    color: #ffffff;
}

.timeline-item p,
.flow-step p,
.journey-step p {
    margin: 0;
    color: var(--aeline-muted);
}

.manufacturing-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.flow-step img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}

.flow-step > div {
    padding: 22px;
}

.buyer-journey-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.journey-step {
    padding: 26px;
}

.product-catalogue-section {
    padding-top: clamp(72px, 8vw, 118px);
}

.product-catalogue-section .product-filter-options {
    position: sticky;
    z-index: 28;
    top: calc(var(--header-height) + 12px);
    padding: 10px;
    border: 1px solid var(--aeline-line);
    border-radius: 8px;
    background: rgba(5, 8, 14, 0.84);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(16px);
}

.product-row-card {
    min-height: 100%;
}

.product-row-card > div {
    display: grid;
    gap: 10px;
    align-content: start;
}

.product-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.mini-rfq-link {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 9px 13px;
    border: 1px solid rgba(245, 130, 31, 0.42);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(245, 130, 31, 0.18);
    font-size: 0.82rem;
    font-weight: 900;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.mini-rfq-link:hover {
    transform: translateY(-2px);
    border-color: var(--brand-orange);
    background: var(--brand-orange);
}

.footer-cta-updated {
    padding: clamp(40px, 5vw, 68px) clamp(18px, 5vw, 72px);
}

.footer-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.footer-inner {
    grid-template-columns: 1.1fr 0.62fr 0.72fr 0.95fr 0.78fr 1.05fr;
}

.footer-products,
.footer-links,
.footer-contact,
.footer-brand,
.footer-certifications {
    display: grid;
    align-content: start;
    gap: 12px;
}

.footer-products h2,
.footer-links h2,
.footer-contact h2,
.footer-certifications h2 {
    margin: 0 0 8px;
    color: #ffffff;
}

.footer-products a,
.footer-links a,
.footer-contact a {
    color: var(--aeline-muted);
}

.footer-products a:hover,
.footer-links a:hover,
.footer-contact a:hover {
    color: var(--brand-orange);
}

.footer-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    align-items: center;
    justify-content: space-between;
}

html[data-theme="light"] body.aeline-theme .hero-proof-strip div,
html[data-theme="light"] body.aeline-theme .page-hero-kpis div,
html[data-theme="light"] body.aeline-theme .timeline-item,
html[data-theme="light"] body.aeline-theme .flow-step,
html[data-theme="light"] body.aeline-theme .journey-step {
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 18px 48px rgba(17, 38, 55, 0.08);
}

html[data-theme="light"] body.aeline-theme .timeline-item h3,
html[data-theme="light"] body.aeline-theme .flow-step h3,
html[data-theme="light"] body.aeline-theme .journey-step h3 {
    color: var(--aeline-text);
}

html[data-theme="light"] body.aeline-theme .product-catalogue-section .product-filter-options {
    background: rgba(255, 255, 255, 0.88);
}

html[data-theme="light"] body.aeline-theme .mini-rfq-link {
    color: var(--brand-navy);
}

html[data-theme="light"] body.aeline-theme .mini-rfq-link:hover {
    color: #ffffff;
}

html[data-theme="light"] body.aeline-theme .footer-products h2 {
    color: var(--aeline-text);
}

html[data-theme="light"] body.aeline-theme .footer-products a {
    color: var(--aeline-muted);
}

body.aeline-theme .footer-products h2 {
    font-size: clamp(1.02rem, 1.35vw, 1.18rem) !important;
}

/* Hero CTA and proof card theme alignment. */
body.aeline-theme .hero-actions .button-primary,
body.aeline-theme .page-hero-actions .button-primary {
    color: #ffffff;
    border-color: rgba(245, 130, 31, 0.96);
    background:
        linear-gradient(135deg, rgba(255, 165, 64, 0.98) 0%, rgba(245, 130, 31, 0.98) 48%, rgba(0, 51, 136, 0.96) 130%);
    box-shadow: 0 18px 42px rgba(245, 130, 31, 0.28), 0 8px 24px rgba(0, 51, 136, 0.2);
}

body.aeline-theme .hero-actions .button-primary:hover,
body.aeline-theme .page-hero-actions .button-primary:hover {
    color: #ffffff;
    border-color: #ff9a35;
    background:
        linear-gradient(135deg, #ff9a35 0%, #f5821f 46%, #003388 126%);
    box-shadow: 0 22px 48px rgba(245, 130, 31, 0.34), 0 10px 28px rgba(0, 51, 136, 0.24);
}

body.aeline-theme .hero-actions .button-arrow,
body.aeline-theme .page-hero-actions .button-arrow {
    color: #ffffff;
    border-color: rgba(245, 130, 31, 0.46);
    background:
        linear-gradient(135deg, rgba(0, 51, 136, 0.52), rgba(9, 15, 28, 0.34));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.13), 0 16px 34px rgba(0, 0, 0, 0.18);
}

body.aeline-theme .hero-actions .button-arrow::before,
body.aeline-theme .page-hero-actions .button-arrow::before {
    background:
        linear-gradient(135deg, rgba(245, 130, 31, 0.98), rgba(0, 51, 136, 0.98));
}

body.aeline-theme .hero-actions .button-arrow i,
body.aeline-theme .page-hero-actions .button-arrow i {
    color: #ffffff;
    background: var(--brand-navy);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), 0 8px 20px rgba(0, 51, 136, 0.22);
}

body.aeline-theme .hero-actions .button-arrow:hover,
body.aeline-theme .page-hero-actions .button-arrow:hover {
    color: #ffffff;
    border-color: rgba(255, 154, 53, 0.88);
}

body.aeline-theme .hero-actions .button-arrow:hover i,
body.aeline-theme .page-hero-actions .button-arrow:hover i {
    color: var(--brand-navy);
    background: #ffffff;
}

body.aeline-theme .hero-actions .button-arrow span,
body.aeline-theme .page-hero-actions .button-arrow span,
body.aeline-theme .hero-actions .button-arrow:hover span,
body.aeline-theme .page-hero-actions .button-arrow:hover span,
html[data-theme="light"] body.aeline-theme .hero-actions .button-arrow span,
html[data-theme="light"] body.aeline-theme .page-hero-actions .button-arrow span,
html[data-theme="light"] body.aeline-theme .hero-actions .button-arrow:hover span,
html[data-theme="light"] body.aeline-theme .page-hero-actions .button-arrow:hover span {
    color: #ffffff !important;
}

body.aeline-theme .hero-proof-strip div,
body.aeline-theme .page-hero-kpis div,
html[data-theme="light"] body.aeline-theme .hero-proof-strip div,
html[data-theme="light"] body.aeline-theme .page-hero-kpis div {
    position: relative;
    overflow: hidden;
    border-color: rgba(255, 154, 53, 0.3);
    background:
        linear-gradient(145deg, rgba(0, 51, 136, 0.82) 0%, rgba(9, 17, 31, 0.78) 62%, rgba(245, 130, 31, 0.72) 150%);
    box-shadow: 0 18px 44px rgba(0, 20, 45, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

body.aeline-theme .hero-proof-strip div::before,
body.aeline-theme .page-hero-kpis div::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--brand-orange), var(--brand-blue));
}

body.aeline-theme .hero-proof-strip div:nth-child(2)::before,
body.aeline-theme .page-hero-kpis div:nth-child(2)::before {
    background: linear-gradient(180deg, var(--brand-blue), var(--brand-orange));
}

body.aeline-theme .hero-proof-strip strong,
body.aeline-theme .page-hero-kpis strong {
    color: #ffad4f;
    text-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}

body.aeline-theme .hero-proof-strip span,
body.aeline-theme .page-hero-kpis span {
    color: rgba(255, 255, 255, 0.86);
}

@media (max-width: 1180px) {
    .aeline-page-hero[data-page-hero] {
        grid-template-columns: 1fr;
    }

    .aeline-page-hero[data-page-hero] .aeline-page-visual {
        width: min(760px, 100%);
        margin-inline: auto;
    }

    .buyer-journey-grid,
    .manufacturing-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-inner {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .hero-proof-strip,
    .page-hero-kpis,
    .company-timeline,
    .buyer-journey-grid,
    .manufacturing-flow {
        grid-template-columns: 1fr;
    }

    .company-timeline::before,
    .aeline-page-hero[data-page-hero]::after {
        display: none;
    }

    .aeline-page-hero[data-page-hero] {
        padding-inline: 16px;
    }

    .page-hero-actions,
    .hero-actions {
        width: 100%;
    }

    .page-hero-actions .button-primary,
    .page-hero-actions .button-arrow,
    .hero-actions .button-primary,
    .hero-actions .button-arrow {
        width: 100%;
        justify-content: center;
    }

    .product-catalogue-section .product-filter-options {
        top: calc(var(--header-height) + 8px);
        margin-inline: -2px;
    }

    .footer-cta-updated,
    .footer-cta-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .footer-cta-actions .button-primary,
    .footer-cta-actions .button-arrow {
        width: 100%;
        justify-content: center;
    }

    .footer-inner {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        justify-content: center;
        text-align: center;
    }
}

/* Floating call and WhatsApp actions. */
.floating-contact-actions {
    position: fixed;
    inset: auto 0 0;
    z-index: 62;
    pointer-events: none;
}

.floating-contact {
    position: fixed;
    bottom: max(18px, env(safe-area-inset-bottom));
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    color: #ffffff;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
    pointer-events: auto;
    transition: transform 190ms ease, box-shadow 190ms ease, filter 190ms ease;
}

.floating-contact--call {
    left: max(18px, env(safe-area-inset-left));
    background: linear-gradient(135deg, var(--brand-blue), var(--brand-navy));
}

.floating-contact--whatsapp {
    right: max(18px, env(safe-area-inset-right));
    background: linear-gradient(135deg, #25d366, #128c4a);
}

.floating-contact svg {
    width: 25px;
    height: 25px;
    fill: currentColor;
}

.floating-contact span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.floating-contact:hover,
.floating-contact:focus-visible {
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.3);
    filter: saturate(1.08);
    transform: translateY(-4px) scale(1.03);
}

.floating-contact:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.76);
    outline-offset: 4px;
}

@media (max-width: 640px) {
    .floating-contact {
        bottom: max(14px, env(safe-area-inset-bottom));
        width: 52px;
        height: 52px;
    }

    .floating-contact--call {
        left: max(12px, env(safe-area-inset-left));
    }

    .floating-contact--whatsapp {
        right: max(12px, env(safe-area-inset-right));
    }

    .floating-contact svg {
        width: 23px;
        height: 23px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .floating-contact {
        transition: none;
    }
}

/* Contact page RFQ enhancements. */
.smart-rfq-form {
    gap: 18px;
}

.rfq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.aeline-contact-form select,
.aeline-contact-form input[type="file"] {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    padding: 14px 16px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    outline: none;
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.aeline-contact-form select:focus,
.aeline-contact-form input[type="file"]:focus {
    border-color: var(--brand-orange);
    box-shadow: 0 0 0 4px rgba(245, 130, 31, 0.16);
}

.aeline-contact-form input[type="file"]::file-selector-button {
    margin-right: 12px;
    border: 0;
    border-radius: 999px;
    padding: 8px 12px;
    color: #ffffff;
    background: var(--brand-orange);
    font-weight: 900;
}

.rfq-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

html[data-theme="light"] body.aeline-theme .aeline-contact-form select,
html[data-theme="light"] body.aeline-theme .aeline-contact-form input[type="file"] {
    color: var(--ink);
    border-color: rgba(23, 34, 43, 0.14);
    background: rgba(255, 255, 255, 0.92);
}

@media (max-width: 640px) {
    .rfq-grid {
        grid-template-columns: 1fr;
    }

    .rfq-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .rfq-actions .button-primary,
    .rfq-actions .button-arrow {
        width: 100%;
        justify-content: center;
    }
}
