:root {
  --ink: #071626;
  --ink-2: #0d2338;
  --ink-3: #12304a;
  --paper: #f7fbff;
  --paper-blue: #eef7ff;
  --surface: #ffffff;
  --surface-blue: #eaf4ff;
  --text: #081527;
  --muted: #62738a;
  --muted-2: #8898aa;
  --blue: #1764df;
  --blue-2: #0b4fb8;
  --teal: #12a697;
  --teal-soft: #def7f3;
  --coral: #df554a;
  --border: #d9e4ef;
  --border-strong: #c7d7e7;
  --shadow: 0 26px 80px rgba(8, 21, 39, 0.14);
  --shadow-soft: 0 16px 46px rgba(8, 21, 39, 0.09);
  --radius: 30px;
  --ease: cubic-bezier(.16, 1, .3, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
body::selection { background: rgba(23, 100, 223, .18); }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }

.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 999;
  transform: translateY(-150%);
  background: var(--ink);
  color: #fff;
  border-radius: 999px;
  padding: 10px 14px;
  transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.shell {
  width: min(100% - 44px, 1240px);
  margin-inline: auto;
}

.site-header {
  position: fixed;
  inset: 20px 0 auto;
  z-index: 50;
  pointer-events: none;
}
.header-shell {
  width: min(100% - 44px, 1320px);
  min-height: 64px;
  margin-inline: auto;
  padding: 8px 10px 8px 16px;
  border: 1px solid rgba(199, 215, 231, .78);
  border-radius: 999px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 20px 60px rgba(8, 21, 39, .09);
  backdrop-filter: blur(18px);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  pointer-events: auto;
}
.brand {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font-weight: 800;
  letter-spacing: -.04em;
  font-size: 1.12rem;
  color: var(--ink);
}
.brand-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: linear-gradient(145deg, #fff, #eef6ff);
  box-shadow: 0 8px 24px rgba(23, 100, 223, .12);
}
.brand-mark svg { width: 22px; height: 22px; }
.brand-mark path {
  fill: none;
  stroke: var(--blue);
  stroke-linecap: round;
  stroke-width: 3;
}
.header-line {
  justify-self: center;
  margin: 0;
  color: #53657c;
  font-size: .94rem;
  font-weight: 700;
  letter-spacing: -.015em;
}
.header-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.header-link {
  padding: 12px 14px;
  font-weight: 750;
  color: var(--ink);
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 800;
  letter-spacing: -.025em;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
  will-change: transform;
}
.button:hover { transform: translateY(-2px); }
.button:focus-visible, .header-link:focus-visible, .footer-links a:focus-visible, .footer-actions a:focus-visible {
  outline: 3px solid rgba(23, 100, 223, .35);
  outline-offset: 3px;
}
.button-primary {
  background: linear-gradient(135deg, var(--blue), var(--blue-2));
  color: #fff;
  box-shadow: 0 18px 42px rgba(23, 100, 223, .25);
}
.button-soft {
  color: var(--blue-2);
  background: rgba(255,255,255,.78);
  border-color: #aec7ef;
}
.button-ghost {
  color: var(--blue-2);
  background: rgba(255,255,255,.62);
  border-color: var(--border-strong);
}
.button-small {
  min-height: 44px;
  padding-inline: 18px;
  font-size: .95rem;
}

.hero {
  position: relative;
  min-height: 100svh;
  padding: 138px 0 92px;
  overflow: clip;
  display: grid;
  align-items: center;
  background:
    radial-gradient(circle at 18% 28%, rgba(23, 100, 223, .14), transparent 32%),
    radial-gradient(circle at 80% 22%, rgba(18, 166, 151, .16), transparent 30%),
    linear-gradient(180deg, #fbfdff 0%, var(--paper-blue) 100%);
}
.hero-field {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.field-orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(12px);
  opacity: .62;
}
.field-orb-one {
  width: 420px;
  height: 420px;
  left: -120px;
  top: 15%;
  background: radial-gradient(circle, rgba(23,100,223,.18), transparent 66%);
}
.field-orb-two {
  width: 520px;
  height: 520px;
  right: 5%;
  top: 5%;
  background: radial-gradient(circle, rgba(18,166,151,.18), transparent 62%);
}
.field-line {
  position: absolute;
  left: -6%;
  right: -6%;
  bottom: -4%;
  width: 112%;
  height: 55%;
  opacity: .28;
}
.field-line path {
  fill: none;
  stroke: rgba(23, 100, 223, .26);
  stroke-width: 1.2;
}
.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1fr);
  align-items: center;
  gap: clamp(42px, 6vw, 86px);
}
.hero-copy { max-width: 760px; }
.eyebrow, .section-kicker {
  margin: 0 0 18px;
  color: var(--blue);
  font-size: .78rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.section-kicker.light { color: #93d7ff; }
.hero-title {
  margin: 0;
  max-width: 760px;
  font-family: "Inter Tight", Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(4.6rem, 7.45vw, 8.2rem);
  line-height: .86;
  letter-spacing: -.085em;
  color: var(--ink);
}
.line { display: block; overflow: hidden; padding-bottom: .045em; }
.line > span { display: inline-block; }
.hero-text {
  max-width: 670px;
  margin: 28px 0 0;
  color: #41536a;
  font-size: clamp(1.15rem, 1.45vw, 1.55rem);
  font-weight: 550;
  line-height: 1.55;
  letter-spacing: -.025em;
}
.hero-actions {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px;
  color: #42546d;
  font-weight: 800;
}
.hero-proof span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.hero-proof span::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 99px;
  background: var(--teal);
  box-shadow: 0 0 0 8px rgba(18,166,151,.1);
}
.emergency-note {
  max-width: 620px;
  margin: 28px 0 0;
  color: #66778e;
  font-size: .98rem;
}

.hero-scene {
  position: relative;
  min-height: 640px;
  perspective: 1200px;
  display: grid;
  align-items: center;
}
.scene-halo {
  position: absolute;
  width: 84%;
  aspect-ratio: 1;
  right: 2%;
  top: 2%;
  border-radius: 999px;
  background:
    radial-gradient(circle at 48% 50%, rgba(23,100,223,.2), transparent 36%),
    radial-gradient(circle at 65% 40%, rgba(18,166,151,.2), transparent 42%);
  filter: blur(26px);
  opacity: .62;
}
.care-device {
  position: relative;
  z-index: 2;
  width: min(100%, 610px);
  min-height: 590px;
  margin-left: auto;
  border-radius: 42px;
  border: 1px solid rgba(199, 215, 231, .86);
  background:
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(234,244,255,.92)),
    #fff;
  box-shadow: var(--shadow);
  padding: 28px;
  transform-style: preserve-3d;
}
.device-topline {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-weight: 800;
}
.device-topline strong { margin-left: auto; color: #5f728a; font-size: .92rem; }
.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 7px rgba(23,100,223,.1);
}
.care-switch {
  margin-top: 26px;
  height: 62px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.82);
  border-radius: 24px;
  overflow: hidden;
  color: #687a91;
  font-weight: 900;
  font-size: 1.02rem;
}
.care-switch span {
  height: 100%;
  display: grid;
  place-items: center;
}
.care-switch .active {
  color: var(--blue-2);
  background: linear-gradient(180deg, #fff, #edf5ff);
  box-shadow: inset 0 -4px 0 var(--blue);
}
.care-layer {
  position: absolute;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
  border-radius: 30px;
}
.care-layer-main {
  left: 32px;
  top: 170px;
  width: 360px;
  min-height: 260px;
  padding: 28px;
}
.micro-label, .mini-head span, .choice-kicker {
  margin: 0 0 12px;
  color: var(--muted);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem;
}
.care-layer-main h2 {
  margin: 0;
  max-width: 280px;
  font-family: "Inter Tight", Inter, sans-serif;
  font-size: 2.2rem;
  line-height: .98;
  letter-spacing: -.055em;
}
.care-layer-main p:not(.micro-label) {
  margin: 14px 0 0;
  color: #576980;
  font-weight: 600;
}
.symptom-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}
.symptom-row span {
  padding: 8px 10px;
  border-radius: 999px;
  background: var(--paper-blue);
  color: #476078;
  font-size: .82rem;
  font-weight: 800;
}
.care-layer-visit {
  right: 12px;
  top: 252px;
  width: 265px;
  min-height: 234px;
  padding: 24px;
  transform: rotate(1.4deg);
}
.mini-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}
.mini-head b {
  color: var(--teal);
  font-size: .85rem;
}
.visit-visual {
  height: 86px;
  margin: 12px 0 18px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(23,100,223,.12), rgba(18,166,151,.12));
  position: relative;
  overflow: hidden;
}
.visit-visual span {
  position: absolute;
  border-radius: 999px;
  background: rgba(23,100,223,.52);
}
.visit-visual span:nth-child(1) { width: 56px; height: 56px; left: 28px; top: 16px; background: rgba(23,100,223,.5); }
.visit-visual span:nth-child(2) { width: 88px; height: 12px; left: 108px; top: 28px; background: rgba(8,21,39,.18); }
.visit-visual span:nth-child(3) { width: 58px; height: 12px; left: 108px; top: 50px; background: rgba(8,21,39,.12); }
.care-layer-visit p {
  margin: 0;
  color: #43566d;
  font-weight: 750;
}
.care-layer-choice {
  left: 80px;
  right: 48px;
  bottom: -20px;
  padding: 22px 26px;
  display: grid;
  gap: 12px;
}
.choice-line {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 14px;
  align-items: baseline;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}
