/*
Theme Name: Healthy Path RX Static
Theme URI: https://www.healthypathrx.com/
Author: COLAB
Description: Static WordPress conversion of the Healthy Path RX HTML website. Preserves the supplied layouts, styles, scripts, and page-specific content.
Version: 1.0.5
Text Domain: healthy-path-rx-static
*/

  /* =========================================================
     DESIGN TOKENS — Healthy Path RX Brand Guide v1.0
     ========================================================= */
  :root{
    --healthy-green:#1E4D3E;
    --deep-pine:#123A2E;
    --living-green:#3A6B58;
    --sage:#8AA795;
    --mist:#DCE7DF;
    --apricot:#E4A373;
    --clay:#C4703F;
    --cream:#F4F0E7;
    --paper:#FCFAF4;
    --ink:#14231C;
    --ink-soft:#3A473F;

    --font-display:'Newsreader', Georgia, serif;
    --font-body:'Manrope', -apple-system, Segoe UI, Roboto, sans-serif;

    --h1: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);
    --h2: clamp(1.6rem, 1.3rem + 1.2vw, 2rem);
    --h3: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
    --body-lg: clamp(1.05rem, 1rem + 0.2vw, 1.1875rem);
    --body: 1.0625rem;
    --support: 0.9375rem;
    --eyebrow: 0.75rem;

    --radius-card: 16px;
    --radius-pill: 999px;
    --radius-input: 12px;

    --space-section: clamp(2.5rem, 2rem + 2vw, 5rem);
    --container: 1140px;

    --shadow-sm: 0 1px 2px rgba(18,58,46,0.06);
    --shadow-md: 0 6px 20px -4px rgba(18,58,46,0.12);

    --focus-ring: 0 0 0 3px rgba(30,77,62,0.35), 0 0 0 1px #fff;
    --transition: 180ms ease;
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:var(--body);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{ max-width:100%; display:block; }
  h1,h2,h3{ font-family:var(--font-display); font-weight:400; color:var(--deep-pine); line-height:1.15; margin:0; }
  h1{ font-size:var(--h1); }
  h2{ font-size:var(--h2); }
  h3{ font-size:var(--h3); }
  p{ margin:0 0 1rem; color:var(--ink-soft); }
  a{ color:var(--healthy-green); text-decoration-thickness:1.5px; }
  ul{ margin:0; padding:0; list-style:none; }
  button{ font-family:inherit; }

  .container{ max-width:var(--container); margin:0 auto; padding:0 24px; }
  section{ padding:var(--space-section) 0; }

  .eyebrow{
    font-family:var(--font-body); font-weight:800; font-size:var(--eyebrow);
    text-transform:uppercase; letter-spacing:0.08em; color:var(--living-green);
    display:inline-flex; align-items:center; gap:8px; margin-bottom:14px;
  }
  .eyebrow.on-dark{ color:var(--sage); }

  .lede{ font-size:var(--body-lg); max-width:640px; }
  .section-head{ max-width:680px; margin-bottom:2.5rem; }
  .section-head.center{ margin-inline:auto; text-align:center; }

  .skip-link{
    position:absolute; left:-999px; top:0; background:var(--deep-pine); color:#fff;
    padding:10px 16px; border-radius:0 0 8px 0; z-index:200; font-weight:700;
  }
  .skip-link:focus{ left:0; }

  :focus-visible{ outline:none; box-shadow:var(--focus-ring); border-radius:6px; }

  /* =========================================================
     BUTTONS
     ========================================================= */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:var(--font-body); font-weight:700; font-size:0.875rem;
    padding:14px 26px; border-radius:var(--radius-pill); border:1.5px solid transparent;
    cursor:pointer; transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
    line-height:1; white-space:nowrap;
	  text-decoration:none;
  }
  .btn:active{ transform:translateY(1px); }
  .btn[disabled]{ opacity:0.55; cursor:not-allowed; }

  .btn-primary{ background:var(--healthy-green); color:var(--paper); }
  .btn-primary:hover{ background:var(--living-green); }
  .btn-primary:active{ background:var(--deep-pine); }

  .btn-secondary{ background:transparent; color:var(--healthy-green); border-color:var(--healthy-green); }
  .btn-secondary:hover{ background:var(--mist); }
  .btn-secondary.on-dark{ color:var(--cream); border-color:var(--sage); }
  .btn-secondary.on-dark:hover{ background:rgba(255,255,255,0.08); }

  .btn-promo{ background:var(--apricot); color:var(--deep-pine); }
  .btn-promo:hover{ background:var(--clay); color:#fff; }

  .btn .spinner{ width:15px; height:15px; border-radius:50%; border:2px solid rgba(255,255,255,0.4); border-top-color:#fff; animation:spin 0.7s linear infinite; display:none; }
  .btn.is-loading .spinner{ display:inline-block; }
  .btn.is-loading .btn-label{ opacity:0.85; }
  @keyframes spin{ to{ transform:rotate(360deg); } }

  .link-arrow{ display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--healthy-green); text-decoration:none; }
  .link-arrow svg{ width:16px; height:16px; transition:transform var(--transition); }
  .link-arrow:hover svg{ transform:translateX(3px); }

  .icon{ width:24px; height:24px; stroke:var(--healthy-green); fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
  .icon.on-dark{ stroke:var(--cream); }
  .icon-badge{
    width:48px; height:48px; border-radius:14px; background:var(--mist);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }
  .icon-badge.dark{ background:rgba(255,255,255,0.08); }

  /* =========================================================
     LOGO LOCKUP
     ========================================================= */
  .brand{ --brand-font-size:1.6rem; display:flex; align-items:center; gap:10px; text-decoration:none; min-width:150px; }
  .brand-word,
  .brand-badge{
    font-family:var(--font-display);
    font-weight:600;
    font-size:var(--brand-font-size, 1.6rem);
    line-height:1;
    letter-spacing:-0.01em;
  }
  .brand-word{ color:var(--deep-pine); }
  .brand-badge{
    background:var(--healthy-green); color:var(--paper); padding:1px 8px 0; border-radius:7px;
    min-height:calc(var(--brand-font-size, 1.6rem) + 10px); box-sizing:border-box;
    display:inline-flex; align-items:center; justify-content:center; vertical-align:middle;
  }
  .brand.on-dark .brand-word{ color:var(--paper); }
  .brand.on-dark .brand-badge{ background:var(--sage); color:var(--deep-pine); }
  .brand-logo{ display:block; width:260px; max-width:100%; height:auto; }
  .mobile-brand{ display:inline-flex; align-items:center; text-decoration:none; }
  .brand-logo-mobile{ width:235px; }

  /* =========================================================
     ANNOUNCEMENT BAR
     ========================================================= */
  .announce{ background:var(--deep-pine); color:var(--mist); text-align:center; font-size:0.8125rem; font-weight:700; padding:10px 20px; }
  .announce span{ color:var(--sage); padding:0 6px; }

  /* =========================================================
     HEADER
     ========================================================= */
  .site-header{
    position:sticky; top:0; z-index:100; background:rgba(252,250,244,0.94);
    backdrop-filter:saturate(150%) blur(6px);
    border-bottom:1px solid rgba(18,58,46,0.08);
  }
  .header-inner{ display:flex; align-items:center; justify-content:space-between; padding:14px 24px; gap:16px; }

  .main-nav{ display:none; }
  .main-nav ul{ display:flex; align-items:center; gap:26px; }
  .main-nav a{
    font-weight:700; font-size:0.9375rem; color:var(--ink); text-decoration:none;
    padding:6px 2px; border-bottom:2px solid transparent; transition:color var(--transition), border-color var(--transition);
  }
  .main-nav a:hover{ color:var(--healthy-green); }

  .header-actions{ display:flex; align-items:center; gap:14px; }
  .login-link{ display:none; font-weight:700; font-size:0.875rem; color:var(--living-green); text-decoration:none; }
  .btn-compact-cta{ display:none; }

  .menu-toggle{
    background:none; border:1.5px solid var(--mist); border-radius:10px; width:44px; height:44px;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
  }
  .menu-toggle .icon{ stroke:var(--deep-pine); }

  @media (min-width:960px){
    .main-nav{ display:block; }
    .menu-toggle{ display:none; }
    .login-link{ display:inline; }
  }
  @media (max-width:640px){
    .header-cta-full{ display:none; }
    .btn-compact-cta{ display:inline-flex; }
  }
  @media (max-width:640px){
    .brand-logo{ width:220px; }
    .brand-logo-mobile{ width:220px; }
  }
  @media (max-width:400px){
    .brand{ --brand-font-size:1.3rem; gap:7px; min-width:0; }
    .brand-word{ font-size:1.3rem; }
    .brand-badge{ font-size:1.3rem; padding:1px 7px 0; min-height:calc(var(--brand-font-size, 1.3rem) + 8px); }
    .brand-logo{ width:190px; }
    .brand-logo-mobile{ width:190px; }
  }

  .mobile-menu{ position:fixed; inset:0; z-index:150; display:none; }
  .mobile-menu.is-open{ display:block; }
  .mobile-menu-overlay{ position:absolute; inset:0; background:rgba(18,35,28,0.45); }
  .mobile-menu-panel{
    position:absolute; top:0; right:0; height:100%; width:min(340px, 86vw);
    background:var(--paper); box-shadow:-12px 0 32px rgba(18,58,46,0.18);
    padding:20px; display:flex; flex-direction:column; gap:6px;
  }
  .mobile-menu-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
  .mobile-menu-close{ background:none; border:1.5px solid var(--mist); border-radius:10px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
  .mobile-menu a{
    display:block; padding:14px 8px; font-weight:700; color:var(--deep-pine); text-decoration:none;
    border-bottom:1px solid var(--mist); font-size:1.05rem;
  }
  .mobile-menu a:hover{ color:var(--healthy-green); }
  .mobile-menu .btn{ margin-top:16px; width:100%; }

  /* =========================================================
     HERO
     ========================================================= */
  .hero{ padding-top:clamp(2.5rem, 2rem + 2vw, 4.5rem); padding-bottom:0; }
  .hero-grid{ display:grid; gap:2.5rem; align-items:center; }
  @media (min-width:900px){ .hero-grid{ grid-template-columns:1.1fr 0.9fr; } }
  .hero h1{ margin-bottom:18px; }
  .hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
  .trust-row{
    display:flex; flex-wrap:wrap; gap:18px 28px; margin-top:36px; padding-top:24px;
    border-top:1px solid rgba(18,58,46,0.12);
  }
  .trust-item{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:0.875rem; color:var(--deep-pine); }
  .trust-item .icon{ width:18px; height:18px; }

  .hero-visual{
    background:var(--mist); border-radius:20px; aspect-ratio:4/5; overflow:hidden;
    display:flex; align-items:center; justify-content:center; position:relative;
    border:1px solid rgba(18,58,46,0.08);
  }
  .hero-visual .placeholder-note{
    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:24px; color:var(--living-green); gap:10px;
  }
  .hero-visual .placeholder-note svg{ width:40px; height:40px; stroke:var(--living-green); }
  .hero-visual .placeholder-note span{ font-size:0.8125rem; font-weight:700; max-width:220px; }

  /* =========================================================
     TRUST / STAT STRIP
     ========================================================= */
  .stat-strip{ padding:0; }
  .stat-card{
    background:var(--deep-pine); border-radius:28px; padding:clamp(2rem,1.6rem + 2vw,3.5rem) clamp(1.5rem,1rem + 2.5vw,3.5rem) clamp(1.75rem,1.4rem + 1.5vw,3rem);
    position:relative; overflow:hidden;
  }
  .stat-card::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(900px 400px at 85% -20%, rgba(138,167,149,0.35), transparent 60%);
  }
  .stat-grid{ position:relative; display:grid; gap:24px; grid-template-columns:repeat(2,1fr); text-align:center; }
  @media (min-width:800px){ .stat-grid{ grid-template-columns:repeat(4,1fr); } }
  .stat-item strong{ display:block; font-family:var(--font-display); font-size:1.75rem; color:var(--paper); font-weight:600; }
  .stat-item span{ font-size:0.875rem; color:var(--sage); font-weight:700; }
  .stat-card-bottom{
    position:relative; margin-top:clamp(1.5rem,1.2rem + 1.5vw,2.5rem); padding-top:clamp(1.25rem,1rem + 1vw,2rem);
    border-top:1px solid rgba(138,167,149,0.25); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px;
  }
  .stat-card-bottom-item{ display:flex; align-items:center; gap:10px; font-size:0.8125rem; font-weight:700; letter-spacing:0.03em; color:var(--sage); text-transform:uppercase; }
  .stat-card-bottom-item .icon{ width:18px; height:18px; stroke:var(--sage); }

  /* =========================================================
     CARDS / GRID UTILITIES
     ========================================================= */
  .card{
    background:var(--paper); border-radius:var(--radius-card); padding:28px;
    border:1px solid rgba(18,58,46,0.08); box-shadow:var(--shadow-sm);
  }
  .grid-2{ display:grid; gap:24px; grid-template-columns:1fr; }
  .grid-3{ display:grid; gap:24px; grid-template-columns:1fr; }
  .grid-4{ display:grid; gap:24px; grid-template-columns:1fr; }
  @media (min-width:700px){ .grid-2{ grid-template-columns:repeat(2,1fr); } .grid-3{ grid-template-columns:repeat(2,1fr); } .grid-4{ grid-template-columns:repeat(2,1fr); } }
  @media (min-width:1000px){ .grid-3{ grid-template-columns:repeat(3,1fr); } .grid-4{ grid-template-columns:repeat(4,1fr); } }

  .badge-step{
    width:36px; height:36px; border-radius:50%; background:var(--healthy-green); color:var(--paper);
    display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:600;
    margin-bottom:14px; font-size:1rem;
  }
  .step-card{ position:relative; }

  /* How It Works — numbered steps connected by a dashed line, last step highlighted */
  .steps-row{ display:grid; gap:36px 0; grid-template-columns:1fr; }
  @media (min-width:700px){ .steps-row{ grid-template-columns:repeat(4,1fr); gap:0; } }
  .steps-row .step-card{
    display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; padding:0 18px;
  }
  .steps-row .badge-step{
    position:relative; z-index:2; width:64px; height:64px; font-size:1.375rem; margin-bottom:6px;
    background:var(--paper); color:var(--healthy-green); border:1.5px solid rgba(18,58,46,0.18); box-shadow:var(--shadow-md);
    transition:background 380ms ease, color 380ms ease, border-color 380ms ease, transform 380ms ease;
  }
  .steps-row .badge-step-active{ background:var(--healthy-green); color:var(--paper); border-color:var(--healthy-green); transform:scale(1.06); }
  @media (min-width:700px){
    .steps-row .step-card::before{
      content:""; position:absolute; top:32px; left:50%; right:-50%; height:1.5px; z-index:0;
      background:repeating-linear-gradient(90deg, rgba(18,58,46,0.28) 0 8px, transparent 8px 16px);
    }
    /* solid progress fill drawn over the dashed track, revealed left-to-right as each step lights up */
    .steps-row .step-card::after{
      content:""; position:absolute; top:32px; left:50%; right:-50%; height:2px; z-index:1;
      background:var(--healthy-green); transform:scaleX(0); transform-origin:left;
      transition:transform 420ms ease;
    }
    .steps-row .step-card:first-child::before, .steps-row .step-card:first-child::after{ left:50%; }
    .steps-row .step-card:last-child::before, .steps-row .step-card:last-child::after{ display:none; }
    .steps-row .step-card.connector-filled::after{ transform:scaleX(1); }
  }
  .steps-row h3{ font-size:1.0625rem; margin-top:2px; }
  .steps-row p{ font-size:0.875rem; }
  .disclaimer-inline{
    font-size:0.8125rem; color:var(--living-green); background:var(--mist); border-radius:10px;
    padding:10px 14px; margin-top:10px; line-height:1.5;
  }

  /* =========================================================
     TREATMENTS
     ========================================================= */
  .treatment-card{ display:flex; flex-direction:column; gap:6px; position:relative; padding-top:44px; }
  .treatment-badge{
    position:absolute; top:20px; left:28px; background:var(--apricot); color:var(--deep-pine);
    font-weight:800; font-size:0.6875rem; text-transform:uppercase; letter-spacing:0.05em;
    padding:5px 12px; border-radius:var(--radius-pill);
  }
  .treatment-card h3{ margin-bottom:2px; }
  .treatment-price{ font-family:var(--font-display); font-size:1.75rem; color:var(--deep-pine); margin:0; }
  .treatment-price span{ font-family:var(--font-body); font-size:0.875rem; color:var(--living-green); font-weight:700; }
  .treatment-price-row{
    display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto;
    padding-top:16px; border-top:1px solid rgba(18,58,46,0.1);
  }
  .best-for{ font-size:0.875rem; color:var(--living-green); font-weight:700; margin-bottom:8px; }
  .check-list{ margin:10px 0; display:flex; flex-direction:column; gap:6px; }
  .check-list li{ display:flex; gap:8px; align-items:flex-start; font-size:0.9375rem; color:var(--ink-soft); }
  .check-list .icon{ width:16px; height:16px; margin-top:3px; stroke:var(--healthy-green); }
  .compliance-banner{
    background:var(--mist); border:1px solid rgba(18,58,46,0.1); border-radius:var(--radius-card);
    padding:18px 22px; font-size:0.9375rem; color:var(--deep-pine); margin-top:28px; line-height:1.55;
  }
  .compliance-banner strong{ color:var(--healthy-green); }

  /* =========================================================
     WHY / BENEFITS
     ========================================================= */
  .why-card{ text-align:left; }
  .benefits-split{ display:grid; gap:2.5rem; align-items:center; grid-template-columns:1fr; }
  @media (min-width:900px){ .benefits-split{ grid-template-columns:1.05fr 0.95fr; } }
  .benefits-intro .lede{ max-width:420px; }
  .benefits-visual{
    width:100%; aspect-ratio:16/9; margin-top:20px; border-radius:20px; overflow:hidden;
    border:1px solid rgba(18,58,46,0.08);
  }
  .benefits-visual img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; transition:transform 420ms ease; }
  .benefits-visual:hover img{ transform:scale(1.04); }
  .benefits-grid{ margin-top:0; }
  .benefit-card{ display:flex; gap:14px; align-items:flex-start; padding:18px 0; border-top:1px solid var(--mist); }
  .benefit-card:first-child{ border-top:none; }
  .benefit-card .icon{ width:22px; height:22px; margin-top:2px; }
  .benefit-card h3{ font-size:1.0625rem; margin-bottom:4px; }
  .benefit-card p{ font-size:0.9375rem; margin-bottom:0; }

  /* =========================================================
     CLINICAL STANDARDS (dark)
     ========================================================= */
  .clinical-section{ background:var(--deep-pine); color:var(--cream); }
  .clinical-section h2{ color:var(--paper); }
  .clinical-section p{ color:var(--mist); }
  .clinical-split{ display:grid; gap:2.5rem; align-items:center; grid-template-columns:1fr; }
  @media (min-width:900px){ .clinical-split{ grid-template-columns:1.05fr 0.95fr; } }
  .clinical-text .lede{ max-width:460px; }
  .clinical-visual{
    border-radius:20px; overflow:hidden; aspect-ratio:6/5; border:1px solid rgba(255,255,255,0.14);
  }
  .clinical-visual img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 420ms ease; }
  .clinical-visual:hover img{ transform:scale(1.04); }
  .clinical-grid{ display:grid; gap:14px; grid-template-columns:1fr; margin-top:20px; }
  @media (min-width:560px){ .clinical-grid{ grid-template-columns:repeat(2,1fr); } }
  .clinical-grid li{ display:flex; gap:10px; align-items:flex-start; font-weight:700; font-size:0.9375rem; }
  .clinical-grid .icon{ stroke:var(--sage); width:20px; height:20px; margin-top:2px; }

  /* =========================================================
     PRICING
     ========================================================= */
  .pricing-wrap{ display:grid; gap:28px; }
  @media (min-width:900px){ .pricing-wrap{ grid-template-columns:1fr 1fr; } }
  .pricing-card{ background:var(--paper); border-radius:var(--radius-card); padding:32px; border:1px solid rgba(18,58,46,0.1); box-shadow:var(--shadow-md); }
  .price-placeholder{ font-family:var(--font-display); font-size:1.5rem; color:var(--deep-pine); margin:6px 0 4px; }
  .price-tag{ font-size:0.875rem; color:var(--living-green); font-weight:700; }
  .pricing-list li{ display:flex; gap:10px; align-items:flex-start; padding:8px 0; color:var(--ink-soft); border-top:1px solid var(--mist); }
  .pricing-list li:first-child{ border-top:none; }
  .pricing-list .icon{ width:18px; height:18px; margin-top:2px; }
  .example-flag{
    display:inline-block; background:var(--apricot); color:var(--deep-pine); font-weight:800; font-size:0.6875rem;
    text-transform:uppercase; letter-spacing:0.05em; padding:5px 10px; border-radius:var(--radius-pill); margin-bottom:12px;
  }

  /* =========================================================
     SUPPORT / WHY US SECTION (dark)
     ========================================================= */
  .support-section{ background:var(--deep-pine); color:var(--cream); }
  .support-section h2, .support-section h3{ color:var(--paper); }
  .support-section p{ color:var(--mist); }
  .support-grid{ display:grid; gap:28px; align-items:start; }
  @media (min-width:900px){ .support-grid{ grid-template-columns:1fr 1fr; } }
  .support-list li{ display:flex; gap:12px; padding:10px 0; align-items:flex-start; }
  .support-list .icon{ stroke:var(--sage); width:20px; height:20px; margin-top:3px; }
  .support-list strong{ color:var(--paper); }

  /* =========================================================
     RESOURCES
     ========================================================= */
  .resource-card{ display:flex; flex-direction:column; gap:10px; }
  .resource-tag{
    font-size:0.6875rem; font-weight:800; text-transform:uppercase; letter-spacing:0.05em; color:var(--living-green);
    background:var(--mist); display:inline-block; padding:4px 10px; border-radius:var(--radius-pill); width:fit-content;
  }

  /* =========================================================
     EXPECT SECTION (replaces fabricated testimonials)
     ========================================================= */
  .expect-card{ background:var(--mist); border:none; }
  .expect-card .icon-badge{ background:var(--paper); }

  /* =========================================================
     FAQ
     ========================================================= */
  .faq-list{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
  .faq-item{ background:var(--paper); border:1px solid rgba(18,58,46,0.1); border-radius:var(--radius-card); overflow:hidden; }
  .faq-question{
    width:100%; background:none; border:none; text-align:left; display:flex; align-items:center; justify-content:space-between;
    gap:16px; padding:18px 22px; cursor:pointer; font-weight:700; font-size:1rem; color:var(--deep-pine);
  }
  .faq-question:hover{ background:var(--mist); }
  .faq-question .chev{ width:20px; height:20px; stroke:var(--healthy-green); transition:transform var(--transition); flex-shrink:0; }
  .faq-question[aria-expanded="true"] .chev{ transform:rotate(180deg); }
  .faq-answer{ padding:0 22px; max-height:0; overflow:hidden; transition:max-height var(--transition), padding var(--transition); }
  .faq-answer.is-open{ max-height:640px; padding-bottom:20px; }
  .faq-answer p{ margin:0; font-size:0.9375rem; }

  /* =========================================================
     FINAL CTA
     ========================================================= */
  .final-cta{ background:var(--healthy-green); color:var(--paper); text-align:center; }
  .final-cta h2{ color:var(--paper); }
  .final-cta p{ color:var(--mist); max-width:560px; margin:0 auto 28px; }
  .final-cta .btn-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
  .final-cta .microcopy{ font-size:0.8125rem; color:var(--mist); margin-top:22px; }
  .final-cta .note{ font-size:0.8125rem; color:var(--mist); margin-top:10px; max-width:480px; margin-inline:auto; }

  /* =========================================================
     FOOTER
     ========================================================= */
  .site-footer{ background:var(--deep-pine); color:var(--mist); padding:var(--space-section) 0 2rem; }
  .footer-grid{ display:grid; gap:32px; grid-template-columns:1fr; margin-bottom:32px; }
  @media (min-width:800px){ .footer-grid{ grid-template-columns:2fr 1fr 1fr 1fr; } }
  .footer-brand-logo{ display:block; width:260px; max-width:100%; height:auto; }
  .footer-brand p{ color:var(--sage); font-size:0.9375rem; max-width:280px; }
  .footer-col h3{ color:var(--paper); font-family:var(--font-body); font-weight:800; font-size:0.8125rem; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:14px; }
  .footer-col a{ display:block; color:var(--mist); text-decoration:none; padding:6px 0; font-size:0.9375rem; }
  .footer-col a:hover{ color:var(--sage); text-decoration:underline; }
  .footer-contact{ font-size:0.9375rem; color:var(--mist); }
  .footer-disclaimer{
    border-top:1px solid rgba(255,255,255,0.14); padding-top:24px; font-size:0.8125rem; color:var(--sage); line-height:1.6;
  }
  .footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:20px; font-size:0.8125rem; color:var(--sage); }
  .legal-panel{ background:var(--paper); border-top:1px solid rgba(18,58,46,0.1); }
  .legal-panel .card{ scroll-margin-top:100px; }

  /* =========================================================
     MODAL — START ASSESSMENT
     ========================================================= */
  .modal-overlay{
    position:fixed; inset:0; background:rgba(18,35,28,0.55); z-index:200; display:none;
    align-items:flex-start; justify-content:center; padding:24px; overflow-y:auto;
  }
  .modal-overlay.is-open{ display:flex; }
  .modal{
    background:var(--paper); border-radius:20px; max-width:520px; width:100%; margin-top:40px;
    padding:32px; box-shadow:0 24px 60px rgba(18,35,28,0.35); position:relative;
  }
  .modal-close{
    position:absolute; top:18px; right:18px; background:none; border:1.5px solid var(--mist); border-radius:10px;
    width:38px; height:38px; display:flex; align-items:center; justify-content:center; cursor:pointer;
  }
  .modal h2{ margin-bottom:8px; padding-right:40px; }
  .modal .lede{ font-size:0.9375rem; margin-bottom:22px; }

  .field{ margin-bottom:18px; }
  .field label{ display:block; font-weight:700; font-size:0.875rem; color:var(--deep-pine); margin-bottom:6px; }
  .field input, .field select{
    width:100%; padding:12px 14px; border-radius:var(--radius-input); border:1.5px solid var(--mist);
    background:var(--cream); font-family:inherit; font-size:1rem; color:var(--ink); transition:border-color var(--transition), background var(--transition);
  }
  .field input:hover{ border-color:var(--sage); }
  .field input:focus, .field select:focus{ border-color:var(--healthy-green); background:var(--paper); outline:none; box-shadow:var(--focus-ring); }
  .field.has-error input{ border-color:var(--clay); background:#FBEFE7; }
  .field.has-success input{ border-color:var(--healthy-green); }
  .field-error{ color:#7A3B1D; font-size:0.8125rem; margin-top:6px; display:none; font-weight:700; }
  .field.has-error .field-error{ display:block; }
  .field input[disabled]{ opacity:0.6; cursor:not-allowed; }

  .form-status{ border-radius:12px; padding:14px 16px; font-size:0.9375rem; margin-bottom:18px; display:none; align-items:flex-start; gap:10px; }
  .form-status.is-visible{ display:flex; }
  .form-status.success{ background:var(--mist); color:var(--deep-pine); }
  .form-status.error{ background:#FBEFE7; color:#7A3B1D; }
  .form-status .icon{ width:20px; height:20px; margin-top:1px; }

  .modal-legal{ font-size:0.75rem; color:var(--living-green); margin-top:16px; line-height:1.5; }

  .body-scroll-lock{ overflow:hidden; height:100%; }

  .visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

  @media (max-width:480px){
    section{ padding:2.25rem 0; }
    .modal{ padding:24px; }
  }

  /* --- multi-page additions --- */
  .main-nav a.is-active{ color:var(--healthy-green); border-color:var(--apricot); }
  .field textarea{
    width:100%; padding:12px 14px; border-radius:var(--radius-input); border:1.5px solid var(--mist);
    background:var(--cream); font-family:inherit; font-size:1rem; color:var(--ink); resize:vertical; min-height:140px;
    transition:border-color var(--transition), background var(--transition);
  }
  .field textarea:focus{ border-color:var(--healthy-green); background:var(--paper); outline:none; box-shadow:var(--focus-ring); }
  .breadcrumb{ font-size:0.8125rem; color:var(--living-green); margin-bottom:14px; }
  .breadcrumb a{ color:var(--living-green); text-decoration:none; font-weight:700; }
  .breadcrumb a:hover{ text-decoration:underline; }
  .page-hero{ padding-top:clamp(2rem, 1.6rem + 1.6vw, 3.5rem); padding-bottom:0; text-align:center; }
  .page-hero .section-head{ margin-bottom:1.5rem; }
  .provider-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:18px; }
  .provider-chip{ background:var(--mist); color:var(--deep-pine); font-weight:700; font-size:0.8125rem; padding:8px 14px; border-radius:var(--radius-pill); }
  .mini-faq .faq-item{ margin-bottom:10px; }
  .cross-link-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:20px; }
  .cross-link-card{ flex:1 1 200px; background:var(--mist); border-radius:var(--radius-card); padding:18px; text-decoration:none; display:block; }
  .cross-link-card h3{ font-size:1rem; margin-bottom:4px; }
  .cross-link-card p{ font-size:0.8125rem; margin-bottom:0; color:var(--living-green); font-weight:700; }
  .blog-meta{ font-size:0.8125rem; color:var(--living-green); font-weight:700; margin-bottom:6px; }
  .contact-methods{ display:flex; flex-direction:column; gap:16px; margin-top:20px; }
  .contact-methods .item{ display:flex; gap:12px; align-items:flex-start; }
  .contact-methods .item .icon{ margin-top:2px; }

  /* --- imagery additions --- */
  .hero-visual img{ width:100%; height:100%; object-fit:cover; display:block; }

  .photo-band{ display:grid; gap:20px; grid-template-columns:1fr; margin-top:8px; }
  @media (min-width:800px){ .photo-band{ grid-template-columns:repeat(3,1fr); } }
  .photo-band-item{ margin:0; }
  .photo-band-item img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius-card); display:block; border:1px solid rgba(18,58,46,0.08); }
  .photo-band-item figcaption{ margin-top:10px; font-size:0.875rem; font-weight:700; color:var(--living-green); text-align:center; }

  .treatment-card{ overflow:hidden; }
  .treatment-visual{ margin:-44px -28px 16px -28px; aspect-ratio:1/1; overflow:hidden; }
  .treatment-visual img{ width:100%; height:100%; object-fit:cover; display:block; }

  .resource-card{ overflow:hidden; }
  .resource-thumb{ margin:-28px -28px 16px -28px; aspect-ratio:4/3; overflow:hidden; }
  .resource-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

  .page-banner{ margin-top:28px; }
  .page-banner img{ width:100%; max-width:1090px; aspect-ratio:1090/523; object-fit:cover; object-position:center 22%; border-radius:20px; display:block; border:1px solid rgba(18,58,46,0.08); }

  .product-hero-grid{ display:grid; gap:2.5rem; align-items:center; }
  @media (min-width:900px){ .product-hero-grid{ grid-template-columns:1.1fr 0.9fr; } }
  .product-visual{ background:var(--mist); border-radius:20px; aspect-ratio:1/1; overflow:hidden; border:1px solid rgba(18,58,46,0.08); }
  .product-visual img{ width:100%; height:100%; object-fit:cover; display:block; }

  .provider-grid{ display:grid; gap:2rem; align-items:center; }
  @media (min-width:900px){ .provider-grid{ grid-template-columns:1fr 0.85fr; } }
  .provider-visual{ border-radius:20px; overflow:hidden; border:1px solid rgba(255,255,255,0.14); }
  .provider-visual img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }

  .contact-visual{ border-radius:var(--radius-card); overflow:hidden; margin-bottom:20px; border:1px solid rgba(18,58,46,0.08); }
  .contact-visual img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }

  /* breathing room between hero image/text and the dark stat strip below */
  .hero{ padding-bottom:clamp(2rem, 1.6rem + 1.6vw, 3.5rem); }

  /* --- floating LegitScript badge, fixed bottom-right, sticks through scroll --- */
  .floating-legitscript{
    position:fixed; right:20px; bottom:20px; z-index:120; display:block; line-height:0;
    filter:drop-shadow(0 6px 16px rgba(18,58,46,0.28));
    transition:transform 240ms ease;
  }
  .floating-legitscript:hover{ transform:translateY(-3px) scale(1.05); }
  .floating-legitscript img{ width:88px; height:95px; display:block; }
  @media (max-width:640px){
    .floating-legitscript{ right:14px; bottom:14px; }
    .floating-legitscript img{ width:64px; height:69px; }
  }

  /* =========================================================
     SITEWIDE INTERACTION — hover lift + shadow + image zoom
     ========================================================= */
  .card{ transition:transform 260ms ease, box-shadow 260ms ease; }
  .card:hover{ transform:translateY(-4px); box-shadow:0 16px 36px -10px rgba(18,58,46,0.20); }

  .pricing-card{ transition:transform 260ms ease, box-shadow 260ms ease; }
  .pricing-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -10px rgba(18,58,46,0.24); }

  .cross-link-card{ transition:transform 260ms ease, box-shadow 260ms ease, background 260ms ease; }
  .cross-link-card:hover{ transform:translateY(-3px); box-shadow:0 12px 28px -8px rgba(18,58,46,0.16); background:var(--paper); }

  .provider-chip{ transition:background 200ms ease, transform 200ms ease; }
  .provider-chip:hover{ background:rgba(255,255,255,0.22); transform:translateY(-2px); }

  .btn:hover{ transform:translateY(-2px); box-shadow:0 10px 22px -8px rgba(18,58,46,0.22); }
  .btn-secondary:hover, .btn-secondary.on-dark:hover{ box-shadow:none; }

  .main-nav a:hover{ border-color:var(--healthy-green); }

  .treatment-visual img, .resource-thumb img, .product-visual img,
  .contact-visual img, .provider-visual img, .hero-visual img,
  .photo-band-item img{ transition:transform 420ms ease; }

  .treatment-card:hover .treatment-visual img{ transform:scale(1.06); }
  .resource-card:hover .resource-thumb img{ transform:scale(1.06); }
  .product-visual:hover img{ transform:scale(1.05); }
  .contact-visual:hover img{ transform:scale(1.05); }
  .provider-visual:hover img{ transform:scale(1.05); }
  .hero-visual:hover img{ transform:scale(1.03); }
  .photo-band-item:hover img{ transform:scale(1.05); }

  .page-banner img{ transition:transform 420ms ease; }
  .page-banner:hover img{ transform:scale(1.03); }

  .footer-col a, .login-link{ transition:color 200ms ease; }

  /* floating "Provider reviewed" card, inset over the bottom-left corner of the hero image */
  @keyframes hero-float-bob{
    0%, 100%{ transform:translateY(0); }
    50%{ transform:translateY(-9px); }
  }
  .hero-float-card{
    position:absolute; left:20px; bottom:20px; background:var(--paper); border:none;
    border-radius:18px; box-shadow:0 18px 34px -8px rgba(18,58,46,0.28); padding:16px 20px;
    display:flex; align-items:center; gap:13px; max-width:calc(100% - 40px); width:max-content; z-index:2;
    animation:hero-float-bob 3.6s ease-in-out infinite;
  }
  .hero-float-icon{
    width:52px; height:52px; border-radius:50%; background:var(--mist); display:flex; align-items:center;
    justify-content:center; flex-shrink:0; line-height:0; position:relative;
  }
  .hero-float-icon .icon{
    width:28px; height:28px; stroke:var(--healthy-green); stroke-width:3; display:block;
    position:absolute; right:0; top:12px; left:12px;
  }
  .hero-float-card strong{ display:block; font-size:1.0625rem; font-weight:800; color:var(--deep-pine); }
  .hero-float-card span{ display:block; font-size:0.8125rem; color:var(--living-green); font-weight:700; margin-top:3px; }
  @media (max-width:480px){
    .hero-float-card{ left:12px; bottom:12px; padding:12px 16px; gap:10px; max-width:calc(100% - 24px); }
    .hero-float-icon{ width:42px; height:42px; }
    .hero-float-icon .icon{ width:22px; height:22px; top:10px; left:10px; }
    .hero-float-card strong{ font-size:0.9375rem; }
    .hero-float-card span{ font-size:0.75rem; }
  }

  /* even top/bottom section spacing for the clinical-standards split (superseded the earlier centered/text-only treatment) */
  .clinical-section{ padding-top:clamp(3rem, 2.4rem + 3vw, 5.5rem); padding-bottom:clamp(3rem, 2.4rem + 3vw, 5.5rem); }
  .clinical-grid li{ justify-content:flex-start; }

  /* footer contact links (email/phone/site/login) were inheriting the global dark-green link color,
     making them nearly unreadable against the dark footer background. Force white. */
  .footer-contact a{ color:var(--paper); text-decoration-color:rgba(252,250,244,0.5); }
  .footer-contact a:hover{ color:var(--sage); text-decoration-color:var(--sage); }

