/*
 * Fortress integration for v12.
 * Adds the fortress gate intro and replaces the homepage service stack with the
 * fortress corridor parallax without removing the site's other animations.
 */
:root {
  --ea-bg: #fdfdfd;
  --ea-bg-soft: #f4f6f8;
  --ea-bg-cool: #edf2f5;
  --ea-text: #161616;
  --ea-body: #4c535a;
  --ea-muted: #7b838b;
  --ea-accent: #ff9900;
  --ea-accent-rgb: 255, 153, 0;
  --ea-white-rgb: 255, 255, 255;
  --ea-border: rgba(255, 255, 255, 0.82);
  --ea-border-strong: rgba(20, 20, 20, 0.1);
  --ea-glass: rgba(255, 255, 255, 0.64);
  --ea-glass-strong: rgba(255, 255, 255, 0.82);
  --ea-shadow: 0 24px 70px rgba(77, 94, 111, 0.12);
  --ea-aura: 0 20px 70px rgba(var(--ea-accent-rgb), 0.14);
  --ea-radius-sm: 16px;
  --ea-radius: 26px;
  --ea-radius-lg: 42px;
  --ea-transition: 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.eleventy-home-v2 .scene {
  position: relative;
}

/* Opening fortress gate */
.eleventy-home-v2 .fortress-gate {
  position: relative;
  display: grid;
  min-height: 100svh;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(244, 246, 248, 0.82)),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(42, 45, 52, 0.025) 80px),
    repeating-linear-gradient(0deg, transparent 0 79px, rgba(42, 45, 52, 0.025) 80px),
    var(--ea-bg-soft);
}

.eleventy-home-v2 .fortress-gate__ambient,
.eleventy-home-v2 .fortress-gate__ambient::before,
.eleventy-home-v2 .fortress-gate__ambient::after {
  position: absolute;
  border-radius: 50%;
  content: "";
  filter: blur(2px);
  pointer-events: none;
}

.eleventy-home-v2 .fortress-gate__ambient {
  top: 13%;
  left: 50%;
  width: 60vw;
  height: 60vw;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(var(--ea-accent-rgb), 0.12), transparent 62%);
}

.eleventy-home-v2 .fortress-gate__ambient::before {
  top: 6%;
  left: -25%;
  width: 50%;
  height: 50%;
  background: radial-gradient(circle, rgba(96, 190, 255, 0.13), transparent 68%);
}

.eleventy-home-v2 .fortress-gate__ambient::after {
  right: -25%;
  bottom: 0;
  width: 46%;
  height: 46%;
  background: radial-gradient(circle, rgba(185, 119, 255, 0.1), transparent 68%);
}

.eleventy-home-v2 .gate-interior {
  position: absolute;
  inset: 8vh 6vw 5vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.94);
  border-radius: 48px;
  background:
    radial-gradient(circle at 50% 46%, rgba(var(--ea-accent-rgb), 0.18), transparent 22%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(229, 237, 242, 0.76));
  box-shadow: var(--ea-shadow), inset 0 0 0 1px rgba(42, 45, 52, 0.035);
}

.eleventy-home-v2 .gate-interior::before,
.eleventy-home-v2 .gate-interior::after {
  position: absolute;
  content: "";
}

.eleventy-home-v2 .gate-interior::before {
  inset: 10%;
  border: 1px solid rgba(var(--ea-accent-rgb), 0.18);
  border-radius: 36px;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(var(--ea-accent-rgb), 0.24) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(42, 45, 52, 0.04) 50%, transparent 50.2%);
}

.eleventy-home-v2 .gate-interior::after {
  width: min(42vw, 560px);
  aspect-ratio: 1;
  border: 1px solid rgba(var(--ea-accent-rgb), 0.22);
  border-radius: 50%;
  box-shadow:
    0 0 0 42px rgba(255, 255, 255, 0.42),
    0 0 0 43px rgba(var(--ea-accent-rgb), 0.08),
    0 0 90px rgba(var(--ea-accent-rgb), 0.16);
}

.eleventy-home-v2 .gate-core {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 9;
  display: grid;
  width: clamp(118px, 13vw, 184px);
  aspect-ratio: 1;
  place-items: center;
  overflow: visible;
  border: 1px solid rgba(255, 255, 255, 0.96);
  border-radius: 32px;
  color: var(--ea-accent);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--ea-aura), 0 18px 52px rgba(65, 82, 96, 0.12);
  transform: translate(-50%, -50%);
  transform-origin: 50% 50%;
  will-change: transform, opacity;
  pointer-events: none;
}

.eleventy-home-v2 .gate-core::before {
  display: none;
}

.eleventy-home-v2 .gate-core img {
  display: block;
  width: 76%;
  height: 76%;
  object-fit: contain;
  filter: none !important;
  opacity: 1;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  user-select: none;
  pointer-events: none;
}

.eleventy-home-v2 .gate-doors {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 1fr;
  pointer-events: none;
}

