.portal-hero { position: relative; isolation: isolate; overflow: hidden; background: #071828; padding-bottom: 7.5rem; min-height: clamp(560px, 36vw, 680px); display: flex; align-items: center; }
.portal-hero-images, .portal-hero-images::after, .portal-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.portal-hero-images { z-index: -1; pointer-events: none; }
.portal-hero-images::after { content: ''; background: linear-gradient(90deg, rgba(7,24,40,.87), rgba(7,24,40,.35) 50%, rgba(7,24,40,.04) 75%); }
.portal-hero-image { object-fit: cover; object-position: center; opacity: 0; transition: opacity 900ms ease; }
.portal-hero-image.is-active { opacity: 1; }
.portal-hero-controls { position: absolute; bottom: 2.75rem; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: .25rem; padding: .25rem .5rem; border: 1px solid #ffffff40; border-radius: 999px; background: #071828d9; }
.portal-hero-controls[hidden] { display: none; }
.portal-hero-controls button { min-width: 44px; min-height: 44px; border-radius: 999px; color: white; font-size: 1.2rem; cursor: pointer; }
.portal-hero-controls button:hover { background: #ffffff20; }
.portal-hero-controls button:focus-visible { outline: 2px solid #d5b47a; outline-offset: 2px; }
.portal-hero-controls [data-pause] { font-size: .75rem; padding: 0 .75rem; }
.portal-hero-dots { display: flex; }
.portal-hero-dots button { display: grid; place-items: center; min-width: 32px; }
.portal-hero-dots span { display: block; width: 8px; height: 8px; border-radius: 999px; background: #ffffff80; transition: width .2s; }
.portal-hero-dots [aria-current="true"] span { width: 22px; background: #d5b47a; }
.portal-slide-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 1023px) {
    .portal-hero-image { object-position: 65% center; }
    .portal-hero-images::after { background: linear-gradient(180deg, #071828ad, #071828e6); }
    .portal-hero h1 { overflow-wrap: break-word; }
}
@media (prefers-reduced-motion: reduce) {
    .portal-hero-image, .portal-hero-dots span { transition: none; }
}

.portal-hero-content { width: 100%; max-width: 1280px; margin: 0 auto; }
.portal-hero-copy { max-width: 660px; width: 56%; }
.portal-status { padding-top: 1.5rem; }
.portal-status-inner { display: grid; grid-template-columns: .9fr 1.2fr; align-items: center; gap: 2rem; padding: 1.5rem 1.75rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; box-shadow: 0 8px 28px #071c3108; }
.portal-status-intro { display: flex; align-items: center; gap: 1rem; }
.portal-status-icon { display: grid; place-items: center; width: 48px; height: 48px; flex-shrink: 0; border-radius: 14px; background: #b49a611a; color: #997b40; font-size: 20px; }
.portal-status-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .65rem .75rem; }
.portal-status-submit { min-height: 46px; padding: .75rem 1.25rem; border-radius: 12px; background: #071c31; color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: .75rem; cursor: pointer; }
.portal-status-submit:hover { background: #143954; }
.portal-status-submit:focus-visible { outline: 2px solid #b49a61; outline-offset: 3px; }
.portal-status-note { grid-column: 1 / -1; color: #64748b; font-size: 11px; line-height: 1.6; }
.portal-status-note i { color: #059669; margin-right: .3rem; }
@media (max-width: 1023px) {
    .portal-hero-copy { width: 75%; }
    .portal-status-inner { grid-template-columns: 1fr; gap: 1.25rem; }
}
@media (max-width: 639px) {
    .portal-hero { min-height: 600px; }
    .portal-hero-copy { width: 100%; }
    .portal-status-inner { padding: 1.25rem; }
    .portal-status-form { grid-template-columns: minmax(0, 1fr); }
    .portal-status-intro { align-items: flex-start; gap: .75rem; }
    .portal-status-icon { width: 40px; height: 40px; font-size: 17px; }
}
