/* GLP-1 sales page, visual-first layer (v5, 2026-10-20). Loads after glp1-sales.css. */

/* ---------- Hero: JT portrait with chips and a food inset ---------- */
.v5-hero{align-items:center}
.v5-hero .bk-hero__lede{max-width:500px}
.v5-hero__media{position:relative;justify-self:center;width:100%;max-width:460px;padding:0 0 40px 0}
.v5-portrait{position:relative;margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/5;background:var(--sage-bg);box-shadow:0 24px 48px -24px rgba(0,0,0,.35)}
.v5-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.v5-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:8px 14px;border-radius:var(--radius-full);background:rgba(255,255,255,.95);color:#1D1D1F;font:500 13px/1.3 var(--font-sans);box-shadow:0 8px 22px -10px rgba(0,0,0,.35);margin:0}
.v5-chip strong{font-weight:600}
.v5-chip .ico{flex:none;width:16px;height:16px;color:#3F7D52}
.v5-chip--top{left:12px;top:12px}
.v5-chip--bottom{left:12px;bottom:12px;max-width:52%}
.v5-inset{position:absolute;right:-18px;bottom:0;width:42%;margin:0;border-radius:20px;overflow:hidden;background:var(--bg-page);box-shadow:0 18px 36px -16px rgba(0,0,0,.4);border:4px solid var(--bg-page)}
.v5-inset img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.v5-inset figcaption{padding:8px 10px;font:500 12px/1.3 var(--font-sans);color:var(--fg-1);background:var(--bg-page)}

/* ---------- Pain points: icon cards ---------- */
.v5-pains{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v5-pain{display:grid;gap:12px;align-content:start;padding:18px;border-radius:var(--radius-xl);background:var(--bg-page);box-shadow:var(--ring-1)}
.v5-pain p{margin:0;font:500 16px/1.4 var(--font-sans);color:var(--fg-1)}
.v5-stat{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 24px;align-items:center;padding:24px 28px;border-radius:var(--radius-xl);background-color:var(--mesh-base);background-image:var(--gradient-mesh)}
.v5-stat__num{margin:0;font:600 clamp(52px,7vw,80px)/1 var(--font-sans);letter-spacing:-0.05em;color:var(--sage)}
.v5-stat__txt{margin:0;font-size:17px;line-height:1.5;color:var(--fg-1);max-width:640px}
[data-theme="dark"] .v5-stat{background-color:#22322A;background-image:none}

/* ---------- A protein-first day: photo grid ---------- */
.v5-day__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v5-tile{position:relative;margin:0;border-radius:20px;overflow:hidden;aspect-ratio:1/1;background:var(--sage-bg)}
.v5-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow,.4s) var(--ease-out,ease)}
.v5-tile:hover img{transform:scale(1.04)}
.v5-tile__cap{position:absolute;left:10px;right:10px;bottom:10px;margin:0;padding:8px 12px;border-radius:14px;background:rgba(255,255,255,.94);color:#1D1D1F;font:600 14px/1.25 var(--font-sans)}
.v5-tile__cap span{display:block;font:500 11px/1.3 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:#3F7D52;margin-bottom:2px}
.v5-tile--cta{display:grid;align-content:center;justify-items:start;gap:14px;padding:22px;background-color:var(--mesh-base);background-image:var(--gradient-mesh)}
.v5-tile__big{margin:0;font:600 clamp(20px,2vw,24px)/1.15 var(--font-sans);letter-spacing:-0.03em;color:var(--fg-1)}
[data-theme="dark"] .v5-tile--cta{background-color:#22322A;background-image:none}
.v5-fine{margin:0;font-size:13px;line-height:1.45;color:var(--fg-2)}

/* ---------- Research cards: bigger numbers, shorter copy ---------- */
.v5-facts .gl-fact__num{font-size:clamp(40px,5vw,60px)}
.v5-facts .gl-fact p{font-size:16px;line-height:1.45}

/* ---------- Prescriber + coaching split ---------- */
.v5-split{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:stretch}
.v5-split__col{display:grid;gap:14px;align-content:start;padding:22px;border-radius:var(--radius-xl)}
.v5-split__col--rx{background:var(--lav-bg)}
.v5-split__col--jt{background:var(--sage-bg)}
.v5-split__h{display:flex;align-items:center;gap:12px;margin:0;font:600 19px/1.2 var(--font-sans);letter-spacing:-0.02em;color:var(--fg-1)}
.v5-split__col .badge{background:var(--bg-page)}
.v5-split__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.v5-split__list li{padding:10px 14px;border-radius:14px;background:var(--bg-page);font-size:15px;line-height:1.4;color:var(--fg-1)}
.v5-split__plus{align-self:center;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg-inverse);color:var(--fg-inverse);font:600 24px/1 var(--font-sans)}

/* ---------- How JT coaches: alternating photo rows ---------- */
.v5-chips{margin-top:-6px}
.v5-feats{list-style:none;margin:0;padding:0;display:grid;gap:28px}
.v5-feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 48px;align-items:center}
.v5-feat--flip .v5-feat__media{order:2}
.v5-feat__media{position:relative;border-radius:24px;overflow:visible}
.v5-feat__media > img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:24px;background:var(--sage-bg)}
.v5-feat__inset{position:absolute;right:-12px;bottom:-16px;width:38%;margin:0;border-radius:16px;overflow:hidden;border:4px solid var(--bg-page);background:var(--bg-page);box-shadow:0 14px 28px -14px rgba(0,0,0,.4)}
.v5-feat__inset img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.v5-feat__inset figcaption{padding:6px 8px;font:500 12px/1.2 var(--font-sans);color:var(--fg-1)}
.v5-feat__body{display:grid;gap:12px;justify-items:start;max-width:460px}
.v5-feat__h{margin:0;font:600 clamp(22px,2.6vw,28px)/1.15 var(--font-sans);letter-spacing:-0.03em}
.v5-feat__body p{margin:0;font-size:17px;line-height:1.5;color:var(--fg-2)}

/* ---------- 12 weeks: timeline cards ---------- */
.v5-weeks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;counter-reset:wk}
.v5-week{position:relative;display:grid;gap:8px;align-content:start;padding:16px 14px;border-radius:var(--radius-xl);background:var(--bg-page);box-shadow:var(--ring-1)}
.v5-week::before{content:"";position:absolute;top:34px;right:-11px;width:12px;height:2px;background:var(--border-2)}
.v5-week:last-child::before{display:none}
.v5-week__wk{font:600 12px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-2)}
.v5-week .badge{width:34px;height:34px}
.v5-week__h{margin:0;font:600 15px/1.2 var(--font-sans);letter-spacing:-0.01em}
.v5-week p{margin:0;font-size:13px;line-height:1.4;color:var(--fg-2)}
.v5-week__call{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font:500 12px/1 var(--font-sans);color:var(--accent)}
.v5-week__call .ico{width:14px;height:14px}