.eleventy-home-v2 .gate-door {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.86);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(236, 241, 245, 0.68)),
    repeating-linear-gradient(90deg, transparent 0 70px, rgba(42, 45, 52, 0.035) 71px),
    repeating-linear-gradient(0deg, transparent 0 70px, rgba(42, 45, 52, 0.035) 71px);
  box-shadow: inset 0 0 90px rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(24px) saturate(135%);
  -webkit-backdrop-filter: blur(24px) saturate(135%);
}

.eleventy-home-v2 .gate-door::before,
.eleventy-home-v2 .gate-door::after {
  position: absolute;
  content: "";
}

.eleventy-home-v2 .gate-door::before {
  inset: 7%;
  border: 1px solid rgba(42, 45, 52, 0.07);
  border-radius: 34px;
  box-shadow: inset 0 0 0 12px rgba(255, 255, 255, 0.18);
}

.eleventy-home-v2 .gate-door::after {
  top: 50%;
  width: 58%;
  aspect-ratio: 1;
  transform: translateY(-50%);
  border: 1px solid rgba(var(--ea-accent-rgb), 0.15);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--ea-accent-rgb), 0.06), transparent 66%);
}

.eleventy-home-v2 .gate-door--left {
  border-radius: 0 42px 42px 0;
}

.eleventy-home-v2 .gate-door--left::after {
  right: -26%;
}

.eleventy-home-v2 .gate-door--right {
  border-radius: 42px 0 0 42px;
}

.eleventy-home-v2 .gate-door--right::after {
  left: -26%;
}

.eleventy-home-v2 .gate-seam {
  position: absolute;
  top: 7%;
  bottom: 7%;
  left: 50%;
  z-index: 5;
  width: 1px;
  transform: translateX(-50%);
  background: linear-gradient(transparent, var(--ea-accent) 16%, var(--ea-accent) 84%, transparent);
  box-shadow: 0 0 10px rgba(var(--ea-accent-rgb), 0.7), 0 0 28px rgba(var(--ea-accent-rgb), 0.42);
}

.eleventy-home-v2 .fortress-gate__content {
  position: relative;
  z-index: 7;
  width: min(880px, calc(100vw - 44px));
  padding: 46px;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 34px;
  text-align: center;
  background: rgba(255, 255, 255, 0.54);
  box-shadow: 0 20px 60px rgba(65, 82, 96, 0.1), 0 0 60px rgba(var(--ea-accent-rgb), 0.1);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}

.eleventy-home-v2 .eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 18px;
  gap: 10px;
  color: var(--ea-accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.eleventy-home-v2 .eyebrow::before {
  width: 34px;
  height: 1px;
  content: "";
  background: currentColor;
  box-shadow: 0 0 12px rgba(var(--ea-accent-rgb), 0.65);
}

.eleventy-home-v2 .fortress-gate h1,
.eleventy-home-v2 .wall__copy h2 {
  margin: 0;
  color: var(--ea-text);
  font-weight: 820;
  letter-spacing: -0.055em;
  line-height: 1.02;
}

.eleventy-home-v2 .fortress-gate h1 {
  font-size: clamp(3.2rem, 8vw, 7.8rem);
}

.eleventy-home-v2 .fortress-gate__lead {
  max-width: 720px;
  margin: 24px auto 0;
  color: var(--ea-body);
  font-size: clamp(1rem, 1.6vw, 1.24rem);
  line-height: 1.65;
}

.eleventy-home-v2 .scroll-cue {
  display: inline-flex;
  align-items: center;
  margin-top: 30px;
  gap: 12px;
  color: var(--ea-text);
  font-size: 0.82rem;
  font-weight: 800;
}

.eleventy-home-v2 .scroll-cue__mouse {
  position: relative;
  width: 23px;
  height: 36px;
  border: 1px solid rgba(42, 45, 52, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
}

.eleventy-home-v2 .scroll-cue__mouse::after {
  position: absolute;
  top: 7px;
  left: 50%;
  width: 3px;
  height: 7px;
  content: "";
  transform: translateX(-50%);
  border-radius: 99px;
  background: var(--ea-accent);
  box-shadow: 0 0 10px rgba(var(--ea-accent-rgb), 0.7);
  animation: ea-scroll-cue 1.6s ease-in-out infinite;
}

@keyframes ea-scroll-cue {
  0%, 100% { opacity: 0.35; transform: translate(-50%, 0); }
  50% { opacity: 1; transform: translate(-50%, 9px); }
}

/* Horizontal service corridor */
.eleventy-home-v2 .eleventy-fortress-services {
  position: relative;
  overflow: hidden;
  margin: 0 clamp(8px, 1vw, 18px);
  border-radius: 36px;
  background:
    radial-gradient(circle at 50% 45%, rgba(var(--ea-accent-rgb), 0.08), transparent 35rem),
    linear-gradient(180deg, var(--ea-bg-soft), var(--ea-bg));
}

.eleventy-home-v2 .corridors__viewport {
  position: relative;
  height: 100svh;
  min-height: 720px;
  overflow: hidden;
}

.eleventy-home-v2 .corridors__intro {
  position: absolute;
  top: clamp(24px, 5vh, 54px);
  left: clamp(24px, 6vw, 88px);
  z-index: 4;
  pointer-events: none;
}

.eleventy-home-v2 .corridors__intro span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ea-accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.eleventy-home-v2 .corridors__intro span::before {
  width: 34px;
  height: 1px;
  content: "";
  background: currentColor;
  box-shadow: 0 0 12px rgba(var(--ea-accent-rgb), 0.65);
}

.eleventy-home-v2 .corridors__track {
  display: flex;
  width: max-content;
  height: 100%;
  will-change: transform;
}

.eleventy-home-v2 .corridor-wall {
  position: relative;
  display: grid;
  width: 100vw;
  min-width: 100vw;
  height: 100%;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
}

.eleventy-home-v2 .corridor-wall::before {
  position: absolute;
  inset: 5.5% 2.6%;
  z-index: -1;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 44px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.75), rgba(235, 241, 245, 0.56)),
    repeating-linear-gradient(90deg, transparent 0 72px, rgba(42, 45, 52, 0.025) 73px);
  box-shadow: var(--ea-shadow);
}

