@font-face { font-family: "TIP Sans"; src: url("assets/fonts/tip-sans-variable.woff2?v=20261017-az2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
:root {
  --ink: #0b1d34;
  --muted: #5c6c82;
  --line: #dbe3ed;
  --paper: #f5f7fa;
  --white: #ffffff;
  --blue: #1f5eff;
  --blue-deep: #123b9c;
  --green: #0f9d74;
  --gold: #ead29c;
  --night: #061426;
  --night-2: #0a2039;
  --scene-scale: 1;
  --scene-y: 0px;
  --scene-blur: 0px;
  --door-left: 0deg;
  --door-right: 0deg;
  --door-x: 0%;
  --intro-opacity: 1;
  --intro-y: 0px;
  --arrival-opacity: 0;
  --arrival-y: 22px;
  --cue-opacity: 1;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: var(--night);
  color-scheme: light;
}

body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--paper);
  font-family: "TIP Sans", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.nav-open { overflow: hidden; }

a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  border-radius: 8px;
  color: #fff;
  background: var(--blue-deep);
  font-weight: 800;
  transform: translateY(-180%);
}

.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 14px clamp(20px, 4vw, 68px);
  border-bottom: 1px solid transparent;
  transition: min-height .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.site-header.is-scrolled,
.site-header:focus-within {
  min-height: 70px;
  border-color: rgba(202, 218, 237, .18);
  background: rgba(5, 20, 38, .9);
  box-shadow: 0 12px 38px rgba(0, 0, 0, .2);
  backdrop-filter: blur(18px);
}

.brand {
  width: clamp(172px, 18vw, 238px);
  height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 12px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

.brand img { width: 100%; height: 100%; object-fit: contain; }

.primary-nav {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 30px);
  color: rgba(255, 255, 255, .86);
}

.primary-nav > a {
  position: relative;
  text-decoration: none;
  font-size: .82rem;
  font-weight: 750;
}

.primary-nav > a:not(.login-link)::after {
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 2px;
  content: "";
  background: var(--gold);
  transform: scaleX(0);
  transition: transform .2s ease;
}

.primary-nav > a:hover::after,
.primary-nav > a:focus-visible::after { transform: scaleX(1); }

.login-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  color: #07182d;
  background: #fff;
}

.login-link:hover { background: var(--gold); }

.locale-switch {
  display: inline-flex;
  padding: 3px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(4,17,32,.45);
}

.locale-switch button {
  min-width: 34px;
  min-height: 32px;
  border: 0;
  border-radius: 999px;
  color: rgba(255,255,255,.7);
  background: transparent;
  cursor: pointer;
  font-size: .68rem;
  font-weight: 850;
}

.locale-switch button[aria-pressed="true"] {
  color: #07182d;
  background: var(--gold);
}

.nav-toggle {
  display: none;
  align-items: center;
  gap: 5px;
  border: 0;
  color: #fff;
  background: transparent;
  cursor: pointer;
}

.nav-toggle span { width: 20px; height: 2px; display: none; background: currentColor; }
.nav-toggle b { font-size: .76rem; }

.cinematic {
  position: relative;
  z-index: 1;
  height: 205svh;
  background: var(--night);
}

.cinematic-sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 690px;
  overflow: hidden;
  isolation: isolate;
  background: var(--night);
}

.classroom-scene,
.scene-vignette,
.light-haze,
.entry-frame {
  position: absolute;
  inset: 0;
}

.classroom-scene {
  z-index: -1;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 38%, rgba(70, 161, 229, .17), transparent 34%),
    linear-gradient(180deg, #0b2a46 0%, #071728 58%, #020912 100%);
}

.room-depth {
  position: absolute;
  inset: -3%;
  overflow: hidden;
  isolation: isolate;
  background: #061426;
  transform: translate3d(0, var(--scene-y), 0) scale(var(--scene-scale));
  transform-origin: 50% 48%;
  filter: blur(var(--scene-blur));
  will-change: transform, filter;
}

.university-scene-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 50%;
  pointer-events: none;
  user-select: none;
  filter: saturate(.92) contrast(1.04) brightness(.84);
  transform: scale(1.015);
}

.room-depth::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(1,8,16,.3), rgba(1,8,16,.03) 38%, rgba(1,8,16,.3)),
    linear-gradient(90deg, rgba(2,11,21,.18), transparent 28% 72%, rgba(2,11,21,.18));
}

.back-wall {
  position: absolute;
  z-index: 2;
  top: 8%;
  left: 25%;
  width: 50%;
  height: 56%;
  border: 1px solid rgba(129, 180, 220, .25);
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(151,181,205,.18) 50%, transparent 50.2%),
    linear-gradient(180deg, #183a55, #102a42 67%, #0b2034);
  box-shadow: inset 0 0 80px rgba(0,0,0,.45), 0 30px 80px rgba(0,0,0,.35);
}

.back-wall::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 56px 42px;
}

.state-emblem {
  position: absolute;
  z-index: 3;
  top: 5%;
  left: 50%;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(246,197,74,.8);
  border-radius: 50%;
  color: var(--gold);
  background: rgba(5,20,38,.65);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
  transform: translateX(-50%);
}

