/* Crisp surfaces and a shared photographic hero treatment. */
html,body,.public-site,.benefits-page,.app-frame,.auth-shell,.auth-hub,.benefits-admin { background:#fff; }
.public-site .mission-panel,.public-site .contact-card { color:#244656; }
.public-site .mission-panel h3,.public-site .contact-card h2 { color:#075e59; }
.public-site .mission-panel p,.public-site .contact-card p { color:#244656; }
.public-site .contact-card .eyebrow,.public-site .contact-card strong { color:#075e59; }
.public-site .contact-card p a { color:#075b91; text-decoration:underline; }
.public-site :is(.info-card,.service-rail a,.mission-panel,.process-grid>article,.operations-grid>article,.contact-card,.download-list,.channel-list,.legacy-list li),.benefits-page .benefit-card {
    background:#fff;
    border:1px solid #e5ebf0;
    box-shadow:0 5px 10px rgba(19,48,65,.06),0 16px 34px rgba(19,48,65,.055);
    border-radius:16px;
}
.public-site .info-card,.public-site .service-rail a,.benefits-page .benefit-card { transition:box-shadow .25s ease,border-color .25s ease; }
@media(hover:hover) {
    .public-site .info-card:hover,.public-site .service-rail a:hover,.benefits-page .benefit-card:hover { border-color:#c8dee8;box-shadow:0 8px 20px rgba(19,48,65,.09),0 20px 40px rgba(19,48,65,.07); }
}
.slider-hero:not(.hero-gov) {
    min-height:clamp(540px,78svh,820px);
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:stretch;
    padding-top:clamp(10rem,26vh,18rem);
    padding-bottom:2.75rem;
    box-sizing:border-box;
    border-radius:0;
}
.slider-hero>.hero-slider-bg::after {
    transform:none;
    background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.08) 25%,rgba(255,255,255,.45) 52%,rgba(255,255,255,.96) 72%,#fff 100%);
}
.slider-hero:not(.hero-gov)>:not(.hero-slider-bg) { flex-shrink:0; }
.slider-hero:not(.hero-gov) h1 { color:#092d43;line-height:1.1;margin:0 0 1rem; }
.slider-hero:not(.hero-gov) :is(.lead,p:not(.eyebrow)) { color:#244656;line-height:1.65; }
.slider-hero:not(.hero-gov)>.eyebrow { align-self:flex-start;background:rgba(255,255,255,.8);border-radius:99px;padding:.5rem .85rem;margin-bottom:1.25rem;color:var(--color-accent); }
.slider-hero:not(.hero-gov)>.button { align-self:flex-start; }
.slider-hero:not(.hero-gov) .actions { margin-top:1.5rem; }
.facility-hero.slider-hero { gap:1.5rem; }
.facility-hero.slider-hero>.facility-hero-panel { align-self:flex-start;max-width:320px;background:#fff; }
.benefits-hero.slider-hero { width:100%;margin:0; }
.benefits-hero.slider-hero>.wrap { width:min(100% - 2rem,1180px); }
.benefits-hero .benefits-summary { gap:24px; }
.benefit-card .benefit-art { display:block;width:calc(100% + 48px);max-width:none;height:156px;object-fit:cover;margin:-24px -24px 20px;border-radius:15px 15px 0 0; }
.benefit-tariffs { margin:18px 0 0;border-top:1px solid #e1e9ed;padding-top:14px;display:grid;gap:12px; }
.benefit-tariffs>div { display:grid;gap:4px; }
.benefit-tariffs dt { color:#526d7b;font-size:.75rem;font-weight:600; }
.benefit-tariffs dd { margin:0;color:#076f61;font-size:1rem;font-weight:700;line-height:1.5; }
.benefit-tariffs small { font-size:.75rem;font-weight:400;color:#526d7b; }
.reveal-pending { opacity:0;transform:translateY(22px); }
.reveal-visible { opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms); }
@media(max-width:720px) {
    .slider-hero:not(.hero-gov) { min-height:560px;padding-top:12rem;padding-bottom:2rem; }
    .role-auth-card.slider-hero { padding-top:10rem; }
    .benefit-card .benefit-art { height:140px; }
}
@media(prefers-reduced-motion:reduce) {
    .reveal-pending,.reveal-visible { opacity:1;transform:none;transition:none; }
    .public-site .info-card,.public-site .service-rail a,.benefits-page .benefit-card { transition:none; }
}

/* Authentication is a moment of trust: a quiet night-sky field carries the page,
   while the card remains deliberately bright, legible and tactile. */
body.auth-surface{background:#fff}body.auth-surface::before{display:none}body.auth-surface .auth-shell{position:relative;isolation:isolate;min-height:calc(100svh - 88px);padding:clamp(1.5rem,4vw,4.5rem);overflow:hidden;background:linear-gradient(115deg,rgba(3,15,35,.82),rgba(7,42,70,.40) 50%,rgba(4,16,40,.80)),url('../img/auth/starfield-login-v1.png') center/cover no-repeat}body.auth-surface .auth-shell::before,body.auth-surface .auth-shell::after{content:"";position:absolute;z-index:-1;pointer-events:none}body.auth-surface .auth-shell::before{inset:0;background:radial-gradient(circle at 18% 18%,rgba(82,202,193,.22),transparent 32%),radial-gradient(circle at 84% 78%,rgba(26,99,170,.24),transparent 30%)}body.auth-surface .auth-shell::after{top:1.5rem;bottom:1.5rem;left:clamp(1.5rem,7vw,6.5rem);right:clamp(1.5rem,7vw,6.5rem);border:1px solid rgba(193,239,255,.22);border-radius:clamp(24px,3vw,44px);box-shadow:inset 0 0 90px rgba(115,213,225,.06),0 0 0 1px rgba(4,19,45,.12)}body.auth-surface .auth-card{position:relative;width:min(100%,548px);padding:clamp(1.6rem,4vw,2.8rem);border:1px solid rgba(224,248,255,.66);border-radius:24px;background:rgba(244,250,255,.80);box-shadow:0 32px 76px rgba(0,5,20,.50),0 8px 20px rgba(5,30,53,.22),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(20px) saturate(115%);-webkit-backdrop-filter:blur(20px) saturate(115%)}body.auth-surface .role-auth-card.slider-hero{min-height:0;justify-content:initial;padding-top:clamp(1.6rem,4vw,2.8rem);padding-bottom:clamp(1.6rem,4vw,2.8rem)}body.auth-surface .role-auth-card .hero-slider-bg{display:none}body.auth-surface .auth-card::before{content:"";display:block;width:42px;height:4px;margin-bottom:1.2rem;border-radius:99px;background:linear-gradient(90deg,#0d9d87,#1b82ba);box-shadow:0 4px 12px rgba(16,142,149,.28)}body.auth-surface .auth-card h1{color:#082c48;font-size:clamp(2rem,4vw,3.15rem);line-height:1.02}body.auth-surface .auth-card .lead{color:#416071}body.auth-surface .auth-card .eyebrow{color:#087867;letter-spacing:.11em}body.auth-surface .auth-card input{border-color:#c6dce5;background:rgba(255,255,255,.92);box-shadow:inset 0 1px 2px rgba(12,54,76,.04)}body.auth-surface .auth-card input:focus{border-color:#168f91;outline:3px solid rgba(22,143,145,.16);outline-offset:0}body.auth-surface .auth-card .button.primary{min-height:52px;border-radius:13px;background:linear-gradient(135deg,#087b70,#0872ad);box-shadow:0 14px 26px rgba(5,105,128,.25)}body.auth-surface .auth-card .button.primary:hover{transform:translateY(-1px);box-shadow:0 18px 30px rgba(5,105,128,.31)}body.auth-surface .auth-card .role-chip-list,body.auth-surface .auth-card .status-card{border:1px solid rgba(15,108,125,.12);background:rgba(237,249,250,.74)}@media(max-width:640px){body.auth-surface .auth-shell{min-height:calc(100svh - 76px);padding:1rem;align-items:center;background-position:58% center}body.auth-surface .auth-shell::after{top:.7rem;bottom:.7rem;left:.7rem;right:.7rem;border-radius:20px;border-color:rgba(193,239,255,.16)}body.auth-surface .auth-card{width:100%;padding:1.45rem 1.2rem;border-radius:20px;background:rgba(244,250,255,.80)}body.auth-surface .auth-card h1{font-size:clamp(1.8rem,9vw,2.35rem)}}@media(prefers-reduced-motion:reduce){body.auth-surface .auth-card .button.primary{transition:none}}

body.registration-surface .register-shell{width:min(100% - 2rem,1080px);margin:clamp(-2.4rem,-3vw,-1.25rem) auto clamp(3rem,6vw,5rem);padding:clamp(1rem,3vw,2.25rem);border-radius:28px;overflow:hidden;background:linear-gradient(120deg,rgba(3,18,40,.88),rgba(6,50,71,.50),rgba(4,18,45,.86)),url('../img/auth/starfield-login-v1.png') center/cover no-repeat;box-shadow:0 28px 64px rgba(7,29,54,.24)}body.registration-surface .register-form-card{position:relative;margin:auto;max-width:980px;border:1px solid rgba(224,248,255,.65);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(242,250,255,.94));box-shadow:0 24px 54px rgba(0,7,24,.38)}body.registration-surface .register-form-card fieldset{border-color:rgba(22,120,137,.16);background:rgba(255,255,255,.64)}body.registration-surface .register-form-card legend{color:#087867}body.registration-surface .register-form-card input:focus,body.registration-surface .register-form-card select:focus,body.registration-surface .register-form-card textarea:focus{border-color:#168f91;outline:3px solid rgba(22,143,145,.16);outline-offset:0}@media(max-width:640px){body.registration-surface .register-shell{width:calc(100% - 1rem);padding:.65rem;border-radius:20px}body.registration-surface .register-form-card{border-radius:15px}}
