/**
 * WumeHealth - Site Styles
 * Wume Brand Style Guide aligned (Section 1 — Brand Foundations).
 * Color palette: cream / sand / sage / lbrown / brown / black ONLY.
 * Typography: Rhymes Text (heading) + Unica 77 LL (body).
 * Text-on-bg rule (page 36, binding): cream/sand/sage → black; lbrown/brown/black → cream.
 * V04 adds: mega-menu desktop backdrop (page 63), mobile full-screen overlay
 *      menu (page 63), modal backdrop blur, and .wume-popup-panel for
 *      inline-bottom newsletter-style pop-ups (page 64).
 * V05 adds: unified 3-column mega-menu panel (page 63) that replaces the
 *      per-item dropdowns; serif item links, sand divider lines under
 *      column kickers, drops down inside the navbar with absolute positioning.
 * V22 replaces the @media (max-width: 991.98px) navbar block — was a brown
 *      full-screen overlay (V07/brand page 63), now a cream-on-cream R0 figma
 *      accordion drawer with full-width rows, +/− pseudo-element indicator
 *      keyed off aria-expanded, [hidden]-attribute-driven sublists, and focus
 *      management; supports the new accordion markup added in base.html.twig
 *      V25. Drawer is top-sheet style (sits under the sticky navbar at
 *      top: var(--wume-nav-height)) and locks body scroll while open.
 * V23 spec-gap fixes for Phase A:
 *      (1) Mobile-compact Request CTA — the navbar Request button now renders
 *          at <992px per spec section 2.1.3. Adds .wume-btn-request mobile
 *          override (smaller font/padding/letter-spacing) so the button fits
 *          the three-region top bar without crowding the centered logo at
 *          375/390/414 viewports.
 *      (2) Sub-list expand transition — the mobile drawer sublist now
 *          animates open/closed via max-height: 0 → 800px with
 *          transition: max-height 0.15s ease-out per spec section 2.10.2.
 *          The previous [hidden]-attribute mechanic is replaced by an
 *          .is-open class toggle (driven from the inline JS in
 *          base.html.twig V26). 800px headroom is safely larger than the
 *          longest sublist (Physicians, 4 items ≈ 240px tall).
 * V24 Phase B — per-page mobile reflow rules added at the umbrella 991.98
 *      breakpoint, co-located with the existing per-section CSS:
 *      Universal — .wume-split breakpoint moved 768 → 991.98; .wume-section
 *      and .wume-hero compress padding to 3rem 0 / 4rem 0 below 992 with
 *      .wume-hero-title scaling to clamp(2rem, 7vw, 2.75rem); jump-link
 *      target sections gain scroll-margin-top:106px under the sticky
 *      announcement+navbar.
 *      Home — services tile 7-up grid stacks to 1 column (was 2-up at <769);
 *      testimonial col-md-4 row collapses to 1 column at <992 via
 *      .row > .col-md-4 override; doctor-digest 4-up grid stacks to 1
 *      column (was 2-up at <769).
 *      Care — 3-pillar row, 4-step process, and side-by-side comparison
 *      cards (col-md-6 inside .wume-section-alt) all stack with a slim
 *      sand-toned divider between the comparison cards.
 *      Pathways — featured-pathways 4 col-md-3 teaser tiles stack to 1
 *      column; how-it-works diagram scales down to fit 320px viewports.
 *      Physicians — sage-band CTA pair flex-direction column; Dr. Wu
 *      credentials inner row collapses to 1 col (label-above-value);
 *      4-physician 2x2 grid (.wume-physician-row alternating) stacks; Our
 *      Standard 6-pillar grid stacks; architectural-band fontsize scales.
 *      Visit — 3-up Email/Phone/Office contact panels stack with bottom
 *      borders restored; doctor-digest 4-up stacks; press-swatch wall
 *      goes 6→2 columns at <992 and 2→1 at <576.
 *      Conflict reconciliation — pre-existing 768 blocks for
 *      .wume-services-grid (repeat(2, 1fr)), .wume-doctor-digest-grid
 *      (repeat(2, 1fr)), and .wume-press-swatch-grid (repeat(3, 1fr))
 *      contradicted the design's 1-up-at-<992 mandate; they were
 *      neutralized by setting 1fr at the new 991.98 umbrella with !important
 *      so the 768 narrower-viewport rules cannot re-multi-columnize the
 *      cascade.
 * V25 Phase B cascade fix — code-quality follow-up to V24:
 *      (1) The pre-existing @media (max-width: 768px) block (.wume-section
 *      padding 60px 0, .wume-hero 80px 0 60px, .wume-hero-title 2.2rem,
 *      .wume-section-title 1.8rem) sat BEFORE the V24 991.98 umbrella in
 *      source order and so was silently dead at <769 (991.98 always won
 *      the source-order tiebreak between two equal-specificity rules that
 *      both match the viewport). The 768 block has been moved AFTER the
 *      991.98 block and rewritten so it now wins for <769 viewports with
 *      strictly tighter values: titles use clamp() with smaller floors
 *      (clamp(1.8rem, 6vw, 2.2rem) for hero, clamp(1.4rem, 5vw, 1.8rem)
 *      for section), padding uses --wume-*-phone tokens that are strictly
 *      tighter than --wume-*-mobile, and units are rem (consistent with
 *      991.98) so cascade comparison is unit-consistent.
 *      (2) Custom-property extraction added to :root —
 *      --wume-section-padding-mobile (4rem), --wume-section-padding-phone
 *      (3rem), --wume-hero-padding-mobile (5rem 0 4rem),
 *      --wume-hero-padding-phone (4rem 0 3rem), --wume-mobile-sticky-offset
 *      (calc(var(--wume-nav-height,64px)+42px)). 991.98 + 768 padding rules
 *      and section[id] scroll-margin-top now read from these tokens.
 *      (3) !important reduction — V24 added !important on .wume-services-grid,
 *      .wume-doctor-digest-grid, .wume-press-swatch-grid, and the 575.98
 *      .wume-press-swatch-grid override (4 declarations) to defeat
 *      conflicting 768 grid rules. The 768 conflicts are now deleted at
 *      source; all 4 !important declarations dropped. Redundant 768
 *      duplicates of .wume-step-card, .wume-three-pillar, .wume-physician-row,
 *      and .wume-contact-panel-grid (4 blocks) deleted.
 *      Cache-bust ?v=23 → ?v=24.
 * V26 Phase C — extrapolated-pages mobile reflow rules added at the umbrella
 *      991.98 breakpoint (no figma reference; pattern extrapolation per spec
 *      section 3.3). All 6 pages already inherited the universal Phase B
 *      rules (.wume-section padding, .wume-hero scaling, section[id] scroll-
 *      margin, Bootstrap col flatten); per-page additions are minimal.
 *      Journal index — .wume-doctor-digest-grid already collapses to 1fr at
 *      991.98 (Phase B universal). New: .wume-pill-row flex-wraps with
 *      tighter gap on mobile so the 6-pill filter row does not overflow at
 *      375; .wume-pill scales font-size and padding down for thumb-friendly
 *      tap targets.
 *      Journal detail — .wume-article-body horizontal padding (1.25rem) so
 *      reading-column copy doesn't hug the viewport edge at <992; pull-quote
 *      scales down (1.6rem → clamp(1.2rem, 4.5vw, 1.5rem)) and indent
 *      compresses (24px → 16px) so it doesn't dominate at 375.
 *      Search — .wume-search-input-row stacks (input above button) so the
 *      search field gets full width; .wume-search-suggestions flex-wraps with
 *      tighter gap for the 6 suggestion pills; .wume-search-empty centers
 *      with 1.25rem horizontal padding.
 *      Account — .wume-account-split breakpoint moved 768 → 991.98 to align
 *      with the umbrella, .wume-account-split-pane padding tightens further
 *      at <992 (60px 32px → 48px 24px). Sign-in form pane is naturally first
 *      in DOM order so explicit `order: -1` is unnecessary; the existing
 *      DOM ordering already stacks form-above-invite as the spec intends.
 *      FAQ — accordion already vertical; .wume-faq-category gains tighter
 *      bottom margin at <992 (40px → 28px) so 6 categories don't push the
 *      footer too far.
 *      404 — .wume-404-band already centered single-element; minor padding
 *      tightening at <992 (no separate band rule needed; universal .wume-
 *      hero-tagline + .wume-hero-title scaling applies).
 *      Cache-bust ?v=24 → ?v=25.
 * V27 Mobile top-bar polish (post-domain-rename feedback):
 *      (1) Suppress Bootstrap's default 4px box-shadow focus ring on the
 *      hamburger (.navbar-toggler) and the sr-only in-drawer close X
 *      (.wume-mobile-menu-close) at every interactive state (:focus,
 *      :focus-visible, :active). The .border-0 utility class on the
 *      hamburger only kills the CSS border property; Bootstrap's :focus
 *      rule applies a separate rgba(0,0,0,0.65) 0 0 0 0.25rem box-shadow
 *      that reads as a heavy black "border" on click — removed entirely
 *      per user feedback.
 *      (2) margin-right: 12px on the hamburger so it doesn't sit flush
 *      against the logo's left edge at narrow viewports — there was zero
 *      gap (hamburger right=57.89px, logo left=57.89px), causing visual
 *      crowding even without the focus ring.
 *      Cache-bust ?v=25 → ?v=26.
 * V28 figma R1 mobile alignment — two corrections from the 2026-05-12 visual
 *      diff (figma-renders/r1-mobile-{care,pathways,physicians,visit}.png vs
 *      live-mobile-*.png):
 *      (1) Section padding rhythm — mobile reflow tokens bumped to widen the
 *      vertical breathing room between sections on Care/Home/Physicians/
 *      Visit so the live pages don't read as compressed against the figma
 *      pacing. --wume-section-padding-mobile 4rem → 5rem (+25%),
 *      --wume-section-padding-phone 3rem → 4rem, --wume-hero-padding-mobile
 *      5rem 0 4rem → 6rem 0 5rem (+20%), --wume-hero-padding-phone
 *      4rem 0 3rem → 5rem 0 4rem.
 *      (2) Brand-mark band — new .wume-brand-mark class added (cream ground,
 *      full-width wume-wordmark.png) so every page can render the giant
 *      brand wordmark figma R1 places between the last content section and
 *      the brown footer. base.html.twig V31 inserts the markup once in the
 *      shared footer area so all 5 main pages (and journal/search/account/
 *      faq/404) pick it up automatically.
 *      Cache-bust ?v=26 → ?v=27.
 * V29 figma R1 mobile alignment — editorial photo bands across the 4 main
 *      pages. Adds the .wume-photo-band utility class (full-bleed via
 *      100vw + center-shift, max-height clamped at 540/420/360 by viewport
 *      so portrait photos don't dominate). Markup additions in home/care/
 *      physicians/visit templates insert 7 total photo bands (Home 1,
 *      Care 3, Physicians 2, Visit 1) at section boundaries where figma
 *      R1 shows editorial photos and live did not. Closes the cross-cutting
 *      finding from the 2026-05-12 visual diff. Cache-bust ?v=27 → ?v=28.
 * V30 two more figma R1 alignment fixes:
 *      (1) Pathways "How It Works" diagram — replaces the compass-style
 *      .wume-how-it-works-* (N/E/S/W absolute-positioned phase labels
 *      around a center label) with .wume-pathway-rings, an inline-SVG
 *      4-overlapping-circle rosette matching figma R1's concentric/
 *      overlapping-ring visualization. Brand colors via CSS custom-property
 *      tokens; viewBox-driven scaling. The prior .wume-how-it-works-* CSS
 *      block is removed entirely (no other consumer).
 *      (2) Physicians 3-up thumbnail row — adds .wume-physician-thumbnail-row
 *      (grid-template-columns: repeat(3, 1fr)) and child rules so the
 *      non-Wu physicians (Hammerman + 2 placeholder Lorem Ipsum) render as
 *      a compact inline row matching figma R1 mobile. The prior 3 stacked
 *      .wume-physician-row sections in physicians.html.twig are consolidated
 *      by template restructure. Existing .wume-physician-row CSS untouched
 *      (still in use for Dr. Wu's full-width credential card). Drops to
 *      1-up only at <360px.
 *      Cache-bust ?v=28 → ?v=29.
 * V31 corrects the V30 Pathways "How It Works" diagram — the 4-overlapping-
 *      circle rosette was a misreading of figma. The actual figma R1 mobile
 *      diagram is a brown panel with TWO cream-stroke lines: a vertical
 *      "Ongoing Care" line (with downward arrowhead) and a curved bezier
 *      "Signature Pathway" line bowing right and rejoining. .wume-pathway-rings*
 *      rules removed and replaced with .wume-pathway-flow* (background +
 *      lines + labels). Markup also restructured in pathways.html.twig V09.
 *      Cache-bust ?v=29 → ?v=30.
 * V32 invite panel full rebuild — figma R1 mobile [94:5575]. Replaces the
 *      V21 brown-on-cream override (which itself replaced the original
 *      cream-on-cream invisible-text bug) with sand-on-cream + sage-green
 *      SEND. Color story flips from dark-mode panel to light-mode:
 *      - .wume-invite-panel background: brown → sand
 *      - .wume-invite-panel color: cream → brown
 *      - Close X color: cream → brown
 *      Markup-aligned rules added: .wume-invite-panel-header (kicker + X
 *      bar), .wume-invite-panel-kicker (REQUEST/INVITATION two-line caps
 *      label), .wume-invite-panel-form-card (cream inset for the form),
 *      .wume-invite-field + .wume-invite-label + .wume-invite-input (line-
 *      underline form rows replacing Bootstrap .form-control box style),
 *      .wume-invite-fieldset + .wume-invite-check (checkbox groups for
 *      Interest + Contact Method), .wume-invite-send (sage-green full-
 *      width SEND replacing Submit/Cancel pair), .wume-invite-panel-footer
 *      (address + emails + phone block below the form card).
 *      The V07 baseline rules for .wume-invite-panel-inner h2/p/.form-
 *      control are removed (no longer applicable — different markup).
 *      Cache-bust ?v=30 → ?v=31.
 * V33 invite panel responsive layout — adds the desktop two-column card
 *      from figma [94:3447]. At <992px the panel stays as the V32 mobile
 *      stack (cream form-card inset, footer below). At ≥992px the panel
 *      becomes a 2-column grid: sand LEFT column (kicker + serif heading
 *      + subtitle + bottom contact info) and cream RIGHT column (form
 *      filling full height). Form-field pairs (firstName+lastName,
 *      email+phone) become 2-col on desktop. Checkbox groups (interest,
 *      contact-method) wrap their labels in .wume-invite-check-row so
 *      they're stacked on mobile and inline on desktop. Panel width
 *      bumped from 480px to 100vw mobile / 960px desktop. Close X moves
 *      to absolute top-right of the panel. Cache-bust ?v=31 → ?v=32.
 * V34 Home-page figma R1 desktop [94:681] high-fidelity overrides — all
 *      scoped via `body.is-home-page` so other pages stay untouched.
 *      (1) Hero text alignment flips center → left. .wume-hero gains
 *      position:relative; a new .wume-hero-content wrapper holds the title/
 *      subtitle/CTA pair at max-width 60%. The "from the practice of Dr.
 *      Jessica Wu" kicker moves out of the centered position above the
 *      heading and pins to absolute top-right of the hero band via a new
 *      .wume-hero-tagline--corner modifier. Below 992 the kicker falls back
 *      to centered/inline (figma mobile keeps centered hero so the corner
 *      pin is desktop-only).
 *      (2) Navbar background flips cream → brown on the home page, so the
 *      announcement bar + navbar + brown hero form one continuous brown
 *      chrome surface (figma R1 shows no two-tone break). Nav links + Sign
 *      In + Cart icon recolor cream so they read on the brown ground.
 *      Border-bottom changes sand → lbrown so the seam isn't visible.
 *      (3) New .wume-press-logo-grid utility (4-up real logo images,
 *      max-height 48px, contain-fit). Replaces the 6-up text-swatch grid
 *      on the home press strip. Stacks 4→2 at <992 and 2→1 at <576.
 *      Cache-bust ?v=32 → ?v=33.
 * V35 Care-page figma R1 desktop [94:1510] high-fidelity overrides — all
 *      scoped via `body.is-care-page` so other pages stay untouched.
 *      (1) Hero background flips cream → sage. Hero becomes a 2-column
 *      layout: heading + jump-links in the LEFT column, body paragraph
 *      indented to the middle-right column. New .wume-hero-body class for
 *      the right-column body paragraph (replaces the centered
 *      .wume-hero-subtitle treatment on this page).
 *      (2) Jump links on Care flip from centered to LEFT-aligned and gain
 *      a bullet/marker prefix via :before pseudo-element. Override scoped
 *      so other pages keep the centered cluster.
 *      (3) Announcement bar hidden on Care since figma shows no
 *      announcement strip above the sage-toned navbar.
 *      (4) Navbar background flips cream → sage, border-bottom darker-sage.
 *      Nav-link / Sign In / cart-icon colors stay BLACK per the brand
 *      text-on-bg rule (sage → black, page 36 binding).
 *      (5) New .wume-three-pillar-rows class for the Care 3-pillar block:
 *      3 stacked rows, each a 3-column row (small square photo LEFT +
 *      kicker MID-LEFT + body paragraph RIGHT). Distinct from
 *      .wume-three-pillar (still used by physicians.html.twig for the
 *      "Our Standard" 6-pillar grid; untouched).
 *      (6) New .wume-step-card-body-row class for the step-card LEFT
 *      half's sub-2-column treatment: narrow far-LEFT column for the
 *      "step I." kicker, wider INDENTED middle column for the body
 *      paragraph. Heading stays on top spanning the full left half.
 *      Cache-bust ?v=33 → ?v=34.
 * V36 Care-page V08-fix: forces all 4 step-card photos to the RIGHT side
 *      via body.is-care-page .wume-step-card > .wume-step-card-image
 *      { order: 2 }, overriding the existing .wume-step-card:nth-child(even)
 *      rule that only flipped even-indexed images. Figma R1 Care keeps
 *      photos on the RIGHT for all 4 steps (no alternation); the
 *      alternation pattern was unique to live and a fidelity miss in V35.
 *      Scoped to body.is-care-page so other pages that consume
 *      .wume-step-card keep their alternating behavior.
 *      Cache-bust ?v=34 → ?v=35.
 * V37 Pathways-page figma R1 desktop [94:1855] high-fidelity overrides —
 *      all scoped via `body.is-pathways-page`. Mirrors the Care V35 hero
 *      pattern but uses BROWN chrome (Pathways' existing hero is brown).
 *      (1) Announcement bar hidden on Pathways since figma shows no
 *      announcement strip above the brown-toned navbar.
 *      (2) Navbar background flips cream → brown, border-bottom darker-
 *      brown. Nav-link / Sign In / cart-icon colors flip to cream per
 *      the brand text-on-bg rule (brown → cream, page 36 binding).
 *      (3) Hero becomes a 2-column layout: heading + jump-links anchor
 *      the LEFT column, body paragraph (.wume-hero-body) indented to the
 *      middle-right column.
 *      (4) Jump links flip from centered to LEFT-aligned and gain a "□"
 *      bullet/marker prefix. Cream-text + cream-border colored via scoped
 *      selectors (replaces the inline `style="color: var(--wume-cream)"`
 *      attributes that lived on each <a> in pathways.html.twig V09).
 *      Cache-bust ?v=35 → ?v=36.
 * V38 Physicians-page figma R1 desktop [94:1992] high-fidelity overrides —
 *      all scoped via `body.is-physicians-page`. Mirrors the Care V35
 *      pattern but uses SAND chrome (warm beige) to match figma's hero
 *      tone.
 *      (1) Announcement bar hidden on Physicians.
 *      (2) Navbar background flips cream → sand, border-bottom sand →
 *      lbrown. Nav-link / Sign In / cart icon colors stay BLACK per the
 *      brand text-on-bg rule (sand → black).
 *      (3) Hero becomes a 2-column layout: heading + jump-links anchor
 *      the LEFT column, body paragraph (.wume-hero-body) indented to the
 *      middle-right column. Hero element gains class `wume-section-alt`
 *      in the template so the existing .wume-hero.wume-section-alt
 *      compound rule paints the hero sand.
 *      (4) Jump links flip from centered to LEFT-aligned and gain "□"
 *      bullet/marker prefix on each link.
 *      Cache-bust ?v=36 → ?v=37.
 * V39 Visit-page figma R1 desktop [94:2183] high-fidelity overrides — all
 *      scoped via `body.is-visit-page`. Lighter than Care/Pathways/
 *      Physicians since figma's Visit hero is CREAM (same as the navbar
 *      base) — no chrome color flip is needed; only the announcement bar
 *      is hidden so the cream surface runs continuous from page-top
 *      through the hero.
 *      (1) Announcement bar hidden on Visit.
 *      (2) Hero becomes a 2-column layout: heading + jump-links anchor
 *      the LEFT column, body paragraph (.wume-hero-body) indented to the
 *      middle-right column.
 *      (3) Jump links flip from centered to LEFT-aligned and gain "□"
 *      bullet/marker prefix on each link.
 *      Cache-bust ?v=37 → ?v=38.
 * V40 Mobile fidelity fix across all 5 pages (Home V34, Care V35,
 *      Pathways V37, Physicians V38, Visit V39). The previous mobile
 *      fallbacks wrongly re-centered the hero treatment and the jump-link
 *      cluster on <992. Figma mobile keeps:
 *        - Hero heading + body LEFT-aligned (just like desktop, but body
 *          stacks BELOW heading instead of in a right column).
 *        - Home kicker (FROM THE PRACTICE OF DR. JESSICA WU) LEFT-aligned
 *          at the TOP of the hero (above the heading), not centered.
 *        - Jump links VERTICALLY STACKED, each on its own row, LEFT-
 *          aligned with the "□" marker prefix.
 *      Changes:
 *      (1) V34 Home @media block: text-align center → left on
 *          .wume-hero and .wume-hero-tagline--corner.
 *      (2) V35 Care, V37 Pathways, V38 Physicians, V39 Visit @media
 *          blocks: .wume-jump-links justify-content:center →
 *          flex-direction:column + align-items:flex-start + gap:12px,
 *          so the jump-links stack vertically.
 *      Cache-bust ?v=38 → ?v=39.
 * V41 Physician Application form support — figma R1 [PhysicianApplication
 *      desktop + PhyisicanApplicationMobile mobile]. The new
 *      `#physicianApplicationPanel` aside uses the SAME `.wume-invite-panel`
 *      class as the patient invite panel so it inherits all V32+V33
 *      styling (sand outer + cream form card + line-underline inputs +
 *      sage SEND + 2-col responsive). Only the file upload field needs
 *      new styling — new .wume-invite-upload-btn class (cream-on-sand
 *      cube button below the field label, replaces a "choose file" file-
 *      input control). Cache-bust ?v=39 → ?v=40.
 * V42 Home bottom "Request an Invitation" CTA layout fix to match figma
 *      mobile HomeMobile.jpg bottom band:
 *      (1) Heading + subtitle left-align (text-center removed from
 *          section markup in home.html.twig V14).
 *      (2) Subtitle rule margin override: section-scoped via
 *          `body.is-home-page .wume-invite-form .wume-section-subtitle`
 *          to drop the centered `margin: 0 auto` so the subtitle
 *          left-aligns inside the container.
 *      (3) GET STARTED button on the bottom CTA flips cream-on-brown
 *          (old V09 inline style) to sage-on-cream (figma color), and
 *          becomes full-width.
 *      (4) LOGIN link stays centered below the full-width button via
 *          the existing `d-flex flex-column align-items-center` wrapper.
 *      Photo (hourglass product image figma shows above the subtitle)
 *      is deferred to a later cycle — figma hash not yet identified
 *      (REST API node-tree endpoint 429-blocked).
 *      Cache-bust ?v=40 → ?v=41.
 * V43 Footer fidelity fix to match figma desktop + mobile sage footer:
 *      (1) `.wume-footer` background flips brown → SAGE GREEN. Text and
 *          link colors flip from cream-on-brown to BLACK-on-sage per the
 *          brand text-on-bg rule (sage → black, page 36 binding).
 *          Affected rules: .wume-footer, .wume-footer a,
 *          .wume-footer-heading, .wume-footer-text,
 *          .wume-footer-newsletter-heading, .wume-footer-links a,
 *          .wume-footer-bottom, .wume-footer-bottom p,
 *          .wume-footer-newsletter .form-control (input bg + border +
 *          placeholder colors), .wume-footer .wume-btn-outline.
 *      (2) `.wume-footer-newsletter` form layout flips from stacked
 *          (input above button) to INLINE (email input on LEFT + SUBSCRIBE
 *          on RIGHT) via display:flex on the form. Mobile fallback under
 *          575.98 stacks them back vertically.
 *      Cache-bust ?v=41 → ?v=42.
 * V44 follow-up to V43 inline newsletter: hardens the rules to win over
 *      Bootstrap `.form-control { width: 100%; }` and the `mb-2` + `w-100`
 *      utility classes that were also on the input/button in the markup.
 *      Adds `!important` on flex-direction:row on the form, on width:auto
 *      on the input + button. The markup change in base.html.twig V47
 *      drops `mb-2` and `w-100` from the input/button — making the
 *      !important fallbacks belt-and-suspenders for any custom override.
 *      Cache-bust ?v=42 → ?v=43.
 * V45 Navbar fidelity pass to match figma R1 home frame [94:681]. Markup
 *      partner is base.html.twig V48 (logo no me-auto, nav-items mx-auto,
 *      hamburger moved to far right, dual-PNG wordmark, search + person
 *      icons replacing the Sign In text link, request button hidden on
 *      mobile).
 *      Scoping: most rules are body.is-home-page so other pages keep their
 *      current navbar styling. The global primitives are: .wume-logo-img
 *      defaults (cream variant hidden by default), .wume-nav-icon sizing,
 *      and the @media (max-width: 991.98) mobile margin rule.
 *      (1) Announcement bar on home flips brown → sage, text + link colors
 *          flip cream → brown.
 *      (2) `.wume-navbar` on home loses its border-bottom so the brown
 *          flows seamlessly from navbar into the brown hero.
 *      (3) Wordmark visibility — `.wume-logo-img--light` hidden by default,
 *          `.wume-logo-img--dark` visible; on body.is-home-page these flip.
 *      (4) New `.wume-nav-icon` primitive for the search / person / cart
 *          icons — uniform 38×38 hit target, color inherits, hover fades
 *          opacity to 0.7.
 *      (5) Desktop nav links on home drop the global uppercase + caps-
 *          letter-spacing and render in sentence case (figma shows "Care"
 *          not "CARE").
 *      (6) `.wume-btn-request` on home flips from solid black to cream-
 *          outline on brown (transparent fill, 1px cream border, cream
 *          text); hover inverts to cream fill + brown text.
 *      (7) Mobile (<992): `.wume-nav-right` gets margin-left:auto so the
 *          cart cluster anchors right of the (empty) middle, and the
 *          hamburger sits flush after it.
 *      Cache-bust pairs with base.html.twig V48 ?v=43 → ?v=44.
 * V46 Follow-up to V45: search + person icons rendered black on the brown
 *      home navbar because they use `color: inherit` and the navbar had
 *      no color set, so they fell back to the body's default. The cart
 *      worked because it has its own explicit home-page color rule.
 *      Hamburger also rendered in Bootstrap's default rgba(0,0,0,0.65).
 *      Fix: set `color: var(--wume-cream)` on body.is-home-page
 *      .wume-navbar (cascade) plus an explicit rule on the .navbar-toggler
 *      to override Bootstrap's dark default. Nothing else changes —
 *      existing explicit color rules on .nav-link and .wume-cart-icon
 *      remain as belt-and-suspenders.
 *      Cache-bust pairs with base.html.twig V49 ?v=44 → ?v=45.
 * V47 Fix dual-wordmark regression on non-home pages (audit item A).
 *      The V45 rule `.wume-logo-img--light { display: none; }` was
 *      being beaten in the cascade by an older `.wume-logo img
 *      { display: block; }` rule (specificity 0,1,1 vs 0,1,0), so both
 *      wordmark variants rendered side by side on Care, Pathways,
 *      Physicians, and Visit. Fix: prefix each show/hide selector with
 *      `.wume-logo ` (specificity 0,2,0) so they win the cascade. No
 *      markup change.
 * V48 Move WUME wordmark INTO the sage footer (audit item B). Pre-V48
 *      the wordmark rendered as a standalone <section class="wume-brand-
 *      mark"> band above the footer, using the original black-on-white
 *      opaque PNG — which read as a giant white-tile rectangle. Figma R1
 *      shows the large wordmark INSIDE the sage footer as one cohesive
 *      band, cream-on-sage. Changes:
 *      (1) `.wume-brand-mark` rules retired (the standalone cream-tile
 *          element no longer exists in markup).
 *      (2) New `.wume-footer-wordmark-row` + `.wume-footer-wordmark`
 *          rules render the wordmark at full container width at the top
 *          of the sage footer.
 *      (3) Markup move lives in base.html.twig V50 (section deleted,
 *          new <img> inserted as first row of `.wume-footer .container`).
 *          The img src points at the new wume-wordmark-cream.png
 *          transparent-background variant so cream letters appear
 *          directly on the sage ground.
 *      Cache-bust pairs with base.html.twig V50 ?v=45 → ?v=46.
 * V49 Bottom "Request an Invitation" CTA — photo background + brown
 *      translucent overlay (audit item C). Figma R1 shows this section
 *      as the editorial "hands holding hourglass" photo (figma image hash
 *      73f1a227e63e03c4b59e4f67d951933272caa5d6.png) with a brown
 *      ~55%-opacity tint layered on top. Live previously rendered as a
 *      flat brown band. Single-rule CSS change targeting
 *      `.wume-invite-form.wume-section-brown` — uses multi-background
 *      with a linear-gradient (overlay) above a background-image (photo).
 *      Applies globally; every page that uses this section markup picks
 *      up the treatment.
 *      Cache-bust pairs with base.html.twig V51 ?v=46 → ?v=47.
 * V50 Heading + subtitle left-alignment cascade (audit item D). Figma
 *      R1 left-aligns most section headings and supporting bodies; the
 *      live templates had `text-center` on the `<section>` markup of
 *      many sections, which Bootstrap turns into `text-align: center
 *      !important`, cascading down to the heading + subtitle inside.
 *      Fix: remove `text-center` from the targeted sections (care
 *      bottom CTA, pathways integrated-care, physicians experience +
 *      truly + practice + heading wrappers, home services strip +
 *      testimonials wrapper, visit heading wrapper) in the templates.
 *      The press-strip and tile-card centered usages stay as-is. CSS
 *      gains a `:not(.text-center)` rule on `.wume-section-subtitle`
 *      so the subtitle's `max-width: 600px; margin: 0 auto` box-
 *      centering doesn't leave a narrow centered column under a left-
 *      aligned heading.
 *      Cache-bust pairs with base.html.twig V52 ?v=47 → ?v=48.
 * V51 Extend the V50 `:not(.text-center)` subtitle rule to also cover
 *      `.wume-invite-form:not(.text-center)` so the Care bottom CTA's
 *      subtitle anchors to the container's left edge instead of staying
 *      in a 600px centered box next to the now left-aligned heading.
 *      Cache-bust pairs with base.html.twig V53 ?v=48 → ?v=49.
 * V52 Home mobile carousels (audit item 2) + sage footer 2-photo grid
 *      (audit item 4).
 *      Item 2: Home's `.wume-services-grid` (7 treatment tiles) and the
 *      "Real stories" testimonial row both stack vertically on mobile,
 *      doubling the page height vs figma's horizontal-scrolling
 *      carousels. New @media (max-width: 991.98) rules flip both to
 *      flex-row + overflow-x auto + scroll-snap-type x mandatory. Each
 *      tile takes ~75% of viewport width, each testimonial card takes
 *      ~80%, so the next tile/card peeks at the right edge as an
 *      affordance. The testimonial row gets a scoping class
 *      `wume-testimonial-row` added in home.html.twig V17 so this rule
 *      doesn't bleed onto other Bootstrap `.row` elements site-wide.
 *      Item 4: New `.wume-footer-photos` 2-col CSS grid rule for the
 *      2-photo block inside the sage footer (markup added in
 *      base.html.twig V54 between the wordmark row and the content
 *      row). Photos use the two figma Section-8 hashes already
 *      identified in the home image map memory (`3745aace…` and
 *      `9668b693…`) — portrait crops, full-width on mobile + desktop.
 *      Cache-bust pairs with base.html.twig V54 ?v=49 → ?v=50.
 * V53 Final-figma foundation: real @font-face for Rhymes Text Light (replaces
 *      the Georgia fallback for all headings); palette corrected to the
 *      design-system Color board (cream/stone #F2F0EB → #F4F1EB, sand
 *      #D4C9B0 → #E3DDCD); heading weight 400 → 300 (all headings Light);
 *      heading tracking -0.02em → -0.03em (-3%). Paired with base ?v=52.
 * V54 Home final-figma rebuild styles: .wume-hero-final + .wume-hero-band,
 *      .wume-section-sage feature band, .wume-pathway-cards (4 Signature
 *      Pathways), .wume-steps (what-happens-at-wume), .wume-img-cover,
 *      .wume-link-underline, .wume-stories-head. Pairs with home.html.twig
 *      V18 and base.html.twig ?v=53.
 * V55 Pathway-card corner icon (.wume-pathway-card-icon, bi-arrow-up-right):
 *      cards become position:relative with the up-right arrow pinned
 *      top-right. Pairs with home.html.twig V20 + base ?v=54.
 * V56 Home rebuilt to match home.png section crops: per-section bg classes
 *      (sand/stone/sage), sage/sand buttons, animated hero carousel, the
 *      editorial feature pattern (heading on top + small-caps label with
 *      indented body + side image), top-left card arrows, step-number
 *      column, brown story cards, photo-overlay CTA. Pairs with
 *      home.html.twig V21 + base ?v=55.
 * V57 Home redone with EXACT get_design_context values: 36px .wume-x
 *      container, sharp sage/sand buttons (no radius, 14px black caps),
 *      14px caps underline links, translucent cards with the real figma
 *      arrow asset + 30px label, 50/40/30px headings, real figma photos.
 *      Pairs with home.html.twig V22 + base ?v=56.
 * V58 Navbar to figma: announcement warm-brown #715434 no-underline (X hidden),
 *      nav bg sand, nav links sentence-case 16px regular, Start-With-WUME a
 *      translucent outlined box (black caps, sage on hover), 36px margins.
 *      Pairs with base ?v=57.
 * V59 Nav CTA border -> white (was dark); nav search/account/cart icons
 *      swapped to the real figma SVGs (.wume-nav-icon-img). Pairs base ?v=58.
 * V60 Section-bg selectors made specific (.wume-section.wume-bg-*) so sage +
 *      sand bands win over .wume-section; pathway tiles + stories are real
 *      auto-carousels; tiles 464px, sage on hover, arrow -38deg; what-happens
 *      label one line. Pairs home.html.twig V23 + base ?v=59.
 * V61 Home bottom + nav + footer figma fixes: Real-stories section bg
 *      stone -> sand; story cards turn sand on hover (dark text + shadow so
 *      they stay visible on the sand ground); CTA rebuilt as a frosted-glass
 *      panel over the (parallax) warm hourglass photo with a sharp top-right
 *      inset; scrolled nav gets the figma 85%-sand + blur glass; the
 *      full-page mega-menu veil (body::before) is neutralized so the glass
 *      lives on the nav, not over the page; nav-link hover is a frosted
 *      square (not underline) + nav icons fade on hover; footer WUME wordmark
 *      constrained 100% -> 440px and the 2 footer photos capped to a 440px
 *      column (were full-width). Pairs home.html.twig V25 + base ?v=60.
 * V62 Home-figma round 2: pathway arrow -> top-right corner; what-happens
 *      image stretches to the steps height (was centered with big gaps); nav
 *      scroll-glass dropped 85% sand -> 55% stone so it reads as glass;
 *      Real-stories reverted sand -> stone (so the sand card-hover shows);
 *      footer rebuilt to the figma grid (black wordmark, uppercase address
 *      mid / social right / legal row bottom, less top space). Pairs
 *      home.html.twig V26 + base ?v=61.
 * V63 Dr Wu (World) section now layers the portrait over the stone-arches
 *      background (.wume-drwu-stack/bg/fg) at 74% width, floated bottom-right
 *      with a shadow (figma "doctor floats on a background picture"); Expert
 *      image swapped to the figma 3-people wood-room shot. Pairs home V27 +
 *      base ?v=62.
 * V64 Round 3 polish: nav scroll-glass 0.55 -> 0.30 (clearly translucent);
 *      footer address lines stack (were inline), "Join the WUME world"
 *      centered with the photos; footer left column 440 -> 560px, wordmark
 *      -> 540px, photos -> 560px, legal row confined to the left column and
 *      justified to the picture edges, social pulled ~75px off the page edge;
 *      Dr Wu portrait centered over the arches. Pairs home V28 + base ?v=63.
 * V65 PIXEL-EXACT pass (measured from figma home.png @1440 = 1:1 CSS px):
 *      footer rebuilt to exact px — content x=36..1342, wordmark 560px (aligns
 *      with the 36..596 pictures), col gap 132px (address starts x=728),
 *      pictures 560px wide / aspect 274:350 (=350px tall), vertical gaps
 *      top42/wordmark->pics70(28+42)/pics->legal42/bottom13, address+social
 *      wrapped in .wume-footer-right-top (col2), news bottom-aligned with the
 *      pictures, legal justified to the picture edges. `.wume-section` padding
 *      80 -> 44px (figma inter-section gaps are 68-100px, not 160). Nav -> near
 *      -clear glass rgba(255,255,255,.10/.12)+blur at BOTH states (figma liquid
 *      glass). Pairs home V28 + base ?v=64.
 * V66 Footer row2 pinned to grid-template-rows auto/350px/auto so the news box
 *      can't inflate it — pics->legal gap back to the figma 42px (was 82).
 * V67 404 page rebuilt to figma: .wume-404 cream centered error text +
 *      .wume-404-photos full-width 6-photo band (was a broken left-aligned
 *      single backdrop image with no desktop CSS). Pairs 404.html.twig V04 +
 *      base ?v=66.
 * V68 Stage-2 desktop 404: figma photo gaps 16px + 367px tall + ~130px text->band
 *      gap, scoped @min-width:992px (mobile 404 untouched). Pairs base ?v=67.
 * V69 Navbar solid on scroll for non-home pages (home keeps brown chrome). Hero
 *      bodies un-squeezed at wide viewports: care/pathways/physicians intro moved
 *      below the heading + widened (max-width 340px -> 670/470/470). Pairs ?v=74.
 * V70 Restored figma liquid-glass: navbar translucent/frosted at the top (rgba
 *      white 0.10 + 20px blur); .is-scrolled flips it solid cream as you scroll.
 *      V69 had wrongly flattened the top to solid too. Pairs base ?v=75.
 * V71 Reverted the erroneous solid-on-scroll: .is-scrolled is translucent again
 *      (rgba 0.12 + 22px blur — content shows through). The 4 per-page navbar
 *      color overrides scoped :not(.is-scrolled) so they tint only the first
 *      screen; once scrolled the bar is translucent site-wide. Pairs base ?v=76.
 * V72 Announcement strip wired to figma R1: shown on HOME (brown band, cream
 *      text via the default) + SEARCH (sage band, dark text). Removed the wrong
 *      sage-on-home override (pixel sample: home #4D3D2D/#715434 brown, search
 *      #949B88 sage). Pairs base ?v=77.
 * V73 Mobile home announcement bar deepened from the default lbrown (#715434)
 *      to --wume-brown (#4D3D2D) — the figma mobile home frame is a shade darker
 *      than desktop. Phones only. Pairs base ?v=78.
 */

