@font-face{font-family:Barlow;src:url('/fonts/barlow-semi-condensed-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('/fonts/barlow-semi-condensed-bold.ttf') format('truetype');font-weight:700;font-display:swap}
*{box-sizing:border-box}html{background:#111418;color:#fff;font-family:Barlow,Arial,sans-serif}body{margin:0;min-height:100svh;padding:clamp(28px,5.8vw,90px) clamp(24px,4.6vw,72px) 60px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 22% 42%,#252b3159 0,transparent 42%),radial-gradient(ellipse at 78% 56%,#20262c4d 0,transparent 38%),linear-gradient(115deg,#0c0f12 0%,#171b1f 52%,#0e1114 100%);position:relative;isolation:isolate}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0008,transparent 28%,transparent 72%,#0007),radial-gradient(ellipse at center,transparent 45%,#0008 100%);opacity:.72}a{color:inherit}::selection{background:#e2001a;color:#fff}
.access-header{display:flex;align-items:center;gap:36px;flex-shrink:0}.access-header img{width:344px;height:auto;max-width:27vw;object-fit:contain}.access-header span{font-size:54px;line-height:1;font-weight:700;border-left:1px solid #b4b6ba;padding-left:36px}
main{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:68px;align-items:center;flex:1;margin:76px 0 78px}.access-statement h1{font-size:clamp(72px,9.4vw,145px);line-height:.88;letter-spacing:-.035em;margin:0;font-weight:700}.access-statement em{font-style:normal;color:#e2001a;font-size:.92em;letter-spacing:-.045em}.access-statement p{border-top:4px solid #e2001a;margin:44px 0 0;padding-top:24px;font-size:40px;line-height:1.15}
.access-panel{background:linear-gradient(145deg,#fff 0%,#fafafa 100%);color:#111;padding:62px 60px;min-width:0;border:1px solid #ffffffd9;box-shadow:0 30px 80px #0008,0 0 0 1px #00000012;animation:arrive .6s cubic-bezier(.16,1,.3,1) both}.access-panel h2{font-size:clamp(34px,3.9vw,60px);font-weight:700;line-height:1.02;letter-spacing:-.035em;margin:0 0 24px;white-space:nowrap}.access-intro{font-size:28px;line-height:1.25;margin:0 0 34px}.access-form{display:grid;gap:14px}.access-label{font-size:19px;font-weight:700;letter-spacing:.015em}.access-input{width:100%;min-height:64px;border:1px solid #8e9399;border-radius:0;background:#fff;color:#111;padding:12px 16px;font:400 24px/1.2 Barlow,Arial,sans-serif;transition:border-color .2s,box-shadow .2s}.access-input[name=code]{font-size:31px;font-weight:700;letter-spacing:.2em;font-variant-numeric:tabular-nums}.access-input:focus{outline:0;border-color:#e2001a;box-shadow:0 0 0 3px #e2001a26}.access-button{display:flex;width:100%;border:0;cursor:pointer;justify-content:center;align-items:center;gap:22px;min-height:70px;margin-top:6px;background:linear-gradient(90deg,#e2001a,#f0001d);color:white;text-decoration:none;font:400 29px/1.1 Barlow,Arial,sans-serif;box-shadow:0 12px 28px #e2001a2e;transition:background .2s,transform .2s,box-shadow .2s}.access-button:hover{background:linear-gradient(90deg,#b60015,#d50019);transform:translateY(-2px);box-shadow:0 16px 34px #e2001a38}.access-button:focus-visible{outline:3px solid #111;outline-offset:5px}.access-button::after{content:'→';font-size:31px;font-weight:400}.access-loading,.access-error,.access-message{font-size:20px;line-height:1.35;margin:0 0 16px}.access-error{border-left:4px solid #e2001a;padding:10px 14px;background:#f4e8ea;color:#810010}.access-message{border-left:4px solid #111;padding-left:14px}.access-method{font-size:22px;line-height:1.35;margin:24px 0 38px}.access-help{border-top:1px solid #b6b8be;padding-top:30px;font-size:22px;line-height:1.35;margin:0}
footer{border-top:1px solid #b4b6ba;display:flex;gap:20px;justify-content:space-between;padding-top:22px;font-size:18px;letter-spacing:.045em;line-height:1.4}
@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1250px){.access-header span{font-size:40px}main{gap:36px}.access-panel{padding:42px 30px}.access-panel h2{font-size:clamp(30px,3.35vw,42px)}.access-intro{font-size:24px}.access-statement p{font-size:30px}.access-method,.access-help{font-size:20px}}
@media(max-width:850px){body{padding:30px 24px}.access-header{gap:22px}.access-header img{width:220px;max-width:38vw}.access-header span{padding-left:22px;font-size:30px}main{grid-template-columns:1fr;gap:42px;margin:58px 0 48px}.access-statement h1{font-size:clamp(46px,13.8vw,90px)}.access-statement p{margin-top:28px;padding-top:18px;font-size:28px}.access-panel{padding:36px;max-width:600px;width:100%}.access-panel h2{font-size:44px;white-space:normal}.access-intro{margin-bottom:26px}.access-button{min-height:64px;font-size:26px}.access-method{margin:22px 0 30px}.access-help{padding-top:24px}footer{font-size:15px;letter-spacing:.025em}}
@media(max-width:440px){.access-header span{font-size:24px}.access-panel{padding:30px 24px}.access-panel h2{font-size:37px}.access-intro{font-size:23px}.access-statement p{font-size:25px}footer{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Match the portal's refractory graphite and slowly reflected warmth. */
html,body{background:#303135}
body::before{content:none}
.ambient-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:repeating-linear-gradient(117deg,#e1d2bb06 0 1px,transparent 1px 5px),radial-gradient(ellipse at 18% 12%,#c8b99e0b,transparent 58%),linear-gradient(120deg,#303135 5%,#3b3432 53%,#303235 100%)}
.ambient-background::before,.ambient-background::after{content:"";position:absolute;inset:-16%;pointer-events:none;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.ambient-background::before{background:radial-gradient(ellipse at 13% 68%,#b8663861,#86453236 21%,transparent 47%),radial-gradient(ellipse at 83% 25%,#ad263530,transparent 43%);animation-name:ambient-warmth;animation-duration:52s}
.ambient-background::after{background:radial-gradient(ellipse at 70% 86%,#dc924535,#9d583b14 25%,transparent 50%),radial-gradient(ellipse at 60% 18%,#e2001a17,transparent 40%);animation-name:ambient-reflection;animation-duration:68s}
footer{flex-wrap:wrap;align-items:center;gap:10px 20px}
.ambient-motion-control{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#d7d5d3;cursor:pointer;font-size:15px;letter-spacing:.02em}
.ambient-motion-control input{width:16px;height:16px;margin:0;accent-color:#e2001a;cursor:pointer}
.ambient-motion-control input:focus-visible{outline:2px solid #f4d4be;outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body:has(#ambient-motion-paused:checked) .ambient-background::before,body:has(#ambient-motion-paused:checked) .ambient-background::after,.ambient-background[data-paused="true"]::before,.ambient-background[data-paused="true"]::after{animation-play-state:paused}
@keyframes ambient-warmth{from{transform:translate(-2%,1%) scale(1.02);opacity:.75}to{transform:translate(3%,-2%) scale(1.07);opacity:1}}
@keyframes ambient-reflection{from{transform:translate(2%,-2%) scale(1.04);opacity:1}to{transform:translate(-3%,3%) scale(1.02);opacity:.62}}
@media(max-width:700px){.ambient-background::before{inset:-12%;animation-duration:64s}.ambient-background::after{display:none;animation:none}}
@media(prefers-reduced-motion:reduce){.ambient-background::before,.ambient-background::after{animation-play-state:paused!important}}