/* ---------- What you walk away with: icon grid ---------- */
.v5-gets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v5-get{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--radius-xl);background:var(--bg-page);box-shadow:var(--ring-1)}
.v5-get .badge{flex:none}
.v5-get p{margin:0;font:600 15px/1.35 var(--font-sans);color:var(--fg-1)}

/* ---------- Meet JT ---------- */
.v5-meet{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px 48px;align-items:center}
.v5-meet__photos{position:relative;padding:0 0 48px 0;max-width:420px}
.v5-meet__a{display:block;width:78%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:24px;box-shadow:0 24px 48px -24px rgba(0,0,0,.35)}
.v5-meet__b{position:absolute;right:0;bottom:0;width:46%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:20px;border:4px solid var(--bg-page);box-shadow:0 18px 36px -16px rgba(0,0,0,.4)}
.v5-meet__body{display:grid;gap:14px}
.v5-creds{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.v5-creds li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.45;color:var(--fg-2)}
.v5-creds .ico{flex:none;width:18px;height:18px;margin-top:2px;color:var(--accent)}
.v5-creds strong{color:var(--fg-1)}
.v5-isnt{display:grid;gap:8px;padding:14px 16px;border-radius:16px;background:var(--bg-hover,rgba(0,0,0,.03));font-size:14px;line-height:1.5;color:var(--fg-2)}
.v5-isnt p{margin:0}
.v5-isnt strong{color:var(--fg-1)}

