/* Weight Loss page — page-specific styles (builds on styles.css) */
.wl { --cormorant: "Cormorant Garamond", Georgia, serif; --poppins: Poppins, var(--sans); }
.wl .btn { border-radius: 12px; min-height: 57px; }
.wl .btn--wide { min-width: 218px; }
.wl .h2 { font-size: clamp(32px, 4vw, 50px); line-height: 1.2; letter-spacing: -.47px; }
.wl-body { font-size: 18px; line-height: 30px; letter-spacing: -.2px; }
.wl-body + .wl-body { margin-top: 12px; }
.wl-sub { font-size: 21px; line-height: 32px; letter-spacing: -.3px; margin-top: 22px; }
.wl-sub--narrow { max-width: 938px; margin-left: auto; margin-right: auto; }

/* Hero */
.wl-hero { display: grid; grid-template-columns: minmax(0, 1fr) 48.25%; background: var(--cream); min-height: 737px; }
.wl-hero__copy { padding: 64px 48px 40px max(16px, calc((100vw - 1376px) / 2)); max-width: calc(700px + max(16px, calc((100vw - 1376px) / 2))); }
.wl-hero__eyebrow { font-weight: 600; font-size: 15px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink); margin-bottom: 18px; }
.wl-hero__title { font-family: var(--serif); font-weight: 500; font-size: clamp(40px, 3.5vw, 55px); line-height: 1.27; letter-spacing: -.69px; color: #38434c; max-width: 640px; }
.wl-hero__lead { font-size: clamp(18px, 1.5vw, 23px); line-height: 1.49; margin: 26px 0 30px; max-width: 645px; }
.wl-tags { display: grid; grid-template-columns: repeat(3, 170px); gap: 18px 13px; }
.wl-tags li { background: var(--sage); border-radius: 4px; padding: 4px 16px; min-height: 34px; display: flex; align-items: center; justify-content: center; font-weight: 500; font-size: 18px; line-height: 26px; white-space: nowrap; }
.wl-hero__cta { margin-top: 40px; gap: 12px; }
.wl-hero__cta .btn { min-width: 316px; font-size: 17.77px; }
.wl-hero__cta p { font-size: 13.2px; max-width: 266px; color: #1a1a1a; }
.wl-hero__trust { margin-top: 18px; padding-top: 22px; border-top-color: #ebe3d7; max-width: 624px; }
.wl-hero__trust .badge-legit { border-color: #c2d5cf; }
.wl-hero__media { position: relative; min-height: 360px; }
.wl-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Weight loss reviews */
.wl-stories { padding: 44px 0 120px; }
.wl-stories__title { font-size: clamp(30px, 3vw, 46px); line-height: 1.22; }
.wl-reviews { display: grid; grid-template-columns: repeat(4, 282px); gap: 24px; justify-content: center; margin: 66px auto 40px; }
.wl-review { background: var(--cream); border-radius: 18px; padding: 24px 22px; display: flex; flex-direction: column; gap: 14px; }
.wl-review > img { width: 105px; height: auto; }
.wl-review h3 { font-family: var(--geist); font-weight: 500; font-size: 17px; line-height: 24px; color: var(--wine); }
.wl-review p { font-family: var(--geist); font-size: 14.5px; line-height: 23px; }
.wl-review__who { display: flex; align-items: center; gap: 12px; font-family: var(--geist); font-weight: 500; font-size: 16px; margin-top: 15px; }
.wl-initial { width: 36px; height: 36px; border-radius: 50%; background: var(--wine); color: #fff; display: grid; place-items: center; font-family: var(--sans); font-weight: 500; font-size: 16px; flex-shrink: 0; }

/* Not your fault */
.wl-fault { display: grid; grid-template-columns: minmax(0, 1fr) 41.9%; background: var(--cream); }
.wl-fault__copy { padding: 57px 40px 64px max(16px, calc((100vw - 1376px) / 2)); max-width: calc(780px + max(16px, calc((100vw - 1376px) / 2))); }
.wl-fault__copy .eyebrow { margin-bottom: 8px; }
.wl-fault__copy .h2 { max-width: 735px; margin-bottom: 24px; }
.wl-body--gap { margin-bottom: 12px; }
.wl-fault__ask { font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 25px; line-height: 1.3; color: var(--gold-2); margin: 40px 0 34px; letter-spacing: -.47px; }
.wl-fault__quotes { margin: 28px 0 22px 1px; padding-left: 27px; border-left: 1px solid var(--gold-2); font-family: var(--serif); font-style: italic; font-size: 18px; line-height: 40px; }
.wl-fault__quotes strong { font-weight: 700; color: var(--gold-2); }
.wl-fault__media { position: relative; min-height: 360px; }
.wl-fault__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Dismissed */
.wl-dismissed { padding: 50px 0 83px; }
.wl-dismissed__inner { display: grid; grid-template-columns: 667fr 658fr; gap: 51px; align-items: start; }
.wl-dismissed__stat { width: 100%; aspect-ratio: 667 / 541; object-fit: cover; }
.wl-dismissed__copy { padding-top: 13px; }
.wl-dismissed__copy .eyebrow { margin-bottom: 6px; padding-left: 3px; }
.wl-dismissed__copy .h2 { margin-bottom: 22px; }
.wl-dismissed__quote { font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 25px; line-height: 36px; color: var(--gold-2); letter-spacing: -.47px; margin: 22px 0 28px; }

/* Program */
.wl-program { background: var(--cream); padding: 69px 0 80px; }
.wl-lockup { display: flex; align-items: center; justify-content: center; gap: 13px; margin-bottom: 40px; }
.wl-lockup img { width: 61px; height: auto; }
.wl-lockup > span { display: flex; flex-direction: column; gap: 7px; }
.wl-lockup__name { font-family: var(--serif); font-weight: 600; font-size: 32px; line-height: 1; }
.wl-lockup__tag { font-weight: 600; font-size: 14.4px; line-height: 1; letter-spacing: 2.3px; text-transform: uppercase; color: var(--gold); }
.wl-program__title { max-width: 1074px; margin: 0 auto; }
.wl-program .wl-sub { margin-top: 0; line-height: 60px; }
.wl-goodbye { display: flex; align-items: center; gap: 20px; margin: 22px 0 46px; }
.wl-goodbye__label { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 20px; color: var(--gold-2); white-space: nowrap; letter-spacing: -.47px; min-width: 125px; }
.wl-goodbye__chips { display: flex; flex: 1; gap: 18px; flex-wrap: wrap; }
.wl-goodbye__chips li { flex: 1 0 auto; background: var(--sage); border-radius: 4px; padding: 4px 16px; font-weight: 500; font-size: 18px; line-height: 26px; text-align: center; }
.wl-goodbye__chips .is-brand { font-family: var(--brand); }
.wl-card { max-width: 673px; margin: 0 auto; background: #fff; border-radius: 31px; box-shadow: 0 2.2px 8.9px rgba(28, 42, 53, .06); padding: 45px 45px 44px; }
.wl-card__pill { display: inline-block; background: #eff4f2; color: var(--green); border-radius: 999px; padding: 5px 13px; font-weight: 600; font-size: 13.3px; line-height: 18px; }
.wl-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 10px; flex-wrap: wrap; }
.wl-card__head h3 { font-family: var(--cormorant); font-weight: 600; font-size: 33.3px; line-height: 35px; letter-spacing: -.33px; }
.wl-card__head p { font-weight: 500; font-size: 16.66px; color: var(--green-2); }
.wl-card__desc { font-size: 17.77px; line-height: 28.4px; color: var(--ink-2); margin-top: 4px; max-width: 545px; }
.wl-card__list { display: grid; gap: 22px; margin: 26px 0 44px; }
.wl-card__list li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: start; color: var(--ink-2); }
.wl-card__list img { width: 28px; height: 28px; object-fit: contain; margin-top: 3px; margin-left: -7px; }
.wl-card__list h4 { font-weight: 600; font-size: 20px; line-height: 1.2; }
.wl-card__list p { font-style: italic; font-size: 16.66px; line-height: 1.3; margin-top: 8px; }

/* Banner + collage */
.wl-banner img { width: 100%; aspect-ratio: 1576 / 522; object-fit: cover; }
.wl-collage img { width: 100%; aspect-ratio: 1576 / 429; object-fit: cover; object-position: center 57%; }

/* GLP-1 info */
.wl-glp { padding: 60px 0 42px; }
.wl-glp .eyebrow { margin-bottom: 26px; }
.wl-info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 34px; margin: 82px 0 38px; }
.wl-info li { border: 1px solid rgba(0, 0, 0, .24); border-radius: 10px; padding: 31px 36px 30px; display: flex; flex-direction: column; align-items: center; text-align: center; min-height: 276px; }
.wl-info__tag { background: var(--sage); border-radius: 4px; width: 237px; max-width: 100%; min-height: 34px; display: grid; place-items: center; font-weight: 500; font-size: 18px; }
.wl-info strong { display: block; font-weight: 700; font-size: 32px; line-height: 40px; color: var(--green); margin: 36px 0 14px; }
.wl-info p { font-size: 16.66px; line-height: 26px; color: var(--ink-2); }

/* CTA strips */
.wl-cta { background: #eaeaea; padding: 44px 0; }
.wl-cta--white { background: #fff; }
.wl-cta .cta-strip__inner { grid-template-columns: 383px 1fr auto; gap: 47px; }
.wl-cta p { font-weight: 500; font-size: 19.2px; line-height: 28.8px; color: #2d2829; }

/* Four steps */
.wl-steps { background: var(--cream); padding: 45px 0 68px; }
.wl-steps .eyebrow { margin-bottom: 22px; }
.wl-steps__grid { list-style: none; margin: 69px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 31px; }
.wl-step { background: #fff; border-radius: 31px; filter: drop-shadow(0 2.2px 4.4px rgba(28, 42, 53, .06)); padding: 32px 30px 40px; text-align: center; display: flex; flex-direction: column; align-items: center; min-height: 641px; }
.wl-step__num { font-size: 19.85px; color: var(--green); }
.wl-step__media { height: 334px; width: 100%; margin: 27px 0 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.wl-step__media > img { height: 100%; width: auto; max-width: 100%; object-fit: contain; }
.wl-step__media--labs { justify-content: flex-start; padding-top: 15px; }
.wl-step__media--labs .wl-step__tube { height: 197px; width: auto; }
.wl-step__logos { display: flex; align-items: center; gap: 15px; margin-top: 42px; }
.wl-step__logos img:first-child { width: 92px; height: auto; }
.wl-step__logos img:last-child { width: 79px; height: auto; }
.wl-step__media > .wl-step__box { width: 244px; height: auto; margin-top: 36px; }
.wl-step h3 { font-weight: 400; font-size: 20px; line-height: 26px; letter-spacing: -.24px; }
.wl-step p { font-size: 16.66px; line-height: 26.65px; color: var(--ink-2); margin-top: 8px; }
.wl-step .btn { margin-top: 30px; width: 100%; max-width: 218px; min-width: 0; }

/* Timeline */
.wl-timeline { padding: 75px 0 46px; }
.wl-timeline .eyebrow { margin-bottom: 14px; }
.wl-timeline .wl-sub { margin-top: 18px; }
.wl-timeline__inner { display: grid; grid-template-columns: 407px minmax(0, 1fr); gap: 72px; max-width: 1016px; margin: 50px auto 52px; }
.wl-timeline__img { width: 100%; aspect-ratio: 407 / 611; object-fit: cover; border-radius: 20px; }
.wl-timeline__body h3 { font-weight: 500; font-size: 21px; line-height: 42px; text-transform: uppercase; margin-bottom: 38px; }
.wl-weeks { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 40px; }
.wl-weeks::before { content: ""; position: absolute; left: 167px; top: -26px; bottom: -26px; width: 2px; background: #e6eaeb; }
.wl-weeks li { position: relative; display: grid; grid-template-columns: 183px 1fr; gap: 22px; align-items: center; }
.wl-weeks__pill { position: relative; background: var(--sage); border-radius: 20px; height: 37px; display: flex; align-items: center; padding-left: 16px; font-weight: 600; font-size: 16px; }
.wl-weeks__pill::after { content: ""; position: absolute; right: 3px; top: 3px; width: 31px; height: 31px; border-radius: 50%; background: #fff; }
.wl-weeks p { font-weight: 500; font-size: 18px; line-height: 25px; }
.wl-timeline__note { font-family: var(--poppins); font-size: 10px; line-height: 15px; color: #071f2f; margin-top: 74px; }

/* Comparison */
.wl-compare { padding: 30px 0 70px; }
.wl-table { max-width: 1077px; margin: 54px auto 0; border: 1px solid #e9d8bb; border-radius: 20px; overflow: hidden; }
.wl-table table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 16px; line-height: 19.5px; }
.wl-table col, .wl-table th, .wl-table td { text-align: left; vertical-align: top; }
.wl-table thead th { height: 50px; vertical-align: middle; font-weight: 600; font-size: 13px; text-transform: uppercase; color: #071f2f; padding: 0 20px; }
.wl-table thead th:first-child { width: 227px; }
.wl-table thead th:nth-child(2) { width: 408px; }
.wl-table th, .wl-table td { border-top: 1px solid #e9d8bb; }
.wl-table tbody th { font-weight: 600; color: #071f2f; padding: 27px 14px 27px 21px; border-right: 1px solid #e9d8bb; height: 112px; }
.wl-table tbody tr:nth-child(n+3) th { height: 133px; }
.wl-table td { padding: 27px 20px 27px 0; }
.wl-table td.is-no { padding-left: 40px; position: relative; color: #000; }
.wl-table td.is-yes, .wl-table thead th:last-child { background: var(--green-2); color: #fff; }
.wl-table thead th:last-child, .wl-table td.is-yes { border-top-color: rgba(233, 216, 187, .55); }
.wl-table td.is-yes { padding-left: 45px; position: relative; }
.wl-table td.is-no::before, .wl-table td.is-yes::before { position: absolute; top: 27px; font-weight: 700; font-size: 15px; line-height: 19px; }
.wl-table td.is-no::before { content: "✕"; left: 18px; color: #ff1414; }
.wl-table td.is-yes::before { content: "✓"; left: 20px; color: #fff; }
.wl-mlabel { display: none; }

/* Medical team */
.wl-team { padding: 65px 0 86px; }
.wl-team__inner { display: grid; grid-template-columns: 500px minmax(0, 842px); justify-content: space-between; gap: 34px; }
.wl-team__copy .h2 { line-height: 60px; }
.wl-team__lead { font-size: 18px; line-height: 26.1px; color: #6c6c6c; margin: 16px 0 14px; }
.wl-checks { display: grid; gap: 9px; margin-bottom: 33px; }
.wl-checks li { position: relative; padding-left: 25px; font-size: 18px; line-height: 27px; color: #6c6c6c; }
.wl-checks li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #1a1a1a; font-weight: 700; font-size: 13px; }
.wl-checks strong { display: block; color: #000; font-weight: 700; }
.wl-team__copy .btn { margin-left: 2px; }
.wl-team__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.wl-member { background: #f6f6f6; border-radius: 12px; overflow: hidden; }
.wl-member > img { width: 100%; height: 300px; object-fit: cover; }
.wl-member > div { padding: 22px 20px; display: flex; flex-direction: column; gap: 8px; font-family: var(--poppins); }
.wl-member h3 { font-weight: 500; font-size: 22px; line-height: 26px; color: #071f2f; }
.wl-member__role { font-weight: 500; font-size: 12px; line-height: 18px; color: #7e7e7e; text-transform: uppercase; }
.wl-member__school { width: 130px; height: 35px; object-fit: contain; object-position: left center; }
.wl-member p:last-child { font-size: 16px; line-height: 24px; color: #6c6c6c; }

/* Note from Dr. Lenhardt (extends .team) */
.wl-note .team__copy { padding: 40px 48px 40px 45px; justify-content: flex-start; }
.wl-note .team__copy .h2 { font-size: clamp(34px, 3.2vw, 50px); line-height: 1.16; margin-bottom: 24px; }
.wl-note .team__copy > p { letter-spacing: -.3px; }
.wl-note__sign img { width: 248px; height: 51px; object-fit: cover; object-position: center 52%; }
.wl-note__sign .team__role { margin-top: 2px; }

/* States tweaks */
.wl .states { padding-top: 60px; }
.wl .states__copy .eyebrow { margin-bottom: 12px; }
.wl .states__copy .h2 { font-size: clamp(32px, 3vw, 45px); line-height: 1.22; color: #000; margin-bottom: 30px; }
.wl .states__copy p:not(.eyebrow) { color: #000; }

/* FAQ */
.wl-faq { padding: 48px 0 44px; }
.wl-faq .eyebrow { margin-bottom: 12px; }
.wl-faq__title { font-family: var(--serif); font-weight: 500; font-size: clamp(32px, 3.3vw, 51px); line-height: 1.06; letter-spacing: -.5px; }
.wl-faq__list { max-width: 999px; margin: 42px auto 0; display: grid; gap: 16px; }
.wl-faq details { background: #fff; border: 1.1px solid #ebe3d7; border-radius: 20px; }
.wl-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 91px; padding: 14px 32px 14px 31px; font-family: var(--cormorant); font-weight: 500; font-size: 25.5px; line-height: 1.2; color: var(--ink); }
.wl-faq summary::-webkit-details-marker { display: none; }
.wl-faq summary::after { content: "+"; font-family: var(--sans); font-weight: 500; font-size: 29px; color: #2a6157; line-height: 1; flex-shrink: 0; transition: transform .2s; }
.wl-faq details[open] summary::after { transform: rotate(45deg); }
.wl-faq summary:focus-visible { outline: 2px solid var(--wine); outline-offset: 2px; border-radius: 20px; }
.wl-faq details p { padding: 0 73px 30px 31px; font-size: 17.77px; line-height: 30.2px; color: var(--ink-2); }
.wl-faq details strong { font-weight: 700; }

/* Mobile-only extras (hidden on desktop) */
.wl-dismissed picture, .wl-cta picture { display: block; }
.wl-pager__controls, .wl-step__mbtn { display: none; }

/* Google reviews */
.wl-greviews { padding: 28px 0 80px; }
.wl-greviews .greviews { margin: 0 auto 46px; }

/* Responsive */
@media (max-width: 1280px) {
  .wl-reviews { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wl-steps__grid { gap: 20px; }
  .wl-step { padding-left: 20px; padding-right: 20px; }
  .wl-team__inner { grid-template-columns: minmax(0, 1fr); }
  .wl-timeline__inner { gap: 48px; }
}
@media (max-width: 1080px) {
  .wl-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .wl-hero__media { order: -1; min-height: 0; aspect-ratio: 4 / 3; }
  .wl-hero__copy { padding: 36px 16px 40px; max-width: none; }
  .wl-reviews { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - 24px) / 2); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; justify-content: start; }
  .wl-reviews::-webkit-scrollbar { display: none; }
  .wl-review { scroll-snap-align: start; }
  .wl-fault { grid-template-columns: minmax(0, 1fr); }
  .wl-fault__copy { padding: 48px 16px; max-width: none; }
  .wl-fault__media { aspect-ratio: 4 / 3; min-height: 0; }
  .wl-dismissed__inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .wl-dismissed__stat { max-width: 667px; }
  .wl-goodbye { flex-direction: column; align-items: flex-start; }
  .wl-info { grid-template-columns: 1fr 1fr; margin-top: 48px; }
  .wl-cta .cta-strip__inner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .wl-cta img { max-width: 383px; }
  .wl-cta p { text-align: center; }
  .wl-steps__grid { grid-template-columns: 1fr 1fr; }
  .wl-timeline__inner { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
  .wl-timeline__img { max-width: 407px; margin: 0 auto; }
  .wl-team__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wl-note .team__copy { padding: 40px 16px; }
}
@media (max-width: 640px) {
  .wl .h2 { font-size: 32px; line-height: 1.2; }
  .wl-sub { font-size: 17px; line-height: 26px; }
  .wl-program .wl-sub { line-height: 26px; margin-top: 16px; }
  .wl-hero__title { font-size: 38px; line-height: 1.2; }
  .wl-tags { grid-template-columns: 1fr 1fr; gap: 10px; }
  .wl-tags li { font-size: 15px; }
  .wl-hero__cta { display: flex; }
  .wl-hero__cta .btn { min-width: 0; width: 100%; }
  .wl-hero__trust { flex-wrap: wrap; }
  .wl-stories { padding-bottom: 64px; }
  .wl-stories__title { font-size: 30px; }
  .wl-reviews { grid-auto-columns: 86%; margin-top: 36px; }
  .wl-fault__ask, .wl-dismissed__quote { font-size: 21px; line-height: 30px; }
  .wl-goodbye__chips { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; }
  .wl-goodbye__chips li { font-size: 15px; padding: 4px 8px; }
  .wl-lockup__name { font-size: 24px; }
  .wl-lockup__tag { font-size: 11px; letter-spacing: 1.6px; }
  .wl-card { padding: 28px 20px; border-radius: 22px; }
  .wl-card__head h3 { font-size: 28px; }
  .wl-card__list li { grid-template-columns: 24px 1fr; }
  .wl-card__list img { width: 24px; height: 24px; margin-left: 0; }
  .wl-card__list h4 { font-size: 17px; }
  .wl-card__list p { font-size: 15px; }
  .wl-info { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .wl-info li { min-height: 0; padding: 24px 20px; }
  .wl-info strong { font-size: 26px; margin: 22px 0 10px; }
  .wl-cta img { max-width: 100%; }
  .wl-steps__grid { grid-template-columns: minmax(0, 1fr); margin-top: 40px; }
  .wl-step { min-height: 0; }
  .wl-weeks li { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .wl-weeks::before { display: none; }
  .wl-weeks__pill { width: 183px; }
  .wl-weeks p { font-size: 16px; }
  .wl-timeline__note { margin-top: 36px; }
  /* Comparison table → stacked cards */
  .wl-table { border: 0; border-radius: 0; overflow: visible; }
  .wl-table table, .wl-table tbody, .wl-table tr, .wl-table th, .wl-table td { display: block; width: auto !important; height: auto !important; }
  .wl-table thead { display: none; }
  .wl-table tr { border: 1px solid #e9d8bb; border-radius: 16px; overflow: hidden; margin-bottom: 14px; }
  .wl-table tbody th { border: 0; padding: 18px 18px 10px; font-size: 17px; }
  .wl-table td { border-top: 1px solid #e9d8bb; padding: 14px 18px 14px 44px !important; }
  .wl-table td.is-no::before, .wl-table td.is-yes::before { top: 14px; left: 18px; }
  .wl-mlabel { display: block; font-weight: 600; font-size: 12px; letter-spacing: .5px; text-transform: uppercase; opacity: .75; margin-bottom: 4px; }
  .wl-team { padding: 48px 0 56px; }
  .wl-team__copy .h2 { line-height: 1.2; }
  .wl-team__cards { grid-template-columns: minmax(0, 1fr); }
  .wl-member > img { height: 320px; }
  .wl-checks li { font-size: 16px; }
  .wl-faq summary { font-size: 21px; padding: 16px 18px; min-height: 0; }
  .wl-faq details p { padding: 0 18px 20px; font-size: 16px; line-height: 27px; }
  .wl-cta p { font-size: 17px; }
}

/* ================================================================
   Phone layout — matches Figma "Weight Loss (Mobile)" 510:82
   ================================================================ */
@media (max-width: 640px) {
  .wl .container { padding: 0 20px; }
  .wl .eyebrow { font-size: 14.6px; line-height: 20px; letter-spacing: 1.5px; text-align: center; margin-bottom: 8px; }
  .wl .h2 { font-size: 33px; line-height: 42px; letter-spacing: 0; }
  .wl-sub { font-size: 16px; line-height: 25px; letter-spacing: 0; margin-top: 24px; }
  .wl .btn--wide, .wl .btn--lg { width: 100%; min-width: 0; min-height: 59.5px; border-radius: 7.44px; font-weight: 500; font-size: 14.6px; letter-spacing: 1.68px; }

  /* Hero: copy → photo → pills → CTA → trust */
  .wl-hero { display: flex; flex-direction: column; align-items: center; padding: 36px 20px 44px; text-align: center; }
  .wl-hero__copy { display: contents; }
  .wl-hero__eyebrow { order: 1; font-size: 14px; letter-spacing: 1px; margin: 0 0 8px; }
  .wl-hero__title { order: 2; font-size: 32px; line-height: 38px; letter-spacing: 0; }
  .wl-hero__lead { order: 3; font-size: 16px; line-height: 25px; margin: 24px 0 0; }
  .wl-hero__media { order: 4; width: 100%; height: 340px; aspect-ratio: auto; margin-top: 24px; border-radius: 16px; overflow: hidden; }
  .wl-tags { order: 5; width: 100%; grid-template-columns: 1fr 1fr; gap: 10px 12px; margin-top: 24px; }
  .wl-tags li { min-height: 0; padding: 7px 8px; font-size: 15px; line-height: 20px; }
  .wl-hero__cta { order: 6; width: 100%; margin-top: 24px; gap: 12px; }
  .wl-hero__cta .btn { font-size: 14.6px; }
  .wl-hero__cta p { font-size: 14px; max-width: none; }
  .wl-hero__trust { order: 7; flex-direction: column; gap: 24px; margin-top: 24px; padding-top: 0; border-top: 0; }
  .wl-hero__trust .badge-legit { min-height: 35px; padding: 0 13px; font-size: 16.1px; color: var(--green); }
  .wl-hero__trust .hero__rating { gap: 12px; font-size: 15px; color: #1a1a1a; }
  .wl-hero__trust .hero__rating img { width: 22px; height: 22px; }
  .wl-hero__trust .stars { font-size: 22px; letter-spacing: 4px; }

  /* Value props: single column */
  .wl .features { padding: 30px 0 50px; border-top: 1px solid rgba(0, 0, 0, .05); border-bottom: 0; }
  .wl .features__grid { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
  .wl .features__grid img { margin-bottom: 10px; }
  .wl .features__grid h3 { min-height: 0; max-width: 215px; font-size: 20.7px; line-height: 23px; color: var(--ink); }
  .wl .features__grid p { font-size: 15.2px; line-height: 23px; margin: 8px auto 0; max-width: 200px; }

  /* Weight-loss reviews: paged carousel */
  .wl-stories { padding: 40px 0 56px; }
  .wl-stories__title { font-size: 33px; line-height: 44px; letter-spacing: -.34px; }
  .wl-reviews { grid-auto-columns: 301px; gap: 16px; margin: 39px -20px 0 0; padding-bottom: 6px; scroll-snap-type: x mandatory; }
  .wl-review { background: #fff; border: 1px solid #ececec; border-radius: 14px; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); padding: 25px 22px 23px; gap: 14px; min-height: 398px; }
  .wl-review > img { width: 110px; }
  .wl-review h3 { font-family: var(--sans); font-weight: 700; font-size: 17px; line-height: 23px; color: var(--ink); }
  .wl-review p { font-family: var(--sans); font-style: italic; font-weight: 500; font-size: 14px; line-height: 22px; color: var(--ink); }
  .wl-review__who { margin-top: auto; padding-top: 16px; gap: 10px; font-family: var(--sans); font-weight: 600; font-size: 14px; color: #1e1e1e; }
  .wl-initial { font-weight: 600; font-size: 14px; }
  .wl-pager__controls { display: flex; align-items: center; gap: 8px; margin-top: 31px; padding: 0 12px; }
  .wl-pager .dots { flex: 1; gap: 8px; }
  .wl-pager .dots button { width: 22px; height: 8px; border-radius: 4px; background: #f4e4e9; }
  .wl-pager .dots button[aria-current="true"] { width: 30px; background: var(--wine); }
  .wl-pager__count { font-size: 14px; line-height: 21px; font-weight: 300; color: #6b6b6b; white-space: nowrap; }
  .wl-pager__btn { width: 42px; height: 42px; border-radius: 50%; border: 0; padding: 0; display: grid; place-items: center; background: var(--wine); color: #fff; flex-shrink: 0; cursor: pointer; }
  .wl-pager__btn:disabled { background: #f4e4e9; color: var(--wine); cursor: default; }
  .wl-pager__count + .wl-pager__btn { margin-left: 2px; }
  .wl-stories .center { margin-top: 40px; }

  /* Not your fault: photo first, centred copy */
  .wl-fault__media { order: -1; aspect-ratio: auto; height: 420px; }
  .wl-fault__media img { object-position: center 30%; }
  .wl-fault__copy { padding: 32px 20px 56px; text-align: center; }
  .wl-fault__copy .h2 { margin-bottom: 24px; }
  .wl-fault .wl-body { font-size: 16px; line-height: 25px; letter-spacing: 0; }
  .wl-fault .wl-body--gap { font-weight: 500; margin-bottom: 14px; }
  .wl-fault__ask { font-size: 22px; line-height: 30px; letter-spacing: 0; margin: 24px 0; }
  .wl-fault__quotes { display: table; margin: 24px auto; padding: 4px 0 4px 16px; text-align: left; font-size: 18px; line-height: 24px; }
  .wl-fault__quotes p + p { margin-top: 10px; }

  /* Dismissed */
  .wl-dismissed { padding: 56px 0; }
  .wl-dismissed__inner { gap: 24px; }
  .wl-dismissed__stat { max-width: none; aspect-ratio: 350 / 321; }
  .wl-dismissed__copy { padding-top: 0; text-align: center; }
  .wl-dismissed__copy .eyebrow { padding-left: 0; margin-bottom: 8px; }
  .wl-dismissed__copy .h2 { margin-bottom: 24px; }
  .wl-dismissed__copy .h2 br, .wl-dismissed__copy .wl-body br { display: none; }
  .wl-dismissed .wl-body { font-size: 16px; line-height: 25px; letter-spacing: 0; }
  .wl-dismissed__real { display: block; margin-top: 24px; font-weight: 600; }
  .wl-dismissed__quote { font-size: 21px; line-height: 30px; letter-spacing: 0; margin: 24px 0; }

  /* Program */
  .wl-program { padding: 56px 0; }
  .wl-lockup { display: none; }
  .wl-program .wl-sub { margin-top: 24px; line-height: 25px; }
  .wl-goodbye { align-items: center; gap: 24px; margin: 24px 0; }
  .wl-goodbye__label { min-width: 0; font-size: 18px; letter-spacing: 0; }
  .wl-goodbye__chips { gap: 10px 12px; }
  .wl-goodbye__chips li { padding: 7px 8px; font-size: 14px; line-height: 18px; }
  .wl-goodbye__chips li:nth-child(1) { order: 4; }
  .wl-goodbye__chips li:nth-child(2) { order: 2; }
  .wl-goodbye__chips li:nth-child(3) { order: 6; }
  .wl-goodbye__chips li:nth-child(4) { order: 3; }
  .wl-goodbye__chips li:nth-child(5) { order: 1; }
  .wl-goodbye__chips li:nth-child(6) { order: 5; }
  .wl-goodbye__chips .is-brand { display: none; }
  .wl-card { padding: 32px 22px 28px; border-radius: 24px; text-align: center; }
  .wl-card__pill { background: #eff4f2; color: var(--ink); border-radius: 6px; padding: 6px 12px; font-weight: 500; font-size: 13px; line-height: 17px; }
  .wl-card__head { flex-direction: column; align-items: center; gap: 18px; margin-top: 18px; }
  .wl-card__head h3 { font-family: var(--serif); font-weight: 600; font-size: 28px; line-height: 34px; letter-spacing: 0; }
  .wl-card__head p { font-size: 15px; color: var(--green); }
  .wl-card__desc { font-size: 16px; line-height: 25px; margin-top: 18px; }
  .wl-card__list { gap: 18px; margin: 18px 0 24px; text-align: left; }
  .wl-card__list li { grid-template-columns: 24px 1fr; gap: 12px; }
  .wl-card__list img { margin-top: 0; }
  .wl-card__list h4 { font-size: 17px; line-height: 22px; }
  .wl-card__list p { font-size: 15px; line-height: 22px; margin-top: 4px; }

  /* Banner */
  .wl-banner { position: relative; height: 247px; overflow: hidden; }
  .wl-banner img { position: absolute; right: -3px; top: -27px; width: 1083px; max-width: none; height: 358px; aspect-ratio: auto; }

  /* GLP-1 info */
  .wl-glp { padding: 56px 0; }
  .wl-glp .eyebrow { margin-bottom: 8px; }
  .wl-glp .h2 br { display: none; }
  .wl-info { gap: 24px; margin: 24px 0; }
  .wl-info li { padding: 24px 24px 26px; border-color: #000; }
  .wl-info__tag { width: 200px; min-height: 32px; border-radius: 5px; font-size: 15px; }
  .wl-info strong { font-size: 28px; line-height: 35px; margin: 12px 0; }
  .wl-info p { font-size: 15px; line-height: 24px; }

  /* CTA bands */
  .wl-cta { padding: 40px 0 41px; }
  .wl-cta .cta-strip__inner { gap: 0; padding: 0 20px; }
  .wl-cta img { width: 100%; max-width: none; }
  .wl-cta--white { background: #eaeaea; }
  .wl-cta p { font-weight: 400; font-size: 16px; line-height: 21px; color: var(--ink-2); margin-top: 20px; padding: 0 7px; }
  .wl-cta .btn { margin-top: 50px; font-size: 17.5px; letter-spacing: 0; }

  /* Four steps */
  .wl-steps { padding: 50px 0; }
  .wl-steps .eyebrow { letter-spacing: 1.68px; margin-bottom: 20px; }
  .wl-steps .h2 { line-height: 44px; letter-spacing: -.34px; max-width: 260px; margin: 0 auto; }
  .wl-steps__grid { gap: 20px; margin-top: 50px; }
  .wl-step { padding: 30px 10px; border-radius: 31px; }
  .wl-step__num { font-size: 23.9px; line-height: 33px; color: #575859; }
  .wl-step__media { margin: 40px 0 29px; }
  .wl-step:last-child .wl-step__media { height: 185px; }
  .wl-step__media > .wl-step__box { margin-top: 0; }
  .wl-step h3 { font-size: 24.1px; line-height: 31px; letter-spacing: -.29px; }
  .wl-step p { font-size: 20px; line-height: 32px; color: #575859; margin-top: 10px; max-width: 290px; }
  .wl-step .btn { width: 221px; max-width: none; min-height: 64px; border-radius: 14.44px; font-weight: 500; font-size: 18.5px; margin-top: 30px; }
  .wl-step__mbtn { display: inline-flex; }

  /* Timeline */
  .wl-timeline { padding: 20px 0; }
  .wl-timeline .eyebrow { letter-spacing: 1.68px; margin-bottom: 20px; }
  .wl-timeline .h2 { line-height: 44px; letter-spacing: -.34px; }
  .wl-timeline .wl-sub { margin-top: 40px; letter-spacing: -.47px; }
  .wl-timeline__inner { gap: 0; margin: 34px 0 50px; }
  .wl-timeline__img { max-width: none; aspect-ratio: 350 / 490; }
  .wl-timeline__body h3 { font-size: 15.3px; line-height: 60px; letter-spacing: -.47px; text-align: center; margin: 10px 0 2px; }
  .wl-weeks { gap: 34px; }
  .wl-weeks::before { display: block; left: 135px; top: -12px; bottom: -18px; width: 1px; background: #e2e2e2; }
  .wl-weeks li { grid-template-columns: 150px minmax(0, 1fr); gap: 16px; align-items: start; }
  .wl-weeks__pill { width: auto; height: 32px; padding-left: 14px; margin-top: 6px; font-size: 13px; z-index: 1; }
  .wl-weeks__pill::after { width: 22px; height: 22px; right: 4px; top: 5px; }
  .wl-weeks p { font-size: 14px; line-height: 19px; }
  .wl-timeline__note { font-family: var(--sans); font-weight: 300; font-size: 11.7px; line-height: 16px; text-align: center; margin-top: 68px; padding: 0 18px; }

  /* Comparison: one card per row */
  .wl-compare { padding: 0 0 30px; }
  .wl-compare .h2 { line-height: 44px; letter-spacing: -.34px; max-width: 320px; margin: 0 auto; }
  .wl-table { margin-top: 39px; }
  .wl-table tr { border-radius: 20px; margin-bottom: 30px; }
  .wl-table tr:last-child { margin-bottom: 0; }
  .wl-table tbody th { padding: 15px 8px 16px; border-bottom: 1px solid #e9d8bb; text-align: center; font-weight: 700; font-size: 21.9px; line-height: 22px; text-transform: capitalize; color: #071f2f; }
  .wl-table td { border-top: 0; font-size: 19px; }
  .wl-table td.is-no { padding: 20px 20px 19px 45px !important; line-height: 29px; }
  .wl-table td.is-yes { padding: 20px 20px 20px 45px !important; line-height: 22px; }
  .wl-mlabel { margin: 0 0 21px -25px; opacity: 1; font-weight: 700; font-size: 19px; line-height: 14px; letter-spacing: 0; text-transform: none; color: #fe4d4e; }
  .wl-table td.is-yes .wl-mlabel { margin-bottom: 20px; color: #fff; text-transform: uppercase; }
  .wl-table td.is-no::before, .wl-table td.is-yes::before { left: 20px; font-size: 16px; line-height: 17px; }
  .wl-table td.is-no::before { top: 59px; }
  .wl-table td.is-yes::before { top: 59px; }

  /* Hidden on phones (not in the mobile design) */
  .wl-collage, .wl-greviews { display: none; }

  /* Medical team */
  .wl-team { padding: 56px 0; }
  .wl-team__inner { display: flex; flex-direction: column; gap: 0; }
  .wl-team__copy { display: contents; }
  .wl-team__copy .h2 { line-height: 44px; letter-spacing: -.47px; text-align: center; }
  .wl-team__lead { font-size: 16px; line-height: 26px; text-align: center; margin: 37px auto 0; max-width: 300px; }
  .wl-checks { gap: 18px; margin: 33px 0 0; }
  .wl-checks li { padding-left: 27px; font-size: 17.6px; line-height: 26px; }
  .wl-checks li::before { top: 2px; }
  .wl-checks strong { line-height: 23px; margin-bottom: 7px; }
  .wl-team__cards { order: 1; gap: 20px; margin-top: 56px; }
  .wl-member > img { height: 340px; }
  .wl-team__copy .btn { order: 2; margin: 30px 0 0; }

  /* Note from Dr. Lenhardt */
  .wl-note .team__copy { padding: 40px 20px 43px; text-align: center; }
  .wl-note .team__copy .eyebrow { letter-spacing: 1.68px; margin-bottom: 35px; }
  .wl-note .team__copy .h2 { font-size: 33px; line-height: 44px; letter-spacing: -.34px; margin-bottom: 37px; }
  .wl-note .team__copy > p { font-size: 16px; line-height: 26px; letter-spacing: -.34px; margin-bottom: 15px; }
  .wl-note__sign { display: flex; flex-direction: column; align-items: center; margin-top: 30px; }
  .wl-note__sign img { width: 300px; height: 62px; }
  .wl-note__sign .team__role { font-size: 16px; line-height: 26px; margin-top: 10px; }

  /* States: copy, single-column cards, CTA */
  .wl .states { padding: 12px 0 10px; }
  .wl .states__inner { display: flex; flex-direction: column; padding: 0 10px; gap: 0; }
  .wl .states__copy { display: contents; }
  .wl .states__copy .eyebrow { order: 0; letter-spacing: 1.68px; margin-bottom: 10px; }
  .wl .states__copy .h2 { order: 1; font-size: 33px; line-height: 43.7px; text-align: center; margin: 0 auto; max-width: 360px; letter-spacing: -.3px; color: var(--ink); }
  .wl .states__copy p:not(.eyebrow) { order: 2; font-size: 16px; line-height: 25px; text-align: center; margin: 23px auto 0; max-width: 341px; color: var(--ink); }
  .wl .states__grid { order: 3; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 22px; }
  .wl .state { border: 1px solid #e1e1e1; border-radius: 8.38px; }
  .wl .state img { aspect-ratio: 367 / 211; }
  .wl .state figcaption { text-align: center; font-size: 18.2px; line-height: 26px; letter-spacing: .5px; padding: 10px; }
  .wl .states__copy .btn { order: 4; margin-top: 40px; font-size: 17px; letter-spacing: 0; }

  /* FAQ */
  .wl-faq { padding: 56px 0; }
  .wl-faq__title { font-family: var(--serif); font-weight: 600; font-size: 33px; line-height: 42px; letter-spacing: 0; }
  .wl-faq__list { gap: 16px; margin-top: 16px; }
  .wl-faq details { border: 1px solid #e6e1d8; border-radius: 12px; }
  .wl-faq summary { padding: 20px 18px; gap: 12px; font-size: 21px; line-height: 27px; }
  .wl-faq details[open] summary { padding-bottom: 12px; }
  .wl-faq summary::after { font-weight: 400; font-size: 22px; color: var(--green); }
  .wl-faq details p { padding: 0 18px 22px; font-size: 15px; line-height: 24px; }
}
