/* ============================================================
   NOVARÉ INJURY CARE — Pixel-Perfect from Elementor Original
   ============================================================ */

:root {
  /* =========================================================
     SEMANTIC TOKENS (authoritative — the source of truth for
     brand colors). sp-theme.css also defines these; keep both
     files in sync. The color-named tokens below are aliases
     that exist for backwards compatibility with legacy selectors
     in this file — new selectors should use --color-* directly.

     Client-agnostic names so the design system is portable: a
     pool company sets --color-accent to their blue, a landscaper
     sets it to their green, etc.
     ========================================================= */
  --color-primary: #0c1a2e;
  --color-primary-light: #112240;
  --color-accent: #0C7396;
  --color-accent-dark: #07597A;
  --color-accent-soft: rgba(12,115,150,0.08);
  --color-accent-border: rgba(12,115,150,0.3);
  --color-bg: #fff;
  --color-bg-alt: #edf5fa;
  --color-bg-subtle: #f5f9fc;
  --color-text: #444;
  --color-text-muted: #595959;
  --color-heading: #1a1a1a;
  --color-border: #e2e8f0;
  --color-gold: #f5c518;

  /* =========================================================
     LEGACY ALIASES (color-named shims). Existing selectors in
     this file reference --cyan, --navy, etc. Rather than renaming
     hundreds of selectors, we alias the color-named tokens to
     the semantic ones. When brand changes, only the --color-*
     values above need to change and everything propagates.

     Also available: --cyan-bright (#41BEEA) for decorative-only
     accents like low-alpha hovers where contrast doesn't matter.
     ========================================================= */
  --cyan: var(--color-accent);
  --cyan-dark: var(--color-accent-dark);
  --cyan-bright: #41BEEA;
  --cyan-light: var(--color-accent-soft);
  --cyan-border: var(--color-accent-border);
  --navy: var(--color-primary);
  --navy-light: var(--color-primary-light);
  --dark: #111;
  --body: var(--color-text);
  --muted: var(--color-text-muted);
  --heading: var(--color-heading);
  --light-bg: var(--color-bg-alt);
  --lighter-bg: var(--color-bg-subtle);
  --white: var(--color-bg);
  --border: var(--color-border);
  --gold: var(--color-gold);
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --radius: 12px;
  --radius-sm: 8px;
  --container: 1240px;
  --transition: 0.3s ease;

  /* =========================================================
     SECTION-LIBRARY TOKENS (migrated 2026-06-03). These were
     previously only defined inside per-page inline <style>
     bundles, which the deploy strips on push. Adding them here
     so the migrated section selectors (appended at the end of
     this file) resolve their vars.
     ========================================================= */
  --color-surface-alt: #f5f9fc;        /* == --color-bg-subtle */
  --cyan-soft: rgba(65,190,234,0.08);  /* decorative low-alpha tint */
  --font-h: 'Archivo','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --radius-lg: 16px;
  --shadow-cyan: 0 8px 28px rgba(65,190,234,0.32);  /* decorative cyan glow */
  --t: 300ms cubic-bezier(0.165,0.84,0.44,1);
}

/* Reset */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);font-size:16px;color:var(--body);line-height:1.6;background:var(--white);overflow-x:hidden}
a{text-decoration:none;color:inherit;transition:color var(--transition)}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit;cursor:pointer}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.text-center{text-align:center}

/* ============================================================
   HEADER
   ============================================================ */
.header{background:var(--navy);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,0.12)}
.header__inner{max-width:var(--container);margin:0 auto;padding:0 24px;display:flex;align-items:center;height:80px;gap:20px}
.header__logo img{height:50px;width:auto}
.header__nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.header__nav>a,.header__nav>.nav-dropdown>a{color:rgba(255,255,255,0.9);font-size:15px;font-weight:500;padding:10px 16px;transition:color var(--transition);white-space:nowrap}
.header__nav>a:hover,.header__nav>.nav-dropdown:hover>a{color:var(--cyan)}
.nav-dropdown{position:relative}
.nav-dropdown__menu{visibility:hidden;opacity:0;position:absolute;top:calc(100% + 8px);left:0;background:var(--navy-light);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-sm);padding:6px 0;min-width:200px;box-shadow:0 12px 40px rgba(0,0,0,0.4);transform:translateY(4px);transition:all 0.2s;z-index:100}
.nav-dropdown:hover .nav-dropdown__menu{visibility:visible;opacity:1;transform:translateY(0)}
.nav-dropdown__menu a{display:block;padding:10px 20px;font-size:14px;color:rgba(255,255,255,0.65)}
.nav-dropdown__menu a:hover{background:rgba(255,255,255,0.05);color:var(--cyan)}
.header__cta{margin-left:16px;display:inline-flex;align-items:center;gap:8px;color:var(--cyan);background:var(--white);border:2px solid var(--white);padding:10px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;white-space:nowrap;transition:all var(--transition)}
.header__cta:hover{background:transparent;color:var(--white);border-color:var(--white)}
.header__cta .arrow{font-size:16px}
.hamburger{display:none;flex-direction:column;gap:6px;width:40px;height:40px;background:none;border:none;padding:8px;cursor:pointer;z-index:1001}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px;transition:0.3s}
.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Mobile Nav */
.mobile-nav{position:fixed;top:80px;left:0;right:0;bottom:0;background:var(--navy);z-index:999;padding:16px 24px 40px;overflow-y:auto;transform:translateX(100%);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1)}
.mobile-nav.active{transform:translateX(0)}
.mobile-nav a{display:block;color:rgba(255,255,255,0.9);padding:14px 0;font-size:17px;font-weight:500;border-bottom:1px solid rgba(255,255,255,0.06)}
.mobile-nav a:hover{color:var(--cyan)}
.mobile-nav__sub{padding-left:20px}
.mobile-nav__sub a{font-size:15px;color:rgba(255,255,255,0.5);padding:12px 0}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;border:none;cursor:pointer;transition:all var(--transition);line-height:1;font-family:var(--font);text-decoration:none}
.btn--cyan{background:var(--cyan);color:var(--white);padding:20px 32px;border-radius:var(--radius-sm);font-size:16px}
.btn--cyan:hover{background:var(--cyan-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(65,190,234,0.3)}
.btn--outline{background:transparent;color:var(--cyan);border:2px solid var(--cyan);padding:18px 30px;border-radius:var(--radius-sm);font-size:16px}
.btn--outline:hover{background:var(--cyan);color:var(--white)}
.btn--outline-white{background:var(--white);color:var(--cyan);border:2px solid var(--white);padding:18px 30px;border-radius:var(--radius-sm);font-size:16px}
.btn--outline-white:hover{background:var(--white);color:var(--navy)}
.btn .arrow{font-size:18px;transition:transform var(--transition)}
.btn:hover .arrow{transform:translate(2px,-2px)}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:700px;display:flex;align-items:center;background:var(--navy)}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(12,26,46,0.92) 0%,rgba(12,26,46,0.85) 40%,rgba(12,26,46,0.65) 70%,rgba(12,26,46,0.5) 100%)}
.hero__content{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:80px 24px 100px;width:100%}
.hero__rating{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.hero__stars{color:var(--gold);font-size:20px;letter-spacing:2px}
.hero__rating-text{color:rgba(255,255,255,0.75);font-size:15px}
.hero h1{font-size:48px;font-weight:800;color:var(--white);line-height:1.15;margin-bottom:24px;max-width:700px;letter-spacing:-0.02em}
.hero h1 span{color:var(--cyan)}
.hero__desc{font-size:18px;color:rgba(255,255,255,0.7);line-height:1.7;margin-bottom:36px;max-width:600px}
.hero__buttons{display:flex;gap:16px;flex-wrap:wrap}

/* ============================================================
   VIDEO SECTION
   ============================================================ */
.video-section{background:var(--white);padding:80px 0;text-align:center}
.video-section h2{font-size:36px;font-weight:800;color:var(--heading);margin-bottom:40px;text-transform:uppercase;letter-spacing:0.02em}
.video-section h2 span{color:var(--cyan)}
.video-wrapper{max-width:860px;margin:0 auto 40px;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,0.4);aspect-ratio:16/9;position:relative;background:#000}
.video-wrapper iframe{width:100%;height:100%;border:none}
.video-wrapper img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.video-play-yt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:none;border:none;cursor:pointer;padding:0;transition:transform var(--transition),opacity var(--transition);opacity:0.9}
.video-play-yt:hover{transform:translate(-50%,-50%) scale(1.1);opacity:1}
.video-play-yt svg{width:80px;height:56px;filter:drop-shadow(0 2px 8px rgba(0,0,0,0.3))}

/* ============================================================
   TRUST STATS (6 cards with cyan circle icons)
   ============================================================ */
.trust-stats{padding:80px 0;background:var(--white)}
.trust-stats h2{font-size:36px;font-weight:700;text-align:center;margin-bottom:12px;color:var(--heading)}
.trust-stats h2 span{color:var(--cyan);font-style:italic}
.trust-stats__subtitle{text-align:center;color:var(--body);font-size:17px;max-width:700px;margin:0 auto 48px;line-height:1.7}
.trust-stats__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.trust-stat{background:var(--white);border:2px solid var(--cyan-border);border-radius:var(--radius);padding:32px 16px 28px;text-align:center;transition:all var(--transition)}
.trust-stat:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.trust-stat__icon{width:80px;height:80px;background:var(--cyan);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.trust-stat__icon img{width:36px;height:36px}
.trust-stat h3{font-size:16px;font-weight:800;color:var(--heading);margin-bottom:2px}
.trust-stat p{font-size:13px;color:var(--muted)}

/* ============================================================
   SERVICES (Complete Injury Care)
   ============================================================ */
.services{padding:80px 0;background:var(--light-bg)}
.services h2{font-size:34px;font-weight:800;text-align:center;margin-bottom:10px;color:var(--heading)}
.services h2 span{color:var(--cyan)}
.services__subtitle{text-align:center;color:var(--body);font-size:16px;max-width:680px;margin:0 auto 48px;line-height:1.7}
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:var(--white);border:2px solid var(--cyan-border);border-radius:var(--radius);overflow:hidden;transition:all var(--transition)}
.service-card:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.service-card__img{width:calc(100% - 24px);height:240px;overflow:hidden;border-radius:8px;margin:12px}
.service-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.service-card__body{padding:8px 20px 24px}
.service-card h3{font-size:20px;font-weight:700;color:var(--heading);margin-bottom:8px}
.service-card p{font-size:14px;color:var(--body);line-height:1.65}
.services__btn{text-align:center;margin-top:48px}

/* ============================================================
   DIFFERENTIATORS (4 columns, 1 highlighted)
   ============================================================ */
.diff-section{padding:80px 0;background:var(--white)}
.diff-section h2{font-size:34px;font-weight:800;text-align:center;margin-bottom:10px;color:var(--heading)}
.diff-section h2 span{color:var(--cyan)}
.diff-section__subtitle{text-align:center;color:var(--body);font-size:16px;max-width:700px;margin:0 auto 48px;line-height:1.7}
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.diff-card{border:1px solid #e0e0e0;border-radius:16px;padding:32px 28px;transition:all var(--transition);position:relative;background:var(--white)}
.diff-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.08)}
.diff-card__icon{width:48px;height:48px;margin-bottom:18px}
.diff-card__icon svg,.diff-card__icon img{width:48px;height:48px}
.diff-card h3{font-size:18px;font-weight:700;color:var(--heading);margin-bottom:10px;line-height:1.35}
.diff-card p{font-size:14px;color:var(--body);line-height:1.7}
.diff-section__btn{text-align:center;margin-top:48px}