/* ── Unica 77 LL Web Fonts ── */
@font-face {
    font-family: 'Unica77';
    src: url('../fonts/Unica77LLWeb-Regular.woff2') format('woff2'),
         url('../fonts/Unica77LLWeb-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Unica77';
    src: url('../fonts/Unica77LLWeb-Medium.woff2') format('woff2'),
         url('../fonts/Unica77LLWeb-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* ── Rhymes Text (heading family) ──
   Light is the only weight the final design uses; supplied from
   maxitype.zip, served from /fonts/. OTF is accepted by all modern
   browsers via format('opentype'). */
@font-face {
    font-family: 'Rhymes Text';
    src: url('../fonts/RhymesText-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

:root {
    /* === BRAND COLOR PALETTE (Wume Brand Style Guide page 35) === */
    --wume-cream:   #F4F1EB;
    --wume-sand:    #E3DDCD;
    --wume-sage:    #949B88;
    --wume-lbrown:  #715434;
    --wume-brown:   #4D3D2D;
    --wume-black:   #000000;
    --wume-paper:   var(--wume-cream); /* Wume "white" — use anywhere CSS would normally use #ffffff */

    /* Text-on-background rule (page 36, binding) */
    --wume-text-on-cream:  var(--wume-black);
    --wume-text-on-sand:   var(--wume-black);
    --wume-text-on-sage:   var(--wume-black);
    --wume-text-on-lbrown: var(--wume-cream);
    --wume-text-on-brown:  var(--wume-cream);
    --wume-text-on-black:  var(--wume-cream);

    /* === TYPOGRAPHY === */
    --wume-font-heading: 'Rhymes Text', Georgia, 'Times New Roman', serif;
    --wume-font-body:    'Unica77', Arial, Helvetica, sans-serif;

    --wume-w-heading-display: 300; /* Rhymes Text Light, hero only */
    --wume-w-heading:         300; /* Rhymes Text Light — final figma: all headings Light */
    --wume-w-body:            400;
    --wume-w-sub:             500; /* Unica 77 Medium for ALL CAPS kicker/CTA */

    --wume-tracking-heading: -0.03em; /* final figma: -3% on headings */
    --wume-tracking-caps:    0.06em;

    /* Leading: brand strict is size+2pt (~1.13 ratio) — relaxed to 1.4 for body
       prose readability; tables/forms get the brand-strict editorial rhythm. */
    --wume-lead-body:     1.4;
    --wume-lead-clinical: 1.45;
    --wume-lead-heading:  1.13;

    /* === LAYOUT === */
    --wume-nav-height: 72px;

    /* === MOBILE REFLOW TOKENS (V25 Phase B cascade fix; V28 widened for figma rhythm) ===
       Named replacements for the 4rem / 3rem / 106px magic numbers that the
       Phase B 991.98 + 768 media blocks shared. V28 bumped section padding
       4rem → 5rem (mobile) and 3rem → 4rem (phone), and hero padding
       5rem 0 4rem → 6rem 0 5rem (mobile) and 4rem 0 3rem → 5rem 0 4rem
       (phone) so mobile sections breathe closer to figma R1 mobile rhythm.
       Section padding +25%, hero padding +20%. */
    --wume-section-padding-mobile: 5rem;       /* applied at <992 (tablet/phone) — V28: was 4rem */
    --wume-section-padding-phone:  4rem;       /* applied at <769 (phone-tighter) — V28: was 3rem */
    --wume-hero-padding-mobile:    6rem 0 5rem; /* V28: was 5rem 0 4rem */
    --wume-hero-padding-phone:     5rem 0 4rem; /* V28: was 4rem 0 3rem */
    --wume-mobile-sticky-offset: calc(var(--wume-nav-height, 64px) + 42px); /* announcement + nav */
}

/* ── Home (final figma) — EXACT values from get_design_context [446:920] ── */
/* 36px-margin content container (figma 1440 grid) */
.wume-x { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 36px; }

/* section backgrounds */
.wume-section.wume-bg-sand  { background: var(--wume-sand); }
.wume-section.wume-bg-stone { background: var(--wume-cream); }
.wume-section.wume-bg-sage  { background: var(--wume-sage); color: var(--wume-black); }

/* buttons — SHARP corners, 14px black caps, sage / sand (figma 446:983 / 446:973) */
.wume-btn-sage, .wume-btn-sand {
    display: inline-block; border: none; border-radius: 0; padding: 15px 80px;
    font-family: var(--wume-font-body); font-weight: 500; font-size: 14px; line-height: 1.2;
    letter-spacing: 0.05em; text-transform: uppercase; color: var(--wume-black); cursor: pointer;
}
.wume-btn-sage { background: var(--wume-sage); }
.wume-btn-sand { background: var(--wume-sand); }
.wume-btn-sage:hover { background: #868d77; color: var(--wume-black); }
.wume-btn-sand:hover { background: #d6cdb6; color: var(--wume-black); }

/* links — underline at default offset, 14px black caps (figma 446:933 etc.) */
.wume-link-underline {
    display: inline-block; margin-top: 28px; font-family: var(--wume-font-body);
    font-weight: 500; font-size: 14px; line-height: 1.2; letter-spacing: 0.05em;
    text-transform: uppercase; text-decoration: underline; text-decoration-thickness: 1px;
    text-underline-offset: 2px; color: inherit;
}

/* HERO (sand) — centered, 50px headline, animated photo carousel */
.wume-hero-final { background: var(--wume-sand); padding: 72px 0 0; text-align: center; }
.wume-hero-final-copy { max-width: 820px; margin: 0 auto; }
.wume-hero-final-title {
    font-family: var(--wume-font-heading); font-weight: 300; font-size: 50px; line-height: 1.2;
    letter-spacing: -1.5px; margin: 0 auto; max-width: 780px;
}
.wume-hero-final-subtitle {
    font-family: var(--wume-font-body); font-weight: 400; font-size: 18px; line-height: 1.4;
    max-width: 563px; margin: 28px auto 32px;
}
.wume-hero-final .wume-btn-sage { margin: 0; }
.wume-hero-band { overflow: hidden; margin-top: 56px; }
.wume-hero-band-track { display: flex; gap: 16px; width: max-content; animation: wume-band-scroll 60s linear infinite; }
.wume-hero-band:hover .wume-hero-band-track { animation-play-state: paused; }
.wume-hero-band-track img { flex: 0 0 auto; width: 243px; height: 365px; object-fit: cover; }
@keyframes wume-band-scroll { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 8px)); } }

/* feature pattern: 40px heading on top, [185px label | indented 18px body] row, side image */
.wume-feature { display: grid; grid-template-columns: 1fr 522px; column-gap: 60px; align-items: center; }
.wume-feature--img-left { grid-template-columns: 522px 1fr; }
.wume-feature-title {
    font-family: var(--wume-font-heading); font-weight: 300; font-size: 40px; line-height: 1.2;
    letter-spacing: -1.2px; margin: 0 0 48px; max-width: 648px;
}
.wume-feature-row { display: grid; grid-template-columns: 230px 1fr; align-items: start; }
.wume-feature-label, .wume-feature-label--top {
    font-family: var(--wume-font-body); font-weight: 500; font-size: 14px; line-height: 1.2;
    letter-spacing: 0.05em; text-transform: uppercase; color: inherit; margin: 0; max-width: 185px;
}
.wume-feature-label--top { margin: 0 0 28px; max-width: none; white-space: nowrap; }
.wume-feature-body { max-width: 479px; }
.wume-feature-body p { font-family: var(--wume-font-body); font-size: 18px; line-height: 1.4; margin: 0 0 10px; }
.wume-feature-media img { width: 522px; max-width: 100%; height: 654px; object-fit: cover; display: block; }
/* what-happens: image fills the steps column height so it hugs the steps (figma has little gap above/below) */
.wume-feature--steps { align-items: stretch; }
.wume-feature--steps .wume-feature-media img { height: 100%; min-height: 520px; }
/* Dr Wu (World) — figma floats the portrait (sketches backdrop) over the stone-arches background, smaller than the column */
.wume-drwu-stack { position: relative; aspect-ratio: 522 / 600; }
.wume-drwu-stack .wume-drwu-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.wume-drwu-stack .wume-drwu-fg { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 72%; height: 82%; object-fit: cover; display: block; box-shadow: 0 16px 44px rgba(0,0,0,0.32); }

/* protocols: heading + small 200px corner image */
.wume-feature--img-corner { grid-template-columns: 1fr 200px; align-items: start; column-gap: 40px; }
.wume-feature-corner-img img { width: 200px; height: 200px; object-fit: cover; display: block; }

/* pathway cards — translucent panels, real arrow, 30px label, AUTO CAROUSEL, sage on hover */
.wume-pathway-cards { overflow: hidden; margin-top: 56px; }
.wume-pathway-track { display: flex; gap: 16px; width: max-content; animation: wume-cards-scroll 38s linear infinite; }
.wume-pathway-cards:hover .wume-pathway-track { animation-play-state: paused; }
@keyframes wume-cards-scroll { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 8px)); } }
.wume-pathway-card {
    flex: 0 0 464px; display: flex; flex-direction: column; justify-content: space-between;
    height: 128px; padding: 16px 20px; background: rgba(254,254,252,0.4); text-decoration: none;
    transition: background .2s ease;
}
.wume-pathway-card:hover { background: var(--wume-sage); }
.wume-pathway-card-icon { width: 22px; height: 20px; display: block; transform: rotate(-38.41deg); align-self: flex-end; }
.wume-pathway-card-label {
    font-family: var(--wume-font-heading); font-weight: 300; font-size: 30px; line-height: 1.1;
    letter-spacing: -0.6px; color: var(--wume-black);
}

/* steps — STEP n left column, 30px title, 16px body */
.wume-steps { list-style: none; margin: 20px 0 0; padding: 0; }
.wume-steps li { display: grid; grid-template-columns: 115px 1fr; padding: 22px 0; }
.wume-step-num {
    font-family: var(--wume-font-body); font-weight: 500; font-size: 14px; line-height: 1.2;
    letter-spacing: 0.05em; text-transform: uppercase; color: var(--wume-black); padding-top: 8px;
}
.wume-step-title {
    font-family: var(--wume-font-heading); font-weight: 300; font-size: 30px; line-height: 1.2;
    letter-spacing: -0.6px; margin: 0 0 6px; max-width: 558px;
}
.wume-step-body p { font-family: var(--wume-font-body); font-size: 16px; line-height: 1.4; margin: 0; max-width: 558px; }

/* stories — brown cards (quote top, name+headline bottom), horizontal scroll */
.wume-stories-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 40px; flex-wrap: wrap; }
.wume-stories-head .wume-section-title { font-family: var(--wume-font-heading); font-weight: 300; font-size: 50px; line-height: 1.2; letter-spacing: -1.5px; margin: 0; }
.wume-stories-head .wume-link-underline { margin-top: 0; }
.wume-stories-cards { overflow: hidden; }
.wume-stories-track { display: flex; gap: 24px; width: max-content; animation: wume-stories-scroll 50s linear infinite; }
.wume-stories-cards:hover .wume-stories-track { animation-play-state: paused; }
@keyframes wume-stories-scroll { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 12px)); } }
.wume-story-card {
    flex: 0 0 439px; display: flex; flex-direction: column; justify-content: space-between;
    height: 398px; padding: 36px; background: var(--wume-lbrown); color: var(--wume-cream);
    transition: background .22s ease, color .22s ease, box-shadow .22s ease;
}
.wume-story-card:hover {
    background: var(--wume-sand); color: var(--wume-black);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}
.wume-story-quote { font-family: var(--wume-font-heading); font-weight: 300; font-size: 30px; line-height: 1.2; letter-spacing: -0.6px; margin: 0; max-width: 362px; }
.wume-story-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; }
.wume-story-name, .wume-story-headline { font-family: var(--wume-font-body); font-weight: 500; font-size: 14px; letter-spacing: 0.05em; text-transform: uppercase; line-height: 1.2; }
.wume-story-headline { text-align: right; max-width: 130px; }

/* CTA — frosted-glass panel over the (blurred, parallax) warm hourglass photo + sharp inset. Figma 446:965 */
.wume-cta-final { background-size: cover; background-position: center; background-attachment: fixed; color: var(--wume-cream); padding: 96px 0; position: relative; }
.wume-cta-final::before { content: ""; position: absolute; inset: 0; background: rgba(77,61,45,0.18); pointer-events: none; }
.wume-cta-final .wume-x { position: relative; }
.wume-cta-glass {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 40px;
    padding: 56px;
    background: rgba(255,255,255,0.10);
    backdrop-filter: blur(18px) saturate(120%);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
    border: 1px solid rgba(255,255,255,0.28);
}
.wume-cta-inset { flex: 0 0 auto; }
.wume-cta-inset img { display: block; width: 132px; height: 168px; object-fit: cover; border: 1px solid rgba(255,255,255,0.35); }
.wume-cta-copy { max-width: 676px; }
.wume-cta-title { font-family: var(--wume-font-heading); font-weight: 300; font-size: 50px; line-height: 1.2; letter-spacing: -1.5px; margin: 0 0 24px; }
.wume-cta-body { font-family: var(--wume-font-body); font-size: 18px; line-height: 1.4; max-width: 432px; margin: 0 0 32px; }
.wume-cta-actions { display: flex; align-items: center; gap: 40px; }
.wume-cta-login { color: var(--wume-cream); text-transform: uppercase; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; font-size: 14px; letter-spacing: 0.05em; font-weight: 500; }

@media (max-width: 991.98px) {
    .wume-x { padding: 0 20px; }
    .wume-cta-final { background-attachment: scroll; }
    .wume-cta-glass { flex-direction: column; padding: 32px; gap: 28px; }
    .wume-feature, .wume-feature--img-left, .wume-feature--img-corner { grid-template-columns: 1fr; row-gap: 28px; }
    .wume-feature--img-left .wume-feature-media { order: -1; }
    .wume-feature-row { grid-template-columns: 1fr; row-gap: 12px; }
    .wume-feature-media img { width: 100%; height: auto; aspect-ratio: 4/5; }
    .wume-feature-corner-img img { width: 120px; height: 120px; }
    .wume-hero-final-title { font-size: 34px; letter-spacing: -1px; }
    .wume-feature-title, .wume-cta-title, .wume-stories-head .wume-section-title { font-size: 28px; letter-spacing: -0.8px; }
    .wume-step-title, .wume-pathway-card-label, .wume-story-quote { font-size: 22px; }
    .wume-hero-band-track img { width: 160px; height: 240px; }
}

/* ── Global ── */
body {
    font-family: var(--wume-font-body);
    background: var(--wume-cream);
    color: var(--wume-black);
    line-height: var(--wume-lead-body);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    letter-spacing: var(--wume-tracking-heading);
    line-height: var(--wume-lead-heading);
}

a {
    color: inherit;
}

/* ── Announcement Bar ── */
.wume-announcement-bar {
    background: var(--wume-lbrown);
    color: var(--wume-cream);
    padding: 8px 40px;
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    position: relative;
}

.wume-announcement-link {
    color: var(--wume-cream);
    text-decoration: none;
}

.wume-announcement-link:hover {
    color: var(--wume-cream);
    text-decoration-thickness: 2px;
}

.wume-announcement-close {
    display: none;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--wume-cream);
    font-size: 1rem;
    cursor: pointer;
    opacity: 0.7;
}

.wume-announcement-close:hover {
    opacity: 1;
}

/* Announcement bar removed on inner pages to match the figma standard (no
   top invitation strip). Left in the DOM so the sticky-offset JS still
   resolves #announcement-bar; simply not rendered. */
#announcement-bar {
    display: none;
}
/* ...except HOME + SEARCH, whose figma keeps the "Read our latest doctoral
   digest" strip (brown band on home, sage band on search). */
body.is-home-page #announcement-bar,
body.is-search-page #announcement-bar {
    display: block;
}

/* ── Navigation ── */
.wume-navbar {
    background: rgba(255, 255, 255, 0.10);  /* figma liquid-glass: translucent/frosted at the top; .is-scrolled flips it solid */
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border-bottom: none;
    padding: 0 0;
    min-height: var(--wume-nav-height);
}

/* Brand spec page 60: logo CENTERED with nav flanking. The Bootstrap
   navbar is reordered via .order-* utilities in base.html.twig.
   This .wume-logo class wraps the SVG mark, never typeset text. */
.wume-logo {
    display: inline-flex;
    align-items: center;
    color: var(--wume-black);
    text-decoration: none;
}

.wume-logo svg {
    height: 36px;
    width: auto;
    display: block;
}

.wume-nav-items .nav-link {
    font-family: var(--wume-font-body);
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0;
    text-transform: none;
    color: var(--wume-black);
    padding: 24px 18px;
    transition: text-decoration-thickness 0.15s;
}

.wume-nav-items .nav-link:hover,
.wume-nav-items .nav-link:focus {
    color: var(--wume-black);
    background: rgba(254, 254, 252, 0.35);   /* figma: hover is a frosted square, not an underline */
    text-decoration: none;
    opacity: 0.9;
}

/* nav CTA — translucent outlined box, black caps, sage on hover (figma 446:1063) */
.wume-navbar .wume-btn-request {
    background: transparent;
    border: 1px solid var(--wume-black);
    border-radius: 0;
    color: var(--wume-black);
    padding: 13px 26px;
    font-family: var(--wume-font-body);
    font-weight: 500;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.wume-navbar .wume-btn-request:hover {
    background: var(--wume-sage);
    border-color: var(--wume-sage);
    color: var(--wume-black);
}
/* Home: the navbar sits on the brown hero, so the dark base border would
   vanish — keep a cream outline + cream caps there. */
body.is-home-page .wume-navbar .wume-btn-request {
    border-color: var(--wume-cream);
    color: var(--wume-cream);
}
.wume-nav-icon-img { height: 17px; width: auto; display: block; }
.wume-nav-icon { transition: opacity .15s ease; }
.wume-nav-icon:hover { opacity: 0.6; }   /* figma: icons get the same hover fade, no square */

.wume-dropdown {
    background: var(--wume-cream);
    border: 1px solid var(--wume-sand);
    border-radius: 0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    padding: 12px 0;
    min-width: 220px;
}

.wume-dropdown .dropdown-item {
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    padding: 8px 24px;
    color: var(--wume-black);
}

.wume-dropdown .dropdown-item:hover {
    background: var(--wume-sand);
    color: var(--wume-black);
}

/* ── Nav Actions (Login, Cart, Request) ── */
.wume-btn-nav-login {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    background: none;
    border: none;
    padding: 8px 12px;
}

.wume-btn-nav-login:hover {
    color: var(--wume-black);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.wume-cart-icon {
    position: relative;            /* anchor the absolute #cart-badge to the icon, not the navbar */
    color: var(--wume-black);
    font-size: 1.2rem;
    text-decoration: none;
}

.wume-cart-icon:hover {
    color: var(--wume-lbrown);
}

.wume-cart-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background: var(--wume-brown);
    color: var(--wume-cream);
    font-size: 0.65rem;
    font-weight: 600;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--wume-font-body);
}

/* ── Buttons ── */
.wume-btn-primary {
    background: var(--wume-black);
    color: var(--wume-cream);
    border: 1px solid var(--wume-black);
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    padding: 12px 28px;
    border-radius: 0;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.wume-btn-primary:hover,
.wume-btn-primary:focus {
    background: var(--wume-brown);
    border-color: var(--wume-brown);
    color: var(--wume-cream);
}

.wume-btn-outline {
    background: transparent;
    color: var(--wume-black);
    border: 1px solid var(--wume-black);
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    padding: 12px 28px;
    border-radius: 0;
    transition: background 0.2s, color 0.2s;
}

.wume-btn-outline:hover,
.wume-btn-outline:focus {
    background: var(--wume-black);
    color: var(--wume-cream);
}

/* ── Sections ── */
.wume-section {
    padding: 44px 0;
    background: var(--wume-cream);
    color: var(--wume-text-on-cream);
}

.wume-section-alt {
    background: var(--wume-sand);
    color: var(--wume-text-on-sand);
}

.wume-section-sage {
    background: var(--wume-sage);
    color: var(--wume-text-on-sage);
}

.wume-section-brown {
    background: var(--wume-brown);
    color: var(--wume-text-on-brown);
}

.wume-section-lbrown {
    background: var(--wume-lbrown);
    color: var(--wume-text-on-lbrown);
}

.wume-section-title {
    font-size: 2.2rem;
    margin-bottom: 16px;
}

.wume-section-subtitle {
    font-size: 1rem;
    color: inherit; /* hierarchy via size + spacing, not color */
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

.wume-section-cta {
    margin-top: 32px;
}

/* ── Hero ── */
.wume-hero {
    padding: 120px 0 100px;
    text-align: center;
    background: var(--wume-cream);
    color: var(--wume-text-on-cream);
}

.wume-hero-title {
    font-size: 3rem;
    line-height: var(--wume-lead-heading);
    margin-bottom: 20px;
}

.wume-hero-subtitle {
    font-size: 1.1rem;
    color: inherit;
    max-width: 560px;
    margin: 0 auto 32px;
    line-height: 1.6;
}

.wume-hero-tagline {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: inherit; /* kicker is black on light grounds, cream on dark — inherits per text-on-bg rule */
    margin-bottom: 16px;
}

/* ── Image Placeholders ── */
.wume-img-placeholder {
    background: var(--wume-sand);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wume-black);
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    min-height: 300px;
}

/* ── Editorial photo band (V29, figma R1 mobile alignment) ──
   Full-bleed photo placed between content sections to match figma's
   image-rich pacing. The 100vw + center-shift trick negates the parent
   container's max-width so the photo runs edge-to-edge regardless of
   surrounding layout. max-height clamps at 3 breakpoints (540 desktop /
   420 <992 / 360 <576) so very tall portrait photos don't dominate the
   page. */
.wume-photo-band {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
.wume-photo-band img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 540px;
    object-fit: cover;
}
@media (max-width: 991.98px) {
    .wume-photo-band img {
        max-height: 420px;
    }
}
@media (max-width: 575.98px) {
    .wume-photo-band img {
        max-height: 360px;
    }
}

/* ── Request an Invitation Section ── */
.wume-section-invite {
    background: var(--wume-cream);
    padding: 80px 0;
}

/* V48: the separate brand-mark band (cream ground, opaque PNG) is retired —
   figma R1 puts the large WUME wordmark INSIDE the sage footer as one
   cohesive band. The new rules live with the rest of the footer styling
   below (.wume-footer-wordmark-row + .wume-footer-wordmark). */

/* ── Footer ── */
/* V43: footer background flips brown → sage, text/link colors flip
   cream → black per brand text-on-bg rule (sage → black, page 36). */
.wume-footer {
    background: var(--wume-sage);
    color: var(--wume-black);
    padding: 42px 0 13px;
}

.wume-footer a {
    color: var(--wume-black);
}

/* V48 — Large WUME wordmark at the top of the sage footer band. Replaces
   the retired .wume-brand-mark cream-tile element. Uses the cream-on-
   transparent variant so cream letters sit directly on the sage ground. */
.wume-footer-wordmark-row {
    padding: 16px 0 32px;
}
.wume-footer-wordmark {
    display: block;
    width: 560px;
    max-width: 100%;
    height: auto;
}
/* ── Figma footer grid: black wordmark + photos (left), address (mid), social (right), newsletter (mid), legal row (bottom) ── */
.wume-footer-grid {
    display: grid;
    grid-template-columns: 560px 1fr;
    grid-template-rows: auto 350px auto;
    grid-template-areas:
        "brand   top"
        "photos  news"
        "legal   .";
    column-gap: 132px;
    row-gap: 42px;
    align-items: start;
    padding-right: 62px;
}
.wume-footer-brand     { grid-area: brand; display: block; margin-bottom: 28px; }
.wume-footer-right-top { grid-area: top; display: flex; justify-content: space-between; gap: 40px; }
.wume-footer-social    { list-style: none; margin: 0; padding: 0; }
.wume-footer-photos    { grid-area: photos; }
.wume-footer-news      { grid-area: news; align-self: end; max-width: 100%; }
.wume-footer-legal     { grid-area: legal; display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: center; }
.wume-footer-address p,
.wume-footer-social li a {
    font-family: var(--wume-font-body); font-size: 13px; font-weight: 400;
    letter-spacing: 0.05em; text-transform: uppercase; line-height: 1.7;
    color: var(--wume-black); text-decoration: none; display: inline-block;
}
.wume-footer-address p { margin: 0 0 16px; display: block; }
.wume-footer-social li { margin-bottom: 10px; }
.wume-footer-news-text { font-family: var(--wume-font-body); font-size: 16px; line-height: 1.4; margin: 0 0 18px; color: var(--wume-black); }
.wume-footer-legal span,
.wume-footer-legal a { font-family: var(--wume-font-body); font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--wume-black); text-decoration: none; }