/* =========================================================
   CONTACT FORM 7 — exact theme form styling
   ========================================================= */
.hprx-cf7-form,
.hprx-cf7-form .wpcf7,
.hprx-cf7-form .wpcf7-form{
  width:100%;
}

/* Keep the manually-created CF7 layouts visually identical to the
   original single-column static forms. */
.hprx-cf7-form .form-grid,
.hprx-cf7-form .contact-form-grid{
  display:block;
  width:100%;
}

.hprx-cf7-form .form-group,
.hprx-cf7-form .field{
  display:block;
  width:100%;
  margin:0 0 18px;
}

.hprx-cf7-form .form-group-full{
  width:100%;
}

.hprx-cf7-form label{
  display:block;
  width:100%;
  margin:0 0 6px;
  color:var(--deep-pine);
  font-family:var(--font-body);
  font-size:0.875rem;
  font-weight:700;
  line-height:1.4;
}

.hprx-cf7-form .wpcf7-form-control-wrap{
  display:block;
  width:100%;
}

.hprx-cf7-form input.wpcf7-form-control:not(.wpcf7-submit),
.hprx-cf7-form select.wpcf7-form-control,
.hprx-cf7-form textarea.wpcf7-form-control{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin:0;
  padding:12px 14px;
  border:1.5px solid var(--mist);
  border-radius:var(--radius-input);
  background:var(--cream);
  color:var(--ink);
  font-family:inherit;
  font-size:1rem;
  line-height:1.5;
  box-shadow:none;
  outline:none;
  transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);
  appearance:auto;
}