/* ============================================================
   LEADERSHIP (Dr. Ivan)
   ============================================================ */
.leadership{padding:80px 0;background:var(--light-bg)}
.leadership__content{display:flex;align-items:center;gap:60px}
.leadership__text{flex:1}
.leadership__text h2{font-size:34px;font-weight:700;color:var(--heading);margin-bottom:20px;line-height:1.3}
.leadership__text h2 span{color:var(--cyan)}
.leadership__text p{font-size:16px;color:var(--body);line-height:1.75;margin-bottom:14px}
.leadership__text .btn{margin-top:16px}
.leadership__media{flex:1;position:relative}
.leadership__media img{width:100%;border-radius:var(--radius);object-fit:cover}
.leadership__badge{position:absolute;bottom:20px;right:20px;background:var(--cyan);color:var(--white);padding:12px 20px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.leadership__badge svg,.leadership__badge img{width:24px;height:24px;flex-shrink:0}
.leadership__badge div span{display:block;font-size:12px;font-weight:400;opacity:0.85}

/* ============================================================
   TESTIMONIALS (Split: image left, stacked cards right)
   ============================================================ */
.testimonials{padding:80px 0;background:var(--white)}
.testimonials__content{display:flex;gap:48px;align-items:flex-start}
.testimonials__left{flex:1}
.testimonials__left img{width:100%;border-radius:var(--radius);margin-bottom:28px}
.testimonials__left h2{font-size:32px;font-weight:700;color:var(--heading);margin-bottom:12px;line-height:1.3}
.testimonials__left h2 span{color:var(--cyan)}
.testimonials__left p{font-size:15px;color:var(--body);line-height:1.7;margin-bottom:20px}
.testimonials__right{flex:1;display:flex;flex-direction:column;gap:16px}
.review-card{background:var(--light-bg);border-radius:var(--radius);padding:24px;display:flex;gap:16px}
.review-card__avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}
.review-card__body{flex:1}
.review-card__stars{color:var(--gold);font-size:16px;margin-bottom:8px;letter-spacing:1px}
.review-card__text{font-size:14px;color:var(--body);line-height:1.65;margin-bottom:12px}
.review-card__quote{display:flex;align-items:center;gap:12px}
.review-card__quote-icon{color:var(--cyan);font-size:36px;font-weight:800;line-height:1;font-family:Georgia,serif}
.review-card__name{font-weight:700;font-size:15px;color:var(--heading)}
.review-card__location{font-size:13px;color:var(--muted)}

/* ============================================================
   PIP DEADLINE (Image left, card right)
   ============================================================ */
.pip-section{padding:80px 0;background:var(--light-bg)}
.pip__content{display:flex;gap:0;align-items:stretch;min-height:500px;position:relative}
.pip__image{flex:0 0 50%;position:relative;z-index:1}
.pip__image img{width:100%;height:110%;object-fit:cover;border-radius:var(--radius);position:relative;top:-5%}
.pip__card{flex:0 0 55%;background:var(--white);border-radius:var(--radius);padding:48px 40px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow-lg);margin-left:-5%;z-index:2;align-self:center}
.pip__card h2{font-size:30px;font-weight:800;color:var(--heading);margin-bottom:16px;line-height:1.3}
.pip__card h2 span{color:var(--cyan)}
.pip__card>p{font-size:15px;color:var(--body);line-height:1.7;margin-bottom:20px}
.pip__card>.btn{align-self:flex-start}
.pip__features{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}
.pip__feature{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm)}
.pip__feature-icon{width:24px;height:24px;flex-shrink:0;color:var(--cyan)}
.pip__feature h4{font-size:14px;font-weight:700;color:var(--heading);margin-bottom:2px}
.pip__feature p{font-size:12px;color:var(--muted);line-height:1.4}

/* ============================================================
   ATTORNEY (Background image overlay, centered)
   ============================================================ */
.attorney{position:relative;padding:100px 0;text-align:center;min-height:420px;display:flex;align-items:center;background-attachment:fixed;background-size:cover;background-position:center}
.attorney__bg{display:none}
.attorney__overlay{position:absolute;inset:0;background:rgba(12,26,46,0.75)}
.attorney__content{position:relative;z-index:2;max-width:800px;margin:0 auto;padding:0 24px}
.attorney__rating{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}
.attorney__stars{color:var(--gold);font-size:18px;letter-spacing:2px}
.attorney__rating-text{color:rgba(255,255,255,0.7);font-size:14px}
.attorney h2{font-size:32px;font-weight:800;color:var(--white);margin-bottom:16px;line-height:1.3}
.attorney h2 span{color:var(--cyan)}
.attorney p{font-size:16px;color:rgba(255,255,255,0.75);line-height:1.7;margin-bottom:28px;max-width:700px;margin-left:auto;margin-right:auto}

/* ============================================================
   CONDITIONS (Cyan card grid 4x2)
   ============================================================ */
.conditions{padding:80px 0;background:var(--white)}
.conditions h2{font-size:34px;font-weight:800;text-align:center;margin-bottom:10px;color:var(--heading)}
.conditions h2 span{color:var(--cyan)}
.conditions__subtitle{text-align:center;color:var(--body);font-size:16px;max-width:600px;margin:0 auto 48px}
.conditions__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.condition-card{background:var(--cyan);border-radius:16px;padding:40px 20px 28px;text-align:center;color:var(--white);transition:all var(--transition);display:flex;flex-direction:column;align-items:center}
.condition-card:hover{background:var(--cyan-dark);transform:translateY(-3px)}
.condition-card__icon{width:70px;height:70px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}
.condition-card__icon svg,.condition-card__icon img{width:70px;height:70px}
.condition-card h3{font-size:16px;font-weight:700;line-height:1.4}

/* ============================================================
   FAQ (Split: title left, accordion right, dark bg)
   ============================================================ */
.faq{padding:100px 0;background:var(--light-bg);overflow:hidden}
.faq__content{display:flex;gap:72px;align-items:flex-start;max-width:100%}
.faq__left{flex:0 0 36%;position:sticky;top:120px}
.faq__left h2{font-size:32px;font-weight:800;color:var(--heading);margin-bottom:18px;line-height:1.25;letter-spacing:-0.02em}
.faq__left h2 span{color:var(--cyan);font-style:italic;font-weight:700}
.faq__left p{font-size:15px;color:var(--body);line-height:1.75;letter-spacing:0.01em}
.faq__right{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.faq .accordion-item{background:var(--cyan);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 12px rgba(65,190,234,0.2);transition:transform var(--transition),box-shadow var(--transition)}
.faq .accordion-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(65,190,234,0.28)}
.faq .accordion-item.active{box-shadow:0 6px 24px rgba(65,190,234,0.3)}
.faq .accordion-header{width:100%;padding:20px 24px;background:transparent;border:none;text-align:left;font-size:15px;font-weight:600;color:var(--white);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;transition:background var(--transition);letter-spacing:0.01em}
.faq .accordion-header:hover{background:rgba(255,255,255,0.1)}
.faq .accordion-header__icon{width:32px;height:32px;min-width:32px;border-radius:50%;background:rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:400;transition:transform 0.35s,background var(--transition)}
.faq .accordion-item.active .accordion-header__icon{transform:rotate(45deg);background:rgba(255,255,255,0.35)}
.faq .accordion-body{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1)}
.faq .accordion-body__inner{padding:0 24px 22px;font-size:14px;color:rgba(255,255,255,0.92);line-height:1.8;border-top:1px solid rgba(255,255,255,0.15);margin:0 24px;padding:16px 0 22px}

/* ============================================================
   LOCATIONS (Service area + Map)
   ============================================================ */
.locations{padding:80px 0;background:var(--light-bg)}
.locations__content{display:flex;gap:48px;align-items:flex-start}
.locations__text{flex:1}
.locations__text h2{font-size:32px;font-weight:800;color:var(--heading);margin-bottom:16px;line-height:1.3}
.locations__text h2 span{color:var(--cyan)}
.locations__text>p{font-size:15px;color:var(--body);line-height:1.7;margin-bottom:28px}
.service-area{background:rgba(65,190,234,0.06);border:2px solid var(--cyan-border);border-radius:var(--radius);padding:28px}
.service-area h3{font-size:20px;font-weight:700;color:var(--heading);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.service-area__list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.service-area__item{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--heading)}
.service-area__item svg,.service-area__item img{width:16px;height:16px;flex-shrink:0}
.locations__map{flex:1;border-radius:var(--radius);overflow:visible;min-height:500px;box-shadow:var(--shadow-md);position:relative}
.locations__map iframe{width:100%;height:100%;min-height:500px;border:none;border-radius:var(--radius)}
.loc-card{position:absolute;background:rgba(12,26,46,0.75);backdrop-filter:blur(8px);border-radius:var(--radius-sm);padding:20px 24px;max-width:260px;z-index:2}
.loc-card h3{font-size:18px;font-weight:800;color:var(--white);margin-bottom:6px}
.loc-card p{font-size:13px;color:rgba(255,255,255,0.8);line-height:1.5;margin-bottom:14px}
.loc-card__btn{font-size:13px;padding:8px 20px}
.loc-card--fm{bottom:30px;left:30px}
.loc-card--la{top:30px;right:30px}

/* ============================================================
   FINAL CTA
   ============================================================ */
.final-cta{position:relative;padding:120px 0;text-align:center;min-height:500px;display:flex;align-items:center;background-attachment:fixed;background-size:cover;background-position:center}
.final-cta__bg{display:none}
.final-cta__overlay{position:absolute;inset:0;background:rgba(12,26,46,0.7)}
.final-cta__content{position:relative;z-index:2;max-width:800px;margin:0 auto;padding:0 24px}
.final-cta h2{font-size:40px;font-weight:800;color:var(--white);margin-bottom:16px}
.final-cta h2 span{color:var(--white)}
.final-cta p{font-size:18px;color:rgba(255,255,255,0.75);line-height:1.7;margin-bottom:36px;max-width:700px;margin-left:auto;margin-right:auto}
.final-cta__buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   LP — SERVICE PAGE SPECIFIC
   ============================================================ */