/* 404 — figma: cream centered error text + a full-width band of 6 photos at the bottom */
.wume-404 { background: var(--wume-cream); padding-top: 72px; }
.wume-404-inner { text-align: center; max-width: 640px; margin: 0 auto; padding-bottom: 64px; }
.wume-404-kicker { font-family: var(--wume-font-body); font-size: 14px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--wume-black); margin: 0 0 20px; }
.wume-404-title { font-family: var(--wume-font-heading); font-weight: 300; font-size: 50px; line-height: 1.2; letter-spacing: -1.5px; color: var(--wume-black); margin: 0 0 16px; }
.wume-404-subtitle { font-family: var(--wume-font-body); font-size: 18px; line-height: 1.4; color: var(--wume-black); margin: 0 0 22px; }
.wume-404-path { margin-top: 32px; font-size: 12px; color: rgba(0,0,0,0.4); }
.wume-404-photos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; }
.wume-404-photos img { width: 100%; height: 360px; object-fit: cover; display: block; }
/* V68 Stage-2 desktop: figma 404 has ~16px gaps between the 6 photos, 367px tall,
   and ~130px between the error text and the photo band. Desktop-only so the
   verified mobile 404 stays untouched. */
@media (min-width: 992px) {
  .wume-404-inner { padding-bottom: 130px; }
  .wume-404-photos { gap: 16px; }
  .wume-404-photos img { height: 367px; }
}
@media (max-width: 991.98px) {
    .wume-footer-grid { grid-template-columns: 1fr; grid-template-rows: auto; grid-template-areas: "brand" "top" "photos" "news" "legal"; row-gap: 24px; padding-right: 0; column-gap: 0; }
    .wume-footer-brand { margin-bottom: 0; }
    .wume-footer-right-top { flex-direction: column; gap: 18px; }
    .wume-footer-wordmark { width: 300px; }
}

.wume-footer-heading {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.75rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    margin-bottom: 16px;
}

.wume-footer-text {
    font-size: 0.85rem;
    color: var(--wume-black);
    line-height: 1.7;
}

.wume-footer-newsletter-heading {
    font-family: var(--wume-font-heading);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 1.2;
    color: var(--wume-black);
    margin: 0 0 12px;
}

.wume-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wume-footer-links li {
    margin-bottom: 8px;
}

.wume-footer-links a {
    color: var(--wume-black);
    text-decoration: none;
    font-size: 0.85rem;
    transition: text-decoration-thickness 0.15s;
}

.wume-footer-links a:hover {
    color: var(--wume-black);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.wume-footer-bottom {
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    padding-top: 20px;
    margin-top: 40px;
}

.wume-footer-bottom p {
    font-size: 0.78rem;
    color: var(--wume-black);
}

/* ── Card Style ── */
.wume-card {
    border: 1px solid var(--wume-sand);
    border-radius: 0;
    background: var(--wume-cream);
    padding: 40px;
    transition: box-shadow 0.3s;
}

.wume-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.wume-card-title {
    font-size: 1.3rem;
    margin-bottom: 12px;
}

.wume-card-text {
    font-size: 0.92rem;
    color: var(--wume-black);
}

/* ── Two Column Layout ── */
.wume-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

/* ── V24 Phase B universal mobile reflow ──
   Single 991.98 umbrella applies to every page. Spec section 3.1:
   multi-col grids → 1fr; flex rows → column; section padding compresses;
   hero headline scales; sticky-offset for jump-link landing positions. */
@media (max-width: 991.98px) {
    /* Spec 3.1.1 — .wume-split (used on every page's hero/intro split) collapses. */
    .wume-split {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    /* Spec 3.1.2 — section padding compresses. V25 uses named tokens. */
    .wume-section {
        padding: var(--wume-section-padding-mobile) 0;
    }
    .wume-hero {
        padding: var(--wume-hero-padding-mobile);
    }
    /* Spec 3.1.3 — hero headline scales down with viewport-relative cap. */
    .wume-hero-title {
        font-size: clamp(2rem, 7vw, 2.75rem);
    }
    .wume-section-title {
        font-size: clamp(1.6rem, 5.5vw, 2.2rem);
    }
    /* Spec 3.1.5 — jump-link sticky offset. Token = nav-height + 42px
       announcement bar; default nav-height fallback 64px on phone where the
       desktop --wume-nav-height (72px) is shorter in practice. */
    section[id] {
        scroll-margin-top: var(--wume-mobile-sticky-offset);
    }

    /* Spec 3.1.1 — Bootstrap col-md-* / col-lg-* columns inside .wume-section
       also collapse to 1-up. Bootstrap's md breakpoint is 768 (already
       collapses at <769) but its lg breakpoint is 992; the 769–991px slice
       needs an explicit override so a `col-md-6 col-lg-3` row that desktop
       renders as 4-up does not stay multi-column on tablet portrait. The
       selector is scoped to .wume-section so we don't inadvertently flatten
       Bootstrap rows in components (cart, checkout, navbar) that have their
       own mobile state. */
    .wume-section .row > [class*="col-md-"],
    .wume-section .row > [class*="col-lg-"],
    .wume-section .row > [class*="col-sm-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    /* Spec 3.2.2 — Care comparison block: the two .wume-card columns inside
       the .wume-section-alt before the brown CTA stack with a slim sand
       divider between them. The :first-child of .row gets the bottom
       divider; the row's gap is preserved by .mb-4 on each col. */
    .wume-section-alt .row > [class*="col-md-6"]:first-child .wume-card {
        margin-bottom: 1.5rem;
    }

    /* Spec 3.1.4 — image responsive backstop. Some inline-styled
       .wume-img-placeholder containers (Visit FAQ split, About-Dr-Wu hero,
       Care intro split) carry aspect-ratio 4/5 but no width cap, so the
       intrinsic image width (often 800-1200px) overflows the 390px viewport.
       Cap to container width on mobile. The min-width: 0 reset is required
       because .wume-split is display:grid and grid items default to
       min-width: min-content (image natural width), defeating the
       max-width: 100% cap on its own. */
    .wume-img-placeholder {
        max-width: 100%;
        min-width: 0;
        min-height: auto;
    }
    .wume-img-placeholder img {
        max-width: 100%;
        height: auto;
    }
    .wume-split > * {
        min-width: 0;
    }
}

/* ── V25 Phase B cascade fix — phone-tighter overrides ──
   This 768 block is positioned AFTER the 991.98 umbrella block above so
   that source-order tiebreak grants its declarations to <769px viewports.
   Every rule here MUST be strictly tighter than its 991.98 counterpart —
   otherwise it defeats responsive scaling. The previous V24 values
   (font-size: 2.2rem literal, 60px / 80px padding) sat BEFORE 991.98 in
   source order and so were silently dead at <769 (991.98 always won the
   cascade). Now: titles use clamp() with smaller floors so phones still
   scale, padding uses --wume-*-phone tokens (3rem / 4rem 0 3rem) that are
   tighter than --wume-*-mobile (4rem / 5rem 0 4rem), and units are rem
   throughout for cascade-comparison consistency. */
@media (max-width: 768px) {
    .wume-hero-title {
        font-size: clamp(1.8rem, 6vw, 2.2rem);
    }

    .wume-section-title {
        font-size: clamp(1.4rem, 5vw, 1.8rem);
    }

    .wume-section {
        padding: var(--wume-section-padding-phone) 0;
    }

    .wume-hero {
        padding: var(--wume-hero-padding-phone);
    }

    /* Mobile navbar: monogram fits where the wordmark cannot. */
    .wume-logo svg {
        height: 28px;
    }
}

/* ── Cart Page ── */
.wume-cart-empty {
    text-align: center;
    padding: 80px 0;
}

.wume-cart-empty i {
    font-size: 3rem;
    color: var(--wume-brown);
    margin-bottom: 16px;
}

/* ── Request-Invitation Placeholder Modal ── */
.wume-invite-modal {
    background: var(--wume-cream);
    border: 1px solid var(--wume-brown);
    border-radius: 0;
    color: var(--wume-text-on-cream);
}

.wume-invite-modal .modal-header {
    background: var(--wume-cream);
    border-bottom: 1px solid var(--wume-sand);
}

.wume-invite-modal .modal-title {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    letter-spacing: var(--wume-tracking-heading);
}

.wume-invite-badge {
    display: inline-block;
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.72rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    background: var(--wume-lbrown);
    color: var(--wume-cream);
    padding: 6px 14px;
    border-radius: 0;
}

/* ── Press Logo Placeholder Grid (Home, Visit) ── */
.wume-press-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    margin: 30px auto 0;
    max-width: 1000px;
}

.wume-press-logo {
    flex: 0 0 auto;
    width: 150px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wume-cream);
    border: 1px solid var(--wume-black);
    color: var(--wume-black);
    font-size: 0.75rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
}

/* ── Pathways Featured Distinct Pathways Accordion ── */
.wume-pathway-accordion .accordion-button {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    letter-spacing: var(--wume-tracking-heading);
    background: var(--wume-cream);
    color: var(--wume-black);
    border-radius: 0;
    box-shadow: none;
}

.wume-pathway-accordion .accordion-button:not(.collapsed) {
    background: var(--wume-sage);
    color: var(--wume-text-on-sage);
}

.wume-pathway-accordion .accordion-button:focus {
    box-shadow: 0 0 0 2px var(--wume-black);
}

.wume-pathway-accordion .accordion-item {
    border: 1px solid var(--wume-sand);
    border-radius: 0;
    margin-bottom: 8px;
}

.wume-pathway-accordion .accordion-body {
    background: var(--wume-cream);
    color: var(--wume-text-on-cream);
    line-height: var(--wume-lead-body);
}

/* ── Hero Subtitle / Jump-to Link Cluster (Physicians, Pathways, Visit) ── */
.wume-jump-links {
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
}

.wume-jump-link {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    text-decoration: none;
    border-bottom: 1px solid var(--wume-black);
    padding-bottom: 2px;
    transition: border-bottom-width 0.15s;
}

.wume-jump-link:hover {
    color: var(--wume-black);
    border-bottom-width: 2px;
}

/* ── Footer newsletter form (V43 sage footer) ──
   Inline layout: email input on LEFT, SUBSCRIBE link on RIGHT — matches
   figma's single-row newsletter pattern. Input is a line-underline style
   (no box / border) on sage background; SUBSCRIBE is minimal text-only
   with underline (NOT a Bootstrap btn box). */
.wume-footer-newsletter {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-end;
    gap: 16px;
    border-bottom: 1px solid var(--wume-black);
    padding-bottom: 4px;
}
.wume-footer-newsletter .form-control {
    background: transparent;
    border: 0;
    color: var(--wume-black);
    border-radius: 0;
    font-size: 0.85rem;
    flex: 1 1 0 !important;       /* basis 0 so the flex algorithm fills remaining space, not initial content size */
    width: auto !important;       /* override Bootstrap's .form-control { width: 100%; } */
    min-width: 0;                 /* prevent intrinsic min-width from blocking shrink */
    padding: 8px 0;
    margin: 0 !important;         /* override Bootstrap `mb-2` etc */
    box-shadow: none;
}
.wume-footer-newsletter .form-control:focus {
    box-shadow: none;
    background: transparent;
    color: var(--wume-black);
}
.wume-footer-newsletter .form-control::placeholder {
    color: rgba(0, 0, 0, 0.55);
}

/* The .wume-btn-outline class in the footer becomes a minimal black-text
   link with underline (figma SUBSCRIBE pattern). Other footer btn-outline
   consumers retain the box appearance via the base .wume-btn-outline rule
   defined elsewhere. */
.wume-footer .wume-btn-outline {
    background: transparent;
    color: var(--wume-black);
    border: 0;
    padding: 8px 0;
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 4px;
    flex: 0 0 auto;
    width: auto;
}

.wume-footer .wume-btn-outline:hover,
.wume-footer .wume-btn-outline:focus {
    background: transparent;
    color: var(--wume-black);
    text-decoration-thickness: 2px;
}

/* The Bootstrap `w-100` utility class on the SUBSCRIBE <button> wins over
   the `width: auto` in .wume-footer .wume-btn-outline above (because of
   `!important` on the utility). Override it here so the button stays at
   its natural text width in the inline form. */
.wume-footer-newsletter .wume-btn-outline.w-100 {
    width: auto !important;
}

/* ── Tables and forms — clinical leading override per brand allowance ── */
table,
.form-control,
.form-label,
.form-check-label {
    line-height: var(--wume-lead-clinical);
}

/* ── Desktop mega-menu backdrop (brand page 63) ──
   When any nav dropdown is open on desktop, the page content behind
   the navbar dims with a subtle blur. Activated by a body class added
   from base.html.twig's dropdown listeners. */
body::before {
    content: "";
    position: fixed;
    inset: var(--wume-nav-height) 0 0 0;
    background: transparent;            /* page veil removed — figma keeps the submenu at 100% opacity and puts the glass on the nav, not over the page */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
    z-index: 1019;
}

body.wume-menu-open::before {
    opacity: 1;
}

/* Lift dropdown menus above the backdrop. */
.wume-navbar {
    position: relative;
    z-index: 1020;
}

.wume-dropdown.dropdown-menu {
    z-index: 1030;
}

/* ── Mobile accordion drawer (R0 figma) ──
   Replaces the brand-page-63 brown full-screen overlay with a top-sheet
   accordion drawer per R0 figma file. Bootstrap collapse drives open/close;
   per-row +/− toggles drive sub-list expansion (single-expand). */
@media (max-width: 991.98px) {
    /* Suppress the desktop megamenu backdrop on mobile — drawer replaces it. */
    body.wume-menu-open::before {
        display: none;
    }

    /* Keep navbar above the drawer overlay so the toggler stays clickable. */
    .wume-navbar {
        z-index: 1050;
    }

    /* V23 — compact "Request" CTA for the mobile top bar (spec section 2.1.3).
       The desktop button reads "Request an Invitation" with default brand
       padding/font; on mobile we render the short label "Request" with
       reduced padding, font-size, and letter-spacing so the right-side
       cluster (cart icon + Request CTA) does not crowd the centered logo
       at 375/390/414 viewports. The two responsive labels are toggled by
       Bootstrap's d-inline / d-inline-block / d-lg-* helper classes in the
       template. */
    .wume-btn-request {
        font-size: 0.72rem;
        padding: 6px 10px;
        letter-spacing: 0.04em;
        line-height: 1.2;
        white-space: nowrap;
    }

    /* Drawer container — top-sheet style, sits below the announcement+top bar.
       The --wume-drawer-top custom property is set by JS in base.html.twig V25
       on show.bs.collapse to the actual bottom-of-navbar pixel position so the
       drawer stays flush under the navbar when scrolled (announcement bar has
       scrolled away) or unscrolled (announcement bar still visible). Falls
       back to --wume-nav-height (72px) if JS hasn't run yet. */
    .wume-navbar .navbar-collapse.show,
    .wume-navbar .navbar-collapse.collapsing {
        position: fixed !important;
        top: var(--wume-drawer-top, var(--wume-nav-height, 72px)) !important;
        left: 0;
        right: 0;
        bottom: 0;
        height: calc(100vh - var(--wume-drawer-top, var(--wume-nav-height, 72px))) !important;
        max-height: none !important;
        background: var(--wume-cream);
        z-index: 1040;
        display: block !important;
        padding: 24px 20px 40px;
        overflow-y: auto;
    }

    /* The drawer's inner list — full-bleed rows, no list bullets. */
    .wume-mobile-drawer {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .wume-mobile-row {
        border-bottom: 1px solid rgba(77, 61, 45, 0.18);
    }
    .wume-mobile-row:first-child {
        border-top: 1px solid rgba(77, 61, 45, 0.18);
    }

    /* Row toggle button — full-width, label left, +/− right. */
    .wume-mobile-row-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 18px 4px;
        background: transparent;
        border: 0;
        color: var(--wume-brown);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 1.05rem;
        text-align: left;
        cursor: pointer;
    }
    .wume-mobile-row-toggle:hover,
    .wume-mobile-row-toggle:focus-visible {
        background: rgba(77, 61, 45, 0.04);
    }

    .wume-mobile-row-label {
        flex: 1 1 auto;
    }
    /* Indicator: hide static text, render +/− via pseudo-element keyed off aria-expanded. */
    .wume-mobile-row-indicator {
        font-size: 0;
        line-height: 1;
        flex: 0 0 auto;
        margin-left: 12px;
    }
    .wume-mobile-row-toggle[aria-expanded="true"] .wume-mobile-row-indicator::before {
        content: "−";
        font-size: 1.2rem;
    }
    .wume-mobile-row-toggle[aria-expanded="false"] .wume-mobile-row-indicator::before {
        content: "+";
        font-size: 1.2rem;
    }

    /* Flat row variant — Shop, Login. No toggle, anchor takes full width. */
    .wume-mobile-row--flat .wume-mobile-flat-link {
        display: block;
        padding: 18px 4px;
        color: var(--wume-brown);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 1.05rem;
        text-decoration: none;
    }
    .wume-mobile-row--flat .wume-mobile-flat-link:hover,
    .wume-mobile-row--flat .wume-mobile-flat-link:focus-visible {
        background: rgba(77, 61, 45, 0.04);
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* Sub-list — indented, collapsed by default; expands when row toggle adds .is-open.
       V23: replaces the V22 [hidden]-attribute mechanic with a max-height transition
       (~150ms ease-out per spec section 2.10.2). 800px headroom is safely larger
       than the longest sublist (Physicians, 4 items ≈ 240px tall). The list stays
       in the accessibility tree when collapsed (no display:none, no [hidden]); the
       sublist links remain reachable by assistive tech without the +/− toggle being
       in the expanded state. */
    .wume-mobile-sublist {
        list-style: none;
        margin: 0;
        padding: 0 0 0 16px;
        display: flex;
        flex-direction: column;
        gap: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.15s ease-out, padding-bottom 0.15s ease-out;
    }
    .wume-mobile-sublist.is-open {
        max-height: 800px;
        padding-bottom: 12px;
    }
    .wume-mobile-sublist li {
        display: block;
    }
    .wume-mobile-sublist a {
        display: block;
        padding: 10px 4px;
        color: var(--wume-brown);
        font-family: var(--wume-font-body);
        font-size: 0.98rem;
        text-decoration: none;
    }
    .wume-mobile-sublist a:hover,
    .wume-mobile-sublist a:focus-visible {
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* In-drawer close X is hidden visually — the navbar hamburger toggler
       (which swaps to bi-x on drawer open per JS in base.html.twig V25)
       already serves as the close affordance per spec section 2.1.1. The
       in-drawer X stays in the DOM for fallback / older Bootstrap-collapse
       paths but is not visually presented to avoid overlap with the first
       row's +/− indicator. */
    .wume-mobile-menu-close {
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
        background: transparent;
    }

    /* Hamburger toggler icon swap — JS toggles bi-list ↔ bi-x on drawer
       open/close. CSS keeps the icon flush sized at the same dimensions
       so the navbar height does not jump when the icon swaps. */
    .navbar-toggler .bi-list,
    .navbar-toggler .bi-x {
        font-size: 1.5rem;
        line-height: 1;
    }

    /* Suppress Bootstrap's default 4px box-shadow focus ring on the
       hamburger (and the sr-only in-drawer close X) — the user wants
       no visible "border" in any state. The bare `.border-0` utility
       class only kills the CSS border property; Bootstrap's :focus rule
       applies a separate 0.25rem box-shadow that reads as a heavy black
       outline at click. Removed at all interactive states. */
    .wume-navbar .navbar-toggler,
    .wume-navbar .navbar-toggler:focus,
    .wume-navbar .navbar-toggler:focus-visible,
    .wume-navbar .navbar-toggler:active,
    .wume-navbar .navbar-toggler.focus,
    .wume-mobile-menu-close,
    .wume-mobile-menu-close:focus,
    .wume-mobile-menu-close:focus-visible,
    .wume-mobile-menu-close:active {
        box-shadow: none !important;
        outline: 0 !important;
    }

    /* Spacing between hamburger and the centered logo. Without this the
       hamburger's right edge sits flush against the logo's left edge —
       even with the focus ring suppressed, they read as visually glued.
       12px gives enough breathing room without unbalancing the three-
       region top bar at narrow viewports. */
    .wume-navbar .navbar-toggler {
        margin-right: 12px;
    }

    /* Body scroll lock — already toggled by JS via .wume-mobile-open class. */
    body.wume-mobile-open {
        overflow: hidden;
    }
}

/* On desktop, hide the mobile-only close X. */
@media (min-width: 992px) {
    .wume-mobile-menu-close {
        display: none;
    }
}

/* ── Modal backdrop blur (brand page 64) ──
   Bootstrap's default backdrop is solid black at 50% opacity.
   Brand wants brown semi-opaque with backdrop-filter blur so the
   page content remains visible-but-de-emphasized beneath the dialog. */
.modal-backdrop {
    background-color: var(--wume-brown);
}

.modal-backdrop.show {
    opacity: 0.55;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* The modal panel itself sits cleanly atop the blurred backdrop —
   already brand-styled via .wume-invite-modal (cream surface, brown 1px). */

/* ── Inline-bottom pop-up panel (brand page 64) ──
   For non-dialog pop-ups: newsletter signup, cookie notice, in-page CTA.
   Sits at viewport bottom rather than centered modal. Brown semi-opaque
   with blur. Toggle via .is-open class from page-level JS. */
.wume-popup-panel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(77, 61, 45, 0.94);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: var(--wume-cream);
    padding: 24px 40px;
    z-index: 1045;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.wume-popup-panel.is-open {
    transform: translateY(0);
}

.wume-popup-panel .wume-popup-close {
    position: absolute;
    top: 12px;
    right: 16px;
    background: transparent;
    border: 0;
    color: var(--wume-cream);
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    padding: 6px 10px;
}

.wume-popup-panel .wume-popup-close:hover {
    opacity: 0.8;
}

.wume-popup-panel-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.wume-popup-panel-title {
    font-family: var(--wume-font-heading);
    font-size: 1.2rem;
    margin: 0;
    flex: 0 1 auto;
}

.wume-popup-panel-form {
    display: flex;
    align-items: stretch;
    gap: 12px;
    flex: 1 1 320px;
    min-width: 280px;
}

.wume-popup-panel-form .form-control {
    flex: 1;
    background: rgba(242, 240, 235, 0.12);
    border: 1px solid rgba(242, 240, 235, 0.3);
    color: var(--wume-cream);
    border-radius: 0;
    padding: 8px 12px;
}

.wume-popup-panel-form .form-control::placeholder {
    color: rgba(242, 240, 235, 0.6);
}

.wume-popup-panel-form .form-control:focus {
    background: rgba(242, 240, 235, 0.18);
    border-color: var(--wume-cream);
    box-shadow: none;
    color: var(--wume-cream);
}

.wume-popup-panel-form .wume-btn-primary {
    background: var(--wume-cream);
    color: var(--wume-brown);
    border-color: var(--wume-cream);
}

.wume-popup-panel-form .wume-btn-primary:hover {
    background: transparent;
    color: var(--wume-cream);
    border-color: var(--wume-cream);
}

@media (max-width: 575.98px) {
    .wume-popup-panel {
        padding: 20px 24px 24px;
    }

    .wume-popup-panel-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .wume-popup-panel-form {
        flex-direction: column;
    }
}

/* ── Unified 3-column mega-menu (brand page 63) ──
   Replaces per-item dropdowns with a single shared panel that drops down
   below the navbar. Hover any [data-megamenu-trigger] group or the panel
   itself to reveal it. Body class wume-menu-open simultaneously activates
   the desktop blur backdrop from item 3. */
.wume-megamenu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--wume-cream);
    border-top: 1px solid var(--wume-sand);
    border-bottom: 1px solid var(--wume-sand);
    padding: 48px 0 56px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    z-index: 1;
    pointer-events: none;
}

.wume-megamenu.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.wume-megamenu-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 56px;
    max-width: 1100px;
    margin: 0 auto;
}

.wume-megamenu-col h6,
.wume-megamenu-col .wume-megamenu-heading {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    border-bottom: 1px solid var(--wume-sand);
    padding-bottom: 14px;
    margin-bottom: 20px;
}

.wume-megamenu-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wume-megamenu-col li {
    margin-bottom: 12px;
}

.wume-megamenu-col a {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.18rem;
    color: var(--wume-black);
    text-decoration: none;
    line-height: 1.3;
    display: inline-block;
    transition: text-decoration-thickness 0.15s;
}

.wume-megamenu-col a:hover,
.wume-megamenu-col a:focus {
    color: var(--wume-black);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

@media (max-width: 991.98px) {
    /* Mega-menu is desktop-only; mobile uses the full-screen overlay menu. */
    .wume-megamenu {
        display: none !important;
    }
}

/* ==========================================================================
   V16 ADDITIONS — Missing classes required by current page templates
   ========================================================================== */

/* ── Logo: <img> selector (HEAD only had .wume-logo svg) ────────────────── */
.wume-logo img {
    height: 36px;
    width: auto;
    display: block;
}
@media (max-width: 768px) {
    .wume-logo img { height: 28px; }
}

/* ── Sticky navbar + scroll-state ────────────────────────────────────────── */
.wume-navbar {
    position: sticky;
    top: 0;
    transition: min-height 0.25s ease, box-shadow 0.25s ease;
}
.wume-navbar.is-scrolled {
    min-height: 56px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    background: rgba(255, 255, 255, 0.12);           /* translucent clear-glass on scroll — content shows through, site-wide */
    backdrop-filter: blur(22px) saturate(160%);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
}
.wume-logo img,
.wume-logo svg { transition: height 0.25s ease; }
.wume-navbar.is-scrolled .wume-logo img,
.wume-navbar.is-scrolled .wume-logo svg { height: 28px; }
.wume-nav-items .nav-link { transition: padding 0.25s ease; }
.wume-navbar.is-scrolled .wume-nav-items .nav-link { padding-top: 18px; padding-bottom: 18px; }

/* ── Per-section mega-menu panels (V13: replaces single .wume-megamenu) ── */
.wume-megamenu-panel {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--wume-cream);
    border-top: 1px solid var(--wume-sand);
    border-bottom: 1px solid var(--wume-sand);
    padding: 48px 0 56px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    z-index: 1;
    pointer-events: none;
}
.wume-megamenu-panel.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.wume-megamenu-panel-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 56px;
    max-width: 1100px;
    margin: 0 auto;
}
.wume-megamenu-col h6,
.wume-megamenu-col .wume-megamenu-heading {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    border-bottom: 1px solid var(--wume-sand);
    padding-bottom: 14px;
    margin-bottom: 20px;
}
.wume-megamenu-col ul { list-style: none; padding: 0; margin: 0; }
.wume-megamenu-col li { margin-bottom: 12px; }
.wume-megamenu-col a {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.18rem;
    color: var(--wume-black);
    text-decoration: none;
    line-height: 1.3;
    display: inline-block;
    transition: text-decoration-thickness 0.15s;
}
.wume-megamenu-col a:hover,
.wume-megamenu-col a:focus {
    text-decoration: underline;
    text-underline-offset: 4px;
}
@media (max-width: 991.98px) {
    .wume-megamenu-panel { display: none !important; }
}

/* ── Right-side slide-in invite panel (V07 baseline, V33 responsive layout) ──
   Panel base (positioning + slide motion + dimensions). Content layout
   inside (single-col mobile vs 2-col desktop card) is handled by the
   V32/V33 figma-aligned rules below. */
.wume-invite-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100vw;            /* mobile: full viewport */
    max-width: 100vw;
    background: var(--wume-cream);
    color: var(--wume-text-on-cream);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    z-index: 1060;
    overflow-y: auto;
    padding: 0;              /* padding now lives on left/right column children */
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.12);
}
@media (min-width: 992px) {
    .wume-invite-panel { width: 960px; }
}
.wume-invite-panel.is-open { transform: translateX(0); }
.wume-invite-panel-overlay {
    position: fixed;
    inset: 0;
    background: rgba(77, 61, 45, 0.5);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 1055;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.wume-invite-panel-overlay.is-open { opacity: 1; pointer-events: auto; }
.wume-invite-panel-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: 0;
    color: var(--wume-brown);
    font-size: 1.4rem;
    cursor: pointer;
    line-height: 1;
    padding: 8px;
    z-index: 10;
}
/* V07 baseline rules for .wume-invite-panel-inner h2/p/.form-control
   removed in V32 — the figma R1 rebuild uses a different markup
   structure (kicker + heading + cream form-card + line-underline inputs).
   See the V32 block below for the replacement rules. */
body.wume-panel-open { overflow: hidden; }

