.lta-entrance{position:fixed;inset:0;z-index:5000;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse 90% 60% at 52% 42%,#f8f8f8 0%,#ecf4fa 65%,#c6dae8 100%);color:#1a3e74;font-family:Poppins,Arial,sans-serif;transform:translateY(0);transition:transform .58s cubic-bezier(.65,0,.35,1)}
.lta-intro-seen .lta-entrance,.lta-entrance.is-gone{display:none}
.lta-entrance.is-skipping{transform:translateY(-105%);pointer-events:none}
.lta-entrance:not(.has-webgl).is-portal-opening{-webkit-mask-image:linear-gradient(#000,#000),linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000),linear-gradient(#000,#000);-webkit-mask-size:100% 100%,calc(var(--portal-radius,0px) * 2) calc(var(--portal-radius,0px) * 2);mask-size:100% 100%,calc(var(--portal-radius,0px) * 2) calc(var(--portal-radius,0px) * 2);-webkit-mask-position:0 0,var(--portal-x,50%) var(--portal-y,51%);mask-position:0 0,var(--portal-x,50%) var(--portal-y,51%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:xor;mask-composite:exclude}
body.lta-intro-active{overflow:hidden}
.lta-entrance-scene{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:auto;touch-action:none;cursor:grab;background:radial-gradient(circle at 50% 42%,#f9fcff 0%,#edf4f9 60%,#d9e9f3 100%)}
.lta-entrance-scene:active{cursor:grabbing}
.lta-entrance-loading{position:absolute;z-index:4;inset:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding-bottom:14vh;background:radial-gradient(circle at 50% 42%,#f9fcff 0%,#edf4f9 60%,#d9e9f3 100%);color:#1a3e74;font:700 11px/1.4 Poppins,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:1;visibility:visible;transition:opacity .4s ease,visibility .4s ease}
.lta-entrance-spinner{width:58px;height:58px;border:4px solid #c6dae8;border-top-color:#f9c21f;border-right-color:#1a3e74;border-bottom-color:#d94639;border-radius:50%;box-shadow:0 0 0 10px #ffffff88,0 16px 40px #1a3e741c;animation:lta-entrance-spin 1.05s linear infinite}
.lta-entrance.is-scene-ready .lta-entrance-loading{opacity:0;visibility:hidden}
@keyframes lta-entrance-spin{to{transform:rotate(360deg)}}
.lta-home-wall{position:absolute;z-index:2;inset:0;display:grid;place-items:center;width:100%;height:100%;background:#1a3e74;backface-visibility:hidden;will-change:clip-path;contain:strict;opacity:0;pointer-events:none;clip-path:inset(49% 49% 49% 49% round 5px)}
.lta-home-wall-mark{display:grid;place-items:center;width:clamp(150px,24vw,330px);padding:18px 22px;border:1px solid rgba(255,255,255,.46);border-radius:18px;background:rgba(248,248,248,.96);box-shadow:0 24px 70px rgba(8,23,45,.34)}
.lta-home-wall-mark img{display:block;width:100%;height:auto}
.lta-entrance.has-webgl .lta-home-wall{opacity:0}
.lta-entrance-scene canvas{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;pointer-events:none;opacity:0}
.lta-entrance.has-webgl .lta-entrance-scene canvas:not(.lta-glass-layer){-webkit-mask-image:none;mask-image:none}
.lta-entrance-scene canvas.lta-glass-layer{z-index:3;-webkit-mask-image:linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000);-webkit-mask-size:var(--wall-width,0px) var(--wall-height,0px);mask-size:var(--wall-width,0px) var(--wall-height,0px);-webkit-mask-position:var(--wall-x,50%) var(--wall-y,50%);mask-position:var(--wall-x,50%) var(--wall-y,50%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.lta-entrance.has-webgl .lta-entrance-scene canvas{opacity:1}
.lta-entrance-static{display:none}
.lta-entrance-static-roof,.lta-entrance-static-door{display:none}
.lta-entrance-static img{position:relative;width:min(39vw,490px);height:auto;max-height:40%;object-fit:contain;padding:20px 24px;background:#f8f8f8;border:4px solid #f9c21f;border-radius:8px;box-shadow:0 30px 70px #1a3e7433;transform:rotateY(-10deg) rotateX(3deg);animation:lta-static-arrive 1.15s cubic-bezier(.22,1,.36,1) both}
.lta-entrance.has-webgl .lta-entrance-static{opacity:0}
.lta-entrance-top{position:relative;z-index:2;display:flex;align-items:center;gap:16px;width:calc(100% - 96px);max-width:1440px;margin:38px auto 0;font-size:11px;font-weight:700;letter-spacing:.24em}
.lta-entrance.is-rainy{background:radial-gradient(ellipse 90% 60% at 52% 42%,#ecf4fa 0%,#c6dae8 70%,#1a3e74 140%)}
.lta-entrance-weather{display:flex;gap:3px;margin-left:auto;padding:4px;border:1px solid #c6dae8;border-radius:12px;background:#f8f8f8db;box-shadow:0 8px 22px #1a3e7415;letter-spacing:normal}
.lta-entrance-weather button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:35px;padding:6px 11px;border:0;border-radius:8px;background:transparent;color:#1a3e74;font:600 11px/1.3 Poppins,Arial,sans-serif;letter-spacing:.02em}
.lta-entrance-weather button.is-active{background:#1a3e74;color:#f8f8f8;box-shadow:0 4px 10px #1a3e742b}
.lta-entrance-weather button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lta-entrance-top,.lta-entrance-bottom{transition:transform .92s cubic-bezier(.22,1,.36,1)}
.lta-entrance.is-entering .lta-entrance-top,.lta-entrance.is-entering .lta-entrance-bottom{transition-duration:.58s;transition-timing-function:cubic-bezier(.65,0,.35,1)}
.lta-entrance.is-entering .lta-entrance-top{transform:translateY(-105vh)}
.lta-entrance.is-entering .lta-entrance-bottom{transform:translateY(105vh)}
.lta-entrance.is-entering .lta-entrance-static-door{transform:scaleX(0);transition:transform .85s cubic-bezier(.22,1,.36,1)}
.lta-entrance.is-entering .lta-entrance-static img{transform:translateY(-170px) rotateY(0);transition:transform .85s cubic-bezier(.22,1,.36,1)}
.lta-entrance-rule{width:40px;height:4px;background:#d94639}
.lta-entrance-top-end{font-size:10px;letter-spacing:.28em;color:#2d3049}
.lta-entrance-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:32px;box-sizing:border-box;width:100%;max-width:none;margin:auto auto 0;padding:24px max(48px,calc((100vw - 1440px)/2 + 30px)) 27px;border:1px solid #d7e3ec;border-right:0;border-bottom:0;border-left:0;border-radius:12px 12px 0 0;background:rgba(255,255,255,.95);box-shadow:0 24px 65px rgba(18,52,91,.18),0 2px 8px rgba(18,52,91,.08);-webkit-backdrop-filter:blur(15px) saturate(1.08);backdrop-filter:blur(15px) saturate(1.08)}
.lta-entrance-copy{max-width:min(750px,61vw);box-sizing:border-box}
.lta-entrance-kicker{display:block;margin-bottom:12px;font-size:11px;font-weight:700;letter-spacing:.28em;color:#d94639}
.lta-entrance-bottom h2{margin:0;color:#1a3e74;font-family:Montserrat,Poppins,Arial,sans-serif;font-size:clamp(37px,4.55vw,70px);font-weight:800;line-height:1.05;letter-spacing:-.055em;text-shadow:0 2px 3px rgba(26,62,116,.08)}
.lta-entrance-bottom h2 em{font-style:normal;color:#d94639}
.lta-entrance-actions{display:flex;align-items:center;gap:20px;padding-bottom:7px}
.lta-entrance-actions button{font-family:Poppins,Arial,sans-serif;font-weight:700}
.lta-entrance-enter{min-width:225px;min-height:58px;padding:15px 24px;border:0;border-radius:8px;background:#f9c21f;color:#1a3e74;box-shadow:0 15px 36px #1a3e7428;text-align:left;font-size:13px;letter-spacing:.03em}
.lta-entrance-enter span{float:right;margin-left:20px;font-size:19px;line-height:1}
.lta-entrance-skip{min-height:48px;padding:8px 13px;border:1px solid #c6dae8;border-radius:8px;background:#f8f8f8e6;color:#1a3e74;box-shadow:0 8px 22px #1a3e7414;font-size:12px;letter-spacing:.08em}
@keyframes lta-static-arrive{from{opacity:0;transform:translateY(45px) rotateY(-28deg) rotateX(4deg)}to{opacity:1;transform:translateY(0) rotateY(-10deg) rotateX(3deg)}}
@media(max-width:800px){.lta-entrance-top{width:calc(100% - 40px);margin-top:25px;font-size:9px;letter-spacing:.14em}.lta-entrance-top-end{display:none}.lta-entrance-bottom{display:block;width:100%;max-width:none;margin-bottom:0;padding:18px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border-right:0;border-bottom:0;border-left:0;border-radius:12px 12px 0 0}.lta-entrance-copy{max-width:none}.lta-entrance-bottom h2{font-size:clamp(35px,8vw,56px)}.lta-entrance-actions{margin-top:18px}.lta-entrance-static{inset:15% 3% 24%}.lta-entrance-static img{width:min(75vw,420px);padding:13px 17px}}
@media(max-width:460px){.lta-entrance-bottom h2{font-size:clamp(34px,9.2vw,44px)}.lta-entrance-actions{gap:13px;justify-content:space-between}.lta-entrance-enter{min-width:0;min-height:53px;padding:12px 14px;font-size:11px}.lta-entrance-enter span{margin-left:8px}.lta-entrance-skip{font-size:11px}.lta-entrance-kicker{font-size:9px}.lta-entrance-static{inset:18% 1% 27%}.lta-entrance-weather button{padding:6px 8px}.lta-entrance-weather button span{display:none}}
@media(prefers-reduced-motion:reduce){.lta-entrance,.lta-entrance-top,.lta-entrance-bottom,.lta-entrance-static img,.lta-entrance-static-door,.lta-entrance-spinner{animation:none;transition:none}}

/* Door-to-home photo interlude. The existing academy-door scene remains first. */
.lta-photo-intro{position:fixed;inset:0;z-index:5100;overflow:hidden;background:#1a3e74;opacity:0;visibility:hidden;transition:opacity .46s ease,visibility .46s ease;pointer-events:none}
.lta-photo-intro.is-active{opacity:1;visibility:visible;pointer-events:auto}
.lta-photo-intro.is-active.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.lta-photo-intro-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;padding:4px;background:#142f59}
.lta-photo-intro-panel{position:relative;isolation:isolate;overflow:hidden;margin:0;border-radius:clamp(6px,.65vw,12px);background:#eef3f6;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);clip-path:inset(0 100% 0 0 round clamp(6px,.65vw,12px));will-change:clip-path}
.lta-photo-intro-panel:nth-child(1){grid-column:1/7;grid-row:1}
.lta-photo-intro-panel:nth-child(2){grid-column:7/13;grid-row:1}
.lta-photo-intro-panel:nth-child(3){grid-column:1/3;grid-row:2}
.lta-photo-intro-panel:nth-child(4){grid-column:3/5;grid-row:2}
.lta-photo-intro-panel:nth-child(5){grid-column:5/7;grid-row:2}
.lta-photo-intro-panel:nth-child(6){grid-column:7/9;grid-row:2}
.lta-photo-intro-panel:nth-child(7){grid-column:9/11;grid-row:2}
.lta-photo-intro-panel:nth-child(8){grid-column:11/13;grid-row:2}
.lta-photo-intro-panel::before{content:"";position:absolute;z-index:-1;inset:-18px;background-image:var(--panel-image);background-position:center;background-size:cover;filter:blur(14px);opacity:.22;transform:scale(1.08)}
.lta-photo-intro-panel::after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 52%,rgba(18,40,72,.06))}
.lta-photo-intro-panel img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 30%);transform:translateX(-5%) scale(1.01);will-change:transform}
.lta-photo-intro.is-playing .lta-photo-intro-panel{animation:lta-photo-panel-reveal .48s cubic-bezier(.55,0,.2,1) forwards}
.lta-photo-intro.is-playing .lta-photo-intro-panel img{animation:lta-photo-image-arrive .72s cubic-bezier(.22,1,.36,1) forwards}
.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(2),.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(2) img{animation-delay:.1s}
.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(3),.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(3) img{animation-delay:.2s}
.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(4),.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(4) img{animation-delay:.3s}
.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(5),.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(5) img{animation-delay:.4s}
.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(6),.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(6) img{animation-delay:.5s}
.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(7),.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(7) img{animation-delay:.6s}
.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(8),.lta-photo-intro.is-playing .lta-photo-intro-panel:nth-child(8) img{animation-delay:.7s}
.lta-photo-intro-mark{position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:clamp(104px,12vw,168px);aspect-ratio:1.72;padding:10px 14px;border:1px solid rgba(255,255,255,.8);border-radius:12px;background:rgba(248,248,248,.93);box-shadow:0 20px 55px rgba(12,31,59,.28);opacity:0;transform:translate(-50%,-44%) scale(.88);will-change:opacity,transform}
.lta-photo-intro-mark img{display:block;width:100%;height:100%;object-fit:contain}
.lta-photo-intro.is-playing .lta-photo-intro-mark{animation:lta-photo-mark-arrive .44s 1.18s cubic-bezier(.22,1,.36,1) forwards}
.lta-photo-intro::after{content:"";position:absolute;z-index:4;left:0;bottom:0;width:100%;height:6px;background:linear-gradient(90deg,#f9c21f 0 34%,#d94639 34% 67%,#c6dae8 67%);transform:scaleX(0);transform-origin:left center}
.lta-photo-intro.is-playing::after{animation:lta-photo-progress 2.32s cubic-bezier(.65,0,.35,1) forwards}
@keyframes lta-photo-panel-reveal{to{clip-path:inset(0 0 0 0)}}
@keyframes lta-photo-image-arrive{to{transform:translateX(0) scale(1)}}
@keyframes lta-photo-mark-arrive{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes lta-photo-progress{to{transform:scaleX(1)}}
@media(max-width:640px){.lta-photo-intro-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:30% 35% 35%;gap:2px;padding:2px}.lta-photo-intro-panel:nth-child(1){grid-column:1/4;grid-row:1}.lta-photo-intro-panel:nth-child(2){grid-column:4/7;grid-row:1}.lta-photo-intro-panel:nth-child(3){grid-column:1/3;grid-row:2}.lta-photo-intro-panel:nth-child(4){grid-column:3/5;grid-row:2}.lta-photo-intro-panel:nth-child(5){grid-column:5/7;grid-row:2}.lta-photo-intro-panel:nth-child(6){grid-column:1/3;grid-row:3}.lta-photo-intro-panel:nth-child(7){grid-column:3/5;grid-row:3}.lta-photo-intro-panel:nth-child(8){grid-column:5/7;grid-row:3}.lta-photo-intro-mark{top:50%;width:94px;padding:7px 10px;border-radius:9px}.lta-photo-intro-panel::before{inset:-10px;filter:blur(10px);opacity:.2}.lta-photo-intro::after{height:4px}}
@media(prefers-reduced-motion:reduce){.lta-photo-intro{display:none}}
