:root {
    --ce-navy: #081b33;
    --ce-navy-2: #0d2949;
    --ce-sky: #38bdf8;
    --ce-sky-soft: #e6f7ff;
    --ce-orange: #f97316;
    --ce-orange-dark: #d95b06;
    --ce-ink: #142033;
    --ce-muted: #617087;
    --ce-line: #dce5ef;
    --ce-bg: #f4f8fc;
    --ce-white: #fff;
    --ce-radius: 18px;
    --ce-shadow: 0 20px 60px rgba(8, 27, 51, .12);
    --ce-container: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ce-ink);
    background: var(--ce-white);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: var(--ce-body-size, 16px);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4 { margin: 0 0 .7em; color: var(--ce-navy); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
h1 { font-size: clamp(2.65rem, 5vw, var(--ce-heading-size, 5.25rem)); }
h2 { font-size: clamp(2rem, 3.5vw, 3.55rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
p { margin: 0 0 1.25rem; }
ul { padding-left: 1.2rem; }
:focus-visible { outline: 3px solid var(--ce-sky); outline-offset: 3px; }

.container { width: var(--ce-container); margin-inline: auto; }
.section { padding: 96px 0; position: relative; }
.section--soft { background: var(--ce-bg); }
.section--navy { color: #dceaf7; background: var(--ce-navy); overflow: hidden; }
.section--navy h2, .section--navy h3 { color: #fff; }
.section--navy::before { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(56,189,248,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(56,189,248,.35) 1px, transparent 1px); background-size: 48px 48px; }
.section > .container { position: relative; z-index: 1; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--ce-orange); font-size: .77rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 34px; height: 3px; border-radius: 9px; background: linear-gradient(90deg, var(--ce-orange), var(--ce-sky)); }
.lead { max-width: 760px; color: var(--ce-muted); font-size: clamp(1.05rem, 1.8vw, 1.25rem); }
.section--navy .lead { color: #bdd0e2; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 46px; }
.section-heading > div { max-width: 760px; }
.section-heading h2 { margin-bottom: 14px; }

.skip-link { position: fixed; left: 16px; top: -60px; z-index: 999; padding: 10px 16px; color: #fff; background: var(--ce-navy); border-radius: 8px; }
.skip-link:focus { top: 16px; }
.topbar { color: #dceaf7; background: var(--ce-navy); font-size: .82rem; }
.topbar__inner { min-height: 38px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.topbar__items { display: flex; align-items: center; gap: 22px; }
.topbar a:hover { color: var(--ce-sky); }
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(8,27,51,.08); backdrop-filter: blur(15px); transition: box-shadow .25s ease; }
.site-header.is-scrolled { box-shadow: 0 10px 36px rgba(8,27,51,.1); }
.nav { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 255px; }
.brand img { width: var(--ce-logo-size, 46px); height: var(--ce-logo-size, 46px); object-fit: contain; }
.brand__name { display: block; color: var(--ce-navy); font-size: 1.08rem; font-weight: 900; letter-spacing: -.02em; text-transform: uppercase; line-height: 1.1; }
.brand__tagline { display: block; color: var(--ce-muted); font-size: .7rem; font-weight: 650; letter-spacing: .07em; }
.nav__links { display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
.nav__links a:not(.btn) { position: relative; padding: 28px 0; color: #32425a; font-size: .91rem; font-weight: 700; }
.nav__links a:not(.btn)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 20px; height: 2px; background: linear-gradient(90deg, var(--ce-orange), var(--ce-sky)); transition: right .22s ease; }
.nav__links a:hover::after, .nav__links a.is-active::after { right: 0; }
.nav-toggle { display: none; width: 46px; height: 46px; align-items: center; justify-content: center; padding: 0; color: var(--ce-navy); background: #fff; border: 1px solid var(--ce-line); border-radius: 12px; }
.nav-toggle svg { width: 24px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 21px; color: #fff; background: var(--ce-orange); border: 1px solid var(--ce-orange); border-radius: 12px; font-size: .91rem; font-weight: 800; line-height: 1.1; transition: transform .2s ease, background .2s ease, border .2s ease, box-shadow .2s ease; }
.btn:hover { transform: translateY(-2px); background: var(--ce-orange-dark); border-color: var(--ce-orange-dark); box-shadow: 0 12px 28px rgba(249,115,22,.23); }
.btn--sky { color: var(--ce-navy); background: var(--ce-sky); border-color: var(--ce-sky); }
.btn--sky:hover { background: #7dd3fc; border-color: #7dd3fc; box-shadow: 0 12px 28px rgba(56,189,248,.22); }
.btn--outline { color: var(--ce-navy); background: transparent; border-color: #b8c7d8; }
.btn--outline:hover { color: #fff; background: var(--ce-navy); border-color: var(--ce-navy); box-shadow: none; }
.btn--light { color: var(--ce-navy); background: #fff; border-color: #fff; }
.btn--light:hover { color: var(--ce-navy); background: var(--ce-sky-soft); border-color: var(--ce-sky-soft); }
.btn svg, .text-link svg { width: 18px; height: 18px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ce-navy); font-weight: 800; }
.text-link:hover { color: var(--ce-orange); }

.hero { min-height: var(--ce-hero-height, 690px); display: grid; align-items: center; position: relative; overflow: hidden; color: #fff; background: var(--ce-navy); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .17; background-image: linear-gradient(rgba(56,189,248,.28) 1px, transparent 1px), linear-gradient(90deg, rgba(56,189,248,.28) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg, #000, transparent 80%); }
.hero::after { content: ""; position: absolute; width: 620px; height: 620px; right: -250px; top: -210px; border: 110px solid rgba(56,189,248,.08); border-radius: 50%; }
.hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 60px; padding: 72px 0; position: relative; z-index: 2; }
.hero h1 { max-width: 760px; color: #fff; }
.hero h1 em { color: var(--ce-sky); font-style: normal; }
.hero__copy > p { max-width: 680px; color: #c4d5e7; font-size: clamp(1.05rem, 1.6vw, 1.24rem); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.hero__note { display: flex; align-items: center; gap: 12px; margin-top: 28px; color: #9fb5ca; font-size: .86rem; }
.hero__note span { width: 9px; height: 9px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 6px rgba(74,222,128,.1); }
.hero-visual { position: relative; min-height: 510px; }
.hero-visual__main { position: absolute; inset: 0 0 54px 40px; overflow: hidden; border: 1px solid rgba(56,189,248,.55); border-radius: 30px 6px 30px 6px; box-shadow: 0 35px 80px rgba(0,0,0,.35); }
.hero-visual__main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(8,27,51,.7)); }
.hero-visual__main img { width: 100%; height: 100%; object-fit: cover; }
.hero-visual__small { position: absolute; width: 45%; height: 180px; left: 0; bottom: 0; overflow: hidden; border: 5px solid var(--ce-navy); border-radius: 4px 22px 4px 22px; }
.hero-visual__small img { width: 100%; height: 100%; object-fit: cover; }
.hero-visual__badge { position: absolute; right: -16px; bottom: 25px; width: 190px; padding: 18px; color: var(--ce-navy); background: #fff; border-left: 5px solid var(--ce-orange); border-radius: 12px; box-shadow: var(--ce-shadow); }
.hero-visual__badge strong { display: block; font-size: .97rem; }
.hero-visual__badge small { color: var(--ce-muted); }

.trust-strip { position: relative; z-index: 4; margin-top: -1px; color: #fff; background: var(--ce-navy-2); border-top: 1px solid rgba(56,189,248,.25); }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-item { display: flex; gap: 16px; padding: 28px; border-right: 1px solid rgba(255,255,255,.1); }
.trust-item:first-child { border-left: 1px solid rgba(255,255,255,.1); }
.trust-item__number { color: var(--ce-orange); font-size: 1.15rem; font-weight: 900; }
.trust-item strong { display: block; margin-bottom: 2px; }
.trust-item span { color: #aabdd0; font-size: .85rem; }

.grid { display: grid; gap: 24px; }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--ce-line); border-radius: var(--ce-radius); transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.card:hover { transform: translateY(-5px); border-color: #b9dcf1; box-shadow: var(--ce-shadow); }
.card__image { position: relative; height: 220px; overflow: hidden; background: #dae6f0; }
.card__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(8,27,51,.42)); }
.card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.card:hover .card__image img { transform: scale(1.045); }
.card__body { padding: 25px; }
.card__meta { margin-bottom: 10px; color: var(--ce-orange); font-size: .74rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.card__body h3 { margin-bottom: 10px; }
.card__body p { color: var(--ce-muted); font-size: .94rem; }
.card__footer { padding-top: 12px; border-top: 1px solid var(--ce-line); }
.service-card { min-height: 300px; display: flex; flex-direction: column; padding: 30px; }
.service-card::before { content: ""; position: absolute; left: 0; top: 0; width: 5px; height: 86px; background: linear-gradient(var(--ce-orange), var(--ce-sky)); border-radius: 0 0 5px 0; }
.service-card__icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 22px; color: var(--ce-sky); background: var(--ce-navy); border-radius: 14px; }
.service-card__icon svg { width: 27px; height: 27px; }
.service-card .text-link { margin-top: auto; }
.sector-card { min-height: 420px; display: flex; align-items: end; position: relative; overflow: hidden; color: #fff; background: var(--ce-navy); border-radius: var(--ce-radius); }
.sector-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .68; transition: transform .5s ease; }
.sector-card:hover img { transform: scale(1.05); }
.sector-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,27,51,.05), rgba(8,27,51,.94)); }
.sector-card__body { position: relative; z-index: 2; padding: 27px; }
.sector-card h3 { color: #fff; }
.sector-card p { color: #d2dfeb; font-size: .92rem; }
.sector-card .text-link { color: var(--ce-sky); }
.product-card .card__image { height: 210px; }
.product-card .availability { display: inline-flex; margin-bottom: 12px; padding: 5px 10px; color: #8b3b03; background: #fff1e7; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.availability { display: inline-flex; margin-bottom: 18px; padding: 7px 12px; color: #8b3b03; background: #fff1e7; border-radius: 999px; font-size: .78rem; font-weight: 850; }
.category-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 38px; }
.category-filter a { padding: 9px 14px; color: var(--ce-navy); background: var(--ce-bg); border: 1px solid var(--ce-line); border-radius: 999px; font-size: .84rem; font-weight: 750; }
.category-filter a:hover, .category-filter a.is-active { color: #fff; background: var(--ce-navy); border-color: var(--ce-navy); }
.spec-list { margin: 28px 0; overflow: hidden; border: 1px solid var(--ce-line); border-radius: 12px; }
.spec-list > div { display: grid; grid-template-columns: minmax(140px, .55fr) 1fr; gap: 20px; padding: 12px 15px; border-bottom: 1px solid var(--ce-line); }
.spec-list > div:last-child { border-bottom: 0; }
.spec-list > div:nth-child(odd) { background: var(--ce-bg); }
.spec-list span { color: var(--ce-muted); }
.project-facts { display: flex; flex-wrap: wrap; gap: 28px; margin-bottom: 36px; padding: 22px; background: var(--ce-bg); border-radius: 12px; }
.project-facts span { display: grid; gap: 2px; color: var(--ce-muted); }
.project-facts strong { color: var(--ce-navy); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }

.split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.split__media { position: relative; }
.split__media img { width: 100%; min-height: 520px; object-fit: cover; border-radius: 28px 6px 28px 6px; box-shadow: var(--ce-shadow); }
.split__media::before { content: ""; position: absolute; width: 45%; height: 45%; left: -18px; bottom: -18px; border-left: 4px solid var(--ce-orange); border-bottom: 4px solid var(--ce-sky); border-radius: 0 0 0 24px; }
.check-list { display: grid; gap: 14px; margin: 25px 0 30px; padding: 0; list-style: none; }
.check-list li { display: flex; align-items: flex-start; gap: 12px; }
.check-list li::before { content: "✓"; flex: 0 0 25px; height: 25px; display: grid; place-items: center; color: #fff; background: var(--ce-orange); border-radius: 50%; font-size: .75rem; font-weight: 900; }
.steps { counter-reset: step; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.12); border-radius: var(--ce-radius); }
.step { min-height: 260px; padding: 34px; background: var(--ce-navy); }
.step__number { display: block; margin-bottom: 38px; color: var(--ce-sky); font-size: 2.2rem; font-weight: 900; opacity: .8; }
.step p { color: #aec1d3; font-size: .92rem; }
.cta-band { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; padding: 48px; color: #fff; background: linear-gradient(120deg, var(--ce-orange), #ef5b0b); border-radius: 26px 6px 26px 6px; box-shadow: 0 24px 60px rgba(249,115,22,.25); }
.cta-band h2 { color: #fff; margin-bottom: 10px; }
.cta-band p { max-width: 720px; margin: 0; color: #fff4eb; }

.page-hero { position: relative; padding: 88px 0 82px; overflow: hidden; color: #fff; background: var(--ce-navy); }
.page-hero::after { content: ""; position: absolute; width: 440px; height: 440px; right: -100px; top: -230px; border: 70px solid rgba(56,189,248,.1); border-radius: 50%; }
.page-hero h1 { max-width: 850px; color: #fff; font-size: clamp(2.5rem, 5vw, 4.65rem); }
.page-hero p { max-width: 730px; color: #bfd0df; font-size: 1.12rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; color: #9fb4c7; font-size: .82rem; }
.breadcrumbs a:hover { color: var(--ce-sky); }
.prose { color: #34445a; font-size: 1.04rem; }
.prose h2, .prose h3 { margin-top: 1.7em; }
.prose p, .prose li { max-width: 820px; }
.prose a { color: #0877a9; text-decoration: underline; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 60px; align-items: start; }
.article-cover { width: 100%; max-height: 560px; object-fit: cover; margin-bottom: 38px; border-radius: var(--ce-radius); }
.sidebar { position: sticky; top: 112px; }
.sidebar-box { padding: 26px; background: var(--ce-bg); border: 1px solid var(--ce-line); border-radius: var(--ce-radius); }
.sidebar-box + .sidebar-box { margin-top: 20px; }

.form-wrap { display: grid; grid-template-columns: .72fr 1.28fr; gap: 50px; align-items: start; }
.form-panel { padding: 34px; background: #fff; border: 1px solid var(--ce-line); border-top: 5px solid var(--ce-orange); border-radius: var(--ce-radius); box-shadow: var(--ce-shadow); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: grid; gap: 7px; }
.field--full { grid-column: 1 / -1; }
.field label { color: var(--ce-navy); font-size: .88rem; font-weight: 800; }
.field input, .field select, .field textarea { width: 100%; min-height: 50px; padding: 12px 14px; color: var(--ce-ink); background: #fff; border: 1px solid #c9d5e2; border-radius: 10px; transition: border .2s ease, box-shadow .2s ease; }
.field textarea { min-height: 145px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--ce-sky); box-shadow: 0 0 0 4px rgba(56,189,248,.15); }
.field__error { color: #b42318; font-size: .8rem; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.alert { margin: 20px auto; padding: 15px 18px; border-radius: 10px; font-weight: 700; }
.alert--success { color: #11613a; background: #e7f8ef; border: 1px solid #9de2bc; }
.alert--error { color: #8c241d; background: #fff0ee; border: 1px solid #f3b2ac; }
.contact-list { display: grid; gap: 14px; margin: 28px 0; padding: 0; list-style: none; }
.contact-list li { display: flex; gap: 13px; align-items: flex-start; }
.contact-list svg { flex: 0 0 22px; width: 22px; color: var(--ce-orange); }
.tracking-result { margin-top: 30px; padding: 28px; background: var(--ce-bg); border-left: 5px solid var(--ce-sky); border-radius: 12px; }
.status-pill { display: inline-flex; padding: 6px 12px; color: #fff; background: var(--ce-navy); border-radius: 999px; font-size: .8rem; font-weight: 850; }

.empty-state { padding: 52px; text-align: center; background: var(--ce-bg); border: 1px dashed #aebdcb; border-radius: var(--ce-radius); }
.empty-state h3 { margin-bottom: 10px; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 42px; }
.pagination a, .pagination span { min-width: 42px; min-height: 42px; display: inline-grid; place-items: center; padding: 8px 12px; color: var(--ce-navy); background: #fff; border: 1px solid var(--ce-line); border-radius: 9px; font-size: .85rem; font-weight: 750; }
.pagination a:hover, .pagination .is-current { color: #fff; background: var(--ce-navy); border-color: var(--ce-navy); }
.pagination span[aria-disabled] { color: #98a4b3; background: var(--ce-bg); }
nav[role="navigation"] svg { width: 20px; }

.site-footer { color: #afc1d2; background: #061426; }
.footer-main { display: grid; grid-template-columns: 1.25fr .8fr .8fr 1.15fr; gap: 50px; padding: 76px 0 54px; }
.site-footer .brand__name { color: #fff; }
.site-footer .brand__tagline { color: #8fa5b9; }
.footer-about { max-width: 380px; margin-top: 22px; }
.footer-title { margin-bottom: 20px; color: #fff; font-size: .9rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.footer-links { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.footer-links a:hover { color: var(--ce-sky); }
.newsletter { display: flex; gap: 8px; }
.newsletter input { min-width: 0; flex: 1; padding: 11px 12px; color: #fff; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.18); border-radius: 10px; }
.newsletter button { padding-inline: 15px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .8rem; }
.footer-bottom__links { display: flex; gap: 20px; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1040px) {
    .nav-toggle { display: inline-flex; }
    .nav__links { position: fixed; inset: 121px 20px auto; display: none; padding: 20px; background: #fff; border: 1px solid var(--ce-line); border-radius: 16px; box-shadow: var(--ce-shadow); }
    .nav__links.is-open { display: grid; }
    .nav__links a:not(.btn) { padding: 10px 4px; }
    .nav__links a:not(.btn)::after { bottom: 4px; }
    .hero__grid { grid-template-columns: 1fr; }
    .hero__copy { max-width: 820px; }
    .hero-visual { min-height: 480px; }
    .grid--4 { grid-template-columns: repeat(2, 1fr); }
    .steps { grid-template-columns: repeat(2, 1fr); }
    .footer-main { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
    :root { --ce-container: min(100% - 28px, 1180px); }
    .section { padding: 70px 0; }
    .topbar__items span { display: none; }
    .topbar__inner { justify-content: center; }
    .nav { min-height: 74px; }
    .nav__links { top: 112px; }
    .brand { min-width: 0; }
    .brand__tagline { display: none; }
    .hero { min-height: auto; }
    .hero__grid { gap: 38px; padding: 62px 0 72px; }
    .hero-visual { min-height: 390px; }
    .hero-visual__main { inset: 0 0 40px 20px; }
    .hero-visual__small { height: 145px; }
    .hero-visual__badge { width: 165px; right: -4px; padding: 14px; }
    .trust-grid { grid-template-columns: 1fr; }
    .trust-item, .trust-item:first-child { border-left: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
    .section-heading { display: block; }
    .section-heading .btn, .section-heading .text-link { margin-top: 16px; }
    .grid--2, .grid--3, .grid--4, .split, .form-wrap, .article-layout { grid-template-columns: 1fr; }
    .sector-card { min-height: 360px; }
    .split { gap: 42px; }
    .split__media img { min-height: 380px; }
    .steps { grid-template-columns: 1fr; }
    .step { min-height: auto; }
    .step__number { margin-bottom: 20px; }
    .cta-band { grid-template-columns: 1fr; padding: 34px 25px; }
    .form-grid { grid-template-columns: 1fr; }
    .field--full { grid-column: auto; }
    .form-panel { padding: 24px 18px; }
    .sidebar { position: static; }
    .footer-main { grid-template-columns: 1fr; gap: 34px; }
    .footer-bottom { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
}


/* === MIGRATION 1: header responsive + global search + newsletter verification === */
html, body { width: 100%; max-width: none; overflow-x: clip; }
.header-shell { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
.ce-topbar__inner { min-height: 38px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ce-topbar__links { display:flex; gap:22px; align-items:center; }
.ce-header { position:sticky; top:0; z-index:500; width:100%; background:rgba(255,255,255,.98); border-bottom:1px solid rgba(8,27,51,.08); backdrop-filter:blur(14px); }
.ce-header.is-scrolled { box-shadow:0 8px 30px rgba(8,27,51,.1); }
.ce-nav { min-height:88px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:26px; }
.ce-brand { display:flex; align-items:center; min-width:0; gap:12px; }
.ce-brand img { width:56px; height:56px; object-fit:contain; flex:0 0 auto; }
.ce-brand__text { min-width:0; display:grid; line-height:1.1; }
.ce-brand__text strong { color:var(--ce-navy); font-size:1rem; font-weight:900; text-transform:uppercase; white-space:nowrap; }
.ce-brand__text small { color:var(--ce-muted); margin-top:4px; font-size:.66rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:230px; }
.ce-desktop-nav { display:flex; align-items:center; justify-content:center; gap:20px; min-width:0; }
.ce-desktop-nav a { color:#314156; font-size:.86rem; font-weight:750; padding:32px 0; border-bottom:2px solid transparent; }
.ce-desktop-nav a:hover,.ce-desktop-nav a.is-active { color:var(--ce-navy); border-color:var(--ce-orange); }
.ce-header-actions { display:flex; align-items:center; gap:7px; }
.ce-icon-button { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0; color:var(--ce-navy); background:#fff; border:1px solid #e1e8f0; border-radius:12px; }
.ce-icon-button:hover { background:#f4f8fc; border-color:#c8d5e3; }
.ce-icon-button svg { width:23px; height:23px; }
.ce-menu-button { display:none; }
.ce-search-panel { display:none; position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid #edf1f5; border-bottom:1px solid #dce5ef; box-shadow:0 18px 40px rgba(8,27,51,.12); }
.ce-search-panel.is-open { display:block; }
.ce-search-form { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:12px; padding-block:16px; }
.ce-search-form svg { width:22px; color:#617087; }
.ce-search-form input { width:100%; min-width:0; height:48px; padding:0 8px; border:0; outline:0; color:#142033; font-size:1rem; background:transparent; }
.ce-mobile-nav { display:none; }
.search-page h1 { margin-bottom:14px; }
.global-search-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin-bottom:34px; }
.global-search-form input { min-width:0; height:52px; padding:0 16px; border:1px solid var(--ce-line); border-radius:12px; }
.search-results { display:grid; gap:14px; }
.search-result { padding:22px; background:#fff; border:1px solid var(--ce-line); border-radius:14px; }
.search-result h2 { font-size:1.25rem; margin:5px 0 8px; }
.search-result__type { color:var(--ce-orange); font-size:.73rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.search-result__meta { color:var(--ce-muted); font-size:.82rem; margin-bottom:8px; }
.search-empty,.search-summary { padding:18px 0; color:var(--ce-muted); }
.newsletter-verify-card { max-width:620px; }
.verification-form { display:grid; gap:13px; }
.verification-form input { height:58px; padding:0 18px; border:1px solid var(--ce-line); border-radius:12px; font-size:1.4rem; letter-spacing:.3em; text-align:center; }
.verification-resend { margin-top:18px; }
.field-error,.newsletter-error { margin-top:8px; color:#fecaca; font-size:.82rem; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }

@media (max-width: 1080px) {
  .header-shell { width:min(100% - 32px, 1200px); }
  .ce-desktop-nav { display:none; }
  .ce-menu-button { display:inline-flex; }
  .ce-nav { grid-template-columns:minmax(0,1fr) auto; min-height:80px; gap:14px; }
  .ce-mobile-nav { position:absolute; left:16px; right:16px; top:calc(100% + 8px); padding:16px; background:#fff; border:1px solid var(--ce-line); border-radius:16px; box-shadow:var(--ce-shadow); }
  .ce-mobile-nav.is-open { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 12px; }
  .ce-mobile-nav a:not(.btn) { padding:11px 9px; border-radius:9px; color:#26384f; font-weight:700; }
  .ce-mobile-nav .btn { grid-column:1/-1; margin-top:6px; }
}
@media (max-width: 640px) {
  .ce-topbar { display:none; }
  .header-shell { width:min(100% - 24px, 1200px); }
  .ce-nav { min-height:78px; }
  .ce-brand img { width:48px; height:48px; }
  .ce-brand__text strong { font-size:.9rem; }
  .ce-brand__text small { display:none; }
  .ce-header-actions { gap:4px; }
  .ce-icon-button { width:42px; height:42px; border-color:transparent; }
  .ce-account { display:none; }
  .ce-mobile-nav { left:12px; right:12px; grid-template-columns:1fr!important; max-height:calc(100vh - 110px); overflow:auto; }
  .ce-search-form { grid-template-columns:20px minmax(0,1fr); padding-block:12px; }
  .ce-search-form .btn { grid-column:1/-1; width:100%; }
  .global-search-form { grid-template-columns:1fr; }
  .newsletter { display:grid!important; grid-template-columns:1fr!important; }
  .newsletter .btn { width:100%; }
}
@media (max-width: 390px) {
  .ce-brand__text strong { font-size:.78rem; }
  .ce-brand img { width:44px; height:44px; }
  .ce-icon-button { width:39px; height:39px; }
}


/* === MIGRATION 1A — HEADER REFERENCE / PUBLIC_HTML FIX === */
.ce-header.ce-header--reference{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    width:100%!important;
    background:#fff!important;
    border-bottom:1px solid #e8edf3!important;
    box-shadow:none;
}
.ce-header.ce-header--reference.is-scrolled{box-shadow:0 7px 24px rgba(8,27,51,.09)!important;}
.ce-header--reference .header-shell{width:min(1280px,calc(100% - 48px))!important;margin-inline:auto!important;}
.ce-header--reference .ce-nav{
    min-height:104px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:24px!important;
}
.ce-header--reference .ce-brand--logo-only{
    display:flex!important;
    align-items:center!important;
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:330px!important;
}
.ce-header--reference .ce-brand--logo-only img{
    display:block!important;
    width:min(var(--ce-logo-width, 220px), 300px)!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
}
.ce-header--reference .ce-header-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:9px!important;
    flex:0 0 auto!important;
}
.ce-header--reference .ce-icon-button{
    position:relative!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:0!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#0a213a!important;
}
.ce-header--reference .ce-icon-button:hover,
.ce-header--reference .ce-icon-button:focus-visible{background:#f4f7fb!important;outline:none!important;}
.ce-header--reference .ce-icon-button svg{display:block!important;width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important;}
.ce-header--reference .ce-cart-count{
    position:absolute!important;
    top:1px!important;
    right:0!important;
    min-width:21px!important;
    height:21px!important;
    padding:0 5px!important;
    border-radius:999px!important;
    background:#2b91cf!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
}
.ce-header--reference .ce-language-button{
    height:46px!important;
    padding:0 8px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    border:0!important;
    background:#fff!important;
    color:#0a213a!important;
    font-weight:850!important;
    font-size:14px!important;
    border-radius:10px!important;
}
.ce-header--reference .ce-language-button svg{width:27px!important;height:27px!important;}
.ce-header--reference .ce-menu-button{display:inline-flex!important;}
.ce-header--reference .ce-search-panel{
    display:none;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    z-index:1001!important;
    background:#fff!important;
    border-top:1px solid #eef2f6!important;
    border-bottom:1px solid #dfe6ee!important;
    box-shadow:0 18px 36px rgba(8,27,51,.12)!important;
}
.ce-header--reference .ce-search-panel.is-open{display:block!important;}
.ce-header--reference .ce-search-form{
    min-height:78px!important;
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    padding-block:12px!important;
}
.ce-header--reference .ce-search-form svg{width:25px!important;height:25px!important;}
.ce-header--reference .ce-search-form input{
    width:100%!important;min-width:0!important;height:50px!important;
    border:0!important;outline:0!important;background:transparent!important;
    font-size:16px!important;color:#10233c!important;padding:0 6px!important;
}
.ce-header--reference .ce-mobile-nav{
    display:none;
    position:absolute!important;
    right:24px!important;
    top:calc(100% + 8px)!important;
    width:min(360px,calc(100% - 32px))!important;
    padding:14px!important;
    background:#fff!important;
    border:1px solid #e1e8ef!important;
    border-radius:16px!important;
    box-shadow:0 20px 48px rgba(8,27,51,.16)!important;
}
.ce-header--reference .ce-mobile-nav.is-open{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 10px!important;}
.ce-header--reference .ce-mobile-nav a:not(.btn){padding:11px!important;border-radius:8px!important;color:#24354c!important;font-weight:700!important;}
.ce-header--reference .ce-mobile-nav .btn{grid-column:1/-1!important;margin-top:5px!important;}

@media (max-width: 820px){
  .ce-header--reference .header-shell{width:calc(100% - 32px)!important;}
  .ce-header--reference .ce-nav{min-height:92px!important;gap:12px!important;}
  .ce-header--reference .ce-brand--logo-only{max-width:210px!important;}
  .ce-header--reference .ce-brand--logo-only img{width:min(var(--ce-logo-width, 220px), 190px)!important;max-width:100%!important;}
  .ce-header--reference .ce-header-actions{gap:4px!important;}
  .ce-header--reference .ce-icon-button{width:42px!important;height:42px!important;min-width:42px!important;}
  .ce-header--reference .ce-icon-button svg{width:25px!important;height:25px!important;}
  .ce-header--reference .ce-language-button{height:42px!important;padding:0 5px!important;font-size:13px!important;}
  .ce-header--reference .ce-language-button svg{width:25px!important;height:25px!important;}
}
@media (max-width: 560px){
  .ce-header--reference .header-shell{width:calc(100% - 24px)!important;}
  .ce-header--reference .ce-nav{min-height:88px!important;gap:7px!important;}
  .ce-header--reference .ce-brand--logo-only{max-width:220px!important;flex:1 1 auto!important;}
  .ce-header--reference .ce-brand--logo-only img{width:min(var(--ce-logo-width, 220px), 210px)!important;max-width:100%!important;}
  .ce-header--reference .ce-header-actions{gap:2px!important;}
  .ce-header--reference .ce-icon-button{width:38px!important;height:40px!important;min-width:38px!important;}
  .ce-header--reference .ce-icon-button svg{width:24px!important;height:24px!important;}
  .ce-header--reference .ce-language-button{height:40px!important;padding:0 3px!important;font-size:12px!important;gap:3px!important;}
  .ce-header--reference .ce-language-button svg{width:23px!important;height:23px!important;}
  .ce-header--reference .ce-cart-count{top:0!important;right:-1px!important;min-width:18px!important;height:18px!important;font-size:10px!important;}
  .ce-header--reference .ce-search-form{grid-template-columns:24px minmax(0,1fr)!important;}
  .ce-header--reference .ce-search-form .btn{grid-column:1/-1!important;width:100%!important;}
  .ce-header--reference .ce-mobile-nav{left:12px!important;right:12px!important;width:auto!important;grid-template-columns:1fr!important;}
}
@media (max-width: 410px){
  .ce-header--reference .ce-brand--logo-only{max-width:185px!important;}
  .ce-header--reference .ce-brand--logo-only img{width:min(var(--ce-logo-width, 220px), 175px)!important;max-width:100%!important;}
  .ce-header--reference .ce-icon-button{width:35px!important;min-width:35px!important;}
  .ce-header--reference .ce-language-button svg{display:none!important;}
}


/* === MIGRATION 1B — BRAND CONSISTENCY + VERIFY PAGE + LANGUAGE SWITCH === */

.ce-header--reference .ce-brand--logo-only{
    padding:6px 0!important;
}
.ce-header--reference .ce-brand--logo-only img{
    background:#fff!important;
    border-radius:10px!important;
    object-fit:contain!important;
    object-position:center!important;
}

/* FR / EN: lightweight, no external translation widget. */
.ce-language-switch{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-height:42px!important;
    padding:0 4px!important;
    color:#607084!important;
    white-space:nowrap!important;
}
.ce-language-choice{
    appearance:none!important;
    border:0!important;
    background:transparent!important;
    color:#536478!important;
    padding:8px 3px!important;
    font:inherit!important;
    font-size:13px!important;
    font-weight:800!important;
    cursor:pointer!important;
}
.ce-language-choice.is-active{
    color:#081b33!important;
}
.ce-language-choice:focus-visible{
    outline:2px solid #38bdf8!important;
    outline-offset:2px!important;
    border-radius:5px!important;
}
.ce-mobile-nav__languages{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:8px 11px!important;
    color:#607084!important;
}

/* Exact complete logo in footer: visible on dark footer. */
.site-footer .footer-logo-card{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(255px,100%)!important;
    padding:12px 16px!important;
    background:#fff!important;
    border-radius:14px!important;
    box-shadow:0 7px 24px rgba(0,0,0,.14)!important;
}
.site-footer .footer-logo-card img{
    display:block!important;
    width:100%!important;
    max-width:225px!important;
    height:auto!important;
    object-fit:contain!important;
}

/* Verification page */
.newsletter-verification{
    background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important;
    padding:64px 24px 74px!important;
}
.newsletter-verification__shell{
    width:min(850px,100%)!important;
    margin:0 auto!important;
}
.newsletter-verification__eyebrow{
    display:inline-flex!important;
    align-items:center!important;
    min-height:34px!important;
    padding:6px 15px!important;
    margin-bottom:24px!important;
    border:1px solid rgba(249,115,22,.45)!important;
    border-radius:999px!important;
    color:#f97316!important;
    background:#fff!important;
    font-size:.83rem!important;
    font-weight:900!important;
    letter-spacing:.10em!important;
    text-transform:uppercase!important;
}
.newsletter-verification h1{
    max-width:720px!important;
    margin:0 0 24px!important;
    color:#071b33!important;
    font-size:clamp(2.4rem,7vw,4.7rem)!important;
    line-height:.99!important;
    letter-spacing:-.045em!important;
}
.newsletter-verification__intro{
    max-width:760px!important;
    margin:0 0 34px!important;
    color:#26364a!important;
    font-size:clamp(1.04rem,2.2vw,1.28rem)!important;
    line-height:1.7!important;
}
.newsletter-verification__intro strong{
    color:#071b33!important;
    overflow-wrap:anywhere!important;
}
.verification-form--professional{
    display:grid!important;
    gap:13px!important;
}
.verification-form--professional label{
    color:#203249!important;
    font-size:1rem!important;
    font-weight:700!important;
}
.verification-form--professional input{
    width:100%!important;
    height:86px!important;
    padding:0 24px!important;
    border:2px solid #a8dff4!important;
    border-radius:20px!important;
    background:#fff!important;
    color:#071b33!important;
    box-shadow:0 0 0 4px rgba(56,189,248,.09)!important;
    font-size:2rem!important;
    font-weight:650!important;
    letter-spacing:.40em!important;
    text-align:center!important;
    outline:none!important;
}
.verification-form--professional input:focus{
    border-color:#38bdf8!important;
    box-shadow:0 0 0 5px rgba(56,189,248,.15)!important;
}
.verification-help{
    margin-top:-3px!important;
    color:#758397!important;
    font-size:.88rem!important;
}
.verification-primary{
    min-height:72px!important;
    margin-top:5px!important;
    border-radius:17px!important;
    background:#ff7418!important;
    color:#fff!important;
    font-size:1.08rem!important;
    font-weight:900!important;
    box-shadow:0 10px 24px rgba(249,115,22,.17)!important;
}
.verification-primary:hover{
    transform:translateY(-1px)!important;
    background:#ef6810!important;
}
.verification-resend{
    margin-top:24px!important;
}
.verification-resend__button{
    min-height:54px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    padding:0 18px!important;
    border:1.5px solid #2a95db!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#1874bd!important;
    font-size:.97rem!important;
    font-weight:850!important;
    cursor:pointer!important;
}
.verification-resend__button svg{
    width:22px!important;
    height:22px!important;
}
.verification-resend__button:hover{
    background:#f2f9ff!important;
}
@media(max-width:640px){
    .ce-header--reference .ce-header-actions > :not(.ce-menu-button){
        display:none!important;
    }
    .ce-header--reference .ce-nav{
        min-height:96px!important;
    }
    .ce-header--reference .ce-brand--logo-only{
        max-width:min(230px,calc(100vw - 88px))!important;
    }
    .ce-header--reference .ce-brand--logo-only img{
        width:min(var(--ce-logo-width, 220px), 220px)!important;
        max-width:100%!important;
    }
    .newsletter-verification{
        padding:48px 20px 62px!important;
    }
    .newsletter-verification h1{
        font-size:clamp(2.45rem,12vw,3.6rem)!important;
    }
    .verification-form--professional input{
        height:78px!important;
        font-size:1.7rem!important;
        letter-spacing:.32em!important;
    }
    .verification-primary{
        min-height:64px!important;
    }
    .site-footer .footer-logo-card{
        width:min(210px,100%)!important;
    }
}

@media(max-width:410px){
    .ce-header--reference .ce-brand--logo-only{
        max-width:min(185px,calc(100vw - 82px))!important;
    }
    .ce-header--reference .ce-brand--logo-only img{
        width:min(var(--ce-logo-width, 220px), 175px)!important;
        max-width:100%!important;
    }
}


/* === MIGRATION 1C — OFFICIAL BRAND + INVISIBLE REAL FR/EN TRANSLATION === */

#google_translate_element{
    position:fixed!important;
    left:-99999px!important;
    top:-99999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}
.goog-te-banner-frame,
iframe.goog-te-banner-frame,
.goog-te-balloon-frame,
.goog-te-spinner-pos,
.goog-te-menu-frame{
    display:none!important;
    visibility:hidden!important;
}
body{
    top:0!important;
}
body > .skiptranslate{
    display:none!important;
}
.goog-text-highlight{
    background:transparent!important;
    box-shadow:none!important;
}

/* Newsletter confirmed */
.newsletter-confirmed__card{
    text-align:center!important;
    max-width:760px!important;
}
.newsletter-confirmed__icon{
    width:76px!important;
    height:76px!important;
    margin:0 auto 20px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:#e9fbf1!important;
    color:#0a8a4a!important;
    font-size:2.3rem!important;
    font-weight:900!important;
}
.newsletter-confirmed__card h1{
    margin-inline:auto!important;
}
.newsletter-confirmed__card .newsletter-verification__intro{
    margin-inline:auto!important;
}
.newsletter-confirmed__button{
    display:inline-flex!important;
    width:auto!important;
    min-width:230px!important;
    padding-inline:28px!important;
    align-items:center!important;
    justify-content:center!important;
    text-decoration:none!important;
}


/* === MIGRATION 1E — DEDICATED SYSTEM / NEWSLETTER STATUS PAGE === */
.system-status-page{
    min-height:clamp(520px,66vh,820px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:72px 24px!important;
    background:
        radial-gradient(circle at 15% 15%,rgba(56,189,248,.08),transparent 28%),
        radial-gradient(circle at 85% 85%,rgba(249,115,22,.08),transparent 30%),
        #f7f9fc!important;
}
.system-status-page__shell{
    width:min(820px,100%)!important;
    margin:0 auto!important;
}
.system-status-card{
    position:relative!important;
    overflow:hidden!important;
    width:100%!important;
    padding:clamp(34px,6vw,62px)!important;
    border:1px solid #dfe7ef!important;
    border-radius:28px!important;
    background:#fff!important;
    box-shadow:0 24px 70px rgba(7,27,51,.10)!important;
    text-align:center!important;
}
.system-status-card::before{
    content:""!important;
    position:absolute!important;
    inset:0 auto auto 0!important;
    width:100%!important;
    height:5px!important;
    background:#38bdf8!important;
}
.system-status-card--success::before{background:#20a66a!important;}
.system-status-card--warning::before{background:#e6a018!important;}
.system-status-card--error::before{background:#dc4c4c!important;}
.system-status-card__icon{
    width:78px!important;
    height:78px!important;
    margin:0 auto 22px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:#eaf8f1!important;
    color:#168457!important;
}
.system-status-card--warning .system-status-card__icon{
    background:#fff6dd!important;
    color:#b97700!important;
}
.system-status-card--error .system-status-card__icon{
    background:#fff0f0!important;
    color:#c43e3e!important;
}
.system-status-card__icon svg{
    width:38px!important;
    height:38px!important;
}
.system-status-card__eyebrow{
    display:inline-block!important;
    margin-bottom:14px!important;
    color:#f97316!important;
    font-size:.82rem!important;
    font-weight:900!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
}
.system-status-card h1{
    max-width:680px!important;
    margin:0 auto 18px!important;
    color:#071b33!important;
    font-size:clamp(2rem,6vw,3.7rem)!important;
    line-height:1.04!important;
    letter-spacing:-.04em!important;
}
.system-status-card p{
    max-width:650px!important;
    margin:0 auto!important;
    color:#64748b!important;
    font-size:clamp(1rem,2.2vw,1.18rem)!important;
    line-height:1.72!important;
}
.system-status-card__actions{
    margin-top:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    flex-wrap:wrap!important;
}
.system-status-card__primary{
    min-height:54px!important;
    padding:0 25px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:12px!important;
    background:#ff7418!important;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:850!important;
}
.system-status-card__secondary{
    min-height:54px!important;
    padding:0 20px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #ccd8e5!important;
    border-radius:12px!important;
    color:#15304f!important;
    background:#fff!important;
    text-decoration:none!important;
    font-weight:750!important;
}
.system-status-card__secondary:hover{
    background:#f6f9fc!important;
}
@media(max-width:640px){
    .system-status-page{
        min-height:590px!important;
        padding:48px 18px!important;
    }
    .system-status-card{
        padding:36px 22px!important;
        border-radius:22px!important;
    }
    .system-status-card__icon{
        width:66px!important;
        height:66px!important;
    }
    .system-status-card__actions{
        display:grid!important;
        grid-template-columns:1fr!important;
    }
    .system-status-card__primary,
    .system-status-card__secondary{
        width:100%!important;
    }
}


/* === MIGRATION 2A — COMPANY LEADERS / CONTACT US === */

.leaders-section{
    background:#fff!important;
    padding-top:72px!important;
    padding-bottom:72px!important;
}
.leaders-heading{
    max-width:760px!important;
    margin-bottom:34px!important;
}
.leaders-heading h2{
    margin:12px 0 14px!important;
}
.leaders-heading p{
    max-width:690px!important;
    color:#6c7b8f!important;
    line-height:1.7!important;
}

.leaders-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px!important;
}

.leader-card{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:24px!important;
    align-items:start!important;
    padding:24px!important;
    border:1px solid #e0e7ef!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 14px 38px rgba(7,27,51,.07)!important;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
.leader-card:hover{
    transform:translateY(-3px)!important;
    border-color:#cbd8e6!important;
    box-shadow:0 20px 48px rgba(7,27,51,.10)!important;
}

.leader-card__photo-wrap{
    width:150px!important;
    height:170px!important;
    overflow:hidden!important;
    border-radius:15px!important;
    background:#f1f5f9!important;
}
.leader-card__photo{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
}

.leader-card__content{
    min-width:0!important;
}
.leader-card__identity h3{
    margin:0 0 5px!important;
    color:#0b203a!important;
    font-size:1.28rem!important;
    line-height:1.2!important;
}
.leader-card__identity strong{
    display:block!important;
    color:#263b55!important;
    font-size:.98rem!important;
    line-height:1.35!important;
}
.leader-card__identity > span{
    display:block!important;
    margin-top:3px!important;
    color:#8793a2!important;
    font-size:.88rem!important;
}
.leader-card__bio{
    margin:14px 0 17px!important;
    color:#667589!important;
    font-size:.91rem!important;
    line-height:1.55!important;
}

.leader-card__contacts{
    display:grid!important;
    gap:8px!important;
}
.leader-contact{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-width:0!important;
    color:#43546a!important;
    font-size:.9rem!important;
    line-height:1.35!important;
    text-decoration:none!important;
}
.leader-contact > span:last-child{
    min-width:0!important;
    overflow-wrap:anywhere!important;
}
.leader-contact:hover > span:last-child{
    text-decoration:underline!important;
}
.leader-contact__icon{
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:8px!important;
}
.leader-contact__icon svg{
    width:18px!important;
    height:18px!important;
}

/* Professional icon colours */
.leader-contact--email .leader-contact__icon{
    color:#1586c7!important;
    background:#eaf7ff!important;
}
.leader-contact--phone .leader-contact__icon{
    color:#0c3d67!important;
    background:#edf5fb!important;
}
.leader-contact--whatsapp .leader-contact__icon{
    color:#fff!important;
    background:#25D366!important;
}
.leader-contact--linkedin .leader-contact__icon{
    color:#fff!important;
    background:#0A66C2!important;
}
.leader-contact--facebook .leader-contact__icon{
    color:#fff!important;
    background:#1877F2!important;
}

@media(max-width:980px){
    .leaders-grid{
        grid-template-columns:1fr!important;
    }
}

@media(max-width:620px){
    .leaders-section{
        padding-top:52px!important;
        padding-bottom:56px!important;
    }
    .leader-card{
        grid-template-columns:112px minmax(0,1fr)!important;
        gap:17px!important;
        padding:18px!important;
        border-radius:18px!important;
    }
    .leader-card__photo-wrap{
        width:112px!important;
        height:132px!important;
        border-radius:13px!important;
    }
    .leader-card__identity h3{
        font-size:1.12rem!important;
    }
    .leader-card__bio{
        grid-column:1/-1!important;
    }
}

@media(max-width:440px){
    .leader-card{
        grid-template-columns:92px minmax(0,1fr)!important;
        gap:14px!important;
        padding:16px!important;
    }
    .leader-card__photo-wrap{
        width:92px!important;
        height:110px!important;
    }
    .leader-card__contacts{
        grid-column:1/-1!important;
        margin-top:6px!important;
    }
}


/* === MIGRATION 2B — DIRIGEANTS TOUJOURS 2 PAR LIGNE === */

/*
 * Reference layout: 2 cards per row on PC, tablet and phone.
 * On narrow screens each card becomes compact rather than stacking to one per row.
 */
.leaders-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
    align-items:start!important;
}

/* Cancel the previous one-column tablet/mobile breakpoint. */
@media(max-width:980px){
    .leaders-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:16px!important;
    }

    .leader-card{
        grid-template-columns:112px minmax(0,1fr)!important;
        gap:16px!important;
        padding:18px!important;
    }

    .leader-card__photo-wrap{
        width:112px!important;
        height:132px!important;
    }
}

@media(max-width:700px){
    .leaders-section .container{
        width:calc(100% - 24px)!important;
        max-width:none!important;
    }

    .leaders-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }

    .leader-card{
        display:flex!important;
        flex-direction:column!important;
        gap:10px!important;
        padding:12px!important;
        border-radius:15px!important;
        min-width:0!important;
    }

    .leader-card__photo-wrap{
        width:100%!important;
        height:auto!important;
        aspect-ratio:1.08 / 1!important;
        border-radius:11px!important;
    }

    .leader-card__photo{
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
    }

    .leader-card__identity h3{
        margin:0 0 3px!important;
        font-size:.98rem!important;
        line-height:1.16!important;
    }

    .leader-card__identity strong{
        font-size:.82rem!important;
        line-height:1.25!important;
    }

    .leader-card__identity > span{
        margin-top:2px!important;
        font-size:.75rem!important;
        line-height:1.25!important;
    }

    .leader-card__bio{
        margin:7px 0 8px!important;
        font-size:.76rem!important;
        line-height:1.4!important;
        display:-webkit-box!important;
        -webkit-line-clamp:3!important;
        -webkit-box-orient:vertical!important;
        overflow:hidden!important;
    }

    .leader-card__contacts{
        display:grid!important;
        gap:6px!important;
        margin-top:auto!important;
    }

    .leader-contact{
        gap:7px!important;
        font-size:.75rem!important;
        line-height:1.25!important;
    }

    .leader-contact__icon{
        flex:0 0 25px!important;
        width:25px!important;
        height:25px!important;
        border-radius:7px!important;
    }

    .leader-contact__icon svg{
        width:15px!important;
        height:15px!important;
    }
}

@media(max-width:440px){
    .leaders-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .leader-card{
        grid-template-columns:none!important;
        padding:10px!important;
        gap:8px!important;
    }

    .leader-card__photo-wrap{
        width:100%!important;
        height:auto!important;
        aspect-ratio:1 / 1!important;
    }

    .leader-card__identity h3{
        font-size:.91rem!important;
    }

    .leader-card__identity strong{
        font-size:.77rem!important;
    }

    .leader-card__identity > span{
        font-size:.7rem!important;
    }

    .leader-card__bio{
        font-size:.7rem!important;
        -webkit-line-clamp:2!important;
    }

    .leader-contact{
        font-size:.69rem!important;
        gap:5px!important;
    }

    .leader-contact__icon{
        flex-basis:23px!important;
        width:23px!important;
        height:23px!important;
    }

    /*
     * Very long e-mail addresses remain inside their own card instead of
     * pushing the second column outside the viewport.
     */
    .leader-contact > span:last-child{
        overflow-wrap:anywhere!important;
        word-break:break-word!important;
    }
}
