/* WordPress / Elementor glue — does not restyle the approved HTML design. */

.elementor-section { margin: 0; }
.elementor-section .elementor-container {
  max-width: none;
  width: 100%;
  padding: 0;
}
.elementor-column-gap-no > .elementor-column > .elementor-element-populated,
.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding: 0;
}
.elementor-widget-container {
  padding: 0 !important;
}
.elementor-element {
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  --margin-top: 0px;
  --margin-bottom: 0px;
}

body.elementor-page .site-header { z-index: 50; }

.alignwide { max-width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.alignfull { width: 100%; max-width: none; }

.post-body > *:first-child { margin-top: 0; }
.post-body a { color: var(--orange); }
.post-body blockquote {
  border-left: 3px solid var(--orange);
  padding-left: 18px;
  color: var(--muted);
  margin: 24px 0;
}
.post-body table { width: 100%; border-collapse: collapse; }
.post-body th, .post-body td { border-bottom: 1px solid var(--line, rgba(255,255,255,.12)); padding: 10px 8px; text-align: left; }
.post-body .wp-block-button__link { background: var(--orange); color: #fff; }

.screen-reader-text {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0;
}

/* CF7 uses the existing .panel / .field look */
form.wpcf7-form .wpcf7-form-control-wrap { display: block; }
form.wpcf7-form input[type="text"],
form.wpcf7-form input[type="email"],
form.wpcf7-form input[type="tel"],
form.wpcf7-form select,
form.wpcf7-form textarea {
  width: 100%;
}
form.wpcf7-form .wpcf7-submit { margin-top: 8px; }
form.wpcf7-form .wpcf7-not-valid-tip { font-size: 12px; color: var(--orange); }
form.wpcf7-form .wpcf7-response-output { margin: 16px 0 0; border: 0; padding: 0; }

button.header-cta {
  font-family: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

#aeros-quote-modal .panel {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
#aeros-quote-modal .wpcf7 .kicker,
#aeros-quote-modal .wpcf7 form > h3 {
  display: none;
}
#aeros-quote-modal .wpcf7-submit {
  min-height: 52px;
}

.aeros-back-top {
  position: fixed; right: 22px; bottom: 22px; z-index: 40;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--orange); background: var(--bg, #0b1220); color: var(--orange);
  cursor: pointer;
}
.aeros-back-top[hidden] { display: none; }
.aeros-back-top:after { content: "↑"; font-size: 16px; }

.footer-grid .menu,
.footer-grid ul { list-style: none; margin: 0; padding: 0; }

/* Elementor kit must not override Aeros type or add container gaps. */
.e-con,
.e-con-inner,
.elementor-section,
.elementor-container {
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --gap: 0px;
  --flex-gap: 0px;
}
.e-con-inner {
  padding: 0 !important;
  gap: 0 !important;
}
.page-hero {
  position: relative;
}
.elementor .el-section {
  position: relative;
}

/* Demo HTML pages: don't nest WordPress post chrome around existing sections. */
.el-section + .el-section { margin-top: 0; }

html { scroll-behavior: auto; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* Match approved HTML type. Elementor kit defaults to Roboto / Roboto Slab. */
html body.aeros {
  --e-global-typography-primary-font-family: "Rajdhani", sans-serif;
  --e-global-typography-secondary-font-family: "Rajdhani", sans-serif;
  --e-global-typography-text-font-family: "Manrope", sans-serif;
  --e-global-typography-accent-font-family: "Rajdhani", sans-serif;
  font-family: "Manrope", sans-serif;
}
html body.aeros h1,
html body.aeros h2,
html body.aeros h3,
html body.aeros h4,
html body.aeros .nav > li > a,
html body.aeros .stat b,
html body.aeros .acc-btn,
html body.aeros .hero-meta b,
html body.aeros .ethics-cite blockquote,
html body.aeros .quote,
html body.aeros .chair-copy .quote,
html body.aeros .chair-sign strong,
html body.aeros .ticker-track span {
  font-family: "Rajdhani", "Manrope", sans-serif !important;
}
html body.aeros .ticker-track span {
  font-weight: 600 !important;
  font-style: normal !important;
}
html body.aeros .quote,
html body.aeros .chair-copy .quote,
html body.aeros .chair-sign strong {
  font-weight: 700 !important;
  font-style: normal !important;
}
html body.aeros .ethics-cite blockquote {
  font-weight: 600 !important;
  font-style: normal !important;
}
html body.aeros .elementor .elementor-widget figure.ethics-cite {
  margin: 48px 0 0;
}
html body.aeros .kicker,
html body.aeros .topbar,
html body.aeros .hero-hud,
html body.aeros .crumbs,
html body.aeros .eyebrow {
  font-family: "IBM Plex Mono", ui-monospace, monospace !important;
}
html body.aeros .lede,
html body.aeros .muted,
html body.aeros .btn,
html body.aeros .chair-sign span {
  font-family: "Manrope", sans-serif;
}
html body.aeros .btn:not(.btn--ghost):not(.btn--dark),
html body.aeros .header-cta,
html body.aeros .wpcf7-submit,
html body.aeros .filter.is-on,
html body.aeros .filter:hover,
html body.aeros .platform-switch button.is-on,
html body.aeros .platform-switch button:hover {
  --fg: #fff;
  color: #fff;
}
html body.aeros .filter,
html body.aeros .platform-switch button {
  transition: color .32s var(--ease), background-color .32s var(--ease), border-color .32s var(--ease);
}

/* Admin bar sits above the fixed header; height is measured in theme.js. */
html {
  --aeros-admin-bar: 0px;
}
html.wp-toolbar,
html.admin-bar {
  margin-top: var(--aeros-admin-bar, var(--wp-admin--admin-bar--height, 32px)) !important;
  padding-top: 0 !important;
}
body.admin-bar .site-header,
html.wp-toolbar .site-header {
  top: var(--aeros-admin-bar, var(--wp-admin--admin-bar--height, 32px));
}

.footer-bottom {
  overflow: visible;
}
.gezgin {
  position: relative;
  display: inline-flex;
  justify-content: center;
  isolation: isolate;
}
.gezgin-mark {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 2px;
  transform: scale(1);
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}
.gezgin-mark::after {
  content: "";
  position: absolute;
  inset: -40% -30%;
  background: linear-gradient(
    105deg,
    transparent 38%,
    rgba(255, 255, 255, .7) 50%,
    transparent 62%
  );
  transform: translateX(-130%) skewX(-18deg);
  pointer-events: none;
}
.gezgin:hover .gezgin-mark,
.gezgin:focus-visible .gezgin-mark {
  transform: scale(1.12);
}
.gezgin:hover .gezgin-mark::after,
.gezgin:focus-visible .gezgin-mark::after {
  animation: gezgin-shine .75s ease forwards;
}
.gezgin .gezgin-tip {
  position: absolute;
  left: auto;
  right: 0;
  bottom: calc(100% + 12px);
  z-index: 5;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(244, 123, 31, .45);
  background: #0b1220;
  color: #f4f6f9;
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: .16em;
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 12px 28px rgba(5, 7, 12, .28);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1), visibility .28s ease;
}
.gezgin .gezgin-tip::after {
  content: "";
  position: absolute;
  left: auto;
  right: 14px;
  top: 100%;
  border: 6px solid transparent;
  border-top-color: #0b1220;
  transform: none;
}
.gezgin:hover .gezgin-tip,
.gezgin:focus-visible .gezgin-tip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@keyframes gezgin-shine {
  to { transform: translateX(130%) skewX(-18deg); }
}
@media (prefers-reduced-motion: reduce) {
  .gezgin-mark,
  .gezgin .gezgin-tip { transition: none; }
  .gezgin:hover .gezgin-mark::after,
  .gezgin:focus-visible .gezgin-mark::after { animation: none; }
}

/*
 * Elementor core: `.elementor img { height: auto; max-width: 100%; border: none; ... }`
 * Do not edit that file. Re-apply Aeros widget image sizing with higher specificity.
 */
body.aeros .elementor [data-widget] img {
  border: none;
  box-shadow: none;
}
body.aeros .elementor .panel-ico {
  color: var(--orange);
  width: 54px;
  height: 54px;
}
body.aeros .elementor .panel-ico svg {
  width: 46px;
  height: 46px;
  display: block;
}
body.aeros .elementor .infra-grid .panel-ico {
  width: 46px;
  height: 46px;
}
body.aeros .elementor .infra-grid .panel-ico svg {
  width: 40px;
  height: 40px;
}
body.aeros .elementor .cta-sky > img {
  position: absolute;
  inset: -8%;
  width: 116%;
  height: 116%;
  max-width: none;
  max-height: none;
  object-fit: cover;
}
body.aeros .elementor .award-logos {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 16px 22px;
}
body.aeros .elementor .award-logo-shine {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
}
body.aeros .elementor .award-logo-shine:nth-child(2) {
  padding-left: 22px;
  border-left: 1px solid rgba(255, 255, 255, .18);
}
body.aeros .elementor img.award-logo {
  height: 72px;
  width: auto;
  max-width: min(280px, 100%);
  max-height: 72px;
  object-fit: contain;
}
body.aeros .elementor img.award-logo--ssb {
  height: 58px;
  max-width: min(320px, 100%);
  max-height: 58px;
  padding-left: 0;
  border-left: 0;
}
body.aeros .elementor img.award-trophy {
  height: 340px;
  width: auto;
  max-width: 92%;
  max-height: 340px;
  object-fit: contain;
}
body.aeros .elementor .split {
  align-items: start;
}
body.aeros .elementor .split > img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: 20px;
}
body.aeros .elementor .split img.eft-shot {
  height: 360px;
  object-position: 50% 0%;
}
body.aeros .elementor .gallery img {
  width: 100%;
  height: 100%;
  min-height: 180px;
  object-fit: cover;
  border-radius: 16px;
}
body.aeros .elementor .hero-slide img,
body.aeros .elementor .page-hero .bg img,
body.aeros .elementor .train-stage img,
body.aeros .elementor .train-hub-card img,
body.aeros .elementor .news-card img,
body.aeros .elementor .news-feature img,
body.aeros .elementor .project-card img,
body.aeros .elementor .chair-hero img,
body.aeros .elementor img.cap-bento-shot {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
body.aeros .elementor .corp-hub-card img {
  width: 100%;
  height: 180px;
  max-width: none;
  object-fit: cover;
}

.corp-hub {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
a.corp-hub-card {
  display: grid;
  grid-template-rows: 180px 1fr;
  color: inherit;
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: var(--radius, 18px);
  overflow: hidden;
  background: var(--surface, #fff);
  transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s cubic-bezier(.22, 1, .36, 1);
}
a.corp-hub-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  color: inherit;
}
.corp-hub-copy {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 22px 22px 20px;
}
.corp-hub-copy h3 { margin: 0; }
.corp-hub-copy .cap-explore { margin-top: 8px; justify-self: start; }
.el-section[data-widget="aeros-page-hub"]:has(.page-hub-list) {
  padding-block: 0;
}
.page-hub-list {
  display: grid;
  width: 100%;
  max-width: none;
}
.page-hub-list a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 20px;
  color: #3b57e8;
  text-decoration: none;
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 650;
  line-height: 1.25;
  border-bottom: 1px solid var(--line, rgba(20, 28, 45, .08));
}
.page-hub-list a:nth-child(even) {
  background: rgba(20, 28, 45, .035);
}
.page-hub-list a::before {
  content: "—";
  flex: 0 0 auto;
  font-weight: 500;
}
.page-hub-list a:hover {
  color: var(--orange, #e85d04);
}
body.aeros .elementor .logo-cell img {
  height: auto;
  max-width: 86%;
  max-height: 64px;
  object-fit: contain;
}
html body.aeros .elementor .logo-wall .logo-cell,
html body.aeros .elementor .logo-wall--5 .logo-cell {
  min-height: 140px;
  height: 140px;
  padding: 16px 20px;
}
html body.aeros .elementor .logo-wall .logo-cell img,
html body.aeros .elementor .logo-wall--5 .logo-cell img {
  width: auto;
  height: auto;
  max-width: 90%;
  max-height: 100px;
}
html body.aeros .elementor .logo-marquee .logo-cell {
  width: 280px;
  min-width: 280px;
  height: 140px;
  flex: 0 0 280px;
}
html body.aeros .elementor .logo-marquee .logo-cell img {
  width: auto;
  height: auto;
  max-width: 240px;
  max-height: 100px;
  object-fit: contain;
}
body.aeros .elementor .elementor-widget figure.ethics-craft {
  margin-bottom: -118px;
}
@media (max-width: 720px) {
  body.aeros .elementor .elementor-widget figure.ethics-craft {
    margin-bottom: -86px;
  }
}
body.aeros .elementor .ethics-craft img,
body.aeros .elementor .cert-scan img {
  width: 100%;
  height: auto;
}
body.aeros .elementor .gezgin img {
  height: 28px;
  width: auto;
}
body.aeros .elementor .sky-head-svg {
  width: 76px;
  height: 10px;
  display: block;
  overflow: visible;
}
@media (max-width: 1100px) {
  .corp-hub { grid-template-columns: 1fr 1fr; }
  body.aeros .elementor img.award-logo {
    height: 64px;
    max-height: 64px;
  }
  body.aeros .elementor img.award-logo--ssb {
    height: 50px;
    max-height: 50px;
    padding-left: 0;
    border-left: 0;
  }
  body.aeros .elementor .award-logo-shine:nth-child(2) {
    padding-left: 16px;
  }
  body.aeros .elementor img.award-trophy {
    height: 260px;
    max-height: 260px;
  }
}
@media (max-width: 900px) {
  .corp-hub { grid-template-columns: 1fr; }
  body.aeros .elementor .award-logos {
    flex-wrap: wrap;
  }
  body.aeros .elementor .award-logo-shine:nth-child(2),
  body.aeros .elementor img.award-logo--ssb {
    padding-left: 0;
    border-left: 0;
  }
  body.aeros .elementor img.award-trophy {
    height: 240px;
    max-height: 240px;
  }
  html body.aeros .elementor .logo-marquee .logo-cell {
    width: 240px;
    min-width: 240px;
    height: 140px;
    flex-basis: 240px;
  }
  html body.aeros .elementor .logo-marquee .logo-cell img {
    width: auto;
    height: auto;
    max-width: 210px;
    max-height: 100px;
  }
}

/* Footer KAAN sits half over the last module; inner pages need extra room. Homepage uses .cta-sky. */
html body.aeros:not(.home):has(.footer-flight):not(:has(.cta-sky)) .elementor > .elementor-element:last-child .el-section.section,
html body.aeros:not(.home):has(.footer-flight):not(:has(.cta-sky)) .elementor > .e-con:last-child .el-section.section,
html body.aeros:not(.home):has(.footer-flight):not(:has(.cta-sky)) main > .el-section.section:last-of-type {
  padding-bottom: 190px;
}
@media (max-width: 720px) {
  html body.aeros:not(.home):has(.footer-flight):not(:has(.cta-sky)) .elementor > .elementor-element:last-child .el-section.section,
  html body.aeros:not(.home):has(.footer-flight):not(:has(.cta-sky)) .elementor > .e-con:last-child .el-section.section,
  html body.aeros:not(.home):has(.footer-flight):not(:has(.cta-sky)) main > .el-section.section:last-of-type {
    padding-bottom: 180px;
  }
}

/* Submenu: active = hover, open with a short fade/slide. */
html body.aeros .sub-menu {
  transform: translate3d(0, 12px, 0);
  transition: opacity .34s var(--ease), transform .34s var(--ease), visibility .34s;
}
html body.aeros .nav > li:hover > .sub-menu,
html body.aeros .nav > li:focus-within > .sub-menu {
  transform: translate3d(0, 0, 0);
}
html body.aeros .sub-menu > li {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  transition: opacity .3s var(--ease), transform .3s var(--ease);
  transition-delay: 0s;
}
html body.aeros .nav > li:hover > .sub-menu > li,
html body.aeros .nav > li:focus-within > .sub-menu > li {
  opacity: 1;
  transform: none;
  transition-delay: calc(var(--sub-i, 0) * .07s + .05s);
}
html body.aeros .sub-menu a:hover,
html body.aeros .sub-menu .current-menu-item > a,
html body.aeros .sub-menu .current_page_item > a,
html body.aeros .sub-menu .is-active > a {
  background: var(--orange-dim);
  color: var(--text);
}
@media (max-width: 1100px) {
  html body.aeros .sub-menu {
    transform: none;
  }
  html body.aeros .sub-menu > li {
    opacity: 1;
    transform: none;
    transition: none;
  }
  html body.aeros .sub-menu a:hover,
  html body.aeros .sub-menu .current-menu-item > a,
  html body.aeros .sub-menu .current_page_item > a,
  html body.aeros .sub-menu .is-active > a {
    color: #fff;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body.aeros .sub-menu,
  html body.aeros .sub-menu > li {
    transform: none;
    opacity: 1;
    transition: none;
  }
}

html body.aeros .acc-panel {
  display: grid;
  grid-template-rows: 0fr;
}
html body.aeros .acc-item.is-open .acc-panel {
  display: grid;
  grid-template-rows: 1fr;
}
html body.aeros .acc-panel-inner,
html body.aeros .acc-panel > * {
  overflow: hidden;
  min-height: 0;
}

html body.aeros .filters + .project-grid {
  margin-top: 28px;
}

html body.aeros.single-post .post,
html body.aeros.single .post {
  padding-top: calc(var(--header-h) + 72px);
}

html body.aeros a.kicker {
  color: var(--orange);
}

html body.aeros .contact-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
html body.aeros .contact-card a,
html body.aeros .contact-card .row {
  height: auto;
  flex: 0 0 auto;
}
html body.aeros .contact-card .map-embed-wrap {
  flex: 1 1 auto;
  min-height: 280px;
}
html body.aeros .contact-card .map-embed {
  width: 100%;
  height: 100%;
}
html body.aeros .contact-grid > .panel:has(form.wpcf7-form),
html body.aeros .contact-grid > .panel:has(.wpcf7) {
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

html body.aeros .news-stack {
  grid-template-rows: repeat(3, 1fr);
}
html[data-theme="light"] body.aeros .site-header.is-scrolled .theme-toggle-track,
html[data-theme="steel"] body.aeros .site-header.is-scrolled .theme-toggle-track,
html[data-theme="light"] body.aeros:has(.post) .site-header:not(.is-scrolled) .theme-toggle-track,
html[data-theme="steel"] body.aeros:has(.post) .site-header:not(.is-scrolled) .theme-toggle-track,
html[data-theme="light"] body.aeros:has(.sky-hero) .site-header:not(.is-scrolled) .theme-toggle-track,
html[data-theme="steel"] body.aeros: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"] body.aeros .site-header:not(.is-scrolled) .theme-toggle-track,
html[data-theme="steel"] body.aeros .site-header:not(.is-scrolled) .theme-toggle-track {
  background: rgba(255,255,255,.22);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}
html[data-theme="light"] body.aeros .theme-toggle-track i,
html[data-theme="steel"] body.aeros .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);
}

html body.aeros .ethics-home {
  align-items: stretch;
}
html body.aeros .ethics-air {
  width: 100%;
  overflow: visible;
}
html body.aeros .ethics-runway {
  min-height: 250px;
  width: 100%;
  margin: 0;
}
html body.aeros .ethics-home .ethics-grid {
  padding-bottom: 72px;
  align-self: start;
  align-content: start;
  align-items: stretch;
  grid-template-rows: 1fr 1fr;
}
html body.aeros .ethics-home .panel {
  height: 100%;
  display: flex;
  flex-direction: column;
}
html body.aeros .ethics-home .panel p:last-child {
  margin-bottom: 0;
}
html body.aeros [data-widget="aeros-ethics-home"].section {
  padding-bottom: 0;
  overflow: hidden;
}
