@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Outfit:wght@500;600&display=swap');

:root {
  --navy: #0A1624;
  --navy-2: #07111d;
  --graphite: #0E0D12;
  --halo-blue: #3B71E1;
  --deep-halo: #2856C9;
  --halo-glow: #A8F4FF;
  --shell-white: #E9F3FB;
  --paper: #F5F7FA;
  --silver: #BCBCCA;
  --violet: #8F5CFF;
  --text: #EAF4FC;
  --muted: #A9B8C6;
  --line: rgba(168, 244, 255, 0.16);
  --card: rgba(10, 22, 36, 0.72);
  --radius: 12px;
  --shadow: 0 30px 80px rgba(0,0,0,.34);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 20% 5%, rgba(59,113,225,.18), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(143,92,255,.13), transparent 24%),
    var(--navy);
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }

.site-shell { min-height: 100vh; overflow: hidden; position: relative; }
.site-shell::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .32;
  background-image:
    linear-gradient(rgba(168,244,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(168,244,255,.035) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.85), transparent 82%);
}

.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }

.site-header {
  position: relative;
  z-index: 20;
  height: 88px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(188,188,202,.10);
  background: rgba(10,22,36,.58);
  backdrop-filter: blur(18px);
}
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; min-width:max-content; }
.brand-symbol { width:42px; height:42px; object-fit:contain; filter: drop-shadow(0 0 18px rgba(59,113,225,.38)); }
.brand-word {
  font-family:'Outfit', sans-serif;
  font-size:20px;
  font-weight:500;
  letter-spacing:.19em;
  color:var(--shell-white);
}
.nav { display:flex; align-items:center; gap:6px; }
.nav a { padding:10px 14px; border-radius:999px; color:#C6D2DD; font-size:14px; transition:.2s ease; }
.nav a:hover, .nav a[aria-current='page'] { color:#fff; background:rgba(168,244,255,.07); }
.nav .nav-cta { border:1px solid rgba(168,244,255,.18); color:var(--shell-white); }

.menu-toggle { display:none; border:0; background:transparent; color:white; padding:10px; }
.menu-toggle span { display:block; width:22px; height:1px; background:currentColor; margin:5px 0; }

.hero {
  position: relative;
  min-height: calc(100vh - 88px);
  display:grid;
  align-items:center;
  padding:72px 0 80px;
}
.hero-grid { display:grid; grid-template-columns: 1.03fr .97fr; align-items:center; gap:64px; }
.eyebrow {
  display:inline-flex; align-items:center; gap:9px;
  color:var(--halo-glow);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  font-weight:600;
  margin-bottom:22px;
}
.eyebrow::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--halo-blue); box-shadow:0 0 18px var(--halo-glow); }
.hero h1, .page-hero h1 {
  font-family:'Outfit', sans-serif;
  font-weight:500;
  letter-spacing:-.035em;
  margin:0;
  color:var(--shell-white);
}
.hero h1 { font-size: clamp(52px, 7.3vw, 94px); line-height:.98; max-width:800px; }
.hero h1 .gradient-text {
  display:block;
  background:linear-gradient(90deg, var(--halo-glow), #7DA7FF 48%, var(--violet));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-copy { margin:26px 0 0; max-width:620px; font-size:18px; line-height:1.7; color:#B9C8D4; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:34px; }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:48px; padding:0 20px; border-radius:999px; border:1px solid transparent;
  font-weight:600; font-size:14px; transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:linear-gradient(120deg, var(--halo-blue), #526DE8 65%, #744FE8); color:white; box-shadow:0 16px 44px rgba(59,113,225,.26); }
.btn-secondary { border-color:rgba(168,244,255,.18); background:rgba(255,255,255,.025); color:#DCEAF4; }
.btn-arrow { font-size:18px; line-height:1; }

.signal-stage { min-height:540px; display:grid; place-items:center; position:relative; isolation:isolate; }
.signal-stage::before {
  content:''; position:absolute; width:540px; height:540px; border-radius:50%;
  background:radial-gradient(circle, rgba(59,113,225,.19), rgba(59,113,225,.06) 38%, transparent 66%);
  filter:blur(4px); z-index:-4;
}
.signal-stage::after {
  content:''; position:absolute; width:82%; height:82%; border-radius:50%;
  border:1px solid rgba(168,244,255,.08); z-index:-3;
  box-shadow:0 0 80px rgba(59,113,225,.08) inset;
}
.orb-scene { width:min(460px, 88vw); aspect-ratio:1; position:relative; display:grid; place-items:center; }
.orb-core {
  width:42%; aspect-ratio:1; border-radius:50%; position:relative;
  background:
    radial-gradient(circle at 37% 28%, rgba(255,255,255,.55), transparent 8%),
    radial-gradient(circle at 44% 38%, #31547a 0 5%, #132a46 22%, #081523 65%, #03080d 100%);
  box-shadow:
    0 0 0 1px rgba(168,244,255,.18),
    0 0 42px rgba(59,113,225,.40),
    0 0 120px rgba(59,113,225,.22);
  animation:orb-breathe 5.5s ease-in-out infinite;
}
.orb-core::after {
  content:''; position:absolute; inset:-7%; border-radius:50%; border:1px solid rgba(168,244,255,.3);
  filter:drop-shadow(0 0 14px rgba(168,244,255,.28));
}
.halo-ring {
  position:absolute; width:72%; height:18%; border-radius:50%;
  border:2px solid rgba(168,244,255,.72);
  box-shadow:0 0 10px rgba(168,244,255,.65), 0 0 30px rgba(59,113,225,.62), inset 0 0 10px rgba(143,92,255,.32);
  transform:rotate(-10deg);
  animation:halo-pulse 4s ease-in-out infinite;
}
.halo-ring::before {
  content:''; position:absolute; inset:-8px -3px; border-radius:inherit; border:1px solid rgba(59,113,225,.18);
}
.signal-sweep { position:absolute; width:92%; height:1px; background:linear-gradient(90deg,transparent,var(--halo-glow),transparent); filter:blur(.15px); opacity:.55; animation:sweep 5s ease-in-out infinite; }
.orb-code { position:absolute; bottom:12%; font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size:10px; letter-spacing:.22em; color:rgba(168,244,255,.62); text-transform:uppercase; }
.data-dot { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--halo-glow); box-shadow:0 0 15px var(--halo-glow); opacity:.68; }
.data-dot.d1 { top:18%; left:19%; animation:float-1 7s ease-in-out infinite; }
.data-dot.d2 { top:27%; right:12%; animation:float-2 8s ease-in-out infinite; }
.data-dot.d3 { bottom:22%; right:25%; animation:float-1 9s ease-in-out infinite reverse; }

@keyframes orb-breathe { 0%,100%{transform:scale(1)} 50%{transform:scale(1.035)} }
@keyframes halo-pulse { 0%,100%{opacity:.68; transform:rotate(-10deg) scaleX(.96)} 50%{opacity:1; transform:rotate(-10deg) scaleX(1.03)} }
@keyframes sweep { 0%,100%{transform:translateY(-150px);opacity:.12} 50%{transform:translateY(160px);opacity:.65} }
@keyframes float-1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(12px,-10px)} }
@keyframes float-2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-15px,8px)} }

