:root {
    --navy: #272e4f;
    --navy-deep: #171d38;
    --navy-ink: #11162d;
    --gold: #c9a34f;
    --gold-light: #e0c176;
    --paper: #f2f3f5;
    --white: #ffffff;
    --ink: #1f2437;
    --muted: #6c7180;
    --line: rgba(39, 46, 79, .16);
    --shell: min(1280px, calc(100% - 96px));
    --heading: "Inter Tight", "Inter", Arial, sans-serif;
    --body: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; top:0 !important; }
body { top:0 !important; }
#google_translate_element, .goog-te-banner-frame.skiptranslate, iframe.goog-te-banner-frame, .goog-te-balloon-frame, #goog-gt-tt, #goog-gt-vt, .VIpgJd-ZVi9od-ORHb-OEVmcd, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf { display:none !important; visibility:hidden !important; }
body > .skiptranslate { display:none !important; }
.goog-text-highlight { background:transparent !important; box-shadow:none !important; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.65; overflow-x: hidden; }
[dir="rtl"] body { font-family: "Noto Sans Arabic", var(--body); }
[dir="rtl"] :is(h1, h2, h3, .mobile-menu nav a) { font-family: "Noto Sans Arabic", var(--heading); }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
.section-shell { width: var(--shell); margin-inline: auto; }
.section-pad { padding: 132px 0; }
.skip-link { position: fixed; inset-block-start: -80px; inset-inline-start: 20px; z-index: 1000; background: var(--gold); color: var(--navy-ink); padding: 10px 16px; }
.skip-link:focus { inset-block-start: 20px; }

