/* Avesta Ads: landing-page components. Light theme, mobile-first. Tokens come from style.css (:root --av-*). */

.avl { font-family: var(--av-body); color: var(--av-text); font-size: 1.0625rem; line-height: 1.7; }
.avl *, .avl *::before, .avl *::after { box-sizing: border-box; }
.avl h1, .avl h2, .avl h3, .avl h4 { font-family: var(--av-head); color: var(--av-ultra-dark); margin: 0; line-height: 1.14; letter-spacing: -.012em; text-wrap: balance; }
.avl p { margin: 0 0 1em; }
.avl img { max-width: 100%; height: auto; display: block; }
.avl a:not(.av-btn):not(.av-call) { color: var(--av-cta); }
.avl-wrap { max-width: var(--av-max); margin-inline: auto; padding-inline: var(--av-gutter); }
.avl-sec { padding-block: clamp(56px, 8vw, 112px); position: relative; }
.avl-sec--soft { background: #f4fafc; }
.avl-sec--tint { background: var(--av-ultra-light); }

/* Headings */
.avl-eyebrow { display: block; font-weight: 700; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--av-cta); margin-bottom: 1em; }
.avl .avl-h2 { font-size: clamp(1.875rem, 1.4rem + 2.2vw, 3rem); margin-bottom: .55em; }
.avl-lead { font-size: 1.1875rem; color: var(--av-muted); max-width: 62ch; }
.avl-head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
.avl-head--center { margin-inline: auto; text-align: center; }
.avl-head--center .avl-lead { margin-inline: auto; }
.avl-prose p { color: rgba(12, 26, 39, .82); }
.avl-prose p strong { color: var(--av-text); }

/* ---------- Hero ---------- */
.avl-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #e6f4f9 0%, #f6fbfd 70%, #fff 100%); padding-block: clamp(32px, 5vw, 72px) clamp(72px, 9vw, 130px); }
.avl-hero::before, .avl-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.avl-hero::before { width: 520px; height: 520px; right: -140px; top: -180px; background: radial-gradient(circle, rgba(50,163,195,.20), rgba(50,163,195,0) 70%); }
.avl-hero::after { width: 420px; height: 420px; left: -160px; bottom: -200px; background: radial-gradient(circle, rgba(154,206,229,.35), rgba(154,206,229,0) 70%); }
.avl-hero__grid { position: relative; z-index: 1; display: grid; gap: 28px; align-items: center; }
.avl-hero h1 { font-size: clamp(2.125rem, 1.4rem + 3vw, 3.5rem); margin-bottom: .45em; }
.avl-hero__sub { font-size: 1.1875rem; color: rgba(12, 26, 39, .8); max-width: 54ch; margin-bottom: 1.2em; }
.avl-ticks { list-style: none; padding: 0; margin: 0 0 1.5em; display: grid; gap: .6em 1.6em; grid-template-columns: 1fr; }
.avl-ticks li { position: relative; padding-left: 1.9em; font-weight: 700; font-size: 1rem; }
.avl-ticks li::before { content: ""; position: absolute; left: 0; top: .2em; width: 1.25em; height: 1.25em; border-radius: 50%; background: var(--av-cta) 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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat; }
.avl-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.avl-hero__hint { font-size: .9375rem; color: var(--av-muted); margin: 0; }

/* Floating stat card (overlaps the hero edge) */
.avl-stats-wrap { position: relative; z-index: 3; margin-top: clamp(-84px, -7vw, -52px); }
.avl-stats { display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border: 1px solid var(--av-line); border-radius: 20px; box-shadow: var(--av-shadow-lift); overflow: hidden; }
.avl-stat { padding: clamp(16px, 2.6vw, 28px) clamp(10px, 2vw, 28px); text-align: center; border-left: 1px solid var(--av-line); }
.avl-stat:first-child { border-left: 0; }
.avl-stat strong { display: block; font-family: var(--av-head); font-size: clamp(1.625rem, 1.2rem + 1.8vw, 2.75rem); line-height: 1; color: var(--av-cta); }
.avl-stat strong .avl-star { color: var(--av-gold); font-size: .8em; margin-left: .1em; }
.avl-stat > span { display: block; margin-top: .55em; font-weight: 700; font-size: clamp(.6875rem, .62rem + .3vw, .8125rem); letter-spacing: .1em; text-transform: uppercase; color: var(--av-text); }

