/* ============================================================
   LevelDose brand chrome — site-wide header + footer restyle
   Source: leveldose-brand/playbook/04-visual-identity.md
   This is an override sheet: it loads AFTER main.min.css and
   deliberately uses !important against Tailwind arbitrary values
   baked into chrome markup. Scope is header/footer/menus ONLY.
   ============================================================ */

:root{
  --ldc-paper-0:#FDFBF7; --ldc-paper-1:#F7F2E9; --ldc-paper-2:#EFE7D8;
  --ldc-stone-1:#DCD3C1; --ldc-stone-3:#6C6250;
  --ldc-ink:#221E19; --ldc-ink-2:#4A443A;
  --ldc-amber:#9A5B1F; --ldc-amber-deep:#7C4715;
  --ldc-serif:"Newsreader",Georgia,serif;
  --ldc-sans:"Instrument Sans",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --ldc-mono:"Fragment Mono","SF Mono",Menlo,monospace;
}

/* ---- the text wordmark (replaces the two-tone logo images) ---- */
.ldc-wm{font-family:var(--ldc-serif)!important;font-weight:500!important;
  font-size:1.9rem!important;line-height:1!important;letter-spacing:-.01em!important;
  color:var(--ldc-ink)!important;text-transform:lowercase!important;display:inline-block}
.ldc-wm--lg{font-size:2.4rem!important}
@media(max-width:640px){.ldc-wm{font-size:1.6rem!important}.ldc-wm--lg{font-size:2rem!important}}

/* ---- header ---- */
.site-header{background:var(--ldc-paper-1)!important;border-bottom:1px solid var(--ldc-stone-1)!important}
.checkout-header{background:var(--ldc-paper-1)!important;border-bottom:1px solid var(--ldc-stone-1)!important}
.site-header .header-nav-link{font-family:var(--ldc-sans)!important;font-size:.9375rem!important;
  font-weight:500!important;color:var(--ldc-ink-2)!important}
.site-header .header-nav-link:hover{color:var(--ldc-amber-deep)!important}
.site-header .header-nav-link.is-active{color:var(--ldc-ink)!important;
  box-shadow:inset 0 -2px 0 var(--ldc-amber)!important;border-color:var(--ldc-amber)!important}

/* primary CTA pill */
.site-header a[title="Get Started"]{font-family:var(--ldc-sans)!important;font-weight:500!important;
  background:var(--ldc-ink)!important;color:var(--ldc-paper-0)!important;border-radius:999px!important}
.site-header a[title="Get Started"]:hover{background:var(--ldc-ink-2)!important}
/* ghost CTA */
.site-header a[title="Log In"]{font-family:var(--ldc-sans)!important;font-weight:500!important;
  background:transparent!important;border:1px solid var(--ldc-stone-1)!important;
  color:var(--ldc-ink)!important;border-radius:999px!important}
.site-header a[title="Log In"]:hover{background:var(--ldc-paper-2)!important;border-color:var(--ldc-stone-3)!important}

/* treatments dropdown + mobile panel */
.treatment-menu-popup{background:var(--ldc-paper-0)!important;border:1px solid var(--ldc-stone-1)!important;
  border-radius:8px!important;box-shadow:0 18px 40px rgba(34,30,25,.10)!important}
.treatment-card .treatment-title{font-family:var(--ldc-serif)!important;font-weight:500!important;color:var(--ldc-ink)!important}
.treatment-card .treatment-text{font-family:var(--ldc-sans)!important;color:var(--ldc-ink-2)!important}
.mobile-menu-panel,.mobile-menu-panel-inner{background:var(--ldc-paper-1)!important}
.mobile-menu-nav a{font-family:var(--ldc-sans)!important;color:var(--ldc-ink)!important}
.mobile-menu-nav a.is-active{color:var(--ldc-amber-deep)!important}
.mobile-menu-panel-head span{font-family:var(--ldc-mono)!important;text-transform:uppercase!important;
  letter-spacing:.06em!important;font-size:.8125rem!important;color:var(--ldc-stone-3)!important}
.header-profile-toggle{font-family:var(--ldc-sans)!important;color:var(--ldc-ink-2)!important}
.header-profile-dropdown{background:var(--ldc-paper-0)!important;border:1px solid var(--ldc-stone-1)!important;border-radius:8px!important}

/* ---- footer ---- */
.site-footer{background:var(--ldc-paper-2)!important;border-top:1px solid var(--ldc-stone-1)!important;
  font-family:var(--ldc-sans)!important;color:var(--ldc-ink-2)!important}