.eleventy-home-v2 .corridor-wall::after {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: -1;
  width: 1px;
  height: 62%;
  content: "";
  transform: translateY(-50%);
  background: linear-gradient(transparent, rgba(var(--ea-accent-rgb), 0.66), transparent);
  box-shadow: 0 0 20px rgba(var(--ea-accent-rgb), 0.45);
}

.eleventy-home-v2 .wall__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  width: min(1260px, calc(100vw - 90px));
  margin-inline: auto;
  align-items: center;
  gap: clamp(44px, 7vw, 105px);
}

.eleventy-home-v2 .wall__index {
  display: inline-flex;
  align-items: center;
  margin-bottom: 18px;
  gap: 12px;
  color: var(--ea-accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.eleventy-home-v2 .wall__index::after {
  width: 54px;
  height: 1px;
  content: "";
  background: currentColor;
  box-shadow: 0 0 12px rgba(var(--ea-accent-rgb), 0.65);
}

.eleventy-home-v2 .wall__copy h2 {
  max-width: 760px;
  font-size: clamp(2.5rem, 5vw, 5.6rem);
}

.eleventy-home-v2 .wall__title-link {
  display: inline-flex;
  align-items: flex-start;
  gap: 18px;
  color: inherit;
  text-decoration: none;
}

.eleventy-home-v2 .wall__title-arrow {
  flex: 0 0 auto;
  margin-top: 0.18em;
  color: var(--ea-accent);
  transition: transform var(--ea-transition), color var(--ea-transition);
}

.eleventy-home-v2 .wall__title-link:hover .wall__title-arrow {
  transform: translate(6px, -6px);
  color: #111;
}

.eleventy-home-v2 .wall__copy > p {
  max-width: 760px;
  margin: 24px 0 0;
  color: var(--ea-body);
  font-size: clamp(0.96rem, 1.25vw, 1.08rem);
  line-height: 1.65;
}

.eleventy-home-v2 .wall__features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 28px 0 0;
  padding: 0;
  gap: 10px;
  list-style: none;
}

.eleventy-home-v2 .wall__features li {
  position: relative;
  padding: 12px 14px 12px 36px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 14px;
  color: var(--ea-text);
  background: rgba(255, 255, 255, 0.52);
  font-size: 0.8rem;
  font-weight: 720;
}

.eleventy-home-v2 .wall__features li::before {
  position: absolute;
  top: 50%;
  left: 14px;
  width: 8px;
  height: 8px;
  content: "";
  transform: translateY(-50%);
  border: 2px solid var(--ea-accent);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(var(--ea-accent-rgb), 0.45);
}

.eleventy-home-v2 .wall__visual {
  position: relative;
  display: block;
  min-height: 510px;
  overflow: hidden;
  border: 1px solid var(--ea-border);
  border-radius: var(--ea-radius-lg);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(226, 237, 243, 0.64)),
    var(--ea-glass);
  box-shadow: var(--ea-shadow);
  backdrop-filter: blur(20px) saturate(145%);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
}

.eleventy-home-v2 .wall__visual-grid {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, transparent 0 48px, rgba(42, 45, 52, 0.03) 49px),
    repeating-linear-gradient(0deg, transparent 0 48px, rgba(42, 45, 52, 0.03) 49px);
}

.eleventy-home-v2 .wall__visual-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 62%;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(var(--ea-accent-rgb), 0.34);
  border-radius: 50%;
  box-shadow:
    0 0 0 32px rgba(255, 255, 255, 0.38),
    0 0 0 33px rgba(var(--ea-accent-rgb), 0.08),
    0 0 0 73px rgba(255, 255, 255, 0.24),
    0 0 0 74px rgba(42, 45, 52, 0.04),
    0 0 80px rgba(var(--ea-accent-rgb), 0.2);
}

.eleventy-home-v2 .wall__visual-ring::before,
.eleventy-home-v2 .wall__visual-ring::after {
  position: absolute;
  border-radius: 50%;
  content: "";
}