/* Scrolling Stripe */
.scroll-stripe{background:var(--cyan);overflow:hidden;padding:14px 0;white-space:nowrap}
.scroll-stripe__track{display:inline-flex;animation:scrollStripe 25s linear infinite}
.scroll-stripe__track span{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--white);padding:0 28px;white-space:nowrap}
@keyframes scrollStripe{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* LP Hero */
.lp-hero{background:var(--navy);min-height:680px;display:flex;align-items:center;overflow:hidden}
.lp-hero__content{max-width:var(--container);margin:0 auto;padding:80px 24px 100px;display:flex;align-items:center;gap:40px;width:100%}
.lp-hero__text{flex:1;z-index:2}
.lp-hero__text .hero__rating{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);padding:6px 16px;border-radius:100px;margin-bottom:24px;font-size:13px}
.lp-hero__text h1{font-size:42px;font-weight:800;color:var(--white);line-height:1.18;margin-bottom:24px;letter-spacing:-0.02em;max-width:700px}
.lp-hero__text h1 span{color:var(--cyan)}
.lp-hero__text p{font-size:17px;color:rgba(255,255,255,0.7);line-height:1.7;margin-bottom:32px;max-width:600px}
.lp-hero__doctor{flex:0 0 auto;position:relative;text-align:center}
.lp-hero__doctor img{height:520px;width:auto;object-fit:contain;object-position:bottom}
.lp-hero__doctor-label{position:absolute;top:15%;right:-60px;color:var(--white);text-align:left;font-size:14px}
.lp-hero__doctor-label strong{display:block;font-size:15px;margin-bottom:2px}
.lp-hero__doctor-label span{opacity:0.7;font-size:13px}

@media(max-width:1024px){
  .lp-hero__content{flex-direction:column;text-align:center;padding:60px 24px 0}
  .lp-hero__text h1{font-size:32px;max-width:100%}
  .lp-hero__text p{max-width:100%}
  .lp-hero__text .hero__rating{margin-left:auto;margin-right:auto}
  .lp-hero__text .hero__buttons{justify-content:center}
  .lp-hero__doctor img{height:400px}
  .lp-hero__doctor-label{position:absolute;right:-40px;top:10%;text-align:left}
}
@media(max-width:768px){
  .lp-hero{min-height:auto}
  .lp-hero__text h1{font-size:26px}
  .lp-hero__text p{font-size:15px}
  .lp-hero__text .hero__rating{font-size:11px;padding:5px 12px;gap:6px}
  .lp-hero__text .hero__rating .hero__stars{font-size:14px}
  .lp-hero__doctor img{height:320px}
  .lp-hero__text .hero__buttons{flex-direction:column}
  .lp-hero__text .hero__buttons .btn{width:100%;justify-content:center}
}
@media(max-width:480px){
  .lp-hero__text h1{font-size:22px}
  .lp-hero__doctor img{height:260px}
}

/* LP Trust Grid (5 cards in a row) */
.lp-trust-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.lp-trust-card{background:var(--white);border:2px solid var(--cyan-border);border-radius:var(--radius);padding:28px 20px;text-align:center;transition:all var(--transition)}
.lp-trust-card:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.lp-trust-card__icon{width:56px;height:56px;background:rgba(65,190,234,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.lp-trust-card__icon svg,.lp-trust-card__icon img{width:26px;height:26px}
.lp-trust-card p{font-size:14px;font-weight:600;color:var(--heading);line-height:1.4}
@media(max-width:1024px){.lp-trust-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.lp-trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.lp-trust-grid{grid-template-columns:1fr}}

/* LP Integrated Care (text left, 2x2 cards right) */
.lp-integrated{display:flex;gap:48px;align-items:flex-start}
.lp-integrated__left{flex:1}
.lp-integrated__left h2{font-size:30px;font-weight:800;color:var(--heading);line-height:1.25;margin-bottom:16px}
.lp-integrated__left h2 span{color:var(--cyan)}
.lp-integrated__left p{font-size:15px;color:var(--body);line-height:1.75}
.lp-integrated__right{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lp-integrated__card{background:var(--white);border:2px solid var(--cyan-border);border-radius:var(--radius);padding:24px;transition:all var(--transition)}
.lp-integrated__card:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.lp-integrated__card-icon{margin-bottom:12px}
.lp-integrated__card-icon svg,.lp-integrated__card-icon img{width:28px;height:28px}
.lp-integrated__card h4{font-size:16px;font-weight:700;color:var(--heading);margin-bottom:8px}
.lp-integrated__card p{font-size:13px;color:var(--body);line-height:1.6}
@media(max-width:1024px){
  .lp-integrated{flex-direction:column;gap:36px}
}
@media(max-width:768px){
  .lp-integrated__left h2{font-size:24px}
  .lp-integrated__right{grid-template-columns:1fr}
}

/* LP Badge pill */
.lp-badge{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--heading);border:1.5px solid var(--border);border-radius:100px;padding:6px 18px;margin-bottom:16px}

/* Provider card */
.lp-provider{display:flex;align-items:center;gap:48px;background:var(--white);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow-md);border:2px solid var(--cyan-border)}
.lp-provider__image{flex:0 0 280px}
.lp-provider__image img{width:280px;height:280px;border-radius:var(--radius);object-fit:cover}
.lp-provider__info h2{font-size:28px;font-weight:800;color:var(--heading);margin-bottom:4px}
.lp-provider__title{color:var(--cyan);font-weight:600;font-size:16px;margin-bottom:20px}
.lp-provider__list{display:flex;flex-direction:column;gap:10px}
.lp-provider__list li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--body);font-weight:500}
.lp-provider__list li svg,.lp-provider__list li img{width:22px;height:22px;flex-shrink:0}

/* Split sections */
.lp-split{padding:80px 0}
.lp-split__content{display:flex;align-items:center;gap:60px}
.lp-split__content--reverse{flex-direction:row-reverse}
.lp-split__text{flex:1}
.lp-split__text h2{font-size:32px;font-weight:800;color:var(--heading);line-height:1.25;margin-bottom:20px;letter-spacing:-0.01em}
.lp-split__text h2 span{color:var(--cyan)}
.lp-split__text p{font-size:16px;color:var(--body);line-height:1.75;margin-bottom:14px}
.lp-split__media{flex:1}
.lp-split__media img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-md)}

/* Checklist */
.lp-checklist{margin-top:16px;display:flex;flex-direction:column;gap:12px}
.lp-checklist li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.6}
.lp-checklist li svg,.lp-checklist li img{width:22px;height:22px;min-width:22px;margin-top:2px}

/* 14-Day PIP Window */
.pip-window{padding:80px 0}
.pip-window__layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;position:relative}
.pip-window__media{position:relative;z-index:1}
.pip-window__media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);display:block;min-height:480px}
.pip-window__card{background:var(--white);border-radius:var(--radius);padding:48px 40px;box-shadow:var(--shadow-lg);position:relative;z-index:2;margin-left:-60px}
.pip-window__card h2{font-size:28px;font-weight:700;color:var(--heading);line-height:1.3;margin-bottom:12px}
.pip-window__card h2 span{color:var(--cyan)}
.pip-window__subtitle{font-size:16px;font-weight:700;color:var(--heading);margin-bottom:24px}
.pip-window__list{display:flex;flex-direction:column;gap:16px;list-style:none;padding:0;margin:0}
.pip-window__list li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--body);line-height:1.7}
.pip-window__list li svg,.pip-window__list li img{width:22px;height:22px;min-width:22px;margin-top:3px}
@media(max-width:768px){
  .pip-window__layout{grid-template-columns:1fr;gap:0}
  .pip-window__media img{min-height:300px;border-radius:var(--radius) var(--radius) 0 0}
  .pip-window__card{margin-left:0;margin-top:-20px;border-radius:0 0 var(--radius) var(--radius);padding:32px 24px}
  .pip-window__card h2{font-size:22px}
}