.site-footer .footer-intro-row{border-bottom:1px solid var(--ldc-stone-1)!important}
.site-footer .footer-intro-row p{font-family:var(--ldc-mono)!important;font-size:.875rem!important;
  line-height:1.6!important;color:var(--ldc-stone-3)!important}
.footer-newsletter-title{font-family:var(--ldc-serif)!important;font-weight:500!important;
  font-size:1.75rem!important;letter-spacing:-.01em!important;color:var(--ldc-ink)!important}
.footer-newsletter-input{background:var(--ldc-paper-0)!important;border:1px solid var(--ldc-stone-1)!important;
  border-radius:999px!important;font-family:var(--ldc-sans)!important;color:var(--ldc-ink)!important}
.footer-newsletter-input::placeholder{color:var(--ldc-stone-3)!important}
.footer-newsletter-input:focus{outline:2px solid var(--ldc-amber)!important;outline-offset:1px!important;border-color:var(--ldc-amber)!important}
.footer-newsletter-button{background:var(--ldc-ink)!important;border-radius:999px!important}
.footer-newsletter-button:hover{background:var(--ldc-ink-2)!important}
.footer-column-title{font-family:var(--ldc-mono)!important;font-size:.875rem!important;font-weight:400!important;
  letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--ldc-stone-3)!important}
.footer-link{font-family:var(--ldc-sans)!important;color:var(--ldc-ink-2)!important}
.footer-link:hover{color:var(--ldc-amber-deep)!important}
.site-footer-bottom{border-top:1px solid var(--ldc-stone-1)!important}
.footer-disclaimer,.footer-copyright{font-family:var(--ldc-mono)!important;font-size:.875rem!important;
  line-height:1.6!important;color:var(--ldc-stone-3)!important}
.footer-disclaimer strong{color:var(--ldc-ink-2)!important;font-weight:400!important}
.footer-signup-status{font-family:var(--ldc-mono)!important;font-size:.875rem!important}

/* ============================================================
   Documents — the legal / compliance / providers pages (main.cms-page)
   Michael, 2026-09-02: these pages and the contact modal were still the
   pre-brand template (grey hero, pill eyebrows, boxed cards, green check
   bullets). Same override discipline as the chrome above: main.css keeps
   its layout hooks; the look comes from the brand tokens.
   ============================================================ */
.cms-page{background:var(--ldc-paper-1)!important;color:var(--ldc-ink)!important;font-family:var(--ldc-sans)!important}
.cms-hero{background:var(--ldc-paper-2)!important;border-radius:0!important;border-bottom:1px solid var(--ldc-stone-1)!important}
.cms-hero::before{display:none!important}
.cms-hero-inner{max-width:1120px!important;padding:64px 24px 46px!important}
.cms-eyebrow{border:0!important;background:transparent!important;padding:0!important;border-radius:0!important;gap:0!important;
  font-family:var(--ldc-mono)!important;font-size:.875rem!important;font-weight:400!important;letter-spacing:.06em!important;
  text-transform:uppercase!important;color:var(--ldc-stone-3)!important}
.cms-eyebrow::before{display:none!important}
.cms-title{font-family:var(--ldc-serif)!important;font-weight:500!important;font-size:clamp(2.4rem,5vw,3.6rem)!important;
  line-height:1.05!important;letter-spacing:-.015em!important;color:var(--ldc-ink)!important;margin-top:14px!important;max-width:22ch!important;text-wrap:balance}
.cms-intro{font-family:var(--ldc-mono)!important;font-size:.9375rem!important;line-height:1.6!important;color:var(--ldc-stone-3)!important;margin-top:16px!important}
.cms-intro strong{font-weight:400!important;color:var(--ldc-ink-2)!important}
.cms-content-section{padding:44px 24px 76px!important}
.cms-content-wrap{max-width:760px!important;gap:0!important;margin:0 auto!important}
.cms-content-block{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  padding:28px 0 30px!important;border-top:1px solid var(--ldc-stone-1)!important}
.cms-content-block:first-child{border-top:0!important;padding-top:8px!important}
.cms-content-block h2{font-family:var(--ldc-serif)!important;font-weight:500!important;font-size:1.55rem!important;line-height:1.2!important;
  letter-spacing:-.01em!important;color:var(--ldc-ink)!important;margin:0 0 12px!important}
.cms-content-block h3{font-family:var(--ldc-sans)!important;font-weight:600!important;font-size:1.05rem!important;line-height:1.35!important;color:var(--ldc-ink)!important;margin:22px 0 8px!important}
.cms-content-block p,.cms-content-block li{font-family:var(--ldc-sans)!important;font-size:1.0625rem!important;line-height:1.7!important;
  font-weight:400!important;color:var(--ldc-ink-2)!important;max-width:66ch}
