/* Hampa portal: scoped dark entry surfaces; permissions remain server-controlled. */
.p-icon{inline-size:22px;block-size:22px;flex:none;vertical-align:middle}
.portal-page{--p-bg:#091c26;--p-surface:#102b36;--p-ink:#f3f1ea;--p-muted:#b7c9c8;--p-line:#47616c;--p-green:#235846;background:var(--p-bg);color:var(--p-ink)}
.portal-page .topbar{border-bottom:1px solid #ffffff1a;padding-block:14px;background:#091c26}
.portal-page .footer{display:none}
.portal-main{max-inline-size:1240px;margin-inline:auto;padding:clamp(20px,4vw,56px) clamp(16px,3vw,36px) 20px}
.portal-overline{display:flex;align-items:center;gap:10px;color:#aebfbb;font-size:11px;letter-spacing:1.8px;font-weight:650}
.portal-overline i{inline-size:6px;block-size:6px;background:#b49a62;box-shadow:0 0 0 5px #b49a6218;border-radius:50%}
.portal-login{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(28px,6vw,84px);align-items:center}
.portal-intro{position:relative;isolation:isolate;padding:44px 32px;min-block-size:590px;display:flex;flex-direction:column;justify-content:center;border-radius:18px;background:linear-gradient(180deg,#091c2670,#091c26e8),linear-gradient(to left,#091c26da,#091c261a),url('brand/journey-services-20261008.webp') 28% center/cover}
.portal-intro h1{font-size:clamp(38px,4.2vw,62px);line-height:1.42;letter-spacing:-1.4px;margin:25px 0 18px}
.portal-intro h1 span{color:#d3dfd7}
.portal-intro>p{max-inline-size:37ch;color:#c4d0cd;font-size:16px;line-height:1.95}
.portal-assurance{display:flex;gap:15px;align-items:flex-start;border-block-start:1px solid #ffffff32;padding-block-start:24px;margin-block-start:32px}
.portal-assurance>.p-icon{color:#9cc3ac;inline-size:34px;block-size:34px}
.portal-assurance strong{font-size:14px}.portal-assurance p{font-size:12px;color:#b7c9c8;line-height:1.9;margin:5px 0 0}
.portal-about{display:flex;align-items:center;gap:12px;min-height:44px;margin-block-start:22px;color:#d4e3d8;font-size:13px}
.portal-image-note{position:absolute;inset-inline-start:32px;inset-block-end:16px;color:#c1ccca;font-size:10px}
.portal-form-card{padding:clamp(22px,3vw,38px);border:1px solid var(--p-line);border-radius:18px;background:linear-gradient(145deg,#12313e,#0b222c);box-shadow:0 18px 60px #00000026;min-inline-size:0}
.portal-form-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.portal-form-head>.p-icon{inline-size:30px;block-size:30px;color:#99bdaa}.portal-form-head h2{font-size:27px;margin:10px 0 4px;line-height:1.5}.portal-form-head .portal-overline{letter-spacing:0;font-size:12px}
.portal-form-lead{font-size:13px;color:var(--p-muted);margin-block:0 24px;line-height:1.9}
.portal-form{display:flex;flex-direction:column;gap:9px}.portal-form>label,.portal-form-pair label,.portal-optional label{font-size:13px;font-weight:650;margin:4px 0 0;display:block}.portal-form>label:not(:first-of-type){margin-block-start:8px}
.portal-form input:not([type=checkbox]):not([type=hidden]),.portal-form select{background:#091c2680;border:1px solid #607985;min-block-size:49px;border-radius:9px;padding:10px 13px;color:var(--p-ink);font:inherit;font-size:16px;inline-size:100%;min-inline-size:0;box-sizing:border-box}
.portal-form option{background:#102b36;color:#f3f1ea}
.portal-form input::placeholder{color:#9cb0b7;font-size:14px}
.portal-field{display:flex;align-items:center;gap:9px;min-inline-size:0;border:1px solid #607985;border-radius:9px;padding-inline:12px;background:#091c2680}
.portal-field>.p-icon{color:#99b2bb;inline-size:20px}.portal-form .portal-field input:not([type=checkbox]):not([type=hidden]){border:0;background:none;padding-inline:0;box-shadow:none}
.portal-field:focus-within{outline:2px solid #b49a62;outline-offset:3px}.portal-field input:focus{outline:none}
.portal-reveal{display:inline-flex;align-items:center;justify-content:center;background:none;color:#b7c9c8;border:0;padding:0;inline-size:44px;min-block-size:44px;border-radius:7px;cursor:pointer;flex:none}.portal-reveal:hover{background:#ffffff12;color:white}
.portal-recovery{font-size:12px;color:#b7dec5;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px}
.portal-primary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-block-size:50px;padding:12px 20px;border:1px solid #729d81;border-radius:10px;background:var(--p-green,#235846);color:#f3f1ea;font:inherit;font-size:15px;font-weight:750;line-height:1.6;white-space:normal;cursor:pointer;text-align:start;inline-size:100%}
.portal-primary:hover{background:#2b6a52;color:white;border-color:#b3ceb9}
.portal-primary .p-icon{inline-size:22px}.portal-page a:focus-visible,.portal-page button:focus-visible,.portal-form input:focus-visible,.portal-form select:focus-visible,.portal-page summary:focus-visible{outline:3px solid #d6c18f;outline-offset:4px}
.portal-divider{display:flex;align-items:center;gap:12px;margin-block:24px 16px;font-size:11px;color:#a7bec6}.portal-divider:before,.portal-divider:after{content:"";flex:1;border-top:1px solid #42606d}
.portal-providers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-providers a{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #507582;min-height:48px;border-radius:9px;font-size:13px;color:#e8f1ec;background:#092330}.portal-providers a:hover{background:#173a48}.portal-providers a:last-child>.p-icon{color:#8bcced}.portal-providers a:first-child>.p-icon{color:#93d7bd}
.portal-provider-note{font-size:11px;color:#a6bdc0;line-height:1.9;margin-block:12px 0}
.portal-switch{margin-block-start:22px;padding-block-start:18px;border-top:1px solid #3f5e6a;font-size:13px;display:grid;gap:6px}.portal-switch span{color:#b6c8c8}.portal-switch a{display:flex;align-items:center;justify-content:space-between;color:#b2d7bf;min-height:40px}
.portal-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 24px;margin-block-start:25px}.portal-legal a{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#b0c5c8;min-height:44px}.portal-legal .p-icon{width:17px;height:17px}
.portal-alert{border:1px solid #d69a82;background:#412d2f;color:#ffe9df;padding:13px 16px;border-radius:10px;margin-bottom:18px;font-size:13px;line-height:1.8}
.portal-register-hero{padding-block:14px 32px;max-width:830px}.portal-register-hero h1{font-size:clamp(27px,3.2vw,44px);line-height:1.5;margin-block:15px 10px}.portal-register-hero p{color:#b9cbc8;line-height:1.9;font-size:15px;margin:0}
.portal-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.portal-choice{min-inline-size:0;position:relative;isolation:isolate;border-radius:17px;overflow:hidden;border:1px solid #59717b;min-height:385px;display:flex;align-items:flex-end;background:#0b2531}
.portal-choice img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;object-position:25% center;z-index:-2}.portal-choice:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#091c2610,#091c26e8 65%,#091c26);z-index:-1}.portal-choice.network:after{background:linear-gradient(180deg,#102d2110,#102d21e8 65%,#102d21)}
.portal-choice-copy{padding:32px;inline-size:100%;padding-block-start:100px}.portal-choice-copy h2{font-size:28px;margin-block:12px 8px;line-height:1.5}.portal-choice-copy p{font-size:14px;line-height:1.9;color:#d0ddda;margin-block:0 24px;max-width:38ch}.portal-choice .portal-primary{background:#14352fb8;border-color:#92afa1}
.portal-account-rule{display:flex;align-items:center;gap:12px;color:#becdc7;font-size:12px;margin-block:22px;line-height:1.9}.portal-account-rule .p-icon{color:#b49a62}
.portal-entry-alt{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #344d59;padding-block-start:20px}.portal-entry-alt p{font-size:13px;color:#a9bdc2}.portal-entry-alt p a{color:#c6dec9;margin-inline-start:8px}.portal-entry-alt .portal-providers{min-width:min(100%,360px)}
.portal-registration{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);align-items:start}
.portal-route-brief{padding:28px 10px}.portal-selected{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-selected .portal-overline{letter-spacing:0}.portal-selected a{font-size:12px;color:#c2d5c5;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.portal-route-brief h2{font-size:30px;line-height:1.6;margin-block:10px}.portal-route-brief>p{font-size:14px;color:#b9cbc8;line-height:1.9}
.portal-route-steps{padding:0;list-style:none;margin:28px 0;display:grid;gap:0}.portal-route-steps li{position:relative;display:flex;align-items:center;gap:15px;font-size:13px;min-height:60px;line-height:1.8}.portal-route-steps li>span{display:grid;place-items:center;flex:none;inline-size:34px;block-size:34px;border:1px solid #72967d;border-radius:50%;background:#15362e;color:#cee3d0}.portal-route-steps li:not(:last-child):after{content:"";position:absolute;inset-inline-start:16px;inset-block-start:48px;block-size:24px;border-inline-start:1px solid #4b655a}
.portal-route-brief .portal-path-note{border-block-start:1px solid #3c555c;padding-block-start:20px;font-size:12px}
.portal-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-form-pair label{margin-bottom:8px}.portal-form small{font-size:11px;line-height:1.8;color:#abbfc3}.portal-optional{border-block:1px solid #3b5560;padding-block:9px;margin-block:8px}.portal-optional summary{font-size:13px;cursor:pointer;min-height:32px;line-height:2}.portal-optional summary span{color:#abc0c0;font-size:11px;margin-inline-start:8px}.portal-optional input{margin-block:8px}
.portal-form .portal-consent{display:flex;flex-direction:row;min-height:44px;gap:10px;align-items:flex-start;font-size:12px;line-height:2;font-weight:400;margin-block:7px 14px}.portal-consent input{margin-top:6px;width:18px;height:18px;flex:none;accent-color:#6eac87}.portal-consent a{text-decoration:underline;color:#d8e5db}
.portal-return{font-size:12px;color:#b9cbc8;margin-block:20px 0}.portal-return a{color:#b6d8be;margin-inline-start:10px}
.portal-recovery-page{max-width:660px}.portal-recovery-page h1{font-size:30px}.portal-recovery-page p{color:#c2d2cd;font-size:14px;line-height:2}
@media(max-width:900px){.portal-login{gap:24px;grid-template-columns:1fr 1fr}.portal-intro{min-height:620px;padding:30px 20px}.portal-intro h1{font-size:39px}.portal-choice-copy{padding:25px}.portal-choice-copy h2{font-size:25px}.portal-registration{gap:25px;grid-template-columns:1fr 1.2fr}}
@media(max-width:680px){.portal-main{padding:24px 16px 16px}.portal-login,.portal-registration{grid-template-columns:1fr;gap:20px}.portal-intro{min-height:0;padding:24px 20px 26px;background-position:25% 32%}.portal-intro h1{font-size:31px;margin-block:14px 8px;letter-spacing:-.7px}.portal-intro h1 br{display:none}.portal-intro>p{font-size:13px;max-width:50ch;margin-bottom:0}.portal-assurance{margin-top:18px;padding-top:16px}.portal-assurance strong{font-size:13px}.portal-assurance p{font-size:11px}.portal-about{margin-top:8px}.portal-image-note{display:none}.portal-form-card{padding:23px 20px}.portal-form-head h2{font-size:25px}.portal-form-lead{font-size:12px;margin-bottom:18px}.portal-choice-grid{grid-template-columns:1fr;gap:16px}.portal-choice{min-height:270px}.portal-choice-copy{padding:24px;padding-block-start:75px}.portal-choice-copy h2{font-size:26px}.portal-register-hero{padding-block:0 24px}.portal-register-hero h1{font-size:28px}.portal-register-hero p{font-size:13px}.portal-overline{font-size:10px;letter-spacing:1px}.portal-entry-alt{flex-direction:column;align-items:stretch}.portal-route-brief{padding:0 7px}.portal-route-brief h2{font-size:25px;margin:3px 0}.portal-route-brief>p{font-size:12px}.portal-route-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:18px}.portal-route-steps li{font-size:11px;align-items:flex-start;min-height:0;gap:8px}.portal-route-steps li>span{width:26px;height:26px;font-size:11px}.portal-route-steps li:after{display:none}.portal-route-brief .portal-path-note{font-size:11px;padding-top:13px;margin-bottom:0}.portal-legal{gap:0 15px;margin-top:18px}}
@media(max-width:380px){.portal-form-pair{grid-template-columns:1fr}.portal-providers{gap:8px}.portal-providers a{font-size:12px;gap:6px}.portal-form-card{padding:22px 16px}.portal-main{padding-inline:12px}.portal-choice-copy{padding:22px 18px}.portal-primary{padding-inline:15px;font-size:14px}.portal-legal a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.portal-page *{scroll-behavior:auto;transition:none}}


@media(max-width:680px){.portal-login .portal-intro{padding-block:21px 14px}.portal-login .portal-intro>p{margin-top:6px}.portal-login .portal-assurance{margin-top:12px;padding-top:12px;align-items:center}.portal-login .portal-assurance p{display:none}.portal-login .portal-about{margin-top:2px}.portal-login .portal-form-lead{margin-bottom:12px}.portal-login .portal-form>label{margin-top:0}.portal-login .portal-form{gap:7px}.portal-login .portal-divider{margin-block:18px 13px}.portal-login .portal-switch{margin-top:16px;padding-top:13px}}

.portal-route-overview{margin-top:20px;border-top:1px solid #3c555c}.portal-route-overview summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;min-height:48px;color:#c4d9cb;font-size:13px;list-style:none}.portal-route-overview summary::-webkit-details-marker{display:none}.portal-route-overview[open] summary span{transform:rotate(45deg)}.portal-optional summary{min-height:44px;display:flex;align-items:center;gap:12px}.portal-optional summary:after{content:"＋";margin-inline-start:auto;font-size:18px}.portal-optional[open] summary:after{content:"−"}@media(max-width:680px){.portal-route-overview{margin-top:12px}.portal-registration{gap:18px}}
