/* ==========================================================
   iTOP Recovery — homepage styles (v1)
   ----------------------------------------------------------
   Contents (each section below starts with a "---------- Name ----------" comment):
     1. Design tokens (:root)        9.  Who we treat
     2. Base / reset / utilities     10. Conditions
     3. Buttons                      11. Partners
     4. Eyebrows & section heads     12. Google reviews (+ pull-quote)
     5. Header & navigation          13. Team
     6. Hero                         14. Locations
     7. Value cards                  15. FAQ
     8. How it works / Compare /     16. Final CTA
        Services                     17. Footer
                                     18. Responsive breakpoints
                                     19. Sport programs (Find Your Sport, Injury Finder,
                                         /sports/ program pages) + own breakpoints
                                     20-28. Phase 2: editorial type, location switcher,
                                         testing, timeline, quiz, pay, audiences,
                                         testing.html, responsive
   Change brand colors, fonts, radius and spacing via :root tokens.
   ========================================================== */

/* ---------- Fonts (self-hosted, latin subset, variable weight; both SIL Open Font License) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-latin-var.woff2) format("woff2")}
@font-face{font-family:"Oswald";font-style:normal;font-weight:300 700;font-display:swap;src:url(assets/fonts/oswald-latin-var.woff2) format("woff2")}


/* ---------- Design tokens ---------- */
:root{
  --red:#C92728;
  --red-dark:#A81F20;
  --red-soft:rgba(201,39,40,.1);
  --ink:#0D0D0D;
  --ink-2:#1A1A1A;
  --ink-3:#262626;
  --text:#2B2B2B;
  --muted:#5F6368;
  --line:#E6E6E6;
  --light:#F5F5F3;
  --white:#FFFFFF;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 10px 30px rgba(13,13,13,.08);
  --shadow-lg:0 20px 50px rgba(13,13,13,.18);
  --font-head:"Oswald","Arial Narrow",Impact,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --container:1200px;
  --header-h:76px;
}
/* ---------- Base / reset / utilities ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}
body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--font-head);color:var(--ink);text-transform:uppercase;line-height:1.08;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.6rem,6vw,4.75rem);font-weight:700}
h2{font-size:clamp(2rem,4vw,3.1rem);font-weight:700}
h3{font-size:1.3rem;font-weight:600}
p{margin:0 0 1em}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}
.center{text-align:center}
.mt{margin-top:18px}.mt-lg{margin-top:40px}
.accent{color:var(--red)}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--red);color:#fff;padding:8px 14px;border-radius:8px;z-index:200}
.skip-link:focus{left:8px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-head);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;padding:14px 26px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;text-decoration:none;white-space:nowrap;line-height:1}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(201,39,40,.3)}
.btn-primary:hover{background:var(--red-dark)}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-outline-light{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.btn-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-ghost-light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25);backdrop-filter:blur(4px)}
.btn-ghost-light:hover{background:rgba(255,255,255,.2)}
.btn-sm{padding:10px 18px;font-size:.85rem}
.btn-lg{padding:17px 32px;font-size:1.02rem}
.btn-block{width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.btn-row.center{justify-content:center}

/* ---------- Eyebrows / section heads ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.16em;font-size:.85rem;font-weight:600;color:var(--red);margin-bottom:14px}
.eyebrow::before{content:"";width:28px;height:3px;background:var(--red);border-radius:3px}
.eyebrow-light{color:#fff}
.section{padding:96px 0}
.section-light{background:var(--light)}
.section-dark{background:var(--ink);color:rgba(255,255,255,.82)}
.section-dark h2,.section-dark h3{color:#fff}
.section-head{max-width:760px;margin-bottom:48px}
.section-head.center{margin-left:auto;margin-right:auto}
.section-head.center .eyebrow::after{content:"";width:28px;height:3px;background:var(--red);border-radius:3px}
.section-intro{font-size:1.1rem;color:var(--muted)}
.section-intro.light{color:rgba(255,255,255,.75)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(13,13,13,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.06);transition:box-shadow .2s}
.site-header.scrolled{box-shadow:0 8px 24px rgba(0,0,0,.35)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:20px}
.brand img{height:44px;width:auto}
.main-nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0}
.main-nav a{color:rgba(255,255,255,.85);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.92rem;font-weight:500}
.main-nav a:hover{color:#fff;text-decoration:none}
.header-actions{display:flex;align-items:center;gap:10px}
.call-menu{position:relative}
.call-dropdown{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:8px;min-width:230px}
.call-dropdown a{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:8px;color:var(--ink)}
.call-dropdown a:hover{background:var(--light);text-decoration:none}
.call-dropdown span{color:var(--red);font-weight:600}
.nav-toggle{display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-toggle span{width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-only{display:none}

/* ---------- Hero ---------- */
.hero{position:relative;color:#fff;min-height:min(calc(100vh - var(--header-h)),820px);display:flex;align-items:center;overflow:hidden;padding:80px 0 140px}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,13,.92) 0%,rgba(13,13,13,.7) 45%,rgba(13,13,13,.35) 100%),linear-gradient(0deg,rgba(13,13,13,.6),transparent 40%)}
.hero-inner{position:relative;display:grid;grid-template-columns:1.35fr .9fr;gap:56px;align-items:center}
.hero h1{color:#fff;margin-bottom:22px}
.hero .lead{font-size:1.18rem;color:rgba(255,255,255,.85);max-width:600px;margin-bottom:32px}
.hero-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:var(--radius);padding:32px}
.hero-card-title{color:#fff;font-size:1.6rem}
.hero-card p{color:rgba(255,255,255,.8);font-size:.98rem}
.hero-card-list{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:14px}
.hero-card-list li{display:flex;gap:14px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1)}
.hero-card-list li:last-child{border-bottom:0;padding-bottom:0}
.hero-card-list div{display:flex;flex-direction:column;line-height:1.35}
.hero-card-list strong{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:.88rem;color:#fff}
.hero-card-list a,.hero-card-list span{color:rgba(255,255,255,.85);font-size:1rem}
.dot{width:10px;height:10px;border-radius:50%;background:var(--red);margin-top:6px;flex:none;box-shadow:0 0 0 4px rgba(201,39,40,.25)}

/* ---------- Value cards ---------- */
.values{position:relative;z-index:2;margin-top:-90px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.value-card{background:var(--ink-2);color:rgba(255,255,255,.78);border-radius:var(--radius);padding:32px 28px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.06);border-top:4px solid var(--red)}
.value-card h3{color:#fff;font-size:1.35rem}
.value-card p{margin:0;font-size:.98rem}
.value-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;color:var(--red);margin-bottom:18px;background:rgba(201,39,40,.18)}

/* ---------- How it works ---------- */
.how-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.how-media img{width:100%;height:100%;max-height:720px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.steps{list-style:none;padding:0;margin:28px 0 32px;display:grid;gap:18px}
.step{display:flex;gap:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow)}
.step-num{font-family:var(--font-head);font-weight:700;font-size:2.6rem;line-height:1;color:var(--red);min-width:64px}
.step h3{margin-bottom:6px}
.step p{margin:0;color:var(--muted);font-size:.98rem}

/* ---------- Comparison table ---------- */
.table-wrap{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;-webkit-overflow-scrolling:touch}
.compare-table{width:100%;border-collapse:separate;border-spacing:0;min-width:820px;font-size:.96rem}
.compare-table th,.compare-table td{padding:18px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare-table thead th{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;font-weight:600;background:var(--ink-3);color:#fff}
.compare-table thead th:first-child{border-top-left-radius:var(--radius)}
.compare-table thead th:last-child{border-top-right-radius:var(--radius)}
.compare-table tbody th{font-weight:600;color:var(--ink);width:28%}
.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}
.compare-table td{color:var(--muted)}
.compare-table .col-itop{background:var(--red-soft);color:var(--ink);font-weight:500}
.compare-table thead .col-itop{background:var(--red);color:#fff}
.yes,.yes-muted,.no,.partial{display:inline-block;width:22px;height:22px;border-radius:50%;margin-right:10px;vertical-align:-5px;background-repeat:no-repeat;background-position:center;background-size:14px}
.yes{background-color:var(--red);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E")}
.yes-muted{background-color:#9AA0A6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E")}
.no{background-color:#D9D9D9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23555' d='M19 6.4 17.6 5 12 10.6 6.4 5 5 6.4 10.6 12 5 17.6 6.4 19l5.6-5.6 5.6 5.6 1.4-1.4-5.6-5.6z'/%3E%3C/svg%3E")}
.partial{background-color:#EDEDED;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23777' d='M5 11h14v2H5z'/%3E%3C/svg%3E")}

/* ---------- Services ---------- */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.service-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.service-card img{width:100%;aspect-ratio:4/3.4;object-fit:cover}
.service-body{padding:22px 22px 26px;border-top:4px solid var(--red)}
.service-body h3{font-size:1.18rem}
.service-body p{margin:0;color:var(--muted);font-size:.95rem}
.tools{margin-top:56px;background:var(--light);border-radius:var(--radius);padding:40px}
.tools-title{font-size:1.6rem}
.tools-intro{color:var(--muted)}
.chip-list{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.chip-list li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-weight:600;font-size:.92rem;color:var(--ink);display:flex;align-items:center;gap:10px}
.chip-list li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}

/* ---------- Who we treat ---------- */
.who{background:linear-gradient(135deg,var(--ink) 0%,#1d0707 100%)}
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.who-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.who-list li{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:18px 20px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:#fff;font-weight:500;border-left:4px solid var(--red)}
.who-list .who-extra{grid-column:1/-1;font-family:var(--font-body);text-transform:none;letter-spacing:0;font-weight:400;color:rgba(255,255,255,.8);background:rgba(201,39,40,.14);border-color:rgba(201,39,40,.4)}
.who-extra strong{color:#fff}

/* ---------- Conditions ---------- */
.conditions-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.conditions-grid li{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px 22px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:14px;transition:border-color .2s,box-shadow .2s,transform .2s}
.conditions-grid li::before{content:"";flex:none;width:34px;height:34px;border-radius:10px;background:var(--red-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23C92728' d='M10 17l5-5-5-5v10z'/%3E%3C/svg%3E") center/22px no-repeat}
.conditions-grid li:hover{border-color:var(--red);box-shadow:var(--shadow);transform:translateY(-2px)}

/* ---------- Partners ---------- */
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.partner-card{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);border-top:4px solid var(--red)}
.partner-sub{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;color:var(--red);font-weight:500}
.partner-card p:last-child{margin:0;color:var(--muted)}

/* ---------- Google reviews ---------- */
.review-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:-12px 0 44px}
.review-badge{display:inline-flex;align-items:center;gap:14px;background:#fff;color:var(--ink);border-radius:999px;padding:12px 24px 12px 16px;box-shadow:var(--shadow-lg);transition:transform .15s}
.review-badge:hover{text-decoration:none;transform:translateY(-2px)}
.review-badge .g-icon{width:28px;height:28px;flex:none}
.review-badge strong{display:block;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:1rem;line-height:1.2}
.badge-sub{display:block;font-size:.85rem;color:var(--muted)}
.stars{color:#F5B301;letter-spacing:1px;margin-right:4px}
.review-grid{columns:3 320px;column-gap:24px}
.review-card{break-inside:avoid;margin:0 0 24px;background:var(--ink-2);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:30px 28px 24px;position:relative;display:flex;flex-direction:column}
.review-card:hover{border-color:rgba(201,39,40,.5)}
.quote-mark{font-family:Georgia,serif;font-size:4.2rem;line-height:.6;color:var(--red);height:28px}
.review-card blockquote{margin:0 0 22px}
.review-card blockquote p{margin:0;color:rgba(255,255,255,.86);font-size:.98rem;line-height:1.65}
.review-card figcaption{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:18px}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-family:var(--font-head);font-weight:600;font-size:1.1rem;flex:none}
.reviewer{display:flex;flex-direction:column;line-height:1.35}
.reviewer strong{color:#fff;font-weight:600}
.review-meta{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:rgba(255,255,255,.6)}
.review-meta .g-icon{width:14px;height:14px}
.loc-tag{background:rgba(201,39,40,.2);color:#ff8f8f;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-right:4px}
.reviews-all{text-align:center;margin:16px 0 0;color:rgba(255,255,255,.75)}
.reviews-all a{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}
.pull-quote{margin:44px auto 0;max-width:760px;text-align:center}
.pull-quote blockquote{margin:0}
.pull-quote p{font-family:var(--font-head);text-transform:uppercase;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600;color:var(--ink);line-height:1.2;margin:0 0 10px}
.pull-quote figcaption{color:var(--muted);font-size:.92rem}
.pull-quote figcaption a{color:var(--red);font-weight:600}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;align-items:start}
.team-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.team-photo{width:100%;aspect-ratio:1/1.05;object-fit:cover;object-position:center top}
.team-photo.placeholder{display:grid;place-items:center;background:linear-gradient(145deg,var(--ink-3),var(--ink))}
.team-photo.placeholder span{font-family:var(--font-head);font-size:3rem;font-weight:700;color:var(--red);letter-spacing:.05em}
.team-body{padding:20px}
.team-body h3{margin-bottom:2px;font-size:1.2rem}
.creds{font-weight:700;color:var(--red);font-size:.85rem;margin:0 0 4px;letter-spacing:.03em}
.role{color:var(--muted);font-size:.9rem;margin-bottom:12px;line-height:1.4}
.team-body details summary{cursor:pointer;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--ink);font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:6px}
.team-body details summary::-webkit-details-marker{display:none}
.team-body details summary::after{content:"+";color:var(--red);font-size:1.1rem}
.team-body details[open] summary::after{content:"–"}
.team-body details p{font-size:.88rem;color:var(--muted);margin:12px 0 0;line-height:1.55}

/* ---------- Locations ---------- */
.locations{background:var(--ink) radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0/22px 22px}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.location-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);color:var(--text)}
.map-wrap{aspect-ratio:16/8;background:#ddd}
.map-wrap iframe{width:100%;height:100%;border:0;display:block}
.location-body{padding:28px 30px 32px}
.location-body h3{color:var(--ink);font-size:1.7rem}
.loc-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:12px}
.loc-list li{display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:.98rem}
.loc-label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--muted);padding-top:3px}
.hours-strip{text-align:center;margin:32px 0 0;color:rgba(255,255,255,.8)}
.hours-strip strong{color:#fff}

/* ---------- FAQ ---------- */
.faq-container{max-width:900px}
.faq-list{display:grid;gap:14px}
.faq-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.faq-item.open{border-color:var(--red);box-shadow:var(--shadow)}
.faq-item h3{margin:0;font-size:1rem}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:22px 64px 22px 24px;font-family:var(--font-body);font-size:1.05rem;font-weight:600;color:var(--ink);cursor:pointer;position:relative;text-transform:none;letter-spacing:0;line-height:1.4}
.faq-q::after{content:"";position:absolute;right:20px;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;background:var(--light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23C92728' d='M11 5h2v14h-2zM5 11h14v2H5z'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .25s}
.faq-q[aria-expanded="true"]::after{transform:rotate(45deg);background-color:var(--red-soft)}
.faq-a{padding:0 24px 22px;color:var(--muted)}
.faq-a p{margin:0}
.faq-cta{margin-top:40px;background:var(--ink);color:rgba(255,255,255,.8);border-radius:var(--radius);padding:40px;text-align:center}
.faq-cta h3{color:#fff;font-size:1.6rem}

/* ---------- Final CTA ---------- */
.final-cta{position:relative;overflow:hidden;color:#fff;padding:120px 0;text-align:center}
.final-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.final-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,.78),rgba(13,13,13,.9)),linear-gradient(90deg,rgba(201,39,40,.35),transparent 60%)}
.final-inner{position:relative;max-width:860px}
.final-cta h2{color:#fff;font-size:clamp(2.2rem,5vw,3.6rem)}
.final-cta .lead{font-size:1.15rem;color:rgba(255,255,255,.85);margin-bottom:32px}
.final-cta .eyebrow{justify-content:center}

/* ---------- Footer ---------- */
.site-footer{background:#080808;color:rgba(255,255,255,.7);padding:72px 0 0;font-size:.95rem}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.1fr 1fr;gap:40px}
.footer-brand img{height:52px;width:auto;margin-bottom:18px}
.footer-title{color:#fff;font-size:1rem;letter-spacing:.1em;margin-bottom:14px}
.footer-title.mt{margin-top:24px}
.footer-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer-list a{color:rgba(255,255,255,.75)}
.footer-list a:hover{color:#fff}
.footer-list.hours li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px}
.socials{display:flex;gap:10px;margin-top:18px}
.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff;transition:background .2s}
.socials a:hover{background:var(--red)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:56px;padding:24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.5)}
.footer-bottom p{margin:0}
.sms-note{max-width:640px}

/* ==========================================================
   Responsive breakpoints: 1180 / 1024 (mobile nav) / 860 / 700 (table → cards) / 600
   ========================================================== */
@media (max-width:1180px){
  .main-nav ul{gap:20px}
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .services-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  .nav-toggle{display:flex}
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--ink)}
  .main-nav{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:var(--ink);padding:24px;opacity:0;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease,visibility .25s;overflow-y:auto;visibility:hidden}
  .main-nav.open{transform:none;visibility:visible}
  .main-nav ul{flex-direction:column;gap:0}
  .main-nav li a{display:block;padding:16px 4px;font-size:1.15rem;border-bottom:1px solid rgba(255,255,255,.08)}
  .mobile-only{display:block}
  .mobile-nav-ctas{display:grid;gap:12px;margin-top:24px}
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero{max-height:none;min-height:0;padding:72px 0 130px}
  .hero-card{max-width:520px}
  .how-grid{grid-template-columns:1fr;gap:40px}
  .how-media img{max-height:420px}
  .who-grid{grid-template-columns:1fr;gap:32px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .values-grid,.partner-grid{grid-template-columns:1fr}
  .location-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .section{padding:72px 0}
}
@media (max-width:700px){
  .table-wrap{overflow:visible;background:transparent;box-shadow:none}
  .compare-table{min-width:0;display:block}
  .compare-table thead{display:none}
  .compare-table tbody{display:grid;gap:16px}
  .compare-table tr{display:block;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
  .compare-table tbody th{display:block;width:auto;background:var(--ink-3);color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:500;padding:14px 18px}
  .compare-table td{display:block;padding:12px 18px}
  .compare-table td::before{content:attr(data-label);display:block;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--muted);margin-bottom:4px}
  .compare-table td.col-itop::before{color:var(--red)}
  .compare-table tbody tr:last-child td{border-bottom:1px solid var(--line)}
  .compare-table tbody tr td:last-child{border-bottom:0}
}
@media (max-width:600px){
  body{font-size:16px}
  .review-badge{width:100%;border-radius:var(--radius)}
  .review-grid{columns:1}
  .container{padding:0 18px}
  :root{--header-h:66px}
  .brand img{height:36px}
  .call-toggle span{display:none}
  .call-toggle{padding:10px 12px}
  .services-grid{grid-template-columns:1fr}
  .who-list{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .team-photo{aspect-ratio:4/3.3}
  .tools{padding:28px 22px}
  .step{padding:20px;gap:16px}
  .step-num{font-size:2rem;min-width:44px}
  .footer-grid{grid-template-columns:1fr}
  .btn-lg{width:100%}
  .hero .btn-row,.final-cta .btn-row{flex-direction:column}
  .faq-cta{padding:30px 22px}
  .location-body{padding:24px 22px 28px}
  .loc-list li{grid-template-columns:1fr;gap:2px}
  .footer-bottom{padding:24px 18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}

/* ==========================================================
   SPORT PROGRAMS (added v1.3)
   Homepage "Find Your Sport" + "Injury Finder", and /sports/*.html program pages.
   ========================================================== */

/* ---------- Shared helpers ---------- */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.icon{display:inline-block;flex:none;vertical-align:middle}
.icon-sm{width:18px;height:18px}
.sport-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(201,39,40,.35)}
.sport-icon .icon{width:26px;height:26px}

/* ---------- Find your sport (homepage) ---------- */
.sport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sport-card{position:relative;min-height:520px;border-radius:var(--radius);overflow:hidden;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow);isolation:isolate}
.sport-card-media,.sport-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}
.sport-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,13,13,.2) 0%,rgba(13,13,13,.5) 38%,rgba(13,13,13,.94) 72%),radial-gradient(circle at 0% 100%,rgba(201,39,40,.4),transparent 60%)}
.sport-card:hover .sport-card-media img{transform:scale(1.05)}
.sport-card-body{padding:28px 26px 26px}
.sport-card .sport-icon{margin-bottom:16px}
.sport-cat{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:#ff9a9a;margin:0 0 6px;font-weight:600}
.sport-card h3{color:#fff;font-size:1.5rem;margin-bottom:14px}
.sport-conditions{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:6px}
.sport-conditions li{position:relative;padding-left:18px;font-size:.92rem;color:rgba(255,255,255,.82);line-height:1.45}
.sport-conditions li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--red)}
.sport-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.92rem;color:#fff}
.sport-link::after{content:"";position:absolute;inset:0;z-index:1}  /* stretched link: whole card clickable */
.sport-link:hover{text-decoration:none;color:#fff}
.sport-card:hover .sport-link .icon{transform:translateX(4px)}
.sport-link .icon{transition:transform .2s;color:var(--red)}
.sport-card:focus-within{outline:3px solid var(--red);outline-offset:3px}

/* ---------- Injury finder (homepage) ---------- */
.finder-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:28px}
.chip{display:inline-flex;align-items:center;padding:11px 20px;border-radius:999px;background:#fff;border:1.5px solid var(--line);color:var(--ink);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.chip:hover{border-color:var(--red);text-decoration:none}
.chip[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.finder-panels{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}   /* no-JS: all regions shown */
.finder-ui.is-enhanced .finder-panels{grid-template-columns:1fr}
.finder-ui.is-enhanced.show-all .finder-panels{grid-template-columns:repeat(2,1fr)}
.finder-panel{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;display:grid;grid-template-columns:1.4fr 1fr;gap:28px;border-top:4px solid var(--red)}
.finder-panel[hidden]{display:none}
.finder-panel h3{font-size:1.5rem}
.finder-conditions{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.finder-conditions li{position:relative;padding-left:22px;color:var(--text);font-size:.96rem;line-height:1.45}
.finder-conditions li::before{content:"";position:absolute;left:0;top:.4em;width:10px;height:10px;border-radius:3px;background:var(--red)}
.finder-ui.is-enhanced:not(.show-all) .finder-conditions{grid-template-columns:1fr 1fr;column-gap:24px}
.finder-panel-side{background:var(--light);border-radius:var(--radius-sm);padding:20px}
.finder-side-label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--muted);margin-bottom:12px}
.program-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.program-links a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.88rem;transition:border-color .2s,background .2s,color .2s}
.program-links a .icon{color:var(--red)}
.program-links a:hover{border-color:var(--red);background:var(--red);color:#fff;text-decoration:none}
.program-links a:hover .icon{color:#fff}
.program-links-center{justify-content:center;margin-top:8px}
.finder-note{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--muted);font-size:.9rem;margin:28px auto 0;max-width:820px}
.finder-note .icon{color:var(--red)}

/* ---------- Program pages: hero ---------- */
.program-hero{background:var(--ink);color:#fff;padding:56px 0 72px;position:relative;overflow:hidden}
.program-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(201,39,40,.25),transparent 45%),radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px) 0 0/22px 22px;pointer-events:none}
.program-hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:rgba(255,255,255,.6);margin-bottom:22px}
.breadcrumb a{color:rgba(255,255,255,.8)}
.program-eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#fff;font-size:.95rem;margin-bottom:18px}
.program-hero h1{color:#fff;font-size:clamp(2.3rem,4.6vw,3.9rem)}
.program-hero .lead{font-size:1.15rem;color:rgba(255,255,255,.82);max-width:580px;margin-bottom:30px}
.program-hero-media{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-lg)}
.program-hero-media img{width:100%;height:100%;object-fit:cover}
.program-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,13,13,.7)),linear-gradient(135deg,rgba(201,39,40,.22),transparent 60%)}

