/* ===== Hero Carousel ===== */
#heroCarousel{position:relative;height:100vh;min-height:680px;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;pointer-events:none;display:flex;align-items:center}
.hero-slide.active{opacity:1;pointer-events:auto}
.hero-bg-1{background-image:url('assets/hero-genomics.webp');background-size:cover;background-position:center;animation:heroZoom 16s ease-in-out infinite alternate}
.hero-bg-2{background-image:url('assets/hero-bg-2.webp');background-size:cover;background-position:center;animation:heroZoom 16s ease-in-out infinite alternate}

/* ===== Hero typography (redesign) ===== */
.hero .hero-content{margin-left:12vw;padding-top:0;max-width:760px;position:relative;z-index:2}
.hero .tag{display:flex;align-items:center;gap:14px;color:#fff;margin:0 0 26px;font-size:10px;letter-spacing:.24em}
.hero .tag:before{content:"";width:36px;height:2px;background:#fff;border-radius:2px}
.hero .hero-title{display:flex;flex-direction:column;margin:0 0 24px}
.hero .hero-title .hero-line{font-size:clamp(36px,4.2vw,58px);font-weight:700;letter-spacing:.04em;line-height:1.32;color:#fff}
.hero .hero-title .hero-line-accent{color:#fff}
.hero-rule{display:flex;align-items:center;gap:16px;margin:0 0 24px}
.hero-rule i{width:56px;height:2px;background:linear-gradient(90deg,#fff,rgba(126,223,255,0));border-radius:2px}
.hero-rule em{font-style:normal;font-size:10.5px;letter-spacing:.3em;color:rgba(216,229,255,.62)}
.hero .hero-desc{font-size:14.5px;line-height:2.1;color:#c9d9f5;margin:0 0 38px;letter-spacing:.02em}
.hero .hero-desc b{color:#fff;font-weight:600}
.hero-ghost{position:absolute;right:6.5vw;top:50%;transform:translateY(-50%);z-index:1;font-size:clamp(150px,17vw,250px);font-weight:800;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13);letter-spacing:-.04em;line-height:1;pointer-events:none;user-select:none}

/* ===== Arrows ===== */
.hero-arrow{position:absolute;top:50%;z-index:4;transform:translateY(-50%);background:rgba(255,255,255,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.65);font-size:32px;width:50px;height:50px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:.3s;font-family:Arial,sans-serif;line-height:1}
.hero-arrow:hover{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(126,223,255,.6)}
.hero-arrow-left{left:3.5vw}
.hero-arrow-right{right:3.5vw}

/* ===== Dots ===== */
.hero-dots{position:absolute;bottom:44px;left:12vw;z-index:4;display:flex;gap:12px}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.28);cursor:pointer;transition:.35s}
.hero-dot.active{background:#fff;transform:scale(1.25)}

/* ===== Hero CTA button (glass) ===== */
.hero .btn-lime{display:inline-flex;align-items:center;gap:14px;padding:0 30px;height:52px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.38);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:13px;font-weight:500;letter-spacing:.18em;transition:all .35s ease}
.hero .btn-lime:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.75);transform:translateY(-2px)}
.hero .btn-lime b{font-size:15px;font-weight:400;color:rgba(255,255,255,.85);margin-left:2px;transition:all .35s ease}
.hero .btn-lime:hover b{color:#fff;transform:translate(3px,-3px)}

/* ===== Hero orbit above shade ===== */
.hero-orbit{z-index:1}

/* ===== Responsive: Tablet ===== */
@media(max-width:900px){
  .hero-arrow{width:44px;height:44px;font-size:26px}
  .hero-arrow-left{left:4vw}
  .hero-arrow-right{right:4vw}
  .hero .hero-content{margin-left:8vw;padding-top:17vh}
  .hero-dots{left:8vw}
}

/* ===== Responsive: Mobile ===== */
@media(max-width:560px){
  .hero-arrow{width:38px;height:38px;font-size:22px}
  .hero-arrow-left{left:3vw}
  .hero-arrow-right{right:3vw}
  .hero-dots{bottom:30px;left:8vw}
  .hero .hero-content{margin-left:8vw;margin-right:8vw;padding-top:15vh}
  .hero .hero-line{font-size:38px;line-height:1.3}
  .hero .tag{margin-bottom:26px;letter-spacing:.18em}
  .hero .hero-desc{font-size:14px;line-height:2;margin-bottom:34px}
  .hero-ghost{display:none}
}
