@font-face{font-family:OccashPortalDisplay;src:url('./impact-local.ttf') format('truetype');font-display:swap}
:root{font-family:'Segoe UI',Arial,sans-serif;color:#082443;background:#fefaf0;font-synthesis:style;--navy:#082443;--paper:#fefaf0;--orange:#fd6f23;--focus:#1462e8}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a,button,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.portal-layout{display:grid;grid-template-columns:minmax(0,57.52fr) minmax(0,42.48fr);grid-template-rows:minmax(0,1fr);height:100svh;min-height:0}
.portal-hero{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--paper);container-type:size;display:grid;place-items:center;padding:6px}
/* Fit the complete illustrated plane to both available axes; effects share its scale. */
.portal-art{position:relative;width:min(100%,calc(100cqh * 975 / 844));height:auto;aspect-ratio:975/844;transition:transform .2s ease-out;transform:translate3d(var(--look-x,0px),var(--look-y,0px),0)}
.portal-scene{position:absolute;inset:0;width:100%;height:100%;background-image:url('./reference.png');background-size:173.846154% auto;background-position:left bottom;background-repeat:no-repeat;isolation:isolate;clip-path:inset(.24% 0 0)}
.portal-entry{position:relative;min-width:0;min-height:0;display:flex;align-items:center;padding:clamp(12px,2.5svh,36px) clamp(22px,2.9vw,49px) clamp(12px,2.5svh,36px) clamp(20px,1.7vw,29px);background:var(--paper);isolation:isolate}
.portal-entry::after{content:'';position:absolute;z-index:-1;right:0;top:0;bottom:0;width:35px;background-image:url('./reference.png');background-position:right bottom;background-size:auto max(110%,928px);opacity:.75;pointer-events:none;clip-path:inset(4px 0 0)}
.portal-content{width:100%;max-width:800px;margin:auto}
.portal-kicker{display:flex;align-items:center;gap:16px;color:#ff6616;font-size:clamp(15px,2.5svh,20px);line-height:1.2;text-transform:uppercase;font-weight:800;margin:0 0 clamp(12px,2.5svh,23px)}
.portal-icon{display:inline-block;flex:none;background-image:url('./reference.png');background-size:1695px 928px;background-repeat:no-repeat}
.portal-lock{width:26.4px;height:33.6px;background-size:1356px 742.4px;background-position:-802.4px -139.2px}
.portal-content h1{font-family:OccashPortalDisplay,Impact,'Arial Narrow',sans-serif;font-size:clamp(25px,min(3.3vw,6svh),62px);font-style:italic;font-weight:400;line-height:1.08;letter-spacing:-.6px;text-transform:uppercase;margin:0 0 clamp(14px,2.5svh,23px);white-space:nowrap;transform:scaleY(1.18);transform-origin:left top}
.portal-description{font-size:clamp(16px,min(1.55vw,3svh),26px);line-height:1.35;margin:0 0 clamp(18px,3.3svh,36px)}
.portal-description span{display:inline}.portal-description span+span::before{content:' '}
.access-form label{display:block;font-size:clamp(17px,2.8svh,24px);line-height:1.25;font-weight:750;margin-bottom:clamp(7px,1.2svh,10px)}
#access-code{display:block;width:100%;min-width:0;height:clamp(46px,9.25svh,78px);padding:12px 18px;background:white;color:var(--navy);border:1.5px solid #183354;border-radius:8px;font-size:clamp(17px,3svh,24px);box-shadow:3px 4px 0 #061b3109}
#access-code::placeholder{color:#667b96;opacity:1}
.portal-continue{width:100%;height:clamp(48px,10svh,82px);margin:clamp(12px,2.3svh,22px) 0 0;border:2px solid #23354a;border-radius:8px;background:var(--orange);color:#fff;box-shadow:4px 5px 0 #061b312e;display:flex;align-items:center;justify-content:center;gap:24px;cursor:pointer;position:relative;transition:transform .14s,box-shadow .14s,background-color .14s}
.portal-continue>span{font-family:OccashPortalDisplay,Impact,'Arial Narrow',sans-serif;font-size:clamp(26px,4.5svh,38px);line-height:1.1;font-style:italic;text-transform:uppercase;font-weight:400}
.portal-arrow{width:38px;height:36px;background-position:-1513px -609px;position:absolute;right:12%;top:calc(50% - 18px)}
.portal-continue:hover{background:#f36715;transform:translateY(-1px);box-shadow:4px 6px 0 #061b312e}
.portal-continue:active{transform:translateY(2px);box-shadow:1px 2px 0 #061b312e}
.portal-continue[aria-busy=true]{cursor:wait;opacity:.8}



.portal-back{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(14px,3svh,32px);min-height:30px;color:#075be4;font-size:clamp(16px,2.7svh,21px);line-height:1.3;font-weight:750;text-decoration:none}
.portal-back:hover{text-decoration:underline;text-underline-offset:4px}
.portal-back-arrow{width:33px;height:29px;background-position:-1003px -813px}
.portal-error{padding:13px 16px;margin:0 0 20px;color:#842323;border:1px solid #c66d61;border-radius:6px;background:#fff0ea;font-size:18px;line-height:1.4}
/* Real reference-image layers, bounded to their measured facade regions. */
.portal-source{position:absolute;inset:0;background-image:url('./reference.png');background-size:173.846154% auto;background-position:left bottom;background-repeat:no-repeat;pointer-events:none;opacity:0}
.portal-sign{clip-path:polygon(22% 51%,59% 42%,59% 56%,22% 65%);filter:brightness(1.6);animation:portal-sign-on 1.6s steps(6,end) .15s both}
.portal-interior,.portal-glass{clip-path:polygon(26.1% 67.7%,58.7% 62.7%,58.7% 91.4%,26.1% 89.1%,26.1% 67.7%,69% 65.8%,96.3% 72.1%,96.1% 89.9%,69% 92.5%,69% 65.8%,26.1% 67.7%)}
.portal-interior{filter:brightness(1.25);animation:portal-interior-light 10s ease-in-out infinite}
.portal-glass{position:absolute;inset:0;pointer-events:none}
.portal-reflection{filter:brightness(1.6);animation:portal-window-reflection 20s linear 2s infinite}
.portal-spots{clip-path:ellipse(1.6% 1.2% at 50.8% 40.8%);filter:brightness(1.9);animation:portal-spot-light 14s ease-in-out 7s infinite}
.portal-door{clip-path:polygon(9.2% 70%,23.8% 66%,23.8% 90%,21.8% 89.5%,21.8% 69%,10.6% 72%,10.6% 89.2%,9.2% 89%);filter:brightness(1.45);animation:portal-door-light 22s ease-in-out 11s infinite}
.portal-customer-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:layout paint}
.portal-customer-track{position:absolute;inset:0;transform-origin:0 0}
.portal-passenger{position:absolute;left:0;top:0;width:8.6%;aspect-ratio:1/2;overflow:hidden;contain:paint;clip-path:inset(0 0 6.25% 0);transform:translateY(-93.36%)}
.portal-customer-strip{position:absolute;left:0;top:0;width:400%;height:300%;max-width:none;animation:portal-customer-step .72s steps(4,end) infinite}
.portal-passenger--1 .portal-customer-strip{top:-100%}
.portal-passenger--2 .portal-customer-strip{top:-197.27%}
.portal-motion .portal-content{animation:portal-form-in .42s ease-out both}
.portal-hero.has-pointer .portal-art{will-change:transform}
#access-code{transition:border-color .18s ease-out,box-shadow .18s ease-out}
#access-code:focus{border-color:#1462e8;box-shadow:0 0 0 3px #1462e824,3px 4px 0 #061b3109}
.portal-arrow{transition:transform .18s ease-out}
.portal-continue:hover .portal-arrow,.portal-continue:focus-visible .portal-arrow{transform:translateX(6px)}
.portal-paused .portal-loop{animation-play-state:paused!important}
@keyframes portal-sign-on{0%{opacity:0;clip-path:polygon(22% 51%,22% 51%,22% 65%,22% 65%)}65%{opacity:.7;clip-path:polygon(22% 51%,59% 42%,59% 56%,22% 65%)}100%{opacity:0;clip-path:polygon(22% 51%,59% 42%,59% 56%,22% 65%)}}
@keyframes portal-interior-light{0%,100%{opacity:.02}50%{opacity:.22}}
@keyframes portal-window-reflection{0%{opacity:0;clip-path:polygon(-8% 0,-5% 0,-31% 100%,-34% 100%)}1%{opacity:.42}10%{opacity:.42;clip-path:polygon(128% 0,131% 0,105% 100%,102% 100%)}11%,100%{opacity:0;clip-path:polygon(128% 0,131% 0,105% 100%,102% 100%)}}
@keyframes portal-spot-light{0%,8%,100%{opacity:0}3%{opacity:.75}5%{opacity:.2}}
@keyframes portal-door-light{0%,8%,100%{opacity:0}4%{opacity:.55}}
@keyframes portal-customer-step{to{transform:translateX(-100%)}}
@keyframes portal-form-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.portal-entry{padding-inline:5% 7%}}
@media(min-width:901px) and (max-width:1100px){.portal-entry{padding-inline:20px 22px}}
@media(max-width:900px){.portal-layout{display:block}.portal-hero{display:none}.portal-entry{height:100%;max-width:700px;margin:auto;padding:clamp(14px,4svh,40px) 24px}.portal-content h1{font-size:clamp(28px,min(7.8vw,6svh),52px);white-space:normal;line-height:1.1;max-width:100%}.portal-kicker{font-size:16px;gap:14px}.portal-description{font-size:clamp(16px,2.8svh,20px);line-height:1.35}.access-form label{font-size:18px}#access-code{height:clamp(44px,8.5svh,62px);font-size:20px;padding:10px 15px}.portal-continue{height:clamp(48px,9svh,67px);justify-content:center;gap:12px}.portal-continue>span{font-size:clamp(26px,4.5svh,31px)}.portal-arrow{position:static;order:2}.portal-back{font-size:18px}.portal-entry::after{width:24px}}
@media(max-width:900px) and (max-height:650px){.portal-entry{padding:12px 20px}.portal-kicker{font-size:14px;margin-bottom:10px}.portal-content h1{margin-bottom:12px}.portal-description{font-size:16px;line-height:1.32;margin-bottom:14px}.access-form label{margin-bottom:7px}.portal-continue{margin-top:12px}.portal-back{margin-top:14px;font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-height:650px){.portal-error{font-size:16px;line-height:1.25;padding:6px 12px;margin-bottom:8px}}
@media(max-height:550px){.portal-content:has(.portal-error) .portal-description{display:none}}
@media(prefers-reduced-motion:reduce){.portal-source,.portal-customer-stage{display:none!important}.portal-art{transform:none!important}}
/* SHOPPER_CROP_START: complete poses from the unchanged atlas; keep adjacent hands out. */
.portal-passenger--0{left:-1.075%;width:10.75%;aspect-ratio:5/8;animation:portal-shopper-mask .72s step-end infinite}
.portal-passenger--0 .portal-customer-strip{left:10%;width:320%}
@keyframes portal-shopper-mask{
0%,100%{clip-path:polygon(59.375% 0%,59.375% 6.25%,46.562% 6.25%,46.562% 12.5%,44.688% 12.5%,44.688% 18.75%,39.375% 18.75%,39.375% 25%,33.75% 25%,33.75% 31.25%,28.438% 31.25%,28.438% 37.5%,25.625% 37.5%,25.625% 43.75%,25% 43.75%,25% 50%,25.938% 50%,25.938% 56.25%,18.75% 56.25%,18.75% 62.5%,16.562% 62.5%,16.562% 68.75%,14.688% 68.75%,14.688% 75%,14.688% 75%,14.688% 81.25%,14.688% 81.25%,14.688% 87.5%,15.625% 87.5%,15.625% 94.141%,91.875% 94.141%,91.875% 87.5%,94.688% 87.5%,94.688% 81.25%,78.438% 81.25%,78.438% 75%,73.75% 75%,73.75% 68.75%,71.25% 68.75%,71.25% 62.5%,68.125% 62.5%,68.125% 56.25%,91.25% 56.25%,91.25% 50%,90.625% 50%,90.625% 43.75%,82.5% 43.75%,82.5% 37.5%,74.688% 37.5%,74.688% 31.25%,72.188% 31.25%,72.188% 25%,76.562% 25%,76.562% 18.75%,78.125% 18.75%,78.125% 12.5%,77.812% 12.5%,77.812% 6.25%,75.938% 6.25%,75.938% 0%)}
25%{clip-path:polygon(55.312% 0%,55.312% 6.25%,44.375% 6.25%,44.375% 12.5%,42.188% 12.5%,42.188% 18.75%,42.188% 18.75%,42.188% 25%,40.625% 25%,40.625% 31.25%,38.125% 31.25%,38.125% 37.5%,35% 37.5%,35% 43.75%,34.062% 43.75%,34.062% 50%,33.75% 50%,33.75% 56.25%,24.688% 56.25%,24.688% 62.5%,21.562% 62.5%,21.562% 68.75%,19.688% 68.75%,19.688% 75%,20.312% 75%,20.312% 81.25%,20.625% 81.25%,20.625% 87.5%,25.625% 87.5%,25.625% 94.141%,90.625% 94.141%,90.625% 87.5%,87.812% 87.5%,87.812% 81.25%,76.875% 81.25%,76.875% 75%,75.312% 75%,75.312% 68.75%,75% 68.75%,75% 62.5%,73.125% 62.5%,73.125% 56.25%,99.688% 56.25%,99.688% 50%,99.688% 50%,99.688% 43.75%,91.562% 43.75%,91.562% 37.5%,81.875% 37.5%,81.875% 31.25%,74.375% 31.25%,74.375% 25%,73.125% 25%,73.125% 18.75%,76.562% 18.75%,76.562% 12.5%,75% 12.5%,75% 6.25%,71.562% 6.25%,71.562% 0%)}
50%{clip-path:polygon(51.875% 0%,51.875% 6.25%,40.938% 6.25%,40.938% 12.5%,39.062% 12.5%,39.062% 18.75%,38.125% 18.75%,38.125% 25%,33.75% 25%,33.75% 31.25%,31.875% 31.25%,31.875% 37.5%,30% 37.5%,30% 43.75%,28.438% 43.75%,28.438% 50%,32.812% 50%,32.812% 56.25%,31.875% 56.25%,31.875% 62.5%,26.875% 62.5%,26.875% 68.75%,23.125% 68.75%,23.125% 75%,19.688% 75%,19.688% 81.25%,17.188% 81.25%,17.188% 87.5%,16.25% 87.5%,16.25% 94.141%,89.375% 94.141%,89.375% 87.5%,91.875% 87.5%,91.875% 81.25%,75.625% 81.25%,75.625% 75%,71.875% 75%,71.875% 68.75%,69.062% 68.75%,69.062% 62.5%,66.875% 62.5%,66.875% 56.25%,85.625% 56.25%,85.625% 50%,85% 50%,85% 43.75%,77.188% 43.75%,77.188% 37.5%,71.25% 37.5%,71.25% 31.25%,69.062% 31.25%,69.062% 25%,71.562% 25%,71.562% 18.75%,72.812% 18.75%,72.812% 12.5%,71.25% 12.5%,71.25% 6.25%,68.75% 6.25%,68.75% 0%)}
75%{clip-path:polygon(56.875% 0%,56.875% 6.25%,45.938% 6.25%,45.938% 12.5%,44.062% 12.5%,44.062% 18.75%,43.438% 18.75%,43.438% 25%,41.25% 25%,41.25% 31.25%,39.062% 31.25%,39.062% 37.5%,35.625% 37.5%,35.625% 43.75%,34.062% 43.75%,34.062% 50%,33.125% 50%,33.125% 56.25%,24.688% 56.25%,24.688% 62.5%,21.562% 62.5%,21.562% 68.75%,19.062% 68.75%,19.062% 75%,20% 75%,20% 81.25%,17.5% 81.25%,17.5% 87.5%,22.812% 87.5%,22.812% 94.141%,87.188% 94.141%,87.188% 87.5%,77.188% 87.5%,77.188% 81.25%,73.75% 81.25%,73.75% 75%,74.062% 75%,74.062% 68.75%,74.375% 68.75%,74.375% 62.5%,85.312% 62.5%,85.312% 56.25%,87.5% 56.25%,87.5% 50%,85% 50%,85% 43.75%,78.438% 43.75%,78.438% 37.5%,72.188% 37.5%,72.188% 31.25%,70.938% 31.25%,70.938% 25%,76.875% 25%,76.875% 18.75%,78.125% 18.75%,78.125% 12.5%,75.938% 12.5%,75.938% 6.25%,73.438% 6.25%,73.438% 0%)}
}
/* SHOPPER_CROP_END */
