/* ==========================================================================
   AEROS HTML Prototype — Elementor-ready widget architecture
   Future WP: each [data-widget] maps to an Elementor widget
   ========================================================================== */

:root {
  --orange: #f47b1f;
  --orange-2: #ff9a3c;
  --orange-dim: rgba(244, 123, 31, 0.16);
  --void: #05070c;
  --ink: #080d16;
  --navy: #0c1422;
  --panel: #121b2b;
  --panel-2: #182234;
  --line: rgba(214, 222, 236, 0.1);
  --line-strong: rgba(214, 222, 236, 0.18);
  --fog: #b7c0ce;
  --mist: #8b95a6;
  --white: #f4f6f9;
  --ok: #3dd6b0;
  --danger: #ff4d4d;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
  --radius: 18px;
  --header-h: 84px;
  --container: 1280px;
  --display: "Rajdhani", "Manrope", sans-serif;
  --sans: "Manrope", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; overflow-x: clip; }
html, body { margin: 0; padding: 0; background: var(--void); color: var(--white); }
body {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 0.01em;
  overflow-x: hidden;
  cursor: none;
}
body.is-touch { cursor: auto; }
img { max-width: 100%; display: block; }
a {
  color: inherit;
  text-decoration: none;
  transition: color .32s var(--ease), background-color .32s var(--ease), border-color .32s var(--ease), opacity .32s var(--ease);
}
button, input, textarea, select { font-family: inherit; }
ul { margin: 0; padding: 0; list-style: none; }

.el-container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.el-section { position: relative; isolation: isolate; }
.el-widget { position: relative; }

.kicker {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.28em;
  text-transform: uppercase; color: var(--orange);
}
a.kicker { color: var(--orange); }
a.kicker:hover { color: var(--orange); opacity: .8; }
.kicker::before {
  content: ""; width: 28px; height: 1px; background: var(--orange);
}
.kicker + h1,
.kicker + h2 {
  margin-top: 16px;
}
.kicker + h3 {
  margin-top: 10px;
}
.hero .kicker,
.hero-copy .kicker { color: #fff; }

/* English HUD copy: html[lang=tr] would map i → İ */
:lang(en) {
  -webkit-locale: "en";
}
.boot-code,
.hero-hud,
.hero-scroll,
.kicker:lang(en),
.topbar [lang="en"],
.crumbs [lang="en"] {
  text-transform: uppercase;
}
h1, h2, h3, h4 {
  font-family: var(--display); font-weight: 700; line-height: 0.95;
  letter-spacing: 0.02em; margin: 0;
}
h1 { font-size: clamp(48px, 8vw, 104px); }
h2 { font-size: clamp(32px, 5vw, 64px); }
h3 { font-size: clamp(22px, 2.4vw, 32px); }
.lede { font-size: 18px; color: var(--fog); max-width: 62ch; }
.muted { color: var(--mist); }

.btn {
  --bg: var(--orange); --fg: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 22px; border: 0; border-radius: 999px;
  background: var(--bg); color: var(--fg); font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase; font-size: 12px;
  position: relative; overflow: hidden; isolation: isolate;
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), color 0.32s var(--ease), background-color 0.32s var(--ease), border-color 0.32s var(--ease);
}
.btn::after {
  content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
  transform: translateX(-120%); transition: transform .6s var(--ease);
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(244,123,31,.28); }
.btn:hover::after { transform: translateX(120%); }
.btn--ghost {
  --bg: transparent; --fg: var(--white);
  border: 1px solid var(--line-strong); background: rgba(255,255,255,.03);
}
.btn--dark { --bg: #fff; --fg: #0b1220; }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* Custom cursor */
.cursor {
  position: fixed; top: 0; left: 0; pointer-events: none; z-index: 10000;
  width: 42px; height: 42px; margin: -21px 0 0 -21px;
  display: grid; place-items: center;
  border: 1.5px solid rgba(255,255,255,.78);
  border-radius: 50%;
  background: transparent;
  mix-blend-mode: difference;
  will-change: transform;
  transition: width .28s var(--ease), height .28s var(--ease), margin .28s var(--ease),
    background-color .28s var(--ease), border-color .28s var(--ease), opacity .3s;
}
.cursor.is-hover {
  width: 28px; height: 28px; margin: -14px 0 0 -14px;
  background: rgba(255,255,255,.14);
  border-color: #fff;
}
.cursor.is-down {
  width: 22px; height: 22px; margin: -11px 0 0 -11px;
  background: rgba(255,255,255,.22);
}
.cursor-pip {
  display: block;
  width: 12px; height: 12px;
  color: #fff;
  transform-origin: 50% 50%;
  transition: transform .22s var(--ease);
}
.cursor.is-hover .cursor-pip { transform: scale(1.12); }
.cursor.is-down .cursor-pip { transform: scale(.82); }
.cursor-dot { display: none; }
body.is-touch .cursor, body.is-touch .cursor-dot { display: none; }

/* Boot overlay */
.boot {
  position: fixed; inset: 0; z-index: 9999; background: #020308;
  display: grid; place-items: center; color: var(--white);
  clip-path: circle(150% at 50% 50%);
}
.boot-inner { width: min(420px, 86vw); text-align: center; position: relative; z-index: 1; }
.boot-mark-wrap {
  position: relative; width: 108px; height: 108px; margin: 0 auto 22px;
}
.boot-hud-ring {
  position: absolute; inset: -10px; border-radius: 50%;
  border: 1px solid rgba(244,123,31,.55);
  box-shadow: 0 0 24px rgba(244,123,31,.25), inset 0 0 18px rgba(244,123,31,.12);
  animation: boot-radar 1.8s linear infinite;
  pointer-events: none;
}
.boot-hud-ring::after {
  content: ""; position: absolute; inset: 10px; border-radius: 50%;
  border: 1px dashed rgba(255,255,255,.22);
}
.boot-mark { width: 108px; height: 108px; margin: 0; display: block; }
.boot-word {
  display: block; height: 34px; width: auto; margin: 0 auto 22px;
  opacity: 0; transform: translateY(10px);
}
.boot-code {
  font-family: var(--mono); font-size: 11px; letter-spacing: .22em; color: var(--orange);
  text-transform: uppercase;
}
.boot-bar { height: 2px; background: #1b2433; margin-top: 22px; overflow: hidden; }
.boot-bar span { display: block; height: 100%; width: 0; background: var(--orange); }
.boot.is-out .boot-mark { filter: brightness(1.15); }
@keyframes boot-radar { to { transform: rotate(360deg); } }
@keyframes spin { to { transform: rotate(360deg); } }

/* Header — Polylang-ready */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 80;
  height: var(--header-h); display: flex; align-items: center;
  transition: background .45s var(--ease), border-color .45s var(--ease), backdrop-filter .45s var(--ease), color .45s var(--ease);
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled {
  background: rgba(7, 11, 18, 0.86);
  backdrop-filter: blur(18px);
  border-bottom-color: var(--line);
}
.header-inner {
  width: min(1440px, calc(100% - 32px)); margin: 0 auto;
  display: flex; align-items: center; gap: 28px;
}
.brand { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; transition: color .32s var(--ease), opacity .32s var(--ease); }
.brand .logo { height: 32px; width: auto; display: none; }
.site-header .brand .logo { height: 35px; }
.brand .logo-on-dark { display: block; }
.site-header.is-scrolled .brand .logo-on-dark { display: none; }
.site-header.is-scrolled .brand .logo-on-light { display: block; }
html[data-theme="dark"] .site-header.is-scrolled .brand .logo-on-dark,
html[data-theme="navy"] .site-header.is-scrolled .brand .logo-on-dark { display: block; }
html[data-theme="dark"] .site-header.is-scrolled .brand .logo-on-light,
html[data-theme="navy"] .site-header.is-scrolled .brand .logo-on-light { display: none; }
.site-footer .logo { height: 36px; }
.site-footer .brand .logo-on-dark { display: block; }
.site-footer .brand .logo-on-light { display: none; }
html[data-theme="light"] .site-footer .brand .logo-on-dark { display: none; }
html[data-theme="light"] .site-footer .brand .logo-on-light { display: block; }

.nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.nav > li { position: relative; --nav-i: 8; }
.nav > li:nth-child(1) { --nav-i: 0; }
.nav > li:nth-child(2) { --nav-i: 1; }
.nav > li:nth-child(3) { --nav-i: 2; }
.nav > li:nth-child(4) { --nav-i: 3; }
.nav > li:nth-child(5) { --nav-i: 4; }
.nav > li:nth-child(6) { --nav-i: 5; }
.nav > li:nth-child(7) { --nav-i: 6; }
.nav > li:nth-child(8) { --nav-i: 7; }
.nav > li:nth-child(9) { --nav-i: 8; }
.nav > li:nth-child(10) { --nav-i: 9; }
.nav > li:nth-child(11) { --nav-i: 10; }
.nav > li:nth-child(12) { --nav-i: 11; }
.nav > li > a, .nav-link {
  display: flex; align-items: center; gap: 6px;
  padding: 10px 12px; font-size: 13px; font-weight: 600;
  letter-spacing: .04em; color: var(--fog); text-transform: uppercase;
  font-family: var(--display); font-size: 15px;
  transition: color .32s var(--ease), background-color .32s var(--ease), opacity .32s var(--ease);
}
.nav > li > a:hover, .nav > li.current-menu-item > a, .nav > li.is-active > a { color: #fff; }
.nav .caret { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }

@media (min-width: 1101px) {
  .nav > li {
    opacity: 0;
    transform: translate3d(0, -16px, 0);
  }
  .site-header.is-nav-in .nav > li {
    animation: nav-drop .52s var(--ease) both;
    animation-delay: calc(var(--nav-i) * .04s);
  }
}
@keyframes nav-drop {
  from {
    opacity: 0;
    transform: translate3d(0, -18px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (min-width: 1101px) and (prefers-reduced-motion: reduce) {
  .nav > li {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

.sub-menu {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 260px;
  padding: 10px; background: rgba(10,16,26,.96); border: 1px solid var(--line);
  border-radius: 14px; opacity: 0; pointer-events: none;
  transform: translateY(8px); transition: .25s var(--ease);
  box-shadow: var(--shadow);
}
.nav > li:hover > .sub-menu, .nav > li:focus-within > .sub-menu {
  opacity: 1; pointer-events: auto; transform: none;
}
.sub-menu a {
  display: block; padding: 10px 12px; border-radius: 10px; color: var(--fog); font-size: 13px;
  transition: color .28s var(--ease), background-color .28s var(--ease);
}
.sub-menu a:hover,
.sub-menu .current-menu-item > a,
.sub-menu .current_page_item > a,
.sub-menu .is-active > a { background: var(--orange-dim); color: #fff; }

.header-tools { display: flex; align-items: center; gap: 10px; margin-left: 8px; }

/* Polylang language switcher markup */
.lang-switcher {
  display: flex; align-items: center; gap: 4px;
  padding: 4px; border: 1px solid var(--line); border-radius: 999px;
  background: rgba(255,255,255,.16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.lang-switcher .lang-item a {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 10px; border-radius: 999px; font-size: 11px; font-weight: 700;
  letter-spacing: .08em; color: inherit;
}
.lang-switcher .lang-item img { width: 16px; height: 12px; object-fit: cover; border-radius: 2px; }
.lang-switcher .lang-item-en img { width: 18px; object-fit: cover; }
.lang-switcher .current-lang a { background: var(--orange); color: #fff; }

.menu-toggle {
  display: none; width: 44px; height: 44px; border: 1px solid var(--line);
  background: transparent; border-radius: 10px; position: relative;
  color: inherit;
  cursor: pointer;
  transition: color .32s var(--ease), border-color .32s var(--ease), background-color .32s var(--ease);
}
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after {
  position: absolute; left: 12px; right: 12px; height: 1.5px; background: #fff;
  transition: transform .42s var(--ease), top .42s var(--ease), opacity .28s var(--ease), background-color .28s var(--ease);
}
.menu-toggle span { top: 50%; }
.menu-toggle span::before, .menu-toggle span::after { content: ""; transform-origin: center; }
.menu-toggle span::before { top: -7px; left: 0; right: 0; }
.menu-toggle span::after { top: 7px; left: 0; right: 0; }
body.nav-open .menu-toggle span { background: transparent; }
body.nav-open .menu-toggle span::before { top: 0; transform: rotate(45deg); }
body.nav-open .menu-toggle span::after { top: 0; transform: rotate(-45deg); }

/* HUD helpers */
.hud-frame { pointer-events: none; }
.hud-corner {
  position: absolute; width: 28px; height: 28px; border: 1px solid rgba(244,123,31,.55);
}
.hud-corner.tl { top: 18px; left: 18px; border-right: 0; border-bottom: 0; }
.hud-corner.tr { top: 18px; right: 18px; border-left: 0; border-bottom: 0; }
.hud-corner.bl { bottom: 18px; left: 18px; border-right: 0; border-top: 0; }
.hud-corner.br { bottom: 18px; right: 18px; border-left: 0; border-top: 0; }
.scanlines {
  pointer-events: none; position: absolute; inset: 0;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.03) 0 1px, transparent 1px 4px);
  mix-blend-mode: overlay; opacity: .18;
}
.grid-bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 72px 72px; mask-image: radial-gradient(circle at 50% 30%, #000 30%, transparent 78%);
}

/* Hero */
.hero {
  min-height: 100svh; display: grid; place-items: end stretch;
  padding: calc(var(--header-h) + 24px) 0 56px; overflow: hidden;
}
.hero-media { position: absolute; inset: 0; }
.hero-media img {
  width: 100%; height: 100%; object-fit: cover; transform: scale(1.12);
  filter: contrast(1.08) saturate(.85);
}
.hero-shade {
  position: absolute; inset: 0; z-index: 2;
  background:
    linear-gradient(180deg, rgba(5,7,12,.35) 0%, rgba(5,7,12,.2) 30%, rgba(5,7,12,.82) 100%),
    radial-gradient(circle at 78% 18%, rgba(244,123,31,.22), transparent 42%);
}
.hero-copy { position: relative; z-index: 3; padding-bottom: 12px; }
.hero-copy h1 { max-width: 16ch; text-wrap: balance; }
.hero-copy h1 .line { display: block; overflow: hidden; }
.hero-copy .accent { color: var(--orange); }
.hero-meta {
  display: flex; flex-wrap: wrap; gap: 28px; margin-top: 36px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .16em; color: var(--fog);
  text-transform: uppercase;
}
.hero-meta b { display: block; color: #fff; font-size: 18px; font-family: var(--display); letter-spacing: .04em; margin-bottom: 4px; }
.hero-scroll {
  position: absolute; right: 36px; bottom: 36px; z-index: 3;
  writing-mode: vertical-rl; font-family: var(--mono); font-size: 10px;
  letter-spacing: .3em; color: var(--fog);
}

/* Marquee */
.ticker {
  border-block: 1px solid var(--line); background: #070b12;
  overflow: hidden; padding: 14px 0;
}
.ticker-track { display: flex; gap: 0; width: max-content; animation: marquee 32s linear infinite; }
.ticker-track span {
  font-family: "Rajdhani", "Manrope", sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--mist);
  white-space: nowrap;
  font-synthesis: none;
}
.ticker-track span em { color: var(--orange); font-style: normal; margin: 0 1.1em; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* Stats */
.stats { padding: 28px 0 8px; }
.stats-grid {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line);
  border: 1px solid var(--line); border-radius: 18px; overflow: hidden;
}
@media (min-width: 1101px) {
  .stats-grid.is-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .stats-grid.is-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .stats-grid.is-cols-4 { grid-template-columns: repeat(4, 1fr); }
  .stats-grid.is-cols-5 { grid-template-columns: repeat(5, 1fr); }
  .stats-grid.is-cols-6 { grid-template-columns: repeat(6, 1fr); }
}
.stat {
  background: var(--navy); padding: 28px 22px;
}
.stat b {
  display: block; font-family: var(--display); font-size: 42px; color: #fff; line-height: 1;
}
.stat b span { color: var(--orange); }
.stat small { color: var(--mist); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }

/* Section common */
.section { padding: 96px 0; }
.section-head { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; margin-bottom: 42px; }
.section-head p { color: var(--fog); max-width: 52ch; margin: 12px 0 0; }
.sky-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .08em .42em;
}
.sky-head .accent { color: var(--orange); }
.sky-head-path {
  position: relative;
  display: block;
  width: 76px;
  height: 10px;
  flex: 0 0 76px;
  color: var(--orange);
  background: repeating-linear-gradient(90deg, var(--orange) 0 6px, transparent 6px 11px);
  background-size: 100% 1.5px;
  background-repeat: no-repeat;
  background-position: left center;
}
.sky-head-path::after {
  content: "";
  position: absolute;
  right: -1px;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 8px solid var(--orange);
  border-top: 4.5px solid transparent;
  border-bottom: 4.5px solid transparent;
  transform: translateY(-50%);
}
.sky-head-path:has(.sky-head-svg) {
  background: none;
}
.sky-head-path:has(.sky-head-svg)::after {
  content: none;
}
.sky-head-svg {
  display: block;
  width: 76px;
  height: 10px;
  overflow: visible;
  clip-path: inset(0 100% 0 0);
  animation: sky-head-fill 2.6s steps(8, start) infinite;
}
.sky-head-svg line {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-dasharray: 6 5;
  stroke-linecap: butt;
}
.sky-head-svg path {
  fill: currentColor;
}
@keyframes sky-head-fill {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0 0 0 0); }
}
@media (prefers-reduced-motion: reduce) {
  .sky-head-svg {
    animation: none;
    clip-path: none;
  }
}

/* Capabilities */
.cap-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; }
.cap-card {
  position: relative; min-height: 280px; border-radius: var(--radius); overflow: hidden;
  border: 1px solid var(--line); background: var(--panel);
}
.cap-card img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.cap-card .shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,7,12,.1), rgba(5,7,12,.88));
}
.cap-card .body { position: absolute; left: 24px; right: 24px; bottom: 22px; }
.cap-card .idx { font-family: var(--mono); color: var(--orange); font-size: 12px; letter-spacing: .2em; }
.cap-stack { display: grid; gap: 18px; }
.cap-mini { min-height: 210px; }

/* Why / ethics */
.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.panel {
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border: 1px solid var(--line); border-radius: var(--radius); padding: 28px;
}
.panel h3 { margin: 10px 0 12px; }
.panel-ico {
  position: relative;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin: 0 0 14px;
  color: var(--orange);
  overflow: hidden;
}
.panel-ico svg {
  width: 46px;
  height: 46px;
  display: block;
  animation: panel-ico-pulse 3.6s ease-in-out calc(1.15s + var(--ico-i, 0) * .45s) infinite;
}
.panel-ico svg path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: panel-ico-draw 1.15s var(--ease) calc(var(--ico-i, 0) * .1s) forwards;
}
.panel-ico svg path:nth-child(2) { animation-delay: calc(var(--ico-i, 0) * .1s + .18s); }
.panel-ico svg path:nth-child(3) { animation-delay: calc(var(--ico-i, 0) * .1s + .3s); }
.panel-ico svg path:nth-child(4) { animation-delay: calc(var(--ico-i, 0) * .1s + .4s); }
.panel:nth-child(1) { --ico-i: 0; }
.panel:nth-child(2) { --ico-i: 1; }
.panel:nth-child(3) { --ico-i: 2; }
.panel:nth-child(4) { --ico-i: 3; }
.panel:nth-child(5) { --ico-i: 4; }
.panel:nth-child(6) { --ico-i: 5; }
.three + .two .panel:nth-child(1) { --ico-i: 6; }
.three + .two .panel:nth-child(2) { --ico-i: 7; }
.panel-ico::after {
  content: "";
  position: absolute;
  inset: -20%;
  background: linear-gradient(105deg, transparent 36%, rgba(255,255,255,.7) 50%, transparent 64%);
  transform: translateX(-140%);
  mix-blend-mode: screen;
  pointer-events: none;
  animation: panel-ico-sheen 3.6s ease-in-out calc(1.15s + var(--ico-i, 0) * .45s) infinite;
}
@keyframes panel-ico-draw {
  to { stroke-dashoffset: 0; }
}
@keyframes panel-ico-pulse {
  0%, 70%, 100% { filter: drop-shadow(0 0 0 rgba(244,123,31,0)); transform: scale(1); }
  18% { filter: drop-shadow(0 0 8px rgba(244,123,31,.5)); transform: scale(1.08); }
}
@keyframes panel-ico-sheen {
  0%, 8% { transform: translateX(-140%); }
  32% { transform: translateX(140%); }
  32.01%, 100% { transform: translateX(140%); }
}
@media (prefers-reduced-motion: reduce) {
  .panel-ico svg,
  .panel-ico svg path,
  .panel-ico::after {
    animation: none;
  }
  .panel-ico svg path { stroke-dashoffset: 0; }
  .panel-ico::after { content: none; }
}
.panel:has(.panel-ico) h3 { margin-top: 0; }
a.panel { color: inherit; display: block; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
a.panel:hover { transform: translateY(-4px); box-shadow: var(--shadow); color: inherit; }
.icon-dot {
  width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center;
  background: var(--orange-dim); color: var(--orange); font-family: var(--mono); font-size: 12px;
}

/* Projects widget */
.filters { display: flex; flex-wrap: wrap; gap: 8px; }
.filters + .project-grid { margin-top: 28px; }
.filter {
  border: 1px solid var(--line); background: transparent; color: var(--fog);
  border-radius: 999px; padding: 8px 14px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  cursor: pointer;
  transition: color .32s var(--ease), background-color .32s var(--ease), border-color .32s var(--ease);
}
.filter.is-on, .filter:hover { border-color: var(--orange); color: #fff; background: var(--orange-dim); }
.project-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.project-card {
  display: block; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line);
  background: var(--panel); min-height: 360px; position: relative;
}
.project-card img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transform: scale(1.04); transition: transform 1.1s var(--ease); }
.project-card:hover img { transform: scale(1.12); }
.project-card .shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 12%, rgba(5,7,12,.55) 48%, rgba(5,7,12,.94)); }
.project-card .body { position: absolute; left: 22px; right: 22px; bottom: 20px; }
.tag {
  display: inline-flex; padding: 4px 10px; border-radius: 999px; font-size: 11px;
  letter-spacing: .12em; text-transform: uppercase; border: 1px solid var(--line-strong);
  color: var(--orange); margin-bottom: 10px; font-family: var(--mono);
}
.project-card .tag {
  color: #ffc089;
  background: rgba(6, 10, 16, .48);
  border: 1px solid rgba(255, 176, 96, .4);
  box-shadow: 0 6px 16px rgba(0,0,0,.22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
}
.project-card.wide { grid-column: span 2; min-height: 420px; }

/* Awards */
.award-band {
  position: relative; overflow: hidden; border-radius: 24px; min-height: 320px;
  display: grid; place-items: center; text-align: center; padding: 64px 24px;
  border: 1px solid var(--line);
}
.award-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3) contrast(1.1); }
.award-band .shade { position: absolute; inset: 0; background: rgba(5,7,12,.72); }
.award-band .inner { position: relative; z-index: 1; max-width: 760px; }