.mini-proof { margin-top:46px; padding-top:22px; border-top:1px solid rgba(188,188,202,.12); display:flex; gap:32px; flex-wrap:wrap; }
.proof-item { color:#8EA1B1; font-size:12px; line-height:1.5; letter-spacing:.02em; }
.proof-item strong { display:block; color:#DAE8F1; font-weight:500; font-size:13px; margin-bottom:3px; }

.page-main { padding:70px 0 90px; }
.page-hero { max-width:780px; margin-bottom:46px; }
.page-hero h1 { font-size:clamp(44px,6vw,74px); line-height:1.02; }
.page-hero p { color:#AEBECC; max-width:640px; font-size:17px; line-height:1.7; margin:20px 0 0; }

.contact-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:30px; align-items:start; }
.contact-side, .form-card, .privacy-card {
  border:1px solid rgba(168,244,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.contact-side { padding:28px; position:sticky; top:110px; }
.contact-side h2 { font-family:'Outfit'; font-size:22px; font-weight:500; margin:0 0 12px; }
.contact-side p { color:#A9BAC8; font-size:14px; line-height:1.7; margin:0 0 24px; }
.inquiry-list { display:grid; gap:10px; }
.inquiry-chip { display:flex; align-items:center; gap:10px; padding:12px 13px; border:1px solid rgba(168,244,255,.09); border-radius:10px; color:#C9D6E0; font-size:13px; background:rgba(10,22,36,.32); }
.inquiry-chip span { width:7px; height:7px; border-radius:50%; background:var(--halo-blue); box-shadow:0 0 13px rgba(168,244,255,.45); }
.contact-note { margin-top:22px !important; font-size:12px !important; color:#7F93A4 !important; }

.form-card { padding:30px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group { display:grid; gap:8px; }
.form-group.full { grid-column:1/-1; }
label { font-size:13px; color:#C9D7E2; font-weight:500; }
input, select, textarea {
  width:100%; border:1px solid rgba(168,244,255,.13); border-radius:10px;
  background:rgba(3,10,18,.42); color:#ECF6FB; padding:13px 14px; outline:none; transition:border-color .2s, box-shadow .2s;
}
input:focus, select:focus, textarea:focus { border-color:rgba(168,244,255,.46); box-shadow:0 0 0 3px rgba(59,113,225,.12); }
textarea { min-height:150px; resize:vertical; }
select { appearance:auto; }
.checkbox-row { display:flex; align-items:flex-start; gap:10px; color:#9FB1C0; font-size:12px; line-height:1.55; }
.checkbox-row input { width:16px; height:16px; margin-top:2px; accent-color:var(--halo-blue); }
.form-actions { margin-top:22px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.form-help { color:#72899B; font-size:11px; line-height:1.5; }

.privacy-card { padding:34px; max-width:860px; }
.privacy-card h2 { font-family:'Outfit'; font-weight:500; margin:30px 0 10px; font-size:22px; }
.privacy-card h2:first-child { margin-top:0; }
.privacy-card p, .privacy-card li { color:#A9BAC8; line-height:1.75; font-size:14px; }
.privacy-card ul { padding-left:20px; }
.notice { margin-top:28px; padding:14px 16px; border-left:2px solid var(--halo-blue); background:rgba(59,113,225,.08); color:#A9BAC8; font-size:12px; line-height:1.6; }

.thank-you { min-height:calc(100vh - 88px); display:grid; place-items:center; text-align:center; padding:60px 0; }
.thank-you-card { width:min(680px, 100%); padding:48px 34px; border:1px solid rgba(168,244,255,.12); border-radius:var(--radius); background:rgba(255,255,255,.025); box-shadow:var(--shadow); }
.thank-you-card img { width:94px; margin:0 auto 24px; }
.thank-you-card h1 { font-family:'Outfit'; font-weight:500; font-size:44px; margin:0 0 14px; }
.thank-you-card p { color:#A9BAC8; line-height:1.7; }

.site-footer { position:relative; z-index:5; border-top:1px solid rgba(188,188,202,.10); padding:26px 0; background:rgba(4,11,18,.28); }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.footer-copy { color:#6F8495; font-size:12px; }
.footer-links { display:flex; gap:18px; color:#8799A8; font-size:12px; }
.footer-links a:hover { color:#D8E7F1; }

@media (max-width: 900px) {
  .hero { padding-top:42px; }
  .hero-grid, .contact-layout { grid-template-columns:1fr; }
  .hero-grid { gap:16px; }
  .signal-stage { min-height:430px; order:-1; }
  .orb-scene { width:min(390px, 90vw); }
  .contact-side { position:static; }
}
@media (max-width: 640px) {
  .container { width:min(100% - 30px, 1180px); }
  .site-header { height:76px; }
  .brand-symbol { width:36px; height:36px; }
  .brand-word { font-size:17px; letter-spacing:.15em; }
  .menu-toggle { display:block; }
  .nav { display:none; position:absolute; left:15px; right:15px; top:68px; padding:10px; flex-direction:column; align-items:stretch; background:#0A1624; border:1px solid rgba(168,244,255,.13); border-radius:12px; box-shadow:var(--shadow); }
  .nav.open { display:flex; }
  .nav a { text-align:center; }
  .hero { min-height:calc(100vh - 76px); padding:38px 0 56px; }
  .hero h1 { font-size:clamp(47px,16vw,70px); }
  .hero-copy { font-size:16px; }
  .signal-stage { min-height:350px; }
  .orb-code { bottom:6%; }
  .form-grid { grid-template-columns:1fr; }
  .form-card, .contact-side, .privacy-card { padding:22px; }
  .page-main { padding-top:48px; }
  .page-hero { margin-bottom:32px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
}

/* Company page */
.company-main { padding-bottom: 24px; }
.company-hero-section { padding: 88px 0 74px; position: relative; }
.company-hero-grid { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:70px; }
.company-hero-copy h1 {
  margin:0;
  max-width:760px;
  font-family:'Outfit', sans-serif;
  font-weight:500;
  letter-spacing:-.035em;
  color:var(--shell-white);
  font-size:clamp(50px,6.5vw,86px);
  line-height:1.01;
}
.gradient-text-inline {
  background:linear-gradient(90deg, var(--halo-glow), #7DA7FF 52%, var(--violet));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.company-lede { max-width:700px; margin:28px 0 0; font-size:20px; line-height:1.65; color:#C8D5DF; }
.company-subcopy { max-width:690px; margin:18px 0 0; font-size:15px; line-height:1.8; color:#8FA4B4; }
.company-orbit-visual {
  min-height:500px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(168,244,255,.08);
  border-radius:28px;
  background:
    radial-gradient(circle at 52% 48%, rgba(59,113,225,.16), transparent 30%),
    linear-gradient(155deg, rgba(255,255,255,.025), rgba(255,255,255,.008));
  box-shadow:var(--shadow);
}
.company-orbit-grid { position:absolute; inset:0; opacity:.33; background-image:linear-gradient(rgba(168,244,255,.045) 1px, transparent 1px),linear-gradient(90deg,rgba(168,244,255,.045) 1px,transparent 1px); background-size:48px 48px; mask-image:radial-gradient(circle at center, #000, transparent 72%); }
.company-orbit-core { width:145px; height:145px; border-radius:50%; background:radial-gradient(circle at 36% 28%, rgba(255,255,255,.42), transparent 9%),radial-gradient(circle at 46% 40%, #31547a 0 5%, #132a46 25%, #081523 66%, #03080d 100%); box-shadow:0 0 0 1px rgba(168,244,255,.18),0 0 46px rgba(59,113,225,.38),0 0 110px rgba(59,113,225,.2); animation:orb-breathe 5.5s ease-in-out infinite; z-index:2; }
.company-orbit-ring { position:absolute; border-radius:50%; border:1px solid rgba(168,244,255,.36); box-shadow:0 0 24px rgba(59,113,225,.14); }
.company-orbit-ring.ring-one { width:360px; height:115px; transform:rotate(-10deg); animation:company-ring-one 9s ease-in-out infinite; }
.company-orbit-ring.ring-two { width:330px; height:150px; transform:rotate(32deg); border-color:rgba(59,113,225,.34); animation:company-ring-two 11s ease-in-out infinite; }
.company-orbit-ring.ring-three { width:250px; height:250px; transform:rotate(68deg) scaleY(.34); border-color:rgba(143,92,255,.28); animation:company-ring-three 8s ease-in-out infinite; }
.company-orbit-label { position:absolute; bottom:34px; color:#62849E; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:10px; letter-spacing:.18em; }
@keyframes company-ring-one { 0%,100%{transform:rotate(-10deg) scaleX(.97)} 50%{transform:rotate(-7deg) scaleX(1.03)} }
@keyframes company-ring-two { 0%,100%{transform:rotate(32deg) scaleX(1.01)} 50%{transform:rotate(36deg) scaleX(.96)} }
@keyframes company-ring-three { 0%,100%{transform:rotate(68deg) scaleY(.34)} 50%{transform:rotate(62deg) scaleY(.38)} }
.company-section { padding:88px 0; border-top:1px solid rgba(188,188,202,.08); position:relative; }
.company-section-soft { background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.005)); }
.section-heading { max-width:850px; margin-bottom:38px; }
.section-heading.narrow { max-width:720px; }
.section-kicker { margin-bottom:12px; color:var(--halo-glow); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.section-heading h2, .status-copy h2 { margin:0; font-family:'Outfit', sans-serif; font-size:clamp(36px,4.4vw,58px); line-height:1.08; font-weight:500; letter-spacing:-.025em; color:var(--shell-white); }
.section-heading p, .status-copy p { margin:17px 0 0; color:#9FB1C0; font-size:15px; line-height:1.78; }
.company-card-grid { display:grid; gap:16px; }
.company-card-grid.four-up { grid-template-columns:repeat(4,1fr); }
.company-card { min-height:250px; padding:26px; border:1px solid rgba(168,244,255,.10); border-radius:var(--radius); background:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)); }
.card-index { display:inline-block; margin-bottom:54px; color:#5D7D95; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:11px; letter-spacing:.12em; }
.company-card h3 { margin:0 0 10px; font-family:'Outfit', sans-serif; font-weight:500; font-size:24px; color:#E5F0F7; }
.company-card p { margin:0; color:#8FA3B3; font-size:13px; line-height:1.7; }
.principles-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 40px; }
.principle { padding:28px 0 22px; border-top:1px solid rgba(168,244,255,.10); }
.principle-line { width:36px; height:2px; background:linear-gradient(90deg,var(--halo-blue),var(--halo-glow)); box-shadow:0 0 14px rgba(59,113,225,.35); margin-bottom:22px; }
.principle h3 { margin:0 0 10px; font-family:'Outfit', sans-serif; font-weight:500; font-size:22px; color:#DBEAF4; }
.principle p { margin:0; max-width:520px; color:#879CAC; font-size:14px; line-height:1.75; }
.company-status-grid { display:grid; grid-template-columns:1fr .82fr; gap:70px; align-items:start; }
.status-copy .btn { margin-top:28px; }
.status-panel { border:1px solid rgba(168,244,255,.11); border-radius:var(--radius); overflow:hidden; background:rgba(3,10,18,.28); }
.status-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 22px; border-bottom:1px solid rgba(168,244,255,.08); }
.status-row:last-child { border-bottom:0; }
.status-row span { color:#72899B; font-size:12px; }
.status-row strong { color:#D8E6F0; font-size:13px; font-weight:500; text-align:right; }
.access-section { padding-bottom:100px; }
.access-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.access-card { min-height:220px; display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding:30px; border:1px solid rgba(168,244,255,.12); border-radius:var(--radius); background:linear-gradient(145deg, rgba(59,113,225,.07), rgba(255,255,255,.015)); transition:transform .22s ease,border-color .22s ease,background .22s ease; }
.access-card:hover { transform:translateY(-3px); border-color:rgba(168,244,255,.28); background:linear-gradient(145deg, rgba(59,113,225,.11), rgba(255,255,255,.02)); }
.access-label { display:inline-flex; padding:6px 9px; border-radius:999px; border:1px solid rgba(168,244,255,.14); color:#8DAABD; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.access-card h3 { margin:18px 0 8px; font-family:'Outfit',sans-serif; font-weight:500; font-size:28px; color:#E8F3FA; }
.access-card p { margin:0; max-width:480px; color:#899EAE; font-size:13px; line-height:1.7; }
.access-arrow { align-self:flex-start; font-size:25px; color:var(--halo-glow); opacity:.75; }

/* Private portal placeholders */
.portal-site-shell { min-height:100vh; display:flex; flex-direction:column; }
.portal-header { background:rgba(7,17,29,.78); }
.portal-back { color:#89A0B1; font-size:13px; padding:9px 0; }
.portal-back:hover { color:#DCEAF4; }
.portal-main { flex:1; display:grid; align-items:center; padding:76px 0 90px; }
.portal-grid { display:grid; grid-template-columns:1fr 470px; gap:82px; align-items:center; }
.portal-intro h1 { margin:0; font-family:'Outfit',sans-serif; font-weight:500; letter-spacing:-.035em; font-size:clamp(54px,6vw,78px); line-height:1; color:var(--shell-white); }
.portal-intro > p:first-of-type { max-width:650px; margin:24px 0 0; color:#AEC0CD; font-size:17px; line-height:1.75; }
.portal-feature-list { display:grid; gap:12px; margin:34px 0 0; }
.portal-feature-list div { display:flex; gap:12px; align-items:center; color:#8FA5B5; font-size:13px; }
.portal-feature-list span { width:7px; height:7px; border-radius:50%; background:var(--halo-blue); box-shadow:0 0 13px rgba(168,244,255,.45); flex:0 0 auto; }
.portal-disclaimer { max-width:680px; margin:34px 0 0 !important; padding-top:22px; border-top:1px solid rgba(168,244,255,.09); color:#677F91 !important; font-size:11px !important; line-height:1.7 !important; }
.login-card { padding:34px; border:1px solid rgba(168,244,255,.13); border-radius:18px; background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); box-shadow:var(--shadow); }
.login-lock { width:52px; height:52px; border-radius:14px; margin-bottom:24px; border:1px solid rgba(168,244,255,.16); display:grid; place-items:center; background:rgba(59,113,225,.07); position:relative; }
.login-lock::before { content:''; width:16px; height:13px; border:2px solid var(--halo-glow); border-bottom:0; border-radius:10px 10px 0 0; position:absolute; top:10px; opacity:.85; }
.login-lock span { width:24px; height:18px; border:2px solid var(--halo-glow); border-radius:5px; position:absolute; bottom:9px; opacity:.85; box-shadow:0 0 16px rgba(168,244,255,.16); }
.login-card h2 { margin:14px 0 9px; font-family:'Outfit',sans-serif; font-size:30px; font-weight:500; color:#E7F1F8; }
.login-card > p { margin:0 0 26px; color:#849AAA; font-size:13px; line-height:1.65; }
.login-card form { display:grid; gap:17px; }
.login-options { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.login-options .checkbox-row { max-width:260px; }
.login-options > a { font-size:12px; color:#84A5BF; white-space:nowrap; }
.login-options > a:hover { color:var(--halo-glow); }
.login-submit { width:100%; margin-top:2px; }
.login-status { margin-top:1px; padding:12px 14px; border-radius:10px; border:1px solid rgba(168,244,255,.11); background:rgba(59,113,225,.07); color:#9BB0C0; font-size:11px; line-height:1.55; }
.login-security-note { margin-top:22px; padding-top:19px; border-top:1px solid rgba(168,244,255,.08); color:#637A8B; font-size:10px; line-height:1.6; }
.login-security-note strong { color:#8EA5B5; font-weight:500; }

@media (max-width: 1000px) {
  .company-card-grid.four-up { grid-template-columns:1fr 1fr; }
  .company-hero-grid, .company-status-grid, .portal-grid { grid-template-columns:1fr; }
  .company-orbit-visual { min-height:420px; }
  .portal-grid { gap:46px; }
  .login-card { width:min(560px,100%); }
}
@media (max-width: 700px) {
  .company-hero-section { padding:54px 0 48px; }
  .company-hero-grid { gap:36px; }
  .company-orbit-visual { min-height:330px; border-radius:18px; }
  .company-orbit-core { width:112px; height:112px; }
  .company-orbit-ring.ring-one { width:270px; height:90px; }
  .company-orbit-ring.ring-two { width:250px; height:115px; }
  .company-orbit-ring.ring-three { width:195px; height:195px; }
  .company-section { padding:64px 0; }
  .company-card-grid.four-up, .principles-grid, .access-grid { grid-template-columns:1fr; }
  .company-card { min-height:210px; }
  .card-index { margin-bottom:40px; }
  .portal-main { padding:50px 0 70px; }
  .portal-grid { gap:34px; }
  .login-card { padding:24px; }
  .portal-back { font-size:11px; }
}

/* Homepage hidden mailing-list easter egg */
.signal-column { min-width:0; }
.secret-reveal {
  width:min(420px, 88%);
  min-height:76px;
  margin:-18px auto 0;
  display:grid;
  place-items:center;
  position:relative;
  outline:none;
}
.secret-reveal-inner {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .28s ease, transform .28s ease;
}
.secret-reveal:hover .secret-reveal-inner,
.secret-reveal:focus .secret-reveal-inner,
.secret-reveal:focus-within .secret-reveal-inner,
.secret-reveal.revealed .secret-reveal-inner {
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.secret-whisper {
  color:#71899A;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.secret-mail-btn {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(168,244,255,.15);
  background:rgba(7,17,29,.46);
  color:#A8C7DA;
  font-size:11px;
  font-weight:500;
  letter-spacing:.015em;
  transition:border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;
}
.secret-mail-btn:hover, .secret-mail-btn:focus-visible {
  color:var(--halo-glow);
  border-color:rgba(168,244,255,.34);
  background:rgba(59,113,225,.08);
  box-shadow:0 0 24px rgba(59,113,225,.12);
}

/* Secret mailing-list page */
.secret-list-main {
  min-height:calc(100vh - 88px);
  display:grid;
  align-items:center;
  padding:72px 0 90px;
}
.secret-list-wrap { width:min(620px, 100%); margin:0 auto; }
.secret-list-card {
  padding:38px;
  border:1px solid rgba(168,244,255,.13);
  border-radius:18px;
  background:
    radial-gradient(circle at 82% 8%, rgba(143,92,255,.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.secret-list-card::before {
  content:'';
  position:absolute;
  width:240px;
  height:240px;
  border-radius:50%;
  top:-150px;
  right:-110px;
  border:1px solid rgba(168,244,255,.10);
  box-shadow:0 0 80px rgba(59,113,225,.10) inset;
}
.secret-list-card h1 {
  margin:0;
  font-family:'Outfit', sans-serif;
  font-size:clamp(42px,7vw,62px);
  line-height:1.02;
  font-weight:500;
  letter-spacing:-.035em;
  color:var(--shell-white);
}
.secret-list-card > p {
  margin:18px 0 30px;
  max-width:500px;
  color:#96AABA;
  font-size:14px;
  line-height:1.75;
}
.secret-form { display:grid; gap:17px; }
.secret-form .form-actions { margin-top:4px; }
.secret-form .btn { min-width:150px; }
.secret-fineprint {
  margin-top:22px !important;
  padding-top:18px;
  border-top:1px solid rgba(168,244,255,.08);
  color:#657D8F !important;
  font-size:10px !important;
  line-height:1.65 !important;
}
.secret-fineprint a { color:#8CA7BA; }
.secret-fineprint a:hover { color:var(--halo-glow); }
.secret-back { color:#8096A7; font-size:12px; }
.secret-back:hover { color:#DCEAF4; }

@media (max-width: 900px) {
  .secret-reveal { margin-top:-8px; }
}
@media (max-width: 640px) {
  .secret-list-main { min-height:calc(100vh - 76px); padding:46px 0 68px; }
  .secret-list-card { padding:26px 22px; }
  .secret-reveal { min-height:68px; margin-top:-6px; width:100%; }
  .secret-reveal-inner { gap:10px; }
}