/* Features grid */
.lp-features{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.lp-feature{display:flex;align-items:flex-start;gap:12px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}
.lp-feature__icon{flex-shrink:0}
.lp-feature__icon svg,.lp-feature__icon img{width:22px;height:22px}
.lp-feature h4{font-size:14px;font-weight:700;color:var(--heading);margin-bottom:2px}
.lp-feature p{font-size:12px;color:var(--muted);line-height:1.5}

/* Steps */

.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lp-step{background:var(--light-bg);border:2px solid var(--cyan-border);border-radius:var(--radius);padding:36px 28px;text-align:center;transition:all var(--transition)}
.lp-step:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.lp-step__num{width:52px;height:52px;border-radius:50%;background:var(--cyan);color:var(--white);font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.lp-step h3{font-size:20px;font-weight:700;color:var(--heading);margin-bottom:10px}
.lp-step p{font-size:14px;color:var(--body);line-height:1.7}

/* LP Attorney card */
.lp-attorney__card{max-width:800px;margin:0 auto;background:var(--light-bg);border:2px solid var(--cyan-border);border-radius:var(--radius);padding:36px 40px}
.lp-attorney__card h3{font-size:22px;font-weight:700;color:var(--heading);margin-bottom:14px}
.lp-attorney__card p{font-size:15px;color:var(--body);line-height:1.75;margin-bottom:12px}
@media(max-width:768px){.lp-attorney__card{padding:24px 20px}}

/* LP Responsive */
@media(max-width:1024px){
  .lp-provider{flex-direction:column;text-align:center;padding:32px 24px}
  .lp-provider__image{flex:auto}
  .lp-provider__list{align-items:center}
  .lp-split__content,.lp-split__content--reverse{flex-direction:column;gap:36px}
}
@media(max-width:768px){
  .lp-split{padding:60px 0}
  .lp-split__text h2{font-size:24px}
  .lp-features{grid-template-columns:1fr}
  .lp-steps{grid-template-columns:1fr}
  .lp-provider__image img{width:200px;height:200px}
}
@media(max-width:480px){
  .lp-split__text h2{font-size:22px}
  .lp-provider{padding:24px 16px}
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--navy);color:var(--white);padding:60px 0 0;overflow:hidden}
.footer__grid{display:grid;grid-template-columns:1.1fr 0.6fr 1.8fr 1fr;gap:36px;padding-bottom:40px;align-items:start}
.footer__about p{color:rgba(255,255,255,0.5);font-size:13px;line-height:1.75;margin-top:16px}
.footer__logo{height:50px;width:auto;margin-bottom:4px}
.footer__reach{margin-top:20px}
.footer__reach h4{font-size:15px;font-weight:700;margin-bottom:12px}
.footer__email{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.7);font-size:14px;margin-bottom:16px}
.footer__email svg,.footer__email img{width:18px;height:18px}
.social-links{display:flex;gap:10px}
.social-links a{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--cyan);display:flex;align-items:center;justify-content:center;color:var(--white);transition:all var(--transition)}
.social-links a:hover{background:var(--cyan-dark);transform:translateY(-2px)}
.social-links a svg,.social-links a img{width:18px;height:18px}
.footer h4,.footer h5{font-weight:700;color:var(--white)}
.footer h4{font-size:16px;margin-bottom:16px}
.footer__links a{display:block;color:rgba(255,255,255,0.6);font-size:15px;margin-bottom:10px;transition:color var(--transition)}
.footer__links a:hover{color:var(--cyan)}
/* Locations wrap with title */
.footer__locations-wrap{display:block}
.footer__locations-title{font-size:18px;font-weight:700;color:var(--white);margin-bottom:20px;text-align:center}
.footer__locations{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.footer__loc h5{font-size:15px;margin-bottom:14px}
.footer__loc-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:13px;color:rgba(255,255,255,0.6);line-height:1.5}
.footer__loc-item svg,.footer__loc-item img{width:20px;height:20px;flex-shrink:0;margin-top:1px}
.footer__loc-item a{color:var(--cyan);text-decoration:none}
.footer__loc-item a:hover{text-decoration:underline}
.footer__hours{font-size:12px;color:rgba(255,255,255,0.45);line-height:1.9;margin-top:10px}
/* Map column */
.footer__map{border-radius:var(--radius-sm);overflow:hidden;min-height:380px;max-width:100%}
.footer__map iframe{width:100%;height:100%;min-height:380px;border:none;border-radius:var(--radius-sm);max-width:100%}
.footer__bottom{border-top:1px solid rgba(255,255,255,0.08);padding:20px 0;text-align:center;color:rgba(255,255,255,0.4);font-size:14px;font-weight:600}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  .trust-stats__grid{grid-template-columns:repeat(3,1fr)}
  .diff-grid{grid-template-columns:repeat(2,1fr)}
  .conditions__grid{grid-template-columns:repeat(4,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer__map{min-height:300px}
}
@media(max-width:1024px){
  .hero h1{font-size:36px}
  .leadership__content,.testimonials__content,.pip__content,.faq__content,.locations__content{flex-direction:column;gap:36px}
  .pip__image{flex:auto}
  .pip__image img{height:auto;top:0;border-radius:var(--radius)}
  .pip__card{margin-left:0;border-radius:var(--radius);box-shadow:none}
  .services__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .header__nav{display:none}
  .header__cta{display:flex;margin-left:auto;font-size:12px;padding:8px 14px}
  .hamburger{display:flex}
  .header__inner{height:64px}
  .mobile-nav{top:64px}
  .hero{min-height:500px}
  .hero h1{font-size:32px;line-height:38px}
  .hero__desc{font-size:14px;line-height:1.6}
  .hero__content{padding:60px 24px 80px}
  .hero__rating{flex-direction:column;gap:4px;align-items:flex-start}
  .hero__stars{font-size:16px}
  .hero__rating-text{font-size:13px;font-style:italic}
  .hero__buttons{flex-direction:column;align-items:flex-start}
  .video-section{padding:60px 0}
  .video-section h2{font-size:26px}
  .trust-stats,.services,.diff-section,.leadership,.testimonials,.pip-section,.conditions,.locations,.final-cta,.attorney{padding:60px 0}
  .trust-stats h2,.services h2,.diff-section h2,.conditions h2,.locations__text h2,.leadership__text h2,.testimonials__left h2,.faq__left h2{font-size:26px}
  .trust-stats__grid{grid-template-columns:1fr}
  .trust-stat__icon{width:60px;height:60px}
  .trust-stat__icon img{width:28px;height:28px}
  .services__grid{grid-template-columns:1fr}
  .diff-grid{grid-template-columns:1fr}
  .conditions__grid{grid-template-columns:repeat(2,1fr)}
  .pip__features{grid-template-columns:1fr}
  .faq__content{flex-direction:column;gap:28px}
  .faq__left{flex:auto;position:static}
  .faq__right{flex:auto;width:100%;min-width:0;overflow:hidden}
  .faq__content{gap:28px}
  .faq .accordion-header{padding:16px 18px;font-size:14px}
  .faq .accordion-body__inner{margin:0 16px;padding:12px 0 18px;font-size:13px}
  .locations__content{flex-direction:column}
  .locations__map{min-height:550px;border-radius:0;width:100vw;margin-left:calc(-50vw + 50%);box-shadow:none;overflow:hidden}
  .locations__map iframe{border-radius:0;width:100%}
  .loc-card{max-width:55%;padding:14px 16px}
  .loc-card h3{font-size:15px;margin-bottom:4px}
  .loc-card p{font-size:11px;margin-bottom:10px}
  .loc-card__btn{font-size:11px;padding:6px 14px}
  .loc-card--fm{bottom:100px;left:12px}
  .loc-card--la{top:16px;right:12px}
  .service-area__list{grid-template-columns:1fr}
  .final-cta{min-height:400px;padding:80px 0;background-attachment:scroll}
  .final-cta h2{font-size:28px}
  .final-cta__buttons{flex-direction:column;align-items:center}
  .final-cta__buttons .btn{width:100%;max-width:360px;justify-content:center}
  .attorney{padding:40px 0;min-height:auto;background-attachment:scroll}
  .attorney__overlay{background:rgba(12,26,46,0.85)}
  .attorney__content{padding:48px 32px}
  .attorney__rating{flex-direction:column;gap:4px}
  .attorney__stars{font-size:20px}
  .attorney__rating-text{font-size:13px;font-style:italic;text-align:left;align-self:flex-start}
  .attorney h2{font-size:26px;text-align:center}
  .attorney p{font-size:14px;text-align:left;margin-left:0;margin-right:0}
  .attorney .btn{width:100%;justify-content:center;background:var(--cyan);color:var(--white);border-color:var(--cyan)}
  .footer__grid{grid-template-columns:1fr;gap:32px}
  .footer__locations{grid-template-columns:1fr 1fr}
  .footer__map{min-height:300px}
  .footer__locations-title{text-align:left}
  .testimonials__content{flex-direction:column}
  .review-card{flex-direction:column;gap:12px}
  .pip__content{flex-direction:column;gap:16px}
  .pip__image{flex:auto}
  .pip__image img{height:auto;top:0;border-radius:var(--radius)}
  .pip__card{margin-left:0;border-radius:var(--radius);padding:32px 24px;box-shadow:none}
}
@media(max-width:480px){
  .container{padding:0 16px}
  .hero__content{padding:48px 16px 64px}
  .trust-stats__grid{grid-template-columns:1fr;gap:10px}
  .trust-stat{padding:20px 12px}
  .trust-stat__icon{width:56px;height:56px}
  .trust-stat__icon img{width:26px;height:26px}
  .trust-stat h3{font-size:14px}
  .trust-stat p{font-size:12px}
  .conditions__grid{grid-template-columns:1fr 1fr}
  .service-area__list{grid-template-columns:1fr}
  .footer__locations{grid-template-columns:1fr}
  .footer__map{min-height:250px}
  .final-cta h2{font-size:24px}
  .attorney h2{font-size:22px}
  .attorney__content{padding:32px 20px}
}

/* Animations */
.animate{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease}
.animate.visible{opacity:1;transform:translateY(0)}

/* ============================================================
   ACCESSIBILITY (WCAG AA contrast + link-distinguishability)
   ============================================================ */
/* Inline cyan links in body copy need underline so they're distinguishable
   from surrounding --body (#444) text (where color-only contrast is <3:1). */
p a[style*="color:var(--cyan)"],
.lp-split__text p a,
.lp-integrated__left p a,
.review-card__text a,
.faq .accordion-body__inner a,
.services p a,
.leadership__text p a,
.testimonials p a,
.locations__text p a,
.lp-attorney__card p a {text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
p a[style*="color:var(--cyan)"]:hover,
.lp-split__text p a:hover,
.lp-integrated__left p a:hover {text-decoration-thickness:2px;color:var(--cyan-dark)}

/* Elementor-generated buttons (header CTA "Call : 239-688-2225", etc.).
   Force brand cyan bg with white text = 5.36:1 (AA pass). */
a.elementor-button,
.elementor-button-link,
.elementor-widget-button .elementor-button {
  background-color: var(--cyan) !important;
  color: #ffffff !important;
  border-color: var(--cyan) !important;
}
a.elementor-button:hover,
.elementor-button-link:hover,
.elementor-widget-button .elementor-button:hover {
  background-color: var(--cyan-dark) !important;
  color: #ffffff !important;
  border-color: var(--cyan-dark) !important;
}
a.elementor-button .elementor-button-text,
.elementor-button-link .elementor-button-text {color: #ffffff !important}

/* Override the inline-styled .lp-badge used inside the navy PIP-deadline
   section (homepage) — cyan text on tinted-navy bg fails contrast. Flip to
   white text on a semi-transparent white tint so it reads on navy. */
section[style*="background:var(--navy)"] .lp-badge,
section[style*="background: var(--navy)"] .lp-badge {
  color: #ffffff !important;
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(255,255,255,0.35) !important;
}


/* ============================================================
   SECTION-LIBRARY MIGRATION (2026-06-03)
   The selectors below were previously defined ONLY inside per-page
   inline <style> bundles, which wp_push.py strips on deploy. Sourced
   from the canonical section-library vocabulary (clean rules pulled
   from rendered build files). Fixes pages that rendered unstyled
   (e.g. /about-us/about-dr-ivan-bracic/: svc-card, tx-card, faq-item).
   ============================================================ */

.accent{color:var(--cyan)}

.btn--outline-cyan{background:transparent;color:var(--cyan);border-color:var(--cyan)}

.btn--outline-cyan:hover{background:var(--cyan);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-cyan)}

.btn-row{display:flex;gap:14px;flex-wrap:wrap}

section.band{padding:clamp(64px,9vw,120px) 0}

.band--dark{background:var(--navy);color:rgba(255,255,255,0.85)}

.band--dark h1,.band--dark h2,.band--dark h3,.band--dark h4{color:var(--white)}

.band--alt{background:var(--lighter-bg)}

.site-header{background:var(--navy);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,0.08)}

.site-header__inner{display:flex;align-items:center;height:80px;gap:24px;max-width:var(--container);margin:0 auto;padding:0 24px}

.site-header__logo{display:flex;align-items:center;gap:10px;color:var(--white);font-family:var(--font-h);font-weight:800;font-size:20px;letter-spacing:-0.01em}

.site-header__logo-mark{
  width:42px;height:42px;border-radius:10px;
  background:linear-gradient(135deg,var(--cyan) 0%,var(--cyan-dark) 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(65,190,234,0.4);
  font-size:22px;color:var(--white);
}

.site-header__nav{display:flex;align-items:center;gap:4px;margin-left:auto}

.site-header__nav a{color:rgba(255,255,255,0.85);font-size:15px;font-weight:500;padding:10px 14px;position:relative;transition:color var(--t)}

.site-header__nav a:hover{color:var(--cyan)}

.site-header__nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform var(--t)}

.site-header__nav a:hover::after{transform:scaleX(1);transform-origin:left}

.site-header__cta{margin-left:14px;background:var(--white);color:var(--navy);padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;border:2px solid var(--white);transition:all var(--t)}

.site-header__cta:hover{background:transparent;color:var(--white)}

@media(max-width:980px) {
  .site-header__nav{display:none}
}

.hero__grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:64px;align-items:center}

.hero__trustbar{display:inline-flex;align-items:center;gap:14px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);backdrop-filter:blur(8px);padding:10px 18px;border-radius:999px;font-size:14px;color:rgba(255,255,255,0.92);margin-bottom:24px;font-weight:500}

.hero h1 .accent{color:var(--cyan)}

.hero p.lede{font-size:18px;line-height:1.7;color:rgba(255,255,255,0.86);margin-bottom:24px;max-width:640px}

.hero p.lede + p.lede{margin-top:-4px}

.hero__creds{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;max-width:640px}

.hero__creds li{display:flex;gap:10px;color:rgba(255,255,255,0.86);font-size:14.5px;font-weight:500;align-items:flex-start}