.eleventy-home-v2 .wall__visual-ring::before {
  inset: 18%;
  border: 1px dashed rgba(42, 45, 52, 0.14);
}

.eleventy-home-v2 .wall__visual-ring::after {
  inset: 36%;
  border: 7px solid var(--ea-accent);
  box-shadow: 0 0 24px rgba(var(--ea-accent-rgb), 0.38);
}

.eleventy-home-v2 .wall__visual-chip {
  position: absolute;
  z-index: 2;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  color: var(--ea-text);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 12px 30px rgba(64, 83, 100, 0.09);
  font-size: 0.75rem;
  font-weight: 800;
}

.eleventy-home-v2 .wall__visual-chip--a { top: 15%; left: 8%; }
.eleventy-home-v2 .wall__visual-chip--b { top: 23%; right: 6%; }
.eleventy-home-v2 .wall__visual-chip--c { right: 10%; bottom: 15%; }
.eleventy-home-v2 .wall__visual-chip--d { bottom: 20%; left: 7%; }

.eleventy-home-v2 .corridor-progress {
  position: absolute;
  right: 6vw;
  bottom: 5.2vh;
  left: 6vw;
  z-index: 3;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(42, 45, 52, 0.08);
}

.eleventy-home-v2 .corridor-progress__bar {
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: var(--ea-accent);
  box-shadow: 0 0 16px rgba(var(--ea-accent-rgb), 0.56);
}

/* GSAP presentation states: scoped so content remains visible when JS fails. */
.fortress-motion-ready .eleventy-home-v2 .gate-door,
.fortress-motion-ready .eleventy-home-v2 .fortress-gate__content,
.fortress-motion-ready .eleventy-home-v2 .gate-interior,
.fortress-motion-ready .eleventy-home-v2 .corridors__track {
  will-change: transform, opacity;
}

.fortress-motion-ready .eleventy-home-v2 .wall__copy,
.fortress-motion-ready .eleventy-home-v2 .wall__visual {
  will-change: transform, opacity;
}

.fortress-motion-ready .eleventy-home-v2 .wall__visual-ring {
  will-change: transform;
}

@media (max-width: 1180px) {
  .eleventy-home-v2 .wall__inner {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.82fr);
    width: min(1180px, calc(100vw - 60px));
    gap: 34px;
  }

  .eleventy-home-v2 .wall__copy h2 {
    font-size: clamp(2.2rem, 5vw, 4.2rem);
  }

  .eleventy-home-v2 .wall__features {
    grid-template-columns: 1fr;
  }

  .eleventy-home-v2 .wall__visual {
    min-height: 430px;
  }
}

