:root {
  --ink: #071b22;
  --deep: #06191f;
  --teal: #0c756f;
  --teal-soft: #dceee9;
  --arterial: #e95c4b;
  --cream: #f4f1ea;
  --paper: #fbfaf6;
  --mist: #e8efed;
  --line: rgba(7, 27, 34, 0.13);
  --background: #f4f1ea;
  --foreground: #071b22;
  --card: #fbfaf6;
  --card-foreground: #071b22;
  --popover: #fbfaf6;
  --popover-foreground: #071b22;
  --primary: #0c756f;
  --primary-foreground: #ffffff;
  --secondary: #e8efed;
  --secondary-foreground: #071b22;
  --muted: #e8efed;
  --muted-foreground: #506469;
  --accent: #dceee9;
  --accent-foreground: #071b22;
  --destructive: #d54332;
  --border: rgba(7, 27, 34, 0.14);
  --input: rgba(7, 27, 34, 0.18);
  --ring: #0c756f;
  --radius: 1rem;
}

/* WordPress integration and native interaction layer. */
.dmd-theme { direction: rtl; }
.dmd-svg { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
.mobile-menu { display: none; color: #fff; background: rgba(4,26,32,.96); padding: 20px; border-radius: 18px; margin-top: 8px; gap: 15px; font-size: 13px; box-shadow: 0 20px 55px rgba(0,0,0,.2); }
.mobile-menu.is-open { display: grid; }
.service-link { width: 100%; color: inherit; background: transparent; border-inline: 0; border-bottom: 0; cursor: pointer; }
.dmd-reveal { opacity: 0; transform: translateY(22px); transition: opacity .75s ease, transform .75s cubic-bezier(.22,.8,.25,1); }
.dmd-reveal.is-visible { opacity: 1; transform: translateY(0); }
.admin-bar .site-header { margin-top: 32px; }

.dmd-modal[hidden] { display: none; }
.dmd-modal { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 18px; direction: rtl; }
.dmd-modal-backdrop { position: absolute; inset: 0; background: rgba(2,18,23,.72); backdrop-filter: blur(8px); }
.dmd-modal-panel { position: relative; width: min(680px, 100%); max-height: 92vh; overflow-y: auto; box-shadow: 0 34px 100px rgba(0,0,0,.36); }
.dmd-modal-close { position: absolute; top: 17px; left: 17px; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: white; color: var(--ink); cursor: pointer; z-index: 2; }
.dmd-modal-head { padding-left: 50px; }
.dmd-modal-head h2 { margin: 0; font-size: 24px; }
.dmd-modal-head p { margin: 8px 0 18px; color: #64777a; font-size: 11px; line-height: 1.8; }
.booking-progress { height: 7px; border-radius: 99px; overflow: hidden; }
.booking-progress span { display: block; height: 100%; width: 20%; border-radius: inherit; background: var(--teal); transition: width .3s ease; }
.dmd-booking-step { display: none; min-height: 172px; }
.dmd-booking-step.is-active { display: block; animation: dmdStep .25s ease; }
@keyframes dmdStep { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: none; } }
.dmd-btn-primary,.dmd-btn-secondary { min-height: 43px; padding: 0 17px; border-radius: 12px; border: 1px solid var(--line); cursor: pointer; display: inline-flex; align-items: center; gap: 7px; }
.dmd-btn-primary { background: var(--teal); border-color: var(--teal); color: white; }
.dmd-btn-secondary { background: white; color: var(--ink); }
.dmd-btn-secondary:disabled { opacity: .42; cursor: not-allowed; }
.dmd-form-message { margin-top: 12px; min-height: 20px; color: #3d6666; font-size: 11px; }
.dmd-form-message.is-error { color: #ba3e31; }
.dmd-honeypot { position: fixed !important; left: -9999px !important; opacity: 0 !important; }
.booking-input { width: 100%; padding: 0 13px; border: 1px solid var(--input); color: var(--ink); outline: none; }
.booking-input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(12,117,111,.12); }
body.dmd-modal-open { overflow: hidden; }

.dmd-inner-header { min-height: 82px; padding: 14px max(24px,calc((100vw - 1200px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; color: white; background: var(--deep); }
.dmd-inner-header > a:last-child { color: rgba(255,255,255,.65); font-size: 12px; }
.dmd-content-wrap { width: min(920px,calc(100% - 32px)); margin: 55px auto; min-height: 65vh; }
.dmd-content-card { padding: clamp(24px,5vw,58px); border: 1px solid var(--line); border-radius: 28px; background: var(--paper); }
.dmd-content-card h1 { font-size: clamp(28px,4vw,48px); margin-top: 0; }
.dmd-content-card p { color: #52666b; line-height: 2; }

@media (max-width: 782px) { .admin-bar .site-header { margin-top: 46px; } }
@media (max-width: 660px) {
  .dmd-modal { padding: 9px; align-items: end; }
  .dmd-modal-panel { max-height: 94vh; border-radius: 23px 23px 12px 12px !important; padding: 22px 18px !important; }
  .dmd-reveal { transform: translateY(12px); }
  .dmd-inner-header { min-height: 72px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: Vazirmatn, IRANSansX, "Segoe UI", Tahoma, Arial, sans-serif;
  text-rendering: optimizeLegibility;
}
button, input { font: inherit; }
a { color: inherit; text-decoration: none; }
::selection { background: rgba(233, 92, 75, .22); }

.site-shell { overflow: hidden; background: var(--cream); }
.container-med { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .02em; color: #4f6a6e; }
.eyebrow::before { content: ""; width: 26px; height: 1px; background: currentColor; }
.section-kicker { color: var(--teal); font-size: 13px; font-weight: 750; }
.display-title { font-size: clamp(38px, 5.8vw, 82px); line-height: 1.06; letter-spacing: -.055em; font-weight: 670; }
.section-title { font-size: clamp(31px, 4.2vw, 58px); line-height: 1.12; letter-spacing: -.04em; font-weight: 650; }
.body-copy { color: #52666b; font-size: 16px; line-height: 2; }

.demo-ribbon { background: #cfe3df; color: #173d3e; font-size: 11px; text-align: center; padding: 7px 16px; letter-spacing: .02em; }
.site-header { position: absolute; inset: 31px 0 auto; z-index: 30; color: white; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 17px 20px; border: 1px solid rgba(255,255,255,.16); background: rgba(4,26,32,.45); backdrop-filter: blur(18px); border-radius: 20px; }
.brand { display: flex; align-items: center; gap: 12px; min-width: max-content; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; position: relative; }
.brand-mark::after { content: ""; width: 12px; height: 12px; background: var(--arterial); border-radius: 50%; box-shadow: 0 0 0 5px rgba(233,92,75,.12); }
.brand-text strong { display: block; font-size: 14px; font-weight: 720; }
.brand-text span { display: block; opacity: .62; font-size: 9px; margin-top: 2px; }
.desktop-nav { display: flex; align-items: center; gap: 23px; color: rgba(255,255,255,.72); font-size: 12px; }
.desktop-nav a { transition: color .2s ease; }
.desktop-nav a:hover { color: white; }
.header-actions { display: flex; gap: 8px; }
.header-btn { height: 42px; padding: 0 17px; border-radius: 13px; border: 1px solid rgba(255,255,255,.18); color: white; background: rgba(255,255,255,.06); display: inline-flex; align-items: center; gap: 8px; font-size: 12px; cursor: pointer; }
.header-btn.primary { color: var(--deep); background: white; border-color: white; }
.menu-button { display: none; background: transparent; border: 0; color: white; }

.hero { min-height: 940px; position: relative; overflow: hidden; color: white; background: #031419; isolation: isolate; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -5; background: radial-gradient(ellipse at 76% 38%, rgba(39,151,136,.34) 0%, rgba(9,62,66,.18) 28%, transparent 58%), radial-gradient(ellipse at 18% 76%, rgba(17,81,87,.25), transparent 48%), linear-gradient(112deg, #020d11 0%, #061d24 43%, #082a31 68%, #020e12 100%); }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .2; background-image: linear-gradient(rgba(158,220,207,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(158,220,207,.07) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 84%); }
.hero-cinema { position: absolute; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }
.cine-light { position: absolute; display: block; border-radius: 50%; filter: blur(90px); mix-blend-mode: screen; animation: cineDrift 12s ease-in-out infinite alternate; }
.cine-light-a { width: 640px; height: 640px; top: -20%; right: 48%; background: rgba(35,156,139,.16); }
.cine-light-b { width: 520px; height: 720px; right: -8%; top: 8%; background: rgba(25,118,120,.2); animation-delay: -5s; }
.cine-grain { position: absolute; inset: -60%; opacity: .12; background-image: repeating-radial-gradient(circle at 40% 30%, rgba(255,255,255,.22) 0 1px, transparent 1px 4px); background-size: 6px 6px; transform: rotate(8deg); animation: grainShift .55s steps(2) infinite; }
.cine-vignette { position: absolute; inset: 0; box-shadow: inset 0 0 180px 55px rgba(0,7,10,.78), inset 0 -170px 160px -90px rgba(0,0,0,.9); }
.hero-glow { position: absolute; z-index: -1; width: 640px; height: 640px; right: 42%; top: 13%; border-radius: 50%; filter: blur(105px); background: rgba(46,169,150,.1); animation: glowBreath 7s ease-in-out infinite; }
.hero-inner { min-height: 940px; position: relative; z-index: 2; display: grid; grid-template-columns: 1.08fr .92fr; align-items: end; gap: 42px; padding-top: 154px; }
.hero-copy { padding: 154px 0 132px; position: relative; z-index: 4; }
.hero-copy::before { content: ""; position: absolute; width: 1px; height: 86px; top: 40px; right: 0; background: linear-gradient(to bottom, transparent, rgba(146,215,201,.55), transparent); }
.hero-badge { display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px; border: 1px solid rgba(174,225,215,.2); border-radius: 99px; color: rgba(227,247,243,.76); font-size: 11px; background: linear-gradient(110deg,rgba(255,255,255,.08),rgba(255,255,255,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 15px 45px rgba(0,0,0,.16); backdrop-filter: blur(14px); }
.hero-badge i { display: block; width: 7px; height: 7px; background: #73dbc5; border-radius: 50%; box-shadow: 0 0 0 6px rgba(95,193,174,.12), 0 0 22px #5fc1ae; animation: statusPulse 2.3s ease-out infinite; }
.hero h1 { margin: 34px 0 0; max-width: 720px; text-wrap: balance; text-shadow: 0 12px 55px rgba(0,0,0,.38); }
.hero h1 span { display: block; color: #9dd3c8; font-size: .36em; letter-spacing: -.02em; font-weight: 440; margin-top: 20px; text-shadow: 0 0 30px rgba(79,186,165,.2); }
.hero-lead { max-width: 590px; margin: 30px 0 0; color: rgba(229,244,241,.66); font-size: 16px; line-height: 2.08; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.cta-main, .cta-ghost { min-height: 56px; border-radius: 15px; padding: 0 23px; display: inline-flex; align-items: center; gap: 10px; border: 1px solid transparent; cursor: pointer; transition: transform .3s cubic-bezier(.2,.8,.2,1), background .3s ease, box-shadow .3s ease; }
.cta-main { position: relative; overflow: hidden; background: linear-gradient(135deg,#f06b58,var(--arterial)); color: white; box-shadow: 0 18px 55px rgba(233,92,75,.27), inset 0 1px 0 rgba(255,255,255,.25); }
.cta-main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg,transparent 25%,rgba(255,255,255,.22) 47%,transparent 68%); transform: translateX(120%); transition: transform .65s ease; }
.cta-main:hover::after { transform: translateX(-120%); }
.cta-ghost { background: rgba(255,255,255,.055); border-color: rgba(194,231,223,.2); color: white; backdrop-filter: blur(12px); }
.cta-main:hover, .cta-ghost:hover { transform: translateY(-3px); }
.cta-ghost:hover { background: rgba(255,255,255,.1); box-shadow: 0 15px 38px rgba(0,0,0,.16); }
.hero-notes { display: flex; gap: 28px; margin-top: 42px; color: rgba(218,239,235,.5); font-size: 11px; }
.hero-note { display: flex; align-items: center; gap: 8px; }
.hero-note svg { color: #76b9ad; filter: drop-shadow(0 0 8px rgba(118,185,173,.25)); }
.portrait-stage { min-height: 790px; position: relative; align-self: end; }
.portrait-stage::after { content: ""; position: absolute; z-index: 1; inset: auto -15% 0 -10%; height: 30%; background: linear-gradient(to top,#031419 0%,rgba(3,20,25,.78) 30%,transparent 100%); pointer-events: none; }
.portrait-beam { position: absolute; z-index: -1; width: 280px; height: 920px; right: 24%; top: -14%; transform: rotate(12deg); background: linear-gradient(to right,transparent,rgba(154,224,210,.12),transparent); filter: blur(20px); opacity: .75; }
.portrait-orbit { position: absolute; width: 650px; aspect-ratio: 1; border: 1px solid rgba(151,216,204,.18); border-radius: 50%; bottom: 64px; right: -118px; box-shadow: inset 0 0 70px rgba(78,169,157,.045),0 0 55px rgba(0,0,0,.18); animation: orbitFloat 9s ease-in-out infinite; }
.portrait-orbit::before, .portrait-orbit::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(141,201,190,.105); }
.portrait-orbit::before { inset: 58px; }.portrait-orbit::after { inset: 126px; border-style: dashed; animation: slowSpin 30s linear infinite; }
.portrait-halo { position: absolute; z-index: -1; width: 390px; height: 600px; right: 18%; bottom: 85px; border-radius: 50%; background: radial-gradient(ellipse,rgba(80,193,174,.2),rgba(28,105,104,.06) 48%,transparent 72%); filter: blur(16px); }
.doctor-portrait { width: 104%; height: 765px; object-fit: cover; object-position: center 14%; position: absolute; z-index: 2; bottom: 0; right: -1%; filter: saturate(.78) contrast(1.09) brightness(.96) drop-shadow(30px 20px 42px rgba(0,0,0,.3)); mask-image: linear-gradient(to bottom,#000 72%,rgba(0,0,0,.96) 82%,transparent 100%); }
.portrait-placeholder { position: absolute; inset: 80px 0 0; display: grid; place-items: center; background: radial-gradient(circle at 50% 35%, rgba(103,169,157,.22), transparent 29%); color: rgba(255,255,255,.38); font-size: 12px; }
.portrait-label { position: absolute; top: 190px; right: -4px; z-index: 5; padding: 11px 14px; border: 1px solid rgba(182,225,216,.17); border-radius: 13px; color: rgba(226,244,240,.66); background: rgba(3,24,29,.56); box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 16px 38px rgba(0,0,0,.16); backdrop-filter: blur(15px); font-size: 9px; }
.ecg-line { position: absolute; z-index: 1; top: 126px; right: 0; width: 100%; height: 112px; color: rgba(127,216,199,.7); opacity: .68; pointer-events: none; filter: drop-shadow(0 0 7px rgba(89,205,182,.32)); mask-image: linear-gradient(to right,transparent 0%,black 9%,black 91%,transparent 100%); }
.ecg-line path { stroke-dasharray: 1500; animation: trace 6.8s linear infinite; }
.metric-float { position: absolute; left: 0; bottom: 168px; z-index: 6; width: 174px; border: 1px solid rgba(180,224,215,.16); background: linear-gradient(145deg,rgba(6,38,44,.72),rgba(4,25,31,.48)); box-shadow: inset 0 1px 0 rgba(255,255,255,.07),0 24px 55px rgba(0,0,0,.22); backdrop-filter: blur(19px); border-radius: 19px; padding: 17px; }
.metric-float::before { content: ""; position: absolute; width: 5px; height: 5px; top: 15px; left: 15px; border-radius: 50%; background: #70d3bf; box-shadow: 0 0 14px #70d3bf; }
.metric-float strong { display: block; font-size: 24px; font-weight: 550; }
.metric-float span { font-size: 9px; color: rgba(219,238,234,.53); }
.hero-index { position: absolute; z-index: 2; left: max(20px,calc((100vw - 1240px)/2)); top: 286px; display: flex; align-items: center; gap: 10px; transform: rotate(-90deg) translateX(-100%); transform-origin: left top; color: rgba(196,225,219,.3); font-size: 8px; letter-spacing: .18em; }
.hero-index span { color: rgba(137,213,198,.7); font-size: 10px; }.hero-index i { width: 52px; height: 1px; background: rgba(152,210,199,.25); }.hero-index b { font-weight: 500; }
.hero-cinematic-caption { position: absolute; z-index: 4; inset: auto max(20px,calc((100vw - 1240px)/2)) 28px; display: flex; justify-content: flex-end; gap: 26px; color: rgba(196,225,219,.25); font-size: 7px; letter-spacing: .22em; }
@keyframes trace { from { stroke-dashoffset: 1500; } to { stroke-dashoffset: 0; } }
@keyframes cineDrift { from { transform: translate3d(-3%,2%,0) scale(.96); } to { transform: translate3d(5%,-3%,0) scale(1.06); } }
@keyframes grainShift { 0% { transform: translate(0,0) rotate(8deg); } 25% { transform: translate(2%,-1%) rotate(8deg); } 50% { transform: translate(-1%,2%) rotate(8deg); } 75% { transform: translate(1%,1%) rotate(8deg); } }
@keyframes glowBreath { 0%,100% { opacity: .65; transform: scale(.94); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes statusPulse { 0% { box-shadow: 0 0 0 0 rgba(95,193,174,.4),0 0 18px #5fc1ae; } 70% { box-shadow: 0 0 0 8px rgba(95,193,174,0),0 0 25px #5fc1ae; } 100% { box-shadow: 0 0 0 0 rgba(95,193,174,0),0 0 18px #5fc1ae; } }
@keyframes orbitFloat { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-12px) scale(1.015); } }
@keyframes slowSpin { to { transform: rotate(360deg); } }

/* Interactive cinematic refinement */
.hero { --hero-copy-x: 0px; --hero-copy-y: 0px; --hero-portrait-x: 0px; --hero-portrait-y: 0px; --hero-ecg-x: 0px; --hero-tilt: 0deg; }
.hero-copy { transform: translate3d(var(--hero-copy-x),var(--hero-copy-y),0); transition: transform .75s cubic-bezier(.2,.8,.2,1); }
.portrait-stage { transform: translate3d(var(--hero-portrait-x),var(--hero-portrait-y),0) rotate(var(--hero-tilt)); transform-origin: 60% 80%; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.ecg-line { transform: translate3d(var(--hero-ecg-x),0,0); transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.hero .hero-title-line { display: block; position: relative; width: max-content; max-width: 100%; margin: 0; font-size: 1em; line-height: 1.08; font-weight: 680; letter-spacing: -.055em; color: #fff; transform: translateZ(0); transition: letter-spacing .55s ease, filter .55s ease, transform .75s cubic-bezier(.2,.8,.2,1); }
.hero .hero-title-line-a { color: transparent; background: linear-gradient(98deg,#ffffff 5%,#d5f1eb 34%,#72c8b7 49%,#ffffff 66%,#ffffff 100%); background-size: 230% 100%; -webkit-background-clip: text; background-clip: text; animation: titleShimmer 8s ease-in-out infinite; }
.hero .hero-title-line-b { padding-bottom: 10px; text-shadow: 0 12px 55px rgba(0,0,0,.4),0 0 36px rgba(83,191,170,.08); }
.hero .hero-title-line-b::after { content: ""; position: absolute; right: 1%; bottom: 0; width: 74%; height: 15px; border-bottom: 1px solid rgba(131,218,201,.55); border-radius: 0 0 58% 58%; transform: rotate(-1.4deg) scaleX(.55); transform-origin: right center; opacity: .55; animation: titleCurve 5.8s ease-in-out infinite; }
.hero .hero-specialty { display: block; width: max-content; max-width: 100%; color: #9dd3c8; font-size: .36em; line-height: 1.5; letter-spacing: -.02em; font-weight: 440; margin-top: 20px; text-shadow: 0 0 30px rgba(79,186,165,.2); position: relative; }
.hero .hero-specialty::before { content: ""; display: inline-block; width: 30px; height: 1px; margin-left: 12px; vertical-align: middle; background: linear-gradient(to left,rgba(132,210,195,.8),transparent); animation: specialtyLine 3.5s ease-in-out infinite; }
.hero.has-pointer .hero-title-line-a { transform: translate3d(-3px,-1px,0); filter: brightness(1.08); letter-spacing: -.045em; }
.hero.has-pointer .hero-title-line-b { transform: translate3d(3px,1px,0); }

.portrait-orbit { border-color: rgba(148,228,212,.34); box-shadow: inset 0 0 90px rgba(61,187,165,.075),0 0 0 20px rgba(126,211,194,.018),0 0 0 66px rgba(126,211,194,.025),0 0 80px rgba(41,143,132,.13); }
.portrait-orbit::before { border-color: rgba(151,226,211,.23); box-shadow: 0 0 26px rgba(72,177,159,.12); }
.portrait-orbit::after { border-color: rgba(150,223,208,.22); border-width: 1px; box-shadow: inset 0 0 35px rgba(85,189,170,.06); }
.portrait-orbit-secondary { position: absolute; z-index: 0; width: 505px; aspect-ratio: 1; right: -22px; bottom: 116px; border: 1px solid rgba(114,215,195,.2); border-radius: 50%; box-shadow: 0 0 0 8px rgba(110,210,191,.018),inset 0 0 45px rgba(84,191,172,.055); animation: orbitCounter 18s linear infinite; }
.portrait-orbit-secondary::before,.portrait-orbit-secondary::after { content: ""; position: absolute; border-radius: 50%; }
.portrait-orbit-secondary::before { inset: 45px; border: 1px dashed rgba(139,220,204,.22); }
.portrait-orbit-secondary::after { inset: 112px; border: 1px solid rgba(139,220,204,.14); box-shadow: 0 0 32px rgba(81,195,173,.07); }
.orbit-node { position: absolute; z-index: 2; display: block; width: 8px; height: 8px; border: 1px solid rgba(194,241,232,.75); border-radius: 50%; background: #55bca9; box-shadow: 0 0 0 5px rgba(85,188,169,.08),0 0 22px rgba(85,210,185,.75); }
.orbit-node-a { top: 19%; left: 9%; }.orbit-node-b { top: 69%; right: 1%; width: 6px; height: 6px; }.orbit-node-c { bottom: 5%; left: 32%; width: 5px; height: 5px; opacity: .7; }
.portrait-halo { box-shadow: 0 0 80px rgba(73,181,164,.12); }

.hero-actions > * { position: relative; overflow: visible; isolation: isolate; }
.hero-actions > *::before { content: ""; position: absolute; z-index: -1; inset: -9px -14px; border: 1px solid rgba(151,228,212,.58); border-radius: 52% 48% 55% 45% / 58% 45% 55% 42%; opacity: 0; transform: scale(.72) rotate(-5deg); transition: opacity .35s ease,transform .55s cubic-bezier(.2,.85,.2,1),border-color .35s ease; pointer-events: none; filter: drop-shadow(0 0 9px rgba(95,203,182,.2)); }
.hero-actions > *:hover::before,.hero-actions > *:focus-visible::before { opacity: 1; transform: scale(1) rotate(-2deg); animation: buttonOrbit 3.8s ease-in-out infinite; }
.hero-actions .cta-main::after { border-radius: inherit; clip-path: inset(0 round 15px); }
.hero-actions .cta-ghost::after { content: ""; position: absolute; inset: 1px; z-index: -1; border-radius: inherit; background: radial-gradient(circle at var(--btn-x,50%) var(--btn-y,50%),rgba(139,224,207,.18),transparent 48%); opacity: 0; transition: opacity .3s ease; }
.hero-actions .cta-ghost:hover::after { opacity: 1; }

.trust-strip { position: relative; overflow: hidden; background: linear-gradient(110deg,#e8eeeb 0%,#edf3f0 45%,#e4ece9 100%); }
.trust-strip::before { content: ""; position: absolute; width: 360px; height: 220px; right: var(--trust-glow-x,18%); top: -100px; border-radius: 50%; background: rgba(64,168,151,.09); filter: blur(65px); transition: right .9s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.trust-inner { position: relative; perspective: 1100px; }
.trust-intro { --intro-x: 0px; min-height: 106px; padding: 0 18px; display: flex; align-items: center; position: relative; overflow: hidden; font-weight: 650; color: transparent; background: linear-gradient(95deg,#274d4f,#0c756f 48%,#274d4f 70%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; animation: trustTextGlow 7s ease-in-out infinite; transform: translate3d(var(--intro-x),0,0); transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.trust-intro::after { content: ""; position: absolute; right: 18px; bottom: 23px; width: 62%; height: 12px; border-bottom: 1px solid rgba(12,117,111,.34); border-radius: 0 0 60% 60%; transform: rotate(-2deg); transition: width .55s ease,opacity .55s ease; opacity: .6; }
.trust-intro:hover::after { width: 80%; opacity: 1; }
.trust-item { --spot-x: 50%; --spot-y: 50%; --tilt-x: 0deg; --tilt-y: 0deg; position: relative; overflow: hidden; isolation: isolate; transform: perspective(850px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(0); transform-style: preserve-3d; transition: transform .28s ease,border-color .28s ease,box-shadow .35s ease; background: radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.82),rgba(255,255,255,.18) 34%,transparent 64%); }
.trust-item::before { content: ""; position: absolute; z-index: -1; width: 150px; height: 150px; left: calc(var(--spot-x) - 75px); top: calc(var(--spot-y) - 75px); border-radius: 50%; background: rgba(44,156,140,.14); filter: blur(30px); opacity: 0; transition: opacity .3s ease; }
.trust-item::after { content: ""; position: absolute; right: 26px; bottom: 17px; width: 0; height: 9px; border-bottom: 1px solid rgba(12,117,111,.42); border-radius: 0 0 55% 55%; transform: rotate(-2deg); transition: width .5s cubic-bezier(.2,.8,.2,1); }
.trust-item:hover { border-color: rgba(12,117,111,.22); box-shadow: 0 18px 38px rgba(20,69,69,.1); }
.trust-item:hover::before { opacity: 1; }.trust-item:hover::after { width: 46%; }
.trust-item svg,.trust-item > div { position: relative; z-index: 2; transform: translateZ(22px); }
.trust-item svg { filter: drop-shadow(0 5px 10px rgba(12,117,111,.13)); transition: transform .35s ease,color .35s ease; }
.trust-item:hover svg { transform: translateZ(28px) scale(1.12) rotate(-5deg); color: #075f5b; }
.trust-item strong { transition: color .3s ease,transform .35s ease; }.trust-item:hover strong { color: #075f5b; transform: translateX(-3px); }
.mobile-orbit-hud { display: none; }

@keyframes titleShimmer { 0%,100% { background-position: 100% 50%; } 50% { background-position: 0% 50%; } }
@keyframes titleCurve { 0%,100% { transform: rotate(-1.4deg) scaleX(.55); opacity: .38; } 50% { transform: rotate(-.5deg) scaleX(1); opacity: .8; } }
@keyframes specialtyLine { 0%,100% { width: 22px; opacity: .4; } 50% { width: 42px; opacity: 1; } }
@keyframes orbitCounter { to { transform: rotate(-360deg); } }
@keyframes buttonOrbit { 0%,100% { border-radius: 52% 48% 55% 45% / 58% 45% 55% 42%; } 50% { border-radius: 45% 55% 44% 56% / 47% 58% 42% 53%; } }
@keyframes trustTextGlow { 0%,100% { background-position: 100% 50%; } 50% { background-position: 0% 50%; } }

.trust-strip { border-bottom: 1px solid var(--line); background: #e8eeeb; }
.trust-inner { min-height: 106px; display: grid; grid-template-columns: 1.25fr repeat(3, 1fr); align-items: center; }
.trust-intro { color: transparent; font-size: 12px; }
.trust-item { min-height: 106px; padding: 0 30px; border-right: 1px solid var(--line); display: flex; align-items: center; gap: 13px; }
.trust-item svg { color: var(--teal); }
.trust-item strong { display: block; font-size: 13px; }.trust-item span { display: block; margin-top: 4px; color: #698084; font-size: 10px; }

/* Unified cinematic treatment path */
.care-path { --path-x:0px; --path-y:0px; --path-note-x:0px; position:relative; overflow:hidden; padding:92px 0 86px; background:linear-gradient(145deg,#f3f0e9 0%,#edf2ee 48%,#e6efeb 100%); color:var(--deep); isolation:isolate; }
.care-path::before { content:""; position:absolute; z-index:-2; width:760px; height:760px; left:-280px; top:-310px; border-radius:50%; border:1px solid rgba(13,117,111,.09); box-shadow:0 0 0 58px rgba(13,117,111,.025),0 0 0 126px rgba(13,117,111,.018); animation:carePathOuter 14s ease-in-out infinite; }
.care-path::after { content:""; position:absolute; z-index:-3; inset:0; opacity:.42; background-image:linear-gradient(rgba(13,117,111,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(13,117,111,.05) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(ellipse at 44% 48%,black,transparent 72%); }
.care-path-atmosphere { position:absolute; z-index:-1; inset:0; pointer-events:none; overflow:hidden; }
.care-path-atmosphere span { position:absolute; width:420px; height:420px; right:8%; top:19%; border-radius:50%; background:rgba(29,163,145,.12); filter:blur(95px); animation:carePathGlow 8s ease-in-out infinite; }
.care-path-atmosphere i { position:absolute; width:1px; height:72%; right:50%; top:14%; background:linear-gradient(transparent,rgba(12,117,111,.2),transparent); box-shadow:0 0 22px rgba(12,117,111,.1); }
.care-path-shell { position:relative; }
.care-path-head { display:flex; align-items:end; justify-content:space-between; gap:55px; margin-bottom:38px; }
.care-path-head > div { min-width:max-content; }
.care-path-index { display:flex; align-items:center; gap:12px; color:#557174; font-size:10px; letter-spacing:.05em; }
.care-path-index::after { content:""; width:58px; height:1px; background:linear-gradient(to left,var(--teal),transparent); animation:carePathIndex 4s ease-in-out infinite; }
.care-path-head .section-title { margin-top:10px; font-size:clamp(42px,5vw,68px); }
.care-path-head > p { max-width:520px; margin:0; color:#587075; font-size:14px; line-height:2; }
.care-path-stage { display:grid; grid-template-columns:.94fr 1.06fr; gap:20px; min-height:560px; perspective:1400px; }
.care-path-visual { position:relative; min-height:560px; overflow:hidden; border-radius:34px; background:#06232a; box-shadow:0 28px 80px rgba(9,49,53,.18),inset 0 1px 0 rgba(255,255,255,.14); transform:translate3d(var(--path-x),var(--path-y),0) rotateY(calc(var(--path-x) * .03)); transition:transform .9s cubic-bezier(.2,.8,.2,1); }
.care-path-visual::before { content:""; position:absolute; z-index:2; inset:0; background:radial-gradient(circle at 68% 24%,rgba(99,220,198,.2),transparent 28%),linear-gradient(to top,rgba(2,19,24,.96) 0%,rgba(3,26,31,.5) 43%,rgba(3,24,29,.04) 74%); }
.care-path-visual::after { content:""; position:absolute; z-index:3; inset:14px; border:1px solid rgba(189,237,228,.15); border-radius:25px; pointer-events:none; }
.care-path-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.88; transform:scale(1.055) translate3d(calc(var(--path-x) * -.35),calc(var(--path-y) * -.3),0); transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .6s ease; filter:saturate(.82) contrast(1.08); }
.care-path-visual:hover .care-path-image { transform:scale(1.09) translate3d(calc(var(--path-x) * -.35),calc(var(--path-y) * -.3),0); filter:saturate(.94) contrast(1.08); }
.care-path-radar { position:absolute; z-index:4; width:390px; aspect-ratio:1; left:-92px; top:-82px; border:1px solid rgba(148,235,218,.32); border-radius:50%; box-shadow:0 0 0 30px rgba(118,224,203,.03),0 0 50px rgba(72,207,182,.1); animation:carePathRadarFloat 7s ease-in-out infinite; pointer-events:none; }
.care-path-radar::before,.care-path-radar::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(159,234,220,.22); }
.care-path-radar::before { inset:48px; border-style:dashed; animation:slowSpin 20s linear infinite; }
.care-path-radar::after { inset:105px; box-shadow:0 0 24px rgba(106,225,202,.12); }
.care-path-radar span,.care-path-radar i { position:absolute; left:50%; top:0; width:1px; height:100%; background:linear-gradient(transparent,rgba(164,238,224,.38),transparent); }
.care-path-radar i { transform:rotate(90deg); }
.care-path-radar b { position:absolute; width:8px; height:8px; top:18%; right:13%; border-radius:50%; background:#8ce8d5; box-shadow:0 0 0 6px rgba(124,232,210,.11),0 0 22px #73dbc6; animation:mobileNodePulse 2.5s ease-in-out infinite; }
.care-path-scan { position:absolute; z-index:4; width:100%; height:2px; right:0; top:18%; opacity:.7; background:linear-gradient(90deg,transparent,rgba(148,239,221,.72),transparent); box-shadow:0 0 20px rgba(97,224,199,.42); animation:carePathScan 6.8s ease-in-out infinite; pointer-events:none; }
.doctor-note { position:absolute; z-index:6; inset:auto 24px 24px; width:min(430px,calc(100% - 48px)); padding:22px 23px 19px; border:1px solid rgba(190,236,227,.2); border-radius:22px; color:white; background:linear-gradient(135deg,rgba(4,31,37,.82),rgba(8,57,60,.62)); backdrop-filter:blur(19px); box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 22px 50px rgba(0,0,0,.28); transform:translate3d(var(--path-note-x),0,34px); transition:transform .8s cubic-bezier(.2,.8,.2,1),border-color .4s ease; }
.doctor-note:hover { border-color:rgba(164,237,223,.42); transform:translate3d(var(--path-note-x),-5px,48px); }
.doctor-note-label { display:flex; align-items:center; gap:9px; color:#91d9cb; font-size:9px; }
.doctor-note-label::before { content:""; width:18px; height:1px; background:#7bd4c2; box-shadow:0 0 8px #7bd4c2; }
.doctor-note blockquote { margin:13px 0 9px; font-size:17px; line-height:1.8; font-weight:620; }
.doctor-note p { margin:0; color:rgba(225,243,239,.64); font-size:10px; line-height:1.85; }
.doctor-note strong { display:block; margin-top:12px; color:#a7dfd4; font-size:9px; font-weight:500; }
.care-path .doctor-note { display:block; gap:0; align-items:initial; margin-top:0; color:white; background:linear-gradient(135deg,rgba(3,25,31,.94),rgba(7,55,59,.88)); }
.care-path .doctor-note p { margin:0; color:rgba(225,243,239,.72); font-size:10px; line-height:1.85; }
.care-path .doctor-note strong { display:block; margin-top:12px; color:#a7dfd4; font-size:9px; font-weight:500; }
.care-path-content { position:relative; overflow:hidden; padding:38px 40px 31px; border:1px solid rgba(21,101,97,.12); border-radius:34px; background:rgba(255,255,255,.56); box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 24px 65px rgba(37,80,76,.08); backdrop-filter:blur(12px); transform:translate3d(calc(var(--path-x) * -.3),calc(var(--path-y) * -.22),0); transition:transform .9s cubic-bezier(.2,.8,.2,1),background .5s ease; }
.care-path-content::before { content:""; position:absolute; width:250px; height:250px; left:-105px; top:-110px; border-radius:50%; border:1px solid rgba(12,117,111,.1); box-shadow:0 0 0 32px rgba(12,117,111,.025),0 0 0 72px rgba(12,117,111,.018); animation:slowSpin 30s linear infinite; }
.care-path-content .section-kicker { position:relative; z-index:2; }
.care-path-content h3 { position:relative; z-index:2; max-width:560px; margin:13px 0 0; font-size:clamp(31px,3.3vw,47px); line-height:1.25; letter-spacing:-.045em; }
.care-path-intro { position:relative; z-index:2; max-width:620px; margin:17px 0 23px; color:#5b7074; font-size:12px; line-height:1.95; }
.care-path-steps { position:relative; z-index:2; }
.care-path-steps::before { content:""; position:absolute; right:20px; top:23px; bottom:23px; width:1px; background:linear-gradient(transparent,rgba(12,117,111,.34),transparent); }
.care-path-step { position:relative; min-height:76px; display:flex; align-items:center; gap:15px; padding:9px 0; border-top:1px solid rgba(22,89,88,.11); transition:transform .35s ease,background .35s ease; }
.care-path-step:first-child { border-top:0; }
.care-path-step::after { content:""; position:absolute; inset:6px -12px; z-index:-1; border-radius:16px; background:linear-gradient(90deg,rgba(12,117,111,.09),transparent); opacity:0; transform:scaleX(.75); transform-origin:right; transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1); }
.care-path-step:hover { transform:translateX(-5px); }.care-path-step:hover::after { opacity:1; transform:scaleX(1); }
.care-path-step i { flex:0 0 41px; width:41px; height:41px; display:grid; place-items:center; border:1px solid rgba(12,117,111,.22); border-radius:50%; color:var(--teal); background:#f4faf7; box-shadow:0 0 0 5px rgba(12,117,111,.025); font-size:10px; font-style:normal; animation:carePathStepPulse 5.2s ease-in-out infinite; }
.care-path-step:nth-child(2) i { animation-delay:-1.7s; }.care-path-step:nth-child(3) i { animation-delay:-3.4s; }
.care-path-step strong { display:block; font-size:13px; }.care-path-step span { display:block; margin-top:4px; color:#74888a; font-size:9px; }
.care-path-values { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:20px; }
.care-path-values > span { min-height:64px; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid rgba(12,117,111,.11); border-radius:16px; color:#335d5e; background:rgba(255,255,255,.62); transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease; }
.care-path-values > span:hover { transform:translateY(-4px); border-color:rgba(12,117,111,.25); box-shadow:0 14px 28px rgba(27,86,81,.09); }
.care-path-values svg { color:var(--teal); filter:drop-shadow(0 4px 7px rgba(12,117,111,.16)); }.care-path-values b { font-size:9px; font-weight:600; }
@keyframes carePathOuter { 0%,100% { transform:translate3d(0,0,0) scale(.96); } 50% { transform:translate3d(24px,16px,0) scale(1.04); } }
@keyframes carePathGlow { 0%,100% { opacity:.45; transform:translate3d(0,0,0) scale(.9); } 50% { opacity:1; transform:translate3d(-40px,20px,0) scale(1.12); } }
@keyframes carePathIndex { 0%,100% { width:42px; opacity:.45; } 50% { width:75px; opacity:1; } }
@keyframes carePathRadarFloat { 0%,100% { transform:translate3d(0,0,0) rotate(-2deg); } 50% { transform:translate3d(9px,12px,0) rotate(3deg); } }
@keyframes carePathScan { 0%,100% { top:13%; opacity:0; } 18%,82% { opacity:.72; } 50% { top:82%; opacity:1; } }
@keyframes carePathStepPulse { 0%,100% { box-shadow:0 0 0 5px rgba(12,117,111,.02); } 50% { box-shadow:0 0 0 9px rgba(12,117,111,.055),0 0 20px rgba(12,117,111,.08); } }

@media (max-width: 880px) {
  .care-path { padding:78px 0 72px; }
  .care-path-head { align-items:start; flex-direction:column; gap:15px; margin-bottom:28px; }
  .care-path-head > p { max-width:640px; }
  .care-path-stage { grid-template-columns:1fr; min-height:0; }
  .care-path-visual { min-height:510px; }
}
@media (max-width: 660px) {
  .care-path { padding:66px 0 60px; }
  .care-path::before { width:470px; height:470px; left:-255px; top:-135px; }
  .care-path-head { margin-bottom:22px; }
  .care-path-head .section-title { font-size:43px; }
  .care-path-head > p { font-size:11px; line-height:1.9; }
  .care-path-stage { gap:12px; }
  .care-path-visual { min-height:420px; border-radius:27px; }
  .care-path-visual::after { inset:10px; border-radius:20px; }
  .care-path-image { object-position:54% center; }
  .care-path-radar { width:300px; left:-105px; top:-70px; }
  .care-path-radar::before { inset:38px; }.care-path-radar::after { inset:82px; }
  .doctor-note { inset:auto 13px 13px; width:calc(100% - 26px); padding:17px 17px 15px; border-radius:18px; }
  .doctor-note blockquote { margin:9px 0 6px; font-size:14px; line-height:1.75; }
  .doctor-note p { font-size:8.5px; line-height:1.75; }.doctor-note strong { margin-top:8px; }
  .care-path-content { padding:25px 20px 20px; border-radius:27px; }
  .care-path-content h3 { font-size:30px; }
  .care-path-intro { margin:13px 0 15px; font-size:10px; }
  .care-path-step { min-height:68px; gap:12px; }.care-path-step i { flex-basis:36px; width:36px; height:36px; }
  .care-path-values { gap:5px; margin-top:14px; }.care-path-values > span { min-height:57px; gap:5px; border-radius:13px; flex-direction:column; }.care-path-values b { font-size:7.5px; }
}

.intro { padding: 130px 0 110px; }
.intro-grid { display: grid; grid-template-columns: .83fr 1.17fr; gap: 86px; align-items: start; }
.intro-aside { position: sticky; top: 40px; }
.intro-index { display: flex; align-items: center; gap: 12px; color: #6b7b7d; font-size: 11px; margin-bottom: 90px; }
.intro-index::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.intro-quote { font-size: 19px; line-height: 1.9; font-weight: 500; max-width: 380px; }
.intro-quote small { display: block; color: #708083; font-size: 10px; font-weight: 400; margin-top: 19px; }
.intro-main .body-copy { max-width: 650px; margin-top: 25px; }
.care-values { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 52px; }
.value-card { min-height: 175px; border: 1px solid var(--line); background: rgba(255,255,255,.45); border-radius: 23px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; transition: transform .22s ease, background .22s ease; }
.value-card:hover { transform: translateY(-5px); background: white; }
.value-card svg { color: var(--teal); }.value-card strong { display: block; font-size: 14px; }.value-card span { color: #758386; font-size: 10px; line-height: 1.7; }

.services { background: var(--ink); color: white; padding: 118px 0; position: relative; }
.services::before { content: ""; position: absolute; inset: 0; opacity: .13; background: radial-gradient(circle at 12% 16%, #4ca79d 0, transparent 28%), radial-gradient(circle at 85% 90%, #184950 0, transparent 34%); }
.section-head { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 58px; }
.section-head .section-title { max-width: 670px; margin: 12px 0 0; }
.section-head p { max-width: 390px; color: rgba(255,255,255,.5); font-size: 12px; line-height: 1.85; }
.service-list { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.service-card { min-height: 380px; border: 1px solid rgba(255,255,255,.12); border-radius: 27px; padding: 28px; background: rgba(255,255,255,.035); display: flex; flex-direction: column; transition: background .25s ease, transform .25s ease; }
.service-card:hover { background: rgba(255,255,255,.08); transform: translateY(-5px); }
.service-card.featured { background: #e8efed; color: var(--ink); }
.service-top { display: flex; align-items: center; justify-content: space-between; }
.service-number { color: rgba(255,255,255,.38); font-size: 10px; }.featured .service-number { color: #6b7b7d; }
.service-icon { width: 45px; height: 45px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); color: #92c8bf; }.featured .service-icon { border-color: rgba(7,27,34,.13); color: var(--teal); }
.service-card h3 { margin: auto 0 0; font-size: 23px; font-weight: 580; }.service-card p { color: rgba(255,255,255,.5); font-size: 11px; line-height: 1.9; margin: 14px 0 28px; }.featured p { color: #627579; }
.service-link { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255,255,255,.12); padding-top: 18px; font-size: 11px; }.featured .service-link { border-color: rgba(7,27,34,.11); }

.journey { padding: 125px 0; background: var(--paper); }
.journey-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 86px; align-items: center; }
.journey-visual { min-height: 570px; border-radius: 34px; overflow: hidden; position: relative; background: #0a282f; color: white; }
.journey-visual::before { content: ""; position: absolute; inset: 0; z-index: 1; background: radial-gradient(circle at 68% 28%, rgba(83,171,157,.2), transparent 25%), linear-gradient(to top, rgba(5,25,30,.95), transparent 70%); }
.journey-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .83; }
.journey-caption { position: absolute; inset: auto 30px 30px; z-index: 2; display: flex; justify-content: space-between; align-items: end; gap: 18px; }
.journey-caption strong { font-size: 22px; max-width: 280px; line-height: 1.5; }.journey-caption span { color: rgba(255,255,255,.55); font-size: 9px; }
.journey-copy .body-copy { margin-top: 24px; }
.timeline { margin-top: 42px; }
.timeline-row { display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.timeline-row i { width: 34px; height: 34px; border: 1px solid var(--line); color: var(--teal); border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 10px; }
.timeline-row strong { font-size: 13px; }.timeline-row p { margin: 5px 0 0; color: #718084; font-size: 10px; line-height: 1.75; }

.consult { padding: 110px 0; background: #dfe9e5; }
.consult-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 68px; align-items: start; }
.consult-copy { position: sticky; top: 44px; }.consult-copy .body-copy { margin: 21px 0 31px; }
.consult-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.consult-card { min-height: 245px; padding: 24px; background: rgba(255,255,255,.52); border: 1px solid rgba(7,27,34,.1); border-radius: 24px; display: flex; flex-direction: column; }
.consult-card:first-child { background: var(--teal); color: white; }
.consult-card-top { display: flex; justify-content: space-between; align-items: center; }.consult-status { width: 7px; height: 7px; border-radius: 50%; background: #6ec9a9; box-shadow: 0 0 0 6px rgba(110,201,169,.13); }
.consult-card h3 { margin: auto 0 9px; font-size: 18px; }.consult-card p { margin: 0; color: #627579; font-size: 10px; line-height: 1.8; }.consult-card:first-child p { color: rgba(255,255,255,.65); }
.consult-card button { margin-top: 20px; height: 38px; border: 0; border-top: 1px solid rgba(7,27,34,.11); background: transparent; color: inherit; text-align: right; cursor: pointer; font-size: 10px; }.consult-card:first-child button { border-color: rgba(255,255,255,.2); }

.articles { padding: 120px 0; }
.articles .section-head p { color: #6b7b7d; }
.article-grid { display: grid; grid-template-columns: 1.35fr .85fr .85fr; gap: 14px; }
.article-card { min-height: 330px; border: 1px solid var(--line); border-radius: 25px; padding: 24px; display: flex; flex-direction: column; background: rgba(255,255,255,.42); }
.article-card.feature { color: white; background: #11343a; position: relative; overflow: hidden; }
.article-card.feature::before { content: ""; position: absolute; width: 310px; height: 310px; left: -80px; top: -80px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 60px rgba(255,255,255,.025), 0 0 0 120px rgba(255,255,255,.018); }
.article-meta { display: flex; justify-content: space-between; color: #758386; font-size: 9px; position: relative; }.feature .article-meta { color: rgba(255,255,255,.52); }
.article-card h3 { margin: auto 0 15px; font-size: 20px; line-height: 1.65; position: relative; }.feature h3 { font-size: 28px; max-width: 500px; }
.article-card p { color: #65767a; font-size: 10px; line-height: 1.85; position: relative; }.feature p { color: rgba(255,255,255,.56); max-width: 470px; }

.faq { padding: 115px 0; background: var(--paper); }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.faq-list details { border-bottom: 1px solid var(--line); padding: 20px 0; }
.faq-list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; font-size: 14px; font-weight: 600; }
.faq-list summary::after { content: "+"; color: var(--teal); font-size: 19px; }.faq-list details[open] summary::after { content: "−"; }
.faq-list p { color: #66787c; font-size: 11px; line-height: 2; padding-left: 40px; }

.contact-band { background: var(--arterial); color: white; padding: 52px 0; }
.contact-inner { display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.contact-inner h2 { font-size: clamp(27px,4vw,48px); margin: 0; font-weight: 620; }.contact-inner p { color: rgba(255,255,255,.7); font-size: 11px; margin: 10px 0 0; }
.contact-action { min-height: 50px; padding: 0 22px; border-radius: 15px; background: white; color: var(--ink); border: 0; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; min-width: max-content; }
.site-footer { padding: 65px 0 25px; color: white; background: var(--deep); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 70px; padding-bottom: 55px; }
.footer-brand p { color: rgba(255,255,255,.48); font-size: 11px; line-height: 1.95; max-width: 430px; margin-top: 22px; }
.footer-col strong { font-size: 11px; }.footer-col a, .footer-col span { display: block; color: rgba(255,255,255,.48); font-size: 10px; margin-top: 14px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding-top: 21px; display: flex; justify-content: space-between; color: rgba(255,255,255,.32); font-size: 9px; }

.booking-dialog { direction: rtl; max-width: 680px !important; border-radius: 25px !important; padding: 28px !important; background: var(--paper) !important; }
.booking-dialog [data-slot="dialog-header"] { text-align: right; }
.booking-progress { margin: 4px 0 8px; background: #d5e2df !important; }.booking-progress > div { background: var(--teal) !important; }
.booking-steps { display: flex; justify-content: space-between; color: #7a898b; font-size: 9px; }
.choice-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-top: 14px; }
.choice { min-height: 74px; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: white; text-align: right; cursor: pointer; transition: border .2s, background .2s; }
.choice.active { border-color: var(--teal); background: var(--teal-soft); }.choice strong { display: block; font-size: 12px; }.choice span { display: block; margin-top: 5px; color: #748285; font-size: 9px; }
.booking-field { margin-top: 12px; }.booking-field label { display: block; font-size: 10px; color: #596d70; margin-bottom: 6px; }.booking-input { height: 48px !important; border-radius: 13px !important; background: white !important; text-align: right; }
.booking-nav { display: flex; justify-content: space-between; margin-top: 23px; }
.booking-confirm { padding: 22px; border-radius: 18px; background: var(--teal-soft); text-align: center; }.booking-confirm svg { color: var(--teal); margin: 0 auto 12px; }.booking-confirm strong { display: block; }.booking-confirm p { color: #627579; font-size: 10px; line-height: 1.8; }
.mobile-sticky { display: none; }

@media (max-width: 980px) {
  .desktop-nav { display: none; }.menu-button { display: inline-grid; place-items: center; }
  .header-actions .header-btn:not(.primary) { display: none; }
  .hero-inner { grid-template-columns: 1fr; align-items: end; min-height: 1160px; }
  .hero-copy { padding: 118px 0 0; }
  .hero-copy::before { top: 30px; height: 62px; }
  .portrait-stage { min-height: 585px; width: min(630px, 100%); margin-inline: auto; }
  .doctor-portrait { height: 610px; }
  .hero { min-height: 1160px; }
  .hero-index { display: none; }
  .hero-cinematic-caption { bottom: 18px; }
  .portrait-orbit { width: 560px; right: -34px; bottom: 40px; }
  .portrait-orbit-secondary { width: 450px; right: 36px; bottom: 92px; }
  .portrait-halo { height: 480px; bottom: 72px; }
  .metric-float { bottom: 112px; }
  .intro-grid, .journey-grid, .consult-layout, .faq-grid { grid-template-columns: 1fr; gap: 55px; }
  .intro-aside, .consult-copy { position: static; }.intro-index { margin-bottom: 34px; }
  .service-list { grid-template-columns: 1fr 1fr; }.service-card:last-child { grid-column: span 2; }
  .article-grid { grid-template-columns: 1fr 1fr; }.article-card.feature { grid-column: span 2; }
}

@media (max-width: 660px) {
  .container-med { width: min(100% - 28px, 1240px); }
  .demo-ribbon { font-size: 9px; }.site-header { inset: 27px 0 auto; }.header-inner { padding: 11px 12px; border-radius: 15px; }
  .brand-text span, .header-actions { display: none; }
  .hero, .hero-inner { min-height: 1010px; }.hero-inner { padding-top: 112px; gap: 0; }
  .hero-copy { padding: 64px 0 0; }.hero-copy::before { display: none; }.hero-lead { font-size: 13px; }.hero-actions { gap: 8px; }.cta-main,.cta-ghost { flex: 1; min-height: 52px; padding-inline: 13px; justify-content: center; font-size: 11px; }
  .hero h1 { margin-top: 27px; }.hero .hero-title-line { margin-top: 0; font-size: 1em; }.hero .hero-title-line-b { margin-top: 2px; padding-bottom: 7px; }.hero .hero-specialty { margin-top: 15px; font-size: .36em; }
  .ecg-line { top: 94px; height: 82px; opacity: .52; }
  .cine-grain { opacity: .075; }.cine-vignette { box-shadow: inset 0 0 105px 22px rgba(0,7,10,.72),inset 0 -130px 120px -75px rgba(0,0,0,.92); }
  .hero-notes { flex-direction: column; gap: 10px; margin-top: 25px; }
  .portrait-stage { min-height: 455px; }.doctor-portrait { width: 108%; height: 475px; right: -4%; }.portrait-label { right: 0; top: 118px; }.metric-float { bottom: 86px; left: 0; width: 154px; padding: 14px; }.portrait-orbit { width: 430px; right: -78px; bottom: 28px; }.portrait-orbit-secondary { width: 340px; right: -4px; bottom: 68px; }.portrait-halo { width: 300px; height: 400px; right: 8%; bottom: 55px; }.portrait-beam { height: 570px; top: -8%; right: 17%; }
  .hero-cinematic-caption { display: none; }
  .trust-inner { grid-template-columns: 1fr; padding: 16px 0; }.trust-intro { padding: 12px; }.trust-item { min-height: 70px; padding: 0 12px; border-right: 0; border-top: 1px solid var(--line); }
  .intro, .services, .journey, .consult, .articles, .faq { padding: 82px 0; }.care-values,.service-list,.consult-grid,.article-grid { grid-template-columns: 1fr; }.service-card:last-child,.article-card.feature { grid-column: auto; }.service-card { min-height: 285px; }.journey-visual { min-height: 430px; }
  .section-head { align-items: start; flex-direction: column; margin-bottom: 36px; }.section-head p { margin: 0; }
  .contact-inner { flex-direction: column; align-items: start; }.contact-action { width: 100%; justify-content: center; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }.footer-brand { grid-column: span 2; }.footer-bottom { flex-direction: column; gap: 8px; }
  .choice-grid { grid-template-columns: 1fr; }.booking-dialog { max-height: 91vh; overflow-y: auto; }
  .mobile-sticky { --tab-index: 0; position: fixed; display: grid; grid-template-columns: repeat(4,1fr); direction: rtl; inset: auto 8px 9px; z-index: 40; height: 82px; color: rgba(235,250,247,.8); background: linear-gradient(110deg,rgba(4,22,28,.98),rgba(7,39,44,.97)); backdrop-filter: blur(22px) saturate(1.25); border: 1px solid rgba(178,229,219,.26); border-radius: 24px; padding: 13px 5px 8px; box-shadow: inset 0 1px 0 rgba(255,255,255,.1),0 18px 48px rgba(0,0,0,.42),0 0 30px rgba(53,178,158,.12); overflow: visible; isolation: isolate; }
  .mobile-sticky::before { content:""; position:absolute; z-index:0; inset:0; border-radius:inherit; background:linear-gradient(105deg,transparent 12%,rgba(147,239,220,.23) 47%,transparent 69%); transform:translateX(125%); opacity:0; pointer-events:none; }
  .mobile-sticky.is-switching::before { animation:mobileTabFlash .72s cubic-bezier(.2,.8,.2,1); }
  .mobile-sticky::after { content:""; position:absolute; z-index:0; inset:6px; border:1px solid rgba(133,222,205,.09); border-radius:18px; pointer-events:none; }
  .mobile-sticky a,.mobile-sticky button { position:relative; z-index:4; min-width:0; height:100%; padding:0 2px; background:none; color:inherit; border:0; display:flex; flex-direction:column; justify-content:flex-end; gap:5px; align-items:center; font-size:10px; line-height:1.2; font-weight:800; letter-spacing:-.01em; cursor:pointer; text-shadow:0 1px 8px rgba(0,0,0,.35); transition:color .42s ease,filter .42s ease,transform .25s ease; -webkit-tap-highlight-color:transparent; }
  .mobile-sticky svg { width:21px; height:21px; stroke-width:2.15; transform:translate3d(0,0,0) scale(1); transform-origin:center; filter:drop-shadow(0 2px 6px rgba(0,0,0,.22)); transition:transform .58s cubic-bezier(.22,1.45,.36,1),color .38s ease,filter .38s ease; }
  .mobile-sticky a:active,.mobile-sticky button:active { transform:scale(.96); color:#fff; }
  .mobile-sticky a::after,.mobile-sticky button::after { content:""; width:4px; height:4px; margin-top:1px; border-radius:50%; background:#9af0de; opacity:0; transform:scale(0); box-shadow:0 0 11px #75d8c4; transition:opacity .35s ease,transform .5s cubic-bezier(.22,1.5,.36,1); }
  .mobile-sticky .is-active { color:#edfffb; text-shadow:0 0 12px rgba(153,241,222,.42); }
  .mobile-sticky .is-active svg { color:white; transform:translate3d(0,-34px,32px) scale(1.3); filter:drop-shadow(0 0 8px rgba(218,255,248,.95)) drop-shadow(0 8px 13px rgba(0,0,0,.3)); }
  .mobile-sticky .is-active::after { opacity:1; transform:scale(1); }
  .mobile-sticky.is-switching .is-active svg { animation:mobileTabIconPop .68s cubic-bezier(.2,.9,.22,1.2); }
  .mobile-tab-indicator { position:absolute; z-index:2; width:56px; height:56px; right:calc((100% / 4) * var(--tab-index) + (100% / 8) - 28px); bottom:38px; border-radius:50%; border:1px solid rgba(201,250,240,.55); background:radial-gradient(circle at 34% 26%,#78ddc7 0 8%,#168e7d 38%,#07544f 72%,#043432 100%); box-shadow:inset 0 2px 4px rgba(255,255,255,.2),0 0 0 7px rgba(74,206,181,.09),0 12px 30px rgba(0,0,0,.38),0 0 28px rgba(71,222,191,.35); transition:right .62s cubic-bezier(.22,1.18,.36,1),transform .46s ease; pointer-events:none; }
  .mobile-tab-indicator::before { content:""; position:absolute; width:82px; height:33px; right:50%; bottom:-22px; transform:translateX(50%); background:radial-gradient(circle at 50% -14px,transparent 0 37px,rgba(8,42,47,.98) 38px 100%); border-radius:0 0 50% 50%; opacity:.98; }
  .mobile-tab-indicator::after { content:""; position:absolute; inset:-5px; border-radius:50%; border:1px dashed rgba(166,241,226,.46); animation:mobileTabRing 8s linear infinite; filter:drop-shadow(0 0 5px rgba(119,226,204,.44)); }
  .mobile-tab-indicator i { position:absolute; inset:3px; border-radius:50%; overflow:hidden; }
  .mobile-tab-indicator i::before { content:""; position:absolute; inset:-35%; background:conic-gradient(transparent 0 64%,rgba(231,255,250,.95) 74%,rgba(105,240,212,.2) 83%,transparent 91%); animation:mobileTabSpark 2.9s linear infinite; }
  .mobile-tab-indicator b { position:absolute; width:6px; height:6px; left:8px; top:9px; border-radius:50%; background:#d9fff7; box-shadow:0 0 0 4px rgba(188,255,241,.12),0 0 15px #9deddc; animation:mobileTabPulse 1.9s ease-in-out infinite; }
  .mobile-sticky.is-switching .mobile-tab-indicator { animation:mobileIndicatorBounce .65s cubic-bezier(.2,.85,.2,1); }
  @keyframes mobileTabFlash { 0% { opacity:0; transform:translateX(125%); } 35% { opacity:1; } 100% { opacity:0; transform:translateX(-125%); } }
  @keyframes mobileTabIconPop { 0% { transform:translate3d(0,0,0) scale(.72); opacity:.35; } 55% { transform:translate3d(0,-37px,38px) scale(1.42); opacity:1; } 100% { transform:translate3d(0,-31px,32px) scale(1.28); } }
  @keyframes mobileTabRing { to { transform:rotate(360deg); } }
  @keyframes mobileTabSpark { to { transform:rotate(360deg); } }
  @keyframes mobileTabPulse { 0%,100% { opacity:.55; transform:scale(.72); } 50% { opacity:1; transform:scale(1.18); } }
  @keyframes mobileIndicatorBounce { 0% { transform:translateY(7px) scale(.82); } 60% { transform:translateY(-4px) scale(1.06); } 100% { transform:translateY(0) scale(1); } }
  .site-footer { padding-bottom: 90px; }

  /* Immersive mobile hero — motion does not depend on a mouse */
  .hero { --mobile-hud-r: 0deg; min-height: 1080px; perspective: 1200px; }
  .hero::after { opacity: .28; background-size: 48px 48px; mask-image: radial-gradient(ellipse at 50% 62%,#000 0 34%,transparent 78%); }
  .hero-inner { min-height: 1080px; padding-top: 108px; }
  .hero-copy { z-index: 8; padding-top: 54px; }
  .hero-badge { box-shadow: inset 0 1px 0 rgba(255,255,255,.14),0 16px 48px rgba(0,0,0,.24),0 0 28px rgba(82,194,173,.08); }
  .hero .hero-title-line-a { animation: titleShimmer 7s ease-in-out infinite,mobileTitleDriftA 5.6s ease-in-out infinite; }
  .hero .hero-title-line-b { animation: mobileTitleDriftB 6.4s ease-in-out infinite; text-shadow: 0 14px 42px rgba(0,0,0,.5),0 0 25px rgba(91,207,185,.13); }
  .hero .hero-title-line-b::after { width: 88%; opacity: .82; border-bottom-color: rgba(139,231,213,.76); filter: drop-shadow(0 0 7px rgba(102,218,195,.42)); }
  .hero .hero-specialty { padding: 7px 12px; margin-right: -12px; border-right: 1px solid rgba(126,218,200,.58); background: linear-gradient(90deg,transparent,rgba(78,180,163,.08)); border-radius: 0 10px 10px 0; }
  .hero-lead { max-width: 94%; color: rgba(231,247,244,.72); }
  .portrait-stage { min-height: 505px; width: calc(100% + 28px); margin-inline: -14px; perspective: 900px; transform-style: preserve-3d; }
  .portrait-stage::after { inset-inline: -12%; height: 35%; }
  .doctor-portrait { width: 116%; height: 525px; right: -8%; object-position: center 12%; animation: mobileDoctorBreath 6.5s ease-in-out infinite; filter: saturate(.82) contrast(1.12) brightness(.96) drop-shadow(22px 22px 34px rgba(0,0,0,.42)); }
  .portrait-orbit { z-index: 1; width: 500px; right: calc(50% - 250px); bottom: 0; border-width: 1.5px; border-color: rgba(154,237,220,.54); box-shadow: inset 0 0 75px rgba(66,199,176,.11),0 0 0 14px rgba(109,221,200,.026),0 0 0 46px rgba(109,221,200,.032),0 0 80px rgba(44,184,161,.24); animation: mobileOrbitPulse 6.2s ease-in-out infinite; }
  .portrait-orbit::before { inset: 46px; border-color: rgba(164,234,221,.38); box-shadow: inset 0 0 34px rgba(86,207,185,.09),0 0 20px rgba(86,207,185,.08); }
  .portrait-orbit::after { inset: 102px; border-color: rgba(163,236,222,.42); border-style: dashed; animation-duration: 18s; filter: drop-shadow(0 0 5px rgba(104,223,200,.36)); }
  .portrait-orbit-secondary { z-index: 3; width: 408px; right: calc(50% - 204px); bottom: 46px; border-color: rgba(152,239,222,.4); box-shadow: inset 0 0 42px rgba(79,205,182,.09),0 0 34px rgba(56,196,173,.1); animation: mobileOrbitSpin 15s linear infinite; }
  .portrait-orbit-secondary::before { inset: 38px; border-color: rgba(162,236,222,.35); }
  .portrait-orbit-secondary::after { inset: 92px; border-color: rgba(162,236,222,.25); }
  .orbit-node { width: 10px; height: 10px; background: #8aead6; box-shadow: 0 0 0 6px rgba(115,229,207,.12),0 0 28px rgba(111,238,213,.92); animation: mobileNodePulse 2.4s ease-in-out infinite; }
  .orbit-node-b { width: 8px; height: 8px; animation-delay: -.8s; }
  .orbit-node-c { width: 7px; height: 7px; animation-delay: -1.6s; }
  .mobile-orbit-hud { display: block; position: absolute; z-index: 4; width: 354px; aspect-ratio: 1; right: calc(50% - 177px); bottom: 73px; border: 1px solid rgba(169,239,225,.2); border-radius: 50%; transform: rotate(var(--mobile-hud-r)); transition: transform .18s linear; pointer-events: none; filter: drop-shadow(0 0 14px rgba(84,211,187,.12)); }
  .mobile-orbit-hud::before,.mobile-orbit-hud::after { content:""; position:absolute; border-radius:50%; }
  .mobile-orbit-hud::before { inset: 17px; border: 1px dotted rgba(177,239,227,.28); animation: slowSpin 28s linear infinite reverse; }
  .mobile-orbit-hud::after { inset: 72px; border: 1px solid rgba(169,239,225,.17); box-shadow: 0 0 28px rgba(79,208,184,.12); }
  .hud-axis { position: absolute; z-index: 2; opacity: .34; background: linear-gradient(90deg,transparent,rgba(159,236,221,.7),transparent); }
  .hud-axis-x { width: 112%; height: 1px; right: -6%; top: 50%; }
  .hud-axis-y { width: 1px; height: 112%; right: 50%; top: -6%; background: linear-gradient(transparent,rgba(159,236,221,.62),transparent); }
  .hud-scan { position:absolute; z-index:3; inset: 4%; border-radius:50%; background: conic-gradient(from 0deg,transparent 0 80%,rgba(114,232,209,.13) 91%,transparent 100%); animation: mobileScan 7s linear infinite; }
  .hud-tick { position:absolute; z-index:4; width: 34px; height: 1px; background:#8fe4d3; box-shadow:0 0 10px rgba(99,230,204,.7); }
  .hud-tick-a { top: 23%; right: 0; transform: rotate(-42deg); }.hud-tick-b { bottom: 18%; left: 3%; transform: rotate(-38deg); }
  .mobile-orbit-hud small { position:absolute; z-index:5; direction:ltr; left: 1px; top: 32%; color:rgba(193,242,233,.58); font-size:6px; letter-spacing:.16em; writing-mode:vertical-rl; }
  .portrait-halo { width: 352px; height: 430px; right: calc(50% - 176px); bottom: 24px; background: radial-gradient(ellipse,rgba(92,224,199,.3),rgba(30,127,119,.11) 50%,transparent 74%); filter: blur(13px); animation: glowBreath 5.4s ease-in-out infinite; }
  .portrait-label { top: 128px; right: 5px; border-color: rgba(178,235,224,.27); }
  .metric-float { bottom: 72px; left: 2px; box-shadow: inset 0 1px 0 rgba(255,255,255,.1),0 25px 54px rgba(0,0,0,.34),0 0 28px rgba(72,197,175,.08); animation: mobileMetricFloat 5.2s ease-in-out infinite; }
  .hero-actions > *::before { opacity: .48; transform: scale(.96) rotate(-2deg); border-color: rgba(151,228,212,.5); animation: buttonOrbit 4.6s ease-in-out infinite; }
  .hero-actions > *:nth-child(2)::before { animation-delay: -2.2s; }
  .hero-actions > *:active { transform: scale(.97); }
  .trust-intro { animation: trustTextGlow 7s ease-in-out infinite,mobileTrustFloat 5.5s ease-in-out infinite; }
  .trust-item { animation: mobileTrustFloat 5.8s ease-in-out infinite; }
  .trust-item:nth-child(3) { animation-delay: -1.9s; }.trust-item:nth-child(4) { animation-delay: -3.8s; }
  .trust-item::after { width: 34%; opacity: .62; }

  @keyframes mobileTitleDriftA { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(-5px,-2px,18px); } }
  @keyframes mobileTitleDriftB { 0%,100% { transform: translate3d(0,0,0); letter-spacing:-.055em; } 50% { transform: translate3d(4px,2px,12px); letter-spacing:-.04em; } }
  @keyframes mobileDoctorBreath { 0%,100% { transform: translate3d(0,3px,0) scale(1.02); } 50% { transform: translate3d(0,-7px,22px) scale(1.045); } }
  @keyframes mobileOrbitPulse { 0%,100% { transform: translateY(4px) scale(.97) rotate(-2deg); opacity:.78; } 50% { transform: translateY(-8px) scale(1.035) rotate(2deg); opacity:1; } }
  @keyframes mobileOrbitSpin { to { transform: rotate(-360deg); } }
  @keyframes mobileNodePulse { 0%,100% { opacity:.55; transform:scale(.78); } 50% { opacity:1; transform:scale(1.24); } }
  @keyframes mobileScan { to { transform:rotate(360deg); } }
  @keyframes mobileMetricFloat { 0%,100% { transform:translate3d(0,0,34px); } 50% { transform:translate3d(-4px,-9px,50px); } }
  @keyframes mobileTrustFloat { 0%,100% { translate:0 0; } 50% { translate:0 -3px; } }
}

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

/* Patient portal */
.portal-page { min-height: 100vh; background: #eef2ef; }
.portal-demo, .dash-demo { padding: 7px 20px; background: #cee2de; color: #285053; font-size: 10px; text-align: center; }
.portal-top { min-height: 82px; padding: 0 max(28px, calc((100vw - 1180px)/2)); background: var(--deep); color: white; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.portal-back { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.58); font-size: 10px; }.portal-back svg { width: 15px; }
.portal-logo { display: flex; align-items: center; gap: 12px; }.portal-user { display: flex; align-items: center; gap: 10px; }.portal-user span { text-align: left; }.portal-user strong,.portal-user small { display: block; }.portal-user strong { font-size: 11px; }.portal-user small { font-size: 9px; color: rgba(255,255,255,.45); margin-top: 3px; }
.portal-wrap { width: min(1100px, calc(100% - 32px)); margin: 42px auto; }
.portal-welcome { min-height: 225px; padding: 42px; border-radius: 28px; color: white; background: linear-gradient(120deg,#0a3f43,#0a7069); display: flex; align-items: center; justify-content: space-between; overflow: hidden; position: relative; }.portal-welcome::after { content:""; position:absolute; width:300px; height:300px; border:1px solid rgba(255,255,255,.1); border-radius:50%; left:-80px; top:-90px; box-shadow:0 0 0 70px rgba(255,255,255,.025); }.portal-welcome > svg { width: 110px; height:110px; opacity:.13; }.portal-welcome span { color: rgba(255,255,255,.55); font-size:11px; }.portal-welcome h1 { font-size: clamp(27px,4vw,45px); margin:12px 0; }.portal-welcome p { color:rgba(255,255,255,.62); font-size:11px; }
.portal-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:14px 0 30px; }.portal-stats article { min-height:96px; padding:20px; border:1px solid var(--line); border-radius:19px; background:white; display:flex; align-items:center; gap:14px; }.portal-stats svg { color:var(--teal); }.portal-stats strong,.portal-stats span { display:block; }.portal-stats strong { font-size:12px; }.portal-stats span { margin-top:5px; color:#708083; font-size:9px; }
.portal-tabs { gap:14px !important; }.portal-tablist { width:100% !important; height:50px !important; padding:5px !important; border:1px solid var(--line); background:rgba(255,255,255,.6) !important; }.portal-panel { min-height:300px; padding:30px; border:1px solid var(--line); border-radius:22px; background:white; }.panel-head { display:flex; align-items:start; justify-content:space-between; gap:20px; }.panel-head span { color:#748285; font-size:9px; }.panel-head h2 { margin:6px 0 0; font-size:21px; }.status-chip { color:#147766 !important; background:#dcf2eb; padding:7px 11px; border-radius:99px; }.appointment-meta { display:flex; gap:28px; margin:27px 0; padding:18px 0; border-block:1px solid var(--line); }.appointment-meta span { display:flex; align-items:center; gap:8px; color:#52676b; font-size:11px; }.appointment-meta svg { width:16px; color:var(--teal); }.portal-notice { margin-bottom:24px; padding:14px 16px; border-radius:13px; background:#f2f4ef; color:#607377; font-size:10px; line-height:1.8; }.message-row,.payment-row { display:flex; gap:15px; align-items:center; }.message-icon { width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal); }.message-row p { color:#66787c;font-size:11px;margin:6px 0; }.message-row small { color:#8a9597;font-size:8px; }.empty-state { min-height:235px;display:grid;place-items:center;align-content:center;text-align:center;gap:8px;color:#68797c; }.empty-state svg { color:var(--teal); }.empty-state p { font-size:10px; }.payment-row > svg { color:var(--teal); }.payment-row div { flex:1; }.payment-row span { display:block;color:#79878a;font-size:9px;margin-top:5px; }.payment-row b { color:#147766;font-size:10px; }

/* Doctor dashboard and control center */
.dashboard-page { min-height:100vh; background:#edf1ef; display:grid; grid-template-columns:240px 1fr; }
.dash-sidebar { min-height:100vh; position:sticky; top:0; height:100vh; background:var(--deep); color:white; padding:27px 17px; display:flex; flex-direction:column; }.dash-brand { display:flex;align-items:center;gap:11px;padding:0 8px 25px;border-bottom:1px solid rgba(255,255,255,.1); }.dash-brand strong,.dash-brand span { display:block; }.dash-brand strong { font-size:13px; }.dash-brand span { color:rgba(255,255,255,.4);font-size:8px;margin-top:3px; }.dash-sidebar nav { display:grid; gap:4px; margin-top:22px; }.dash-sidebar nav a { display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;color:rgba(255,255,255,.5);font-size:10px; }.dash-sidebar nav a.active,.dash-sidebar nav a:hover { color:white;background:rgba(255,255,255,.08); }.dash-sidebar nav svg { width:16px; }.dash-exit { margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px;color:rgba(255,255,255,.5);font-size:10px; }
.dash-main { min-width:0; }.dash-header { padding:28px 38px 20px;display:flex;justify-content:space-between;align-items:center; }.dash-header > div:first-child span { color:#748285;font-size:9px; }.dash-header h1 { margin:6px 0 0;font-size:24px; }.dash-profile { display:flex;align-items:center;gap:10px;text-align:left; }.dash-profile strong,.dash-profile span { display:block; }.dash-profile strong { font-size:10px; }.dash-profile span { color:#7b898b;font-size:8px;margin-top:3px; }.dash-profile img { width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 18%; }
.dash-metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 38px 24px; }.dash-metrics article { min-height:110px;padding:19px;border:1px solid var(--line);border-radius:19px;background:white;display:flex;align-items:center;gap:13px; }.metric-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e4efec;color:var(--teal); }.dash-metrics div { flex:1; }.dash-metrics div span,.dash-metrics div strong { display:block; }.dash-metrics div span { color:#788689;font-size:8px; }.dash-metrics div strong { font-size:25px;margin-top:4px; }.dash-metrics small { color:#748285;font-size:8px; }
.dash-tabs { padding:0 38px 40px; }.dash-tablist { width:100% !important;height:48px !important;justify-content:flex-start !important;padding:4px !important;background:#dfe6e3 !important; }.dash-tablist button { flex:0 1 230px !important; }.dash-grid,.control-center { display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:14px; }.control-center .wide { grid-column:span 2; }.dash-card { border:1px solid var(--line);border-radius:21px;background:white;padding:24px;min-width:0; }.dash-card.wide { min-height:400px; }.dash-card-head { display:flex;align-items:start;justify-content:space-between;gap:15px;padding-bottom:18px;border-bottom:1px solid var(--line); }.dash-card-head span { color:#7b898b;font-size:8px; }.dash-card-head h2 { font-size:16px;margin:5px 0 0; }.dash-card-head a { display:flex;align-items:center;gap:7px;color:var(--teal);font-size:9px; }.dash-card-head a svg { width:15px; }
.schedule-row { display:grid;grid-template-columns:55px 38px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line); }.schedule-row b { font-size:11px; }.avatar-demo { width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e3eeeb;color:var(--teal);font-size:11px; }.schedule-row strong,.schedule-row small { display:block; }.schedule-row strong { font-size:10px; }.schedule-row small { color:#7c898b;font-size:8px;margin-top:4px; }.schedule-row em { font-style:normal;font-size:8px;padding:6px 8px;border-radius:99px; }.schedule-row em.ok { color:#147766;background:#dcf2eb; }.schedule-row em.wait { color:#8a5b19;background:#fff0cf; }
.control-row { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line); }.control-row strong,.control-row span { display:block; }.control-row strong { font-size:10px; }.control-row span { color:#7c898b;font-size:8px;margin-top:5px; }.control-actions { display:flex;align-items:center;gap:10px; }.control-actions small { color:#788689;font-size:8px; }.preset-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px; }.preset-grid button { min-height:45px;border:1px solid var(--line);border-radius:11px;background:#f7f8f5;font-size:9px; }.preset-grid button.selected { color:var(--teal);border-color:var(--teal);background:var(--teal-soft); }
.media-slots { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px; }.media-slot { min-height:170px;border:1px solid var(--line);border-radius:15px;overflow:hidden;position:relative;background:#eef2ef; }.media-slot img { width:100%;height:100%;object-fit:cover; }.media-slot > span { position:absolute;inset:auto 8px 8px;padding:6px 8px;border-radius:7px;color:white;background:rgba(4,26,32,.7);font-size:7px;backdrop-filter:blur(8px); }.media-slot.add { display:grid;place-items:center;align-content:center;gap:7px;color:#758386;border-style:dashed; }.media-slot.add span { position:static;background:none;color:var(--ink);font-size:9px;padding:0; }.media-slot.add small { font-size:7px; }
.doctor-form { margin-top:14px; }.form-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px; }.form-grid label { color:#64777a;font-size:9px; }.form-grid input { margin-top:7px;background:#f7f8f5; }.doctor-note { margin-top:22px;padding:18px;border-radius:14px;background:var(--teal-soft);display:flex;gap:13px;align-items:start; }.doctor-note svg { color:var(--teal); }.doctor-note p { margin:0;color:#5e7275;font-size:9px;line-height:1.8; }.doctor-note strong { color:var(--ink); }

@media (max-width: 850px) {
  .portal-top { padding:0 18px; }.portal-back { font-size:0; }.portal-stats { grid-template-columns:1fr; }.appointment-meta { flex-direction:column;gap:12px; }
  .dashboard-page { grid-template-columns:1fr; }.dash-sidebar { display:none; }.dash-header,.dash-metrics,.dash-tabs { padding-inline:16px; }.dash-metrics { grid-template-columns:1fr; }.dash-grid,.control-center { grid-template-columns:1fr; }.control-center .wide { grid-column:auto; }.media-slots { grid-template-columns:repeat(2,1fr); }.dash-profile div { display:none; }
}
@media (max-width: 560px) {
  .portal-logo strong { font-size:10px; }.portal-user span { display:none; }.portal-welcome { padding:28px; }.portal-welcome > svg { display:none; }.portal-stats { margin-top:10px; }.portal-tablist button { font-size:9px !important; padding-inline:5px !important; }.portal-panel { padding:20px; }.form-grid,.media-slots { grid-template-columns:1fr; }.dash-tablist { overflow-x:auto;justify-content:flex-start!important; }.dash-tablist button { flex:0 0 155px!important; }.dash-header h1 { font-size:19px; }.schedule-row { grid-template-columns:48px 32px 1fr; }.schedule-row em { grid-column:3; width:max-content; }
}

/* September cinematic refinement — compact, editable and touch-ready */
body { font-family: var(--dmd-body-font, "Vazirmatn", sans-serif); }
.display-title,.section-title,.care-path-content h3,.consult-card h3,.desktop-nav,.mobile-menu,.cta-main,.cta-ghost,button { font-family: var(--dmd-heading-font, "Estedad", sans-serif); }

/* Compact hero without losing its cinematic depth. */
.hero,.hero-inner { min-height: 820px; }
.hero-inner { padding-top: 132px; gap: 34px; }
.hero-copy { padding: 112px 0 84px; top: -46px; }
.portrait-stage { min-height: 688px; }
.doctor-portrait {
  height: 660px;
  border-radius: 72px;
  clip-path: inset(0 round 72px);
  transition: transform .9s cubic-bezier(.2,.8,.2,1),filter .7s ease,border-radius .5s ease;
}
.portrait-stage:hover .doctor-portrait { border-radius: 84px; }
.hero-index { top: 262px; }
.hero-index i { width: 66px; }
.hero-index b { color: rgba(190,229,221,.42); transition: color .45s ease,text-shadow .45s ease; }
.hero:hover .hero-index b { color: rgba(209,244,237,.7); text-shadow: 0 0 18px rgba(91,215,190,.38); }

/* "Heard heartbeat" title choreography. */
.heartbeat-title { position: relative; isolation: isolate; perspective: 900px; }
.heartbeat-title::before {
  content:""; position:absolute; z-index:-1; top:18%; right:-7%; width:108%; height:1px;
  background:linear-gradient(90deg,transparent,rgba(120,231,209,.14) 28%,rgba(184,255,241,.95) 49%,rgba(120,231,209,.12) 70%,transparent);
  box-shadow:0 0 16px rgba(104,224,200,.5); transform:scaleX(0); transform-origin:right;
  animation:heroEcgListening 9s 1s ease-in-out infinite;
}
.hero .hero-title-line { opacity:0; will-change:opacity,filter,clip-path,transform; }
.hero .hero-title-line-a {
  animation:titleHeartEntry 1.05s .18s cubic-bezier(.16,.82,.26,1) forwards,titleShimmer 8s 1.4s ease-in-out infinite;
}
.hero .hero-title-line-b {
  color:#fff; padding-bottom:0;
  animation:titleFocusEntry .95s .62s cubic-bezier(.16,.82,.26,1) forwards;
}
.hero .hero-title-line-b::after { bottom:-2px; }
.hero .hero-title-line-c {
  color:#fff; padding-bottom:10px;
  text-shadow:0 12px 55px rgba(0,0,0,.4),0 0 36px rgba(83,191,170,.09);
  animation:titleListenEntry 1.1s 1.02s cubic-bezier(.16,.82,.26,1) forwards;
}
.hero .hero-title-line-c::after {
  content:""; position:absolute; right:1%; bottom:0; width:74%; height:15px;
  border-bottom:1px solid rgba(131,218,201,.55); border-radius:0 0 58% 58%;
  transform:rotate(-1.4deg) scaleX(.55); transform-origin:right center; opacity:.55;
  animation:titleCurve 5.8s 1.6s ease-in-out infinite;
}
.sound-wave { position:absolute; z-index:-1; width:46px; height:46px; right:calc(100% + 7px); top:50%; transform:translateY(-50%); border:1px solid rgba(122,226,205,.4); border-right-color:transparent; border-bottom-color:transparent; border-radius:50%; opacity:.5; animation:heardWave 4.8s 2s ease-out infinite; }
.sound-wave::before,.sound-wave::after { content:""; position:absolute; border:1px solid rgba(131,232,212,.3); border-right-color:transparent; border-bottom-color:transparent; border-radius:50%; }
.sound-wave::before { inset:-11px; }.sound-wave::after { inset:-22px; opacity:.6; }
.hero.is-title-pulse .hero-title-line-a { filter:brightness(1.3) drop-shadow(0 0 16px rgba(111,237,211,.34)); }
.hero.is-title-pulse .hero-title-line-c { text-shadow:0 0 24px rgba(120,230,209,.34),0 12px 55px rgba(0,0,0,.4); }
@keyframes titleHeartEntry { 0% { opacity:0; clip-path:inset(0 100% 0 0); filter:blur(10px); } 65% { opacity:1; } 100% { opacity:1; clip-path:inset(0); filter:blur(0); } }
@keyframes titleFocusEntry { 0% { opacity:0; clip-path:inset(0 0 0 100%); filter:blur(14px); letter-spacing:.02em; } 100% { opacity:1; clip-path:inset(0); filter:blur(0); letter-spacing:-.055em; } }
@keyframes titleListenEntry { 0% { opacity:0; transform:translate3d(18px,12px,-40px); filter:blur(9px); } 100% { opacity:1; transform:translate3d(0,0,0); filter:blur(0); } }
@keyframes heroEcgListening { 0%,8% { transform:scaleX(0); opacity:0; } 15% { opacity:1; } 29% { transform:scaleX(1); opacity:.9; } 36%,100% { transform:translateX(-5%) scaleX(1); opacity:0; } }
@keyframes heardWave { 0%,60% { transform:translateY(-50%) scale(.65); opacity:0; } 72% { opacity:.65; } 100% { transform:translateY(-50%) scale(1.18); opacity:0; } }

/* Matching glass CTAs with a stronger booking label. */
.hero-actions .cta-main,.hero-actions .cta-ghost {
  color:#fff; background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(79,169,157,.065));
  border-color:rgba(184,231,222,.24); box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 16px 42px rgba(0,0,0,.2);
  backdrop-filter:blur(13px) saturate(1.15);
}
.hero-actions .cta-main b,.hero-actions .cta-ghost b { font-weight:800; }
.hero-actions .cta-main:hover,.hero-actions .cta-ghost:hover { background:linear-gradient(135deg,rgba(121,220,200,.2),rgba(255,255,255,.08)); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 18px 48px rgba(0,0,0,.24),0 0 28px rgba(74,205,180,.14); }

/* Larger, clearer and more transparent image card. */
.metric-float.metric-cinematic {
  width:218px; min-height:138px; left:-6px; bottom:116px; padding:21px 23px;
  overflow:hidden; background:linear-gradient(135deg,rgba(7,38,44,.38),rgba(8,65,65,.18));
  border-color:rgba(185,238,228,.25); backdrop-filter:blur(10px) saturate(1.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 28px 62px rgba(0,0,0,.28),0 0 38px rgba(77,212,185,.08);
  animation:metricArrival 1.15s 1.3s cubic-bezier(.18,.86,.24,1) both,metricAmbient 6s 2.7s ease-in-out infinite;
}
.metric-cinematic::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 25%,rgba(208,255,246,.18) 48%,transparent 68%); transform:translateX(120%); animation:metricSweep 7s 2.5s ease-in-out infinite; pointer-events:none; }
.metric-cinematic span,.metric-cinematic strong { position:relative; z-index:2; opacity:0; animation:metricTextIn .7s cubic-bezier(.2,.8,.2,1) forwards; }
.metric-cinematic span:first-child { animation-delay:1.72s; }.metric-cinematic strong { animation-delay:1.9s; }.metric-cinematic span:last-child { animation-delay:2.08s; }
.metric-float.metric-cinematic strong { font-size:27px; margin:5px 0 3px; }
@keyframes metricArrival { from { opacity:0; transform:translate3d(-58px,-48px,80px) rotate(-5deg) scale(.84); filter:blur(9px); } to { opacity:1; transform:translate3d(0,0,34px) rotate(0) scale(1); filter:blur(0); } }
@keyframes metricTextIn { from { opacity:0; transform:translateY(9px); filter:blur(4px); } to { opacity:1; transform:none; filter:none; } }
@keyframes metricAmbient { 0%,100% { translate:0 0; } 50% { translate:-4px -7px; } }
@keyframes metricSweep { 0%,68% { transform:translateX(125%); opacity:0; } 75% { opacity:1; } 89%,100% { transform:translateX(-125%); opacity:0; } }

/* Desktop navigation becomes an active cinematic light track. */
.cinematic-nav a { --nav-x:50%; position:relative; isolation:isolate; overflow:visible; padding:10px 9px; border-radius:99px; transition:color .35s ease,transform .4s cubic-bezier(.2,.8,.2,1),text-shadow .35s ease; }
.cinematic-nav a::before { content:""; position:absolute; z-index:-1; inset:1px -4px; border:1px solid rgba(162,229,215,.16); border-radius:99px; background:radial-gradient(circle at var(--nav-x) 50%,rgba(107,223,201,.22),rgba(255,255,255,.035) 45%,transparent 72%); opacity:0; transform:scale(.72); transition:opacity .35s ease,transform .5s cubic-bezier(.2,.85,.2,1); }
.cinematic-nav a::after { content:""; position:absolute; right:14%; bottom:2px; width:0; height:8px; border-bottom:1px solid rgba(143,235,217,.8); border-radius:0 0 60% 60%; filter:drop-shadow(0 0 7px rgba(102,231,205,.55)); transition:width .55s cubic-bezier(.2,.8,.2,1); }
.cinematic-nav a:hover,.cinematic-nav a.is-active { color:#d9fff7; transform:translateY(-2px); text-shadow:0 0 15px rgba(134,236,216,.35); }
.cinematic-nav a:hover::before,.cinematic-nav a.is-active::before { opacity:1; transform:scale(1); }
.cinematic-nav a:hover::after,.cinematic-nav a.is-active::after { width:72%; }
.cinematic-nav a span::after { content:""; display:inline-block; width:4px; height:4px; margin-right:7px; border-radius:50%; background:#9aebda; opacity:0; box-shadow:0 0 10px #83e4d0; transform:scale(0); transition:.35s ease; }
.cinematic-nav a.is-active span::after { opacity:1; transform:scale(1); animation:statusPulse 2.2s ease-out infinite; }

/* Compact four-way consultation rail replacing the old trust copy. */
.consult-quick-strip { border-block:1px solid rgba(12,117,111,.11); background:linear-gradient(105deg,#e5eeeb,#edf4f1 52%,#dfeae6); }
.consult-quick-inner { min-height:94px; display:grid; grid-template-columns:repeat(4,1fr); perspective:1000px; }
.consult-quick-card { --quick-x:50%; position:relative; isolation:isolate; overflow:hidden; min-width:0; display:flex; align-items:center; gap:12px; padding:14px 20px; border-right:1px solid rgba(7,27,34,.1); transition:color .38s ease,transform .45s cubic-bezier(.2,.85,.2,1),box-shadow .4s ease,background .4s ease; }
.consult-quick-card:first-child { border-right:0; }
.consult-quick-card::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at var(--quick-x) 45%,rgba(148,241,220,.42),transparent 48%),linear-gradient(115deg,#0b746e,#0b4f58); opacity:0; transition:opacity .4s ease; }
.consult-quick-card::after { content:""; position:absolute; width:120px; height:120px; top:-82px; left:calc(var(--quick-x) - 60px); border:1px solid rgba(205,255,245,.5); border-radius:50%; opacity:0; transition:opacity .35s ease,transform .7s cubic-bezier(.2,.85,.2,1); }
.consult-quick-card:hover { color:#fff; transform:translateY(-5px) scale(1.018); box-shadow:0 20px 45px rgba(20,83,80,.18); }
.consult-quick-card:hover::before,.consult-quick-card:hover::after { opacity:1; }.consult-quick-card:hover::after { transform:translateY(40px) scale(1.22); }
.consult-quick-card[data-tone="video"]::before { background:radial-gradient(circle at var(--quick-x) 45%,rgba(126,224,242,.38),transparent 48%),linear-gradient(115deg,#0b6d7c,#123f59); }
.consult-quick-card[data-tone="phone"]::before { background:radial-gradient(circle at var(--quick-x) 45%,rgba(159,196,255,.35),transparent 48%),linear-gradient(115deg,#244d76,#112f4c); }
.consult-quick-card[data-tone="urgent"]::before { background:radial-gradient(circle at var(--quick-x) 45%,rgba(255,202,184,.4),transparent 48%),linear-gradient(115deg,#b34c41,#7b302f); }
.quick-icon { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(12,117,111,.17); border-radius:50%; color:var(--teal); background:rgba(255,255,255,.38); transition:transform .55s cubic-bezier(.2,1.4,.3,1),color .35s ease,filter .35s ease; }
.consult-quick-card:hover .quick-icon { color:#fff; transform:translateY(-4px) rotate(-8deg) scale(1.12); filter:drop-shadow(0 0 10px rgba(216,255,247,.75)); }
.consult-quick-card strong,.consult-quick-card small { display:block; }.consult-quick-card strong { font-size:12px; }.consult-quick-card small { margin-top:4px; color:#6b7e81; font-size:8px; transition:color .35s ease; }.consult-quick-card:hover small { color:rgba(255,255,255,.68); }
.consult-quick-card > i { margin-right:auto; font-size:8px; font-style:normal; opacity:.32; }

/* Treatment path: top-down glass assembly and clearer medical note. */
.care-path-head .section-title { margin-top:0; }
.care-path-content.dmd-reveal { opacity:0; transform:translate3d(calc(var(--path-x) * -.3),-58px,50px) scale(.955); clip-path:inset(0 0 100% 0 round 34px); transition:opacity .8s ease,transform 1.05s cubic-bezier(.16,.86,.24,1),clip-path 1.05s cubic-bezier(.16,.86,.24,1),background .5s ease; }
.care-path-content.dmd-reveal.is-visible { opacity:1; transform:translate3d(calc(var(--path-x) * -.3),calc(var(--path-y) * -.22),0) scale(1); clip-path:inset(0 round 34px); }
.care-path-content.is-visible .section-kicker,.care-path-content.is-visible h3,.care-path-content.is-visible .care-path-intro { animation:pathTextAssemble .75s cubic-bezier(.2,.8,.2,1) both; }
.care-path-content.is-visible h3 { animation-delay:.12s; }.care-path-content.is-visible .care-path-intro { animation-delay:.24s; }
.care-path-content.is-visible .care-path-step { animation:pathStepArrival .72s cubic-bezier(.18,.86,.24,1) both; }
.care-path-content.is-visible .care-path-step:nth-child(1) { animation-delay:.32s; }.care-path-content.is-visible .care-path-step:nth-child(2) { animation-delay:.46s; }.care-path-content.is-visible .care-path-step:nth-child(3) { animation-delay:.6s; }
.care-path-content.is-visible .care-path-values > span { animation:pathValueArrival .65s cubic-bezier(.2,.9,.2,1) both; }
.care-path-content.is-visible .care-path-values > span:nth-child(1) { animation-delay:.72s; }.care-path-content.is-visible .care-path-values > span:nth-child(2) { animation-delay:.82s; }.care-path-content.is-visible .care-path-values > span:nth-child(3) { animation-delay:.92s; }
.doctor-note.note-reveal {
  opacity:0; background:linear-gradient(135deg,rgba(3,27,33,.48),rgba(7,64,65,.28));
  border-color:rgba(188,241,230,.3); backdrop-filter:blur(9px) saturate(1.25);
  transform:translate3d(calc(var(--path-note-x) - 42px),38px,70px) scale(.9);
  clip-path:inset(0 0 100% 0 round 22px);
  transition:opacity .9s ease,transform 1.1s cubic-bezier(.16,.86,.24,1),clip-path 1.1s cubic-bezier(.16,.86,.24,1),border-color .4s ease,background .4s ease;
}
.doctor-note.note-reveal.is-visible { opacity:1; transform:translate3d(var(--path-note-x),0,48px) scale(1); clip-path:inset(0 round 22px); }
.doctor-note.note-reveal.is-visible > * { animation:noteTextArrival .65s cubic-bezier(.2,.8,.2,1) both; }
.doctor-note.note-reveal.is-visible blockquote { animation-delay:.18s; }.doctor-note.note-reveal.is-visible p { animation-delay:.3s; }.doctor-note.note-reveal.is-visible strong { animation-delay:.42s; }
.doctor-note.note-reveal:hover { background:linear-gradient(135deg,rgba(3,28,34,.56),rgba(8,72,71,.34)); transform:translate3d(var(--path-note-x),-5px,58px) scale(1.01); }
@keyframes pathTextAssemble { from { opacity:0; transform:translateY(-17px); filter:blur(5px); } to { opacity:1; transform:none; filter:none; } }
@keyframes pathStepArrival { from { opacity:0; transform:translate3d(28px,-15px,28px); filter:blur(5px); } to { opacity:1; transform:none; filter:none; } }
@keyframes pathValueArrival { from { opacity:0; transform:translateY(15px) scale(.9); } to { opacity:1; transform:none; } }
@keyframes noteTextArrival { from { opacity:0; transform:translateY(10px); filter:blur(4px); } to { opacity:1; transform:none; filter:none; } }

/* Smaller consultation section with directional choreography and luminous cards. */
.cinematic-consult { position:relative; overflow:hidden; padding:76px 0; background:linear-gradient(120deg,#dce8e4,#eaf1ee 52%,#d8e6e2); isolation:isolate; }
.consult-atmosphere { position:absolute; z-index:-1; inset:0; pointer-events:none; }
.consult-atmosphere i,.consult-atmosphere b { position:absolute; display:block; border-radius:50%; filter:blur(65px); }
.consult-atmosphere i { width:360px; height:360px; right:12%; top:-170px; background:rgba(49,166,148,.14); animation:consultAura 8s ease-in-out infinite; }
.consult-atmosphere b { width:260px; height:260px; left:18%; bottom:-150px; background:rgba(45,113,150,.11); animation:consultAura 10s -4s ease-in-out infinite reverse; }
.consult-layout { grid-template-columns:.72fr 1.28fr; gap:42px; align-items:center; }
.consult-copy { position:relative; top:auto; }
.consult-copy.dmd-reveal { opacity:0; transform:translate3d(70px,0,0); clip-path:inset(0 0 0 100%); transition:opacity .9s ease,transform 1s cubic-bezier(.16,.86,.24,1),clip-path 1s cubic-bezier(.16,.86,.24,1); }
.consult-copy.dmd-reveal.is-visible { opacity:1; transform:none; clip-path:inset(0); }
.consult-copy .section-title { font-size:clamp(32px,3.8vw,53px); margin:12px 0 0; }
.consult-copy .body-copy { margin:16px 0 23px; font-size:13px; }
.consult-copy .cta-main { min-height:49px; background:linear-gradient(135deg,#0b756f,#07565b); box-shadow:0 17px 42px rgba(10,93,87,.17); }
.consult-grid { gap:10px; perspective:1200px; }
.consult-card {
  --consult-x:50%; --consult-y:50%; position:relative; isolation:isolate; overflow:hidden; min-height:190px; padding:20px;
  color:var(--ink); background:rgba(255,255,255,.46); border:1px solid rgba(7,27,34,.1); border-radius:21px;
  display:flex; flex-direction:column; opacity:0; transform:translate3d(-74px,14px,-30px) rotateY(-6deg) scale(.93);
  transition:opacity .75s ease,transform .8s cubic-bezier(.16,.86,.24,1),background .42s ease,color .35s ease,border-color .35s ease,box-shadow .42s ease;
}
.consult-card.dmd-reveal.is-visible { opacity:1; transform:translate3d(0,0,0) rotateY(0) scale(1); }
.consult-card:nth-child(2) { transition-delay:.11s; }.consult-card:nth-child(3) { transition-delay:.22s; }.consult-card:nth-child(4) { transition-delay:.33s; }
.consult-card::before { content:""; position:absolute; z-index:-2; inset:0; background:linear-gradient(125deg,#0b7f77,#064852); opacity:0; transition:opacity .42s ease; }
.consult-card::after { content:""; position:absolute; z-index:4; inset:8px; border:1px solid rgba(210,255,246,.0); border-radius:16px; clip-path:polygon(0 0,0 0,0 0); transition:border-color .4s ease,clip-path .7s cubic-bezier(.2,.85,.2,1); pointer-events:none; }
.consult-card-glow { position:absolute; z-index:-1; width:210px; height:210px; left:calc(var(--consult-x) - 105px); top:calc(var(--consult-y) - 105px); border-radius:50%; background:rgba(148,242,222,.34); filter:blur(35px); opacity:0; transition:opacity .35s ease; pointer-events:none; }
.consult-card[data-tone="video"]::before { background:linear-gradient(125deg,#0b7180,#123d58); }.consult-card[data-tone="video"] .consult-card-glow { background:rgba(127,225,242,.34); }
.consult-card[data-tone="phone"]::before { background:linear-gradient(125deg,#27547b,#102e49); }.consult-card[data-tone="phone"] .consult-card-glow { background:rgba(149,191,255,.33); }
.consult-card[data-tone="urgent"]::before { background:linear-gradient(125deg,#b94f43,#6f292d); }.consult-card[data-tone="urgent"] .consult-card-glow { background:rgba(255,190,169,.38); }
.consult-card:hover,.consult-card.is-touch-lit { color:#fff; border-color:rgba(210,255,246,.42); transform:translate3d(0,-8px,34px) rotateX(1.5deg) scale(1.018); box-shadow:0 24px 52px rgba(19,76,75,.22),0 0 38px rgba(64,187,166,.13); }
.consult-card:hover::before,.consult-card.is-touch-lit::before,.consult-card:hover .consult-card-glow,.consult-card.is-touch-lit .consult-card-glow { opacity:1; }
.consult-card:hover::after,.consult-card.is-touch-lit::after { border-color:rgba(210,255,246,.28); clip-path:polygon(0 0,100% 0,100% 100%,0 100%); }
.consult-card-top { position:relative; z-index:2; }.consult-card-number { font-size:8px; opacity:.38; }
.consult-card h3 { position:relative; z-index:2; margin:auto 0 7px; font-size:17px; transition:transform .42s ease,text-shadow .35s ease; }
.consult-card p { position:relative; z-index:2; margin:0; color:#607579; font-size:9px; line-height:1.75; transition:color .35s ease; }
.consult-card-action { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:12px; border-top:1px solid rgba(7,27,34,.11); font-size:9px; }
.consult-card:hover h3,.consult-card.is-touch-lit h3 { transform:translateX(-4px); text-shadow:0 0 16px rgba(226,255,249,.28); }
.consult-card:hover p,.consult-card.is-touch-lit p { color:rgba(255,255,255,.72); }.consult-card:hover .consult-card-action,.consult-card.is-touch-lit .consult-card-action { border-color:rgba(255,255,255,.2); }
.consult-card:hover .consult-card-top svg,.consult-card.is-touch-lit .consult-card-top svg { animation:consultIconCine .75s cubic-bezier(.2,1.4,.3,1); filter:drop-shadow(0 0 9px rgba(226,255,249,.8)); }
@keyframes consultAura { 0%,100% { opacity:.45; transform:translate3d(0,0,0) scale(.9); } 50% { opacity:1; transform:translate3d(36px,18px,0) scale(1.1); } }
@keyframes consultIconCine { 0% { transform:scale(.75) rotate(0); } 58% { transform:scale(1.32) rotate(-10deg); } 100% { transform:scale(1.08) rotate(-3deg); } }

/* Mobile-specific composition: same story, less height and touch-first light. */
@media (max-width:980px) {
  .hero,.hero-inner { min-height:1000px; }
  .hero-copy { padding-top:90px; top:-34px; }
  .portrait-stage { min-height:520px; }
  .doctor-portrait { height:545px; border-radius:58px; clip-path:inset(0 round 58px); }
}
@media (max-width:660px) {
  .hero,.hero-inner { min-height:930px; }
  .hero-inner { padding-top:102px; }
  .hero-copy { padding-top:44px; top:-24px; }
  .hero h1 { margin-top:23px; font-size:clamp(37px,11.2vw,51px); }
  .hero .hero-title-line-b,.hero .hero-title-line-c { margin-top:0; }
  .hero .hero-title-line-c { padding-bottom:8px; }
  .heartbeat-title::before { right:-12%; width:119%; }
  .sound-wave { width:32px; height:32px; right:auto; left:-4px; opacity:.42; }
  .hero-lead { margin-top:21px; line-height:1.9; }
  .hero-actions { margin-top:24px; }
  .hero-actions .cta-main,.hero-actions .cta-ghost { font-size:10px; }
  .hero-notes { margin-top:20px; }
  .portrait-stage { min-height:430px; }
  .doctor-portrait { width:112%; height:452px; right:-6%; border-radius:46px; clip-path:inset(0 round 46px); }
  .portrait-orbit { width:440px; right:calc(50% - 220px); bottom:-10px; }
  .portrait-orbit-secondary { width:355px; right:calc(50% - 177px); bottom:28px; }
  .mobile-orbit-hud { width:318px; right:calc(50% - 159px); bottom:48px; }
  .portrait-halo { height:370px; bottom:20px; }
  .metric-float.metric-cinematic { width:188px; min-height:120px; left:2px; bottom:55px; padding:17px 18px; border-radius:21px; }
  .metric-float.metric-cinematic strong { font-size:23px; }
  .metric-cinematic { backdrop-filter:blur(8px) saturate(1.2); }
  .cinematic-mobile-menu { overflow:hidden; }
  .cinematic-mobile-menu a { position:relative; padding:11px 14px; border:1px solid rgba(174,231,220,.08); border-radius:12px; background:linear-gradient(110deg,rgba(255,255,255,.045),transparent); transition:color .35s ease,background .35s ease,transform .35s ease; }
  .cinematic-mobile-menu a::after { content:""; position:absolute; right:12px; bottom:5px; width:0; height:7px; border-bottom:1px solid rgba(145,236,218,.75); border-radius:0 0 60% 60%; filter:drop-shadow(0 0 6px rgba(101,224,200,.5)); transition:width .5s ease; }
  .cinematic-mobile-menu a:active,.cinematic-mobile-menu a.is-active { color:#cffff4; background:rgba(102,215,194,.1); transform:translateX(-5px); }
  .cinematic-mobile-menu a:active::after,.cinematic-mobile-menu a.is-active::after { width:62%; }
  .consult-quick-inner { display:flex; min-height:0; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:10px 0; gap:8px; }
  .consult-quick-inner::-webkit-scrollbar,.consult-grid::-webkit-scrollbar { display:none; }
  .consult-quick-card { flex:0 0 78%; min-height:78px; scroll-snap-align:center; border:1px solid rgba(7,27,34,.1); border-radius:17px; padding:12px 15px; background:rgba(255,255,255,.3); }
  .consult-quick-card:first-child { border-right:1px solid rgba(7,27,34,.1); }
  .consult-quick-card:active { color:#fff; transform:scale(.985); }
  .consult-quick-card:active::before { opacity:1; }
  .care-path { padding:54px 0 50px; }
  .care-path-head .section-title { font-size:40px; }
  .care-path-visual { min-height:400px; }
  .doctor-note.note-reveal { inset:auto 12px 12px; width:calc(100% - 24px); padding:15px 16px 14px; background:linear-gradient(135deg,rgba(3,27,33,.46),rgba(7,64,65,.25)); }
  .doctor-note.note-reveal.is-visible { transform:translate3d(var(--path-note-x),0,44px) scale(1); }
  .care-path-content.dmd-reveal { padding:23px 18px 18px; }
  .care-path-content.dmd-reveal.is-visible { clip-path:inset(0 round 27px); }
  .cinematic-consult { padding:58px 0 52px; }
  .consult-layout { display:block; }
  .consult-copy.dmd-reveal { margin-bottom:25px; transform:translate3d(46px,0,0); }
  .consult-copy .section-title { font-size:36px; }
  .consult-copy .body-copy { max-width:92%; font-size:11px; line-height:1.9; }
  .consult-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:9px; padding:5px 2px 18px; }
  .consult-card { flex:0 0 84%; min-height:205px; scroll-snap-align:center; transform:translate3d(-46px,10px,-20px) scale(.95); }
  .consult-card.dmd-reveal.is-visible { transform:none; }
  .consult-card:active { transform:scale(.985); }
}
/* Admin-controlled Hero title scale and alignment. */
.hero .heartbeat-title {
  font-size:var(--dmd-hero-title-desktop,82px);
  text-align:var(--dmd-hero-align-desktop,right);
}
@media (max-width:980px) and (min-width:661px) {
  .hero .heartbeat-title { font-size:min(var(--dmd-hero-title-desktop,82px),64px); }
}
@media (max-width:660px) {
  .hero .heartbeat-title {
    font-size:var(--dmd-hero-title-mobile,51px);
    text-align:var(--dmd-hero-align-mobile,right);
  }
}

/* Soft synchronized Hero title reveal and editable cinematic tempo. */
.hero .hero-title-line-a,
.hero .hero-title-line-b,
.hero .hero-title-line-c {
  animation:heroTitleSoftReveal var(--dmd-hero-title-entry,1.65s) var(--dmd-hero-title-delay,.28s) cubic-bezier(.2,.72,.24,1) forwards;
}
.hero .hero-specialty { font-family:var(--dmd-hero-specialty-font,var(--dmd-heading-font,"Estedad",sans-serif)); }
.hero .heartbeat-title::before,
.hero .portrait-orbit,
.hero .hero-glow { animation-duration:var(--dmd-hero-ambient,9s); }
.hero .ecg-line path { animation-duration:var(--dmd-hero-ecg,6.8s); }
.hero .cine-light { animation-duration:var(--dmd-hero-cinema,12s); }
@keyframes heroTitleSoftReveal {
  0% { opacity:0; transform:translate3d(0,12px,-18px) scale(.99); filter:blur(15px) brightness(.72); }
  68% { opacity:.86; filter:blur(2.5px) brightness(.96); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1); filter:blur(0) brightness(1); }
}

@media (prefers-reduced-motion:reduce) {
  .hero .hero-title-line,.metric-cinematic span,.metric-cinematic strong,.consult-card,.doctor-note.note-reveal,.care-path-content.dmd-reveal { opacity:1 !important; clip-path:none !important; transform:none !important; filter:none !important; }
}
