/* TeleScriptRx — the one-screen site (2026-10-24, NavX style).
   Loaded by index.html only, AFTER site.css, built from site.css tokens.
   The whole site is one viewport: header, the network map (drawn by home.js),
   a mono bottom bar. Pricing / Pharmacies / About / FAQ open IN PLACE of the
   headline (screen.js) while the map keeps running. On phones it stacks and
   scrolls, like NavX. */

/* ---------- frame: exactly one screen on desktop ---------- */
.screen{background:var(--navy)}
.sc{position:relative;height:100vh;height:100svh;min-height:600px;display:flex;flex-direction:column;
    background:var(--navy);color:#fff;overflow:hidden}
.sc .nav{background:transparent;position:relative;z-index:5}
.sc .nav .row{min-height:80px;flex-wrap:nowrap}
.sc-links{display:flex;gap:clamp(14px,2.6vw,34px)}
.sc .nav .sc-links a{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--on-navy-2);text-decoration:none;padding:10px 0;position:relative;transition:color .15s}
.sc .nav .sc-links a:hover,.sc .nav .sc-links a[aria-current]{color:#fff;border:0;padding-bottom:10px}
.sc .nav .sc-links a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--green)}
.sc-ghost{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--navy-line);
  border-radius:3px;color:var(--on-navy-3);text-decoration:none;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;transition:border-color .15s,color .15s}
.sc-ghost:hover{color:#fff;border-color:var(--on-navy-2)}
.sc-ghost:focus-visible,.sc-links a:focus-visible{outline:2px solid var(--green);outline-offset:3px}

.sc-main{position:relative;flex:1;min-height:0;display:flex}
.sc-stage{position:relative;flex:1;min-height:0;display:flex;align-items:stretch}
.sc-wrap{position:relative;z-index:3;width:100%;display:flex;align-items:center}
.sc-left{position:relative;width:min(560px,46%);height:100%;display:flex;align-items:center;min-height:0}

/* map, shade, pulse line and readout (map is drawn by home.js) */
/* map + shade span the full window width, not just the padded content box */
.hc-map,.hc-shade{position:absolute;top:0;bottom:0;left:calc(-1 * clamp(20px,5vw,100px));right:calc(-1 * clamp(20px,5vw,100px));pointer-events:none}
.hc-map svg{position:absolute;right:max(16px,calc((100vw - 1240px)/2));top:50%;transform:translateY(-52%);
  height:min(94%,660px);width:auto;max-width:56vw;overflow:visible}
.hc-shade{
  background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 30%,rgba(11,27,46,.55) 46%,rgba(11,27,46,0) 60%)}
.hc-ecg{position:absolute;left:calc(-1 * clamp(20px,5vw,100px));right:calc(-1 * clamp(20px,5vw,100px));bottom:6px;height:56px;pointer-events:none;opacity:.55}
.hc-ecg svg{display:block;width:100%;height:100%}
.hc-ecg #hc-ecg-trace{animation:hc-ecg 4.2s linear infinite}
@keyframes hc-ecg{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}
.hc-readout{position:absolute;left:52%;bottom:14px;z-index:2;display:flex;flex-direction:column;gap:6px;
  padding:8px 12px 8px 0;background:rgba(11,27,46,.7);font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--on-navy-2)}
