:root {
  --white: #ffffff;
  --surface: #f5f8fc;
  --surface-2: #eef4fb;
  --navy: #0d2d63;
  --navy-2: #123b82;
  --gold: #f4c32d;
  --gold-2: #ffc83d;
  --text: #1f2f46;
  --muted: #617186;
  --line: #dbe6f2;
  --shadow: 0 24px 70px rgba(18, 43, 82, 0.14);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; background: #fff; color: var(--text); }
a { text-decoration: none; }
.text-navy { color: var(--navy); }
.site-nav { background: rgba(255,255,255,0.92); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(13,45,99,0.08); }
.brand-logo { width: 54px; height: 54px; object-fit: cover; border-radius: 16px; box-shadow: 0 10px 30px rgba(13,45,99,0.14); background: #fff; }
.nav-link { color: var(--text); font-weight: 500; }
.nav-link:hover { color: var(--navy); }
.btn-brand { background: linear-gradient(135deg, var(--navy), var(--navy-2)); color: #fff; border: none; box-shadow: 0 12px 25px rgba(13,45,99,0.18); }
.btn-brand:hover { color: #fff; transform: translateY(-1px); }
.btn-outline-brand { border: 1px solid rgba(13,45,99,0.18); color: var(--navy); background: #fff; }
.btn-outline-brand:hover { background: var(--navy); color: #fff; }
.hero-home { min-height: 100vh; background: var(--white); }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.86) 35%, rgba(255,255,255,0.5) 100%); }
.hero-content { position: relative; z-index: 2; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(10px); }
.hero-orb-1 { width: 280px; height: 280px; left: -40px; top: 100px; background: rgba(36,104,255,0.10); }
.hero-orb-2 { width: 360px; height: 360px; right: -80px; bottom: 70px; background: rgba(244,195,45,0.18); }
.eyebrow, .section-label { display: inline-flex; align-items: center; gap: 12px; font-size: .82rem; text-transform: uppercase; letter-spacing: .16em; color: var(--navy-2); font-weight: 700; }
.eyebrow::before, .section-label::before { content: ''; width: 48px; height: 2px; border-radius: 999px; background: linear-gradient(90deg, var(--gold), var(--navy-2)); }
.hero-points span { background: rgba(255,255,255,0.85); border: 1px solid rgba(13,45,99,0.08); padding: .85rem 1rem; border-radius: 999px; color: var(--navy); font-weight: 600; box-shadow: 0 15px 35px rgba(13,45,99,0.08); }
.hero-points i { margin-right: .35rem; }
.hero-stack { position: relative; min-height: 580px; }
.floating-card { background: rgba(255,255,255,0.82); border: 1px solid rgba(13,45,99,0.08); border-radius: 32px; box-shadow: var(--shadow); backdrop-filter: blur(10px); }
.logo-card { padding: 1.5rem; max-width: 480px; position: relative; z-index: 2; }
.logo-shell { position: relative; background: radial-gradient(circle at top, rgba(244,195,45,0.18), rgba(255,255,255,0.9) 56%); border-radius: 28px; padding: 2rem; border: 1px solid rgba(13,45,99,0.06); }
.hero-logo-lg { width: 100%; border-radius: 28px; display: block; }
.play-chip { position: absolute; right: 22px; bottom: 22px; width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--gold), #ffd970); color: var(--navy); display: flex; align-items: center; justify-content: center; font-size: 1.8rem; box-shadow: 0 10px 30px rgba(244,195,45,0.35); }
.hospital-card { position: absolute; right: 0; bottom: 0; width: 80%; padding: 1rem; }
.section-space { padding: 110px 0; }
.section-soft { background: linear-gradient(180deg, #f9fbff 0%, #f1f6fc 100%); }
.content-card, .quote-panel, .machine-card, .service-card, .quote-side, .quote-form-card, .machine-gallery-card { background: #fff; border: 1px solid var(--line); border-radius: 32px; box-shadow: var(--shadow); }
.content-card, .quote-panel, .quote-side, .quote-form-card, .machine-gallery-card { height: 100%; }
.section-title { color: var(--navy); font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; line-height: 1.08; margin: 1rem 0 1.1rem; }
.section-copy { max-width: 760px; }
.mini-stat { display: flex; gap: 1rem; align-items: flex-start; border: 1px solid var(--line); border-radius: 22px; padding: 1.1rem; background: #fbfdff; height: 100%; }
.mini-stat h3 { font-size: 1.05rem; color: var(--navy); margin-bottom: .4rem; }
.mini-stat p, .service-card p, .contact-list, .quote-side p { color: var(--muted); margin-bottom: 0; }
.stat-icon, .service-icon { width: 52px; height: 52px; border-radius: 18px; background: rgba(18,59,130,0.10); color: var(--navy); display: flex; align-items: center; justify-content: center; font-size: 1.35rem; flex: 0 0 auto; }
.stat-icon.gold { background: rgba(244,195,45,0.20); color: #8a6100; }
.coverage-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.coverage-list li { display: flex; gap: .8rem; align-items: flex-start; color: var(--text); font-weight: 500; }
.coverage-list i { color: var(--navy-2); margin-top: .18rem; }
.machine-card { overflow: hidden; }
.machine-media { background: linear-gradient(180deg, #fffef9, #f4f1ea); }
.machine-media.drx-bg, .drx-surface { background: linear-gradient(180deg, #0e1f44, #152d61); padding: 1rem; border-radius: 32px; }
.machine-media img, .machine-gallery-card img { display: block; }
.link-brand { color: var(--navy-2); font-weight: 700; }
.service-card { transition: transform .25s ease, box-shadow .25s ease; }
.service-card:hover { transform: translateY(-6px); }
.service-card h3 { color: var(--navy); font-size: 1.25rem; margin: 1rem 0 .7rem; }
.quote-side { background: linear-gradient(180deg, #fff, #f8fbff); }
.contact-list { display: grid; gap: 1rem; }
.contact-list i { color: var(--navy-2); margin-right: .55rem; }
.form-control, .form-select { border-radius: 16px; padding: .95rem 1rem; border-color: var(--line); }
.form-control:focus, .form-select:focus { border-color: rgba(18,59,130,0.4); box-shadow: 0 0 0 .25rem rgba(18,59,130,0.08); }
.page-hero { background: linear-gradient(180deg, #f7fbff, #eef5fc); border-bottom: 1px solid rgba(13,45,99,0.06); }
.small-hero { padding-top: 2.5rem; }
.site-footer { background: linear-gradient(135deg, #0b2453, #163770); }
.social-float { position: fixed; right: 18px; bottom: 18px; display: flex; flex-direction: column; gap: 10px; z-index: 999; }
.social-float a { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.25rem; box-shadow: 0 16px 30px rgba(13,45,99,0.18); transition: transform .2s ease; }
.social-float a:hover { transform: translateY(-2px) scale(1.04); }
.social-float .fb { background: #1877f2; }
.social-float .wa { background: #25d366; }
.social-float .ig { background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045); }
.modal-close { position: absolute; right: 18px; top: 18px; z-index: 10; background: #fff; border-radius: 50%; padding: .6rem; }
.scientist-video { max-height: 78vh; object-fit: cover; background: #000; }
@media (max-width: 991.98px) {
  .hero-stack { min-height: auto; }
  .hospital-card { position: relative; width: 100%; margin-top: 1rem; }
  .hero-overlay { background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.72)); }
}
@media (max-width: 767.98px) {
  .section-space { padding: 80px 0; }
  .section-title { font-size: 2rem; }
  .social-float { right: 12px; bottom: 12px; }
  .social-float a { width: 48px; height: 48px; }
}

.object-fit-cover{object-fit:cover;}
.brand-ribbon{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;padding:1rem 1.25rem;background:rgba(255,255,255,.88);border:1px solid rgba(13,45,99,.08);border-radius:28px;box-shadow:0 18px 40px rgba(13,45,99,.08);max-width:100%;}
.brand-ribbon img{height:42px;width:auto;display:block;filter:saturate(1.02);}
.hero-showcase-wrap{position:relative;min-height:620px;}
.hero-device-card{padding:1.1rem;position:absolute;right:0;top:10px;width:min(100%,590px);z-index:1;}
.hero-device-screen{border-radius:28px;overflow:hidden;background:#091b42;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.hero-side-video{width:100%;height:390px;object-fit:cover;display:block;}
.hero-device-info{padding:1rem .65rem .2rem;}
.floating-logo-tile{position:absolute;left:-10px;top:150px;width:250px;padding:1rem;z-index:2;}
.compact-shell{padding:1rem;}
.floating-photo-card{position:absolute;right:24px;bottom:12px;width:240px;height:180px;padding:.8rem;z-index:2;}
.about-visual-panel{background:linear-gradient(180deg,#f8fbff,#f2f7fc);border:1px solid var(--line);border-radius:36px;padding:1.4rem;box-shadow:var(--shadow);}
.about-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.about-feature-card{overflow:hidden;border-radius:28px;background:#fff;min-height:280px;}
.about-feature-card img{width:100%;height:100%;object-fit:cover;display:block;}
.vm-card{background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);}
.vm-title{font-size:1.6rem;font-weight:800;color:var(--navy);margin:1rem 0 .8rem;}
.about-page-hero{background:linear-gradient(180deg,#f7fbff,#eef5fc);}
.about-page-hero::after{content:'';position:absolute;inset:0;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="0 0 120 120"><g fill="none" stroke="rgba(13,45,99,0.05)" stroke-width="2"><path d="M12 60h96"/><path d="M60 12v96"/><path d="M36 36l48 48"/><path d="M84 36L36 84"/></g></svg>') center/260px repeat;opacity:.28;pointer-events:none;}
.vision-mission-banner{overflow:hidden;border-radius:36px;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;}
.vision-mission-banner img{min-height:320px;}
.about-photo-card img{min-height:100%;}
@media (max-width:991.98px){.hero-showcase-wrap{min-height:auto;padding-top:1rem;}.hero-device-card,.floating-logo-tile,.floating-photo-card{position:relative;top:auto;right:auto;left:auto;bottom:auto;width:100%;margin-bottom:1rem;}.hero-side-video{height:300px;}.brand-ribbon img{height:34px;}.about-visual-grid{grid-template-columns:1fr;}.vision-mission-banner img{min-height:220px;}}


.products-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(18,59,130,.08),transparent 32%),radial-gradient(circle at left center,rgba(244,195,45,.12),transparent 24%);pointer-events:none;}
.products-hero-copy{max-width:760px;}
.machine-spotlight{position:relative;overflow:hidden;}
.machine-spotlight::before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(8px);background:rgba(244,195,45,.08);top:-180px;right:-130px;pointer-events:none;}
.machine-stage{position:relative;z-index:1;}
.premium-machine-frame{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:36px;padding:1rem;box-shadow:var(--shadow);overflow:hidden;position:relative;transition:transform .35s ease, box-shadow .35s ease;}
.premium-machine-frame::after{content:'';position:absolute;inset:auto -10% -40% auto;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.35);filter:blur(20px);pointer-events:none;}
.premium-machine-frame:hover,.premium-copy-card:hover,.drx-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(18,43,82,.18);}
.machine-image-panel{border-radius:28px;overflow:hidden;background:#fff;}
.machine-image-panel img{display:block;width:100%;height:auto;}
.machine-image-panel--hero{min-height:100%;}
.premium-copy-card{background:#fff;border:1px solid var(--line);border-radius:36px;padding:2rem;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .35s ease, box-shadow .35s ease;}
.premium-copy-card::before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--gold),var(--navy-2));opacity:.85;}
.premium-copy-card h3{font-size:clamp(1.55rem,2.4vw,2.2rem);color:var(--navy);font-weight:800;margin:.8rem 0 1rem;line-height:1.1;}
.premium-copy-card p{color:var(--muted);font-size:1.03rem;line-height:1.8;}
.machine-kicker{display:inline-flex;align-items:center;gap:.65rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;color:var(--navy-2);font-weight:700;}
.machine-kicker::before{content:'';width:34px;height:2px;background:linear-gradient(90deg,var(--gold),var(--navy-2));border-radius:999px;}
.chip-list{display:flex;flex-wrap:wrap;gap:.7rem;}
.product-chip{padding:.7rem 1rem;border-radius:999px;background:#fbf8f0;border:1px solid rgba(184,155,94,.22);color:#8a6a24;font-weight:700;font-size:.92rem;}
.cool-chip{background:#f3f8ff;border-color:rgba(18,59,130,.16);color:var(--navy-2);}
.warm-tone{background:linear-gradient(180deg,#fffef8,#f7f1e7);}
.neutral-tone{background:linear-gradient(180deg,#ffffff,#f5f2ef);}
.lilac-tone{background:linear-gradient(180deg,#ffffff,#f3eef9);}
.cool-tone{background:linear-gradient(180deg,#ffffff,#f3f8ff);}
.tilt-card{transform:perspective(1200px) rotateX(.6deg) rotateY(-1.2deg);}
.lift-card{transform:translateY(0);}
.drx-feature-shell{position:relative;z-index:1;}
.drx-grid{align-items:stretch;}
.drx-card{height:100%;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:28px;padding:1rem;text-align:center;box-shadow:0 18px 42px rgba(18,43,82,.1);transition:transform .3s ease, box-shadow .3s ease;}
.drx-card img{width:100%;height:240px;object-fit:contain;display:block;margin:0 auto 1rem;}
.drx-card-title{font-size:1rem;font-weight:800;color:var(--navy);letter-spacing:.02em;}
.drx-card-sub{font-size:.92rem;color:var(--muted);margin-top:.2rem;}
@keyframes floatSoft{0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:translateY(0)}}
.premium-machine-frame img,.drx-card img{animation:floatSoft 6s ease-in-out infinite;}
@media (max-width:991.98px){.tilt-card{transform:none;}.premium-copy-card,.premium-machine-frame{border-radius:28px;}.drx-card img{height:200px;}}
@media (max-width:575.98px){.premium-copy-card{padding:1.4rem;}.drx-card img{height:180px;}.product-chip{font-size:.84rem;padding:.6rem .8rem;}}

.social-float .gm { background: #fff; }
.gmail-bubble-icon { width: 30px; height: 30px; object-fit: contain; display:block; }


/* Critical visibility fix: keep all animated content visible even if AOS CDN fails */
[data-aos]{
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Social bubbles - self-contained fallback styling */
.social-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1080;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
.social-float .social-bubble{
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 30px rgba(0,0,0,.16);
  transition: transform .2s ease, box-shadow .2s ease;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  font-weight: 800;
  text-transform: lowercase;
}
.social-float .social-bubble:hover{
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 18px 36px rgba(0,0,0,.22);
}
.social-float .fb{ background:#1877f2; }
.social-float .wa{ background:#25d366; }
.social-float .gm{ background:#ffffff; }
.social-float .ig{ background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045); }

.bubble-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 1.2rem;
  line-height: 1;
}
.social-float .ig .bubble-fallback{
  font-size: .95rem;
}
.gmail-bubble-icon{
  width: 28px;
  height: 28px;
  object-fit: contain;
  display:block;
}

@media (max-width: 768px){
  .social-float{
    right: 12px;
    bottom: 12px;
    gap: 10px;
  }
  .social-float .social-bubble{
    width: 52px;
    height: 52px;
  }
  .gmail-bubble-icon{
    width: 26px;
    height: 26px;
  }
}


/* Force animated sections to stay visible even if animation library fails */
[data-aos]{
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Local social bubble icons */
.social-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1080;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
.social-float .social-bubble{
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 30px rgba(0,0,0,.16);
  transition: transform .2s ease, box-shadow .2s ease;
  text-decoration: none;
  overflow: hidden;
}
.social-float .social-bubble:hover{
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 18px 36px rgba(0,0,0,.22);
}
.social-float .fb{ background:#1877f2; }
.social-float .wa{ background:#25d366; }
.social-float .gm{ background:#ffffff; }
.social-float .ig{ background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045); }

.social-icon-img{
  width: 26px;
  height: 26px;
  object-fit: contain;
  display: block;
}
.gmail-bubble-icon{
  width: 30px;
  height: 30px;
  object-fit: contain;
  display: block;
}

@media (max-width: 768px){
  .social-float{
    right: 12px;
    bottom: 12px;
    gap: 10px;
  }
  .social-float .social-bubble{
    width: 52px;
    height: 52px;
  }
  .social-icon-img{
    width: 24px;
    height: 24px;
  }
  .gmail-bubble-icon{
    width: 28px;
    height: 28px;
  }
}


/* WhatsApp icon centering fix */
.social-float .wa .social-icon-img{
  width: 27px;
  height: 27px;
  margin-left: 1px;
  margin-top: 0;
  object-fit: contain;
  display: block;
  flex: 0 0 auto;
}
.social-float .social-bubble{
  padding: 0;
  line-height: 0;
}