/* ---------- Form card (own design; to be rebuilt in HubSpot) ---------- */
.avl-form { background: #fff; border: 1px solid var(--av-line); border-radius: 22px; box-shadow: var(--av-shadow-lift); padding: clamp(20px, 3vw, 34px); scroll-margin-top: 130px; }
.avl-form__eyebrow { display: block; font-weight: 700; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--av-cta); margin-bottom: .4em; }
.avl .avl-form h2 { font-size: 1.625rem; margin-bottom: .3em; }
.avl-form__sub { font-size: .9375rem; color: var(--av-muted); margin-bottom: 1.2em; line-height: 1.55; }
.avl-fgrid { display: grid; gap: 14px; grid-template-columns: 1fr; }
.avl-fgrid--names { grid-template-columns: 1fr 1fr; }
.avl-fld { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.avl-fld label, .avl-fld .avl-lbl { font-weight: 700; font-size: .875rem; color: var(--av-text); }
.avl-fld label i, .avl-fld .avl-lbl i { color: #c0392b; font-style: normal; }
.avl-fld input, .avl-fld select { width: 100%; min-height: 48px; padding: 10px 14px; font: inherit; font-size: 1rem; color: var(--av-text); background: #fff; border: 1.5px solid #c9d6de; border-radius: 12px; appearance: none; -webkit-appearance: none; transition: border-color .15s, box-shadow .15s; }
.avl-fld select { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a5565' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center/18px no-repeat; padding-right: 40px; }
.avl-fld input:focus, .avl-fld select:focus { outline: 0; border-color: var(--av-primary); box-shadow: 0 0 0 4px rgba(50, 163, 195, .2); }
.avl-fld input::placeholder { color: #8aa0ad; }
.avl-consent { display: flex; gap: 10px; align-items: flex-start; font-size: .8125rem; line-height: 1.5; color: var(--av-muted); margin: 4px 0 0; }
.avl-consent input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--av-cta); }
.avl-form .av-btn { width: 100%; margin-top: 16px; min-height: 54px; font-size: 1.125rem; }
.avl-form__fine { font-size: .8125rem; color: var(--av-muted); margin: 12px 0 0; text-align: center; line-height: 1.5; }
.avl-form__alt { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--av-line); font-size: .9375rem; text-align: center; color: var(--av-muted); }
.avl-form__alt a { font-weight: 700; white-space: nowrap; }
.avl-form__msg { display: none; margin-top: 12px; padding: 12px 14px; border-radius: 12px; background: var(--av-ultra-light); border: 1px solid var(--av-primary-light); font-size: .875rem; color: var(--av-primary-dark); }
.avl-form__msg.is-on { display: block; }

/* ---------- Reviews ---------- */
.avl-revhead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: clamp(24px, 4vw, 40px); }
.avl-badge { display: inline-flex; align-items: center; gap: .7em; padding: 10px 18px; background: #fff; border: 1px solid var(--av-line); border-radius: var(--av-pill); box-shadow: var(--av-shadow-card); font-size: .8125rem; font-weight: 700; letter-spacing: .04em; color: var(--av-text); }
.avl-badge b { font-family: var(--av-head); font-size: 1.5rem; color: var(--av-cta); letter-spacing: 0; }
.avl-stars { color: var(--av-gold); letter-spacing: .1em; }
.avl-grid { display: grid; gap: 20px; }
.avl-rev { position: relative; background: #fff; border: 1px solid var(--av-line); border-left: 4px solid var(--av-primary); border-radius: var(--av-radius-card); box-shadow: var(--av-shadow-card); padding: clamp(22px, 3vw, 30px); margin: 0; display: flex; flex-direction: column; gap: 14px; }
.avl-rev::before { content: "“"; font-family: var(--av-head); font-size: 3.5rem; line-height: .6; color: var(--av-primary-light); }
.avl-rev blockquote { margin: 0; font-size: 1.0625rem; line-height: 1.65; color: rgba(12, 26, 39, .86); }
.avl-rev figcaption { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--av-line); }
.avl-rev cite { font-style: normal; font-weight: 700; display: block; }
.avl-rev small { color: var(--av-muted); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- Split sections + media ---------- */
.avl-split { display: grid; gap: clamp(28px, 5vw, 64px); align-items: center; }
.avl-media { position: relative; }
.avl-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--av-radius-media); box-shadow: var(--av-shadow-lift); }
.avl-media::before { content: ""; position: absolute; top: -12px; left: -12px; width: 76px; height: 76px; border-top: 4px solid var(--av-primary); border-left: 4px solid var(--av-primary); border-top-left-radius: 22px; z-index: 1; pointer-events: none; }
.avl-keyfacts { background: #fff; border: 1px solid var(--av-line); border-radius: var(--av-radius-card); box-shadow: var(--av-shadow-card); padding: clamp(22px, 3vw, 32px); }
.avl-keyfacts h3 { font-size: 1.375rem; margin-bottom: .7em; }
.avl-keyfacts ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1em; }
.avl-keyfacts li { position: relative; padding-left: 2em; font-size: 1rem; line-height: 1.55; }
.avl-keyfacts li::before { content: ""; position: absolute; left: 0; top: .15em; width: 1.3em; height: 1.3em; border-radius: 50%; background: var(--av-ultra-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f7f9b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat; }
.avl-source { font-size: .75rem; color: var(--av-muted); margin: 1.2em 0 0; }

/* ---------- Cards with icon ---------- */
.avl-card { position: relative; background: #fff; border: 1px solid var(--av-line); border-radius: var(--av-radius-card); box-shadow: var(--av-shadow-card); padding: clamp(22px, 3vw, 30px); }
.avl-card h3 { font-size: 1.4375rem; margin-bottom: .45em; }
.avl-card p { color: rgba(12, 26, 39, .8); font-size: 1rem; line-height: 1.65; }
.avl-card p:last-child { margin-bottom: 0; }
.avl-card__k { display: block; font-weight: 700; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--av-cta); margin-bottom: .55em; }
.avl-card__n { position: absolute; top: 18px; right: 22px; font-family: var(--av-head); font-size: 1.125rem; color: rgba(31, 127, 155, .28); }
.avl-ic { width: 46px; height: 46px; border-radius: 14px; background: var(--av-ultra-light); display: flex; align-items: center; justify-content: center; margin-bottom: 1em; color: var(--av-cta); }
.avl-ic svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.avl-list { margin: 0; padding: 0; list-style: none; display: grid; gap: .65em; }
.avl-list li { position: relative; padding-left: 1.6em; line-height: 1.55; font-size: 1rem; }
.avl-list li::before { content: ""; position: absolute; left: .1em; top: .62em; width: .55em; height: .55em; border-radius: 50%; background: var(--av-primary); }
.avl-list--check li::before { top: .2em; left: 0; width: 1.15em; height: 1.15em; background: var(--av-ultra-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f7f9b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat; }
.avl-list--x li::before { top: .2em; left: 0; width: 1.15em; height: 1.15em; background: #fdeeee url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b33a3a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/70% no-repeat; }
.avl-alert { display: flex; gap: 14px; align-items: flex-start; margin-top: clamp(24px, 4vw, 40px); padding: 18px 22px; background: #fff8e8; border: 1px solid #f1d58f; border-radius: var(--av-radius-card); font-size: 1rem; }
.avl-alert svg { flex: none; width: 26px; height: 26px; fill: none; stroke: #a46a00; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; margin-top: 2px; }
.avl-alert p { margin: 0; }

/* Numbered options list */
.avl-opts { display: grid; gap: 14px; }
.avl-opt { display: grid; grid-template-columns: auto 1fr; gap: 18px; background: #fff; border: 1px solid var(--av-line); border-radius: var(--av-radius-card); box-shadow: var(--av-shadow-card); padding: 22px 24px; }
.avl-opt__n { font-family: var(--av-head); font-size: 2rem; line-height: 1; color: var(--av-primary); }
.avl-opt h3 { font-size: 1.3125rem; margin-bottom: .3em; }
.avl-opt p { margin: 0; font-size: 1rem; color: rgba(12, 26, 39, .8); line-height: 1.6; }
.avl-opt small { display: block; margin-top: .5em; font-size: .8125rem; color: var(--av-muted); }

/* Steps */
.avl-step { position: relative; background: #fff; border: 1px solid var(--av-line); border-radius: var(--av-radius-card); box-shadow: var(--av-shadow-card); padding: 26px 26px 32px; overflow: hidden; }
.avl-step__n { font-family: var(--av-head); font-size: 3.5rem; line-height: 1; color: rgba(50, 163, 195, .22); margin-bottom: .15em; }
.avl-step h3 { font-size: 1.4375rem; margin-bottom: .4em; }
.avl-step p { font-size: 1rem; color: rgba(12, 26, 39, .8); margin: 0; }
.avl-step::after { content: ""; position: absolute; left: 26px; bottom: 16px; width: 44px; height: 4px; border-radius: 4px; background: var(--av-primary); }

/* Soft CTA band (the single mid-page call to action) */
.avl-band { text-align: center; background: #fff; border: 1px solid var(--av-line); border-radius: 22px; box-shadow: var(--av-shadow-card); padding: clamp(26px, 4vw, 44px); margin-top: clamp(28px, 4vw, 48px); }
.avl-band h3 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); margin-bottom: .4em; }
.avl-band p { color: var(--av-muted); max-width: 54ch; margin: 0 auto 1.2em; }
.avl-band .avl-btnrow { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* Chips + insurance */
.avl-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 1em; padding: 0; list-style: none; }
.avl-chips li { background: #fff; border: 1px solid var(--av-primary-light); color: var(--av-primary-dark); border-radius: var(--av-pill); padding: .45em 1.1em; font-weight: 700; font-size: .9375rem; }
.avl-carriers { background: #fff; border: 1px solid var(--av-line); border-radius: var(--av-radius-card); box-shadow: var(--av-shadow-lift); padding: clamp(22px, 3vw, 34px); }
.avl-carriers h3 { font-size: 1.375rem; margin-bottom: .8em; }
.avl-carriers .avl-k { display: block; font-weight: 700; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--av-muted); margin: 1.2em 0 .6em; }
.avl-carriers .avl-chips li { background: var(--av-ultra-light); }
.avl-inline { font-size: 1rem; }

/* Provider */
.avl-doc img { border-radius: var(--av-radius-media); box-shadow: var(--av-shadow-lift); width: 100%; max-width: 400px; aspect-ratio: 1 / 1; object-fit: cover; }
.avl-doc__role { color: var(--av-cta); font-weight: 700; margin-bottom: 1.2em; }
.avl-creds { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.2em 0 0; padding: 0; list-style: none; }
.avl-creds li { font-size: .875rem; font-weight: 700; color: var(--av-primary-dark); background: #fff; border: 1px solid var(--av-line); border-radius: var(--av-pill); padding: .4em 1em; }

/* Clinic */
.avl-facts { display: grid; gap: 14px; margin: 1.2em 0 0; }
.avl-fact { background: #fff; border: 1px solid var(--av-line); border-radius: 14px; padding: 16px 20px; }
.avl-fact strong { display: block; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--av-cta); margin-bottom: .3em; }
.avl-fact p { margin: 0; font-size: 1rem; line-height: 1.55; }

/* FAQ */
.avl-faq { max-width: 880px; margin-inline: auto; display: grid; gap: 12px; }
.avl-faq details { background: #fff; border: 1px solid var(--av-line); border-radius: var(--av-radius-card); box-shadow: 0 4px 14px rgba(10, 34, 41, .04); }
.avl-faq details[open] { border-color: var(--av-primary-light); box-shadow: var(--av-shadow-card); }
.avl-faq summary { cursor: pointer; list-style: none; padding: 20px 56px 20px 22px; font-weight: 700; font-size: 1.0625rem; position: relative; min-height: 48px; }
.avl-faq summary::-webkit-details-marker { display: none; }
.avl-faq summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 1.7rem; font-weight: 400; color: var(--av-cta); line-height: 1; }
.avl-faq details[open] summary::after { content: "–"; }
.avl-faq details > div { padding: 0 22px 20px; color: rgba(12, 26, 39, .82); }
.avl-faq details > div p:last-child { margin-bottom: 0; }

/* Final section (light) */
.avl-final__grid { display: grid; gap: clamp(28px, 5vw, 64px); align-items: center; }
.avl-final h2 { font-size: clamp(1.875rem, 1.4rem + 2.2vw, 3rem); margin-bottom: .45em; }
.avl-final__points { list-style: none; margin: 0 0 1.6em; padding: 0; display: grid; gap: .7em; }
.avl-final__points li { position: relative; padding-left: 1.9em; font-weight: 700; }
.avl-final__points li::before { content: ""; position: absolute; left: 0; top: .2em; width: 1.25em; height: 1.25em; border-radius: 50%; background: var(--av-cta) 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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/70% no-repeat; }

/* Sticky mobile bar */
.avl-bar { display: none; }
@media (max-width: 767px) {
  .avl-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 99; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .98); border-top: 1px solid var(--av-line); box-shadow: 0 -8px 24px rgba(10, 34, 41, .12); transform: translateY(110%); transition: transform .25s ease; }
  .avl-bar.is-on { transform: none; }
  .avl-bar a { min-height: 50px; padding: .6em .8em; font-size: 1rem; }
  .avl-bar svg { width: 1.1em; height: 1.1em; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
  body { padding-bottom: 76px; }
  .avl-hero__ctas .av-btn[href^="#"] { display: none; }
  .avl-hero__ctas .av-call, .avl-hero__ctas .av-btn { width: 100%; }
}

/* Tablet and up */
@media (min-width: 640px) {
  .avl-fgrid--2 { grid-template-columns: 1fr 1fr; }
  .avl-ticks { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 768px) {
  .avl-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .avl-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .avl-grid--4 { grid-template-columns: repeat(4, 1fr); }
  .avl-split { grid-template-columns: 1fr 1fr; }
  .avl-split--doc { grid-template-columns: 400px 1fr; }
  .avl-final__grid { grid-template-columns: 1fr 1fr; }
  .avl-opts { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .avl-hero__grid { grid-template-columns: 1.08fr .92fr; gap: 56px; }
  .avl-grid--3d { grid-template-columns: repeat(3, 1fr); }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* ---------- Reviews: Doc-Rep style slider ---------- */
.avl-reviews { background: linear-gradient(180deg, #e8f1f8 0%, #d3e2ef 100%); padding-block: clamp(40px, 6vw, 80px); }
.avl-rvwrap { display: grid; gap: 24px; align-items: center; }
.avl-rvsum { text-align: center; }
.avl-rvsum__t { display: block; font-family: var(--av-body); font-weight: 800; font-size: 1.5rem; letter-spacing: .14em; color: var(--av-ultra-dark); }
.avl-rvsum__s { font-size: 1.9rem; margin: .35em 0; }
.avl-rvsum p { margin: 0 0 .5em; font-size: .9375rem; color: var(--av-muted); line-height: 1.5; }
.avl-rvsum p b { color: var(--av-text); }
.avl-rvsum__g svg { width: 28px; height: 28px; margin: .2em auto .4em; display: block; }
.avl-rvsum .avl-rvsum__r { font-weight: 700; color: var(--av-primary-dark); }
.avl-rvslider { min-width: 0; }
.avl-rvtrack { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 6px 4px 34px; margin-bottom: -22px; -webkit-overflow-scrolling: touch; }
.avl-rvtrack::-webkit-scrollbar { display: none; }
.avl-rv { flex: 0 0 min(86%, 340px); scroll-snap-align: start; background: #fff; border-radius: 20px; box-shadow: 0 8px 24px rgba(10, 34, 41, .10); padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 12px; }
.avl-rv header { display: flex; align-items: center; gap: 12px; }
.avl-rv__av { flex: none; width: 44px; height: 44px; border-radius: 50%; color: #fff; font-size: 1.25rem; display: flex; align-items: center; justify-content: center; }
.avl-rv__who { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.avl-rv__who strong { font-size: 1.0625rem; color: var(--av-ultra-dark); }
.avl-rv__who span { font-size: .875rem; color: var(--av-muted); }
.avl-rv__who span b { color: var(--av-text); font-weight: 600; }
.avl-rv__g svg { width: 24px; height: 24px; display: block; }
.avl-rv .avl-stars { font-size: 1.15rem; letter-spacing: .08em; }
.avl-rv__t { margin: 0; font-size: 1rem; line-height: 1.65; color: rgba(12, 26, 39, .82); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden; }
.avl-rv.is-open .avl-rv__t { -webkit-line-clamp: unset; line-clamp: unset; display: block; }
.avl-rv__more { align-self: flex-start; background: none; border: 0; padding: 4px 0; min-height: 32px; color: var(--av-cta); font: inherit; font-weight: 700; font-size: .9375rem; cursor: pointer; }
.avl-rvnav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 4px; }
.avl-rvbtn { width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: var(--av-ultra-dark); font-size: 1.6rem; line-height: 1; cursor: pointer; box-shadow: 0 4px 12px rgba(10, 34, 41, .12); }
.avl-rvbtn:disabled { opacity: .4; cursor: default; }
.avl-rvdots { display: flex; gap: 8px; align-items: center; }
.avl-rvdots i { width: 8px; height: 8px; border-radius: 8px; background: rgba(10, 34, 41, .22); transition: width .2s, background .2s; }
.avl-rvdots i.on { width: 26px; background: var(--av-primary); }
@media (min-width: 900px) {
  .avl-rvwrap { grid-template-columns: 220px 1fr; gap: 40px; }
  .avl-rv { flex-basis: calc((100% - 32px) / 3); }
}

/* Crisis note: small plain text */
.avl p.avl-crisis { max-width: 820px; margin: clamp(20px, 3vw, 32px) auto 0; text-align: center; font-size: .875rem; line-height: 1.55; color: var(--av-muted); }
.avl p.avl-crisis strong { color: var(--av-text); }

/* ===================== Continuous background flow =====================
   Each section ends on the exact color the next one starts with, so there are no hard edges.
   Tints and soft glows differ per section so the transitions never repeat identically. */
.avl-sec { isolation: isolate; overflow: hidden; }
.avl-sec > .avl-wrap { position: relative; z-index: 1; }
.avl-sec::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 28%, #000 72%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 28%, #000 72%, transparent 100%); }

.avl-hero { background: linear-gradient(180deg, #e1f1f8 0%, #ecf6fa 55%, #f4fafc 100%); }
section#reviews   { background: linear-gradient(180deg, #f4fafc 0%, #e4eef6 45%, #d7e6f2 100%); }
section#reviews::before { background: radial-gradient(60% 70% at 8% 25%, rgba(255,255,255,.75), transparent 70%); }
section#clinician { background: linear-gradient(180deg, #d7e6f2 0%, #eef5fa 22%, #ffffff 48%, #ffffff 100%); }
section#overview  { background: linear-gradient(180deg, #ffffff 0%, #f6fbfd 40%, #eaf5f9 100%); }
section#overview::before { background: radial-gradient(45% 55% at 94% 8%, rgba(50,163,195,.10), transparent 70%); }
section#symptoms  { background: linear-gradient(180deg, #eaf5f9 0%, #f8fcfd 28%, #ffffff 55%, #fbfdfe 100%); }
section#conditions { background: linear-gradient(180deg, #fbfdfe 0%, #f0f8fa 40%, #e3f1f4 100%); }
section#conditions::before { background: radial-gradient(50% 60% at 6% 92%, rgba(154,206,229,.35), transparent 72%); }
section#approach  { background: linear-gradient(180deg, #e3f1f4 0%, #f3f9fb 25%, #ffffff 50%, #f9fcfd 100%); }
section#options   { background: linear-gradient(180deg, #f9fcfd 0%, #eef4fa 40%, #e1ebf6 100%); }
section#options::before { background: radial-gradient(48% 58% at 96% 88%, rgba(120,150,215,.16), transparent 72%); }
section#expect    { background: linear-gradient(180deg, #f9fcfd 0%, #eaf1f9 38%, #f2f7fb 72%, #f6fbfc 100%); }
section#safety    { background: linear-gradient(180deg, #f6fbfc 0%, #eef8f7 40%, #e4f3f1 100%); }
section#safety::before { background: radial-gradient(50% 60% at 8% 12%, rgba(80,185,165,.13), transparent 72%); }
section#fit       { background: linear-gradient(180deg, #e4f3f1 0%, #f4fafa 26%, #ffffff 50%, #ffffff 100%); }
section#insurance { background: linear-gradient(180deg, #ffffff 0%, #f4f9fd 42%, #e8f2fa 100%); }
section#insurance::before { background: radial-gradient(46% 56% at 92% 18%, rgba(154,206,229,.30), transparent 72%); }
section#clinic    { background: linear-gradient(180deg, #e8f2fa 0%, #f2f8fc 35%, #eff7fa 100%); }
section#clinic::before { background: radial-gradient(40% 50% at 4% 85%, rgba(50,163,195,.10), transparent 72%); }
section#faq       { background: linear-gradient(180deg, #eff7fa 0%, #f8fcfd 30%, #ffffff 60%, #fafdfe 100%); }
section#get-started { background: linear-gradient(180deg, #fafdfe 0%, #eaf4f9 35%, #d9e9f4 100%); }
section#get-started::before { background: radial-gradient(45% 55% at 88% 12%, rgba(255,255,255,.7), transparent 70%), radial-gradient(40% 50% at 6% 92%, rgba(50,163,195,.14), transparent 72%); }

/* Hero -> stat card -> reviews: no seams */
.avl-hero::before, .avl-hero::after { -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 45%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, #000 45%, transparent 100%); }
.avl-stats-wrap { background: linear-gradient(180deg, rgba(244,250,252,0) 0, #f4fafc 70px, #f4fafc 100%); padding-bottom: clamp(28px, 4vw, 48px); }
section#reviews { margin-top: 0; }

/* WordPress adds a 1.2rem gap between post-content blocks; the sections must touch so the background flows */
.wp-block-post-content > *, .entry-content > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
/* keep the stat card overlapping the hero (this one block is meant to have a negative top margin) */
.wp-block-post-content > .avl-stats-wrap, .entry-content > .avl-stats-wrap { margin-block-start: clamp(-84px, -7vw, -52px) !important; }

/* ---------- Homepage ---------- */
section#hm-about { background: linear-gradient(180deg, #f4fafc 0%, #ffffff 55%, #fbfdfe 100%); }
section#hm-treat { background: linear-gradient(180deg, #fbfdfe 0%, #f1f8fb 45%, #e6f2f8 100%); }
section#hm-treat::before { background: radial-gradient(46% 56% at 94% 20%, rgba(154,206,229,.28), transparent 72%); }
section#hm-cond { background: linear-gradient(180deg, #e6f2f8 0%, #f4faf9 30%, #ffffff 55%, #f7fbfc 100%); }
section#hm-loc { background: linear-gradient(180deg, #f7fbfc 0%, #edf5fa 45%, #e1eef6 100%); }
section#hm-loc::before { background: radial-gradient(46% 56% at 6% 88%, rgba(50,163,195,.12), transparent 72%); }
section#hm-cta { background: linear-gradient(180deg, #e1eef6 0%, #dbebf5 50%, #d9e9f4 100%); }
.avl-textlink { display: inline-block; margin-top: .4em; font-weight: 700; color: var(--av-cta) !important; text-decoration: none; border-bottom: 2px solid var(--av-primary-light); padding-bottom: 2px; }
.avl-textlink:hover { border-bottom-color: var(--av-cta); }
.avl-textlink::after { content: " \2197"; }
.avl-grid--center { display: flex; flex-wrap: wrap; justify-content: center; }
.avl-grid--center > * { flex: 1 1 100%; }
@media (min-width: 768px) { .avl-grid--center > * { flex: 0 1 calc((100% - 20px) / 2); } }
@media (min-width: 1024px) { .avl-grid--center > * { flex: 0 1 calc((100% - 40px) / 3); } }