.hc-readout .st{color:var(--green)}
.hc-readout i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:0}
.hc-readout .k-ph{width:9px;height:9px;border:1px solid #4E7A9C;vertical-align:-1px}
.hc-readout .k-in{background:var(--on-navy-2)}
.hc-readout .k-out{background:var(--gold)}
.hc-readout .gap{margin-left:18px}
.sw{animation:hc-sw .35s ease}
@keyframes hc-sw{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}

/* ---------- headline column ---------- */
.sc-copy{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(16px,3vh,26px);
  transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.sc-copy .eyebrow{margin:0;display:flex;align-items:center;gap:9px}
.hc-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;animation:hc-blink 2.4s ease-in-out infinite}
@keyframes hc-blink{0%,100%{opacity:1}50%{opacity:.25}}
.sc-copy h1{font-size:clamp(30px,min(4.1vw,6.6vh),56px);line-height:1.04;letter-spacing:-.025em;font-weight:600;color:#fff}
.sc-copy h1 em{font-style:normal;color:var(--gold)}

/* five steps — also the /#how anchor */
.hc-steps{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
          width:100%;max-width:500px;position:relative}
.hc-steps::before{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:var(--navy-line)}
.hc-steps li{position:relative;padding-top:18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;
             text-transform:uppercase;color:var(--on-navy-2);transition:color .3s}
.hc-steps li::before{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;
  background:var(--navy);border:1px solid var(--navy-line);transition:background .3s,border-color .3s,box-shadow .3s}
.hc-steps li.done::before{background:var(--on-navy-2);border-color:var(--on-navy-2)}
.hc-steps li.on{color:#fff}
.hc-steps li.on::before{background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px rgba(37,191,127,.2)}
.sc-mlinks{display:none;flex-wrap:wrap;gap:8px}
.sc-mlinks a{border:1px solid var(--navy-line);border-radius:3px;padding:10px 12px;color:var(--on-navy-3);text-decoration:none;
  font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}

/* entrance */
.rise{animation:hc-rise .9s cubic-bezier(.2,.7,.2,1) both}
.rise.d1{animation-delay:.06s}.rise.d2{animation-delay:.14s}.rise.d3{animation-delay:.22s}.rise.d4{animation-delay:.3s}
@keyframes hc-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- panes: open in place of the headline ---------- */
.sc-panes{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);max-height:100%;overflow:auto;
  padding:6px 18px 6px 2px;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;
  scrollbar-width:thin;scrollbar-color:var(--navy-line) transparent}
.sc.pane-open .sc-panes{opacity:1;visibility:visible}
.sc.pane-open .sc-copy{opacity:0;transform:translateX(-14px);pointer-events:none;visibility:hidden;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s .35s}
.sc-pane{display:flex;flex-direction:column;gap:16px;max-width:520px;animation:sc-in .4s cubic-bezier(.2,.8,.2,1)}
.sc-pane[hidden]{display:none}
@keyframes sc-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.sc-kicker{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#fff}
.sc-h{margin:0;font-family:var(--sans);font-size:clamp(22px,2.4vw,28px);line-height:1.2;letter-spacing:-.01em;color:#fff;font-weight:600}
.sc-small{margin:6px 0 0;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-navy-2)}
.sc-note{margin:0;font-size:13.5px;line-height:1.5;color:var(--on-navy-2)}
.sc-back{align-self:flex-start;border:0;background:none;color:var(--on-navy-2);font-family:var(--mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding:8px 0}
.sc-back:hover{color:#fff}
.sc-toggle{align-self:flex-start;display:inline-flex;gap:4px;padding:3px;border:1px solid var(--navy-line);border-radius:999px}
.sc-toggle button{border:0;background:transparent;border-radius:999px;padding:7px 14px;color:var(--on-navy-3);font:600 13px var(--sans);cursor:pointer}
.sc-toggle button.on{background:var(--green);color:#06251A}
.sc-amt{font-family:var(--sans);font-weight:700;font-size:clamp(54px,7vw,84px);line-height:.95;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;color:#fff;transition:opacity .18s}
.sc-list details{border-top:1px solid var(--navy-line)}
.sc-list details:last-child{border-bottom:1px solid var(--navy-line)}
.sc-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:14px;padding:12px 0;
  font:600 15px var(--sans);color:#fff}
.sc-list summary::-webkit-details-marker{display:none}
.sc-list summary::after{content:"+";color:var(--green);font-family:var(--mono)}
.sc-list details[open] summary::after{content:"–"}
.sc-list summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.sc-list details p{margin:-2px 0 12px;font-size:14px;line-height:1.55;color:var(--on-navy)}
.sc-pane a{color:var(--green)}
.sc-faq[hidden]{display:none}

/* partner flow (NavX request-access pattern; the form is partners.js) */
.sc-step{display:none;flex-direction:column;gap:16px}
.sc-step.on{display:flex;animation:sc-in .32s cubic-bezier(.2,.8,.2,1)}
.sc-roles{display:flex;flex-direction:column;gap:8px}
.sc-role{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:0 18px;
  background:transparent;border:1px solid #2A4A66;color:#E7EEF4;font-family:var(--mono);font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;border-radius:3px;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}
.sc-role:hover{border-color:var(--green);background:rgba(37,191,127,.06)}
.sc-role:active{transform:scale(.98)}
.sc-role span{color:var(--green)}
.sc-link{font-size:14px}
.sc-form-card{background:transparent}
.sc-form{gap:14px}
.sc-fld{display:flex;flex-direction:column;gap:6px}
.sc-fld span{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-navy-2)}
.sc-fld input,.sc-fld textarea{min-height:40px;border:0;border-bottom:1px solid #3C6C8C;background:transparent;color:#fff;
  font:16px var(--serif);padding:6px 0;border-radius:0;width:100%}
.sc-fld textarea{resize:vertical}
.sc-fld input:focus,.sc-fld textarea:focus{outline:none;border-bottom-color:var(--green)}
.sc-fld .bad{border-bottom-color:var(--gold)}
.sc-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.sc-go{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 22px;background:var(--green);color:#06251A;
  border:0;border-radius:3px;font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;cursor:pointer}
.sc-go[disabled]{opacity:.6;cursor:default}
.sc-msg{color:var(--gold)}
.sc-form-card.done .sc-sent{display:flex;flex-direction:column;gap:10px;text-align:left;padding:4px 0}
.sc-status{margin:0;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold)}
.sc-status i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:hc-blink 2.4s ease-in-out infinite}

/* ---------- bottom bar (also the /#delivery anchor) ---------- */
.sc-bar{position:relative;z-index:5;border-top:1px solid var(--navy-line);background:var(--navy);
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-2)}
.sc-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;min-height:52px}
.sc-bar p{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.sc-facts{min-width:0}
.sc-facts b{color:#fff;font-weight:500}
.sc-legal{flex-shrink:0;padding-right:140px}
.sc-legal a{color:var(--on-navy-2);text-decoration:none}
.sc-legal a:hover{color:#fff}
/* the Need help launcher sits on the bar's right end */
.screen .helpfab{bottom:max(6px,env(safe-area-inset-bottom,0px))}
.screen .helpfab>summary{padding:10px 16px;font-size:14px}

/* short laptop screens: drop the steps before anything gets cramped */
@media (max-height:700px) and (min-width:861px){.hc-steps{display:none}}

/* ---------- phones and small tablets: stack and scroll, like NavX ---------- */
@media (max-width:860px){
  .sc{height:auto;min-height:100svh;overflow:visible;overflow-x:clip}
  .sc .nav nav,.sc .nav .sc-ghost{display:none}
  .sc-main{display:block}
  .sc-stage{display:flex;flex-direction:column}
  .hc-map{position:relative;left:auto;right:auto;order:2;height:84vw;margin:0 -20px}
  .hc-map svg{right:auto;left:50%;top:50%;transform:translate(-50%,-50%);height:auto;width:100vw;max-width:none}
  .hc-shade,.hc-readout,.hc-ecg{display:none}
  .sc-wrap{order:1;display:block}
  .sc-left{width:auto;height:auto;display:block;padding:8px 0 24px}
  .sc-copy{gap:22px}
  .sc-mlinks{display:flex}
  .sc-panes{position:static;transform:none;max-height:none;overflow:visible;padding:0;display:none}
  .sc.pane-open .sc-panes{display:block}
  .sc.pane-open .sc-copy{display:none}
  .hc-steps li{font-size:9px;letter-spacing:.14em}
  .sc-bar .wrap{flex-direction:column;align-items:flex-start;padding-block:14px}
  .sc-legal{padding-right:0;padding-bottom:56px}
}
@media (prefers-reduced-motion:reduce){.hc-dot,.rise,.hc-ecg #hc-ecg-trace,.sw,.sc-pane,.sc-step.on,.sc-status i{animation:none}
  .sc-copy,.sc-panes{transition:none}}
@media print{.hc-map,.hc-ecg,.hc-readout,.helpfab{display:none}.sc{height:auto;overflow:visible}.sc-panes,.sc-pane[hidden],.sc-faq[hidden]{display:block!important;opacity:1;visibility:visible;position:static;transform:none}}

/* map drawing (classes set by home.js) */
#hc-map .hc-land{fill:#112840;stroke:#2A4A66;stroke-width:.8;stroke-linejoin:round}
#hc-map .hc-grid line{stroke:#13273B;stroke-width:.5}
#hc-map .hc-town{fill:#3C5A76}
#hc-map .hc-pin{fill:var(--navy);stroke:#4E7A9C;stroke-width:.6}
#hc-map .hc-pin-rx{fill:var(--gold);opacity:.9;font-family:var(--sans);font-weight:700;font-size:3.8px}
#hc-map .hc-reg-lbl{fill:#3A5672;font-family:var(--mono);font-size:3.3px;letter-spacing:.1em}
#hc-map .hc-spoke{stroke:#3C6C8C;stroke-width:.6;stroke-dasharray:1.5 2;opacity:.8}
#hc-map .hc-sub{fill:var(--on-navy-2)}
#hc-map .hc-in{stroke:var(--on-navy-2);stroke-width:.9;stroke-linecap:round}
#hc-map .hc-tok{fill:var(--on-navy-2)}
#hc-map .hc-out{stroke:var(--gold);stroke-width:1.1;stroke-linecap:round}
#hc-map .hc-med{fill:var(--gold)}
#hc-map .hc-ring{fill:none;stroke:var(--gold);stroke-width:.7}
#hc-map .hc-pulse{fill:none;stroke:var(--green);stroke-width:.8}
#hc-map .hc-hub{fill:var(--navy);stroke:var(--green);stroke-width:.8}
#hc-map .hc-hub-rx{fill:var(--gold);font-family:var(--sans);font-weight:700;font-size:5.2px}
#hc-map .hc-metro-lbl{fill:var(--on-navy-2);font-family:var(--mono);font-size:5.5px;letter-spacing:.12em}