/* ── Editorial photo carousel (Home, V07/V10) ──────────────────────────── */
.wume-collage-carousel {
    width: 100%;
    overflow: hidden;
    margin: 0 -15px;
}
.wume-collage-track {
    display: flex;
    gap: 16px;
    width: max-content;
    animation: wume-scroll-leftward 60s linear infinite;
}
.wume-collage-carousel:hover .wume-collage-track { animation-play-state: paused; }
.wume-collage-carousel-item {
    flex: 0 0 auto;
    width: 240px;
    height: 320px;
    overflow: hidden;
}
.wume-collage-carousel-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
@keyframes wume-scroll-leftward {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ── Static asymmetric collage (legacy fallback) ────────────────────────── */
.wume-collage {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.wume-collage > * { aspect-ratio: 4/5; overflow: hidden; }

/* ── Services tile grid (Home/Care) ────────────────────────────────────── */
.wume-services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 32px;
}
.wume-services-tile {
    background: var(--wume-paper);
    border: 1px solid var(--wume-sand);
    text-align: center;
    overflow: hidden;
}
.wume-services-tile img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.wume-services-tile-kicker {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.72rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    padding: 12px 12px 4px;
}
.wume-services-tile-label {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.15rem;
    color: var(--wume-black);
    padding: 0 12px 16px;
    line-height: 1.3;
}
/* V25 Phase B cascade fix 2026-05-06: design mandates 1-up at <992. The
   prior 768 `repeat(2, 1fr)` rule has been deleted (was a Phase B leftover
   that contradicted the spec); 991.98's plain `1fr` now wins the cascade
   without needing !important. */
@media (max-width: 991.98px) {
    .wume-services-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

/* ── Step-card (Care 4-step process) ───────────────────────────────────── */
.wume-step-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 60px;
}
.wume-step-card:nth-child(even) > .wume-step-card-image { order: 2; }
.wume-step-card-image { aspect-ratio: 4/3; overflow: hidden; }
.wume-step-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wume-step-card-kicker {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    margin-bottom: 8px;
}
.wume-step-card-title {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 2rem;
    margin-bottom: 16px;
}
.wume-step-card-body { font-size: 1rem; line-height: 1.6; }
/* V24 Phase B audit: bump 768 → 991.98 so the Care 4-step process stacks
   under the design's umbrella. Original 768 block kept for the 'order:0'
   override on small phones (a no-op once 991.98 already stacks). */
@media (max-width: 991.98px) {
    .wume-step-card { grid-template-columns: 1fr; gap: 24px; }
    .wume-step-card:nth-child(even) > .wume-step-card-image { order: 0; }
}

/* ── Three-pillar block (Care) ─────────────────────────────────────────── */
.wume-three-pillar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.wume-three-pillar-image { aspect-ratio: 4/5; overflow: hidden; margin-bottom: 16px; }
.wume-three-pillar-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wume-three-pillar-kicker {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    margin-bottom: 12px;
}
/* V24 Phase B audit: bump 768 → 991.98 so the Care 3-pillar row and
   Physicians "Our Standard" 6-pillar grid (which reuses .wume-three-pillar
   via Bootstrap row col grid in physicians.html.twig:218 onward) stack
   under the design's umbrella. */
@media (max-width: 991.98px) {
    .wume-three-pillar { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* ── Pathway pills (Pathways comparison) ───────────────────────────────── */
.wume-pathway-pill-row {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 32px;
}
.wume-pathway-pill {
    background: var(--wume-paper);
    border: 1px solid var(--wume-sand);
    padding: 32px 48px;
    text-align: center;
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.4rem;
    line-height: 1.2;
    min-width: 220px;
}
.wume-pathway-pill-kicker {
    display: block;
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.7rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    margin-bottom: 12px;
}
/* V24 Phase B — Pathways comparison pills stack on mobile. */
@media (max-width: 991.98px) {
    .wume-pathway-pill-row {
        flex-direction: column;
        gap: 16px;
        align-items: center;
    }
    .wume-pathway-pill {
        min-width: 0;
        width: 100%;
        max-width: 320px;
        padding: 24px 32px;
    }
}

/* ── Pathway flow SVG diagram (V31, Pathways "How It Works") ──
   Brown panel with a thin cream vertical line (Ongoing Care, continuous
   flow with a downward arrowhead) and a curved bezier line bowing right
   (Signature Pathway as a deviation that rejoins). Matches figma R1
   mobile [94:4293] precisely — two cream strokes on a brown rectangle,
   small-caps labels at line endpoints and the curve apex. Replaces the
   prior 4-overlapping-circle "rosette" (.wume-pathway-rings) which was a
   misreading of figma. */
.wume-pathway-flow {
    display: block;
    width: 100%;
    max-width: 420px;
    height: auto;
    margin: 0 auto;
}
.wume-pathway-flow-bg {
    fill: var(--wume-brown);
}
.wume-pathway-flow-line {
    stroke: var(--wume-cream);
    stroke-width: 1;
    fill: none;
}
.wume-pathway-flow-label {
    fill: var(--wume-cream);
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 11px;
    letter-spacing: 0.16em;
}
@media (max-width: 991.98px) {
    .wume-pathway-flow { max-width: 340px; }
}
@media (max-width: 375px) {
    .wume-pathway-flow { max-width: 300px; }
}

/* ── Physician row (Physicians page) ───────────────────────────────────── */
.wume-physician-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.wume-physician-row-image { aspect-ratio: 3/4; overflow: hidden; }
.wume-physician-row-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wume-physician-row-credentials {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    margin-bottom: 8px;
}
.wume-physician-row-name {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 2rem;
    margin-bottom: 16px;
}
/* V24 Phase B audit: bump 768 → 991.98 so the 4-physician 2x2 grid stacks
   under the design's umbrella. Tighten name font for narrower viewports. */
@media (max-width: 991.98px) {
    .wume-physician-row { grid-template-columns: 1fr; gap: 24px; }
    .wume-physician-row-name { font-size: 1.75rem; }
}

/* ── Physician thumbnail row (V30, Physicians page) ──
   Compact 3-up grid for the non-Wu physicians (Hammerman + 2 placeholder
   Lorem Ipsum). Replaces the prior 3 stacked .wume-physician-row sections
   so the inline figma R1 mobile layout is honored. Stays 3-up across
   desktop/tablet/phone; the portraits compress with the viewport but the
   row stays horizontal because figma shows it at 393px width with all 3
   thumbnails visible. */
.wume-physician-thumbnail-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.wume-physician-thumbnail-image {
    aspect-ratio: 3/4;
    overflow: hidden;
    margin-bottom: 14px;
}
.wume-physician-thumbnail-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.wume-physician-thumbnail-credentials {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.72rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    margin-bottom: 6px;
}
.wume-physician-thumbnail-name {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.2rem;
    margin-bottom: 0;
}
@media (max-width: 991.98px) {
    .wume-physician-thumbnail-row { gap: 12px; }
    .wume-physician-thumbnail-credentials { font-size: 0.62rem; }
    .wume-physician-thumbnail-name { font-size: 0.92rem; }
}
@media (max-width: 360px) {
    .wume-physician-thumbnail-row { grid-template-columns: 1fr; gap: 24px; }
    .wume-physician-thumbnail-name { font-size: 1.2rem; }
}

/* ── Architectural band (full-bleed image with overlay text) ───────────── */
.wume-architectural-band {
    position: relative;
    height: 320px;
    overflow: hidden;
}
.wume-architectural-band img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wume-architectural-band-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wume-cream);
    font-family: var(--wume-font-heading);
    font-size: 2rem;
    background: rgba(77, 61, 45, 0.4);
    text-align: center;
    padding: 0 20px;
}
/* V24 Phase B — architectural band shorter on mobile, smaller overlay text. */
@media (max-width: 991.98px) {
    .wume-architectural-band {
        height: 220px;
    }
    .wume-architectural-band-overlay {
        font-size: 1.4rem;
    }
}

/* ── Doctoral Digest grid (Home/Visit) ─────────────────────────────────── */
.wume-doctor-digest-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.wume-doctor-digest-card {
    text-decoration: none;
    color: inherit;
    display: block;
}
.wume-doctor-digest-card:hover { color: var(--wume-lbrown); }
.wume-doctor-digest-card-image {
    aspect-ratio: 3/4;
    overflow: hidden;
    margin-bottom: 16px;
}
.wume-doctor-digest-card-image img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 0.4s ease;
}
.wume-doctor-digest-card:hover .wume-doctor-digest-card-image img { transform: scale(1.04); }
.wume-doctor-digest-card-date {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.72rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    margin-bottom: 6px;
}
.wume-doctor-digest-card-title {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.2rem;
    line-height: 1.3;
    color: var(--wume-black);
}
/* V25 Phase B cascade fix 2026-05-06: design mandates 1-up at <992. The
   prior 768 `repeat(2, 1fr)` rule has been deleted; 991.98's plain `1fr`
   now wins the cascade without !important. */
@media (max-width: 991.98px) {
    .wume-doctor-digest-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* ── Contact panels (Visit) ────────────────────────────────────────────── */
.wume-contact-panel-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.wume-contact-panel {
    background: var(--wume-brown);
    color: var(--wume-cream);
    padding: 48px 32px;
    text-decoration: none;
    transition: background 0.2s;
    border-right: 1px solid rgba(242, 240, 235, 0.18);
}
.wume-contact-panel:last-child { border-right: 0; }
.wume-contact-panel:hover { background: var(--wume-lbrown); color: var(--wume-cream); }
.wume-contact-panel-kicker {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.72rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-cream);
    margin-bottom: 12px;
}
.wume-contact-panel-title {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.5rem;
    color: var(--wume-cream);
    margin-bottom: 12px;
}
.wume-contact-panel-detail { color: var(--wume-cream); font-size: 0.95rem; }
/* V24 Phase B — Email/Phone/Office contact panels stack with bottom border
   separator (was right border in 3-up desktop). V25 cascade fix: redundant
   768 duplicate of this block deleted. */
@media (max-width: 991.98px) {
    .wume-contact-panel-grid { grid-template-columns: 1fr; }
    .wume-contact-panel {
        border-right: 0;
        border-bottom: 1px solid rgba(242, 240, 235, 0.18);
        padding: 32px 24px;
    }
    .wume-contact-panel:last-child { border-bottom: 0; }
}

/* ── Press swatch grid (Visit/Home, replaces .wume-press-grid) ─────────── */
.wume-press-swatch-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
    margin-top: 32px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.wume-press-swatch {
    background: var(--wume-brown);
    color: var(--wume-cream);
    aspect-ratio: 2/1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.7rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    padding: 6px;
}
.wume-press-wall .wume-press-swatch { aspect-ratio: 3/2; }
/* V25 Phase B cascade fix 2026-05-06: spec section 3.2.5 wants 6 → 2 at
   <992 and 2 → 1 at <576. The conflicting 768 `repeat(3, 1fr)` rule has
   been deleted; 991.98 + 575.98 now form a clean monotonic cascade with
   no !important. */
@media (max-width: 991.98px) {
    .wume-press-swatch-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
}
@media (max-width: 575.98px) {
    .wume-press-swatch-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Testimonial cards (Home) ──────────────────────────────────────────── */
.wume-testimonial-card {
    background: var(--wume-paper);
    border: 1px solid var(--wume-sand);
    padding: 32px;
    height: 100%;
}
.wume-testimonial-card-name {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.72rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    margin-bottom: 4px;
}
.wume-testimonial-card-headline {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    margin-bottom: 16px;
}
.wume-testimonial-card-body { font-size: 0.95rem; line-height: 1.6; margin-bottom: 16px; }
.wume-testimonial-card-quote {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.4rem;
    line-height: 1.3;
}

/* ── In-page invite form (Home, Care) ──────────────────────────────────── */
.wume-invite-form {
    background: var(--wume-brown);
    color: var(--wume-cream);
    padding: 80px 0;
}
.wume-invite-form .wume-section-title { color: var(--wume-cream); }
.wume-invite-form .wume-section-subtitle { color: var(--wume-cream); }
.wume-invite-form-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    max-width: 600px;
    margin: 32px auto 0;
}
.wume-invite-form-fields .full-width { grid-column: 1 / -1; }
.wume-invite-form-fields .form-control {
    background: rgba(242, 240, 235, 0.12);
    border: 1px solid rgba(242, 240, 235, 0.3);
    color: var(--wume-cream);
    border-radius: 0;
    padding: 12px 14px;
}
.wume-invite-form-fields .form-control::placeholder { color: rgba(242, 240, 235, 0.55); }
.wume-invite-form-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
}
.wume-invite-form .wume-btn-primary,
.wume-invite-form .wume-btn-outline {
    background: var(--wume-cream);
    color: var(--wume-brown);
    border-color: var(--wume-cream);
}
.wume-invite-form .wume-btn-outline {
    background: transparent;
    color: var(--wume-cream);
    border-color: var(--wume-cream);
}

/* ── Account split (Account page) ──────────────────────────────────────── */
.wume-account-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 600px;
}
.wume-account-split-pane { padding: 80px 60px; }
.wume-account-split-pane--brown { background: var(--wume-brown); color: var(--wume-cream); }
.wume-account-form .form-control {
    border-radius: 0;
    border: 1px solid var(--wume-sand);
    background: var(--wume-paper);
    margin-bottom: 12px;
}
/* V26 Phase C — Account split breakpoint moved 768 → 991.98 to align with the
   umbrella mobile breakpoint. Form pane is first in DOM, so it naturally
   stacks above the brown invite pane on mobile (no explicit `order: -1`
   needed — the spec's sidebar-above-content intent is already satisfied by
   DOM order). At <769 the panes get tighter padding so they don't dominate
   small phones. */
@media (max-width: 991.98px) {
    .wume-account-split { grid-template-columns: 1fr; }
    .wume-account-split-pane { padding: 60px 32px; }
}
@media (max-width: 768px) {
    .wume-account-split-pane { padding: 48px 24px; }
}

/* ── FAQ category headings (FAQ standalone page) ───────────────────────── */
.wume-faq-category { margin-bottom: 40px; }
.wume-faq-category-heading {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.85rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-black);
    border-bottom: 1px solid var(--wume-sand);
    padding-bottom: 14px;
    margin-bottom: 20px;
}

/* ── Article body (Journal Detail) ─────────────────────────────────────── */
.wume-article-body { font-size: 1.05rem; line-height: 1.7; max-width: 720px; margin: 0 auto; }
.wume-article-body p { margin-bottom: 1.2em; }
.wume-article-pullquote {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.6rem;
    line-height: 1.3;
    border-left: 3px solid var(--wume-brown);
    padding-left: 24px;
    margin: 32px 0;
}
/* V26 Phase C — Journal Detail mobile reflow. The reading column already
   caps at 720px on desktop; on mobile we need horizontal breathing room so
   copy doesn't hug the viewport edge, and the pull-quote indent + size
   compress so the rule line doesn't dominate. */
@media (max-width: 991.98px) {
    .wume-article-body {
        padding: 0 1.25rem;
        font-size: 1rem;
    }
    .wume-article-pullquote {
        font-size: clamp(1.2rem, 4.5vw, 1.5rem);
        padding-left: 16px;
        margin: 24px 0;
    }
}

/* ── Misc collective/journal section wrappers ──────────────────────────── */
.wume-collective { padding: 80px 0; }
.wume-journal { padding: 80px 0; }
.wume-model { padding: 80px 0; }

/* ════════════════════════════════════════════════════════════════════════
   V26 Phase C — Extrapolated-pages mobile reflow
   journal-index pill row, search input row + suggestions, FAQ category
   spacing, 404 band scaling. No figma reference — pattern extrapolation
   per spec section 3.3. The relevant selectors render with no desktop CSS
   today (Bootstrap defaults + inline styles); these rules only apply at
   <992 so desktop visual stays untouched.
   ════════════════════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
    /* Journal index — filter pill row flex-wraps with tighter gap; pills
       scale down so 6 pills fit at 375 without horizontal overflow. */
    .wume-pill-row {
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
    }
    .wume-pill {
        font-size: 0.85rem;
        padding: 8px 14px;
    }

    /* Search — input row stacks (input above button) so the field gets
       full viewport width; suggestion pills flex-wrap. */
    .wume-search-input-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .wume-search-input-row .form-control {
        font-size: 1rem;
    }
    .wume-search-input-row .btn {
        align-self: flex-start;
    }
    .wume-search-suggestions {
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
    }
    .wume-search-suggestion {
        font-size: 0.85rem;
    }
    .wume-search-empty {
        text-align: center;
        padding: 0 1.25rem;
    }

    /* FAQ — accordion already vertical; tighter category margin so 6
       categories don't push the footer too far. The .wume-section padding
       compression from the Phase B universal rule already shrinks vertical
       chrome around each category. */
    .wume-faq-category {
        margin-bottom: 28px;
    }

    /* 404 — band already centered single-element; .wume-hero-tagline +
       .wume-hero-title scaling from the Phase B universal rules already
       applies. Add slight vertical-padding compression and constrain the
       backdrop image so it doesn't paint past the band on small viewports. */
    .wume-404 { padding-top: 48px; }
    .wume-404-title { font-size: 32px; letter-spacing: -0.8px; }
    .wume-404-photos { grid-template-columns: repeat(3, 1fr); }
    .wume-404-photos img { height: 220px; }
}

/* ========================================================================
   V21 — Color-token compound overrides + Request-an-Invitation panel restyle
   ======================================================================== */

/* Hero background variants — compound selectors win over the base
   .wume-hero { background: cream } rule by specificity (2 classes vs 1).
   Without these, declaring class="wume-hero wume-section-brown" still
   rendered cream because .wume-hero comes after .wume-section-brown
   in source order with equal specificity. */
.wume-hero.wume-section-brown  { background: var(--wume-brown);  color: var(--wume-text-on-brown); }
.wume-hero.wume-section-sage   { background: var(--wume-sage);   color: var(--wume-text-on-sage); }
.wume-hero.wume-section-alt    { background: var(--wume-sand);   color: var(--wume-text-on-sand); }
.wume-hero.wume-section-lbrown { background: var(--wume-lbrown); color: var(--wume-text-on-lbrown); }

/* ── Right-side invite panel — V32 figma R1 rebuild, V33 responsive ──
   Mobile figma [94:5575]: single-column stack — sand outer with cream
   form-card inset, brown text, sage-green SEND button, contact info on
   sand below the form-card.
   Desktop figma [94:3447]: two-column card — sand LEFT column (kicker,
   heading, subtitle, contact-info at bottom) + cream RIGHT column (form
   filling full height). The structural switch happens at min-width 992. */
.wume-invite-panel {
    background: var(--wume-sand);
    color: var(--wume-brown);
}
.wume-invite-panel-close {
    color: var(--wume-brown);
}

/* Body wrapper: flex column on mobile (left → right → footer order),
   2-col grid with grid-template-areas on desktop (left at top of col 1,
   footer at bottom of col 1, right spans both rows of col 2). The
   desktop bg uses a linear-gradient to give left half sand and right
   half cream without coloring each child explicitly. */
.wume-invite-panel-body {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
@media (min-width: 992px) {
    .wume-invite-panel-body {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr auto;
        grid-template-areas:
            "left   right"
            "footer right";
        gap: 0;
        min-height: 100vh;
        background: linear-gradient(to right, var(--wume-sand) 50%, var(--wume-cream) 50%);
    }
}

/* Left column (sand bg via panel ground). Contains kicker + title + subtitle. */
.wume-invite-panel-left {
    padding: 48px 24px 8px;
}
@media (min-width: 992px) {
    .wume-invite-panel-left {
        grid-area: left;
        padding: 64px 48px 24px;
        background: transparent; /* gradient on body shows through */
    }
}

/* Right column. Mobile: transparent (form-card holds the cream). Desktop:
   transparent too (gradient on body provides cream half). Padding goes
   on the form-card mobile and on the column directly on desktop. */
.wume-invite-panel-right {
    padding: 16px 16px 24px;
}
@media (min-width: 992px) {
    .wume-invite-panel-right {
        grid-area: right;
        padding: 64px 48px 48px;
        background: transparent;
    }
}

.wume-invite-panel-kicker {
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.72rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-brown);
    line-height: 1.4;
    margin: 0 0 24px;
}

/* Title + subtitle. */
.wume-invite-panel-inner h2 {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 2rem;
    line-height: 1.15;
    margin: 0 0 12px;
    color: var(--wume-brown);
}
@media (min-width: 992px) {
    .wume-invite-panel-inner h2 { font-size: 2.5rem; }
}
.wume-invite-panel-inner > p {
    font-family: var(--wume-font-body);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0 0 24px;
    color: var(--wume-brown);
}

/* Mobile form-card: cream inset with surrounding sand visible.
   Desktop: no separate card — the right column is fully cream. */
.wume-invite-panel-form-card {
    background: var(--wume-cream);
    padding: 28px 24px;
    margin: 0 0 28px;
}
@media (min-width: 992px) {
    .wume-invite-panel-form-card {
        background: transparent;
        padding: 0;
        margin: 0;
    }
}

/* Field-pair: stacked mobile, 2-col desktop. */
.wume-invite-field-pair {
    display: block;
}
@media (min-width: 992px) {
    .wume-invite-field-pair {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }
}

/* Checkbox row inside fieldset: stacked mobile, inline desktop. */
.wume-invite-check-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
@media (min-width: 992px) {
    .wume-invite-check-row {
        flex-direction: row;
        gap: 24px;
        flex-wrap: wrap;
    }
}

/* Line-underline form field — label above, underlined input below. */
.wume-invite-field {
    margin: 0 0 20px;
}
.wume-invite-label {
    display: block;
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.7rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-brown);
    margin: 0 0 8px;
}
.wume-invite-input {
    display: block;
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--wume-brown);
    border-radius: 0;
    padding: 4px 0 6px;
    font-family: var(--wume-font-body);
    font-size: 1rem;
    color: var(--wume-brown);
    outline: none;
    box-shadow: none;
}
.wume-invite-input:focus {
    border-bottom-width: 2px;
}

/* Checkbox group fieldset (Interest, Contact Method). */
.wume-invite-fieldset {
    border: 0;
    padding: 0;
    margin: 0 0 20px;
}
.wume-invite-fieldset legend {
    padding: 0;
    margin-bottom: 10px;
}
.wume-invite-check {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--wume-brown);
    margin: 0 0 8px;
    cursor: pointer;
}
.wume-invite-check input[type="checkbox"] {
    width: 14px;
    height: 14px;
    accent-color: var(--wume-brown);
    margin: 0;
}

/* Sage-green full-width SEND button. */
.wume-invite-send {
    display: block;
    width: 100%;
    background: var(--wume-sage);
    color: var(--wume-cream);
    border: 0;
    border-radius: 0;
    padding: 18px 24px;
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.85rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    cursor: pointer;
    margin-top: 8px;
}
.wume-invite-send:hover {
    background: var(--wume-brown);
    color: var(--wume-cream);
}

/* Contact info block. Mobile: below the form-card on sand panel
   (third item in flex column). Desktop: bottom of LEFT column via
   grid-area: footer. */
.wume-invite-panel-footer {
    font-family: var(--wume-font-body);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    color: var(--wume-brown);
    line-height: 1.6;
    padding: 0 24px 32px;
}
@media (min-width: 992px) {
    .wume-invite-panel-footer {
        grid-area: footer;
        padding: 0 48px 48px;
        font-size: 0.7rem;
    }
}
.wume-invite-panel-footer p {
    margin: 0 0 14px;
}
.wume-invite-panel-footer a {
    color: var(--wume-brown);
    text-decoration: none;
}
.wume-invite-panel-footer a:hover {
    text-decoration: underline;
}

/* ========================================================================
   V34 — Home-page figma R1 desktop [94:681] high-fidelity overrides
   ======================================================================== */

/* Hero: left-aligned heading/subtitle/CTAs at max-width 60%, with kicker
   pinned to the upper-right corner of the hero band. Scoped via
   body.is-home-page so the centered .wume-hero base rule remains the default
   for every other page. */
body.is-home-page .wume-hero {
    text-align: left;
    position: relative;
}
body.is-home-page .wume-hero .container {
    position: relative;
}
body.is-home-page .wume-hero-content {
    max-width: 60%;
}
body.is-home-page .wume-hero-title {
    margin-left: 0;
    margin-right: 0;
}
body.is-home-page .wume-hero-subtitle {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
}
body.is-home-page .wume-hero-tagline--corner {
    position: absolute;
    top: 32px;
    right: var(--bs-gutter-x, 1.5rem);
    margin: 0;
    text-align: right;
}

/* Mobile fallback (<992): hero content widens to full container, kicker
   returns to inline position (no longer absolute corner). LEFT-align is
   preserved — figma mobile keeps the hero left-aligned just like desktop
   (V40 corrected from a prior incorrect "re-center" reset). */
@media (max-width: 991.98px) {
    body.is-home-page .wume-hero {
        text-align: left;
    }
    body.is-home-page .wume-hero-content {
        max-width: 100%;
    }
    body.is-home-page .wume-hero-tagline--corner {
        position: static;
        text-align: left;
        margin-bottom: 16px;
    }
}

/* Navbar: continuous brown chrome from page-top through hero on the home
   page. The cream-on-cream base rules become cream-on-brown here. */
body.is-home-page .wume-navbar:not(.is-scrolled) {
    background: var(--wume-brown);
    border-bottom-color: var(--wume-lbrown);
}
body.is-home-page .wume-nav-items .nav-link,
body.is-home-page .wume-nav-items .nav-link:hover,
body.is-home-page .wume-nav-items .nav-link:focus {
    color: var(--wume-cream);
}
body.is-home-page .wume-btn-nav-login,
body.is-home-page .wume-btn-nav-login:hover {
    color: var(--wume-cream);
}
body.is-home-page .wume-cart-icon {
    color: var(--wume-cream);
}

/* Press logo grid: 4-up real logo images replacing the 6-up text swatch
   boxes. The container element ensures the logos line up on a baseline,
   stay vertically centered, and shrink-fit inside their cell at max-height
   48px (matches figma R1 logo treatment). */
.wume-press-logo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    align-items: center;
    justify-items: center;
    margin: 32px auto 0;
    max-width: 1100px;
}
.wume-press-logo-grid img {
    max-height: 48px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
}
@media (max-width: 991.98px) {
    .wume-press-logo-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}
@media (max-width: 575.98px) {
    .wume-press-logo-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================================================
   V35 — Care-page figma R1 desktop [94:1510] high-fidelity overrides
   ======================================================================== */

/* Chrome: hide the brown announcement bar and flip the navbar to sage so
   the top of the page reads as one continuous sage surface from page-top
   through the sage hero. */
body.is-care-page #announcement-bar {
    display: none;
}
body.is-care-page .wume-navbar:not(.is-scrolled) {
    background: var(--wume-sage);
    border-bottom-color: var(--wume-lbrown);
}
/* Sage → black per brand text-on-bg rule. Nav links + Sign In + cart icon
   already default to black; explicit re-statement keeps overrides safe if
   future site-wide changes flip those defaults. */
body.is-care-page .wume-nav-items .nav-link,
body.is-care-page .wume-nav-items .nav-link:hover,
body.is-care-page .wume-nav-items .nav-link:focus,
body.is-care-page .wume-btn-nav-login,
body.is-care-page .wume-cart-icon {
    color: var(--wume-black);
}

/* Hero: 2-column layout — heading + jump-links anchor the LEFT column,
   .wume-hero-body paragraph occupies the indented middle-right column.
   .wume-hero rule has text-align:center by default; override scoped to
   .is-care-page flips the section to left-align inside the LEFT column
   while leaving the .wume-hero-body free to float into its own column. */
body.is-care-page .wume-hero {
    background: var(--wume-sage);
    color: var(--wume-text-on-sage);
    text-align: left;
}
body.is-care-page .wume-hero .container {
    display: grid;
    grid-template-columns: minmax(0, 267px) minmax(0, 1fr);
    column-gap: 0;
    align-items: start;
}
body.is-care-page .wume-hero-title {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0 0 36px;
    max-width: 100%;
}
body.is-care-page .wume-hero-body {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    max-width: 670px;
    font-size: 0.95rem;
    line-height: 1.6;
}
body.is-care-page .wume-hero-jumps {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 64px;
}

/* Jump-link cluster on Care: LEFT-aligned, with a "□" marker prefix on
   each link via :before. Other pages keep the centered .wume-jump-links
   cluster as defined in the global rule. */
body.is-care-page .wume-jump-links {
    justify-content: flex-start;
    gap: 32px;
}
body.is-care-page .wume-jump-link::before {
    content: "\25A1";  /* WHITE SQUARE U+25A1 — matches figma's outlined-square marker */
    margin-right: 8px;
    font-size: 0.85em;
}

/* Hero mobile fallback (<992): collapse the 2-col grid back to a single
   column so the body paragraph sits BELOW the heading and jump-links
   re-center. */
@media (max-width: 991.98px) {
    body.is-care-page .wume-hero .container {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }
    body.is-care-page .wume-hero-body {
        grid-column: 1;
        grid-row: 2;
        max-width: 100%;
    }
    body.is-care-page .wume-hero-jumps {
        grid-row: 3;
        margin-top: 24px;
    }
    body.is-care-page .wume-jump-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* Step-card LEFT-half sub-2-column row: narrow far-LEFT column for the
   "step I." kicker, wider middle column for the body paragraph. The
   step-card heading remains above this row spanning the full left half. */
.wume-step-card-body-row {
    display: grid;
    grid-template-columns: 90px 1fr;
    column-gap: 24px;
    align-items: start;
}
.wume-step-card-body-row .wume-step-card-kicker {
    margin: 0;
    padding-top: 2px;
}
.wume-step-card-body-row .wume-step-card-body {
    margin: 0;
}
@media (max-width: 991.98px) {
    .wume-step-card-body-row {
        grid-template-columns: 1fr;
        row-gap: 4px;
    }
}

/* 3-pillar ROW layout (Care figma R1): 3 stacked rows, each row a
   3-column grid (small square photo LEFT + kicker MID-LEFT + body
   paragraph RIGHT). Distinct from .wume-three-pillar which is the
   3-COLUMN grid still used by physicians.html.twig for the "Our
   Standard" 6-pillar grid. */
.wume-three-pillar-rows {
    display: flex;
    flex-direction: column;
    gap: 56px;
}
.wume-three-pillar-rows > .wume-three-pillar-row {
    display: grid;
    grid-template-columns: 220px 220px 1fr;
    column-gap: 40px;
    align-items: start;
}
.wume-three-pillar-rows .wume-three-pillar-image {
    aspect-ratio: 1 / 1;
    margin: 0;
    overflow: hidden;
}
.wume-three-pillar-rows .wume-three-pillar-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.wume-three-pillar-rows .wume-three-pillar-kicker {
    margin: 0;
    max-width: 180px;
}
.wume-three-pillar-rows .wume-three-pillar-body {
    margin: 0;
    max-width: 460px;
    font-size: 0.95rem;
    line-height: 1.6;
}
@media (max-width: 991.98px) {
    .wume-three-pillar-rows > .wume-three-pillar-row {
        grid-template-columns: 1fr;
        row-gap: 16px;
    }
    .wume-three-pillar-rows .wume-three-pillar-image {
        aspect-ratio: 4 / 3;
    }
    .wume-three-pillar-rows .wume-three-pillar-kicker,
    .wume-three-pillar-rows .wume-three-pillar-body {
        max-width: 100%;
    }
}

/* ========================================================================
   V36 — Care-page V08-fix: lock all step-card photos to the RIGHT
   ======================================================================== */

/* Override the .wume-step-card:nth-child(even) > .wume-step-card-image
   { order: 2 } alternation rule. On Care, ALL step-cards put their photo
   on the RIGHT (text on LEFT), matching figma R1 [94:1510]. */
body.is-care-page .wume-step-card > .wume-step-card-image {
    order: 2;
}

/* ========================================================================
   V37 — Pathways-page figma R1 desktop [94:1855] high-fidelity overrides
   ======================================================================== */

/* Chrome: hide the brown announcement bar and flip the navbar to brown so
   the top of the page reads as one continuous brown surface from page-top
   through the brown hero. */
body.is-pathways-page #announcement-bar {
    display: none;
}
body.is-pathways-page .wume-navbar:not(.is-scrolled) {
    background: var(--wume-brown);
    border-bottom-color: var(--wume-lbrown);
}
/* Brown → cream per brand text-on-bg rule. Nav links + Sign In + cart icon
   need explicit cream because they default to black. */
body.is-pathways-page .wume-nav-items .nav-link,
body.is-pathways-page .wume-nav-items .nav-link:hover,
body.is-pathways-page .wume-nav-items .nav-link:focus,
body.is-pathways-page .wume-btn-nav-login,
body.is-pathways-page .wume-btn-nav-login:hover,
body.is-pathways-page .wume-cart-icon {
    color: var(--wume-cream);
}

/* Hero: 2-column layout — heading + jump-links anchor the LEFT column,
   .wume-hero-body paragraph occupies the indented middle-right column.
   Mirrors the Care V35 hero pattern. */
body.is-pathways-page .wume-hero {
    text-align: left;
}
body.is-pathways-page .wume-hero .container {
    display: grid;
    grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
    column-gap: 0;
    align-items: start;
}
body.is-pathways-page .wume-hero-title {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0 0 36px;
    max-width: 100%;
}
body.is-pathways-page .wume-hero-body {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    max-width: 470px;
    font-size: 0.95rem;
    line-height: 1.6;
}
body.is-pathways-page .wume-hero-jumps {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 64px;
}

/* Jump-link cluster on Pathways: LEFT-aligned, cream text on brown ground,
   with a "□" marker prefix on each link. Replaces the inline cream
   color/border attributes that lived on each <a> in V09. */
