:root {
  --black: #000000;
  --panel: #0b1113;
  --white: #ffffff;
  --ked-blue: #009bdf;
  --ked-green: #8cc63f;
  --teams-blue: #85aabe;
  --gray: #aab2b4;
  --line: rgba(255, 255, 255, 0.17);
  --font-display: "Poppins", sans-serif;
  --font-body: "Sora", sans-serif;
  --font-accent: "Barlow", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--black); }
body { margin: 0; min-width: 320px; background: var(--black); color: var(--white); font-family: var(--font-body); }
.access-shell { position: relative; min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); overflow: hidden; }
.access-shell::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 66% 24%, rgba(0, 155, 223, .24), transparent 28%), radial-gradient(circle at 92% 76%, rgba(140, 198, 63, .18), transparent 23%), linear-gradient(130deg, #000 0%, #000 51%, #061216 100%); pointer-events: none; }
.access-panel, .access-side { position: relative; z-index: 1; }
.access-panel { display: flex; flex-direction: column; justify-content: center; max-width: 690px; padding: clamp(2rem, 9vw, 9rem); }
.access-lockup { display: flex; align-items: center; gap: 1rem; margin-bottom: clamp(3.25rem, 8vh, 6rem); }
.access-client-logo { width: min(200px, 44vw); height: auto; }
.access-provider { min-height: 42px; display: flex; align-items: center; gap: .7rem; padding-left: 1rem; border-left: 1px solid rgba(140, 198, 63, .65); }
.access-provider span { max-width: 60px; color: var(--gray); font-family: var(--font-accent); font-size: .55rem; font-weight: 700; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; }
.access-provider img { width: 74px; height: auto; }
.access-kicker { margin: 0 0 .95rem; color: var(--ked-blue); font-family: var(--font-accent); font-size: .67rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
h1 { max-width: 640px; margin: 0 0 1.4rem; font-family: var(--font-display); font-size: clamp(3rem, 6.4vw, 6.5rem); letter-spacing: -.07em; line-height: .97; }
h1 em { color: var(--ked-blue); font-style: normal; }
.access-copy { max-width: 560px; margin: 0 0 2.25rem; color: #c4cbcd; font-size: 1rem; font-weight: 300; line-height: 1.82; }
.access-form { width: min(100%, 470px); padding: 1.45rem; border: 1px solid var(--line); background: rgba(10, 16, 18, .84); box-shadow: 18px 18px 0 rgba(0, 155, 223, .08); }
.access-form label { display: block; margin-bottom: .6rem; color: var(--white); font-family: var(--font-accent); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.access-form input { width: 100%; min-height: 51px; padding: .75rem .9rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: 0; background: #070b0c; color: var(--white); font: inherit; outline: none; }
.access-form input:focus { border-color: var(--ked-blue); box-shadow: 0 0 0 3px rgba(0, 155, 223, .24); }
.access-form button { width: 100%; min-height: 51px; margin-top: 1rem; border: 0; border-radius: 0; background: var(--ked-blue); color: var(--black); cursor: pointer; font-family: var(--font-accent); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: background .2s, transform .2s; }
.access-form button:hover { background: var(--ked-green); transform: translateY(-2px); }
.access-error { min-height: 1.25rem; margin: .7rem 0 0; color: #ffbdad; font-size: .74rem; line-height: 1.5; }
.access-footnote { max-width: 460px; margin: 1.35rem 0 0; color: var(--gray); font-size: .7rem; line-height: 1.65; }
.access-side { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(2rem, 6vw, 7rem); border-left: 1px solid rgba(255,255,255,.1); }
.access-side > p { margin: 0 0 1.25rem; color: var(--ked-green); font-family: var(--font-accent); font-size: .65rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.access-side ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.access-side li { display: grid; grid-template-columns: 45px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.access-side li span { color: var(--ked-blue); font-family: var(--font-accent); font-size: .64rem; font-weight: 700; letter-spacing: .14em; }
.access-side li b { color: var(--white); font-size: 1rem; letter-spacing: -.03em; line-height: 1.25; }
@media (max-width: 760px) {
  .access-shell { display: block; min-height: 100svh; }
  .access-panel { min-height: 100svh; padding: 1.5rem 1.25rem 3rem; }
  .access-lockup { margin-bottom: clamp(4rem, 13vh, 7rem); }
  .access-client-logo { width: 142px; }
  .access-provider { min-height: 30px; padding-left: .65rem; }
  .access-provider span { display: none; }
  .access-provider img { width: 52px; }
  .access-side { display: none; }
}
