*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:#172033;background:#f7f9fc;line-height:1.6}a{color:inherit}.wrap{width:min(1120px,92%);margin:auto}header{background:rgba(255,255,255,.96);border-bottom:1px solid #d9e0ea;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-weight:800;font-size:20px}.brand span{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#667085}.nav nav{display:flex;gap:22px;align-items:center}.nav nav a{text-decoration:none;font-size:14px;font-weight:600}.nav .cta{background:#111827;color:#fff;padding:9px 15px;border-radius:8px}.hero{padding:90px 0;background:#eef4ff;position:relative;overflow:hidden;border-bottom:1px solid #dbe5f2}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(22,169,232,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(22,169,232,.07) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to right,black,transparent 78%);pointer-events:none}.hero::after{content:"";position:absolute;width:320px;height:320px;right:-90px;top:-120px;border:1px solid rgba(22,169,232,.22);border-radius:50%;box-shadow:0 0 0 28px rgba(22,169,232,.035),0 0 0 58px rgba(22,169,232,.025);pointer-events:none}.hero .wrap{position:relative;z-index:1}.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:55px;align-items:center}.hero small,.section small,.dark small{font-weight:800;letter-spacing:1.5px;color:#5267a8}.hero h1{font-size:clamp(40px,5vw,64px);line-height:1.05;letter-spacing:-2px;margin:15px 0}.hero p{font-size:19px;color:#536174}.button{display:inline-block;background:#111827;color:#fff;text-decoration:none;padding:13px 20px;border-radius:8px;font-weight:800;margin-top:14px}.panel{background:linear-gradient(145deg,#0b1220,#17233a);color:#e7eaf0;padding:28px;border-radius:15px;box-shadow:0 18px 45px rgba(17,24,39,.16);border:1px solid #2d405d;position:relative;overflow:hidden}.panel::before{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(22,169,232,.35);border-radius:50%;right:-70px;top:-70px;box-shadow:0 0 0 18px rgba(22,169,232,.05),0 0 0 38px rgba(22,169,232,.035)}.panel b{color:#9fb5ff;font-family:monospace}.panel p{border-top:1px solid #30394a;padding:10px 0;margin:0}.section,.dark{padding:80px 0}.section> .wrap>small,.dark> .wrap>small{display:inline-block;padding:6px 10px;border-left:3px solid #16a9e8;background:#eef8fd;color:#3e5b83;border-radius:0 5px 5px 0}.section h2,.dark h2{position:relative;margin-top:12px}.section h2::after,.dark h2::after{content:"";display:block;width:54px;height:3px;background:#16a9e8;margin-top:12px;border-radius:2px}.section h2,.dark h2{font-size:36px;line-height:1.15}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{background:#fff;border:1px solid #e0e6ef;border-radius:13px;padding:23px;box-shadow:0 6px 20px rgba(16,24,40,.035);transition:transform .18s ease,border-color .18s ease}.cards article:hover{transform:translateY(-2px);border-color:#b9dff0}.cards p{color:#667085}.dark{background:#111827;color:#fff}.dark small{color:#9fb5ff}.dark p{border-bottom:1px solid #30394a;padding:10px 0}.center{text-align:center}footer{background:#0b1020;color:#aeb8c8;padding:25px 0;font-size:13px}@media(max-width:800px){.nav{align-items:flex-start;padding:15px 0}.nav nav{gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.grid,.cards{grid-template-columns:1fr}.hero{padding:60px 0}.hero::before{background-size:26px 26px;mask-image:linear-gradient(to right,black,transparent 92%)}.hero::after{width:220px;height:220px;right:-110px;top:-80px}.hero h1{font-size:42px}.section,.dark{padding:60px 0}.cards article{padding:20px}}
/* RR CyberLab training branding */
.rr-hero{background:linear-gradient(135deg,#edf5ff 0%,#f8fcff 55%,#e7f7ff 100%)}.rr-hero .panel{background:linear-gradient(145deg,#07111f,#102b43)}
.rr-brand{margin-bottom:18px}.rr-brand strong{display:block;font-size:clamp(30px,4vw,46px);letter-spacing:-1px;color:#111827}.rr-brand strong::first-letter{color:#16a9e8}.rr-brand span{display:block;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#5267a8;margin-top:2px}
.tech-status{font-size:11px!important;letter-spacing:1.2px;color:#63d4ff!important;border-top:0!important;padding-top:0!important}


/* RR CyberLab Quick Reads */
.article{max-width:900px}.lead{font-size:1.12rem;max-width:760px}.quick-read{margin:28px 0;padding:18px 20px;border:1px solid rgba(82,211,255,.35);border-left:4px solid #52d3ff;background:rgba(7,20,34,.72);border-radius:12px}.quick-read strong{letter-spacing:.08em}.reading-block{margin:18px 0;padding:20px 22px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.025)}.reading-block h2{margin-top:0}.article-footer{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button.secondary{background:transparent;border:1px solid rgba(82,211,255,.45)}.reading-grid article{display:flex;flex-direction:column}.reading-grid article .button{margin-top:auto;align-self:flex-start}.page-note{margin-top:34px}@media(max-width:700px){.article-footer .button{width:100%;text-align:center}.reading-block{padding:17px}}

/* RR CYBERLAB homepage — student/SOC beginner experience */
.home-page{background:#f6f9fc;color:#172033}.rr-nav-brand{display:flex!important;align-items:center;gap:8px!important;font-size:19px!important;letter-spacing:1px}.rr-nav-brand strong{color:#16c7e8}.rr-nav-brand span{display:inline!important;color:#172033!important;font-size:13px!important;letter-spacing:2.5px!important}.home-page header{background:rgba(4,9,18,.94);border-bottom:1px solid #18304b}.home-page header .rr-nav-brand span,.home-page header nav a{color:#d7e4f4!important}.home-page header nav a:hover{color:#63e7ff!important}.home-page header .cta{background:#16c7e8;color:#04101b!important}.lab-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 75% 20%,#123d5c 0,#081322 36%,#040812 78%);color:#edf7ff;padding:88px 0 76px;border-bottom:1px solid #183b57}.cyber-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(45,211,238,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(45,211,238,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at 60% 45%,#000 15%,transparent 78%)}.scanline{position:absolute;inset:0;background:linear-gradient(transparent 0%,rgba(34,211,238,.05) 50%,transparent 51%);background-size:100% 8px;opacity:.25;pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}.hero-kicker{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:900;letter-spacing:1.8px;color:#76e8ff;border:1px solid #245773;background:rgba(7,26,43,.7);padding:8px 11px;border-radius:999px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 14px #34d399;animation:pulse 1.5s infinite}.hero-brand{font-weight:950;font-size:clamp(34px,5vw,62px);letter-spacing:2px;line-height:1;margin:22px 0 4px}.hero-brand span{color:#4fe1ff}.hero-copy h1{font-size:clamp(42px,5.5vw,70px);line-height:.99;letter-spacing:-3px;margin:0 0 20px}.hero-copy h1 em{font-style:normal;color:#51dff9}.hero-lead{font-size:18px;line-height:1.65;color:#a9bdd1;max-width:700px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 17px}.hero-button{display:inline-block;text-decoration:none;padding:13px 18px;border-radius:10px;font-weight:900;font-size:14px}.hero-button.primary{background:#29d5ef;color:#03131d;box-shadow:0 10px 35px rgba(41,213,239,.18)}.hero-button.ghost{border:1px solid #315675;color:#d8ebfa;background:rgba(10,25,40,.65)}.hero-points{display:flex;gap:15px;flex-wrap:wrap;color:#7fa1b8;font-size:11px;font-weight:700}.hero-console{border:1px solid #234967;border-radius:18px;background:rgba(5,14,25,.86);box-shadow:0 25px 70px rgba(0,0,0,.35);overflow:hidden;transform:perspective(900px) rotateY(-3deg)}.console-top{display:flex;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #193a55;font:700 11px monospace;color:#9ec4da}.console-top i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399;margin-right:7px}.console-top b{color:#53dff9}.mini-map{height:285px;position:relative;background:radial-gradient(circle,#0c2d47 0,#071321 57%,#040912 100%);overflow:hidden}.mini-map svg{position:absolute;inset:0;width:100%;height:100%}.mini-map path{fill:none;stroke:#1dc8e8;stroke-width:1.4;opacity:.42;stroke-dasharray:5 8;animation:flow 7s linear infinite}.mini-map path:nth-child(2){stroke:#a78bfa;animation-duration:9s}.mini-map path:nth-child(3){stroke:#34d399;animation-duration:11s}.map-node{position:absolute;width:11px;height:11px;border-radius:50%;background:#f8ffff;border:2px solid #2dd4bf;box-shadow:0 0 18px #2dd4bf;animation:nodepulse 2.4s infinite}.n1{left:17%;top:30%}.n2{left:38%;top:55%;border-color:#facc15;box-shadow:0 0 18px #facc15}.n3{left:59%;top:28%;border-color:#fb4b5b;box-shadow:0 0 18px #fb4b5b}.n4{left:75%;top:64%}.n5{left:87%;top:40%;border-color:#a78bfa;box-shadow:0 0 18px #a78bfa}.console-alert{position:absolute;right:14px;bottom:14px;width:205px;background:rgba(6,13,23,.92);border:1px solid #6b2834;border-radius:10px;padding:10px 11px;box-shadow:0 10px 25px rgba(0,0,0,.3)}.console-alert b{display:block;color:#ff7d8c;font-size:10px;letter-spacing:1px}.console-alert span{display:block;color:#e6f1fa;font-size:12px;margin-top:3px}.console-alert small{display:block;color:#7895aa;margin-top:4px}.console-feed{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #193a55}.console-feed span{padding:10px 9px;font:10px monospace;color:#7894a8;border-right:1px solid #193a55}.console-feed span:last-child{border-right:0}.console-feed b{color:#58dff7}.lab-intro{padding:84px 0 70px}.section-label{display:inline-block;font-size:10px;font-weight:950;letter-spacing:2px;color:#3b6a84;border-left:3px solid #16c7e8;padding:5px 9px;background:#eaf9fd;border-radius:0 5px 5px 0}.lab-intro h2,.scenario-strip h2,.how-section h2{font-size:clamp(32px,4vw,46px);letter-spacing:-1.5px;margin:13px 0 8px}.section-lead{max-width:720px;color:#657387;font-size:17px}.lab-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:30px}.lab-card{position:relative;text-decoration:none;color:#172033;background:#fff;border:1px solid #dce5ee;border-radius:16px;padding:22px;min-height:250px;box-shadow:0 8px 25px rgba(13,32,52,.045);transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.lab-card::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-70px;top:-70px;background:rgba(22,199,232,.08)}.lab-card:hover{transform:translateY(-6px);border-color:#67dff4;box-shadow:0 18px 45px rgba(15,70,100,.12)}.lab-card.featured{background:linear-gradient(150deg,#071321,#0d2639);color:#edf8ff;border-color:#194766}.lab-card.featured p{color:#9db6ca}.lab-card.featured .card-tag,.lab-card.featured .card-link{color:#53dff9}.lab-icon{font-size:31px;margin-bottom:12px}.card-tag{font-size:9px;font-weight:950;letter-spacing:1.7px;color:#56819a}.lab-card h3{font-size:20px;margin:8px 0}.lab-card p{color:#6a788a;font-size:13px;line-height:1.65}.card-link{position:absolute;bottom:18px;font-size:12px;font-weight:900;color:#167a9a}.scenario-strip{background:#eef6fb;padding:72px 0}.split-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.text-link{font-weight:900;color:#147b9d;text-decoration:none}.scenario-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:25px}.scenario-row>div{background:#fff;border:1px solid #d9e4ec;border-radius:12px;padding:17px}.scenario-row span{display:block;color:#56b5cc;font:800 11px monospace}.scenario-row b{display:block;font-size:14px;margin:6px 0}.scenario-row small{color:#748397;font-size:11px}.how-section{padding:82px 0}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.method-grid>div{border-top:2px solid #d5e7ef;padding:18px 6px}.method-grid span{font:900 11px monospace;color:#17a9c7}.method-grid h3{letter-spacing:1px;margin:8px 0}.method-grid p{color:#687789;font-size:13px}.home-cta{padding:70px 0}.cta-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}.dark-label{color:#64dff5;background:rgba(82,211,255,.08);border-left-color:#52d3ff}.home-cta h2{font-size:clamp(32px,4vw,48px);margin:12px 0}.home-cta p{color:#9bb0c3;max-width:650px}.cta-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.button.bright{background:#32d8ee;color:#04121b}.button.outline{background:transparent;border:1px solid #3d5b72}.home-page footer{background:#040912;color:#7892a6;padding:26px 0}.home-page footer b{color:#55dff6}@keyframes flow{to{stroke-dashoffset:-120}}@keyframes nodepulse{50%{transform:scale(1.4);opacity:.65}}
@media(max-width:950px){.hero-grid,.cta-grid{grid-template-columns:1fr}.hero-console{transform:none}.lab-cards{grid-template-columns:1fr 1fr}.scenario-row{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr 1fr}.cta-buttons{justify-content:flex-start}}
@media(max-width:650px){.home-page header .nav{align-items:center}.home-page header nav{gap:6px}.home-page header nav a{font-size:11px;padding:5px}.lab-hero{padding:55px 0}.hero-copy h1{letter-spacing:-2px}.hero-lead{font-size:16px}.hero-console{margin-top:8px}.console-feed{grid-template-columns:1fr}.console-feed span{border-right:0;border-bottom:1px solid #193a55}.lab-cards,.scenario-row,.method-grid{grid-template-columns:1fr}.lab-intro,.how-section{padding:60px 0}.scenario-strip{padding:55px 0}.split-head{align-items:start;flex-direction:column}.home-page .button{margin-top:5px}}
/* Final RR CyberLab consistency layer */
body:not(.home-page){background:radial-gradient(circle at 80% -10%,rgba(22,169,232,.08),transparent 30%),#f7f9fc}body:not(.home-page) header{background:rgba(4,9,18,.96);border-bottom:1px solid #18304b}body:not(.home-page) .rr-nav-brand strong{color:#4fe1ff}body:not(.home-page) .rr-nav-brand span,body:not(.home-page) .nav nav a{color:#d7e4f4!important}body:not(.home-page) .nav nav a:hover{color:#63e7ff!important}body:not(.home-page) .nav .cta{background:#16c7e8;color:#04101b!important}.section-label{font-weight:900}

/* Cyber Range usability / demo layer */
.range-start-here{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:center;margin:18px 0;padding:22px;border:1px solid rgba(96,199,255,.28);background:linear-gradient(135deg,rgba(10,28,45,.96),rgba(16,26,44,.96));box-shadow:0 0 35px rgba(55,170,255,.08)}
.range-start-here h2{margin:.25rem 0 .45rem;font-size:clamp(1.5rem,3vw,2.2rem)}
.range-start-here p{margin:.35rem 0 1rem;max-width:760px;color:#d8e7f5;line-height:1.6}
.range-start-steps{display:grid;grid-template-columns:1fr;gap:10px}
.range-start-steps div{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.range-start-steps b{font-size:.78rem;color:#60c7ff}.range-start-steps span{font-weight:700}
.range-plain{margin:0 0 16px;padding:14px 18px;background:rgba(255,255,255,.035);border-left:3px solid #60c7ff}.range-plain p{margin:.25rem 0;line-height:1.6}
.range-contact{margin:22px 0;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:14px;background:linear-gradient(110deg,rgba(16,35,53,.98),rgba(31,27,49,.98));border:1px solid rgba(98,184,255,.25)}
.range-contact h2{margin:.2rem 0 .4rem}.range-contact p{margin:0;max-width:760px;line-height:1.55;color:#d5e4f2}
@media(max-width:800px){.range-start-here{grid-template-columns:1fr}.range-contact{flex-direction:column;align-items:flex-start}.range-start-here .range-btn{margin-top:8px}}

/* RR CyberLab — readability & accessibility pass */
body{font-size:17px;line-height:1.7}
.nav nav a{font-size:15.5px;font-weight:700}
.nav .cta{font-size:15.5px;padding:11px 17px}
.hero p,.section p,.dark p{font-size:1.05rem;line-height:1.75}
.cards p{font-size:1rem;line-height:1.7}
.button,.hero-button{font-size:15.5px}
input,select,textarea,button{font:inherit}
:focus-visible{outline:3px solid #22c7ee;outline-offset:3px}
@media(max-width:800px){body{font-size:16.5px}.nav nav a{font-size:14px}.nav .cta{font-size:14px}.hero p,.section p,.dark p{font-size:1rem}}

/* Cyber Range — larger, clearer demo typography */
body.range-page{font-size:17px;line-height:1.7}
.range-shell p{font-size:1.05rem;line-height:1.72}
.range-shell h2{font-size:clamp(1.6rem,3vw,2.25rem)}
.range-shell h3{font-size:1.25rem}
.range-hero h1{font-size:clamp(34px,4.5vw,58px)}
.range-hero .eyebrow{font-size:14px}
.range-tag{font-size:14px;padding:8px 12px}
.range-tabs button,.range-btn{font-size:16px;padding:13px 18px;min-height:48px}
.range-card{padding:23px}
.range-card small,.range-small{font-size:14px}
.range-console{font-size:15px;line-height:1.8}
.range-choices button,.range-levels button{font-size:16px;line-height:1.4;min-height:48px}
.range-feedback{font-size:16px;line-height:1.65}
.range-steps span{font-size:14px;padding:9px 12px}
.range-footer{font-size:14px;line-height:1.6}
@media(max-width:800px){body.range-page{font-size:16.5px}.range-shell p{font-size:1rem}.range-tabs button,.range-btn{font-size:15px}.range-choices button,.range-levels button{font-size:15px}}


/* October 16 launch hero: original SOC artwork, dark text-safe overlay, and existing network texture. */
.home-page .lab-hero {
  background-image: linear-gradient(90deg, rgba(2, 8, 18, .96) 0%, rgba(3, 10, 21, .90) 37%, rgba(3, 11, 22, .62) 69%, rgba(3, 9, 18, .52) 100%), linear-gradient(0deg, rgba(2, 7, 16, .54), transparent 58%), url("assets/rr-cyberlab-soc.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.home-page .hero-console {
  backdrop-filter: blur(10px);
  border-color: rgba(67, 194, 226, .38);
}
.home-page .hero-button:focus-visible,
.home-page .nav a:focus-visible {
  outline: 3px solid #7aefff;
  outline-offset: 3px;
}
@media (max-width: 650px) {
  .home-page .lab-hero { background-position: 58% center; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .lab-hero *, .home-page .lab-hero *::before,
  .home-page .lab-hero *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Homepage lab navigation and responsive card grouping. */
.home-page header nav { gap: 12px; flex-wrap: nowrap; }
.home-page header nav a { white-space: nowrap; font-size: 13px; }
.home-page .lab-switcher {
  position: relative; z-index: 19; display: flex; align-items: center; gap: 8px;
  width: min(1120px, 92%); margin: 10px auto 0; padding: 9px 0 12px;
  overflow-x: auto; scrollbar-width: thin; scrollbar-color: #24546b #07111d;
}
.home-page .lab-switch-label { flex: 0 0 auto; color: #62dff5; font-size: 10px; font-weight: 950; letter-spacing: 1.4px; }
.home-page .lab-switcher a {
  flex: 0 0 auto; min-width: 210px; padding: 8px 11px; border: 1px solid #1d4058;
  border-radius: 9px; background: rgba(5, 17, 29, .94); color: #d7e9f5;
  font-size: 11px; font-weight: 850; line-height: 1.35; text-decoration: none;
}
.home-page .lab-switcher a:hover { border-color: #4cdef6; background: #0a2132; }
.home-page .lab-switcher small { display: block; margin-top: 3px; color: #80a1b6; font-size: 9px; font-weight: 600; }
@media (max-width: 950px) {
  .home-page header nav { gap: 8px; }
  .home-page header nav a { font-size: 12px; }
  .home-page .lab-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .home-page header .nav { align-items: center; flex-wrap: wrap; gap: 6px; padding: 8px 0 4px; }
  .home-page header .brand { flex: 0 0 100%; }
  .home-page header nav { width: 100%; max-width: 100%; overflow-x: auto; justify-content: flex-start; gap: 14px; padding: 5px 0 8px; scrollbar-width: thin; }
  .home-page header nav a { flex: 0 0 auto; font-size: 12px; padding: 5px 0; }
  .home-page .lab-switcher { width: 92%; margin-top: 6px; padding-bottom: 10px; }
  .home-page .lab-switcher a { min-width: 185px; }
  .home-page .lab-cards { grid-template-columns: 1fr; }
}
.home-page .hero-packet {
  position: absolute;
  z-index: 0;
  padding: 7px 10px;
  border: 1px solid rgba(76, 208, 237, .22);
  border-radius: 8px;
  background: rgba(3, 12, 23, .58);
  color: #8ac9dc;
  font: 9px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .35px;
  pointer-events: none;
  opacity: .72;
}
.home-page .packet-a { top: 11%; right: 13%; }
.home-page .packet-b { top: 19%; right: 3%; }
.home-page .packet-c { top: 27%; right: 15%; }
@media (max-width: 650px) {
  .home-page .hero-packet { display: none; }
}
.home-page .lab-switcher {
  width: 100%; max-width: none; margin: 0; padding: 10px max(calc((100% - 1120px) / 2), 4%) 12px;
  background: linear-gradient(90deg, #040b15, #071523 55%, #040b15);
  border-bottom: 1px solid #17374e;
}

/* October UX review: carry the cinematic SOC look through the homepage. */
.home-page .lab-intro,
.home-page .scenario-strip,
.home-page .how-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #eaf6ff;
  background-color: #06101c;
  background-image:
    radial-gradient(ellipse at 84% 4%, rgba(0, 193, 231, .13), transparent 35%),
    radial-gradient(ellipse at 8% 94%, rgba(42, 84, 190, .13), transparent 32%),
    linear-gradient(rgba(68, 182, 220, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(68, 182, 220, .035) 1px, transparent 1px);
  background-size: auto, auto, 38px 38px, 38px 38px;
}
.home-page .lab-intro::before,
.home-page .scenario-strip::before,
.home-page .how-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, rgba(1, 9, 18, .24) 100%);
}
.home-page .lab-intro h2,
.home-page .scenario-strip h2,
.home-page .how-section h2 { color: #edf8ff; }
.home-page .section-label {
  color: #70e4fa;
  background: rgba(9, 32, 48, .84);
  border-left-color: #2ad5ef;
}
.home-page .section-lead { color: #a9bfd0; }
.home-page .lab-card {
  color: #eaf6ff;
  background: linear-gradient(150deg, rgba(12, 30, 47, .97), rgba(6, 17, 29, .97));
  border-color: #1b4059;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .2);
}
.home-page .lab-card p { color: #a6bbcc; }
.home-page .lab-card .card-tag { color: #7ac9dc; }
.home-page .lab-card .card-link,
.home-page .text-link { color: #5be4ff; }
.home-page .lab-card.featured {
  background: linear-gradient(145deg, rgba(7, 39, 58, .98), rgba(8, 20, 36, .98));
  border-color: #26708a;
  box-shadow: inset 0 1px rgba(99, 224, 255, .1), 0 15px 42px rgba(0, 0, 0, .24);
}
.home-page .lab-card:hover { border-color: #57dbf5; box-shadow: 0 18px 44px rgba(0, 168, 205, .14); }
.home-page .scenario-strip {
  background-color: #081522;
  border-top: 1px solid #15364d;
  border-bottom: 1px solid #15364d;
}
.home-page .scenario-row > div {
  color: #eaf6ff;
  background: linear-gradient(145deg, rgba(14, 34, 51, .98), rgba(7, 18, 30, .98));
  border-color: #1d4058;
}
.home-page .scenario-row span { color: #5cdbf2; }
.home-page .scenario-row small { color: #9ab0c2; }
.home-page .method-grid > div { border-top-color: #24506a; }
.home-page .method-grid span { color: #5ee0f5; }
.home-page .method-grid h3 { color: #e8f6ff; }
.home-page .method-grid p { color: #a3b8c9; }
.home-page .home-cta {
  background-image: radial-gradient(ellipse at 8% 0, rgba(12, 114, 145, .2), transparent 35%), linear-gradient(110deg, #050c16, #0a1725 60%, #101326);
  border-top: 1px solid #1b4158;
}
@media (max-width: 650px) {
  .home-page .lab-switcher { width: 100%; margin: 0; padding: 9px 4% 10px; }
}
@media (min-width: 651px) {
  .home-page .lab-hero { padding: 52px 0 44px; }
  .home-page .hero-brand { font-size: clamp(34px, 4.3vw, 54px); margin: 18px 0 4px; }
  .home-page .hero-copy h1 { font-size: clamp(42px, 4.4vw, 58px); }
  .home-page .hero-lead { font-size: 16.5px; line-height: 1.5; }
  .home-page .hero-actions { margin-top: 18px; }
}

.nav nav .mission-nav-link{color:#63e3ff!important;border:1px solid #28607b;border-radius:7px;padding:7px 9px;background:#0b1c2b}.nav nav .mission-nav-link:hover{background:#113149;color:#fff!important}

/* Training brand contrast fix */
.rr-brand strong{color:#eef6ff}
.site-legal-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid rgba(95,185,220,.16);font-size:13px}.site-legal-links a{color:#7fdcf0;text-decoration:underline;text-underline-offset:3px}.site-legal-links a:hover{color:#c7f6ff}

/* October test-build homepage art direction: cinematic SOC photo + readable overlay. */
.home-page .lab-hero{background-image:linear-gradient(90deg,rgba(3,8,16,.78) 0%,rgba(3,9,18,.58) 42%,rgba(3,9,18,.26) 100%),url("assets/rr-cyberlab-soc.jpg"),radial-gradient(circle at 75% 20%,#123d5c 0,#081322 36%,#040812 78%);background-size:cover;background-position:center 46%;}
.home-page .lab-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,7,14,.04),rgba(2,7,14,.18));}
.home-page .lab-hero .hero-grid{z-index:2}
.home-page .hero-copy{padding:28px 0}
.home-page .hero-brand{display:inline-flex;gap:14px;align-items:baseline;color:#58e5ff;text-shadow:0 0 28px rgba(43,205,240,.24)}
.home-page .hero-brand span{color:#f2f8ff}
.home-page .hero-console{backdrop-filter:blur(5px);border-color:rgba(74,216,255,.52);box-shadow:0 24px 80px rgba(0,0,0,.58),0 0 36px rgba(19,181,220,.12)}
.home-page .hero-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:800px){.home-page .lab-hero{background-position:56% center}.home-page .hero-copy{padding:0}}

/* RR CyberLabs brand kit — homepage logo treatment */
.home-page .rr-nav-brand{gap:9px!important;color:#f3f8ff!important;font-size:14px!important;letter-spacing:1.7px!important}
.home-page .rr-nav-brand img{width:38px;height:38px;object-fit:cover;border-radius:10px;border:1px solid #30d9f5;box-shadow:0 0 18px #08c8f544}
.home-page .rr-nav-brand span{font-weight:900!important;color:#eff8ff!important;font-size:13px!important;letter-spacing:1.8px!important}
.home-page .hero-brand-art{display:block;width:min(100%,440px);height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid #1b8db4;border-radius:20px;box-shadow:0 0 0 5px #12d5f513,0 18px 55px #020710aa,0 0 36px #a638ff24;margin:0 0 24px}
.home-page .hero-kicker{border-color:#45628a;background:linear-gradient(100deg,#071a2bcf,#25143ac9);box-shadow:inset 0 0 18px #a638ff18}
.home-page .hero-button.primary{background:linear-gradient(110deg,#05aeca,#1675c7 72%,#9b3dc9);border-color:#5bdff4;box-shadow:0 8px 28px #06c9e533}
.home-page .hero-button.ghost:hover{border-color:#d05bff;color:#efc4ff}
@media(max-width:900px){.home-page .hero-brand-art{width:min(100%,390px);margin-bottom:18px}}
@media(max-width:540px){.home-page .hero-brand-art{width:min(100%,340px);border-radius:15px}.home-page .rr-nav-brand img{width:32px;height:32px}}

/* RR CyberLab Mobile spotlight */
.android-app-promo{padding:54px 0;background:linear-gradient(180deg,#07111f,#091725 70%,#06101b);border-top:1px solid #17354b;border-bottom:1px solid #17354b;color:#e9f6ff;overflow:hidden}
.android-app-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:center;gap:50px;position:relative;padding:30px clamp(22px,4vw,52px);border:1px solid #1b4760;border-radius:23px;background:radial-gradient(ellipse at 92% 10%,#37204b88,transparent 34%),radial-gradient(ellipse at 4% 100%,#08708a44,transparent 45%),#0a1725;box-shadow:0 24px 65px #0005}
.android-app-copy h2{max-width:700px;margin:15px 0 10px;color:#f1f8ff;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-1.4px}
.android-app-copy>p{max-width:680px;color:#a7bbcf;line-height:1.7;font-size:16px}
.android-app-promo .section-label{color:#80eaff;background:#092033;border-left-color:#2bd8f4}
.app-feature-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.app-feature-chips span{padding:7px 10px;border:1px solid #294861;border-radius:999px;background:#0c2131;color:#c7deee;font-size:11px;font-weight:750}
.app-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:22px}
.app-actions .hero-button{margin:0;background:linear-gradient(110deg,#05aeca,#1675c7 72%,#9b3dc9);color:white;border:1px solid #5bdff4}
.app-release-note{color:#8da6bc;font-size:11px;font-weight:700}
.app-phone{justify-self:center;position:relative;width:min(100%,270px);padding:14px 10px 12px;border:1px solid #4d7895;border-radius:32px;background:linear-gradient(145deg,#192a3c,#050a11);box-shadow:0 22px 65px #0009,0 0 35px #17cdf324;transform:rotate(2deg)}
.phone-camera{width:48px;height:8px;margin:-4px auto 8px;border-radius:8px;background:#02060b;border:1px solid #20364a}
.phone-screen{min-height:314px;padding:13px 12px;border-radius:20px;background:linear-gradient(165deg,#071421,#091b29 60%,#0b1121);border:1px solid #233e54}
.phone-app-head{display:flex;align-items:center;gap:9px;padding-bottom:12px;border-bottom:1px solid #203548}
.phone-app-head img{width:36px;height:36px;object-fit:cover;border:1px solid #42d7ee;border-radius:9px}
.phone-app-head span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#edf8ff}
.phone-app-head small{display:block;margin-top:4px;font-size:7px;color:#7897ae;letter-spacing:.06em}
.phone-status{margin:13px 0 9px;color:#83abc0;font:700 8px ui-monospace,monospace;letter-spacing:.07em}
.phone-status i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#40dda9;box-shadow:0 0 8px #40dda9}
.phone-status b{float:right;color:#c292ff}
.phone-module{margin-top:8px;padding:10px;border:1px solid #26435a;border-radius:10px;background:linear-gradient(115deg,#0d2232,#101d2e)}
.phone-module b{display:block;color:#77e5ff;font-size:9px;letter-spacing:.04em}
.phone-module small{display:block;margin-top:5px;color:#9cb2c6;font-size:8px;line-height:1.4}
.phone-module:nth-of-type(4) b{color:#8ee9bf}.phone-module.muted{border-style:dashed;background:#0a1520}.phone-module.muted b{color:#c798ff}
.app-page{max-width:1180px;width:92%;margin:0 auto;padding:48px 0 76px;color:#eaf4fc}
.app-page-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;padding:clamp(24px,5vw,55px);border:1px solid #1b4660;border-radius:23px;background:radial-gradient(ellipse at 89% 8%,#59237a55,transparent 37%),linear-gradient(135deg,#091826,#07111c 75%);box-shadow:0 20px 55px #0005}
.app-page-hero h1{margin:14px 0;color:#f2f8ff;font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-1.8px}
.app-page-hero p{max-width:700px;color:#a8bdd0;font-size:16px;line-height:1.7}
.app-hero-mark{display:block;width:min(100%,245px);aspect-ratio:1;object-fit:cover;margin:auto;border:1px solid #41d7f4;border-radius:32px;box-shadow:0 0 0 7px #2ad7f413,0 20px 60px #0008}
.app-release-status{display:flex;gap:9px;align-items:flex-start;margin-top:18px;padding:13px 15px;border:1px solid #664c2f;border-left:3px solid #ffbf62;border-radius:10px;background:#261e15;color:#e8d6b5;font-size:12px;line-height:1.55}
.app-release-status b{color:#ffd18c;white-space:nowrap}
.app-page-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}
.app-page-actions a{display:inline-flex;align-items:center;min-height:43px;padding:10px 14px;border-radius:9px;border:1px solid #35536c;background:#102235;color:#d9f5ff;text-decoration:none;font-size:13px;font-weight:800}
.app-page-actions a:first-child{border-color:#4acfe8;background:linear-gradient(110deg,#087f9b,#164f88);color:#fff}
.app-module-section{padding:42px 0 0}
.app-module-section h2{margin:12px 0;color:#eff7ff;font-size:clamp(26px,4vw,38px)}
.app-module-section>p{max-width:800px;color:#a6b9cc;line-height:1.65}
.app-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.app-module-card{padding:17px;border:1px solid #203a51;border-radius:13px;background:linear-gradient(145deg,#0d1b29,#09131f)}
.app-module-card span{display:inline-block;margin-bottom:8px;color:#7fe7ff;font-size:9px;font-weight:900;letter-spacing:.13em}
.app-module-card h3{margin:0 0 5px;color:#eaf6ff;font-size:15px}
.app-module-card p{margin:0;color:#9cb1c5;font-size:12px;line-height:1.55}
.app-safety-note{margin-top:24px;padding:17px;border:1px solid #2d4b5d;border-radius:12px;background:#0a1b29;color:#a9c3d3;font-size:12px;line-height:1.65}
.app-safety-note b{color:#73e6ff}
@media(max-width:800px){.android-app-card,.app-page-hero{grid-template-columns:1fr}.android-app-card{gap:28px}.app-phone{transform:none}.app-page-hero{gap:25px}.app-hero-mark{width:min(62vw,225px)}}
@media(max-width:560px){.android-app-promo{padding:36px 0}.android-app-card{padding:22px 18px}.app-actions{align-items:flex-start;flex-direction:column}.app-module-grid{grid-template-columns:1fr}.app-page{padding:25px 0 55px}.app-page-hero{padding:23px 18px}.app-release-status{flex-direction:column}}

/* GRC learning pages and cross-lab links */
.grc-page{padding:38px 0 64px}.grc-hero,.grc-section,.grc-tool-hero,.grc-form-card,.grc-register{background:linear-gradient(145deg,rgba(15,27,49,.96),rgba(8,16,31,.96));border:1px solid rgba(94,174,255,.2);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.grc-hero,.grc-tool-hero{padding:clamp(24px,5vw,48px);margin-bottom:22px}.grc-hero h1,.grc-tool-hero h1{max-width:900px}.grc-section{padding:clamp(20px,4vw,32px);margin:20px 0}.grc-three,.grc-evidence-grid,.grc-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grc-three>*,.grc-evidence-grid>*,.grc-link-grid>*{padding:18px;border:1px solid rgba(94,174,255,.17);border-radius:14px;background:rgba(3,10,23,.46)}.grc-steps{display:grid;gap:12px;counter-reset:grc-step}.grc-steps>*{padding:16px 18px;border-left:3px solid #55ddff;background:rgba(3,10,23,.4);border-radius:8px}.grc-example{padding:18px;border:1px solid rgba(99,225,178,.25);background:rgba(28,115,90,.12);border-radius:14px}.grc-page a,.grc-tool-page a,.grc-lab-bridge a{color:#66e3ff}.grc-tool-page{padding:28px 0 60px}.grc-tool-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.4fr);gap:18px;align-items:start}.grc-form-card,.grc-register{padding:20px;min-width:0}.grc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grc-form-grid label{display:grid;gap:6px}.grc-form-grid input,.grc-form-grid select,.grc-form-grid textarea{width:100%;min-width:0;padding:10px;border-radius:8px;border:1px solid #40516c;background:#071224;color:#f3f7ff}.grc-form-grid textarea{min-height:76px}.grc-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.grc-check-grid label{display:flex;align-items:center;gap:8px}.grc-score-preview{padding:12px;border-radius:10px;background:rgba(85,221,255,.08);margin:12px 0}.grc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.grc-actions button{cursor:pointer}.grc-table-wrap{overflow:auto;max-width:100%}.grc-table-wrap table{min-width:850px;width:100%;border-collapse:collapse}.grc-table-wrap th,.grc-table-wrap td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(150,180,220,.15)}.grc-table-wrap th{color:#8ee8ff}.grc-lab-bridge{margin:28px auto;padding:20px;border:1px solid rgba(94,174,255,.22);border-radius:16px;background:linear-gradient(120deg,rgba(16,35,60,.92),rgba(8,16,31,.92));max-width:1200px}.grc-lab-bridge h2{margin-top:0}.grc-lab-bridge nav{display:flex;gap:12px;flex-wrap:wrap}.grc-lab-bridge nav a{padding:9px 13px;border:1px solid rgba(102,227,255,.28);border-radius:999px;text-decoration:none}@media(max-width:760px){.grc-three,.grc-evidence-grid,.grc-link-grid{grid-template-columns:1fr}.grc-tool-layout{grid-template-columns:1fr}.grc-form-grid{grid-template-columns:1fr}.grc-check-grid{grid-template-columns:1fr}}
.grc-page,.grc-tool-wrap{max-width:1200px;margin:0 auto;padding:32px 22px 58px}.grc-page h1,.grc-tool-wrap h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.08}.grc-lead{font-size:1.08rem;line-height:1.7;color:#d3dfef}.grc-hero-links,.grc-tool-actions,.grc-register-actions,.grc-tool-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.grc-button,.grc-submit,.grc-clear,.grc-tool-actions button,.grc-register-actions button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(102,227,255,.4);border-radius:9px;padding:10px 14px;background:#11324b;color:#eafaff;text-decoration:none;font:inherit;cursor:pointer}.grc-button:hover,.grc-submit:hover,.grc-clear:hover,.grc-tool-actions button:hover,.grc-register-actions button:hover{background:#174963}.grc-button.secondary{background:transparent}.grc-callout,.grc-side-note,.grc-score-note,.grc-status{padding:12px 14px;border-radius:10px;background:rgba(85,221,255,.08);border:1px solid rgba(85,221,255,.16);margin-top:14px}.grc-tool-wrap>section{margin-bottom:18px}.grc-tool-wrap form>label{display:block;margin:13px 0 6px;font-weight:600}.grc-tool-wrap input:not([type=checkbox]),.grc-tool-wrap textarea,.grc-tool-wrap select{width:100%;padding:10px 12px;border:1px solid #40516c;border-radius:8px;background:#071224;color:#f3f7ff;font:inherit}.grc-tool-wrap textarea{min-height:78px;resize:vertical}.grc-tool-wrap :focus-visible,.grc-page a:focus-visible{outline:3px solid #70e5ff;outline-offset:2px}.grc-register-section{min-width:0;padding:18px;border:1px solid rgba(94,174,255,.2);border-radius:16px;background:rgba(8,16,31,.8)}.grc-empty{padding:18px;text-align:center;color:#bacbe0}.grc-score-key{display:flex;gap:8px;flex-wrap:wrap}.grc-score-key>*{padding:6px 9px;border-radius:7px;background:rgba(255,255,255,.05)}.grc-tool-foot{justify-content:flex-start}.grc-tool-foot a{padding:8px 10px}
