/* Vanguard portal access — same visual system as the reporting dashboard. */
:root{--night:#0d0e0c;--panel:#151611;--panel-2:#1b1c16;--ivory:#f5efe4;--muted:#a89f90;--gold:#d0a44c;--line:rgba(241,232,211,.14);--serif:"Playfair Display",Georgia,serif;--sans:Manrope,Arial,sans-serif;--mono:"DM Mono",monospace}body{min-width:320px;background:var(--night)!important;color:var(--ivory)!important;font-family:var(--sans)!important}.access-page{position:relative;isolation:isolate;min-height:100vh;padding:28px clamp(18px,5vw,75px);display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 83% 16%,rgba(208,164,76,.15),transparent 21rem),radial-gradient(circle at 4% 105%,rgba(208,164,76,.08),transparent 25rem),var(--night)!important}.access-page:before{content:"";z-index:-1;position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 66px,rgba(241,232,211,.022) 67px 68px)}.brand{position:relative;z-index:1;display:flex;align-items:center;gap:9px;color:var(--ivory)!important;text-decoration:none;font:500 13px var(--mono);letter-spacing:.13em}.brand .brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font:500 19px var(--serif);letter-spacing:0}.access-card{align-self:center;justify-self:center;width:min(1120px,100%);min-height:600px;display:grid;grid-template-columns:1.08fr .92fr;margin:36px 0 25px;border:1px solid var(--line)!important;background:var(--panel)!important;box-shadow:0 30px 80px rgba(0,0,0,.36)!important;overflow:hidden}.access-editorial{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:450px;padding:clamp(38px,6vw,76px);background:linear-gradient(140deg,rgba(208,164,76,.16),rgba(26,27,21,.97) 43%,#11120f);overflow:hidden}.access-editorial:before{content:"V";position:absolute;right:-.15em;bottom:-.27em;color:rgba(241,232,211,.035);font:600 29rem/.7 var(--serif)}.access-editorial:after{content:"";position:absolute;right:-105px;top:-120px;width:300px;height:300px;border:1px solid rgba(208,164,76,.18);border-radius:50%;box-shadow:0 0 0 43px rgba(208,164,76,.035),0 0 0 86px rgba(208,164,76,.02)}.access-editorial>*{position:relative;z-index:1}.eyebrow,.form-overline{margin:0;color:var(--gold)!important;font:500 10px var(--mono)!important;letter-spacing:.15em;text-transform:uppercase}.access-kicker{margin:39px 0 0;color:var(--muted)!important;font:500 10px var(--mono)!important;letter-spacing:.15em;text-transform:uppercase}.access-editorial h1{max-width:580px;margin:15px 0 21px;color:var(--ivory)!important;font:500 clamp(50px,5.5vw,78px)/.9 var(--serif)!important;letter-spacing:-.065em}.access-editorial h1 em{color:var(--gold)!important;font-style:normal}.access-editorial .intro{max-width:440px;margin:0;color:#d0c7b7!important;font-size:13px!important;line-height:1.8}.access-signals{display:flex;flex-wrap:wrap;gap:7px;margin-top:35px}.access-signals span{border:1px solid var(--line);border-radius:999px;padding:8px 10px;color:#ded5c5;font:500 9px var(--mono);letter-spacing:.09em;text-transform:uppercase}.access-quote{max-width:370px;margin:30px 0 0;padding-top:16px;border-top:1px solid var(--line);color:#bdb3a3!important;font:500 15px/1.55 var(--serif)!important}.access-form-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,5vw,62px);background:#171812!important;color:var(--ivory)!important}.access-form-panel h2{margin:13px 0 8px;color:var(--ivory)!important;font:500 clamp(35px,3.3vw,48px)/.95 var(--serif)!important;letter-spacing:-.055em}.form-intro{max-width:335px;margin:0;color:var(--muted)!important;font-size:12px!important;line-height:1.65}.access-actions{margin-top:33px}.email-label{display:block;margin:0 0 9px;color:var(--muted)!important;font:500 9px var(--mono)!important;letter-spacing:.13em;text-transform:uppercase}.password-field{display:grid;gap:9px;margin-top:22px}.email-row{display:block;border-bottom:1px solid var(--line)!important}.email-row input,.password-field input{display:block;width:100%;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:12px 0;color:var(--ivory)!important;outline:0;font:13px var(--sans)!important}.email-row input{border:0!important}.email-row input:focus,.password-field input:focus{border-color:var(--gold)!important}.access-primary{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:31px;padding:15px 17px;border:1px solid var(--gold)!important;background:var(--gold)!important;color:#17140d!important;cursor:pointer;font:800 11px var(--sans)!important;letter-spacing:.04em;transition:background .2s,transform .2s}.access-primary:hover{background:#ebc670!important;transform:translateY(-2px)}.access-primary span{font-size:18px;line-height:.7}.access-primary:disabled{opacity:.64;cursor:wait;transform:none}.access-help{margin:17px 0 0}.access-help button{padding:0;border:0;border-bottom:1px solid var(--muted);background:none;color:var(--ivory)!important;cursor:pointer;font:500 14px var(--serif)!important}.access-divider{display:flex;align-items:center;gap:12px;margin:31px 0 20px;color:var(--muted)!important;font:500 9px var(--mono)!important;letter-spacing:.12em;text-transform:uppercase}.access-divider:before,.access-divider:after{content:"";height:1px;background:var(--line);flex:1}.access-next strong{display:block;color:var(--ivory);font-size:12px}.access-next p,.access-note{margin:6px 0 13px;color:var(--muted)!important;font-size:11px!important;line-height:1.6}.access-secondary{display:inline-flex;align-items:center;gap:9px;color:var(--ivory)!important;text-decoration:none;border-bottom:1px solid var(--ivory);padding:0 0 5px;font:500 18px var(--serif)!important}.access-secondary span{color:var(--gold);font:17px var(--sans)}.access-note{margin:22px 0 0}.privacy-link{margin:0;color:var(--muted)!important;font:9px var(--mono)!important;letter-spacing:.02em}.privacy-link a{color:var(--ivory)!important}.toast{background:#f5efe4!important;color:#17140d!important;box-shadow:0 15px 45px rgba(0,0,0,.32)!important}@media(max-width:780px){.access-page{padding:20px 16px}.access-card{display:block;min-height:0;margin:26px 0 18px}.access-editorial{min-height:385px;padding:43px 29px}.access-editorial h1{font-size:52px!important}.access-form-panel{padding:38px 29px}.access-quote{margin-top:24px}}
