/* MyRxProvider — shared design system
   Cream / deep-green / soft-yellow, Instrument Serif italic accents */
:root{
  --cream:#F6F3EC;
  --cream-2:#EFE9DC;
  --ink:#0A211F;
  --green:#163E39;
  --green-hover:#0F2C28;
  --yellow:#D9B87C;
  --yellow-soft:#F0E6D2;
  --muted:#647065;
  --line:#E5E0CE;
  --white:#FFFFFF;
  --red:#B3452F;
  --radius:24px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.serif{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400}
img{max-width:100%}
a{color:inherit}

/* ---------- top ribbon ---------- */
.ribbon{
  display:block;text-decoration:none;
  background:var(--yellow);
  color:var(--ink);
  text-align:center;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.02em;
  padding:.45rem .75rem;
}

/* ---------- nav ---------- */
.nav{position:sticky;top:.6rem;z-index:50;background:transparent;padding:0 .9rem;margin-top:.9rem}
.nav-inner{
  max-width:1100px;margin:0 auto;position:relative;
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  background:rgba(255,255,255,.95);backdrop-filter:blur(12px);
  border:1px solid var(--line);border-radius:999px;
  box-shadow:0 12px 32px rgba(30,59,47,.10);
  padding:.5rem .55rem .5rem 1.3rem;
}
.nav-cta{display:flex;align-items:center;gap:.45rem}
.nav-burger{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:#fff;cursor:pointer;color:var(--ink);flex-shrink:0}
@media(min-width:820px){.nav-burger{display:none}}
.nav .login-btn{display:none!important}
@media(min-width:640px){.nav .login-btn{display:inline-block!important}}
.nav .btn.small{white-space:nowrap}
.nav-menu{position:absolute;left:0;right:0;top:calc(100% + .6rem);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 44px rgba(30,59,47,.16);padding:.75rem;display:none;flex-direction:column;z-index:60}
.nav-menu.open{display:flex}
.nav-menu a{padding:.85rem 1rem;border-radius:14px;font-weight:700;text-decoration:none;color:var(--ink);font-size:1rem}
.nav-menu a:hover{background:var(--cream-2)}
.logo{font-weight:800;font-size:1.15rem;text-decoration:none;letter-spacing:-.02em;display:flex;align-items:center;gap:.45rem}
.logo .dot{width:10px;height:10px;border-radius:50%;background:var(--yellow);border:2px solid var(--ink);display:inline-block}
.logo em{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400}
/* PharmacyIQ serif wordmark — letterspaced PHARMACY + oversized gold IQ */
.logo-iq{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.logo-iq img{height:20px;width:auto;display:block}
.logo-iq .lg-cream{display:none}
.logo-iq.on-dark .lg-green{display:none}
.logo-iq.on-dark .lg-cream{display:block}
.nav-links{display:none;gap:1.1rem;font-size:.82rem;font-weight:600}
.nav-links a{text-decoration:none;color:var(--muted)}
.nav-links a:hover{color:var(--ink)}
@media(min-width:820px){.nav-links{display:flex}}
.btn{
  display:inline-block;
  background:var(--green);color:#fff;
  border:none;cursor:pointer;
  font-family:inherit;font-weight:700;font-size:.95rem;
  padding:.85rem 1.6rem;border-radius:999px;
  text-decoration:none;text-align:center;
  transition:background .15s ease, transform .1s ease;
}
.btn:hover{background:var(--green-hover);transform:translateY(-1px)}
.btn.small{padding:.6rem 1.2rem;font-size:.85rem}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.yellow{background:var(--yellow);color:var(--ink)}
.btn.yellow:hover{background:#C9A46A}
.btn.block{display:block;width:100%}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}

/* ---------- layout helpers ---------- */
.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:640px;margin:0 auto;padding:0 1.25rem}
section{padding:3.5rem 0}
@media(min-width:820px){section{padding:5rem 0}}
.eyebrow{
  display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--green);
  background:var(--yellow-soft);border:1px solid #DCC9A6;
  padding:.3rem .8rem;border-radius:999px;margin-bottom:1rem;
}
h1{font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.12;letter-spacing:-.02em;font-weight:800}
h2{font-size:clamp(1.6rem,4.5vw,2.4rem);line-height:1.18;letter-spacing:-.02em;font-weight:800;margin-bottom:.75rem}
h3{font-size:1.15rem;font-weight:800}
.lead{font-size:1.05rem;color:var(--muted);max-width:38rem}
.center{text-align:center}
.center .lead{margin:0 auto}

/* ---------- cards ---------- */
.card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.6rem;
}
.grid{display:grid;gap:1rem}
@media(min-width:820px){
  .grid.cols-3{grid-template-columns:repeat(3,1fr)}
  .grid.cols-2{grid-template-columns:repeat(2,1fr)}
}
.tag{
  display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;background:var(--yellow);color:var(--ink);
  padding:.25rem .7rem;border-radius:999px;margin-bottom:.9rem;
}
.check-list{list-style:none;margin-top:1rem}
.check-list li{
  padding-left:1.7rem;position:relative;margin-bottom:.5rem;
  font-size:.92rem;color:var(--ink);
}
.check-list li::before{
  content:"✓";position:absolute;left:0;top:0;
  color:var(--green);font-weight:800;
}

/* ---------- steps ---------- */
.stepnum{
  width:44px;height:44px;border-radius:50%;
  background:var(--ink);color:var(--yellow);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  font-size:1.4rem;margin-bottom:1rem;
}