.hprx-cf7-form input.wpcf7-form-control:not(.wpcf7-submit),
.hprx-cf7-form select.wpcf7-form-control{
  min-height:50px;
}

.hprx-cf7-form textarea.wpcf7-form-control{
  min-height:73px;
  resize:none;
	max-height:73px;
}

.hprx-cf7-form input.wpcf7-form-control:not(.wpcf7-submit):hover,
.hprx-cf7-form select.wpcf7-form-control:hover,
.hprx-cf7-form textarea.wpcf7-form-control:hover{
  border-color:var(--sage);
}

.hprx-cf7-form input.wpcf7-form-control:not(.wpcf7-submit):focus,
.hprx-cf7-form select.wpcf7-form-control:focus,
.hprx-cf7-form textarea.wpcf7-form-control:focus{
  border-color:var(--healthy-green);
  background:var(--paper);
  box-shadow:var(--focus-ring);
}

.hprx-cf7-form input.wpcf7-not-valid,
.hprx-cf7-form select.wpcf7-not-valid,
.hprx-cf7-form textarea.wpcf7-not-valid{
  border-color:var(--clay) !important;
  background:#FBEFE7 !important;
}

.hprx-cf7-form .wpcf7-not-valid-tip{
  display:block;
  margin:6px 0 0;
  color:#7A3B1D;
  font-size:0.8125rem;
  font-weight:700;
  line-height:1.4;
}