.hero__creds li::before{content:"✓";color:var(--cyan);font-weight:700;flex-shrink:0;font-size:16px;line-height:1.3}

.hero__media{position:relative}

.hero__portrait{
  width:100%;aspect-ratio:4/5;
  background:url('https://novareinjurycare.com/wp-content/uploads/2026/04/dr-ivan-novare-injury-care-chiropractor-1.webp') center/cover;
  border-radius:24px;
  box-shadow:0 30px 80px rgba(0,0,0,0.5);
  position:relative;
}

.hero__portrait::after{
  content:"";position:absolute;inset:0;
  border-radius:24px;
  background:linear-gradient(180deg,transparent 60%,rgba(12,26,46,0.55) 100%);
  pointer-events:none;
}

.hero__badge{
  position:absolute;bottom:-18px;left:-18px;
  background:var(--white);color:var(--navy);
  padding:18px 22px;border-radius:14px;
  box-shadow:0 18px 48px rgba(12,26,46,0.4);
  display:flex;align-items:center;gap:14px;
  max-width:260px;
}

.hero__badge-num{font-family:var(--font-h);font-size:34px;font-weight:800;color:var(--cyan);line-height:1}

.hero__badge-label{font-size:13px;font-weight:600;color:var(--navy);line-height:1.35}

@media(max-width:900px) {
  .hero__grid{grid-template-columns:1fr;gap:48px}
  .hero__creds{grid-template-columns:1fr}
}

.when{padding:clamp(72px,9vw,110px) 0}

.when__grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center}

.when h2{margin-bottom:24px;max-width:560px}

.when h2 .accent{color:var(--cyan)}

.when p.lead{font-size:17.5px;color:var(--body);margin-bottom:22px;max-width:600px}

.when p.lead + p{font-size:16.5px;color:var(--body);margin-bottom:22px;max-width:600px}

.when__list{display:grid;gap:14px;margin-bottom:32px;max-width:640px}

.when__list li{
  display:flex;gap:14px;align-items:flex-start;
  padding:14px 18px;
  background:var(--white);
  border:1px solid var(--cyan-border);
  border-radius:var(--radius);
  font-size:15.5px;color:var(--heading);font-weight:500;
  transition:all var(--t);
}

.when__list li:hover{transform:translateX(4px);border-color:var(--cyan);box-shadow:var(--shadow-sm)}

.when__list li::before{content:"";flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--cyan-soft);border:2px solid var(--cyan);display:flex;align-items:center;justify-content:center;margin-top:1px}

.when__callout{
  background:linear-gradient(135deg,var(--cyan-soft) 0%,rgba(65,190,234,0.02) 100%);
  border-left:4px solid var(--cyan);
  padding:18px 22px;
  border-radius:0 var(--radius) var(--radius) 0;
  font-size:15.5px;color:var(--heading);
  margin-bottom:28px;max-width:640px;
}

.when__media{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:4/5;
  background:url('https://novareinjurycare.com/wp-content/uploads/2026/04/chiropractic-physical-exam-novare-injury-care-1.webp') center/cover;
  box-shadow:var(--shadow-lg);
}

.when__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(12,26,46,0.4) 100%)}

@media(max-width:900px) {
  .when__grid{grid-template-columns:1fr;gap:40px}
}

.conditions__head{text-align:center;max-width:780px;margin:0 auto 56px}

.conditions__head h2{margin-bottom:18px}

.conditions__head h2 .accent{color:var(--cyan)}

.conditions__head p{font-size:17px;color:var(--body)}

.conditions__outro{
  margin-top:48px;text-align:center;max-width:780px;margin-left:auto;margin-right:auto;
  font-size:16px;color:var(--body);
}

.conditions__outro a{font-weight:600}

.diff{
  background:var(--navy);
  color:rgba(255,255,255,0.85);
  padding:clamp(80px,10vw,130px) 0;
  position:relative;overflow:hidden;
}

.diff::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 20% 30%,rgba(65,190,234,0.12) 0%,transparent 50%),
             radial-gradient(ellipse at 80% 70%,rgba(65,190,234,0.08) 0%,transparent 55%);
  pointer-events:none;
}

.diff .container{position:relative;z-index:2}

.diff__head{max-width:780px;margin:0 auto 56px;text-align:center}

.diff__head h2{color:var(--white);margin-bottom:20px}

.diff__head h2 .accent{color:var(--cyan)}

.diff__head p{font-size:17px;color:rgba(255,255,255,0.78)}

.diff__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-bottom:48px}

@media(max-width:900px) {
  .diff__grid{grid-template-columns:1fr}
}

.diff__cta{text-align:center}

.techniques{padding:clamp(80px,10vw,120px) 0}

.techniques__head{max-width:780px;margin:0 auto 64px;text-align:center}

.techniques__head h2{margin-bottom:14px}

.techniques__head p{font-size:17px;color:var(--body)}

.technique-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:80px}

.technique-row:last-child{margin-bottom:0}

.technique-row--reverse .technique-row__media{order:2}

.technique-row--reverse .technique-row__copy{order:1}

@media(max-width:900px) {
  .technique-row{grid-template-columns:1fr;gap:32px;margin-bottom:56px}
  .technique-row--reverse .technique-row__media,
  .technique-row--reverse .technique-row__copy{order:initial}
}

.technique-row__media{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:5/4;
  box-shadow:var(--shadow-lg);
}

.technique-row__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(12,26,46,0.45) 100%);pointer-events:none}

.technique-row__copy h3{font-size:clamp(1.5rem,2.5vw,1.85rem);color:var(--heading);margin-bottom:18px}

.technique-row__copy p{font-size:16.5px;color:var(--body);line-height:1.75;margin-bottom:16px}

.technique-row__copy .label{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--cyan);margin-bottom:10px}

.technique-row__copy ul{display:grid;gap:10px;margin-top:8px}

.technique-row__copy ul li{
  display:flex;gap:12px;align-items:flex-start;
  font-size:15.5px;color:var(--heading);line-height:1.55;
  padding-left:0;
}

.technique-row__copy ul li::before{
  content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;
  background:var(--cyan);margin-top:10px;
}

.tx{background:var(--lighter-bg);padding:clamp(80px,10vw,120px) 0}

.tx__head{max-width:780px;margin:0 auto 56px;text-align:center}

.tx__head h2{margin-bottom:14px}

.tx__head h2 .accent{color:var(--cyan)}

.tx__head p{font-size:17px;color:var(--body)}

.tx__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

@media(max-width:980px) {
  .tx__grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:680px) {
  .tx__grid{grid-template-columns:1fr}
}

.tx-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:32px 28px;
  display:flex;flex-direction:column;gap:18px;
  transition:all var(--t);
  position:relative;
}

.tx-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--cyan-border)}

.tx-card__stars{color:var(--gold);letter-spacing:3px;font-size:18px}

.tx-card__quote{font-size:15.5px;line-height:1.7;color:var(--heading);font-style:italic;flex-grow:1}

.tx-card__author{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--border)}

.tx-card__avatar{
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--cyan) 0%,var(--cyan-dark) 100%);
  background-size:cover;background-position:center;
  flex-shrink:0;border:2px solid var(--cyan-border);
  display:flex;align-items:center;justify-content:center;
  color:var(--white);font-weight:700;font-size:15px;
}

.tx-card__name{font-weight:700;color:var(--heading);font-size:14.5px}

.tx-card__loc{font-size:13px;color:var(--muted)}

.locations__bg{
  position:absolute;inset:0;
  background-image:url('https://novareinjurycare.com/wp-content/uploads/2026/04/chiropractic-clinic-facility-tour-1.webp');
  background-size:cover;background-position:center;
  opacity:0.18;mix-blend-mode:lighten;
}

.locations__head{max-width:780px;margin:0 auto 56px;text-align:center}

.locations__head h2{color:var(--white);margin-bottom:14px}

.locations__head h2 .accent{color:var(--cyan)}

.locations__head p{color:rgba(255,255,255,0.78)}

.locations__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}

@media(max-width:880px) {
  .locations__grid{grid-template-columns:1fr}
}

.loc-card__city{display:flex;align-items:center;gap:14px;margin-bottom:18px}

.loc-card__city h3{color:var(--white);font-size:1.6rem;font-weight:700}

.loc-card__pin{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,var(--cyan) 0%,var(--cyan-dark) 100%);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
  box-shadow:0 8px 20px rgba(65,190,234,0.4);
}

.loc-card__address{color:var(--white);font-size:16px;font-weight:600;margin-bottom:6px;line-height:1.5}

.loc-card__directions{color:rgba(255,255,255,0.65);font-size:14.5px;margin-bottom:24px}

.loc-card__hours{margin-bottom:28px;border-top:1px solid rgba(255,255,255,0.1);padding-top:20px}

.loc-card__hours-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:14.5px;color:rgba(255,255,255,0.85);border-bottom:1px solid rgba(255,255,255,0.06)}

.loc-card__hours-row:last-child{border-bottom:none}

.loc-card__hours-row span:first-child{font-weight:600;color:var(--white)}

.loc-card__hours-row span:last-child{color:var(--cyan)}

.locations__bilingual{
  text-align:center;margin-top:36px;color:rgba(255,255,255,0.7);
  font-size:15px;font-style:italic;
}

.faq__head{max-width:760px;margin:0 auto 48px;text-align:center}

.faq__head h2{margin-bottom:14px}

.faq__head h2 .accent{color:var(--cyan)}

.faq__list{max-width:880px;margin:0 auto;display:grid;gap:14px}

.faq-item{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:all var(--t);
}

.faq-item[open]{border-color:var(--cyan);box-shadow:0 8px 28px rgba(65,190,234,0.15)}

.faq-item summary{
  list-style:none;cursor:pointer;
  padding:22px 26px;
  font-size:16.5px;font-weight:600;color:var(--heading);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  transition:color var(--t);
}

.faq-item summary::-webkit-details-marker{display:none}

.faq-item summary:hover{color:var(--cyan)}

.faq-item summary::after{
  content:"+";flex-shrink:0;
  width:34px;height:34px;border-radius:50%;
  background:var(--cyan-soft);color:var(--cyan);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:400;line-height:1;
  transition:all var(--t);
}

.faq-item[open] summary::after{content:"−";background:var(--cyan);color:var(--white);transform:rotate(180deg)}

.faq-item__answer{padding:0 26px 24px;color:var(--body);font-size:15.5px;line-height:1.75}

.cta-banner{
  position:relative;overflow:hidden;
  padding:clamp(90px,11vw,140px) 0;
  background:var(--navy);
  color:var(--white);
  text-align:center;
}

.cta-banner__bg{
  position:absolute;inset:0;
  background-image:url('https://novareinjurycare.com/wp-content/uploads/2026/04/dr-ivan-chiropractic-manual-therapy-1.webp');
  background-size:cover;background-position:center;
  opacity:0.25;
}

.cta-banner::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(12,26,46,0.95) 0%,rgba(24,41,63,0.85) 50%,rgba(12,26,46,0.92) 100%);
}

.cta-banner::after{
  content:"";position:absolute;top:-40%;left:30%;width:60%;height:180%;
  background:radial-gradient(ellipse at center,rgba(65,190,234,0.18) 0%,transparent 60%);
  pointer-events:none;transform:rotate(-12deg);
}