.site-header { position: fixed; z-index: 100; inset: 0 0 auto; color: var(--white); background: transparent; border-bottom: 1px solid rgba(255,255,255,.16); transition: background .35s, color .35s, transform .35s, border .35s, box-shadow .35s; }
.site-header.scrolled { color:var(--navy); background: rgba(255,255,255,.98); backdrop-filter: blur(18px); border-color: rgba(39,46,79,.1); box-shadow: 0 10px 34px rgba(17,22,45,.09); }
.header-inner { width: min(1440px, calc(100% - 64px)); height: 92px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.brand { width: 246px; flex: 0 0 auto; }
.brand img { filter: brightness(0) invert(1); transition:filter .3s; }
.site-header.scrolled .brand img { filter:none; }
.footer-brand img { filter: brightness(0) invert(1); }
.desktop-nav { display: flex; align-items: center; gap: clamp(20px, 2vw, 38px); margin-inline-start: auto; }
.desktop-nav a { font-size: 13px; font-weight: 600; letter-spacing: .03em; position: relative; white-space: nowrap; }
.desktop-nav a::after { content: ""; position: absolute; inset: auto 0 -10px; height: 1px; background: var(--gold-light); transform: scaleX(0); transform-origin: right; transition: transform .25s, background .25s; }
.site-header.scrolled .desktop-nav a::after { background:var(--navy); }
[dir="rtl"] .desktop-nav a::after { transform-origin: left; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; align-items: center; gap: 14px; }
.header-cta { height: 46px; padding: 0 18px; display: inline-flex; align-items: center; gap: 22px; border: 1px solid rgba(255,255,255,.55); font-size: 12px; font-weight: 700; letter-spacing: .03em; transition: background .2s, color .2s, border .2s; }
.header-cta:hover { background: var(--white); color: var(--navy); }
.site-header.scrolled .header-cta { border-color:var(--navy); }
.site-header.scrolled .header-cta:hover { background:var(--navy); color:var(--white); }
.language-switcher { position:relative; }
.language-current { min-width:118px; height:46px; padding:0 11px; display:flex; align-items:center; gap:9px; border:1px solid rgba(255,255,255,.28); border-radius:0; color:var(--white); background:rgba(255,255,255,.07); cursor:pointer; transition:color .3s,background .3s,border-color .3s; }
.language-current > .bi-globe2 { font-size:16px; color:var(--gold-light); }
.language-current__text { display:flex; flex:1; flex-direction:column; align-items:flex-start; line-height:1.05; }
.language-current__text strong { font-size:12px; letter-spacing:.1em; }
.language-current__text small { margin-top:3px; color:rgba(255,255,255,.62); font-size:12px; font-weight:500; }
.site-header.scrolled .language-current { color:var(--navy); border-color:rgba(39,46,79,.16); background:#f4f5f8; }
.site-header.scrolled .language-current__text small { color:var(--muted); }
.chevron { font-size:10px; transition:transform .2s; }
.language-switcher.open .chevron { transform: rotate(180deg); }
.language-menu { position:absolute; top:calc(100% + 12px); inset-inline-end:0; min-width:236px; padding:9px; border:1px solid rgba(39,46,79,.1); border-radius:0; color:var(--navy); background:rgba(255,255,255,.98); box-shadow:0 22px 60px rgba(17,22,45,.18); opacity:0; visibility:hidden; transform:translateY(-8px) scale(.98); transform-origin:top right; transition:.2s; }
[dir="rtl"] .language-menu { transform-origin:top left; }
.language-switcher.open .language-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.language-menu a { min-height:62px; padding:8px 10px; display:grid; grid-template-columns:40px 1fr 18px; align-items:center; gap:12px; border-radius:0; }
.language-menu a:hover, .language-menu a[aria-current="page"] { background:#f1f2f6; }
.language-flag { width:40px; height:27px; display:block; border:1px solid rgba(39,46,79,.12); object-fit:contain; background:#fff; box-shadow:0 2px 7px rgba(17,22,45,.08); }
.language-option { display:flex; flex-direction:column; line-height:1.2; }
.language-option strong { font-size:12px; }
.language-option small { margin-top:4px; color:var(--muted); font-size:12px; }
.language-menu a > .bi-check2 { color:var(--gold); opacity:0; }
.language-menu a[aria-current="page"] > .bi-check2 { opacity:1; }
.menu-toggle { display: none; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.45); background: none; padding: 0 12px; cursor: pointer; transition:border .3s; }
.menu-toggle span { display: block; height: 1px; background: var(--white); margin: 6px 0; transition: .25s; }
.site-header.scrolled .menu-toggle { border-color:rgba(39,46,79,.28); }
.site-header.scrolled .menu-toggle span { background:var(--navy); }
.menu-toggle.active span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle.active span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-menu { display: none; }

.hero { height: max(760px, 100svh); min-height: 700px; position: relative; display: flex; align-items: center; color: var(--white); overflow: hidden; background: var(--navy-deep); }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,18,42,.91) 0%, rgba(18,24,53,.67) 50%, rgba(18,24,53,.22) 100%), linear-gradient(0deg, rgba(12,16,37,.45), transparent 50%); }
[dir="rtl"] .hero-overlay { background: linear-gradient(270deg, rgba(13,18,42,.91) 0%, rgba(18,24,53,.67) 50%, rgba(18,24,53,.22) 100%), linear-gradient(0deg, rgba(12,16,37,.45), transparent 50%); }
.hero-grid { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px); background-size: 96px 96px; mask-image: linear-gradient(to right, black, transparent 75%); }
.hero-content { width: min(1280px, calc(100% - 96px)); margin: 70px auto 0; position: relative; z-index: 2; }
.hero-eyebrow { margin: 0 0 28px; display: flex; align-items: center; gap: 14px; color: var(--gold-light); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; }
.hero-eyebrow span { width: 44px; height: 1px; background: currentColor; }
.hero h1 { max-width: 1020px; margin: 0; font-family: var(--heading); font-size: clamp(58px, 6.2vw, 96px); line-height: 1.01; letter-spacing: -.045em; font-weight: 650; text-wrap: balance; }
.hero-copy { max-width: 650px; margin: 34px 0 0; color: rgba(255,255,255,.78); font-size: 17px; line-height: 1.75; }
.hero-actions { margin-top: 42px; display: flex; align-items: center; gap: 34px; flex-wrap: wrap; }
.button { min-height: 54px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 52px; border: 0; cursor: pointer; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-gold { color: var(--navy-ink); background: var(--gold-light); }
.button-gold:hover { background: #efd38f; }
.text-link { display: inline-flex; align-items: center; gap: 18px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; border-bottom: 1px solid currentColor; padding-bottom: 7px; }
.text-link.light { color: var(--white); }
.text-link.dark { color: var(--navy); }
.hero-bottom { position: absolute; z-index: 3; inset: auto 48px 32px; display: flex; align-items: center; justify-content: space-between; }
.scroll-hint { display: flex; align-items: center; gap: 16px; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.scroll-hint i { width: 74px; height: 1px; background: rgba(255,255,255,.5); position: relative; overflow: hidden; }
.scroll-hint i::after { content:""; position:absolute; inset:0; background:#fff; animation: scrollLine 2s infinite; }
@keyframes scrollLine { 0% { transform: translateX(-100%); } 50%,100% { transform: translateX(100%); } }
.video-control { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: white; background: rgba(0,0,0,.1); cursor: pointer; }
.video-control i { font-size:17px; }
.reveal { opacity: 0; transform: translateY(28px); animation: heroReveal .8s forwards cubic-bezier(.22,1,.36,1); }
.reveal-delay-1 { animation-delay: .12s; }.reveal-delay-2 { animation-delay: .24s; }.reveal-delay-3 { animation-delay: .36s; }
@keyframes heroReveal { to { opacity: 1; transform: none; } }

.trust-strip { background: var(--white); border-bottom: 1px solid var(--line); }
.trust-grid { min-height: 102px; display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-grid > div { display: flex; align-items: center; gap: 18px; padding: 20px 30px; border-inline-start: 1px solid var(--line); }
.trust-grid > div:last-child { border-inline-end: 1px solid var(--line); }
.trust-grid span { color: var(--gold); font-family: var(--heading); font-size: 18px; }
.trust-grid strong { font-size: 12px; text-transform: uppercase; letter-spacing: .045em; color: var(--navy); }

.section-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 26px; color: var(--gold); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; }
.section-kicker::before { content:""; width: 28px; height: 1px; background: currentColor; }
.section-kicker.light-kicker { color: var(--gold-light); }
h2 { font-family: var(--heading); font-size: clamp(43px, 4.4vw, 68px); line-height: 1.06; letter-spacing: -.04em; color: var(--navy); font-weight: 650; margin: 0; text-wrap: balance; }
.section-heading { display:block; max-width:900px; margin:0 auto 76px; text-align:center; }
.section-heading .section-kicker { justify-content:center; margin-top:0; }
.section-heading .section-kicker::after { content:""; width:28px; height:1px; background:currentColor; }
.section-heading__content { max-width:900px; margin-inline:auto; }
.section-heading__content > p { max-width:660px; margin:25px auto 0; color:var(--muted); font-size:14px; line-height:1.8; }
.section-heading--light h2 { color:var(--white); }
.section-heading--light .section-heading__content > p { color:rgba(255,255,255,.62); }
.about { background: var(--paper); }
.about-showcase { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:7vw; align-items:center; }
.about-visual { min-height:620px; position:relative; }
.about-visual > img { width:100%; height:620px; object-fit:cover; border-radius:0; box-shadow:0 30px 80px rgba(31,36,55,.14); }
.about-experience { position:absolute; inset:auto -22px -22px auto; width:250px; min-height:154px; padding:28px 34px; display:flex; flex-direction:column; justify-content:center; border-inline-start:5px solid var(--gold-light); border-radius:12px; color:#fff; background:var(--navy); box-shadow:0 24px 55px rgba(17,22,45,.2); }
[dir="rtl"] .about-experience { right:auto; left:-22px; }
.about-experience strong { color:var(--gold-light); font-family:var(--heading); font-size:52px; line-height:.9; }
.about-experience span { margin-top:13px; color:rgba(255,255,255,.72); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.about-content { text-align:start; }
.about-content .section-kicker { justify-content:flex-start; }
.about-content h2 { font-size:clamp(42px,4vw,62px); }
.about-content .lead { margin:20px 0 0; color:var(--navy); font-size:18px; line-height:1.72; }
.about-content > p:not(.section-kicker):not(.lead) { margin:22px 0 0; color:var(--muted); font-size:13px; line-height:1.8; }
.about-features { margin-top:34px; display:grid; grid-template-columns:1fr 1fr; gap:24px 20px; }
.about-features article { display:grid; grid-template-columns:54px 1fr; gap:15px; align-items:start; }
.about-features > article > i { width:54px; height:54px; display:grid; place-items:center; border-radius:10px; color:var(--navy); background:#e9ebf1; font-size:21px; }
.about-features h3 { margin:0 0 5px; color:var(--navy); font-family:var(--heading); font-size:17px; line-height:1.2; }
.about-features p { margin:0; color:var(--muted); font-size:10px; line-height:1.7; }
.about-actions { margin-top:34px; display:flex; gap:12px; flex-wrap:wrap; }
.about-actions a { min-height:54px; padding:0 28px; display:inline-flex; align-items:center; justify-content:center; gap:20px; border-radius:999px; font-size:12px; font-weight:700; }
.about-primary { color:#fff; background:var(--navy); }
.about-secondary { color:var(--navy); border:1px solid var(--line); background:#fff; }

.services { background:#f6f7f9; color:var(--ink); position:relative; }
.services::before { content:""; position:absolute; inset:0; opacity:.4; background:radial-gradient(circle at 50% 0, rgba(224,193,118,.17), transparent 36%); }
.services .section-shell { position: relative; }
.services h2 { color:var(--navy); }
.service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.service-card { min-height:590px; display:flex; flex-direction:column; padding:34px 30px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:transform .25s,box-shadow .25s,border-color .25s; }
.service-card:hover { transform:translateY(-6px); border-color:rgba(201,163,79,.5); box-shadow:0 24px 60px rgba(31,36,55,.09); }
.service-icon { width:78px; height:78px; margin-bottom:30px; display:grid; place-items:center; border-radius:12px; color:var(--navy); background:#f1f3f7; font-size:33px; transition:background .25s,color .25s; }
.service-card:hover .service-icon { color:var(--navy-ink); background:var(--gold-light); }
.service-card h3 { margin:0 0 13px; font-family:var(--heading); color:var(--navy); font-size:29px; line-height:1.14; letter-spacing:-.03em; font-weight:650; }
.service-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.service-card ul { margin:27px 0; padding:0; list-style:none; }
.service-card li { position:relative; margin:12px 0; padding-inline-start:23px; color:#51586d; font-size:12px; line-height:1.55; }
.service-card li::before { content:""; position:absolute; inset-inline-start:0; top:.65em; width:7px; height:7px; border-radius:50%; background:var(--gold); }
.service-card a { margin-top:auto; padding-top:22px; display:flex; align-items:center; justify-content:space-between; color:var(--navy); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.service-card a i { font-size:15px; }

.approach { background: var(--white); }
.section-heading--center { display:block; max-width:900px; margin:0 auto 76px; text-align:center; }
.process-line { margin-top:80px; display:grid; grid-template-columns:repeat(5,1fr); position:relative; }
.process-line::before { content:""; position:absolute; inset:40px 8% auto; border-top:2px dashed #d6dae4; }
.process-step { padding:0 16px; text-align:center; position:relative; }
.step-top { display:flex; justify-content:center; margin-bottom:25px; }
.step-top span { width:82px; height:82px; display:grid; place-items:center; border:2px solid #e0e3ea; border-radius:50%; color:var(--navy); background:#fff; font-family:var(--heading); font-size:22px; position:relative; z-index:1; }
.step-top i { display:none; }
.process-step h3 { min-height: 56px; margin: 0 0 18px; font-family: var(--heading); color: var(--navy); font-size: 25px; line-height: 1.15; letter-spacing:-.025em; font-weight:650; }
.process-step p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }

.why { position:relative; overflow:hidden; color:white; background:linear-gradient(105deg,#171e3e,#303a66); }
.why::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:62px 62px; }
.why > .section-shell { position:relative; }
.why-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.2); border-inline-start:1px solid rgba(255,255,255,.2); }
.why-item { min-height:154px; display:grid; grid-template-columns:65px 1fr; align-items:center; padding:24px 34px; border-bottom:1px solid rgba(255,255,255,.18); border-inline-end:1px solid rgba(255,255,255,.18); }
.why-item span { color: var(--gold-light); font-family: var(--heading); font-size: 19px; }
.why-item h3 { margin:0; max-width:430px; font-family:var(--heading); font-size:25px; line-height:1.2; letter-spacing:-.025em; font-weight:650; }

.regions { overflow:hidden; }
.regions-banner { position:relative; padding:120px 0; background:radial-gradient(circle at 82% 14%,rgba(224,193,118,.25),transparent 34%),linear-gradient(135deg,#f6f3eb 0%,#eef0f5 58%,#f5f6f8 100%); }
.regions-banner::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(201,163,79,.06) 1px,transparent 1px); background-size:96px 100%; mask-image:linear-gradient(90deg,#000,transparent 72%); }
.regions-layout { display:grid; grid-template-columns:minmax(0,.96fr) minmax(420px,1.04fr); gap:7vw; align-items:center; }
.regions-banner__copy { position:relative; z-index:2; }
.regions-banner__copy h2 { color:var(--navy); font-size:clamp(48px,5vw,72px); line-height:1.03; }
.regions-banner__copy > p { max-width:650px; margin:25px 0 36px; color:var(--muted); font-size:14px; line-height:1.8; }
.region-cards { display:grid; gap:10px; }
.region-cards article { min-height:80px; display:flex; align-items:center; gap:20px; padding:15px 22px; border:1px solid var(--line); border-inline-start:3px solid rgba(201,163,79,.48); border-radius:10px; background:rgba(255,255,255,.9); box-shadow:0 8px 25px rgba(39,46,79,.035); transition:transform .2s,border-color .2s,background .2s; }
.region-cards article:hover { transform:translateX(5px); border-inline-start-color:var(--gold); background:#fffaf0; }
[dir="rtl"] .region-cards article:hover { transform:translateX(-5px); }
.region-cards > article > i { width:48px; height:48px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; color:#9b741e; background:rgba(224,193,118,.22); font-size:20px; }
.region-cards h3 { margin:0; color:var(--navy); font-size:15px; }
.region-cards p { margin:2px 0 0; color:var(--muted); font-size:11px; }
.world-graphic { width:100%; min-height:600px; height:600px; position:relative; cursor:grab; touch-action:pan-y; border-radius:34px; background:radial-gradient(circle at 50% 46%,rgba(224,193,118,.4),rgba(224,193,118,.09) 42%,transparent 67%); }
.world-graphic:active { cursor:grabbing; }
#worldGlobe { display:block; width:100%; height:100%; }
.globe-caption { position:absolute; inset:auto 50% 18px auto; transform:translateX(50%); margin:0; color:#9b741e; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; white-space:nowrap; }
.region-legend { position:relative; z-index:2; margin:-8px 0 0; padding:22px 0 0; display:flex; justify-content:center; flex-wrap:wrap; gap:14px 28px; border-top:1px solid rgba(255,255,255,.13); list-style:none; }
.region-legend li { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.78); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.region-legend i { width:6px; height:6px; border-radius:50%; background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.1); }

.projects { position:relative; overflow:hidden; color:#fff; background:linear-gradient(105deg,#171e3e,#303a66); }
.projects::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:62px 62px; }
.projects > .section-shell { position:relative; }
.projects h2 { color:#fff; }
.projects .section-kicker { color:var(--gold-light); }
.projects .section-heading__content > p { color:rgba(255,255,255,.6); }
.project-showcase { position:relative; }
.project-showcase__bar { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 0 18px; border-bottom:1px solid rgba(255,255,255,.18); }
.project-counter { display:flex; align-items:baseline; gap:8px; color:rgba(255,255,255,.55); font-size:11px; letter-spacing:.08em; }
.project-counter strong { color:#fff; font-family:var(--heading); font-size:29px; font-weight:650; }
.project-controls { display:flex; align-items:center; gap:8px; }
.project-control { width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:transparent; color:#fff; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.project-control:hover, .project-control:focus-visible { color:var(--navy-ink); background:var(--gold-light); border-color:var(--gold-light); }
.project-autoplay i { font-size:15px; }
.project-slides { display:grid; margin-top:20px; background:var(--white); box-shadow:0 28px 75px rgba(20,26,54,.1); }
.project-slide { grid-area:1 / 1; min-height:650px; display:grid; grid-template-columns:minmax(0,1.13fr) minmax(400px,.87fr); opacity:0; visibility:hidden; pointer-events:none; transform:translateX(18px); transition:opacity .45s ease, transform .55s cubic-bezier(.22,1,.36,1), visibility .45s; }
[dir="rtl"] .project-slide { transform:translateX(-18px); }
.project-slide.is-active { z-index:2; opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.project-gallery { min-width:0; min-height:650px; position:relative; overflow:hidden; color:white; background:var(--navy-ink); }
.project-gallery::after { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(13,18,42,.06), transparent 58%, rgba(10,14,32,.68)); }
.project-gallery__slides { position:absolute; inset:0; }
.project-gallery__slide { position:absolute; inset:0; margin:0; opacity:0; transform:scale(1.025); transition:opacity .55s, transform 1.1s cubic-bezier(.22,1,.36,1); }
.project-gallery__slide.is-active { opacity:1; transform:scale(1); }
.project-gallery__slide img { width:100%; height:100%; object-fit:cover; }
.project-gallery__note { position:absolute; z-index:4; inset:auto auto 30px 34px; margin:0; color:rgba(255,255,255,.7); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
[dir="rtl"] .project-gallery__note { left:auto; right:34px; }
.project-gallery__controls { position:absolute; z-index:4; inset:auto 30px 24px auto; display:flex; align-items:center; gap:13px; }
[dir="rtl"] .project-gallery__controls { right:auto; left:30px; }
.project-gallery__controls button { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(12,17,39,.2); color:white; cursor:pointer; backdrop-filter:blur(8px); transition:background .2s,color .2s; }
.project-gallery__controls button:hover { color:var(--navy); background:white; }
.project-gallery__dots { display:flex; gap:5px; }
.project-gallery__dots i { width:18px; height:2px; background:rgba(255,255,255,.36); transition:width .25s,background .25s; }
.project-gallery__dots i.is-active { width:34px; background:white; }
.project-details { min-width:0; padding:45px 46px 38px; display:flex; flex-direction:column; color:var(--ink); }
.project-details__head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.project-details__head > span { color:#a0a5b1; font-size:10px; font-weight:700; letter-spacing:.08em; }
.project-details__logo { width:180px; height:70px; display:grid; place-items:center; }
.project-details__logo img { width:100%; height:100%; object-fit:contain; object-position:left center; }
[dir="rtl"] .project-details__logo img { object-position:right center; }
.project-details__eyebrow { margin:30px 0 8px; color:var(--gold); font-size:9px; font-weight:700; line-height:1.6; text-transform:uppercase; letter-spacing:.12em; }
.project-details h3 { margin:0 0 26px; color:var(--navy); font-family:var(--heading); font-size:clamp(40px,3.6vw,58px); line-height:1; letter-spacing:-.04em; font-weight:650; }
.project-data { margin:0; border-top:1px solid var(--line); }
.project-data > div { min-height:51px; display:grid; grid-template-columns:minmax(125px,.85fr) minmax(0,1.15fr); align-items:center; gap:20px; border-bottom:1px solid var(--line); }
.project-data dt { color:#8a8f9d; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.project-data dd { margin:0; color:var(--navy); font-size:11px; font-weight:600; text-align:end; }
.project-data-note { margin:14px 0 0; color:#959aa7; font-size:9px; line-height:1.55; }
.project-details__cta { margin-top:auto; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--navy); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.project-details__cta i { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-style:normal; transition:background .2s,color .2s; }
.project-details__cta:hover i { color:white; background:var(--navy); }
.project-progress { height:3px; display:grid; grid-template-columns:repeat(var(--project-count,3),1fr); gap:5px; margin-top:20px; }
.project-progress button { position:relative; height:3px; padding:0; border:0; background:rgba(255,255,255,.16); cursor:pointer; overflow:hidden; }
.project-progress button span { position:absolute; inset:0; background:var(--gold-light); transform:scaleX(0); transform-origin:left; }
[dir="rtl"] .project-progress button span { transform-origin:right; }
.project-progress button.is-active span { animation:projectProgress var(--project-autoplay, 7000ms) linear forwards; }
.project-showcase.is-paused .project-progress button.is-active span { animation-play-state:paused; }
@keyframes projectProgress { to { transform:scaleX(1); } }

.knowledge { position:relative; overflow:hidden; color:var(--ink); background:#f7f8fa; }
.knowledge::before { content:""; position:absolute; inset:0; opacity:.5; background-image:linear-gradient(rgba(39,46,79,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(39,46,79,.055) 1px,transparent 1px); background-size:96px 96px; mask-image:linear-gradient(to bottom,black,transparent 82%); }
.knowledge .section-shell { position:relative; }
.knowledge .section-kicker { color:var(--gold); }
.knowledge h2 { color:var(--navy); }
.knowledge .section-heading__content > p { color:var(--muted); }
.knowledge-filters { display:flex; flex-wrap:wrap; gap:10px; margin-top:-18px; margin-bottom:28px; }
.knowledge-filters button { min-height:40px; padding:0 18px; border:1px solid var(--line); border-radius:999px; color:var(--navy); background:#fff; font:700 12px/1 var(--body); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:color .2s,background .2s,border-color .2s; }
.knowledge-filters button:hover { color:var(--navy-ink); border-color:var(--gold); background:#fffaf0; }
.knowledge-filters button.is-active { color:var(--navy-ink); border-color:var(--gold-light); background:var(--gold-light); }
.knowledge-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-inline-start:1px solid var(--line); }
.knowledge-card[hidden] { display:none; }
.knowledge-card { min-height:430px; display:flex; flex-direction:column; padding:30px; border-inline-end:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.82); transition:background .25s,transform .25s,box-shadow .25s; }
.knowledge-card:hover { background:#fffaf0; transform:translateY(-3px); box-shadow:0 18px 42px rgba(39,46,79,.07); }
.knowledge-card__meta { display:flex; align-items:center; justify-content:space-between; gap:20px; color:#a47c26; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
.knowledge-card__meta b { font-size:9px; font-weight:600; }
.knowledge-card h3 { margin:48px 0 18px; color:var(--navy); font-family:var(--heading); font-size:29px; line-height:1.12; letter-spacing:-.03em; font-weight:650; }
.knowledge-card > p { margin:0; color:var(--muted); font-size:11px; line-height:1.75; }
.knowledge-card__source { margin-top:auto; padding-top:28px; display:flex; flex-direction:column; gap:3px; }
.knowledge-card__source span { color:#979cab; font-size:7px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.knowledge-card__source strong { color:var(--navy); font-size:10px; font-weight:600; }
.knowledge-card__source small { color:#858b9b; font-size:8px; }
.knowledge-card > a { margin-top:20px; padding-top:17px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--navy); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.knowledge-card > a i { font-style:normal; }
.knowledge-auto-note { margin-top:28px; display:flex; align-items:center; gap:12px; color:var(--muted); }
.knowledge-auto-note i { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px rgba(201,163,79,.13); }
.knowledge-auto-note p { margin:0; font-size:9px; }

.references { background:var(--white); overflow:hidden; }
.reference-marquee { width:100%; display:grid; gap:18px; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.reference-row { overflow:hidden; }
.reference-track { width:max-content; display:flex; animation:referenceFlow 48s linear infinite; }
.reference-row--reverse .reference-track { animation-direction:reverse; animation-duration:55s; }
.reference-marquee:hover .reference-track { animation-play-state:paused; }
@keyframes referenceFlow { to { transform:translateX(-50%); } }
.reference-carousel { position:relative; }
.carousel-controls { display:flex; justify-content:flex-end; gap:10px; margin-bottom:20px; }
.carousel-button { width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:white; color:var(--navy); cursor:pointer; transition:background .2s,color .2s,border .2s; }
.carousel-button:hover { background:var(--navy); color:white; border-color:var(--navy); }
.carousel-viewport { overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; cursor:grab; touch-action:pan-y; border-top:1px solid var(--line); border-inline-start:1px solid var(--line); }
.carousel-viewport::-webkit-scrollbar { display:none; }
.carousel-viewport.is-dragging { cursor:grabbing; scroll-behavior:auto; user-select:none; }
.logo-track { width:max-content; display:flex; }
.logo-item { width:clamp(210px,16vw,270px); min-height:130px; flex:0 0 auto; position:relative; display:grid; place-items:center; margin-inline-end:18px; padding:25px; border:1px solid var(--line); border-radius:10px; background:#fff; transition:background .25s,transform .25s,border-color .25s; }
.logo-item:hover { background:#f4f5f7; }
.logo-item img { width:100%; max-width:190px; height:78px; object-fit:contain; filter:none; opacity:1; mix-blend-mode:multiply; pointer-events:none; user-select:none; transition:transform .25s; }
.logo-item:hover img { transform:scale(1.035); }

.cta-band { position:relative; padding:115px 0; color:#fff; background:linear-gradient(105deg,#171e3e,#303a66); overflow:hidden; }
.cta-band::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:62px 62px; }
.cta-band__inner { position:relative; text-align:center; }
.cta-band__inner .section-kicker { justify-content:center; }
.cta-band__inner .section-kicker::after { content:""; width:28px; height:1px; background:currentColor; }
.cta-band h2 { color:#fff; font-size:clamp(43px,4vw,62px); }
.cta-band__inner > p:not(.section-kicker) { margin:20px auto 32px; color:rgba(255,255,255,.65); }
.cta-band__inner > div { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
.cta-phone { min-height:54px; padding:0 27px; display:inline-flex; align-items:center; gap:13px; border:1px solid rgba(255,255,255,.4); border-radius:999px; font-size:12px; font-weight:700; }
.cta-band .button { border-radius:999px; }
.contact-section { background:#f5f6f8; color:var(--ink); padding:130px 0; position:relative; overflow:hidden; }
.contact-section::after { content:"S"; position:absolute; inset:auto -2vw -18vw auto; font-family:var(--heading); font-size:40vw; line-height:.8; color:rgba(255,255,255,.025); pointer-events:none; }
.contact-section h2 { color:var(--navy); }
.contact-grid { position:relative; z-index:1; display:grid; grid-template-columns:.72fr 1.28fr; gap:6vw; }
.contact-copy { text-align:start; }
.contact-copy .section-kicker { justify-content:flex-start; }
.contact-copy .section-kicker::after { display:none; }
.contact-information { max-width:540px; margin-top:40px; border-top:1px solid var(--line); }
.contact-information__item { padding:25px 0; border-bottom:1px solid var(--line); }
.contact-information__item > span { display:block; margin-bottom:8px; color:#99a1b5; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }
.contact-information__item :is(a,p,address) { display:block; margin:0; color:var(--navy); font-size:16px; line-height:1.65; font-style:normal; }
.contact-information__item--address address { color:var(--navy); transition:color .2s ease; }
.contact-information__item--address:hover address { color:#c99222; }
.contact-information__item a { width:fit-content; transition:color .2s ease; }
.contact-information__item a:hover { color:#c99222; }
.project-form { background:var(--white); color:var(--ink); padding:50px; border:1px solid var(--line); border-radius:16px; box-shadow:0 28px 70px rgba(31,36,55,.08); }
.form-heading h3 { margin:0; font-family:var(--heading); color:var(--navy); font-size:38px; line-height:1; text-transform:uppercase; }
.form-heading p { margin:9px 0 34px; color:var(--muted); font-size:12px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px 28px; }
.field-grid label { display:block; }
.field-grid label > span { display:block; margin-bottom:7px; color:var(--navy); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.field-grid input:not([type="checkbox"]), .field-grid textarea, .field-grid select { width:100%; border:1px solid rgba(39,46,79,.14); border-radius:10px; background:#f7f8fa; padding:14px; color:var(--ink); outline:none; transition:border .2s,box-shadow .2s; resize:vertical; }
.field-grid input:focus, .field-grid textarea:focus, .field-grid select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(224,193,118,.2); }
.consent-field { display:grid !important; grid-template-columns:22px 1fr; align-items:start; gap:12px; }
.consent-field input { width:20px; height:20px; margin:2px 0 0; accent-color:var(--gold); }
.consent-field span { margin:0 !important; color:var(--muted) !important; line-height:1.55; text-transform:none !important; letter-spacing:0 !important; }
.field-full { grid-column:1/-1; }
.form-submit { margin-top:32px; width:100%; justify-content:space-between; }
.form-note { margin:10px 0 0; color:var(--muted); font-size:9px; text-align:center; }
.form-message { display:none; margin:15px 0 0; padding:10px; color:var(--navy); background:#e8eaee; font-size:12px; text-align:center; }
.form-message.visible { display:block; }
.form-honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; pointer-events:none !important; }

.site-footer { background:#11162d; color:white; padding-top:84px; }
.footer-grid { display:grid; grid-template-columns:1.1fr .55fr .75fr 1fr; gap:5vw; padding-bottom:70px; }
.footer-brand img { width:220px; }
.footer-brand p { max-width:360px; margin:26px 0 0; color:rgba(255,255,255,.54); font-size:12px; line-height:1.8; }
.site-footer h3 { margin:0 0 20px; color:var(--gold-light); font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.footer-nav, .footer-services, .footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.footer-nav a, .footer-services a, .footer-contact a, .footer-contact address, .footer-contact p { color:rgba(255,255,255,.64); font-size:11px; font-style:normal; }
.footer-contact address, .footer-contact a, .footer-contact p { display:flex; gap:11px; margin:0; line-height:1.75; }
.footer-contact i { color:var(--gold); margin-top:2px; }
.footer-social { display:flex; gap:9px; margin-top:25px; }
.footer-social a { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:8px; color:var(--gold-light); transition:background .2s,color .2s; }
.footer-social a:hover { color:var(--navy); background:var(--gold-light); }
.footer-bottom { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.4); font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.footer-bottom div { display:flex; gap:24px; }
.floating-contact { position:fixed; z-index:85; inset:auto 25px 28px auto; display:flex; flex-direction:column; gap:9px; }
[dir="rtl"] .floating-contact { right:auto; left:25px; }
.floating-contact a { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; color:#fff; box-shadow:0 12px 30px rgba(17,22,45,.22); font-size:21px; transition:transform .2s; }
.floating-contact a:hover { transform:translateY(-3px); }
.floating-whatsapp { background:#25d366; }
.floating-phone { background:var(--gold); }
.floating-top { background:var(--navy); }
.mobile-contact-bar { display:none; }

.reveal-on-scroll { opacity:0; transform:translateY(25px); transition:opacity .7s, transform .7s; }
.reveal-on-scroll.in-view { opacity:1; transform:none; }

@media (max-width: 1120px) {
    .site-header { z-index:2147483000; }
    .site-header .header-inner { position:relative; z-index:2; }
    body.menu-open .site-header.scrolled { backdrop-filter:none; }
    :root { --shell: min(100% - 56px, 1120px); }
    .knowledge-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .service-card { min-height:520px; }
    .process-line { grid-template-columns:repeat(3,1fr); gap:40px 0; }
    .process-line::before { display:none; }
    .regions-layout { grid-template-columns:1fr; }
    .world-graphic { width:min(720px,100%); margin-inline:auto; }
    .footer-grid { grid-template-columns:1.2fr .8fr .9fr; }
    .footer-contact { grid-column:1/-1; }
    .desktop-nav { display:none; }
    .menu-toggle { display:block; }
    .mobile-menu { display:flex; position:fixed; z-index:2147482999; inset:92px 0 0; color:var(--white); background:var(--navy-deep); padding:48px 40px; flex-direction:column; justify-content:space-between; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-15px); transition:.3s; }
    .mobile-menu.open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
    .mobile-menu nav { display:flex; flex-direction:column; }
    .mobile-menu nav a { padding:15px 0; display:flex; gap:18px; border-bottom:1px solid rgba(255,255,255,.14); font-family:var(--heading); font-size:34px; text-transform:uppercase; }
    .mobile-menu nav span { color:var(--gold-light); font-size:15px; }
    .mobile-language { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
    .mobile-language a { min-height:72px; padding:9px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:1px solid rgba(255,255,255,.2); border-radius:0; }
    .mobile-language a[aria-current="page"] { color:var(--navy); border-color:var(--gold-light); background:var(--gold-light); }
    .mobile-language span { font-size:12px; font-weight:800; letter-spacing:.04em; }
}

@media (max-width: 820px) {
    :root { --shell: calc(100% - 40px); }
    .section-pad { padding:86px 0; }
    .header-inner { width:calc(100% - 32px); height:76px; }
    .brand { width:190px; }
    .header-cta { display:none; }
    .mobile-menu { inset-block-start:76px; }
    .hero { min-height:690px; height:100svh; }
    .hero-content { width:calc(100% - 40px); margin-top:40px; }
    .hero h1 { font-size:clamp(48px, 11.5vw, 72px); line-height:1.04; letter-spacing:-.04em; }
    .hero-copy { font-size:14px; line-height:1.7; }
    .hero-bottom { inset-inline:20px; inset-block-end:22px; }
    .trust-grid { grid-template-columns:1fr; padding:13px 0; }
    .trust-grid > div { min-height:58px; padding:10px 5px; border:0; border-bottom:1px solid var(--line); }
    .trust-grid > div:last-child { border:0; }
    .about-showcase, .contact-grid { grid-template-columns:1fr; gap:58px; }
    .about-visual { width:min(680px,100%); min-height:500px; margin-inline:auto; }
    .about-visual > img { height:500px; }
    .about-content { max-width:760px; margin-inline:auto; }
    .section-heading { margin-bottom:50px; }
    .section-heading__content > p { margin-top:18px; }
    .service-grid { grid-template-columns:1fr; }
    .service-card { min-height:0; }
    .process-line { margin-top:60px; grid-template-columns:1fr 1fr; gap:55px 20px; }
    .why-list { grid-template-columns:1fr; }
    .regions-banner { padding:84px 0; }
    .world-graphic { min-height:500px; height:500px; }
    .project-slide { min-height:0; grid-template-columns:1fr; }
    .project-gallery { min-height:500px; }
    .project-details { min-height:600px; padding:40px; }
    .project-details h3 { font-size:48px; }
    .logo-item { width:42vw; min-width:260px; min-height:165px; }
    .project-form { padding:34px 24px; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .footer-brand { grid-column:1/-1; }
    .footer-contact { grid-column:auto; }
    .floating-contact { display:none; }
    .mobile-contact-bar { position:fixed; z-index:90; inset:auto 10px 10px; height:62px; display:grid; grid-template-columns:repeat(3,1fr); color:var(--navy); background:#fff; box-shadow:0 12px 32px rgba(0,0,0,.26); transition:transform .3s; }
    .mobile-contact-bar a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; border-inline-end:1px solid var(--line); font-size:12px; font-weight:700; }
    .mobile-contact-bar a:last-child { border:0; color:var(--navy-ink); background:var(--gold-light); }
    .mobile-contact-bar i { color:var(--gold); font-size:17px; }
    .mobile-contact-bar a:last-child i { color:var(--navy); }
    body.menu-open .mobile-contact-bar { transform:translateY(80px); }
    .site-footer { padding-bottom:72px; }
}

@media (max-width: 560px) {
    .language-switcher { display:none; }
    .hero h1 { font-size:45px; line-height:1.06; letter-spacing:-.035em; }
    .hero-eyebrow { font-size:9px; letter-spacing:.12em; }
    .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; margin-top:30px; }
    .hero-bottom { display:none; }
    h2 { font-size:39px; line-height:1.09; }
    .about-visual { min-height:385px; }
    .about-visual > img { height:385px; border-radius:0; }
    .about-experience { width:190px; min-height:112px; inset:auto -6px -18px auto; padding:20px 24px; }
    [dir="rtl"] .about-experience { right:auto; left:-6px; }
    .about-experience strong { font-size:40px; }
    .about-experience span { margin-top:9px; font-size:8px; }
    .about-features { grid-template-columns:1fr; }
    .about-actions { align-items:stretch; flex-direction:column; }
    .about-actions a { width:100%; }
    .service-card { min-height:0; padding:26px; }
    .service-card h3 { font-size:29px; }
    .process-line { grid-template-columns:1fr; gap:44px; }
    .process-step h3 { min-height:0; }
    .why-item { min-height:115px; grid-template-columns:42px 1fr; padding:20px; }
    .why-item h3 { font-size:20px; }
    .regions-banner { padding:74px 0; }
    .regions-banner__copy h2 { font-size:43px; }
    .regions-banner__copy > p { font-size:12px; }
    .world-graphic { width:100vw; min-height:390px; height:390px; margin-inline:calc(50% - 50vw); }
    .globe-caption { bottom:6px; }
    .region-legend { max-width:340px; gap:12px 18px; }
    .project-showcase__bar { min-height:60px; }
    .project-control { width:42px; height:42px; }
    .project-gallery { min-height:390px; }
    .project-gallery__note { inset-inline-start:22px; bottom:20px; }
    .project-gallery__controls { inset-inline-end:20px; bottom:15px; }
    .project-gallery__controls button { width:38px; height:38px; }
    .project-gallery__dots { display:none; }
    .project-details { min-height:620px; padding:30px 24px; }
    .project-details__logo { width:150px; height:60px; }
    .project-details h3 { font-size:40px; }
    .project-data > div { grid-template-columns:1fr; gap:3px; padding:10px 0; }
    .project-data dd { text-align:start; }
    .knowledge-grid { grid-template-columns:1fr; }
    .knowledge-filters { gap:8px; margin-top:-24px; }
    .knowledge-filters button { min-height:38px; padding:0 14px; }
    .knowledge-card { min-height:350px; }
    .knowledge-card h3 { margin-top:36px; }
    .logo-item { width:56vw; min-width:210px; min-height:115px; padding:20px; }
    .logo-item img { height:70px; }
    .field-grid { grid-template-columns:1fr; }
    .field-full { grid-column:auto; }
    .contact-section { padding:85px 0; }
    .footer-grid { grid-template-columns:1fr; }
    .footer-brand { grid-column:auto; }
    .footer-contact { grid-column:auto; }
    .footer-bottom { padding:22px 0; flex-direction:column; align-items:flex-start; }
}

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