/* CF7 submit input styled exactly like the original .btn.btn-primary. */
.hprx-cf7-form input.wpcf7-submit,
.hprx-cf7-form button.wpcf7-submit,
.hprx-cf7-form button.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  box-sizing:border-box;
  margin:0;
  padding:14px 26px;
  border:1.5px solid transparent;
  border-radius:var(--radius-pill);
  background:var(--healthy-green);
  color:var(--paper);
  font-family:var(--font-body);
  font-size:0.875rem;
  font-weight:700;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:none;
  transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
  -webkit-appearance:none;
  appearance:none;
}

.hprx-cf7-form input.wpcf7-submit:hover,
.hprx-cf7-form button.wpcf7-submit:hover,
.hprx-cf7-form button.btn:hover{
  background:var(--living-green);
  transform:translateY(-2px);
  box-shadow:0 10px 22px -8px rgba(18,58,46,0.22);
}

.hprx-cf7-form input.wpcf7-submit:active,
.hprx-cf7-form button.wpcf7-submit:active,
.hprx-cf7-form button.btn:active{
  background:var(--deep-pine);
  transform:translateY(1px);
}

.hprx-cf7-form input.wpcf7-submit:disabled,
.hprx-cf7-form button.wpcf7-submit:disabled,
.hprx-cf7-form .is-loading{
  opacity:0.55;
  cursor:not-allowed;
}