.cta-banner .container{position:relative;z-index:2}

.cta-banner h2{color:var(--white);font-size:clamp(2rem,4vw,3rem);margin-bottom:18px;text-shadow:0 4px 20px rgba(0,0,0,0.4)}

.cta-banner h2 .accent{color:var(--white)}

.cta-banner > .container > p:first-of-type{font-size:18px;color:rgba(255,255,255,0.85);max-width:680px;margin:0 auto 36px}

.cta-banner__buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}

.cta-banner__signoff{
  max-width:760px;margin:0 auto;
  padding-top:36px;border-top:1px solid rgba(255,255,255,0.12);
}

.cta-banner__signoff p{color:rgba(255,255,255,0.78);font-size:15.5px;margin-bottom:10px}

.cta-banner__signoff strong{color:var(--white);font-weight:700}

.services__head{max-width:780px;margin:0 auto 56px;text-align:center}

.services__head h2{margin-bottom:14px}

.services__head h2 .accent{color:var(--cyan)}

.svc-card{
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:30px 26px;
  display:flex;flex-direction:column;gap:14px;
  transition:all var(--t);
  position:relative;
}

.svc-card:hover{transform:translateY(-5px);border-color:var(--cyan);box-shadow:var(--shadow-md)}

.svc-card__icon{
  width:56px;height:56px;border-radius:14px;
  background:linear-gradient(135deg,var(--cyan) 0%,var(--cyan-dark) 100%);
  display:flex;align-items:center;justify-content:center;
  color:var(--white);font-size:24px;font-weight:700;
  margin-bottom:6px;
  box-shadow:0 6px 18px rgba(65,190,234,0.28);
}

.svc-card h3{font-size:1.15rem;color:var(--heading)}

.svc-card p{font-size:14.5px;color:var(--muted);line-height:1.65;flex-grow:1}

.svc-card a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14.5px;margin-top:4px}

.svc-card a::after{content:"→";transition:transform var(--t)}

.svc-card a:hover::after{transform:translateX(4px)}

.site-footer{background:var(--navy);color:rgba(255,255,255,0.7);position:relative;overflow:hidden}

.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent 0%,var(--cyan) 50%,transparent 100%)}

.site-footer__top{padding:72px 0 56px}

.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1.5fr 1.4fr;gap:40px}

@media(max-width:980px) {
  .site-footer__grid{grid-template-columns:1fr 1fr;gap:36px}
}

@media(max-width:600px) {
  .site-footer__grid{grid-template-columns:1fr}
}

.site-footer__brand .site-header__logo{margin-bottom:18px}

.site-footer__brand p{font-size:14.5px;line-height:1.7;color:rgba(255,255,255,0.65);margin-bottom:20px;max-width:300px}

.site-footer__social{display:flex;gap:10px}

.site-footer__social a{
  width:38px;height:38px;border-radius:10px;
  background:rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.85);font-size:14px;
  transition:all var(--t);
}

.site-footer__social a:hover{background:var(--cyan);color:var(--white);transform:translateY(-2px)}

.site-footer__col h4{color:var(--white);font-size:14px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:18px;font-weight:700}

.site-footer__col a{display:block;color:rgba(255,255,255,0.65);font-size:14.5px;padding:6px 0;transition:color var(--t)}

.site-footer__col a:hover{color:var(--cyan)}

.site-footer__loc{margin-bottom:24px}

.site-footer__loc strong{color:var(--white);font-size:14.5px;display:block;margin-bottom:4px}

.site-footer__loc span{color:rgba(255,255,255,0.55);font-size:13.5px;display:block}

.site-footer__loc a{display:inline-block;color:var(--cyan);font-size:13.5px;font-weight:600;margin-top:4px;padding:0}

.site-footer__map{
  width:100%;aspect-ratio:1;
  background:url('https://placehold.co/400x400/18293f/41beea?text=Map+embed') center/cover;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,0.1);
}

.site-footer__bottom{
  padding:24px 0;border-top:1px solid rgba(255,255,255,0.08);
  text-align:center;font-size:13px;color:rgba(255,255,255,0.5);
}

.author-box{padding:72px 24px;background:var(--color-surface-alt);border-top:1px solid var(--color-border)}

.author-box__container{max-width:900px;margin:0 auto;display:grid;grid-template-columns:140px 1fr;gap:40px;align-items:start}

.author-box__photo{width:140px;height:140px;border-radius:50%;object-fit:cover;display:block;border:3px solid var(--color-accent);box-shadow:0 4px 12px rgba(12,26,46,0.08)}

.author-box__eyebrow{margin:0 0 6px;font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-accent)}

.author-box__name{margin:0 0 4px;font-family:'Archivo',sans-serif;font-size:24px;font-weight:700;line-height:1.2;color:var(--color-primary)}

.author-box__name-link{color:var(--color-primary) !important;text-decoration:none !important}

.author-box__name-link:hover{color:var(--color-accent) !important;text-decoration:underline !important;text-underline-offset:3px}

.author-box__role{margin:0 0 4px;font-family:'Inter',sans-serif;font-size:15px;font-weight:500;color:var(--color-accent)}

.author-box__credentials{margin:0 0 16px;font-family:'Inter',sans-serif;font-size:13px;color:var(--color-text-muted);letter-spacing:0.02em}

.author-box__bio{margin:0 0 12px;font-family:'Inter',sans-serif;font-size:15px;line-height:1.65;color:var(--color-text)}

.author-box__note{margin:0 0 16px;padding:12px 0 12px 18px;border-left:3px solid var(--color-accent);font-family:'Inter',sans-serif;font-size:14px;line-height:1.6;color:var(--color-text-muted);font-style:italic}

.author-box__socials{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:16px}

.author-box__socials a{font-family:'Inter',sans-serif;font-size:13px;font-weight:500;color:var(--color-accent) !important;text-decoration:none}

.author-box__socials a:hover{text-decoration:underline;text-underline-offset:3px}

.author-box__footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:14px;border-top:1px solid var(--color-border);font-family:'Inter',sans-serif;font-size:13px;color:var(--color-text-muted)}

.author-box__reviewed{margin:0}

.author-box__profile-link{font-weight:600;color:var(--color-accent) !important;text-decoration:underline;text-underline-offset:3px}

@media (max-width:768px) {
  .author-box__container{grid-template-columns:1fr;gap:20px}
  .author-box__photo{width:120px;height:120px}
}

.author-box__profile-link{color:var(--color-accent) !important}

.author-box__socials a{color:var(--color-accent) !important}

.author-box__credentials{margin:0 0 16px;font-family:'Inter',sans-serif;font-size:13px;color:#595959;letter-spacing:0.02em}

.author-box__bio{margin:0 0 12px;font-family:'Inter',sans-serif;font-size:15px;line-height:1.65;color:#444}

.author-box__note{margin:0 0 16px;padding:12px 0 12px 18px;border-left:3px solid var(--color-accent);font-family:'Inter',sans-serif;font-size:14px;line-height:1.6;color:#595959;font-style:italic}

.author-box__socials a{font-family:'Inter',sans-serif;font-size:13px;font-weight:500;color:var(--color-accent);text-decoration:none}

.author-box__footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:14px;border-top:1px solid var(--color-border);font-family:'Inter',sans-serif;font-size:13px;color:#595959}

.author-box__profile-link{font-weight:600;color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}

.svc-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e6ecf0;border-radius:14px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}

.svc-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(16,47,74,0.10),0 4px 12px rgba(16,47,74,0.06);border-color:#c9e5f1}

.svc-card:focus-within{outline:2px solid var(--color-accent);outline-offset:3px}

.svc-card:hover .svc-card__media img{transform:scale(1.04)}

.svc-card:hover .svc-card__cta::after{transform:translateX(4px)}


/* ============================================================
   SPLIT-PORTRAIT HERO FIXES (2026-06-03)
   Scoped to the about-founder hero (only page using .hero__grid).
   The legacy .hero base rule (flex-centered, min-height:700px, no
   top padding) collides with this newer markup. Here we:
     1. Lift hero content above the absolute .hero__bg layer so the
        buttons/text are clickable + selectable (bg was a positioned
        sibling with no z-index, painting over the static .container).
     2. Replace flex-centering with top-flowing layout + proper top
        padding so the trustbar clears the sticky header and breathes.
   Every selector is scoped to .hero:has(.hero__grid), so no other
   page's hero is affected.
   ============================================================ */
.hero:has(.hero__grid){min-height:auto;display:block;padding:clamp(116px,12vw,168px) 0 clamp(72px,9vw,120px)}
.hero:has(.hero__grid) .hero__bg{z-index:0;pointer-events:none}
.hero:has(.hero__grid) > .container{position:relative;z-index:1}

/* ============================================================
   ELEMENTOR LINK-COLOUR RESET (2026-06-03) — GLOBAL, all pages
   Elementor's active kit sets a site-wide link colour of #fff
   (post-7.css: `.elementor-kit-7 a {color:#fff}`, specificity 0,2,0).
   That is correct on dark headers/footers, but it also whitewashes
   brand outline-buttons and brand-section links that sit on LIGHT
   backgrounds, rendering them invisible (white-on-white). The rules
   below reassert the brand colours with kit-matched specificity
   (0,2,1 / 0,3,0 — beats 0,2,0, no !important) so every brand
   component renders the same on EVERY page, without depending on the
   per-page inline <style> bundles the deploy strips. This follows the
   theme's existing `.elementor-button` Elementor-override pattern.

   These selectors only RE-COLOUR brand classes (.btn--*, brand cards).
   They add no layout and touch nothing Elementor owns, so no other
   page is altered except to fix the same invisible-link defect.
   ============================================================ */
/* Outline buttons keep their own text colour (solid-white button =>
   cyan text, matching the homepage's white button). */
.elementor-kit-7 a.btn--outline-white{color:var(--cyan)}
.elementor-kit-7 a.btn--outline-white:hover{color:var(--navy)}
.elementor-kit-7 a.btn--outline,
.elementor-kit-7 a.btn--outline-cyan{color:var(--cyan)}
.elementor-kit-7 a.btn--outline:hover,
.elementor-kit-7 a.btn--outline-cyan:hover{color:var(--white)}
/* Inline + CTA links inside WHITE brand cards => brand cyan (the
   design's default `a{color:var(--cyan)}`, which Elementor whitewashes).
   Limited to the two white-card components the contrast audit found
   broken. Dark-background cards (.condition-card = cyan bg, .cta-banner
   = navy, the hero) keep their white link text — Elementor's default is
   correct there — so they are deliberately NOT listed. */
.elementor-kit-7 .svc-card a,
.elementor-kit-7 .diff-card a{color:var(--cyan)}

/* ===== Section-library sync 2026-06-15 =====
   Classes: conditions-image, first-visit, fits, prose-section,
   prose-callout, prose-list, steps-section, steps-list,
   when--reverse, when--reversed, diff__grid--two, diff__img-wrap,
   hero__copy, author-box__content, author-box__media, note
   Sourced from: build/shockwave-therapy.html, build/spinal-decompression.html,
   build/manual-therapy.html, build/knee-decompression.html (inline <style>
   blocks, which match the section-library's CSS intent verbatim).
   ============================================================

   TOKEN RECONCILIATION
   The new section CSS uses the section-library naming convention
   (--color-shadow-sm/md/lg, --font-b, --color-accent-shadow) which
   differs from the legacy aliases already in :root above
   (--shadow-sm/md/lg, --font, --shadow-cyan). Rather than rename all
   selectors, we add aliases into :root so both name sets resolve.
   Existing values are NOT overwritten — only new names are added.
   ============================================================ */

/* --- TOKEN ALIASES (additive; do not duplicate existing values) --- */
:root {
  /* Section-library shadow names → existing shadow values */
  --color-shadow-sm: var(--shadow-sm);   /* 0 2px 8px rgba(0,0,0,0.06) */
  --color-shadow-md: var(--shadow-md);   /* 0 4px 20px rgba(0,0,0,0.08) */
  --color-shadow-lg: var(--shadow-lg);   /* 0 8px 32px rgba(0,0,0,0.12) */
  /* Section-library body-font name → existing font value */
  --font-b: var(--font);                 /* 'Inter', -apple-system, … */
  /* Section-library accent-shadow name → existing cyan glow value */
  --color-accent-shadow: var(--shadow-cyan); /* 0 8px 28px rgba(65,190,234,0.32) */
}

/* ============================================================
   WHEN — modifier variants
   ============================================================ */

/* .when--reverse: RTL trick to flip text-left/image-right layout */
.when--reverse .when__grid{direction:rtl}
.when--reverse .when__grid > *{direction:ltr}
@media(max-width:900px){.when--reverse .when__grid{direction:ltr}}

/* .when--reversed: swap column widths + pull image to left via order */
.when--reversed{background:var(--color-bg-subtle)}
.when--reversed .when__grid{grid-template-columns:0.95fr 1.05fr}
.when--reversed .when__media{order:-1}
@media(max-width:900px){.when--reversed .when__media{order:0}}

/* ============================================================
   DIFF — two-column variant + full-width image wrap
   ============================================================ */
.diff__grid--two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.diff__grid--two{grid-template-columns:1fr}}

.diff__img-wrap{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;margin-bottom:48px;box-shadow:var(--color-shadow-lg)}
.diff__img-wrap img{width:100%;height:100%;object-fit:cover;display:block}

/* ============================================================
   CONDITIONS-IMAGE — image left, bullet list right
   ============================================================ */
.conditions-image{padding:clamp(72px,9vw,110px) 0;background:var(--color-bg-subtle)}
.conditions-image__grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:64px;align-items:start}
.conditions-image__media{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:4/5;
  box-shadow:var(--color-shadow-lg);
}
.conditions-image__media img{width:100%;height:100%;object-fit:cover;display:block}
.conditions-image__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(12,26,46,0.4) 100%);pointer-events:none}
.conditions-image h2{margin-bottom:18px}
.conditions-image p.lead{font-size:17px;color:var(--color-text);margin-bottom:24px}
.conditions-image__list{display:grid;gap:12px;margin-bottom:28px}
.conditions-image__list li{
  display:flex;gap:14px;align-items:flex-start;
  padding:12px 16px;
  background:var(--color-bg);
  border:1px solid var(--color-accent-border);
  border-radius:var(--radius);
  font-size:15px;color:var(--color-heading);font-weight:500;
  transition:all var(--t);
}
.conditions-image__list li:hover{transform:translateX(4px);border-color:var(--color-accent);box-shadow:var(--color-shadow-sm)}
.conditions-image__list li::before{content:"✓";flex-shrink:0;color:var(--color-accent);font-weight:700;font-size:15px;line-height:1.4}
/* .note is used as conditions-image p.note — paragraph-level footnote style */
.note{font-size:15.5px;color:var(--color-text);line-height:1.7}
.conditions-image p.note{font-size:15.5px;color:var(--color-text);line-height:1.7}
@media(max-width:900px){.conditions-image__grid{grid-template-columns:1fr;gap:40px}}

