/* 340BIntel experimental visual layer
   Inspired by White Desert's cinematic scale and restraint.
   Load AFTER styles.css. */

:root {
  --wd-blue: #0055ff;
  --wd-royal: #0039f4;
  --wd-navy: #073b80;
  --wd-pale: #e3f1ff;
  --wd-cloud: #f4f7f9;
  --wd-ink: #071d38;
  --wd-line: rgba(7, 59, 128, 0.16);
  --wd-max: 1480px;
}

html { scroll-behavior: smooth; }

body {
  background: var(--wd-cloud);
  color: var(--wd-ink);
  overflow-x: hidden;
}

body::selection { background: var(--wd-blue); color: #fff; }

.wrap {
  width: min(var(--wd-max), calc(100% - 96px));
  max-width: none;
}

/* HEADER — transparent over hero, crisp white after scroll */
.progress { height: 2px; background: var(--wd-blue); z-index: 1100; }

.header {
  height: 110px;
  background: transparent;
  border: 0;
  box-shadow: none;
  transition: height .45s ease, background .45s ease, box-shadow .45s ease;
}

.header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(4,29,65,.78), rgba(4,29,65,0));
  pointer-events: none;
}

.header.scrolled {
  height: 82px;
  background: rgba(244,247,249,.94);
  border-bottom: 1px solid var(--wd-line);
  box-shadow: 0 12px 40px rgba(7,59,128,.08);
  backdrop-filter: blur(16px);
}

.header.scrolled::after { opacity: 0; }

