/* round.css — rebuilt after an accidental overwrite (2026-10-11).
   Recreated from live page markup + design tokens in site.css. */

/* ---- small shared bits ---- */
.nvnext{display:block;margin-top:6px;font-size:13px;color:var(--muted)}

/* ---- category tile grid: used on home, catalogue, and as a footer picker ---- */
.nvcats{padding:var(--s12) 0}
.nvcats-h{font-family:var(--f-serif);font-size:28px;font-weight:500;color:var(--ink);text-align:center;margin:0 0 var(--s3);padding:0 var(--s3)}
.nvcats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2);max-width:1120px;margin:0 auto;padding:0 var(--s3)}
.nvcat{position:relative;display:block;border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-2);text-decoration:none;isolation:isolate}
.nvcat-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s ease}
.nvcat:hover .nvcat-bg{transform:scale(1.05)}
.nvcat-sh{position:absolute;inset:0;background:linear-gradient(180deg, rgba(15,23,42,0) 30%, rgba(15,23,42,.78) 100%)}
.nvcat-in{position:absolute;left:0;right:0;bottom:0;padding:var(--s2);color:#fff;display:flex;flex-direction:column;gap:2px;z-index:1}
.nvcat-n{font-family:var(--f-serif);font-size:22px;font-weight:500;line-height:1.1}
.nvcat-s{font-size:14px;opacity:.92}
.nvcat-c{font-size:12px;opacity:.78;margin-top:2px}
.nvcat-p{align-self:flex-start;margin-top:8px;display:inline-block;padding:4px 10px;border-radius:var(--r-pill);background:rgba(255,255,255,.92);color:var(--ink);font-weight:700;font-size:13px}
.nvcat.is-on{outline:3px solid var(--primary);outline-offset:2px}
@media (max-width:639px){
  .nvcats-grid{grid-template-columns:repeat(2,1fr)}
}

/* footer picker variant (bottom of product/article pages) */
.nvcats.nvcats-foot{padding:var(--s8) 0;background:var(--surface-2);border-top:1px solid var(--border)}
.nvcats-foot .nvcats-h{font-size:22px}

/* compact catalogue (/treatments/): pills instead of photo tiles */
main.nv-cat-compact .nvcats{padding:var(--s4) 0}
main.nv-cat-compact .nvcats-grid{display:flex;flex-wrap:wrap;gap:10px;max-width:none;justify-content:center;padding:0 var(--s3)}
main.nv-cat-compact .nvcat{display:inline-flex;align-items:center;aspect-ratio:auto;border-radius:var(--r-pill);box-shadow:none;border:1.5px solid var(--border);background:var(--surface);padding:0;overflow:visible}
main.nv-cat-compact .nvcat-bg,
main.nv-cat-compact .nvcat-sh,
main.nv-cat-compact .nvcat-s,
main.nv-cat-compact .nvcat-c,
main.nv-cat-compact .nvcat-p{display:none}
main.nv-cat-compact .nvcat-in{position:static;color:var(--ink);padding:10px 18px}
main.nv-cat-compact .nvcat-n{font-size:15px;font-weight:600;font-family:var(--f-sans)}
main.nv-cat-compact .nvcat.is-on{background:var(--primary);border-color:var(--primary);outline:none}
main.nv-cat-compact .nvcat.is-on .nvcat-n{color:#fff}

/* ---- trust strip ---- */
.nvtrust{padding:var(--s12) 0}
.nvtrust ul{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s3);margin:0;padding:0}
.nvtrust li{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
  font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}
.nvtrust svg{width:28px;height:28px;color:var(--primary)}
@media (max-width:760px){
  .nvtrust ul{grid-template-columns:repeat(3,1fr);gap:16px 8px;padding:16px 0}
  .nvtrust li{font-size:13px}
  .nvtrust li:nth-child(4){grid-column:1/2}
  .nvtrust li:nth-child(5){grid-column:2/4}
  .nvtrust svg{width:26px;height:26px}
}

/* ---- clinicians: two-column "care decided by a clinician" block ---- */
.cl-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);max-width:1120px;margin:0 auto;padding-inline:var(--s3);align-items:start}
.cl-split-l h2{font-family:var(--f-serif);font-size:30px;font-weight:500;margin:0 0 var(--s2)}
.cl-split-l p{color:var(--muted);line-height:1.6;margin:0 0 var(--s2)}
.cl-split-r ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s3)}
.cl-item{display:flex;gap:14px;align-items:flex-start}
.cl-ico{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.cl-item h3{font-size:16px;margin:0 0 2px;color:var(--ink)}
.cl-item p{font-size:14px;color:var(--muted);margin:0;line-height:1.5}
@media (max-width:860px){
  .cl-split{grid-template-columns:1fr;gap:var(--s4)}
}

/* ---- clinicians: roster section + cards ---- */
.cl-h{font-family:var(--f-serif);font-size:28px;font-weight:500;color:var(--ink);text-align:center;max-width:720px;margin:0 auto var(--s2);padding:0 var(--s3)}
.cl-sub{color:var(--muted);text-align:center;max-width:640px;margin:0 auto var(--s4);padding:0 var(--s3);line-height:1.6}
.cl-people{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);max-width:1120px;margin:0 auto;padding:0 var(--s3)}
.cl-person{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s3);box-shadow:var(--sh-1)}
.cl-ava{flex:none;width:48px;height:48px;border-radius:50%;background:var(--primary-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.cl-person h3{font-size:16px;margin:0 0 2px;color:var(--ink)}
.cl-role{font-size:13px;font-weight:600;color:var(--primary-ink);margin:0 0 4px}
.cl-line{font-size:14px;color:var(--muted);margin:0;line-height:1.5}
@media (max-width:760px){
  .cl-people{grid-template-columns:1fr}
}

/* ---- clinicians: closing CTA ---- */
.cl-cta{text-align:center;max-width:620px;margin:0 auto;padding-inline:var(--s3)}
.cl-cta h2{font-family:var(--f-serif);font-size:28px;font-weight:500;margin:0 0 var(--s2)}
.cl-cta p{color:var(--muted);margin:0 0 var(--s3)}

/* ---- nvmobile-v2: phone is the primary surface -----------------------
   Roughly nine in ten visits are on a phone, so the phone sizes are set
   directly rather than scaled down from desktop. Body copy at 17px, nothing
   functional under 14px, buttons at a real tap size. */
@media (max-width:860px){
  :root{
    --fs-xs:14px; --fs-sm:15.5px; --fs-base:17px; --fs-md:19px;
    --fs-lg:22px; --fs-xl:25px; --fs-2xl:29px; --fs-3xl:33px;
    --fs-4xl:38px; --fs-5xl:42px; --lh-body:1.62;
  }
}

/* ---- nvmobile-v3: the small steps of the scale do most of the damage ---
   Counting visible text on the home page: 36 spans at 13px, 35 bolds at
   14px, 28 prices at 13px. Those all come from --fs-xs and --fs-sm, so the
   fix is to lift those two steps hard rather than chase selectors. */
@media (max-width:860px){
  :root{
    --fs-xs:15px;
    --fs-sm:16px;
    --fs-base:17.5px;
    --fs-md:19.5px;
    --fs-lg:22px;
    --fs-xl:25px;
    --fs-2xl:29px;
    --fs-3xl:33px;
  }
  .prod-price,.pc-price{font-size:17px}
  .prod-name,.pc-name{font-size:18.5px}
  h4{font-size:17px}
  .eyebrow{font-size:14px;letter-spacing:.1em}
  .muted{font-size:15.5px}
  .btn{font-size:17px}
  .btn-lg{font-size:17.5px}
  .stat span,.stats span{font-size:15.5px}
  .foot-legal p{font-size:14px}
  .nvcat-c,.nvcat-p{font-size:13.5px;padding:5px 12px}
  .nvcat-s{font-size:14.5px}
  .nvtrust li{font-size:14.5px}
  main p,main li{font-size:17.5px;line-height:1.62}
}

/* ---- nvmobile-v4: push again, and stop the 430px query from undoing v3 ---
   An earlier version of that query set --fs-xs/--fs-sm/--fs-base LOWER than
   the 860px block above it, so phones under 430px wide (most phones) lost
   the v3 bump entirely. This version never dips below the 860px numbers. */
@media (max-width:860px){
  :root{
    --fs-xs:16px;
    --fs-sm:17px;
    --fs-base:18px;
    --fs-md:20px;
    --fs-lg:23px;
  }
  .prod-price,.pc-price{font-size:18px}
  .prod-name,.pc-name{font-size:19.5px}
  .btn{font-size:18px}
  .btn-lg{font-size:18.5px}
  .nvcat-c,.nvcat-p{font-size:14.5px;padding:6px 13px}
  .nvcat-s{font-size:15.5px}
  .nvtrust li{font-size:15px}
  main p,main li{font-size:18px;line-height:1.6}
}
@media (max-width:430px){
  :root{--fs-xs:16px;--fs-sm:17px;--fs-base:18px}
  main p,main li{font-size:18px}
}
