:root{
  --blue:#0264ff;
  --blue2:#004bd4;
  --hero:#075fe8;
  --hero-dark:#073bd0;
  --ink:#071527;
  --slate:#536174;
  --line:#e6ecf5;
  --soft:#f5f8fd;
  --green:#0bbf70;
  --shadow:0 22px 70px rgba(2,40,120,.18);
  --radius:8px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1530px;margin:0 auto;padding:0 32px}
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-row{height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:inline-flex;align-items:center;gap:14px;font-weight:850;font-size:24px;color:var(--ink)}
.logo:hover{text-decoration:none}
.logo-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#0b63ff,#6aa3ff);box-shadow:0 14px 34px rgba(2,100,255,.34)}
.nav-links{display:flex;align-items:center;gap:34px;font-size:19px}
.nav-links a{color:#045dff;font-weight:500}
.nav-cta{display:flex;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:13px 24px;font-weight:800;border:1px solid var(--line);cursor:pointer;min-height:58px;font-size:18px;white-space:nowrap}
.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 18px 40px rgba(2,100,255,.26)}
.btn-primary:hover{background:var(--blue2);text-decoration:none}
.btn-ghost{background:#fff;color:var(--ink)}
.hero{position:relative;min-height:calc(100svh - 92px);background:radial-gradient(circle at 72% 18%,rgba(117,143,255,.34),transparent 34%),linear-gradient(135deg,#0645d8 0%,#0264ff 42%,#2442db 100%);color:#fff;padding:116px 0 70px;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto -18% -30% 42%;height:520px;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 60%);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(500px,.78fr);gap:74px;align-items:center}
.hero-copy{max-width:720px}
.badge,.eyebrow{font-size:13px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.badge{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.14);color:#eaf1ff;border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.status-badge{font-size:18px;letter-spacing:0;text-transform:none;font-weight:700}
.status-dot{width:12px;height:12px;border-radius:50%;background:#20df82;box-shadow:0 0 0 6px rgba(32,223,130,.12)}
.hero h1{font-size:clamp(54px,4.4vw,86px);line-height:1.06;margin:36px 0 34px;letter-spacing:0;font-weight:900}
.hero-title .hero-static{display:block;color:#fff}
.rotating-line{display:block;min-height:1.08em;background:linear-gradient(100deg,#8dbbff 0%,#dcb1ff 72%);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}
.rotating-text{display:inline}
.cursor{display:inline-block;width:.11em;height:.82em;margin-left:.06em;transform:translateY(.08em);background:#dcb1ff;animation:blink .86s steps(1) infinite}
.hero .lede{font-size:28px;line-height:1.42;color:#d7e5ff;max-width:820px;margin:0}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:42px}
.hero .btn-ghost{background:transparent;border-color:rgba(255,255,255,.48);color:#fff;box-shadow:none}
.hero .btn-ghost:hover{background:rgba(255,255,255,.1);text-decoration:none}
.trust{display:flex;gap:42px;flex-wrap:wrap;margin-top:42px;color:#bfd2ff;font-size:18px}
.trust span{display:inline-flex;align-items:center;gap:10px}
.trust span::before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#13c579;color:#dfffee;font-weight:900;font-size:14px}
.hero-visual{position:relative;min-height:640px;display:grid;place-items:center;transform:translateY(-70px)}
.phone-shell{position:relative;z-index:3;width:min(410px,100%);height:650px;border-radius:58px;background:#071b30;padding:22px;box-shadow:0 38px 90px rgba(0,24,90,.42);animation:phoneFloat 6s ease-in-out infinite}
.phone-screen{position:relative;height:100%;overflow:hidden;border-radius:40px;background:#f5f7fb;color:var(--ink)}
.phone-notch{position:absolute;z-index:3;top:22px;left:50%;transform:translateX(-50%);width:160px;height:34px;background:#020914;border-radius:0 0 20px 20px}
.phone-header{padding:62px 22px 18px;background:#fff;border-bottom:1px solid #dde6f1}
.phone-header b{display:block;font-size:24px;line-height:1.1}
.phone-header span{display:block;margin-top:8px;color:#47566d;font-size:16px}
.message-list{display:grid}
.message-row{position:relative;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:start;min-height:96px;padding:20px 18px;border-bottom:1px solid #e2e8f2;background:#f7f9fd;animation:messageGlow 7s ease-in-out infinite}
.message-row:nth-child(2){animation-delay:.8s}
.message-row:nth-child(3){animation-delay:1.6s}
.message-row:nth-child(4){animation-delay:2.4s}
.message-row:nth-child(5){animation-delay:3.2s}
.message-row b{display:block;font-size:18px;line-height:1.18}
.message-row span:not(.avatar){display:block;margin-top:4px;color:#46546a;font-size:16px;line-height:1.35}
.message-row time{color:#8391a8;font-size:14px}
.message-row small{display:block;color:#21334e;font-size:16px}
.message-row em,.message-row strong{position:absolute;right:18px;bottom:24px;display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;padding:0 9px;border-radius:999px;background:#0aa05c;color:#fff;font-style:normal;font-weight:900;font-size:12px}
.message-row em.live{background:#0868ff}
.message-row strong{min-width:28px;background:#7586a1}
.avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:900;color:#075dff;background:#eaf2ff}
.avatar-green{background:#e8fbf2;color:#1c7451}
.avatar-gold{background:#fff2d9;color:#c46e00}
.avatar-purple{background:#f2e5ff;color:#803ce5}
.avatar-gray{background:#edf3f8;color:#5e6c7e}
.avatar-gray::before{content:"";width:16px;height:16px;border-radius:50%;border:3px solid #536174;box-shadow:10px 0 0 -3px #536174}
.floating-card{position:absolute;z-index:2;display:flex;align-items:center;gap:14px;min-width:300px;border-radius:16px;background:#fff;color:var(--ink);padding:18px 20px;box-shadow:0 22px 60px rgba(0,31,112,.24);animation:cardDrift 5.5s ease-in-out infinite}
.floating-card b{display:block;font-size:18px;line-height:1.15}
.floating-card span{display:block;color:#46546a;font-size:14px;margin-top:4px}
.call-card{left:-210px;top:82px}
.call-card{z-index:2}
.telehealth-card{right:-78px;bottom:86px;min-width:280px;animation-delay:1.2s;z-index:4}
.call-icon{width:44px;height:44px;border-radius:12px;background:#0aa05c;display:grid;place-items:center}
.call-icon::before{content:"";width:18px;height:18px;border:3px solid #07381f;border-top-color:transparent;border-left-color:transparent;border-radius:50%;transform:rotate(45deg)}
.preview-pill{position:absolute;left:24px;bottom:22px;z-index:3;display:inline-flex;align-items:center;gap:12px;background:#061527;color:#fff;border-radius:10px;padding:14px 20px;font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 18px 40px rgba(0,20,80,.24)}
.preview-pill span{width:11px;height:11px;border-radius:50%;background:#21d58b}
.subpage h1{font-size:clamp(42px,4.6vw,72px);line-height:1.08;margin:12px 0 18px;letter-spacing:0;font-weight:900}
.section{padding:84px 0}
.section-head{max-width:760px;margin-bottom:36px}
.section-head h2,.section h2{font-size:clamp(30px,3.2vw,44px);line-height:1.12;margin:8px 0 12px;letter-spacing:0}
.section-head p,.section p,.card p,.panel p,li{color:var(--slate);font-size:17px}
.services{background:var(--soft)}
.grid{display:grid;gap:20px}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.card,.panel,.contact-form,details{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px rgba(2,40,120,.05)}
.card h2,.card h3{margin:0 0 8px}
.card ul,.panel ul{padding-left:20px}
.split-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}
.subpage{background:linear-gradient(180deg,#fff,#f7faff)}
.narrow{max-width:780px}
.dark{color:var(--ink)}
.contact-form{display:grid;gap:16px}
.contact-form label{display:grid;gap:7px;font-weight:750;color:var(--ink)}
input,select,textarea{width:100%;border:1px solid #cad6e8;border-radius:var(--radius);padding:12px 13px;font:inherit;background:#fff;color:var(--ink)}
textarea{resize:vertical}
.hidden-field{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}
.form-status{margin:0;font-size:14px}
.contact-band{background:#061527;color:#fff}
.contact-band p{color:#c6d7f5}
.footer{border-top:1px solid var(--line);padding:42px 0;color:var(--slate)}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:28px}
.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:10px 26px}
.footer-logo{margin-bottom:10px}
.steps{display:grid;gap:14px;padding-left:22px}
details{margin:14px 0}
summary{font-weight:800;cursor:pointer}
details p{margin-bottom:0}
@keyframes phoneFloat{0%,100%{transform:translateY(0) rotate(.2deg)}50%{transform:translateY(-16px) rotate(-.3deg)}}
@keyframes cardDrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes messageGlow{0%,100%{background:#f7f9fd}50%{background:#fff}}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
@media (max-width:1100px){
  .nav-links{gap:18px;font-size:16px}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero{padding-top:72px}
  .hero-copy{max-width:820px}
  .hero-visual{min-height:620px}
  .call-card{left:8%}
  .telehealth-card{right:6%}
}
@media (max-width:900px){
  .nav-links{display:none}
  .split-grid,.contact-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .wrap{padding:0 18px}
  .nav-row{height:auto;min-height:72px}
  .logo{font-size:21px}
  .logo-mark{width:34px;height:34px}
  .nav-cta .btn-ghost{display:none}
  .btn{min-height:48px;padding:10px 15px;font-size:16px}
  .hero{min-height:auto;padding:54px 0 52px}
  .status-badge{font-size:14px}
  .hero h1{font-size:48px;margin:28px 0 26px}
  .hero .lede{font-size:20px}
  .trust{gap:14px;margin-top:28px;font-size:15px}
  .trust span{width:100%}
  .hero-visual{min-height:560px;transform:scale(.9);transform-origin:top center;margin-bottom:-70px}
  .phone-shell{height:620px}
  .floating-card{min-width:250px;padding:14px 16px}
  .call-card{left:-2px;top:62px}
  .telehealth-card{right:-18px;bottom:72px;min-width:238px}
  .preview-pill{display:none}
  .cards{grid-template-columns:1fr}
  .section{padding:62px 0}
}
@media (max-width:430px){
  .hero h1{font-size:44px}
  .hero-visual{transform:scale(.82);margin-left:-12px;margin-right:-12px;margin-bottom:-112px}
  .phone-shell{width:390px}
  .call-card{left:18px}
  .telehealth-card{right:18px}
}