/* Prevent CF7's generated paragraphs/spans from adding unexpected spacing. */
.hprx-cf7-form .wpcf7-form p{
  margin-top:0;
}
.hprx-cf7-form .form-group > p,
.hprx-cf7-form .field > p{
  margin-bottom:0;
}

.hprx-cf7-form .wpcf7-spinner{
  display:none !important;
}

/* Status is rendered in the existing theme status box by main.js. */
.hprx-cf7-form .wpcf7-response-output{
  display:none !important;
}

.hprx-form-unavailable{
  padding:14px 16px;
  border-radius:12px;
  background:#FBEFE7;
  color:#7A3B1D;
  font-weight:700;
}

@media (max-width:480px){
  .hprx-cf7-form input.wpcf7-form-control:not(.wpcf7-submit),
  .hprx-cf7-form select.wpcf7-form-control,
  .hprx-cf7-form textarea.wpcf7-form-control{
    font-size:16px; /* prevents iOS zoom without changing the desktop design */
  }
}


/* =========================================================
   LEGAL / POLICY PAGES
   ========================================================= */
.legal-page-hero{ padding-bottom:clamp(1.5rem, 1rem + 1.2vw, 2.5rem); }
.legal-container{ max-width:980px; }
.legal-content{ padding:clamp(24px, 3vw, 48px); }
.legal-content h2{ margin-top:2.25rem; margin-bottom:0.85rem; font-size:clamp(1.4rem, 1.2rem + 0.7vw, 1.85rem); }
.legal-content h2:first-child{ margin-top:0; }
.legal-content h3{ margin-top:1.5rem; margin-bottom:0.65rem; font-size:clamp(1.12rem, 1rem + 0.4vw, 1.35rem); }
.legal-content p{ margin-bottom:0.95rem; }
.legal-content ul,
.legal-content ol{ margin:0 0 1.15rem 1.35rem; padding:0; }
.legal-content ul{ list-style:disc; }
.legal-content ol{ list-style:decimal; }
.legal-content li{ color:var(--ink-soft); margin:0.35rem 0; padding-left:0.2rem; }
.legal-content a{ overflow-wrap:anywhere; }
.legal-content strong{ color:var(--deep-pine); }