.cms-content-block p+p{margin-top:12px!important}
.cms-content-block p strong,.cms-content-block li strong{font-weight:600!important;color:var(--ldc-ink)!important}
.cms-content-block a{color:var(--ldc-amber-deep)!important;font-weight:500!important;text-decoration:underline!important;
  text-decoration-color:var(--ldc-stone-1)!important;text-underline-offset:4px!important}
.cms-content-block a:hover,.cms-content-block a:focus{color:var(--ldc-amber-deep)!important;text-decoration-color:var(--ldc-amber-deep)!important;text-decoration-thickness:1px!important}
.cms-content-block ul{gap:12px!important;margin:14px 0 0!important}
.cms-content-block li{padding-left:24px!important}
.cms-content-block li::before{content:"—"!important;width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;
  top:0!important;left:0!important;color:var(--ldc-stone-3)!important;font-family:var(--ldc-sans)!important}
.cms-content-block li::after{display:none!important}
.cms-content-block em{color:var(--ldc-stone-3)!important}
.cms-content-block .tirzepatide-banner-button{display:inline-flex!important;align-items:center!important;min-height:48px!important;padding:0 24px!important;
  border-radius:999px!important;background:var(--ldc-ink)!important;color:var(--ldc-paper-0)!important;text-decoration:none!important;font-weight:500!important;margin-top:6px}
.cms-content-block .tirzepatide-banner-button:hover{background:var(--ldc-ink-2)!important}
/* the providers roster: a ledger (name | licences), not a stack of cards */
.cms-page--providers .cms-content-wrap{max-width:1120px!important}
.cms-page--providers .cms-content-block{display:grid!important;grid-template-columns:minmax(220px,.32fr) 1fr!important;gap:10px 40px!important;padding:20px 0!important;align-items:baseline}
.cms-page--providers .cms-content-block.cms-roster-intro{display:block!important;padding:8px 0 36px!important}
.cms-page--providers .cms-content-block.cms-roster-intro p{max-width:66ch}
.cms-page--providers .cms-content-block h2{font-size:1.25rem!important;margin:0!important}
.cms-page--providers .cms-content-block p{font-family:var(--ldc-mono)!important;font-size:.9rem!important;line-height:1.7!important;color:var(--ldc-ink-2)!important;max-width:none!important;margin:0!important}
.cms-roster-head{display:grid!important;grid-template-columns:minmax(220px,.32fr) 1fr!important;gap:40px!important;padding:0 0 10px!important;border-top:0!important}
.cms-roster-head span{font-family:var(--ldc-mono)!important;font-size:.8125rem!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--ldc-stone-3)!important}
@media(max-width:760px){.cms-page--providers .cms-content-block,.cms-roster-head{grid-template-columns:1fr!important;gap:6px!important}.cms-roster-head span+span{display:none}}


/* ---- mobile menu: the Get Started pill and the current item (Michael, 2026-09-02) ----
   main.css gives every menu link `padding: 14px 0`, so the pill's label sat flush on the left edge
   and ran edge to edge; the current item was shifted 12px with no marker, which read as misaligned. */
.mobile-menu-nav a[title="Get Started"]{display:flex!important;align-items:center!important;justify-content:center!important;
  margin:18px 0 4px!important;padding:15px 24px!important;border:0!important;border-radius:999px!important;
  background:var(--ldc-ink)!important;color:var(--ldc-paper-0)!important;font-weight:500!important;font-size:1.0625rem!important}
.mobile-menu-nav a[title="Get Started"]:hover{background:var(--ldc-ink-2)!important;padding-left:24px!important}
.mobile-menu-nav a.is-active{padding-left:14px!important;font-weight:500!important;color:var(--ldc-amber-deep)!important;
  box-shadow:inset 3px 0 0 var(--ldc-amber)!important}
/* ---- treatments menu cards: the photograph fills the card (Michael, 2026-09-02) ----
   The render used to sit as an inset square inside a rounded card, with its own background showing
   as a second box. Now it bleeds to the card's rounded top edge at 4:3, and the copy sits below it. */
.treatment-menu-card .treatment-card{padding:0 0 22px!important;align-items:stretch!important;text-align:left!important;
  background:var(--ldc-paper-0)!important;border:1px solid var(--ldc-stone-1)!important;border-radius:12px!important;overflow:hidden!important}
.treatment-menu-card .treatment-image,.treatment-menu-grid--compact .treatment-menu-card .treatment-image{
  width:100%!important;max-width:none!important;margin:0 0 16px!important;aspect-ratio:4/3!important;height:auto!important;
  object-fit:cover!important;object-position:50% 60%!important;border-radius:0!important;display:block!important}