body.is-pathways-page .wume-jump-links {
    justify-content: flex-start;
    gap: 32px;
}
body.is-pathways-page .wume-jump-link {
    color: var(--wume-cream);
    border-color: var(--wume-cream);
}
body.is-pathways-page .wume-jump-link:hover {
    color: var(--wume-cream);
    border-color: var(--wume-cream);
}
body.is-pathways-page .wume-jump-link::before {
    content: "\25A1";
    margin-right: 8px;
    font-size: 0.85em;
}

/* Hero mobile fallback (<992): collapse the 2-col grid back to a single
   column so the body paragraph sits BELOW the heading and jump-links
   re-center. */
@media (max-width: 991.98px) {
    body.is-pathways-page .wume-hero .container {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }
    body.is-pathways-page .wume-hero-body {
        grid-column: 1;
        grid-row: 2;
        max-width: 100%;
    }
    body.is-pathways-page .wume-hero-jumps {
        grid-row: 3;
        margin-top: 24px;
    }
    body.is-pathways-page .wume-jump-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* ========================================================================
   V38 — Physicians-page figma R1 desktop [94:1992] high-fidelity overrides
   ======================================================================== */

/* Chrome: hide the brown announcement bar and flip the navbar to sand so
   the top of the page reads as one continuous sand surface from page-top
   through the sand hero. */
body.is-physicians-page #announcement-bar {
    display: none;
}
body.is-physicians-page .wume-navbar:not(.is-scrolled) {
    background: var(--wume-sand);
    border-bottom-color: var(--wume-lbrown);
}
/* Sand → black per brand text-on-bg rule. Nav links + Sign In + cart
   default to black; explicit re-statement keeps overrides safe. */
body.is-physicians-page .wume-nav-items .nav-link,
body.is-physicians-page .wume-nav-items .nav-link:hover,
body.is-physicians-page .wume-nav-items .nav-link:focus,
body.is-physicians-page .wume-btn-nav-login,
body.is-physicians-page .wume-cart-icon {
    color: var(--wume-black);
}

/* Hero: 2-column layout — heading + jump-links anchor the LEFT column,
   .wume-hero-body paragraph occupies the indented middle-right column.
   Mirrors the Care V35 hero pattern. */
body.is-physicians-page .wume-hero {
    text-align: left;
}
body.is-physicians-page .wume-hero .container {
    display: grid;
    grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
    column-gap: 0;
    align-items: start;
}
body.is-physicians-page .wume-hero-title {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0 0 36px;
    max-width: 100%;
}
body.is-physicians-page .wume-hero-body {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    max-width: 460px;
    font-size: 0.95rem;
    line-height: 1.6;
}
body.is-physicians-page .wume-hero-jumps {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 64px;
}

/* Jump-link cluster on Physicians: LEFT-aligned, black text on sand
   ground, with "□" marker prefix on each link. */
body.is-physicians-page .wume-jump-links {
    justify-content: flex-start;
    gap: 32px;
}
body.is-physicians-page .wume-jump-link::before {
    content: "\25A1";
    margin-right: 8px;
    font-size: 0.85em;
}

/* Hero mobile fallback (<992): collapse 2-col → 1-col, re-center the
   jump-link cluster. */
@media (max-width: 991.98px) {
    body.is-physicians-page .wume-hero .container {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }
    body.is-physicians-page .wume-hero-body {
        grid-column: 1;
        grid-row: 2;
        max-width: 100%;
    }
    body.is-physicians-page .wume-hero-jumps {
        grid-row: 3;
        margin-top: 24px;
    }
    body.is-physicians-page .wume-jump-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* ========================================================================
   V39 — Visit-page figma R1 desktop [94:2183] high-fidelity overrides
   ======================================================================== */

/* Chrome: hide the brown announcement bar so the cream navbar + cream
   hero form one continuous cream surface. No navbar color flip needed
   here — both default to cream. */
body.is-visit-page #announcement-bar {
    display: none;
}

/* Hero: 2-column layout — heading + jump-links anchor the LEFT column,
   .wume-hero-body paragraph occupies the indented middle-right column.
   Mirrors the Care V35 hero pattern. */
body.is-visit-page .wume-hero {
    text-align: left;
}
body.is-visit-page .wume-hero .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 60px;
    align-items: start;
}
body.is-visit-page .wume-hero-title {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 16px;
    max-width: 100%;
}
body.is-visit-page .wume-hero-body {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    max-width: 340px;
    font-size: 0.95rem;
    line-height: 1.6;
}
body.is-visit-page .wume-hero-jumps {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 64px;
}

/* Jump-link cluster on Visit: LEFT-aligned, black text on cream ground,
   with "□" marker prefix on each link. */
body.is-visit-page .wume-jump-links {
    justify-content: flex-start;
    gap: 32px;
}
body.is-visit-page .wume-jump-link::before {
    content: "\25A1";
    margin-right: 8px;
    font-size: 0.85em;
}

/* Hero mobile fallback (<992): collapse 2-col → 1-col, re-center the
   jump-link cluster. */
@media (max-width: 991.98px) {
    body.is-visit-page .wume-hero .container {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }
    body.is-visit-page .wume-hero-body {
        grid-column: 1;
        grid-row: 2;
        max-width: 100%;
    }
    body.is-visit-page .wume-hero-jumps {
        grid-row: 3;
        margin-top: 24px;
    }
    body.is-visit-page .wume-jump-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* ========================================================================
   V41 — Physician Application form (CV upload field styling)
   ======================================================================== */

/* CV/Resume Upload field: a label row + a cream-on-sand cube "UPLOAD"
   button below the label. The native file input is visually hidden but
   keyboard/screen-reader accessible. When a file is chosen, the JS
   handler in base.html.twig writes the filename into the .wume-invite-
   upload-filename span on the right of the UPLOAD button. */
.wume-invite-upload-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}
.wume-invite-upload-btn {
    display: inline-block;
    background: var(--wume-sand);
    color: var(--wume-brown);
    font-family: var(--wume-font-body);
    font-weight: var(--wume-w-sub);
    font-size: 0.78rem;
    letter-spacing: var(--wume-tracking-caps);
    text-transform: uppercase;
    padding: 16px 32px;
    border: 0;
    cursor: pointer;
    align-self: flex-start;
    transition: background 0.15s;
}
.wume-invite-upload-btn:hover,
.wume-invite-upload-btn:focus {
    background: var(--wume-sage);
    color: var(--wume-cream);
}
.wume-invite-upload-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
.wume-invite-upload-filename {
    font-family: var(--wume-font-body);
    font-size: 0.85rem;
    color: var(--wume-brown);
    margin-top: 4px;
    word-break: break-all;
}

/* ========================================================================
   V42 — Home bottom "Request an Invitation" CTA layout fix
   ======================================================================== */

/* Section: left-align heading + body inside the brown band. The
   text-center class has been removed from the section markup; this rule
   drops the centered `margin: 0 auto` from .wume-section-subtitle so the
   subtitle anchors to the container's left edge instead of centering. */
body.is-home-page .wume-invite-form .wume-section-title {
    text-align: left;
}
body.is-home-page .wume-invite-form .wume-section-subtitle {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    text-align: left;
}

/* GET STARTED button on this bottom CTA: figma uses a sage-green button
   (matches the invite-panel SEND button color), full-width. The cream-
   on-brown inline style on the <button> in home.html.twig V13 is removed
   in V14; the sage color comes from this scoped rule instead. */
body.is-home-page .wume-invite-form .js-request-invite {
    background: var(--wume-sage);
    color: var(--wume-cream);
    border-color: var(--wume-sage);
    width: 100%;
    padding: 16px 24px;
}
body.is-home-page .wume-invite-form .js-request-invite:hover,
body.is-home-page .wume-invite-form .js-request-invite:focus {
    background: var(--wume-brown);
    color: var(--wume-cream);
    border-color: var(--wume-sage);
}

/* ========================================================================
   V45 — Navbar fidelity pass (figma R1 home frame [94:681])
   Markup partner: base.html.twig V48 navbar rewrite.
   ======================================================================== */

/* Wordmark dual-img: default shows the dark (black-on-transparent)
   variant; on body.is-home-page the cream variant takes over. */
.wume-logo-img {
    height: 36px;
    width: auto;
    display: inline-block;
}
.wume-logo .wume-logo-img--light {
    display: none;
}
body.is-home-page .wume-logo .wume-logo-img--dark {
    display: none;
}
body.is-home-page .wume-logo .wume-logo-img--light {
    display: inline-block;
}

/* Mobile wordmark shrinks per the existing rule at line ~1730 — these
   class-scoped rules track it so both variants behave the same way. */
@media (max-width: 991.98px) {
    .wume-logo-img {
        height: 28px;
    }
}
.wume-navbar.is-scrolled .wume-logo-img {
    height: 28px;
}

/* Right-group icon primitive: shared sizing/spacing for search, person,
   cart. Color inherits from the navbar text color (cream on brown,
   black on cream). */
.wume-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: inherit;
    text-decoration: none;
    font-size: 1.1rem;
    transition: opacity 0.15s;
}
.wume-nav-icon:hover,
.wume-nav-icon:focus {
    color: inherit;
    opacity: 0.7;
}

/* Mobile flex margin: the right group hugs the right edge so the cart
   cluster sits there, and the hamburger sits flush after it. */
@media (max-width: 991.98px) {
    .wume-nav-right {
        margin-left: auto;
    }
    .wume-navbar .navbar-toggler {
        margin-left: 4px;
        margin-right: 0;
    }
}

/* Announcement strip colors per figma R1 (pixel-sampled): HOME = brown band +
   cream text — the default .wume-announcement-bar (lbrown + cream) already
   supplies this, so no home override. SEARCH = sage band + dark text. (An
   earlier build wrongly tinted home sage; the figma shows home brown
   #4D3D2D/#715434 and only search sage #949B88.) */
body.is-search-page .wume-announcement-bar {
    background: var(--wume-sage);
    color: var(--wume-black);
}
body.is-search-page .wume-announcement-link {
    color: var(--wume-black);
}
body.is-search-page .wume-announcement-link:hover {
    color: var(--wume-black);
}

/* Home: the figma MOBILE home bar is the darker --wume-brown (#4D3D2D); the
   default lbrown (#715434) matches the desktop figma, so deepen it on phones. */
@media (max-width: 991.98px) {
    body.is-home-page .wume-announcement-bar { background: var(--wume-brown); }
}

/* Home navbar: kill the bottom divider line so the brown navbar reads
   as one continuous surface with the brown hero below it. V46 — also
   sets text color to cream so every descendant that uses `color: inherit`
   (search/person nav icons, hamburger glyph) renders in cream rather
   than the body-default black. */
body.is-home-page .wume-navbar {
    border-bottom: 0;
    color: var(--wume-cream);
}
body.is-home-page .wume-navbar .navbar-toggler {
    color: var(--wume-cream);
}

/* Home nav links: drop the default uppercase + caps-letter-spacing and
   render in sentence case (figma R1 desktop home shows "Care", "Pathways",
   not "CARE", "PATHWAYS"). */
body.is-home-page .wume-nav-items .nav-link {
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.95rem;
}

/* Home Request-button: cream outline on brown — transparent fill, 1px
   cream border, cream text. Overrides the global .wume-btn-primary
   solid-black default. */
body.is-home-page .wume-nav-right .wume-btn-request,
body.is-home-page .wume-nav-right .wume-btn-request:focus {
    background: transparent;
    color: var(--wume-cream);
    border: 1px solid var(--wume-cream);
    text-transform: uppercase;
    letter-spacing: var(--wume-tracking-caps);
}
body.is-home-page .wume-nav-right .wume-btn-request:hover {
    background: var(--wume-cream);
    color: var(--wume-brown);
    border-color: var(--wume-cream);
}

/* ========================================================================
   V49 — Bottom "Request an Invitation" CTA: photo background + overlay
   (audit item C). The `.wume-invite-form.wume-section-brown` selector
   (specificity 0,2,0) beats the plain `.wume-section-brown` rule so the
   photo + overlay layered backgrounds take precedence. The linear-
   gradient layer paints a brown ~55%-opacity tint over the hourglass
   photo behind it. Applies globally to every page using this section.
   ======================================================================== */
.wume-invite-form.wume-section-brown {
    background-color: var(--wume-brown);
    background-image:
        linear-gradient(rgba(77, 61, 45, 0.55), rgba(77, 61, 45, 0.55)),
        url('../img/wume-final/exact/cta.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--wume-cream);
}

/* ========================================================================
   V50 — Heading + subtitle left-alignment cascade (audit item D).
   When a `.wume-section` (or `.wume-section-alt`) does NOT carry the
   `text-center` modifier, the heading inherits `text-align: left` from
   the document default, but the subtitle's `max-width: 600px; margin:
   0 auto` would still box-center it, leaving a narrow centered column
   under a left-aligned heading. This rule anchors the subtitle to the
   container's left edge in that case.
   ======================================================================== */
.wume-section:not(.text-center) .wume-section-subtitle,
.wume-section-alt:not(.text-center) .wume-section-subtitle,
.wume-invite-form:not(.text-center) .wume-section-subtitle {
    max-width: 720px;
    margin-left: 0;
    margin-right: 0;
}

/* ========================================================================
   V52 — Home mobile carousels (audit item 2) + footer 2-photo grid (item 4)
   ======================================================================== */

/* Mobile horizontal carousel for the home services grid (7 treatment
   tiles) and the home testimonial row. Both use native scroll-snap so
   touch-scroll snaps each tile/card to the start of the viewport. */
@media (max-width: 991.98px) {
    .wume-services-grid {
        display: flex;
        flex-direction: row;
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 20px;
        padding-bottom: 16px;
        -webkit-overflow-scrolling: touch;
    }
    .wume-services-grid > .wume-services-tile {
        flex: 0 0 75%;
        scroll-snap-align: start;
    }

    /* Testimonial row uses a scoping class added in home.html.twig V17
       so this rule doesn't apply to other Bootstrap rows. */
    .wume-testimonial-row {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 20px;
        gap: 16px;
        padding-bottom: 16px;
        -webkit-overflow-scrolling: touch;
    }
    .wume-testimonial-row > [class*="col-"] {
        flex: 0 0 80%;
        max-width: 80%;
        scroll-snap-align: start;
    }
}

/* Footer 2-photo grid — figma R1 places two portrait crops inside the
   sage footer, between the WUME wordmark row and the content columns.
   Markup added in base.html.twig V54. */
.wume-footer-photos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 0 0 40px;
    max-width: 560px;
}
.wume-footer-photos img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 274 / 350;
    object-fit: cover;
}

/* ===== page css: account.css ===== */



body.is-account-page .wume-account-photo {
    width: 100%;
    height: auto;
    display: block;
}

@media (min-width: 992px) {

    body.is-account-page .wume-account-section {
        max-width: 1440px;
        margin: 0 auto;
        padding: 64px 36px 0;
    }

    
    body.is-account-page .wume-account-split {
        display: grid;
        grid-template-columns: 563px 1fr;
        column-gap: 141px;
        align-items: start;
        margin: 0;
    }
    body.is-account-page .wume-account-split-pane {
        padding: 0;
        background: transparent;
    }
    
    body.is-account-page .wume-account-form-pane {
        min-height: 714px;
    }

    
    body.is-account-page .wume-account-kicker {
        margin: 0 0 44px;
        text-align: left;
    }
    body.is-account-page .wume-account-title {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 3rem;
        line-height: 1.1;
        letter-spacing: var(--wume-tracking-heading);
        color: var(--wume-black);
        margin: 0 0 32px;
        text-align: left;
    }
    body.is-account-page .wume-account-form .form-control {
        border: 1px solid #7a7875;
        border-radius: 0;
        background: transparent;
        padding: 15px 16px;
        margin-bottom: 12px;
        font-family: var(--wume-font-body);
        font-size: 0.95rem;
        color: var(--wume-black);
    }
    body.is-account-page .wume-account-form .form-control::placeholder {
        color: #7a7875;
    }
    
    body.is-account-page .wume-account-signin {
        display: block;
        width: 100%;
        margin-top: 12px;
        padding: 15px;
        background: var(--wume-sage);
        border-color: var(--wume-sage);
        color: var(--wume-cream);
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-size: 0.78rem;
    }
    
    body.is-account-page .wume-account-forgot {
        display: block;
        margin-top: 18px;
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-size: 0.72rem;
        font-weight: var(--wume-w-sub);
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    
    body.is-account-page .wume-account-photo {
        height: 714px;
        object-fit: cover;
    }

    
    body.is-account-page .wume-account-links-section {
        max-width: 1440px;
        margin: 56px auto 0;
        padding: 0 36px;
    }
    body.is-account-page .wume-account-links {
        display: grid;
        grid-template-columns: 235px 233px 1fr;
        column-gap: 0;
        align-items: start;
    }
    body.is-account-page .wume-account-links-col .wume-hero-tagline {
        margin: 0 0 12px;
        text-align: left;
    }
}


@media (max-width: 991.98px) {

    
    body.is-account-page .wume-account-section {
        padding: 54px 24px 0;
        margin: 0;
    }

    
    body.is-account-page .wume-account-split {
        display: block;
        margin: 0;
    }
    body.is-account-page .wume-account-split-pane {
        padding: 0;
        background: transparent;
    }
    
    body.is-account-page .wume-account-form-pane {
        min-height: 0;
    }

    
    body.is-account-page .wume-account-kicker {
        margin: 0 0 52px;
        text-align: left;
        line-height: 1.35;
        max-width: 145px;
    }
    body.is-account-page .wume-account-title {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 2.5rem;        
        line-height: 1.1;
        letter-spacing: var(--wume-tracking-heading);
        color: var(--wume-black);
        margin: 0 0 27px;
        text-align: left;
    }

    
    body.is-account-page .wume-account-form .form-control {
        display: block;
        width: 100%;
        border: 1px solid #7a7875;
        border-radius: 0;
        background: transparent;
        padding: 14px 16px;
        margin-bottom: 12px;
        font-family: var(--wume-font-body);
        font-size: 0.95rem;
        color: var(--wume-black);
    }
    body.is-account-page .wume-account-form .form-control::placeholder {
        color: #7a7875;
    }

    
    body.is-account-page .wume-account-signin {
        display: block;
        width: 100%;
        margin-top: 14px;
        padding: 16px;
        background: var(--wume-sage);
        border-color: var(--wume-sage);
        color: var(--wume-cream);
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-size: 0.78rem;
    }

    
    body.is-account-page .wume-account-forgot {
        display: block;
        margin-top: 21px;
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-size: 0.72rem;
        font-weight: var(--wume-w-sub);
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    
    body.is-account-page .wume-account-links-section {
        max-width: none;
        margin: 62px 0 0;
        padding: 0 24px;
    }
    
    body.is-account-page .wume-account-links {
        display: grid;
        grid-template-columns: 180px 1fr;
        column-gap: 0;
        row-gap: 25px;
        align-items: start;
    }
    body.is-account-page .wume-account-links-col .wume-hero-tagline {
        margin: 0 0 0;
        text-align: left;
    }
    
    body.is-account-page .wume-account-links-col .wume-link-underline {
        margin-top: 27px;
    }

    
    body.is-account-page .wume-account-photo-mobile {
        margin: 28px 0 0;
        padding: 0 24px;
    }
    body.is-account-page .wume-account-photo-mobile img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 344 / 428;
        object-fit: cover;
    }
}

/* ===== page css: basic.css ===== */


@media (min-width: 992px) {

    
    body.is-basic-page .wume-basic-feature {
        grid-template-columns: 1fr 582px;
        column-gap: 60px;
        align-items: start;
    }

    
    body.is-basic-page .wume-basic-body {
        min-width: 0;
    }

    
    body.is-basic-page .wume-basic-body .wume-feature-body {
        max-width: none;
    }

    
    body.is-basic-page .wume-basic-feature .wume-feature-text .wume-feature-title {
        font-size: 50px;
        line-height: 1.1;
        letter-spacing: -1.5px;
        margin: 0;
    }

    
    body.is-basic-page .wume-basic-eyebrow {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        line-height: 1.2;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 18px;
    }

    
    body.is-basic-page .wume-basic-lists {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 60px;
        
        max-width: 372px;
        margin: 32px 0 32px;
    }
    body.is-basic-page .wume-basic-lists ol,
    body.is-basic-page .wume-basic-lists ul {
        max-width: none;
    }
    body.is-basic-page .wume-basic-lists li {
        font-family: var(--wume-font-body);
        font-size: 18px;
        line-height: 1.4;
        margin: 0 0 10px;
    }

    
    body.is-basic-page .wume-basic-body .wume-feature-title {
        font-size: 24px;
        line-height: 1.2;
        letter-spacing: -0.6px;
        margin: 48px 0 20px;
    }

    
    body.is-basic-page .wume-basic-links {
        display: flex;
        align-items: center;
        gap: 48px;
        margin-top: 20px;
    }
    body.is-basic-page .wume-basic-links .wume-link-underline {
        margin-top: 0;
    }

    
    body.is-basic-page .wume-basic-body .wume-btn-sage {
        margin-top: 32px;
    }

    
    body.is-basic-page .wume-basic-faq-title {
        margin: 64px 0 16px;
    }

    
    body.is-basic-page .wume-pathway-accordion .accordion-item {
        border: 0;
        border-bottom: 1px solid var(--wume-black);
        border-radius: 0;
        margin-bottom: 0;
        background: transparent;
    }
    body.is-basic-page .wume-pathway-accordion .accordion-button {
        position: relative;
        background: transparent;
        color: var(--wume-black);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        padding: 24px 40px 24px 0;
        box-shadow: none;
    }
    body.is-basic-page .wume-pathway-accordion .accordion-button:not(.collapsed) {
        background: transparent;
        color: var(--wume-black);
        box-shadow: none;
    }
    body.is-basic-page .wume-pathway-accordion .accordion-button:focus {
        box-shadow: none;
        outline: none;
    }
    
    body.is-basic-page .wume-pathway-accordion .accordion-button::after {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        height: auto;
        margin: 0;
        background-image: none;
        content: "+";
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.25rem;
        line-height: 1;
        color: var(--wume-black);
    }
    body.is-basic-page .wume-pathway-accordion .accordion-button:not(.collapsed)::after {
        background-image: none;
        transform: translateY(-50%);
        content: "\2212"; 
    }
    body.is-basic-page .wume-pathway-accordion .accordion-body {
        background: transparent;
        color: var(--wume-text-on-cream);
        line-height: var(--wume-lead-body);
        padding: 4px 40px 24px 0;
    }

    
    body.is-basic-page .wume-basic-photo {
        margin-top: 48px;
        min-height: 0;
    }
}



@media (max-width: 991.98px) {

    
    body.is-basic-page .wume-basic-feature .wume-feature-text .wume-feature-title {
        font-size: 34px;
        line-height: 1.1;
        letter-spacing: -1px;
        margin: 0;
    }

    
    body.is-basic-page .wume-basic-eyebrow {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        line-height: 1.2;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 16px;
    }

    
    body.is-basic-page .wume-basic-lists {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 16px;
        margin: 28px 0 28px;
    }
    body.is-basic-page .wume-basic-lists ol,
    body.is-basic-page .wume-basic-lists ul {
        max-width: none;
    }
    body.is-basic-page .wume-basic-lists li {
        font-family: var(--wume-font-body);
        font-size: 18px;
        line-height: 1.4;
        margin: 0 0 12px;
    }

    
    body.is-basic-page .wume-basic-body .wume-feature-title {
        font-size: 24px;
        line-height: 1.2;
        letter-spacing: -0.6px;
        margin: 8px 0 16px;
    }

    
    body.is-basic-page .wume-basic-links {
        display: flex;
        align-items: center;
        gap: 32px;
        margin-top: 16px;
    }
    body.is-basic-page .wume-basic-links .wume-link-underline {
        margin-top: 0;
    }

    
    body.is-basic-page .wume-basic-body .wume-btn-sage {
        display: block;
        width: 100%;
        margin-top: 28px;
        padding-left: 0;
        padding-right: 0;
        text-align: center;
    }

    
    body.is-basic-page .wume-basic-faq-title {
        margin: 48px 0 8px;
    }

    
    body.is-basic-page .wume-pathway-accordion .accordion-item {
        border: 0;
        border-bottom: 1px solid var(--wume-black);
        border-radius: 0;
        margin-bottom: 0;
        background: transparent;
    }
    body.is-basic-page .wume-pathway-accordion .accordion-button {
        position: relative;
        background: transparent;
        color: var(--wume-black);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        padding: 20px 36px 20px 0;
        box-shadow: none;
    }
    body.is-basic-page .wume-pathway-accordion .accordion-button:not(.collapsed) {
        background: transparent;
        color: var(--wume-black);
        box-shadow: none;
    }
    body.is-basic-page .wume-pathway-accordion .accordion-button:focus {
        box-shadow: none;
        outline: none;
    }
    body.is-basic-page .wume-pathway-accordion .accordion-button::after {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        height: auto;
        margin: 0;
        background-image: none;
        content: "+";
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.25rem;
        line-height: 1;
        color: var(--wume-black);
    }
    body.is-basic-page .wume-pathway-accordion .accordion-button:not(.collapsed)::after {
        background-image: none;
        transform: translateY(-50%);
        content: "\2212"; 
    }
    body.is-basic-page .wume-pathway-accordion .accordion-body {
        background: transparent;
        color: var(--wume-text-on-cream);
        line-height: var(--wume-lead-body);
        padding: 4px 36px 20px 0;
    }

    
    body.is-basic-page .wume-basic-photo {
        margin-top: 40px;
        min-height: 0;
    }
}

/* ===== page css: care.css ===== */


@media (max-width: 991.98px) {

    
    body.is-care-page .wume-section,
    body.is-care-page .wume-hero,
    body.is-care-page .wume-invite-form {
        padding-top: 42px;
        padding-bottom: 42px;
    }
    body.is-care-page .container {
        padding-left: 24px;
        padding-right: 24px;
    }

    
    body.is-care-page .wume-hero-title {
        font-size: 2.35rem;
        line-height: 1.12;
        letter-spacing: var(--wume-tracking-heading);
        margin-bottom: 28px;
    }
    body.is-care-page .wume-hero-body {
        font-size: 1rem;
        line-height: 1.55;
    }
    body.is-care-page .wume-hero-jumps {
        margin-top: 36px;
    }
    body.is-care-page .wume-jump-links {
        gap: 22px;
    }
    body.is-care-page .wume-jump-link {
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        border-bottom: 0;
        padding-bottom: 0;
    }

    
    body.is-care-page .wume-step-card {
        display: flex;
        flex-direction: column;
        gap: 28px;
        margin-bottom: 42px;
    }
    body.is-care-page .wume-step-card:last-child {
        margin-bottom: 0;
    }
    
    body.is-care-page .wume-step-card > .wume-step-card-image {
        order: -1;
        width: 100%;
        margin: 0;
        aspect-ratio: 4 / 5;
        overflow: hidden;
    }
    body.is-care-page .wume-step-card > .wume-step-card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    body.is-care-page .wume-step-card-title {
        font-size: 1.7rem;
        line-height: 1.15;
        letter-spacing: var(--wume-tracking-heading);
        margin: 0 0 20px;
    }
    
    body.is-care-page .wume-step-card-body-row {
        display: grid;
        grid-template-columns: 72px 1fr;
        column-gap: 24px;
        align-items: start;
    }
    body.is-care-page .wume-step-card-body-row .wume-step-card-kicker {
        margin: 0;
        padding-top: 2px;
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
    }
    body.is-care-page .wume-step-card-body-row .wume-step-card-body {
        margin: 0;
        font-size: 0.95rem;
        line-height: 1.55;
    }
    
    body.is-care-page .wume-section .wume-hero-tagline {
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        margin-bottom: 28px;
    }

    
    body.is-care-page #our-philosophy .wume-hero-tagline {
        text-align: right;
        margin-bottom: 24px;
    }
    body.is-care-page #our-philosophy .wume-section-title {
        font-size: 1.95rem !important;   
        line-height: 1.15;
        max-width: 100% !important;
        margin-bottom: 20px;
    }
    body.is-care-page #our-philosophy .wume-section-subtitle {
        font-size: 0.95rem;
        line-height: 1.55;
    }

    
    body.is-care-page .wume-three-pillar-rows {
        gap: 32px;
        margin-top: 8px;
    }
    body.is-care-page .wume-three-pillar-rows > .wume-three-pillar-row {
        display: block;
    }
    body.is-care-page .wume-three-pillar-rows .wume-three-pillar-kicker {
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        margin: 0 0 14px;
        max-width: 60%;
    }
    body.is-care-page .wume-three-pillar-rows .wume-three-pillar-body {
        margin: 0 0 0 48px;          
        font-size: 0.95rem;
        line-height: 1.55;
        max-width: 100%;
    }
    
    body.is-care-page .wume-three-pillar-rows .wume-three-pillar-row:first-child .wume-three-pillar-image {
        float: right;
        width: 145px;
        height: 145px;
        aspect-ratio: 1 / 1;
        margin: 0 0 28px 24px;
        overflow: hidden;
    }
    body.is-care-page .wume-three-pillar-rows .wume-three-pillar-row:first-child .wume-three-pillar-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    
    body.is-care-page .wume-three-pillar-rows .wume-three-pillar-row:nth-child(n+2) .wume-three-pillar-image {
        display: none;
    }

    
    body.is-care-page #our-services .wume-section-title {
        font-size: 2.05rem !important;   
        line-height: 1.15;
        margin-bottom: 0;
    }
    
    body.is-care-page .wume-care-svc-eyebrow {
        text-align: right;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 24px;
    }

    
    body.is-care-page .wume-care-svc-cat {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 40px 0 16px;
    }
    body.is-care-page .wume-care-svc-group:first-of-type .wume-care-svc-cat {
        margin-top: 36px;
    }

    
    body.is-care-page .wume-care-svc-acc .accordion-item {
        background: #EFEBE2;                    
        border: 1px solid #E0DACB;
        border-radius: 2px;
        margin-bottom: 12px;
        overflow: hidden;
    }
    body.is-care-page .wume-care-svc-acc .accordion-button {
        position: relative;
        background: transparent;
        box-shadow: none;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 1.6rem;
        line-height: 1.12;
        letter-spacing: var(--wume-tracking-heading);
        color: var(--wume-black);
        text-transform: none;
        padding: 44px 52px 22px 24px;          
        min-height: 96px;
        align-items: flex-end;
    }
    body.is-care-page .wume-care-svc-acc .accordion-button:not(.collapsed) {
        background: transparent;
        color: var(--wume-black);
        box-shadow: none;
        padding-bottom: 12px;
    }
    body.is-care-page .wume-care-svc-acc .accordion-button:focus {
        box-shadow: none;
        outline: none;
    }
    
    body.is-care-page .wume-care-svc-acc .accordion-button::after {
        position: absolute;
        right: 24px;
        top: 22px;
        width: auto;
        height: auto;
        margin: 0;
        background-image: none;
        content: "+";
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.5rem;
        line-height: 1;
        color: var(--wume-black);
        transform: none;
    }
    body.is-care-page .wume-care-svc-acc .accordion-button:not(.collapsed)::after {
        background-image: none;
        transform: none;
        content: "\2212";                       
    }
    body.is-care-page .wume-care-svc-acc .accordion-body {
        background: transparent;
        color: var(--wume-text-on-cream);
        padding: 4px 24px 28px 24px;
    }
    
    body.is-care-page .wume-care-svc-acc .wume-care-svc-overview-kicker {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        margin: 0 0 14px;
    }
    body.is-care-page .wume-care-svc-acc .wume-care-svc-overview-body {
        font-size: 0.95rem;
        line-height: 1.55;
        margin: 0 0 24px;
    }
    body.is-care-page .wume-care-svc-acc .wume-care-svc-img {
        width: 100%;
        aspect-ratio: 4 / 5;
        overflow: hidden;
        margin: 0 0 28px;
    }
    body.is-care-page .wume-care-svc-acc .wume-care-svc-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    body.is-care-page .wume-care-svc-acc .wume-care-svc-sublist {
        margin: 0 0 22px;
    }
    body.is-care-page .wume-care-svc-acc .wume-care-svc-sublist:last-child {
        margin-bottom: 0;
    }
    body.is-care-page .wume-care-svc-acc .wume-care-svc-sublist-kicker {
        display: flex;
        align-items: center;
        gap: 12px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        margin: 0 0 8px;
    }
    
    body.is-care-page .wume-care-svc-acc .wume-care-svc-sublist-kicker::before {
        content: "";
        flex: 0 0 auto;
        width: 7px;
        height: 7px;
        background: var(--wume-black);
    }
    body.is-care-page .wume-care-svc-acc .wume-care-svc-sublist-body {
        margin: 0;
        padding-left: 19px;          
        font-size: 0.9rem;
        line-height: 1.5;
        color: #5b574e;
    }

    
    body.is-care-page .wume-section-alt .wume-hero-tagline.text-center {
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        margin-bottom: 28px;
    }
    body.is-care-page .wume-section-alt .wume-card {
        padding: 28px 24px;
        margin-bottom: 28px;
    }
    body.is-care-page .wume-section-alt .wume-card .wume-card-title {
        font-size: 1.9rem !important;
        line-height: 1.12;
        letter-spacing: var(--wume-tracking-heading);
        margin-bottom: 18px;
    }
    body.is-care-page .wume-section-alt .wume-card .wume-three-pillar-kicker {
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        margin-bottom: 16px;
    }
    body.is-care-page .wume-section-alt .wume-card p {
        font-size: 0.95rem;
        line-height: 1.55;
    }

    
    body.is-care-page .wume-section-alt .wume-card > ul {
        margin-top: 24px !important;
    }
    body.is-care-page .wume-section-alt .wume-card > ul > li {
        position: relative;
        border: 1px solid #E0DACB;
        border-radius: 2px;
        background: #EFEBE2;
        min-height: 92px;
        display: flex;
        align-items: flex-end;
        padding: 24px 48px 22px 24px;
        margin-bottom: 12px !important;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 1.3rem;
        line-height: 1.15;
        letter-spacing: var(--wume-tracking-heading);
        color: var(--wume-black);
    }
    
    body.is-care-page .wume-section-alt .wume-card > ul > li > strong {
        display: none;
    }
    
    body.is-care-page .wume-section-alt .wume-card > ul > li::after {
        content: "\2197";            
        position: absolute;
        right: 24px;
        top: 20px;
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.2rem;
        line-height: 1;
        color: var(--wume-black);
    }

    
    body.is-care-page .wume-section-alt .wume-card .wume-btn-outline {
        display: block;
        width: 100%;
        text-align: center;
        background: var(--wume-sage);
        color: var(--wume-black);
        border-color: var(--wume-sage);
        padding: 21px 24px;
        margin-top: 28px;
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
    }
    body.is-care-page .wume-section-alt .wume-card .wume-btn-outline:hover {
        background: var(--wume-sage);
        color: var(--wume-black);
        border-color: var(--wume-sage);
    }
    
    body.is-care-page .wume-section-alt .wume-card .row .wume-three-pillar-kicker {
        position: relative;
        padding-left: 19px;
        margin-bottom: 8px;
    }
    body.is-care-page .wume-section-alt .wume-card .row .wume-three-pillar-kicker::before {
        content: "";
        position: absolute;
        left: 0;
        top: 4px;
        width: 7px;
        height: 7px;
        background: var(--wume-black);
    }
    body.is-care-page .wume-section-alt .wume-card .row > [class*="col-"] > p:not(.wume-three-pillar-kicker) {
        padding-left: 19px;
        font-size: 0.9rem;
        line-height: 1.5;
    }

    
    body.is-care-page .wume-invite-form.wume-section-brown {
        display: none;
    }
}

