
/* Virtual Lab only. Header/menu/footer are intentionally NOT styled here. */
.vl-page{--vl-blue:var(--primary,#2563EB);--vl-navy:var(--secondary,#081B4B);--vl-text:var(--text,#475569);--vl-border:var(--border,#E7EEF9);font-family:Inter,sans-serif;color:var(--vl-navy);background:#fff}
.vl-page *{box-sizing:border-box}.vl-page a{text-decoration:none}.vl-container{width:min(1280px,calc(100% - 64px));margin:auto}
.vl-page section{padding:0;scroll-margin-top:90px}.vl-hero{padding:76px 0 64px!important;background:radial-gradient(circle at 75% 20%,rgba(37,99,235,.08),transparent 30%),linear-gradient(180deg,#fbfdff,#fff)}
.vl-hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:center}.vl-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #bcd2ff;border-radius:999px;color:#1757d8;background:#f8fbff;font-size:12px;font-weight:800}.vl-eyebrow svg{width:16px;height:16px}
.vl-hero h1{margin:20px 0 8px;font-size:clamp(54px,5vw,76px);line-height:.96;letter-spacing:-.055em;font-weight:800}.vl-hero h1 span{background:linear-gradient(90deg,#2563EB,#6d3df5);-webkit-background-clip:text;background-clip:text;color:transparent}.vl-hero h2{margin:0 0 18px;color:#5268a0;font-size:22px;line-height:1.3;font-weight:700}.vl-lead{max-width:590px;margin:0;color:var(--vl-text);font-size:16px;line-height:1.75}
.vl-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.vl-benefits>div{display:flex;gap:10px;align-items:flex-start}.vl-benefits>div>svg{width:32px;height:32px;padding:7px;flex:0 0 32px;border-radius:50%;color:var(--vl-blue);background:#eef4ff}.vl-benefits b,.vl-benefits small{display:block}.vl-benefits b{font-size:13px;margin-bottom:4px}.vl-benefits small{color:var(--vl-text);font-size:12px;line-height:1.45}
.vl-actions{display:flex;gap:14px}.vl-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border-radius:11px;font-size:14px;font-weight:750}.vl-btn svg{width:17px}.vl-btn.primary{color:#fff;background:var(--vl-blue);box-shadow:0 12px 26px rgba(37,99,235,.2)}.vl-btn.secondary{color:var(--vl-navy);background:#fff;border:1px solid #8fb3ff}
.vl-visual{overflow:hidden;border:1px solid #d9e5fb;border-radius:22px;background:#cfe0ff;box-shadow:0 25px 55px rgba(24,67,145,.12)}.vl-visual-bg{position:relative;min-height:390px;display:flex;align-items:flex-end;justify-content:center;padding:40px;background:radial-gradient(circle at 50% 20%,#eaf2ff,#bdd3ff)}.vl-float{position:absolute;color:#9bbcff}.vl-float svg{width:42px;height:42px}.vl-float.f1{left:11%;top:12%}.vl-float.f2{right:10%;top:16%}.vl-laptop{position:relative;width:62%;z-index:3}.vl-screen{height:220px;display:flex;padding:13px;border:10px solid #1d315a;border-bottom-width:15px;border-radius:13px 13px 5px 5px;background:#f5f8ff;box-shadow:0 18px 30px rgba(17,43,91,.2)}.vl-side{width:36px;display:flex;flex-direction:column;align-items:center;gap:15px;padding-top:8px;color:#2563EB}.vl-side svg{width:15px}.vl-player{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:7px;background:#e8effb;color:#7d90b2}.vl-player span{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#3567c9}.vl-player span svg{width:25px}.vl-player small{margin-top:12px;font-size:12px}.vl-keyboard{height:22px;margin:-1px -35px 0;border-radius:0 0 50% 50%;background:linear-gradient(#b8c7e0,#8da3c6);box-shadow:0 9px 12px rgba(30,61,112,.22)}.vl-lab-plant{position:absolute;left:8%;bottom:45px;width:105px;height:150px;display:grid;place-items:center;color:#42a76a}.vl-lab-plant svg{width:80px;height:80px}.vl-glassware{position:absolute;right:7%;bottom:42px;display:flex;align-items:flex-end;gap:9px}.vl-glassware .tube{display:block;width:28px;height:110px;border:4px solid #eaf3ff;border-top:0;border-radius:0 0 10px 10px;background:linear-gradient(transparent 45%,rgba(112,69,230,.65) 46%)}.vl-glassware .tube:nth-child(2){height:80px;background:linear-gradient(transparent 48%,rgba(54,190,119,.65) 49%)}.vl-glassware .tube:nth-child(3){height:95px;background:linear-gradient(transparent 50%,rgba(90,147,255,.65) 51%)}
.vl-visual-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 10px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px)}.vl-visual-stats>div{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid #cfddf4}.vl-visual-stats>div:last-child{border:0}.vl-visual-stats strong{color:#175be4;font-size:18px}.vl-visual-stats span{margin-top:4px;color:#334155;font-size:11px}.vl-visual-stats svg{width:22px;color:#2563EB}
.vl-subjects-section{padding:34px 0 54px!important}.vl-section-title{text-align:center;margin:0 0 30px;font-size:24px;letter-spacing:-.025em}.vl-subject-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.vl-subject{display:flex;align-items:flex-start;gap:15px;min-height:155px;padding:22px;border:1px solid #e2eaf5;border-radius:17px;color:var(--vl-navy);box-shadow:0 10px 30px rgba(15,23,42,.045);transition:.3s}.vl-subject:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(37,99,235,.1)}.vl-subject-icon{width:54px;height:54px;display:grid;place-items:center;flex:0 0 54px;border-radius:50%;background:#eaf2ff;color:#2563EB}.vl-subject-icon svg{width:28px;height:28px}.vl-subject h3{margin:5px 0 10px;font-size:16px}.vl-subject p{margin:0 0 13px;color:var(--vl-text);font-size:13px;line-height:1.6}.vl-subject b{font-size:12px;color:#175be4}.vl-chemistry{background:#f8fdf9}.vl-chemistry .vl-subject-icon,.vl-biology .vl-subject-icon{background:#e9f8ee;color:#159447}.vl-chemistry b,.vl-biology b{color:#168b3e}.vl-biology{background:#f7fcf9}.vl-maths{background:#fbf9ff}.vl-maths .vl-subject-icon{background:#f0eaff;color:#7040e8}.vl-maths b{color:#6230dc}
.vl-popular{padding:0 0 72px!important}.vl-section-row{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.vl-section-row h2{margin:0;font-size:24px}.vl-title-line{display:block;width:36px;height:3px;margin-top:9px;background:#2563EB;border-radius:5px}.vl-section-row>a{padding:8px 13px;border:1px solid #a9c5ff;border-radius:999px;color:#175be4;font-size:11px;font-weight:700}.vl-exp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.vl-exp-card{overflow:hidden;border:1px solid #e2e9f3;border-radius:12px;background:#fff;box-shadow:0 9px 25px rgba(15,23,42,.045)}.vl-exp-shot{aspect-ratio:1.55;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px;text-align:center;background:#0a214c;color:#b9d2ff}.vl-exp-shot svg{width:25px}.vl-exp-shot span{font-size:10px}.vl-exp-body{padding:13px}.vl-tag{display:inline-block;padding:4px 6px;border-radius:5px;background:#edf4ff;color:#2563EB;font-size:9px;font-weight:800}.vl-tag.green{background:#eaf8ee;color:#15843c}.vl-tag.purple{background:#f1ebff;color:#6d39df}.vl-exp-card h3{margin:9px 0 7px;font-size:14px}.vl-exp-card p{min-height:76px;margin:0;color:var(--vl-text);font-size:12px;line-height:1.6}.vl-exp-card a{display:inline-block;margin-top:11px;color:#2563EB;font-size:11px;font-weight:700}
.vl-how{padding:0 0 72px!important}.vl-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}.vl-step{position:relative;padding-top:8px}.vl-step:not(:last-child)::after{content:"";position:absolute;top:35px;left:72px;width:calc(100% - 55px);border-top:2px dotted #bad0fa}.vl-step-icon{position:relative;z-index:2;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:#2563EB}.vl-step-icon svg{width:25px}.vl-step-no{position:absolute;top:54px;left:-3px;z-index:3;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#2563EB;color:#fff;font-size:9px;font-weight:800}.vl-step h3{margin:20px 0 8px;font-size:14px;line-height:1.35}.vl-step p{margin:0;color:var(--vl-text);font-size:12px;line-height:1.65}
.vl-cta-section{padding:0 0 75px!important}.vl-cta{min-height:155px;display:grid;grid-template-columns:190px 1fr auto;gap:28px;align-items:center;padding:25px 40px;border-radius:18px;color:#fff;background:linear-gradient(110deg,#0b2a79,#2920ad);overflow:hidden}.vl-cta-art{display:flex;align-items:end;justify-content:center;gap:15px}.vl-cta-art svg:first-child{width:75px;height:75px;color:#9cbcff}.vl-cta-art svg:last-child{width:50px;height:50px;color:#607fff}.vl-cta h2{margin:0 0 8px;font-size:26px}.vl-cta p{max-width:600px;margin:0;color:#dce6ff;font-size:14px;line-height:1.65}.vl-cta>a{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;border-radius:9px;background:#fff;color:#152b6e;font-size:12px;font-weight:800}.vl-cta>a svg{width:16px}.vl-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:24px}.vl-trust>div{display:flex;gap:11px;align-items:center}.vl-trust svg{width:38px;height:38px;padding:9px;border-radius:50%;background:#eef4ff;color:#2563EB}.vl-trust b,.vl-trust small{display:block}.vl-trust b{font-size:13px}.vl-trust small{margin-top:4px;color:var(--vl-text);font-size:11px}
@media(max-width:1100px){.vl-hero-grid{grid-template-columns:1fr;gap:45px}.vl-hero-copy{text-align:center}.vl-lead{margin:auto}.vl-benefits{max-width:680px;margin:28px auto}.vl-actions{justify-content:center}.vl-visual{max-width:760px;margin:auto}.vl-subject-grid{grid-template-columns:1fr 1fr}.vl-exp-grid{grid-template-columns:repeat(3,1fr)}.vl-steps{grid-template-columns:repeat(3,1fr)}.vl-step::after{display:none}.vl-cta{grid-template-columns:120px 1fr}.vl-cta>a{grid-column:2}}
@media(max-width:700px){.vl-container{width:calc(100% - 30px)}.vl-hero{padding:50px 0 45px!important}.vl-hero h1{font-size:48px}.vl-hero h2{font-size:19px}.vl-lead{font-size:15px}.vl-benefits{grid-template-columns:1fr;text-align:left}.vl-actions{flex-direction:column}.vl-btn{width:100%}.vl-visual-bg{min-height:280px;padding:25px}.vl-laptop{width:70%}.vl-screen{height:150px;border-width:7px;border-bottom-width:11px}.vl-lab-plant{left:2%;bottom:25px;width:65px}.vl-lab-plant svg{width:55px}.vl-glassware{right:2%;bottom:25px}.vl-glassware .tube{width:18px;height:70px;border-width:3px}.vl-glassware .tube:nth-child(2){height:52px}.vl-glassware .tube:nth-child(3){height:62px}.vl-visual-stats{grid-template-columns:1fr 1fr}.vl-visual-stats>div:nth-child(2){border-right:0}.vl-subject-grid,.vl-exp-grid,.vl-steps,.vl-trust{grid-template-columns:1fr}.vl-subject{min-height:auto}.vl-exp-card p{min-height:auto}.vl-section-row{align-items:flex-start;gap:15px}.vl-section-row h2,.vl-section-title{font-size:22px}.vl-cta{grid-template-columns:1fr;padding:28px 22px;text-align:center}.vl-cta-art{display:none}.vl-cta>a{grid-column:auto;justify-self:center}.vl-trust{gap:18px}}


/* =========================================================
   VIRTUAL LAB — FINAL HERO / HEADER COLLISION FIX
   Header/footer remain controlled by the shared Rython CSS.
========================================================= */

/* Never let this page's generic SVG rules enlarge header icons */
.virtual-lab-page .header svg,
.virtual-lab-page header.header svg {
  width: 17px !important;
  height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
}

/* Restore the shared Rython header geometry */
.virtual-lab-page .header {
  height: auto !important;
}
.virtual-lab-page .header .nav {
  height: 76px !important;
  min-height: 76px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.virtual-lab-page .header .logo img {
  height: 42px !important;
  width: auto !important;
}

/* Partner CTA: stop wrapping / giant arrow */
.virtual-lab-page .header .partner-btn {
  width: auto !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 23px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  font-size: 14px !important;
  border-radius: 13px !important;
}
.virtual-lab-page .header .partner-btn svg {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
}

/* Hero must begin below fixed header */
.virtual-lab-page .vl-hero,
.virtual-lab-page .virtual-hero,
.virtual-lab-page main > section:first-child {
  padding-top: 116px !important;
}

/* Fix title collision: Rython / Virtual Lab */
.virtual-lab-page .vl-hero h1,
.virtual-lab-page .virtual-hero h1,
.virtual-lab-page main > section:first-child h1 {
  margin: 18px 0 10px !important;
  line-height: .98 !important;
  letter-spacing: -0.045em !important;
}
.virtual-lab-page .vl-hero h1 span,
.virtual-lab-page .virtual-hero h1 span,
.virtual-lab-page main > section:first-child h1 span {
  display: block !important;
  margin-top: 8px !important;
  line-height: 1.02 !important;
}

/* Prevent decorative/hero elements from sitting above the nav */
.virtual-lab-page main,
.virtual-lab-page main section {
  z-index: 1;
}
.virtual-lab-page .header {
  z-index: 9999 !important;
}

@media (max-width:1100px) {
  .virtual-lab-page .header .nav {
    height: 72px !important;
    min-height: 72px !important;
  }
  .virtual-lab-page .header .partner-btn {
    display: none !important;
  }
  .virtual-lab-page .header .menu-toggle {
    display: flex !important;
  }
  .virtual-lab-page .vl-hero,
  .virtual-lab-page .virtual-hero,
  .virtual-lab-page main > section:first-child {
    padding-top: 108px !important;
  }
}

@media (max-width:576px) {
  .virtual-lab-page .header .nav {
    height: 68px !important;
    min-height: 68px !important;
  }
  .virtual-lab-page .header .logo img {
    height: 36px !important;
  }
  .virtual-lab-page .vl-hero,
  .virtual-lab-page .virtual-hero,
  .virtual-lab-page main > section:first-child {
    padding-top: 96px !important;
  }
  .virtual-lab-page .vl-hero h1,
  .virtual-lab-page .virtual-hero h1,
  .virtual-lab-page main > section:first-child h1 {
    line-height: 1 !important;
  }
  .virtual-lab-page .vl-hero h1 span,
  .virtual-lab-page .virtual-hero h1 span,
  .virtual-lab-page main > section:first-child h1 span {
    margin-top: 6px !important;
  }
}