/* ---------- Program pages: overview, conditions, help ---------- */
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.overview-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);border-top:4px solid var(--red)}
.overview-title{font-size:1.5rem}
.overview-card p{margin:0;color:var(--muted)}
.demand-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.demand-list li{position:relative;padding-left:24px;color:var(--text)}
.demand-list li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:3px;background:var(--red);border-radius:3px}
.program-condition-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.program-condition-grid li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;font-weight:500;color:var(--ink);line-height:1.45}
.program-condition-grid .icon{color:var(--red);margin-top:2px}
.help-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.help-item{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.help-num{font-family:var(--font-head);font-weight:700;font-size:2rem;line-height:1;color:var(--red);min-width:46px}
.help-item p{margin:0;color:var(--text)}

/* ---------- Program pages: package, safeguard ---------- */
.package-section{padding-top:0}
.package-card{background:var(--ink) radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px) 0 0/22px 22px;color:rgba(255,255,255,.82);border-radius:var(--radius);padding:48px 32px;text-align:center;border:2px dashed rgba(201,39,40,.6)}
.package-card h2{color:#fff;margin:18px 0 12px;font-size:clamp(1.7rem,3vw,2.4rem)}
.package-card p{max-width:640px;margin:0 auto 26px}
.tp-badge{display:inline-block;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;background:var(--red);color:#fff;padding:6px 14px;border-radius:999px}
.safeguard-section{padding:0 0 80px}
.safeguard{display:flex;gap:18px;align-items:flex-start;background:#FFF6F6;border:1px solid rgba(201,39,40,.3);border-left:5px solid var(--red);border-radius:var(--radius-sm);padding:24px 26px}
.safeguard-icon{color:var(--red);margin-top:2px}
.safeguard-title{font-size:1.15rem;margin-bottom:6px}
.safeguard p{margin:0;color:var(--text);font-size:.95rem}
.safeguard .safeguard-extra{margin-top:8px}
.other-programs{background:var(--light)}

/* ---------- Sport programs: responsive ---------- */
@media (max-width:1024px){
  .sport-grid{grid-template-columns:repeat(2,1fr)}
  .program-hero-grid{grid-template-columns:1fr;gap:36px}
  .program-hero-media{aspect-ratio:16/10;max-height:460px}
  .finder-panels,.finder-ui.is-enhanced.show-all .finder-panels{grid-template-columns:1fr}
}
@media (max-width:760px){
  .finder-panel{grid-template-columns:1fr;gap:18px;padding:22px}
  .finder-ui.is-enhanced:not(.show-all) .finder-conditions{grid-template-columns:1fr}
  .overview-grid,.help-list{grid-template-columns:1fr}
}
@media (max-width:600px){
  .sport-grid{grid-template-columns:1fr}
  .sport-card{min-height:460px}
  .finder-chips{justify-content:flex-start}
  .chip{padding:9px 15px;font-size:.88rem}
  .program-condition-grid{grid-template-columns:1fr}
  .package-card{padding:36px 20px}
  .package-card .btn{width:100%}
  .finder-note{align-items:flex-start;text-align:left}
}

/* ==========================================================
   PHASE 2 (v2.0): testing-first, editorial
   ----------------------------------------------------------
   20. Editorial type system (stacked headings, oversized numbers, reveal)
   21. Location switcher (utility bar + visibility rules)
   22. Testing teaser + measured areas (homepage & testing.html)
   23. Injury to Optimal phase timeline
   24. Readiness check (quiz)
   25. Two ways to pay (+ insurer script)
   26. Audience tabs + teamwork
   27. testing.html: hero, tools, report anatomy, criteria, standalone testing
   28. Phase 2 responsive
   ========================================================== */

/* ---------- 20. Editorial type system ---------- */
:root{--util-h:40px;--stroke-dark:rgba(255,255,255,.22);--stroke-light:rgba(13,13,13,.16)}
html{scroll-padding-top:calc(var(--header-h) + var(--util-h) + 12px)}
.h-stack{line-height:.98;letter-spacing:.005em}
.h-stack .h-bold,.h-stack .h-light{display:block}
.h-stack .h-light{font-weight:300;color:var(--red)}
.hero h1.h-stack .h-light{color:#fff}
.h-stack.center{text-align:center}
.h-stack-sm{font-size:clamp(1.5rem,2.4vw,2rem)}
.big-num{display:block;font-family:var(--font-head);font-weight:700;font-size:clamp(3.6rem,6.5vw,6rem);line-height:.8;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px var(--stroke-light);user-select:none}
.section-dark .big-num,.value-card .big-num,.testing-teaser .big-num{-webkit-text-stroke-color:var(--stroke-dark)}
.big-num-sm{font-size:3rem}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.is-visible{opacity:1;transform:none}
/* link targets (id) fade in without the slide, so a #hash jump lands where it was aimed, below the sticky header */
.js .reveal[id]{transform:none}
.value-card{position:relative;overflow:hidden}
.value-card .big-num{position:absolute;top:18px;right:20px;font-size:4.6rem}
.hero-soft{display:inline-block;margin-top:22px;color:rgba(255,255,255,.85);font-size:.98rem;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px}
.hero-soft:hover{color:#fff;text-decoration:none;border-color:var(--red)}
.source-line{font-size:.85rem;color:var(--muted);margin-top:22px}

/* ---------- 21. Location switcher ---------- */
.utility-bar{background:#000;border-bottom:1px solid rgba(255,255,255,.08);font-size:.84rem;color:rgba(255,255,255,.7)}
.utility-inner{display:flex;align-items:center;gap:18px;min-height:var(--util-h)}
.clinic-switch{display:flex;align-items:center;gap:10px}
.clinic-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:rgba(255,255,255,.6)}
.clinic-buttons{display:inline-flex;background:rgba(255,255,255,.08);border-radius:999px;padding:3px}
.clinic-btn{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.8);font:600 .78rem/1 var(--font-head);text-transform:uppercase;letter-spacing:.08em;padding:7px 14px;border-radius:999px;cursor:pointer}
.clinic-btn:hover{color:#fff}
.clinic-btn[aria-pressed="true"]{background:var(--red);color:#fff}
.clinic-clear,.footer-switch,.clinic-set-btn{appearance:none;border:0;background:none;color:rgba(255,255,255,.6);font:inherit;font-size:.8rem;cursor:pointer;text-decoration:underline;padding:4px}
.clinic-clear:hover,.footer-switch:hover{color:#fff}
.clinic-info{margin:0;display:flex;gap:6px;flex-wrap:wrap}
.clinic-info a{color:rgba(255,255,255,.88)}
.clinic-info .sep{margin:0 6px;color:rgba(255,255,255,.3)}
.utility-cta{margin-left:auto;color:rgba(255,255,255,.75);white-space:nowrap}
.utility-cta strong{color:#fff;border-bottom:1px solid var(--red)}
.utility-cta:hover{text-decoration:none;color:#fff}
/* visibility rules (html[data-clinic] is set by an inline script in <head> and by main.js) */
html[data-clinic="lubbock"] [data-clinic="colleyville"],
html[data-clinic="colleyville"] [data-clinic="lubbock"],
html[data-clinic] [data-clinic-none],
html:not([data-clinic]) [data-clinic-chosen]{display:none!important}
[data-clinic-only]{display:none!important}
html[data-clinic="lubbock"] [data-clinic-only="lubbock"],
html[data-clinic="colleyville"] [data-clinic-only="colleyville"]{display:revert!important}
.hero-dir{font-size:.85rem!important;color:rgba(255,255,255,.7)!important;margin-top:2px}
.location-card{position:relative;display:flex;flex-direction:column}
.your-clinic{display:none;position:absolute;top:16px;left:16px;z-index:2;background:var(--red);color:#fff;font:600 .75rem/1 var(--font-head);text-transform:uppercase;letter-spacing:.12em;padding:8px 12px;border-radius:999px}
html[data-clinic="lubbock"] [data-clinic-card="lubbock"],html[data-clinic="colleyville"] [data-clinic-card="colleyville"]{order:-1;outline:3px solid var(--red);outline-offset:4px}
html[data-clinic="lubbock"] [data-clinic-card="lubbock"] .your-clinic,html[data-clinic="colleyville"] [data-clinic-card="colleyville"] .your-clinic{display:block}
html[data-clinic="lubbock"] [data-clinic-card="lubbock"] .clinic-set-btn,html[data-clinic="colleyville"] [data-clinic-card="colleyville"] .clinic-set-btn{display:none}
.clinic-set-btn{color:var(--muted);margin-top:14px}
.clinic-set-btn:hover{color:var(--red)}
.footer-switch{margin-top:12px;padding-left:0}

/* ---------- 22. Testing teaser + measured areas ---------- */
.testing-teaser{background:radial-gradient(circle at 85% 0%,rgba(201,39,40,.22),transparent 45%),var(--ink)}
.teaser-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:56px}
.teaser-head h2{margin:0}
.teaser-head .section-intro{margin:0}
.area-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.area{padding:28px 26px 8px 0;border-right:1px solid var(--line);margin-right:26px}
.area:last-child{border-right:0;margin-right:0}
.area .big-num{margin-bottom:18px}
.area h3{font-size:1.45rem;margin-bottom:12px}
.area h3 .h-light{font-size:1rem;letter-spacing:.06em;margin-top:6px}
.area p{font-size:.96rem;color:var(--muted);margin:0}
.area-grid-dark{border-color:rgba(255,255,255,.12)}
.area-grid-dark .area{border-color:rgba(255,255,255,.12)}
.area-grid-dark .area p{color:rgba(255,255,255,.7)}
.area-grid-dark h3{color:#fff}
.device-strip{list-style:none;margin:48px 0 40px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.device-strip li{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:rgba(255,255,255,.03)}
.device-strip .icon{color:var(--red);flex:none;margin-top:2px}
.device-strip strong{display:block;color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.device-strip span{font-size:.9rem;color:rgba(255,255,255,.65)}

/* ---------- 23. Injury to Optimal timeline (light by default; .path-dark on testing.html) ---------- */
.path{background:var(--light)}
.path-wrap{position:relative;margin-top:8px}
.path-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;position:relative}
.path-line{position:absolute;left:0;right:0;top:9px;height:2px;background:rgba(13,13,13,.12)}
.path-fill{position:absolute;left:0;top:0;height:100%;width:100%;background:var(--red);transition:width .5s ease,height .5s ease}
.path-wrap.is-enhanced .path-fill{width:0}
.path-phase{position:relative;padding-top:40px;transition:opacity .4s ease}
.path-dot{position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;background:var(--light);border:2px solid var(--red);transition:background .3s,box-shadow .3s}
.path-wrap.is-enhanced .path-phase{opacity:.4}
.path-wrap.is-enhanced .path-phase.is-done{opacity:1}
.path-phase.is-done .path-dot{background:var(--red)}
.path-phase.is-current .path-dot{box-shadow:0 0 0 6px rgba(201,39,40,.22)}
.path-phase .big-num{font-size:3.6rem;margin-bottom:10px}
.path-phase.is-current .big-num{-webkit-text-stroke-color:var(--red)}
.path-name{font-size:1.6rem;margin-bottom:14px}
.path-dl{margin:0;font-size:.92rem;color:var(--text)}
.path-dl dt{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted);margin-top:14px}
.path-dl dd{margin:4px 0 0}
.path-check-label{display:flex;align-items:center;gap:6px;color:var(--red)!important}
.path-check{color:var(--ink);font-weight:500;border-left:2px solid var(--red);padding-left:10px}
.path-note{display:flex;gap:10px;align-items:flex-start;margin:44px 0 28px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-size:.96rem;max-width:860px}
.path-note .icon,.crit-note .icon,.dont-do .icon,.quiz-disclaimer .icon{flex:none;color:var(--red);margin-top:3px}
/* dark variant */
.path-dark{background:linear-gradient(180deg,var(--ink) 0%,#151515 100%);color:rgba(255,255,255,.8)}
.path-dark .path-line{background:rgba(255,255,255,.14)}
.path-dark .path-dot{background:var(--ink)}
.path-dark .big-num{-webkit-text-stroke-color:var(--stroke-dark)}
.path-dark .path-name{color:#fff}
.path-dark .path-dl{color:rgba(255,255,255,.72)}
.path-dark .path-dl dt{color:rgba(255,255,255,.5)}
.path-dark .path-check{color:#fff}
.path-dark .path-note{background:transparent;border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.85)}

/* ---------- 24. Readiness check ---------- */
.quiz-section{background:radial-gradient(circle at 0% 100%,rgba(201,39,40,.25),transparent 50%),var(--ink);color:rgba(255,255,255,.8)}
.quiz-section .section-intro{color:rgba(255,255,255,.75)}
.quiz-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.quiz-disclaimer{display:flex;gap:8px;font-size:.85rem;color:rgba(255,255,255,.6);margin-top:22px}
.quiz-intro h2{color:#fff}
.quiz{color:var(--text);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:36px;border-top:4px solid var(--red)}
.quiz-dots{list-style:none;display:none;gap:8px;margin:0 0 22px;padding:0}
.quiz.is-enhanced .quiz-dots{display:flex}
.quiz-dots li{width:28px;height:6px;border-radius:6px;background:var(--line);transition:background .3s,width .3s}
.quiz-dots li.is-done{background:var(--red)}
.quiz-dots li.is-current{background:var(--ink);width:44px}
.quiz-steps{display:none}
.quiz.is-enhanced .quiz-steps{display:block}
.quiz-step{border:0;margin:0;padding:0;min-width:0}
.quiz-q{font-family:var(--font-head);text-transform:uppercase;font-size:1.55rem;font-weight:600;color:var(--ink);line-height:1.15;margin-bottom:20px;padding:0;outline:none}
.quiz-count{display:block;font-size:.78rem;letter-spacing:.14em;color:var(--red);margin-bottom:8px}
.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quiz-option{position:relative;display:block;cursor:pointer}
.quiz-option input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.quiz-option span{display:flex;align-items:center;min-height:76px;height:100%;padding:16px 18px;border:2px solid var(--line);border-radius:var(--radius-sm);font-weight:600;color:var(--ink);transition:border-color .2s,background .2s,transform .15s}
.quiz-option:hover span{border-color:var(--ink)}
.quiz-option input:focus-visible+span{outline:3px solid var(--red);outline-offset:3px}
.quiz-option input:checked+span{border-color:var(--red);background:var(--red-soft)}
.quiz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.quiz-nav [hidden]{display:none}
.quiz-nav .quiz-next{margin-left:auto}
.quiz-results-label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:var(--muted)}
.quiz.is-enhanced .quiz-results-label{display:none}
.quiz-result{padding:22px 0;border-bottom:1px solid var(--line)}
.quiz.is-enhanced .quiz-result{padding:0;border:0}
.quiz-result h3{font-size:1.9rem;outline:none}
.quiz-note{font-weight:600;color:var(--ink)}
.quiz-note:empty{display:none}
.quiz-restart{display:none;appearance:none;background:none;border:0;color:var(--muted);font:inherit;font-size:.9rem;cursor:pointer;margin-top:18px;align-items:center;gap:6px;padding:0}
.quiz.is-enhanced .quiz-restart{display:inline-flex}
.quiz-restart:hover{color:var(--red)}

/* ---------- 25. Two ways to pay ---------- */
.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pay-card{position:relative;overflow:hidden;border-radius:var(--radius);padding:40px 36px;background:var(--light);border:1px solid var(--line)}
.pay-cash{background:var(--ink);color:rgba(255,255,255,.8);border-color:var(--ink)}
.pay-cash h3{color:#fff}
.pay-card .big-num{position:absolute;top:22px;right:26px}
.pay-cash .big-num{-webkit-text-stroke-color:var(--stroke-dark)}
.pay-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--red);color:#fff;margin-bottom:22px}
.pay-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}
.pay-points li,.aud-list li,.tick-list li{display:flex;gap:10px;align-items:flex-start}
.pay-points .icon,.aud-list .icon,.tick-list .icon{flex:none;color:var(--red);margin-top:4px}
.pay-bottom{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;margin-top:28px;align-items:start}
.pay-rates{padding:28px 0}
.pay-rates p{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-size:1.3rem;color:var(--ink)}
.script-box{border:2px dashed rgba(13,13,13,.18);border-radius:var(--radius);padding:26px 28px}
.script-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.script-head h3{margin:0}
.script-sub{color:var(--muted);font-size:.92rem;margin:8px 0 12px}
.script-text{margin:0;white-space:pre-wrap;font-family:var(--font-body);font-size:.95rem;line-height:1.7;color:var(--ink);background:var(--light);border-radius:var(--radius-sm);padding:18px 20px}

/* ---------- 26. Audience tabs + teamwork ---------- */
.aud-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid var(--line);margin-bottom:34px}
.aud-tab{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:1rem;color:var(--muted);padding:14px 20px;border-bottom:3px solid transparent;margin-bottom:-2px}
.aud-tab:hover{color:var(--ink);text-decoration:none}
.aud-tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--red)}
.aud-panels{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.aud.is-enhanced .aud-panels{display:block}
.aud-panel{background:var(--light);border-radius:var(--radius);padding:36px}
.aud.is-enhanced .aud-panel{display:grid;grid-template-columns:.8fr 1.2fr auto;gap:36px;align-items:center}
.aud-panel h3{margin:0}
.aud-list{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:12px}
.aud.is-enhanced .aud-list{margin:0}
.aud.is-enhanced .aud-panel[hidden]{display:none}
.teamwork{margin-top:56px;display:grid;grid-template-columns:1fr;gap:20px}
.teamwork-title{font-size:1.5rem}
.teamwork-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.teamwork-steps li{display:flex;gap:16px;align-items:flex-start}
.teamwork-steps h4{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 6px;color:var(--ink);font-size:1.1rem}
.teamwork-steps p{margin:0;font-size:.95rem;color:var(--muted)}
.dont-do{display:flex;gap:10px;align-items:flex-start;margin:8px 0 0;padding:16px 20px;background:var(--light);border-left:4px solid var(--ink);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.95rem}

/* ---------- 27. testing.html ---------- */
.testing-page .site-header{position:sticky}
.testing-hero{position:relative;background:var(--ink);color:#fff;padding:90px 0 70px;overflow:hidden}
.testing-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:grayscale(1) contrast(1.1)}
.testing-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,13,.95) 0%,rgba(13,13,13,.82) 50%,rgba(13,13,13,.45) 100%),radial-gradient(circle at 0% 100%,rgba(201,39,40,.35),transparent 55%)}
.testing-hero-inner{position:relative}
.testing-hero h1{color:#fff;font-size:clamp(2.8rem,6.4vw,5.4rem);max-width:900px;margin-bottom:24px}
.testing-hero .lead{max-width:640px;font-size:1.15rem;color:rgba(255,255,255,.85);margin-bottom:30px}
.testing-jump{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin:48px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.14)}
.testing-jump a{color:rgba(255,255,255,.75);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem}
.testing-jump a:hover{color:#fff}
.device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.device-card{border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;background:#fff;box-shadow:var(--shadow);border-top:4px solid var(--red)}
.device-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--ink);color:#fff;margin-bottom:18px}
.device-tag{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--red);margin-bottom:6px}
.device-card h3{font-size:1.5rem}
.device-sub{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--muted);margin:20px 0 8px;font-weight:600}
.device-list{margin:0;padding-left:18px;font-size:.95rem}
.device-list li{margin-bottom:6px}
.device-card p{font-size:.95rem;margin:0}
/* report anatomy */
.anatomy-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.report{position:relative;margin:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:26px;overflow:hidden;border:1px solid var(--line)}
.report-watermark{position:absolute;left:50%;top:55%;z-index:3;transform:translate(-50%,-50%) rotate(-16deg);font-family:var(--font-head);font-weight:700;font-size:7rem;text-transform:uppercase;color:rgba(201,39,40,.12);pointer-events:none;letter-spacing:.08em;white-space:nowrap}
.report-head{display:flex;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}
.report-head img{height:30px;width:auto}
.report-title{font-family:var(--font-head);text-transform:uppercase;font-weight:600;letter-spacing:.06em;color:var(--ink);margin:0;line-height:1.1}
.report-meta{margin:2px 0 0;font-size:.8rem;color:var(--muted)}
.report-tag{margin-left:auto;background:var(--red);color:#fff;font:600 .72rem/1 var(--font-head);text-transform:uppercase;letter-spacing:.12em;padding:7px 10px;border-radius:6px}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}
.r-tile{position:relative;background:var(--light);border-radius:var(--radius-sm);padding:16px 16px 18px}
.r-label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--muted);margin:0 0 6px;padding-right:34px}
.r-val{font-family:var(--font-head);font-size:1.7rem;color:rgba(13,13,13,.3);margin:0 0 8px;line-height:1}
.ph-bar{display:block;height:10px;border-radius:6px;background:repeating-linear-gradient(-45deg,rgba(13,13,13,.1) 0 6px,rgba(13,13,13,.04) 6px 12px);flex:1}
.ph-lr{display:grid;grid-template-columns:auto 1fr auto;gap:8px 10px;align-items:center;font-size:.78rem;font-weight:700;color:var(--muted)}
.ph-dash{color:rgba(13,13,13,.3)}
.ph-scale{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;color:var(--muted);margin-top:12px}
.ph-track{position:relative;flex:1;height:10px;border-radius:6px;background:repeating-linear-gradient(-45deg,rgba(13,13,13,.1) 0 6px,rgba(13,13,13,.04) 6px 12px)}
.ph-mid{position:absolute;left:50%;top:-5px;bottom:-5px;width:2px;background:rgba(13,13,13,.35)}
.ph-q{position:absolute;left:50%;top:-26px;transform:translateX(-50%);font-family:var(--font-head);color:rgba(13,13,13,.35)}
.ph-curve{width:100%;height:auto;color:rgba(13,13,13,.35);font-family:var(--font-head)}
.report-cap{font-size:.8rem;color:var(--muted);margin-top:14px}
.hotspot{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font:700 .9rem/1 var(--font-head);box-shadow:0 0 0 4px rgba(201,39,40,.18);transition:background .2s,transform .2s}
.hotspot:hover{text-decoration:none;background:var(--red)}
.hotspot.is-active{background:var(--red);transform:scale(1.12);box-shadow:0 0 0 6px rgba(201,39,40,.25)}
.metric-defs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.metric-def{display:flex;gap:16px;padding:16px 18px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;transition:border-color .2s,box-shadow .2s;cursor:default;outline:none}
.metric-def h3{font-size:1.1rem;margin:2px 0 6px}
.metric-def p{font-size:.92rem;margin:0 0 4px}
.metric-num{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--light);color:var(--ink);font:700 .9rem/1 var(--font-head)}
.anatomy-grid.is-enhanced .metric-def p{display:none}
.anatomy-grid.is-enhanced .metric-def.is-active p{display:block}
.metric-def.is-active{border-color:var(--red);box-shadow:var(--shadow)}
.metric-def.is-active .metric-num{background:var(--red);color:#fff}
/* criteria */
.crit-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.crit{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.crit-target{font-family:var(--font-head);font-weight:700;font-size:2.6rem;line-height:1;color:var(--red)}
.crit h3{font-size:1.25rem;margin-bottom:6px}
.crit p{margin:0 0 6px;font-size:.96rem}
.crit-src{font-size:.85rem!important;color:var(--muted)}
.findings{margin-top:48px;background:var(--light);border-radius:var(--radius);padding:32px}
.findings-title{font-size:1.3rem}
.findings-list{margin:0;padding-left:20px;display:grid;gap:12px}
.findings-list p{margin:0}
.crit-note{display:flex;gap:10px;align-items:flex-start;margin:28px 0;padding:16px 20px;border-left:4px solid var(--red);background:var(--red-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.95rem}
.refs-title{font-size:1rem;letter-spacing:.1em;margin-top:20px}
.refs{font-size:.85rem;color:var(--muted);padding-left:20px;display:grid;gap:8px}
.refs a{word-break:break-all}
/* standalone testing */
.get-tested{background:radial-gradient(circle at 100% 100%,rgba(201,39,40,.3),transparent 50%),var(--ink)}
.get-tested-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.share-note{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.88);margin:22px 0 10px}
.share-note .icon{flex:none;color:var(--red);margin-top:4px}
.rates-note{color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;margin-bottom:24px}
.get-tested-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:32px}
.tick-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;color:rgba(255,255,255,.82)}

/* ---------- 28. Phase 2 responsive ---------- */
@media (max-width:1180px){
  .utility-cta{display:none}
}
@media (max-width:1024px){
  .main-nav{top:calc(var(--header-h) + var(--util-h))}
  .teaser-head{grid-template-columns:1fr;gap:18px}
  .area-grid{grid-template-columns:repeat(2,1fr)}
  .area:nth-child(2){border-right:0;margin-right:0}
  .area{padding-bottom:26px}
  .device-grid{grid-template-columns:1fr 1fr}
  .quiz-grid,.anatomy-grid,.get-tested-grid{grid-template-columns:1fr;gap:36px}
  .aud.is-enhanced .aud-panel{grid-template-columns:1fr;gap:20px;justify-items:start}
  .pay-bottom{grid-template-columns:1fr}
}
@media (max-width:900px){
  .path-track{grid-template-columns:1fr;gap:0}
  .path-line{left:9px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .path-wrap.is-enhanced .path-fill{width:100%;height:0}
  .path-phase{padding:0 0 36px 46px}
  .path-dot{top:4px}
  .path-phase .big-num{font-size:2.8rem}
  .teamwork-steps{grid-template-columns:1fr;gap:20px}
}
@media (max-width:760px){
  .clinic-info .addr,.clinic-info .addr+.sep{display:none}
  .pay-grid,.device-strip,.device-grid,.aud-panels{grid-template-columns:1fr}
  .crit{grid-template-columns:1fr;gap:8px}
  .quiz-options{grid-template-columns:1fr}
  .quiz-option span{min-height:58px}
}
@media (max-width:600px){
  :root{--util-h:44px}
  .utility-inner{gap:8px}
  .clinic-info{display:none}
  .clinic-label span{display:none}
  .clinic-btn{padding:8px 12px}
  .area-grid{grid-template-columns:1fr}
  .area{border-right:0;margin-right:0;border-bottom:1px solid var(--line)}
  .area-grid-dark .area{border-color:rgba(255,255,255,.12)}
  .pay-card,.quiz,.aud-panel{padding:28px 22px}
  .report{padding:18px}
  .report-grid{grid-template-columns:1fr}
  .report-tag{margin-left:0}
  .report-watermark{font-size:4.2rem}
  .script-head{flex-direction:column;align-items:flex-start}
  .value-card .big-num{font-size:3.6rem}
  .aud-tab{padding:12px 12px;font-size:.9rem}
  .get-tested .btn-row{flex-direction:column;align-items:stretch}
  .aud-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0}
  .aud-tab{white-space:nowrap}
  .service-card img{aspect-ratio:16/9;height:auto}
}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none}
  .path-fill{transition:none}
}
/* hidden attribute always wins inside enhanced widgets */
.quiz [hidden],.aud [hidden],.finder-ui [hidden]{display:none!important}
.main-nav a[aria-current="page"]{color:#fff;box-shadow:inset 0 -2px 0 var(--red)}
.big-num::before,.report-watermark::before{content:attr(data-num)}
.value-card a{color:#FF8A8A;text-decoration:underline}
.source-line a,.refs a,.crit-src a{text-decoration:underline}

/* =====================================================================
   29. DRAFT RECOVERY PACKAGES (sport pages, packages.html)
   Draft styling is driven by SHOW_DRAFT in the build config
   (adds .is-draft, the .draft-tag and the .ph [__] blanks).
   ===================================================================== */
.draft-tag{display:inline-flex;align-items:center;gap:8px;margin:14px 0 4px;padding:7px 14px;border:1.5px dashed var(--red);border-radius:999px;background:#fff;color:var(--red-dark);font-size:.82rem;font-weight:700;letter-spacing:.02em}
.testing-hero .draft-tag{background:rgba(13,13,13,.6);color:#fff;border-color:#FF8A8A}
.ph{display:inline-block;min-width:2.6em;padding:0 4px;border-bottom:2px dashed var(--red);background:var(--red-soft);color:var(--red-dark);font-weight:700;text-align:center}
.pkg-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}
.pkg-tier{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px 24px;box-shadow:var(--shadow)}
.is-draft .pkg-tier{border:1.5px dashed rgba(201,39,40,.45)}
.pkg-tier-recover{background:var(--ink);color:rgba(255,255,255,.82);border-color:var(--ink)}
.is-draft .pkg-tier-recover{border-color:rgba(255,138,138,.6)}
.pkg-tier-recover .h-bold,.pkg-tier-recover strong{color:#fff}
.pkg-tier-recover .big-num{-webkit-text-stroke-color:rgba(255,255,255,.35)}
.pkg-tier-recover .ph{background:rgba(255,138,138,.15);color:#FFB3B3;border-color:#FF8A8A}
.pkg-tier-top{display:flex;align-items:flex-end;gap:14px;margin-bottom:14px}
.pkg-tier-top .h-stack{margin:0}
.pkg-tier-top .big-num{line-height:.8}
.pkg-for{font-size:.94rem;margin:0 0 10px}
.pkg-length{margin:0 0 6px;font-size:.92rem}
.pkg-label{margin:16px 0 8px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;color:var(--red)}
.pkg-tier-recover .pkg-label{color:#FF8A8A}
.pkg-focus{margin:0;padding-left:18px;font-size:.93rem}
.pkg-focus li{margin:4px 0}
.pkg-tx{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pkg-tx a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;background:var(--light);color:inherit;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s}
.pkg-tx a:hover{background:var(--red-soft)}
.pkg-tx .icon{flex:none;color:var(--red)}
.pkg-tier-recover .pkg-tx a{background:rgba(255,255,255,.07)}
.pkg-tier-recover .pkg-tx a:hover{background:rgba(255,255,255,.14)}
.pkg-tier-recover .pkg-tx .icon{color:#FF8A8A}
.pkg-check{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem}
.pkg-tier-recover .pkg-check{border-color:rgba(255,255,255,.15)}
.pkg-check .icon{flex:none;color:var(--red);margin-top:2px}
.pkg-tier-recover .pkg-check .icon{color:#FF8A8A}
.pkg-price{margin:auto 0 0;padding-top:16px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.9rem}
.pkg-coverage{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:26px 0 0;color:var(--muted);font-size:.93rem}
.pkg-coverage .icon{color:var(--red)}
.pkg-coverage a{color:var(--red-dark);font-weight:600;text-decoration:underline}
.pkg-section .btn-row{margin-top:22px;align-items:center}
.pkg-compare,.pkg-group-head .sport-link{color:var(--ink)}
.pkg-compare:hover,.pkg-group-head .sport-link:hover{color:var(--red)}
.sport-links{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.sport-link-muted{color:rgba(255,255,255,.7);text-decoration:underline;text-underline-offset:4px}
.sport-link-muted:hover{color:#fff}
/* packages.html */
.pkg-hero{min-height:0}
.pkg-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.pkg-filter .chip{gap:8px}
.pkg-filter .chip .icon{color:currentColor}
.pkg-group{padding:44px 0 50px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 50px)}
.pkg-group:last-child{border-bottom:0}
.pkg-group-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.pkg-group-head>div{flex:1 1 260px}
.pkg-group-title{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:0}
.pkg-group-head p{margin:2px 0 0;color:var(--muted)}
.pkg-group .pkg-tiers{margin-top:24px}
.gloss-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:34px 0 0}
.gloss-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px 22px;scroll-margin-top:calc(var(--header-h) + 50px)}
.gloss-item:target{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.gloss-item dt{display:flex;align-items:center;gap:10px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--ink)}
.gloss-item dt .icon{color:var(--red);flex:none}
.gloss-item dd{margin:8px 0 0;font-size:.93rem}
[data-pkg-group][hidden]{display:none!important}
@media (max-width:1024px){
  .pkg-tiers{grid-template-columns:1fr;max-width:640px}
  .gloss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .gloss-grid{grid-template-columns:1fr}
  .pkg-tier{padding:24px 20px}
  .pkg-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
  .pkg-filter .chip{flex:none}
  .pkg-section .btn-row .btn{width:100%}
}
.pkg-tier-top{flex-direction:column;align-items:flex-start;gap:8px}
.section-head .draft-tag{margin-bottom:14px}
.pkg-compare::after,.pkg-group-head .sport-link::after{content:none}
.sport-link-muted{position:relative;z-index:2}
.sport-link-muted::after{content:none}

/* =====================================================================
   30. SPORT PAGE IMAGERY: photo band + gallery mosaic
   Text over photos sits on a ≥.78 black overlay plus dark cards (WCAG AA).
   ===================================================================== */
.photo-band{position:relative;overflow:hidden;background:var(--ink);isolation:isolate}
.band-bg{position:absolute;inset:-12% 0;z-index:-2;display:block}
.band-bg img{width:100%;height:100%;object-fit:cover;will-change:transform}
.band-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(13,13,13,.9) 0%,rgba(13,13,13,.8) 55%,rgba(13,13,13,.72) 100%),linear-gradient(0deg,rgba(13,13,13,.6),transparent 40%)}
.photo-band .overview-card{background:rgba(13,13,13,.72);border-color:rgba(255,255,255,.14);box-shadow:none;backdrop-filter:blur(3px);color:#fff}
.photo-band .overview-title{color:#fff}
.photo-band .overview-card p,.photo-band .demand-list li{color:rgba(255,255,255,.88)}
.program-overview.photo-band{padding:110px 0}
.program-gallery{padding:0;margin-top:-56px;position:relative;z-index:2}
.gallery-grid{display:grid;grid-template-columns:7fr 5fr;gap:18px}
.gallery-tile{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--ink);height:460px}
.gallery-tile picture,.gallery-tile img{display:block;width:100%;height:100%}
.gallery-tile img{object-fit:cover;transition:transform .8s ease}
.gallery-tile:hover img{transform:scale(1.03)}
.gallery-tile-1{position:relative}
.gallery-tile-1::after{content:"";position:absolute;left:0;bottom:0;width:38%;height:6px;background:var(--red)}
.program-gallery + .program-conditions{padding-top:90px}
@media (max-width:760px){
  .program-overview.photo-band{padding:72px 0 96px}
  .gallery-grid{grid-template-columns:1fr 1fr;gap:10px}
  .gallery-tile{height:260px}
  .program-gallery{margin-top:-40px}
}
@media (prefers-reduced-motion:reduce){ .band-bg img{transform:none!important} .gallery-tile img{transition:none} }
.program-gallery{background:linear-gradient(var(--ink) 0,var(--ink) 56px,var(--light) 56px)}@media (max-width:760px){.program-gallery{background:linear-gradient(var(--ink) 0,var(--ink) 40px,var(--light) 40px)}}

/* =====================================================================
   31. THE iTOP DIFFERENCE: TECHNOLOGY (testing.html, homepage teaser, sport-page callout)
   ===================================================================== */
.tech{background:#fff}
.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.tech-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.tech-card-media{position:relative;background:var(--ink) radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0/18px 18px;padding:26px 30px 18px;border-bottom:4px solid var(--red)}
.tech-viz{display:block;width:100%;max-width:300px;height:auto;margin:0 auto}
.v-plate{fill:#3a3a3a;stroke:#6a6a6a}
.v-bar{fill:var(--red)}.v-bar-alt{fill:#f2eeee;opacity:.85}
.v-axis{stroke:#6a6a6a;stroke-width:2;fill:none}
.v-line{stroke:var(--red);stroke-width:4;fill:none;stroke-linecap:round}.v-line-alt{stroke:#f2eeee;opacity:.7;stroke-width:3}
.v-lbl{fill:#bdbdbd;font:600 12px var(--font-body)}
.tech-viz-cap{position:absolute;right:12px;bottom:8px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#bdbdbd}
.tech-card-body{padding:28px 30px 26px}
.tech-card-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.tech-card-top h3{margin:0;font-size:clamp(1.35rem,2vw,1.7rem)}
.tech-card .device-icon{flex:none}
.tech-what{margin:0 0 6px}
.tech-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.tech-label{margin:18px 0 8px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600;color:var(--red-dark)}
.tech-meas{margin:0;padding-left:18px;font-size:.93rem}.tech-meas li{margin:5px 0}
.tech-get{list-style:none;margin:0;padding:0;font-size:.93rem;display:grid;gap:7px}
.tech-get li{display:flex;gap:8px;align-items:flex-start}
.tech-get .icon{flex:none;color:var(--red);margin-top:3px}
.tech-why{margin:20px 0 0;padding:14px 16px;border-left:4px solid var(--red);background:var(--light);border-radius:0 10px 10px 0;font-size:.95rem}
.tech-src{margin:14px 0 0;font-size:.82rem;color:var(--muted)}
.tech-src a{color:var(--red-dark);text-decoration:underline}
.tech-clinician{display:flex;gap:10px;align-items:flex-start;margin:22px 0 0;color:var(--muted);font-size:.95rem}
.tech-clinician .icon{color:var(--red);flex:none;margin-top:2px}
.tech-sub{margin-top:72px}
.tech-sub>.h-stack{margin-bottom:22px}
.tech-note{margin:14px 0 0;font-size:.85rem;color:var(--muted)}
.tech-compare-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line)}
.tech-compare{width:100%;border-collapse:collapse;min-width:620px;background:#fff}
.tech-compare th,.tech-compare td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:.95rem}
.tech-compare tbody tr:last-child th,.tech-compare tbody tr:last-child td{border-bottom:0}
.tech-compare thead th{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;background:var(--light);color:var(--muted)}
.tech-compare thead th:last-child{background:var(--red);color:#fff}
.tech-compare tbody th{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--ink);width:20%}
.tc-typ{color:var(--muted);width:36%}
.tc-itop{background:rgba(201,39,40,.05);font-weight:600;color:var(--ink)}
.tc-itop .icon{color:var(--red);margin-right:8px;vertical-align:-3px}
.tsteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:none}
.tstep{position:relative;background:var(--light);border-radius:var(--radius);padding:24px 22px}
.tstep .big-num{position:absolute;right:16px;top:10px}
.tstep-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;margin-bottom:14px}
.tstep h3{font-size:1.2rem;margin:0 0 6px}
.tstep p{margin:0;font-size:.93rem}
.tstep:not(:last-child)::after{content:"";position:absolute;top:50px;right:-14px;width:10px;height:10px;border-top:2px solid var(--red);border-right:2px solid var(--red);transform:rotate(45deg);z-index:1}
/* homepage (dark) condensed version */
.tech-grid-sm{margin-top:34px}
.tech-card-sm{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:26px 26px 22px;color:rgba(255,255,255,.86)}
.tech-card-sm h3{color:#fff}
.tech-card-sm .tech-label{color:#FF8A8A}
.tech-card-sm .tech-get .icon{color:#FF8A8A}
.tech-compare-dark{margin-top:22px;border-color:rgba(255,255,255,.14)}
.tech-compare-dark .tech-compare{background:transparent}
.tech-compare-dark th,.tech-compare-dark td{border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.86)}
.tech-compare-dark thead th{background:rgba(255,255,255,.06);color:rgba(255,255,255,.75)}
.tech-compare-dark tbody th{color:#fff}
.tech-compare-dark .tc-typ{color:rgba(255,255,255,.72)}
.tech-compare-dark .tc-itop{background:rgba(201,39,40,.16);color:#fff}
.tech-compare-dark .tc-itop .icon{color:#FF8A8A}
.testing-teaser .btn-row{margin-top:28px}
/* sport-page callout */
.tech-callout{display:flex;gap:18px;align-items:flex-start;margin-top:36px;padding:24px 26px;border-radius:var(--radius);background:var(--ink);color:rgba(255,255,255,.86)}
.tech-callout .device-icon{flex:none}
.tech-callout .tech-label{margin:0 0 6px;color:#FF8A8A}
.tech-callout p{margin:0}
.tech-callout-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.9rem;text-decoration:underline;text-underline-offset:4px}
@media (max-width:1024px){
  .tech-grid{grid-template-columns:1fr}
  .tsteps{grid-template-columns:1fr 1fr}
  .tstep:nth-child(2)::after{display:none}
}
@media (max-width:600px){
  .tech-cols{grid-template-columns:1fr;gap:0}
  .tsteps{grid-template-columns:1fr}
  .tstep::after{display:none}
  .tech-card-body{padding:22px 20px}
  .tech-callout{flex-direction:column;padding:22px 20px}
}
.tech-card-top .device-icon,.tech-callout .device-icon{margin-bottom:0}
.tech-card-sm .device-icon,.tech-callout .device-icon{background:var(--red)}

/* =====================================================================
   32. VIDEO: background-video slots (.bgv) + click-to-play (.action) + iTOP equipment photos
   ===================================================================== */
.bgv{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.bgv video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}
.bgv.is-playing video{opacity:1}
.hero .bgv{z-index:0}
.hero .hero-overlay{z-index:1}
.bgv-toggle{position:absolute;right:18px;bottom:18px;z-index:5;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(13,13,13,.6);color:#fff;font:600 .78rem var(--font-body);cursor:pointer}
.bgv-toggle:hover,.bgv-toggle:focus-visible{background:rgba(13,13,13,.85)}
@media (prefers-reduced-motion:reduce){ .bgv video{display:none} .bgv-toggle{display:none} }
@media (max-width:760px){ .bgv:not([data-src-mobile^="assets/"]) video{display:none} :not(.hero)>.bgv-toggle{display:none} }
/* homepage hero video (Oct 22 2026): poster photo = graded first frame, so photo and video line up when it fades in.
   Desktop: full 16:9 frame (coach + laptop bottom left, sprinter right of centre). Mobile: the athlete's lane
   (poster at 89% x; the 720x1280 portrait clip is already cropped to that lane). */
.hero .hero-bg,.hero .bgv video{object-position:center 45%}
@media (max-width:760px){
  .hero .hero-bg{object-position:89% 45%}
  .hero .bgv video{object-position:46% 45%}
  .hero .bgv-toggle{bottom:auto;top:14px;right:14px;padding:6px 12px;font-size:.74rem}
  /* the clip's bright back wall sits behind the eyebrow on phones: darken the top band for text contrast */
  .hero .hero-overlay{background:linear-gradient(180deg,rgba(13,13,13,.6) 0,rgba(13,13,13,.25) 420px,transparent 620px),linear-gradient(90deg,rgba(13,13,13,.92) 0%,rgba(13,13,13,.7) 45%,rgba(13,13,13,.35) 100%),linear-gradient(0deg,rgba(13,13,13,.6),transparent 40%)}
}
.bgv-poster{position:absolute;inset:0;display:block}
.bgv-poster img{width:100%;height:100%;object-fit:cover}
.has-bgv,.tech-steps-band{position:relative;overflow:hidden;isolation:isolate}
.has-bgv>.bgv-poster,.has-bgv>.bgv,.tech-steps-band>.bgv-poster,.tech-steps-band>.bgv{z-index:-2}
.has-bgv>.band-overlay,.tech-steps-band>.band-overlay{z-index:-1}
.testing-teaser.has-bgv>.band-overlay{background:linear-gradient(180deg,rgba(13,13,13,.9),rgba(13,13,13,.86) 40%,rgba(13,13,13,.94))}
.tech-steps-band{margin-top:80px;padding:90px 0;background:var(--ink);color:rgba(255,255,255,.86)}
.tech-steps-band>.band-overlay{background:linear-gradient(100deg,rgba(13,13,13,.92),rgba(13,13,13,.8))}
.tech-steps-band .h-bold{color:#fff}
.tech-steps-band .h-stack{margin-bottom:24px}
.tech-steps-band .tstep{background:rgba(13,13,13,.7);border:1px solid rgba(255,255,255,.14)}
.tech-steps-band .tstep h3{color:#fff}
.tech-steps-band .tstep-icon{background:var(--red)}
.tech-steps-band .big-num{-webkit-text-stroke-color:rgba(255,255,255,.3)}
.tech-steps-band .tech-note{color:rgba(255,255,255,.75)}
/* device cards with iTOP photos */
.tech-card-photo{padding:0;background:var(--ink)}
.tech-card-photo picture,.tech-card-photo img{display:block;width:100%;height:100%}
.tech-card-photo img{object-fit:cover;aspect-ratio:4/3}
.tech-feature .tech-card{flex-direction:row;margin-top:36px}
.tech-feature .tech-card-media{flex:0 0 42%;border-bottom:0;border-right:4px solid var(--red)}
.tech-feature .tech-card-photo img{aspect-ratio:auto;min-height:100%}
.tech-where{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:4px 10px;border-radius:999px;background:var(--red-soft);color:var(--red-dark);font-size:.75rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.tech-where .icon{flex:none}
.tech-card-top{flex-wrap:wrap}
.tech-locs{display:flex;gap:8px;align-items:center;margin:14px 0 0;font-weight:600;color:var(--ink);font-size:.95rem}
.tech-locs .icon{color:var(--red);flex:none}
.tech-card-sm{display:flex;flex-direction:column;padding:0;overflow:hidden}
.tech-card-sm .tech-card-media{border-bottom:3px solid var(--red)}
.tech-card-sm .tech-card-photo img{aspect-ratio:16/9}
.tech-card-sm-body{padding:22px 24px 22px}
.tech-card-sm .tech-where{background:rgba(255,138,138,.14);color:#FFB3B3}
.tech-card-sm .tech-get{margin-top:12px}
/* see it in action */
.action{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:center}
.action-frame{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--ink);aspect-ratio:16/9;box-shadow:var(--shadow-lg)}
.action-poster,.action-poster img{display:block;width:100%;height:100%}
.action-poster img{object-fit:cover}
.action-media{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.action-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;border:0;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px rgba(201,39,40,.5);transition:transform .2s}
.action-play:hover,.action-play:focus-visible{transform:scale(1.06)}
.action-soon{position:absolute;left:16px;bottom:16px;padding:6px 12px;border-radius:999px;background:rgba(13,13,13,.75);color:#fff;font-size:.8rem;font-weight:600}
@media (max-width:900px){
  .tech-feature .tech-card{flex-direction:column}
  .tech-feature .tech-card-media{border-right:0;border-bottom:4px solid var(--red)}
  .tech-feature .tech-card-photo img{aspect-ratio:4/3}
  .action{grid-template-columns:1fr;gap:20px}
}
@media (max-width:600px){ .tech-steps-band{padding:64px 0;margin-top:56px} .tech-where{margin-left:0} }
.tech-grid .tech-card-media{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}
.tech-grid .tech-card-photo img{aspect-ratio:auto;height:100%}
.tech-grid .tech-card-media .tech-viz{max-width:340px}
.tech-grid:not(.tech-grid-sm){grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.tech-grid .tech-card-media{position:relative;overflow:hidden;min-height:0}.tech-grid .tech-card-photo picture{position:absolute;inset:0}
.hero-inner{position:relative;z-index:2}
.script-teaser{background:var(--light);border-radius:var(--radius);padding:26px 28px;border-left:4px solid var(--red)}
.script-teaser h3{margin:0 0 6px;font-size:1.3rem}
.script-teaser p{margin:0 0 12px}

/* =====================================================================
   33. OVERNIGHT POLISH: mobile carousels (sports, reviews, team), compact footer
   ===================================================================== */
@media (max-width:760px){
  .sport-grid,.review-grid,.team-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin:0 -18px;padding:4px 18px 14px;scroll-padding:0 18px;scrollbar-width:thin}
  .team-grid{grid-auto-columns:64%}
  .sport-grid>*,.review-grid>*,.team-grid>*{scroll-snap-align:start;min-width:0}
  .sport-grid>.sport-card{height:auto}
  .swipe-hint{display:flex}
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:28px 18px}
  .footer-grid>:first-child{grid-column:1/-1}
}
.swipe-hint{display:none;align-items:center;gap:6px;margin:-4px 0 10px;font-size:.82rem;color:var(--muted)}
.section-dark .swipe-hint{color:rgba(255,255,255,.7)}
.audiences.section-light .aud-panel{background:#fff}
.finder:not(.section-light) .finder-panel{background:var(--light)}
@media (max-width:600px){ .testing-teaser .tech-compare-wrap{display:none} .values-grid{gap:12px} }
.hero-proof{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0}
.hero-proof li{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(0,0,0,.35);color:#fff;font-size:.86rem;font-weight:600;letter-spacing:.01em}
.hero-proof li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}
.hero-card .hero-loc{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media (max-width:600px){.hero .lead{font-size:1.02rem;margin-bottom:16px}.hero-proof{margin-bottom:20px;gap:6px}.hero-proof li{font-size:.78rem;padding:5px 10px}}

/* =====================================================================
   34. Nav sub-menu (clinic pages), location pages, 404
   ===================================================================== */
.main-nav .has-sub{position:relative}
.sub-nav{position:absolute;top:100%;left:-16px;min-width:190px;padding:10px!important;margin-top:14px!important;display:block!important;background:var(--ink);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);box-shadow:0 18px 40px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.sub-nav::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.sub-nav li a{display:block;padding:10px 12px;border-radius:6px;font-size:.88rem}
.sub-nav li a:hover,.sub-nav li a:focus-visible{background:rgba(255,255,255,.08)}
.has-sub:hover .sub-nav,.has-sub:focus-within .sub-nav{opacity:1;visibility:visible;transform:none}
@media (max-width:1024px){
  .sub-nav{position:static;opacity:1;visibility:inherit;transform:none;margin:0!important;padding:0 0 0 18px!important;border:0;box-shadow:none;background:none;min-width:0}
  .sub-nav::before{display:none}
  .sub-nav li a{font-size:1rem!important;padding:12px 4px!important;border-radius:0;color:rgba(255,255,255,.7)}
}
.loc-title-link{color:inherit}
.loc-title-link:hover{color:var(--red);text-decoration:none}
.loc-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin-top:16px}
.loc-card-foot .clinic-set-btn{margin-top:0}

/* location page hero */
.loc-hero{position:relative;color:#fff;background:var(--ink);overflow:hidden;padding:56px 0 80px}
.loc-hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.loc-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,13,.94) 0%,rgba(13,13,13,.82) 50%,rgba(13,13,13,.55) 100%)}
.loc-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center}
.loc-hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem);color:#fff}
.loc-hero .lead{color:rgba(255,255,255,.86);max-width:600px}
.loc-card{background:rgba(20,20,20,.78);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:30px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.loc-card-title{color:#fff;font-size:1.5rem;margin-bottom:16px}
.loc-facts{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.loc-facts li{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.loc-facts li:last-child{border-bottom:0;padding-bottom:0}
.loc-facts .icon{color:var(--red);margin-top:2px}
.loc-facts strong{display:block;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:rgba(255,255,255,.7);font-weight:500}
.loc-facts span,.loc-facts a{display:block;color:#fff}
.loc-facts a{text-decoration:underline;text-underline-offset:3px}
.loc-card .loc-set{color:rgba(255,255,255,.75);margin-top:18px}
html[data-clinic="lubbock"] .lubbock-page .loc-set,html[data-clinic="colleyville"] .colleyville-page .loc-set{display:none}

/* map + hours */
.loc-visit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
.loc-map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--light)}
.loc-map iframe{width:100%;height:100%;border:0;display:block}
.loc-address{font-style:normal;font-size:1.1rem;line-height:1.6;margin:0 0 18px}
.loc-sub{font-size:1.05rem;letter-spacing:.06em;margin:28px 0 10px}
.hours-table{border-collapse:collapse;width:100%;max-width:380px}
.hours-table th,.hours-table td{padding:9px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.hours-table td{text-align:right;font-weight:600}
.loc-contact{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.loc-contact li{display:flex;gap:10px;align-items:center}
.loc-contact .icon{color:var(--red)}

/* equipment */
.loc-tech-grid{display:grid;gap:28px}
.loc-more{margin-top:32px}
.loc-more.center{text-align:center}

/* team + reviews variants */
@media (min-width:761px){
  .team-grid-3{grid-template-columns:repeat(3,minmax(0,300px))}
  .review-grid-3{columns:3 280px}
}

/* programs */
.loc-prog-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.loc-prog{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600;transition:border-color .2s ease,transform .2s ease}
.loc-prog:hover{border-color:var(--red);text-decoration:none;transform:translateY(-2px)}
.loc-prog-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--light);color:var(--red);flex:none}
.loc-prog-name{flex:1}
.loc-prog-arrow{color:var(--red)}
.loc-other{background:var(--light);padding:28px 0}
.loc-other-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px}
.loc-other p{margin:0}
.loc-page .final-cta{padding:90px 0}

@media (max-width:1024px){
  .loc-hero-grid,.loc-visit-grid{grid-template-columns:1fr;gap:36px}
  .loc-card{max-width:560px}
  .loc-prog-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .loc-hero{padding:36px 0 56px}
  .loc-prog-grid{grid-template-columns:1fr}
  .loc-card{padding:22px}
}

/* 404 */
.nf{background:var(--ink);color:#fff;padding:110px 0 120px;min-height:60vh}
.nf h1{color:#fff;font-size:clamp(2.6rem,6vw,4.8rem)}
.nf .lead{color:rgba(255,255,255,.85)}
.nf-links{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-wrap:wrap;gap:10px 26px}
.nf-links a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.tech.section-light{background:var(--light)}
.loc-tech-grid{margin-top:8px}
.loc-tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:760px){.loc-tech-grid{grid-template-columns:1fr}}
@media (max-width:760px){
  .footer-grid>:nth-child(2){grid-column:1/-1}
  .footer-list.hours{max-width:340px}
  .footer-links{font-size:.92rem}
}
.loc-more .btn{white-space:normal;text-align:center}
.review-grid:focus-visible,.tech-compare-wrap:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.hero-card-list div>a,.hero-card-list .hero-loc{display:inline-block;padding:4px 0;min-height:28px}
.hero-card-list div>a{display:block}
/* mobile nav: was never made visible (opacity stayed 0) */
@media (max-width:1024px){ .main-nav.open{opacity:1} }
@media (max-width:1024px) and (prefers-reduced-motion:reduce){ .main-nav{transition:none} }
/* package tiers: swipeable on phones (Assess → Recover → Perform reads left to right) */
@media (max-width:760px){
  .pkg-tiers{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:86%;gap:14px;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-left:-18px;margin-right:-18px;padding:4px 18px 14px;scroll-padding:0 18px;align-items:stretch}
  .pkg-tiers>*{scroll-snap-align:start;min-width:0}
}
.js .faq-item:not(.open) .faq-a{display:none}
.nf-page .site-footer{border-top:1px solid rgba(255,255,255,.08)}

/* =====================================================================
   35. Irving (traditional PT clinic) + three-clinic switcher
   ===================================================================== */
.loc-svc-grid{list-style:none;padding:0}
.loc-svc-grid h3{display:flex;align-items:center;gap:10px;margin:0;font-size:1rem;letter-spacing:.04em;color:var(--ink)}
.loc-svc-grid h3 .icon{color:var(--red);flex:none}
.loc-svc-grid p{margin:8px 0 0;font-size:.93rem}
.loc-tech-note{display:flex;gap:10px;align-items:flex-start;margin:28px 0 0;padding:14px 18px;border-left:4px solid var(--red);background:#fff;border-radius:0 10px 10px 0}
.loc-tech-note+.btn-row{margin-top:24px}
.loc-tech-note .icon{color:var(--red);flex:none;margin-top:4px}
.loc-tech-note a,.loc-other-list a,.loc-note a{color:var(--red-dark);text-decoration:underline;text-underline-offset:3px}
.loc-soon{padding:64px 0}
.loc-soon-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.loc-soon-item{display:flex;gap:16px;align-items:flex-start;padding:24px 26px;border:1.5px dashed var(--line);border-radius:var(--radius)}
.loc-soon-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--light);color:var(--red);flex:none}
.loc-soon-title{font-size:1.3rem;margin:0 0 6px}
.loc-soon-item p{margin:0;color:var(--muted)}
.loc-other-inner{flex-direction:column;align-items:flex-start}
.loc-other-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
@media (max-width:760px){.loc-soon-grid{grid-template-columns:1fr}}
/* switcher: Irving has no testing tech, so choosing it keeps the Lubbock/Colleyville phones and device
   names visible (data-clinic-none content is replaced by data-clinic-only="irving" twins) */
html[data-clinic="irving"] [data-clinic-only="irving"]{display:revert!important}
html[data-clinic="lubbock"] [data-clinic="irving"],html[data-clinic="colleyville"] [data-clinic="irving"]{display:none!important}
html[data-clinic="irving"] [data-clinic-card="irving"]{order:-1;outline:3px solid var(--red);outline-offset:4px}
html[data-clinic="irving"] [data-clinic-card="irving"] .your-clinic{display:block}
html[data-clinic="irving"] [data-clinic-card="irving"] .clinic-set-btn,html[data-clinic="irving"] .irving-page .loc-set{display:none}
.location-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1024px){.location-grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.location-grid-3{grid-template-columns:1fr}}
.loc-note{font-size:.88rem;margin:10px 0 0;color:var(--muted)}
.locations .loc-note{color:rgba(255,255,255,.75)}
.footer-hours-note{font-size:.8rem;color:rgba(255,255,255,.6);margin:10px 0 0}

/* inline links inside running text (Irving card): underline so they are not identified by colour alone (WCAG 1.4.1) */
.loc-inline-links a{text-decoration:underline;text-underline-offset:2px}

/* =====================================================================
   38. HOMEPAGE BROAD-AUDIENCE REWORK (Oct 2026): pillars, who we work with, packages
   Generated by sections.py (pillars / who_we_serve / home_packages) from content_home.py.
   ===================================================================== */
.pillar-card{display:flex;flex-direction:column}
.pillar-name{font-size:1.7rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px}
.pillar-line{color:#FF8A8A;font-weight:600;margin:0 0 10px !important}
.pillar-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;font-size:.94rem;color:rgba(255,255,255,.9)}
.pillar-list li{display:flex;gap:8px;align-items:flex-start}
.pillar-list .icon{flex:none;color:#FF8A8A;margin-top:3px}
.pillar-where{display:flex;gap:8px;align-items:flex-start;margin:16px 0 0 !important;font-size:.86rem !important;color:rgba(255,255,255,.66)}
.pillar-where .icon{flex:none;margin-top:2px}
.pillar-link{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:6px;color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.95rem}
.pillar-link:hover{color:#FF8A8A;text-decoration:none}
.pillars-note{max-width:820px;margin:40px auto 0;text-align:center;color:var(--text);font-size:1.05rem}
.pillars-note strong{display:block;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-size:1.5rem;color:var(--ink);margin-bottom:6px}
.serve-grid{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.serve-tile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;box-shadow:var(--shadow)}
.serve-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);margin-bottom:14px}
.serve-tile h3{font-size:1.15rem;margin:0 0 8px}
.serve-tile p{margin:0 0 14px;font-size:.94rem;color:var(--muted)}
.serve-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--red-dark);font-weight:600;font-size:.92rem;text-decoration:underline;text-underline-offset:3px}
.home-pkg-recover{background:var(--ink);color:rgba(255,255,255,.82);border-color:var(--ink)}
.home-pkg-recover .h-bold,.home-pkg-recover strong{color:#fff}
.home-pkg-recover .h-light{color:rgba(255,255,255,.75)}
.home-pkg-recover .big-num{-webkit-text-stroke-color:rgba(255,255,255,.35)}
.home-pkg-recover .pkg-label{color:#FF8A8A}
.home-packages .pkg-coverage{flex-wrap:nowrap;align-items:flex-start}
.home-packages .pkg-coverage .icon{flex:none;margin-top:3px}
@media (max-width:760px){
  .home-packages .pkg-tiers{grid-auto-flow:row;grid-template-columns:1fr;grid-auto-columns:auto;overflow:visible;margin-left:0;margin-right:0;padding:0}
  .pillar-name{font-size:1.45rem}
  .pillars-note{margin-top:28px}
}

/* =====================================================================
   39. FOR PHYSICIANS (for-physicians.html, the build config) + PRIVACY POLICY (privacy-policy.html)
   ===================================================================== */
.doc-stats{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:900px}
.doc-stats li{border-left:3px solid var(--red);padding:4px 0 4px 14px;color:rgba(255,255,255,.82);font-size:.92rem}
.doc-stats strong{display:block;font-family:var(--font-head);font-size:1.6rem;color:#fff;letter-spacing:.04em;text-transform:uppercase}
.doc-three,.doc-two,.doc-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:10px}
.doc-two,.doc-cases{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}
.doc-three article,.doc-two article,.case-card{background:var(--light);border-radius:var(--radius);padding:24px 24px 20px;border-top:4px solid var(--red)}
.section-light .doc-two article{background:#fff;box-shadow:var(--shadow)}
.doc-three h3,.doc-two h3,.case-card h3{font-size:1.25rem;margin:0 0 8px}
.doc-three p,.doc-two p,.case-card p{margin:0;font-size:.96rem}
.case-card .eyebrow{margin-bottom:6px}
.doc-sub{font-size:1.4rem;margin:44px 0 16px}
.doc-phases{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.doc-phases li{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 16px;box-shadow:var(--shadow)}
.doc-phases h3{font-size:1.1rem;margin:6px 0 2px}
.doc-phases p{margin:0;font-size:.9rem}
.doc-phases .phase-when{color:var(--red-dark);font-weight:700;margin-bottom:6px}
.doc-note{display:flex;gap:10px;align-items:flex-start;margin:22px 0 0;color:var(--muted);font-size:.94rem}
.doc-note .icon{flex:none;color:var(--red);margin-top:3px}
.doc-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);background:#fff;margin-top:8px}
.doc-table{width:100%;border-collapse:collapse;min-width:640px;font-size:.93rem}
.doc-table th,.doc-table td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.doc-table thead th{background:var(--ink);color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:.82rem}
.doc-table tbody th{font-weight:700;color:var(--ink)}
.doc-table tbody tr:last-child th,.doc-table tbody tr:last-child td{border-bottom:0}
.doc-table-sample,.doc-table-trend{min-width:520px}
.doc-table-trend td{text-align:center}
.st{display:inline-block;padding:3px 10px;border-radius:999px;font-weight:700;font-size:.8rem;letter-spacing:.02em;white-space:nowrap}
.st-met{background:#E3F4E8;color:#1A5E2E}
.st-mon{background:#FFF1CC;color:#6B4A00}
.st-nw{background:#FDE4E4;color:#A11C1D}
.doc-steps,.doc-receive{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.doc-steps li,.doc-receive li{display:flex;gap:14px;align-items:flex-start}
.doc-steps h4{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 6px;color:var(--ink);font-size:1.05rem}
.doc-receive h3{font-size:1.15rem;margin:4px 0 6px}
.doc-steps p,.doc-receive p{margin:0;font-size:.93rem;color:var(--muted)}
.doc-clear{margin:30px 0 0;padding:18px 22px;background:var(--ink);color:rgba(255,255,255,.86);border-radius:var(--radius-sm);border-left:4px solid var(--red)}
.doc-clear strong{color:#fff}
.doc-clear-dark{background:rgba(255,255,255,.06)}
.doc-sample{margin:0 0 34px}
.doc-sample figcaption{margin-bottom:12px;font-size:.95rem}
.doc-sample .report-tag{display:inline-block;margin:0 8px 6px 0;padding:4px 10px;border:1.5px dashed var(--red);border-radius:999px;color:var(--red-dark);font-size:.78rem;font-weight:700;background:#fff}
.doc-overall{margin:14px 0 0;font-size:.95rem}
.doc-trend-notes{margin:14px 0 0;padding-left:18px;font-size:.93rem}
.doc-trend-notes li{margin:6px 0}
.doc-menu{margin:20px 0 0;font-size:.95rem}
.doc-head-2{margin-top:70px}
.doc-jumps{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.doc-jumps li{background:#fff;border-radius:var(--radius-sm);padding:14px 16px;font-size:.9rem;box-shadow:var(--shadow);color:var(--muted)}
.doc-jumps strong{display:block;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);font-size:1rem;margin-bottom:4px}
.refer-dev{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:600;color:var(--red-dark);margin:0 0 4px !important}
.doc-refer .refer-dev{color:#FF8A8A}
.refer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.refer-grid h3{color:#fff;font-size:1.2rem;margin:0 0 10px}
.refer-grid ul{margin:0;padding-left:18px;color:rgba(255,255,255,.85)}
.refer-grid li{margin:5px 0}
.refer-sites{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.refer-site{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:22px;color:rgba(255,255,255,.85)}
.refer-site h3{margin:0 0 6px;font-size:1.3rem}
.refer-site h3 a,.refer-site a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.refer-site p{margin:0 0 10px;font-size:.94rem}
.refer-site strong{color:#fff}
.refer-contact{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;margin-top:34px;color:rgba(255,255,255,.85)}
.refer-contact p{margin:0}
.refer-contact strong{color:#fff}
.refer-contact a{color:#fff}
@media (max-width:980px){
  .doc-phases{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doc-steps,.doc-receive,.doc-jumps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .refer-sites,.refer-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .doc-stats,.doc-three,.doc-two,.doc-cases,.doc-phases,.doc-steps,.doc-receive,.doc-jumps{grid-template-columns:1fr}
}
/* privacy policy */
.legal{padding-top:56px}
.legal-inner{max-width:820px}
.breadcrumb-dark,.breadcrumb-dark a{color:var(--muted)}
.breadcrumb-dark [aria-current]{color:var(--ink)}
.legal-title{font-size:clamp(2.2rem,5vw,3.4rem);margin:10px 0 24px;color:var(--ink)}
.legal-body h2{font-size:1.6rem;margin:36px 0 12px;color:var(--ink)}
.legal-body p,.legal-body ul{line-height:1.7;margin:0 0 16px}
.legal-body ul{padding-left:24px}
.legal-body li{margin-bottom:6px}
.legal-body a{color:var(--red-dark);text-decoration:underline}
.sms-note a{color:inherit;text-decoration:underline}
.pkg-areas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pkg-areas a{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--red-soft);color:var(--red-dark);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600;text-decoration:none}
.pkg-areas a:hover{background:var(--red);color:#fff}
.home-pkg-recover .pkg-areas a{background:rgba(255,255,255,.1);color:#fff}
.home-pkg .pkg-focus{margin-bottom:6px}
.pkg-who{font-size:.92rem;margin:0 0 10px;padding:10px 12px;border-left:3px solid var(--red);background:var(--light);border-radius:0 10px 10px 0}
.home-pkg-recover .pkg-who{background:rgba(255,255,255,.07);border-left-color:#FF8A8A}
.sport-pkgs .pkg-coverage+.pkg-coverage{margin-top:10px}
.pillar-chips{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pillar-chips li{padding:5px 10px;border:1px solid rgba(255,138,138,.45);border-radius:999px;font-size:.84rem;line-height:1.25;color:rgba(255,255,255,.92);background:rgba(255,255,255,.04)}
.pillar-lead{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;font-size:.94rem;color:rgba(255,255,255,.78)}
.pillar-lead li{display:flex;gap:8px;align-items:flex-start}
.pillar-lead .icon{flex:none;color:#FF8A8A;margin-top:3px}
.pillar-lead strong{display:block;color:#fff;font-weight:600}
.pillar-lead + .pillar-chips{margin-top:12px}
/* team: 6 on home -> 3 x 2 on desktop; 4 on Colleyville -> one row */
@media (min-width:1181px){
  .team-grid-home{grid-template-columns:repeat(3,minmax(0,340px));justify-content:center;gap:24px}
}
@media (min-width:761px){
  .team-grid-4{grid-template-columns:repeat(4,minmax(0,280px));justify-content:center}
}
@media (min-width:761px) and (max-width:1024px){
  .team-grid-4{grid-template-columns:repeat(2,minmax(0,300px))}
}

/* ---------- 40. Overnight conversion pass (Oct 2026): trust line, first visit, why iTOP, clinician feature, sticky mobile bar ---------- */
.trust-line{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.88rem;color:var(--muted)}
.trust-line li{display:inline-flex;align-items:center;gap:6px}
.trust-line .icon{color:var(--red);flex:none}
.trust-line li:first-child .icon{fill:currentColor}
.trust-line-light{color:rgba(255,255,255,.82)}
.trust-line-light .icon{color:#FF8A8A}
.trust-center{justify-content:center}
.first-visit{background:#fff}
.visit-steps{list-style:none;margin:36px 0 28px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:v}
.visit-step{position:relative;background:var(--light);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px 22px}
.visit-num{position:absolute;top:16px;right:18px}
.visit-num::before{content:attr(data-num);font-family:var(--font-head);font-weight:700;font-size:1.6rem;color:transparent;-webkit-text-stroke:1px rgba(13,13,13,.25)}
.visit-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--red-soft);color:var(--red);margin-bottom:14px}
.visit-step h3{margin:0 0 6px;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}
.visit-step p{margin:0;font-size:.95rem}
.why-itop{background:radial-gradient(circle at 10% 0%,rgba(201,39,40,.2),transparent 45%),var(--ink)}
.why-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.why-grid .section-head{margin-bottom:0;position:sticky;top:calc(var(--header-h) + var(--util-h) + 24px)}
.why-list{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.why-row{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);padding:18px 18px 16px}
.why-row dt{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#fff;font-size:1rem;margin-bottom:8px}
.why-row dd{margin:0;display:flex;gap:8px;align-items:flex-start;color:rgba(255,255,255,.82);font-size:.93rem}
.why-row dd .icon{flex:none;color:#FF8A8A;margin-top:2px}
.team-trust .trust-points{margin-top:28px}
.mobile-cta{display:none}
@media (max-width:1024px){ .visit-steps{grid-template-columns:repeat(2,minmax(0,1fr))} .why-grid{grid-template-columns:1fr;gap:28px} .why-grid .section-head{position:static} }
@media (max-width:760px){
  .why-list{grid-template-columns:1fr}
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(13,13,13,.96);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -6px 20px rgba(0,0,0,.25)}
  .mobile-cta>.btn{flex:1;justify-content:center;min-height:46px}
  .mcta-call{position:relative;flex:0 0 auto}
  .mcta-call summary{list-style:none;min-height:46px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
  .mcta-call summary::-webkit-details-marker{display:none}
  .mcta-sheet{position:absolute;right:0;bottom:calc(100% + 10px);min-width:270px;background:#fff;border-radius:var(--radius-sm);box-shadow:0 10px 30px rgba(0,0,0,.35);padding:6px;display:grid}
  .mcta-sheet a{display:flex;justify-content:space-between;gap:12px;padding:12px 12px;border-radius:8px;color:var(--ink);text-decoration:none}
  .mcta-sheet a:hover,.mcta-sheet a:focus-visible{background:var(--light)}
  .mcta-sheet span{color:var(--red);font-weight:600;white-space:nowrap}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
}
@media (max-width:600px){ .visit-steps{grid-template-columns:1fr} }
.loc-facts .contact-line a{display:inline}
.footer-list li{color:rgba(255,255,255,.75)}
.faq-cta .faq-cta-mail{margin:14px 0 0;font-size:.92rem}
.faq-cta .faq-cta-mail a{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* Homepage 1080 card: Quantum (Lubbock) + Sprint (Colleyville) photos side by side; one fills the frame once a clinic is chosen */
.tech-card-sm .tech-card-duo{display:flex;align-items:stretch;justify-content:flex-start;gap:3px;aspect-ratio:16/9;overflow:hidden;padding:0}
.tech-card-duo .duo-cell{flex:1 1 0;min-width:0;position:relative;align-self:stretch}
.tech-card-duo .duo-cell picture{position:absolute;inset:0}
.tech-card-sm .tech-card-duo img{aspect-ratio:auto;width:100%;height:100%;object-fit:cover}

/* ---------- 41. Packages page v2 (Oct 22 2026): packages, treatments by area of care, availability, by sport ---------- */
.pkg-hero .btn-row{margin-top:26px}
.pkg-steps .pkg-tier{scroll-margin-top:calc(var(--header-h) + 50px)}
.pkg-note{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--light);font-size:.88rem;color:var(--text)}
.pkg-note .icon{flex:none;color:var(--red);margin-top:2px}
.care-group{margin-top:46px;scroll-margin-top:calc(var(--header-h) + 50px)}
.care-group+.care-group{padding-top:46px;border-top:1px solid var(--line)}
.care-head{display:flex;gap:18px;align-items:flex-start;max-width:760px}
.care-icon{flex:none;margin:0;background:var(--red-soft)}
.care-name{margin:0;font-size:clamp(1.5rem,2.4vw,2rem);text-transform:uppercase;letter-spacing:.03em}
.care-line{margin:2px 0 6px;color:var(--red);font-weight:600}
.care-text{margin:0;color:var(--muted)}
.tx-lead{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tx-lead-card{position:relative;background:var(--ink);color:rgba(255,255,255,.8);border-radius:var(--radius);padding:24px 24px 20px;box-shadow:var(--shadow);border-top:3px solid var(--red);scroll-margin-top:calc(var(--header-h) + 50px);display:flex;flex-direction:column}
.tx-lead-card:target{box-shadow:0 0 0 3px var(--red-soft),var(--shadow)}
.tx-lead-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(201,39,40,.22);color:#FF8A8A;margin-bottom:14px}
.tx-lead-card h4{margin:0;color:#fff;font-size:1.4rem;text-transform:uppercase;letter-spacing:.03em}
.tx-lead-card .tx-one{margin:4px 0 10px;color:#FF8A8A;font-weight:600}
.tx-lead-card p{margin:0 0 10px;font-size:.94rem}
.tx-lead-card .tx-where{margin-top:auto;color:rgba(255,255,255,.75)}
.tx-lead-card .tx-where .icon{color:#FF8A8A}
.tx-grid{list-style:none;padding:0;margin-top:18px}
.tx-grid .tx-item{display:flex;flex-direction:column}
.tx-item h4{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:1rem;color:var(--ink)}
.tx-item h4 .icon{color:var(--red);flex:none}
.tx-item p{margin:8px 0 0;font-size:.93rem}
.tx-where{display:flex;align-items:center;gap:6px;margin:12px 0 0!important;padding-top:10px;font-size:.82rem!important;font-weight:600;color:var(--muted)}
.tx-item .tx-where{margin-top:auto!important;border-top:1px solid var(--line)}
.tx-item p.tx-where{padding-top:10px}
.tx-item>p:not(.tx-where){margin-bottom:12px}
.tx-where .icon{color:var(--red);flex:none}
.avail-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);margin-top:30px}
/* Equal clinic columns (Oct 22 2026): fixed layout, set treatment column, the three clinic columns share the rest equally. */
.avail-table{width:100%;border-collapse:collapse;font-size:.95rem;table-layout:fixed}
.avail-table .av-col-tx{width:40%}
.avail-table .av-col-clinic{width:20%}
.avail-table th,.avail-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;overflow-wrap:break-word}
.avail-table tbody tr:last-child th,.avail-table tbody tr:last-child td{border-bottom:0}
.avail-table thead th{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;background:var(--light)}
.avail-table thead th a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.avail-table thead th:first-child,.avail-table tbody th{text-align:left}
.avail-table tbody th{font-weight:600;color:var(--ink)}
.avail-table td .icon{color:var(--red);vertical-align:middle}
.avail-table .av-dev{display:block;font-size:.8rem;color:var(--muted)}
.avail-table .av-no{color:var(--muted)}
.avail-table .av-ref{font-size:.82rem;line-height:1.35;color:var(--muted)}
.avail-table .av-dev{margin-top:2px;line-height:1.3}
.sport-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.sport-steps-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 18px;scroll-margin-top:calc(var(--header-h) + 50px)}
.sport-steps-card:target{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.sport-steps-top{display:flex;align-items:center;gap:12px}
.sport-steps-top h3{margin:0;font-size:1.2rem;text-transform:uppercase;letter-spacing:.03em}
.sport-steps-sum{margin:8px 0 12px;color:var(--muted);font-size:.93rem}
.sport-steps-list{margin:0 0 14px;display:grid;gap:8px}
.sport-steps-list div{display:grid;grid-template-columns:76px 1fr;gap:10px;font-size:.9rem}
.sport-steps-list dt{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.78rem;color:var(--red);padding-top:2px}
.sport-steps-list dd{margin:0}
.sport-steps-card .sport-link{margin-top:auto;color:var(--ink)}
.sport-steps-card .sport-link:hover{color:var(--red)}
@media (max-width:1024px){ .tx-lead,.sport-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){
  .tx-lead,.sport-steps-grid{grid-template-columns:1fr}
  .care-head{gap:14px}
  .avail-table{font-size:.84rem}
  .avail-table .av-col-tx{width:34%}
  .avail-table .av-col-clinic{width:22%}
  .avail-table th,.avail-table td{padding:11px 6px}
  .avail-table tbody th{padding-left:12px}
  .avail-table thead th:first-child{padding-left:12px}
  .avail-table thead th{font-size:.68rem;letter-spacing:.02em}
  .avail-table .av-ref,.avail-table .av-dev{font-size:.74rem}
  .pkg-hero .btn-row .btn{width:100%}
}
@media (min-width:1025px){ .tx-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))} }

/* ---------- 42. testing.html v2 (Oct 22 2026): what testing is, who, measure, report, retest, equipment, physicians ---------- */
.testing-proof{margin:0 0 26px}
.what-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.what-card{background:var(--light);border:1px solid var(--line);border-top:4px solid var(--red);border-radius:var(--radius);padding:24px 24px 22px}
.what-card h3{margin:0 0 8px;font-size:1.3rem;text-transform:uppercase;letter-spacing:.03em}
.what-card p{margin:0;font-size:.97rem}
.serve .serve-tile p{margin-bottom:0}
.measure-item h3{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:1.1rem;color:var(--ink)}
.measure-item h3 .icon{color:var(--red);flex:none}
.testing-session{margin-top:0}
.testing-session .tstep p{color:rgba(255,255,255,.82)}
.report-v2 .doc-receive{margin-top:34px}
.report-sample{margin:40px 0 0}
.doc-overall{margin:14px 0 0;font-size:.95rem}
.report-more{margin:18px 0 0;font-weight:600}
.report-more a{color:var(--red-dark);text-decoration:underline;text-underline-offset:3px}
.retest-step{display:flex;flex-direction:column}
.retest-step .visit-step-h{margin:0}
.retest-pkg{margin:0 0 4px!important;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem!important;font-weight:600;color:var(--red-dark)}
.retest .doc-note{margin-top:0}
.retest .btn-row{margin-top:24px}
.equip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.equip-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.equip-photo{background:var(--ink);border-bottom:3px solid var(--red)}
.equip-photo picture,.equip-photo img{display:block;width:100%}
.equip-photo img{aspect-ratio:4/3;object-fit:cover;height:auto}
.equip-body{padding:20px 22px 22px}
.equip-body h3{margin:0;font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em}
.equip-body .tx-where{margin:6px 0 10px!important;padding-top:0}
.equip-body p:last-child{margin:0;font-size:.94rem}
.where-testing .avail-wrap{margin-top:26px}
.phys-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.phys-strip .section-head{margin-bottom:0}
.phys-strip .btn-row{justify-content:flex-end}
@media (max-width:1024px){ .what-grid,.equip-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){
  .what-grid,.equip-grid,.phys-grid{grid-template-columns:1fr}
  .phys-grid{gap:20px}
  .phys-strip .btn-row{justify-content:flex-start}
  .testing-v2 .testing-hero .btn-row .btn{width:100%}
  .testing-proof li{font-size:.78rem}
  .report-sample .doc-table{min-width:0;font-size:.82rem}
  .report-sample .doc-table th,.report-sample .doc-table td{padding:10px 8px}
  .report-sample .st{font-size:.72rem;padding:3px 7px}
}

/* =====================================================================
   43. testing r2 (Oct 22 2026): report-where note (testing.html),
       "The Research Behind It" list (for-physicians.html #research)
   ===================================================================== */
.report-v2 .report-where{margin:0 0 26px}
.research-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:rs}
.research-item{background:var(--light);border-left:3px solid var(--red);border-radius:var(--radius);padding:22px 22px 20px;display:flex;flex-direction:column;gap:12px}
.research-item p{margin:0}
.research-item .research-cite{margin-top:auto;font-size:.82rem;color:var(--muted);line-height:1.5}
.research-cite a{color:var(--red-dark);text-decoration:underline;overflow-wrap:anywhere}
.research-guide{margin:24px 0 0;font-weight:600}
.research-guide a{color:var(--red-dark);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1024px){ .research-list{grid-template-columns:1fr} }

/* =====================================================================
   44. clinic pages v2 (Oct 22 2026): lubbock / colleyville / irving
   ===================================================================== */
.loc-path-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.loc-equip-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}
.loc-test-points{color:var(--ink);margin:28px 0 0;max-width:820px}
.loc-test-points .icon{color:var(--red);flex:none;margin-top:3px}
.loc-testing .btn-row{margin-top:26px}

.loc-reviews-soon .doc-note{margin:0}
@media (max-width:1024px){ .loc-path-steps{grid-template-columns:1fr} }
@media (max-width:760px){ .loc-equip-grid{grid-template-columns:1fr} }
.loc-page .team-trust{background:var(--light)}
.loc-svc-grid+.btn-row,.loc-svc-grid+.loc-tech-note{margin-top:28px}
.loc-reviews-soon{padding:40px 0}

/* =====================================================================
   45. sport pages v2 (Oct 22 2026): who-it's-for list, grouped conditions,
       Performance / Rehab / Recovery cards, availability line, FAQ
   ===================================================================== */
.care-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sport-who strong{color:#fff;font-weight:600}
.cond-groups{display:grid;gap:30px}
.cond-group-title{font-size:1.15rem;margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em}
.tech-callout .tech-avail{font-size:.92rem;color:rgba(255,255,255,.78);margin-top:10px}
.program-page .faq{background:#fff}
@media (max-width:1024px){ .care-3{grid-template-columns:1fr} }

/* ---------- 43. technology.html v1 (Oct 22 2026): hero photo trio, machines, wordmark wall, sources, credentials ---------- */
.tech-hero{padding:80px 0 60px}
.tech-hero .testing-hero-overlay{background:radial-gradient(circle at 0% 100%,rgba(201,39,40,.35),transparent 55%),linear-gradient(135deg,#0d0d0d 0%,#1a1a1a 100%)}
.tech-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}
.tech-hero .testing-hero-inner{max-width:none}
.tech-trio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:12px}
.tech-trio-item{position:relative;border-radius:var(--radius);overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.12)}
.tech-trio-item img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.tech-trio-0{grid-column:1/-1}
.tech-trio-0 img{aspect-ratio:16/9}
.tech-trio-item span{position:absolute;left:10px;bottom:10px;padding:4px 10px;border-radius:999px;background:rgba(13,13,13,.82);color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.tech-hero .testing-jump{position:relative;margin-top:40px}
.tech-machine-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.tech-machine-flip .tech-machine-photo{order:2}
.tech-machine-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow);border-bottom:4px solid var(--red)}
.tech-machine-copy .tx-where{margin:4px 0 14px}
.tech-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}
.tech-lists h3{font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px}
.tech-lists .tick-list{margin:0;gap:10px;color:var(--ink);font-size:.95rem}
.tech-upper-note{display:flex;gap:10px;align-items:flex-start;margin:0 auto;padding:22px 24px!important;font-weight:600;color:var(--ink)}
.tech-upper-note .icon{color:var(--red);flex:none;margin-top:3px}
.tech-wall .section-intro.light{max-width:860px}
.wm-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:34px}
.wm-maker{border:1px solid rgba(255,255,255,.14);border-top:4px solid var(--red);border-radius:var(--radius);padding:24px 26px;background:rgba(255,255,255,.03)}
.wm-maker h3{color:#fff;font-size:1.2rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px}
.wm-group h4{margin:18px 0 10px;color:rgba(255,255,255,.72);font-family:var(--font-head);font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}
.wm-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.wm-list li{display:inline-flex;align-items:flex-start;gap:2px;padding:9px 14px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(0,0,0,.25)}
.wm{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-size:1rem;color:#fff;font-weight:600}
.src-ref{font-size:.68rem;line-height:1;margin-left:3px}
.src-ref a{color:#ff8f8f;text-decoration:none;padding:2px}
.src-ref a:hover,.src-ref a:focus-visible{text-decoration:underline}
.tech-news{margin-top:28px;padding:22px 26px;border-left:4px solid var(--red);background:rgba(255,255,255,.06);border-radius:var(--radius)}
.tech-news p{margin:0;color:#fff}
.tech-news .eyebrow{margin-bottom:8px}
.tech-sources{margin-top:24px;color:rgba(255,255,255,.78)}
.tech-sources summary{cursor:pointer;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;font-size:.88rem;color:#fff}
.tech-sources ol{margin:14px 0 0;padding-left:22px;display:grid;gap:8px;font-size:.86rem;line-height:1.5}
.tech-sources a{color:#ff8f8f;text-decoration:underline;overflow-wrap:anywhere}
.tech-research .research-tag{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--red-dark);margin:0}
.tech-research .research-item h3{margin:0;font-size:1.2rem;text-transform:uppercase;letter-spacing:.03em}
.av-no{color:var(--muted)}
.cred-title{font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 14px}
.cred-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cred-list li{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center;padding:14px 18px;background:var(--light);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:var(--radius-sm)}
.cred-list strong{font-family:var(--font-head);letter-spacing:.06em;font-size:1.05rem}
.cred-list span{font-size:.94rem;color:var(--muted)}
.tech-team .phys-grid{align-items:start}
@media (max-width:1024px){ .tech-hero-grid,.tech-machine-grid{grid-template-columns:1fr;gap:32px} .tech-machine-flip .tech-machine-photo{order:0} .wm-wall{grid-template-columns:1fr} }
@media (max-width:760px){
  .tech-hero{padding:56px 0 44px}
  .tech-lists{grid-template-columns:1fr}
  .wm{font-size:.9rem}
  .cred-list li{grid-template-columns:1fr;gap:4px}
  .tech-trio-item span{font-size:.7rem}
}

/* =====================================================================
   44. Homepage v3 (Oct 22 2026 streamline): editorial hero type, pillar strip, wordmark marquee,
       dark bento "why different", sticky-scroll journey, compact packages + pay strip, who chips.
       Patterns only (no third-party code or assets). Generators: the build config
   ===================================================================== */
.hero h1.hero-h1{font-size:clamp(3rem,7.4vw,6.4rem);line-height:.92;letter-spacing:-.005em;margin-bottom:26px}
.hero h1.hero-h1 .h-light{color:var(--red)}
.hero h1.hero-h1 .accent{color:inherit}
.v3-pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.v3-pillar{display:flex;flex-direction:column;background:var(--ink-2);color:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.08);border-top:3px solid var(--red);border-radius:var(--radius);padding:26px 26px 22px;box-shadow:0 24px 50px rgba(0,0,0,.22)}
.v3-pillar-top{display:flex;align-items:center;justify-content:space-between;color:var(--red);margin-bottom:14px}
.v3-pillar-num{font-family:var(--font-head);font-size:2.6rem;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35)}
.v3-pillar h3{color:#fff;font-size:1.8rem;letter-spacing:.05em;margin:0 0 6px}
.v3-pillar p{margin:0;color:rgba(255,255,255,.8)}
.v3-chips{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.v3-chips li{padding:5px 11px;border:1px solid rgba(255,138,138,.4);border-radius:999px;font-size:.84rem;color:#fff;background:rgba(255,255,255,.04)}
.v3-pillar .pillar-link{margin-top:auto;padding-top:18px}
/* marquee */
.v3-marquee{padding:56px 0 44px;overflow:hidden}
.v3-marquee-head{display:flex;align-items:baseline;justify-content:center;gap:14px;margin-bottom:22px}
.v3-marquee-title{font-size:.9rem;letter-spacing:.18em;color:var(--muted);margin:0;font-weight:600}
.v3-marquee-src{font-size:.82rem;font-weight:600;color:var(--red-dark);text-decoration:underline;text-underline-offset:3px}
.v3-marquee-track{display:flex;width:max-content;animation:v3-marq 60s linear infinite}
.v3-marquee-track:hover{animation-play-state:paused}
.v3-marquee-list{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.v3-marquee-list li{position:relative;font-family:var(--font-head);text-transform:uppercase;font-weight:600;font-size:clamp(1.15rem,2vw,1.6rem);letter-spacing:.04em;color:var(--ink);white-space:nowrap;padding:0 30px}
.v3-marquee-list li::after{content:"";position:absolute;right:-4px;top:50%;width:7px;height:7px;margin-top:-3px;border-radius:50%;background:var(--red)}
.v3-marquee-note{margin:22px auto 0;text-align:center;font-size:.8rem;color:var(--muted);max-width:760px}
@keyframes v3-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .v3-marquee-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
  .v3-marquee-list[aria-hidden="true"]{display:none}
  .v3-marquee-list{flex-wrap:wrap;justify-content:center;row-gap:10px}
}
/* section head: split (title left, intro right) */
.v3-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:44px}
.v3-head h2{margin:0;font-size:clamp(2.4rem,5vw,4.2rem)}
.v3-head .section-intro{margin:0;max-width:520px}
/* bento */
.v3-diff{background:radial-gradient(circle at 100% 0%,rgba(201,39,40,.22),transparent 45%),var(--ink)}
.v3-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(210px,auto);gap:16px}
.v3-tile{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--ink-2);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column}
.v3-tile-xl{grid-column:span 2;grid-row:span 2}
.v3-tile-tall{grid-column:span 1;grid-row:span 2}
.v3-tile-wide{grid-column:span 2}
.v3-tile-body{position:relative;z-index:1;padding:26px;display:flex;flex-direction:column;gap:8px;height:100%}
.v3-tile h3{color:#fff;font-size:1.35rem;margin:0;letter-spacing:.03em}
.v3-tile p{margin:0;color:rgba(255,255,255,.78);font-size:.98rem}
.v3-tile.has-media .v3-tile-body{justify-content:flex-end;min-height:100%}
.v3-tile-media,.v3-tile-media img{position:absolute;inset:0;width:100%;height:100%}
.v3-tile-media img{object-fit:cover;transition:transform .8s ease}
.v3-tile.has-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,0) 25%,rgba(13,13,13,.92) 100%)}
.v3-tile.has-media:hover .v3-tile-media img{transform:scale(1.04)}
.v3-tile-xl h3{font-size:clamp(1.6rem,2.6vw,2.3rem)}
.v3-kicker{display:flex;align-items:center;gap:6px;font-size:.8rem!important;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#FF8A8A!important}
.v3-tile-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(201,39,40,.16);color:#FF8A8A;margin-bottom:auto}
.v3-tile-combine{border-color:rgba(201,39,40,.5);background:linear-gradient(160deg,rgba(201,39,40,.28),var(--ink-2) 70%)}
.v3-tile-link{margin-top:6px;display:inline-flex;align-items:center;gap:6px;color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.88rem;font-weight:600}
.v3-tile-link:hover{color:#FF8A8A;text-decoration:none}
.v3-tile-wide .v3-tile-body{flex-direction:row;align-items:center;gap:24px}
.v3-tile-wide .v3-tile-ico{margin:0;flex:none}
.v3-tile .v3-big{font-family:var(--font-head);font-weight:700;font-size:5.2rem;line-height:.9;color:var(--red)!important;margin:0!important;flex:none;display:flex;align-items:baseline;gap:8px}
.v3-tile .v3-big span{font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.v3-status{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.v3-status li{padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.st-g{background:#1F7A45;color:#fff}.st-y{background:#E3B505;color:#1a1a1a}.st-r{background:var(--red);color:#fff}
.v3-irving{display:flex;gap:8px;align-items:flex-start;margin:22px 0 26px;font-size:.92rem;color:rgba(255,255,255,.7)}
.v3-irving .icon{flex:none;margin-top:3px;color:#FF8A8A}
/* journey (sticky scroll storytelling) */
.v3-journey-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.v3-journey-side{position:sticky;top:calc(var(--header-h) + 56px)}
.v3-journey-side h2{font-size:clamp(2.4rem,5vw,4.2rem)}
.v3-journey-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 35%;border-radius:var(--radius);margin:6px 0 24px;border-bottom:4px solid var(--red)}
.v3-steps{list-style:none;margin:0;padding:0;counter-reset:none}
.v3-step{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:40px 0;border-top:1px solid var(--line)}
.v3-step:last-child{border-bottom:1px solid var(--line)}
.v3-step-num{font-family:var(--font-head);font-weight:700;font-size:4.6rem;line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--red)}
.v3-step h3{font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 10px}
.v3-step p{margin:0;font-size:1.04rem}
.v3-step-pkg{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px!important;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem!important;font-weight:600;color:var(--red-dark)}
/* who chips (sports section) */
.v3-who-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:-12px 0 36px}
.v3-who-label{margin:0;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;font-weight:600;color:var(--muted)}
.v3-who{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.v3-who a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:.9rem;font-weight:600;color:var(--ink);background:#fff}
.v3-who a:hover{border-color:var(--red);color:var(--red-dark);text-decoration:none}
.section-dark .v3-who a,.section-dark .v3-who-label{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
/* compact packages + pay strip */
.v3-pkg-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v3-pkg{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;overflow:hidden}
.v3-pkg-num{position:absolute;right:16px;bottom:-14px;font-family:var(--font-head);font-weight:700;font-size:5rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,39,40,.35)}
.v3-pkg h3{margin:0 0 12px;position:relative}
.v3-pkg p{position:relative;padding-right:40px}
.v3-pkg p{margin:0}
.v3-pkg::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.v3-pay{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px;padding:22px 26px;background:var(--ink);color:rgba(255,255,255,.82);border-radius:var(--radius)}
.v3-pay p{margin:0;flex:1 1 320px}
.v3-pay strong{color:#fff}
.v3-pay .btn-row{margin:0}
.v3-pay .btn-outline{color:#fff;border-color:rgba(255,255,255,.5)}
.v3-pay-ico{color:#FF8A8A;flex:none}
@media (max-width:1024px){
  .v3-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3-tile-xl{grid-column:span 2;grid-row:span 1;min-height:360px}
  .v3-tile-tall{grid-column:span 2;grid-row:span 1;min-height:320px}
  .v3-journey-grid{grid-template-columns:1fr;gap:20px}
  .v3-journey-side{position:static}
  .v3-head{grid-template-columns:1fr;gap:14px}
}
@media (max-width:760px){
  .v3-pillar-grid,.v3-pkg-row{grid-template-columns:1fr}
  .v3-bento{grid-template-columns:1fr}
  .v3-tile-xl,.v3-tile-tall,.v3-tile-wide{grid-column:auto}
  .v3-tile-xl{min-height:320px}.v3-tile-tall{min-height:300px}
  .v3-tile-wide .v3-tile-body{flex-direction:column;align-items:flex-start;gap:8px}
  .v3-tile .v3-big{font-size:4rem}
  .v3-step{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:28px 0}
  .v3-step-num{font-size:3rem}
  .v3-journey-photo img{aspect-ratio:16/10}
  .v3-marquee{padding:40px 0 32px}
  .v3-who-wrap{margin-top:-8px}
}

/* =====================================================================
   45. Site-wide streamline v3 (Oct 22 2026): denser premium bands for low-density sections.
       team-trust band, physicians strip, testing tech mini-row, sport "other programs", clinic visit block.
   ===================================================================== */
/* Why athletes trust us: dark split band */
.section.tt-band{background:radial-gradient(circle at 0% 100%,rgba(201,39,40,.2),transparent 50%),var(--ink)}
.tt-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.tt-head .section-intro{margin-bottom:24px}
.tt-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden}
.tt-points li{display:flex;gap:16px;align-items:flex-start;padding:28px 26px;background:var(--ink-2)}
.tt-ico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(201,39,40,.16);color:#FF8A8A}
.tt-points h3{color:#fff;font-size:1.15rem;margin:0 0 6px;letter-spacing:.03em}
.tt-points p{margin:0;font-size:.95rem;color:rgba(255,255,255,.75)}
/* Physicians strip: dark accent band instead of a sparse white row */
.section.phys-strip{padding:64px 0;background:linear-gradient(110deg,var(--ink) 0%,var(--ink-2) 60%,#3a0e0e 100%);color:rgba(255,255,255,.82);border-top:4px solid var(--red)}
.phys-strip h2,.phys-strip h3{color:#fff}
.phys-strip .section-intro{color:rgba(255,255,255,.78)}
.phys-strip .btn-outline{color:#fff;border-color:rgba(255,255,255,.55)}
.phys-strip .btn-outline:hover{background:#fff;color:var(--ink)}
/* testing.html: equipment mini-row (deep version lives on technology.html) */
.tech-mini-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:6px}
.tech-mini{display:flex;align-items:center;gap:16px;padding:12px 18px 12px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);transition:border-color .2s,transform .2s}
.tech-mini:hover{border-color:var(--red);text-decoration:none;transform:translateY(-2px)}
.tech-mini-photo{flex:none;width:84px;height:84px;border-radius:10px;overflow:hidden;display:block}
.tech-mini-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tech-mini-body{flex:1;display:flex;flex-direction:column;gap:4px}
.tech-mini-body strong{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-size:1.1rem;line-height:1.15}
.tech-mini-body .tx-where{margin:0}
.tech-mini > .icon{color:var(--red);flex:none}
.v3-who-after{margin:28px 0 0}
/* sport pages: other programs as a dark band */
.section.op-band{padding:64px 0;background:var(--ink)}
.op-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px;align-items:center}
.op-grid h2{margin:0}
.op-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.op-links a{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:#fff;border-radius:var(--radius-sm);padding:16px 18px;font-size:.95rem;justify-content:flex-start}
.op-links a .icon{color:#FF8A8A}
/* clinic pages: visit block without duplicated address/contact */
.loc-visit-addr{font-size:1.08rem;margin:0 0 18px;color:var(--ink);font-weight:600}
.loc-visit-mail{display:flex;gap:10px;align-items:center;margin:18px 0 0}
.loc-visit-mail .icon{color:var(--red)}
.loc-path .v3-who-wrap{margin:-8px 0 30px}
@media (max-width:1024px){
  .tt-grid,.op-grid{grid-template-columns:1fr;gap:28px}
  .tech-mini-row{grid-template-columns:1fr}
}
@media (max-width:760px){
  .tt-points{grid-template-columns:1fr}
  .tt-points li{padding:22px 20px}
  .section.phys-strip,.section.op-band{padding:52px 0}
}
/* v3: on phones the clinic card repeats the header Call button and the sticky call bar; hide it so the story reaches the pillars faster */
@media (max-width:760px){ .hero .hero-card{display:none} .hero{padding-bottom:120px} }

/* =====================================================================
   46. Creative pass (Oct 22 2026, owner: "act as marketing & design exec"): hero entrance, journey progress,
       interactive example report, appointment request form. All motion is disabled for prefers-reduced-motion.
   ===================================================================== */
/* hero entrance */
@keyframes v3-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.hero-h1 .h-bold,.hero-h1 .h-light,.hero .hero-copy .lead,.hero .hero-copy .btn-row{animation:v3-rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero-h1 .h-light{animation-delay:.15s}.hero .hero-copy .lead{animation-delay:.3s}.hero .hero-copy .btn-row{animation-delay:.42s}
/* journey: active step + progress rail */
.v3-steps{position:relative}
.v3-step{transition:opacity .4s ease}
.v3-step{position:relative}
.v3-step::before{content:"";position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--red);transition:width .6s ease}
.v3-step.is-active::before{width:110px}
.v3-step-num{transition:color .4s}
.v3-step.is-active .v3-step-num{color:var(--red)}
/* example report */
.rd-section{background:linear-gradient(180deg,var(--ink) 0%,#141414 100%)}
.rd-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.rd-copy h2{font-size:clamp(2.4rem,5vw,4.2rem)}
.rd-toggle{display:inline-flex;padding:4px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);margin:6px 0 18px}
.rd-btn{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.8);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.92rem;padding:10px 18px;border-radius:999px;cursor:pointer;min-height:44px}
.rd-btn[aria-pressed="true"]{background:var(--red);color:#fff}
.rd-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.rd-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.86rem;color:rgba(255,255,255,.72);margin:0 0 22px}
.rd-card{margin:0;background:#fff;color:var(--text);border-radius:var(--radius);padding:26px 26px 18px;box-shadow:0 30px 70px rgba(0,0,0,.45);border-top:5px solid var(--red)}
.rd-head{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.rd-tag{align-self:flex-start;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#FFF4D6;color:#5C4300;border:1px solid #E3B505}
.rd-title{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem;color:var(--ink);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.rd-title [data-rd-date]{color:var(--red-dark);font-size:.95rem}
.rd-table{width:100%;border-collapse:collapse}
.rd-table th,.rd-table td{padding:12px 6px;border-top:1px solid var(--line);text-align:left;vertical-align:middle}
.rd-table thead th{border-top:0;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;color:var(--muted);font-weight:600;padding-top:0}
.rd-table tbody th{font-weight:600;font-size:.95rem;color:var(--ink);white-space:nowrap}
.rd-bar-cell{width:44%}
.rd-track{position:relative;display:block;height:12px;border-radius:999px;background:#EFEFEF}
.rd-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;width:calc(var(--v) * 1%);transition:width 1s cubic-bezier(.2,.7,.2,1),background-color .4s}
.rd-goal{position:absolute;top:-4px;bottom:-4px;left:90%;width:2px;background:var(--ink);opacity:.55}
.rd-val{font-family:var(--font-head);font-size:1.25rem;font-weight:700;color:var(--ink);white-space:nowrap;text-align:right!important}
.rd-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transition:background-color .4s,color .4s}
.st-met{background:#1F7A45;color:#fff}.st-mon{background:#E3B505;color:#1a1a1a}.st-work{background:var(--red);color:#fff}
.rd-fill.st-met{background:#1F7A45}.rd-fill.st-mon{background:#E3B505}.rd-fill.st-work{background:var(--red)}
.rd-note{margin:12px 0 0;font-size:.8rem;color:var(--muted)}
/* appointment request */
.rq-section{background:radial-gradient(circle at 100% 100%,rgba(201,39,40,.25),transparent 50%),var(--ink)}
.rq-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.rq-side h2{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.rq-points{list-style:none;margin:6px 0 22px;padding:0;display:grid;gap:10px}
.rq-points li{display:flex;gap:10px;align-items:center;color:#fff;font-weight:600}
.rq-points .icon{color:#FF8A8A}
.rq-alt{color:rgba(255,255,255,.75);font-size:.95rem}
.rq-jane{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.rq-card{background:#fff;color:var(--text);border-radius:var(--radius);padding:30px;box-shadow:0 30px 70px rgba(0,0,0,.4);border-top:5px solid var(--red)}
.rq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.rq-field{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.rq-wide{grid-column:1/-1}
.rq-field label,.rq-field legend{font-weight:600;font-size:.92rem;color:var(--ink)}
.rq-field input[type=text],.rq-field input[type=tel],.rq-field input[type=email],.rq-field select,.rq-field textarea{width:100%;font:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid #CFCFCF;border-radius:10px;background:#fff;color:var(--ink);min-height:48px}
.rq-field textarea{resize:vertical;min-height:88px}
.rq-field input:focus,.rq-field select:focus,.rq-field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(201,39,40,.18)}
.rq-field [aria-invalid="true"]{border-color:var(--red)}
.rq-contact{border:0;padding:0;flex-direction:row;flex-wrap:wrap;gap:8px 20px;align-items:center}
.rq-contact legend{margin-bottom:6px;width:100%;padding:0}
.rq-contact label{display:inline-flex;align-items:center;gap:8px;font-weight:500;min-height:44px}
.rq-contact input{width:20px;height:20px;accent-color:var(--red)}
.rq-req{color:var(--red-dark)}
.rq-opt{font-weight:400;color:var(--muted)}
.rq-help{display:flex;gap:8px;align-items:flex-start;margin:4px 0 0;font-size:.84rem;color:#5C4300;background:#FFF8E5;border:1px solid #F1D98A;border-radius:8px;padding:10px 12px}
.rq-help .icon{flex:none;margin-top:2px}
.rq-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rq-error{margin:16px 0 0;color:var(--red-dark);font-weight:600}
.rq-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px}
.rq-fine{margin:0;flex:1 1 260px;font-size:.82rem;color:var(--muted)}
.rq-done{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:12px;background:#EAF6EF;border:1px solid #9BD3B0;margin-top:4px}
.rq-done h3{margin:0 0 4px;font-size:1.3rem}
.rq-done p{margin:0}
.rq-done-ico{color:#1F7A45;flex:none}
.rq-form.is-sent .rq-grid,.rq-form.is-sent .rq-actions{display:none}
.rq-hero{padding:72px 0 56px}
.rq-page .rq-section{padding-top:56px}
@media (max-width:1024px){ .rd-layout,.rq-layout{grid-template-columns:1fr;gap:32px} }
@media (max-width:760px){
  .rq-grid{grid-template-columns:1fr}
  .rq-card,.rd-card{padding:20px 16px}
  .rd-bar-cell{width:30%}
  .rd-table th,.rd-table td{padding:10px 4px}
  .rd-table tbody th{white-space:normal;font-size:.88rem}
  .rd-val{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){
  .hero-h1 .h-bold,.hero-h1 .h-light,.hero .hero-copy .lead,.hero .hero-copy .btn-row{animation:none}
  .rd-fill,.rd-pill,.v3-step{transition:none}
  .v3-step::before,.v3-step-num{transition:none}
}
.rq-done[hidden]{display:none}
/* FAQ, all pages (v3): editorial split on desktop: sticky heading left, questions right */
@media (min-width:1025px){
  .faq .faq-container{max-width:1200px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:72px;align-items:start}
  .faq .faq-container > .section-head{grid-column:1;grid-row:1 / span 3;position:sticky;top:calc(var(--header-h) + 48px);text-align:left;margin:0}
  .faq .faq-container > .section-head .eyebrow::after{display:none}
  .faq .faq-container > .section-head .h-stack.center{text-align:left}
  .faq .faq-container > :not(.section-head){grid-column:2}
  .faq .faq-container > .faq-cta{text-align:left}
}
.rq-fine a{text-decoration:underline;text-underline-offset:2px}

/* =====================================================================
   47. v4 premium pass, all pages except home (Oct 22 2026)
   Dark split heroes with entrance motion + proof rail, dark image/text bands, numbered editorial rows,
   teaser cards, dense light grids. Bento / journey / report demo reuse sections 44 to 46.
   All motion is switched off for prefers-reduced-motion (block at the end of this section).
   ===================================================================== */
/* hero */
.v4-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 10%,rgba(201,39,40,.28),transparent 42%),linear-gradient(180deg,#0D0D0D 0%,#141414 100%);color:rgba(255,255,255,.82);padding:64px 0 0}
.v4-hero-glow{position:absolute;inset:auto -10% -40% auto;width:60%;height:80%;background:radial-gradient(closest-side,rgba(201,39,40,.18),transparent);pointer-events:none}
.v4-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:center;padding-bottom:56px}
.v4-hero-solo .v4-hero-grid{grid-template-columns:minmax(0,1fr);max-width:900px}
.v4-hero h1{color:#fff;font-size:clamp(2.6rem,5.6vw,4.9rem);margin:0 0 20px}
.v4-hero h1 .h-light{color:var(--red)}
.v4-hero .lead{color:rgba(255,255,255,.82);font-size:1.15rem;max-width:600px;margin:0 0 22px}
.v4-hero .btn-row{margin:0}
.v4-hero .btn-outline{color:#fff;border-color:rgba(255,255,255,.5)}
.v4-hero .btn-outline:hover{background:#fff;color:var(--ink)}
.v4-hero .hero-proof{margin-bottom:24px}
.v4-hero-media{position:relative}
.v4-hero-media picture img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.v4-hero-media::before{content:"";position:absolute;left:-14px;top:24px;bottom:24px;width:4px;border-radius:4px;background:var(--red);z-index:1}
.v4-float{position:absolute;left:-28px;bottom:28px;z-index:2;max-width:300px;padding:18px 20px;border-radius:var(--radius-sm);background:rgba(20,20,20,.92);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 40px rgba(0,0,0,.4);color:rgba(255,255,255,.85);font-size:.92rem}
.v4-float strong{display:block;color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-size:1rem;margin-bottom:4px}
.v4-float p{margin:0}
.v4-float a{color:#FF8A8A;font-weight:600}
.v4-float .v4-float-tag{display:inline-block;margin-bottom:8px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#FF8A8A}
.v4-hero-media .loc-card{position:absolute;left:-28px;bottom:24px;z-index:2;max-width:330px;margin:0;box-shadow:0 20px 40px rgba(0,0,0,.4)}
/* proof rail */
.v4-rail{list-style:none;margin:0;padding:22px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.1)}
.v4-rail li{display:flex;gap:12px;align-items:flex-start;padding:4px 20px;border-left:1px solid rgba(255,255,255,.1)}
.v4-rail li:first-child{border-left:0;padding-left:0}
.v4-rail .icon{flex:none;color:#FF8A8A;margin-top:2px}
.v4-rail strong{display:block;color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-size:.98rem;line-height:1.2}
.v4-rail span{display:block;font-size:.86rem;color:rgba(255,255,255,.66);line-height:1.4;margin-top:2px}
.v4-rail:has(li:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
/* entrance motion */
@keyframes v4-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes v4-unveil{from{opacity:0;clip-path:inset(0 0 0 30% round var(--radius))}to{opacity:1;clip-path:inset(0 0 0 0 round var(--radius))}}
@keyframes v4-float-in{from{opacity:0;transform:translate(-14px,14px)}to{opacity:1;transform:none}}
.v4-hero-copy > *{animation:v4-rise .8s cubic-bezier(.2,.7,.2,1) both}
.v4-hero-copy > :nth-child(2){animation-delay:.08s}.v4-hero-copy > :nth-child(3){animation-delay:.16s}
.v4-hero-copy > :nth-child(4){animation-delay:.24s}.v4-hero-copy > :nth-child(5){animation-delay:.32s}.v4-hero-copy > :nth-child(6){animation-delay:.4s}
.v4-hero-media picture{display:block;animation:v4-unveil 1.1s cubic-bezier(.2,.7,.2,1) .15s both}
.v4-hero-media .v4-float,.v4-hero-media .loc-card{animation:v4-float-in .8s ease .7s both}
.v4-rail li{animation:v4-rise .7s ease both}
.v4-rail li:nth-child(1){animation-delay:.45s}.v4-rail li:nth-child(2){animation-delay:.55s}.v4-rail li:nth-child(3){animation-delay:.65s}.v4-rail li:nth-child(4){animation-delay:.75s}
/* dark/light image band */
.v4-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--ink);color:rgba(255,255,255,.82);min-height:520px}
.v4-band-flip .v4-band-media{order:2}
.v4-band-media{position:relative;overflow:hidden;min-height:340px}
.v4-band-media picture,.v4-band-media img{position:absolute;inset:0;width:100%;height:100%}
.v4-band-media img{object-fit:cover;transition:transform 1.2s ease}
.v4-band:hover .v4-band-media img{transform:scale(1.03)}
.v4-band-media::after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:var(--red)}
.v4-band-copy{padding:80px clamp(24px,6vw,88px);display:flex;flex-direction:column;justify-content:center}
.v4-band-copy h2{color:#fff;font-size:clamp(2.2rem,4.4vw,3.6rem);margin:0 0 18px}
.v4-band-copy > p{margin:0 0 14px;font-size:1.06rem}
.v4-band-copy .btn-row{margin-top:10px}
.v4-band .btn-outline{color:#fff;border-color:rgba(255,255,255,.5)}
.v4-band-light{background:var(--light);color:var(--text)}
.v4-band-light .v4-band-copy h2{color:var(--ink)}
.v4-band-light .btn-outline{color:var(--ink);border-color:var(--stroke-light)}
/* mini tiles inside bands */
.v4-mini{list-style:none;margin:8px 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v4-mini li{padding:18px 16px;border-radius:var(--radius-sm);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:border-color .3s,transform .3s}
.v4-mini li:hover{border-color:rgba(201,39,40,.6);transform:translateY(-3px)}
.v4-mini .icon{color:#FF8A8A;margin-bottom:10px}
.v4-mini strong{display:block;color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;margin-bottom:4px}
.v4-mini span{display:block;font-size:.9rem;line-height:1.45;color:rgba(255,255,255,.72)}
.v4-band-light .v4-mini li{background:#fff;border-color:var(--line)}
.v4-band-light .v4-mini strong{color:var(--ink)}.v4-band-light .v4-mini span{color:var(--muted)}
.v4-mini-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.v4-mini-list{grid-template-columns:1fr;gap:10px}
.v4-mini-list li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:12px;padding:14px 16px}
.v4-mini-list li .icon{grid-row:span 2;margin:2px 0 0}
.v4-note{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;color:rgba(255,255,255,.66);margin:0 0 14px}
.v4-note .icon{flex:none;color:#FF8A8A;margin-top:3px}
.section-light .v4-note,.v4-band-light .v4-note,.v4-light .v4-note{color:var(--muted)}
.section-light .v4-note .icon,.v4-light .v4-note .icon{color:var(--red)}
/* numbered editorial rows */
.v4-rows{list-style:none;margin:0;padding:0}
.v4-row{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,.8fr);gap:24px;align-items:start;padding:26px 0;border-top:1px solid var(--line);position:relative}
.v4-row:last-child{border-bottom:1px solid var(--line)}
.v4-row::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--red);transition:width .6s ease}
.v4-row:hover::before{width:90px}
.v4-row-num{font-family:var(--font-head);font-weight:700;font-size:2.8rem;line-height:.9;color:transparent;-webkit-text-stroke:1.2px var(--red)}
.v4-row h3{margin:0 0 6px;font-size:1.3rem}
.v4-row p{margin:0;font-size:.98rem}
.v4-row-meta{font-size:.9rem;color:var(--muted)}
.v4-row-meta ul{margin:0;padding-left:18px}
.v4-rows-2col .v4-row{grid-template-columns:70px minmax(0,1fr)}
.section-dark .v4-row{border-color:rgba(255,255,255,.12)}
.section-dark .v4-row h3{color:#fff}
.section-dark .v4-row-meta{color:rgba(255,255,255,.62)}
/* sticky split (editorial side head + content) */
.v4-split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px;align-items:start}
.v4-split-side{position:sticky;top:calc(var(--header-h) + var(--util-h) + 32px)}
.v4-split-side h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.v4-split-side .btn-row{margin-top:18px}
/* dark section treatments */
.v4-dark{background:radial-gradient(circle at 0% 100%,rgba(201,39,40,.18),transparent 40%),var(--ink)}
.v4-dark .v3-step{border-color:rgba(255,255,255,.12)}
.v4-dark .v3-step h3{color:#fff}
.v4-dark .v3-step p{color:rgba(255,255,255,.76)}
.v4-dark .v3-step-pkg{color:#FF8A8A}
.v4-dark .v3-journey-side h2{color:#fff}
.v4-tight{padding:72px 0}
/* light card grid (dense) */
.v4-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v4-cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.v4-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.v4-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s}
.v4-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(201,39,40,.35)}
.v4-card::before{content:"";position:absolute;left:22px;top:0;width:36px;height:3px;background:var(--red);border-radius:0 0 3px 3px}
.v4-card .icon{color:var(--red);margin-bottom:10px}
.v4-card h3{font-size:1.18rem;margin:0 0 6px}
.v4-card p{margin:0;font-size:.95rem;color:var(--muted)}
.v4-card .v4-card-tag{display:inline-block;margin-bottom:8px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red-dark)}
.v4-card a.v4-card-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:600;font-size:.92rem}
.section-light .v4-card{box-shadow:0 1px 0 rgba(0,0,0,.02)}
.section-dark .v4-card{background:var(--ink-2);border-color:rgba(255,255,255,.08)}
.section-dark .v4-card h3{color:#fff}.section-dark .v4-card p{color:rgba(255,255,255,.72)}
.section-dark .v4-card .icon,.section-dark .v4-card .v4-card-tag{color:#FF8A8A}
/* teaser cards */
.v4-teasers{background:radial-gradient(circle at 100% 0%,rgba(201,39,40,.2),transparent 40%),var(--ink)}
.v4-teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v4-teaser-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.v4-teaser-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.v4-teaser{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--ink-2);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.78);transition:transform .35s ease,border-color .35s}
.v4-teaser:hover{text-decoration:none;transform:translateY(-5px);border-color:rgba(201,39,40,.55)}
.v4-teaser-media{display:block;overflow:hidden;aspect-ratio:16/9}
.v4-teaser-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.v4-teaser:hover .v4-teaser-media img{transform:scale(1.05)}
.v4-teaser-body{display:flex;flex-direction:column;gap:6px;padding:20px 22px 22px;flex:1}
.v4-teaser-kicker{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FF8A8A}
.v4-teaser strong{color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.03em;font-size:1.3rem;line-height:1.15}
.v4-teaser-text{font-size:.94rem;line-height:1.5}
.v4-teaser-go{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:6px;color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.86rem;font-weight:600}
/* tables in v4 */
.v4-avail{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}
.section-dark .v4-avail{box-shadow:none}
/* report demo variants */
.rd-section.v4-rd .rd-copy .v4-mini{margin-top:20px}
.rd-parts{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rd-parts li{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.12);font-size:.88rem;line-height:1.4;color:rgba(255,255,255,.75)}
.rd-parts strong{display:block;color:#fff;font-size:.92rem;margin-bottom:2px}
/* compact details (physicians tech) */
.v4-details{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-top:14px}
.v4-details > summary{cursor:pointer;list-style:none;padding:18px 22px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:12px}
.v4-details > summary::-webkit-details-marker{display:none}
.v4-details > summary::after{content:"+";font-size:1.4rem;color:var(--red);transition:transform .3s}
.v4-details[open] > summary::after{transform:rotate(45deg)}
.v4-details > div{padding:0 22px 22px}
/* chips row inside light sections */
.v4-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.v4-chips li{padding:6px 12px;border-radius:999px;background:var(--light);border:1px solid var(--line);font-size:.86rem;font-weight:600;color:var(--ink)}
.section-dark .v4-chips li,.v4-band .v4-chips li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.v4-band-light .v4-chips li{background:#fff;border-color:var(--line);color:var(--ink)}
/* stagger reveal for grids */
.js .v4-stagger > .reveal:nth-child(2){transition-delay:.08s}.js .v4-stagger > .reveal:nth-child(3){transition-delay:.16s}
.js .v4-stagger > .reveal:nth-child(4){transition-delay:.24s}.js .v4-stagger > .reveal:nth-child(5){transition-delay:.32s}
.js .v4-stagger > .reveal:nth-child(6){transition-delay:.4s}
/* simple pages: 404, thanks */
.v4-hero-solo{padding-bottom:0}
.v4-hero-solo .v4-hero-grid{padding-bottom:64px}
.v4-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px}
.v4-links a{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:var(--radius-sm);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;transition:border-color .3s,transform .3s}
.v4-links a span{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:.86rem;color:rgba(255,255,255,.66)}
.v4-links a:hover{text-decoration:none;border-color:var(--red);transform:translateY(-3px)}
@media (max-width:1024px){
  .v4-hero-grid{grid-template-columns:1fr;gap:36px}
  .v4-hero-media{max-width:620px}
  .v4-hero-media picture img{aspect-ratio:16/10}
  .v4-float,.v4-hero-media .loc-card{left:16px;bottom:16px}
  .v4-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:14px}
  .v4-rail li:nth-child(3){border-left:0;padding-left:0}
  .v4-band{grid-template-columns:1fr;min-height:0}
  .v4-band-flip .v4-band-media{order:0}
  .v4-band-media{aspect-ratio:16/9;min-height:0}
  .v4-band-copy{padding:56px 24px}
  .v4-split{grid-template-columns:1fr;gap:24px}
  .v4-split-side{position:static}
  .v4-cards,.v4-cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-teaser-grid,.v4-teaser-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .v4-hero{padding-top:40px}
  .v4-hero-grid{padding-bottom:36px}
  .v4-hero-media::before{display:none}
  .v4-float,.v4-hero-media .loc-card{position:relative;left:auto;bottom:auto;max-width:none;margin-top:-40px;margin-left:12px;margin-right:12px}
  .v4-rail{grid-template-columns:1fr!important}
  .v4-rail li{border-left:0;padding:4px 0}
  .v4-mini,.v4-mini-2{grid-template-columns:1fr}
  .v4-row{grid-template-columns:52px minmax(0,1fr);gap:14px;padding:20px 0}
  .v4-row-meta{grid-column:2}
  .v4-row-num{font-size:2rem}
  .v4-cards,.v4-cards-4,.v4-cards-2,.v4-teaser-grid,.v4-teaser-2,.v4-teaser-4,.v4-links{grid-template-columns:1fr}
  .rd-parts{grid-template-columns:1fr}
  .v4-tight{padding:56px 0}
}
@media (prefers-reduced-motion:reduce){
  .v4-hero-copy > *,.v4-hero-media picture,.v4-hero-media .v4-float,.v4-hero-media .loc-card,.v4-rail li{animation:none!important;opacity:1;clip-path:none;transform:none}
  .v4-band-media img,.v4-teaser,.v4-teaser-media img,.v4-card,.v4-mini li,.v4-links a,.v4-row::before,.v4-details > summary::after{transition:none!important}
  .v4-band:hover .v4-band-media img,.v4-teaser:hover .v4-teaser-media img{transform:none}
  .v4-teaser:hover,.v4-card:hover,.v4-mini li:hover,.v4-links a:hover{transform:none}
  .js .v4-stagger > .reveal{transition-delay:0s!important}
}
/* 47b. v4 page parts: packages */
.v4-treat{background:var(--white)}
.v4-group{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:36px;padding:36px;border-radius:var(--radius);background:var(--light);margin-top:18px}
.v4-group-head{align-self:start}
.v4-group-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--red);color:#fff;margin-bottom:14px}
.v4-group-head h3{font-size:2rem;margin:0 0 6px}
.v4-group-line{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;color:var(--red-dark);font-weight:600;margin:0 0 8px}
.v4-group-head p{margin:0 0 8px;font-size:.95rem;color:var(--muted)}
.v4-tx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v4-tx{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px;transition:border-color .3s,transform .3s}
.v4-tx:hover{border-color:rgba(201,39,40,.45);transform:translateY(-3px)}
.v4-tx h4{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:1.08rem}
.v4-tx h4 .icon{color:var(--red);flex:none}
.v4-tx p{margin:0 0 8px;font-size:.93rem}
.v4-tx .tx-where,.v4-tx-big .tx-where{margin:0}
.v4-group-dark{background:radial-gradient(circle at 100% 0%,rgba(201,39,40,.25),transparent 45%),var(--ink);color:rgba(255,255,255,.8)}
.v4-group-dark .v4-group-head h3{color:#fff}
.v4-group-dark .v4-group-line{color:#FF8A8A}
.v4-group-dark .v4-group-head p{color:rgba(255,255,255,.72)}
.v4-group-dark .v4-tx{background:var(--ink-2);border-color:rgba(255,255,255,.1)}
.v4-group-dark .v4-tx h4{color:#fff}.v4-group-dark .v4-tx h4 .icon{color:#FF8A8A}
.v4-group-dark .v4-tx p{color:rgba(255,255,255,.74)}
.v4-group-dark .tx-where{color:rgba(255,255,255,.62)}
.v4-tx-lead{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.v4-tx-big{position:relative;overflow:hidden;padding:24px 22px;border-radius:var(--radius-sm);background:linear-gradient(160deg,rgba(201,39,40,.32),rgba(26,26,26,1) 65%);border:1px solid rgba(201,39,40,.45);transition:transform .35s}
.v4-tx-big:hover{transform:translateY(-4px)}
.v4-tx-ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;margin-bottom:14px}
.v4-tx-big h4{color:#fff;font-size:1.4rem;margin:0 0 4px}
.v4-tx-one{color:#FF8A8A!important;font-weight:600;margin:0 0 8px!important}
.v4-tx-big p{margin:0 0 10px;font-size:.92rem;color:rgba(255,255,255,.78)}
.v4-sport-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v4-sport{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .35s,box-shadow .35s}
.v4-sport:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.v4-sport-media{display:block;aspect-ratio:16/9;overflow:hidden}
.v4-sport-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.v4-sport:hover .v4-sport-media img{transform:scale(1.04)}
.v4-sport-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.v4-sport h3{display:flex;align-items:center;gap:10px;margin:0;font-size:1.2rem}
.v4-sport .sport-icon{color:var(--red);display:inline-flex}
.v4-sport .sport-steps-sum{margin:0;font-size:.93rem;color:var(--muted)}
.v4-sport-steps{margin:4px 0 6px;display:grid;gap:6px}
.v4-sport-steps div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;font-size:.88rem;padding-top:6px;border-top:1px solid var(--line)}
.v4-sport-steps dt{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--red-dark)}
.v4-sport-steps dd{margin:0}
.v4-sport .sport-link{margin-top:auto}
.v4-first .v4-band-media img{object-position:center 30%}
@media (max-width:1024px){
  .v4-group{grid-template-columns:1fr;gap:20px;padding:26px}
  .v4-group-head{position:static}
  .v4-sport-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .v4-group{padding:22px 18px}
  .v4-tx-grid,.v4-tx-lead,.v4-sport-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .v4-tx,.v4-tx-big,.v4-sport,.v4-sport-media img{transition:none!important}
  .v4-tx:hover,.v4-tx-big:hover,.v4-sport:hover,.v4-sport:hover .v4-sport-media img{transform:none}
}
/* 47c. v4 page parts: testing */
.v4-bento-3{grid-template-columns:repeat(4,minmax(0,1fr))}
.v4-note-dark{margin-top:18px;color:var(--muted)}
.v4-note-dark .icon{color:var(--red)}
.what-testing .v3-who-wrap{margin:8px 0 0}
.v4-jump{margin:0;padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.1)}
.v4-test-hero .hero-proof{margin-bottom:22px}
.v4-equip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.v4-equip{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--ink);color:rgba(255,255,255,.75);transition:transform .35s}
.v4-equip:hover{text-decoration:none;transform:translateY(-4px)}
.v4-equip-media{display:block;aspect-ratio:16/10;overflow:hidden}
.v4-equip-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.v4-equip:hover .v4-equip-media img{transform:scale(1.05)}
.v4-equip-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;font-size:.92rem;line-height:1.5;flex:1}
.v4-equip-body .v4-teaser-kicker{display:inline-flex;align-items:center;gap:6px}
.v4-equip strong{color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.03em;font-size:1.25rem}
.v4-equip-go{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-size:.84rem;font-weight:600}
.v4-row h3 .icon{color:var(--red);vertical-align:-3px;margin-right:4px}
.v4-row .tx-where{margin:0}
.rd-section.v4-rd .rd-copy .btn-row{margin-top:18px}
@media (max-width:1024px){ .v4-equip-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ .v4-equip-grid{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .v4-equip,.v4-equip-media img{transition:none!important} .v4-equip:hover,.v4-equip:hover .v4-equip-media img{transform:none} }
/* 47d. v4 page parts: technology (dark machine bands) */
.tech-machine.v4-dark{background:radial-gradient(120% 90% at 0% 0%,rgba(200,16,46,.22),transparent 55%),var(--ink)}
.tech-machine.v4-dark .section-intro,.tech-machine.v4-dark .tech-lists .tick-list{color:rgba(255,255,255,.78)}
.tech-machine.v4-dark .tech-lists h3,.tech-machine.v4-dark h2{color:#fff}
.tech-machine.v4-dark .tx-where{color:rgba(255,255,255,.7)}
.tech-machine.v4-dark .tick-list .icon{color:#FF8A8A}
.tech-machine.v4-dark .tech-machine-photo img{box-shadow:0 30px 70px rgba(0,0,0,.5)}
.tech-machine-photo{overflow:hidden;border-radius:var(--radius)}
.js .tech-machine-photo.reveal{transform:scale(.96);opacity:0;transition:opacity .8s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.js .tech-machine-photo.reveal.is-visible{transform:none;opacity:1}
@media (prefers-reduced-motion:reduce){ .js .tech-machine-photo.reveal{transform:none;opacity:1;transition:none} }
/* 47e. v4 page parts: physicians */
.v4-bento-doc{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(180px,auto);margin-bottom:34px}
.doc-tech{background:radial-gradient(110% 80% at 100% 0%,rgba(200,16,46,.2),transparent 55%),var(--ink)}
.doc-tech .doc-two article{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-top:4px solid var(--red);box-shadow:none}
.doc-tech .doc-two h3,.doc-tech .doc-menu strong{color:#fff}
.doc-tech .doc-two p,.doc-tech .doc-menu{color:rgba(255,255,255,.75)}
.doc-tech .refer-dev{color:#FF8A8A}
.doc-tech .doc-jumps li{background:rgba(255,255,255,.06);color:rgba(255,255,255,.7);box-shadow:none;border:1px solid rgba(255,255,255,.1)}
.doc-tech .doc-jumps strong{color:#fff}
.doc-tech .v4-details{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
.doc-tech .v4-details > summary{color:#fff}
.doc-tech .tech-more a{color:#fff}
@media (max-width:760px){ .v4-bento-doc{grid-template-columns:1fr} .v4-bento-doc .v3-tile-wide{grid-column:auto} }
/* 47f. v4 page parts: clinic pages */
.v4-bento-loc{grid-auto-rows:minmax(190px,auto);margin-bottom:16px}
.v4-equip-2{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.v4-loc-test{align-items:center}
.v4-loc-test-photo{border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.18)}
.v4-loc-test-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.v4-loc-hero .hero-proof{margin-bottom:22px}
.v4-loc-hero .v4-hero-media{min-height:520px}
.loc-path .v3-who-wrap{margin:18px 0 22px}
@media (max-width:1024px){ .v4-loc-hero .v4-hero-media{min-height:0} .v4-hero-media .loc-card{position:relative;left:auto;bottom:auto;max-width:none;margin-top:-60px;margin-left:16px;margin-right:16px} }
@media (max-width:760px){ .v4-equip-2{grid-template-columns:1fr} }
/* 47g. v4 page parts: sport pages */
.v4-sport-hero .program-hero-copy{animation:v4-rise .9s cubic-bezier(.2,.7,.2,1) both}
.v4-sport-hero .program-hero-media{animation:v4-unveil 1.1s cubic-bezier(.2,.7,.2,1) .15s both}
.v4-sport-hero .v4-rail{margin-top:34px}
.v4-cond .program-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.v4-cond .cond-groups{margin-top:0}
.v4-cond-photo{margin:26px 0 0;border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.16)}
.v4-cond-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.program-help.v4-dark .tech-callout{margin-top:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
@media (max-width:760px){ .v4-cond .program-condition-grid{grid-template-columns:1fr} .v4-cond-photo{display:none} }
@media (prefers-reduced-motion:reduce){ .v4-sport-hero .program-hero-copy,.v4-sport-hero .program-hero-media{animation:none} }
/* 47h. v4 page parts: book, thanks, 404, privacy */
.v4-hero .btn-row:empty{display:none}
ul.v4-links{list-style:none;padding:0;margin:26px 0 28px}
.v4-thanks-hero ul.v4-links,.v4-nf ul.v4-links{grid-template-columns:repeat(3,minmax(0,1fr))}
.v4-nf ul.v4-links li:last-child:nth-child(3n+1){grid-column:auto}

.v4-legal-hero{padding-bottom:40px}
.v4-legal{padding-top:56px}
@media (max-width:760px){ .v4-thanks-hero ul.v4-links,.v4-nf ul.v4-links{grid-template-columns:1fr} }
@media (max-width:1024px){ .v4-bento-3,.v4-bento-loc{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ .v4-bento-3,.v4-bento-loc{grid-template-columns:1fr} .v4-bento-loc .v3-tile-wide{grid-column:auto} }
.v4-journey.section-dark .v3-step-pkg{color:#FF8A8A}
.avail-table thead th,.avail-table tbody th{color:var(--ink)}

/* ===== Home hero, first-screen pass (Oct 22 2026, 8:04 PM brief): what we do + why it is more than traditional PT ===== */
.hero .lead .hero-lead-key{color:#fff;font-weight:700;display:block;margin-bottom:6px}
.hero-diff{padding:30px 30px 28px}
.hero-diff .hero-card-title{margin-bottom:8px}
.hero-diff .hero-diff-intro{margin:0 0 18px}
.hero-diff-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:0}
.hero-diff-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid rgba(255,255,255,.12)}
.hero-diff-list li:first-child{border-top:0;padding-top:0}
.hero-diff-list .icon{flex:0 0 auto;color:var(--red);margin-top:2px}
.hero-diff-list div{display:flex;flex-direction:column;gap:2px;line-height:1.35}
.hero-diff-list strong{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:.92rem;color:#fff}
.hero-diff-where{color:rgba(255,255,255,.7);font-weight:500}
.hero-diff-sub{color:rgba(255,255,255,.78);font-size:.92rem}
@media (max-width:1100px) and (min-width:761px){.hero-diff-sub{display:none}}
@media (max-width:760px){
  .hero{padding:56px 0 110px}
  .hero .hero-copy>*{align-self:stretch}
  .hero .hero-copy>.eyebrow,.hero .hero-copy>.hero-soft{align-self:flex-start}
  .hero .hero-inner{display:flex;flex-direction:column;gap:0}
  .hero .hero-copy{display:contents}
  .hero .hero-copy>.eyebrow{order:1;margin-bottom:10px}
  .hero .hero-copy>h1{order:2;margin-bottom:14px;font-size:clamp(2.6rem,12vw,3.2rem)}
  .hero .hero-copy>.lead{order:3;margin-bottom:14px;font-size:1rem}
  .hero .lead .hero-lead-key{margin-bottom:2px}
  .hero .hero-card.hero-diff{display:block;order:4;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;margin:0 0 18px;max-width:none}
  .hero-diff .hero-card-title{font-size:.95rem;letter-spacing:.08em;color:var(--red);margin:0 0 4px}
  .hero-diff .hero-diff-intro,.hero-diff .hero-diff-sub,.hero-diff .hero-diff-cta{display:none}
  .hero-diff-list{margin:0}
  .hero-diff-list li{padding:7px 0;gap:10px;border-top:1px solid rgba(255,255,255,.12)}
  .hero-diff-list strong{font-size:.86rem;letter-spacing:.04em}
  .hero-diff-list .icon{width:18px;height:18px;margin-top:0}
  .hero .hero-copy>.btn-row{order:5}
  .hero .hero-copy>.hero-soft{order:6}
}

/* ===== Clinic pages: treatments as linked tiles (redundancy pass, Oct 22 2026; explanations live on packages.html#treatments) ===== */
.loc-tx-grid{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.loc-tx-grid a{display:flex;gap:14px;align-items:center;height:100%;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);transition:border-color .2s,transform .2s}
.loc-tx-grid a:hover{border-color:var(--red);text-decoration:none;transform:translateY(-2px)}
.loc-tx-grid a>.icon{flex:0 0 auto;color:var(--red)}
.loc-tx-grid span{display:flex;flex-direction:column;gap:2px;line-height:1.3}
.loc-tx-grid strong{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:1rem}
.loc-tx-grid small{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.85rem}
@media (prefers-reduced-motion:reduce){.loc-tx-grid a{transition:none}.loc-tx-grid a:hover{transform:none}}
.v3-packages-slim{padding-top:0;padding-bottom:72px;background:#fff}
.v3-packages-slim .v3-pay{margin-top:0}
@media (max-width:760px){.loc-tx-grid{grid-template-columns:1fr 1fr;gap:8px}.loc-tx-grid a{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.loc-tx-grid strong{font-size:.9rem}}
/* ===== Brad's media (Oct 22 2026, 8:22 PM): looping tech clips over a poster, hands-on + mobility stills. Crop only, no blur. ===== */
.has-clip{position:relative}
.has-clip>.bgv{z-index:0}
/* video centering fix (Oct 22 2026, 11:25 PM): clips are re-cut with the subject centred in frame, so poster and video both
   cover-fit from the exact centre; the <video> fills its slot box exactly (no stray inline gap) */
.bgv video{display:block;object-position:50% 50%}
.has-clip .bgv-poster img,.has-clip>picture img,.has-clip .v3-tile-media img,.has-clip>.bgv video{object-position:50% 50%}
/* cache-bust + recentre (Oct 23 2026): clip-force-plate-v2 is a 4:5 crop stabilised on the Hawkin chart (chart centred, athlete
   names cropped out), so both the portrait bento tile and the 4:3 technology figure cover-fit it from the exact centre */
.v3-tile-plates.has-clip .v3-tile-media img,.v3-tile-plates.has-clip>.bgv video{object-position:50% 50%}
/* testing.html session band: the 4:3 sprint clip is cover-fit into a wide, short band, so a centred crop cut the athlete's head off;
   keep him horizontally centred and pin the crop near the top of the frame, where he runs */
.testing-session>.bgv video{object-position:50% 5%}
.tech-machine-photo.has-clip>.bgv{bottom:4px;border-radius:var(--radius) var(--radius) 0 0}
.has-clip>.bgv-toggle{top:14px;right:14px;bottom:auto;padding:6px 12px;font-size:.74rem}
@media (max-width:760px) and (prefers-reduced-motion:no-preference){ .has-clip>.bgv-toggle{display:block} }
.v3-tile-hands.has-media{min-height:360px}
.v3-tile-hands .v3-tile-media img{object-position:40% 45%}
.v3-tile-hands.has-media .v3-tile-body{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px}
.v3-tile-hands.has-media .v3-tile-ico{margin:0}
.v4-group-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.v4-group-photos picture{display:block;border-radius:12px;overflow:hidden}
.v4-group-photos img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.v4-group-photos picture:first-child img{object-position:30% 50%}
.v4-group-photos picture:last-child img{object-position:55% 50%}
@media (min-width:1025px){ .v4-group-photos{grid-template-columns:1fr;gap:12px} .v4-group-photos img{aspect-ratio:4/3} }
@media (max-width:1024px){ .v4-group-photos img{aspect-ratio:4/3} }

/* 1080 Sprint results screen (Brad, 8:41 PM) */
.tech-data-proof{margin:28px 0 0;max-width:560px}
.tech-data-proof img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow)}
.tech-data-proof figcaption{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:.875rem;line-height:1.45;opacity:.8}
.tech-data-proof figcaption .icon{flex:none;margin-top:2px;color:var(--red)}

/* ===== SMS consent checkbox (booking form) + legal pages TOC (Oct 22 2026, RingCentral 10DLC; the build config, privacy.py) ===== */
.rq-sms{flex-direction:row;align-items:flex-start;gap:12px;background:#F6F6F6;border:1px solid #E2E2E2;border-radius:10px;padding:12px 14px}
.rq-sms input[type=checkbox]{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--red);cursor:pointer}
.rq-sms label{display:flex;flex-direction:column;gap:4px;font-weight:400;cursor:pointer}
.rq-sms-title{font-weight:600;font-size:.92rem;color:var(--ink)}
.rq-sms-text{font-size:.8rem;line-height:1.5;color:#4A4A4A}
.rq-sms-text a{color:var(--red-dark);text-decoration:underline;text-underline-offset:2px}
.rq-reach-help{width:100%;margin:0;font-size:.82rem;color:var(--muted)}
.legal-updated{color:var(--muted)}
.legal-toc{background:#F6F6F6;border:1px solid #E2E2E2;border-radius:12px;padding:18px 22px;margin:8px 0 28px}
.legal-toc p{margin:0 0 8px}
.legal-toc ul{columns:2;column-gap:28px;margin:0;padding-left:18px}
.legal-toc li{break-inside:avoid}
.legal-body h2[id]{scroll-margin-top:96px}
@media (max-width:600px){ .legal-toc ul{columns:1} }
.footer-legal a{color:rgba(255,255,255,.85);text-decoration:underline;text-underline-offset:2px}
.footer-legal a:hover{color:#fff}

/* ===== overnight polish 10/23 (safe to remove as a block) ===== */
/* packages "by sport" cards: icon was red on red, link was white on white */
.v4-sport .sport-icon{color:#fff;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;flex:none}
.v4-sport .sport-link{color:var(--ink)}
.v4-sport .sport-link:hover{color:var(--red)}
/* testing page journey note sat on a white band with near-white text */
.v3-journey .v4-note{color:var(--muted)}
.v3-journey .v4-note .icon{color:var(--red)}
/* physician tables inside dark sections inherited white text */
.doc-table td{color:var(--ink)}
/* small screens: scroll shadows so wide tables read as swipeable */
@media (max-width:760px){
  .doc-table-wrap{background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left/40px 100% no-repeat local,linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) right/40px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.16),transparent) left/14px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.16),transparent) right/14px 100% no-repeat scroll,#fff}
}
/* sports "Other programs": tiles fill their grid cells evenly */
.op-links a{display:flex;height:100%;align-items:center}
/* closing CTA: book button on its own line, call buttons together underneath (only before a clinic is chosen) */
@media (min-width:761px){
  html:not([data-clinic]) .final-cta .btn-row{row-gap:10px}
  html:not([data-clinic]) .final-cta .btn-row>.btn-primary{order:0}
  html:not([data-clinic]) .final-cta .btn-row::after{content:"";order:1;flex-basis:100%;height:0}
  html:not([data-clinic]) .final-cta .btn-row>:not(.btn-primary){order:2}
}
@media (min-width:1100px){ html:not([data-clinic]) .final-cta .btn-row{margin-left:-70px;margin-right:-70px} }
/* sticky mobile bar steps aside while the hero (with its own book button) or the request form is on screen */
@media (max-width:760px){
  .mobile-cta{transition:transform .25s ease,visibility 0s linear 0s}
  .mobile-cta.mcta-away{transform:translateY(110%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
}
@media (prefers-reduced-motion:reduce){ .mobile-cta,.mobile-cta.mcta-away{transition:none} }

/* Packages "same three steps" cards: match home program-card photo framing (4:5 portrait), Oct 24 */
.v4-sport-media{aspect-ratio:4/5}
.v4-sport-media img{object-position:50% 30%}

/* Selected clinic: address, phone and links in the top bar turn red (Oct 24) */
.utility-bar .clinic-info [data-clinic-only] a,
.utility-bar .clinic-info [data-clinic-only] .addr{color:#ef3b3c}
.utility-bar .clinic-info [data-clinic-only] a:hover{color:#fff}

/* Header Call dropdown: keep clinic name and phone number on one line (Oct 24) */
.call-dropdown{min-width:0;width:max-content;max-width:calc(100vw - 24px)}
.call-dropdown a,.call-dropdown a strong,.call-dropdown a span{white-space:nowrap}
.call-dropdown a{gap:24px}
@media (max-width:760px){ .call-dropdown{right:auto;left:50%;transform:translateX(-50%)} }

/* ============ 60. HOME HERO v2 (Oct 26 2026): differentiators first, color 1080 sprint loop, example report synced to the loop ============ */
.hv2-hero .hero-bg{object-position:50% 35%}
.hv2-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;z-index:0;opacity:0;transition:opacity .6s ease}
.hv2-vid.is-on{opacity:1}
.hv2-hero .hero-overlay{background:linear-gradient(90deg,rgba(13,13,13,.9) 0%,rgba(13,13,13,.62) 48%,rgba(13,13,13,.18) 100%),linear-gradient(0deg,rgba(13,13,13,.85),transparent 45%)}
.hv2-diff{margin:4px 0 22px;max-width:620px}
.hv2-diff-k{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:1.25rem;color:#ff6b6b;margin:0 0 12px}
.hv2-diff-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 26px}
.hv2-diff-list li{display:flex;gap:10px;align-items:flex-start}
.hv2-diff-list .icon{flex:none;color:var(--red);margin-top:3px}
.hv2-diff-list div{display:flex;flex-direction:column;gap:3px;line-height:1.35}
.hv2-diff-list strong{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:1rem;color:#fff}
.hv2-diff-list strong em{font-style:normal;font-weight:500;color:rgba(255,255,255,.7);font-size:.82rem;letter-spacing:.06em}
.hv2-diff-list span{font-size:.9rem;color:rgba(255,255,255,.78)}
.hv2-hero .hv2-who{font-size:1.02rem;color:rgba(255,255,255,.85);max-width:600px;margin:0 0 24px}
.hv2-trust{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.9rem;color:rgba(255,255,255,.85)}
.hv2-trust li{display:flex;align-items:center;gap:6px}.hv2-trust li+li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--red);margin-right:8px}
.hv2-stars{color:#f5b301;letter-spacing:1px}
@media (max-width:1024px){.hv2-diff-list{grid-template-columns:1fr}}
@media (max-width:760px){
 .hv2-hero{padding:24px 0 110px!important}
 .hv2-vid{display:none}
 .hv2-hero .hero-bg{object-position:50% 0%}
 .hv2-hero .hero-overlay{background:linear-gradient(180deg,rgba(13,13,13,.55) 0%,rgba(13,13,13,.78) 30%,rgba(13,13,13,.92) 58%)!important}
 .hv2-hero .hero-h1{font-size:2.9rem}
 .hv2-desk{display:none!important}
 .hv2-hero .hero-copy>.hv2-diff{order:3;margin:0 0 16px}
 .hv2-diff-list{gap:10px}.hv2-diff-list span{display:none}.hv2-diff-list strong{font-size:.95rem}
 .hv2-hero .hero-copy>.hv2-who{order:4;font-size:.95rem!important;margin-bottom:16px}
 .hv2-hero .hero-copy>.btn-row{order:5}
 .hv2-hero .hero-copy>.hv2-trust{order:6;flex-direction:column;gap:6px;margin:14px 0 22px}.hv2-trust li+li:before{margin-right:4px}
 .hv2-hero .hv2-rd{order:7;margin:0 0 6px}
 .hv2-hero .hero-copy>.hero-soft{order:8}
}
@media (prefers-reduced-motion:reduce){.hv2-vid{display:none}}

.hv2-rd{position:relative}
.hv2-rd-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.hv2-rd-k{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.9rem;color:#fff}
.hv2-rd .rd-toggle{margin:0;background:rgba(0,0,0,.45);backdrop-filter:blur(10px)}
.hv2-rd .rd-btn{padding:8px 14px;font-size:.82rem;min-height:38px}
.hv2-rd .rd-card{padding:20px 20px 14px}
.hv2-rd .rd-table th,.hv2-rd .rd-table td{padding:9px 5px}
.hv2-rd .rd-legend{margin:12px 0 14px;font-size:.8rem;color:rgba(255,255,255,.85)}
@media (max-width:760px){
 .hv2-hero .hv2-rd{order:7;margin:0 0 6px}
 .hv2-rd-top{flex-direction:column;align-items:flex-start}
}

.hv2-rd .rd-card{background:rgba(13,13,13,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.14);border-top:3px solid var(--red);box-shadow:0 20px 50px rgba(0,0,0,.4);padding:18px 18px 12px}
.hv2-rd .rd-head{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:8px}
.hv2-rd .rd-title{color:#fff;font-size:.95rem;flex-wrap:nowrap;white-space:nowrap}.hv2-rd .rd-title [data-rd-date]{color:#ff6b6b;font-size:.85rem}
.hv2-rd .rd-tag{order:2;white-space:nowrap;flex:none;font-size:.64rem;padding:3px 8px;background:transparent;color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.3)}
.hv2-rd .rd-table thead,.hv2-rd .rd-note{display:none}
.hv2-rd .rd-table th,.hv2-rd .rd-table td{border-top:1px solid rgba(255,255,255,.1);padding:10px 4px}
.hv2-rd .rd-table tbody tr:first-child th,.hv2-rd .rd-table tbody tr:first-child td{border-top:0}
.hv2-rd .rd-table tbody th a{color:#fff;font-weight:600;font-size:.92rem}.hv2-rd .rd-table tbody th a span{color:#ef3b3c}
.hv2-rd .rd-table tbody th a:hover{color:#ff6b6b;text-decoration:none}
.hv2-rd .rd-track{background:rgba(255,255,255,.14);height:10px}.hv2-rd .rd-goal{background:#fff}
.hv2-rd .rd-val{color:#fff;font-size:1.1rem}
.hv2-rd .rd-fill.st-met{background:#2ecc71}.hv2-rd .rd-pill.st-met{background:#2ecc71;color:#0d0d0d}
.hv2-rd .rd-pill{font-size:.66rem;padding:3px 8px}
.hv2-rd .btn-block{margin-top:14px}
.hv2-rd-hint{font-size:.78rem;color:rgba(255,255,255,.7);margin:8px 0 0}
@media (max-width:760px){.hv2-rd .rd-table tbody th a{font-size:.85rem;white-space:normal}.hv2-rd .rd-pill{display:none}}

/* Home "Measured. Not guessed." lead clip, full width (Oct 26 2026): wide force-trace clip clip-force-plate-wide-v3 */
.v3-tile-full{grid-column:1/-1;min-height:clamp(320px,42vw,560px)}
.v3-tile-full h3{font-size:clamp(1.7rem,2.8vw,2.5rem)}
@media (max-width:760px){.v3-tile-full{grid-column:auto;min-height:0;aspect-ratio:16/10}}
/* hero v2: keep the report inside the phone width; shorter H1 on desktop so the differentiators sit higher */
.hv2-rd{min-width:0;max-width:100%}
@media (min-width:761px){.hv2-hero .hero-h1{font-size:clamp(3rem,5.2vw,5.6rem)}}
@media (max-width:760px){
 .hv2-hero .hv2-rd{width:100%;box-sizing:border-box}
 .hv2-rd .rd-card{max-width:100%;box-sizing:border-box;padding:14px 12px 10px}
 .hv2-rd .rd-title{font-size:.8rem}.hv2-rd .rd-title [data-rd-date]{font-size:.74rem}
 .hv2-rd .rd-tag{font-size:.58rem;padding:2px 6px}
 .hv2-rd .rd-table{table-layout:fixed;width:100%}
}

/* ===== Packages reorder (Oct 26 2026): programs first, athlete hook, tap-to-open treatment rows ===== */
.packages-page .v4-sport-who{margin:6px 0 8px;font-weight:600;font-size:.9rem;color:var(--ink,#111)}
.packages-page .v4-sport-hook{margin:0 0 14px;color:var(--muted);font-size:.95rem;line-height:1.55;flex:1}
.packages-page .v4-sport-body{display:flex;flex-direction:column;flex:1}
.packages-page .pkg-steps-cta{margin-top:24px;justify-content:center}
.anchor-alias{position:relative;top:-90px;display:block;height:0}
.v4-folds{display:grid;gap:12px;margin-top:8px}
.v4-fold{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.v4-fold>summary{display:flex;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;list-style:none}
.v4-fold>summary::-webkit-details-marker{display:none}
.v4-fold>summary:hover{background:var(--light)}
.v4-fold-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--red,#d71920);color:#fff;flex:none}
.v4-fold-t{display:flex;flex-direction:column;flex:1;min-width:0}
.v4-fold-t strong{font-family:var(--head,inherit);font-size:1.35rem;text-transform:uppercase;letter-spacing:.02em}
.v4-fold-t span{color:var(--muted);font-size:.93rem}
.v4-fold-chev{transition:transform .25s;color:var(--muted)}
.v4-fold[open] .v4-fold-chev{transform:rotate(90deg)}
.v4-fold>.v4-group{margin:0;border-radius:0}
.v4-fold>.v4-group .v4-group-head h3,.v4-fold>.v4-group .v4-group-line{display:none}
.v4-fold>.v4-group .v4-group-ico{display:none}
@media (max-width:760px){.v4-fold>summary{padding:16px}.v4-fold-t strong{font-size:1.15rem}}
.v4-tx,.v4-tx-big,.v4-fold{scroll-margin-top:110px}
.program-hero h1.h-lines .h-line{display:block}
@media (min-width:761px){.program-hero h1.h-lines .h-line{white-space:nowrap}}
@media (max-width:760px){.program-hero h1.h-lines{font-size:clamp(1.6rem,8.4vw,2.3rem)}.program-hero h1.h-lines .h-line{white-space:nowrap}}
/* Packages: what's in your package (Oct 26 2026) */
.v4-pkg-incl{margin:2px 0 14px;border-top:1px solid var(--line);padding-top:10px}
.v4-pkg-incl>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;color:var(--red,#d71920)}
.v4-pkg-incl>summary::-webkit-details-marker{display:none}
.v4-pkg-incl>summary .icon{transition:transform .2s}
.v4-pkg-incl[open]>summary .icon{transform:rotate(90deg)}
.v4-pkg-incl ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.v4-pkg-incl li{display:flex;gap:10px;align-items:flex-start}
.v4-pkg-incl li>.icon{flex:none;margin-top:2px;color:var(--red,#d71920)}
.v4-pkg-incl li strong{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.v4-pkg-incl li span{display:block;font-size:.9rem;color:var(--muted);line-height:1.5}
.v4-pkg-note{margin:12px 0 0;font-size:.8rem;color:var(--muted);font-style:italic}
.v4-eq{display:flex;align-items:stretch;gap:10px;margin:6px 0 28px;flex-wrap:nowrap}
.v4-eq-cell{flex:1;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.v4-eq-cell strong{font-family:var(--head,inherit);text-transform:uppercase;font-size:1.15rem;letter-spacing:.02em}
.v4-eq-cell span{font-size:.88rem;color:var(--muted)}
.v4-eq-goal{background:#111;border-color:#111}
.v4-eq-goal strong{color:#fff}.v4-eq-goal span{color:rgba(255,255,255,.75)}
.v4-eq-op{align-self:center;font-family:var(--head,inherit);font-size:1.8rem;color:var(--red,#d71920);font-weight:700}
@media (max-width:900px){.v4-eq{flex-direction:column}.v4-eq-op{align-self:center;line-height:1}}

/* ===== Oct 26 2026: example plans (layered depth: package > example plan > research) ===== */
.v4-pkg-incl+.v4-pkg-incl{margin-top:-6px}
.v4-pkg-open{border-top:0;padding-top:0;margin:0}
.xp{margin-top:12px}
.xp-case{margin:0 0 14px;font-size:.92rem;line-height:1.5}
.xp-case strong{display:block;color:var(--ink)}.xp-case span{color:var(--muted)}
.xp-track{position:relative;height:3px;background:var(--line);border-radius:3px;margin:0 12.5% -17px;z-index:0}
.xp-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--red);border-radius:3px;transition:width .35s ease}
.xp-tabs{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:14px}
.xp-tab{background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font:inherit;color:var(--muted)}
.xp-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--white);border:2px solid var(--line);font:600 .95rem Oswald,sans-serif;color:var(--muted);transition:all .25s}
.xp-tname{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:center;line-height:1.25}
.xp-tab.is-done .xp-num{background:var(--ink);border-color:var(--ink);color:#fff}
.xp-tab[aria-selected="true"] .xp-num{background:var(--red);border-color:var(--red);color:#fff;transform:scale(1.08)}
.xp-tab[aria-selected="true"] .xp-tname{color:var(--ink)}
.xp-tab:focus-visible .xp-num{outline:3px solid var(--red);outline-offset:3px}
.xp-panel{background:var(--light);border-radius:12px;padding:16px 18px;margin-bottom:10px}
.xp-on .xp-panel{animation:xpIn .3s ease}
@keyframes xpIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.xp-step{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.xp-panel h4{margin:2px 0 2px;font-family:Oswald,sans-serif;text-transform:uppercase;font-size:1.25rem;color:var(--ink)}
.xp-goal{margin:0 0 10px;color:var(--muted);font-size:.92rem}
.xp-row{display:grid;grid-template-columns:118px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.xp-row p{margin:0;font-size:.92rem;line-height:1.5}
.xp-k{display:flex;gap:6px;align-items:flex-start;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);padding-top:2px}
.xp-k .icon{color:var(--red);flex:none}
.xp-gate p{font-weight:600;color:var(--ink)}
.xp-next{margin-top:8px;display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:6px 0;font:700 .88rem Inter,sans-serif;color:var(--red);cursor:pointer;text-decoration:none}
.xp-next:hover{color:var(--red-dark)}
.xp-meas{font-size:.88rem;color:var(--text);margin:8px 0}
.xp-src{border-top:1px solid var(--line);padding-top:8px;font-size:.85rem}
.xp-src>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink)}
.xp-src>summary::-webkit-details-marker{display:none}
.xp-src>summary .icon:last-child{transition:transform .2s}.xp-src[open]>summary .icon:last-child{transform:rotate(90deg)}
.xp-src p{color:var(--muted);margin:8px 0 0;line-height:1.5}.xp-src a{color:var(--ink)}
.xp-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:22px;margin:26px 0}
.xp-incl,.xp-card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 24px}
.xp-incl h3,.xp-card h3{margin:0 0 12px;font-family:Oswald,sans-serif;text-transform:uppercase;font-size:1.15rem;color:var(--ink)}
.xp-section .v4-eq{margin-top:8px}
@media (max-width:900px){.xp-grid{grid-template-columns:1fr}}
@media (max-width:520px){.xp-row{grid-template-columns:1fr;gap:4px}.xp-tname{font-size:.64rem}.xp-incl,.xp-card{padding:18px 16px}}
@media (prefers-reduced-motion:reduce){.xp-fill,.xp-num{transition:none}.xp-on .xp-panel{animation:none}}

/* Mobile top bar (Oct 27 2026): once a clinic is picked, show its phone, address, directions and clinic page on a second row instead of hiding them */
@media (max-width:600px){
  html[data-clinic]{--util-h:92px}
  html[data-clinic] .utility-inner{flex-wrap:wrap;align-content:center;row-gap:6px;padding-top:6px;padding-bottom:8px}
  html[data-clinic] .utility-bar .clinic-info{display:block;width:100%;font-size:.8rem;line-height:1.45}
  html[data-clinic] .utility-bar .clinic-info [data-clinic-only]{display:none!important}
  html[data-clinic="lubbock"] .utility-bar .clinic-info [data-clinic-only="lubbock"],
  html[data-clinic="colleyville"] .utility-bar .clinic-info [data-clinic-only="colleyville"],
  html[data-clinic="irving"] .utility-bar .clinic-info [data-clinic-only="irving"]{display:flex!important;flex-wrap:wrap;align-items:center}
  html[data-clinic] .utility-bar .clinic-info .addr{display:block!important;order:-1;width:100%}
  html[data-clinic] .utility-bar .clinic-info .addr+.sep{display:none!important}
  html[data-clinic] .utility-bar .clinic-info a{padding:2px 0}
}
@media (max-width:600px){ html[data-clinic]{--util-h:97px} .clinic-clear{white-space:nowrap} }
@media (max-width:380px){ .clinic-btn{padding:8px 9px;letter-spacing:.05em} .clinic-switch{gap:6px} .utility-inner{gap:6px} }
@media (max-width:600px){ html,body{overflow-x:clip} }

/* Home (Oct 27 2026): "Measured. Not guessed." now sits directly above the dark Starting-Point Check, so a hairline keeps the two apart */
.v3-diff + .quiz-section{border-top:1px solid rgba(255,255,255,.1)}

/* Nav (Oct 27 2026): "Physical Therapy" added between Testing and Sports; keep every top-level item on one line */
@media (min-width:1025px){
  .main-nav > ul > li > a{white-space:nowrap}
  .main-nav > ul{gap:22px}
}
@media (min-width:1025px) and (max-width:1320px){
  .main-nav > ul{gap:14px}
  .main-nav > ul > li > a{font-size:.82rem;letter-spacing:.05em}
}