/* ===== page css: cart.css ===== */



body.is-cart-page .wume-cart-line {
    display: flex;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 1px solid var(--wume-sand);
}
body.is-cart-page .wume-cart-line-thumb {
    width: 80px;
    height: 104px;
    object-fit: cover;
    background: var(--wume-sand);
    flex: 0 0 80px;
}
body.is-cart-page .wume-cart-line-body { flex: 1 1 auto; min-width: 0; }
body.is-cart-page .wume-cart-line-name {
    font-family: var(--wume-font-heading);
    font-weight: var(--wume-w-heading);
    font-size: 1.18rem;
    color: var(--wume-black);
    margin: 0 0 4px;
    line-height: 1.25;
}
body.is-cart-page .wume-cart-line-brand {
    text-transform: uppercase;
    letter-spacing: var(--wume-tracking-caps);
    font-size: 0.72rem;
    color: var(--wume-lbrown);
    margin: 0 0 6px;
}
body.is-cart-page .wume-cart-line-price {
    font-size: 0.95rem;
    color: var(--wume-black);
    margin: 0 0 14px;
}
body.is-cart-page .wume-cart-line-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
body.is-cart-page .wume-cart-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid #78716B;
    border-radius: 2px;
}
body.is-cart-page .wume-cart-stepper button {
    background: none;
    border: 0;
    width: 34px;
    height: 34px;
    font-size: 1rem;
    color: var(--wume-black);
    cursor: pointer;
    line-height: 1;
}
body.is-cart-page .wume-cart-stepper span {
    min-width: 34px;
    text-align: center;
    font-size: 0.9rem;
}
body.is-cart-page .wume-cart-trash {
    background: none;
    border: 0;
    color: var(--wume-black);
    font-size: 1rem;
    cursor: pointer;
    padding: 6px;
}

@media (min-width: 992px) {

    
    body.is-cart-page .wume-cart-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(40, 32, 24, 0.45);
        z-index: 1900;
    }

    
    body.is-cart-page .wume-cart-drawer {
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        width: 600px;
        max-width: 100vw;
        background: var(--wume-cream);
        z-index: 2000;
        display: flex;
        flex-direction: column;
        box-shadow: -8px 0 48px rgba(0, 0, 0, 0.14);
        padding: 30px 40px 0;
    }
    
    body.is-cart-page .wume-section { padding: 0; }
    body.is-cart-page .wume-section > .container { max-width: none; padding: 0; }

    
    body.is-cart-page .wume-cart-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 24px;
        border-bottom: 1px solid var(--wume-sand);
    }
    body.is-cart-page .wume-cart-head h1 {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 1.6rem;
        color: var(--wume-black);
        margin: 0;
    }
    body.is-cart-page .wume-cart-close {
        background: none;
        border: 0;
        font-size: 1.5rem;
        line-height: 1;
        color: var(--wume-black);
        cursor: pointer;
    }

    
    body.is-cart-page .wume-cart-items {
        flex: 1 1 auto;
        overflow-y: auto;
        padding-top: 8px;
    }

    
    body.is-cart-page .wume-cart-foot {
        border-top: 1px solid var(--wume-lbrown);
        padding: 22px 0 30px;
    }
    body.is-cart-page .wume-cart-subtotal {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        margin-bottom: 6px;
    }
    body.is-cart-page .wume-cart-subtotal-label {
        font-family: var(--wume-font-heading);
        font-size: 1.35rem;
        color: var(--wume-black);
    }
    body.is-cart-page .wume-cart-subtotal-amount {
        font-size: 0.95rem;
        color: var(--wume-black);
    }
    body.is-cart-page .wume-cart-taxnote {
        font-size: 0.82rem;
        color: var(--wume-lbrown);
        margin: 0 0 18px;
    }
    body.is-cart-page .wume-cart-checkout {
        display: block;
        width: 100%;
        padding: 17px;
        background: var(--wume-brown);
        color: var(--wume-cream);
        border: 0;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-size: 0.8rem;
        text-decoration: none;
        cursor: pointer;
    }
    body.is-cart-page .wume-cart-checkout:hover { background: var(--wume-black); color: var(--wume-cream); }

    
    body.is-cart-page .wume-cart-empty { text-align: left; padding: 40px 0; }
}



@media (max-width: 991.98px) {

    
    body.is-cart-page .wume-cart-backdrop { display: none; }
    body.is-cart-page .wume-section { padding: 0; }
    body.is-cart-page .wume-section > .container { max-width: none; padding: 0; }
    body.is-cart-page .wume-cart-drawer {
        background: var(--wume-cream);
        padding: 22px 24px 0;
    }

    
    body.is-cart-page .wume-cart-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 18px;
        border-bottom: 1px solid var(--wume-sand);
    }
    body.is-cart-page .wume-cart-head h1 {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 1.5rem;
        color: var(--wume-black);
        margin: 0;
    }
    body.is-cart-page .wume-cart-close {
        background: none;
        border: 0;
        padding: 0;
        font-size: 1.6rem;
        line-height: 1;
        color: var(--wume-black);
        cursor: pointer;
    }

    
    body.is-cart-page .wume-cart-foot {
        border-top: 1px solid var(--wume-lbrown);
        padding: 20px 0 28px;
        margin-top: 6px;
    }
    body.is-cart-page .wume-cart-subtotal {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        margin-bottom: 6px;
    }
    body.is-cart-page .wume-cart-subtotal-label {
        font-family: var(--wume-font-heading);
        font-size: 1.25rem;
        color: var(--wume-black);
    }
    body.is-cart-page .wume-cart-subtotal-amount {
        font-size: 0.95rem;
        color: var(--wume-black);
    }
    body.is-cart-page .wume-cart-taxnote {
        font-size: 0.8rem;
        color: var(--wume-lbrown);
        margin: 0 0 16px;
    }
    body.is-cart-page .wume-cart-checkout {
        display: block;
        width: 100%;
        padding: 16px;
        background: var(--wume-sage);
        color: var(--wume-black);
        border: 0;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-size: 0.8rem;
        text-decoration: none;
        cursor: pointer;
    }
    body.is-cart-page .wume-cart-empty { text-align: center; padding: 48px 24px; }
}

/* ===== page css: faq.css ===== */


@media (min-width: 992px) {

    
    body.is-faq-page .wume-hero {
        text-align: left;
        padding: 96px 0 24px;
    }
    body.is-faq-page .wume-hero-title {
        display: block;
        width: auto;
        height: auto;
        background: transparent;
        border: 0;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 50px;
        line-height: var(--wume-lead-heading);
        letter-spacing: var(--wume-tracking-heading);
        text-transform: none;
        color: var(--wume-black);
        margin-bottom: 0;
    }

    
    body.is-faq-page .wume-faq-layout {
        display: grid;
        grid-template-columns: 190px 1fr;
        gap: 0;
        align-items: start;
    }

    
    body.is-faq-page .wume-faq-rail {
        position: sticky;
        top: 120px;
    }

    
    body.is-faq-page .wume-faq-rail .wume-jump-links {
        margin-top: 0;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 30px;
    }
    body.is-faq-page .wume-faq-rail .wume-jump-link {
        display: flex;
        align-items: center;
        gap: 14px;
        border-bottom: 0;
        padding-bottom: 0;
        color: var(--wume-black);
    }
    
    body.is-faq-page .wume-faq-rail .wume-jump-link::before {
        content: "";
        flex: 0 0 auto;
        width: 8px;
        height: 8px;
        border: 1px solid var(--wume-black);
        background: transparent;
    }
    body.is-faq-page .wume-faq-rail .wume-jump-link:hover {
        border-bottom: 0;
    }
    
    body.is-faq-page .wume-faq-rail .wume-jump-link.is-active::before {
        background: var(--wume-black);
    }
    body.is-faq-page .wume-faq-rail .wume-jump-link.is-active {
        font-weight: var(--wume-w-sub);
    }

    
    body.is-faq-page .wume-faq-content {
        min-width: 0;
        max-width: 560px;
        margin-left: auto;
        margin-right: 74px;
    }

    
    body.is-faq-page .wume-faq-category {
        margin-bottom: 64px;
    }
    body.is-faq-page .wume-faq-category-heading {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 1.8rem;
        line-height: var(--wume-lead-heading);
        letter-spacing: var(--wume-tracking-heading);
        text-transform: none;
        color: var(--wume-black);
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 8px;
    }

    
    body.is-faq-page .wume-pathway-accordion .accordion-item {
        border: 0;
        border-bottom: 1px solid var(--wume-sand);
        border-radius: 0;
        margin-bottom: 0;
        background: transparent;
    }

    
    body.is-faq-page .wume-pathway-accordion .accordion-button {
        position: relative;
        background: transparent;
        color: var(--wume-black);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        padding: 21px 40px 21px 0;
        box-shadow: none;
    }
    
    body.is-faq-page .wume-pathway-accordion .accordion-button:not(.collapsed) {
        background: transparent;
        color: var(--wume-black);
        box-shadow: none;
    }
    body.is-faq-page .wume-pathway-accordion .accordion-button:focus {
        box-shadow: none;
        outline: none;
    }

    
    body.is-faq-page .wume-pathway-accordion .accordion-button::after {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        height: auto;
        margin: 0;
        background-image: none;
        content: "+";
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.25rem;
        line-height: 1;
        color: var(--wume-black);
    }
    body.is-faq-page .wume-pathway-accordion .accordion-button:not(.collapsed)::after {
        background-image: none;
        transform: translateY(-50%);
        content: "\2212"; 
    }

    
    body.is-faq-page .wume-pathway-accordion .accordion-body {
        background: transparent;
        color: var(--wume-text-on-cream);
        line-height: var(--wume-lead-body);
        padding: 4px 56px 24px 56px;
    }
}



@media (max-width: 991.98px) {

    
    body.is-faq-page .wume-hero {
        text-align: left;
        padding: 48px 0 28px;
    }
    body.is-faq-page .wume-hero-title {
        display: block;
        width: auto;
        height: auto;
        background: transparent;
        border: 0;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 2.4rem;
        line-height: var(--wume-lead-heading);
        letter-spacing: var(--wume-tracking-heading);
        text-transform: none;
        color: var(--wume-black);
        margin-bottom: 0;
    }

    
    body.is-faq-page .wume-faq-layout {
        display: block;
    }

    
    body.is-faq-page .wume-faq-rail .wume-jump-links {
        margin: 0 0 40px;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 16px;
    }
    body.is-faq-page .wume-faq-rail .wume-jump-link {
        display: flex;
        align-items: center;
        gap: 14px;
        border-bottom: 0;
        padding-bottom: 0;
        color: var(--wume-black);
    }
    body.is-faq-page .wume-faq-rail .wume-jump-link::before {
        content: "";
        flex: 0 0 auto;
        width: 8px;
        height: 8px;
        border: 1px solid var(--wume-black);
        background: transparent;
    }
    body.is-faq-page .wume-faq-rail .wume-jump-link:hover {
        border-bottom: 0;
    }
    body.is-faq-page .wume-faq-rail .wume-jump-link.is-active::before {
        background: var(--wume-black);
    }
    body.is-faq-page .wume-faq-rail .wume-jump-link.is-active {
        font-weight: var(--wume-w-sub);
    }

    
    body.is-faq-page .wume-faq-category {
        margin-bottom: 44px;
    }
    body.is-faq-page .wume-faq-category-heading {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 1.5rem;
        line-height: var(--wume-lead-heading);
        letter-spacing: var(--wume-tracking-heading);
        text-transform: none;
        color: var(--wume-black);
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 10px;
    }

    
    body.is-faq-page .wume-pathway-accordion .accordion-item {
        border: 0;
        border-bottom: 1px solid var(--wume-sand);
        border-radius: 0;
        margin-bottom: 0;
        background: transparent;
    }
    body.is-faq-page .wume-pathway-accordion .accordion-button {
        position: relative;
        background: transparent;
        color: var(--wume-black);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        padding: 18px 34px 18px 0;
        box-shadow: none;
    }
    body.is-faq-page .wume-pathway-accordion .accordion-button:not(.collapsed) {
        background: transparent;
        color: var(--wume-black);
        box-shadow: none;
    }
    body.is-faq-page .wume-pathway-accordion .accordion-button:focus {
        box-shadow: none;
        outline: none;
    }
    body.is-faq-page .wume-pathway-accordion .accordion-button::after {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        height: auto;
        margin: 0;
        background-image: none;
        content: "+";
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.25rem;
        line-height: 1;
        color: var(--wume-black);
    }
    body.is-faq-page .wume-pathway-accordion .accordion-button:not(.collapsed)::after {
        background-image: none;
        transform: translateY(-50%);
        content: "\2212";
    }
    body.is-faq-page .wume-pathway-accordion .accordion-body {
        background: transparent;
        color: var(--wume-text-on-cream);
        line-height: var(--wume-lead-body);
        padding: 2px 0 18px 0;
    }
}

/* ===== page css: home.css ===== */


@media (max-width: 991.98px) {

  
  body.is-home-page .wume-x { padding: 0 24px; }

  
  
  body.is-home-page .wume-hero-final { padding: 40px 0 0; text-align: left; }
  body.is-home-page .wume-hero-final-copy { max-width: none; margin: 0; }
  body.is-home-page .wume-hero-final-title {
    font-size: 30px; line-height: 1.12; letter-spacing: -0.8px;
    max-width: none; margin: 0;
  }
  body.is-home-page .wume-hero-final-subtitle {
    font-size: 16px; line-height: 1.45; max-width: none; margin: 20px 0 28px;
  }
  
  body.is-home-page .wume-hero-final .wume-btn-sage {
    display: block; width: 100%; text-align: center; padding: 17px 24px;
  }
  
  body.is-home-page .wume-hero-band { margin-top: 36px; }
  body.is-home-page .wume-hero-band-track { gap: 16px; }
  body.is-home-page .wume-hero-band-track img { width: 243px; height: 365px; }

  
  
  body.is-home-page .wume-section { padding-top: 36px; padding-bottom: 40px; }

  body.is-home-page .wume-feature,
  body.is-home-page .wume-feature--img-left,
  body.is-home-page .wume-feature--img-corner {
    grid-template-columns: 1fr; row-gap: 28px; align-items: stretch;
  }
  
  body.is-home-page .wume-feature-text { display: flex; flex-direction: column; }
  body.is-home-page .wume-feature-row { display: contents; }
  body.is-home-page .wume-feature-label { order: 0; margin: 0 0 14px; max-width: none; }
  body.is-home-page .wume-feature-title { order: 1; }
  body.is-home-page .wume-feature-body { order: 2; }

  body.is-home-page .wume-feature-title {
    font-size: 30px; line-height: 1.14; letter-spacing: -0.8px; margin: 0 0 22px; max-width: none;
  }
  
  body.is-home-page .wume-feature-body { max-width: none; padding-left: 40px; }
  body.is-home-page .wume-feature-body p { font-size: 16px; line-height: 1.45; margin: 0 0 14px; }
  body.is-home-page .wume-feature-body .wume-link-underline { margin-top: 14px; }

  
  body.is-home-page .wume-feature-media img { width: 100%; height: auto; aspect-ratio: 4/5; }
  body.is-home-page .wume-feature--steps .wume-feature-media img { height: auto; min-height: 0; aspect-ratio: 4/3; }

  
  body.is-home-page .wume-feature--img-left .wume-feature-media { order: 0; }
  
  body.is-home-page .wume-drwu-stack { aspect-ratio: 4/5; }
  body.is-home-page .wume-drwu-stack .wume-drwu-fg { width: 78%; height: 84%; }

  
  body.is-home-page .wume-feature--img-corner .wume-feature-corner-img { order: 3; align-self: flex-start; }
  body.is-home-page .wume-feature-corner-img img { width: 150px; height: 150px; }

  
  
  body.is-home-page .wume-pathway-cards { margin-top: 32px; }
  body.is-home-page .wume-pathway-card { flex-basis: 270px; height: 120px; padding: 16px 18px; }
  body.is-home-page .wume-pathway-card-label { font-size: 26px; line-height: 1.1; }

  
  
  body.is-home-page .wume-feature--steps { align-items: stretch; }
  body.is-home-page .wume-feature-label--top { margin: 0 0 24px; white-space: normal; }
  body.is-home-page .wume-steps { margin: 24px 0 0; }
  body.is-home-page .wume-steps li { grid-template-columns: 80px 1fr; padding: 18px 0; column-gap: 0; }
  body.is-home-page .wume-step-num { padding-top: 6px; }
  body.is-home-page .wume-step-title { font-size: 22px; line-height: 1.16; margin: 0 0 6px; max-width: none; }
  body.is-home-page .wume-step-body p { font-size: 15px; line-height: 1.45; max-width: none; }

  
  body.is-home-page .wume-stories-head { margin-bottom: 28px; }
  body.is-home-page .wume-stories-head .wume-section-title { font-size: 32px; letter-spacing: -1px; }
  
  body.is-home-page .wume-stories-track { gap: 12px; }
  body.is-home-page .wume-story-card { flex-basis: 310px; height: 282px; padding: 28px; }
  body.is-home-page .wume-story-quote { font-size: 26px; line-height: 1.16; max-width: none; }
  
  body.is-home-page .wume-stories-head { flex-wrap: wrap; }

  
  
  body.is-home-page .wume-cta-final { padding: 48px 0; background-attachment: scroll; }
  body.is-home-page .wume-cta-glass { flex-direction: column; align-items: stretch; padding: 28px; gap: 24px; }
  
  body.is-home-page .wume-cta-copy { display: contents; }
  body.is-home-page .wume-cta-title { order: 0; font-size: 30px; line-height: 1.15; letter-spacing: -0.8px; margin: 0 0 18px; }
  body.is-home-page .wume-cta-body { order: 1; font-size: 16px; line-height: 1.45; max-width: none; margin: 0; }
  body.is-home-page .wume-cta-inset { order: 2; }
  body.is-home-page .wume-cta-inset img { width: 100%; height: auto; aspect-ratio: 3/4; max-height: 230px; object-fit: cover; }
  body.is-home-page .wume-cta-actions { order: 3; flex-direction: column; align-items: stretch; gap: 18px; }
  body.is-home-page .wume-cta-actions .wume-btn-sand {
    display: block; width: 100%; text-align: center; padding: 17px 24px;
  }
  body.is-home-page .wume-cta-login { align-self: flex-start; }
}

/* ===== page css: journal.css ===== */


@media (min-width: 992px) {

    
    body.is-journal-page .wume-hero {
        text-align: left;
        padding: 67px 0 90px;
    }
    body.is-journal-page .wume-hero-title {
        font-size: 3.5rem;
        line-height: 1.05;
        margin-bottom: 0;
    }

    
    body.is-journal-page .wume-pill-row {
        display: flex;
        flex-wrap: nowrap;
        gap: 54px;
        align-items: flex-end;
        border-bottom: 1px solid rgba(0, 0, 0, 0.5);
        padding-bottom: 14px;
        margin-bottom: 40px;
    }
    body.is-journal-page .wume-pill {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0 0 14px;
        margin-bottom: -15px;            
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        cursor: pointer;
        border-bottom: 2px solid transparent;
        white-space: nowrap;
        transition: color 0.2s ease, border-color 0.2s ease;
    }
    body.is-journal-page .wume-pill:hover {
        color: var(--wume-lbrown);
    }
    body.is-journal-page .wume-pill.is-active {
        color: var(--wume-black);
        border-bottom-color: var(--wume-sage);
    }

    
    body.is-journal-page .wume-doctor-digest-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 13px;
    }

    
    body.is-journal-page .wume-doctor-digest-card {
        display: grid;
        grid-template-columns: 251px 1fr;
        gap: 16px;
        background: var(--wume-sand);
        padding: 21px 16px;
    }
    body.is-journal-page .wume-doctor-digest-card-image {
        aspect-ratio: 251 / 362;
        margin-bottom: 0;
        align-self: start;
    }
    
    body.is-journal-page .wume-doctor-digest-card-body {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        text-align: right;
        height: 100%;
    }
    body.is-journal-page .wume-doctor-digest-card-date {
        margin: 0;
        order: 0;
        font-size: 0.78rem;
    }
    body.is-journal-page .wume-doctor-digest-card-title {
        margin: 0;
        order: 1;
        text-align: left;
        font-size: 1.8rem;
    }

    
    body.is-journal-page .wume-journal-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 18px;
        margin-top: 56px;
    }
    body.is-journal-page .wume-journal-page {
        background: transparent;
        border: 0;
        padding: 0;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        color: var(--wume-black);
        cursor: pointer;
        line-height: 1;
        transition: color 0.2s ease;
    }
    body.is-journal-page .wume-journal-page:hover {
        color: var(--wume-lbrown);
    }
    body.is-journal-page .wume-journal-page.is-active {
        width: 28px;
        height: 28px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--wume-sand);
    }
    body.is-journal-page .wume-journal-page-arrow {
        width: 28px;
        height: 28px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(0, 0, 0, 0.3);
        font-size: 0.9rem;
        line-height: 1;
    }

}


@media (max-width: 991.98px) {

    
    body.is-journal-page .wume-hero {
        text-align: left;
        padding: 40px 0 30px;
    }
    body.is-journal-page .wume-hero-title {
        font-size: 2.25rem;
        line-height: 1.05;
        margin-bottom: 0;
    }

    
    body.is-journal-page .wume-pill-row {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 28px;
        align-items: flex-end;
        border-bottom: 1px solid rgba(0, 0, 0, 0.5);
        padding-bottom: 12px;
        margin-bottom: 24px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;            
    }
    body.is-journal-page .wume-pill-row::-webkit-scrollbar {
        display: none;                    
    }
    body.is-journal-page .wume-pill {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0 0 12px;
        margin-bottom: -13px;             
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        cursor: pointer;
        border-bottom: 2px solid transparent;
        white-space: nowrap;
        flex: 0 0 auto;
    }
    body.is-journal-page .wume-pill.is-active {
        color: var(--wume-black);
        border-bottom-color: var(--wume-sage);
    }

    
    body.is-journal-page .wume-doctor-digest-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    
    body.is-journal-page .wume-doctor-digest-card {
        display: grid;
        grid-template-columns: 158px 1fr;
        gap: 14px;
        background: var(--wume-sand);
        padding: 12px 9px;
    }
    body.is-journal-page .wume-doctor-digest-card-image {
        aspect-ratio: 158 / 265;
        margin-bottom: 0;
        align-self: start;
    }
    body.is-journal-page .wume-doctor-digest-card-body {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        text-align: right;                
        height: 100%;
    }
    body.is-journal-page .wume-doctor-digest-card-date {
        margin: 0;
        order: 0;
        font-size: 0.72rem;
    }
    body.is-journal-page .wume-doctor-digest-card-title {
        margin: 0;
        order: 1;
        text-align: left;                 
        font-size: 1.35rem;
        line-height: 1.25;
    }

    
    body.is-journal-page .wume-journal-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 18px;
        margin-top: 40px;
    }
    body.is-journal-page .wume-journal-page {
        background: transparent;
        border: 0;
        padding: 0;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        color: var(--wume-black);
        cursor: pointer;
        line-height: 1;
    }
    body.is-journal-page .wume-journal-page.is-active {
        width: 28px;
        height: 28px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--wume-sand);
    }
    body.is-journal-page .wume-journal-ellipsis {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        color: var(--wume-black);
        line-height: 1;
    }
    body.is-journal-page .wume-journal-page-arrow {
        width: 28px;
        height: 28px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(0, 0, 0, 0.3);
        font-size: 0.9rem;
        line-height: 1;
    }

}

/* ===== page css: journal_detail.css ===== */


@media (min-width: 992px) {

    
    body.is-journal-detail .wume-hero {
        background: linear-gradient(180deg,
            var(--wume-sand) 0,
            var(--wume-sand) 300px,
            var(--wume-cream) 300px);
        color: var(--wume-text-on-sand);
        text-align: left;
        padding: 86px 0 64px;
    }

    
    body.is-journal-detail .wume-jd-meta {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        margin: 0 0 56px;
    }
    body.is-journal-detail .wume-jd-meta .wume-hero-tagline,
    body.is-journal-detail .wume-jd-meta .wume-hero-subtitle {
        margin: 0;
        max-width: none;
        text-align: left;
    }
    body.is-journal-detail .wume-jd-meta .wume-hero-subtitle {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        line-height: 1.2;
        color: var(--wume-black);
    }

    
    body.is-journal-detail .wume-hero-title {
        margin: 0 0 56px 232px;
        max-width: 760px;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 3.25rem;
        line-height: var(--wume-lead-heading);
        letter-spacing: var(--wume-tracking-heading);
        text-transform: none;
        color: var(--wume-black);
    }

    
    body.is-journal-detail .wume-jd-grid {
        display: grid;
        grid-template-columns: 523px 582px;
        column-gap: 168px;
        align-items: start;
    }

    
    body.is-journal-detail .wume-jd-featured {
        width: 523px;
        height: 654px;
        margin: 0;
        overflow: hidden;
        background: var(--wume-sand);
    }
    body.is-journal-detail .wume-jd-featured img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    
    body.is-journal-detail .wume-jd-body {
        min-width: 0;
        max-width: 582px;
    }
    body.is-journal-detail .wume-jd-body > p,
    body.is-journal-detail .wume-jd-body > h2 {
        max-width: 582px;
    }

    
    body.is-journal-detail .wume-jd-body > p:first-child {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 1.9rem;
        line-height: var(--wume-lead-heading);
        letter-spacing: var(--wume-tracking-heading);
        color: var(--wume-black);
        margin: 0 0 32px;
    }

    
    body.is-journal-detail .wume-jd-faq {
        background: var(--wume-cream);
    }
    body.is-journal-detail .wume-jd-faq-grid {
        display: grid;
        grid-template-columns: 691px 582px;
        grid-template-rows: auto auto;
        column-gap: 0;
        align-items: start;
    }
    body.is-journal-detail .wume-jd-faq-heading {
        grid-column: 2;
        grid-row: 1;
        margin: 0 0 40px;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 1.9rem;
        line-height: var(--wume-lead-heading);
        letter-spacing: var(--wume-tracking-heading);
        text-transform: none;
        color: var(--wume-black);
        text-align: left;
    }
    body.is-journal-detail .wume-jd-faq-col {
        grid-column: 2;
        grid-row: 2;
        min-width: 0;
    }

    
    body.is-journal-detail .wume-jd-accordion .accordion-item {
        border: 0;
        border-bottom: 1px solid #989693;
        border-radius: 0;
        margin-bottom: 0;
        background: transparent;
    }
    body.is-journal-detail .wume-jd-accordion .accordion-button {
        position: relative;
        background: transparent;
        color: var(--wume-black);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        padding: 21px 40px 21px 0;
        box-shadow: none;
    }
    body.is-journal-detail .wume-jd-accordion .accordion-button:not(.collapsed) {
        background: transparent;
        color: var(--wume-black);
        box-shadow: none;
    }
    body.is-journal-detail .wume-jd-accordion .accordion-button:focus {
        box-shadow: none;
        outline: none;
    }
    
    body.is-journal-detail .wume-jd-accordion .accordion-button::after {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        height: auto;
        margin: 0;
        background-image: none;
        content: "+";
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.25rem;
        line-height: 1;
        color: var(--wume-black);
    }
    body.is-journal-detail .wume-jd-accordion .accordion-button:not(.collapsed)::after {
        background-image: none;
        transform: translateY(-50%);
        content: "\2212"; 
    }
    body.is-journal-detail .wume-jd-accordion .accordion-body {
        background: transparent;
        color: var(--wume-text-on-cream);
        line-height: var(--wume-lead-body);
        padding: 4px 40px 24px 0;
    }

    
    body.is-journal-detail .wume-jd-editorial-photo {
        width: 582px;
        margin: 56px 0 0;
        overflow: hidden;
        background: var(--wume-sand);
    }
    body.is-journal-detail .wume-jd-editorial-photo .wume-img-placeholder {
        width: 100%;
        aspect-ratio: 582 / 620;
        min-height: 0;
    }
    body.is-journal-detail .wume-jd-editorial-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    
    body.is-journal-detail .wume-jd-product {
        margin: 56px 0 0;
    }
    body.is-journal-detail .wume-jd-product-img {
        width: 333px;
        height: 450px;
        overflow: hidden;
        background: var(--wume-sand);
    }
    body.is-journal-detail .wume-jd-product-img.wume-img-placeholder {
        min-height: 0;
    }
    body.is-journal-detail .wume-jd-product-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    body.is-journal-detail .wume-jd-product-name {
        margin: 16px 0 4px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
    }
    body.is-journal-detail .wume-jd-product-brand {
        margin: 0 0 4px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-lbrown);
    }
    body.is-journal-detail .wume-jd-product-price {
        margin: 0;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 0.85rem;
        color: var(--wume-black);
    }
}