.brand-logo { color: #fff; }
.brand-logo img { width: 180px; height: 74px; object-fit: contain; }
.brand-tag { color: rgba(255,255,255,.82); letter-spacing: .12em; }
.header.scrolled .brand-tag { color: var(--wd-navy); }

.nav { gap: 10px; }
.nav a {
  color: #fff;
  padding: 13px 17px;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(7,29,56,.12);
  transition: color .25s ease, border-color .25s ease, background .25s ease;
}
.nav a:hover { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.12); }
.header.scrolled .nav a { color: var(--wd-navy); border-color: transparent; background: transparent; }
.header.scrolled .nav a:hover { border-color: var(--wd-line); background: #fff; }
.nav .nav-cta,
.header.scrolled .nav .nav-cta {
  color: #fff;
  background: var(--wd-blue);
  border-color: var(--wd-blue);
  border-radius: 0;
}
.menu-btn { color: #fff; }
.header.scrolled .menu-btn { color: var(--wd-navy); }

/* HERO — full-screen, architectural, oversized */
.hero {
  --parallax-y: 0px;
  min-height: 100svh;
  height: auto;
  display: flex;
  align-items: flex-end;
  padding: 180px 0 8vh;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(3,24,55,.10) 0%, rgba(3,24,55,.16) 42%, rgba(3,24,55,.92) 100%),
    radial-gradient(circle at 72% 30%, rgba(0,85,255,.48), transparent 36%),
    linear-gradient(125deg, #0039f4 0%, #0b5bb7 44%, #073b80 100%);
  isolation: isolate;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .23;
  background-image:
    linear-gradient(rgba(255,255,255,.28) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.28) 1px, transparent 1px);
  background-size: 12.5vw 100%, 100% 25vh;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.hero::after {
  content: "INTELLIGENCE";
  position: absolute;
  left: 4.5vw;
  right: 4.5vw;
  bottom: -1.5vw;
  z-index: -1;
  color: rgba(255,255,255,.075);
  font: 700 clamp(4.6rem, 12vw, 13rem)/.8 "Play", sans-serif;
  letter-spacing: -.055em;
  white-space: nowrap;
}

.hero-bg { opacity: .46; }
.hero-grid-overlay { opacity: .08; }
.hero-particles { opacity: .52; }

.hero .wrap { align-items: flex-end; }
.hero-copy { max-width: 1280px; margin: 0; }
.hero h1 {
  max-width: 1240px;
  margin: 0;
  color: #fff;
  font-size: clamp(4rem, 8.6vw, 10rem);
  line-height: .83;
  letter-spacing: -.065em;
  text-transform: uppercase;
  text-wrap: balance;
}
.hero h1 .grad {
  color: #fff;
  background: none;
  -webkit-text-fill-color: currentColor;
}
.hero-sub {
  max-width: none;
  margin: 34px 0 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(1rem, 1.35vw, 1.35rem);
  letter-spacing: .22em;
  text-transform: uppercase;
}
.hero-cta { margin-top: 36px; }
.hero .btn { min-height: 58px; }
.hero .btn-primary { color: var(--wd-navy); background: #fff; border-color: #fff; }
.hero .btn-primary:hover { color: #fff; background: transparent; }
.hero .btn-ghost { color: #fff; border-color: rgba(255,255,255,.65); }
.hero .btn-ghost:hover { background: rgba(255,255,255,.12); }
.scroll-hint { color: rgba(255,255,255,.75); right: 4.5vw; bottom: 8vh; }

/* SHARED EDITORIAL SYSTEM */
.section { padding: clamp(100px, 11vw, 180px) 0; }
.section .wrap { position: relative; }
.eyebrow {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  color: var(--wd-blue);
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.h-sec {
  max-width: 980px;
  margin-top: 24px;
  color: var(--wd-navy);
  font-size: clamp(3rem, 6vw, 7.2rem);
  line-height: .92;
  letter-spacing: -.055em;
  text-transform: uppercase;
  text-wrap: balance;
}
.lead {
  max-width: 720px;
  margin-top: 30px;
  color: #536b85;
  font-size: clamp(1.08rem, 1.35vw, 1.35rem);
  line-height: 1.65;
}

.btn {
  border-radius: 0;
  min-height: 54px;
  padding: 0 25px;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.btn-primary { background: var(--wd-blue); border-color: var(--wd-blue); box-shadow: none; }
.btn-primary:hover { background: var(--wd-royal); transform: translateY(-2px); box-shadow: 0 14px 34px rgba(0,85,255,.22); }
.btn-ghost { border-color: var(--wd-line); }

/* TRUST STRIP */
.strip { background: #fff; border-color: var(--wd-line); }
.strip .wrap { min-height: 110px; }
.strip p { color: var(--wd-navy); letter-spacing: .14em; text-transform: uppercase; }
.strip li { color: #536b85; }
.strip li svg { color: var(--wd-blue); }

/* OPTIMIZATION — two broad visual panels */
.optimize { background: var(--wd-cloud); }
.optimize-head { max-width: 1080px; }
.compare { gap: 1px; margin-top: 74px; background: var(--wd-line); border: 1px solid var(--wd-line); }
.compare-card,
.compare-card.highlight {
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  padding: clamp(30px, 4vw, 64px);
}
.compare-card.highlight { background: var(--wd-navy); color: #fff; }
.compare-card.highlight h3,
.compare-card.highlight p,
.compare-card.highlight .cs-lbl { color: #fff; }
.cc-tag { border-radius: 0; letter-spacing: .14em; text-transform: uppercase; }
.cc-head h3 { font-size: clamp(1.7rem, 2.3vw, 2.6rem); color: var(--wd-navy); }
.flow-stage { min-height: 390px; }
.cc-stat { border-color: var(--wd-line); }

/* HOW — thin-line numbered sequence */
.how { background: #fff; }
.steps { gap: 0; margin-top: 80px; border-top: 1px solid var(--wd-line); border-bottom: 1px solid var(--wd-line); }
.step {
  min-height: 360px;
  padding: 46px 38px;
  border: 0;
  border-right: 1px solid var(--wd-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.step:last-child { border-right: 0; }
.step:hover { background: var(--wd-pale); transform: none; }
.sn { color: var(--wd-blue); font-size: 3.5rem; opacity: 1; }
.step h3 { margin-top: 68px; color: var(--wd-navy); font-size: 1.5rem; }
.step p { color: #536b85; }
.step-arrow { color: var(--wd-blue); }

/* OPPORTUNITY — a bold blue landscape */
.delta {
  color: #fff;
  background:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(135deg, var(--wd-navy), var(--wd-royal));
  background-size: 180px 180px, 180px 180px, auto;
}
.delta .eyebrow,
.delta .h-sec,
.delta .lead,
.delta h2,
.delta .bar-label,
.delta .delta-note { color: #fff; }
.delta .eyebrow { color: #8ec4ff; }
.delta .wrap { gap: clamp(60px, 8vw, 140px); }
.delta-left { min-width: 0; }
.bars { border-color: rgba(255,255,255,.22); }
.bar.muted { background: rgba(255,255,255,.28); }
.bar.live { background: #fff; box-shadow: none; }
.delta-hero {
  padding: clamp(45px, 6vw, 90px);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 0;
  background: rgba(255,255,255,.08);
  box-shadow: none;
  backdrop-filter: blur(12px);
}
.delta-hero .big { color: #fff; font-size: clamp(4rem, 7vw, 8rem); }

/* BENEFITS + SECURITY */
.why { background: var(--wd-cloud); }
.why-grid { gap: 1px; margin-top: 68px; background: var(--wd-line); border: 1px solid var(--wd-line); }
.why-card {
  min-height: 128px;
  padding: 30px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.why-card:hover { background: var(--wd-pale); transform: none; }
.chk { color: #fff; background: var(--wd-blue); border-radius: 50%; }

.secure { background: #fff; }
.secure-grid { gap: 0; margin-top: 72px; border-top: 1px solid var(--wd-line); border-bottom: 1px solid var(--wd-line); }
.secure-card {
  min-height: 290px;
  padding: 42px 30px;
  border: 0;
  border-right: 1px solid var(--wd-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.secure-card:last-child { border-right: 0; }
.secure-card:hover { background: var(--wd-pale); transform: none; }
.si { color: var(--wd-blue); background: transparent; border: 1px solid var(--wd-line); border-radius: 50%; }
.secure-card h3 { color: var(--wd-navy); }
.secure-card p { color: #536b85; }

/* TEAM — editorial portrait presentation */
.team { background: var(--wd-cloud); }
.team-featured {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) 1.28fr;
  gap: 0;
  margin-top: 76px;
  padding: 0;
  border: 1px solid var(--wd-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}
.team-featured .photo {
  width: 100%;
  height: 100%;
  min-height: 500px;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}
.team-featured > div { align-self: center; padding: clamp(42px, 6vw, 90px); }
.role { color: var(--wd-blue); letter-spacing: .18em; text-transform: uppercase; }
.team-featured h3 { color: var(--wd-navy); font-size: clamp(2.2rem, 4vw, 4.8rem); line-height: .95; }
.team-featured p { color: #536b85; font-size: 1.05rem; line-height: 1.75; }
.team-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin-top: 1px;
  background: var(--wd-line);
  border: 1px solid var(--wd-line);
}
.team-card {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 32px 24px 38px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.team-card:hover { transform: none; background: var(--wd-pale); }
.team-card .photo {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  filter: saturate(.86) contrast(1.02);
}
.team-card h4 { color: var(--wd-navy); font-size: 1.35rem; }
.team-card p { color: #536b85; line-height: 1.65; }

/* CLOSING CALL TO ACTION */
.cta {
  min-height: 78vh;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(3,24,55,.20), rgba(3,24,55,.88)),
    radial-gradient(circle at 30% 20%, rgba(0,85,255,.72), transparent 45%),
    var(--wd-navy);
}
.cta .h-sec,
.cta .lead { color: #fff; }
.cta .wrap { max-width: var(--wd-max); }
.cta .btn-primary { color: var(--wd-navy); background: #fff; border-color: #fff; }
.cta .btn-ghost { color: #fff; border-color: rgba(255,255,255,.55); }

/* CONTACT + FOOTER */
.contact { background: #fff; }
.contact .wrap { gap: clamp(60px, 8vw, 140px); }
.contact-copy .h-sec { font-size: clamp(3rem, 5vw, 6rem); }
.contact-points li { color: #536b85; }
.contact-points svg { color: var(--wd-blue); }
.contact-form {
  padding: clamp(32px, 4vw, 58px);
  border: 1px solid var(--wd-line);
  border-radius: 0;
  background: var(--wd-cloud);
  box-shadow: none;
}
.field label { color: var(--wd-navy); letter-spacing: .08em; text-transform: uppercase; }
.field input,
.field textarea {
  border: 0;
  border-bottom: 1px solid rgba(7,59,128,.3);
  border-radius: 0;
  background: transparent;
  color: var(--wd-ink);
}
.field input:focus,
.field textarea:focus { border-color: var(--wd-blue); box-shadow: none; }

.footer { padding: 64px 0; background: var(--wd-ink); border: 0; }
.footer .wrap { align-items: center; }
.footer a,
.footer p { color: rgba(255,255,255,.72); }
.footer .brand-tag { color: rgba(255,255,255,.62); }

/* Motion: slower, calmer and more cinematic */
.reveal {
  transform: translateY(38px);
  transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
}
.reveal.in { transform: translateY(0); }

@media (max-width: 1180px) {
  .wrap { width: min(var(--wd-max), calc(100% - 54px)); }
  .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .nav a { padding: 11px 10px; font-size: .72rem; }
}

@media (max-width: 900px) {
  .header { height: 82px; }
  .header::after { background: rgba(4,29,65,.74); }
  .nav { background: rgba(244,247,249,.98); }
  .nav a { color: var(--wd-navy); background: transparent; }
  .hero { padding-top: 140px; }
  .hero h1 { font-size: clamp(3.4rem, 12vw, 7rem); }
  .compare { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .step { min-height: 0; border-right: 0; border-bottom: 1px solid var(--wd-line); }
  .step:last-child { border-bottom: 0; }
  .step h3 { margin-top: 34px; }
  .secure-grid { grid-template-columns: repeat(2, 1fr); }
  .secure-card { border-bottom: 1px solid var(--wd-line); }
  .team-featured { grid-template-columns: 1fr; }
  .team-featured .photo { min-height: 420px; max-height: 620px; }
  .contact .wrap { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .wrap { width: calc(100% - 34px); }
  .section { padding: 88px 0; }
  .hero { min-height: 92svh; padding-bottom: 72px; }
  .hero::after { content: "340B"; font-size: 36vw; bottom: 2vw; }
  .hero h1 { font-size: clamp(2.85rem, 14vw, 5rem); line-height: .88; }
  .hero-sub { letter-spacing: .12em; }
  .scroll-hint { display: none; }
  .h-sec { font-size: clamp(2.6rem, 12vw, 4.6rem); }
  .compare-card,
  .compare-card.highlight { padding: 28px 20px; }
  .flow-stage { min-height: 310px; }
  .secure-grid { grid-template-columns: 1fr; }
  .secure-card { border-right: 0; }
  .team-grid { grid-template-columns: 1fr !important; }
  .team-card { display: grid; grid-template-columns: 110px 1fr; column-gap: 20px; text-align: left; }
  .team-card .photo { grid-row: 1 / 5; }
  .team-card .role,
  .team-card h4,
  .team-card p { grid-column: 2; }
  .footer .wrap { gap: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ============================================================
   V2 — image-led editorial layout + scroll journey
   ============================================================ */

/* Tighter scale: sections should read as scenes, not giant slides. */
.section { padding: clamp(68px, 7vw, 108px) 0; }
.h-sec {
  max-width: 900px;
  font-size: clamp(2.6rem, 4.4vw, 5rem);
  line-height: .96;
}
.lead { margin-top: 22px; font-size: clamp(1rem, 1.15vw, 1.2rem); }
.header { height: 88px; }
.header.scrolled { height: 72px; }
.brand-logo img { width: 154px; height: 64px; }

/* Hero photograph */
.hero {
  min-height: 100svh;
  padding: 145px 0 7vh;
  background:
    linear-gradient(90deg, rgba(3,22,48,.92) 0%, rgba(3,31,69,.74) 40%, rgba(3,31,69,.22) 72%, rgba(3,31,69,.34) 100%),
    linear-gradient(180deg, rgba(3,22,48,.15), rgba(3,22,48,.62)),
    url("assets/hero-hospital.jpg") center center / cover no-repeat;
  background-position: center, center, center calc(50% + var(--parallax-y));
}
.hero::before { opacity: .15; }
.hero::after { color: rgba(255,255,255,.09); }
.hero h1 {
  max-width: 990px;
  font-size: clamp(3.4rem, 6.7vw, 7.7rem);
  line-height: .86;
}
.hero-copy { max-width: 1050px; }
.hero-sub { margin-top: 26px; }
.hero-cta { margin-top: 28px; }

/* Optimization becomes one connected visual comparison. */
.optimize {
  position: relative;
  min-height: 92svh;
  overflow: hidden;
  background: #f7fafc;
}
.optimize::before {
  content: "";
  position: absolute;
  inset: 0 0 auto auto;
  width: 52%;
  height: 100%;
  background:
    linear-gradient(90deg, #f7fafc 0%, rgba(247,250,252,.35) 24%, rgba(7,59,128,.08) 100%),
    url("assets/healthcare-data.jpg") center / cover no-repeat;
  opacity: .42;
  pointer-events: none;
}
.optimize .wrap { z-index: 1; }
.optimize-head { max-width: 820px; }
.compare {
  overflow: hidden;
  gap: 0;
  margin-top: 50px;
  border: 1px solid rgba(7,59,128,.18);
  background: rgba(255,255,255,.72);
  box-shadow: 0 28px 80px rgba(7,59,128,.09);
  backdrop-filter: blur(14px);
}
.compare-card,
.compare-card.highlight { padding: clamp(24px, 3vw, 44px); }
.flow-stage { min-height: 310px; }

/* Scroll-driven journey */
.process-journey {
  position: relative;
  height: 390vh;
  background: #061d3a;
}
.process-sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 620px;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
}
.process-image {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: url("assets/healthcare-data.jpg") center / cover no-repeat;
  transform: scale(1.045);
}
.process-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(2,17,38,.94) 0%, rgba(4,31,68,.77) 38%, rgba(4,31,68,.42) 68%, rgba(2,17,38,.82) 100%),
    linear-gradient(180deg, rgba(2,17,38,.28), rgba(2,17,38,.76));
}
.process-shade::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  background-image:
    linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px);
  background-size: 12.5vw 25vh;
}
.process-heading {
  position: absolute;
  left: max(4.5vw, calc((100vw - var(--wd-max)) / 2));
  top: clamp(92px, 12vh, 128px);
  width: min(42vw, 640px);
  z-index: 3;
}
.process-heading .eyebrow { color: #75b5ff; }
.process-heading h2 {
  margin-top: 18px;
  color: #fff;
  font-size: clamp(2.7rem, 4.6vw, 5.8rem);
  line-height: .9;
  letter-spacing: -.052em;
  text-transform: uppercase;
}
.process-map {
  position: absolute;
  left: 42%;
  top: 7vh;
  width: min(39vw, 520px);
  height: 84vh;
  z-index: 2;
}
.process-route { width: 100%; height: 100%; overflow: visible; }
.process-route path { fill: none; stroke-linecap: round; }
.route-shadow { stroke: rgba(0,0,0,.3); stroke-width: 13; }
.route-base { stroke: rgba(255,255,255,.22); stroke-width: 3; stroke-dasharray: 3 11; }
.route-progress { stroke: #1a83ff; stroke-width: 5; filter: drop-shadow(0 0 9px rgba(0,85,255,.8)); }
.route-marker {
  position: absolute;
  left: 0;
  top: 0;
  width: 66px;
  height: 66px;
  margin: -33px 0 0 -33px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.64);
  border-radius: 50%;
  color: #fff;
  background: rgba(0,85,255,.88);
  box-shadow: 0 0 0 12px rgba(0,85,255,.13), 0 14px 40px rgba(0,0,0,.3);
  will-change: transform;
}
.route-marker svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; }
.route-marker rect { fill: currentColor; stroke: none; }
.route-point {
  position: absolute;
  width: 13px;
  height: 13px;
  border: 2px solid rgba(255,255,255,.86);
  border-radius: 50%;
  background: #073b80;
  box-shadow: 0 0 0 7px rgba(255,255,255,.08);
}
.route-point.active { background: #fff; box-shadow: 0 0 0 8px rgba(0,85,255,.45); }
.route-point.p1 { left: 22.7%; top: 5.9%; }
.route-point.p2 { left: 72.8%; top: 41.3%; }
.route-point.p3 { left: 40.8%; top: 71.1%; }
.route-point.p4 { left: 76.4%; top: 93.1%; }
.process-copy {
  position: absolute;
  right: max(4.5vw, calc((100vw - var(--wd-max)) / 2));
  top: 50%;
  width: min(31vw, 450px);
  min-height: 260px;
  transform: translateY(-50%);
  z-index: 3;
}
.process-step {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(28px);
  pointer-events: none;
  transition: opacity .5s ease, transform .6s cubic-bezier(.2,.8,.2,1);
}
.process-step.active { opacity: 1; transform: translateY(0); }
.process-number {
  display: block;
  margin-bottom: 22px;
  color: #75b5ff;
  font-size: .76rem;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.process-step h3 {
  color: #fff;
  font-size: clamp(2rem, 3vw, 3.8rem);
  line-height: .98;
  letter-spacing: -.04em;
}
.process-step p {
  max-width: 430px;
  margin-top: 22px;
  color: rgba(255,255,255,.74);
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  line-height: 1.65;
}
.process-progress {
  position: absolute;
  right: 28px;
  top: 18%;
  bottom: 18%;
  width: 2px;
  z-index: 4;
  background: rgba(255,255,255,.2);
}
.process-progress span {
  display: block;
  width: 100%;
  height: 0;
  background: #fff;
  box-shadow: 0 0 10px rgba(255,255,255,.8);
}
.process-scroll-note {
  position: absolute;
  left: max(4.5vw, calc((100vw - var(--wd-max)) / 2));
  bottom: 34px;
  color: rgba(255,255,255,.56);
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* Opportunity: one clean data landscape, no floating card. */
.delta { min-height: 88svh; display: flex; align-items: center; }
.delta-hero { padding: 0; border: 0; background: transparent; backdrop-filter: none; }
.delta-hero .big { font-size: clamp(4.2rem, 7.2vw, 8rem); }

/* Benefits become a ruled editorial list instead of boxes. */
.why { min-height: 78svh; display: flex; align-items: center; }
.why-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 0 54px;
  margin-top: 42px;
  border: 0;
  border-top: 1px solid var(--wd-line);
  background: transparent;
}
.why-card {
  min-height: 82px;
  padding: 22px 0;
  border-bottom: 1px solid var(--wd-line);
  background: transparent;
}
.why-card:hover { background: transparent; padding-left: 10px; }

/* Security: text and ruled facts over a single photographic field. */
.secure {
  position: relative;
  min-height: 94svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: #061d3a;
}
.secure::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,22,48,.96) 0%, rgba(3,22,48,.83) 44%, rgba(3,22,48,.24) 74%, rgba(3,22,48,.38) 100%),
    url("assets/security-operations.jpg") center / cover no-repeat;
  background-position: center, center calc(50% + var(--parallax-y, 0px));
}
.secure .wrap { z-index: 1; }
.secure .eyebrow { color: #75b5ff; }
.secure .h-sec,
.secure .lead { color: #fff; max-width: 670px; }
.secure-grid {
  width: min(640px, 54%);
  grid-template-columns: repeat(2, 1fr);
  gap: 0 34px;
  margin-top: 38px;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.28);
}
.secure-card {
  min-height: 150px;
  padding: 24px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.22);
  background: transparent;
}
.secure-card:hover { background: transparent; }
.secure-card .si { width: 38px; height: 38px; color: #fff; border-color: rgba(255,255,255,.35); }
.secure-card h3 { margin-top: 14px; color: #fff; font-size: 1rem; }
.secure-card p { color: rgba(255,255,255,.65); font-size: .9rem; }

/* Team loses the card treatment. */
.team { padding-bottom: clamp(76px, 8vw, 120px); }
.team-featured { margin-top: 50px; border: 0; box-shadow: 0 24px 70px rgba(7,59,128,.1); }
.team-featured .photo { min-height: 420px; }
.team-grid { gap: 24px !important; margin-top: 48px; border: 0; background: transparent; }
.team-card { padding: 0 0 24px; border-bottom: 1px solid var(--wd-line); background: transparent; }
.team-card:hover { background: transparent; }
.team-card .photo { margin-bottom: 24px; }

/* Closing scene */
.cta {
  --parallax-y: 0px;
  min-height: 82svh;
  background:
    linear-gradient(90deg, rgba(3,22,48,.94) 0%, rgba(3,22,48,.68) 48%, rgba(3,22,48,.25) 100%),
    linear-gradient(180deg, rgba(3,22,48,.12), rgba(3,22,48,.56)),
    url("assets/closing-hospital.jpg") center / cover no-repeat;
  background-position: center, center, center calc(50% + var(--parallax-y));
}
.cta .wrap { width: min(var(--wd-max), calc(100% - 96px)); }
.cta h2 { max-width: 820px; font-size: clamp(3rem, 6vw, 7rem); line-height: .9; letter-spacing: -.05em; text-transform: uppercase; }
.cta p { font-size: 1.2rem; }

/* Earlier reveal so anchor links never land on a blank screen. */
.reveal { transform: translateY(24px); }

@media (max-width: 1050px) {
  .process-heading { width: 45vw; }
  .process-map { left: 38%; opacity: .62; }
  .process-copy { width: 35vw; }
  .secure-grid { width: 62%; }
}

@media (max-width: 780px) {
  .section { padding: 70px 0; }
  .hero { min-height: 92svh; padding-top: 118px; background-position: 62% center; }
  .hero h1 { font-size: clamp(3rem, 13vw, 5.6rem); }
  .process-journey { height: 360vh; }
  .process-sticky { min-height: 640px; }
  .process-heading { left: 22px; right: 22px; top: 88px; width: auto; }
  .process-heading h2 { font-size: clamp(2.25rem, 10vw, 4rem); }
  .process-map { left: 8%; top: 23%; width: 75vw; height: 64vh; opacity: .35; }
  .process-copy { left: 24px; right: 24px; top: auto; bottom: 72px; width: auto; min-height: 210px; transform: none; }
  .process-step { padding: 22px; background: rgba(3,22,48,.72); backdrop-filter: blur(8px); }
  .process-scroll-note { display: none; }
  .why-grid { grid-template-columns: 1fr; }
  .secure { min-height: auto; padding: 86px 0; }
  .secure::before { background: linear-gradient(180deg, rgba(3,22,48,.88), rgba(3,22,48,.95)), url("assets/security-operations.jpg") 66% center / cover no-repeat; }
  .secure-grid { width: 100%; grid-template-columns: 1fr; }
  .cta { min-height: 75svh; background-position: 64% center; }
  .cta .wrap { width: calc(100% - 34px); }
}

/* ============================================================
   V3 — refined brand scale, intelligent field, five-stage route,
   cinematic proof sequence, balanced team and closing motion.
   ============================================================ */

/* Header and footer brand lockup */
.header .brand-logo {
  min-width: 205px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.header .brand-logo img { width: 198px; height: 66px; margin: 0; object-fit: contain; }
.header .brand-tag { margin-top: -8px; font-size: .67rem; line-height: 1; letter-spacing: .15em; }
.footer .footer-logo { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.footer .footer-logo img { width: 220px; height: 88px; margin: 0 0 -10px; object-fit: contain; }
.footer .footer-logo .brand-tag { margin-left: 18px; font-size: .76rem; letter-spacing: .14em; }
.footer ul a { font-size: .94rem; }
.footer p { font-size: .88rem; }

/* New optimization field */
.optimize { min-height: auto; padding-bottom: clamp(74px, 8vw, 120px); }
.optimize::before { opacity: .2; }
.intel-field {
  position: relative;
  height: min(67vw, 650px);
  min-height: 500px;
  margin-top: 48px;
  overflow: hidden;
  border: 1px solid rgba(7,59,128,.17);
  background:
    radial-gradient(circle at 56% 48%, rgba(0,85,255,.12), transparent 25%),
    linear-gradient(rgba(7,59,128,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,59,128,.055) 1px, transparent 1px),
    rgba(255,255,255,.86);
  background-size: auto, 86px 86px, 86px 86px, auto;
  box-shadow: 0 35px 100px rgba(7,59,128,.11);
  backdrop-filter: blur(18px);
}
.intel-svg { position: absolute; inset: 72px 0 48px; width: 100%; height: calc(100% - 120px); overflow: visible; }
.intel-svg path { fill: none; stroke-linecap: round; }
.current-lane { stroke: rgba(7,59,128,.22); stroke-width: 3; stroke-dasharray: 7 12; }
.intel-lane { stroke: url(#captureGlow); stroke-width: 4; opacity: .3; }
.intel-field.active .intel-lane { animation: lanePulse 3.8s ease-in-out infinite; }
.intel-field.active .lane-one { animation-delay: -.7s; }
.intel-field.active .lane-two { animation-delay: -1.5s; }
.intel-field.active .lane-main { opacity: .8; }
.hospital-node rect { fill: rgba(255,255,255,.82); stroke: #073b80; stroke-width: 3; }
.hospital-node path { stroke: #0055ff; stroke-width: 5; }
.intel-core > circle:first-child { fill: rgba(0,85,255,.08); stroke: #0055ff; stroke-width: 2; }
.intel-core .scan-ring { fill: none; stroke: #0055ff; stroke-width: 3; stroke-dasharray: 8 9; transform-origin: 72px 72px; animation: coreSpin 9s linear infinite; }
.intel-core path { stroke: #0055ff; stroke-width: 6; }
.claim-dot { fill: #0055ff; filter: url(#softGlow); }
.claim-dot.missed { fill: #ff856c; }
.claim-dot.recovered { fill: #fff; stroke: #0055ff; stroke-width: 3; }
.field-copy { position: absolute; top: 30px; z-index: 2; max-width: 380px; }
.field-copy-before { left: 32px; }
.field-copy-after { right: 32px; text-align: right; }
.field-kicker { display: block; margin-bottom: 6px; color: #0055ff; font-size: .7rem; letter-spacing: .17em; text-transform: uppercase; }
.field-copy strong { color: #073b80; font-size: clamp(1rem, 1.5vw, 1.35rem); }
.field-stat { position: absolute; bottom: 22px; color: #5a7088; font-size: .78rem; letter-spacing: .06em; }
.field-stat span { display: block; margin-bottom: 4px; color: #0055ff; text-transform: uppercase; letter-spacing: .15em; font-size: .63rem; }
.field-stat strong { color: #073b80; font-size: .9rem; }
.field-stat-before { left: 32px; }
.field-stat-after { right: 32px; text-align: right; }
@keyframes lanePulse { 0%,100%{opacity:.25} 50%{opacity:.95;filter:drop-shadow(0 0 8px rgba(0,85,255,.45))} }
@keyframes coreSpin { to { transform: rotate(360deg); } }

/* Five-stage roadmap: more space between route and copy */
.process-journey { height: 485vh; }
.process-heading { width: min(34vw, 510px); }
.process-heading h2 { font-size: clamp(2.55rem, 4vw, 5rem); }
.process-map { left: 34%; top: 8vh; width: min(34vw, 480px); height: 82vh; }
.process-copy { right: max(3.2vw, calc((100vw - var(--wd-max)) / 2)); width: min(30vw, 420px); }
.route-marker { width: 58px; height: 58px; margin: -29px 0 0 -29px; }
#routeMarkerIcon { display: grid; place-items: center; width: 100%; height: 100%; }
#routeMarkerIcon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2; }
.route-station {
  position: absolute;
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  color: rgba(255,255,255,.88);
  background: rgba(4,30,64,.74);
  box-shadow: 0 0 0 8px rgba(255,255,255,.04);
  transform: translate(-50%,-50%);
  transition: background .4s ease, box-shadow .4s ease, transform .4s ease;
}
.route-station.active { background: #0055ff; box-shadow: 0 0 0 11px rgba(0,85,255,.18), 0 0 32px rgba(0,85,255,.52); transform: translate(-50%,-50%) scale(1.06); }
.route-station small { position: absolute; top: calc(100% + 11px); left: 50%; width: 140px; transform: translateX(-50%); color: rgba(255,255,255,.65); font-size: .62rem; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.route-station .station-icon { font-weight: 700; font-size: 1.2rem; letter-spacing: -.03em; }
.route-station.p1 { left: 16.3%; top: 9.5%; }
.route-station.p2 { left: 63.5%; top: 27.5%; }
.route-station.p3 { left: 22.7%; top: 50.6%; }
.route-station.p4 { left: 65.4%; top: 75.6%; }
.route-station.p5 { left: 16.2%; top: 92.7%; }
.engine-station { overflow: hidden; }
.gear { position: absolute; color: #75b5ff; font-size: 1.75rem; animation: gearTurn 6s linear infinite; }
.gear.g1 { left: 12px; top: 13px; }
.gear.g2 { right: 10px; bottom: 11px; font-size: 1.3rem; animation-direction: reverse; }
.code-rain { position: absolute; right: 13px; top: 8px; color: rgba(255,255,255,.58); font: 8px/1.1 monospace; animation: codeShift 1.2s steps(4) infinite; }
.engine-station.active .gear { animation-duration: 1.6s; }
@keyframes gearTurn { to { transform: rotate(360deg); } }
@keyframes codeShift { 50% { transform: translateY(8px); opacity:.25; } }

/* Opportunity atmospheric gradient */
.delta {
  background:
    radial-gradient(circle at 82% 14%, rgba(0,85,255,.28), transparent 34%),
    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(135deg, #061d3a 0%, #073b80 52%, #0055ff 100%);
  background-size: auto, 180px 180px, 180px 180px, auto;
}

/* Cinematic proof sequence */
.proof-story { position: relative; height: 240vh; background: #061d3a; }
.proof-sticky { position: sticky; top: 0; height: 100svh; overflow: hidden; color: #fff; }
.proof-panel { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .65s ease, visibility .65s ease; background-position: center; background-size: cover; }
.proof-panel::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,21,48,.9),rgba(3,21,48,.42) 52%,rgba(3,21,48,.66)); }
.proof-panel.active { opacity: 1; visibility: visible; }
.proof-one { background-image: linear-gradient(rgba(7,59,128,.16),rgba(7,59,128,.16)), url("assets/proof-workflow.jpg"), linear-gradient(135deg,#073b80,#8eb7d8); }
.proof-two { background-image: linear-gradient(rgba(7,59,128,.16),rgba(7,59,128,.16)), url("assets/proof-partnership.jpg"), linear-gradient(135deg,#315b8e,#e3f1ff); }
.proof-three { background-image: linear-gradient(rgba(7,59,128,.18),rgba(7,59,128,.18)), url("assets/healthcare-data.jpg"), linear-gradient(135deg,#061d3a,#0055ff); }
.proof-content { position:absolute; z-index:3; top:50%; width:min(44vw,650px); transform:translateY(-50%); }
.proof-content.left { left:max(5vw,calc((100vw - var(--wd-max))/2)); }
.proof-content.right { right:max(5vw,calc((100vw - var(--wd-max))/2)); }
.proof-content .eyebrow { color:#9acbff; }
.proof-index { display:block; margin:22px 0; color:#9acbff; font-size:.72rem; letter-spacing:.2em; }
.proof-content h2 { color:#fff; font-size:clamp(3rem,6vw,7rem); line-height:.88; letter-spacing:-.055em; text-transform:uppercase; }
.proof-content p { max-width:570px; margin-top:26px; color:rgba(255,255,255,.8); font-size:clamp(1.05rem,1.3vw,1.3rem); line-height:1.65; }
.proof-slices { position:absolute; inset:0; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); pointer-events:none; }
.proof-slices i { background:rgba(227,241,255,.92); transform:scaleY(1); transform-origin:top; transition:transform .9s cubic-bezier(.77,0,.18,1); transition-delay:calc(var(--i,0)*.08s); }
.proof-slices i:nth-child(1){--i:0}.proof-slices i:nth-child(2){--i:1}.proof-slices i:nth-child(3){--i:2}.proof-slices i:nth-child(4){--i:3}
.proof-panel.active .proof-slices i { transform:scaleY(0); }
.proof-benefits { display:grid; grid-template-columns:repeat(2,1fr); gap:0 30px; margin-top:34px; border-top:1px solid rgba(255,255,255,.35); }
.proof-benefits span { padding:15px 0; border-bottom:1px solid rgba(255,255,255,.22); font-size:.85rem; letter-spacing:.05em; }
.proof-meter { position:absolute; z-index:5; right:28px; top:18%; bottom:18%; width:2px; background:rgba(255,255,255,.25); }
.proof-meter span { display:block; width:100%; height:0; background:#fff; box-shadow:0 0 10px #fff; }

/* Balanced leadership section */
.team-featured { grid-template-columns: minmax(250px,.48fr) 1.22fr; max-width:1120px; margin:48px auto 0; }
.team-featured .photo { min-height:340px; max-height:390px; }
.team-featured > div { padding:clamp(32px,4vw,58px); }
.team-featured h3 { font-size:clamp(2rem,3.2vw,3.8rem); }
.team-grid { gap:30px !important; }
.team-card .photo { aspect-ratio:4/4.6; }
.team-card p { font-size:.9rem; line-height:1.55; display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; }

/* Closing statement aligns left and enters laterally */
.cta .wrap { text-align:left; align-items:flex-start; }
.cta h2,.cta p,.cta .hero-cta { opacity:0; transform:translateX(-70px); transition:opacity .85s ease,transform .95s cubic-bezier(.2,.8,.2,1); }
.cta.in-view h2,.cta.in-view p,.cta.in-view .hero-cta { opacity:1; transform:translateX(0); }
.cta.in-view p { transition-delay:.14s; }
.cta.in-view .hero-cta { transition-delay:.28s; }

/* Contact scale and softer controls */
.contact-copy .lead { font-size:clamp(1.15rem,1.5vw,1.42rem); max-width:620px; }
.contact-points { margin-top:34px; gap:18px; }
.contact-points li { font-size:1.05rem; }
.contact-points svg { width:24px; height:24px; }
.contact .btn,.contact-form .btn { border-radius:999px; min-height:58px; }

@media (max-width:900px){
  .header .brand-logo { min-width:150px; align-items:flex-start; }
  .header .brand-logo img { width:155px; }
  .process-map { left:5%; width:62vw; opacity:.5; }
  .process-copy { left:auto; right:22px; width:48vw; }
  .proof-content,.proof-content.left,.proof-content.right { left:24px; right:24px; width:auto; }
  .proof-content h2 { font-size:clamp(2.6rem,10vw,5rem); }
}

@media (max-width:640px){
  .hero { background-position:center,center,62% calc(50% + var(--parallax-y)); }
  .secure::before { background-position:center,66% calc(50% + var(--parallax-y, 0px)); }
  .cta { background-position:center,center,64% calc(50% + var(--parallax-y)); }
  .intel-field { height:620px; min-height:620px; }
  .intel-svg { inset:100px -280px 70px -190px; width:calc(100% + 470px); }
  .field-copy { max-width:44%; }
  .field-copy strong { font-size:.9rem; }
  .field-stat strong { display:none; }
  .process-journey { height:470vh; }
  .process-heading { width:auto; }
  .process-map { left:-4%; top:21%; width:74vw; height:64vh; opacity:.43; }
  .process-copy { left:22px; right:22px; bottom:54px; width:auto; }
  .route-station { width:58px; height:58px; }
  .route-station small { display:none; }
  .proof-content h2 { font-size:clamp(2.55rem,12vw,4.6rem); }
  .proof-benefits { grid-template-columns:1fr 1fr; gap:0 16px; }
  .team-featured { grid-template-columns:1fr; }
  .team-featured .photo { min-height:360px; max-height:480px; }
  .team-card p { -webkit-line-clamp:5; }
  .footer .wrap { align-items:flex-start; }
}

/* ============================================================
   V4 — premium funnel, production-proportioned team and brand.
   ============================================================ */

/* Larger brand lockups and pill-shaped header navigation. */
.header { height: 104px; }
.header.scrolled { height: 88px; }
.header .brand-logo { min-width: 242px; align-items: flex-start; }
.header .brand-logo img { width: 232px; height: 78px; }
.header .brand-tag { margin: -10px 0 0 17px; font-size: .72rem; letter-spacing: .11em; }
.nav { gap: 8px; }
.nav a {
  border-radius: 999px;
  padding: 12px 16px;
  font-size: .79rem;
}
.nav .nav-cta,
.header.scrolled .nav .nav-cta {
  border-radius: 999px;
  padding-inline: 22px;
  box-shadow: 0 10px 30px rgba(0,85,255,.2);
}

.footer { padding-block: 54px; }
.footer .footer-logo img { width: 274px; height: 106px; margin-bottom: -13px; }
.footer .footer-logo .brand-tag { margin-left: 22px; font-size: .84rem; }
.footer ul a { font-size: 1rem; }
.footer p { font-size: .94rem; }

/* The original funnel analogy, redrawn inside a quieter premium field. */
.funnel-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
  margin-top: 52px;
}
.funnel-card,
.funnel-card.highlight {
  position: relative;
  overflow: hidden;
  padding: clamp(28px,3.2vw,48px);
  color: #073b80;
  border: 1px solid rgba(7,59,128,.14);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 15%,rgba(0,85,255,.11),transparent 31%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(227,241,255,.62));
  box-shadow: 0 26px 75px rgba(7,59,128,.1);
}
.funnel-card::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(rgba(7,59,128,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(7,59,128,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,black,transparent 78%);
}
.funnel-card.highlight { border-color: rgba(0,85,255,.3); }
.funnel-card .cc-head,.funnel-card .cc-stat,.funnel-card .premium-flow { position:relative; z-index:1; }
.funnel-card .cc-head h3 { color:#073b80; font-size:clamp(1.75rem,2.4vw,2.8rem); }
.funnel-card .cc-head p { color:#536b85; font-size:1rem; line-height:1.65; }
.funnel-card .cc-tag { display:inline-flex; border-radius:999px; padding:8px 12px; background:rgba(0,85,255,.08); color:#0055ff; }
.premium-flow { height:clamp(330px,34vw,510px); margin:22px -18px 10px; }
.premium-flow canvas { width:100%; height:100%; filter:drop-shadow(0 16px 28px rgba(7,59,128,.13)); }
.funnel-card .cc-stat { border-top:1px solid rgba(7,59,128,.15); padding-top:20px; }
.funnel-card .cs-num,.funnel-card .cs-num.after { color:#0055ff; }
.funnel-card .cs-lbl { color:#536b85; }

/* Match the production site's compact leadership spacing. */
.team-featured {
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:32px;
  align-items:center;
  max-width:none;
  margin:48px 0 0;
  padding:32px;
  border:1px solid rgba(7,59,128,.16);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 50px rgba(7,59,128,.08);
}
.team-featured .photo { width:140px; height:140px; min-height:0; border-radius:50%; object-fit:cover; border:3px solid #e3f1ff; }
.team-featured > div { padding:0; }
.team-featured h3 { margin:7px 0 10px; font-size:clamp(1.75rem,2.5vw,2.7rem); }
.team-featured p { max-width:72ch; font-size:1rem; line-height:1.65; }
.team-grid {
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:20px !important;
  margin-top:24px;
}
.team-card {
  padding:28px 18px 30px;
  text-align:center;
  border:1px solid rgba(7,59,128,.14);
  border-radius:22px;
  background:#fff;
}
.team-card .photo { width:112px; height:112px; aspect-ratio:1; margin:0 auto 20px; border:3px solid #e3f1ff; border-radius:50%; object-fit:cover; }
.team-card h4 { margin:8px 0 12px; font-size:1.2rem; }
.team-card p { font-size:.82rem; line-height:1.55; -webkit-line-clamp:7; }

@media (max-width:1100px){
  .header .brand-logo { min-width:190px; }
  .header .brand-logo img { width:190px; }
  .nav a { padding:10px 11px; font-size:.7rem; }
  .team-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:760px){
  .header { height:90px; }
  .header .brand-logo { min-width:190px; }
  .header .brand-logo img { width:190px; height:70px; }
  .header .brand-tag { margin-top:-10px; font-size:.65rem; }
  .funnel-compare { grid-template-columns:1fr; }
  .premium-flow { height:390px; }
  .team-featured { grid-template-columns:104px 1fr; gap:20px; padding:24px; }
  .team-featured .photo { width:104px; height:104px; }
  .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .footer .footer-logo img { width:240px; }
}

/* ============================================================
   V22 — viewport-fit sections without clipping.
   The section remains free to grow; its contents are scaled down
   so the funnel and full leadership row fit in a normal desktop view.
   ============================================================ */
@media (min-width:761px){
  .optimize,
  .team {
    min-height:100svh;
    height:auto !important;
    overflow:visible !important;
  }

  /* Funnel section: preserve every element, but use a tighter stage. */
  .optimize {
    display:flex;
    align-items:center;
    padding:clamp(58px,6vh,78px) 0 clamp(24px,3vh,38px);
  }
  .optimize .eyebrow { font-size:.62rem; }
  .optimize .h-sec {
    max-width:920px;
    font-size:clamp(2.15rem,3.45vw,3.85rem);
    line-height:.96;
  }
  .optimize .lead {
    max-width:780px;
    margin-top:14px;
    font-size:clamp(.9rem,.92vw,1rem);
    line-height:1.5;
  }
  .funnel-compare {
    gap:16px;
    margin-top:22px;
  }
  .funnel-card,
  .funnel-card.highlight {
    padding:clamp(17px,1.8vw,25px);
    border-radius:22px;
  }
  .funnel-card .cc-tag {
    padding:6px 10px;
    font-size:.62rem;
  }
  .funnel-card .cc-head h3 {
    margin-top:8px;
    font-size:clamp(1.3rem,1.75vw,1.9rem);
    line-height:1.05;
  }
  .funnel-card .cc-head p {
    margin-top:7px;
    font-size:clamp(.72rem,.76vw,.84rem);
    line-height:1.4;
  }
  .premium-flow {
    height:clamp(230px,25vh,310px);
    margin:8px -10px 2px;
  }
  .funnel-card .cc-stat { padding-top:10px; }
  .funnel-card .cs-num { font-size:clamp(1.45rem,2vw,2.15rem); }
  .funnel-card .cs-lbl { font-size:.68rem; }

  /* Team section: five complete cards remain visible in one row. */
  .team {
    display:flex;
    align-items:center;
    padding:clamp(58px,6vh,76px) 0 clamp(20px,2.5vh,32px);
  }
  .team .eyebrow { font-size:.62rem; }
  .team > .wrap > .h-sec {
    font-size:clamp(2.05rem,3.2vw,3.6rem);
    line-height:.98;
  }
  .team > .wrap > .lead {
    margin-top:10px;
    font-size:clamp(.82rem,.86vw,.95rem);
    line-height:1.45;
  }
  .team-featured {
    grid-template-columns:82px minmax(0,1fr);
    gap:17px;
    margin-top:15px;
    padding:13px 17px;
    border-radius:18px;
  }
  .team-featured .photo {
    width:82px;
    height:82px;
  }
  .team-featured .role { font-size:.57rem; }
  .team-featured h3 {
    margin:3px 0 4px;
    font-size:clamp(1.15rem,1.55vw,1.55rem);
  }
  .team-featured p {
    max-width:none;
    font-size:clamp(.68rem,.7vw,.77rem);
    line-height:1.35;
  }
  .team-grid {
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:12px;
  }
  .team-card {
    display:block;
    padding:12px 9px 14px;
    border-radius:17px;
    text-align:center;
  }
  .team-card .photo {
    width:58px;
    height:58px;
    margin:0 auto 6px;
    border-width:2px;
  }
  .team-card .role { font-size:.54rem; }
  .team-card h4 {
    margin:4px 0 5px;
    font-size:clamp(.76rem,.82vw,.9rem);
  }
  .team-card p {
    display:-webkit-box;
    overflow:hidden;
    font-size:clamp(.55rem,.58vw,.64rem);
    line-height:1.28;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:7;
  }
}

@media (min-width:761px) and (max-height:800px){
  .optimize { padding-top:52px; padding-bottom:18px; }
  .optimize .h-sec { font-size:clamp(2rem,3vw,3.25rem); }
  .funnel-compare { margin-top:16px; }
  .premium-flow { height:210px; }

  .team { padding-top:50px; padding-bottom:16px; }
  .team > .wrap > .h-sec { font-size:clamp(1.9rem,2.8vw,3rem); }
  .team-featured { grid-template-columns:70px 1fr; margin-top:10px; padding:10px 14px; }
  .team-featured .photo { width:70px; height:70px; }
  .team-grid { margin-top:9px; }
  .team-card { padding:9px 8px 11px; }
  .team-card .photo { width:50px; height:50px; }
  .team-card p { -webkit-line-clamp:6; }
}

/* ============================================================
   V23 — restore the previous team proportions.
   Funnel width is adjusted in script.js so the existing cards stay intact.
   ============================================================ */
@media (min-width:761px){
  .team {
    display:block;
    min-height:auto;
    height:auto !important;
    padding:clamp(82px,8vw,120px) 0;
    overflow:visible !important;
  }
  .team > .wrap > .h-sec {
    font-size:clamp(2.4rem,4.3vw,5rem);
    line-height:.94;
  }
  .team > .wrap > .lead {
    margin-top:24px;
    font-size:clamp(1rem,1.18vw,1.2rem);
    line-height:1.6;
  }
  .team-featured {
    display:grid;
    grid-template-columns:140px minmax(0,1fr);
    gap:32px;
    align-items:center;
    max-width:none;
    margin:48px 0 0;
    padding:32px;
    border:1px solid rgba(7,59,128,.16);
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 50px rgba(7,59,128,.08);
  }
  .team-featured .photo {
    width:140px;
    height:140px;
    min-height:0;
    border:3px solid #e3f1ff;
    border-radius:50%;
    object-fit:cover;
  }
  .team-featured > div { padding:0; }
  .team-featured .role { font-size:.7rem; }
  .team-featured h3 {
    margin:7px 0 10px;
    font-size:clamp(1.75rem,2.5vw,2.7rem);
  }
  .team-featured p {
    max-width:72ch;
    font-size:1rem;
    line-height:1.65;
  }
  .team-grid {
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:20px !important;
    margin-top:24px;
    border:0;
    background:transparent;
  }
  .team-card {
    display:block;
    padding:28px 18px 30px;
    text-align:center;
    border:1px solid rgba(7,59,128,.14);
    border-radius:22px;
    background:#fff;
  }
  .team-card .photo {
    width:112px;
    height:112px;
    aspect-ratio:1;
    margin:0 auto 20px;
    border:3px solid #e3f1ff;
    border-radius:50%;
    object-fit:cover;
  }
  .team-card .role { font-size:.66rem; }
  .team-card h4 {
    margin:8px 0 12px;
    font-size:1.2rem;
  }
  .team-card p {
    font-size:.82rem;
    line-height:1.55;
    -webkit-line-clamp:7;
  }
}
@media (max-width:520px){
  .team-featured { grid-template-columns:1fr; text-align:center; justify-items:center; }
  .team-featured p { text-align:left; }
  .team-grid { grid-template-columns:1fr !important; }
  .team-card { display:grid; grid-template-columns:96px 1fr; column-gap:18px; text-align:left; }
  .team-card .photo { width:96px; height:96px; grid-row:1/5; }
  .team-card .role,.team-card h4,.team-card p { grid-column:2; }
}

/* V5 — the supplied logo is now tightly cropped, so size the visible mark directly. */
.header { height: 116px; }
.header.scrolled { height: 96px; }
.header .brand-logo {
  min-width: 274px;
  align-items: center;
  justify-content: center;
}
.header .brand-logo img {
  width: 264px;
  height: auto;
  margin: 0;
  object-fit: contain;
}
.header .brand-tag {
  margin: 2px 0 0;
  padding: 0;
  width: 100%;
  font-size: .82rem;
  line-height: 1.1;
  text-align: center;
}
.nav a { font-size: .91rem; font-weight: 600; letter-spacing: .055em; }
.nav .nav-cta,.header.scrolled .nav .nav-cta { font-size: .94rem; }

.footer .footer-logo { align-items: center; min-width: 310px; }
.footer .footer-logo img { width: 300px; height: auto; margin: 0; object-fit: contain; }
.footer .footer-logo .brand-tag {
  width:100%;
  margin:4px 0 0;
  padding:0;
  font-size:.92rem;
  text-align:center;
}
.footer ul { gap:32px; }
.footer ul a { font-size:1.08rem; }
.footer p { font-size:1.02rem; line-height:1.5; }

@media (max-width:1160px){
  .header .brand-logo { min-width:230px; }
  .header .brand-logo img { width:220px; }
  .nav a { padding-inline:10px; font-size:.79rem; }
  .nav .nav-cta,.header.scrolled .nav .nav-cta { font-size:.82rem; }
}
@media (max-width:760px){
  .header { height:104px; }
  .header .brand-logo { min-width:220px; align-items:center; }
  .header .brand-logo img { width:215px; height:auto; }
  .header .brand-tag { margin-top:2px; font-size:.72rem; }
  .footer .footer-logo { min-width:260px; }
  .footer .footer-logo img { width:255px; }
  .footer ul a,.footer p { font-size:1rem; }
}

/* ============================================================
   V6 — White Desert-inspired proof/security scroll story.
   ============================================================ */
.delta { margin-bottom:0; }
.hospital-story { position:relative; height:720vh; margin:0; background:#061d3a; }
.hospital-story-sticky { position:sticky; top:0; height:100svh; overflow:hidden; isolation:isolate; color:#fff; }
.story-bg { position:absolute; inset:-5%; z-index:1; background-position:center; background-size:cover; will-change:transform,opacity; }
.story-bg-one { z-index:3; background-image:url("assets/proof-workflow.jpg"),linear-gradient(135deg,#073b80,#d7e9f8); transform:scale(1.18); }
.story-bg-two { z-index:2; background-image:url("assets/proof-partnership.jpg"),linear-gradient(135deg,#0a315f,#a9c6df); transform:translateX(0) scale(1.06); }
.story-bg-three { z-index:1; background-image:url("assets/security-operations.jpg"),linear-gradient(135deg,#061d3a,#0055ff); transform:scale(1.05); }
.story-shade { position:absolute; inset:0; z-index:4; pointer-events:none; background:linear-gradient(90deg,rgba(2,17,38,.85),rgba(2,17,38,.24) 58%,rgba(2,17,38,.48)),linear-gradient(180deg,rgba(2,17,38,.18),rgba(2,17,38,.7)); }
.proof-intro { position:absolute; z-index:6; left:max(5vw,calc((100vw - var(--wd-max))/2)); top:50%; width:min(680px,52vw); transform:translateY(-50%); will-change:opacity,transform; }
.proof-intro .eyebrow,.secure-story-content .eyebrow { color:#9acbff; }
.proof-intro h2,.secure-story-content h2 { margin-top:18px; color:#fff; font-size:clamp(3.3rem,6.4vw,7.4rem); line-height:.87; letter-spacing:-.055em; text-transform:uppercase; }
.proof-intro p { margin-top:28px; color:rgba(255,255,255,.86); font-size:clamp(1.1rem,1.55vw,1.42rem); line-height:1.65; }
.benefit-rail { position:absolute; z-index:7; left:50%; top:0; width:min(820px,70vw); display:grid; gap:18px; will-change:transform,opacity; opacity:0; }
.glass-benefit { min-height:112px; display:grid; grid-template-columns:54px 58px 1fr; align-items:center; gap:18px; padding:20px 28px; border:1px solid rgba(255,255,255,.32); border-radius:28px; background:linear-gradient(135deg,rgba(255,255,255,.19),rgba(255,255,255,.08)); box-shadow:0 24px 70px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.35); backdrop-filter:blur(22px) saturate(135%); -webkit-backdrop-filter:blur(22px) saturate(135%); }
.glass-benefit span { color:rgba(255,255,255,.55); font-size:.72rem; letter-spacing:.18em; }
.glass-benefit svg { width:50px; height:50px; padding:12px; fill:none; stroke:#fff; stroke-width:1.8; border:1px solid rgba(255,255,255,.28); border-radius:50%; }
.glass-benefit h3 { color:#fff; font-size:clamp(1.25rem,2vw,2rem); letter-spacing:-.025em; }
.secure-title { position:absolute; z-index:7; inset:0; display:grid; place-items:center; opacity:0; pointer-events:none; }
.secure-title span { color:#fff; font-family:var(--font-head); font-weight:700; font-size:clamp(3.4rem,8vw,9rem); line-height:.9; letter-spacing:-.06em; text-transform:uppercase; text-align:center; }
.secure-story-content { position:absolute; z-index:7; left:max(5vw,calc((100vw - var(--wd-max))/2)); top:0; width:min(760px,58vw); padding:64px 0 90px; opacity:0; will-change:transform,opacity; }
.secure-story-content h2 { font-size:clamp(3rem,5.4vw,6.6rem); }
.secure-lead { margin:22px 0 38px; color:rgba(255,255,255,.82); font-size:clamp(1.08rem,1.4vw,1.32rem); }
.secure-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.secure-story-grid article { min-height:190px; padding:24px; border:1px solid rgba(255,255,255,.25); border-radius:24px; background:rgba(4,29,65,.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); backdrop-filter:blur(16px); }
.secure-story-grid .si { width:44px; height:44px; color:#fff; border-color:rgba(255,255,255,.38); }
.secure-story-grid svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; }
.secure-story-grid h3 { margin-top:18px; color:#fff; font-size:1.08rem; }
.secure-story-grid p { margin-top:9px; color:rgba(255,255,255,.7); font-size:.9rem; line-height:1.55; }
.story-progress { position:absolute; z-index:9; right:26px; top:16%; bottom:16%; width:2px; background:rgba(255,255,255,.25); }
.story-progress span { display:block; width:100%; height:0; background:#fff; box-shadow:0 0 10px rgba(255,255,255,.8); }

/* Keep decorative hero layers from intercepting the process button. */
.hero-cta { position:relative; z-index:12; pointer-events:auto; }
.hero-cta a { pointer-events:auto; }

@media (max-width:700px){
  /* Mobile process becomes a readable linear journey instead of overlapping layers. */
  .process-journey { height:auto; min-height:0; }
  .process-sticky { position:relative; top:auto; height:auto; min-height:0; overflow:hidden; padding:106px 20px 74px; }
  .process-heading { position:relative; left:auto; right:auto; top:auto; width:auto; }
  .process-heading h2 { font-size:clamp(2.6rem,12vw,4.4rem); }
  .process-map { position:relative; left:auto; top:auto; width:min(88vw,440px); height:600px; margin:48px auto 28px; opacity:.72; }
  .process-copy { position:relative; left:auto; right:auto; top:auto; bottom:auto; width:auto; min-height:0; transform:none; display:grid; gap:14px; }
  .process-step,.process-step.active { position:relative; inset:auto; opacity:1; transform:none; pointer-events:auto; padding:24px; border:1px solid rgba(255,255,255,.18); border-radius:20px; background:rgba(3,22,48,.72); backdrop-filter:blur(12px); }
  .process-step h3 { font-size:1.65rem; }
  .process-step p { margin-top:14px; font-size:1rem; }
  .process-number { margin-bottom:12px; }
  .process-progress,.process-scroll-note { display:none; }

  .hospital-story { height:790vh; }
  .proof-intro { left:22px; right:22px; width:auto; }
  .proof-intro h2 { font-size:clamp(3rem,14vw,5.2rem); }
  .benefit-rail { width:calc(100vw - 34px); }
  .glass-benefit { grid-template-columns:38px 46px 1fr; gap:10px; min-height:96px; padding:16px; border-radius:22px; }
  .glass-benefit svg { width:42px; height:42px; padding:10px; }
  .glass-benefit h3 { font-size:1.15rem; }
  .secure-title { padding:24px; }
  .secure-story-content { left:20px; right:20px; width:auto; padding-top:50px; }
  .secure-story-content h2 { font-size:clamp(2.8rem,13vw,4.8rem); }
  .secure-story-grid { grid-template-columns:1fr; }
  .secure-story-grid article { min-height:150px; }
  .story-progress { right:10px; }
}

/* ============================================================
   V7 — compact header, triptych image reveal and liquid lenses.
   ============================================================ */
.header { height:98px; }
.header.scrolled { height:84px; }
.header .brand-logo { min-width:218px; }
.header .brand-logo img { width:205px; }
.header .brand-tag { margin-top:1px; font-size:.69rem; }
.nav { gap:6px; flex-wrap:nowrap; white-space:nowrap; }
.nav a { padding:10px 12px; font-size:.8rem; letter-spacing:.04em; white-space:nowrap; }
.nav .nav-cta,.header.scrolled .nav .nav-cta { padding:12px 18px; font-size:.82rem; white-space:nowrap; }

/* Three vertical slices of image two slide together over image one. */
.story-bg-one { z-index:1; opacity:1 !important; }
.story-bg-two { z-index:2; opacity:0; }
.story-slices { position:absolute; inset:-5%; z-index:3; display:grid; grid-template-columns:repeat(3,1fr); pointer-events:none; will-change:transform; }
.story-slices i { background-image:url("assets/proof-partnership.jpg"); background-repeat:no-repeat; background-size:300% 100%; will-change:transform; }
.story-slices i:nth-child(1) { background-position:left center; transform:translateY(-110%); }
.story-slices i:nth-child(2) { background-position:center center; transform:translateY(110%); }
.story-slices i:nth-child(3) { background-position:right center; transform:translateY(-110%); }

/* Vertical wheel movement now carries one horizontal row of glass lenses. */
.benefit-rail {
  left:0;
  top:50%;
  width:max-content;
  display:flex;
  gap:22px;
  padding:0 8vw;
  transform:translate3d(100vw,-50%,0);
}
.glass-benefit {
  position:relative;
  flex:0 0 min(430px,72vw);
  min-height:240px;
  display:grid;
  grid-template-columns:52px 1fr;
  grid-template-rows:auto 1fr;
  align-content:center;
  gap:22px 18px;
  padding:34px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.38);
  border-radius:32px;
  background:
    radial-gradient(circle at 18% 8%,rgba(255,255,255,.34),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.22),rgba(190,220,255,.08) 62%,rgba(0,85,255,.11));
  background-clip:padding-box;
  box-shadow:
    inset 1px 1px 1px rgba(255,255,255,.72),
    inset -1px -1px 1px rgba(0,24,70,.2),
    0 30px 65px -24px rgba(0,0,0,.48),
    0 4px 18px rgba(110,180,255,.12);
  backdrop-filter:blur(28px) saturate(185%);
  -webkit-backdrop-filter:blur(28px) saturate(185%);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;
}
.glass-benefit::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.08) 42%,rgba(105,178,255,.44) 76%,rgba(255,255,255,.22));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
.glass-benefit::after { content:""; position:absolute; left:7%; right:28%; top:0; height:42%; border-radius:50%; pointer-events:none; background:linear-gradient(180deg,rgba(255,255,255,.2),transparent); filter:blur(10px); }
.glass-benefit:hover { transform:translateY(-7px) scale(1.018); box-shadow:inset 1px 2px 2px rgba(255,255,255,.85),inset -1px -1px 1px rgba(0,24,70,.18),0 38px 80px -22px rgba(0,0,0,.55); }
.glass-benefit span { grid-column:1; color:rgba(255,255,255,.66); }
.glass-benefit svg { grid-column:1; grid-row:2; align-self:start; width:52px; height:52px; }
.glass-benefit h3 { grid-column:2; grid-row:1/3; align-self:center; font-size:clamp(1.55rem,2.2vw,2.35rem); }

/* Lock every privacy icon cleanly inside its own card. */
.secure-story-grid .si { position:static; display:grid; place-items:center; width:46px; height:46px; margin:0 0 18px; padding:0; border:1px solid rgba(255,255,255,.42); border-radius:50%; background:rgba(255,255,255,.08); box-sizing:border-box; }
.secure-story-grid .si svg { display:block; width:21px; height:21px; margin:0; padding:0; }
.secure-story-grid h3 { margin-top:0; }

@media (max-width:1100px){
  .header .brand-logo { min-width:186px; }
  .header .brand-logo img { width:178px; }
  .header .brand-tag { font-size:.62rem; }
  .nav a { padding:9px 8px; font-size:.7rem; }
  .nav .nav-cta,.header.scrolled .nav .nav-cta { padding:10px 13px; font-size:.72rem; }
}
@media (max-width:760px){
  .header { height:88px; }
  .header .brand-logo { min-width:178px; }
  .header .brand-logo img { width:170px; }
  .header .brand-tag { font-size:.61rem; }
  .benefit-rail { padding-inline:22px; }
  .glass-benefit { flex-basis:78vw; min-height:210px; padding:27px; }
}

/* ============================================================
   V8 — single proof image, interactive dot field and expandable grid.
   ============================================================ */
.header { height:88px; }
.header.scrolled { height:76px; }
.header .brand-logo { min-width:184px; align-items:center; }
.header .brand-logo img { width:170px; height:auto; }
.nav a { font-size:.76rem; padding:9px 11px; }
.nav .nav-cta,.header.scrolled .nav .nav-cta { font-size:.78rem; padding:11px 16px; }

.hospital-story { height:620vh; }
.story-bg-one { background-image:url("assets/proof-partnership.jpg"),linear-gradient(135deg,#073b80,#7897b3); }
.story-dot-field { position:absolute; inset:0; z-index:3; width:100%; height:100%; opacity:0; pointer-events:none; will-change:transform,opacity; }
.story-shade { background:linear-gradient(90deg,rgba(2,17,38,.78),rgba(2,17,38,.25) 58%,rgba(2,17,38,.42)),linear-gradient(180deg,rgba(2,17,38,.12),rgba(2,17,38,.62)); }

.benefit-rail {
  left:50%;
  top:50%;
  width:min(1180px,calc(100vw - 100px));
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:18px;
  padding:0;
  transform:translate3d(-50%,-50%,0);
}
.glass-benefit {
  min-width:0;
  min-height:218px;
  height:auto;
  display:grid;
  grid-template-columns:48px 1fr;
  grid-template-rows:auto auto 1fr;
  gap:10px 16px;
  padding:27px;
  cursor:default;
  transform-origin:center;
}
.glass-benefit span { grid-column:1; grid-row:1; align-self:center; }
.glass-benefit svg { grid-column:1; grid-row:2; width:46px; height:46px; padding:11px; }
.glass-benefit h3 { grid-column:2; grid-row:1/3; align-self:center; font-size:clamp(1.25rem,1.6vw,1.72rem); line-height:1.08; }
.glass-benefit p {
  grid-column:1/-1;
  grid-row:3;
  max-height:0;
  margin:0;
  overflow:hidden;
  color:rgba(255,255,255,.78);
  font-size:.94rem;
  line-height:1.55;
  opacity:0;
  transform:translateY(10px);
  transition:max-height .38s ease,opacity .3s ease,transform .38s cubic-bezier(.2,.8,.2,1),margin .3s ease;
}
.glass-benefit:hover,.glass-benefit:focus-within { z-index:4; transform:translateY(-7px) scale(1.045); }
.glass-benefit:hover p,.glass-benefit:focus-within p { max-height:92px; margin-top:10px; opacity:1; transform:translateY(0); }

@media (max-width:900px){
  .header .brand-logo { min-width:166px; }
  .header .brand-logo img { width:154px; }
  .benefit-rail { width:calc(100vw - 42px); grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:12px; }
  .glass-benefit { min-height:174px; padding:20px; }
}
@media (max-width:620px){
  .header .brand-logo { min-width:155px; }
  .header .brand-logo img { width:145px; }
  .hospital-story { height:700vh; }
  .benefit-rail { width:calc(100vw - 30px); grid-template-columns:1fr; grid-template-rows:none; max-height:82svh; overflow-y:auto; padding:4px; }
  .glass-benefit { min-height:150px; }
  .glass-benefit p { max-height:84px; margin-top:9px; opacity:1; transform:none; }
}

/* ============================================================
   V9 — independent privacy/proof slides and restrained sound UI.
   ============================================================ */
.header .brand-logo { min-width:168px; }
.header .brand-logo img { width:154px; }
.sound-toggle {
  flex:0 0 auto;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:rgba(7,29,56,.16);
  cursor:pointer;
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.sound-toggle:hover { transform:scale(1.06); background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.6); }
.sound-toggle svg { grid-area:1/1; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sound-toggle .sound-off { display:none; }
.sound-toggle[aria-pressed="true"] .sound-on { display:none; }
.sound-toggle[aria-pressed="true"] .sound-off { display:block; }
.header.scrolled .sound-toggle { color:#073b80; border-color:rgba(7,59,128,.2); background:#fff; }

.secure-parallax { --parallax-y:0px; min-height:100svh; }
.secure-parallax::before { background-position:center,center calc(50% + var(--parallax-y)); }
.secure-parallax .secure-card svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; }

.zero-risk { position:relative; min-height:100svh; overflow:hidden; display:flex; align-items:center; background:#f4f7f9; }
.zero-risk .wrap { position:relative; z-index:2; }
.zero-risk .h-sec { max-width:900px; color:#073b80; }
.zero-risk .lead { max-width:760px; color:#536b85; }
.proof-dot-field { position:absolute; inset:0; z-index:1; width:100%; height:100%; pointer-events:none; }
.zero-risk-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:48px; }
.risk-card {
  position:relative;
  min-height:190px;
  padding:27px;
  overflow:hidden;
  border:1px solid rgba(7,59,128,.13);
  border-radius:24px;
  background:rgba(255,255,255,.7);
  box-shadow:0 18px 48px rgba(7,59,128,.07),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(14px) saturate(120%);
  transition:min-height .38s cubic-bezier(.2,.8,.2,1),transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease;
}
.risk-card:hover,.risk-card:focus-within { z-index:3; min-height:245px; transform:translateY(-7px) scale(1.025); border-color:rgba(0,85,255,.62); box-shadow:0 0 0 1px rgba(0,85,255,.18),0 0 24px rgba(0,85,255,.18),0 28px 65px rgba(7,59,128,.16),inset 0 1px 0 #fff,inset 0 0 22px rgba(0,85,255,.045); }
.risk-num { display:block; color:#7f93a8; font-size:.66rem; letter-spacing:.18em; }
.risk-card svg { width:42px; height:42px; margin:18px 0; padding:10px; fill:none; stroke:#0055ff; stroke-width:1.8; border:1px solid rgba(0,85,255,.19); border-radius:50%; }
.risk-card h3 { color:#073b80; font-size:clamp(1.18rem,1.5vw,1.55rem); line-height:1.12; }
.risk-card p { max-height:0; margin-top:0; overflow:hidden; color:#536b85; font-size:.92rem; line-height:1.55; opacity:0; transform:translateY(10px); transition:max-height .36s ease,opacity .28s ease,transform .36s ease,margin .28s ease; }
.risk-card:hover p,.risk-card:focus-within p { max-height:100px; margin-top:14px; opacity:1; transform:translateY(0); }

@media (max-width:1050px){
  .header .brand-logo { min-width:154px; }
  .header .brand-logo img { width:142px; }
  .zero-risk-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .header .brand-logo { min-width:146px; }
  .header .brand-logo img { width:134px; }
  .sound-toggle { margin-left:auto; }
  .zero-risk { padding-block:88px; }
  .zero-risk-grid { grid-template-columns:1fr; gap:14px; }
  .risk-card { min-height:0; }
  .risk-card p { max-height:100px; margin-top:12px; opacity:1; transform:none; }
}

/* ============================================================
   V22 — viewport-fit sections without clipping.
   The section remains free to grow; its contents are scaled down
   so the funnel and full leadership row fit in a normal desktop view.
   ============================================================ */
@media (min-width:761px){
  .optimize,
  .team {
    min-height:100svh;
    height:auto !important;
    overflow:visible !important;
  }

  /* Funnel section: preserve every element, but use a tighter stage. */
  .optimize {
    display:flex;
    align-items:center;
    padding:clamp(58px,6vh,78px) 0 clamp(24px,3vh,38px);
  }
  .optimize .eyebrow { font-size:.62rem; }
  .optimize .h-sec {
    max-width:920px;
    font-size:clamp(2.15rem,3.45vw,3.85rem);
    line-height:.96;
  }
  .optimize .lead {
    max-width:780px;
    margin-top:14px;
    font-size:clamp(.9rem,.92vw,1rem);
    line-height:1.5;
  }
  .funnel-compare {
    gap:16px;
    margin-top:22px;
  }
  .funnel-card,
  .funnel-card.highlight {
    padding:clamp(17px,1.8vw,25px);
    border-radius:22px;
  }
  .funnel-card .cc-tag {
    padding:6px 10px;
    font-size:.62rem;
  }
  .funnel-card .cc-head h3 {
    margin-top:8px;
    font-size:clamp(1.3rem,1.75vw,1.9rem);
    line-height:1.05;
  }
  .funnel-card .cc-head p {
    margin-top:7px;
    font-size:clamp(.72rem,.76vw,.84rem);
    line-height:1.4;
  }
  .premium-flow {
    height:clamp(230px,25vh,310px);
    margin:8px -10px 2px;
  }
  .funnel-card .cc-stat { padding-top:10px; }
  .funnel-card .cs-num { font-size:clamp(1.45rem,2vw,2.15rem); }
  .funnel-card .cs-lbl { font-size:.68rem; }

  /* Team section: five complete cards remain visible in one row. */
  .team {
    display:flex;
    align-items:center;
    padding:clamp(58px,6vh,76px) 0 clamp(20px,2.5vh,32px);
  }
  .team .eyebrow { font-size:.62rem; }
  .team > .wrap > .h-sec {
    font-size:clamp(2.05rem,3.2vw,3.6rem);
    line-height:.98;
  }
  .team > .wrap > .lead {
    margin-top:10px;
    font-size:clamp(.82rem,.86vw,.95rem);
    line-height:1.45;
  }
  .team-featured {
    grid-template-columns:82px minmax(0,1fr);
    gap:17px;
    margin-top:15px;
    padding:13px 17px;
    border-radius:18px;
  }
  .team-featured .photo {
    width:82px;
    height:82px;
  }
  .team-featured .role { font-size:.57rem; }
  .team-featured h3 {
    margin:3px 0 4px;
    font-size:clamp(1.15rem,1.55vw,1.55rem);
  }
  .team-featured p {
    max-width:none;
    font-size:clamp(.68rem,.7vw,.77rem);
    line-height:1.35;
  }
  .team-grid {
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:12px;
  }
  .team-card {
    display:block;
    padding:12px 9px 14px;
    border-radius:17px;
    text-align:center;
  }
  .team-card .photo {
    width:58px;
    height:58px;
    margin:0 auto 6px;
    border-width:2px;
  }
  .team-card .role { font-size:.54rem; }
  .team-card h4 {
    margin:4px 0 5px;
    font-size:clamp(.76rem,.82vw,.9rem);
  }
  .team-card p {
    display:-webkit-box;
    overflow:hidden;
    font-size:clamp(.55rem,.58vw,.64rem);
    line-height:1.28;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:7;
  }
}

@media (min-width:761px) and (max-height:800px){
  .optimize { padding-top:52px; padding-bottom:18px; }
  .optimize .h-sec { font-size:clamp(2rem,3vw,3.25rem); }
  .funnel-compare { margin-top:16px; }
  .premium-flow { height:210px; }

  .team { padding-top:50px; padding-bottom:16px; }
  .team > .wrap > .h-sec { font-size:clamp(1.9rem,2.8vw,3rem); }
  .team-featured { grid-template-columns:70px 1fr; margin-top:10px; padding:10px 14px; }
  .team-featured .photo { width:70px; height:70px; }
  .team-grid { margin-top:9px; }
  .team-card { padding:9px 8px 11px; }
  .team-card .photo { width:50px; height:50px; }
  .team-card p { -webkit-line-clamp:6; }
}