.treatment-menu-card .treatment-title,.treatment-menu-card .treatment-text{padding:0 20px!important;text-align:left!important}
.treatment-menu-card .treatment-title{font-size:1.2rem!important;line-height:1.2!important;margin:0 0 8px!important}
.treatment-menu-card .treatment-text{font-size:.9375rem!important;line-height:1.55!important;color:var(--ldc-ink-2)!important}

/* ============================================================
   Contact page — Michael, 2026-09-03: the page was still the pre-brand
   template ("overlooked"). The documents' skeleton, the care-team scene
   the modal uses, and the original form in brand form controls.
   ============================================================ */
.cms-page--contact .cms-content-section{padding:52px 24px 84px!important}
.cms-contact-grid{max-width:1120px!important;margin:0 auto!important;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:56px;align-items:start}
.cms-contact-figure{margin:0;border-radius:10px;overflow:hidden;border:1px solid var(--ldc-stone-1);background:var(--ldc-paper-2);aspect-ratio:4/5}
.cms-contact-figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.cms-contact-facts{margin-top:26px}
.cms-contact-label{font-family:var(--ldc-mono)!important;font-size:.8125rem!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--ldc-stone-3)!important;margin:18px 0 6px!important}
.cms-contact-label:first-child{margin-top:0!important}
.cms-contact-value{font-family:var(--ldc-sans)!important;font-size:1.0625rem!important;line-height:1.6!important;color:var(--ldc-ink-2)!important;margin:0!important;max-width:38ch}
.cms-contact-value a{color:var(--ldc-ink)!important;text-decoration:underline!important;text-decoration-color:var(--ldc-stone-1)!important;text-underline-offset:4px!important}
.cms-contact-value a:hover{color:var(--ldc-amber-deep)!important;text-decoration-color:var(--ldc-amber-deep)!important}
.cms-contact-form{background:var(--ldc-paper-0);border:1px solid var(--ldc-stone-1);border-radius:10px;padding:32px 34px 30px}
.cms-contact-notice{font-family:var(--ldc-sans);font-size:1rem;line-height:1.55;color:var(--ldc-ink);background:var(--ldc-paper-2);border-left:3px solid var(--ldc-amber);padding:14px 16px;border-radius:0 6px 6px 0;margin:0 0 22px}
.cms-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.cms-contact-field{margin:0 0 18px}
.cms-contact-field label{display:block;font-family:var(--ldc-mono);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ldc-stone-3);margin:0 0 8px}
.cms-contact-field input[type="text"],.cms-contact-field input[type="tel"],.cms-contact-field input[type="email"],.cms-contact-field textarea{
  display:block;width:100%;box-sizing:border-box;font-family:var(--ldc-sans);font-size:1.0625rem;line-height:1.4;color:var(--ldc-ink);
  background:var(--ldc-paper-1);border:1px solid var(--ldc-stone-1);border-radius:6px;padding:13px 14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.cms-contact-field textarea{min-height:168px;resize:vertical}
.cms-contact-field input:focus,.cms-contact-field textarea:focus{border-color:var(--ldc-amber);box-shadow:0 0 0 3px rgba(154,91,31,.16);background:var(--ldc-paper-0)}
.cms-contact-check label{display:flex;align-items:center;gap:12px;font-family:var(--ldc-sans);font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ldc-ink-2);cursor:pointer;margin:0}
.cms-contact-check input{width:20px;height:20px;accent-color:var(--ldc-amber);margin:0}
.cms-contact-error{font-family:var(--ldc-sans);font-size:.9rem;color:#8A2E2E;margin:8px 0 0}
.cms-contact-submit{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border:0;border-radius:999px;background:var(--ldc-ink);color:var(--ldc-paper-0);font-family:var(--ldc-sans);font-size:1.0625rem;font-weight:500;cursor:pointer;margin-top:6px;transition:background .2s ease}
.cms-contact-submit:hover{background:var(--ldc-ink-2)}
.cms-contact-submit:focus-visible{outline:2px solid var(--ldc-amber);outline-offset:4px}
.cms-contact-fine{font-family:var(--ldc-mono);font-size:.8125rem;line-height:1.6;color:var(--ldc-stone-3);margin:18px 0 0;max-width:48ch}
@media(max-width:900px){.cms-contact-grid{grid-template-columns:1fr;gap:34px}.cms-contact-figure{max-width:520px}.cms-contact-form{padding:26px 22px 24px}}
@media(max-width:560px){.cms-contact-row{grid-template-columns:1fr;gap:0}}
