/* Root Wellness Lab: GLP-1 coaching sales page (/glp-1-nutrition-coaching) and application (/glp-1-apply).
   Built only from tokens.css values and the patterns in styles.css / booking.css.
   Deviations from the base site are commented with the conversion reason. */

/* Header: section links become on-page anchors + one CTA.
   CVR: the pages studied keep the visitor on the page (GGS anchors, WarriorBabe "Apply now"). */
.site-header .btn--cta{height:32px}
.site-header .theme-toggle{flex:none}
.cta-short{display:none}

/* Main CTA: the site's black primary button at the booking form's 50px size (.intake__btn).
   CVR: one label everywhere, a large tap target; black on white keeps AA contrast. */
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.btn--big{height:50px;padding:0 26px;font-size:15px;gap:8px}
.cta-note{font-size:14px;color:var(--fg-2)}

/* Hero: same grid as .bk-hero, title sized for a longer headline */
.gl-hero{padding:64px 0 24px;align-items:center}
.gl-hero .bk-hero__title{font-size:clamp(34px,4.9vw,56px);line-height:1.04}
.gl-hero .bk-hero__lede{max-width:520px;font-size:18px;line-height:1.5}
.gl-hero__side{display:grid;gap:14px;margin-top:8px}
.gl-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.gl-chips .tag{--c:var(--sage)}

/* Section rhythm (as .bk-section) with an optional lede */
.gl-lede{font-size:17px;line-height:1.55;color:var(--fg-2);max-width:640px;text-wrap:pretty}
.gl-lede strong{color:var(--fg-1);font-weight:600}
.gl-sup a{color:var(--accent);font-size:.75em;vertical-align:super;line-height:0}

/* "Sound familiar" checklist: ring cards with the booking form's blob badges */
.gl-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gl-checks li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-lg);box-shadow:var(--ring-1);font-size:15px;line-height:1.45;text-wrap:pretty}
.gl-checks .badge{width:30px;height:30px;flex:none}
.gl-checks .badge .ico{width:16px;height:16px}