@media (max-width: 991.98px) {

    
    body.is-journal-detail .wume-hero .wume-x,
    body.is-journal-detail .wume-jd-faq .wume-x {
        padding: 0 24px;
    }

    
    body.is-journal-detail .wume-hero {
        background: linear-gradient(180deg,
            var(--wume-sand) 0,
            var(--wume-sand) 305px,
            var(--wume-cream) 305px);
        color: var(--wume-text-on-sand);
        text-align: left;
        padding: 88px 0 0;
    }

    
    body.is-journal-detail .wume-hero .wume-x {
        display: flex;
        flex-direction: column;
    }

    
    body.is-journal-detail .wume-hero-title {
        order: 0;
        margin: 0;
        max-width: none;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 2.1rem;
        line-height: 1.1;
        letter-spacing: var(--wume-tracking-heading);
        text-transform: none;
        color: var(--wume-black);
    }

    
    body.is-journal-detail .wume-jd-meta {
        order: 1;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        margin: 96px 0 0;
    }
    body.is-journal-detail .wume-jd-meta .wume-hero-tagline {
        margin: 0;
        max-width: 150px;            
        text-align: left;
        color: var(--wume-black);
    }
    body.is-journal-detail .wume-jd-meta .wume-hero-subtitle {
        margin: 0;
        max-width: none;
        white-space: nowrap;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        line-height: 1.2;
        text-align: right;
        color: var(--wume-black);
    }

    
    body.is-journal-detail .wume-jd-grid {
        order: 2;
        display: block;
        margin-top: 30px;            
    }
    body.is-journal-detail .wume-jd-featured {
        width: 100%;
        height: auto;
        aspect-ratio: 345 / 430;
        margin: 0;
        overflow: hidden;
        background: var(--wume-sand);
    }
    body.is-journal-detail .wume-jd-featured img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    
    body.is-journal-detail .wume-jd-body.wume-article-body {
        max-width: none;
        margin: 28px 0 0;            
        padding: 0;
        text-align: left;
    }
    body.is-journal-detail .wume-jd-body > p,
    body.is-journal-detail .wume-jd-body > h2 {
        max-width: none;
    }

    
    body.is-journal-detail .wume-jd-body > p:first-child {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 1.7rem;
        line-height: 1.25;
        letter-spacing: var(--wume-tracking-heading);
        color: var(--wume-black);
        margin: 0 0 24px;
    }

    
    body.is-journal-detail .wume-jd-faq {
        background: var(--wume-cream);
    }
    body.is-journal-detail .wume-jd-faq-grid {
        display: block;
    }
    body.is-journal-detail .wume-jd-faq-heading {
        margin: 0 0 24px;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 2.1rem;
        line-height: 1.1;
        letter-spacing: var(--wume-tracking-heading);
        text-transform: none;
        text-align: left;
        color: var(--wume-black);
    }

    
    body.is-journal-detail .wume-jd-accordion .accordion-item {
        border: 0;
        border-bottom: 1px solid #989693;
        border-radius: 0;
        margin-bottom: 0;
        background: transparent;
    }
    body.is-journal-detail .wume-jd-accordion .accordion-button {
        position: relative;
        background: transparent;
        color: var(--wume-black);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        line-height: 1.35;
        padding: 18px 36px 18px 0;
        box-shadow: none;
    }
    body.is-journal-detail .wume-jd-accordion .accordion-button:not(.collapsed) {
        background: transparent;
        color: var(--wume-black);
        box-shadow: none;
    }
    body.is-journal-detail .wume-jd-accordion .accordion-button:focus {
        box-shadow: none;
        outline: none;
    }
    body.is-journal-detail .wume-jd-accordion .accordion-button::after {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        height: auto;
        margin: 0;
        background-image: none;
        content: "+";
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.25rem;
        line-height: 1;
        color: var(--wume-black);
    }
    body.is-journal-detail .wume-jd-accordion .accordion-button:not(.collapsed)::after {
        background-image: none;
        transform: translateY(-50%);
        content: "\2212";            
    }
    body.is-journal-detail .wume-jd-accordion .accordion-body {
        background: transparent;
        color: var(--wume-text-on-cream);
        line-height: var(--wume-lead-body);
        padding: 4px 36px 22px 0;
    }

    
    body.is-journal-detail .wume-jd-editorial-photo {
        width: 100%;
        margin: 36px 0 0;
        overflow: hidden;
        background: var(--wume-sand);
    }
    body.is-journal-detail .wume-jd-editorial-photo img {
        width: 100%;
        height: auto;
        aspect-ratio: 345 / 430 !important;
        object-fit: cover;
        display: block;
    }

    
    body.is-journal-detail .wume-jd-product {
        margin: 20px 0 0;
    }
    body.is-journal-detail .wume-jd-product-img {
        width: 168px;
        height: auto;
        aspect-ratio: 168 / 287;
        overflow: hidden;
        background: var(--wume-sand);
    }
    body.is-journal-detail .wume-jd-product-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    body.is-journal-detail .wume-jd-product-name {
        margin: 16px 0 4px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.82rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        line-height: 1.3;
        color: var(--wume-black);
    }
    body.is-journal-detail .wume-jd-product-brand {
        margin: 0 0 6px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.74rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-lbrown);
    }
    body.is-journal-detail .wume-jd-product-price {
        margin: 0;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 0.85rem;
        color: var(--wume-black);
    }
}

/* ===== page css: pathways.css ===== */


@media (min-width: 992px) {

    
    body.is-pathways-page #integrated-care .wume-split {
        display: grid;
        grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
        column-gap: 80px;
        align-items: start;
    }
    body.is-pathways-page #integrated-care .wume-split > .wume-img-placeholder {
        aspect-ratio: 4 / 5;
        min-height: auto;
        padding: 0;
    }
    body.is-pathways-page #integrated-care .wume-split > .wume-img-placeholder img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    body.is-pathways-page #integrated-care .wume-drwu-copy .wume-section-title {
        margin: 0 0 28px;
    }
    body.is-pathways-page #integrated-care .wume-drwu-kicker {
        display: block;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        line-height: 1.35;
        max-width: 9em;
        margin: 0 0 16px;
    }
    body.is-pathways-page #integrated-care .wume-drwu-copy > p {
        margin: 0;
        max-width: 30em;
    }

    
    body.is-pathways-page #featured-pathways .container {
        max-width: 1440px;
        padding-left: 36px;
        padding-right: 36px;
    }

    
    body.is-pathways-page .wume-pw-acc-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 36px;
    }
    body.is-pathways-page .wume-pw-acc-head .wume-section-title {
        margin: 0;
        max-width: 14em;
        text-align: left;
    }
    body.is-pathways-page .wume-pw-acc-head .wume-pw-acc-kicker {
        margin: 8px 0 0;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        white-space: nowrap;
    }

    
    body.is-pathways-page .wume-pw-acc {
        display: block;
    }
    body.is-pathways-page .wume-pw-acc-item {
        border-top: 1px solid rgba(77, 61, 45, 0.28);
    }
    body.is-pathways-page .wume-pw-acc-item:last-child {
        border-bottom: 1px solid rgba(77, 61, 45, 0.28);
    }

    
    body.is-pathways-page .wume-pw-acc-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 24px;
        width: 100%;
        padding: 36px 8px;
        background: transparent;
        border: 0;
        text-align: left;
        cursor: pointer;
        color: inherit;
    }
    body.is-pathways-page .wume-pw-acc-title {
        font-family: var(--wume-font-heading);
        font-weight: 300;
        font-size: 1.9rem;
        line-height: 1.15;
        margin: 0;
    }
    body.is-pathways-page .wume-pw-acc-sign {
        flex: 0 0 auto;
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.6rem;
        line-height: 1;
        margin-top: 4px;
    }
    
    body.is-pathways-page .wume-pw-acc-sign::before {
        content: "+";
    }
    body.is-pathways-page .wume-pw-acc-item.is-open .wume-pw-acc-sign::before {
        content: "\2212"; 
    }

    
    body.is-pathways-page .wume-pw-acc-body {
        display: none;
        padding: 0 8px 44px;
    }
    body.is-pathways-page .wume-pw-acc-item.is-open .wume-pw-acc-body {
        display: block;
    }

    
    body.is-pathways-page .wume-pw-acc-grid {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 40px;
        align-items: start;
    }
    body.is-pathways-page .wume-pw-acc-duration {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        margin: 0;
    }
    body.is-pathways-page .wume-pw-acc-lead {
        margin: 0 0 24px;
        max-width: 30em;
    }
    body.is-pathways-page .wume-pw-acc-lead-col {
        grid-column: 2;
    }
    
    body.is-pathways-page .wume-pw-acc-inset {
        width: 152px;
        height: 130px;
        min-height: 0;
        margin: 0;
    }
    body.is-pathways-page .wume-pw-acc-inset img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    body.is-pathways-page .wume-pw-acc-list {
        grid-column: 3;
        list-style: none;
        margin: 0;
        padding: 0;
        max-width: 22em;
    }
    body.is-pathways-page .wume-pw-acc-list li {
        position: relative;
        padding-left: 18px;
        margin-bottom: 16px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        line-height: 1.5;
    }
    body.is-pathways-page .wume-pw-acc-list li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.45em;
        width: 5px;
        height: 5px;
        background: currentColor;
    }

    
    body.is-pathways-page #how-it-works .wume-split {
        align-items: start;
    }
    body.is-pathways-page #how-it-works .wume-hiw-copy {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        min-height: 100%;
    }
    
    body.is-pathways-page #how-it-works .wume-hiw-copy .wume-section-title {
        margin: 0 0 auto;
    }
    body.is-pathways-page #how-it-works .wume-hiw-copy .wume-hero-tagline {
        margin-top: 120px;
    }

    
    body.is-pathways-page #how-it-works .wume-hiw-cta {
        appearance: none;
        background: transparent;
        border: 0;
        padding: 0;
        margin-top: 28px;
        color: inherit;
        font-family: var(--wume-font-body);
        font-weight: 500;
        font-size: 0.85rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
        cursor: pointer;
    }
    body.is-pathways-page #how-it-works .wume-hiw-cta:hover {
        text-decoration-thickness: 2px;
    }

    
    body.is-pathways-page .wume-pathway-flow-bg {
        fill: var(--wume-lbrown);
    }
    body.is-pathways-page .wume-pathway-flow {
        max-width: 100%;
    }
}


@media (max-width: 991.98px) {

    
    body.is-pathways-page #integrated-care .container,
    body.is-pathways-page #featured-pathways .container,
    body.is-pathways-page #how-it-works .container {
        padding-left: 24px;
        padding-right: 24px;
    }

    
    body.is-pathways-page #integrated-care .wume-split {
        gap: 28px;
    }
    body.is-pathways-page #integrated-care .wume-split > .wume-img-placeholder {
        aspect-ratio: 4 / 5;
        width: 100%;
        min-height: 0;
        padding: 0;
    }
    body.is-pathways-page #integrated-care .wume-split > .wume-img-placeholder img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    body.is-pathways-page #integrated-care .wume-drwu-copy .wume-section-title {
        font-size: 1.8rem !important;
        line-height: 1.18;
        margin: 0 0 22px;
    }
    
    body.is-pathways-page #integrated-care .wume-drwu-kicker {
        display: block;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        line-height: 1.4;
        max-width: 9em;
        margin: 0 0 24px;
    }
    
    body.is-pathways-page #integrated-care .wume-drwu-copy > p {
        margin: 0 0 0 40px;
        font-size: 0.95rem;
        line-height: 1.55;
    }

    
    body.is-pathways-page .wume-pw-acc-head {
        display: block;
        margin-bottom: 32px;
    }
    body.is-pathways-page .wume-pw-acc-head .wume-pw-acc-kicker {
        display: block;
        text-align: right;
        margin: 0 0 40px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        line-height: 1.4;
    }
    body.is-pathways-page .wume-pw-acc-head .wume-section-title {
        margin: 0;
        text-align: left;
        font-size: 1.8rem;
        line-height: 1.18;
    }

    
    body.is-pathways-page .wume-pw-acc {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    body.is-pathways-page .wume-pw-acc-item {
        background: rgba(255, 255, 255, 0.22);
        border: 1px solid rgba(77, 61, 45, 0.18);
        border-radius: 4px;
    }

    
    body.is-pathways-page .wume-pw-acc-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 16px;
        width: 100%;
        padding: 24px 22px;
        background: transparent;
        border: 0;
        text-align: left;
        cursor: pointer;
        color: inherit;
    }
    body.is-pathways-page .wume-pw-acc-title {
        font-family: var(--wume-font-heading);
        font-weight: 300;
        font-size: 1.55rem;
        line-height: 1.15;
        margin: 0;
    }
    body.is-pathways-page .wume-pw-acc-sign {
        flex: 0 0 auto;
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.5rem;
        line-height: 1;
        margin-top: 2px;
    }
    body.is-pathways-page .wume-pw-acc-sign::before {
        content: "+";
    }
    body.is-pathways-page .wume-pw-acc-item.is-open .wume-pw-acc-sign::before {
        content: "\2212"; 
    }

    
    body.is-pathways-page .wume-pw-acc-body {
        display: none;
        padding: 0 22px 28px;
    }
    body.is-pathways-page .wume-pw-acc-item.is-open .wume-pw-acc-body {
        display: block;
    }

    
    body.is-pathways-page .wume-pw-acc-grid {
        display: flex;
        flex-direction: column;
    }
    body.is-pathways-page .wume-pw-acc-lead-col {
        display: contents;
    }
    
    body.is-pathways-page .wume-pw-acc-inset {
        order: 1;
        width: 128px;
        height: 135px;
        min-height: 0;
        margin: 0 0 28px auto;
    }
    body.is-pathways-page .wume-pw-acc-inset img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    body.is-pathways-page .wume-pw-acc-duration {
        order: 2;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        margin: 0 0 18px;
    }
    body.is-pathways-page .wume-pw-acc-lead {
        order: 3;
        margin: 0 0 26px;
        font-size: 0.95rem;
        line-height: 1.5;
    }
    body.is-pathways-page .wume-pw-acc-list {
        order: 4;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    body.is-pathways-page .wume-pw-acc-list li {
        position: relative;
        padding-left: 20px;
        margin-bottom: 18px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        line-height: 1.45;
    }
    body.is-pathways-page .wume-pw-acc-list li:last-child {
        margin-bottom: 0;
    }
    body.is-pathways-page .wume-pw-acc-list li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.4em;
        width: 5px;
        height: 5px;
        background: currentColor;
    }

    
    body.is-pathways-page #how-it-works .wume-split {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }
    body.is-pathways-page #how-it-works .wume-split > div:last-child {
        order: 1; 
    }
    body.is-pathways-page #how-it-works .wume-hiw-copy {
        order: 2; 
        display: block;
    }
    
    body.is-pathways-page #how-it-works .wume-hiw-copy .wume-section-title {
        font-size: 1.8rem !important;
        line-height: 1.18;
        margin: 0 0 28px;
    }
    
    body.is-pathways-page #how-it-works .wume-hiw-copy .wume-hero-tagline {
        margin: 0 0 22px;
    }
    
    body.is-pathways-page #how-it-works .wume-hiw-copy > p:not(.wume-hero-tagline) {
        margin: 0 0 0 40px;
        font-size: 0.95rem;
        line-height: 1.55;
    }
    
    body.is-pathways-page #how-it-works .wume-hiw-cta {
        appearance: none;
        background: transparent;
        border: 0;
        padding: 0;
        margin: 28px 0 0 40px;
        color: inherit;
        font-family: var(--wume-font-body);
        font-weight: 500;
        font-size: 0.8rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
        cursor: pointer;
    }

    
    body.is-pathways-page .wume-pathway-flow-bg {
        fill: var(--wume-lbrown);
    }
    body.is-pathways-page .wume-pathway-flow {
        max-width: 100%;
        margin: 0;
    }
}

/* ===== page css: physician_application.css ===== */


@media (min-width: 992px) {

    
    body.is-physician-application .wume-section {
        padding: 0;
        background: var(--wume-sand);
    }

    
    body.is-physician-application .wume-invite-panel-left {
        display: grid;
        grid-template-columns: 230px 1fr;
        grid-template-rows: auto auto auto;
        column-gap: 0;
        row-gap: 0;
        align-content: start;
        align-items: start;
        padding: 64px 0 24px 0;
    }

    
    body.is-physician-application .pa-left-title {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 0 0 56px;
        max-width: 360px;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 2.5rem;
        line-height: 1.2;
        color: var(--wume-brown);
    }

    
    body.is-physician-application .wume-invite-panel-kicker {
        grid-column: 1;
        grid-row: 2;
        margin: 0;
        padding-right: 24px;
    }

    
    body.is-physician-application .pa-intro-copy {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
        max-width: 397px;
    }
    body.is-physician-application .pa-intro-copy p {
        margin: 0 0 23px;
        font-family: var(--wume-font-body);
        font-size: 1rem;
        line-height: 1.5625;
        color: var(--wume-brown);
    }
    body.is-physician-application .pa-intro-copy p:last-child {
        margin-bottom: 0;
    }

    
    body.is-physician-application .wume-invite-panel-footer {
        grid-column: 1 / -1;
        grid-row: 3;
        display: grid;
        grid-template-columns: 345px 1fr;
        grid-template-rows: 65px 65px auto;
        align-items: start;
        column-gap: 0;
        row-gap: 0;
        padding: 0;
        margin-top: 281px;
    }
    body.is-physician-application .wume-invite-panel-footer p:nth-child(1) { grid-column: 1; grid-row: 1; }
    body.is-physician-application .wume-invite-panel-footer p:nth-child(2) { grid-column: 1; grid-row: 2; }
    body.is-physician-application .wume-invite-panel-footer p:nth-child(3) { grid-column: 1; grid-row: 3; }
    body.is-physician-application .wume-invite-panel-footer p:nth-child(4) { grid-column: 2; grid-row: 1; }
    body.is-physician-application .wume-invite-panel-footer p:nth-child(5) { grid-column: 2; grid-row: 2; }
    body.is-physician-application .wume-invite-panel-footer p:nth-child(6) { grid-column: 2; grid-row: 3; }
    body.is-physician-application .wume-invite-panel-footer p { margin: 0; }

    
    body.is-physician-application .wume-invite-field-pair {
        gap: 32px;
    }

}


@media (max-width: 991.98px) {

    
    body.is-physician-application .wume-section {
        padding: 0;
        background: var(--wume-sand);
    }

    
    body.is-physician-application .wume-invite-panel-body {
        background: var(--wume-sand);
    }

    
    body.is-physician-application .wume-invite-panel-left {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 24px 4px 0;
    }

    
    body.is-physician-application .wume-invite-panel-kicker {
        order: 1;
        margin: 0 0 53px;
        font-size: 0.72rem;
        line-height: 1.4;
    }

    
    body.is-physician-application .pa-left-title {
        order: 2;
        margin: 0 0 32px;
        max-width: 300px;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 2.25rem;
        line-height: 1.03;
        color: var(--wume-brown);
    }

    
    body.is-physician-application .pa-intro-copy {
        order: 3;
        margin: 0 0 46px;
        max-width: none;
    }
    body.is-physician-application .pa-intro-copy p {
        margin: 0;
        font-family: var(--wume-font-body);
        font-size: 0.95rem;
        line-height: 1.45;
        color: var(--wume-brown);
    }

    
    body.is-physician-application .wume-invite-panel-right {
        padding: 0;
    }
    body.is-physician-application .wume-invite-panel-form-card {
        background: var(--wume-cream);
        margin: 0 4px;
        padding: 30px 36px;
    }
    
    body.is-physician-application .wume-invite-panel-form-card .wume-invite-field { margin-bottom: 9px; }
    body.is-physician-application .wume-invite-panel-form-card .wume-invite-fieldset { margin-bottom: 9px; }

    
    body.is-physician-application .wume-invite-fieldset:not(:first-child) > legend {
        margin-top: 13px;
    }

    
    body.is-physician-application .wume-invite-send {
        padding: 16px 24px;
        margin-top: 16px;
    }

    

    
    body.is-physician-application .pa-mobile-next {
        padding: 39px 4px 0;
    }
    body.is-physician-application .pa-mobile-next-title {
        margin: 0 0 30px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.7rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-brown);
        line-height: 1.4;
    }
    
    body.is-physician-application .pa-mobile-next-body {
        margin: 0;
        padding-left: 61px;
        max-width: none;
        font-family: var(--wume-font-body);
        font-size: 0.95rem;
        line-height: 1.45;
        color: var(--wume-brown);
    }

    
    body.is-physician-application .pa-mobile-contact {
        padding: 91px 4px 42px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-brown);
        line-height: 1.6;
    }
    body.is-physician-application .pa-mobile-contact p {
        margin: 0 0 28px;
    }
    body.is-physician-application .pa-mobile-contact p:last-child {
        margin-bottom: 0;
    }
    body.is-physician-application .pa-mobile-contact a {
        color: var(--wume-brown);
        text-decoration: none;
    }

}

/* ===== page css: physicians.css ===== */


@media (min-width: 992px) {

    
    body.is-physicians-page .wume-hero-body {
        max-width: 470px;
    }

    
    body.is-physicians-page .wume-press-band {
        margin-top: 64px;
        text-align: center;
    }
    body.is-physicians-page .wume-press-band-eyebrow {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 28px;
    }
    body.is-physicians-page .wume-press-band-logos {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 48px;
        align-items: center;
        justify-items: center;
    }
    body.is-physicians-page .wume-press-band-logos .wume-img-placeholder {
        width: 100%;
        height: 56px;
        min-height: 0;
        padding: 0;
        background: rgba(77, 61, 45, 0.08);
        font-size: 0.7rem;
    }

    
    body.is-physicians-page #collective-statement .wume-split {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 80px;
        align-items: center;
    }
    body.is-physicians-page #collective-statement .wume-img-placeholder {
        aspect-ratio: 4 / 3;
        min-height: auto;
        padding: 0;
    }
    body.is-physicians-page #collective-statement .wume-img-placeholder img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    
    body.is-physicians-page #dr-jessica-wu .wume-physician-row {
        grid-template-columns: 300px minmax(0, 1fr);
        column-gap: 60px;
        align-items: start;
    }
    
    body.is-physicians-page #dr-jessica-wu .wume-physician-bio {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 300px;
        column-gap: 48px;
        align-items: start;
    }
    body.is-physicians-page #dr-jessica-wu .wume-physician-bio > .row {
        margin: 0;
    }

    
    body.is-physicians-page .wume-physician-roster {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    body.is-physicians-page .wume-roster-card {
        display: flex;
        align-items: center;
        gap: 28px;
        background: var(--wume-sand);
        color: var(--wume-black);
        padding: 16px 36px 16px 16px;
    }
    body.is-physicians-page .wume-roster-card-thumb {
        flex: 0 0 auto;
        width: 100px;
        height: 100px;
        min-height: 0;
        padding: 0;
        overflow: hidden;
        font-size: 0.6rem;
        text-align: center;
    }
    body.is-physicians-page .wume-roster-card-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    body.is-physicians-page .wume-roster-card-body {
        flex: 1 1 auto;
        min-width: 0;
    }
    body.is-physicians-page .wume-roster-card-name {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading);
        font-size: 1.5rem;
        margin: 0 0 6px;
    }
    body.is-physicians-page .wume-roster-card-eyebrow {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0;
    }
    body.is-physicians-page .wume-roster-card-plus {
        flex: 0 0 auto;
        font-family: var(--wume-font-body);
        font-weight: 300;
        font-size: 1.75rem;
        line-height: 1;
        color: var(--wume-black);
    }

    
    body.is-physicians-page #our-standard .row > [class*="col-"] {
        border-right: 1px solid rgba(244, 241, 235, 0.25);
    }
    
    body.is-physicians-page #our-standard .row > [class*="col-"]:nth-child(3n) {
        border-right: 0;
    }
    
    body.is-physicians-page #our-standard .wume-three-pillar-kicker {
        color: var(--wume-cream);
    }
}

/* ===== page css: product.css ===== */


@media (min-width: 992px) {

    
    body.is-product-page .wume-section > .container {
        max-width: 1440px;
        padding: 0 36px;
    }

    
    body.is-product-page .wume-split {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
        column-gap: 80px;
        align-items: start;
    }

    
    body.is-product-page .wume-gallery {
        display: grid;
        grid-template-columns: 100px 1fr;
        column-gap: 16px;
        align-items: start;
    }
    body.is-product-page .wume-gallery-rail {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }
    body.is-product-page .wume-gallery-thumb {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        background: var(--wume-sand);
        display: block;
        cursor: pointer;
        border: 1px solid transparent;
        transition: border-color 0.2s ease;
    }
    body.is-product-page .wume-gallery-thumb:hover,
    body.is-product-page .wume-gallery-thumb.is-active {
        border-color: var(--wume-black);
    }
    
    body.is-product-page .wume-gallery-thumb.is-placeholder {
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: var(--wume-font-body);
        font-size: 0.6rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-lbrown);
    }
    body.is-product-page .wume-gallery-main {
        margin: 0;
        background: var(--wume-sand);
        aspect-ratio: 563 / 752;
        overflow: hidden;
    }
    body.is-product-page .wume-gallery-main img,
    body.is-product-page .wume-gallery-main .wume-product-detail-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        max-height: none;
    }
    
    body.is-product-page #product-thumbnails { display: none; }

    
    body.is-product-page .wume-buy { padding-top: 4px; }

    
    body.is-product-page #product-name {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading, 300);
        font-size: 2.5rem;
        line-height: 1.06;
        letter-spacing: -0.01em;
        color: var(--wume-black);
        margin: 0 0 10px;
    }

    
    body.is-product-page .wume-buy-volume {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 20px;
    }

    
    body.is-product-page .wume-buy-pricerow {
        display: flex;
        align-items: center;
        gap: 18px;
        margin: 0 0 16px;
    }
    body.is-product-page .wume-buy-pricerow #product-price,
    body.is-product-page .wume-buy-price {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 1.05rem;
        color: var(--wume-black);
        margin: 0;
    }
    body.is-product-page .wume-buy-rating {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-family: var(--wume-font-body);
        font-size: 0.95rem;
        color: var(--wume-black);
    }
    body.is-product-page .wume-buy-rating .wume-star { font-size: 0.85rem; line-height: 1; }
    body.is-product-page .wume-buy-seeall {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.7rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 3px;
        cursor: pointer;
    }

    
    body.is-product-page #product-description {
        font-family: var(--wume-font-body);
        font-size: 1rem;
        line-height: 1.45;
        color: var(--wume-black);
        margin: 0 0 14px;
        max-width: 430px;
    }
    body.is-product-page .wume-buy-readmore {
        display: inline-block;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 0.95rem;
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 3px;
        cursor: pointer;
        margin: 0 0 30px;
    }

    
    body.is-product-page .wume-buy-benefits {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 24px;
        row-gap: 26px;
        margin: 0 0 44px;
        list-style: none;
        padding: 0;
    }
    body.is-product-page .wume-buy-benefits li {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.74rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        line-height: 1.2;
    }

    
    body.is-product-page .wume-plan-label {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 12px;
    }
    body.is-product-page #variant-selector { display: block; margin: 0 0 10px; }
    body.is-product-page #variant-options { display: block; width: 100%; }
    body.is-product-page .wume-plan {
        display: flex;
        align-items: center;
        gap: 14px;
        width: 100%;
        min-height: 49px;
        padding: 0 18px;
        border: 1px solid var(--wume-black);
        background: var(--wume-cream);
        cursor: pointer;
        margin-bottom: 10px;
        color: var(--wume-black);
    }
    body.is-product-page .wume-plan:last-child { margin-bottom: 0; }
    
    body.is-product-page .wume-plan-mark {
        width: 11px;
        height: 11px;
        border: 1.5px solid var(--wume-black);
        background: transparent;
        flex: 0 0 auto;
    }
    body.is-product-page .wume-plan.is-selected .wume-plan-mark {
        background: var(--wume-black);
    }
    body.is-product-page .wume-plan-name {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 1rem;
        color: var(--wume-black);
    }
    body.is-product-page .wume-plan-save {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.68rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        background: var(--wume-sand);
        padding: 5px 9px;
        line-height: 1;
    }
    body.is-product-page .wume-plan-prices {
        margin-left: auto;
        display: inline-flex;
        align-items: baseline;
        gap: 10px;
        font-family: var(--wume-font-body);
        font-size: 1rem;
        color: var(--wume-black);
    }
    body.is-product-page .wume-plan-was {
        text-decoration: line-through;
        color: var(--wume-lbrown);
    }

    
    body.is-product-page .wume-add-to-bag {
        display: block;
        width: 100%;
        border: 0;
        background: var(--wume-sage);
        color: var(--wume-black);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.82rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        min-height: 52px;
        margin-top: 14px;
        cursor: pointer;
        transition: background 0.2s ease;
    }
    body.is-product-page .wume-add-to-bag:hover { background: #868d77; }
    body.is-product-page .wume-add-to-bag:disabled { opacity: 0.55; cursor: default; }

    
    body.is-product-page .wume-detail-lower {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
        column-gap: 80px;
        align-items: start;
        margin-top: 64px;
    }

    body.is-product-page .wume-detail-blocktitle {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 18px;
    }

    
    body.is-product-page .wume-detail-description p {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading, 300);
        font-size: 1.5rem;
        line-height: 1.35;
        color: var(--wume-black);
        margin: 0;
        max-width: 525px;
    }

    
    body.is-product-page .wume-detail-approved { margin-top: 56px; }
    body.is-product-page .wume-detail-approved p {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 0.92rem;
        line-height: 1.55;
        color: var(--wume-black);
        margin: 0;
        max-width: 525px;
    }

    
    body.is-product-page .wume-spec-rows { list-style: none; margin: 0; padding: 0; }
    body.is-product-page .wume-spec-row {
        display: grid;
        grid-template-columns: 248px 1fr;
        column-gap: 24px;
        padding: 22px 0;
        border-top: 1px solid rgba(0, 0, 0, 0.35);
    }
    body.is-product-page .wume-spec-row:last-child { border-bottom: none; }
    body.is-product-page .wume-spec-label {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
    }
    body.is-product-page .wume-spec-value {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 1rem;
        line-height: 1.6;
        color: var(--wume-black);
    }
    body.is-product-page .wume-spec-value p { margin: 0; }
    body.is-product-page .wume-spec-seeall {
        display: inline-block;
        margin-top: 12px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.7rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    
    body.is-product-page .wume-reviews { margin-top: 64px; }
    body.is-product-page .wume-reviews-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 44px;
    }
    body.is-product-page .wume-reviews-kicker {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 14px;
    }
    body.is-product-page .wume-reviews-score {
        display: flex;
        align-items: center;
        gap: 8px;
        font-family: var(--wume-font-body);
        font-size: 1.4rem;
        color: var(--wume-black);
        margin: 0 0 6px;
    }
    body.is-product-page .wume-reviews-score .wume-star { font-size: 1.1rem; line-height: 1; }
    body.is-product-page .wume-reviews-count {
        font-family: var(--wume-font-body);
        font-size: 1rem;
        color: var(--wume-black);
        margin: 0;
    }
    body.is-product-page .wume-reviews-nav { display: flex; gap: 10px; }
    body.is-product-page .wume-reviews-arrow {
        width: 40px;
        height: 40px;
        border: 1px solid var(--wume-black);
        background: transparent;
        color: var(--wume-black);
        font-size: 1.1rem;
        line-height: 1;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: background 0.2s ease, color 0.2s ease;
    }
    body.is-product-page .wume-reviews-arrow:hover {
        background: var(--wume-black);
        color: var(--wume-cream);
    }

    
    body.is-product-page .wume-reviews-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        column-gap: 32px;
    }
    body.is-product-page .wume-review-card .wume-review-stars {
        font-size: 0.85rem;
        letter-spacing: 2px;
        color: var(--wume-black);
        margin: 0 0 16px;
    }
    body.is-product-page .wume-review-card .wume-review-title {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 1.05rem;
        color: var(--wume-black);
        margin: 0 0 8px;
    }
    body.is-product-page .wume-review-card .wume-review-body {
        font-family: var(--wume-font-body);
        font-size: 0.92rem;
        line-height: 1.5;
        color: var(--wume-black);
        margin: 0 0 22px;
    }
    body.is-product-page .wume-review-card .wume-review-author {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 12px;
    }
    body.is-product-page .wume-review-card .wume-review-product {
        font-family: var(--wume-font-body);
        font-size: 0.92rem;
        color: var(--wume-black);
        margin: 0;
    }
}



