/* V27 / T-shaped gateway. Scoped to the independent homepage. */
body.is-home {
  --gateway-edge: clamp(40px, 7.18vw, 170px);
}
.dark-theme.is-home .site-header {
  height: var(--header);
  padding-inline: var(--gateway-edge);
  background: #030b1852;
  border-bottom-color: #9cbfe536;
  gap: 24px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.dark-theme.is-home .site-header.scrolled { background:#050d20f2; }
.dark-theme.is-home .site-header .brand img { width:180px; max-height:34px; }
.dark-theme.is-home .site-header .nav-main { gap:clamp(18px,1.8vw,32px); }
.dark-theme.is-home .site-header .nav-main>a,
.dark-theme.is-home .site-header .nav-group>a { font-size:clamp(12px,.84vw,15px); font-weight:450; }
.dark-theme.is-home .nav-main>a:after,
.dark-theme.is-home .nav-group>a:after { bottom:23px; }
.dark-theme.is-home .header-contact { padding:11px 22px; font-size:13px; box-shadow:0 0 22px #1e4fff26,inset 0 1px #accbff55; }
.dark-theme.is-home .nav-dropdown { top:calc(var(--header) - 11px); }
.gateway-hero {
  height:100svh;
  min-height:700px;
  max-height:1200px;
  background:#040d1a;
}
.gateway-art { z-index:-1; }
.gateway-scene { inset:0; }
.gateway-art img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; opacity:1; }
.gateway-art::after {
  background:linear-gradient(90deg,#030b1829 0%,#030b1800 46%),linear-gradient(0deg,#03081755,transparent 17%);
  pointer-events:none;
}
.gateway-light { position:absolute; opacity:0; overflow:hidden; pointer-events:none; }
.gateway-light-static { position:absolute; inset:0; width:100%; height:100%; mix-blend-mode:screen; }
.gateway-ready .gateway-light { opacity:1; }
.dark-theme .wrap.gateway-copy {
  position:absolute;
  width:calc(100% - var(--gateway-edge) * 2);
  top:23.2%;
  left:var(--gateway-edge);
  margin:0;
  padding:0;
  z-index:2;
  text-align:left;
}
.gateway-eyebrow { display:block; color:#95d3ff; font-size:clamp(16px,1.32vw,23px); font-weight:450; letter-spacing:.15em; line-height:1.5; margin-bottom:14px; }
.dark-theme .gateway-title {
  font-size:clamp(62px,5.25vw,100px);
  font-weight:650;
  line-height:1.15;
  letter-spacing:-.035em;
  margin:0;
  color:#f6f9ff;
}
.gateway-title>span { display:block; width:max-content; max-width:100%; }
.gateway-title>span:last-child { color:#c0e5ff; background:linear-gradient(105deg,#eef8ff 5%,#caecff 40%,#8bc7fa 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.dark-theme .gateway-copy>p { font-size:clamp(17px,1.65vw,28px); font-weight:400; line-height:1.6; letter-spacing:.01em; color:#b7cee9; margin:22px 0 0; }
.gateway-actions { justify-content:flex-start; gap:25px; margin-top:32px; }
.dark-theme .gateway-actions .btn { font-size:clamp(14px,1.1vw,19px); min-height:56px; padding:14px 30px; font-weight:500; letter-spacing:.035em; gap:10px; }
.dark-theme .gateway-primary { background:linear-gradient(115deg,#087bff,#1543ff); border-color:#3576ff; box-shadow:0 0 30px #1468ff59,inset 0 1px 0 #6db6ff88; }
.dark-theme .gateway-secondary { background:#020d1c42; border-color:#83acd4; box-shadow:none; }
.dark-theme .gateway-secondary:hover { background:#1233668a; border-color:#d7ecff; }
.gateway-bottom {
  position:absolute;
  left:var(--gateway-edge);
  right:var(--gateway-edge);
  bottom:clamp(24px,4vh,42px);
  display:flex;
  align-items:center;
  gap:28px;
  min-height:77px;
  padding-top:25px;
  border-top:1px solid #b2d6ff38;
  color:#dbeaff;
  z-index:2;
}
.gateway-values { display:grid; grid-template-columns:1fr 1fr 1.25fr; flex:1; min-width:0; gap:36px; }
.gateway-value { display:flex; align-items:center; gap:24px; position:relative; min-width:0; }
.gateway-value+.gateway-value { border-left:1px solid #95b9ed45; padding-left:36px; }
.gateway-value>svg { width:30px; height:30px; flex:0 0 30px; color:#e3f2ff; }
.dark-theme .gateway-value p { color:#dcecff; margin:0; font-size:clamp(12px,1.05vw,18px); font-weight:400; line-height:1.65; white-space:nowrap; }
.gateway-value strong { font-weight:500; }
.gateway-value p>span::before { content:"·"; margin-inline:10px; }
.gateway-controls { display:flex; align-items:center; gap:12px; padding-left:20px; border-left:1px solid #95b9ed45; }
.gateway-scroll { display:grid; place-items:center; width:36px; height:36px; color:#d4e7ff; border:1px solid transparent; border-radius:50%; padding:6px; background:transparent; transition:background .2s,border-color .2s; }
.gateway-controls svg { width:22px; height:22px; }
.gateway-scroll:hover { background:#184b8b66; border-color:#79baf56b; color:#fff; }

/* V34 / keep the SVG static; only small HTML glow layers move and fade. */
.gateway-cast-air { opacity:.38; }
.gateway-cast-floor { opacity:.7; }
.gateway-wave-plane { position:absolute; inset:0; clip-path:inset(63.2306% 0 0); overflow:hidden; }
.gateway-wave {
  position:absolute;
  left:69.2584%;
  top:56.7481%;
  width:20.3349%;
  height:12.7524%;
  opacity:0;
  transform-origin:center;
  background:radial-gradient(ellipse closest-side,#d8f8ff99 0%,#84d9ff4d 38%,#4b9bff0d 75%,#4b9bff00 100%);
  will-change:transform,opacity;
}
.gateway-ready .gateway-wave { animation:gateway-light-travel 12s linear infinite; }
.gateway-ready .gateway-wave-two { animation-delay:6s; }
.gateway-upright-glow { opacity:.035; }
.gateway-source-glow { opacity:.15; }
.gateway-floor-reflection { opacity:.025; }
.gateway-paused .gateway-light * { animation-play-state:paused!important; }
.gateway-paused .gateway-wave { will-change:auto; }
@keyframes gateway-light-travel {
  0% { opacity:0; transform:translate3d(0,0,0) scale(.45,.4); }
  18% { opacity:.34; }
  42% { opacity:.24; }
  74% { opacity:.06; }
  94%,100% { opacity:0; transform:translate3d(-450%,237.5%,0) scale(3.8,2.2); }
}
.gateway-image-unavailable { background:radial-gradient(ellipse at 80% 45%,#123366,#050d1b 65%); }
.gateway-image-unavailable .gateway-art { display:none; }

@media(min-width:761px) and (max-width:1180px) {
  body.is-home { --gateway-edge:40px; }
  .dark-theme.is-home .site-header { gap:18px; }
  .dark-theme.is-home .site-header .brand img { width:145px; }
  .dark-theme.is-home .site-header .nav-main { gap:16px; }
  .dark-theme.is-home .site-header .nav-main>a,.dark-theme.is-home .site-header .nav-group>a { font-size:11px; }
  .dark-theme.is-home .header-contact { padding:9px 14px; font-size:11px; }
  .dark-theme.is-home .nav-dropdown { top:calc(var(--header) - 11px); }
  .dark-theme .gateway-title { font-size:clamp(52px,5.6vw,66px); }
  .gateway-eyebrow { font-size:16px; }
  .dark-theme .gateway-copy>p { font-size:17px; }
  .gateway-actions { margin-top:26px; gap:17px; }
  .dark-theme .gateway-actions .btn { font-size:14px; min-height:48px; padding:12px 23px; }
  .gateway-values { gap:22px; grid-template-columns:1fr 1fr 1.2fr; }
  .gateway-value { gap:13px; }
  .gateway-value+.gateway-value { padding-left:22px; }
  .gateway-value>svg { width:24px; height:24px; flex-basis:24px; }
  .dark-theme .gateway-value p { font-size:12px; white-space:normal; }
  .gateway-value p>span { display:block; font-size:11px; color:#a9c2e3; }
  .gateway-value p>span::before { content:none; }
  .gateway-bottom { gap:15px; }
  .gateway-controls { gap:4px; padding-left:12px; }
}
@media(min-width:761px) and (max-width:900px) {
  body.is-home { --gateway-edge:28px; }
  .dark-theme.is-home .site-header { gap:12px; }
  .dark-theme.is-home .site-header .brand img { width:122px; }
  .dark-theme.is-home .site-header .nav-main { gap:10px; }
  .dark-theme.is-home .site-header .nav-main>a,.dark-theme.is-home .site-header .nav-group>a { font-size:10px; }
  .dark-theme.is-home .header-contact { padding:8px 11px; font-size:10px; }
  .gateway-art img { object-position:58% 50%; }
  .gateway-art::after { background:linear-gradient(90deg,#030b185c,transparent 80%); }
  .dark-theme .gateway-title { font-size:52px; }
  .dark-theme .gateway-copy>p { font-size:15px; }
  .gateway-values { gap:15px; }
  .gateway-value+.gateway-value { padding-left:15px; }
  .gateway-value { gap:10px; }
}
@media(max-width:760px) {
  body.is-home { --gateway-edge:24px; }
  .dark-theme.is-home .site-header { padding-inline:20px; gap:14px; background:#040c1cbb; }
  .dark-theme.is-home .site-header .brand img { width:139px; max-height:27px; }
  .dark-theme.is-home .header-contact { padding:8px 13px; font-size:10px; }
  .dark-theme.is-home .site-header .nav-main { gap:0; }
  .dark-theme.is-home .site-header .nav-main>a,.dark-theme.is-home .site-header .nav-group>a { font-size:17px; }
  .dark-theme.is-home .nav-dropdown { top:auto; }
  .gateway-hero { height:100svh; min-height:830px; max-height:1100px; }
  .gateway-scene { top:335px; bottom:0; }
  .gateway-art img { object-position:86% 50%; opacity:1; }
  .gateway-art::after { background:linear-gradient(180deg,#040d1a 0%,#040d1a 34%,#040d1a00 56%,#03081735 89%,#030817e6 100%); }
  .dark-theme .wrap.gateway-copy { top:116px; }
  .gateway-eyebrow { font-size:13px; letter-spacing:.14em; margin-bottom:16px; }
  .dark-theme .gateway-title { font-size:clamp(44px,10.9vw,64px); line-height:1.18; font-weight:650; letter-spacing:-.035em; }
  .dark-theme .gateway-copy>p { font-size:14px; line-height:1.9; margin-top:20px; max-width:320px; }
  .gateway-copy>p>span { display:inline; }
  .gateway-actions { gap:12px; margin-top:23px; }
  .dark-theme .gateway-actions .btn { font-size:12px; min-height:44px; padding:11px 18px; gap:7px; letter-spacing:0; }
  .gateway-bottom { bottom:23px; padding-top:20px; min-height:75px; gap:0; display:block; }
  .gateway-values { gap:12px; grid-template-columns:1fr 1fr 1.2fr; }
  .gateway-value { display:block; }
  .gateway-value+.gateway-value { padding-left:12px; }
  .gateway-value>svg { width:21px; height:21px; margin-bottom:9px; }
  .dark-theme .gateway-value p { font-size:12px; white-space:normal; line-height:1.7; }
  .gateway-value p>span { display:block; font-size:9px; color:#adc5e4; }
  .gateway-value p>span::before { content:none; }
  .gateway-controls { position:absolute; right:-4px; top:-50px; border:0; padding:0; gap:8px; }
  .gateway-scroll { width:36px; height:36px; background:#07172f5e; border-color:#85b2df33; }
}
@media(max-width:370px) {
  body.is-home { --gateway-edge:20px; }
  .dark-theme.is-home .site-header { padding-inline:16px; gap:9px; }
  .dark-theme.is-home .site-header .brand img { width:122px; }
  .dark-theme.is-home .header-contact { padding:7px 10px; font-size:9px; }
  .dark-theme .gateway-title { font-size:43px; }
  .dark-theme .gateway-actions .btn { font-size:11px; padding-inline:15px; }
  .gateway-values { gap:10px; }
  .gateway-value+.gateway-value { padding-left:10px; }
  .dark-theme .gateway-value p>span { font-size:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .gateway-light { display:block; }
  .gateway-light * { animation:none!important; }
  .gateway-wave { display:none; }
  .gateway-controls a,.gateway-actions .btn { transition:none; }
}
