:root{
  --portal-bg:#030912;
  --portal-panel:#091625;
  --portal-line:rgba(113,207,255,.2);
  --portal-blue:#64ccff;
  --portal-text:#f4f8fc;
  --portal-muted:#9eb0bf;
  --portal-good:#75dfb0;
}

*{box-sizing:border-box}
body.portal-page{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 80% 12%,rgba(50,163,224,.16),transparent 32%),
    linear-gradient(145deg,#02060b,#071322 60%,#091a2b);
  color:var(--portal-text);
  font-family:Arial,Helvetica,sans-serif;
}
.portal-shell{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:34px 0 70px}
.portal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:60px}
.portal-header img{width:150px;height:62px;object-fit:contain;padding:3px;background:#fff;border-radius:4px}
.portal-header nav{display:flex;align-items:center;gap:24px}
.portal-header a{color:#c4d2de;text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.portal-header a:hover{color:var(--portal-blue)}
.language-switcher{display:flex;align-items:center;gap:7px;color:#71899d;font-size:11px}
.language-switcher button{border:0;padding:4px 2px;background:transparent;color:#9fb1c0;font:inherit;letter-spacing:.1em;cursor:pointer}
.language-switcher button:hover,.language-switcher button.active{color:var(--portal-blue)}
.portal-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:28px}
.portal-card{padding:34px;border:1px solid var(--portal-line);background:rgba(8,20,33,.82);box-shadow:0 24px 80px rgba(0,0,0,.22)}
.portal-card.narrow{width:min(520px,100%);margin:40px auto 0}
.portal-kicker{margin:0 0 14px;color:var(--portal-blue);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.portal-card h1{margin:0 0 18px;font-size:clamp(38px,5vw,68px);font-weight:300;letter-spacing:-.04em}
.portal-card h2{margin:0 0 18px;font-size:27px;font-weight:400}
.portal-card p{color:var(--portal-muted);font-size:16px;line-height:1.7}
.portal-field{display:grid;gap:8px;margin:20px 0}
.portal-field label{font-size:13px;color:#cfdae3}
.portal-field input{width:100%;padding:14px 15px;border:1px solid rgba(126,216,255,.28);background:#040c15;color:#fff;font:inherit;outline:none}
.portal-field input:focus{border-color:var(--portal-blue)}
.portal-form-row{display:flex;justify-content:flex-end;margin:-8px 0 22px}
.portal-form-row a{color:var(--portal-blue);font-size:13px;text-decoration:none}
.portal-form-row a:hover{text-decoration:underline}
.portal-message{min-height:24px;margin:18px 0 0;font-size:14px!important}
.portal-message.success{color:var(--portal-good)}
.portal-message.error{color:#ff9b9b}
.portal-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:0 20px;border:1px solid rgba(126,216,255,.55);background:rgba(36,151,214,.2);color:#fff;text-decoration:none;font:700 11px Arial;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.portal-button:hover{background:rgba(62,178,235,.3)}
.portal-button:disabled{opacity:.55;cursor:wait}
.portal-button.secondary{background:transparent;color:#c7d4de}
.portal-button.disabled{opacity:.45;pointer-events:none}
.portal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.portal-notice{margin:0 0 26px;padding:13px 15px;border-left:2px solid var(--portal-blue);background:rgba(100,204,255,.07);color:#c9d7e1;font-size:14px;line-height:1.55}
.portal-status{display:inline-flex;align-items:center;gap:9px;color:var(--portal-good);font-size:13px}
.portal-status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 14px currentColor}
.portal-list{display:grid;gap:14px;margin:25px 0 0;padding:0;list-style:none}
.portal-list li{padding:14px 0;border-top:1px solid rgba(255,255,255,.08);color:#c8d4de}
.portal-price{font-size:56px;font-weight:300;letter-spacing:-.04em}.portal-price small{font-size:14px;color:var(--portal-muted)}
.portal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.portal-meta div{padding:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}
.portal-meta span{display:block;color:var(--portal-muted);font-size:12px;margin-bottom:8px}.portal-meta strong{font-size:16px}
.portal-footer{margin-top:52px;color:#728696;font-size:12px;text-align:center}
@media(max-width:760px){.portal-header{align-items:flex-start}.portal-header nav{flex-direction:column;align-items:flex-end;gap:12px}.portal-grid{grid-template-columns:1fr}.portal-card{padding:25px}.portal-meta{grid-template-columns:1fr}}