@media (max-width: 991.98px) {

    body.is-product-page .wume-section > .container { padding: 0 24px; }
    body.is-product-page .wume-split { display: block; }

    
    body.is-product-page .wume-gallery { display: flex; flex-direction: column; gap: 10px; }
    body.is-product-page .wume-gallery-main {
        order: 1; margin: 0; background: var(--wume-sand);
        aspect-ratio: 4 / 5; overflow: hidden;
    }
    body.is-product-page .wume-gallery-main img,
    body.is-product-page .wume-gallery-main .wume-product-detail-img {
        width: 100%; height: 100%; object-fit: contain; display: block; max-height: none;
    }
    body.is-product-page .wume-gallery-rail {
        order: 2; display: flex; flex-direction: row; gap: 8px;
    }
    body.is-product-page .wume-gallery-thumb {
        flex: 0 0 auto; width: 56px; height: 56px; aspect-ratio: 1;
        background: var(--wume-sand); cursor: pointer; border: 1px solid transparent;
    }
    body.is-product-page .wume-gallery-thumb.is-active { border-color: var(--wume-black); }
    body.is-product-page .wume-gallery-thumb.is-placeholder {
        display: flex; align-items: center; justify-content: center;
        font-size: 0.5rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; color: var(--wume-lbrown);
    }
    body.is-product-page #product-thumbnails { display: none; }

    
    body.is-product-page .wume-buy { padding-top: 28px; }
    body.is-product-page #product-name {
        font-family: var(--wume-font-heading); font-weight: var(--wume-w-heading, 300);
        font-size: 2rem; line-height: 1.08; color: var(--wume-black); margin: 0 0 8px;
    }
    body.is-product-page .wume-buy-volume {
        font-family: var(--wume-font-body); font-weight: var(--wume-w-sub);
        font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; color: var(--wume-black); margin: 0 0 16px;
    }
    body.is-product-page .wume-buy-pricerow { display: flex; align-items: center; gap: 16px; margin: 0 0 16px; }
    body.is-product-page .wume-buy-pricerow #product-price { font-size: 1.05rem; color: var(--wume-black); margin: 0; }
    body.is-product-page .wume-buy-rating { display: inline-flex; align-items: center; gap: 6px; font-size: 0.95rem; }
    body.is-product-page .wume-buy-seeall {
        font-weight: var(--wume-w-sub); font-size: 0.7rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px;
    }
    body.is-product-page #product-description { font-size: 1rem; line-height: 1.45; color: var(--wume-black); margin: 0 0 12px; }
    body.is-product-page .wume-buy-readmore {
        display: inline-block; font-size: 0.95rem; text-decoration: underline; text-underline-offset: 3px; margin: 0 0 28px;
    }

    
    body.is-product-page .wume-buy-benefits {
        display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; row-gap: 20px;
        margin: 0 0 36px; list-style: none; padding: 0;
    }
    body.is-product-page .wume-buy-benefits li {
        font-family: var(--wume-font-body); font-weight: var(--wume-w-sub);
        font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; color: var(--wume-black); line-height: 1.2;
    }

    
    body.is-product-page .wume-plan-label {
        font-weight: var(--wume-w-sub); font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; margin: 0 0 12px;
    }
    body.is-product-page #variant-selector { margin: 0 0 12px; }
    body.is-product-page .wume-plan {
        display: flex; align-items: center; gap: 12px; width: 100%; min-height: 49px;
        padding: 0 16px; border: 1px solid var(--wume-black); background: var(--wume-cream);
        cursor: pointer; margin-bottom: 10px; color: var(--wume-black);
    }
    body.is-product-page .wume-plan-mark { width: 11px; height: 11px; border: 1.5px solid var(--wume-black); background: transparent; flex: 0 0 auto; }
    body.is-product-page .wume-plan.is-selected .wume-plan-mark { background: var(--wume-black); }
    body.is-product-page .wume-plan-name { font-size: 1rem; }
    body.is-product-page .wume-plan-save {
        font-size: 0.66rem; letter-spacing: var(--wume-tracking-caps); text-transform: uppercase;
        background: var(--wume-sand); padding: 5px 8px; line-height: 1;
    }
    body.is-product-page .wume-plan-prices { margin-left: auto; display: inline-flex; align-items: baseline; gap: 8px; font-size: 0.95rem; }
    body.is-product-page .wume-plan-was { text-decoration: line-through; color: var(--wume-lbrown); }

    
    body.is-product-page .wume-add-to-bag {
        display: block; width: 100%; border: 0; background: var(--wume-sage); color: var(--wume-black);
        font-family: var(--wume-font-body); font-weight: var(--wume-w-sub); font-size: 0.82rem;
        letter-spacing: var(--wume-tracking-caps); text-transform: uppercase; min-height: 52px;
        margin-top: 14px; cursor: pointer;
    }
    body.is-product-page .wume-add-to-bag:disabled { opacity: 0.55; }

    
    body.is-product-page .wume-detail-lower { display: block; margin-top: 48px; }
    body.is-product-page .wume-detail-blocktitle {
        font-weight: var(--wume-w-sub); font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; margin: 0 0 16px;
    }
    body.is-product-page .wume-detail-description p {
        font-family: var(--wume-font-heading); font-weight: var(--wume-w-heading, 300);
        font-size: 1.35rem; line-height: 1.35; margin: 0; max-width: none;
    }
    body.is-product-page .wume-detail-approved { margin-top: 40px; }
    body.is-product-page .wume-detail-approved p { font-size: 0.92rem; line-height: 1.55; margin: 0; max-width: none; }
    body.is-product-page .wume-spec-rows { list-style: none; margin: 40px 0 0; padding: 0; }
    body.is-product-page .wume-spec-row {
        display: block; padding: 20px 0; border-top: 1px solid rgba(0, 0, 0, 0.35);
    }
    body.is-product-page .wume-spec-label {
        display: block; font-weight: var(--wume-w-sub); font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps); text-transform: uppercase; color: var(--wume-black); margin: 0 0 10px;
    }
    body.is-product-page .wume-spec-value { font-size: 1rem; line-height: 1.6; color: var(--wume-black); }
    body.is-product-page .wume-spec-value p { margin: 0; }
    body.is-product-page .wume-spec-seeall {
        display: inline-block; margin-top: 10px; font-weight: var(--wume-w-sub); font-size: 0.7rem;
        letter-spacing: var(--wume-tracking-caps); text-transform: uppercase;
        text-decoration: underline; text-underline-offset: 3px;
    }

    
    body.is-product-page .wume-reviews { margin-top: 48px; }
    body.is-product-page .wume-reviews-head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 32px; }
    body.is-product-page .wume-reviews-kicker {
        font-weight: var(--wume-w-sub); font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; margin: 0 0 12px;
    }
    body.is-product-page .wume-reviews-score { display: flex; align-items: center; gap: 8px; font-size: 1.4rem; margin: 0 0 6px; }
    body.is-product-page .wume-reviews-count { font-size: 1rem; margin: 0; }
    body.is-product-page .wume-reviews-nav { display: flex; gap: 10px; }
    body.is-product-page .wume-reviews-arrow {
        width: 40px; height: 40px; border: 1px solid var(--wume-black); background: transparent;
        color: var(--wume-black); font-size: 1.1rem; display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
    }
    body.is-product-page .wume-reviews-grid {
        display: flex; gap: 18px; overflow-x: auto;
        scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }
    body.is-product-page .wume-review-card { flex: 0 0 80%; scroll-snap-align: start; }
    body.is-product-page .wume-review-card .wume-review-stars { font-size: 0.85rem; letter-spacing: 2px; margin: 0 0 14px; }
    body.is-product-page .wume-review-card .wume-review-title { font-size: 1.05rem; margin: 0 0 8px; }
    body.is-product-page .wume-review-card .wume-review-body { font-size: 0.92rem; line-height: 1.5; margin: 0 0 18px; }
    body.is-product-page .wume-review-card .wume-review-author {
        font-weight: var(--wume-w-sub); font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; margin: 0 0 10px;
    }
    body.is-product-page .wume-review-card .wume-review-product { font-size: 0.92rem; margin: 0; }
}

/* ===== page css: search.css ===== */


@media (min-width: 992px) {

    
    body.is-search-page .wume-hero {
        text-align: left;
        padding: 64px 0 100px;
    }
    body.is-search-page .wume-hero .container {
        max-width: 1440px;
        padding: 0 36px;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 48px;
    }

    
    body.is-search-page .wume-search-hero-main {
        flex: 0 0 846px;
        min-width: 0;
        max-width: 846px;
    }

    
    body.is-search-page .wume-hero-title {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 2rem;
        line-height: var(--wume-lead-heading);
        letter-spacing: var(--wume-tracking-heading);
        text-transform: none;
        text-align: left;
        color: #71706A;
        margin: 0 0 20px;
    }

    
    body.is-search-page .wume-search-input-row {
        display: block;
        margin: 0;
    }

    
    body.is-search-page .wume-search-input-row .form-control {
        width: 100%;
        max-width: 846px;
        border: 0;
        border-bottom: 1px solid #94908A;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        padding: 0 0 12px;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 1.5rem;
        line-height: 1.2;
        color: var(--wume-black);
    }
    body.is-search-page .wume-search-input-row .form-control::placeholder {
        color: transparent;
    }
    body.is-search-page .wume-search-input-row .form-control:focus {
        border-bottom-color: var(--wume-black);
        background: transparent;
        box-shadow: none;
        outline: none;
    }

    
    body.is-search-page .wume-search-hero-aside {
        flex: 0 0 auto;
        text-align: left;
    }
    body.is-search-page .wume-search-hero-aside .wume-hero-tagline {
        margin: 0 0 20px;
        text-align: left;
        color: #5B5852;
    }

    
    body.is-search-page .wume-search-suggestions {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 13px;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    body.is-search-page .wume-search-suggestion {
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        color: var(--wume-black);
    }

    
    body.is-search-page .wume-photo-band {
        min-height: 528px;
        background: #61665A;
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 24px 36px;
        position: relative;
    }
    body.is-search-page .wume-photo-band img {
        flex: 1 1 0;
        min-width: 0;
        height: 470px;
        object-fit: cover;
        display: block;
    }
    body.is-search-page .wume-photo-band-caption {
        position: absolute;
        top: 28px;
        right: 36px;
        margin: 0;
        text-align: right;
        text-transform: uppercase;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        line-height: 1.4;
        color: var(--wume-cream);
    }
}


@media (max-width: 991.98px) {

    
    body.is-search-page { background-color: var(--wume-sand); }

    
    body.is-search-page .wume-hero {
        text-align: left;
        padding: 48px 0 70px;
        background-color: var(--wume-sand);
    }
    
    body.is-search-page .wume-hero .container {
        display: block;
        max-width: none;
        padding: 0 24px 0 26px;
    }

    
    body.is-search-page .wume-search-hero-main {
        margin: 0;
    }

    
    body.is-search-page .wume-search-input-row {
        display: block;
        position: relative;
        margin: 0;
    }

    
    body.is-search-page .wume-search-input-row .form-control {
        width: 100%;
        border: 0;
        border-bottom: 1px solid #94908A;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        padding: 0 44px 5px 0;
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading-display);
        font-size: 1.75rem;
        line-height: 1.1;
        color: var(--wume-black);
    }
    body.is-search-page .wume-search-input-row .form-control::placeholder {
        color: #716E66;
        opacity: 1;
    }
    body.is-search-page .wume-search-input-row .form-control:focus {
        border-bottom-color: var(--wume-black);
        background: transparent;
        box-shadow: none;
        outline: none;
    }

    
    body.is-search-page .wume-search-arrow {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 5px; 
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 40px;
        padding: 0;
        margin: 0;
        border: 0;
        background: transparent;
        color: var(--wume-black);
        font-size: 1.5rem;
        line-height: 1;
        cursor: pointer;
    }

    
    body.is-search-page .wume-search-hero-aside {
        margin-top: 361px;
        text-align: left;
    }

    
    body.is-search-page .wume-search-hero-aside .wume-hero-tagline {
        margin: 0 0 30px;
        text-align: left;
        color: #8E8980;
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
    }

    
    body.is-search-page .wume-search-suggestions {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 23px;
    }
    body.is-search-page .wume-search-suggestion {
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-family: var(--wume-font-body);
        font-weight: 700;
        font-size: 0.875rem;
        line-height: 1;
        color: var(--wume-black);
        text-decoration: none;
    }
}

/* ===== page css: shop.css ===== */



body.is-shop-page .wume-shop-tile-name {
    margin: 14px 0 2px;
    text-transform: uppercase;
    letter-spacing: var(--wume-tracking-caps);
    font-family: var(--wume-font-body);
    font-size: 0.78rem;
    font-weight: var(--wume-w-sub);
    color: var(--wume-black);
    line-height: 1.3;
}
body.is-shop-page .wume-shop-tile-brand {
    margin: 0 0 4px;
    text-transform: uppercase;
    letter-spacing: var(--wume-tracking-caps);
    font-family: var(--wume-font-body);
    font-size: 0.72rem;
    color: var(--wume-lbrown);
}
body.is-shop-page .wume-shop-tile .wume-product-price {
    font-size: 0.85rem;
    color: var(--wume-black);
    font-weight: var(--wume-w-body);
}

body.is-shop-page .wume-shop-tile .wume-product-img {
    width: 100%;
    aspect-ratio: 333 / 451;
    height: auto;
    object-fit: cover;
    background: var(--wume-sand);
    display: block;
}

@media (min-width: 992px) {

    
    body.is-shop-page .wume-shop-body > .container {
        max-width: 1440px;
        padding: 0 36px;
    }

    
    body.is-shop-page .wume-hero {
        text-align: left;
        padding: 60px 0 32px;
    }
    body.is-shop-page .wume-hero .container {
        max-width: 1440px;
        padding: 0 36px;
    }
    body.is-shop-page .wume-hero-title {
        font-size: 3.5rem;
        text-align: left;
        margin: 0;
    }
    body.is-shop-page .wume-hero-subtitle { display: none; }

    
    body.is-shop-page .wume-shop-filterbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 14px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.18);
        margin-bottom: 32px;
    }
    body.is-shop-page .wume-shop-tabs {
        display: flex;
        gap: 28px;
    }
    body.is-shop-page .wume-shop-tab,
    body.is-shop-page .wume-shop-sort {
        background: none;
        border: 0;
        padding: 0;
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        color: var(--wume-black);
        cursor: pointer;
    }
    body.is-shop-page .wume-shop-tab.is-active { text-decoration: underline; text-underline-offset: 4px; }

    
    body.is-shop-page .wume-shop-layout {
        display: grid;
        grid-template-columns: 236px 1fr;
        column-gap: 48px;
        align-items: start;
    }
    body.is-shop-page .wume-shop-cats {
        list-style: none;
        margin: 0 0 40px;
        padding: 0;
    }
    body.is-shop-page .wume-shop-cats li {
        margin-bottom: 14px;
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-size: 0.72rem;
        color: var(--wume-black);
        cursor: pointer;
    }
    body.is-shop-page .wume-shop-filterby {
        margin: 0 0 16px;
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-size: 0.72rem;
        color: var(--wume-lbrown);
    }
    body.is-shop-page .wume-shop-filter-group {
        display: flex;
        justify-content: space-between;
        padding: 12px 0;
        border-top: 1px solid rgba(0, 0, 0, 0.12);
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-size: 0.72rem;
        color: var(--wume-black);
    }

    
    body.is-shop-page #product-grid {
        --bs-gutter-x: 12px;
        --bs-gutter-y: 28px;
    }

    
    body.is-shop-page .wume-shop-tile {
        display: block;
        text-decoration: none;
        color: inherit;
    }
    body.is-shop-page .wume-shop-tile .wume-product-img {
        width: 100%;
        aspect-ratio: 333 / 451;
        height: auto;
        object-fit: cover;
        background: var(--wume-sand);
        display: block;
    }
    body.is-shop-page .wume-shop-tile-name { margin-top: 16px; }
}


@media (max-width: 991.98px) {

    
    body.is-shop-page .wume-shop-body > .container {
        padding-left: 24px;
        padding-right: 24px;
    }

    
    body.is-shop-page .wume-hero {
        text-align: left;
        background: var(--wume-sand);
        padding: 40px 0 36px;
    }
    body.is-shop-page .wume-hero .container {
        padding-left: 24px;
        padding-right: 24px;
    }
    body.is-shop-page .wume-hero-title {
        text-align: left;
        font-size: 2rem;        
        margin: 0;
    }

    
    body.is-shop-page .wume-shop-filterbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 12px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.22);
        margin-bottom: 24px;
    }
    body.is-shop-page .wume-shop-tabs {
        display: flex;
        gap: 22px;
    }
    body.is-shop-page .wume-shop-tab,
    body.is-shop-page .wume-shop-sort {
        background: none;
        border: 0;
        padding: 0;
        text-transform: uppercase;
        letter-spacing: var(--wume-tracking-caps);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.66rem;
        color: var(--wume-black);
        cursor: pointer;
        white-space: nowrap;
    }
    body.is-shop-page .wume-shop-tab.is-active {
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    
    body.is-shop-page .wume-shop-sidebar { display: none; }
    body.is-shop-page .wume-shop-layout { display: block; }

    
    body.is-shop-page #product-grid {
        --bs-gutter-x: 10px;
        --bs-gutter-y: 30px;
    }
    body.is-shop-page #product-grid > [class*="col-"] {
        flex: 0 0 auto;
        width: 50%;
    }

    
    body.is-shop-page .wume-shop-tile .wume-product-img {
        aspect-ratio: 333 / 451;
    }
    body.is-shop-page .wume-shop-tile-name {
        margin: 14px 0 4px;
        font-size: 0.74rem;
        line-height: 1.3;
    }
    body.is-shop-page .wume-shop-tile-brand {
        margin: 0 0 4px;
        font-size: 0.68rem;
    }
    body.is-shop-page .wume-shop-tile .wume-product-price {
        font-size: 0.8rem;
    }
}

/* ===== page css: start_form.css ===== */


@media (min-width: 992px) {

    
    body.is-start-form .wume-section {
        padding: 0;
        background: transparent;
    }
    body.is-start-form .wume-invite-panel-body {
        background: var(--wume-sand);
    }

    
    body.is-start-form .wume-invite-panel-right {
        background: var(--wume-cream);
        margin-right: 37px;
        padding: 64px 56px 48px 45px; 
    }

    
    body.is-start-form .wume-invite-panel-left {
        display: grid;
        grid-template-columns: 230px 1fr;
        grid-template-rows: auto auto;
        column-gap: 0;
        row-gap: 96px;            
        align-content: start;
        align-items: start;
        padding: 64px 48px 24px 37px; 
    }

    
    body.is-start-form .wume-invite-panel-left .wume-section-title {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 0;
        max-width: 360px;          
        font-size: 2.75rem;
        line-height: 1.12;
        color: var(--wume-brown);
    }

    
    body.is-start-form .wume-invite-panel-kicker {
        grid-column: 1;
        grid-row: 2;
        margin: 0;
        padding-right: 24px;
    }
    body.is-start-form .wume-invite-panel-left > p {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
        max-width: 360px;
    }

    
    body.is-start-form .wume-invite-panel-footer {
        align-self: end;
        display: grid;
        grid-template-columns: 349px 1fr;  
        grid-template-rows: 65px 65px auto; 
        align-items: start;
        column-gap: 0;
        row-gap: 0;
        padding: 0 48px 48px 37px; 
    }
    
    body.is-start-form .wume-invite-panel-footer p:nth-child(1) { grid-column: 1; grid-row: 1; }
    body.is-start-form .wume-invite-panel-footer p:nth-child(2) { grid-column: 1; grid-row: 2; }
    body.is-start-form .wume-invite-panel-footer p:nth-child(3) { grid-column: 1; grid-row: 3; }
    
    body.is-start-form .wume-invite-panel-footer p:nth-child(4) { grid-column: 2; grid-row: 1; }
    body.is-start-form .wume-invite-panel-footer p:nth-child(5) { grid-column: 2; grid-row: 2; }
    body.is-start-form .wume-invite-panel-footer p:nth-child(6) { grid-column: 2; grid-row: 3; }
    body.is-start-form .wume-invite-panel-footer p { margin: 0; }

    
    body.is-start-form .wume-invite-field-pair {
        gap: 34px;
    }

}



@media (max-width: 991.98px) {

    
    body.is-start-form .wume-section {
        padding: 0;
        background: var(--wume-sand);
    }
    body.is-start-form .wume-invite-panel-body {
        background: var(--wume-sand);
    }

    
    body.is-start-form .wume-invite-panel-left {
        position: relative;        
        display: flex;
        flex-direction: column;
        padding: 24px 24px 0;      
    }
    body.is-start-form .wume-invite-panel-left .wume-invite-panel-close-link { order: 0; }
    body.is-start-form .wume-invite-panel-kicker { order: 1; }
    body.is-start-form .wume-invite-panel-left .wume-section-title { order: 2; }
    body.is-start-form .wume-invite-panel-left > p:not(.wume-invite-panel-kicker) { order: 3; }

    
    body.is-start-form .wume-invite-panel-close-link {
        position: absolute;
        top: 22px;
        right: 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        color: var(--wume-brown);
        font-size: 1rem;
        line-height: 1;
        text-decoration: none;
    }

    
    body.is-start-form .wume-invite-panel-kicker {
        max-width: 100px;        
        margin: 0 0 28px;
    }

    
    body.is-start-form .wume-invite-panel-left .wume-section-title {
        margin: 0 0 28px;
        max-width: 300px;          
        font-size: 2.1rem;
        line-height: 1.12;
        color: var(--wume-brown);
    }

    
    body.is-start-form .wume-invite-panel-left > p:not(.wume-invite-panel-kicker) {
        margin: 0;
        max-width: 305px;
        font-size: 0.95rem;
        line-height: 1.5;
        color: var(--wume-brown);
    }

    
    body.is-start-form .wume-invite-panel-right {
        padding: 50px 24px 0;      
    }
    body.is-start-form .wume-invite-panel-form-card {
        background: var(--wume-cream);
        margin: 0;
        padding: 40px 35px 36px;   
    }

    
    body.is-start-form .wume-invite-panel-form-card .wume-invite-field {
        margin: 0 0 36px;
    }
    body.is-start-form .wume-invite-panel-form-card .wume-invite-field-pair {
        display: block;            
    }

    
    body.is-start-form .wume-invite-panel-form-card .wume-invite-field:has(#start-brings) {
        margin-bottom: 60px;
    }

    
    body.is-start-form .wume-invite-panel-form-card .wume-invite-fieldset {
        margin: 0 0 36px;
    }
    body.is-start-form .wume-invite-panel-form-card .wume-invite-fieldset legend {
        margin-bottom: 14px;
    }

    
    body.is-start-form .wume-invite-panel-form-card .wume-invite-fieldset:first-of-type .wume-invite-check-row {
        flex-direction: column;
        gap: 14px;
    }

    
    body.is-start-form .wume-invite-panel-form-card .wume-invite-fieldset:nth-of-type(2) .wume-invite-check-row {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 14px 28px;            
    }

    
    body.is-start-form .wume-invite-panel-form-card .wume-invite-send {
        margin-top: 8px;
        padding: 16px 24px;
        text-align: center;
    }

    
    body.is-start-form .wume-invite-panel-footer {
        display: flex;
        flex-direction: column;
        padding: 49px 24px 0;      
        font-size: 0.78rem;
        line-height: 1.5;
    }
    body.is-start-form .wume-invite-panel-footer p:nth-child(1) { order: 1; }  
    body.is-start-form .wume-invite-panel-footer p:nth-child(4) { order: 2; }  
    body.is-start-form .wume-invite-panel-footer p:nth-child(5) { order: 3; }  
    body.is-start-form .wume-invite-panel-footer p:nth-child(6) { order: 4; }  
    body.is-start-form .wume-invite-panel-footer p:nth-child(2) { order: 5; }  
    body.is-start-form .wume-invite-panel-footer p:nth-child(3) { order: 6; }  
    body.is-start-form .wume-invite-panel-footer p {
        margin: 0 0 36px;
    }

}

/* ===== page css: visit.css ===== */


@media (min-width: 992px) {

    
    body.is-visit-page #faqs {
        background: var(--wume-sand);
    }
    body.is-visit-page #wume-journal {
        background: var(--wume-cream);
    }
    body.is-visit-page #press {
        background: var(--wume-sand);
    }

    
    body.is-visit-page .wume-hero .container {
        grid-template-columns: minmax(0, 236px) minmax(0, 423px) minmax(0, 1fr);
        column-gap: 0;
    }
    body.is-visit-page .wume-hero-body {
        grid-column: 2;
        grid-row: 2;
        max-width: 423px;
        margin-top: 56px;
    }
    
    body.is-visit-page .wume-hero-title {
        grid-column: 1 / -1;
    }
    body.is-visit-page .wume-hero-jumps {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    
    body.is-visit-page .wume-contact-panel {
        display: flex;
        flex-direction: column;
    }
    body.is-visit-page .wume-contact-panel-title {
        margin-bottom: 0;
    }
    body.is-visit-page .wume-contact-panel-detail {
        margin-top: auto;
        margin-bottom: 0;
    }

    
    body.is-visit-page .wume-visit-digest-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    body.is-visit-page .wume-visit-digest-header .wume-section-title {
        margin: 0;
    }
    body.is-visit-page .wume-visit-digest-header-meta {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        text-align: right;
        gap: 32px;
    }
    body.is-visit-page .wume-visit-digest-header-meta .wume-hero-tagline {
        margin: 0;
    }
    body.is-visit-page .wume-visit-digest-viewjournal {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 4px;
    }
    body.is-visit-page .wume-visit-digest-viewjournal:hover {
        color: var(--wume-lbrown);
    }

    
    body.is-visit-page .wume-doctor-digest-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    
    body.is-visit-page .wume-doctor-digest-card {
        display: grid;
        grid-template-columns: minmax(0, 251px) minmax(0, 1fr);
        grid-template-rows: auto 1fr;
        column-gap: 13px;
        background: var(--wume-sand);
        padding: 21px 16px;
    }
    body.is-visit-page .wume-doctor-digest-card-image {
        grid-column: 1;
        grid-row: 1 / span 2;
        aspect-ratio: 251 / 347;
        margin-bottom: 0;
        align-self: start;
    }
    body.is-visit-page .wume-doctor-digest-card-date {
        grid-column: 2;
        grid-row: 1;
        text-align: right;
        margin-bottom: 0;
    }
    body.is-visit-page .wume-doctor-digest-card-title {
        grid-column: 2;
        grid-row: 2;
        align-self: end;
    }

    
    body.is-visit-page .wume-press-swatch-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 100px;
        max-width: 1220px;
    }
    body.is-visit-page .wume-press-wall .wume-press-swatch {
        aspect-ratio: 1 / 1;
    }

}


@media (max-width: 991.98px) {

    
    body.is-visit-page .wume-hero .container {
        padding-left: 24px;
        padding-right: 24px;
    }

    
    body.is-visit-page .wume-jump-link {
        border-bottom: 0;
        padding-bottom: 0;
    }
    body.is-visit-page .wume-jump-link:hover {
        border-bottom: 0;
        color: var(--wume-lbrown);
    }

    
    body.is-visit-page .wume-contact-panel-grid {
        
        background: var(--wume-brown);
        padding: 24px;
    }
    body.is-visit-page .wume-contact-panel {
        
        border: 1px solid rgba(242, 240, 235, 0.5);
        border-bottom-width: 0;
        padding: 30px 28px 34px;
    }
    body.is-visit-page .wume-contact-panel:first-child {
        border-top-width: 1px;
    }
    body.is-visit-page .wume-contact-panel:last-child {
        border-bottom-width: 1px;
    }
    
    body.is-visit-page .wume-contact-panel + .wume-contact-panel {
        border-top: 1px solid rgba(242, 240, 235, 0.5);
    }
    
    body.is-visit-page .wume-contact-panel-title {
        margin-bottom: 22px;
    }
    body.is-visit-page .wume-contact-panel-detail {
        margin-left: 32px;
        line-height: 1.9;
    }
    
    body.is-visit-page .wume-contact-panel-cta {
        display: inline-block;
        margin-left: 32px;
        margin-top: 22px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.78rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-cream);
        cursor: pointer;
    }

    
    body.is-visit-page .wume-visit-digest-header {
        display: flex;
        flex-direction: column;
    }
    body.is-visit-page .wume-visit-digest-header-meta {
        order: -1;                            
        text-align: right;
        margin-bottom: 14px;
    }
    body.is-visit-page .wume-visit-digest-header-meta .wume-hero-tagline {
        margin: 0;
    }
    body.is-visit-page .wume-visit-digest-header .wume-section-title {
        margin: 0;
    }

    
    body.is-visit-page .wume-doctor-digest-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }
    
    body.is-visit-page .wume-doctor-digest-card {
        display: grid;
        grid-template-columns: 158px minmax(0, 1fr);
        grid-template-rows: auto 1fr;
        column-gap: 14px;
        background: var(--wume-sand);
        padding: 12px 14px 12px 9px;
    }
    body.is-visit-page .wume-doctor-digest-card-image {
        grid-column: 1;
        grid-row: 1 / span 2;
        aspect-ratio: 158 / 264;
        margin-bottom: 0;
        align-self: start;
    }
    body.is-visit-page .wume-doctor-digest-card-date {
        grid-column: 2;
        grid-row: 1;
        text-align: right;
        margin-bottom: 0;
    }
    body.is-visit-page .wume-doctor-digest-card-title {
        grid-column: 2;
        grid-row: 2;
        align-self: end;
        font-size: 1.05rem;
    }

    
    body.is-visit-page .wume-visit-digest-viewjournal {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 4px;
    }
    body.is-visit-page .wume-visit-digest-viewjournal:hover {
        color: var(--wume-lbrown);
    }
    body.is-visit-page .wume-visit-digest-viewjournal-mobile {
        text-align: center;
        margin-top: 28px;
    }

    
    body.is-visit-page .wume-press-swatch-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 13px;
        max-width: none;
    }
    body.is-visit-page .wume-press-wall .wume-press-swatch {
        aspect-ratio: 1 / 1;
    }

}


html{scroll-behavior:smooth;} /* scroll-behavior:smooth-wp-override */
