/* Client entry pages share the public site's coastal palette and typography. */
:root{--navy:#071a35;--blue:#155fc8;--sky:#a8dcff;--gold:#f1c45d;--paper:#f5f8fc;--ink:#10233d}
body{background:var(--navy)}
.access-page{padding:28px 6% 0;min-height:100vh;background:radial-gradient(ellipse at 22% 18%,#205ca5 0,#0d3470 28%,#071a35 70%);color:var(--paper);overflow:hidden}
.access-page:before{display:none}.portal-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1320px;margin:auto;padding-bottom:24px;border-bottom:1px solid #a8dcff30}
.access-brand{margin:0}.access-brand .brand-logo{width:210px;max-width:48vw;padding:8px 12px;border:1px solid #f1c45d80;border-radius:6px;background:#06152dcc}
.portal-home{color:#d5e9fb;font:700 11px monospace;letter-spacing:.08em;text-decoration:none;white-space:nowrap}
.access-layout{max-width:1160px;grid-template-columns:1.05fr 1fr;gap:9%;margin:80px auto 90px;align-items:center}
.access-intro .kicker{color:var(--gold);font-size:11px}.access-intro h1{font-size:clamp(3.7rem,6.7vw,6.8rem);line-height:.98;letter-spacing:-.065em;margin:22px 0 28px}.access-intro h1 em{color:var(--sky)}
.access-intro>p:not(.kicker){color:#d5e9fb;font-size:18px;line-height:1.7}.access-steps{margin-top:36px;gap:12px}.access-step{border-color:#a8dcff35}.access-step b{color:var(--gold)}.access-step strong{color:#f5f8fc}.access-step span{color:#bdd5ef;line-height:1.55}
.access-card{width:100%;border:1px solid #acc8e1;border-top:4px solid var(--gold);padding:36px;background:var(--paper);box-shadow:12px 12px 0 var(--gold);border-radius:3px}
.access-card .kicker{color:#72501a;margin-bottom:18px}.access-card h2{color:#0c326b;font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.05;margin:0 0 14px}.access-card>p:not(.kicker){color:#425e7b;font-size:16px;line-height:1.6}
.portal-tabs{display:flex;gap:26px;border-bottom:1px solid #bdd0e1;margin:0 0 28px}.portal-tabs a{font:700 12px monospace;letter-spacing:.04em;padding:0 0 14px;color:#506a84;text-decoration:none}.portal-tabs a[aria-current=page]{color:#123c70;border-bottom:3px solid #155fc8;margin-bottom:-1px}
.access-card .access-form{margin-top:24px;gap:20px}.access-card .access-form label{color:#24476b;font-size:11px;gap:9px}.access-card .access-form input{border:1px solid #a6bdd2;border-radius:3px;background:#fff;color:#10233d;padding:14px 13px;min-height:48px}.access-card .access-form input:focus{outline:3px solid #155fc840;outline-offset:2px;border-color:#155fc8}
.password-field{position:relative}.password-field input{padding-right:70px!important}.password-toggle{position:absolute;right:6px;top:6px;height:36px;padding:0 10px;background:transparent;color:#15549b;border:0;font:700 12px Arial;cursor:pointer}.input-help{display:block;margin:8px 0 0;color:#536c86;font:13px/1.5 Arial;text-transform:none;letter-spacing:0}
.access-card .access-form .button{background:var(--gold);border:1px solid #d7a635;color:#08203d;padding:17px 12px;font-size:12px;border-radius:3px;min-height:50px;box-shadow:0 4px 10px #071a3510}.access-card .check{color:#425e7b!important;line-height:1.5}.access-card .check input{min-height:18px!important;width:18px!important;accent-color:#155fc8}
.access-note{color:#245840!important;line-height:1.5;overflow-wrap:anywhere}.access-note:empty{display:none}.access-note.error{color:#a32c29!important}.access-back{color:#164d89;line-height:1.6;font-size:11px;margin-top:16px}.access-card .access-fine{color:#536c86;font-size:12px;margin:24px 0 0;padding-top:22px;border-top:1px solid #c8d8e7}.request-received{padding:16px;border:1px solid #9fc6af;background:#eaf5ee;color:#24513a;font-size:14px;line-height:1.6;margin-bottom:24px}.request-received[hidden]{display:none}
.portal-footer{max-width:1160px;margin:auto;display:flex;justify-content:space-between;gap:18px;border-top:1px solid #a8dcff30;padding:24px 0;color:#b7d0eb;font-size:12px}.portal-footer a{color:var(--gold)}.access-page>.gcv-waves{position:relative;margin:0 -7%;width:114%;height:100px;opacity:.75;border-radius:0}
@media(max-width:800px){.access-page{padding:22px 7% 0}.portal-header{gap:14px;padding-bottom:22px}.portal-home{font-size:10px}.access-layout{display:flex;flex-direction:column;align-items:stretch;margin:48px auto 60px;gap:32px}.access-intro h1{font-size:clamp(3.5rem,12vw,5.2rem)}.access-intro>p:not(.kicker){font-size:16px}.login-page .access-steps{display:none}.access-card{margin:0;padding:28px 24px;box-shadow:7px 7px 0 var(--gold)}.portal-footer{flex-direction:column;gap:8px}.access-card h2{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