/* ---------- How it works: photo + steps ---------- */
.v5-how{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 40px;align-items:center}
.v5-how__media{margin:0}
.v5-how__media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:24px}
.v5-how__steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.v5-how__steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start}
.v5-how__n{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-blob);background:var(--accent-subtle);font:600 16px/1 var(--font-sans);color:var(--fg-1)}
.v5-how__steps h3{margin:0 0 4px;font:600 17px/1.25 var(--font-sans)}
.v5-how__steps p{margin:0;font-size:15px;line-height:1.45;color:var(--fg-2)}

/* ---------- Final call box with JT's face ---------- */
.v5-final{grid-template-columns:auto minmax(0,1fr) auto}
.v5-final__face{width:96px;height:96px;border-radius:50%;object-fit:cover;border:4px solid var(--bg-page);box-shadow:0 10px 24px -12px rgba(0,0,0,.4)}

/* ---------- Scope expander and compact sources ---------- */
.v5-scope{border-radius:var(--radius-xl);box-shadow:var(--ring-1);padding:0 18px}
.v5-scope summary{cursor:pointer;padding:16px 0;font:600 15px/1.3 var(--font-sans);color:var(--fg-1)}
.v5-scope[open] summary{border-bottom:1px solid var(--border-1);margin-bottom:12px}
.v5-scope .scope{padding-bottom:12px}
.v5-sources .gl-sources{border-top:0;padding-top:0}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .v5-weeks{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v5-week::before{display:none}
}
@media (max-width:1000px){
  .v5-hero__media{max-width:420px;margin-top:8px}
  .v5-pains,.v5-gets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v5-day__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v5-meet,.v5-how{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .v5-feat{grid-template-columns:minmax(0,1fr)}
  .v5-feat--flip .v5-feat__media{order:0}
  .v5-feat__inset{right:8px}
  .v5-split{grid-template-columns:minmax(0,1fr)}
  .v5-split__plus{justify-self:center}
  .v5-weeks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:thin}
  .v5-week{flex:0 0 72%;scroll-snap-align:start}
  .v5-final{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .v5-pains,.v5-gets{grid-template-columns:minmax(0,1fr)}
  .v5-pain{grid-template-columns:auto minmax(0,1fr);align-items:center}
  .v5-stat{grid-template-columns:minmax(0,1fr);padding:20px}
  .v5-inset{right:-6px;width:44%}
  .v5-chip--bottom{max-width:calc(100% - 24px);bottom:auto;top:56px;font-size:12px}
  .v5-tile__cap{font-size:13px;padding:6px 9px}
  .v5-meet__photos{max-width:340px}
}
@media (prefers-reduced-motion:reduce){.v5-tile img{transition:none}.v5-tile:hover img{transform:none}}

.v5-more{margin-top:4px}
.v5-more > summary{cursor:pointer;padding:14px 16px;border-radius:var(--radius-lg);box-shadow:var(--ring-1);font:600 15px/1.3 var(--font-sans);color:var(--accent);list-style:none}
.v5-more > summary::-webkit-details-marker{display:none}
.v5-more[open] > summary{margin-bottom:8px}
.v5-scope .gl-sources{margin-top:12px}

/* ---------- Real food strip (UGC photos) ---------- */
.v5-real__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v5-real__tile{position:relative;margin:0;border-radius:20px;overflow:hidden;background:var(--sage-bg)}
.v5-real__tile img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media (max-width:1000px){.v5-real__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Hero v5.2: the reader's goals, not the coach ---------- */
.v5-goals{position:relative;justify-self:center;width:100%;max-width:480px;padding:0 0 28px 0}
.v5-goals__main{margin:0;width:78%;border-radius:28px;overflow:hidden;aspect-ratio:4/5;background:var(--sage-bg);box-shadow:0 24px 48px -24px rgba(0,0,0,.35)}
.v5-goals__main img{display:block;width:100%;height:100%;object-fit:cover}
.v5-goals__side{position:absolute;right:0;top:12%;width:44%;margin:0;border-radius:22px;overflow:hidden;aspect-ratio:1/1;border:5px solid var(--bg-page);box-shadow:0 18px 36px -16px rgba(0,0,0,.4)}
.v5-goals__side img{display:block;width:100%;height:100%;object-fit:cover}
.v5-goals__chips{position:absolute;right:0;bottom:0;list-style:none;margin:0;padding:0;display:grid;gap:8px;justify-items:end;max-width:78%}
.v5-goals__chips li{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:var(--radius-full);background:rgba(255,255,255,.96);color:#1D1D1F;font:600 14px/1.25 var(--font-sans);box-shadow:0 10px 24px -12px rgba(0,0,0,.35)}
.v5-goals__chips .ico{flex:none;width:16px;height:16px;color:#3F7D52}
.v5-byline{display:flex;align-items:center;gap:10px;margin:0;font-size:13px;line-height:1.4;color:var(--fg-2);max-width:460px}
.v5-byline img{flex:none;width:32px;height:32px;border-radius:50%;object-fit:cover}
@media (max-width:560px){
  .v5-goals{padding-bottom:0}
  .v5-goals__main{width:70%}
  .v5-goals__side{width:46%;top:8%}
  .v5-goals__chips{position:static;margin-top:12px;justify-items:start;max-width:none}
  .v5-goals__chips li{font-size:13px;padding:8px 12px}
}

/* ---------- Sticky mobile CTA (thumb zone), shown after the hero button scrolls away ---------- */
.v5-sticky{position:fixed;left:0;right:0;bottom:0;z-index:20;display:none;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg-page) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-1);transform:translateY(110%);transition:transform var(--dur-base,.25s) var(--ease-out,ease)}
.v5-sticky.is-on{transform:none}
.v5-sticky .btn{flex:1;height:48px;font-size:16px}
.v5-sticky__note{font-size:12px;line-height:1.3;color:var(--fg-2);max-width:120px}
@media (max-width:760px){.v5-sticky{display:flex}body.has-sticky{padding-bottom:72px}}
@media (prefers-reduced-motion:reduce){.v5-sticky{transition:none}}

/* Phone pacing: shorter photo rows in "How JT coaches" so a call button is never far away */
@media (max-width:760px){
  .v5-feats{gap:22px}
  .v5-feat{gap:12px}
  .v5-feat__media > img{aspect-ratio:16/10}
  .v5-feat__inset{display:none}
  .v5-feat__body{gap:8px}
}

/* H1 subline: keeps the search phrase in the H1 without crowding the headline */
.v5-h1-sub{display:block;margin-top:14px;text-wrap:pretty;max-width:520px;font:500 clamp(17px,1.6vw,20px)/1.35 var(--font-sans);letter-spacing:-0.01em;color:var(--fg-2)}

/* Monthly Support renewal line (auto-renewal disclosure) */
.plan__renew{margin:0;font-size:12.5px;line-height:1.45;color:var(--fg-2)}
.plan__renew a{white-space:nowrap}

.bk-section > .v5-guide{margin-top:22px}
@media (max-width:600px){.v5-guide{max-width:none}.v5-guide__thumb{width:46px}}
@media (prefers-reduced-motion:reduce){.v5-guide{transition:none}.v5-guide:hover{transform:none}}
.v5-meet__body > .v5-guide{margin-top:6px}
@media (min-width:1001px) and (max-height:800px){.gl-hero{padding-top:12px}.v5-guide--hero{margin-top:12px}}
@media (max-width:1000px) and (max-height:700px){.gl-hero{padding-top:18px}}