.legal-callout{
  margin:1.25rem 0 1.75rem;
  padding:clamp(18px, 2.5vw, 28px);
  border:1px solid var(--mist);
  border-left:5px solid var(--living-green);
  border-radius:12px;
  background:rgba(220,231,223,.38);
}
.legal-callout p:last-child,
.legal-callout ol:last-child,
.legal-callout ul:last-child{ margin-bottom:0; }
.consumer-bill-callout strong{ color:var(--deep-pine); }
@media (max-width:600px){
  .legal-content{ border-radius:12px; }
  .legal-content ul,
  .legal-content ol{ margin-left:1.1rem; }
}

/* =========================================================
   THANK YOU PAGE
   ========================================================= */
body.hprx-thank-you-page {
  margin: 0;
  min-height: 100vh;
  background: #f5f5f5;
}

.hprx-thank-you-page .thank-you-page-main {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 20px;
  text-align: center;
  box-sizing: border-box;
}

.hprx-thank-you-page .thank-you-card {
  width: min(760px, 100%);
  margin: 0 auto;
}

.hprx-thank-you-page .thank-you-card h1 {
  margin: 0 0 10px;
  color: #000;
  font-family: var(--font-body);
  font-size: clamp(1.25rem, 1.05rem + 0.75vw, 1.6rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0;
}

.hprx-thank-you-page .thank-you-card p {
  margin: 0 0 30px;
  color: #000;
  font-family: var(--font-body);
  font-size: clamp(1.05rem, 0.95rem + 0.45vw, 1.35rem);
  font-weight: 700;
  line-height: 1.45;
}

.hprx-thank-you-page .thank-you-home-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 204px;
  min-height: 64px;
  padding: 14px 28px;
  background: #31527f;
  color: #fff;
  border: 0;
  border-radius: 0;
  text-decoration: none;
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.2;
  box-sizing: border-box;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.hprx-thank-you-page .thank-you-home-button:hover,
.hprx-thank-you-page .thank-you-home-button:focus-visible {
  background: #27456e;
  color: #fff;
}

.hprx-thank-you-page .thank-you-home-button:focus-visible {
  outline: 3px solid #111;
  outline-offset: 3px;
}

@media (max-width: 480px) {
  .hprx-thank-you-page .thank-you-page-main {
    padding: 36px 18px;
  }

  .hprx-thank-you-page .thank-you-home-button {
    min-width: 190px;
    min-height: 58px;
  }
}

/* =========================================================
   PRODUCT LANDING PAGES — screenshot-matched simple header/footer
   ========================================================= */
.hprx-lp-page{ background:#f7f2e7; color:var(--ink); }
.lp-container{ width:min(1120px, calc(100% - 48px)); margin-inline:auto; }
.lp-announcement{ background:#104936; color:#fff; text-align:center; font-size:11px; line-height:1.35; padding:7px 16px; }
.lp-site-header{ background:#f7f2e7; }
.lp-header-inner{ width:min(1120px, calc(100% - 48px)); margin:auto; min-height:102px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.lp-brand img{ width:260px; height:auto; }
.lp-header-actions,.lp-support-actions,.lp-final-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.lp-pill{ display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:9px 18px; border-radius:999px; font-size:12px; font-weight:700; line-height:1; text-decoration:none; transition:transform .18s ease, opacity .18s ease; }
.lp-pill:hover,.lp-cta-button:hover{ transform:translateY(-1px); }
.lp-pill-solid{ background:#155642; color:#fff; border:1px solid #155642; }
.lp-pill-outline{ background:transparent; color:#155642; border:1px solid rgba(21,86,66,.5); }
.lp-pill-apricot{ background:#efa56f; color:#123a2e; border:1px solid #efa56f; }
.lp-pill-dark-outline{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.72); }

.lp-product-page section{ padding:0; }
.lp-hero{ background:#f7f2e7; padding:76px 0 92px !important; }
.lp-hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.lp-hero-copy{ max-width:520px; }
.lp-badge{ display:inline-block; margin-bottom:13px; padding:6px 14px; border-radius:999px; background:#1b5b47; color:#fff; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.lp-hero h1{ font-size:clamp(48px, 5.2vw, 78px); line-height:.93; letter-spacing:-.035em; margin-bottom:20px; }
.lp-price{ display:flex; align-items:baseline; gap:8px; margin-bottom:24px; color:#164f3d; }
.lp-price strong{ font-family:var(--font-display); font-size:32px; font-weight:500; }
.lp-price span{ font-size:12px; }
.lp-best-for{ color:#174f3d; font-size:13px; font-weight:500; margin-bottom:16px; }
.lp-hero-copy > p:not(.lp-best-for){ max-width:560px; font-size:14px; line-height:1.72; }
.lp-cta-button{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 25px; border-radius:999px; background:#efa56f; color:#123a2e; font-size:12px; font-weight:800; text-decoration:none; margin-top:8px; }
.lp-product-card{ border-radius:14px; background:#1a654f; min-height:470px; display:grid; place-items:center; overflow:hidden; }
.lp-product-card img{ width:100%; object-fit:contain; }

.lp-lifestyle{ height:clamp(430px, 53vw, 780px); overflow:hidden; background:#ddd; }
.lp-lifestyle img{ width:100%; height:100%; object-fit:cover; }
.lp-lifestyle-tirz img{ object-position:center 34%; }
.lp-lifestyle-sema img{ object-position:center 58%; }

.lp-support-strip{ background:#0f4e3a; color:#fff; padding:23px 0 !important; }
.lp-support-strip-inner{ display:flex; align-items:center; justify-content:space-between; gap:30px; }
.lp-support-strip h2{ color:#fff; font-size:25px; margin-bottom:3px; }
.lp-support-strip p{ color:rgba(255,255,255,.78); font-size:11px; margin:0; }

.lp-info-section{ background:#fbf8f1; padding:64px 0 !important; }
.lp-info-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.lp-info-card{ min-height:290px; border:1px solid rgba(20,72,55,.13); border-radius:14px; background:#fffdf8; padding:30px 32px; }
.lp-info-card h2{ font-size:29px; margin-bottom:14px; }
.lp-check-list{ display:grid; gap:9px; margin-bottom:19px; }
.lp-check-list li{ position:relative; padding-left:20px; font-size:13px; color:#385247; }
.lp-check-list li:before{ content:'✓'; position:absolute; left:0; top:0; color:#17634b; font-weight:800; }
.lp-inline-note{ background:#dce8df; border-radius:5px; padding:12px 14px; color:#486156; font-size:10px; line-height:1.45; margin:18px 0 0; }
.lp-number-list{ counter-reset:lpsteps; list-style:none; padding:0; margin:0 0 18px; display:grid; gap:14px; }
.lp-number-list li{ counter-increment:lpsteps; display:grid; grid-template-columns:20px 1fr; gap:8px; color:#536159; font-size:12px; line-height:1.55; }
.lp-number-list li:before{ content:counter(lpsteps); color:#123a2e; }
.lp-text-link,.lp-all-faqs{ color:#164e3c; font-size:12px; font-weight:800; text-decoration:none; }

.lp-faq-section{ background:#f5efe2; padding:76px 0 84px !important; }
.lp-faq-wrap{ max-width:820px; text-align:center; }
.lp-eyebrow{ display:block; text-transform:uppercase; font-size:9px; letter-spacing:.14em; color:#2b6753; margin-bottom:6px; font-weight:800; }
.lp-faq-wrap > h2{ font-size:35px; margin-bottom:34px; }
.lp-faq-list{ display:grid; gap:14px; text-align:left; margin-bottom:28px; }
.lp-faq-list .faq-item{ border:0; border-radius:12px; box-shadow:none; background:#fff; }
.lp-faq-list .faq-question{ padding:19px 22px; font-size:12px; }
.lp-faq-list .faq-answer p{ font-size:12px; line-height:1.65; }

.lp-final-connect{ min-height:330px; position:relative; display:grid; align-items:center; background-size:cover; background-position:center; padding:58px 0 !important; isolation:isolate; }
.lp-final-tirz{ background-image:url('/wp-content/uploads/2026/09/Section.webp'); }
.lp-final-sema{ background-image:url('/wp-content/uploads/2026/09/Section-1.webp'); }
.lp-final-overlay{ position:absolute; inset:0; background:rgba(4,67,49,.86); z-index:-1; }
.lp-final-content{ text-align:center; color:#fff; }
.lp-final-content h2{ color:#fff; font-size:38px; margin-bottom:7px; }
.lp-final-content > p{ color:rgba(255,255,255,.85); font-size:12px; margin:0 auto 20px; max-width:630px; }
.lp-final-actions{ justify-content:center; }
.lp-final-actions .lp-cta-button{ margin-top:0; }
.lp-final-note{ margin-top:14px !important; font-size:9px !important; opacity:.85; }

.lp-site-footer{ background:#0e4a38; color:#fff; padding:28px 0 25px; }
.lp-footer-inner{ width:min(1180px, calc(100% - 40px)); margin:auto; display:grid; grid-template-columns:1.7fr 1fr; gap:35px; align-items:center; }
.lp-footer-links{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 25px; }
.lp-footer-links a,.lp-footer-contact a{ color:#fff; text-decoration:none; font-size:10px; opacity:.95; }
.lp-footer-contact{ display:grid; justify-items:end; gap:4px; font-size:10px; }
.lp-footer-contact span{ opacity:.75; margin-top:6px; }

@media (max-width:900px){
  .lp-header-inner{ min-height:86px; }
  .lp-brand img{ width:225px; }
  .lp-hero{ padding:48px 0 58px !important; }
  .lp-hero-grid{ grid-template-columns:1fr; gap:36px; }
  .lp-hero-copy{ max-width:680px; }
  .lp-product-card{ min-height:390px; }
  .lp-info-grid{ grid-template-columns:1fr; }
  .lp-support-strip-inner{ align-items:flex-start; flex-direction:column; }
  .lp-footer-inner{ grid-template-columns:1fr; }
  .lp-footer-contact{ justify-items:start; }
}
@media (max-width:640px){
  .lp-container,.lp-header-inner{ width:min(100% - 32px, 1120px); }
  .lp-announcement{ font-size:9px; }
  .lp-header-inner{ align-items:flex-start; padding:18px 0; min-height:auto; flex-direction:column; }
  .lp-brand img{ width:205px; }
  .lp-header-actions{ width:100%; }
  .lp-header-actions .lp-pill{ flex:1 1 145px; padding-inline:12px; font-size:10px; }
  .lp-hero h1{ font-size:50px; }
  .lp-product-card{ min-height:280px; }
  .lp-lifestyle{ height:420px; }
  .lp-support-actions{ width:100%; }
  .lp-support-actions .lp-pill{ flex:1; }
  .lp-info-section{ padding:44px 0 !important; }
  .lp-info-card{ padding:24px 20px; }
  .lp-faq-section{ padding:54px 0 !important; }
  .lp-faq-wrap > h2{ font-size:30px; }
  .lp-final-content h2{ font-size:31px; }
  .lp-final-actions{ flex-direction:column; align-items:stretch; width:min(320px,100%); margin:auto; }
  .lp-footer-links{ gap:8px 18px; }
}

.lp-faq-list .faq-question span:nth-of-type(2) {
    font-size: 20px;
}



.phone-link {
    display: flex;
    align-items: center;
    gap: 0;
    
}

.phone-icon {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    margin-top: 4px;
}

.phone-number {
    color: #fff;
    opacity: 1 !important;
}