/* News */
.news-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px; }
.news-card {
  display: grid; grid-template-rows: 220px 1fr; border: 1px solid var(--line);
  border-radius: var(--radius); overflow: hidden; background: var(--panel);
}
.news-card img { width: 100%; height: 100%; object-fit: cover; }
.news-card .body { padding: 22px; }
.news-card time { font-family: var(--mono); font-size: 11px; color: var(--orange); letter-spacing: .14em; }
.news-archive {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.news-archive .news-card {
  color: inherit;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.news-archive .news-card h3 { font-size: 20px; margin: 8px 0; line-height: 1.25; }
.news-archive .news-card p { margin: 0; }
.news-archive a.news-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
html[data-theme="light"] .news-archive .news-card {
  background: #fff;
  border: 0;
  box-shadow: 0 10px 32px rgba(16,24,40,.06);
}
.news-list { display: grid; gap: 12px; }
.news-row {
  display: grid; grid-template-columns: 120px 1fr; gap: 14px; padding: 12px;
  border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.02);
}
.news-row img { width: 120px; height: 88px; object-fit: cover; border-radius: 10px; }

/* Logo wall */
.logo-wall {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px;
}
.logo-cell {
  height: 110px; display: grid; place-items: center; padding: 18px;
  background: #f4f6f8; border-radius: 14px; border: 1px solid rgba(255,255,255,.08);
}
.logo-wall .logo-cell,
.logo-wall--5 .logo-cell {
  min-height: 140px;
  height: 140px;
  padding: 16px 20px;
  box-sizing: border-box;
}
.logo-wall .logo-cell img,
.logo-wall--5 .logo-cell img {
  max-width: 90%;
  max-height: 100px;
}
a.logo-cell {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
a.logo-cell:focus-visible {
  outline: 2px solid var(--orange);
  outline-offset: 3px;
}
.logo-cell img {
  max-width: 86%; max-height: 64px; object-fit: contain;
  opacity: 1; filter: none;
  transition: transform .28s var(--ease);
}
a.logo-cell:hover img { transform: scale(1.05); }

/* Page hero */
.page-hero {
  padding: calc(var(--header-h) + 72px) 0 64px; overflow: hidden; min-height: 52vh;
  display: grid; align-items: end;
}
.page-hero .bg { position: absolute; inset: 0; overflow: hidden; }
.page-hero .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(.15);
  transform-origin: center center;
  will-change: transform;
  animation: page-hero-zoom 26s ease-in-out infinite alternate;
}
@keyframes page-hero-zoom {
  from { transform: scale(1.04); }
  to { transform: scale(1.14); }
}
@media (prefers-reduced-motion: reduce) {
  .page-hero .bg img { animation: none; transform: none; }
}
.page-hero .bg::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,7,12,.5), rgba(5,7,12,.92));
}

/* Timeline */
.timeline { position: relative; margin-left: 12px; }
.timeline::before {
  content: ""; position: absolute; left: 7px; top: 0; bottom: 0; width: 1px; background: var(--line-strong);
}
.tl-item { position: relative; padding: 0 0 36px 42px; }
.tl-item::before {
  content: ""; position: absolute; left: 0; top: 6px; width: 15px; height: 15px; border-radius: 50%;
  background: var(--void); border: 2px solid var(--orange);
}
.tl-item .year { font-family: var(--mono); color: var(--orange); letter-spacing: .16em; font-size: 12px; }

/* Accordion */
.acc { border-top: 1px solid var(--line); }
.acc-item { border-bottom: 1px solid var(--line); }
.acc-btn {
  width: 100%; text-align: left; background: none; border: 0; color: #fff;
  padding: 20px 0; display: flex; justify-content: space-between; gap: 16px;
  font-family: var(--display); font-size: 22px; cursor: pointer;
}
.acc-btn span {
  display: inline-block;
  line-height: 1;
  transition: color .32s var(--ease), transform .32s var(--ease);
}
.acc-panel {
  display: grid;
  grid-template-rows: 0fr;
  padding: 0;
  color: var(--fog);
  transition: grid-template-rows .45s var(--ease);
}
.acc-panel-inner,
.acc-panel > * {
  overflow: hidden;
  min-height: 0;
}
.acc-panel-inner { padding: 0 0 22px; }
.acc-item.is-open .acc-panel { grid-template-rows: 1fr; }
.acc-item.is-open .acc-btn span { color: var(--orange); transform: rotate(45deg); }
@media (prefers-reduced-motion: reduce) {
  .acc-panel,
  .acc-btn span { transition: none; }
}

/* Forms / contact */
.contact-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 22px;
  align-items: stretch;
}
.field { display: grid; gap: 8px; margin-bottom: 14px; }
.field span { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--mist); }
.field input, .field textarea, .field select {
  width: 100%; background: rgba(255,255,255,.03); border: 1px solid var(--line);
  color: #fff; border-radius: 12px; padding: 14px 14px; outline: none;
}
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--orange); }
.contact-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 0;
  height: 100%;
}
.contact-card a, .contact-card .row {
  display: flex; gap: 14px; align-items: flex-start; padding: 16px;
  border: 1px solid var(--line); border-radius: 14px; background: #fff;
  flex: 0 0 auto;
}
html[data-theme="dark"] .contact-card a,
html[data-theme="dark"] .contact-card .row { background: var(--surface); }
.contact-grid > .panel:has(.wpcf7),
.contact-grid > .panel:has(form.wpcf7-form.panel) {
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
.contact-grid > [data-widget="aeros-contact-form"],
.contact-grid > .panel,
.contact-grid form.wpcf7-form.panel {
  height: 100%;
}
.map-embed-wrap {
  flex: 1 1 auto;
  position: relative;
  min-height: 280px;
  border-radius: 16px;
  overflow: hidden;
}
.map-embed {
  border: 0;
  width: 100%;
  min-height: 280px;
  height: 100%;
  border-radius: 16px;
  filter: grayscale(1) contrast(1.1);
}
.map-embed-wrap .map-embed {
  position: absolute;
  inset: 0;
  min-height: 0;
}

/* Quote */
.quote {
  font-size: clamp(22px, 3vw, 36px); font-family: var(--display); font-weight: 700; line-height: 1.25;
  color: #fff; max-width: 28ch;
}
.quote-author { margin-top: 18px; color: var(--mist); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }

/* Split media */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: start; }
.split img { width: 100%; height: 520px; object-fit: cover; border-radius: 20px; }