.choice-line b { color: var(--ink); }
.choice-line span { color: var(--muted); font-weight: 650; }

.care-intro, .comfort, .access, .doctor-led, .practices, .trust, .final-cta {
  position: relative;
  padding: clamp(88px, 10vw, 150px) 0;
}
.split-editorial {
  display: grid;
  grid-template-columns: .7fr 1.4fr 1fr;
  gap: 38px;
  align-items: start;
}
.split-editorial h2, .comfort-copy h2, .access-head h2, .waiting-copy h2, .doctor-layout h2, .practices-grid h2, .trust-grid h2, .final-grid h2 {
  margin: 0;
  font-family: "Inter Tight", Inter, sans-serif;
  font-size: clamp(3rem, 5.8vw, 6.8rem);
  line-height: .92;
  letter-spacing: -.07em;
  color: var(--ink);
}
.split-editorial p:last-child, .comfort-copy p, .access-head p:not(.section-kicker), .waiting-copy p, .doctor-layout > p, .trust-copy p, .final-grid p {
  margin: 0;
  color: #506177;
  font-size: clamp(1.1rem, 1.4vw, 1.38rem);
  font-weight: 560;
  line-height: 1.55;
}
.benefit-row {
  margin-top: 76px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.benefit-item {
  padding: 34px 34px 38px 0;
  border-right: 1px solid var(--border);
}
.benefit-item + .benefit-item { padding-left: 34px; }
.benefit-item:last-child { border-right: 0; }
.benefit-number {
  display: block;
  color: var(--blue);
  font-size: .8rem;
  letter-spacing: .14em;
  font-weight: 900;
  margin-bottom: 30px;
}
.benefit-item h3 {
  margin: 0;
  font-size: 1.38rem;
  letter-spacing: -.035em;
}
.benefit-item p {
  margin: 10px 0 0;
  color: var(--muted);
  font-weight: 560;
}

.journey {
  position: relative;
  overflow: clip;
  background:
    radial-gradient(circle at 16% 8%, rgba(23,100,223,.24), transparent 34%),
    radial-gradient(circle at 82% 26%, rgba(18,166,151,.18), transparent 34%),
    linear-gradient(135deg, var(--ink), var(--ink-2) 55%, #07101e);
  color: #fff;
}
.journey-pin {
  min-height: 100svh;
  padding: 116px 0;
  display: grid;
  grid-template-columns: .92fr 1fr;
  align-items: center;
  gap: 70px;
}
.journey-copy h2 {
  margin: 0;
  max-width: 720px;
  color: #fff;
  font-family: "Inter Tight", Inter, sans-serif;
  font-size: clamp(3.2rem, 5.9vw, 7.4rem);
  line-height: .88;
  letter-spacing: -.075em;
}
.journey-copy p:not(.section-kicker) {
  margin: 24px 0 0;
  max-width: 560px;
  color: rgba(255,255,255,.72);
  font-size: 1.18rem;
  font-weight: 550;
}
.journey-steps {
  list-style: none;
  padding: 0;
  margin: 42px 0 0;
  display: grid;
  gap: 10px;
  max-width: 580px;
}
.journey-steps li {
  display: flex;
  gap: 14px;
  align-items: center;
  color: rgba(255,255,255,.48);
  font-weight: 760;
  letter-spacing: -.018em;
  transition: color .25s ease, transform .25s ease;
}
.journey-steps li span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.68);
  font-size: .78rem;
}
.journey-steps li.is-active, .journey-steps li.active { color: #fff; transform: translateX(6px); }
.journey-stage {
  position: relative;
  height: min(64vw, 620px);
  min-height: 560px;
}
.journey-path {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .92;
}
.journey-path path {
  fill: none;
  stroke: url(#none);
  stroke: rgba(147, 215, 255, .72);
  stroke-width: 2.2;
  stroke-linecap: round;
}
.stage-card {
  position: absolute;
  width: 230px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 26px;
  background: rgba(255,255,255,.08);
  box-shadow: 0 30px 80px rgba(0,0,0,.22);
  backdrop-filter: blur(18px);
  color: #fff;
}
.stage-card span:not(.stage-icon) {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.stage-card strong {
  display: block;
  font-size: 1.45rem;
  line-height: 1.04;
  letter-spacing: -.045em;
}
.stage-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 16px;
  margin-bottom: 14px;
  color: var(--ink);
  background: #fff;
  font-weight: 900;
}
.stage-home { left: 2%; bottom: 16%; }
.stage-choice { left: 23%; top: 10%; }
.stage-wait { right: 2%; bottom: 25%; }
.stage-doctor { right: 14%; top: 6%; }
.stage-next { left: 36%; bottom: 4%; background: rgba(18,166,151,.18); }

.comfort { background: #fff; }
.comfort-grid, .waiting-grid, .doctor-layout, .trust-grid, .final-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(40px, 7vw, 90px);
  align-items: start;
}
.comfort-lines {
  display: grid;
  border-top: 1px solid var(--border);
}
.comfort-line {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 18px;
  padding: 26px 0;
  border-bottom: 1px solid var(--border);
}
.comfort-line span {
  color: var(--blue);
  font-weight: 900;
  letter-spacing: .14em;
}
.comfort-line p {
  margin: 0;
  color: #35475e;
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.035em;
}

.access {
  background:
    linear-gradient(180deg, var(--paper), #fff);
  overflow: clip;
}
.access-head {
  display: grid;
  grid-template-columns: .58fr 1.42fr;
  gap: 38px;
}
.access-showcase {
  margin-top: 72px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.access-panel {
  position: relative;
  padding: clamp(42px, 5vw, 76px) clamp(30px, 5vw, 70px);
  overflow: hidden;
}
.access-panel:first-child { border-right: 1px solid var(--border); }
.access-panel::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -180px;
  bottom: -220px;
  border-radius: 50%;
  background: rgba(23,100,223,.1);
}
.access-panel-later::before { background: rgba(18,166,151,.11); }
.panel-label {
  color: var(--blue);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .75rem;
}
.access-panel h3 {
  position: relative;
  max-width: 520px;
  margin: 24px 0 0;
  font-family: "Inter Tight", Inter, sans-serif;
  font-size: clamp(2.6rem, 4.5vw, 5.6rem);
  line-height: .92;
  letter-spacing: -.065em;
}
.access-panel p {
  position: relative;
  max-width: 480px;
  margin: 24px 0 0;
  color: #4b5e74;
  font-size: 1.18rem;
  font-weight: 570;
}
.access-panel a {
  position: relative;
  display: inline-flex;
  margin-top: 32px;
  color: var(--blue-2);
  font-weight: 900;
  border-bottom: 2px solid currentColor;
}

.waiting-room {
  padding: clamp(92px, 11vw, 160px) 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(23,100,223,.24), transparent 32%),
    linear-gradient(135deg, #071626, #0e2741);
  color: #fff;
  overflow: clip;
}
.waiting-copy h2 { color: #fff; }
.waiting-copy p { color: rgba(255,255,255,.72); }
.waiting-visual {
  position: relative;
  min-height: 380px;
}
.waiting-line {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.waiting-line path {
  fill: none;
  stroke: rgba(147,215,255,.72);
  stroke-width: 2.2;
  stroke-linecap: round;
}
.wait-chip {
  position: absolute;
  padding: 18px 22px;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-weight: 850;
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
  backdrop-filter: blur(16px);
}
.chip-one { left: 2%; bottom: 20%; }
.chip-two { right: 4%; top: 18%; }
.chip-three { right: 13%; bottom: 10%; background: rgba(18,166,151,.18); }

.doctor-led { background: #fff; }
.doctor-layout > p { max-width: 680px; }
.practices {
  background: linear-gradient(180deg, #fff, var(--paper-blue));
}
.practices-grid {
  display: grid;
  grid-template-columns: .48fr 1.1fr;
  gap: 42px 70px;
  align-items: start;
}
.practices-grid h2 { grid-column: 2; }
.practice-list {
  grid-column: 2;
  margin-top: 20px;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--border);
}
.practice-list p {
  margin: 0;
  padding: 24px 0;
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 24px;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font-weight: 620;
}
.practice-list strong {
  color: var(--text);
  font-size: 1.1rem;
  letter-spacing: -.02em;
}
.trust { background: #fff; }
.trust-copy {
  display: grid;
  gap: 24px;
}
.emergency-callout {
  padding-top: 22px;
  border-top: 1px solid var(--border);
  color: var(--ink) !important;
  font-weight: 800 !important;
}
.final-cta {
  background: linear-gradient(180deg, var(--paper-blue), #fff);
}
.final-grid {
  align-items: end;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 58px 0;
}
.final-actions {
  margin-top: 28px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.site-footer {
  position: relative;
  overflow: clip;
  padding: 96px 0 34px;
  color: #fff;
  background:
    radial-gradient(circle at 16% 8%, rgba(23,100,223,.3), transparent 34%),
    linear-gradient(135deg, #061426, #0b2137 70%, #07111e);
}
.footer-wordmark {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Inter Tight", Inter, sans-serif;
  font-size: min(20vw, 260px);
  line-height: .8;
  font-weight: 800;
  letter-spacing: -.095em;
  color: rgba(255,255,255,.035);
  white-space: nowrap;
  pointer-events: none;
}
.footer-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, .85fr) 1.3fr;
  gap: 80px;
  padding-top: 60px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.brand-footer { color: #fff; }
.footer-brand p {
  max-width: 460px;
  margin: 24px 0 0;
  color: rgba(255,255,255,.7);
  font-size: 1.04rem;
  line-height: 1.6;
}
.footer-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}
.footer-actions a {
  display: inline-flex;
  padding: 11px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-weight: 800;
}
.footer-actions a:first-child {
  background: #fff;
  color: var(--ink);
}
.footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
}
.footer-links h3 {
  margin: 0 0 22px;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: rgba(255,255,255,.55);
}
.footer-links a {
  display: block;
  width: max-content;
  margin: 13px 0;
  color: rgba(255,255,255,.78);
  font-weight: 720;
  transition: color .2s ease, transform .2s ease;
}
.footer-links a:hover { color: #fff; transform: translateX(3px); }
.footer-bottom {
  position: relative;
  margin-top: 78px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex;
  justify-content: space-between;
  gap: 24px;
  color: rgba(255,255,255,.52);
  font-size: .95rem;
}
.footer-bottom p { margin: 0; }

[data-reveal] { will-change: transform, opacity; }

@media (max-width: 1100px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-scene { min-height: 590px; }
  .care-device { margin-inline: auto; }
  .split-editorial, .comfort-grid, .waiting-grid, .doctor-layout, .trust-grid, .final-grid, .journey-pin { grid-template-columns: 1fr; }
  .access-head, .practices-grid { grid-template-columns: 1fr; }
  .practices-grid h2, .practice-list { grid-column: auto; }
  .journey-pin { padding: 100px 0; }
  .journey-stage { order: -1; }
}

@media (max-width: 760px) {
  .shell, .header-shell { width: min(100% - 24px, 1240px); }
  .site-header { top: 10px; }
  .header-shell {
    min-height: 56px;
    grid-template-columns: 1fr auto;
    border-radius: 20px;
    padding: 7px 8px 7px 12px;
  }
  .header-line, .header-link, .button-ghost.button-small { display: none; }
  .brand { font-size: 1rem; }
  .brand-mark { width: 34px; height: 34px; border-radius: 12px; }
  .button-small { min-height: 40px; padding-inline: 15px; font-size: .9rem; }
  .hero { padding: 112px 0 70px; align-items: start; }
  .hero-title {
    font-size: clamp(3.5rem, 17vw, 5.3rem);
    line-height: .88;
  }
  .hero-text { font-size: 1.12rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-proof { display: grid; gap: 12px; }
  .hero-scene { min-height: 620px; margin-top: 34px; }
  .care-device {
    width: 100%;
    min-height: 580px;
    padding: 18px;
    border-radius: 30px;
  }
  .device-topline strong { display: none; }
  .care-switch { height: 54px; font-size: .94rem; }
  .care-layer-main {
    left: 18px;
    right: 18px;
    top: 142px;
    width: auto;
    min-height: 220px;
    padding: 22px;
  }
  .care-layer-main h2 { font-size: 1.85rem; }
  .care-layer-visit {
    left: 42px;
    right: 18px;
    top: 370px;
    width: auto;
    min-height: 190px;
    padding: 20px;
  }
  .visit-visual { height: 62px; }
  .care-layer-choice {
    left: 18px;
    right: 18px;
    bottom: -44px;
    padding: 18px;
  }
  .choice-line { grid-template-columns: 1fr; gap: 4px; }
  .split-editorial h2, .comfort-copy h2, .access-head h2, .waiting-copy h2, .doctor-layout h2, .practices-grid h2, .trust-grid h2, .final-grid h2 {
    font-size: clamp(2.65rem, 14vw, 4.4rem);
  }
  .benefit-row { grid-template-columns: 1fr; margin-top: 48px; }
  .benefit-item, .benefit-item + .benefit-item { border-right: 0; border-bottom: 1px solid var(--border); padding: 28px 0; }
  .benefit-item:last-child { border-bottom: 0; }
  .access-showcase { grid-template-columns: 1fr; min-height: auto; }
  .access-panel:first-child { border-right: 0; border-bottom: 1px solid var(--border); }
  .journey-pin { display: block; min-height: auto; padding: 86px 0; }
  .journey-stage { margin-top: 44px; min-height: 650px; height: 650px; }
  .stage-card { width: min(230px, 70vw); }
  .stage-home { left: 0; bottom: 12%; }
  .stage-choice { left: 12%; top: 4%; }
  .stage-wait { right: 0; bottom: 30%; }
  .stage-doctor { right: 4%; top: 28%; }
  .stage-next { left: 18%; bottom: 0; }
  .comfort-line { grid-template-columns: 44px 1fr; }
  .practice-list p { grid-template-columns: 1fr; gap: 8px; }
  .footer-shell { grid-template-columns: 1fr; gap: 48px; padding-top: 46px; }
  .footer-links { grid-template-columns: 1fr; gap: 22px; }
  .footer-bottom { display: grid; }
}

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

.faq {
  padding: clamp(88px, 10vw, 150px) 0;
  background: #fff;
}
.faq-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(42px, 7vw, 90px);
  align-items: start;
}
.faq-grid h2 {
  margin: 0;
  font-family: "Inter Tight", Inter, sans-serif;
  font-size: clamp(3rem, 5.4vw, 6.4rem);
  line-height: .92;
  letter-spacing: -.07em;
  color: var(--ink);
}
.faq-list {
  border-top: 1px solid var(--border);
}
.faq-item {
  border-bottom: 1px solid var(--border);
}
.faq-item button {
  width: 100%;
  padding: 26px 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  text-align: left;
  font-size: clamp(1.08rem, 1.5vw, 1.35rem);
  font-weight: 800;
  letter-spacing: -.035em;
}
.faq-item button::after {
  content: "+";
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--blue);
  font-weight: 800;
}
.faq-item button[aria-expanded="true"]::after { content: "−"; }
.faq-item button:focus-visible {
  outline: 3px solid rgba(23, 100, 223, .3);
  outline-offset: 4px;
  border-radius: 14px;
}
.faq-item [role="region"] {
  height: 0;
  overflow: hidden;
}
.faq-item p {
  margin: 0;
  padding: 0 48px 26px 0;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.6;
  font-weight: 560;
}
@media (max-width: 760px) {
  .faq-grid { grid-template-columns: 1fr; }
  .faq-grid h2 { font-size: clamp(2.65rem, 14vw, 4.4rem); }
}