.smart-board {
  position: absolute;
  z-index: 3;
  top: 19%;
  left: 15%;
  width: 70%;
  height: 55%;
  overflow: hidden;
  border: 6px solid #182d3c;
  border-radius: 7px;
  background:
    radial-gradient(circle at 80% 25%, rgba(15,157,116,.22), transparent 27%),
    linear-gradient(135deg, #0b2540, #123b68);
  box-shadow: 0 18px 45px rgba(0,0,0,.45), inset 0 0 0 1px rgba(111,190,255,.18);
}

.board-top {
  height: 17%;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 5%;
  border-bottom: 1px solid rgba(148,197,235,.15);
}

.board-top span { width: 42%; height: 5px; border-radius: 4px; background: rgba(230,244,255,.58); }
.board-top i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.board-top i:last-child { background: var(--gold); }

.board-grid {
  position: absolute;
  top: 27%;
  right: 5%;
  left: 5%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4%;
}

.board-grid b { height: 42px; border: 1px solid rgba(129,199,247,.17); border-radius: 5px; background: rgba(255,255,255,.07); }

.board-chart {
  position: absolute;
  right: 7%;
  bottom: 9%;
  left: 7%;
  height: 27%;
  display: flex;
  align-items: flex-end;
  gap: 7%;
  border-bottom: 1px solid rgba(129,199,247,.22);
}

.board-chart i { width: 8%; min-height: 18%; border-radius: 3px 3px 0 0; background: linear-gradient(#50b7ff, #1f5eff); box-shadow: 0 0 18px rgba(68,170,255,.26); }
.board-chart i:nth-child(2) { height: 42%; }
.board-chart i:nth-child(3) { height: 67%; background: linear-gradient(#5fe0b7, #0f9d74); }
.board-chart i:nth-child(4) { height: 48%; }
.board-chart i:nth-child(5) { height: 78%; background: linear-gradient(#ffe08b, #d69d15); }
.board-chart i:nth-child(6) { height: 58%; }

.lectern {
  position: absolute;
  z-index: 5;
  bottom: -4%;
  left: 43%;
  width: 14%;
  height: 25%;
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
  background: linear-gradient(90deg, #203c51, #496377 48%, #173044);
  box-shadow: 0 16px 28px rgba(0,0,0,.45);
}

.lectern span { position: absolute; top: 17%; left: 42%; width: 16%; aspect-ratio: 1; border: 1px solid var(--gold); border-radius: 50%; }

.side-wall {
  position: absolute;
  z-index: 1;
  top: 0;
  width: 37%;
  height: 71%;
  display: flex;
  justify-content: space-around;
  padding-top: 11%;
  background: linear-gradient(180deg, #193d59, #0c2337);
}

.side-wall-left { left: 0; clip-path: polygon(0 0, 100% 12%, 72% 100%, 0 100%); }
.side-wall-right { right: 0; clip-path: polygon(0 12%, 100% 0, 100% 100%, 28% 100%); }

.window-pane {
  position: relative;
  width: 17%;
  height: 53%;
  overflow: hidden;
  border: 5px solid #0e273a;
  border-radius: 50% 50% 4px 4px;
  background:
    linear-gradient(90deg, transparent 45%, rgba(255,255,255,.35) 46% 53%, transparent 54%),
    linear-gradient(180deg, rgba(171,225,255,.9), rgba(246,197,74,.72) 75%, rgba(15,157,116,.38));
  box-shadow: 0 0 40px rgba(127,200,255,.2);
}

.side-wall-left .window-pane { transform: skewY(4deg); }
.side-wall-right .window-pane { transform: skewY(-4deg); }

.ceiling-plane {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 4%;
  width: 92%;
  height: 23%;
  clip-path: polygon(0 0, 100% 0, 75% 100%, 25% 100%);
  background:
    repeating-linear-gradient(90deg, transparent 0 14%, rgba(103,143,170,.16) 14.2% 14.5%),
    linear-gradient(180deg, #07182b, #173650);
  box-shadow: inset 0 -24px 45px rgba(0,0,0,.3);
}

.ceiling-plane i {
  position: absolute;
  top: 43%;
  width: 10%;
  height: 6px;
  border-radius: 999px;
  background: #dceeff;
  box-shadow: 0 0 24px rgba(189,228,255,.8);
}

.ceiling-plane i:nth-child(1) { left: 15%; }
.ceiling-plane i:nth-child(2) { left: 35%; }
.ceiling-plane i:nth-child(3) { right: 35%; }
.ceiling-plane i:nth-child(4) { right: 15%; }

.floor-plane {
  position: absolute;
  z-index: 3;
  right: -7%;
  bottom: -12%;
  left: -7%;
  height: 55%;
  clip-path: polygon(27% 0, 73% 0, 100% 100%, 0 100%);
  background:
    repeating-linear-gradient(87deg, transparent 0 11.5%, rgba(126,165,187,.13) 11.7% 12%),
    repeating-linear-gradient(178deg, transparent 0 13%, rgba(118,155,178,.14) 13.4% 13.8%),
    linear-gradient(180deg, #152d3f, #07131f 72%);
  box-shadow: inset 0 30px 55px rgba(0,0,0,.28);
}

.floor-plane span {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 44%;
  width: 12%;
  background: linear-gradient(180deg, rgba(73,140,188,.13), rgba(50,111,162,.03));
  clip-path: polygon(35% 0, 65% 0, 100% 100%, 0 100%);
}

.desks { position: absolute; z-index: 5; inset: 0; }

.desks i {
  position: absolute;
  width: 18%;
  height: 9%;
  border-radius: 5px 5px 12px 12px;
  background: linear-gradient(180deg, #9f7046 0 18%, #56391f 19% 50%, #172a36 51%);
  box-shadow: 0 18px 24px rgba(0,0,0,.35), inset 0 2px rgba(255,221,165,.28);
  transform: perspective(500px) rotateX(5deg);
}

.desks i:nth-child(1) { left: 7%; bottom: 31%; width: 14%; transform: scale(.56); }
.desks i:nth-child(2) { right: 7%; bottom: 31%; width: 14%; transform: scale(.56); }
.desks i:nth-child(3) { left: 3%; bottom: 21%; width: 20%; transform: scale(.78); }
.desks i:nth-child(4) { right: 3%; bottom: 21%; width: 20%; transform: scale(.78); }
.desks i:nth-child(5) { left: -3%; bottom: 8%; width: 30%; height: 12%; }
.desks i:nth-child(6) { right: -3%; bottom: 8%; width: 30%; height: 12%; }
.desks i:nth-child(7) { left: -8%; bottom: -8%; width: 38%; height: 16%; transform: scale(1.13); }
.desks i:nth-child(8) { right: -8%; bottom: -8%; width: 38%; height: 16%; transform: scale(1.13); }

.light-haze {
  z-index: 7;
  pointer-events: none;
  opacity: .58;
  background:
    linear-gradient(113deg, transparent 0 58%, rgba(171,225,255,.15) 59% 65%, transparent 66%),
    radial-gradient(ellipse at 50% 25%, rgba(77,166,224,.12), transparent 50%);
  mix-blend-mode: screen;
}

.entry-frame { z-index: 8; perspective: 1200px; pointer-events: none; }

.entry-top {
  position: absolute;
  z-index: 4;
  top: 0;
  right: 0;
  left: 0;
  height: 14%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 18px;
  border-bottom: 8px solid #10283b;
  background: linear-gradient(#020912, #0a2034);
  box-shadow: 0 12px 28px rgba(0,0,0,.52);
}

.entry-top span {
  color: rgba(255,255,255,.58);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .42em;
}

.door {
  position: absolute;
  top: 13%;
  bottom: 0;
  width: 51%;
  overflow: hidden;
  border: 9px solid #0b1c2c;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04), transparent 12% 88%, rgba(0,0,0,.3)),
    repeating-linear-gradient(90deg, #102b41 0 18%, #0d2539 18% 19%);
  box-shadow: inset 0 0 80px rgba(0,0,0,.48), 0 0 70px rgba(0,0,0,.55);
  will-change: transform;
}

.door::before,
.door::after {
  position: absolute;
  right: 9%;
  left: 9%;
  height: 30%;
  border: 2px solid rgba(141,181,207,.18);
  border-radius: 4px;
  content: "";
  box-shadow: inset 0 0 24px rgba(0,0,0,.26);
}

.door::before { top: 12%; }
.door::after { bottom: 12%; }
.door-left { left: -1%; transform-origin: 0 50%; transform: translateX(calc(var(--door-x) * -1)) rotateY(var(--door-left)); }
.door-right { right: -1%; transform-origin: 100% 50%; transform: translateX(var(--door-x)) rotateY(var(--door-right)); }

.door i {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 15px;
  height: 15px;
  border: 3px solid #f0c867;
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(246,197,74,.38);
}

.door-left i { right: 6%; }
.door-right i { left: 6%; }

.door b {
  position: absolute;
  top: 46%;
  width: 1px;
  height: 10%;
  background: rgba(246,197,74,.55);
}

.door-left b { right: 8%; }
.door-right b { left: 8%; }

.scene-vignette {
  z-index: 9;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,5,12,.42), transparent 23% 64%, rgba(0,5,12,.72)),
    radial-gradient(ellipse at center, transparent 34%, rgba(0,6,14,.46) 100%);
}

.hero-panel {
  position: absolute;
  z-index: 12;
  top: 50%;
  left: 50%;
  width: min(900px, calc(100% - 40px));
  color: #fff;
  text-align: center;
  transform: translate(-50%, -50%);
}

.hero-intro {
  opacity: var(--intro-opacity);
  transform: translate(-50%, calc(-50% + var(--intro-y)));
  will-change: opacity, transform;
}

.hero-arrival {
  max-width: 720px;
  opacity: var(--arrival-opacity);
  pointer-events: none;
  transform: translate(-50%, calc(-50% + var(--arrival-y)));
  will-change: opacity, transform;
}

.hero-arrival.is-live { pointer-events: auto; }
.hero-arrival[aria-hidden="false"] { pointer-events: auto; }

.hero-kicker,
.eyebrow {
  margin: 0 0 18px;
  color: var(--gold);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.hero-panel h1,
.hero-panel h2 {
  max-width: 880px;
  margin: 0 auto;
  font-family: "TIP Sans", "Segoe UI", Arial, sans-serif;
  font-weight: 650;
  letter-spacing: -.045em;
  text-wrap: balance;
  text-shadow: 0 8px 32px rgba(0,0,0,.5);
}

.hero-panel h1 { font-size: clamp(3rem, 6.2vw, 6rem); line-height: 1.1; }
.hero-panel h2 { font-size: clamp(2.5rem, 5.6vw, 5rem); line-height: 1.12; }

.hero-panel > p:not(.hero-kicker) {
  max-width: 720px;
  margin: 24px auto 0;
  color: rgba(240,247,255,.86);
  font-size: clamp(.98rem, 1.6vw, 1.18rem);
  text-shadow: 0 3px 14px rgba(0,0,0,.65);
}

.arrival-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin: 0 auto 20px;
  border: 1px solid rgba(246,197,74,.8);
  border-radius: 50%;
  color: var(--gold);
  background: rgba(5,20,38,.58);
  font-size: .7rem;
  font-weight: 900;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 30px;
}

.button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  text-decoration: none;
  font-size: .84rem;
  font-weight: 850;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.button:hover { transform: translateY(-2px); }
.button:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid rgba(246,197,74,.72); outline-offset: 3px; }
.button-primary { color: #061426; background: var(--gold); box-shadow: 0 12px 28px rgba(246,197,74,.2); }
.button-primary:hover { background: #ffe08a; box-shadow: 0 16px 34px rgba(246,197,74,.28); }
.button-glass { color: #fff; border-color: rgba(255,255,255,.44); background: rgba(5,20,38,.38); backdrop-filter: blur(10px); }
.button-glass:hover { background: rgba(255,255,255,.13); }

.hero-arrival .button { margin-top: 26px; }

.scroll-cue {
  position: absolute;
  z-index: 13;
  bottom: max(28px, env(safe-area-inset-bottom));
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.67);
  opacity: var(--cue-opacity);
  transform: translateX(-50%);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: opacity .2s ease;
}

.scroll-cue i {
  position: relative;
  width: 22px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 999px;
}

.scroll-cue i::after {
  position: absolute;
  top: 7px;
  left: 9px;
  width: 3px;
  height: 7px;
  border-radius: 4px;
  content: "";
  background: var(--gold);
  animation: cue 1.7s ease-in-out infinite;
}

@keyframes cue { 0%,100% { opacity: .25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(10px); } }

.content-section { position: relative; z-index: 3; padding: clamp(92px, 11vw, 160px) 0; }
.section-shell { width: min(1240px, calc(100% - 40px)); margin: 0 auto; }

.section-heading {
  display: grid;
  grid-template-columns: 110px minmax(0, 780px);
  gap: clamp(28px, 5vw, 80px);
  align-items: start;
  margin-bottom: clamp(54px, 8vw, 96px);
}

.section-index {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #61738b;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .16em;
}

.section-index::after { width: 38px; height: 1px; content: ""; background: currentColor; }
.section-heading .eyebrow { color: var(--blue-deep); }

.section-heading h2 {
  max-width: 850px;
  margin: 0;
  color: var(--ink);
  font-family: "TIP Sans", "Segoe UI", Arial, sans-serif;
  font-size: clamp(2.4rem, 5.3vw, 5rem);
  font-weight: 650;
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.section-heading div > p:last-child {
  max-width: 680px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(.98rem, 1.35vw, 1.08rem);
}

.data-section { overflow: hidden; border-top: 1px solid #d5dee9; background: linear-gradient(180deg, #f7f9fc, #edf2f7); }

.data-map {
  position: relative;
  min-height: 620px;
  border: 1px solid rgba(86,111,141,.22);
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(31,94,255,.11), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,250,253,.75));
  box-shadow: 0 30px 80px rgba(19,52,91,.08);
}

.data-map::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .28;
  background-image: radial-gradient(#9eb2c7 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: radial-gradient(circle at center, #000, transparent 78%);
}

.data-core {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  width: 210px;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(91,156,255,.5);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #123b9c, #1f5eff 58%, #0f9d74);
  box-shadow: 0 24px 48px rgba(31,94,255,.24), inset 0 1px rgba(255,255,255,.3);
  transform: translate(-50%, -50%);
}

.core-pulse { position: absolute; inset: -18px; border: 1px solid rgba(31,94,255,.24); border-radius: 50%; animation: pulse 3s ease-out infinite; }
@keyframes pulse { 0% { opacity: .8; transform: scale(.88); } 75%,100% { opacity: 0; transform: scale(1.22); } }
.data-core small { font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .78; }
.data-core strong { margin-top: 7px; font-size: 1.65rem; letter-spacing: -.03em; }
.data-core em { margin-top: 2px; font-size: .68rem; font-style: normal; opacity: .74; }

.data-node {
  position: absolute;
  z-index: 3;
  width: 188px;
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 13px 15px;
  border: 1px solid #d6e0eb;
  border-radius: 15px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 13px 30px rgba(30,63,101,.08);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.data-node:hover { z-index: 5; border-color: #8cb5ff; box-shadow: 0 18px 38px rgba(31,94,255,.13); transform: translateY(-4px); }
.data-node b { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: #fff; background: var(--blue-deep); font-size: .65rem; }
.data-node span { color: #1d3149; font-size: .78rem; font-weight: 780; line-height: 1.35; }
.node-1 { top: 8%; left: 7%; }
.node-2 { top: 5%; left: calc(50% - 94px); }
.node-3 { top: 8%; right: 7%; }
.node-4 { top: calc(50% - 38px); right: 3%; }
.node-5 { right: 7%; bottom: 8%; }
.node-6 { bottom: 5%; left: calc(50% - 94px); }
.node-7 { bottom: 8%; left: 7%; }
.node-8 { top: calc(50% - 38px); left: 3%; }

.data-connectors { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; }
.data-connectors path { fill: none; stroke: rgba(48,105,187,.32); stroke-width: 1.2; stroke-dasharray: 5 6; vector-effect: non-scaling-stroke; }

.workspace-section { color: #fff; background: var(--night); }
.workspace-section::before { position: absolute; top: 0; right: 0; left: 0; height: 1px; content: ""; background: linear-gradient(90deg, transparent, rgba(246,197,74,.65), transparent); }
.section-heading.light .section-index { color: #8ca2ba; }
.section-heading.light .eyebrow { color: var(--gold); }
.section-heading.light h2 { color: #fff; }
.section-heading.light div > p:last-child { color: #aab8c8; }

.workspace-switch {
  display: inline-flex;
  gap: 8px;
  padding: 6px;
  border: 1px solid rgba(153,179,205,.18);
  border-radius: 15px;
  background: rgba(255,255,255,.04);
}

.workspace-switch button {
  min-width: 180px;
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 18px;
  border: 0;
  border-radius: 11px;
  color: #9db0c4;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.workspace-switch button span { font-size: .65rem; font-weight: 900; }
.workspace-switch button b { font-size: .9rem; }
.workspace-switch button[aria-selected="true"] { color: #07182d; background: var(--gold); box-shadow: 0 10px 24px rgba(0,0,0,.2); }

.workspace-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 30px;
  overflow: hidden;
  border: 1px solid rgba(150,179,207,.16);
  border-radius: 24px;
  background: rgba(150,179,207,.16);
}

.workspace-panel[hidden] { display: none; }

.workspace-panel article {
  min-height: 220px;
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 22px;
  padding: clamp(26px, 4vw, 46px);
  background: linear-gradient(145deg, rgba(13,42,70,.97), rgba(7,25,45,.98));
  transition: background .2s ease;
}

.workspace-panel article:hover { background: linear-gradient(145deg, rgba(20,59,94,.98), rgba(9,31,55,.98)); }
.workspace-panel article > span { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(246,197,74,.35); border-radius: 50%; color: var(--gold); font-size: .65rem; font-weight: 900; }
.workspace-panel h3 { margin: 2px 0 11px; color: #fff; font-size: clamp(1.15rem, 2.1vw, 1.4rem); font-weight: 600; letter-spacing: -.025em; }
.workspace-panel p { max-width: 470px; margin: 0; color: #9fb0c2; font-size: .87rem; }

.workspace-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 38px;
  padding: 30px 34px;
  border: 1px solid rgba(246,197,74,.24);
  border-radius: 20px;
  background: linear-gradient(110deg, rgba(246,197,74,.08), rgba(31,94,255,.06));
}

.workspace-cta div { display: flex; flex-direction: column; }
.workspace-cta small { color: #8ea2b8; font-size: .67rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.workspace-cta strong { margin-top: 4px; color: #fff; font-size: 1.55rem; font-weight: 600; letter-spacing: -.03em; }

.site-footer {
  min-height: 100px;
  display: grid;
  grid-template-columns: minmax(170px, 230px) 1fr auto;
  align-items: center;
  gap: 26px;
  padding: 22px clamp(20px, 5vw, 76px);
  border-top: 1px solid #d9e1ea;
  color: #506278;
  background: #fff;
}

.site-footer img { width: 100%; max-height: 45px; object-fit: contain; }
.site-footer p { margin: 0; font-size: .76rem; }
.site-footer a { color: var(--blue-deep); font-size: .78rem; font-weight: 850; text-underline-offset: 4px; }

[data-reveal] { opacity: 1; transition: opacity .45s ease, transform .45s ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .site-header { min-height: 70px; padding: 10px 20px; background: rgba(5,20,38,.82); backdrop-filter: blur(14px); }
  .brand { width: 178px; height: 43px; }
  .nav-toggle { min-height: 44px; display: inline-flex; flex-direction: column; justify-content: center; padding: 5px 10px; }
  .nav-toggle span { display: block; transition: transform .2s ease, opacity .2s ease; }
  .nav-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .primary-nav { position: fixed; top: 70px; right: 14px; left: 14px; display: grid; gap: 4px; padding: 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(5,20,38,.98); box-shadow: 0 24px 60px rgba(0,0,0,.38); opacity: 0; pointer-events: none; transform: translateY(-12px); transition: opacity .2s ease, transform .2s ease; }
  .primary-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .primary-nav > a { min-height: 45px; display: flex; align-items: center; padding: 8px 12px; border-radius: 9px; }
  .primary-nav > a:hover { background: rgba(255,255,255,.07); }
  .primary-nav > a::after { display: none; }
  .locale-switch { width: max-content; margin: 8px 12px; }
  .login-link { margin-top: 6px; }
  .side-wall { width: 43%; }
  .back-wall { left: 20%; width: 60%; }
  .section-heading { grid-template-columns: 80px 1fr; gap: 30px; }
  .data-map { min-height: 720px; }
  .data-core { width: 180px; }
  .data-node { width: 166px; }
  .node-1, .node-7 { left: 4%; }
  .node-3, .node-5 { right: 4%; }
  .workspace-panel { grid-template-columns: 1fr; }
  .workspace-panel article { min-height: 175px; }
}

@media (max-width: 680px) {
  .cinematic { height: 180svh; }
  .cinematic-sticky { min-height: 690px; }
  .hero-panel { width: calc(100% - 32px); top: 48%; }
  .hero-panel h1 { font-size: clamp(2.65rem, 10.6vw, 4.25rem); }
  .hero-panel h2 { font-size: clamp(2.3rem, 9.5vw, 3.6rem); }
  .hero-panel > p:not(.hero-kicker) { font-size: .9rem; }
  .hero-kicker { font-size: .61rem; letter-spacing: .14em; }
  .hero-actions { align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .entry-top { height: 12%; }
  .door { top: 11%; }
  .side-wall { width: 47%; }
  .side-wall .window-pane:nth-child(2) { display: none; }
  .back-wall { top: 14%; left: 13%; width: 74%; height: 51%; }
  .smart-board { top: 19%; left: 8%; width: 84%; }
  .lectern { left: 39%; width: 22%; }
  .desks i:nth-child(1), .desks i:nth-child(2) { display: none; }
  .section-shell { width: min(100% - 28px, 1240px); }
  .content-section { padding: 84px 0; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 46px; }
  .section-index { order: 2; }
  .section-heading h2 { font-size: clamp(2.25rem, 12vw, 3.55rem); }
  .data-map { min-height: auto; display: grid; grid-template-columns: 1fr; gap: 10px; padding: 18px; border-radius: 20px; }
  .data-core { position: relative; top: auto; left: auto; width: 100%; min-height: 150px; aspect-ratio: auto; border-radius: 16px; transform: none; }
  .core-pulse, .data-connectors { display: none; }
  .data-node { position: relative; inset: auto; width: 100%; min-height: 64px; }
  .workspace-switch { width: 100%; }
  .workspace-switch button { min-width: 0; flex: 1; }
  .workspace-panel article { grid-template-columns: 38px 1fr; gap: 14px; padding: 25px 20px; }
  .workspace-cta { align-items: stretch; flex-direction: column; padding: 24px; }
  .workspace-cta .button { width: 100%; }
  .site-footer { grid-template-columns: 1fr; justify-items: center; gap: 12px; padding: 28px 20px; text-align: center; }
  .site-footer img { max-width: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .cinematic { height: max(100svh, 690px); }
  .room-depth { transform: scale(1.16); }
  .entry-frame { display: none; }
  .hero-intro { opacity: 1; transform: translate(-50%, -50%); }
  .hero-arrival, .scroll-cue { display: none; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* Public identity: readable Azerbaijani typography, quiet surfaces and clear actions. */
html { scroll-padding-top: 100px; }
button, a { touch-action: manipulation; }
.site-header { min-height: 92px; padding: 18px clamp(24px,4.5vw,76px); border-bottom-color: rgba(255,255,255,.08); background: rgba(5,20,35,.66); }
.site-header.is-scrolled, .site-header:focus-within { min-height: 80px; background: rgba(7,27,46,.96); box-shadow: none; }
.brand { width: 252px; height: 50px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; flex: 0 0 auto; }
.brand img { display: block; object-position: left center; }
.primary-nav { gap: clamp(18px,2.2vw,32px); color: #d8e3ef; }
.primary-nav > a { font-weight: 600; }
.login-link { min-height: 44px; padding: 9px 24px; border-color: rgba(255,255,255,.27); border-radius: 12px; color: #fff; background: rgba(255,255,255,.06); }
.primary-nav .login-link:hover { color: #142b43; background: var(--gold); }
.locale-switch { border-radius: 10px; background: transparent; }
.locale-switch button { min-width: 36px; min-height: 36px; border-radius: 7px; font-weight: 700; }
.entry-top { height: 17%; padding-bottom: 16px; border-bottom-width: 5px; background: linear-gradient(#061522,#0b2032); }
.entry-top span { color: #8395a4; font-size: .59rem; font-weight: 600; letter-spacing: .5em; }
.door { top: 16%; border-width: 7px; background: linear-gradient(110deg,rgba(255,255,255,.02),transparent 35%,rgba(0,0,0,.16)),repeating-linear-gradient(90deg,#102d43 0 18%,#0e293d 18% 19%); box-shadow: inset 0 0 100px rgba(0,0,0,.25),0 0 60px rgba(0,0,0,.3); }
.door::before,.door::after { border-width: 1px; border-color: rgba(155,185,202,.16); }
.door i { top: 52%; width: 8px; height: 68px; border: 1px solid #bca472; border-radius: 5px; background: linear-gradient(90deg,#8c754b,#e2cd9c,#927a4b); box-shadow: 0 2px 8px rgba(0,0,0,.4); }
.door b { display: none; }
.university-scene-image { filter: saturate(.82) brightness(.64); }
.hero-panel { top: 51%; width: min(1010px,calc(100% - 64px)); }
.hero-panel h1,.hero-panel h2 { max-width: 960px; letter-spacing: -.055em; text-shadow: 0 5px 30px rgba(0,0,0,.22); }
.hero-arrival { max-width: 850px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px; border: 1px solid rgba(234,210,156,.22); border-radius: 100px; background: rgba(6,22,36,.25); font-weight: 650; letter-spacing: .13em; }
.hero-kicker::before { width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: var(--gold); content: ""; }
.hero-panel > p:not(.hero-kicker) { max-width: 600px; color: #c1d1e0; font-size: clamp(.98rem,1.35vw,1.08rem); line-height: 1.85; }
.hero-actions { margin-top: 34px; }
.button { min-height: 54px; gap: 12px; padding: 14px 25px; border-radius: 12px; font-weight: 650; }
.button-primary { color: #14283b; box-shadow: 0 6px 24px rgba(234,210,156,.1); }
.button-primary::after { content: "↗"; font-size: 1.15rem; font-weight: 400; }
.button-primary:hover { background: #f4dfb4; }
.button-glass { border-color: rgba(255,255,255,.23); background: rgba(10,31,49,.44); }
.hero-proof { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 20px; margin-top: 34px; color: #a0b6c8; font-size: .69rem; }
.hero-proof span + span::before { display: inline-block; width: 3px; height: 3px; margin-right: 20px; border-radius: 50%; background: #839aab; content: ""; vertical-align: middle; }
.arrival-mark { width: 54px; height: 54px; border-radius: 15px; }
.arrival-mark svg { width: 30px; height: 30px; }
.content-section { padding: clamp(80px,8vw,120px) 0; }
.section-shell { width: min(1200px,calc(100% - 80px)); }
.section-heading { grid-template-columns: 105px minmax(0,850px); gap: clamp(24px,4vw,70px); margin-bottom: 58px; }
.section-heading h2 { font-size: clamp(2rem,4vw,3.8rem); line-height: 1.18; }
.section-heading .eyebrow { font-weight: 650; font-size: .69rem; letter-spacing: .13em; }
.data-section { background: #f7f9fc; }
.data-map { min-height: 540px; border-color: #dfe7ef; border-radius: 24px; background: radial-gradient(circle at center,rgba(34,99,184,.045),transparent 60%),#fff; box-shadow: 0 18px 55px rgba(24,51,77,.035); }
.data-core { width: 200px; border-color: #284966; background: linear-gradient(145deg,#184462,#09243b); box-shadow: 0 16px 44px rgba(17,50,80,.2),0 0 0 18px rgba(27,81,129,.04); }
.core-pulse { animation: none; inset: -35px; border-color: rgba(27,81,129,.12); }
.data-node { border-color: #e0e7ee; box-shadow: 0 6px 22px rgba(23,50,78,.04); }
.data-node b { background: #edf3f8; color: #365b7c; font-weight: 600; }
.data-node span { font-weight: 600; }
.workspace-switch { border-color: #294157; background: #0b2238; }
.workspace-panel { gap: 16px; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.workspace-panel article { min-height: 188px; gap: 20px; padding: 32px; border: 1px solid #213c53; border-radius: 17px; background: #0d263d; }
.workspace-panel article:hover { border-color: #45627a; background: #102d46; }
.workspace-panel article > span { border-color: #496071; border-radius: 11px; }
.workspace-panel p { color: #a5b9ca; line-height: 1.85; }
.workspace-cta { padding: 32px 36px; border-color: #3a4e5b; border-radius: 17px; background: linear-gradient(115deg,#132f44,#0b2339); }
.workspace-cta p { margin: 6px 0 0; color: #a5b9ca; font-size: .82rem; }
.site-footer { grid-template-columns: 1fr 1fr; align-items: start; gap: 40px; padding: 48px clamp(24px,5vw,76px) 24px; }
.footer-brand img { display: block; width: 260px; max-width: 100%; height: 52px; max-height: none; object-position: left center; }
.footer-brand p { max-width: 300px; margin: 16px 0 0; font-size: .79rem; line-height: 1.8; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 24px; padding-top: 10px; }
.footer-links a,.footer-bottom a { min-height: 30px; display: inline-flex; align-items: center; color: #3c5872; font-size: .76rem; font-weight: 500; text-decoration: none; }
.footer-links a:hover,.footer-bottom a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; border-top: 1px solid #e7edf2; font-size: .68rem; color: #5a7083; }
@media (max-width: 1100px) { .primary-nav { gap: 16px; } .brand { width: 220px; } .primary-nav > a { font-size: .75rem; } }
@media (max-width: 980px) {
  .site-header,.site-header.is-scrolled { min-height: 76px; padding: 12px 24px; background: rgba(7,27,46,.96); }
  .brand { width: 228px; height: 46px; }
  .primary-nav { top: 80px; max-height: calc(100svh - 100px); overflow-y: auto; visibility: hidden; background: #0a2137; }
  .primary-nav.is-open { visibility: visible; }
  .primary-nav > a { font-size: .9rem; }
  .locale-switch button { min-width: 44px; min-height: 42px; }
  .section-shell { width: calc(100% - 48px); }
  .section-heading { grid-template-columns: 75px 1fr; gap: 24px; }
  .data-core { width: 170px; }
}
@media (max-width: 680px) {
  .site-header,.site-header.is-scrolled { padding: 12px 18px; }
  .brand { width: 210px; height: 44px; }
  .hero-panel { width: calc(100% - 40px); }
  .hero-panel h1 { line-height: 1.14; letter-spacing: -.05em; }
  .hero-panel > p:not(.hero-kicker) { max-width: 350px; margin-top: 22px; font-size: .91rem; line-height: 1.8; }
  .hero-kicker { padding: 6px 10px; font-size: .58rem; letter-spacing: .07em; margin-bottom: 24px; }
  .hero-actions { margin-top: 28px; gap: 10px; }
  .hero-proof { gap: 8px 12px; max-width: 310px; margin: 24px auto 0; font-size: .61rem; }
  .hero-proof span + span::before { margin-right: 12px; }
  .hero-proof span:last-child { display: none; }
  .entry-top { height: 16%; padding-bottom: 9px; } .entry-top span { font-size: .5rem; }
  .door { top: 15%; border-width: 5px; } .door i { top: 45%; height: 54px; }
  .scroll-cue { font-size: .51rem; bottom: 20px; }
  .section-shell { width: calc(100% - 40px); }
  .content-section { padding: 72px 0; }
  .section-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 32px; }
  .section-heading h2 { font-size: clamp(2rem,8vw,3.2rem); line-height: 1.23; }
  .section-heading div > p:last-child { font-size: .92rem; }
  .data-map { min-height: auto; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 14px; border-radius: 18px; }
  .data-core { grid-column: 1/-1; width: 100%; border-radius: 12px; box-shadow: none; margin-bottom: 4px; }
  .data-node { min-height: 110px; flex-direction: column; align-items: flex-start; gap: 10px; padding: 13px; }
  .data-node span { font-size: .72rem; }
  .workspace-panel { gap: 12px; }
  .workspace-panel article { min-height: 0; grid-template-columns: 36px 1fr; gap: 16px; padding: 24px 20px; }
  .workspace-panel h3 { font-size: 1.08rem; }
  .workspace-panel p { font-size: .81rem; }
  .workspace-cta { padding: 26px 22px; }
  .workspace-cta strong { font-size: 1.4rem; }
  .site-footer { grid-template-columns: 1fr; justify-items: stretch; text-align: left; gap: 26px; padding: 36px 24px 22px; }
  .footer-brand img { width: 235px; height: 47px; max-width: 100%; }
  .footer-links { justify-content: flex-start; padding: 0; gap: 10px 22px; }
  .footer-bottom { flex-wrap: wrap; gap: 10px; }
  .footer-bottom > span:nth-child(2) { order: 3; width: 100%; }
}
@media (max-height: 720px) and (min-width: 681px) { .cinematic-sticky { min-height: 640px; } .hero-panel h1 { font-size: 4rem; } .hero-panel { top: 53%; } .hero-proof { margin-top: 20px; } .hero-kicker { margin-bottom: 16px; } }

/* Short viewports and enlarged text use normal document flow so every action
   remains reachable; the door animation stays active when the hero fits. */
.cinematic.is-static { height: auto; }
.cinematic.is-static .cinematic-sticky { position: relative; height: auto; min-height: 100svh; padding: 130px 0 80px; }
.cinematic.is-static .hero-intro { position: relative; top: auto; left: auto; margin-inline: auto; opacity: 1; transform: none; }
.cinematic.is-static .hero-arrival,
.cinematic.is-static .scroll-cue,
.cinematic.is-static .entry-frame { display: none; }
.cinematic.is-static .room-depth { transform: scale(1.1); filter: none; }

/* Presentation edition: architectural detail and typography have separate
   space. The clearance is measured before any scroll transform is applied. */
.site-header { background: rgba(5,20,35,.88); }
.primary-nav > a:not(.login-link) { min-height: 44px; display: inline-flex; align-items: center; }
.locale-switch button { min-height: 38px; color: #c7d3de; }
.entry-top span { color: #a0b1bc; letter-spacing: .48em; }
.door {
  background: linear-gradient(100deg,rgba(174,202,214,.04),transparent 42%,rgba(0,0,0,.2)),
    repeating-linear-gradient(90deg,#102c40 0 18%,#0e273a 18% 19%);
}
.door::before,.door::after { border-color: rgba(163,188,202,.12); }
.door i {
  top: var(--handle-center,58%);
  width: 9px;
  height: 60px;
  transform: translateY(-50%);
  border-color: #c7b186;
  border-radius: 5px;
  background: linear-gradient(90deg,#756443 0%,#c0a773 32%,#ead6a9 53%,#a58c5c 81%,#716245);
  box-shadow: 2px 3px 7px rgba(0,0,0,.45),inset 1px 0 rgba(255,244,210,.42);
}
.door i::before,.door i::after { position: absolute; left: -3px; width: 13px; height: 4px; border-radius: 2px; background: #aa9367; content: ""; z-index: -1; }
.door i::before { top: 8px; } .door i::after { bottom: 8px; }
.hero-panel { top: 52%; width: min(1040px,calc(100% - 64px)); }
.hero-kicker { max-width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; color: #d7c396; font-size: .67rem; font-weight: 550; letter-spacing: .16em; line-height: 1.65; margin-bottom: 25px; }
.hero-kicker::before { width: 22px; height: 1px; border-radius: 0; }
.hero-panel h1 { font-size: clamp(3.1rem,5.8vw,6.1rem); line-height: 1.09; font-weight: 550; letter-spacing: -.045em; }
.hero-panel h1 > span { display: block; }
.hero-title-accent { color: #ecd7aa; }
.hero-panel > p:not(.hero-kicker) { max-width: 590px; margin-top: 24px; color: #c7d5e1; font-size: clamp(.96rem,1.3vw,1.06rem); line-height: 1.8; text-wrap: pretty; }
.cinematic { --hero-hardware-space: 98px; }
.hero-door-clearance { height: var(--hero-hardware-space); pointer-events: none; }
.hero-actions { margin-top: 0; gap: 12px; }
.hero-actions .button { min-width: 186px; }
.button { font-weight: 600; }
.button-primary { background: #ecd7aa; border-color: #f2dfb9; box-shadow: 0 4px 18px rgba(0,0,0,.1),inset 0 1px rgba(255,255,255,.28); }
.button-primary:hover { background: #f6e6c6; box-shadow: 0 8px 28px rgba(0,0,0,.18); }
.button-glass { background: rgba(7,23,37,.76); border-color: #4a5e6b; backdrop-filter: none; }
.button-glass:hover { background: #1c3447; border-color: #71838d; }
.hero-proof { margin-top: 24px; color: #aebfcd; font-size: .68rem; }
.scroll-cue { bottom: max(23px,env(safe-area-inset-bottom)); color: #b8c5cf; font-weight: 550; letter-spacing: .13em; }
.scroll-cue i { width: 19px; height: 29px; }
.scroll-cue i::after { left: 7px; top: 5px; width: 3px; height: 5px; }
.classroom-scene::after { position: absolute; z-index: 7; inset: 0; pointer-events: none; content: ""; opacity: var(--arrival-scrim,.1); background: radial-gradient(ellipse at 50% 50%,#041522 8%,rgba(4,21,34,.85) 45%,rgba(4,21,34,.45) 80%); }
.hero-arrival { max-width: 860px; }
.hero-arrival h2 { max-width: 820px; font-size: clamp(2.6rem,5vw,4.8rem); font-weight: 550; line-height: 1.14; }
.hero-arrival > p:not(.hero-kicker) { color: #e0e8ef; }
.arrival-mark { width: 52px; height: 52px; margin-bottom: 25px; border-color: #bba87b; background: rgba(5,22,37,.76); }
.platform-section { overflow: hidden; background: #faf9f6; border-top: 1px solid #e8e4db; }
.platform-editorial { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.65fr); align-items: center; gap: clamp(35px,5vw,76px); }
.platform-copy .section-index { margin-bottom: 32px; }
.platform-copy .eyebrow { color: #706449; font-size: .65rem; line-height: 1.7; font-weight: 650; letter-spacing: .12em; }
.platform-copy h2 { margin: 0; font-size: clamp(2rem,3.4vw,3.45rem); line-height: 1.16; font-weight: 550; letter-spacing: -.045em; text-wrap: balance; }
.platform-lead { margin: 22px 0 0; color: #576a7a; font-size: .93rem; line-height: 1.85; }
.platform-principles { list-style: none; margin: 28px 0; padding: 0; }
.platform-principles li { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 15px; padding: 17px 0; border-top: 1px solid #dfded7; }
.platform-principles li > span { padding-top: 2px; font-size: .65rem; font-weight: 650; color: #79715f; }
.platform-principles strong { font-size: .87rem; font-weight: 650; color: #19344b; }
.platform-principles p { margin: 4px 0 0; color: #5c6d7a; font-size: .8rem; line-height: 1.7; }
.text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 46px; border-bottom: 1px solid #9d8a62; color: #203c51; font-size: .84rem; font-weight: 650; text-decoration: none; }
.text-link > span:last-child { font-size: 1.3rem; font-weight: 400; }
.text-link:hover { color: #735e32; border-bottom-color: currentColor; }
.platform-preview { position: relative; min-width: 0; margin: 0; padding-block: 40px; }
.platform-preview::before { position: absolute; inset: -30px -90px; content: ""; pointer-events: none; border: 1px solid #e3ded2; border-radius: 50%; opacity: .7; }
.preview-frame { position: relative; overflow: hidden; border: 1px solid #c9d3db; border-radius: 12px; background: #fff; box-shadow: 0 30px 70px -35px rgba(10,35,55,.4),0 5px 16px rgba(10,35,55,.06); }
.preview-toolbar { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; border-bottom: 1px solid #dce3e9; background: #f0f4f6; color: #405768; font-size: .63rem; font-weight: 600; }
.preview-dots { display: flex; gap: 5px; }
.preview-dots i { width: 5px; height: 5px; border: 1px solid #8c9eaa; border-radius: 50%; }
.preview-divider { margin: 0 8px; color: #82949f; }
.preview-live { color: #506658; }
.preview-frame img { display: block; width: 100%; height: auto; }
.platform-preview figcaption { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 21px; color: #657482; font-size: .67rem; line-height: 1.7; text-align: center; }
.preview-caption-mark { width: 5px; height: 5px; flex: 0 0 auto; border-radius: 50%; background: #6d8b7b; }
.data-section { background: #f3f6f9; }
.section-heading h2 { font-weight: 550; }
.data-map { border-radius: 18px; }
.data-core { background: linear-gradient(145deg,#204a64,#102d42); }
.data-connectors path { stroke: #a4b7c7; stroke-dasharray: 3 7; }
.workspace-section { background: #081b2c; }
.workspace-panel article { border-radius: 12px; background: #0d253a; }
.workspace-cta { margin-top: 44px; padding: 38px; border-color: #465057; background: #102a3d; }
.workspace-cta strong { font-size: clamp(1.45rem,2.6vw,2.15rem); font-weight: 550; }
.footer-bottom { color: #52687a; }
.data-core { text-align: center; padding-inline: 12px; }
.data-core small { max-width: 100%; font-size: .6rem; letter-spacing: .07em; }
.data-core strong { max-width: 100%; font-size: 1.4rem; line-height: 1.25; }
.data-core em { max-width: 100%; }
.oversight-note { display: grid; grid-template-columns: minmax(140px,.7fr) minmax(0,2fr); align-items: start; gap: 32px; margin-top: 38px; padding: 30px 0; border-block: 1px solid #2d4355; }
.oversight-label { max-width: 240px; color: #d7c396; font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.oversight-note h3 { margin: 0 0 12px; font-size: clamp(1.15rem,2vw,1.5rem); font-weight: 550; line-height: 1.35; }
.oversight-note p { max-width: 720px; margin: 0; color: #b3c2cf; font-size: .9rem; line-height: 1.85; }
@media (min-width: 981px) and (max-height: 800px) {
  .hero-panel { top: 53%; }
  .hero-panel h1 { font-size: clamp(3rem,5.3vw,4.5rem); }
  .hero-kicker { margin-bottom: 18px; }
  .hero-panel > p:not(.hero-kicker) { margin-top: 18px; }
  .cinematic { --hero-hardware-space: 84px; }
  .hero-proof { margin-top: 18px; }
}
@media (max-width: 980px) {
  .platform-editorial { grid-template-columns: 1fr; gap: 28px; }
  .platform-copy { max-width: 680px; }
  .platform-copy h2 { max-width: 540px; font-size: clamp(2.3rem,5.5vw,3.8rem); }
  .platform-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
  .platform-principles li { grid-template-columns: 1fr; gap: 7px; }
  .platform-preview { padding-block: 20px; }
  .platform-preview::before { inset: -20px -50px; }
}
@media (max-width: 680px) {
  .hero-panel { top: 51%; width: calc(100% - 40px); }
  .hero-panel h1 { font-size: clamp(2.3rem,9.5vw,3.9rem); line-height: 1.12; letter-spacing: -.04em; }
  .hero-kicker { font-size: .55rem; letter-spacing: .08em; gap: 8px; margin-bottom: 22px; }
  .hero-kicker::before { width: 14px; }
  .hero-panel > p:not(.hero-kicker) { margin-top: 20px; font-size: .88rem; line-height: 1.8; }
  .cinematic { --hero-hardware-space: 84px; }
  .door i { height: 48px; width: 8px; }
  .hero-actions { gap: 10px; }
  .hero-actions .button { min-height: 51px; padding: 11px 20px; font-size: .8rem; }
  .hero-proof { margin-top: 19px; font-size: .59rem; }
  .hero-arrival h2 { font-size: clamp(2.25rem,9vw,3.5rem); }
  .scroll-cue { font-size: .48rem; letter-spacing: .09em; bottom: 17px; }
  .platform-copy .section-index { margin-bottom: 25px; }
  .platform-copy .eyebrow { font-size: .6rem; }
  .platform-copy h2 { font-size: clamp(2rem,8.3vw,3rem); }
  .platform-principles { grid-template-columns: 1fr; gap: 0; margin-block: 26px 20px; }
  .platform-principles li { grid-template-columns: 24px minmax(0,1fr); gap: 13px; }
  .platform-preview { margin-top: 12px; }
  .platform-preview::before { inset: -5px -26px; }
  .preview-toolbar { padding: 9px 11px; gap: 8px; font-size: .55rem; min-height: 37px; }
  .preview-dots { display: none; }
  .platform-preview figcaption { font-size: .6rem; margin-top: 17px; }
  .workspace-cta { padding: 28px 22px; }
  .oversight-note { grid-template-columns: 1fr; gap: 17px; margin-top: 28px; padding: 26px 0; }
  .oversight-note p { font-size: .84rem; }
}
.cinematic.is-static .hero-door-clearance { height: 26px; }
.cinematic.is-static .classroom-scene::after { opacity: .72; }
@media (prefers-reduced-motion: reduce) {
  .hero-door-clearance { height: 26px; }
  .classroom-scene::after { opacity: .72; }
}