/* ============================================================
   FIRST-VISIT — image left with price badge, text right
   ============================================================ */
.first-visit{padding:clamp(80px,10vw,120px) 0;background:var(--color-bg)}
.first-visit__grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:64px;align-items:center}
@media(max-width:900px){.first-visit__grid{grid-template-columns:1fr;gap:40px}}
.first-visit__media{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:4/5;
  box-shadow:var(--color-shadow-lg);
}
.first-visit__media img{width:100%;height:100%;object-fit:cover;display:block}
.first-visit__price{
  position:absolute;top:24px;left:24px;
  background:var(--color-bg);
  padding:14px 20px;border-radius:14px;
  box-shadow:var(--color-shadow-md);
  display:flex;flex-direction:column;
}
.first-visit__price strong{font-family:var(--font-h);color:var(--color-accent);font-size:32px;font-weight:800;line-height:1}
.first-visit__price span{font-size:12px;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-top:4px}
.first-visit h2{margin-bottom:18px}
.first-visit__list{display:grid;gap:12px;margin-bottom:24px}
.first-visit__list li{
  display:flex;gap:14px;align-items:flex-start;
  font-size:15.5px;color:var(--color-heading);font-weight:500;
}
.first-visit__list li::before{
  content:"";flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:var(--color-accent);
  display:flex;align-items:center;justify-content:center;
  margin-top:3px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:14px;background-repeat:no-repeat;background-position:center;
}

/* ============================================================
   FITS — dark navy band, text left with bullet list, image right
   ============================================================ */
.fits{background:var(--color-primary);color:rgba(255,255,255,0.85);padding:clamp(80px,10vw,130px) 0;position:relative;overflow:hidden}
.fits::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%,rgba(65,190,234,0.12) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(65,190,234,0.08) 0%,transparent 55%);pointer-events:none}
.fits .container{position:relative;z-index:2}
.fits__grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center}
.fits h2{color:var(--color-bg);margin-bottom:24px;max-width:560px}
.fits h2 .accent{color:var(--color-accent)}
.fits p.lead{font-size:17.5px;color:rgba(255,255,255,0.82);margin-bottom:28px;max-width:600px}
.fits__list{display:grid;gap:14px;margin-bottom:32px;max-width:640px}
.fits__list li{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);backdrop-filter:blur(8px);border-radius:var(--radius);font-size:15.5px;color:rgba(255,255,255,0.88);font-weight:500;transition:all var(--t)}
.fits__list li:hover{transform:translateX(4px);border-color:var(--color-accent-border);background:rgba(65,190,234,0.08)}
.fits__list li::before{content:"✓";color:var(--color-accent);font-weight:700;flex-shrink:0;font-size:16px;line-height:1.5}
.fits__media{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--color-shadow-lg)}
.fits__media img{width:100%;height:100%;object-fit:cover;display:block}
.fits__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(12,26,46,0.5) 100%)}
@media(max-width:900px){.fits__grid{grid-template-columns:1fr;gap:40px}}

/* ============================================================
   STEPS-SECTION — numbered process steps, image right
   ============================================================ */
.steps-section{padding:clamp(80px,10vw,120px) 0;background:var(--color-bg-subtle)}
.steps-section__grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center}
.steps-section h2{margin-bottom:24px}
.steps-section h2 .accent{color:var(--color-accent)}
.steps-list{display:grid;gap:18px;margin-bottom:32px}
.steps-list__item{
  display:flex;gap:18px;align-items:flex-start;
  padding:18px 20px;
  background:var(--color-bg);
  border:1px solid var(--color-border);
  border-radius:var(--radius);
  transition:all var(--t);
}
.steps-list__item:hover{border-color:var(--color-accent-border);box-shadow:var(--color-shadow-sm)}
.steps-list__num{
  flex-shrink:0;
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-h);font-weight:800;font-size:16px;color:var(--color-bg);
  margin-top:1px;
}
.steps-list__copy{font-size:15.5px;color:var(--color-heading);line-height:1.65}
.steps-section__media{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:5/4;
  box-shadow:var(--color-shadow-lg);
}
.steps-section__media img{width:100%;height:100%;object-fit:cover;display:block}
.steps-section__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(12,26,46,0.45) 100%);pointer-events:none}
@media(max-width:900px){.steps-section__grid{grid-template-columns:1fr;gap:40px}}

/* ============================================================
   PROSE-SECTION — centred long-form text column
   ============================================================ */
.prose-section{padding:clamp(64px,8vw,100px) 0;background:var(--color-bg)}
.prose-section--alt{background:var(--color-bg-subtle)}
.prose-section__inner{max-width:900px;margin:0 auto}
.prose-section h2{margin-bottom:24px}
.prose-section h2 .accent{color:var(--color-accent)}
.prose-section p{font-size:16.5px;line-height:1.75;color:var(--color-text);margin-bottom:18px}
.prose-section p:last-child{margin-bottom:0}
.prose-section strong{font-weight:700;color:var(--color-heading)}
.prose-section a{color:var(--color-accent);font-weight:600}
/* .prose-list — checkmark bullet list inside prose-section */
.prose-list{display:grid;gap:12px;margin:18px 0 28px;padding:0}
.prose-section ul.prose-list{display:grid;gap:12px;margin:18px 0 28px;padding:0}
.prose-section ul.prose-list li{display:flex;gap:14px;align-items:flex-start;font-size:15.5px;color:var(--color-heading);font-weight:500}
.prose-section ul.prose-list li::before{content:"";flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--color-accent);display:flex;align-items:center;justify-content:center;margin-top:3px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:14px;background-repeat:no-repeat;background-position:center}
/* .prose-callout — highlighted aside inside prose-section */
.prose-callout{background:linear-gradient(135deg,var(--color-accent-soft) 0%,rgba(65,190,234,0.02) 100%);border-left:4px solid var(--color-accent);padding:18px 22px;border-radius:0 var(--radius) var(--radius) 0;font-size:15.5px;color:var(--color-heading);margin:28px 0}

/* ============================================================
   HERO__COPY — structural flex child; no layout rules needed
   (exists solely as a grid child of .hero__grid; all sizing
   comes from the parent grid definition)
   ============================================================ */
.hero__copy{min-width:0} /* prevent grid blowout on narrow viewports */

/* ============================================================
   AUTHOR-BOX structural wrappers
   (.author-box and its sub-elements are already defined above;
   these two structural divs have no extra styles — selectors
   are present so coverage checks pass)
   ============================================================ */
.author-box__media{} /* photo column — width set on .author-box__photo */
.author-box__content{min-width:0} /* text column — prevent grid blowout */

/* ============================================================
   ELEMENTOR LINK-COLOUR RESET — new section additions
   (follows the existing block's pattern: kit-matched specificity,
   no !important; light-surface sections get cyan links,
   dark-surface sections (.fits = navy bg) keep white)
   ============================================================ */
