@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root {
  --bg:#ffffff;
  --bg2:#f8f6fc;
  --panel:#f5f1fb;
  --line:#e6defa;
  --text:#1a1330;
  --muted:#5c5470;
  /* TODO(RayneOps): official Cybernovr brand purple on print material is #662F8E —
     reconcile against this on-screen purple before launch. Not changed here. */
  --primary:#7c3aed;
  --secondary:#a855f7;
  --font:'Manrope',Arial,sans-serif;
}
* {
  box-sizing:border-box;
}
.icon-svg {
  display:inline-block;
  vertical-align:-.125em;
  flex-shrink:0;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input,textarea,select {
  font:inherit;
}
button {
  cursor:pointer;
}
p {
  line-height:1.8;
  color:var(--muted);
}
h1,h2,h3,h4 {
  letter-spacing:-.05em;
  margin:0;
  line-height:1.15;
}
h1 {
  font-size:clamp(2.8rem,5vw,5.8rem);
  font-weight:800;
}
h2 {
  font-size:clamp(2rem,3.5vw,3.6rem);
}
h3 {
  font-size:1.35rem;
}
h4 {
  font-size:1rem;
  letter-spacing:-.02em;
}
.shell {
  max-width:1240px;
  margin:auto;
  padding:0 30px;
}
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.nav-shell {
  height:83px;
  display:flex;
  align-items:center;
  gap:32px;
}
.brand {
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
}
.brand-logo {
  display:block;
  height:40px;
  width:auto;
}
.nav-links {
  display:flex;
  align-items:center;
  gap:17px;
  margin-left:auto;
}
.nav-link,.login-link {
  font-size:11px;
  color:#55506a;
  font-weight:700;
  white-space:nowrap;
  transition:color .2s;
}
.nav-link:hover,.nav-link.active,.login-link:hover {
  color:var(--primary);
}
.nav-dropdown {
  position:relative;
}
.nav-dropdown-toggle {
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:none;
  border:0;
  padding:0;
  font:inherit;
  cursor:pointer;
}
.nav-dropdown-toggle svg {
  transition:transform .2s;
}
.nav-dropdown.open .nav-dropdown-toggle svg {
  transform:rotate(180deg);
}
.nav-dropdown-menu {
  display:none;
  position:absolute;
  top:100%;
  left:-14px;
  margin-top:17px;
  min-width:240px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:0 20px 40px rgba(30,15,55,.12);
  padding:8px;
  flex-direction:column;
  gap:2px;
  z-index:30;
}
.nav-dropdown.open .nav-dropdown-menu {
  display:flex;
}
.nav-dropdown-menu a {
  padding:10px 12px;
  border-radius:6px;
  font-size:12px;
  font-weight:700;
  color:var(--text);
  white-space:nowrap;
}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible {
  background:var(--panel);
  color:var(--primary);
}
.nav-actions {
  display:flex;
  align-items:center;
  gap:17px;
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  border-radius:6px;
  padding:15px 22px;
  font-weight:800;
  font-size:13px;
  letter-spacing:-.01em;
  transition:transform .2s,background .2s,border-color .2s;
  border:1px solid transparent;
}
.btn:hover {
  transform:translateY(-2px);
}
.btn-primary {
  background:var(--primary);
  color:#fff;
}
.btn-primary:hover {
  background:#6d28d9;
  color:#fff;
}
.btn-outline,.btn-ghost {
  border-color:#d7c7f0;
  color:var(--text);
  background:transparent;
}
.btn-outline:hover,.btn-ghost:hover {
  border-color:var(--primary);
  color:var(--primary);
}
.btn-small {
  padding:11px 14px;
  font-size:11px;
}
.menu-toggle {
  display:none;
  background:transparent;
  border:0;
  padding:8px;
}
.menu-toggle span {
  display:block;
  background:var(--primary);
  height:2px;
  width:23px;
  margin:5px 0;
}
.eyebrow {
  color:var(--primary);
  font-size:11px;
  letter-spacing:.2em;
  font-weight:800;
}
.eyebrow-pill {
  display:inline-flex;
  gap:9px;
  align-items:center;
  padding:10px 13px;
  border:1px solid #e3d4f7;
  border-radius:50px;
  background:rgba(124,58,237,.06);
  font-size:10px;
}
.pulse {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--primary);
  box-shadow:0 0 12px var(--primary);
}
.hero {
  position:relative;
  overflow:hidden;
  padding:105px 0 110px;
  background:radial-gradient(ellipse at 73% 35%,rgba(124,58,237,.08) 0%,transparent 45%),linear-gradient(120deg,#ffffff,#faf8ff);
}
.hero:before {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(#7c3aed10 1px,transparent 1px),linear-gradient(90deg,#7c3aed10 1px,transparent 1px);
  background-size:62px 62px;
  mask-image:linear-gradient(90deg,transparent,#000);
}
.hero-grid {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1.03fr;
  gap:55px;
  align-items:center;
}
.hero-copy h1 {
  margin:26px 0;
  line-height:1.13;
}
.hero-copy h1 span,h2 em,.page-hero h1 em {
  color:var(--primary);
  font-style:normal;
}
.hero-copy>p {
  max-width:590px;
  font-size:15px;
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin-top:32px;
}
.hero-notes {
  display:flex;
  flex-wrap:wrap;
  gap:19px;
  margin-top:38px;
  font-size:10px;
  font-weight:700;
  color:var(--muted);
}
.hero-notes span:first-letter {
  color:var(--primary);
}
.section {
  padding:112px 0;
}
.alt {
  background:var(--bg2);
}
.stats-band {
  padding:56px 0;
}
.stats-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  text-align:center;
}
.stat strong {
  display:block;
  font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--primary);
}
.stat span {
  display:block;
  margin-top:6px;
  font-size:11px;
  color:var(--muted);
}
.sector-list {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.pill-filled {
  display:inline-flex;
  align-items:center;
  padding:10px 16px;
  border-radius:50px;
  background:var(--primary);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.pillar-grid-6 {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.arch-diagram {
  display:grid;
  grid-template-columns:1fr 32px 1fr 32px 1fr;
  gap:14px;
  align-items:stretch;
  margin-top:10px;
}
.arch-col {
  border:1px solid var(--line);
  background:#fff;
  border-radius:11px;
  padding:22px;
}
.arch-col-center {
  background:var(--panel);
  border-color:var(--primary);
}
.arch-col h4 {
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--primary);
  margin-bottom:14px;
}
.arch-list {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.arch-list li {
  font-size:12px;
  color:var(--muted);
  padding-left:14px;
  position:relative;
}
.arch-list li:before {
  content:'';
  position:absolute;
  left:0;
  top:6px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--secondary);
}
.arch-sub {
  font-size:11px;
  color:var(--muted);
  margin-bottom:16px;
}
.arch-chips {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.arch-chips .feature-tag {
  background:#fff;
  border:1px solid var(--line);
  color:var(--text);
}
.arch-arrow {
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--primary);
  font-size:18px;
}
.arch-footnote {
  margin-top:18px;
  font-size:12px;
  color:var(--muted);
  text-align:center;
}
.tenancy-diagram {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:30px 20px;
  background:#fff;
}
.tenancy-node {
  border:1px solid var(--line);
  border-radius:10px;
  padding:14px 18px;
  text-align:center;
  font-size:12px;
  font-weight:800;
  color:var(--text);
  background:var(--panel);
}
.tenancy-node small {
  display:block;
  margin-top:4px;
  font-size:10px;
  font-weight:600;
  color:var(--muted);
}
.tenancy-csirt {
  border-color:var(--primary);
  background:rgba(124,58,237,.06);
  color:var(--primary);
}
.tenancy-providers {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
}
.tenancy-lines {
  width:1px;
  height:20px;
  background:var(--line);
}
.why-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px 40px;
}
.spec-grid {
  grid-template-columns:repeat(4,1fr);
}
.hero-screenshot {
  border-radius:11px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 30px 80px rgba(70,40,110,.18);
}
.hero-screenshot img {
  display:block;
  width:100%;
  height:auto;
}
.contact-detail span {
  font-size:15px;
}
.challenge-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:100px;
  align-items:center;
}
.challenge h2 {
  margin-top:18px;
}
.challenge p {
  font-size:16px;
}
.text-link {
  display:inline-flex;
  gap:8px;
  color:var(--primary);
  font-size:12px;
  font-weight:800;
  margin-top:20px;
}
.section-head {
  max-width:800px;
  margin-bottom:43px;
}
.section-head h2 {
  margin:16px 0;
}
.section-head p {
  max-width:580px;
}
.pillar-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.pillar-card {
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 1px 3px rgba(30,15,55,.05);
  min-height:310px;
  padding:26px 23px;
  display:flex;
  flex-direction:column;
  transition:transform .25s,border-color .25s,background .25s,box-shadow .25s;
}
.pillar-card:hover {
  transform:translateY(-6px);
  border-color:var(--primary);
  background:#faf5ff;
  box-shadow:0 18px 40px rgba(124,58,237,.14);
}
.card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:9px;
  color:var(--primary);
  font-weight:800;
  letter-spacing:.12em;
}
.card-icon {
  font-size:28px;
  color:var(--secondary);
}
.pillar-card h3 {
  margin-top:50px;
  line-height:1.35;
}
.pillar-card p {
  font-size:12px;
  margin-bottom:10px;
}
.pillar-card .text-link {
  margin-top:auto;
}
.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.feature-card {
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 1px 3px rgba(30,15,55,.05);
  padding:24px 22px;
  transition:transform .25s,border-color .25s,box-shadow .25s;
}
.feature-card:hover {
  transform:translateY(-4px);
  border-color:var(--primary);
  box-shadow:0 18px 40px rgba(124,58,237,.14);
}
.feature-card .card-top {
  margin-bottom:16px;
}
.feature-card h3 {
  font-size:16px;
  margin-bottom:8px;
}
.feature-card p {
  font-size:12px;
  margin-bottom:14px;
}
.feature-tag {
  display:inline-block;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  padding:4px 8px;
  border-radius:50px;
  background:rgba(124,58,237,.1);
  color:var(--primary);
}
.feature-list {
  display:flex;
  flex-direction:column;
  gap:7px;
}
.feature-list li {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  color:var(--muted);
}
.feature-list li:before {
  content:'';
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--secondary);
  flex-shrink:0;
}
.workflow {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
}
.workflow h2 {
  margin:17px 0;
}
.workflow>div>p {
  margin-bottom:27px;
}
.workflow-steps {
  border:1px solid var(--line);
  padding:18px 26px;
  background:var(--panel);
}
.workflow-steps>div {
  display:grid;
  grid-template-columns:40px 1fr;
  column-gap:16px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.workflow-steps>div:last-child {
  border-bottom:0;
}
.workflow-steps span {
  grid-row:span 2;
  color:var(--primary);
  font-size:13px;
}
.workflow-steps strong {
  font-size:17px;
}
.workflow-steps small {
  color:var(--muted);
  margin-top:6px;
}
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center;
}
.split.reverse .split-copy {
  order:2;
}
.split h2 {
  margin:18px 0;
}
.detail-list {
  margin-top:28px;
}
.detail-item {
  display:flex;
  gap:16px;
  padding:17px 0;
  border-top:1px solid var(--line);
}
.detail-item .check {
  color:var(--primary);
  font-size:18px;
}
.detail-item p {
  font-size:12px;
  margin:6px 0 0;
}
.abstract-visual {
  min-height:480px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #2e2049;
  background:radial-gradient(circle at center,#2e1f45 0%,#1a1030 35%,#0d0a18 75%);
}
.abstract-visual:before {
  content:'';
  position:absolute;
  inset:0;
  background-image:linear-gradient(#a855f70c 1px,transparent 1px),linear-gradient(90deg,#a855f70c 1px,transparent 1px);
  background-size:35px 35px;
}
.visual-orbit {
  position:absolute;
  border:1px solid #5b3f80;
  border-radius:50%;
}
.orbit-1 {
  width:240px;
  height:240px;
}
.orbit-2 {
  width:365px;
  height:365px;
  opacity:.55;
}
.visual-center {
  position:relative;
  z-index:1;
  font-size:75px;
  font-weight:800;
  letter-spacing:-.1em;
  color:#fff;
  text-shadow:0 0 50px #a855f755;
}
.visual-center span {
  color:var(--secondary);
}
.orbit-tag {
  position:absolute;
  z-index:2;
  background:#1c1030;
  border:1px solid #5b3f80;
  color:#fff;
  font-size:10px;
  letter-spacing:.1em;
  padding:12px 16px;
}
.top-tag {
  top:100px;
  right:24px;
}
.bottom-tag {
  bottom:90px;
  left:24px;
}
.cta-band {
  padding:83px 0;
  background:linear-gradient(115deg,#2a1140,#241038 55%,#170b26);
  border-top:1px solid #5b3f80;
  border-bottom:1px solid #5b3f80;
}
.cta-band .eyebrow {
  color:var(--secondary);
}
.cta-band h2 {
  color:#fff;
}
.cta-band p {
  color:#d8c7ef;
}
.cta-layout {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.cta-layout h2 {
  margin:16px 0;
}
.cta-layout p {
  margin-bottom:0;
}
.page-hero {
  padding:108px 0 118px;
  background:radial-gradient(ellipse at 85% 30%,rgba(124,58,237,.1),transparent 47%),linear-gradient(125deg,#ffffff,#faf8ff);
  border-bottom:1px solid var(--line);
}
.page-hero .shell {
  max-width:1240px;
}
.page-hero h1 {
  max-width:920px;
  margin:23px 0;
}
.page-hero p {
  max-width:680px;
  font-size:17px;
}
.breadcrumbs {
  display:flex;
  gap:12px;
  font-size:11px;
  color:#766f88;
  margin-bottom:35px;
}
.breadcrumbs a:hover {
  color:var(--primary);
}
.solution-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.solution-card {
  border:1px solid var(--line);
  padding:35px;
  background:#fff;
  box-shadow:0 1px 3px rgba(30,15,55,.05);
  min-height:230px;
  display:block;
}
.solution-card h3 {
  margin:23px 0 10px;
}
.solution-card p {
  font-size:13px;
}
.solution-symbol {
  color:var(--primary);
  font-size:24px;
}
.contact-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
}
.contact-grid h2 {
  margin:15px 0;
}
.contact-detail {
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:40px;
}
.contact-detail small {
  color:var(--primary);
  font-size:10px;
  letter-spacing:.12em;
}
.contact-detail a {
  font-size:15px;
}
.contact-detail a:hover {
  color:var(--primary);
}
.contact-form {
  background:var(--panel);
  border:1px solid var(--line);
  padding:36px;
  display:flex;
  flex-direction:column;
  gap:11px;
}
.contact-form h3 {
  margin-bottom:2px;
}
.contact-form p {
  font-size:11px;
  margin:0 0 10px;
}
.contact-form label {
  font-size:12px;
  font-weight:700;
  margin-top:9px;
}
.contact-form input,.contact-form select,.contact-form textarea {
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  padding:14px;
  color:var(--text);
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus {
  border-color:var(--primary);
  outline:2px solid var(--primary);
  outline-offset:1px;
}
.contact-form button {
  margin-top:15px;
}
.form-note {
  font-size:12px;
  color:var(--primary);
}
.footer {
  background:var(--panel);
  padding:70px 0 25px;
}
.footer-main {
  display:grid;
  grid-template-columns:1.5fr 1fr 1.1fr 1fr 1fr;
  gap:30px;
}
.footer-main>div {
  display:flex;
  flex-direction:column;
  gap:15px;
}
.footer-main>div:first-child {
  display:block;
}
.footer-main p {
  font-size:12px;
  max-width:280px;
}
.footer-main h4 {
  font-size:12px;
  margin:4px 0 10px;
}
.footer-main a:not(.brand) {
  font-size:12px;
  color:var(--muted);
}
.footer-main a:hover {
  color:var(--primary);
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:15px;
  border-top:1px solid var(--line);
  margin-top:65px;
  padding-top:24px;
  color:var(--muted);
  font-size:11px;
}
@media(max-width:1180px) {
  .nav-links {
    gap:11px;
  }
  .nav-link {
    font-size:10px;
  }
  .login-link {
    display:none;
  }
  .nav-shell {
    gap:16px;
  }
  .hero-grid {
    gap:25px;
  }
  .pillar-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .pillar-grid-6 {
    grid-template-columns:repeat(2,1fr);
  }
  .feature-grid {
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:950px) {
  .nav-shell {
    height:72px;
  }
  .menu-toggle {
    display:block;
    margin-left:auto;
  }
  .nav-actions {
    margin-left:auto;
  }
  .nav-links {
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    padding:18px 30px 25px;
    background:#fff;
    border-bottom:1px solid var(--line);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    box-shadow:0 20px 40px rgba(30,15,55,.08);
  }
  .nav-links.open {
    display:flex;
  }
  .nav-link {
    padding:13px 0;
    font-size:13px;
  }
  .nav-dropdown-toggle {
    width:100%;
    justify-content:space-between;
  }
  .nav-dropdown-menu {
    position:static;
    margin:0 0 8px;
    box-shadow:none;
    border:0;
    background:var(--panel);
  }
  .hero-grid,.challenge-grid,.workflow,.split,.contact-grid {
    grid-template-columns:1fr;
    gap:45px;
  }
  .arch-diagram {
    grid-template-columns:1fr;
  }
  .arch-arrow {
    transform:rotate(90deg);
    margin:0 auto;
  }
  .why-grid {
    grid-template-columns:1fr;
  }
  .spec-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .hero {
    padding:75px 0;
  }
  .abstract-visual {
    min-height:380px;
  }
  .split.reverse .split-copy {
    order:0;
  }
  .footer-main {
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:600px) {
  .shell {
    padding:0 20px;
  }
  .nav-actions .btn {
    display:none;
  }
  .brand-logo {
    height:32px;
  }
  .hero {
    padding:64px 0;
  }
  .hero-copy h1 {
    font-size:clamp(2.5rem,11vw,4rem);
  }
  .hero-notes {
    gap:10px;
  }
  .section {
    padding:70px 0;
  }
  .pillar-grid,.solution-grid,.feature-grid,.pillar-grid-6 {
    grid-template-columns:1fr;
  }
  .spec-grid {
    grid-template-columns:1fr;
  }
  .stats-grid {
    grid-template-columns:1fr;
    gap:20px;
  }
  .pillar-card {
    min-height:245px;
  }
  .pillar-card h3 {
    margin-top:32px;
  }
  .cta-layout {
    align-items:flex-start;
    flex-direction:column;
  }
  .footer-main {
    grid-template-columns:1fr 1fr;
    gap:28px;
  }
  .footer-main>div:first-child {
    grid-column:span 2;
  }
  .footer-bottom {
    flex-direction:column;
  }
  .page-hero {
    padding:75px 0;
  }
  .contact-form {
    padding:22px;
  }
  .abstract-visual {
    min-height:300px;
  }
  .orbit-1 {
    width:170px;
    height:170px;
  }
  .orbit-2 {
    width:260px;
    height:260px;
  }
  .visual-center {
    font-size:55px;
  }
}