@media (max-width: 760px) {
  .eleventy-home-v2 .fortress-gate__content {
    padding: 28px 20px;
    border-radius: 25px;
  }

  .eleventy-home-v2 .fortress-gate h1 {
    font-size: clamp(2.65rem, 15vw, 4.8rem);
  }

  .eleventy-home-v2 .gate-interior {
    inset: 7vh 14px 3vh;
    border-radius: 30px;
  }

  .eleventy-home-v2 .gate-door--left {
    border-radius: 0 24px 24px 0;
  }

  .eleventy-home-v2 .gate-door--right {
    border-radius: 24px 0 0 24px;
  }

  .eleventy-home-v2 .eleventy-fortress-services {
    margin: 0 8px;
    border-radius: 28px;
  }

  .eleventy-home-v2 .corridors__viewport {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .eleventy-home-v2 .corridors__intro {
    position: relative;
    top: auto;
    left: auto;
    padding: 52px 22px 0;
  }

  .eleventy-home-v2 .corridors__track {
    display: grid;
    width: auto;
    height: auto;
  }

  .eleventy-home-v2 .corridor-wall {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 100svh;
    padding: 42px 0 62px;
  }

  .eleventy-home-v2 .corridor-wall::before {
    inset: 18px 10px;
    border-radius: 30px;
  }

  .eleventy-home-v2 .wall__inner {
    grid-template-columns: 1fr;
    width: min(100% - 42px, 680px);
  }

  .eleventy-home-v2 .wall__copy h2 {
    font-size: clamp(2.1rem, 12vw, 3.6rem);
  }

  .eleventy-home-v2 .wall__features {
    grid-template-columns: 1fr;
  }

  .eleventy-home-v2 .wall__visual {
    min-height: 330px;
    border-radius: 30px;
  }

  .eleventy-home-v2 .wall__visual-chip {
    font-size: 0.67rem;
  }

  .eleventy-home-v2 .corridor-progress {
    display: none;
  }

}

@media (prefers-reduced-motion: reduce) {
  .eleventy-home-v2 .corridors__viewport {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .eleventy-home-v2 .corridors__track {
    display: grid;
    width: auto;
    height: auto;
    transform: none !important;
  }

  .eleventy-home-v2 .corridor-wall {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 100svh;
    padding: 70px 0;
  }

  .eleventy-home-v2 .corridor-progress {
    display: none;
  }
}

/* ========================================================================
 * Fortress v13
 * - The gate behaves like a true entry/loading layer and does not consume
 *   document height. After the opening gesture the page begins at the real
 *   Eleventy ADS hero.
 * - The service corridor keeps its horizontal parallax on phones and tablets.
 * ====================================================================== */

html.fortress-intro-active,
html.fortress-intro-active body,
body.fortress-intro-locked {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html.fortress-intro-active .eleventy-home-v2 .eleventy-fortress-gate {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147480000 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  touch-action: none !important;
  cursor: ns-resize;
}

html.fortress-intro-active body > header,
html.fortress-intro-active #header-sticky,
html.fortress-intro-active .hamburger-sticky-menu {
  pointer-events: none !important;
}

html.fortress-intro-complete .eleventy-home-v2 .eleventy-fortress-gate,
.eleventy-home-v2 .eleventy-fortress-gate[aria-hidden="true"] {
  display: none !important;
}

.eleventy-home-v2 .fortress-gate__progress {
  position: relative;
  display: block;
  width: min(300px, 72vw);
  height: 3px;
  margin: 22px auto 0;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(22, 22, 22, 0.08);
}

.eleventy-home-v2 .fortress-gate__progress-bar {
  position: absolute;
  inset: 0;
  display: block;
  transform: scaleX(0);
  transform-origin: left center;
  border-radius: inherit;
  background: var(--ea-accent);
  box-shadow: 0 0 18px rgba(var(--ea-accent-rgb), 0.58);
  will-change: transform;
}

/* The hero is the true start of the page once the fixed intro is dismissed. */
.eleventy-home-v2 #eleventy-main-hero {
  position: relative;
  z-index: 1;
}

@media (max-width: 760px) {
  .eleventy-home-v2 .fortress-gate__content {
    width: min(92vw, 620px);
    padding: 24px 18px;
  }

  .eleventy-home-v2 .fortress-gate__lead {
    margin-top: 18px;
    font-size: 0.94rem;
    line-height: 1.5;
  }

  .eleventy-home-v2 .scroll-cue {
    margin-top: 22px;
  }

  /* Keep the same pinned horizontal corridor on mobile. */
  .eleventy-home-v2 .eleventy-fortress-services {
    overflow: hidden !important;
    margin-inline: 6px !important;
    border-radius: 24px !important;
  }

  .eleventy-home-v2 .corridors__viewport {
    position: relative !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100svh !important;
    min-height: 580px !important;
    overflow: hidden !important;
  }

  .eleventy-home-v2 .corridors__intro {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    z-index: 8 !important;
    padding: 0 !important;
  }

  .eleventy-home-v2 .corridors__track {
    display: flex !important;
    width: max-content !important;
    height: 100% !important;
    transform: translate3d(0, 0, 0);
    will-change: transform;
  }

  .eleventy-home-v2 .corridor-wall {
    display: grid !important;
    width: 100vw !important;
    min-width: 100vw !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 58px 0 24px !important;
    align-items: stretch !important;
  }

  .eleventy-home-v2 .corridor-wall::before {
    inset: 10px 8px !important;
    border-radius: 24px !important;
  }

  .eleventy-home-v2 .wall__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(150px, 1fr) !important;
    width: min(calc(100vw - 38px), 620px) !important;
    height: 100% !important;
    margin-inline: auto !important;
    gap: 14px !important;
    align-content: stretch !important;
  }

  .eleventy-home-v2 .wall__copy {
    min-width: 0;
  }

  .eleventy-home-v2 .wall__index {
    margin-bottom: 8px !important;
    font-size: 0.64rem !important;
  }

  .eleventy-home-v2 .wall__copy h2 {
    max-width: none !important;
    font-size: clamp(1.85rem, 9.2vw, 3rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.05em !important;
  }

  .eleventy-home-v2 .wall__title-link {
    gap: 10px !important;
  }

  .eleventy-home-v2 .wall__title-arrow {
    width: 14px !important;
    height: 14px !important;
  }

  .eleventy-home-v2 .wall__copy > p {
    margin-top: 10px !important;
    font-size: clamp(0.72rem, 2.65vw, 0.86rem) !important;
    line-height: 1.42 !important;
  }

  .eleventy-home-v2 .wall__features {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: 12px !important;
    gap: 6px !important;
  }

  .eleventy-home-v2 .wall__features li {
    min-height: 34px;
    padding: 7px 7px 7px 24px !important;
    border-radius: 10px !important;
    font-size: clamp(0.58rem, 2.15vw, 0.7rem) !important;
    line-height: 1.18 !important;
  }

  .eleventy-home-v2 .wall__features li::before {
    left: 9px !important;
    width: 6px !important;
    height: 6px !important;
  }

  .eleventy-home-v2 .wall__visual {
    min-height: 0 !important;
    height: 100% !important;
    border-radius: 22px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .eleventy-home-v2 .wall__visual-ring {
    width: min(48vw, 210px) !important;
  }

  .eleventy-home-v2 .wall__visual-chip {
    padding: 8px 10px !important;
    font-size: 0.58rem !important;
  }

  .eleventy-home-v2 .corridor-progress {
    display: block !important;
    right: 20px !important;
    bottom: 16px !important;
    left: 20px !important;
    z-index: 9 !important;
  }
}

@media (max-width: 760px) and (max-height: 690px) {
  .eleventy-home-v2 .corridor-wall {
    padding-top: 50px !important;
    padding-bottom: 18px !important;
  }

  .eleventy-home-v2 .wall__copy h2 {
    font-size: clamp(1.65rem, 8.2vw, 2.45rem) !important;
  }

  .eleventy-home-v2 .wall__copy > p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .eleventy-home-v2 .wall__features li {
    min-height: 30px;
    padding-block: 5px !important;
  }
}

/* Exact mobile panel width inside the 6px outer margins. */
@media (max-width: 760px) {
  .fortress-motion-ready .eleventy-home-v2 .corridor-wall {
    width: calc(100vw - 12px) !important;
    min-width: calc(100vw - 12px) !important;
  }
}

/* Accessible/no-JS fallback: cards remain readable as a vertical list. */
@media (max-width: 760px) {
  html:not(.fortress-motion-ready) .eleventy-home-v2 .corridors__viewport,
  .is-reduced-motion .eleventy-home-v2 .corridors__viewport {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  html:not(.fortress-motion-ready) .eleventy-home-v2 .corridors__intro,
  .is-reduced-motion .eleventy-home-v2 .corridors__intro {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    padding: 42px 20px 4px !important;
  }

  html:not(.fortress-motion-ready) .eleventy-home-v2 .corridors__track,
  .is-reduced-motion .eleventy-home-v2 .corridors__track {
    display: grid !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
  }

  html:not(.fortress-motion-ready) .eleventy-home-v2 .corridor-wall,
  .is-reduced-motion .eleventy-home-v2 .corridor-wall {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100svh !important;
  }

  html:not(.fortress-motion-ready) .eleventy-home-v2 .corridor-progress,
  .is-reduced-motion .eleventy-home-v2 .corridor-progress {
    display: none !important;
  }
}

/* v13 logo gate core revision */
@media (max-width: 767px) {
  .eleventy-home-v2 .gate-core {
    width: clamp(92px, 29vw, 132px);
    border-radius: 24px;
  }
}


/* v13.1 logo intro fix: keep the logo above glass doors and make it the only spinning element. */
.eleventy-home-v2 .gate-core--logo {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 9 !important;
  opacity: 0;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  isolation: isolate;
}
.eleventy-home-v2 .gate-core--logo::before,
.eleventy-home-v2 .gate-core--logo::after {
  display: none !important;
  content: none !important;
}
.eleventy-home-v2 .gate-core--logo img {
  position: relative;
  z-index: 2;
  filter: none !important;
  opacity: 1 !important;
}
.fortress-motion-ready .eleventy-home-v2 .gate-core--logo {
  will-change: transform, opacity;
}


/* =========================================================
   Eleventy v13 revizyonları - loading, parallax typography, MacBook spacing
   ========================================================= */

/* Loading alanı JS class'ı gelmeden de fixed başlasın; ilk yüklemede sayfa zıplamasını azaltır. */
.eleventy-home-v2 .eleventy-fortress-gate {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147480000 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  touch-action: none !important;
  cursor: ns-resize;
}

/* Hero Eleventy ADS başlığı footer'daki harf hover efektini kullanırken görünümünü korusun. */
.eleventy-home-v2 .sec-1-home-2 .hero-2-title.text-scale-anim {
  transform-origin: left center !important;
}

.eleventy-home-v2 .sec-1-home-2 .hero-2-title.text-scale-anim .at-letter-span,
.eleventy-home-v2 .sec-1-home-2 .hero-2-title.text-scale-anim .at-word-span {
  display: inline-block;
}

/* Neler Yapıyoruz etiketi üst kenara yapışmasın. */
.eleventy-home-v2 .corridors__intro {
  top: clamp(68px, 9.5vh, 118px) !important;
}

/* Fortress hizmet başlıkları: tek satır, daha küçük font, kontrollü harf aralığı ve ok hizası. */
.eleventy-home-v2 .wall__copy h2 {
  max-width: min(920px, 58vw) !important;
  font-size: clamp(2.05rem, 3.45vw, 4.25rem) !important;
  line-height: 0.98 !important;
  letter-spacing: 0.018em !important;
}

.eleventy-home-v2 .wall__title-link {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0.16em !important;
  max-width: 100% !important;
  color: inherit;
  text-decoration: none;
}

.eleventy-home-v2 .wall__title-text {
  display: inline-block !important;
  white-space: nowrap !important;
  letter-spacing: inherit !important;
}

.eleventy-home-v2 .wall__title-line {
  display: inline-block !important;
  white-space: nowrap !important;
}

.eleventy-home-v2 .wall__title-line-amp {
  margin-top: 0.04em !important;
}

.eleventy-home-v2 .wall__title-arrow {
  width: 0.28em !important;
  height: 0.28em !important;
  min-width: 0.28em !important;
  margin-top: 0 !important;
  margin-left: 0.02em !important;
  transform: translateY(-0.08em) !important;
}

.eleventy-home-v2 .wall__title-link:hover .wall__title-arrow {
  transform: translate(0.12em, -0.2em) !important;
}

/* MacBook / küçük laptop ekranlarda Biz Kimiz alanı kenarlara yapışmasın. */
@media (min-width: 992px) and (max-width: 1536px) {
  .eleventy-home-v2 .sec-2-home-2 .bg-coating {
    margin-left: clamp(28px, 3.6vw, 58px) !important;
    margin-right: clamp(28px, 3.6vw, 58px) !important;
  }

  .eleventy-home-v2 .sec-2-home-2 .bg-coating > .container {
    width: min(100% - 72px, 1240px) !important;
    max-width: 1240px !important;
    padding-left: clamp(20px, 2vw, 34px) !important;
    padding-right: clamp(20px, 2vw, 34px) !important;
  }

  .eleventy-home-v2 .sec-2-home-2 .row.g-4 {
    --bs-gutter-x: clamp(34px, 4vw, 72px) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1440px) {
  .eleventy-home-v2 .wall__copy h2 {
    max-width: min(900px, 62vw) !important;
    font-size: clamp(2rem, 3.2vw, 3.75rem) !important;
    letter-spacing: 0.016em !important;
  }
}

@media (max-width: 991.98px) {
  .eleventy-home-v2 .wall__copy h2 {
    max-width: 100% !important;
    font-size: clamp(2.1rem, 8vw, 4.2rem) !important;
    letter-spacing: 0.01em !important;
  }

  .eleventy-home-v2 .wall__title-text {
    white-space: normal !important;
  }
}

/* =========================================================
   Eleventy v13 final polish pass - 2026-06-26
   Sadece kalan revizeler: hero footer effect, corridor title/arrow,
   MacBook about spacing, mobile references, career close, mobile service label.
   ========================================================= */

/* 1) Hero Eleventy ADS: footer'daki harf kaydırma efektini bağımsız ve kesin uygula. */
.eleventy-home-v2 .sec-1-home-2 .hero-2-title.eleventy-hero-footer-effect {
  overflow: hidden !important;
  display: block !important;
  color: #111111 !important;
  cursor: default;
  clip-path: none !important;
  -webkit-clip-path: none !important;
}

.eleventy-home-v2 .sec-1-home-2 .hero-2-title.eleventy-hero-footer-effect .eh-footer-char {
  display: inline-block !important;
  color: inherit !important;
  text-shadow: 0 1.05em #ff9900 !important;
  transform: translate3d(0, 0, 0) !important;
  transition:
    transform 0.52s cubic-bezier(.625, .05, 0, 1),
    text-shadow 0.18s ease !important;
  transition-delay: calc((var(--char, 1) - 1) * 0.024s) !important;
  will-change: transform;
}

.eleventy-home-v2 .sec-1-home-2 .at-title-anim:hover .hero-2-title.eleventy-hero-footer-effect .eh-footer-char,
.eleventy-home-v2 .sec-1-home-2 .hero-2-title.eleventy-hero-footer-effect:hover .eh-footer-char {
  transform: translate3d(0, -1.05em, 0) !important;
  text-shadow: 0 1.05em currentColor !important;
}

.eleventy-home-v2 .sec-1-home-2 .hero-2-title.eleventy-hero-footer-effect .footer-copyright-mark,
.eleventy-home-v2 .sec-1-home-2 .hero-2-title.eleventy-hero-footer-effect .eh-footer-char:last-child {
  font-size: 0.58em !important;
  line-height: 1 !important;
  transform-origin: center top !important;
}

/* 4) Fortress hizmet başlıkları: daha küçük, ok sabit sağda; metinle çakışmaz. */
.eleventy-home-v2 .wall__copy h2 {
  max-width: min(780px, 54vw) !important;
  font-size: clamp(1.75rem, 2.92vw, 3.55rem) !important;
  line-height: 0.98 !important;
  letter-spacing: 0.024em !important;
}

.eleventy-home-v2 .wall__title-link {
  position: relative !important;
  display: inline-block !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding-right: 0.58em !important;
  color: inherit !important;
  text-decoration: none !important;
}

.eleventy-home-v2 .wall__title-text,
.eleventy-home-v2 .wall__title-line {
  display: inline-block !important;
  white-space: nowrap !important;
  letter-spacing: inherit !important;
}

.eleventy-home-v2 .wall__title-arrow {
  position: absolute !important;
  top: 0.17em !important;
  right: 0 !important;
  width: 0.30em !important;
  height: 0.30em !important;
  min-width: 0.30em !important;
  margin: 0 !important;
  transform: none !important;
  color: var(--ea-accent) !important;
}

.eleventy-home-v2 .wall__title-link:hover .wall__title-arrow {
  transform: translate3d(0.08em, -0.08em, 0) !important;
}

@media (min-width: 1200px) and (max-width: 1536px) {
  .eleventy-home-v2 .wall__copy h2 {
    max-width: min(720px, 56vw) !important;
    font-size: clamp(1.55rem, 2.7vw, 3.05rem) !important;
    letter-spacing: 0.021em !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .eleventy-home-v2 .wall__copy h2 {
    max-width: min(650px, 58vw) !important;
    font-size: clamp(1.42rem, 2.55vw, 2.65rem) !important;
  }
}

/* 5) MacBook / küçük laptop: Biz Kimiz alanı gerçek anlamda içeri alınır. */
@media (min-width: 992px) and (max-width: 1536px) {
  .eleventy-home-v2 .sec-2-home-2.container-2200 {
    padding-left: clamp(28px, 3.9vw, 70px) !important;
    padding-right: clamp(28px, 3.9vw, 70px) !important;
  }

  .eleventy-home-v2 .sec-2-home-2 > .mx-4 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .eleventy-home-v2 .sec-2-home-2 .bg-coating {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .eleventy-home-v2 .sec-2-home-2 .bg-coating > .container {
    max-width: 1240px !important;
    padding-left: clamp(34px, 4.2vw, 76px) !important;
    padding-right: clamp(34px, 4.2vw, 76px) !important;
  }

  .eleventy-home-v2 .sec-2-home-2 .bg-coating .row.g-4 {
    --bs-gutter-x: clamp(42px, 5.2vw, 90px) !important;
  }

  .eleventy-home-v2 .sec-2-home-2 .card-item__bg {
    max-width: clamp(340px, 29vw, 420px) !important;
    margin-left: auto !important;
    margin-right: clamp(12px, 2.2vw, 34px) !important;
  }
}

/* 7) Kariyer popup kapatma state'i. */
#careerPopup:not(.is-active) {
  display: none !important;
}

#careerPopup.is-active {
  display: flex !important;
}

/* Referanslar mobil: tagler tek satırda yatay aksın, kart gereksiz beyaz boşluk üretmesin. */
@media (max-width: 767px) {
  #referanslar .eleventy-references-shell {
    padding: 26px 14px !important;
    border-radius: 24px !important;
  }

  #referanslar .eleventy-reference-card {
    min-height: 0 !important;
  }

  #referanslar .eleventy-reference-media {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(17,17,17,0.06) !important;
  }

  #referanslar .eleventy-reference-media img {
    height: clamp(168px, 48vw, 210px) !important;
    object-fit: contain !important;
    object-position: top center !important;
    padding: 8px !important;
    background: #ffffff !important;
  }

  #referanslar .eleventy-reference-content {
    padding: 16px 14px 18px !important;
  }

  #referanslar .eleventy-reference-tags {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 6px !important;
    margin-bottom: 14px !important;
    padding-bottom: 2px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  #referanslar .eleventy-reference-tags::-webkit-scrollbar {
    display: none;
  }

  #referanslar .eleventy-reference-tag {
    flex: 0 0 auto !important;
    min-height: 28px !important;
    padding: 7px 10px !important;
    margin: 0 !important;
    font-size: 10.2px !important;
    letter-spacing: 0.015em !important;
    white-space: nowrap !important;
  }

  #referanslar .eleventy-reference-title-row h3 {
    font-size: 21px !important;
    line-height: 1.08 !important;
  }

  #referanslar .eleventy-reference-arrow {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }
}

