:root {
  --hospital-bg: #030818;
  --hospital-bg-2: #07162a;
  --hospital-panel: #0b1d34;
  --hospital-panel-2: #102a46;
  --hospital-line: rgba(145, 232, 255, .18);
  --hospital-line-strong: rgba(74, 231, 255, .38);
  --hospital-text: #f4fbff;
  --hospital-soft: #bfd2e4;
  --hospital-muted: #8399af;
  --hospital-cyan: #45e7ff;
  --hospital-teal: #2eeac7;
  --hospital-gold: #ffd27a;
  --hospital-red: #ff5c7a;
  --hospital-green: #33e7a8;
  --hospital-radius: 28px;
  --hospital-radius-xl: 42px;
  --hospital-ease: cubic-bezier(.2,.8,.2,1);
  --hospital-shadow-soft: 0 16px 46px rgba(0, 0, 0, .24);
  --hospital-shadow-card: 0 20px 58px rgba(0, 0, 0, .28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--hospital-bg); }
body.hospital-site-body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--hospital-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 12% 0%, rgba(69, 231, 255, .16), transparent 28%),
    radial-gradient(circle at 88% 4%, rgba(120, 105, 255, .14), transparent 28%),
    radial-gradient(circle at 74% 72%, rgba(46, 234, 199, .10), transparent 34%),
    linear-gradient(145deg, #020614 0%, #061226 45%, #091a31 100%);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.hospital-site-body::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 900px;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(132, 221, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(132, 221, 255, .045) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.92), transparent 92%);
}
a { color: inherit; }
.hospital-skip { position: absolute; left: -999px; top: 0; }
.hospital-skip:focus { left: 20px; top: 20px; z-index: 400; padding: 12px 16px; border-radius: 16px; background: #061328; color: #fff; border: 1px solid var(--hospital-line); }

.hospital-header {
  position: sticky;
  top: 14px;
  z-index: 90;
  width: min(100% - 36px, 1320px);
  margin: 14px auto 0;
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 12px 10px 15px;
  border: 1px solid rgba(127, 228, 255, .18);
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(4, 12, 26, .98), rgba(10, 31, 56, .94));
  box-shadow: 0 14px 42px rgba(0,0,0,.24);
  transform: translateZ(0);
  contain: layout paint style;
}
.hospital-brand { position: relative; display: inline-flex; align-items: center; gap: 13px; min-width: 220px; text-decoration: none; }
.hospital-brand-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #041121;
  font-weight: 950;
  letter-spacing: -.05em;
  background: linear-gradient(145deg, #f7ffff 0%, #55efff 38%, #33e7a8 72%, #ffd27a 100%);
  box-shadow: 0 14px 34px rgba(46,234,199,.20), inset 0 2px 0 rgba(255,255,255,.80);
}
.hospital-brand-copy strong { display: block; max-width: 275px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; line-height: 1.1; letter-spacing: -.035em; color: #fff; }
.hospital-brand-copy em { display: block; margin-top: 4px; color: var(--hospital-muted); font-style: normal; font-size: 12px; font-weight: 850; letter-spacing: .10em; text-transform: uppercase; }
.hospital-nav { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.hospital-nav a { text-decoration: none; color: #c9dae9; font-size: 13px; font-weight: 850; padding: 11px 12px; border-radius: 15px; transition: transform .18s var(--hospital-ease), background-color .18s var(--hospital-ease), color .18s var(--hospital-ease); }
.hospital-nav a:hover { color: #fff; background-color: rgba(69,231,255,.10); transform: translateY(-2px); }
.hospital-nav-login { color: #061221 !important; background: linear-gradient(135deg, var(--hospital-cyan), var(--hospital-teal) 62%, var(--hospital-gold)); box-shadow: 0 12px 30px rgba(69,231,255,.16); }
.hospital-menu-button { display: none; border: 0; border-radius: 15px; padding: 12px 15px; font-weight: 920; color: #061221; background: linear-gradient(135deg, var(--hospital-cyan), var(--hospital-teal)); cursor: pointer; }
.hospital-header a:focus-visible, .hospital-menu-button:focus-visible, .button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(69,231,255,.42); outline-offset: 3px; }

.hospital-main { position: relative; z-index: 1; width: min(100% - 36px, 1320px); margin: 0 auto; padding: 30px 0 72px; }
.hospital-loading { min-height: 420px; display: grid; place-items: center; align-content: center; gap: 14px; color: var(--hospital-soft); font-weight: 850; }
.hospital-loading span { width: 78px; height: 78px; border-radius: 25px; background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(69,231,255,.10)); border: 1px solid var(--hospital-line); }
.site-notice { margin: 20px 0; padding: 14px 18px; border-radius: 18px; background: rgba(255, 210, 122, .11); color: #ffe0a2; border: 1px solid rgba(255, 210, 122, .24); font-weight: 840; }

.hospital-section, .hospital-hero, .signature-care-section, .appointment-section, .hospital-footer { contain: layout paint style; }
.hospital-hero {
  position: relative;
  overflow: hidden;
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
  align-items: center;
  gap: clamp(26px, 4vw, 56px);
  border: 1px solid rgba(132, 231, 255, .22);
  border-radius: 46px;
  padding: clamp(32px, 4.8vw, 70px);
  background:
    radial-gradient(circle at 72% 24%, rgba(69,231,255,.16), transparent 28%),
    radial-gradient(circle at 92% 62%, rgba(46,234,199,.12), transparent 32%),
    linear-gradient(145deg, rgba(7, 18, 37, .98), rgba(8, 30, 55, .88) 52%, rgba(8, 42, 58, .72));
  box-shadow: var(--hospital-shadow-card), inset 0 1px 0 rgba(255,255,255,.13);
}
.hospital-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 0 34%, rgba(255,255,255,.10) 48%, transparent 62%);
  opacity: .72;
}
.hero-copy { position: relative; z-index: 2; max-width: 660px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--hospital-cyan); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .16em; }
.eyebrow::before { content: ""; width: 38px; height: 3px; border-radius: 999px; background: linear-gradient(90deg, var(--hospital-cyan), var(--hospital-teal), var(--hospital-gold)); }
.hero-copy h1 { margin: 0; max-width: 680px; font-size: clamp(42px, 5vw, 76px); line-height: .96; letter-spacing: -.078em; color: #f8fdff; }
.hero-lead { margin: 24px 0 0; max-width: 610px; color: #c6d8e8; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.button { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 22px; border-radius: 17px; border: 1px solid rgba(255,255,255,.14); text-decoration: none; font-weight: 940; cursor: pointer; transition: transform .18s var(--hospital-ease), border-color .18s var(--hospital-ease), background-color .18s var(--hospital-ease); }
.button:hover { transform: translateY(-3px); }
.button.primary { color: #061221; background: linear-gradient(135deg, #f7ffff, var(--hospital-cyan) 35%, var(--hospital-teal) 70%, var(--hospital-gold)); box-shadow: 0 18px 42px rgba(46,234,199,.18); }
.button.secondary { color: #eefdff; background: rgba(255,255,255,.075); border-color: rgba(132,231,255,.25); }
.button.compact { min-height: 46px; padding: 12px 18px; }
.hero-trust { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 32px; }
.hero-trust > div { min-height: 94px; padding: 17px; border-radius: 22px; background: rgba(255,255,255,.075); border: 1px solid rgba(132,231,255,.16); }
.hero-trust strong { display: block; color: #fff; font-size: 21px; letter-spacing: -.04em; }
.hero-trust span { display: block; margin-top: 6px; color: var(--hospital-muted); font-weight: 760; font-size: 13px; }

.hero-visual { position: relative; z-index: 2; min-height: 480px; display: grid; align-items: center; }
.fast-hero-card {
  position: relative;
  min-height: 430px;
  border-radius: 38px;
  border: 1px solid rgba(132,231,255,.20);
  background:
    radial-gradient(circle at 25% 18%, rgba(69,231,255,.20), transparent 25%),
    radial-gradient(circle at 76% 30%, rgba(255,210,122,.13), transparent 25%),
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.045));
  box-shadow: var(--hospital-shadow-card), inset 0 1px 0 rgba(255,255,255,.11);
  overflow: hidden;
}
.fast-hospital-mark {
  position: absolute;
  left: 9%;
  top: 11%;
  width: 48%;
  height: 52%;
  border-radius: 30px;
  background: linear-gradient(145deg, #eaffff, #8ff3ff 44%, #2eeac7);
  box-shadow: 0 22px 52px rgba(0,0,0,.28);
}
.fast-hospital-mark::before { content: "+"; position: absolute; left: 50%; top: 44%; transform: translate(-50%, -50%); width: 82px; height: 82px; display: grid; place-items: center; border-radius: 24px; color: #fff; font-size: 64px; line-height: 1; font-weight: 950; background: linear-gradient(145deg, var(--hospital-red), #db2448); }
.fast-hospital-mark::after { content: ""; position: absolute; inset: 26px; top: auto; height: 22px; border-radius: 999px; background: rgba(4,17,32,.18); box-shadow: 0 -44px 0 rgba(4,17,32,.10), 0 -88px 0 rgba(4,17,32,.10); }
.fast-care-panel {
  position: absolute;
  right: 7%;
  top: 16%;
  width: 42%;
  padding: 20px;
  border-radius: 26px;
  background: rgba(7, 20, 38, .94);
  border: 1px solid rgba(132,231,255,.18);
}
.fast-care-panel span { color: var(--hospital-cyan); font-size: 11px; font-weight: 950; text-transform: uppercase; letter-spacing: .14em; }
.fast-care-panel strong { display: block; margin-top: 9px; color: #fff; font-size: 22px; letter-spacing: -.05em; }
.fast-care-panel em { display: block; margin-top: 8px; color: var(--hospital-soft); font-style: normal; font-size: 13px; line-height: 1.45; }
.fast-care-strip { position: absolute; left: 7%; right: 7%; bottom: 7%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.fast-care-strip div { min-height: 92px; padding: 14px; border-radius: 20px; background: rgba(6,18,35,.92); border: 1px solid rgba(132,231,255,.16); }
.fast-care-strip i { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-bottom: 9px; border-radius: 10px; color: #061221; background: linear-gradient(135deg, var(--hospital-cyan), var(--hospital-teal)); font-style: normal; font-weight: 950; font-size: 11px; }
.fast-care-strip span { display: block; color: #fff; font-weight: 900; font-size: 13px; }
.fast-care-strip small { display: block; margin-top: 5px; color: var(--hospital-muted); font-size: 11px; font-weight: 760; }

.hospital-section { margin-top: 34px; }
.hospital-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 26px; margin-bottom: 18px; }
.hospital-section-heading h2 { margin: 7px 0 0; font-size: clamp(30px, 3vw, 44px); line-height: 1.04; letter-spacing: -.058em; }
.hospital-section-heading p { max-width: 560px; margin: 0; color: var(--hospital-soft); line-height: 1.62; }
.hospital-section-heading span { color: var(--hospital-cyan); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .16em; }
.access-grid, .service-grid, .doctor-card-grid, .visit-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.doctor-card-grid, .visit-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.access-card, .service-card, .department-row, .visit-step, .doctor-card, .about-panel, .appointment-panel, .signature-care-section, .guide-device {
  position: relative;
  border: 1px solid rgba(132,231,255,.17);
  background: linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.045));
  border-radius: 26px;
  box-shadow: var(--hospital-shadow-soft);
  overflow: hidden;
  transition: transform .18s var(--hospital-ease), border-color .18s var(--hospital-ease), background-color .18s var(--hospital-ease);
}
.access-card:hover, .service-card:hover, .department-row:hover, .visit-step:hover, .doctor-card:hover { transform: translateY(-6px); border-color: rgba(69,231,255,.38); }
.access-card { min-height: 158px; display: flex; flex-direction: column; gap: 10px; padding: 22px; }
.access-card i, .service-icon, .department-row i, .visit-step i { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 16px; color: #061221; background: linear-gradient(135deg, var(--hospital-cyan), var(--hospital-teal)); font-style: normal; font-weight: 950; }
.access-card strong, .service-card h3, .department-row strong, .visit-step strong { color: #fff; font-size: 19px; letter-spacing: -.03em; }
.access-card span, .service-card p, .department-row span, .visit-step span { color: var(--hospital-soft); line-height: 1.58; font-size: 14px; }
.service-card { min-height: 210px; padding: 24px; }
.service-icon { margin-bottom: 18px; }
.service-card h3 { margin: 0 0 10px; }
.service-card p { margin: 0; }

.signature-care-section {
  margin-top: 34px;
  min-height: 410px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: 26px;
  align-items: center;
  padding: clamp(28px, 4vw, 54px);
  background:
    radial-gradient(circle at 84% 15%, rgba(69,231,255,.12), transparent 28%),
    linear-gradient(145deg, rgba(12,30,55,.96), rgba(7,22,42,.82));
}
.signature-copy h2 { margin: 0; font-size: clamp(34px, 4vw, 58px); line-height: 1; letter-spacing: -.065em; }
.signature-copy p { color: var(--hospital-soft); line-height: 1.72; font-size: 17px; }
.signature-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.signature-stage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.signature-doctor-chip { min-height: 246px; padding: 14px; border-radius: 26px; border: 1px solid rgba(132,231,255,.18); background: rgba(6,18,35,.86); }
.signature-doctor-chip img { width: 100%; height: 150px; object-fit: cover; border-radius: 19px; display: block; background: rgba(255,255,255,.05); }
.signature-doctor-chip span { display: block; margin-top: 10px; color: #e8f9ff; font-size: 13px; font-weight: 900; text-align: center; }

.department-layout { display: grid; grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr); gap: 18px; align-items: stretch; }
.department-tower { min-height: 560px; border-radius: 34px; border: 1px solid rgba(132,231,255,.18); background: linear-gradient(145deg, rgba(69,231,255,.10), rgba(46,234,199,.045)); box-shadow: var(--hospital-shadow-card); position: relative; overflow: hidden; }
.department-tower::before { content: "+"; position: absolute; left: 50%; top: 44%; transform: translate(-50%, -50%); width: 120px; height: 120px; display: grid; place-items: center; border-radius: 34px; color: #fff; background: linear-gradient(145deg, var(--hospital-red), #db2448); font-size: 90px; font-weight: 950; }
.department-tower::after { content: "Departments"; position: absolute; left: 34px; right: 34px; bottom: 34px; padding: 18px; border-radius: 24px; color: #fff; font-size: 28px; font-weight: 950; letter-spacing: -.05em; background: rgba(6,18,35,.86); border: 1px solid rgba(132,231,255,.16); }
.department-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.department-row { display: grid; grid-template-columns: 54px 1fr; gap: 14px; align-items: start; min-height: 118px; padding: 18px; }
.department-row strong, .department-row span { display: block; }
.department-row span { margin-top: 6px; }
.doctors-section { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 24px; align-items: center; }
.doctor-lead h2 { margin: 0; font-size: clamp(34px, 4vw, 54px); line-height: 1; letter-spacing: -.064em; }
.doctor-lead p { color: var(--hospital-soft); line-height: 1.7; font-size: 17px; }
.doctor-command-card { margin: 22px 0; padding: 20px; border-radius: 24px; border: 1px solid rgba(132,231,255,.18); background: rgba(255,255,255,.06); }
.doctor-command-card span { color: var(--hospital-cyan); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .13em; }
.doctor-command-card strong, .doctor-command-card em { display: block; margin-top: 8px; }
.doctor-command-card em { color: var(--hospital-soft); font-style: normal; line-height: 1.55; }
.doctor-gallery-stage { position: relative; }
.doctor-card { min-height: 250px; padding: 18px; }
.doctor-photo-shell { position: relative; overflow: hidden; border-radius: 24px; background: linear-gradient(145deg, rgba(69,231,255,.14), rgba(46,234,199,.08)); }
.doctor-photo-shell img { width: 100%; height: 150px; object-fit: cover; display: block; transition: transform .18s var(--hospital-ease); }
.doctor-card:hover img { transform: scale(1.04); }
.doctor-copy { padding: 14px 4px 2px; }
.doctor-copy strong { display: block; font-size: 20px; color: #fff; letter-spacing: -.035em; }
.doctor-copy em { display: block; margin-top: 4px; color: var(--hospital-cyan); font-style: normal; font-weight: 850; }
.doctor-copy p { color: var(--hospital-soft); line-height: 1.52; margin: 10px 0 0; }
.doctor-schedule-ribbon { margin-top: 14px; padding: 16px 18px; border-radius: 22px; background: rgba(6,18,35,.86); border: 1px solid rgba(132,231,255,.16); }
.doctor-schedule-ribbon span { color: var(--hospital-gold); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .13em; }
.doctor-schedule-ribbon strong { display: block; margin-top: 6px; }

.guide-section { display: grid; grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr); gap: 24px; align-items: center; }
.guide-device { min-height: 370px; padding: 34px; display: grid; align-items: end; background: linear-gradient(145deg, rgba(13,34,61,.96), rgba(7,22,42,.76)); }
.device-screen { padding: 24px; border-radius: 28px; background: rgba(3, 9, 21, .84); border: 1px solid rgba(132,231,255,.18); }
.device-screen small { color: var(--hospital-cyan); font-weight: 950; text-transform: uppercase; letter-spacing: .13em; }
.device-screen strong { display: block; margin-top: 12px; color: #fff; font-size: 28px; line-height: 1.08; letter-spacing: -.055em; }
.device-screen span { display: block; margin-top: 14px; color: var(--hospital-soft); line-height: 1.6; }
.visit-step { min-height: 145px; padding: 20px; }
.visit-step i { margin-bottom: 14px; background: linear-gradient(135deg, var(--hospital-gold), var(--hospital-cyan)); }
.visit-step strong, .visit-step span { display: block; }
.visit-step span { margin-top: 8px; }
.appointment-section { display: grid; grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr); gap: 22px; align-items: start; }
.about-panel, .appointment-panel { padding: clamp(26px, 3vw, 40px); }
.about-panel h2, .appointment-panel h2 { margin: 0; font-size: clamp(32px, 3.6vw, 52px); line-height: 1.02; letter-spacing: -.058em; }
.about-panel p, .appointment-panel p { color: var(--hospital-soft); line-height: 1.72; font-size: 16px; }
.contact-lines { display: grid; gap: 10px; margin-top: 18px; }
.contact-lines span { padding: 13px 14px; border-radius: 16px; background: rgba(69,231,255,.08); border: 1px solid rgba(132,231,255,.14); color: #eaffff; font-weight: 830; }
.appointment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.field { display: grid; gap: 7px; }
.field.wide, .form-actions.wide { grid-column: 1 / -1; }
.field span { color: var(--hospital-soft); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; border-radius: 15px; border: 1px solid rgba(132,231,255,.18); background: rgba(3, 9, 21, .62); color: #fff; padding: 12px 13px; font: inherit; }
.field textarea { min-height: 118px; resize: vertical; }
.field small { color: var(--hospital-red); min-height: 16px; font-size: 12px; font-weight: 800; }
.hospital-footer { margin-top: 34px; padding: 24px 0 4px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--hospital-muted); }
.hospital-footer strong { color: #fff; }
.med-toast-region { position: fixed; right: 18px; bottom: 18px; z-index: 500; display: grid; gap: 10px; width: min(360px, calc(100vw - 36px)); }
.med-toast { border: 1px solid rgba(255,92,122,.28); background: rgba(90,18,36,.96); color: #fff; border-radius: 18px; padding: 12px 14px; box-shadow: 0 16px 42px rgba(0,0,0,.34); font-weight: 850; }
.med-toast.success { border-color: rgba(51,231,168,.34); background: rgba(12,74,59,.96); }

@media (max-width: 1180px) {
  .hospital-nav a { padding: 10px 8px; }
  .hospital-hero, .signature-care-section, .department-layout, .doctors-section, .guide-section, .appointment-section { grid-template-columns: 1fr; }
  .hero-visual { min-height: 420px; }
  .access-grid, .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  body.hospital-site-body::before { height: 640px; }
  .hospital-header { align-items: center; }
  .hospital-menu-button { display: inline-flex; }
  .hospital-nav { position: absolute; left: 0; right: 0; top: calc(100% + 10px); display: none; padding: 12px; border-radius: 22px; background: rgba(4, 12, 26, .98); border: 1px solid rgba(127, 228, 255, .18); box-shadow: 0 16px 44px rgba(0,0,0,.34); flex-wrap: wrap; justify-content: flex-start; }
  .hospital-nav.is-open { display: flex; }
  .hospital-brand { min-width: 0; }
  .hospital-brand-copy strong { max-width: 180px; }
  .hospital-hero { min-height: auto; border-radius: 34px; }
  .hero-copy h1 { font-size: clamp(36px, 11vw, 56px); }
  .hero-trust, .department-list, .doctor-card-grid, .visit-steps, .appointment-form, .signature-stage { grid-template-columns: 1fr; }
  .fast-care-strip { grid-template-columns: repeat(2, 1fr); }
  .hospital-section-heading, .hospital-footer { align-items: start; flex-direction: column; }
}
@media (max-width: 620px) {
  .hospital-main, .hospital-header { width: min(100% - 24px, 1320px); }
  .hospital-main { padding-top: 22px; }
  .hospital-hero, .signature-care-section, .about-panel, .appointment-panel { padding: 24px; }
  .access-grid, .service-grid { grid-template-columns: 1fr; }
  .hero-visual { min-height: 560px; }
  .fast-hero-card { min-height: 540px; }
  .fast-hospital-mark { left: 8%; top: 8%; width: 84%; height: 32%; }
  .fast-care-panel { left: 8%; right: 8%; top: 44%; width: auto; }
  .fast-care-strip { left: 8%; right: 8%; bottom: 6%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}

/* i426: alignment-only stabilization after the fast public rebuild.
   Kept the lightweight, no-scroll-JS model from i425 and corrected visual balance
   across desktop, tablet and phone breakpoints without restoring heavy effects. */
body.premium-fast-public-site {
  line-height: 1.45;
}
body.premium-fast-public-site::before {
  width: 100%;
}
.hospital-header,
.hospital-main {
  width: min(100% - 40px, 1240px);
}
.hospital-header {
  min-height: 72px;
  top: 12px;
  padding: 10px 12px 10px 14px;
}
.hospital-brand {
  flex: 0 1 auto;
  min-width: 210px;
}
.hospital-nav {
  flex: 1 1 auto;
  min-width: 0;
}
.hospital-nav a {
  white-space: nowrap;
}
.hospital-main {
  padding-top: 28px;
}
.site-notice {
  margin: 0 0 18px;
}
.hospital-hero {
  min-height: 0;
  grid-template-columns: minmax(0, .96fr) minmax(390px, .94fr);
  align-items: center;
  gap: clamp(24px, 3.4vw, 46px);
  padding: clamp(34px, 4.4vw, 58px);
}
.hero-copy {
  max-width: 610px;
}
.hero-copy h1 {
  max-width: 620px;
  text-wrap: balance;
}
.hero-lead {
  max-width: 570px;
}
.hero-actions .button,
.signature-actions .button {
  white-space: nowrap;
}
.hero-trust {
  align-items: stretch;
}
.hero-trust > div {
  display: grid;
  align-content: center;
}
.hero-visual {
  min-height: 0;
}
.fast-hero-card {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(240px, .78fr);
  grid-template-areas:
    "mark panel"
    "strip strip";
  align-items: stretch;
  gap: 18px;
  min-height: 0;
  padding: clamp(20px, 2.4vw, 28px);
}
.fast-hospital-mark,
.fast-care-panel,
.fast-care-strip {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  width: auto;
}
.fast-hospital-mark {
  grid-area: mark;
  height: 250px;
  align-self: stretch;
}
.fast-care-panel {
  grid-area: panel;
  min-height: 250px;
  display: grid;
  align-content: center;
}
.fast-care-strip {
  grid-area: strip;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fast-care-strip div {
  min-height: 104px;
}
.hospital-section {
  margin-top: 32px;
}
.hospital-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
  align-items: end;
  gap: 24px;
}
.hospital-section-heading h2 {
  text-wrap: balance;
}
.access-grid,
.service-grid {
  align-items: stretch;
}
.access-card,
.service-card,
.department-row,
.visit-step,
.doctor-card {
  height: 100%;
}
.signature-care-section {
  grid-template-columns: minmax(0, .86fr) minmax(360px, 1.04fr);
  align-items: center;
}
.signature-stage {
  align-items: stretch;
}
.signature-doctor-chip {
  display: grid;
  grid-template-rows: minmax(138px, 1fr) auto;
}
.signature-doctor-chip img {
  height: 100%;
  min-height: 138px;
}
.department-layout {
  grid-template-columns: minmax(280px, .66fr) minmax(0, 1.34fr);
  align-items: stretch;
}
.department-tower {
  min-height: 520px;
}
.department-list {
  align-items: stretch;
}
.doctors-section {
  align-items: start;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
}
.doctor-card-grid {
  align-items: stretch;
}
.doctor-card {
  display: grid;
  grid-template-rows: auto 1fr;
}
.doctor-copy p {
  max-width: 34em;
}
.guide-section {
  align-items: start;
}
.guide-device {
  min-height: 340px;
}
.visit-steps {
  align-items: stretch;
}
.appointment-section {
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  align-items: start;
}
.appointment-panel,
.about-panel {
  height: 100%;
}
.appointment-form {
  align-items: start;
}
.field input,
.field select,
.field textarea {
  display: block;
}
.form-actions {
  display: flex;
  align-items: center;
}
.hospital-footer {
  width: 100%;
}

@media (max-width: 1080px) {
  .hospital-menu-button { display: inline-flex; }
  .hospital-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    display: none;
    padding: 12px;
    border-radius: 22px;
    background: rgba(4, 12, 26, .98);
    border: 1px solid rgba(127, 228, 255, .18);
    box-shadow: 0 16px 44px rgba(0,0,0,.34);
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .hospital-nav.is-open { display: flex; }
  .hospital-hero,
  .signature-care-section,
  .department-layout,
  .doctors-section,
  .guide-section,
  .appointment-section {
    grid-template-columns: 1fr;
  }
  .hospital-hero {
    align-items: start;
  }
  .hero-copy {
    max-width: 760px;
  }
  .hero-copy h1,
  .hero-lead {
    max-width: 740px;
  }
  .hero-visual {
    width: 100%;
  }
  .fast-hero-card {
    grid-template-columns: minmax(0, .88fr) minmax(260px, .72fr);
  }
  .signature-care-section,
  .department-layout,
  .doctors-section,
  .guide-section,
  .appointment-section {
    gap: 18px;
  }
  .signature-stage {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .department-tower {
    min-height: 300px;
  }
  .department-tower::before {
    width: 96px;
    height: 96px;
    font-size: 72px;
  }
  .department-tower::after {
    font-size: 24px;
  }
  .doctor-card-grid,
  .visit-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .about-panel,
  .appointment-panel {
    height: auto;
  }
}

@media (max-width: 760px) {
  .hospital-header,
  .hospital-main {
    width: min(100% - 28px, 1240px);
  }
  .hospital-header {
    top: 10px;
    min-height: 66px;
    border-radius: 22px;
  }
  .hospital-brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 15px;
  }
  .hospital-brand-copy strong {
    max-width: 165px;
    font-size: 16px;
  }
  .hospital-brand-copy em {
    max-width: 165px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .hospital-main {
    padding-top: 22px;
    padding-bottom: 46px;
  }
  .hospital-hero,
  .signature-care-section,
  .about-panel,
  .appointment-panel {
    padding: 24px;
    border-radius: 30px;
  }
  .hospital-section-heading {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 10px;
  }
  .hospital-section-heading p {
    max-width: none;
  }
  .hero-copy h1 {
    font-size: clamp(34px, 10vw, 48px);
    letter-spacing: -.065em;
  }
  .hero-lead {
    font-size: 16px;
    line-height: 1.62;
  }
  .hero-actions,
  .signature-actions {
    gap: 10px;
  }
  .button {
    min-height: 48px;
    padding: 12px 16px;
  }
  .hero-trust,
  .access-grid,
  .service-grid,
  .department-list,
  .doctor-card-grid,
  .visit-steps,
  .appointment-form,
  .signature-stage {
    grid-template-columns: 1fr;
  }
  .fast-hero-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "mark"
      "panel"
      "strip";
    gap: 14px;
    border-radius: 30px;
  }
  .fast-hospital-mark {
    height: 190px;
    border-radius: 24px;
  }
  .fast-hospital-mark::before {
    width: 66px;
    height: 66px;
    border-radius: 20px;
    font-size: 52px;
  }
  .fast-care-panel {
    min-height: auto;
    padding: 18px;
  }
  .fast-care-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .fast-care-strip div {
    min-height: 112px;
  }
  .signature-doctor-chip {
    min-height: 0;
    grid-template-rows: 148px auto;
  }
  .department-tower {
    min-height: 250px;
    border-radius: 28px;
  }
  .department-tower::before {
    top: 40%;
    width: 74px;
    height: 74px;
    border-radius: 24px;
    font-size: 56px;
  }
  .department-tower::after {
    left: 22px;
    right: 22px;
    bottom: 22px;
    padding: 14px;
    font-size: 20px;
    border-radius: 18px;
  }
  .department-row {
    min-height: 0;
  }
  .doctor-lead h2,
  .about-panel h2,
  .appointment-panel h2,
  .signature-copy h2 {
    font-size: clamp(30px, 8.7vw, 42px);
    letter-spacing: -.055em;
  }
  .doctor-photo-shell img {
    height: 138px;
  }
  .guide-device {
    min-height: 230px;
    padding: 22px;
  }
  .device-screen strong {
    font-size: 24px;
  }
  .hospital-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

@media (max-width: 420px) {
  .hospital-header,
  .hospital-main {
    width: min(100% - 20px, 1240px);
  }
  .hospital-header {
    padding: 9px 10px;
  }
  .hospital-brand {
    gap: 9px;
  }
  .hospital-brand-copy strong {
    max-width: 126px;
    font-size: 14px;
  }
  .hospital-brand-copy em {
    display: none;
  }
  .hospital-menu-button {
    padding: 10px 12px;
  }
  .hospital-hero,
  .signature-care-section,
  .about-panel,
  .appointment-panel {
    padding: 20px;
    border-radius: 26px;
  }
  .hero-copy h1 {
    font-size: clamp(31px, 10.6vw, 40px);
  }
  .eyebrow {
    letter-spacing: .11em;
  }
  .eyebrow::before {
    width: 28px;
  }
  .hero-actions .button,
  .signature-actions .button,
  .form-actions .button {
    width: 100%;
  }
  .hero-trust > div,
  .access-card,
  .service-card,
  .visit-step,
  .department-row,
  .doctor-card {
    padding: 16px;
  }
  .fast-hospital-mark {
    height: 150px;
  }
  .fast-care-strip {
    grid-template-columns: 1fr;
  }
  .fast-care-strip div {
    min-height: 0;
  }
  .contact-lines span {
    overflow-wrap: anywhere;
  }
}

/* i426 mobile tightening: keep the premium content but avoid a stretched hero on phones. */
@media (max-width: 420px) {
  .hero-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }
  .hero-trust > div {
    min-height: 86px;
    padding: 13px;
  }
  .hero-trust strong {
    font-size: 14px;
    line-height: 1.12;
  }
  .hero-trust span {
    font-size: 11px;
    line-height: 1.35;
  }
  .fast-hero-card {
    gap: 12px;
    padding: 16px;
  }
  .fast-hospital-mark {
    height: 134px;
  }
  .fast-hospital-mark::after {
    inset: 22px;
    top: auto;
    height: 15px;
    box-shadow: 0 -30px 0 rgba(4,17,32,.10), 0 -60px 0 rgba(4,17,32,.10);
  }
  .fast-care-panel {
    padding: 15px;
  }
  .fast-care-panel strong {
    font-size: 18px;
  }
  .fast-care-panel em {
    font-size: 12px;
  }
  .fast-care-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fast-care-strip div {
    min-height: 88px;
    padding: 11px;
  }
  .fast-care-strip i {
    width: 26px;
    height: 26px;
    margin-bottom: 7px;
  }
  .fast-care-strip span {
    font-size: 12px;
  }
  .fast-care-strip small {
    font-size: 10px;
    line-height: 1.28;
  }
}

/* i429: public-site density matching the preferred 75% browser-zoom feel without changing the browser zoom. */
body.premium-fast-public-site{font-size:13px!important;}
body.premium-fast-public-site .hospital-header{min-height:58px!important;padding:9px 18px!important;}
body.premium-fast-public-site .hospital-brand-mark{width:38px!important;height:38px!important;border-radius:13px!important;font-size:16px!important;}
body.premium-fast-public-site .hospital-brand-copy strong{font-size:14px!important;}
body.premium-fast-public-site .hospital-brand-copy em{font-size:10.5px!important;}
body.premium-fast-public-site .hospital-nav{gap:7px!important;}
body.premium-fast-public-site .hospital-nav a{font-size:12px!important;padding:7px 9px!important;border-radius:11px!important;}
body.premium-fast-public-site .hospital-main{max-width:1180px!important;padding:14px 18px 34px!important;}
body.premium-fast-public-site h1{font-size:clamp(30px,4.2vw,52px)!important;line-height:1!important;}
body.premium-fast-public-site h2{font-size:clamp(22px,2.7vw,32px)!important;}
body.premium-fast-public-site h3{font-size:17px!important;}
body.premium-fast-public-site p,body.premium-fast-public-site li{font-size:13px!important;line-height:1.55!important;}
body.premium-fast-public-site .hospital-hero,body.premium-fast-public-site .hospital-section,body.premium-fast-public-site .hospital-card{border-radius:22px!important;}
body.premium-fast-public-site .hospital-primary-button,body.premium-fast-public-site .hospital-secondary-button,body.premium-fast-public-site .hospital-nav-login{min-height:34px!important;padding:8px 11px!important;font-size:12px!important;border-radius:12px!important;}