/* Research cards: tile tints (styles.css .tile--*) with a gradient number */
.gl-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gl-fact{display:grid;gap:10px;align-content:start;padding:22px;border-radius:var(--radius-xl);color:#1D1D1F}
.gl-fact--a{background:radial-gradient(at 80% 10%,#E7DEF7 0,transparent 60%),#D6E8F4}
.gl-fact--b{background:radial-gradient(at 20% 90%,#FFE0D4 0,transparent 60%),#FBEDB8}
.gl-fact--c{background:radial-gradient(at 85% 85%,#CDE7E4 0,transparent 60%),#DCE8CF}
.gl-fact--d{background:radial-gradient(at 15% 15%,#FBEDB8 0,transparent 60%),#F3D6C6}
/* Darker stops of the brand trio (booking.css --sage/--sea/--clay): --gradient-brand is about 2.5:1 on these pastels */
.gl-fact__num{font:600 40px/1 var(--font-sans);letter-spacing:-0.05em;background-image:linear-gradient(100deg,#3F7D52 0%,#2C7A74 45%,#AE5434 90%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:gradient-shift 10s ease-in-out infinite}
.gl-fact__num--word{font-size:30px}
.gl-fact p{font-size:15px;line-height:1.5;color:#4A4A47;text-wrap:pretty}
.gl-fact__src{font-size:13px;color:#4A4A47}
.gl-fact__src a{color:#1D1D1F;text-decoration:underline;text-underline-offset:2px}
[data-theme="dark"] .gl-fact{filter:saturate(.9)}

/* Two jobs: medication vs coaching */
.gl-jobs{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--radius-xl);box-shadow:var(--ring-1);overflow:hidden;font-size:15px}
.gl-jobs th{padding:16px 18px;text-align:left;font:600 14px/1.3 var(--font-sans);letter-spacing:-0.01em}
.gl-jobs th:first-child{background:var(--bg-hover)}
.gl-jobs th:last-child{background:var(--accent-subtle);color:var(--fg-1)}
.gl-jobs td{padding:14px 18px;vertical-align:top;line-height:1.45;border-top:1px solid var(--border-1)}
.gl-jobs td:first-child{color:var(--fg-2);width:46%;border-right:1px solid var(--border-1)}
.gl-jobs td:last-child{background:color-mix(in srgb,var(--accent-subtle) 40%,var(--bg-page));font-weight:500}
.gl-cell-lab{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gl-note{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--fg-2);max-width:640px}
.gl-note .ico{color:var(--accent);margin-top:1px}

/* How JT coaches: the home page's numbered idea rows */
.gl-ways .idea-row{grid-template-columns:40px minmax(0,1fr)}

/* Phases: the booking hero's path, with a line under each node */
.gl-phases .path{align-items:start}
.gl-phases .path__lab{max-width:160px}
.gl-phase__txt{font-size:14px;line-height:1.45;color:var(--fg-1);max-width:220px;text-wrap:pretty}
.gl-phases .free-note{color:var(--fg-2)}

/* Packages: the booking page's plan cards, used as information (not radios) */
.gl-plans{grid-template-columns:repeat(3,minmax(0,1fr))}
.gl-plans .plan{cursor:default}
.gl-plans .plan:hover{transform:none;box-shadow:var(--ring-1)}
.gl-plans .plan--main,.gl-plans .plan--main:hover{box-shadow:inset 0 0 0 2.5px var(--c),0 14px 30px rgba(0,0,0,.08)}
.plan__per{font-size:16px;letter-spacing:0}
.plan__std{font:400 13px/1.35 var(--font-sans);color:var(--fg-2)}
.plan__badge{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--radius-full);background:var(--bg-page);color:var(--c);font:500 12px/1 var(--font-sans);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.plan__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.plan__list li{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--fg-2)}
.plan__list .ico{width:16px;height:16px;color:var(--c);margin-top:2px}
.plan__list strong{color:var(--fg-1);font-weight:600}

/* Fit lists: the form's .block with badges */
.gl-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gl-fit ul{margin:0;padding-left:18px;display:grid;gap:8px;font-size:15px;line-height:1.45;color:var(--fg-2)}
.gl-fit li::marker{color:var(--fg-3)}
.gl-fit ul.ticks{padding-left:0;gap:10px}

/* About: home .about plus info blocks */
.gl-about{grid-template-columns:200px minmax(0,1fr);gap:32px}
.gl-about .about__body{max-width:640px}
.gl-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gl-boxes .block__body p{font-size:15px;line-height:1.5;color:var(--fg-2)}
.gl-boxes .block__body p+p{margin-top:10px}
.gl-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.gl-boxes a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}

/* Next steps */
.gl-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:s}
.gl-steps li{counter-increment:s;display:grid;gap:8px;align-content:start;padding:18px;border-radius:var(--radius-lg);box-shadow:var(--ring-1)}
.gl-steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-blob);background:var(--accent-subtle);color:var(--fg-1);font:600 15px/1 var(--font-sans)}
.gl-steps h3{font:600 16px/1.25 var(--font-sans);letter-spacing:-0.01em}
.gl-steps span{font-size:14px;line-height:1.45;color:var(--fg-2)}
.gl-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gl-terms .block__body p{font-size:15px;line-height:1.5;color:var(--fg-2)}

/* Final CTA: the home page's coaching box */
.gl-final{padding:56px 0 24px}
.gl-final .coaching-cta__title{font-size:clamp(28px,4vw,40px)}
.gl-final .coaching-cta__text{color:var(--fg-1)}

/* FAQ spacing as on /book-coaching; room before the footer */
.gl-faq .faq p{padding-bottom:16px}
.gl-faq{padding-bottom:24px}

@media (max-width:1000px){
  .gl-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gl-plans{grid-template-columns:minmax(0,1fr)}
  .gl-plans .plan{max-width:560px}
}
@media (max-width:760px){
  .gl-checks,.gl-facts,.gl-fit,.gl-boxes,.gl-terms{grid-template-columns:minmax(0,1fr)}
  .gl-about{grid-template-columns:minmax(0,1fr)}
  .gl-jobs,.gl-jobs tbody,.gl-jobs tr,.gl-jobs td{display:block;width:auto}
  .gl-jobs thead{display:none}
  .gl-jobs td:first-child{border-right:0;width:auto;padding-bottom:4px}
  .gl-jobs td:last-child{border-top:0;padding-top:6px}
  .gl-cell-lab{position:static;width:auto;height:auto;clip:auto;white-space:normal;display:block;font:500 13px/1.3 var(--font-sans);color:var(--fg-2);margin-bottom:2px}
  .gl-jobs tr+tr td:first-child{border-top:1px solid var(--border-1)}
  .gl-phases .path{grid-template-columns:minmax(0,1fr);gap:18px}
  .gl-phases .path::before{display:none}
  .gl-phase__txt{max-width:320px}
}
@media (max-width:420px){.cta-long{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cta-short{display:inline}}
@media (max-width:640px){
  .gl-hero{padding:40px 0 8px}
  .btn--big{width:100%}
  .gl-steps{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.gl-fact__num{animation:none}}

/* Phase note can wrap on phones */
.gl-phases .free-note{height:auto;min-height:30px;padding:6px 12px;text-align:center;line-height:1.35}

/* Secondary path for visitors not ready to book (decision 12): quiet text link, not a second button */
.gl-alt{font-size:14px;line-height:1.45;color:var(--fg-2)}
.gl-alt--center{text-align:center;margin-top:16px}

/* 12 weeks: wider number column for "Wk 11–12" */
.gl-weeks .idea-row{grid-template-columns:76px minmax(0,1fr)}
@media (max-width:640px){.gl-weeks .idea-row{grid-template-columns:minmax(0,1fr);gap:4px}}

/* Scope block and numbered sources sit above the footer */
.gl-scope{padding-bottom:72px}
.gl-sources{display:grid;gap:6px;margin-top:8px;padding-top:14px;border-top:1px solid var(--border-1)}
.gl-sources ol{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13px;line-height:1.5}
.gl-sources li{overflow-wrap:anywhere;scroll-margin-top:72px}
.gl-sources a,.scope a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.callout--warn{margin-top:12px}

/* ---------- Application page (/glp-1-apply) ---------- */
.gl-apply-hero{padding:56px 0 24px;gap:16px}
.gl-mini-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gl-mini-steps li{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px 0 6px;border-radius:var(--radius-full);box-shadow:var(--ring-1);font:500 14px/1 var(--font-sans);color:var(--fg-1)}
.gl-mini-steps span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-blob);background:var(--accent-subtle);font:600 13px/1 var(--font-sans)}
.gl-apply{max-width:760px}
.gl-apply .block[hidden],.gl-apply .finish[hidden],.gl-apply [data-needs-eligible][hidden]{display:none}
.gl-fitlist{margin:0 0 4px;padding-left:18px;display:grid;gap:6px;font-size:15px;line-height:1.45;color:var(--fg-2)}
.gl-fitlist li::marker{color:var(--fg-3)}
.gl-apply-status{max-width:760px;margin:8px 0 24px;scroll-margin-top:80px}
.gl-booked{max-width:860px;margin:8px 0 32px;outline:none;scroll-margin-top:80px}
.gl-booked[hidden]{display:none}
.gl-booked__note{margin-top:12px}
.gl-back{margin-top:20px;font-size:15px}

/* ---------- Conversion pass 2026-10-20 ---------- */
.gl-nowrap{white-space:nowrap}
/* Hero photo above the 3-step strip */
.gl-hero__media{position:relative;margin:0;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:3/2;background:var(--sage-bg)}
.gl-hero__media img{display:block;width:100%;height:100%;object-fit:cover}
.gl-hero__cap{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--radius-full);background:rgba(255,255,255,.94);color:#1D1D1F;font:500 13px/1 var(--font-sans);box-shadow:0 6px 18px -8px rgba(0,0,0,.3)}
/* Trust line under the hero button */
.gl-trust{list-style:none;margin:-4px 0 0;padding:0;display:grid;gap:6px;font-size:14px;line-height:1.4;color:var(--fg-2)}
.gl-trust li{display:flex;align-items:flex-start;gap:8px}
.gl-trust .ico{flex:none;width:16px;height:16px;margin-top:2px;color:var(--accent)}
.gl-trust__link{color:var(--fg-1);text-decoration:underline;text-underline-offset:2px}
/* Packages: value flag and a button in each starting package */
.gl-flag{margin:0;padding:8px 16px;background:var(--bg-inverse);color:var(--fg-inverse);font:600 13px/1.2 var(--font-sans);text-align:center}
.gl-plans .plan__body{display:flex;flex-direction:column;gap:12px}
.gl-plans .plan__std{margin-top:auto}
.gl-plans .plan__std strong{color:var(--fg-1);font-weight:600}
.plan__cta{width:100%;height:44px;font-size:15px}
.coaching-cta__fine{margin-top:8px;font-size:14px;line-height:1.45;color:var(--fg-2)}
@media (max-width:1000px){.gl-hero__media{aspect-ratio:16/9}}