/* Loading core/logo: iPhone farklı viewportlarında tam merkeze sabitle, arka kareyi kaldır. */
.eleventy-home-v2 .eleventy-fortress-gate .gate-core,
.eleventy-home-v2 .eleventy-fortress-gate .gate-core--logo {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 12 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform-origin: 50% 50% !important;
}

.eleventy-home-v2 .eleventy-fortress-gate .gate-core img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

@supports (height: 100dvh) {
  .eleventy-home-v2 .eleventy-fortress-gate .gate-core,
  .eleventy-home-v2 .eleventy-fortress-gate .gate-core--logo {
    top: 50dvh !important;
  }
}

/* Neler Yapıyoruz mobilde kart metinleriyle çakışmasın; desktop değerleri korunur. */
@media (max-width: 760px) {
  .eleventy-home-v2 .corridors__intro {
    top: 10px !important;
    left: 16px !important;
    transform: none !important;
  }

  .eleventy-home-v2 .corridors__intro span {
    font-size: 0.62rem !important;
    letter-spacing: 0.115em !important;
    gap: 7px !important;
  }

  .eleventy-home-v2 .corridors__intro span::before {
    width: 22px !important;
  }

  .eleventy-home-v2 .corridor-wall {
    padding-top: 62px !important;
  }

  .eleventy-home-v2 .wall__copy h2 {
    max-width: calc(100vw - 46px) !important;
    font-size: clamp(1.38rem, 7.2vw, 2.16rem) !important;
    line-height: 1 !important;
    letter-spacing: 0.006em !important;
  }

  .eleventy-home-v2 .wall__title-link {
    padding-right: 0.62em !important;
  }

  .eleventy-home-v2 .wall__title-text,
  .eleventy-home-v2 .wall__title-line {
    white-space: nowrap !important;
  }
}
