/* Public entry only. A daylit institution around the existing accessible doors. */
body.institution-lobby {
  background: #e9e3d4;
  color: var(--ink);
}
.institution-lobby .lobby-header {
  grid-template-columns: minmax(0,1fr) auto;
  background: var(--night);
  color: var(--paper);
  border: 0;
}
.institution-lobby .student-entrance { justify-self: end; }
.institution-lobby .lobby-main {
  background:
    linear-gradient(113deg, transparent 0 65%, #fff9e570 65.1% 78%, transparent 78.1%),
    linear-gradient(90deg, #b7c7be55, transparent 32%, #fff9e655 70%),
    #e9e3d4;
}
.institution-lobby .lobby-intro {
  position: relative;
  isolation: isolate;
  contain: layout paint style;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: clamp(42px,6vw,88px) 0;
  overflow: hidden;
}
.institution-lobby .lobby-intro {
  width: 100%;
  max-width: none;
  padding-inline: var(--gutter);
}
.institution-lobby .intro-copy {
  position: relative;
  z-index: 4;
  display: block;
}
.institution-lobby .impossible-corridor {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 46%, #f8e79a55 0 4%, transparent 18%),
    linear-gradient(105deg, transparent 0 53%, #fff8d54a 53.1% 64%, transparent 64.1%),
    linear-gradient(90deg, #bccac166, transparent 38% 69%, #d6cbb58f);
  perspective: 900px;
  transform-style: preserve-3d;
}
.institution-lobby .impossible-corridor::before,
.institution-lobby .impossible-corridor::after {
  content: '';
  position: absolute;
  pointer-events: none;
}
.institution-lobby .impossible-corridor::before {
  inset: 0;
  opacity: .48;
  background:
    repeating-linear-gradient(90deg, transparent 0 13.7%, #314c4340 13.75% 13.88%, transparent 13.93% 27.5%),
    repeating-linear-gradient(0deg, transparent 0 18.7%, #f8efcf47 18.8% 18.95%, transparent 19% 37.5%);
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 58%, #000);
  mask-image: linear-gradient(90deg, #000, transparent 58%, #000);
  animation: corridor-grid-drift 32s ease-in-out infinite alternate;
}
.institution-lobby .impossible-corridor::after {
  inset: auto -10% 0;
  height: 34%;
  background:
    repeating-linear-gradient(90deg, transparent 0 8%, #213d3630 8.1% 8.2%, transparent 8.3% 16%),
    linear-gradient(12deg, #7f988d55, #eef0d990 52%, #9db0a488);
  clip-path: polygon(0 40%, 45% 0, 100% 35%, 100% 100%, 0 100%);
  animation: corridor-floor-breathe 28s ease-in-out infinite alternate;
}
.institution-lobby .corridor-plane {
  position: absolute;
  z-index: 1;
  display: block;
  border: 1px solid #29483d45;
  background: linear-gradient(135deg, #718c8050, #f9f3d552 65%, #5f796e40);
  box-shadow: inset 0 0 60px #fff7d62d, 0 18px 50px #27483b1d;
  will-change: transform;
}
.institution-lobby .corridor-plane--left {
  left: -12%;
  top: 5%;
  width: 31%;
  height: 88%;
  clip-path: polygon(0 0, 100% 16%, 83% 100%, 0 86%);
  transform: translateZ(0) rotate(-2deg);
  animation: corridor-left-shift 34s ease-in-out infinite alternate;
}
.institution-lobby .corridor-plane--right {
  right: -8%;
  top: -8%;
  width: 29%;
  height: 108%;
  clip-path: polygon(27% 0, 100% 0, 100% 100%, 0 88%, 36% 48%);
  transform: translateZ(0);
  animation: corridor-right-shift 30s ease-in-out infinite alternate-reverse;
}
.institution-lobby .corridor-plane--ceiling {
  left: 14%;
  top: -24%;
  width: 72%;
  height: 43%;
  clip-path: polygon(0 0, 100% 0, 75% 100%, 23% 82%);
  transform: translateZ(0);
  opacity: .7;
  animation: corridor-ceiling-shift 38s ease-in-out infinite alternate;
}
.institution-lobby .corridor-rift {
  position: absolute;
  z-index: 2;
  right: 14%;
  top: 13%;
  width: clamp(90px,10vw,168px);
  height: 76%;
  opacity: .34;
  background:
    linear-gradient(90deg,transparent,#7d1737d9 45% 55%,transparent),
    radial-gradient(ellipse,#c35c7b9e,transparent 67%);
  filter: blur(.4px) drop-shadow(0 0 18px #7d17372e);
  clip-path: polygon(50% 0, 67% 18%, 45% 31%, 69% 48%, 43% 62%, 58% 78%, 39% 100%, 26% 77%, 48% 61%, 29% 47%, 52% 30%, 36% 17%);
  transform: translateZ(38px);
  will-change: transform, opacity;
  animation: corridor-rift-pulse 18s ease-in-out infinite;
}
.institution-lobby .corridor-beam {
  position: absolute;
  z-index: 0;
  left: var(--portal-origin-x);
  top: var(--portal-origin-y);
  width: 165%;
  aspect-ratio: 1;
  display: block;
  background:
    repeating-conic-gradient(from 218deg,transparent 0 11deg,#f6d76e20 11.2deg 12.2deg,transparent 12.4deg 27deg),
    radial-gradient(circle,#fff8cf42 0 3%,#f6d76e1f 18%,transparent 58%);
  mix-blend-mode: screen;
  transform: translate(-50%,-50%);
  opacity: .38;
  animation: corridor-beam-scan 22s ease-in-out infinite alternate;
}
.institution-lobby .corridor-portal {
  --portal-origin-x: 62%;
  --portal-origin-y: 50%;
  position: absolute;
  z-index: 2;
  top: calc(54% - min(35vw,480px));
  right: calc(23% - min(26.6vw,364.8px));
  width: min(70vw,960px);
  aspect-ratio: 1;
  transform: translateZ(45px) rotate(-2deg);
  transform-style: preserve-3d;
  will-change: transform;
  animation: corridor-axis-slip 24s ease-in-out infinite alternate;
}
.institution-lobby .corridor-portal::after {
  content: '';
  position: absolute;
  pointer-events: none;
}
.institution-lobby .corridor-door {
  position: absolute;
  z-index: 2;
  left: var(--portal-origin-x);
  top: var(--portal-origin-y);
  width: 22%;
  height: 34%;
  display: block;
  overflow: hidden;
  border: 3px solid #263f38;
  background:
    linear-gradient(112deg,transparent 0 34%,#f8f2e618 34.5% 42%,transparent 42.5%),
    linear-gradient(155deg,#31594d,#17362f 55%,#0d2422);
  box-shadow:
    0 0 0 1px #c2a15c,
    0 0 0 7px #6f8177,
    10px 13px 26px #142f2b35,
    inset 0 0 0 8px #0b1d1a35;
  transform: translate(-50%,-50%);
  will-change: transform, filter;
  animation: corridor-false-depth 20s ease-in-out infinite alternate;
}
.institution-lobby .corridor-door::after {
  content: '';
  position: absolute;
  inset: 8%;
  border: 1px solid #f2ead74d;
}
.institution-lobby .corridor-door > img {
  position: absolute;
  z-index: 2;
  top: 14%;
  left: 13%;
  width: 58%;
  height: auto;
  object-fit: contain;
  opacity: .94;
}
.institution-lobby .corridor-door > b {
  position: absolute;
  z-index: 2;
  left: 14%;
  bottom: 11%;
  color: #f2ead7b5;
  font: 700 clamp(8px,.9vw,13px)/1 var(--mono);
  letter-spacing: .05em;
}
.institution-lobby .corridor-door__handle {
  position: absolute;
  z-index: 2;
  right: 10%;
  top: 54%;
  width: clamp(2px,.25vw,4px);
  height: 18%;
  min-height: 7px;
  background: linear-gradient(90deg,#745c25,#e7c96f,#8c6d2a);
  box-shadow: 1px 1px 3px #09101d8c;
}
.institution-lobby .corridor-portal::after {
  left: var(--portal-origin-x);
  top: var(--portal-origin-y);
  width: 58%;
  aspect-ratio: 1;
  opacity: .11;
  background: repeating-conic-gradient(from 3deg,transparent 0 8deg,#7d17372f 8.2deg 9deg,transparent 9.2deg 17deg,#b89a5342 17.2deg 18deg);
  -webkit-mask-image: radial-gradient(circle,transparent 0 16%,#000 19% 62%,transparent 72%);
  mask-image: radial-gradient(circle,transparent 0 16%,#000 19% 62%,transparent 72%);
  transform: translate(-50%,-50%);
  mix-blend-mode: multiply;
  transform: translate(-50%,-50%) rotate(7deg);
}
.institution-lobby .corridor-portal i {
  position: absolute;
  z-index: 1;
  left: var(--portal-origin-x);
  top: var(--portal-origin-y);
  width: 15%;
  height: 23%;
  display: block;
  border: clamp(1px,.13vw,2px) solid color-mix(in srgb,#765723 calc(52% - var(--portal-step) * 3%),#f8efce);
  box-shadow: 0 0 8px #dfc77b20,inset 0 0 12px #334c4618;
  transform-origin: 50% 50%;
  will-change: transform, opacity;
  animation: corridor-infinite-door 24s linear infinite;
  animation-delay: calc(var(--portal-step) * -4s);
}
.institution-lobby .corridor-portal i:nth-child(1) { --portal-step: 0; }
.institution-lobby .corridor-portal i:nth-child(2) { --portal-step: 1; }
.institution-lobby .corridor-portal i:nth-child(3) { --portal-step: 2; }
.institution-lobby .corridor-portal i:nth-child(4) { --portal-step: 3; }
.institution-lobby .corridor-portal i:nth-child(5) { --portal-step: 4; }
.institution-lobby .corridor-portal i:nth-child(6) { --portal-step: 5; }
.institution-lobby .corridor-portal i:nth-child(n+7) { display: none; }
.institution-lobby .corridor-signal {
  position: absolute;
  z-index: 5;
  right: 4.5%;
  bottom: 7%;
  padding: 8px 12px 7px;
  background: #d7e56f;
  color: #121524;
  font: 700 11px/1 var(--mono);
  letter-spacing: .08em;
  transform: rotate(-2deg);
  box-shadow: 8px 8px 0 #7d173728;
  animation: none;
}
@keyframes corridor-grid-drift {
  to { transform: translate3d(1.2%,-1.4%,0) scale(1.035); opacity: .63; }
}
@keyframes corridor-floor-breathe {
  to { transform: translate3d(-1.6%,2.4%,0) scaleY(1.08); }
}
@keyframes corridor-left-shift {
  to { transform: translate3d(3vw,1.2vh,0) rotate(1deg); }
}
@keyframes corridor-right-shift {
  to { transform: translate3d(-2.4vw,1.8vh,0) rotate(-1.4deg); }
}
@keyframes corridor-ceiling-shift {
  to { transform: translate3d(1vw,3vh,0) rotate(.8deg); }
}
@keyframes corridor-rift-pulse {
  0%,100% { opacity: .25; transform: translateZ(38px) scaleY(.98); }
  50% { opacity: .38; transform: translateZ(38px) scaleY(1.02); }
}
@keyframes corridor-beam-scan {
  from { transform: translate(-50%,-50%) scale(.94) rotate(-2deg); opacity: .16; }
  to { transform: translate(-50%,-50%) scale(1.06) rotate(2deg); opacity: .31; }
}
@keyframes corridor-axis-slip {
  from { transform: translateZ(45px) rotate(-2deg); }
  to { transform: translate3d(-.8vw,.6vh,45px) rotate(-1deg); }
}
@keyframes corridor-infinite-door {
  0% { transform: translate(-50%,-50%) scale(.22) rotate(-3deg); opacity: 0; }
  14% { opacity: .32; }
  72% { opacity: .24; }
  100% { transform: translate(-50%,-50%) scale(8.2) rotate(2deg); opacity: 0; }
}
@keyframes corridor-false-depth {
  from { transform: translate(-50%,-50%) scale(.97) rotate(-1deg); filter: brightness(.95); }
  to { transform: translate(-50%,-50%) scale(1.03) rotate(1deg); filter: brightness(1.05); }
}
.institution-lobby .intro-title > .lobby-code {
  color: #526458;
  font-size: 11px;
  margin-bottom: clamp(24px,3vw,42px);
}
.institution-lobby .lobby-intro h1 {
  color: var(--ink);
  max-width: none;
  font: 800 clamp(82px,11vw,168px)/.76 var(--narrow);
  letter-spacing: -.075em;
  text-transform: uppercase;
}
.institution-lobby .lobby-intro h1 > span {
  display: block;
  width: max-content;
  max-width: 100%;
}
.institution-lobby .lobby-intro h1 > span:last-child {
  margin-left: clamp(42px,10vw,150px) !important;
}
.institution-lobby .lobby-intro h1 > .hero-institution {
  display: flex;
  align-items: baseline;
  gap: .22em;
  margin-top: .34em;
  padding-top: clamp(8px,1vw,14px);
  font: 700 clamp(28px,3.4vw,50px)/.92 var(--narrow);
  letter-spacing: -.045em;
  white-space: nowrap;
}
.institution-lobby .lobby-intro h1 > .hero-institution em {
  top: .02em;
  font-size: 1.28em;
}
.institution-lobby .lobby-intro h1 em {
  position: relative;
  top: .05em;
  color: #7d1737;
  font: italic 400 .91em/.8 var(--serif);
  letter-spacing: -.065em;
  text-transform: none;
}
.institution-lobby .lobby-invitation {
  max-width: 340px;
  margin: 0 0 3px;
  color: #454d48;
  font-size: 15px;
}
.institution-lobby .hero-scroll-cue {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: clamp(18px, 2.4vw, 34px);
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 44px;
  padding: 0 4px;
  color: var(--ink);
  font: 700 10px/1 var(--mono);
  letter-spacing: .13em;
  transform: translateX(-50%);
}
.institution-lobby .hero-scroll-cue > span:last-child {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border: 1px solid #12152466;
  font: 500 18px/1 var(--sans);
  animation: scroll-cue-shift 2.4s ease-in-out infinite;
}
.institution-lobby .hero-scroll-cue:hover > span:last-child,
.institution-lobby .hero-scroll-cue:focus-visible > span:last-child {
  color: var(--paper-2);
  background: var(--ink);
}
@keyframes scroll-cue-shift {
  0%, 100% { transform: translateY(-2px); }
  50% { transform: translateY(3px); }
}
.institution-lobby .gateway-stage {
  display: block;
  position: relative;
  min-height: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  margin-bottom: 0;
}
.institution-lobby .directory-bar {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: clamp(38px,6vw,82px) 0 clamp(34px,5vw,66px);
  border: 0;
  border-top: 1px solid #12152430;
  background: transparent;
}
.institution-lobby .directory-bar > .lobby-code { display: none !important; }
.institution-lobby .directory-bar h2 {
  width: 100%;
  font: 800 clamp(68px,10vw,148px)/.82 var(--narrow);
  letter-spacing: -.07em;
  text-align: center;
  text-transform: uppercase;
  margin: 0;
}
.institution-lobby .directory-bar h2 br { display: none; }
.institution-lobby .directory-bar p {
  grid-row: 2;
  grid-column: 1;
  max-width: none;
  margin: 0;
  font-size: 13px;
  color: #505b53;
}
.institution-lobby .stage-cta {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  min-width: 255px;
  margin: 0;
  border: 1px solid var(--night);
  background: var(--night);
  color: var(--paper);
  min-height: 54px;
}
.institution-lobby .stage-cta:hover,
.institution-lobby .stage-cta:focus-visible { color: var(--ink); }
.institution-lobby .stage-anomaly.service-anomaly {
  position: absolute;
  top: auto;
  bottom: 25px;
  right: 25px;
  left: auto;
  margin: 0;
  z-index: 12;
  font-size: 10px;
  transform: rotate(-2deg);
}
.institution-lobby .gateway-hall {
  position: relative;
  isolation: isolate;
  padding: 44px clamp(25px,4vw,64px) 74px;
  gap: clamp(35px,5vw,78px);
  background:
    linear-gradient(110deg, transparent 0 51%, #f9fff780 51.2% 63%, transparent 63.2%),
    repeating-linear-gradient(90deg, transparent 0 calc(33.333% - 1px), #38483e24 calc(33.333% - 1px) 33.333%),
    linear-gradient(90deg, #bfc9bd, #e3e4d4 37%, #dce1ce 68%, #bfcdbd);
  border-top: 10px solid #152b29;
  box-shadow: inset 0 8px 14px #172f292c;
  perspective: 1800px;
}
.institution-lobby .gateway-hall::before {
  display: block;
  content: '';
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: 74px;
  background:
    linear-gradient(118deg, transparent 0 55%, #e5f2d752 55% 68%, transparent 68%),
    repeating-linear-gradient(90deg, transparent 0 calc(33.333% - 1px), #172f292b calc(33.333% - 1px) 33.333%),
    linear-gradient(#8faaa1, #b2c2b3);
  border-top: 7px solid #25463e;
  box-shadow: inset 0 3px #e7edcc70;
}
.institution-lobby .gateway {
  min-height: clamp(390px,30vw,440px);
  border: 0;
  background: transparent;
  box-shadow: none;
}
.institution-lobby .gateway:hover { transform: none; }
.institution-lobby .doorway {
  inset: 0;
  border: 9px solid #27453d;
  box-shadow: 0 0 0 1px #d6dac2, 0 0 0 6px #698074,
    12px 10px 0 #263f382b, 18px 20px 22px #233d3838,
    inset 0 0 30px #000a;
  background: #102724;
}
.institution-lobby .gateway:hover .doorway,
.institution-lobby .gateway.is-open .doorway {
  box-shadow: 0 0 0 1px #f1e7c7, 0 0 0 6px #698074,
    12px 10px 0 #263f382b, 18px 20px 25px #233d3850,
    inset 0 0 30px #000a;
}
.institution-lobby .door-front {
  background:
    linear-gradient(111deg, transparent 0 28%, #ffffff16 28.2% 32%, transparent 32.2% 68%, #00000014 68.2%),
    linear-gradient(90deg, #0002, transparent 10%, #fff1 48%, #0002),
    linear-gradient(155deg,var(--door-light),var(--door-base) 46%,var(--door-dark));
}
.institution-lobby .door-front::before {
  inset: 15px;
  clip-path: none;
  border: 1px solid #f6efce50;
  box-shadow: inset 0 0 0 4px #0000000a;
}
.institution-lobby .door-window {
  display: block;
  position: absolute;
  top: 38%;
  left: 13%;
  right: 13%;
  height: 32%;
  width: auto;
  border: 5px solid color-mix(in srgb, var(--door-dark) 75%, #b3ab78);
  background:
    repeating-linear-gradient(90deg,#e0f3da20 0 3px,#20413e35 3px 6px),
    linear-gradient(120deg,#91cbd1b0,#dbe5c38a 48%,#255953b0);
  box-shadow: 0 1px #f5e5b266, inset 3px 3px 8px #10272270;
  transform: none;
  overflow: hidden;
}
.institution-lobby .door-window > span { display: none; }
.institution-lobby .gateway-school .door-window::before {
  content: '';
  position: absolute;
  inset: 28% 37%;
  border: 2px solid #edf8d9a6;
  background: #c6e5dd70;
  box-shadow: 0 0 0 7px #284b4b70, 0 0 0 9px #e6f4d65c,
    0 0 0 19px #294b4b40, 0 0 0 21px #e4efcf40,
    0 0 0 34px #284b4b30, 0 0 0 36px #e4efcf30;
  transform: skewY(-9deg);
}
.institution-lobby .gateway-platform .door-window {
  background:
    repeating-linear-gradient(90deg,#eaf9e02a 0 2px,#35696424 2px 7px),
    linear-gradient(125deg,#6cbbbd,#c9e0c7 56%,#267472);
}
.institution-lobby .gateway-education .door-window {
  background:
    repeating-linear-gradient(90deg,#faf4d52b 0 3px,#73627c30 3px 7px),
    linear-gradient(140deg,#a7b8d9,#e4c59c 65%,#8b7399);
}
.institution-lobby .lintel {
  top: 27px;
  left: 28px;
  right: 28px;
  font-size: 9px;
  letter-spacing: .1em;
  color: #f8f2e6;
}
.institution-lobby .gateway-caption {
  top: 60px;
  bottom: auto;
  left: 28px;
  right: 26px;
  color: #f8f2e6;
}
.institution-lobby .gateway-caption h2,
.institution-lobby .gateway-platform .gateway-caption h2 {
  font-family: var(--sans);
  font-size: clamp(27px,2.45vw,37px);
  font-weight: 750;
  line-height: 1;
  letter-spacing: -.055em;
}
.institution-lobby .gateway-platform .gateway-caption h2 { font-size: clamp(24px,2.05vw,31px); }
.institution-lobby .gateway-caption h2 a,
.institution-lobby .caption-toggle {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  width: 100%;
  padding-right: 0;
}
.institution-lobby .room-plaque {
  top: auto;
  bottom: 51px;
  left: 29px;
  right: auto;
}
.institution-lobby .room-plaque > b {
  display: block;
  font: 600 48px/1 var(--narrow);
  letter-spacing: -.035em;
  color: #f2ead79e;
}
.institution-lobby .room-plaque > span { display: none; }
.institution-lobby .door-hardware {
  top: 73%;
  right: 24px;
  height: 48px;
  width: 9px;
}
.institution-lobby .door-kickplate {
  display: block;
  left: 29px;
  bottom: 22px;
  color: #f2ead7a8;
  font: 8px/1.2 var(--mono);
  letter-spacing: .08em;
}
.institution-lobby .threshold {
  background: linear-gradient(#b9ae89,#6c735e 70%,#293e32);
  box-shadow: 0 9px 11px #14352f50;
}
.institution-lobby .product-preview {
  background:
    linear-gradient(110deg,transparent 55%,#8ac8cc12 55.2% 67%,transparent 67.2%),
    linear-gradient(150deg,#23473f,#101c27 70%);
  color: var(--paper);
  box-shadow: inset 0 0 0 7px #bed1ba19,inset 0 0 0 15px #091b1a4a;
}
.institution-lobby .preview-enter {
  position: sticky;
  bottom: 0;
  flex-shrink: 0;
  z-index: 3;
  box-shadow: 0 -8px 14px #102724bb;
}
.institution-lobby .preview-topline { padding-right: 124px; color: #e0e7d7; }
.institution-lobby .close-door {
  top: 13px;
  right: 13px;
  width: auto;
  min-width: 108px;
  min-height: 44px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-color: #d7c28a80;
  background: #09101de8;
  color: var(--paper);
  font: 700 9px/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.institution-lobby .close-door > span:first-child {
  color: var(--gold);
  font-size: 16px;
  line-height: 0;
  transition: transform .2s ease;
}
.institution-lobby .close-door:hover > span:first-child,
.institution-lobby .close-door:focus-visible > span:first-child { transform: translateX(-3px); }
.institution-lobby .gateway.is-open .door-leaf { pointer-events: auto; cursor: w-resize; }
.institution-lobby .platform-preview-app { transform: none; }
.institution-lobby .preview-platform > p { display: none; }
.institution-lobby .preview-app-course { padding: 10px 12px; }
.institution-lobby .preview-app-row { padding-block: 8px; }
.institution-lobby .preview-platform .preview-enter { margin-top: 14px; }
.institution-lobby .product-preview > p { color: #d0d2c6; }
.institution-lobby .preview-coming-soon { color: #d0d2c6 !important; }
.institution-lobby .preview-education h3 em { color: #d8c28c; }
.institution-lobby .admission-file {
  width: min(620px,calc(100% - 2 * var(--gutter)));
  min-height: 0;
  margin: 48px auto;
  transform: rotate(-1deg);
  background: var(--paper-2);
  box-shadow: 0 12px 26px #343d2820;
}
.institution-lobby .admission-file > img { width: 180px; margin: 22px 0; }
.institution-lobby .lobby-footer {
  padding-top: 26px;
  padding-bottom: 26px;
  background: var(--night);
  color: var(--paper);
}
@media (max-width: 980px) and (min-width: 761px) {
  .institution-lobby .lobby-intro h1 { font-size: clamp(76px,12vw,104px); }
  .institution-lobby .gateway-hall { gap: 28px; padding-inline: 24px; }
  .institution-lobby .gateway { min-height: 435px; }
  .institution-lobby .gateway-caption { left: 23px; right: 20px; }
  .institution-lobby .gateway-caption h2,
  .institution-lobby .gateway-platform .gateway-caption h2 { font-size: 27px; }
}
@media (max-width: 760px) {
  .institution-lobby .institution-signature > .signature-logo { display: block; }
  .institution-lobby .lobby-intro {
    min-height: 100svh;
    padding: 40px var(--gutter);
  }
  .institution-lobby .hero-scroll-cue {
    left: var(--gutter);
    bottom: max(16px,env(safe-area-inset-bottom));
    transform: none;
  }
  .institution-lobby .intro-copy { display: block; }
  .institution-lobby .lobby-intro h1 {
    font-size: clamp(54px,17.5vw,72px);
    line-height: .78;
    max-width: 100%;
  }
  .institution-lobby .lobby-intro h1 > span:last-child {
    margin: 18px 0 0 !important;
  }
  .institution-lobby .lobby-intro h1 > .hero-institution {
    display: block;
    max-width: 100%;
    padding-top: 0;
    font-size: clamp(20px,6vw,26px);
    line-height: 1;
    letter-spacing: -.035em;
    white-space: normal;
  }
  .institution-lobby .lobby-intro h1 > .hero-institution em {
    display: block;
    margin: 10px 0 0 12vw;
    font-size: clamp(43px,13vw,56px);
  }
  .institution-lobby .lobby-intro h1 em { display: block; margin-left: 12vw; }
  .institution-lobby .corridor-portal {
    --portal-origin-x: 56%;
    --portal-origin-y: 50%;
    top: calc(clamp(54%,calc(91% - 44vw),71%) - clamp(250px,40vw,280px));
    right: calc(22% - clamp(220px,35.2vw,246.4px));
    width: clamp(500px,80vw,560px);
    opacity: .78;
  }
  .institution-lobby .corridor-door {
    width: 22%;
    height: 34%;
  }
  .institution-lobby .corridor-rift { right: 2%; width: 23vw; opacity: .48; }
  .institution-lobby .corridor-plane--left { width: 46%; left: -27%; }
  .institution-lobby .corridor-plane--right { width: 43%; right: -19%; }
  .institution-lobby .corridor-signal {
    right: 20px;
    bottom: max(24px,calc(env(safe-area-inset-bottom) + 8px));
    font-size: 10px;
  }
  .institution-lobby .close-door {
    top: 12px;
    right: 12px;
    min-width: 112px;
  }
  .institution-lobby .lobby-invitation { margin-top: 13px; font-size: 14px; }
  .institution-lobby .gateway-stage { width: 100%; }
  .institution-lobby .directory-bar {
    margin: 0 var(--gutter);
    padding: 38px 0 34px;
  }
  .institution-lobby .directory-bar h2 {
    font-size: clamp(52px,16vw,76px);
    line-height: .84;
  }
  .institution-lobby .stage-cta {
    grid-column: 1;
    grid-row: 2;
    margin-top: 5px;
    min-height: 48px;
    width: min(100%, 248px);
    min-width: 0;
  }
  .institution-lobby .mobile-directory {
    background: #e9e3d4f2;
    border-block: 1px solid #152c2928;
    color: var(--ink);
  }
  .institution-lobby .mobile-directory > a { border-color: #203b3440; }
  .institution-lobby .mobile-directory > a[aria-current=true] {
    color: var(--paper);
    background: #254e40;
    border-color: #254e40;
  }
  .institution-lobby .mobile-hint { color: #34473c; opacity: 1; padding-bottom: 9px; }
  .institution-lobby .gateway-hall {
    display: flex;
    padding: 27px 40px 55px var(--gutter);
    gap: 36px;
    scroll-padding-inline: var(--gutter);
  }
  .institution-lobby .gateway { min-height: 470px; flex-basis: 87%; }
  .institution-lobby .gateway-hall::before { height: 54px; }
  .institution-lobby .gateway-caption h2,
  .institution-lobby .gateway-platform .gateway-caption h2 { font-size: 34px; }
  .institution-lobby .stage-anomaly.service-anomaly { display: none; }
  .institution-lobby .admission-file { margin-block: 32px; }
}
@media (max-width: 430px) and (max-height: 700px) {
  .institution-lobby .corridor-portal {
    top: calc(81% - clamp(250px,40vw,280px));
  }
  .institution-lobby .corridor-door { width: 18%; height: 28%; }
}
@media (max-width: 360px) {
  .institution-lobby .hero-scroll-cue > span:first-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .institution-lobby .hero-scroll-cue > span:last-child { animation: none; }
  .institution-lobby .door-window { transition: none; }
  .institution-lobby .impossible-corridor *,
  .institution-lobby .impossible-corridor::before,
  .institution-lobby .impossible-corridor::after { animation: none !important; }
}

/* Invisible motion consumes no paint/compositor budget below the fold. */
.institution-lobby .lobby-intro.is-animation-paused .impossible-corridor::before,
.institution-lobby .lobby-intro.is-animation-paused .impossible-corridor::after,
.institution-lobby .lobby-intro.is-animation-paused .corridor-plane,
.institution-lobby .lobby-intro.is-animation-paused .corridor-rift,
.institution-lobby .lobby-intro.is-animation-paused .corridor-beam,
.institution-lobby .lobby-intro.is-animation-paused .corridor-portal,
.institution-lobby .lobby-intro.is-animation-paused .corridor-portal i,
.institution-lobby .lobby-intro.is-animation-paused .corridor-door,
.institution-lobby .lobby-intro.is-animation-paused .hero-scroll-cue > span:last-child {
  animation-play-state: paused !important;
}

/* Keep every destination label inside the door's inner architectural frame. */
.institution-lobby .gateway { container-type: inline-size; }
.institution-lobby .gateway-caption {
  left: 28px;
  right: 28px;
  min-width: 0;
}
.institution-lobby .gateway-caption > div,
.institution-lobby .gateway-caption h2 { width: 100%; min-width: 0; }
.institution-lobby .gateway-caption h2,
.institution-lobby .gateway-platform .gateway-caption h2 {
  font-size: clamp(22px, 9.6cqi, 37px);
}
.institution-lobby .gateway-platform .gateway-caption h2 {
  font-size: clamp(20px, 8.4cqi, 31px);
}
.institution-lobby .gateway-caption h2 a,
.institution-lobby .caption-toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  max-width: 100%;
}
.institution-lobby .caption-label { min-width: 0; }
.institution-lobby .gateway-caption h2 [aria-hidden="true"] {
  align-self: start;
  white-space: nowrap;
}

/* Keep the door catalogue usable between phone and compact desktop widths. */
@media (max-width: 1100px) {
  .institution-lobby .mobile-directory {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    gap: 6px;
    margin: 0;
    padding: 10px var(--gutter);
    background: #e9e3d4f2;
    border-block: 1px solid #152c2928;
    color: var(--ink);
    backdrop-filter: blur(12px);
  }
  .institution-lobby .mobile-directory > a {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 4px;
    border: 1px solid #203b3440;
    font: 700 11px var(--narrow);
    text-transform: uppercase;
  }
  .institution-lobby .mobile-directory > a[aria-current="true"] {
    color: var(--paper);
    background: #254e40;
    border-color: #254e40;
  }
  .institution-lobby .mobile-hint {
    display: block;
    padding: 8px var(--gutter) 9px;
    color: #34473c;
    font: 12px/1.5 var(--sans);
    letter-spacing: 0;
    opacity: 1;
  }
  .institution-lobby .gateway-hall {
    display: flex;
    gap: 36px;
    overflow-x: auto;
    padding: 27px 40px 55px var(--gutter);
    scroll-padding-inline: var(--gutter);
    scroll-snap-type: x mandatory;
  }
  .institution-lobby .gateway {
    flex: 0 0 clamp(280px,32vw,330px);
    max-width: 330px;
    min-height: 470px;
    scroll-snap-align: center;
  }
}
