:root{
  --navy:#0C447C;--navy-dark:#042C53;--green:#1D9E75;--green-dark:#0F6E56;
  --blue:#185FA5;--blue-light:#E6F1FB;--blue-mid:#85B7EB;
  --bg:#e5e3dc;--surface:#fff;--surface-2:#f5f5f3;
  --text:#1a1a18;--text-2:#5f5e5a;--text-3:#888780;--border:rgba(0,0,0,.12);
  /* urgent = matches the app's --color-urgent token (#8a4a3a) so the site and product never drift */
  --urgent:#8a4a3a;--urgent-dark:#63381a;--urgent-soft:#e9cbc2;--urgent-bg:#fceeea;
  --danger:#A32D2D;
  --amber-bg:#FAEEDA;--amber-text:#854F0B;
  --radius:8px;--radius-lg:12px;
  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;visibility:hidden}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
section{scroll-margin-top:96px}

/* nav */
.sticky-header{position:sticky;top:0;z-index:50}
.nav{background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(8px);border-bottom:.5px solid var(--border)}
.nav-in{display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:0 auto;padding:12px 22px}
.logo{font-size:21px;font-weight:700;color:var(--navy);letter-spacing:-.02em;text-decoration:none}
.logo em{color:var(--green);font-style:normal}
.nav-links{display:flex;align-items:center;gap:20px}
.nav-links a{font-size:14px;text-decoration:none}
.nav-links a:not(.btn){color:var(--text-2)}
.nav-links a:not(.btn):hover{color:var(--navy)}
.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:14px;font-weight:500;border-radius:22px;padding:9px 18px;cursor:pointer;text-decoration:none;border:1px solid transparent;white-space:nowrap}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-primary:hover{background:#13518f}
.btn-ghost{background:transparent;color:var(--blue);border-color:rgba(0,0,0,.25)}
.btn-ghost:hover{border-color:var(--blue)}
.btn-green{background:var(--green);color:#fff;border-color:var(--green)}
.btn-green:hover{background:#178a66}
.nav .btn{padding:8px 16px}
.nav-toggle{display:none;background:transparent;border:none;color:var(--navy);font-size:26px;line-height:1;padding:4px;cursor:pointer}

/* hero */
.hero{display:grid;grid-template-columns:1.2fr .9fr;gap:36px;align-items:center;padding:54px 0 46px}
.eyebrow{display:inline-block;font-size:13px;padding:5px 12px;border-radius:14px;background:var(--blue-light);color:var(--navy);font-weight:500}
h1{font-size:42px;line-height:1.12;font-weight:700;color:var(--navy);letter-spacing:-.025em;margin:16px 0 0}
.lede{font-size:17px;color:var(--text-2);margin:16px 0 22px;max-width:30em}
.signup{display:flex;gap:10px;max-width:430px}
.signup input{flex:1;min-width:0;padding:13px 14px;font-family:var(--font);font-size:15px;background:#fff;border:.5px solid rgba(0,0,0,.28);border-radius:var(--radius)}
.signup input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(24,95,165,.15)}
.signup .btn{padding:13px 20px}
.form-note{font-size:13px;color:var(--green-dark);margin-top:10px;min-height:20px}
.demo-link{display:inline-flex;align-items:center;gap:5px;font-size:14px;color:var(--blue);text-decoration:none;margin-top:14px;font-weight:500}
.demo-link:hover{text-decoration:underline}
.trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;font-size:13px;color:var(--text-3)}
.trust i{color:var(--green);vertical-align:-2px;margin-right:4px}

/* hero phone (mirrors the live app feed) */
.phone{justify-self:center;width:252px;border:3px solid rgba(0,0,0,.32);border-radius:32px;overflow:hidden;background:var(--bg);box-shadow:0 26px 60px rgba(0,0,0,.18)}
.ph-bar{background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:12px 14px}
.ph-logo{font-size:17px;font-weight:500;color:#fff;letter-spacing:-.02em}
.ph-logo em{color:var(--green);font-style:normal}
.ph-bell{position:relative;color:#fff;font-size:19px;line-height:1}
.ph-badge{position:absolute;top:-6px;right:-7px;background:var(--danger);color:#fff;font-size:9px;font-weight:500;border-radius:9px;padding:1px 4px}
.ph-body{padding:10px}
.ph-hero{background:var(--navy);border-radius:10px;padding:13px 14px;margin-bottom:9px}
.ph-hero-h{font-size:16px;font-weight:500;color:#fff}
.ph-hero-s{font-size:11px;color:var(--blue-mid);margin-top:3px}
.ph-row{background:#fff;border:.5px solid var(--border);border-radius:9px;padding:8px 10px;display:flex;align-items:center;gap:9px;margin-bottom:8px}
.ph-oncall-ic{width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.ph-row-t{font-size:12px;font-weight:500;color:var(--text)}
.ph-row-ic{color:var(--text-2);font-size:15px}
.ph-row-chev{margin-left:auto;color:var(--text-3);font-size:15px}
.ph-pill{margin-left:auto;display:flex;align-items:center;gap:4px;background:#E1F5EE;color:var(--green-dark);font-size:10px;font-weight:500;padding:3px 8px;border-radius:11px}
.ph-urgent{display:flex;border:.5px solid var(--border);border-radius:9px;overflow:hidden;margin-bottom:9px;background:#fff}
.ph-strip{width:26px;background:var(--urgent);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 0}
.ph-strip i{font-size:13px}
.ph-strip span:first-of-type{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;font-weight:500;letter-spacing:.08em}
.ph-cardbody{flex:1;padding:10px 11px}
.ph-card{background:#fff;border:.5px solid var(--border);border-radius:9px;padding:10px 11px}
.ph-cardhead{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.ph-spec{font-size:13px;font-weight:500;color:var(--text)}
.ph-status{font-size:9px;font-weight:500;padding:2px 7px;border-radius:9px;white-space:nowrap;display:flex;align-items:center;gap:3px}
.ph-status.open{background:#E1F5EE;color:var(--green-dark)}
.ph-status.applied{background:var(--blue-light);color:var(--navy)}
.ph-date{font-size:12px;font-weight:500;color:var(--blue);margin-top:5px}
.ph-hosp{font-size:11px;color:var(--text-2);margin-top:2px}
.ph-surg{font-size:11px;color:var(--text-3);margin-top:1px}
.ph-nav{background:#fff;border-top:.5px solid var(--border);display:flex;padding:8px 0}
.ph-navitem{flex:1;text-align:center;color:var(--text-3)}
.ph-navitem i{font-size:17px}
.ph-navitem span{display:block;font-size:9px;margin-top:2px}
.ph-navitem.active{color:var(--blue)}
.ph-navitem.active span{font-weight:500}

/* generic section heading */
.eyrow{text-align:center;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);margin-bottom:22px}
.band{background:#fff;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:46px 0}
.step{text-align:center}
.step-ic{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:24px}
.ic-blue{background:var(--blue-light);color:var(--blue)}
.ic-green{background:#E1F5EE;color:var(--green-dark)}
.step h3{font-size:17px;font-weight:500;color:var(--text)}
.step p{font-size:14px;color:var(--text-2);margin-top:5px}

.for-you-intro{max-width:640px;margin:0 auto 24px;text-align:center;font-size:15px;color:var(--text-2)}

/* two-sided */
.sided{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:48px 0 8px}
.scard{background:#fff;border:.5px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:22px 24px}
.scard.surg{border-top:3px solid var(--navy)}
.scard.asst{border-top:3px solid var(--green)}
.scard h3{font-size:18px;font-weight:500;margin-bottom:12px}
.scard.surg h3{color:var(--navy)}
.scard.asst h3{color:var(--green-dark)}
.scard h3 i{vertical-align:-2px;margin-right:6px}
.scard ul{list-style:none}
.scard li{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--text-2);padding:7px 0;border-top:.5px solid var(--border)}
.scard li:first-child{border-top:none}
.scard li i{color:var(--green);font-size:16px;flex-shrink:0;margin-top:2px}

/* features */
.features{padding:48px 0 56px}
.ai-feature{display:flex;align-items:center;gap:18px;background:var(--urgent);border:1px solid var(--urgent-dark);border-radius:var(--radius-lg);padding:22px 24px;margin-bottom:16px}
.ai-ic{width:58px;height:58px;border-radius:50%;background:var(--urgent-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:28px;color:#fff}
.ai-eyebrow{font-size:12px;color:#FAC775;font-weight:500;letter-spacing:.05em}
.ai-feature h3{font-size:20px;font-weight:500;color:#fff;margin:3px 0 4px}
.ai-feature p{font-size:14px;color:var(--urgent-soft);max-width:60em}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fcard{background:#fff;border:.5px solid var(--border);border-radius:var(--radius-lg);padding:18px 18px}
.fcard i{font-size:24px}
.fcard h4{font-size:15px;font-weight:500;margin:8px 0 5px}
.fcard p{font-size:13px;color:var(--text-2);line-height:1.5}

/* cta band */
.cta{background:var(--navy);color:#fff;text-align:center;padding:54px 22px}
.cta h2{font-size:26px;font-weight:500;color:#fff}
.cta p{font-size:15px;color:var(--blue-mid);margin:10px 0 22px}
.cta .signup{margin:0 auto}
.cta .signup input{border:none}
.cta .form-note{color:#9FE1CB}

/* under-construction banner */
.dev-banner{background:var(--amber-bg);border-bottom:.5px solid #e8d5a0;text-align:center;padding:9px 22px;font-size:13px;color:var(--amber-text);font-weight:500}
.dev-banner i{vertical-align:-2px;margin-right:5px}

/* footer */
.footer{background:#fff;border-top:.5px solid var(--border)}
.footer-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;max-width:1080px;margin:0 auto;padding:20px 22px}
.footer .logo{font-size:17px}
.foot-note{font-size:12px;color:var(--text-3)}
#visitor-count{font-size:12px;color:var(--text-3)}

@media(max-width:820px){
  h1{font-size:32px}
  .hero{grid-template-columns:1fr;gap:30px;padding:34px 0}
  .phone{display:none}
  .steps{grid-template-columns:1fr;gap:28px;padding:38px 0}
  .sided{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .ai-feature{flex-direction:column;text-align:center}

  /* nav → hamburger menu */
  .nav-toggle{display:inline-flex;align-items:center}
  .nav-in{flex-wrap:wrap}
  .nav-links{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:2px;margin-top:6px;padding-bottom:8px}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 6px;font-size:15px}
  .nav-links a:not(.btn){border-bottom:.5px solid var(--border)}
  .nav-links .btn{width:100%;justify-content:center;border-radius:var(--radius);margin-top:6px}
}
@media(max-width:480px){
  .fgrid{grid-template-columns:1fr}
  .signup{flex-direction:column}
  .signup .btn{justify-content:center}
}

/* page hero (sub-pages) */
.page-hero{background:var(--navy);color:#fff;padding:46px 0 40px}
.page-hero .wrap{max-width:1080px}
.page-hero .eyebrow{background:rgba(255,255,255,.14);color:#dbe9f8}
.page-hero h1{color:#fff;font-size:36px;margin-top:14px}
.page-hero p{color:var(--blue-mid);font-size:17px;margin-top:12px;max-width:42em}

/* prose (about, privacy, terms) */
.prose{max-width:760px;margin:0 auto;padding:46px 0}
.prose h2{font-size:22px;color:var(--navy);font-weight:600;margin:30px 0 8px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:17px;color:var(--text);font-weight:600;margin:20px 0 6px}
.prose p{font-size:15px;color:var(--text-2);margin:10px 0}
.prose ul{margin:10px 0 10px 22px}
.prose li{font-size:15px;color:var(--text-2);margin:6px 0}
.prose a{color:var(--blue);text-decoration:underline}
.muted{color:var(--text-3);font-size:13px}

/* draft note banner (legal pages) */
.draft-note{display:flex;gap:9px;align-items:flex-start;background:var(--amber-bg);border:.5px solid #e8d5a0;border-radius:var(--radius);padding:12px 14px;margin:0 auto 8px;max-width:760px;font-size:13px;color:var(--amber-text)}
.draft-note i{margin-top:2px;flex-shrink:0}

/* faq accordion */
.faq{max-width:760px;margin:0 auto;padding:40px 0}
.faq details{background:#fff;border:.5px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:16px 18px;font-size:15px;font-weight:500;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:20px;color:var(--blue);font-weight:400;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .faq-a{padding:0 18px 16px;font-size:14px;color:var(--text-2);line-height:1.6}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto;padding:44px 0;align-items:start}
.contact-card{background:#fff;border:.5px solid var(--border);border-radius:var(--radius-lg);padding:24px}
.contact-card h2{font-size:18px;color:var(--navy);font-weight:600;margin-bottom:8px}
.contact-card p{font-size:14px;color:var(--text-2);margin-bottom:12px}
.contact-card a.email{font-size:16px;color:var(--blue);font-weight:500;text-decoration:none}
.field{display:block;margin-bottom:12px}
.field label{display:block;font-size:13px;color:var(--text-2);margin-bottom:5px}
.field input,.field textarea{width:100%;padding:11px 12px;font-family:var(--font);font-size:15px;background:#fff;border:.5px solid rgba(0,0,0,.28);border-radius:var(--radius)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(24,95,165,.15)}
.field textarea{min-height:120px;resize:vertical}

/* feature detail rows */
.feat-list{max-width:900px;margin:0 auto;padding:30px 0}
.feat-row{display:flex;gap:18px;background:#fff;border:.5px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:14px}
.feat-row .feat-ic{width:48px;height:48px;border-radius:50%;background:var(--blue-light);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.feat-row.flag{background:var(--urgent);border-color:var(--urgent-dark)}
.feat-row.flag .feat-ic{background:var(--urgent-dark);color:#fff}
.feat-row.flag h3{color:#fff}
.feat-row.flag p{color:var(--urgent-soft)}
.feat-row h3{font-size:17px;font-weight:600;color:var(--text);margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.feat-row p{font-size:14px;color:var(--text-2)}
.soon-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.03em;padding:2px 9px;border-radius:10px;background:var(--amber-bg);color:var(--amber-text)}
.feat-row.flag .soon-tag{background:#FAC775;color:#5a3b06}

/* three-column footer */
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;padding:36px 22px 24px}
.footer-brand .logo{font-size:19px}
.footer-tag{font-size:13px;color:var(--text-2);margin-top:8px;max-width:22em}
.footer-loc{font-size:13px;color:var(--text-3);margin-top:6px;display:flex;align-items:center;gap:5px}
.footer-col h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:10px}
.footer-col a{display:block;font-size:14px;color:var(--text-2);text-decoration:none;padding:4px 0}
.footer-col a:hover{color:var(--navy)}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-top:.5px solid var(--border);padding:16px 22px}

@media(max-width:820px){
  .page-hero h1{font-size:28px}
  .contact-grid{grid-template-columns:1fr}
  .feat-row{flex-direction:column}
  .footer-cols{grid-template-columns:1fr 1fr;gap:20px}
}
@media(max-width:480px){
  .footer-cols{grid-template-columns:1fr}
}

/* password gate */
#gate-screen{position:fixed;inset:0;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;z-index:9999;padding:22px}
.gate-card{background:#fff;color:var(--text);border-radius:var(--radius-lg);padding:32px 28px;max-width:340px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.gate-card .logo{font-size:22px;display:block;margin-bottom:14px}
.gate-card p{font-size:14px;color:var(--text-2);margin-bottom:16px}
.gate-card form{display:flex;flex-direction:column;gap:10px}
.gate-card input{padding:12px 14px;font-family:var(--font);font-size:15px;border:.5px solid rgba(0,0,0,.28);border-radius:var(--radius)}
.gate-error{color:var(--danger);font-size:13px;margin-top:10px}