/* ---------- footer ---------- */
footer{
  background:var(--ink);color:#DCE5DD;
  padding:3rem 0 2rem;margin-top:0;
  font-size:.85rem;
}
footer a{color:#DCE5DD;text-decoration:none}
footer a:hover{text-decoration:underline}
.foot-grid{display:grid;gap:2rem;margin-bottom:2rem}
@media(min-width:820px){.foot-grid{grid-template-columns:2fr 1fr 1fr}}
.foot-links{list-style:none}
.foot-links li{margin-bottom:.5rem}
.foot-note{border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;color:#9DB0A2;font-size:.75rem;line-height:1.7}

/* ---------- forms / wizard ---------- */
label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.35rem}
.hint{font-size:.8rem;color:var(--muted);font-weight:500;margin-top:.25rem}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{
  width:100%;
  font-family:inherit;font-size:1rem;color:var(--ink);
  background:var(--white);
  border:1.5px solid var(--line);
  border-radius:14px;
  padding:.85rem 1rem;
  outline:none;
  transition:border-color .15s ease;
}
input:focus,select:focus,textarea:focus{border-color:var(--green)}
input.invalid,select.invalid,textarea.invalid{border-color:var(--red)}
.field{margin-bottom:1.15rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.err{color:var(--red);font-size:.8rem;font-weight:600;margin-top:.3rem;display:none}
.err.show{display:block}

/* choice pills (radio / checkbox as tappable cards) */
.choice-group{display:grid;gap:.6rem}
.choice-group.two{grid-template-columns:1fr 1fr}
.choice{
  display:flex;align-items:flex-start;gap:.7rem;
  background:var(--white);
  border:1.5px solid var(--line);
  border-radius:14px;
  padding:.85rem 1rem;
  cursor:pointer;
  font-size:.92rem;font-weight:600;
  transition:border-color .15s ease, background .15s ease;
}
.choice:hover{border-color:var(--green)}
.choice input{margin-top:.2rem;accent-color:var(--green);width:1.05rem;height:1.05rem;flex-shrink:0}
.choice.selected{border-color:var(--green);background:#F1F6EE}
.choice small{display:block;font-weight:500;color:var(--muted);font-size:.78rem;line-height:1.4}

/* progress */
.progress{
  height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin:1rem 0 1.75rem;
}
.progress span{display:block;height:100%;background:var(--green);border-radius:999px;transition:width .3s ease}
.step-label{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

.wizard-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.5rem 1.25rem 2rem;
}
@media(min-width:640px){.wizard-card{padding:2.25rem}}
.wizard-step{display:none}
.wizard-step.active{display:block;animation:fadein .25s ease}
@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wizard-nav{display:flex;gap:.75rem;margin-top:1.75rem}
.wizard-nav .btn{flex:1}

/* BMI readout */
.bmi-box{
  background:var(--yellow-soft);border:1px solid #DCC9A6;border-radius:16px;
  padding:1rem 1.25rem;margin-top:.5rem;display:none;
}
.bmi-box.show{display:block}
.bmi-box b{font-size:1.6rem;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic}

/* stop / notice */
.notice{
  border-radius:16px;padding:1.1rem 1.25rem;font-size:.9rem;margin:1rem 0;
}
.notice.warn{background:#FBEFEA;border:1px solid #E8CFC5;color:#7A3B2A}
.notice.info{background:#EEF4EA;border:1px solid #D5E3CD;color:var(--green)}

/* legal pages */
.legal-body{max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 4rem}
.legal-body h1{font-size:1.9rem;margin-bottom:.4rem}
.legal-body h2{font-size:1.2rem;margin:2rem 0 .6rem}
.legal-body p,.legal-body li{font-size:.94rem;color:#33463A;margin-bottom:.8rem}
.legal-body ul,.legal-body ol{padding-left:1.4rem;margin-bottom:1rem}
.legal-body .updated{color:var(--muted);font-size:.8rem;margin-bottom:2rem}

/* scrolling marquee */
.marquee{background:var(--yellow);border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);overflow:hidden;padding:.55rem 0}
.marquee-track{display:flex;gap:2.5rem;white-space:nowrap;width:max-content;animation:marquee 28s linear infinite}
.marquee-track span{font-weight:800;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);display:flex;align-items:center;gap:2.5rem}
.marquee-track span::after{content:"✦"}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* plan cards */
.plan{position:relative;cursor:pointer;transition:border-color .15s ease, transform .1s ease}
.plan:hover{transform:translateY(-2px)}
.plan .price{font-size:2rem;font-weight:800;letter-spacing:-.02em}
.plan .price small{font-size:.9rem;font-weight:600;color:var(--muted)}

/* stat cards */
.stat-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}
.stat-card .big{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.stat-card p{font-size:.9rem;margin-top:.75rem}
.stat-card cite{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;color:var(--muted);font-size:.78rem;margin-top:.75rem;line-height:1.5}

/* quote cloud */
.quote-cloud{position:relative}
.quote{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:.9rem 1.1rem;font-size:.85rem;font-weight:600;box-shadow:0 8px 24px rgba(30,59,47,.06)}
.quote .q-ic{width:26px;height:26px;border-radius:50%;background:var(--yellow-soft);border:1px solid #DCC9A6;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;margin-bottom:.4rem}

/* advisory placeholders */
.doc-card{overflow:hidden;padding:0}
.doc-photo{aspect-ratio:1/.9;background:linear-gradient(160deg,var(--cream-2),#EDE8D6);display:flex;align-items:center;justify-content:center;position:relative}
.doc-photo .avatar{width:84px;height:84px;border-radius:50%;background:var(--ink);color:var(--yellow);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.9rem}
.doc-photo .cred{position:absolute;left:1rem;bottom:1rem;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;font-size:.72rem;font-weight:800}
.doc-body{padding:1.25rem 1.4rem 1.5rem}
.doc-body .pill{display:inline-block;background:var(--cream-2);border:1px solid var(--line);border-radius:999px;padding:.25rem .7rem;font-size:.7rem;font-weight:700;margin:.2rem .2rem 0 0}

/* animated brand-gradient CTA band */
.grad-anim{
  position:relative;overflow:hidden;
  background:linear-gradient(120deg,#D9B87C,#EAD9B8,#D9E0CE,#C9A46A,#D9B87C);
  background-size:300% 300%;
  animation:gradshift 16s ease infinite;
}
@keyframes gradshift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.grad-anim::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M14 10v8M10 14h8' stroke='%231E3B2F' stroke-opacity='.08' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-size:28px 28px;pointer-events:none}
.grad-anim>*{position:relative}
@media(prefers-reduced-motion:reduce){.grad-anim{animation:none}}
.prefooter .pf-text{padding:4.5rem 0;text-align:center}
.prefooter .pf-text p{margin-left:auto;margin-right:auto}
.pf-band-vial{width:96px;margin:0 auto 1rem;display:block;transform:rotate(-8deg);animation:bob 6s ease-in-out infinite;filter:drop-shadow(0 16px 20px rgba(30,59,47,.18))}

/* popup */
.popup-overlay{position:fixed;inset:0;background:rgba(30,59,47,.45);z-index:100;display:none;align-items:flex-end;justify-content:center;padding:1rem}
@media(min-width:640px){.popup-overlay{align-items:center}}
.popup-overlay.show{display:flex;animation:fadein .25s ease}
.popup{background:var(--cream);border-radius:var(--radius);max-width:420px;width:100%;padding:2rem 1.6rem;position:relative;text-align:center;border:2px solid var(--ink)}
.popup .close{position:absolute;top:.8rem;right:1rem;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--muted);line-height:1}

/* footer mega */
.foot-cols{display:grid;gap:1.75rem;margin-bottom:2rem}
@media(min-width:820px){.foot-cols{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.foot-cols b{color:var(--yellow);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.foot-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.25rem 0}
.foot-badges .badge{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#F2F1E4}
.foot-badges .badge .b-ic{background:rgba(246,233,92,.15);border-color:rgba(246,233,92,.3)}

/* trust badges */
.badge-strip{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.5rem}
.badge{
  display:flex;align-items:center;gap:.5rem;
  background:var(--white);border:1px solid var(--line);border-radius:999px;
  padding:.45rem .9rem;font-size:.74rem;font-weight:800;letter-spacing:.02em;
}
.badge .b-ic{width:22px;height:22px;border-radius:50%;background:var(--yellow-soft);border:1px solid #DCC9A6;display:flex;align-items:center;justify-content:center;font-size:.7rem}

/* sticky product bar (appears on scroll) */
.sticky-cta{
  position:fixed;bottom:0;left:0;right:0;z-index:40;
  background:rgba(251,249,240,.96);backdrop-filter:blur(10px);
  border-top:1.5px solid var(--ink);
  padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
  transform:translateY(110%);transition:transform .28s ease;
}
.sticky-cta.show{transform:none}
.sticky-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:1rem;justify-content:space-between}
.sticky-prod{font-weight:800;font-size:.95rem;display:none;align-items:center;gap:.6rem}
.sticky-prod .sp-price{color:var(--muted);font-weight:700}
@media(min-width:640px){.sticky-prod{display:flex}}
.sticky-inner .btn{flex:1}
@media(min-width:640px){.sticky-inner .btn{flex:0 0 auto}}

/* footer social + seals + portal */
.social-row{display:flex;gap:.6rem;margin-top:1rem}
.social-row a{width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;color:#F2F1E4;transition:background .15s,border-color .15s}
.social-row a:hover{background:rgba(255,255,255,.12);border-color:#fff;text-decoration:none}
.social-row svg{width:18px;height:18px}
.portal-btn{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--ink)!important;font-weight:800;font-size:.92rem;border-radius:999px;padding:.8rem 1.5rem;margin-top:.6rem;text-decoration:none!important;transition:transform .12s}
.portal-btn:hover{transform:translateY(-1px)}
.seal-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}
.seal{display:flex;align-items:center;gap:.55rem;background:#fff;color:var(--ink);border-radius:10px;padding:.5rem .75rem;font-size:.62rem;font-weight:600;line-height:1.25;max-width:160px}
.seal b{display:block;font-size:.72rem;letter-spacing:.02em}
.seal-ic{width:26px;height:26px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;flex-shrink:0}

/* step images + floating vials */
.step-img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px;margin-bottom:1.1rem;border:1px solid var(--line)}
.float-vial{position:absolute;width:130px;filter:drop-shadow(0 14px 18px rgba(30,59,47,.15));pointer-events:none;display:none;z-index:1}
@media(min-width:900px){.float-vial{display:block}}
.float-vial.v1{left:2%;top:70px;transform:rotate(-10deg);animation:bob 6s ease-in-out infinite}
.float-vial.v2{right:2.5%;bottom:50px;transform:rotate(12deg);animation:bob 7s ease-in-out infinite reverse}
@keyframes bob{0%,100%{margin-top:0}50%{margin-top:-16px}}

/* dark gradient footer + green fills */
footer{background:linear-gradient(130deg,#1E4A43 0%,#122E2A 32%,#081A17 62%,#050F0D 100%)}
.stat-card.dark{background:linear-gradient(130deg,#1E4A43,#0C221F);border-color:transparent;color:#F2F1E4}
.stat-card.dark .big{color:var(--yellow)}
.stat-card.dark p{color:#C9D4CB}
.stat-card.dark cite{color:#8FA391}

/* popup vial */
.popup-vial{width:150px;margin:-.5rem auto .5rem;display:block;transform:rotate(-6deg);animation:bob 5s ease-in-out infinite}

/* scroll-reveal animations */
/* fade up + soft de-blur, matching pharmacyiq.co */
.reveal{opacity:0;transform:translateY(22px);filter:blur(6px);will-change:opacity,transform,filter}
.reveal.in{opacity:1;transform:none;filter:none;will-change:auto;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),filter .7s ease}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;filter:none}}

/* brand statement band */
.brand-stmt{color:#fff;text-align:center;background:radial-gradient(100% 70% at 80% 0%,rgba(46,100,91,.42) 0%,transparent 60%),linear-gradient(180deg,#10302D 0%,#0A211F 100%)}
@media(min-width:820px){.brand-stmt{padding:6rem 0}}
.bs-inner{display:flex;flex-direction:column;align-items:center;max-width:56rem}
.bs-mark{width:3.5rem;height:3.5rem;display:block}
.bs-title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;letter-spacing:-.005em;font-size:clamp(2.2rem,5.4vw,4rem);line-height:1.08;margin:1.75rem 0 0;color:#fff}
.bs-title span{color:#D9B87C}
.bs-rule{height:1px;width:7rem;margin-top:1.75rem;background:linear-gradient(90deg,#B08748,rgba(176,135,72,0))}
.bs-copy{margin-top:1.75rem;max-width:42rem;font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,.72)}
.bs-label{margin-top:2.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.card{transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(30,59,47,.08)}
/* sky-to-yellow gradient band for testimonial sections */
.grad-sky{background:linear-gradient(165deg,#DEEAEE 0%,#ECEFD5 42%,#E2CFA5 100%)!important}

/* hero mini plan cards (shared) */
.mini-plan{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(255,255,255,.9);border:1.5px solid var(--line);border-radius:18px;padding:1rem 1.2rem;text-decoration:none;color:var(--ink);transition:transform .15s ease,border-color .15s ease}
.mini-plan:hover{transform:translateY(-2px);border-color:var(--green)}
.mini-plan.feat{border:2px solid var(--green);background:#F4F8F1}
.mini-plan .mp-left{display:flex;align-items:center;gap:.9rem}
.mini-plan .mp-thumb{width:64px;height:64px;border-radius:14px;object-fit:cover;border:1px solid var(--line);flex-shrink:0}
.mini-plan .mp-price{text-align:right;flex-shrink:0}
.mini-plan .mp-price b{font-size:1.5rem;letter-spacing:-.02em}
.hero-cta{display:block;width:100%;max-width:26rem;margin-top:1.25rem;font-size:1.02rem;padding:1rem}



/* full-bleed video hero banner */
.hero-video{position:relative;overflow:hidden;min-height:76vh;display:flex;align-items:center;justify-content:center;text-align:center;margin-top:-4.6rem;background:#0A211F}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hv-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,33,31,.62) 0%,rgba(10,33,31,.28) 45%,rgba(10,33,31,.75) 100%)}
.hv-content{position:relative;z-index:2;max-width:52rem;padding:8.5rem 1.25rem 4.5rem;display:flex;flex-direction:column;align-items:center}
.hv-eyebrow{background:rgba(217,184,124,.16);border-color:rgba(217,184,124,.4);color:#E9D6AC;backdrop-filter:blur(4px)}
.hv-gold{color:#D9B87C}
.hv-lead{color:rgba(255,255,255,.85);margin-top:1rem}
.hv-ghost{color:#fff;border-color:rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.hv-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.hv-trust{margin-top:2rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.hv-trust span{color:#D9B87C;margin:0 .5rem}

/* product dashboard mockup (platform-software look) */
.app-window{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 70px rgba(10,33,31,.18);overflow:hidden;text-align:left}
.app-bar{display:flex;align-items:center;gap:.4rem;background:#F3EFE6;border-bottom:1px solid var(--line);padding:.55rem .9rem}
.app-bar i{width:9px;height:9px;border-radius:50%;display:inline-block}
.app-bar .url{margin-left:.6rem;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:.62rem;color:var(--muted);padding:.18rem .7rem;font-style:normal;font-weight:600}
.app-body{display:grid;grid-template-columns:158px 1fr;min-height:290px}
@media(max-width:639px){.app-body{grid-template-columns:1fr}.app-side{display:none}}
.app-side{background:#0F2C28;color:#C9D4CB;padding:.9rem .8rem;font-size:.68rem;font-weight:600}
.app-side .as-logo{color:#fff;font-family:'Cormorant Garamond',Georgia,serif;font-size:.95rem;letter-spacing:.18em;margin-bottom:1rem;display:block}
.app-side .as-logo b{color:#D9B87C;font-weight:500}
.app-side a{display:flex;align-items:center;gap:.45rem;padding:.42rem .55rem;border-radius:8px;text-decoration:none;color:#9DB8AF}
.app-side a.on{background:rgba(217,184,124,.16);color:#fff}
.app-side a i{width:6px;height:6px;border-radius:2px;background:#D9B87C;display:inline-block}
.app-main{padding:1rem 1.1rem}
.app-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.8rem}
.app-kpi{border:1px solid var(--line);border-radius:12px;padding:.6rem .7rem}
.app-kpi small{display:block;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.app-kpi b{font-size:1.15rem;letter-spacing:-.02em}
.app-kpi em{font-style:normal;font-size:.58rem;font-weight:700;color:#1D8348}
.app-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.68rem}
.app-row{display:grid;grid-template-columns:1.3fr 1fr .8fr .7fr;gap:.5rem;align-items:center;padding:.5rem .7rem;border-top:1px solid var(--line)}
.app-row:first-child{border-top:none;background:#FAF7F0;font-weight:800;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.app-pill{display:inline-block;border-radius:999px;padding:.12rem .55rem;font-size:.56rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-align:center}
.app-pill.ok{background:#E4F0E4;color:#1D8348}
.app-pill.ship{background:#F0E6D2;color:#8A6A45}
.app-pill.rev{background:#E8EDF6;color:#2E5FA3}

/* lttl-style hero helpers */
.u-yellow{background:linear-gradient(transparent 58%,var(--yellow) 58%,var(--yellow) 90%,transparent 90%);padding:0 .08em}
.perk-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.25rem;margin-top:1.1rem;max-width:27rem}
.perk{display:flex;gap:.55rem;align-items:center;font-size:.88rem;font-weight:600}
.perk .pk{width:20px;height:20px;border-radius:50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;flex-shrink:0;color:var(--ink)}
.hero-seals{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.hero-seals .seal{border:1px solid var(--line)}
.cat-row{display:grid;gap:.9rem;margin-top:2.25rem}
@media(min-width:820px){.cat-row{grid-template-columns:repeat(3,1fr)}}
.cat-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-radius:18px;padding:1.1rem 1.3rem;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .15s ease}
.cat-card:hover{transform:translateY(-2px)}
.cat-card .cc-more{opacity:.55;white-space:nowrap}
.cat-card .cc-sub{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:.9rem;color:#4A5A4E}
.cat-card .cc-price{text-align:right;font-size:.75rem;color:#4A5A4E;font-weight:600;white-space:nowrap}
.cat-card .cc-price b{display:block;font-size:1.25rem;color:var(--ink);letter-spacing:-.02em}

/* desktop hover mega-dropdown */
.nav-dd{position:relative}
.nav-dd-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:1rem;display:none;z-index:70}
@media(min-width:820px){.nav-dd:hover .nav-dd-panel,.nav-dd:focus-within .nav-dd-panel{display:block}}
.nav-dd-inner{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 44px rgba(30,59,47,.16);padding:1.4rem;display:flex;gap:1.5rem;align-items:center;width:720px}
.dd-left{min-width:190px}
.dd-left .dd-label{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dd-left .dd-tag{font-size:1.02rem;font-weight:700;line-height:1.35;margin:.4rem 0 .6rem;color:var(--ink)}
.dd-left a{font-size:.85rem;font-weight:700;color:var(--green);text-decoration:underline}
.dd-cards{display:flex;gap:.8rem}
.dd-card{display:flex;align-items:center;gap:.8rem;border:1.5px solid var(--line);border-radius:16px;padding:.8rem 1rem;text-decoration:none;color:var(--ink);transition:border-color .15s ease,transform .12s ease;background:var(--cream)}
.dd-card:hover{border-color:var(--green);transform:translateY(-2px)}
.dd-card img{width:46px;height:46px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}
.dd-card b{display:block;font-size:.95rem;white-space:nowrap}
.dd-card span{font-size:.72rem;color:var(--muted);font-weight:600}

/* hero image desktop-only */
.hero-visual{display:none}
@media(min-width:820px){.hero-visual{display:block}}

/* mobile: steps become a swipe carousel */
@media(max-width:819px){
  .steps-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.9rem;margin:0 -1.25rem;padding:0 1.25rem .75rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .steps-carousel::-webkit-scrollbar{display:none}
  .steps-carousel>.card{flex:0 0 80%;scroll-snap-align:center}
}
/* mobile: compact perks + seals */
@media(max-width:639px){
  .perk-grid{gap:.45rem .7rem;max-width:none}
  .perk{font-size:.76rem;gap:.4rem;line-height:1.3}
  .perk .pk{width:16px;height:16px;font-size:.52rem}
  .hero-seals{gap:.4rem;margin-top:1.1rem}
  .hero-seals .seal{padding:.38rem .55rem;font-size:.54rem;line-height:1.2;max-width:none}
  .hero-seals .seal b{font-size:.6rem}
  .hero-seals .seal .seal-ic{width:19px;height:19px;font-size:.5rem}
}

/* scroll blur under floating nav */
.top-blur{position:fixed;top:0;left:0;right:0;height:120px;z-index:45;pointer-events:none;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  -webkit-mask-image:linear-gradient(to bottom,black 35%,transparent 100%);
  mask-image:linear-gradient(to bottom,black 35%,transparent 100%);
  opacity:0;transition:opacity .3s ease}
.top-blur.show{opacity:1}

/* two lines of supply + who we supply (ported from pharmacyiq.co) */
.sup-title{max-width:40rem;margin-top:.9rem}
.sup-grid{display:grid;gap:1rem;margin-top:2.25rem}
@media(min-width:900px){.sup-grid{grid-template-columns:1fr 1fr}}
.sup-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px rgba(10,33,31,.04),0 8px 24px -12px rgba(10,33,31,.12)}
.sup-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.sup-body{padding:1.75rem}
@media(min-width:820px){.sup-body{padding:2rem}}
.sup-n{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;color:#B08748}
.sup-body h3{font-size:1.45rem;letter-spacing:-.015em;margin-top:.9rem}
.sup-copy{margin-top:.5rem;color:#4A5A4E;line-height:1.7}
.sup-pts{list-style:none;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line);display:grid;gap:.6rem}
.sup-pts li{position:relative;padding-left:1.6rem;font-size:.9rem;color:#4A5A4E}
.sup-pts li::before{content:"";position:absolute;left:.15rem;top:.35rem;width:.55rem;height:.3rem;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}
.who-grid{display:grid;gap:1px;margin-top:2.5rem;background:rgba(10,33,31,.11);border:1px solid rgba(10,33,31,.11);border-radius:var(--radius);overflow:hidden}
@media(min-width:640px){.who-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.who-grid{grid-template-columns:repeat(3,1fr)}}
.who-cell{background:#fff;padding:1.75rem}
@media(min-width:820px){.who-cell{padding:2rem}}
.who-n{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;color:#B08748}
.who-cell h3{font-size:1.2rem;letter-spacing:-.01em;margin-top:.9rem}
.who-cell p{margin-top:.55rem;font-size:.9rem;line-height:1.65;color:#4A5A4E}

/* provider box */
.box-grid{display:grid;gap:3rem;align-items:center}
@media(min-width:1000px){.box-grid{grid-template-columns:1.05fr .95fr;gap:4.5rem}}
.box-lead{margin-top:1.1rem;max-width:28rem;color:#4A5A4E;line-height:1.7}
.box-list{list-style:none;margin-top:2rem;border-top:1px solid var(--line)}
.box-list li{display:flex;flex-wrap:wrap;gap:.3rem 2rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.box-list span{width:11rem;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#8C6A36;padding-top:.2rem}
.box-list p{flex:1;min-width:12rem;font-size:.9rem;line-height:1.65;color:#4A5A4E}
.box-card{position:relative;overflow:hidden;border-radius:28px;padding:4rem 2rem;text-align:center;color:#fff;box-shadow:0 30px 60px -30px rgba(10,33,31,.55);background:radial-gradient(120% 80% at 18% 0%,rgba(46,100,91,.55) 0%,transparent 62%),radial-gradient(85% 65% at 100% 100%,rgba(201,164,106,.22) 0%,transparent 60%),linear-gradient(165deg,#16403a 0%,#0a211f 100%)}
.box-mark{width:5rem;height:5rem;display:block;margin:0 auto}
.box-logo{display:block;height:26px;width:auto;margin:2rem auto 0}
.box-tag{margin-top:1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;line-height:2;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.box-tag.gold{color:rgba(217,184,124,.85)}
.box-rule{margin:2.25rem auto 0}

/* ================= mobile polish (2026-09-14) ================= */
h1,h2,h3{text-wrap:balance}
.lead,.hv-lead,.bs-copy,.box-lead{text-wrap:pretty}
.rb-short{display:none}
.hv-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 0}
.hv-trust em{font-style:normal;white-space:nowrap}
.hv-trust span{margin:0 .6rem}
@media(max-width:819px){
  /* one-line announcement bar */
  .ribbon{font-size:.72rem;padding:.55rem 1rem;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rb-full{display:none}.rb-short{display:inline}
  .rb-short b{display:inline-block;margin-left:.25rem}
  /* floating frosted pill nav */
  .nav{top:.55rem;padding:0 .7rem;margin-top:.6rem}
  .nav-inner{border-radius:999px;padding:.4rem .4rem .4rem 1.05rem;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.6);box-shadow:0 10px 30px rgba(10,33,31,.16)}
  .logo-iq img{height:17px}
  .nav .btn.small{padding:.55rem 1rem;font-size:.8rem}
  .nav-burger{width:38px;height:38px}
  .nav-menu{left:0;right:0;top:calc(100% + .5rem)}
  /* hero */
  .hero-video{min-height:92svh;margin-top:-4.2rem}
  .hv-content{padding:7.5rem 1.4rem 3.25rem}
  .hv-eyebrow{font-size:.58rem;letter-spacing:.14em;padding:.4rem .8rem;line-height:1.5;max-width:19rem}
  .hv-title{font-size:clamp(2.6rem,12.5vw,3.4rem);line-height:1.02;margin-top:.4rem}
  .hv-lead{font-size:1rem;line-height:1.6;max-width:22rem}
  .hv-cta .btn{width:100%;max-width:20rem;text-align:center}
  .hv-trust{font-size:.6rem;letter-spacing:.14em;margin-top:1.6rem;max-width:20rem}
  .hv-trust span{margin:0 .45rem}
  /* tighter vertical rhythm */
  section{padding:3.25rem 0}
  h2{font-size:clamp(1.65rem,7.4vw,2.1rem);line-height:1.15}
  .lead{font-size:.98rem}
  .brand-stmt{padding:4.5rem 0}
  .bs-title{font-size:clamp(2.2rem,10vw,2.8rem)}
  .bs-copy{font-size:1rem}
  /* swipe rails instead of tall stacks */
  .m-rail{display:flex!important;gap:.75rem!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:1.75rem -1.25rem 0!important;padding:.25rem 1.25rem 1rem!important;max-width:none!important;background:none!important;border:none!important;border-radius:0!important;scroll-padding-left:1.25rem;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .m-rail::-webkit-scrollbar{display:none}
  .m-rail>*{flex:0 0 82%;scroll-snap-align:start;margin:0!important}
  .who-grid.m-rail .who-cell{border:1px solid var(--line);border-radius:20px;padding:1.5rem}
  .sup-grid.m-rail .sup-body{padding:1.4rem}
  .sup-grid.m-rail .sup-body h3{font-size:1.2rem}
  .sup-grid.m-rail .sup-copy{font-size:.9rem}
  .m-stats{grid-template-columns:1fr 1fr!important;gap:.6rem!important;margin-top:1rem!important}
  .m-stats .stat-card{padding:1.1rem}
  .m-stats .stat-card .big{font-size:2rem}
  .m-stats .stat-card p{font-size:.78rem;margin-top:.5rem;line-height:1.45}
  .m-stats .stat-card cite{font-size:.72rem;margin-top:.5rem}
  .cat-card{padding:1rem 1.15rem!important}
  .box-card{padding:3rem 1.5rem}
  .box-list span{width:auto}
}
/* slightly stronger, slower reveal so it reads on phones */
.reveal{transform:translateY(28px);filter:blur(8px)}
.reveal.in{transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),filter .85s ease}

.nw{white-space:nowrap}
@media(max-width:819px){
  .foot-cols{grid-template-columns:1fr 1fr!important;gap:2rem 1.25rem!important}
  .foot-cols>div:first-child,.foot-cols>div:last-child{grid-column:1/-1}
}

/* ================= nationwide network + how it works (2026-09-15) ================= */
.net-grid{display:grid;gap:2.25rem;align-items:center}
@media(min-width:900px){.net-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3.5rem}}
.net-copy .lead{margin-top:.25rem}
.net-facts{list-style:none;margin-top:1.75rem;border-top:1px solid var(--line)}
.net-facts li{display:grid;grid-template-columns:6.25rem 1fr;align-items:baseline;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--line)}
.net-facts b{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:2.3rem;line-height:1;color:var(--green);letter-spacing:-.01em;font-variant-numeric:lining-nums}
.net-facts span{font-size:.92rem;color:#4A5A4E;line-height:1.5}

.net-map{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1rem,2.4vw,1.75rem);box-shadow:0 1px 2px rgba(10,33,31,.04),0 22px 44px -26px rgba(10,33,31,.28)}
.us-grid{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:clamp(3px,.5vw,6px)}
.st{aspect-ratio:1;display:grid;place-items:center;border-radius:clamp(4px,.55vw,8px);background:var(--green);color:#E6E0CF;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.5rem,.92vw,.7rem);font-weight:600;letter-spacing:.02em;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .18s ease,color .18s ease,transform .18s ease}
.st:hover,.st.on{background:var(--yellow);color:var(--ink);transform:scale(1.1);position:relative;z-index:1}
.net-cap{display:flex;align-items:center;gap:.65rem;margin-top:1.1rem;padding-top:.95rem;border-top:1px solid var(--line);font-size:.86rem;font-weight:600;color:var(--ink);min-height:1.6rem}
.net-dot{width:.55rem;height:.55rem;border-radius:50%;background:#2E8B63;box-shadow:0 0 0 4px rgba(46,139,99,.16);flex-shrink:0}
.net-note{margin-top:1.5rem;text-align:center}
/* tiles sweep in west to east once the map is revealed; `backwards` so hover still scales afterwards */
.net-map.reveal.in .st{animation:stIn .5s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--d) * 45ms + 150ms)}
@keyframes stIn{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.net-map .st{animation:none!important;transition:none}}

.route{list-style:none;display:grid;gap:1rem}
.route-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem}
.route-n{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;color:#B08748;letter-spacing:.04em}
.route-step h3{font-size:1.2rem;letter-spacing:-.01em;margin-top:.9rem}
.route-step p{margin-top:.55rem;font-size:.92rem;line-height:1.65;color:#4A5A4E}
@media(min-width:820px){
  .route{grid-template-columns:repeat(3,1fr);gap:0}
  .route-step{border-radius:0;border-left-width:0}
  .route-step:first-child{border-radius:var(--radius) 0 0 var(--radius);border-left-width:1px}
  .route-step:last-child{border-radius:0 var(--radius) var(--radius) 0}
  /* a gold node on each hand-off between steps */
  .route-step:not(:last-child)::after{content:"";position:absolute;top:1.95rem;right:-.55rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px var(--cream-2);z-index:2}
}
@media(max-width:819px){
  .net-facts b{font-size:1.9rem}
  .net-facts li{grid-template-columns:5rem 1fr;padding:.8rem 0}
  .net-cap{font-size:.8rem}
}

/* hero ghost button contrast: .btn.ghost (2 classes) was overriding .hv-ghost's white text */
.btn.ghost.hv-ghost{color:#fff;border-color:rgba(255,255,255,.6);background:rgba(10,33,31,.18)}
.btn.ghost.hv-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}

/* single-column network section: the map follows the headline instead of trailing the facts */
@media(max-width:899px){
  .net-grid{gap:0}
  .net-copy{display:contents}
  .net-copy .eyebrow{order:1;justify-self:start}
  .net-copy h2{order:2}
  .net-map{order:3;margin:1.1rem 0 1.6rem}
  .net-copy .lead{order:4}
  .net-facts{order:5}
}

/* ================= white full-width header + quiet campaign bar (2026-09-15) =================
   Matches the inner pages (SiteChrome): sticky, white, hairline rule, rx-label nav. */
:root{ --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }

.ribbon{
  background:#fff;
  color:var(--ink);
  border-bottom:1px solid var(--line);
  font-family:var(--mono);
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.7rem 1rem;
}
.ribbon b{color:#B08748}

.nav{
  position:sticky; top:0; margin-top:0; padding:0;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1180px;
  background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none;
  border:0; border-radius:0; box-shadow:none;
  padding:.8rem 1.25rem;
}
.nav-links{
  gap:1.85rem;
  font-family:var(--mono);
  font-size:.68rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
}
.nav-links a{color:var(--ink);opacity:.72}
.nav-links a:hover{opacity:1;color:var(--green)}
.nav .btn.small{
  font-family:var(--mono);
  font-size:.66rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  padding:.78rem 1.45rem;
}
.nav-burger{border-color:var(--line)}
.nav-menu{border-radius:18px}
/* solid header makes the scroll-blur scrim redundant */
.top-blur{display:none!important}

/* hero no longer tucks under a floating pill */
.hero-video{margin-top:0}
.hv-content{padding:5.25rem 1.25rem 4.5rem}

@media(max-width:819px){
  .ribbon{font-size:.6rem;letter-spacing:.1em;padding:.6rem .9rem}
  .nav{top:0;margin-top:0;padding:0;background:rgba(255,255,255,.94)}
  .nav-inner{
    padding:.6rem 1rem;
    background:transparent; border:0; border-radius:0; box-shadow:none;
    -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  .nav-menu{left:.6rem;right:.6rem;top:calc(100% + .3rem)}
  /* the desktop rx-label CTA is far too wide for a 390px header */
  .nav .btn.small{font-size:.58rem;letter-spacing:.1em;padding:.62rem 1rem}
  .nav-burger{width:36px;height:36px}
  .logo-iq img{height:16px}
  .hero-video{margin-top:0;min-height:84svh}
  .hv-content{padding:3.75rem 1.4rem 3rem}
}

/* ================= white base, green kept, gold pulled back (2026-09-15) =================
   The cream ground + gold fills + beige pills read muddy together. Base goes white,
   beige becomes a faint green-grey, and gold stops being a surface colour. */
:root{
  --cream:#FFFFFF;        /* page base            (was #F6F3EC) */
  --cream-2:#F4F7F5;      /* alternating band     (was #EFE9DC) */
  --line:#E4EAE7;         /* hairlines            (was #E5E0CE) */
  --yellow-soft:#ECF2EE;  /* label pill tint      (was #F0E6D2) */
}
body{background:#fff}

/* section labels: beige pill -> soft green */
.eyebrow{background:var(--yellow-soft);border-color:#D6E3DB;color:var(--green)}

/* .btn.yellow is only ever used on DARK surfaces (hero video, partners band).
   Green would vanish there, so it becomes the white pill. */
.btn.yellow{background:#fff;color:var(--ink)}
.btn.yellow:hover{background:#EEF4F1}

/* hero chip + separators: gold tint -> clean white over the video */
.hv-eyebrow{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.42);color:#fff}
.hv-trust span{color:rgba(255,255,255,.45)}

/* pre-footer: animated gold/beige band -> quiet white-green wash */
.grad-anim{background:linear-gradient(120deg,#FFFFFF,#F1F6F3,#E7F0EB,#F3F8F5,#FFFFFF)}

/* white cards on a white ground keep their edge from the hairline */
.card,.cat-card,.popup{background:#fff;border-color:var(--line)}
.nav-menu a:hover{background:var(--cream-2)}

/* ================= header type: body face, sentence case (2026-09-15) =================
   Replaces the mono/uppercase/wide-tracking nav treatment. */
.ribbon{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  font-size:.83rem;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  color:var(--ink);
  padding:.65rem 1rem;
}
.nav-links{
  gap:1.7rem;
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  font-size:.92rem;
  font-weight:500;
  letter-spacing:-.005em;
  text-transform:none;
}
.nav-links a{color:var(--ink);opacity:.78}
.nav-links a:hover{opacity:1;color:var(--green)}
.nav .btn.small{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:-.005em;
  text-transform:none;
  padding:.68rem 1.35rem;
}
@media(max-width:819px){
  .ribbon{font-size:.74rem;font-weight:600;letter-spacing:0;text-transform:none;padding:.6rem .9rem}
  .nav .btn.small{font-size:.8rem;letter-spacing:-.005em;padding:.6rem 1.05rem}
}

/* ================= clean white platform hero (2026-09-16) ================= */
.hero-photo{
  position:relative; overflow:hidden; background:#fff;
  min-height:clamp(560px, 72vh, 760px);
  display:flex; align-items:center;
  border-bottom:1px solid var(--line);
}
.hp-pic, .hp-img{position:absolute; inset:0; width:100%; height:100%}
.hp-img{object-fit:cover; object-position:78% 30%; display:block}
/* keeps the headline legible wherever the photo reaches into the left column */
.hp-fade{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 30%,rgba(255,255,255,.82) 42%,rgba(255,255,255,0) 58%);
}
.hp-inner{position:relative; z-index:2; width:100%; max-width:1180px}
.hp-copy{max-width:34rem; padding:3.5rem 0}
.hp-title{
  font-family:'Cormorant Garamond',Georgia,serif; font-weight:500;
  font-size:clamp(2.7rem,5.2vw,4.5rem); line-height:1.02; letter-spacing:-.012em;
  color:var(--ink); margin-top:.35rem;
}
.hp-title .serif{display:block; color:#2E645B; font-weight:500}
.hp-lead{margin-top:1.25rem; font-size:1.08rem; line-height:1.65; color:#3D4A42; max-width:31rem; text-wrap:pretty}
.hp-cta{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.9rem}
.hp-cta .btn{padding:.95rem 1.9rem; font-size:.98rem}
.hp-trust{margin-top:1.6rem; font-size:.84rem; font-weight:500; color:var(--muted)}
.hp-trust i{font-style:normal; margin:0 .45rem; color:#9DB3A8}

@media(max-width:819px){
  .hero-photo{display:block; min-height:0}
  /* phones: photo on top as its own block, copy underneath on white */
  .hp-pic{position:relative; display:block; height:auto}
  .hp-img{position:relative; height:auto; aspect-ratio:5/4; object-position:58% 22%}
  /* 5:4 photo is 80vw tall: soften only its bottom third into the white copy area */
  .hp-fade{left:0; right:0; bottom:auto; top:52vw; height:28.5vw;
    background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
  .hp-copy{max-width:none; padding:.9rem 0 2.6rem}
  .hp-title{font-size:clamp(2.45rem,10.5vw,3.1rem)}
  .hp-lead{font-size:1rem}
  .hp-cta .btn{flex:1 1 100%; text-align:center}
  .hp-trust{font-size:.78rem; line-height:1.7}
}

/* still-life hero: the objects sit low and to the right, so anchor the crop there */
.hp-img.hp-still{object-position:74% 62%}
@media(max-width:819px){
  .hp-img.hp-still{aspect-ratio:4/3; object-position:62% 64%}
  .hp-fade{top:45vw; height:30.5vw}
}

/* doctor + manager hero: keep the monitor clear of the headline column (anchor left),
   faces sit in the upper third */
.hp-img.hp-team{object-position:18% 34%}
@media(max-width:819px){
  .hp-img.hp-team{aspect-ratio:4/3; object-position:40% 30%}
}

/* ================= cinematic Idaho hero (2026-09-16) ================= */
.hero-cine{
  position:relative; overflow:hidden; display:flex; color:#fff; background:#0E2A24;
  min-height:clamp(600px, calc(100svh - 113px), 880px);
}
.hc-pic, .hc-img{position:absolute; inset:0; width:100%; height:100%}
.hc-img{object-fit:cover; object-position:60% 42%; display:block}
.hc-scrim{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(6,18,16,.62) 0%, rgba(6,18,16,.24) 42%, rgba(6,18,16,0) 66%),
    linear-gradient(0deg, rgba(6,18,16,.66) 0%, rgba(6,18,16,0) 56%);
}
.hc-inner{
  position:relative; z-index:2; width:100%; max-width:1180px; margin:0 auto;
  padding:0 1.25rem 3.2rem;
  display:flex; align-items:flex-end; justify-content:space-between; gap:2rem;
}
.hc-copy{max-width:40rem}
.hc-eyebrow{
  display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35);
  border-radius:999px; padding:.38rem .85rem;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
/* big sans headline; keep tracking >= -.032em or letters collide at this size */
.hc-title{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif; font-weight:600; word-spacing:.14em;
  font-size:clamp(2.9rem,4.9vw,4.6rem); line-height:1; letter-spacing:-.032em;
  color:#fff; margin-top:1.1rem; text-wrap:balance;
}
.hc-title em{
  display:block; margin-top:.08em;
  font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:500;
  letter-spacing:-.01em; color:#CFE3D8;
}
.hc-lead{margin-top:1.1rem; max-width:34rem; font-size:1.08rem; line-height:1.6; color:rgba(255,255,255,.9); text-wrap:pretty}
.hc-cta{display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1.1rem; margin-top:1.7rem}
.hc-cta .btn.hc-primary{background:#fff; color:var(--ink); padding:.95rem 1.8rem; font-size:.98rem}
.hc-cta .btn.hc-primary:hover{background:#EEF4F1}
.hc-link{color:#fff; font-weight:600; font-size:.98rem; text-decoration:none; padding:.95rem .4rem}
.hc-link:hover{text-decoration:underline; text-underline-offset:4px}
.hc-trust{margin-top:1.3rem; font-size:.84rem; font-weight:500; color:rgba(255,255,255,.78); display:flex; flex-wrap:wrap; align-items:center; row-gap:.15rem}
.hc-trust i{font-style:normal; margin:0 .5rem; opacity:.55}
.hc-trust span{white-space:nowrap}
.hc-tag{
  flex-shrink:0; white-space:nowrap; color:#fff; font-size:1.02rem; font-weight:500;
  background:rgba(10,33,31,.42); border:1px solid rgba(255,255,255,.18); border-radius:12px;
  padding:.8rem 1.1rem; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
@media(max-width:1100px){ .hc-tag{display:none} }
@media(max-width:819px){
  .hero-cine{min-height:calc(100svh - 98px)}
  .hc-img{object-position:50% 30%}
  .hc-scrim{background:linear-gradient(0deg, rgba(6,18,16,.9) 0%, rgba(6,18,16,.66) 48%, rgba(6,18,16,.34) 78%, rgba(6,18,16,.14) 100%)}
  .hc-inner{flex-direction:column; justify-content:flex-end; align-items:stretch; gap:0; padding:0 1.25rem 2.2rem}
  .hc-title{font-size:clamp(2.3rem,10.2vw,2.85rem)}
  .hc-lead{font-size:.97rem}
  .hc-cta .btn.hc-primary{flex:1 1 100%; text-align:center}
  .hc-link{padding:.6rem 0}
  .hc-trust{font-size:.76rem; line-height:1.7}
}

/* hero eyebrow typing: "For ___" cycles the kinds of practices we serve (2026-09-16) */
.hc-type{white-space:nowrap}
.hc-caret{display:inline-block; width:2px; height:1em; margin-left:2px; vertical-align:-.14em; background:currentColor; animation:hcBlink 1s steps(1) infinite}
@keyframes hcBlink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){ .hc-caret{animation:none} }


/* =====================================================================
   MOBILE APP LAYER (2026-09-17) — phones only, desktop untouched.
   Transparent header that fades white over the hero, tinted app cards, grouped lists, sans-only headings.
   ===================================================================== */
.rail-dots{display:none}
@media(max-width:819px){
  :root{--tint:#F3F7F5;--tint-2:#E6EFEA;--moss:#2E645B;--app-r:26px}
  body{background:#fff}
  .ribbon{display:none}

  /* ---------- header: transparent, white wash over the photo ---------- */
  .nav{
    position:fixed;top:0;left:0;right:0;z-index:60;
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.9) 48%,rgba(255,255,255,0) 100%);
    border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none;
    padding-top:env(safe-area-inset-top);padding-bottom:1.1rem;
    transition:background .3s ease,box-shadow .3s ease,padding .3s ease;
  }
  .nav.is-solid{background:rgba(255,255,255,.97);padding-bottom:0;box-shadow:0 1px 0 rgba(10,33,31,.07),0 10px 30px -18px rgba(10,33,31,.25)}
  .nav-inner{padding:.75rem 1rem .55rem}
  .logo-iq img{height:17px}
  .nav .btn.small{height:40px;display:inline-flex;align-items:center;padding:0 1.05rem;font-size:.8rem;border-radius:999px;box-shadow:0 6px 16px -8px rgba(22,62,57,.6)}
  .nav-burger{width:40px;height:40px;border:0;background:var(--tint-2);color:var(--green)}
  .nav-menu{left:.75rem;right:.75rem;top:calc(100% + .35rem);border:0;border-radius:24px;padding:.5rem;box-shadow:0 24px 60px -18px rgba(10,33,31,.35)}
  .nav-menu a{display:flex;justify-content:space-between;align-items:center;padding:.95rem 1rem;font-weight:600;font-size:1rem;border-radius:16px}
  .nav-menu a::after{content:"";width:.5rem;height:.5rem;border-right:2px solid #9FB3AA;border-top:2px solid #9FB3AA;transform:rotate(45deg)}
  .nav-menu a+a{border-top:1px solid var(--tint-2);border-radius:0}

  /* ---------- hero: full screen under the header ---------- */
  .hero-cine{min-height:100svh}
  .hc-img{object-position:50% 34%}
  .hc-scrim{background:linear-gradient(0deg,rgba(6,18,16,.92) 0%,rgba(6,18,16,.7) 40%,rgba(6,18,16,.2) 68%,rgba(6,18,16,0) 82%)}
  .hc-inner{padding:0 1.15rem calc(1.6rem + env(safe-area-inset-bottom))}
  .hc-eyebrow{font-size:.64rem;padding:.42rem .8rem}
  .hc-title{font-size:clamp(2.45rem,11vw,2.95rem);line-height:1.02;margin-top:.9rem;word-spacing:.08em}
  .hc-title em{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-style:normal;font-weight:600;letter-spacing:-.032em;color:#BFDCCD;margin-top:.04em}
  .hc-lead{font-size:.95rem;line-height:1.55;color:rgba(255,255,255,.82);margin-top:.9rem}
  .hc-cta{flex-direction:column;align-items:stretch;gap:.6rem;margin-top:1.4rem}
  .hc-cta .btn.hc-primary{position:relative;height:60px;padding:0 1.2rem 0 4.2rem;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;border-radius:999px}
  .hc-cta .btn.hc-primary::before{content:"";position:absolute;left:6px;top:6px;width:48px;height:48px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat}
  .hc-cta .hc-arr{display:none}
  .hc-link{height:52px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);font-size:.95rem;padding:0}
  .hc-trust{display:flex;flex-wrap:nowrap;gap:.4rem;overflow-x:auto;scrollbar-width:none;margin:1.1rem -1.15rem 0;padding:0 1.15rem}
  .hc-trust::-webkit-scrollbar{display:none}
  .hc-trust i{display:none}
  .hc-trust span{flex-shrink:0;font-size:.7rem;font-weight:600;color:#fff;padding:.4rem .75rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}

  /* ---------- section rhythm + sans-only headings ---------- */
  section{padding:3rem 0}
  .wrap,.narrow{padding:0 1.15rem}
  section[style*="cream-2"]{background:#fff!important}
  .eyebrow{font-size:.62rem;letter-spacing:.12em;padding:.35rem .75rem;border:0;background:var(--tint-2);color:var(--moss);margin-bottom:.85rem}
  h2,.sup-title{font-size:clamp(1.85rem,8.4vw,2.2rem);line-height:1.08;letter-spacing:-.035em;font-weight:700}
  h2 .serif,.sup-title .serif{font-family:inherit;font-style:normal;font-weight:700;color:var(--moss)}
  .center{text-align:left}
  .center .lead,.lead{margin:0;font-size:.95rem;line-height:1.6;color:#56645C}
  .hint{font-size:.78rem;line-height:1.6;color:#7A8880;text-align:left!important}
  #how .center,#formulary .center,#faq .center{margin-bottom:1.25rem!important}

  /* app cards: tinted, borderless, big radius */
  .route-step,.who-grid.m-rail .who-cell,.sup-card,.card{border:0!important;border-radius:var(--app-r)!important;background:var(--tint)!important;box-shadow:none!important}
  .m-rail{margin-top:1.25rem!important;-webkit-mask-image:none;mask-image:none;padding-bottom:.25rem!important}
  .m-rail>*{flex:0 0 84%}
  .route-n,.who-n{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:0}
  .route-step{padding:1.4rem!important}
  .route-step h3,.who-cell h3{font-size:1.15rem;letter-spacing:-.02em;margin-top:1rem}
  .route-step p,.who-cell p{font-size:.88rem}
  .rail-dots{display:flex;justify-content:center;gap:.35rem;margin-top:1rem}
  .rail-dots i{width:6px;height:6px;border-radius:999px;background:#CBD8D1;transition:width .25s ease,background .25s ease}
  .rail-dots i.on{width:20px;background:var(--green)}

  /* ---------- network: dark widget map + grouped stat list ---------- */
  .net-map{background:linear-gradient(160deg,#1C4A43 0%,#0E2A26 100%);border:0;border-radius:var(--app-r);padding:1.1rem;box-shadow:0 24px 40px -26px rgba(10,33,31,.6)}
  .st{background:rgba(255,255,255,.1);color:#DDEBE3;border-radius:5px;font-size:.46rem}
  .st:hover,.st.on{background:#BFDCCD;color:var(--ink)}
  .net-cap{border-top-color:rgba(255,255,255,.12);color:#fff;font-size:.76rem}
  .net-dot{background:#7FD1A6;box-shadow:0 0 0 4px rgba(127,209,166,.2)}
  .net-facts{border:0;background:var(--tint);border-radius:var(--app-r);padding:.35rem 1.1rem;margin-top:1.4rem}
  .net-facts li{grid-template-columns:4.6rem 1fr;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--tint-2)}
  .net-facts li:last-child{border-bottom:0}
  .net-facts b{font-family:'Plus Jakarta Sans',sans-serif;font-style:normal;font-weight:700;font-size:1.35rem;letter-spacing:-.03em}
  .net-facts span{font-size:.82rem}
  .net-note{margin-top:1rem}

  /* ---------- formulary: grouped list with chevrons ---------- */
  .cat-row{gap:0;margin-top:1.1rem;background:var(--tint);border-radius:var(--app-r);padding:.3rem .35rem;overflow:hidden}
  .cat-card{background:transparent!important;border:0;border-radius:18px;padding:.95rem .9rem!important}
  .cat-card+.cat-card{border-top:1px solid var(--tint-2);border-radius:0}
  .cat-card::after{content:"";flex-shrink:0;width:.5rem;height:.5rem;border-right:2px solid #9FB3AA;border-top:2px solid #9FB3AA;transform:rotate(45deg);margin-right:.35rem}
  .cat-card b{font-size:.98rem;letter-spacing:-.01em}
  .cat-card .cc-sub{font-family:'Plus Jakarta Sans',sans-serif;font-style:normal;font-size:.76rem;color:#6B7A72;margin-top:.15rem;line-height:1.45}

  /* ---------- supply + provider box ---------- */
  .sup-card img{border-radius:var(--app-r) var(--app-r) 0 0}
  .sup-n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--green);font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.75rem}
  .sup-pts{border-top-color:var(--tint-2)}
  .box-grid{gap:1.5rem}
  .box-lead{font-size:.95rem;color:#56645C}
  .box-list{border:0;background:var(--tint);border-radius:var(--app-r);padding:.3rem 1.1rem;margin-top:1.4rem}
  .box-list li{flex-direction:column;gap:.2rem;padding:.9rem 0;border-bottom:1px solid var(--tint-2)}
  .box-list li:last-child{border-bottom:0}
  .box-list span{font-family:'Plus Jakarta Sans',sans-serif;font-size:.92rem;font-weight:700;letter-spacing:-.01em;text-transform:none;color:var(--ink);padding:0}
  .box-list p{min-width:0;font-size:.84rem}
  .box-card{border-radius:var(--app-r);padding:2.4rem 1.5rem}

  /* ---------- partners: inset dark card ---------- */
  #partners{margin:0 .75rem;border-radius:30px;padding:2.4rem 0}
  #partners .wrap{padding:0 1.3rem}
  #partners .grid{gap:1.6rem!important}
  #partners .card{background:rgba(255,255,255,.07)!important;border-radius:22px!important}
  #partners .btn.yellow{display:flex;justify-content:center;height:54px;align-items:center;border-radius:999px}

  /* ---------- FAQ: tinted accordions with a plus ---------- */
  #faq .grid{gap:.5rem!important}
  #faq details{padding:0!important;border-radius:20px!important}
  #faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.15rem;font-size:.95rem;font-weight:600!important;letter-spacing:-.01em}
  #faq summary::-webkit-details-marker{display:none}
  #faq summary::after{content:"";flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%23163E39' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center no-repeat;transition:transform .25s ease}
  #faq details[open] summary::after{transform:rotate(45deg)}
  #faq details p{margin:0!important;padding:0 1.15rem 1.1rem;font-size:.86rem}

  /* ---------- pre-footer: green app card ---------- */
  .prefooter{background:#fff!important;animation:none;padding:0 .75rem 1.5rem}
  .prefooter::before{display:none}
  .prefooter .narrow{background:linear-gradient(160deg,#1C4A43 0%,#0E2A26 100%);border-radius:30px;padding:0 1.3rem}
  .prefooter .pf-text{padding:2.4rem 0;text-align:left}
  .prefooter h2{color:#fff}
  .prefooter h2 .serif{color:#BFDCCD}
  .prefooter p{color:rgba(255,255,255,.72)!important;margin-left:0!important}
  .prefooter .btn{display:flex;justify-content:center;align-items:center;height:54px;border-radius:999px;background:#fff;color:var(--ink)}

  /* ---------- footer: compact, clears the dock ---------- */
  footer{border-radius:30px 30px 0 0;padding:2.4rem 0 calc(2rem + env(safe-area-inset-bottom))}
  .foot-cols{gap:1.6rem 1rem!important}
  .foot-cols b{font-size:.66rem}
  .foot-links li{margin-bottom:.35rem;font-size:.86rem}
  .seal-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-1.15rem;padding-right:1.15rem}
  .seal-row::-webkit-scrollbar{display:none}
  .seal{flex-shrink:0;max-width:none}
  .foot-note{font-size:.68rem;line-height:1.6}

  /* fixes from first render */
  .hc-cta .btn.hc-primary{flex:none}
  #partners .check-list li::before{color:#BFDCCD}
  footer .serif{font-family:inherit;font-style:normal;font-weight:700}
  .box-tag{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;font-size:.66rem}

  /* gentler reveal on phones */
  .reveal{filter:none;transform:translateY(18px)}
}

/* typewriter: the changing word stands out, caret always shows (2026-09-17) */
.hc-type{color:#BFDCCD;display:inline-block;min-width:.2em}
.hc-caret{width:2px;height:1.05em;margin-left:3px;background:#BFDCCD;opacity:1}
@keyframes hcBlink{0%,55%{opacity:1}56%,100%{opacity:.25}}
@media (prefers-reduced-motion:reduce){ .hc-caret{animation:none;opacity:1} }