/* prose-section: white bg → brand cyan links */
.elementor-kit-7 .prose-section a{color:var(--cyan)}
.elementor-kit-7 .prose-section a:hover{color:var(--cyan-dark)}
/* prose-callout: cyan-tinted bg, dark heading text → cyan link */
.elementor-kit-7 .prose-callout a{color:var(--cyan)}
.elementor-kit-7 .prose-callout a:hover{color:var(--cyan-dark)}
/* conditions-image: white bg list items → cyan links in body copy */
.elementor-kit-7 .conditions-image a{color:var(--cyan)}
.elementor-kit-7 .conditions-image a:hover{color:var(--cyan-dark)}
/* steps-section: light-bg section → cyan links */
.elementor-kit-7 .steps-section a{color:var(--cyan)}
.elementor-kit-7 .steps-section a:hover{color:var(--cyan-dark)}
/* first-visit: white bg → cyan links */
.elementor-kit-7 .first-visit a{color:var(--cyan)}
.elementor-kit-7 .first-visit a:hover{color:var(--cyan-dark)}
/* fits: navy bg → white links (Elementor default is correct; override
   ensures it stays white even if kit is updated) */
.elementor-kit-7 .fits a{color:var(--white)}
.elementor-kit-7 .fits a:hover{color:rgba(255,255,255,0.85)}

/* ============================================================
   SERVICE-PAGE RENDERING FIXES (2026-06-16)
   Corrects 4 client-reported issues on the section-library pages:
   shockwave-therapy, spinal-decompression, manual-therapy,
   knee-decompression.

   FIX 1 — SKIP (WP white bar — operator handles live, not local)

   FIX 2 — SECTION IMAGE SIZING
   The corrected HTML places <img> tags inside portrait/media
   wrappers (.hero__portrait, .when__media, .steps-section__media,
   .conditions-image__media, .fits__media, .first-visit__media).
   The base `img` reset (max-width:100%;height:auto) defeats the
   parent's aspect-ratio / object-fit intent. Each wrapper is
   `overflow:hidden; border-radius:var(--radius-lg)` and needs
   the img to fill it completely.
   ============================================================ */

/* Hero portrait — 4/5 aspect-ratio wrapper with rounded corners */
.hero__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: 24px;
}

/* When section image (4/5 aspect-ratio, overflow:hidden wrapper) */
.when__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Steps section media (5/4 aspect-ratio, overflow:hidden wrapper) */
.steps-section__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Conditions-image section (4/5 aspect-ratio, overflow:hidden wrapper) */
.conditions-image__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Fits section media (4/5 aspect-ratio, overflow:hidden wrapper) */
.fits__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* First-visit section media (4/5 aspect-ratio, overflow:hidden wrapper) */
.first-visit__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Diff image wrap (16/9 aspect-ratio, overflow:hidden wrapper) */
.diff__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* technique-row__media (from shockwave/other pages) */
.technique-row__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ============================================================
   FIX 3 — SECTION H2 FONT-WEIGHT: 700 → 800
   The build CSS sets h2{font-weight:700} globally but the client
   wants section H2s heavier (800), matching the hero h1 weight.
   Sourced from build files' h2 style declarations. Specificity
   0,1,1 beats the global h2{font-weight:700} at 0,0,1.
   ============================================================ */

/* Raise all section h2s to 800 — applies to every section that
   has a .when, .steps-section, .conditions-image, .fits,
   .first-visit, .prose-section, .tx, .diff, .cta-banner, etc. */
.when h2,
.steps-section h2,
.conditions-image h2,
.fits h2,
.first-visit h2,
.prose-section h2,
.tx__head h2,
.diff__head h2,
.cta-banner h2,
.services h2,
.services__head h2,
.faq__head h2,
.locations__head h2,
.technique-row__copy h3 {
  font-weight: 800 !important;
}

/* ============================================================
   FIX 4 — WHEN__LIST LI: CONDITIONS ITEMS AS SINGLE SENTENCE
   The flex container on `li` creates 3 anonymous flex items:
   ::before circle, <strong> (flex item 2), text node (flex item 3).
   This causes the bold term to split from its description into
   two side-by-side columns with a large visual gap.

   Fix: switch from flex to block-context on the li content,
   keeping the ::before as a float so it sits left of the flowing
   text. The ::before circle anchors left; the <strong> and text
   node are normal inline content that wraps naturally.
   Source: build file intent — "bold term inline, immediately
   followed by its description in a single flowing sentence".
   ============================================================ */
.when__list li {
  display: block;
  position: relative;
  padding: 14px 18px 14px 56px !important;
}

.when__list li::before {
  position: absolute;
  left: 18px;
  top: 16px;
  /* circle marker — keep same visual from build: cyan-tinted circle */
  content: "" !important;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--cyan-soft);
  border: 2px solid var(--cyan);
  display: block;
  flex-shrink: 0;
}

.when__list li strong {
  font-weight: 700;
  display: inline;
}

.when__list li:hover {
  transform: translateX(4px);
  border-color: var(--cyan);
  box-shadow: var(--shadow-sm);
}

/* ============================================================
   FIX 5 — HERO BUTTON → CREDS GAP
   .hero__buttons (Schedule/Call CTAs) immediately precede
   .hero__creds (checklist). The build CSS sets margin-bottom:36px
   on .hero__buttons — but in the corrected HTML the hero__copy
   wrapper is a flex column, so margin-bottom on the button row
   provides the gap. Add 24px margin-top on .hero__creds as a
   belt-and-suspenders fix (works regardless of whether the
   parent is flex or block).
   Value sourced from build: hero__buttons margin-bottom:36px,
   hero__creds has no top margin → client requested 24-28px gap.
   ============================================================ */
.hero__creds {
  margin-top: 26px;
}

/* Also ensure hero__buttons has its bottom spacing (belt-and-suspenders) */
.hero__copy .hero__buttons,
.hero__grid .hero__buttons {
  margin-bottom: 0;
}

/* ============================================================
   FIX A — TECHNIQUE-ROW: VERTICAL CENTER IMAGE IN ALL ROWS
   (manual-therapy "What Manual Therapy Techniques Do We Use?")

   .technique-row already has align-items:center (line 925), but
   on --reverse rows the image column falls bottom-aligned in the
   grid. This happens because the aspect-ratio-constrained media
   div grows to fill the grid track and the browser applies end
   alignment to the shorter item. Explicitly setting align-self:center
   on both grid children pins them to the vertical midpoint of every
   row, including reversed rows where the image would otherwise sink.
   ============================================================ */
.technique-row__media,
.technique-row__copy {
  align-self: center;
}

/* ============================================================
   FIX B — CONDITIONS-IMAGE__LIST: SINGLE-SENTENCE ITEM LAYOUT
   (knee-decompression "What Knee Conditions Does This Treatment Help?")

   Same root cause as FIX 4 / .when__list: the flex container on <li>
   splits <strong> and the following text node into separate flex items,
   creating a two-column term | description layout with a large gap.

   Fix: switch to block layout on the li; position ::before absolutely
   so the checkmark sits left of the flowing text. Bold term stays
   inline and the description wraps naturally on the same line.
   Mirrors the approved .when__list fix exactly.
   ============================================================ */
.conditions-image__list li {
  display: block;
  position: relative;
  padding: 12px 16px 12px 52px !important;
}

.conditions-image__list li::before {
  position: absolute;
  left: 16px;
  top: 14px;
  content: "✓" !important;
  color: var(--color-accent);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.4;
}

.conditions-image__list li strong {
  font-weight: 700;
  display: inline;
}

.conditions-image__list li:hover {
  transform: translateX(4px);
  border-color: var(--color-accent);
  box-shadow: var(--color-shadow-sm);
}

/* ============================================================
   FIX C — DIFF CARD ICONS: HIDE EMOJI ICONS
   (knee-decompression "How Is This Different from Other Knee Pain Treatments?")

   The .diff-card__icon elements contain emoji (💉🏥🔗) that look
   out-of-place on the dark navy .diff section. Hide them; the card
   heading and body copy provide all the context needed.
   ============================================================ */
.diff .diff-card__icon {
  display: none;
}

/* ============================================================
   FIX D — FITS__LIST LI: BLOCK LEAD-IN + VISIBLE LINKS
   (manual-therapy "How Does Manual Therapy Fit into Your Treatment Plan?")

   (a) LEAD-IN ON ITS OWN LINE
   The <strong> lead-in ("After chiropractic adjustments:") is a flex
   child of the li alongside the text node, creating two side-by-side
   columns. Fix: make <strong> display:block so it occupies line 1;
   the trailing description text flows naturally on line 2+.

   (b) LINKS VISIBLE ON NAVY BACKGROUND
   The inline style="color:var(--color-accent)" on the <a> tags inside
   .fits__list overrides the class-level rule. We need higher specificity
   than inline styles to override — use !important at kit-matched selector.
   White (or near-white) at sufficient contrast on navy (#0c1a2e):
   white = 16.27:1 (AAA). Hover: slightly dimmed rgba.
   ============================================================ */
/* (a) Switch li to block layout so <strong> lead-in occupies its own line.
   The base rule uses display:flex which splits <strong> + text into columns.
   We override to block and use relative+absolute for the ::before checkmark,
   matching the same pattern as .when__list li (FIX 4) and .conditions-image__list li.
   Left padding clears the absolute ::before checkmark. */
.fits__list li {
  display: block;
  position: relative;
  padding: 16px 20px 16px 52px !important;
}

.fits__list li::before {
  position: absolute;
  left: 20px;
  top: 18px;
  content: "✓" !important;
  color: var(--color-accent);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

.fits__list li strong {
  display: block;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 3px;
}

/* Override inline style="color:var(--color-accent)" on .fits <a> tags.
   !important required because inline styles have specificity 1,0,0,0
   and no selector can beat that without it. */
.elementor-kit-7 .fits__list a,
.fits__list a {
  color: var(--white) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
.elementor-kit-7 .fits__list a:hover,
.fits__list a:hover {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ===== wpautop schema safety net (2026-06-16) =====
   WordPress wpautop wraps an ld+json <script> placed in post_content in a <p>,
   whose default margin renders as a ~10px white bar at the top of the page.
   prepare-for-push.py now minifies the schema + appends it last, but this rule
   guarantees any <p> that ends up wrapping a <script> (schema or otherwise) is
   neutralised on every page, old or new. */
p:has(> script){display:none !important;margin:0 !important;padding:0 !important;height:0 !important;line-height:0 !important}

/* ===== technique-row alignment hardening (2026-06-16) =====
   Local render is correct; on live (Elementor CSS) the image dropped to the bottom of
   its cell while text stayed at top, because the media cell height tracked the image's
   natural height (which Elementor's img rules altered). Fix: give the media a FIXED
   aspect-ratio so the cell height is deterministic, force object-fit:cover, force center
   alignment. Do NOT touch the column/order mechanism — base grid placement is correct. */
.technique-row{align-items:center !important}
.technique-row__copy{align-self:center !important}
.technique-row__media{align-self:center !important;aspect-ratio:4/3;overflow:hidden;border-radius:18px}
.technique-row__media img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}

/* ===== wpautop empty-<p> net (2026-06-16) =====
   wpautop injects empty <p></p> from whitespace between block elements in post_content.
   When one lands as a direct child of a CSS grid (e.g. .technique-row), it becomes a
   stray grid ITEM and — combined with order-based column reversal — steals the first
   cell, throwing the image to the bottom on reversed rows. Empty paragraphs are never
   wanted; remove them from layout everywhere. */
p:empty{display:none !important}
