.portal { display: none; }
.portal-mode .portal { display: block; }
.portal-mode .hero, .portal-mode .steps, .portal-mode #briefingForm,
.portal-mode .mission-context, .portal-mode .maintenance-outage,
.portal-mode .top-actions { display: none !important; }
.portal-mode { background: radial-gradient(ellipse at 12% 15%, #10385377, transparent 48%), radial-gradient(ellipse at 88% 62%, #09383a66, transparent 45%), #060e17; }
.portal-mode .app { width: min(1340px, 100%); padding-bottom: 24px; }
.portal-mode .topbar { height: 96px; border-bottom-color: #ffffff12; }
.portal-mode .briefops-product-word, .portal-mode .briefops-brand-by { display: none; }
.portal-mode .briefops-home { display: none; }
.portal-mode .delivrone-systems-brand { width: 185px; height: 62px; filter: brightness(1.6); }
.portal-mode .topbar::after { content: 'HUB WEB'; grid-column: 3; grid-row: 1; justify-self: end; font-size: 10px; color: #7e9bb2; letter-spacing: .2em; }
.portal-heading { padding: 58px 0 38px; position: relative; }
.portal-kicker { display: flex; align-items: center; gap: 10px; color: #9fbdd1; text-transform: uppercase; font-size: 10px; letter-spacing: .19em; font-weight: 700; }
.portal-kicker span { width: 6px; height: 6px; background: #39caff; border-radius: 50%; box-shadow: 0 0 18px #39caff; }
.portal-heading h1 { font-size: clamp(48px, 6.5vw, 84px); line-height: .98; letter-spacing: -.065em; font-weight: 750; margin: 24px 0; }
.portal-heading h1 em { font-style: normal; color: #58c6f8; }
.portal-heading > p:last-child { position: absolute; right: 0; bottom: 45px; color: #94aaba; line-height: 1.8; font-size: 15px; margin: 0; }
.portal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.portal-card { position: relative; overflow: hidden; color: #f1f8ff; text-decoration: none; border: 1px solid #27485d; border-radius: 24px; background: linear-gradient(135deg, #102c40, #0a1828 75%); padding: 25px 30px 0; transition: transform .25s, border-color .25s, box-shadow .25s; }
.portal-rally { background: linear-gradient(135deg, #0c3039, #091b26 75%); border-color: #24525b; }
.portal-card::before { content: ''; position: absolute; width: 330px; height: 330px; right: -170px; top: -150px; border: 1px solid #6ecbff14; border-radius: 50%; box-shadow: 0 0 0 45px #6ecbff05, 0 0 0 90px #6ecbff04; pointer-events: none; }
.portal-card:hover { transform: translateY(-5px); border-color: #4dbef0; box-shadow: 0 20px 60px #0005; }
.portal-card:focus-visible { outline: 3px solid #7edcff; outline-offset: 5px; }
.portal-card-top { display: flex; justify-content: space-between; align-items: center; color: #84afc9; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.portal-arrow { border: 1px solid #8fc8e333; border-radius: 50%; width: 32px; height: 32px; display: grid; place-items: center; font-size: 20px; }
.portal-art { height: 190px; display: flex; align-items: center; justify-content: center; margin: 3px 0 15px; }
.portal-art img { width: 245px; height: 185px; object-fit: contain; }
.portal-briefops .portal-art img { mix-blend-mode: screen; }
.portal-rally .portal-art img { width: 255px; height: 175px; filter: drop-shadow(0 0 25px #0097cb24); }
.portal-card-copy h2 { font-size: clamp(22px, 2.5vw, 30px); letter-spacing: -.04em; margin-bottom: 12px; }
.portal-card-copy p { color: #9eb5c5; font-size: 14px; line-height: 1.75; max-width: 425px; min-height: 74px; }
.portal-card-bottom { border-top: 1px solid #8fc8e324; margin-top: 24px; padding: 22px 0; display: flex; justify-content: space-between; align-items: center; color: #80d5ff; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.portal-rally .portal-card-bottom { color: #78e3d3; }
.portal-card-bottom > span:last-child { font-size: 24px; line-height: 1; }
.portal-footer { display: flex; justify-content: space-between; align-items: center; padding: 28px 0 8px; gap: 18px; color: #607f95; font-size: 9px; letter-spacing: .12em; }
.portal-footer p { margin: 0; font-size: 12px; letter-spacing: .02em; }
@media (min-width: 1600px) { .portal-heading { padding-top: 80px; } .portal-art { height: 220px; } }
@media (max-width: 760px) {
  .portal-mode .app { padding-left: 22px; padding-right: 22px; }
  .portal-mode .topbar { height: 82px; }
  .portal-mode .delivrone-systems-brand { width: 145px; }
  .portal-mode .topbar::after { font-size: 8px; letter-spacing: .1em; }
  .portal-heading { padding: 36px 0 28px; }
  .portal-heading > p:last-child { position: static; font-size: 13px; }
  .portal-grid { grid-template-columns: 1fr; gap: 18px; }
  .portal-card { padding: 20px 22px 0; }
  .portal-art { height: 160px; }
  .portal-art img { height: 160px; }
  .portal-rally .portal-art img { height: 145px; }
  .portal-card-copy p { min-height: 0; }
  .portal-footer { flex-wrap: wrap; }
  .portal-footer > span:last-child { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .portal-card { transition: none; } .portal-card:hover { transform: none; } }