/* Footer */
.site-footer { padding: 64px 0 28px; border-top: 1px solid var(--line); background: #070b12; }
.footer-grid { display: grid; grid-template-columns: 1.35fr 0.85fr 0.85fr 0.9fr 1.05fr; gap: 24px; }
.site-footer h4 { font-size: 16px; letter-spacing: .16em; margin-bottom: 16px; color: var(--orange); }
.site-footer a { display: block; color: var(--fog); padding: 4px 0; transition: color .32s var(--ease), opacity .32s var(--ease); }
.site-footer a:hover { color: #fff; }
.site-footer .footer-address {
  margin: 0;
  padding: 4px 0;
  color: var(--fog);
}
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-top: 42px; padding-top: 18px; border-top: 1px solid var(--line);
  color: var(--mist); font-size: 12px;
}

/* WhatsApp */
.wa-float {
  position: fixed; right: 22px; bottom: 22px; z-index: 70;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25D366; display: grid; place-items: center;
  box-shadow: 0 12px 30px rgba(37,211,102,.35);
  transition: transform .3s var(--ease);
}
.wa-float:hover { transform: scale(1.08); }
.wa-float svg { width: 28px; height: 28px; fill: #fff; }

/* Climb / return-to-base */
.climb {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 72;
  width: 68px;
  height: 96px;
  padding: 0;
  border: 1px solid rgba(244,123,31,.4);
  border-radius: 20px;
  background: rgba(10,14,22,.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #f4f6f9;
  cursor: pointer;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px) scale(.96);
  transition: opacity .4s var(--ease), transform .4s var(--ease), visibility .4s, border-color .32s var(--ease), background-color .32s var(--ease);
}
.climb.is-on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}
.climb:hover { border-color: var(--orange); }
.climb-tape {
  position: absolute;
  left: 7px; top: 10px; bottom: 34px; width: 6px;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(244,123,31,.85) 0 2px,
      transparent 2px 8px
    );
  opacity: .55;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
}
.climb-contrail {
  position: absolute;
  left: 50%;
  bottom: 38px;
  width: 2px;
  height: 0;
  margin-left: -1px;
  background: linear-gradient(180deg, rgba(244,123,31,0), #fff);
  opacity: .0;
}
.climb-jet {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 36px;
  margin: 4px auto 0;
  display: block;
  color: var(--orange);
  filter: drop-shadow(0 6px 10px rgba(244,123,31,.35));
  animation: climb-idle 2.4s ease-in-out infinite;
  transform-origin: 50% 70%;
}
.climb-read {
  position: absolute;
  left: 0; right: 0; bottom: 8px;
  display: grid;
  justify-items: center;
  gap: 1px;
  font-family: var(--mono);
  letter-spacing: .14em;
}
.climb-read em {
  font-style: normal;
  font-size: 8px;
  letter-spacing: .12em;
  color: var(--orange);
}
.climb-read b {
  font-weight: 500;
  font-size: 10px;
  color: inherit;
}
.climb.is-launch .climb-jet {
  animation: climb-go .95s var(--ease) forwards;
}
.climb.is-launch .climb-contrail {
  animation: climb-trail .9s var(--ease) forwards;
}
@keyframes climb-idle {
  0%, 100% { transform: translateY(-6px) rotate(0); }
  50% { transform: translateY(-12px) rotate(-6deg); }
}
@keyframes climb-go {
  0% { transform: translateY(-6px) rotate(0); opacity: 1; }
  28% { transform: translateY(-18px) rotate(-10deg); }
  100% { transform: translateY(-120vh) rotate(2deg); opacity: 0; }
}
@keyframes climb-trail {
  0% { height: 0; opacity: 0; }
  30% { height: 42px; opacity: .85; }
  100% { height: 120vh; opacity: 0; }
}
html[data-theme="light"] .climb {
  background: rgba(255,255,255,.9);
  color: #121820;
  box-shadow: 0 12px 32px rgba(16,24,40,.12);
}
body.nav-open .climb { opacity: 0; visibility: hidden; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .climb-jet { animation: none; }
  .climb.is-launch .climb-jet,
  .climb.is-launch .climb-contrail { animation: none; }
  .cap-explore i::after { animation: none; }
  .cap-bento-card:hover .cap-bento-shot { transform: none; }
  .mail-o::before,
  .mail-o::after { animation: none; }
  .hero-slide img,
  .hero-sweep,
  .hero-ring,
  .boot-mark,
  .boot-hud-ring { animation: none; }
}

/* Article / news post */
.article { width: min(820px, calc(100% - 48px)); margin: 0 auto; padding: 24px 0 96px; }
.article p { color: var(--fog); font-size: 17px; }
.article h2 { margin: 36px 0 14px; font-size: 32px; }
.article figure { margin: 28px 0; }
.article figure img { width: 100%; border-radius: 16px; }
.article .meta { font-family: var(--mono); font-size: 12px; color: var(--orange); letter-spacing: .12em; margin-bottom: 18px; }

.post {
  padding: calc(var(--header-h) + 72px) 0 96px;
}
.post-wrap { width: min(920px, calc(100% - 48px)); }
.post-head { max-width: 760px; margin: 0 auto 28px; }
.post-head h1 {
  font-size: clamp(34px, 5vw, 62px);
  margin: 22px 0 18px;
  color: var(--text);
  letter-spacing: .01em;
}
.post .crumbs a { color: var(--mist); }
.post .crumbs a:hover { color: var(--orange); }
.post .crumbs .is-current {
  color: var(--text);
  border-bottom: 1px solid var(--orange);
}
.post-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mist);
}
.post-meta time { color: var(--orange); }
.post-dot {
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--orange); display: inline-block;
}
.post-feature {
  margin: 0 0 40px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(16,24,40,.1);
  background: var(--surface-2);
}
.post-feature img {
  width: 100%;
  height: min(52vh, 460px);
  object-fit: cover;
  display: block;
}
.post-feature.is-doc {
  max-width: 620px;
  margin-inline: auto;
  margin-bottom: 40px;
  background: #fff;
  border: 1px solid var(--line);
}
.post-feature.is-doc img {
  height: auto;
  max-height: min(70vh, 780px);
  object-fit: contain;
  margin: 0 auto;
}
.post-body {
  max-width: 680px;
  margin: 0 auto;
}
.post-body p {
  color: var(--text-soft);
  font-size: 17.5px;
  line-height: 1.8;
  margin: 0 0 20px;
}
.post-body h2 {
  margin: 32px 0 12px;
  font-size: clamp(26px, 3vw, 34px);
  color: var(--text);
}
.post-body a:not(.btn) {
  color: var(--orange);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.post-body .two { margin: 8px 0 24px; }
.post-body .btn { margin-top: 8px; }

/* Breadcrumb */
.crumbs { font-size: 12px; color: var(--mist); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.crumbs a { transition: color .32s var(--ease); }
.crumbs a:hover { color: #fff; }
.page-hero .crumbs,
.page-hero .crumbs a,
.page-hero .crumbs .is-current { color: #fff; }
.page-hero .crumbs a { display: inline; padding: 0; }
.page-hero .crumbs a:hover { color: var(--orange); }
.page-hero .crumbs .is-current {
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 1px solid var(--orange);
  line-height: 1.2;
}

/* Platform tabs */
.platform-switch { display: flex; gap: 8px; margin: 18px 0 28px; }
.platform-switch button {
  flex: 1; min-height: 54px; border-radius: 12px; border: 1px solid var(--line);
  background: transparent; color: var(--fog); font-family: var(--display); font-size: 18px; letter-spacing: .12em;
  text-transform: uppercase; cursor: pointer;
  transition: color .32s var(--ease), background-color .32s var(--ease), border-color .32s var(--ease);
}
.platform-switch button.is-on,
.platform-switch button:hover { background: var(--orange); color: #fff; border-color: var(--orange); }
.platform-pane { display: none; }
.platform-pane.is-on { display: block; }

.checklist li {
  position: relative; padding: 8px 0 8px 28px; color: var(--fog); border-bottom: 1px solid var(--line);
}
.checklist li::before {
  content: ""; position: absolute; left: 0; top: 16px; width: 10px; height: 10px;
  border: 1px solid var(--orange); transform: rotate(45deg);
}

.two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

/* Reveal helpers used by GSAP */
[data-reveal] { will-change: transform, opacity; }

@media (max-width: 1100px) {
  .stats-grid, .project-grid, .logo-wall, .footer-grid, .cap-grid, .why-grid, .news-grid, .news-archive, .contact-grid, .split, .two, .three {
    grid-template-columns: 1fr 1fr;
  }
  .project-card.wide { grid-column: auto; }
  .header-inner { display: flex; align-items: center; }
  .header-tools { margin-left: auto; }
  .menu-toggle { display: block; margin-left: 0; color: inherit; }
}
@media (max-width: 720px) {
  body { cursor: auto; }
  .stats-grid, .project-grid, .logo-wall, .footer-grid, .cap-grid, .why-grid, .news-grid, .news-archive, .contact-grid, .split, .two, .three, .news-row {
    grid-template-columns: 1fr;
  }
  .el-container { width: min(var(--container), calc(100% - 28px)); }
  .section-head, .header-inner { grid-template-columns: 1fr; }
  .sky-head-path { display: none; }
  .brand img.word { height: 28px; }
  .hero { min-height: 92svh; }
  .wa-float { right: 14px; bottom: 14px; }
  .climb { right: 14px; bottom: 14px; width: 60px; height: 88px; }
}

/* Extra widgets */
.cert-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cert-card {
  border: 1px solid var(--line); border-radius: var(--radius); padding: 28px;
  background: linear-gradient(180deg, rgba(244,123,31,.08), rgba(255,255,255,.02));
  min-height: 240px;
}
.cert-card .seal {
  width: 54px; height: 54px; border: 1px solid var(--orange); border-radius: 50%;
  display: grid; place-items: center; color: var(--orange); font-family: var(--mono); font-size: 11px;
  margin-bottom: 18px;
}
.mod-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.mod {
  border: 1px solid var(--line); border-radius: 16px; padding: 22px; background: var(--panel);
}
.mod .num { font-family: var(--mono); color: var(--orange); letter-spacing: .18em; font-size: 12px; }
.partners-note { text-align: center; color: var(--mist); margin-top: 18px; font-size: 13px; }
.page-hero .el-container { position: relative; z-index: 2; }
.hero-copy .lede { margin: 22px 0 28px; max-width: 46ch; }
.brand .logo { height: 32px; width: auto; }
.header-cta { white-space: nowrap; --fg: #fff; color: #fff; }
.site-header { z-index: 90; }
body.nav-open { overflow: hidden; }
.lang-switcher .lang-item a span { font-family: var(--mono); }
.reveal-img { overflow: hidden; border-radius: 20px; }
.reveal-img img { width: 100%; height: 100%; object-fit: cover; }
.stat b { font-variant-numeric: tabular-nums; }
.eyebrow { font-family: var(--mono); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--orange); }
hr.line { border: 0; border-top: 1px solid var(--line); margin: 42px 0; }
.pill {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px;
  border: 1px solid var(--line); border-radius: 999px; font-size: 12px; color: var(--fog);
}
.gallery { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; }
.gallery .g2 { display: grid; gap: 12px; }
.gallery img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; min-height: 180px; }
[data-widget="aeros-project-single"] .gallery {
  grid-template-columns: 1fr;
  min-height: 100%;
}
[data-widget="aeros-project-single"] .gallery img {
  border-radius: 24px;
  min-height: 420px;
  aspect-ratio: 1;
  object-fit: cover;
}
.ethics-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 1100px) {
  .cert-grid, .mod-grid, .ethics-grid { grid-template-columns: 1fr 1fr; }
  .gallery { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .cert-grid, .mod-grid, .ethics-grid { grid-template-columns: 1fr; }
  .header-cta { display: none; }
  .brand .logo { height: 28px; }
  .site-header .brand .logo { height: 35px; }
}

/* ===== Themes (default: light / beyaz) ===== */
:root {
  --bg: #f4f6f8;
  --text: #121820;
  --text-soft: #4a5564;
  --surface: #ffffff;
  --surface-2: #e8ecf1;
  --header-bg: rgba(255,255,255,.92);
  --footer-bg: #101820;
  --footer-text: #d7dde6;
  --void: var(--bg);
  --ink: var(--surface-2);
  --navy: var(--surface);
  --panel: var(--surface);
  --panel-2: var(--surface-2);
  --white: var(--text);
  --fog: var(--text-soft);
  --mist: #6b7380;
  --line: rgba(18,24,32,.1);
  --line-strong: rgba(18,24,32,.16);
  --shadow: 0 18px 50px rgba(16,24,32,.08);
  --header-h: 118px;
}
html[data-theme="dark"] {
  --bg: #05070c; --text: #f4f6f9; --text-soft: #b7c0ce;
  --surface: #121b2b; --surface-2: #0c1422;
  --header-bg: rgba(7,11,18,.88); --footer-bg: #070b12; --footer-text: #b7c0ce;
  --void: #05070c; --ink: #080d16; --navy: #0c1422; --panel: #121b2b;
  --white: #f4f6f9; --fog: #b7c0ce; --mist: #8b95a6;
  --line: rgba(214,222,236,.1); --line-strong: rgba(214,222,236,.18);
  --shadow: 0 24px 80px rgba(0,0,0,.45);
}
html[data-theme="navy"] {
  --bg: #071428; --text: #eef3fb; --text-soft: #9eb0c8;
  --surface: #0d1e3a; --surface-2: #0a1830;
  --header-bg: rgba(7,20,40,.9); --footer-bg: #04101f; --footer-text: #c5d3e6;
  --void: #071428; --ink: #0a1830; --navy: #0d1e3a; --panel: #12264a;
  --white: #eef3fb; --fog: #9eb0c8; --mist: #7e93ad;
  --line: rgba(180,200,230,.12); --orange: #f47b1f;
}
html[data-theme="steel"] {
  --bg: #eceff2; --text: #1b222c; --text-soft: #5b6573;
  --surface: #f7f8fa; --surface-2: #dfe4ea;
  --header-bg: rgba(247,248,250,.94); --footer-bg: #2a313b; --footer-text: #d7dde6;
  --void: #eceff2; --ink: #dfe4ea; --navy: #f7f8fa; --panel: #ffffff;
  --white: #1b222c; --fog: #5b6573; --mist: #7a8492;
  --line: rgba(27,34,44,.12); --orange: #c45e12;
}
html, body { background: var(--bg); color: var(--text); }
.band { background: var(--surface-2); }
.site-header { flex-direction: column; height: auto; min-height: var(--header-h); color: #f4f6f9; }
.site-header.is-scrolled { background: var(--header-bg); color: var(--text); backdrop-filter: blur(18px); }
.topbar { width: 100%; border-bottom: 1px solid rgba(255,255,255,.12); font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; overflow: visible; }
.site-header.is-scrolled .topbar { border-bottom-color: var(--line); }
.topbar-inner { display: flex; justify-content: flex-end; gap: 22px; padding: 8px 0; }
.topbar a:hover { color: var(--orange); }
.header-inner { width: min(1440px, calc(100% - 32px)); }
.brand-type { color: inherit; }
.nav > li > a { color: inherit; }
.filter.is-on, .filter:hover { color: #fff; background: var(--orange); }
.acc-btn { color: var(--text); }
.field input, .field textarea, .field select { color: var(--text); background: var(--surface); }
.quote { color: var(--text); }
.site-footer { background: var(--footer-bg); color: var(--footer-text); }
.site-footer .brand-type { color: #fff; }
.site-footer a { color: var(--footer-text); transition: color .32s var(--ease), opacity .32s var(--ease); }
.site-footer a:hover { color: #fff; }
.ticker { background: var(--surface-2); }
.logo-wall { grid-template-columns: repeat(5, 1fr); }
.logo-wall--5 { grid-template-columns: repeat(5, 1fr); }
.theme-switcher { display: flex; gap: 6px; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.06); }
.swatch { width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); cursor: pointer; padding: 0; }
.swatch.is-on { outline: 2px solid var(--orange); outline-offset: 2px; }
.swatch-light { background: #f4f6f8; }
.swatch-dark { background: #0b1220; }
.swatch-navy { background: #12315c; }
.swatch-steel { background: #8a93a0; }
.header-contact { display: none; }

/* Cinematic hero */
.hero--cinematic {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.hero-slides {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.hero-slide {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 1.15s ease;
  pointer-events: none;
}
.hero-slide.is-on { opacity: 1; z-index: 1; }
.hero-slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: scale(1.08);
  animation: ken 16s ease-in-out infinite alternate;
  animation-play-state: paused;
}
.hero-slide.is-on img { animation-play-state: running; }
.hero-slide--f16 img { object-position: 58% 38%; }
.hero-slide--ef img {
  object-position: 48% 40%;
  transform: none;
  animation: none;
}
@keyframes ken { to { transform: scale(1.18) translate3d(-1.5%, 1.5%, 0); } }
.hero-sweep { position: absolute; inset: 0; z-index: 2; background: linear-gradient(105deg, transparent 40%, rgba(244,123,31,.18) 50%, transparent 60%); background-size: 220% 100%; animation: sweep 5.5s ease-in-out infinite; pointer-events: none; }
@keyframes sweep { 0%, 30% { background-position: 120% 0; } 70%, 100% { background-position: -20% 0; } }
.hero-ring { position: absolute; right: 8%; top: 18%; width: min(42vw, 520px); aspect-ratio: 1; border: 1px solid rgba(244,123,31,.35); border-radius: 50%; pointer-events: none; animation: spin 18s linear infinite; box-shadow: inset 0 0 80px rgba(244,123,31,.08), 0 0 40px rgba(244,123,31,.12); z-index: 3; }
.hero-ring::after { content: ""; position: absolute; inset: 12%; border: 1px dashed rgba(255,255,255,.2); border-radius: 50%; }
.hero-hud { position: absolute; left: 24px; top: calc(var(--header-h) + 18px); display: flex; flex-direction: column; gap: 6px; font-family: var(--mono); font-size: 10px; letter-spacing: .2em; color: #7dff9a; text-shadow: 0 0 8px rgba(70, 255, 140, .45); font-variant-numeric: tabular-nums; z-index: 3; }
.hero, .page-hero { color: #f4f6f9; }
.hero .lede, .page-hero .lede { color: rgba(244,246,249,.84); }

/* Work + audience */
.work-grid, .audience-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.work-card { display: block; padding: 22px; min-height: 230px; border-radius: 18px; border: 1px solid var(--line); background: var(--surface); }
.work-card .idx { font-family: var(--mono); color: var(--orange); letter-spacing: .16em; font-size: 11px; margin-bottom: 16px; }
.work-card p { color: var(--fog); margin: 10px 0 0; font-size: 14px; }
.work-card:hover { border-color: var(--orange); transform: translateY(-4px); transition: .35s var(--ease); }

/* Logo carousel */
.logo-carousel { overflow: hidden; padding: 10px 0 8px; }
.logo-carousel-track { display: flex; gap: 18px; width: max-content; animation: marquee 42s linear infinite; }
.logo-carousel .logo-cell { width: 240px; height: 148px; flex: 0 0 auto; }
.logo-carousel .logo-cell img { max-height: 84px; }

/* Award showcase */
.award-showcase {
  display: grid; grid-template-columns: .8fr 1.2fr .9fr; gap: 28px; align-items: center;
  padding: 36px; border-radius: 28px; border: 1px solid var(--line); background: var(--surface);
  overflow: hidden; position: relative;
}
.award-logo-wrap { background: #fff; border-radius: 16px; padding: 22px; display: grid; place-items: center; }
.award-logo-wrap img { width: 100%; height: auto; }
.award-trophy-wrap { position: relative; display: grid; place-items: center; min-height: 340px; }
.award-trophy-wrap img { width: min(220px, 100%); height: auto; position: relative; z-index: 1; filter: drop-shadow(0 24px 30px rgba(0,0,0,.28)); animation: floaty 3.6s ease-in-out infinite; }
.award-glow { position: absolute; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(244,123,31,.45), transparent 68%); filter: blur(8px); animation: pulse 2.8s ease-in-out infinite; }
@keyframes floaty { 50% { transform: translateY(-12px) rotate(-2deg); } }
@keyframes pulse { 50% { transform: scale(1.15); opacity: .7; } }

.project-card.is-hidden { display: none; }

/* Alt home sky */
.sky-hero { min-height: 100svh; overflow: hidden; background: linear-gradient(180deg, #7eb6e0 0%, #cfe6f6 42%, #eef4f8 100%); color: #102033; padding: calc(var(--header-h) + 40px) 0 80px; }
.sky-hero h1 { color: #0b1a2c; }
.sky-hero .lede { color: #314257; }
.craft { position: absolute; pointer-events: none; will-change: transform; }
.craft-f16 { width: min(42vw, 520px); top: 18%; right: -10%; filter: drop-shadow(0 20px 18px rgba(20,40,70,.25)); }
.craft-heli { width: min(28vw, 320px); top: 48%; left: -8%; opacity: .9; }
.craft-jet { width: min(24vw, 280px); top: 28%; left: 8%; opacity: .75; }
.runway { position: absolute; left: 0; right: 0; bottom: 8%; height: 3px; background: repeating-linear-gradient(90deg, #fff 0 28px, transparent 28px 52px); opacity: .55; }
.alt-stack { display: grid; gap: 0; }
.alt-panel { min-height: 42vh; display: grid; grid-template-columns: 1fr 1fr; }
.alt-panel img { width: 100%; height: 100%; object-fit: cover; min-height: 320px; }
.alt-panel .txt { padding: 64px 48px; display: grid; align-content: center; background: var(--surface); }
.alt-panel:nth-child(even) { direction: rtl; }
.alt-panel:nth-child(even) > * { direction: ltr; }
.hscroll { display: flex; gap: 16px; overflow-x: auto; padding: 8px 0 24px; scroll-snap-type: x mandatory; }
.hscroll .project-card { min-width: min(72vw, 380px); scroll-snap-align: start; }

@media (max-width: 1100px) {
  .work-grid, .audience-grid, .award-showcase, .alt-panel { grid-template-columns: 1fr 1fr; }
  .logo-wall, .logo-wall--5 { grid-template-columns: repeat(3, 1fr); }
  .hero-hud { display: none; }
}
@media (max-width: 720px) {
  .work-grid, .audience-grid, .award-showcase { grid-template-columns: 1fr; }
  .logo-wall, .logo-wall--5 { grid-template-columns: 1fr 1fr; }
  .topbar { display: none; }
  :root { --header-h: 84px; }
  .header-cta { display: none; }
}

/* ===== Fixes: header, themes, menus, award, bento ===== */
.stat b { color: var(--text); }
.nav > li > a:hover,
.nav > li.current-menu-item > a,
.nav > li.is-active > a { color: var(--orange); }
.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after { background: currentColor; }
.site-header.is-scrolled { background: var(--header-bg) !important; color: var(--text); }
.nav > li > a { color: inherit; white-space: nowrap; padding: 10px 9px; font-size: 14px; transition: color .32s var(--ease), background-color .32s var(--ease), opacity .32s var(--ease); }

.topbar-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 8px 0;
}
.topbar-contact { display: flex; align-items: center; gap: 18px; }
.topbar-link {
  display: inline-flex; align-items: center; gap: 8px;
  letter-spacing: .08em; text-transform: none;
  overflow: visible;
  transition: color .32s var(--ease), opacity .32s var(--ease);
}

/* infoo — extra o as a radar / engine intake */
.mail-o {
  position: relative;
  display: inline-block;
  vertical-align: baseline;
  color: var(--orange);
  font-weight: inherit;
  font-style: normal;
  line-height: inherit;
  letter-spacing: inherit;
  padding: 0;
  margin: 0;
  text-shadow: 0 0 10px rgba(244,123,31,.45);
  overflow: visible;
}
.mail-o::before,
.mail-o::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.55em;
  height: 1.55em;
  margin: -0.775em 0 0 -0.775em;
  border-radius: 50%;
  pointer-events: none;
  box-sizing: border-box;
  transform-origin: 50% 50%;
}
.mail-o::before {
  border: 1.45px solid rgba(244,123,31,.2);
  border-top-color: var(--orange);
  border-right-color: #fff;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23f47b1f' d='M6 1.1l1.05 3.85L11 6l-3.95 1.05L6 10.9 4.95 7.05 1 6l3.95-1.05z'/%3E%3C/svg%3E") 50% -0.02em / .34em .34em no-repeat;
  animation: mail-o-orbit 2.6s linear infinite;
}
.mail-o::after {
  width: 1.32em;
  height: 1.32em;
  margin: -0.66em 0 0 -0.66em;
  box-shadow: 0 0 0 1px rgba(244,123,31,.28);
  animation: mail-o-ping 2.4s ease-out infinite;
}
a:hover .mail-o {
  text-shadow: 0 0 14px rgba(244,123,31,.7);
}
a:hover .mail-o::before { animation-duration: 1.1s; }
.contact-card a,
.contact-card h3 { overflow: visible; }
@keyframes mail-o-orbit { to { transform: rotate(360deg); } }
@keyframes mail-o-ping {
  0% { transform: scale(.85); opacity: .55; }
  100% { transform: scale(1.55); opacity: 0; }
}
.topbar-link svg { width: 14px; height: 14px; flex: 0 0 auto; opacity: .9; }
.topbar .theme-switcher { margin-left: auto; }
.theme-switcher {
  border-color: rgba(255,255,255,.28);
  background: rgba(0,0,0,.18);
}
.site-header.is-scrolled .theme-switcher {
  border-color: var(--line);
  background: rgba(127,127,127,.12);
}
.swatch { border-color: rgba(0,0,0,.25); }

/* Submenu: no hover gap */
.nav > li { padding-bottom: 0; }
.sub-menu {
  top: 100%;
  padding: 12px 10px 10px;
  margin-top: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.sub-menu::before {
  content: "";
  position: absolute; left: 0; right: 0; top: -14px; height: 14px;
}
.sub-menu a { color: var(--text-soft); transition: color .28s var(--ease), background-color .28s var(--ease); }
.sub-menu a:hover,
.sub-menu .current-menu-item > a,
.sub-menu .current_page_item > a,
.sub-menu .is-active > a { background: var(--orange-dim); color: var(--text); }

html[data-theme="navy"] {
  --panel: #12264a;
  --navy: #0d1e3a;
}
.panel { background: var(--surface); }
.field input, .field textarea, .field select { border-color: var(--line); }

/* Capabilities bento */
.work-bento {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  grid-template-rows: 240px 240px;
  gap: 14px;
}
.work-bento .work-card {
  position: relative; overflow: hidden; border-radius: 20px;
  border: 1px solid var(--line); min-height: 0; padding: 0; color: #f4f6f9;
}
.work-bento .work-card.is-lg { grid-row: span 2; }
.work-bento .work-card img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.04); transition: transform 1s var(--ease);
}
.work-bento .work-card:hover img { transform: scale(1.1); }
.work-bento .work-card .body {
  position: absolute; inset: auto 0 0 0; padding: 22px;
  background: linear-gradient(180deg, transparent, rgba(6,10,16,.92));
}
.work-bento .work-card p { color: rgba(244,246,249,.8); margin: 8px 0 0; font-size: 14px; }
.work-bento .work-card .idx { color: var(--orange); }

/* Trainings editorial */
.audience-stage { display: grid; grid-template-columns: .9fr 1.1fr; gap: 22px; align-items: stretch; }
.audience-visual { position: relative; min-height: 460px; border-radius: 24px; overflow: hidden; }
.audience-visual img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.audience-visual-copy {
  position: absolute; left: 22px; right: 22px; bottom: 22px; color: #f4f6f9;
}
.audience-list { list-style: none; margin: 0; padding: 0; display: grid; }
.audience-list li {
  display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: start;
  padding: 18px 8px; border-bottom: 1px solid var(--line);
  transition: background .3s var(--ease), padding-left .3s var(--ease);
}
.audience-list li:hover { background: var(--orange-dim); padding-left: 10px; }
.audience-list li span {
  font-family: var(--mono); color: var(--orange); letter-spacing: .14em; font-size: 12px; padding-top: 4px;
}
.audience-list h3 { margin: 0 0 6px; }
.audience-list p { margin: 0; color: var(--fog); font-size: 14px; }

/* Award cinematic */
.award-cinematic {
  display: grid; grid-template-columns: 1.1fr .9fr; gap: 0;
  min-height: 420px; border-radius: 28px; overflow: hidden;
  background:
    radial-gradient(ellipse at 78% 40%, rgba(244,123,31,.16), transparent 42%),
    linear-gradient(160deg, #12151c 0%, #07090d 55%, #10141c 100%);
  color: #f4f6f9;
  border: 1px solid rgba(255,255,255,.06);
}
.award-cinematic-copy { padding: 56px 48px; display: grid; align-content: center; }
.award-cinematic .lede { color: rgba(244,246,249,.78); }
.award-badge {
  width: max-content; background: #fff; border-radius: 12px; padding: 10px 14px; margin-bottom: 22px;
}
.award-badge img { display: block; height: 48px; width: auto; }
.award-figure {
  margin: 0; display: grid; place-items: end center; padding: 28px 28px 0;
  background:
    linear-gradient(180deg, transparent 20%, rgba(0,0,0,.35)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 18px);
}
.award-figure img {
  width: min(260px, 70%); height: auto;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.45));
}

@media (max-width: 1100px) {
  .work-bento { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .work-bento .work-card { min-height: 240px; }
  .work-bento .work-card.is-lg { grid-row: auto; grid-column: 1 / -1; min-height: 320px; }
  .audience-stage, .award-cinematic { grid-template-columns: 1fr; }
  .audience-visual { min-height: 280px; }
}
@media (max-width: 720px) {
  .topbar { display: flex; }
  .topbar-link span { font-size: 10px; }
  .work-bento { grid-template-columns: 1fr; }
  .award-cinematic-copy { padding: 32px 22px; }
}

/* ===== Polish: themes, submenu, filters, cap strip, train board, award ===== */
/* Keep HUD / hero copy readable on every theme */
.hero, .page-hero, .hero-copy { color: #f4f6f9; }
.hero .lede,
.hero-copy .lede,
.page-hero .lede { color: rgba(244,246,249,.88) !important; }
.hero-meta { color: rgba(244,246,249,.7) !important; }
.hero-meta b { color: #fff !important; }
.hero-hud { color: #7dff9a; text-shadow: 0 0 8px rgba(70, 255, 140, .45); }

.topbar { color: inherit; }
.topbar-link { color: inherit; }
html, body { background: var(--bg); color: var(--text); }
.btn--ghost { --fg: var(--text); }
.hero .btn--ghost,
.page-hero .btn--ghost,
.sky-hero .btn--ghost { --fg: #f4f6f9; border-color: rgba(255,255,255,.35); }
html[data-theme="navy"] {
  --line-strong: rgba(180,200,230,.22);
  --shadow: 0 24px 80px rgba(0,0,0,.45);
}
html[data-theme="steel"] { --orange: #f47b1f; }
.project-card h3 { color: #f4f6f9; }
.project-card .muted { color: rgba(244,246,249,.78); }
.news-card h3, .news-row h3, .panel h3, .mod h3 { color: var(--text); }
.filter { color: var(--text); }
.filter.is-on, .filter:hover { color: #fff; background: var(--orange); border-color: var(--orange); }
.site-header { color: #f4f6f9; }
.site-header.is-scrolled { color: var(--text); }
body:has(.sky-hero) .site-header:not(.is-scrolled) { color: #102033; }
body:has(.sky-hero) .site-header:not(.is-scrolled) .brand .logo-on-dark { display: none; }
body:has(.sky-hero) .site-header:not(.is-scrolled) .brand .logo-on-light { display: block; }
body:has(.sky-hero) .site-header:not(.is-scrolled) .topbar { border-bottom-color: rgba(16,32,51,.14); }
body:has(.sky-hero) .site-header:not(.is-scrolled) .theme-switcher {
  border-color: rgba(16,32,51,.18); background: rgba(255,255,255,.6);
}
body:has(.sky-hero) .site-header:not(.is-scrolled) .lang-switcher {
  background: rgba(255,255,255,.82);
  border-color: rgba(16,32,51,.16);
}

/* Blog single: light paper, no cinematic hero — keep chrome readable at top */
body:has(.post) .site-header:not(.is-scrolled) {
  color: var(--text);
  background: var(--header-bg);
  backdrop-filter: blur(18px);
  border-bottom-color: var(--line);
}
body:has(.post) .site-header:not(.is-scrolled) .topbar { border-bottom-color: var(--line); }
body:has(.post) .site-header:not(.is-scrolled) .brand-type { color: var(--text); }
body:has(.post) .site-header:not(.is-scrolled) .brand .logo-on-dark { display: none; }
body:has(.post) .site-header:not(.is-scrolled) .brand .logo-on-light { display: block; }
html[data-theme="dark"] body:has(.post) .site-header:not(.is-scrolled) .brand .logo-on-dark,
html[data-theme="navy"] body:has(.post) .site-header:not(.is-scrolled) .brand .logo-on-dark { display: block; }
html[data-theme="dark"] body:has(.post) .site-header:not(.is-scrolled) .brand .logo-on-light,
html[data-theme="navy"] body:has(.post) .site-header:not(.is-scrolled) .brand .logo-on-light { display: none; }
body:has(.post) .site-header:not(.is-scrolled) .theme-toggle {
  border-color: var(--line);
  background: rgba(127,127,127,.12);
}
body:has(.post) .site-header:not(.is-scrolled) .lang-switcher {
  color: var(--text);
  background: rgba(255,255,255,.9);
  border-color: var(--line);
}
html[data-theme="dark"] body:has(.post) .site-header:not(.is-scrolled) .lang-switcher,
html[data-theme="navy"] body:has(.post) .site-header:not(.is-scrolled) .lang-switcher {
  background: rgba(127,127,127,.1);
}
body:has(.post) .site-header:not(.is-scrolled) .lang-switcher .lang-item:not(.current-lang) a {
  color: var(--text);
  opacity: .75;
}
body:has(.post) .site-header:not(.is-scrolled) .menu-toggle {
  color: var(--text);
  border-color: var(--line);
}

/* Submenu: overlap parent so the pointer never drops the hover */
.nav > li { position: relative; }
.nav > li::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: 100%;
  height: 24px;
}
.sub-menu {
  top: calc(100% - 4px);
  margin-top: 0;
  padding: 10px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 12px, 0);
  transform-origin: 24px top;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  transition: opacity .34s var(--ease), transform .34s var(--ease), visibility .34s;
}
.sub-menu::before { display: none; }
.nav > li:hover > .sub-menu,
.nav > li:focus-within > .sub-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}
.sub-menu > li {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  transition: opacity .3s var(--ease), transform .3s var(--ease);
  transition-delay: 0s;
}
.sub-menu > li:nth-child(1) { --sub-i: 0; }
.sub-menu > li:nth-child(2) { --sub-i: 1; }
.sub-menu > li:nth-child(3) { --sub-i: 2; }
.sub-menu > li:nth-child(4) { --sub-i: 3; }
.sub-menu > li:nth-child(5) { --sub-i: 4; }
.sub-menu > li:nth-child(6) { --sub-i: 5; }
.sub-menu > li:nth-child(7) { --sub-i: 6; }
.sub-menu > li:nth-child(8) { --sub-i: 7; }
.nav > li:hover > .sub-menu > li,
.nav > li:focus-within > .sub-menu > li {
  opacity: 1;
  transform: none;
  transition-delay: calc(var(--sub-i, 0) * .07s + .05s);
}
.sub-menu a { color: var(--text); }
.sub-menu a:hover,
.sub-menu .current-menu-item > a,
.sub-menu .current_page_item > a,
.sub-menu .is-active > a { background: var(--orange-dim); color: var(--text); }

.project-grid { position: relative; }
.project-card.is-filtered-out { display: none !important; }

/* Capabilities: expanding image strip, 4 tiles not 5 columns */
.cap-strip {
  display: flex;
  height: 560px;
  gap: 10px;
}
.cap-tile {
  position: relative;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  border-radius: 22px;
  color: #f4f6f9;
  isolation: isolate;
  transition: flex .7s var(--ease);
}
.cap-tile img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.06);
  transition: transform 1.1s var(--ease);
}
.cap-tile::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,7,12,.08) 20%, rgba(5,7,12,.88));
}
.cap-tile-body {
  position: absolute; left: 0; right: 0; bottom: 0;
  z-index: 1; padding: 28px 24px;
}
.cap-tile .idx {
  display: block;
  font-family: var(--mono);
  color: var(--orange);
  letter-spacing: .18em;
  font-size: 11px;
  margin-bottom: 12px;
}
.cap-tile h3 { font-size: clamp(22px, 2vw, 34px); max-width: 12ch; }
.cap-tile p {
  margin: 10px 0 0;
  max-width: 36ch;
  font-size: 14px;
  color: rgba(244,246,249,.8);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .45s var(--ease), opacity .35s var(--ease);
}
.cap-tile:first-child { flex: 2.2; }
.cap-strip:hover .cap-tile:first-child { flex: 1; }
.cap-tile:hover,
.cap-strip:hover .cap-tile:hover { flex: 2.2; }
.cap-tile:first-child p,
.cap-tile:hover p { max-height: 6em; opacity: 1; }
.cap-strip:hover .cap-tile:first-child:not(:hover) p { max-height: 0; opacity: 0; }
.cap-tile:hover img { transform: scale(1.12); }

/* Trainings: visual board, not 5-up text columns */
.train-board {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 16px;
  min-height: 540px;
}
.train-visual {
  position: relative;
  min-height: 540px;
  border-radius: 24px;
  overflow: hidden;
}
.train-visual img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transform: scale(1.08);
  transition: opacity .55s var(--ease), transform 1.1s var(--ease);
}
.train-visual img.is-on { opacity: 1; transform: scale(1); }
.train-visual::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 28%, rgba(5,7,12,.9));
  pointer-events: none;
}
.train-visual-copy {
  position: absolute; left: 28px; right: 28px; bottom: 28px;
  z-index: 2; color: #f4f6f9;
}
.train-people { display: grid; align-content: stretch; }
.train-person {
  display: grid;
  grid-template-columns: 76px 36px 1fr;
  gap: 12px;
  align-items: center;
  text-align: left;
  width: 100%;
  margin: 0;
  padding: 12px 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: inherit;
  cursor: pointer;
  border-radius: 14px;
  transition: background .3s var(--ease), transform .3s var(--ease);
}
.train-person img {
  width: 76px; height: 64px; object-fit: cover; border-radius: 12px;
}
.train-person span {
  font-family: var(--mono); color: var(--orange); letter-spacing: .12em; font-size: 12px;
}
.train-person h3 { margin: 0 0 4px; font-size: 20px; }
.train-person p { margin: 0; color: var(--fog); font-size: 13px; }
.train-person:hover,
.train-person.is-on { background: var(--orange-dim); }

.curriculum {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.curr-card {
  display: grid;
  grid-template-columns: 168px 1fr;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid var(--line);
  background: var(--surface);
  min-height: 168px;
}
.curr-card:first-child {
  grid-column: 1 / -1;
  grid-template-columns: 1.05fr .95fr;
  min-height: 300px;
}
.curr-media { position: relative; min-height: 168px; }
.curr-media img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.curr-media .num {
  position: absolute; left: 14px; bottom: 14px; z-index: 1;
  font-family: var(--mono); letter-spacing: .16em; color: #fff;
  background: rgba(5,7,12,.5); border: 1px solid rgba(255,255,255,.16);
  padding: 6px 10px; border-radius: 999px; font-size: 12px;
}
.curr-body { padding: 24px 22px; display: grid; align-content: center; position: relative; }
.curr-body h3 { margin: 0 0 8px; }

/* Award: hangar spotlight, no white sticker */
.award-stage {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  min-height: 0;
  align-items: stretch;
  border-radius: 32px;
  overflow: hidden;
  color: #f4f6f9;
  border: 1px solid rgba(255,255,255,.06);
  background: #07080b;
}
.award-stage-lights {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 48% 36% at 74% 12%, rgba(255,214,150,.2), transparent 62%),
    radial-gradient(ellipse 36% 28% at 72% 88%, rgba(244,123,31,.14), transparent 70%),
    linear-gradient(165deg, #151820 0%, #07080b 48%, #0c0e12 100%);
  pointer-events: none;
}
.award-copy {
  position: relative;
  z-index: 2;
  padding: 48px 28px 48px 52px;
  display: grid;
  align-content: center;
}
.award-copy .lede { color: rgba(244,246,249,.78); }
.award-logos {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 22px;
  margin-bottom: 28px;
}
.award-logo-shine {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
}
.award-logo-shine:nth-child(2) {
  padding-left: 22px;
  border-left: 1px solid rgba(255,255,255,.18);
}
.award-logo { height: 72px; width: auto; max-width: min(280px, 100%); object-fit: contain; margin: 0; }
.award-logo--ssb {
  height: 58px;
  max-width: min(320px, 100%);
}
.award-logo-shine::after,
.award-trophy-glint::after {
  content: "";
  position: absolute;
  top: -8%;
  bottom: -8%;
  left: 0;
  width: 42%;
  height: auto;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(255,255,255,.06) 38%,
    rgba(255,255,255,.78) 50%,
    rgba(255,255,255,.06) 62%,
    transparent 100%
  );
  transform: translateX(-180%);
  pointer-events: none;
  mix-blend-mode: screen;
}
.award-logos .award-logo-shine:nth-child(1)::after {
  animation: award-logo-sheen 6.54s ease-in-out infinite;
}
.award-logos .award-logo-shine:nth-child(2)::after {
  animation: award-logo-sheen 6.54s ease-in-out 2.18s infinite;
}
.award-trophy-shine {
  position: relative;
  z-index: 2;
  display: block;
  width: max-content;
  max-width: 92%;
  justify-self: center;
  line-height: 0;
}
.award-trophy-shine .award-trophy { z-index: 1; }
.award-trophy-glint {
  position: absolute;
  z-index: 3;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: var(--shine-src);
  mask-image: var(--shine-src);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.award-trophy-glint::after {
  animation: award-logo-sheen 6.54s ease-in-out 4.36s infinite;
}
.award-logos .award-logo-shine:nth-child(1) img {
  animation: award-logo-glow 6.54s ease-in-out infinite;
}
.award-logos .award-logo-shine:nth-child(2) img {
  animation: award-logo-glow 6.54s ease-in-out 2.18s infinite;
}
.award-trophy-shine .award-trophy {
  animation: award-logo-glow 6.54s ease-in-out 4.36s infinite;
}
@keyframes award-logo-sheen {
  0% { transform: translateX(-180%); }
  25.69% { transform: translateX(340%); }
  25.7%, 100% { transform: translateX(340%); }
}
@keyframes award-logo-glow {
  0% { filter: brightness(1); }
  12.85% { filter: brightness(1.38) drop-shadow(0 0 12px rgba(255,255,255,.32)); }
  25.69%, 100% { filter: brightness(1); }
}
@media (prefers-reduced-motion: reduce) {
  .award-logo-shine::after,
  .award-trophy-glint::after,
  .award-logos .award-logo-shine img,
  .award-trophy-shine .award-trophy {
    animation: none;
  }
  .award-logo-shine::after,
  .award-trophy-glint::after { content: none; }
}
.award-hero {
  position: relative;
  margin: 0;
  display: grid;
  place-items: center;
  padding: 28px 48px 28px 8px;
}
.award-spot {
  position: absolute;
  width: 320px; height: 320px;
  top: 4%; left: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(255,224,170,.32), transparent 68%);
  filter: blur(10px);
}
.award-trophy {
  position: relative;
  z-index: 2;
  width: auto;
  height: 340px;
  max-width: 92%;
  object-fit: contain;
  filter: drop-shadow(0 30px 36px rgba(0,0,0,.55));
}
.award-floor {
  position: absolute;
  left: 16%; right: 16%; bottom: 22px;
  height: 36px;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.16), transparent 72%);
  filter: blur(8px);
}

@media (max-width: 1100px) {
  .nav > li::after { display: none; }
  body.nav-open .site-header {
    background: var(--header-bg) !important;
    color: var(--text);
  }
  .nav {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #0b1018;
    color: #f4f6f9;
    padding: 8px 16px 28px 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    align-items: stretch;
    gap: 0;
    max-height: calc(100dvh - var(--header-h));
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 85;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, -18px, 0);
    filter: blur(8px);
    transition:
      opacity .48s var(--ease),
      transform .55s var(--ease),
      filter .45s var(--ease),
      visibility .48s linear;
  }
  body.nav-open .nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    filter: none;
  }
  .nav > li {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    transition: opacity .4s var(--ease), transform .48s var(--ease);
  }
  body.nav-open .nav > li {
    opacity: 1;
    transform: none;
    transition-delay: calc(.05s + var(--nav-i) * .045s);
  }
  .nav > li > a {
    width: 100%;
    justify-content: space-between;
    color: #f4f6f9;
    padding: 14px 10px 14px 2px;
    overflow: visible;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .nav > li.is-open > a,
  .nav > li.is-active > a { color: var(--orange); }
  .nav > li > a .caret {
    position: relative;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    margin-left: 8px;
    border: 0;
    transform: none;
    overflow: visible;
  }
  .nav > li > a .caret::before {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .32s var(--ease);
  }
  .nav > li > a .caret::after { display: none; }
  .nav > li.is-open > a .caret::before {
    transform: rotate(225deg);
  }
  .nav > li:hover > .sub-menu,
  .nav > li:focus-within > .sub-menu {
    opacity: 0;
    pointer-events: none;
    transform: none;
    visibility: hidden;
    max-height: 0;
  }
  .sub-menu {
    display: block;
    position: static;
    visibility: visible;
    opacity: 0;
    pointer-events: none;
    transform: none !important;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0 0 0 12px;
    max-height: 0;
    overflow: hidden;
    transition: max-height .36s var(--ease), opacity .28s var(--ease), padding .36s var(--ease);
  }
  .nav > li.is-open > .sub-menu,
  .nav > li.is-open:hover > .sub-menu,
  .nav > li.is-open:focus-within > .sub-menu {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    max-height: 320px;
    padding: 4px 0 10px 12px;
  }
  .sub-menu > li {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .sub-menu a { color: rgba(244,246,249,.82); }
  .sub-menu a:hover,
  .sub-menu .current-menu-item > a,
  .sub-menu .current_page_item > a,
  .sub-menu .is-active > a {
    background: var(--orange-dim);
    color: #fff;
  }
  @media (prefers-reduced-motion: reduce) {
    .nav,
    .nav > li,
    .menu-toggle span,
    .menu-toggle span::before,
    .menu-toggle span::after { transition: none; filter: none; }
  }
  .cap-strip { flex-direction: column; height: auto; }
  .cap-tile,
  .cap-tile:first-child,
  .cap-strip:hover .cap-tile:first-child,
  .cap-tile:hover { flex: none; min-height: 220px; }
  .cap-tile p,
  .cap-strip:hover .cap-tile:first-child:not(:hover) p { max-height: 6em; opacity: 1; }
  .train-board, .award-stage, .curriculum { grid-template-columns: 1fr; }
  .curr-card,
  .curr-card:first-child { grid-template-columns: 1fr; min-height: 0; }
  .curr-media, .curr-card:first-child .curr-media { min-height: 200px; }
  .train-visual { min-height: 280px; }
  .award-copy { padding: 36px 24px 28px; }
  .award-logo { height: 64px; }
  .award-logo--ssb { height: 50px; }
  .award-logo-shine:nth-child(2) { padding-left: 16px; }
  .award-hero { padding: 8px 24px 32px; }
  .award-trophy { height: 260px; }
}
@media (max-width: 720px) {
  .award-logo-shine:nth-child(2),
  .award-logo--ssb { padding-left: 0; border-left: 0; }
  .train-person { grid-template-columns: 56px 32px 1fr; padding: 10px 4px; }
  .train-person img { width: 56px; height: 48px; }
  .topbar { display: flex !important; }
  .chrome-row { width: calc(100% - 28px); }
  .topbar-inner { padding-inline: 0; justify-content: space-between; }
  .topbar-link span { display: none; }
  .topbar-contact { gap: 10px; }
}

/* ===== 2026 polish: chrome, fleet, footer, refs, award ===== */
.chrome-row {
  width: min(1440px, calc(100% - 48px));
  margin-inline: auto;
}
.topbar-inner,
.header-inner { width: min(1440px, calc(100% - 48px)); }
.topbar-inner { padding: 7px 0; min-height: 34px; }
.header-inner { padding: 11px 0 13px; gap: 20px; }
:root { --header-h: 104px; }
html[data-theme="light"] { --header-h: 104px; }

.theme-toggle {
  display: inline-flex; align-items: center; gap: 8px;
  margin-left: auto; padding: 4px 8px 4px 10px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(0,0,0,.18);
  border-radius: 999px; color: inherit; cursor: pointer;
}
.site-header.is-scrolled .theme-toggle { border-color: var(--line); background: rgba(127,127,127,.12); }
.theme-toggle svg { width: 15px; height: 15px; }
.theme-toggle-track {
  width: 34px; height: 18px; border-radius: 999px;
  background: rgba(255,255,255,.18); position: relative; display: block;
}
.theme-toggle-track i {
  position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%;
  background: #f4f6f9; transition: transform .35s var(--ease);
  box-shadow: 0 1px 3px rgba(0,0,0,.35);
}
.theme-toggle.is-dark .theme-toggle-track i { transform: translateX(16px); background: #0b1220; box-shadow: 0 1px 3px rgba(0,0,0,.45); }
html[data-theme="light"] .site-header.is-scrolled .theme-toggle-track,
html[data-theme="steel"] .site-header.is-scrolled .theme-toggle-track,
html[data-theme="light"] body:has(.post) .site-header:not(.is-scrolled) .theme-toggle-track,
html[data-theme="steel"] body:has(.post) .site-header:not(.is-scrolled) .theme-toggle-track,
html[data-theme="light"] body:has(.sky-hero) .site-header:not(.is-scrolled) .theme-toggle-track,
html[data-theme="steel"] body:has(.sky-hero) .site-header:not(.is-scrolled) .theme-toggle-track {
  background: #e6e9ed;
  box-shadow: inset 0 0 0 1px rgba(16,32,51,.08);
}
html[data-theme="light"] .theme-toggle-track i,
html[data-theme="steel"] .theme-toggle-track i {
  background: #fff;
  box-shadow: 0 1px 4px rgba(16,32,51,.38), 0 0 0 1px rgba(16,32,51,.14);
}
.theme-toggle .i-sun { opacity: 1; }
.theme-toggle .i-moon { opacity: .45; }
.theme-toggle.is-dark .i-sun { opacity: .45; }
.theme-toggle.is-dark .i-moon { opacity: 1; }

.lang-switcher .lang-item a {
  transition: transform .28s var(--ease), background .28s var(--ease), color .28s, opacity .28s;
}
.lang-switcher .lang-item:not(.current-lang) a {
  color: inherit;
  opacity: .88;
}
.lang-switcher .lang-item a img { transition: transform .28s var(--ease); }
.lang-switcher .lang-item a:hover {
  transform: translateY(-2px);
  background: rgba(127,127,127,.16);
  color: inherit;
  opacity: 1;
}
.lang-switcher .lang-item a:hover img { transform: scale(1.18); }
.lang-switcher .current-lang a,
.lang-switcher .current-lang a:hover { color: #fff; opacity: 1; background: var(--orange); }
.site-header.is-scrolled .lang-switcher {
  background: rgba(127,127,127,.1);
  border-color: var(--line);
}
html[data-theme="light"] .site-header.is-scrolled .lang-switcher,
html[data-theme="steel"] .site-header.is-scrolled .lang-switcher {
  background: rgba(255,255,255,.9);
}

.stats--tight { padding: 0 0 8px; margin-top: -22px; position: relative; z-index: 4; }
.stats--tight .stats-grid { box-shadow: var(--shadow); }
.section { padding: 72px 0; }
.ticker { margin: 0; }

html[data-theme="light"] .logo-cell {
  background: #fff;
  box-shadow: 0 12px 28px rgba(16,24,32,.1);
  border: 0;
}
.logo-carousel:hover .logo-carousel-track,
.logo-carousel:focus-within .logo-carousel-track { animation-play-state: paused; }

.award-stage { overflow: hidden; }
[data-widget="aeros-award"].section {
  padding-top: 28px;
  padding-bottom: 28px;
}

.site-footer {
  position: relative;
  padding: 88px 0 36px;
  overflow: hidden;
}
html[data-theme="light"] {
  --footer-bg: #dfe4ea;
  --footer-text: #2c3440;
}
html[data-theme="light"] .site-footer { color: var(--footer-text); }
html[data-theme="light"] .site-footer .brand-type { color: #121820; }
html[data-theme="light"] .site-footer a { color: #3a4452; }
html[data-theme="light"] .site-footer a:hover { color: var(--orange); }
html[data-theme="light"] .site-footer .footer-address { color: #3a4452; }
html[data-theme="light"] .site-footer .muted { color: #5b6573; }
.footer-flight {
  position: absolute; left: 0; right: 0; top: 10px;
  display: grid; place-items: center; pointer-events: none; z-index: 2;
}
.gezgin {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 0 !important;
}
.gezgin span { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; opacity: .7; }
.gezgin img { height: 28px; width: auto; display: block; color: currentColor; }
html[data-theme="dark"] .gezgin img { filter: invert(1); }

/* Fleet slider (home 2) */
.fleet-hero {
  position: relative; min-height: 100svh; overflow: hidden; color: #f4f6f9;
  background: #1b2734;
}
.fleet-world { position: absolute; inset: 0; }
.fleet-sky {
  position: absolute; inset: -8%;
  background:
    linear-gradient(180deg, #8eb7d8 0%, #c4d6e4 38%, #e7d7c2 100%),
    url("../img/stock/sky.jpg") center/cover;
  background-blend-mode: soft-light;
  transform: scale(1.08);
}
.fleet-range {
  position: absolute; left: -4%; right: -8%; bottom: -6%;
  width: 112%; height: 72%; object-fit: cover; object-position: center 70%;
  filter: saturate(1.05) contrast(1.05);
}
.fleet-range-b { opacity: .0; }
.fleet-cloud {
  position: absolute; height: 28%; width: 70%;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.55), transparent 70%);
  filter: blur(8px); pointer-events: none;
}
.fleet-cloud.c1 { left: 40%; bottom: 18%; width: 80%; }
.fleet-cloud.c2 { left: 10%; bottom: 8%; height: 22%; opacity: .8; }
.fleet-cloud.c3 { right: -10%; top: 16%; width: 50%; height: 18%; opacity: .45; }
.fleet-haze {
  position: absolute; left: 0; right: 0; bottom: 0; height: 38%;
  background: linear-gradient(180deg, transparent, rgba(244,246,249,.92));
}
.fleet-craft-layer { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.fleet-craft {
  position: absolute; right: 2%; top: 16%;
  width: min(58vw, 720px); height: 48vh; object-fit: cover;
  opacity: 0; border-radius: 8px;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 78%, transparent);
  filter: drop-shadow(0 24px 28px rgba(0,0,0,.28));
}
.fleet-craft.is-on { opacity: 1; }
.fleet-silhouette {
  position: absolute; top: 28%; left: 0; width: min(38vw, 420px);
  color: rgba(255,255,255,.92);
  filter: drop-shadow(0 18px 16px rgba(20,30,40,.35));
}
.fleet-copy-stage {
  position: relative; z-index: 3;
  min-height: 100svh;
  display: grid; place-items: center;
  padding: calc(var(--header-h) + 24px) 24px 140px;
  text-align: center;
}
.fleet-copy {
  grid-area: 1 / 1;
  opacity: 0; pointer-events: none;
  max-width: 920px;
}
.fleet-copy.is-on { opacity: 1; pointer-events: auto; }
.fleet-copy h1 {
  font-size: clamp(64px, 12vw, 148px);
  letter-spacing: .06em;
  text-shadow: 0 18px 40px rgba(0,0,0,.28);
}
.fleet-copy p {
  margin: 8px auto 28px; max-width: 46ch;
  color: rgba(244,246,249,.92);
  font-size: 18px;
}
.fleet-cta {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 28px;
  border: 1px solid rgba(255,255,255,.7);
  letter-spacing: .22em; text-transform: uppercase; font-size: 12px; font-weight: 700;
  transition: background .3s, color .3s;
}
.fleet-cta:hover { background: #fff; color: #102033; }
.fleet-dots {
  position: absolute; right: 28px; top: 50%; transform: translateY(-50%);
  z-index: 4; display: grid; gap: 10px;
}
.fleet-dots button {
  width: 10px; height: 10px; border-radius: 50%; padding: 0;
  border: 1px solid rgba(255,255,255,.7); background: transparent; cursor: pointer;
}
.fleet-dots button.is-on { background: #fff; }
.fleet-tabs {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 4;
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  background: linear-gradient(180deg, transparent, rgba(12,18,26,.35));
}
.fleet-tabs button {
  background: transparent; border: 0; border-top: 1px solid rgba(255,255,255,.2);
  color: rgba(244,246,249,.38); padding: 22px 16px 26px; cursor: pointer;
  text-align: center;
}
.fleet-tabs button + button { border-left: 1px solid rgba(255,255,255,.18); }
.fleet-tabs button small {
  display: block; font-family: var(--mono); font-size: 10px; letter-spacing: .18em;
  text-transform: uppercase; margin-bottom: 6px;
}
.fleet-tabs button strong {
  font-family: var(--display); font-size: 18px; letter-spacing: .12em; font-weight: 700;
}
.fleet-tabs button.is-on { color: #fff; }
.fleet-scroll {
  position: absolute; right: 22px; bottom: 110px; z-index: 4;
  width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%;
  display: grid; place-items: center;
}
.fleet-scroll span {
  width: 8px; height: 8px; border-right: 1.5px solid #fff; border-bottom: 1.5px solid #fff;
  transform: rotate(45deg) translate(-2px, -2px);
}

body:has(.fleet-hero) .site-header:not(.is-scrolled) { color: #f4f6f9; }
body:has(.fleet-hero) .site-header:not(.is-scrolled) .theme-toggle {
  border-color: rgba(255,255,255,.35); background: rgba(0,0,0,.2);
}

@media (max-width: 1100px) {
  .fleet-tabs { grid-template-columns: 1fr; }
  .fleet-tabs button + button { border-left: 0; }
  .fleet-dots { display: none; }
  .fleet-craft { width: 80vw; height: 32vh; top: 12%; }
  .award-trophy { width: auto; height: 240px; max-width: 52%; }
}
@media (max-width: 720px) {
  .fleet-copy h1 { font-size: 52px; }
  :root { --header-h: 96px; }
}

/* ===== Homepage 2026: bento, marquee, train, news, CTA, KAAN footer ===== */
.ticker {
  background: #0c121c !important;
  border: 0;
  padding: 14px 0 58px;
}
.ticker-track span { color: rgba(244,246,249,.42); }

.stats--tight {
  margin-top: -48px;
  padding: 0;
  position: relative;
  z-index: 5;
}
.stats--tight + .section { padding-top: 36px; }
html[data-theme="light"] .stats--tight .stats-grid {
  background: #fff;
  border: 0;
  gap: 0;
  box-shadow: 0 22px 50px rgba(16, 24, 40, .12);
}
html[data-theme="light"] .stats--tight .stat {
  background: #fff;
  border-right: 1px solid #eceff3;
}
html[data-theme="light"] .stats--tight .stat:last-child { border-right: 0; }
html[data-theme="light"] .stats--tight .stat b { color: #121820; }
html[data-theme="light"] .stats--tight .stat b span { color: var(--orange); }
html[data-theme="light"] .stats--tight .stat small { color: #8a93a0; }

.cap-bento {
  display: grid;
  grid-template-columns: 1.05fr 1.2fr .95fr;
  grid-template-areas:
    "tall wide wide"
    "tall media text";
  gap: 16px;
  overflow: visible;
  padding-bottom: 28px;
}
.cap-bento-card {
  display: grid;
  align-content: start;
  justify-items: start;
  background: var(--surface-2, #f3f5f8);
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 36px 32px 28px;
  min-height: 240px;
  color: inherit;
  overflow: hidden;
  position: relative;
  transition: transform .45s var(--ease), filter .45s var(--ease), box-shadow .45s var(--ease);
}
html[data-theme="light"] .cap-bento-card {
  background: #fff;
  border: 0;
  box-shadow: none;
  filter: drop-shadow(0 14px 24px rgba(16, 24, 40, .12));
}
html[data-theme="light"] .cap-bento-icon { background: #f3f5f8; }
.cap-bento-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
html[data-theme="light"] .cap-bento-card:hover {
  box-shadow: none;
  filter: drop-shadow(0 22px 36px rgba(16, 24, 40, .16));
}
.cap-bento-card.is-tall {
  grid-area: tall;
  min-height: 560px;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.cap-bento-card.is-wide {
  grid-area: wide;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  padding: 0;
  align-items: stretch;
  align-content: stretch;
  justify-items: stretch;
  min-height: 280px;
}
.cap-bento-card.is-media {
  grid-area: media;
  padding: 0;
  min-height: 260px;
  display: grid;
  align-content: end;
}
.cap-bento-card.is-text { grid-area: text; min-height: 260px; }
.cap-bento-card.is-text.is-media {
  grid-area: text;
  padding: 0;
  min-height: 260px;
}
.cap-bento-card.is-text .cap-bento-shot {
  transform-origin: 58% 46%;
  object-position: 58% 46%;
}
.cap-bento-icon {
  width: 48px; height: 48px; border-radius: 14px;
  display: grid; place-items: center;
  background: #fff; color: var(--orange);
  margin-bottom: 22px;
  box-shadow: 0 8px 20px rgba(16,24,40,.06);
}
.cap-bento-icon svg { width: 22px; height: 22px; }
.cap-bento-card h3 { font-size: clamp(26px, 2.4vw, 38px); max-width: 14ch; margin: 0 0 12px; }
.cap-bento-card p { color: var(--fog); max-width: 36ch; margin: 0; }
.cap-explore {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 22px; padding: 8px 14px;
  border-radius: 999px; background: #fff;
  font-size: 13px; font-weight: 600; color: #121820;
  justify-self: start;
  width: auto;
  transition: gap .35s var(--ease), background-color .35s var(--ease), box-shadow .35s var(--ease);
}
a.cap-bento-card .cap-explore { color: #121820; }
.cap-explore i {
  position: relative;
  display: inline-block;
  width: 16px;
  height: 12px;
  font-size: 0;
  color: var(--orange);
  flex: 0 0 auto;
}
.cap-explore i::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: 1.6px;
  background: currentColor;
  border-radius: 1px;
  transform: translateY(-50%);
  transition: width .4s var(--ease);
}
.cap-explore i::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  width: 7px;
  height: 7px;
  border-right: 1.7px solid currentColor;
  border-top: 1.7px solid currentColor;
  border-radius: .5px;
  transform: translateY(-50%) rotate(45deg);
  animation: cap-arrow-idle 1.55s ease-in-out infinite;
  transition: left .4s var(--ease);
}
@keyframes cap-arrow-idle {
  0%, 100% { left: 2px; }
  50% { left: 7px; }
}
.cap-bento-card:hover .cap-explore,
.train-hub-card:hover .cap-explore {
  gap: 12px;
  background: #fff6ee;
  box-shadow: 0 0 0 1px rgba(244,123,31,.16);
}
.cap-bento-card:hover .cap-explore i::before,
.train-hub-card:hover .cap-explore i::before { width: 11px; }
.cap-bento-card:hover .cap-explore i::after,
.train-hub-card:hover .cap-explore i::after {
  animation: none;
  left: 9px;
}
.cap-bento-copy { padding: 36px 8px 32px 32px; display: grid; align-content: center; justify-items: start; }
.cap-bento-card.is-tall .cap-bento-copy,
.cap-bento-card.is-wide .cap-bento-copy {
  position: relative;
  z-index: 1;
  background: inherit;
}
.cap-bento-card.is-tall .cap-bento-copy {
  padding: 32px 32px 18px;
  flex: 0 0 auto;
  border-radius: 28px 28px 0 0;
}
.cap-bento-card.is-wide .cap-bento-copy {
  border-radius: 28px 0 0 28px;
}
.cap-bento-card.is-wide .cap-bento-shot,
.cap-bento-card.is-media .cap-bento-shot,
.cap-bento-card.is-tall .cap-bento-shot {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .85s var(--ease);
}
.cap-bento-card.is-tall .cap-bento-shot { transform-origin: 38% 48%; }
.cap-bento-card.is-wide .cap-bento-shot { transform-origin: 78% 50%; }
.cap-bento-card.is-media .cap-bento-shot { transform-origin: 50% 42%; }
.cap-bento-card:hover .cap-bento-shot { transform: scale(1.08); }
.cap-bento-card.is-tall .cap-bento-shot {
  margin: 0;
  width: 100%;
  height: auto;
  min-height: 240px;
  flex: 1 1 auto;
  border-radius: 0 0 28px 28px;
  object-fit: cover;
  object-position: 42% 46%;
}
.cap-bento-card.is-wide .cap-bento-shot {
  width: 100%;
  height: 100%;
  min-height: 100%;
  align-self: stretch;
  justify-self: stretch;
  object-fit: cover;
  object-position: center;
  border-radius: 0 28px 28px 0;
}
.cap-bento-card.is-media .cap-bento-shot { position: absolute; inset: 0; border-radius: 28px; }
.cap-bento-overlay {
  position: relative; z-index: 1;
  width: 100%;
  margin-top: auto; padding: 28px 24px 22px;
  background: linear-gradient(180deg, transparent, rgba(8,12,18,.82));
  color: #f4f6f9;
  align-self: stretch;
  justify-self: stretch;
  border-radius: 0 0 28px 28px;
  box-sizing: border-box;
}
.cap-bento-card.is-media { color: #f4f6f9; }
.cap-bento-overlay h3 { color: #fff; }
.cap-bento-overlay p { color: rgba(244,246,249,.78); }

.train-modern { display: grid; gap: 16px; }
.train-stage {
  position: relative;
  min-height: 460px;
  border-radius: 28px;
  overflow: hidden;
}
.train-stage img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transform: scale(1.08);
  transition: opacity .55s var(--ease), transform 1.2s var(--ease);
}
.train-stage img.is-on { opacity: 1; transform: scale(1); }
.train-stage::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(5,7,12,.78) 8%, rgba(5,7,12,.18) 55%, transparent);
  pointer-events: none;
}
.train-stage-copy {
  position: absolute; left: 40px; bottom: 36px; right: 40px;
  z-index: 2; color: #f4f6f9; max-width: min(18em, 78%);
}
.train-stage-copy h3 {
  font-size: clamp(26px, 3.1vw, 42px);
  line-height: 1.12;
  margin: 0;
}
.train-stage-copy p { color: rgba(244,246,249,.8); margin: 10px 0 0; }
.train-rail {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}
.train-rail-item {
  text-align: left;
  margin: 0; padding: 18px 16px 16px;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 18px;
  color: inherit;
  cursor: pointer;
  transition: border-color .3s, background .3s, transform .3s;
}
.train-rail-item span {
  display: block;
  font-family: var(--mono);
  color: var(--orange);
  letter-spacing: .16em;
  font-size: 11px;
  margin-bottom: 10px;
}
.train-rail-item strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.28;
}
.train-rail-item.is-on,
.train-rail-item:hover {
  border-color: var(--orange);
  background: var(--orange-dim);
  transform: translateY(-2px);
}

.logo-marquee {
  overflow: hidden;
  padding: 8px 0 4px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.logo-marquee-row { overflow: hidden; }
.logo-marquee-row + .logo-marquee-row { margin-top: 0; }
.logo-marquee-track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: marquee 46s linear infinite;
}
.logo-marquee-row.is-rtl .logo-marquee-track {
  animation: marquee-rtl 52s linear infinite;
}
.logo-marquee-row:nth-child(3) .logo-marquee-track {
  animation-duration: 40s;
}
@keyframes marquee-rtl {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
.logo-marquee:hover .logo-marquee-track,
.logo-marquee:focus-within .logo-marquee-track { animation-play-state: paused; }
.logo-marquee .logo-cell {
  width: 280px;
  min-width: 280px;
  height: 140px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 20px;
  flex: 0 0 280px;
}
html[data-theme="dark"] .logo-marquee .logo-cell,
html[data-theme="navy"] .logo-marquee .logo-cell {
  background: #fff !important;
  border-radius: 16px;
  margin: 8px 10px;
  width: 260px;
  min-width: 260px;
  flex-basis: 260px;
}
.logo-marquee .logo-cell img {
  width: auto;
  height: auto;
  max-width: 240px;
  max-height: 100px;
  object-fit: contain;
  opacity: 1;
  filter: none;
}
.logo-marquee a.logo-cell:hover img { transform: scale(1.06); }

.news-home {
  display: grid;
  grid-template-columns: 1.35fr .85fr;
  gap: 18px;
  min-height: 520px;
}
.news-feature {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  min-height: 520px;
  color: #f4f6f9;
  display: grid;
  align-content: end;
}
.news-feature img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.04);
  transition: transform 1.1s var(--ease), opacity .35s var(--ease);
}
.news-feature:hover img { transform: scale(1.1); }
.news-feature::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 28%, rgba(6,10,16,.88));
}
.news-feature-body {
  position: relative; z-index: 1;
  padding: 36px 32px;
}
.news-feature time {
  font-family: var(--mono); letter-spacing: .16em; font-size: 11px; color: var(--orange);
}
.news-feature h3 { font-size: clamp(28px, 3vw, 42px); margin: 12px 0 10px; max-width: 18ch; color: #fff; }
.news-feature p { margin: 0; color: rgba(244,246,249,.78); max-width: 46ch; }
.news-stack {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 10px;
}
.news-stack a {
  display: grid;
  align-content: center;
  padding: 18px 20px;
  border-radius: 18px;
  background: var(--surface-2, #f4f5f8);
  border: 1px solid var(--line);
  color: inherit;
  transition: transform .3s, border-color .3s;
}
html[data-theme="light"] .news-stack a {
  background: #eef1f5;
  border: 0;
}
html[data-theme="light"] .news-stack a.is-on {
  background: #fff;
  box-shadow: 0 0 0 1px var(--orange);
}
.news-stack a:hover,
.news-stack a.is-on { transform: translateX(4px); border-color: var(--orange); }
.news-stack a.is-on {
  background: var(--orange-dim);
}
.news-stack time {
  font-family: var(--mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--orange);
}
.news-stack h3 { margin: 8px 0 0; font-size: 18px; }

.cta-sky {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  display: grid;
  align-items: center;
  color: #f4f6f9;
  padding: 88px 0 140px;
  z-index: 1;
}
.cta-sky > img {
  position: absolute;
  inset: -8%;
  width: 116%;
  height: 116%;
  max-width: none;
  object-fit: cover;
  pointer-events: none;
  will-change: transform;
  animation: cta-sky-drift 32s ease-in-out infinite alternate;
}
@keyframes cta-sky-drift {
  from { transform: scale(1.02) translate3d(-2.4%, 1.4%, 0); }
  to { transform: scale(1.1) translate3d(2.8%, -1.8%, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .cta-sky > img {
    animation: none;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: none;
  }
}
.cta-sky-shade {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(8,12,18,.78) 10%, rgba(8,12,18,.35) 60%, rgba(8,12,18,.2));
}
.cta-sky-inner { position: relative; z-index: 1; max-width: 820px; }
.cta-sky h2 { font-size: clamp(40px, 6vw, 72px); margin: 16px 0 16px; }
.cta-sky .lede { color: rgba(244,246,249,.84) !important; max-width: 42ch; }
.cta-sky .btn--ghost { --fg: #f4f6f9; border-color: rgba(255,255,255,.4); }

body:has(.footer-flight) main {
  padding-bottom: 110px;
}
body:has(.cta-sky) main {
  padding-bottom: 0;
}
body:not(.home):has(.footer-flight):not(:has(.cta-sky)) main > .el-section.section:last-of-type {
  padding-bottom: 190px;
}
.site-footer {
  overflow: visible !important;
  padding: max(124px, 10vw) 0 36px;
  z-index: 3;
}
.footer-grid { position: relative; z-index: 7; }
.footer-bottom { position: relative; z-index: 7; }
.footer-flight {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  max-width: none;
  transform: translateY(-50%);
  display: block;
  pointer-events: none;
  z-index: 4;
  line-height: 0;
}
.footer-plane {
  width: 100%;
  height: auto;
  display: block;
  opacity: 1;
  background: transparent;
  filter: drop-shadow(0 18px 24px rgba(0,0,0,.32));
  transform-origin: 58% 48%;
  animation: plane-drift 7.5s ease-in-out infinite;
  will-change: transform;
}
svg.footer-plane-fly {
  overflow: hidden;
  animation: none;
  filter: none;
}
html[data-theme="light"] svg.footer-plane-fly {
  filter: drop-shadow(0 1px 0 rgba(36, 46, 58, .38)) drop-shadow(0 10px 16px rgba(16, 24, 32, .12));
}
html[data-theme="dark"] .footer-plane {
  filter: drop-shadow(0 16px 28px rgba(0,0,0,.55));
}
@keyframes plane-drift {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  35% { transform: translate(12px, -7px) rotate(-1deg); }
  68% { transform: translate(-8px, 5px) rotate(.7deg); }
}
@media (prefers-reduced-motion: reduce) {
  .footer-plane { animation: none; }
}
.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.site-footer .footer-social a {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid currentColor;
  color: inherit;
  opacity: .78;
  transition: color .25s, border-color .25s, background .25s, opacity .25s, transform .25s;
}
.site-footer .footer-social a:hover {
  opacity: 1;
  color: var(--orange);
  border-color: var(--orange);
  background: var(--orange-dim);
  transform: translateY(-2px);
}
.footer-social svg { width: 16px; height: 16px; display: block; }

.fleet-copy {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
  pointer-events: none;
}
.fleet-copy.is-on {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.fleet-silhouette {
  width: min(44vw, 480px);
  height: auto;
  top: 14%;
  left: 0;
  color: rgba(255,255,255,.88);
  z-index: 1;
}

@media (max-width: 1100px) {
  .cap-bento {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "tall tall"
      "wide wide"
      "media text";
  }
  .cap-bento-card.is-tall { min-height: 480px; }
  .cap-bento-card.is-tall .cap-bento-shot { min-height: 220px; }
  .train-rail { grid-template-columns: 1fr 1fr; }
  .news-home { grid-template-columns: 1fr; }
  .news-feature { min-height: 360px; }
}
@media (max-width: 720px) {
  .cap-bento { grid-template-columns: 1fr; grid-template-areas: "tall" "wide" "media" "text"; }
  .cap-bento-card.is-wide { grid-template-columns: 1fr; }
  .cap-bento-copy { padding: 28px 24px 8px; }
  .cap-bento-card.is-wide .cap-bento-shot { min-height: 180px; border-radius: 0 0 28px 28px; }
  .train-rail { grid-template-columns: 1fr; }
  .train-stage { min-height: 320px; }
  .train-stage-copy { left: 20px; right: 20px; bottom: 20px; }
  .stats--tight .stats-grid { grid-template-columns: 1fr 1fr; }
  .footer-flight { left: 0; right: 0; width: 100%; max-width: none; transform: translateY(-50%); }
  .logo-marquee .logo-cell {
    width: 240px;
    min-width: 240px;
    flex-basis: 240px;
    height: 140px;
    padding: 0 16px;
  }
  .logo-marquee .logo-cell img { width: auto; height: auto; max-width: 210px; max-height: 100px; }
}

/* Mobile header: tools on the right, white hamburger on transparent, accordion nav */
.site-header:not(.is-scrolled) .menu-toggle {
  color: #fff;
  border-color: rgba(255,255,255,.4);
}
.site-header.is-scrolled .menu-toggle {
  color: var(--text);
  border-color: var(--line);
}
body.nav-open .menu-toggle {
  color: var(--text);
  border-color: var(--line);
}
body.nav-open .site-header .brand .logo-on-dark { display: none; }
body.nav-open .site-header .brand .logo-on-light { display: block; }
body.nav-open .site-header .lang-switcher { color: var(--text); }
body.nav-open .site-header .lang-switcher .lang-item:not(.current-lang) a {
  color: var(--text);
  opacity: .75;
}
.site-header.is-scrolled .brand-type { color: var(--text); }
.site-header.is-scrolled .lang-switcher .lang-item:not(.current-lang) a {
  color: var(--text);
  opacity: .75;
}
@media (max-width: 1100px) {
  .header-inner {
    display: flex !important;
    align-items: center;
    grid-template-columns: none;
  }
  .header-tools {
    margin-left: auto;
    gap: 8px;
  }
  .menu-toggle { margin-left: 0; }
}

/* ===== IA 2026: corporate, timeline, train hub, cert modal ===== */
.cap-bento.is-three {
  grid-template-columns: 1.05fr 2.15fr;
  grid-template-areas:
    "tall wide"
    "tall media";
}
.cap-bento.is-three .cap-bento-card.is-wide,
.cap-bento.is-three .cap-bento-card.is-media { grid-area: auto; }
.cap-bento.is-three .cap-bento-card.is-wide { grid-area: wide; }
.cap-bento.is-three .cap-bento-card.is-media { grid-area: media; min-height: 280px; }

.ethics-home {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 56px;
  align-items: stretch;
}
.ethics-copy {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.ethics-copy .lede { margin-top: 14px; max-width: 46ch; }
.ethics-cite {
  position: relative;
  margin: 48px 0 0;
  padding: 20px 22px 18px 26px;
  max-width: 42em;
  background: var(--surface);
  border-radius: 20px;
  box-shadow: 0 14px 36px rgba(16, 24, 40, .07);
  overflow: hidden;
}
.ethics-cite::before {
  content: "";
  position: absolute;
  left: 0; top: 16px; bottom: 16px;
  width: 3px;
  border-radius: 3px;
  background: var(--orange);
}
.ethics-cite::after {
  content: "“";
  position: absolute;
  right: 16px; top: 4px;
  font-family: var(--display);
  font-size: 72px;
  line-height: 1;
  color: var(--orange);
  opacity: .16;
  pointer-events: none;
}
.ethics-cite-top { display: flex; align-items: center; margin-bottom: 12px; }
.ethics-law {
  display: inline-flex;
  align-items: center;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--orange);
  border: 1px solid rgba(244, 123, 31, .38);
  background: var(--orange-dim);
  padding: 5px 11px;
  border-radius: 999px;
}
.ethics-cite blockquote {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(18px, 1.7vw, 22px);
  font-weight: 600;
  line-height: 1.35;
  color: var(--text);
  letter-spacing: .01em;
}
.ethics-cite figcaption {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  font-size: 14px;
  color: var(--text-soft);
}
.ethics-cite .accent {
  color: var(--orange);
  font-weight: 800;
  letter-spacing: .14em;
}
.ethics-air {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  margin: 22px 0 0;
  width: 100%;
  min-height: 0;
  overflow: visible;
}
.ethics-hud {
  position: absolute;
  left: 50%;
  top: 34%;
  width: 92%;
  aspect-ratio: 1;
  z-index: 0;
  pointer-events: none;
  translate: -50% -50%;
  border-radius: 50%;
  border: 1px dashed rgba(244, 123, 31, .32);
  box-shadow: inset 0 0 0 12px rgba(244, 123, 31, .06);
  opacity: 0;
}
.ethics-hud::before,
.ethics-hud::after {
  content: "";
  position: absolute;
  inset: 14%;
  border-radius: 50%;
  border: 1px solid rgba(244, 123, 31, .14);
}
.ethics-hud::after { inset: 28%; border-style: dotted; }
.ethics-ping {
  position: absolute;
  left: 50%;
  top: 36%;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  z-index: 0;
  pointer-events: none;
  border: 1.5px solid rgba(244, 123, 31, .55);
  border-radius: 50%;
  opacity: 0;
}
.ethics-craft {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  margin: 0 0 -118px;
  transform: none;
}
.ethics-craft img {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
  clip-path: none;
  margin-bottom: 0;
}
.ethics-glint {
  display: none;
  position: absolute;
  inset: 6% 22% 48%;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(118deg, transparent 42%, rgba(255,255,255,.55) 50%, transparent 58%);
  background-size: 240% 100%;
  background-position: 130% 0;
  mix-blend-mode: screen;
  opacity: 0;
}
.ethics-beacon {
  position: absolute;
  left: 50%;
  top: 28%;
  z-index: 4;
  width: 7px;
  height: 7px;
  margin-left: -3.5px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 12px rgba(244, 123, 31, .9);
  opacity: 0;
  pointer-events: none;
}
.ethics-craft-shadow {
  position: absolute;
  left: 50%;
  bottom: 6px;
  width: 36%;
  height: 10px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(16,24,40,.28) 0%, rgba(16,24,40,.08) 50%, transparent 72%);
  filter: blur(3px);
  z-index: 0;
  pointer-events: none;
}
.ethics-air.is-live .ethics-hud {
  opacity: 1;
  animation: ethics-spin 32s linear infinite;
}
.ethics-air.is-live .ethics-ping {
  animation: ethics-ping 3.8s ease-out infinite;
}
.ethics-air.is-live .ethics-glint {
  animation: ethics-glint 6.2s ease-in-out infinite;
}
.ethics-air.is-live .ethics-beacon {
  animation: ethics-beacon 1.7s ease-in-out infinite;
}
.ethics-air.is-live .ethics-craft-shadow {
  animation: ethics-shadow 3.2s ease-in-out infinite;
}
@keyframes ethics-spin { to { rotate: 360deg; } }
@keyframes ethics-ping {
  0% { transform: scale(.35); opacity: .5; }
  100% { transform: scale(16); opacity: 0; }
}
@keyframes ethics-glint {
  0%, 58% { background-position: 130% 0; opacity: 0; }
  66% { opacity: .85; }
  82% { background-position: -30% 0; opacity: 0; }
  100% { background-position: -30% 0; opacity: 0; }
}
@keyframes ethics-beacon {
  0%, 100% { opacity: .2; transform: scale(.85); }
  50% { opacity: 1; transform: scale(1); }
}
@keyframes ethics-shadow {
  0%, 100% { opacity: .7; }
  50% { opacity: 1; }
}
.ethics-runway {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 250px;
  width: 100%;
  margin: 0;
  pointer-events: none;
}
.ethics-runway-bed,
.ethics-runway-line {
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.18) 8%, #000 24%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.18) 8%, #000 24%);
}
.ethics-runway-bed {
  background-color: #2a3036;
  background-image:
    radial-gradient(rgba(255,255,255,.09) 0.55px, transparent 0.7px),
    linear-gradient(180deg, #6a727a 0%, #3a4148 28%, #23282d 100%);
  background-size: 3px 3px, 100% 100%;
  clip-path: polygon(18% 0, 82% 0, 100% 100%, 0 100%);
}
.ethics-runway-line {
  background: linear-gradient(180deg, #c5c9ce 0%, #f7f8f9 42%, #d5d8dc 100%);
}
.ethics-runway-line--l {
  clip-path: polygon(18% 0, 19.7% 0, 1.45% 100%, 0 100%);
}
.ethics-runway-line--r {
  clip-path: polygon(82% 0, 80.3% 0, 98.55% 100%, 100% 100%);
}
.ethics-runway::after {
  content: "";
  position: absolute;
  left: -8%;
  right: -8%;
  top: -24px;
  height: 92px;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    var(--surface-2) 0%,
    color-mix(in srgb, var(--surface-2) 72%, transparent) 38%,
    color-mix(in srgb, var(--surface-2) 28%, transparent) 70%,
    transparent 100%
  );
  filter: blur(14px);
}
.ethics-runway::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 48px;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent, var(--surface-2));
}
.ethics-runway-vanish {
  position: absolute;
  left: 50%;
  top: 2%;
  bottom: 0;
  width: 28%;
  transform: translateX(-50%);
  z-index: 2;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.25) 10%, #000 28%, #000 82%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.25) 10%, #000 28%, #000 82%, transparent 100%);
}
.ethics-runway-track {
  position: absolute;
  inset: 0;
}
.ethics-runway-track i {
  position: absolute;
  left: 50%;
  display: block;
  background: linear-gradient(#cfd3d8, #f4f5f6);
  clip-path: polygon(22% 0, 78% 0, 100% 100%, 0 100%);
  transform: translateX(-50%);
  will-change: top, width, height, opacity;
}
@media (prefers-reduced-motion: reduce) {
  .ethics-hud,
  .ethics-ping,
  .ethics-glint,
  .ethics-beacon,
  .ethics-craft-shadow { animation: none !important; opacity: 1; }
  .ethics-ping { opacity: 0; }
  .ethics-glint { opacity: 0; }
  .ethics-runway-track i { will-change: auto; }
}
.ethics-home .ethics-grid {
  margin: 0;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  padding-bottom: 72px;
  align-self: start;
  align-content: start;
  align-items: stretch;
}
.ethics-home .panel {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ethics-home .panel p:last-child { margin-bottom: 0; }
html[data-theme="light"] .ethics-home .panel { background: #fff; }
[data-widget="aeros-ethics-home"].section { padding-bottom: 0; overflow: hidden; }

.chair-hero {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 0;
  align-items: stretch;
  height: min(70vh, 640px);
  background: var(--surface);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(16,24,40,.08);
}
.chair-hero img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: 18% 40%;
}
.chair-copy {
  min-height: 0;
  padding: 36px 22px 28px 36px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.chair-copy .quote { font-size: clamp(22px, 2.4vw, 32px); line-height: 1.25; margin: 0; flex: 0 0 auto; }
.chair-scroller {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  padding-right: 18px;
}
.chair-scroll {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 8px;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.chair-scroll::-webkit-scrollbar { width: 0; height: 0; display: none; }
.chair-scroll p { margin: 0 0 14px; }
.chair-bar {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 8px;
  border-radius: 99px;
  background: rgba(139, 149, 166, .42);
  pointer-events: none;
}
.chair-thumb {
  display: block;
  width: 8px;
  min-height: 28px;
  border-radius: 99px;
  background: var(--orange);
  transform: translateY(0);
  will-change: transform, height;
}
.chair-sign { display: grid; gap: 2px; margin-top: 8px; }
.chair-sign strong { font-family: var(--display); font-size: 20px; letter-spacing: .04em; }
.chair-sign span { color: var(--mist); font-size: 13px; }

.xp-pills { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 8px; }
.xp-pill {
  padding: 10px 16px; border-radius: 999px;
  background: var(--orange-dim); color: var(--orange);
  font-size: 13px; font-weight: 700; letter-spacing: .04em;
}
.xp-group { margin-top: 28px; }
.xp-group h3 { margin-bottom: 12px; }
.xp-list {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px 22px;
}
.xp-list li {
  position: relative; padding: 8px 0 8px 18px; color: var(--text-soft); font-size: 14px;
  border-bottom: 1px solid var(--line);
}
.xp-list li::before {
  content: ""; position: absolute; left: 0; top: 15px; width: 7px; height: 7px;
  border: 1px solid var(--orange); transform: rotate(45deg);
}

.tl-flight { position: relative; max-width: 980px; margin: 12px auto 0; --tl-p: 1; }
.tl-flight::before {
  content: ""; position: absolute; left: 50%; top: 12px; bottom: 12px; width: 2px;
  background: linear-gradient(180deg, transparent, var(--orange), var(--orange), transparent);
  transform: translateX(-50%) scaleY(var(--tl-p));
  transform-origin: top center;
}
.tl-row {
  display: grid; grid-template-columns: 1fr 56px 1fr; gap: 18px;
  align-items: center; margin-bottom: 22px;
  overflow: visible;
}
.tl-card {
  background: var(--surface); border-radius: 20px; padding: 22px 22px 18px;
  border: 1px solid var(--line);
  box-shadow: 0 12px 32px rgba(16,24,40,.06);
}
.tl-row:nth-child(odd) .tl-card { grid-column: 1; text-align: right; }
.tl-row:nth-child(even) .tl-card { grid-column: 3; }
.tl-dot {
  grid-column: 2; width: 18px; height: 18px; margin: 0 auto; border-radius: 50%;
  background: var(--orange); box-shadow: 0 0 0 8px var(--orange-dim);
  position: relative; z-index: 1;
}
.tl-dot::before,
.tl-dot::after {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 18px; height: 18px;
  margin: -9px 0 0 -9px;
  border-radius: 50%;
  background: rgba(244, 123, 31, .32);
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}
.tl-row.is-in .tl-dot { animation: tl-halo 1.8s ease-in-out infinite; }
.tl-row.is-in .tl-dot::before { animation: tl-ping 2.2s ease-out infinite; }
.tl-row.is-in .tl-dot::after { animation: tl-ping 2.2s ease-out infinite 1.1s; }
.tl-row:nth-child(even).is-in .tl-dot::before { animation-delay: .35s; }
.tl-row:nth-child(even).is-in .tl-dot::after { animation-delay: 1.45s; }
@keyframes tl-ping {
  0% { transform: scale(1); opacity: .42; }
  100% { transform: scale(3.4); opacity: 0; }
}
@keyframes tl-halo {
  0%, 100% { box-shadow: 0 0 0 8px rgba(244, 123, 31, .16); }
  50% { box-shadow: 0 0 0 14px rgba(244, 123, 31, .34); }
}
@media (prefers-reduced-motion: reduce) {
  .tl-row.is-in .tl-dot,
  .tl-row.is-in .tl-dot::before,
  .tl-row.is-in .tl-dot::after { animation: none; }
}
.tl-card .year {
  font-family: var(--mono); color: var(--orange); letter-spacing: .18em; font-size: 12px; margin-bottom: 6px;
}
.tl-card h3 { margin: 0 0 8px; font-size: 22px; }
.tl-card p { margin: 0; color: var(--text-soft); }

.train-hub {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
.train-hub-card {
  display: grid; grid-template-rows: 300px 1fr; border-radius: 28px; overflow: hidden;
  background: var(--surface); color: inherit; min-height: 420px;
  box-shadow: 0 16px 40px rgba(16,24,40,.08); transition: transform .4s var(--ease);
}
.train-hub-card:hover { transform: translateY(-4px); }
.train-hub-card img { width: 100%; height: 100%; object-fit: cover; }
.train-hub-card[href="egitim-ucus-test.html"] img { object-position: 50% 0%; }
.split .eft-shot {
  width: 100%; height: 360px; object-fit: cover; object-position: 50% 0%; border-radius: 20px;
}
.train-hub-card .body { padding: 26px 26px 28px; }
.train-hub-card h3 { margin: 0 0 10px; }
.curr-acc .acc-panel { padding: 0; }
.curr-acc .acc-panel-inner { padding: 0 4px 18px; }
.curr-acc .acc-panel ul { margin: 8px 0 0; padding: 0 0 0 2px; }
.curr-acc .acc-panel li {
  list-style: none; padding: 5px 0 5px 16px; color: var(--text-soft); font-size: 14px; position: relative;
}
.curr-acc .acc-panel li::before {
  content: ""; position: absolute; left: 0; top: 12px; width: 6px; height: 6px;
  border-radius: 50%; background: var(--orange);
}
.curr-acc .nested { margin-left: 12px; }

.cert-grid { grid-template-columns: repeat(3, 1fr); }
.cert-card {
  text-align: left; cursor: pointer; display: grid; align-content: start;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
button.cert-card { width: 100%; font: inherit; color: inherit; }
.cert-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.cert-card .seal { margin-bottom: 16px; }
.cert-more {
  margin-top: 16px; justify-self: start;
  font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--orange); background: none; border: 0; padding: 0; cursor: pointer;
}

.aeros-modal {
  position: fixed; inset: 0; z-index: 200; display: grid;
  place-items: center; padding: 20px;
  background: rgba(6,10,16,.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .42s var(--ease), visibility .42s linear;
}
.aeros-modal.is-on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.aeros-modal-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(640px, 100%);
  max-height: min(86vh, 820px);
  overflow: hidden;
  background: #fff; color: #121820; border-radius: 24px;
  padding: 28px 10px 18px 28px;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
  opacity: 0;
  transform: translate3d(0, 36px, 0) scale(.94);
  filter: blur(8px);
  transition:
    transform .55s var(--ease),
    opacity .42s var(--ease),
    filter .45s var(--ease);
}
.aeros-modal.is-on .aeros-modal-card {
  opacity: 1;
  transform: none;
  filter: blur(0);
}
@media (prefers-reduced-motion: reduce) {
  .aeros-modal,
  .aeros-modal-card { transition: none; filter: none; }
}
.aeros-modal-card:has(.cert-scan) {
  width: min(720px, 100%);
}
.aeros-modal-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  flex: 0 0 auto;
  padding-right: 48px;
  margin-bottom: 8px;
}
.aeros-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 4px 18px 12px 0;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.aeros-modal-body::-webkit-scrollbar { width: 8px; }
.aeros-modal-body::-webkit-scrollbar-track {
  background: rgba(139, 149, 166, .22);
  border-radius: 99px;
}
.aeros-modal-body::-webkit-scrollbar-thumb {
  background: var(--orange);
  border-radius: 99px;
}
.cert-scan {
  margin: 16px 0 4px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
}
.cert-scan img {
  width: 100%;
  height: auto;
  display: block;
  background: #fff;
}
.cert-scan figcaption {
  margin: 0;
  padding: 10px 12px 12px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--mist);
  background: #f7f8fa;
}
html[data-theme="dark"] .aeros-modal-card { background: #121b2b; color: #f4f6f9; }
html[data-theme="dark"] .cert-scan figcaption { background: #0c1422; }
.aeros-modal-card h3 { margin: 0 0 4px; }
.aeros-modal-head .kicker + h3 { margin-top: 0; }
.aeros-modal-card p { color: var(--text-soft); }
.aeros-modal-close {
  position: absolute; top: 14px; right: 16px; width: 40px; height: 40px;
  display: grid; place-items: center;
  border: 0; border-radius: 50%;
  background: rgba(127,127,127,.14); color: inherit;
  cursor: pointer; z-index: 2; padding: 0;
  transition: background-color .28s var(--ease), color .28s var(--ease), transform .28s var(--ease);
}
.aeros-modal-close svg { width: 16px; height: 16px; display: block; }
.aeros-modal-close:hover {
  background: var(--orange);
  color: #fff;
  transform: rotate(90deg);
}

.logo-wall, .logo-wall--5 { grid-template-columns: repeat(4, 1fr); }

.infra-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.infra-grid .panel { min-height: 0; padding: 20px; }
.infra-grid h3 { font-size: 18px; margin: 0 0 6px; }
.infra-grid .panel-ico {
  width: 46px;
  height: 46px;
  margin-bottom: 10px;
}
.infra-grid .panel-ico svg {
  width: 40px;
  height: 40px;
}

@media (max-width: 1100px) {
  .cap-bento.is-three { grid-template-columns: 1fr 1fr; grid-template-areas: "tall tall" "wide media"; }
  .ethics-home, .chair-hero, .train-hub, .xp-list { grid-template-columns: 1fr; }
  .ethics-air { width: 100%; margin: 22px 0 0; }
  .ethics-runway { min-height: 190px; }
  [data-widget="aeros-ethics-home"].section { padding-bottom: 72px; }
  .ethics-home .ethics-grid { padding-bottom: 0; }
  .chair-hero { height: auto; }
  .chair-hero img { height: 300px; }
  .chair-copy { height: min(52vh, 420px); }
  .tl-flight::before { left: 18px; }
  .tl-row { grid-template-columns: 36px 1fr; }
  .tl-dot { grid-column: 1; }
  .tl-row:nth-child(odd) .tl-card,
  .tl-row:nth-child(even) .tl-card { grid-column: 2; text-align: left; }
  .infra-grid { grid-template-columns: 1fr 1fr; }
  .logo-wall, .logo-wall--5 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .chair-hero img { height: 240px; min-height: 0; }
  .chair-copy { height: min(48vh, 380px); padding: 24px 16px 20px 20px; }
  .cert-grid, .infra-grid { grid-template-columns: 1fr; }
  .cap-bento.is-three {
    grid-template-columns: 1fr;
    grid-template-areas: "tall" "wide" "media";
  }
}
