/* Shared visual refinements. Prices, clinical copy, and payment flows are unchanged. */
:root { --body:#EDE0CE; --muted:#C5BCAE; --dim:#B8B0A3; --sage-dim:#A8B89A; --sticky-cta-height:0px; }
body { font-weight:400; }
.footer-tagline, .footer-col-links a { font-size:16px; color:var(--muted); line-height:1.6; opacity:1; }
.footer-legal { font-size:14px; color:var(--muted); line-height:1.65; opacity:1; }
.footer-col-label, .section-eyebrow, .area-label, .menu-item-ingredients-label { font-size:13px; color:var(--sage); font-weight:500; letter-spacing:.1em; opacity:1; }
.footer-badges { flex-wrap:wrap; gap:8px; }
.footer-badge { font-size:13px; font-weight:500; color:#A8B89A; line-height:1.4; letter-spacing:.08em; border:1px solid rgba(168,184,154,.4); padding:8px 12px; opacity:1; }
.page-hero-note { font-size:15px; color:var(--muted); line-height:1.5; opacity:1; }
.trust-item { font-size:14px; color:var(--sage); opacity:1; letter-spacing:.08em; }
[data-visual-page="index"] .trust-row { padding-top:0; margin-top:20px; gap:8px; border-top:0; }
[data-visual-page="index"] .hero-body { line-height:1.7; color:var(--body); }
[data-visual-page="index"] .how-body { font-size:18px; line-height:1.7; }
[data-visual-page="index"] .drip-desc { font-size:18px; color:var(--body); line-height:1.65; }
[data-visual-page="index"] .memberships-copy { font-size:18px; color:var(--body); line-height:1.7; }
[data-visual-page="index"] h1 .indent { padding-left:0; display:block; }
[data-visual-page="index"] .drip-arrow { position:static; color:var(--sage); font-size:14px; font-weight:500; margin-top:16px; opacity:1; }
.menu-item-desc { font-size:18px; color:var(--body); line-height:1.65; }
.menu-item-ingredients { font-size:16px; color:var(--muted); line-height:1.6; }
.boosters-sub, .bundle-desc, .clinical-note-text { font-size:16px; color:var(--muted); line-height:1.65; }
.filter-btn:not(.active) { font-size:14px; color:var(--muted); }
.filter-btn.active { font-size:14px; }
.drip-book-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:12px; color:var(--sage); font-size:14px; font-weight:500; text-decoration:underline; text-underline-offset:5px; }
:is(a,button,input,select,textarea,[tabindex]):focus-visible { outline:2px solid var(--sage); outline-offset:4px; }
[data-visual-page="booking"] .drip-desc, [data-visual-page="booking"] .nad-desc { font-size:16px; color:var(--body); line-height:1.6; }
[data-visual-page="booking"] .drip-ingredients, [data-visual-page="booking"] .addon-desc { font-size:14px; color:var(--muted); line-height:1.6; }
[data-visual-page="booking"] .panel-sub { font-size:15px; color:var(--muted); line-height:1.6; }
[data-visual-page="booking"] .form-label { font-size:14px; color:var(--muted); line-height:1.4; letter-spacing:.1em; }
[data-visual-page="booking"] .form-input { font-size:16px; font-weight:400; }
.booking-trust { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:14px; color:var(--sage); margin-top:12px; line-height:1.5; }
[data-visual-page="booking"] .btn-row:has(.booking-trust) { flex-wrap:wrap; }
.booking-trust { flex-basis:100%; }
.member-visual { min-height:0; justify-content:center; gap:0; }
.member-artwork { display:flex; justify-content:center; margin-bottom:24px; }
.member-visual .member-visual-mark { position:static; transform:none; width:180px; opacity:.55; }
.member-visual::after { display:none; }
.member-visual-eyebrow { opacity:1; }
.sticky-mobile { background:#1E1E1C; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); }
.sticky-mobile > a, .sticky-mobile > button { display:flex; align-items:center; justify-content:center; width:100%; background:#A8B89A; color:#272725; border:0; min-height:48px; font-size:14px; font-weight:500; padding:14px 16px; }
body:has(.sticky-mobile) { padding-bottom:var(--sticky-cta-height); }
html:has(.sticky-mobile) { scroll-padding-bottom:var(--sticky-cta-height); }
@media(max-width:900px) { .member-visual .member-visual-mark { width:96px; } .member-visual { min-height:0; } }
@media(max-width:900px) { :root { --sticky-cta-height:calc(90px + env(safe-area-inset-bottom)); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }

[data-visual-page="index"] .cta-group { margin-bottom:0; }
:is(.modal-eyebrow,.pkg-modal-eyebrow,.panel-eyebrow,.addon-section-label,.step-label,.dose-label,.summary-label) { opacity:1; letter-spacing:.1em; }

/* Liquid glass pass — quiet surfaces; motion is progressive enhancement only. */
:root {
  --milk:#F3F3F3;
  --glass-fill:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  --glass-border:rgba(255,255,255,.08);
  --glass-shadow:0 10px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);
  --glass-shadow-hover:0 12px 32px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.05);
  --glass-radius:12px;
}
:is([data-visual-page="index"] .drip-card,
    [data-visual-page="how-it-works"] .step,
    [data-visual-page="drips"] .menu-item,
    [data-visual-page="drips"] .bundle-card,
    [data-visual-page="faq"] .faq-item,
    [data-visual-page="how-it-works"] .faq-item,
    [data-visual-page="city"] .origin-left,
    [data-visual-page="city"] .origin-right) {
  background:rgba(35,35,33,.96);
  border:1px solid var(--glass-border);
  border-radius:var(--glass-radius);
  box-shadow:var(--glass-shadow);
  transition:transform 250ms ease-out,box-shadow 250ms ease-out,border-color 250ms ease-out;
}
/* Replace cell dividers with separated cards without changing grid columns. */
[data-visual-page="index"] .drip-strip,
[data-visual-page="drips"] .menu-grid,
[data-visual-page="city"] .origin { gap:8px; padding:8px; border:0; }
[data-visual-page="drips"] .bundles-grid { gap:8px; background:transparent; }
[data-visual-page="index"] .hero { overflow:clip; }
[data-visual-page="drips"] .menu-grid > .menu-item:nth-child(n),
[data-visual-page="index"] .drip-strip > .drip-card:nth-child(n),
[data-visual-page="how-it-works"] .steps > .step:nth-child(n) { border:1px solid var(--glass-border); }
[data-visual-page="how-it-works"] .steps { padding:4px 8px; }
[data-visual-page="how-it-works"] .steps > .step { margin-bottom:8px; }
:is([data-visual-page="faq"],[data-visual-page="how-it-works"]) .faq-item {
  padding-inline:12px;
  margin-bottom:4px;
}
/* A closed answer's old bottom padding exposed a clipped line of its text. */
:is([data-visual-page="faq"],[data-visual-page="how-it-works"]) .faq-item:not(.open) .faq-a { padding-bottom:0; }
[data-visual-page] .nav {
  background:rgba(39,39,37,.96);
  border-bottom:1px solid rgba(255,255,255,.07);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  :is([data-visual-page="index"] .drip-card,
      [data-visual-page="how-it-works"] .step,
      [data-visual-page="drips"] .menu-item,
      [data-visual-page="drips"] .bundle-card,
      [data-visual-page="faq"] .faq-item,
      [data-visual-page="how-it-works"] .faq-item,
      [data-visual-page="city"] .origin-left,
      [data-visual-page="city"] .origin-right) {
    background:var(--glass-fill) var(--bg);
    backdrop-filter:blur(12px) saturate(1.1);
    -webkit-backdrop-filter:blur(12px) saturate(1.1);
  }
  [data-visual-page] .nav {
    /* .86 keeps the existing sage nav CTA at AA even over a white photo. */
    background:rgba(39,39,37,.86);
    backdrop-filter:blur(16px) saturate(1.1);
    -webkit-backdrop-filter:blur(16px) saturate(1.1);
  }
}
/* Defaults stay readable if JS is absent, blocked, or fails before setup. */
.reveal,.reveal.visible,.anim { opacity:1; transform:none; animation:none; }
html.js-reveal .glass-reveal:is(.glass-pending,.glass-entering) { transition:opacity 600ms ease-out,transform 600ms ease-out; }
html.js-reveal .glass-reveal.glass-pending { opacity:0; transform:translateY(12px); }
html.js-reveal .glass-reveal.glass-entering.reveal-delay-1 { transition-delay:120ms; }
html.js-reveal .glass-reveal.glass-entering.reveal-delay-2 { transition-delay:240ms; }
html.js-reveal .glass-reveal.glass-entering:is(.reveal-delay-3,.reveal-delay-4) { transition-delay:360ms; }
.glass-line { display:block; overflow:hidden; height:1lh; }
.glass-line-inner { display:block; }
html.js-reveal .glass-headline .glass-line-inner {
  transition:transform 600ms ease-out;
  transition-delay:calc(var(--line-index,0) * 80ms);
}
html.js-reveal .glass-headline.glass-pending .glass-line-inner { transform:translateY(100%); }
[data-visual-page="index"] .hero-right.glass-tilt { transition:transform 180ms ease-out; }
.drip-arrow > span,.drip-book-link > span { display:inline-block; transition:transform 250ms ease-out; }
.drip-arrow { transition:color 250ms ease-out; }
.drip-card:hover .drip-arrow { transform:none; }
html:not(.glass-js) :is([data-visual-page="faq"],[data-visual-page="how-it-works"]) .faq-a {
  max-height:none;
  overflow:visible;
}
html:not(.glass-js) :is([data-visual-page="faq"],[data-visual-page="how-it-works"]) .faq-item .faq-a { padding-bottom:22px; }
@media (hover:hover) and (pointer:fine) {
  :is([data-visual-page="index"] .drip-card,
      [data-visual-page="how-it-works"] .step,
      [data-visual-page="drips"] .menu-item,
      [data-visual-page="drips"] .bundle-card,
      [data-visual-page="faq"] .faq-item,
      [data-visual-page="how-it-works"] .faq-item,
      [data-visual-page="city"] .origin-left,
      [data-visual-page="city"] .origin-right):hover {
    transform:translateY(-3px);
    box-shadow:var(--glass-shadow-hover);
    border-color:rgba(255,255,255,.14);
  }
  .drip-card:hover .drip-arrow > span,.drip-book-link:hover > span { transform:translateX(3px); }
}
@media (prefers-reduced-motion:reduce) {
  html.js-reveal .glass-reveal,html.js-reveal .glass-reveal.glass-pending,
  html.js-reveal .glass-headline .glass-line-inner,
  html.js-reveal .glass-headline.glass-pending .glass-line-inner,
  [data-visual-page] :is(.drip-card,.step,.menu-item,.bundle-card,.faq-item,.origin-left,.origin-right):hover,
  [data-visual-page] .glass-tilt,
  .drip-arrow > span,.drip-book-link > span { opacity:1; transform:none !important; transition:none !important; animation:none !important; }
  .glass-line { overflow:visible; }
}
@media print {
  html.js-reveal .glass-reveal,html.js-reveal .glass-reveal.glass-pending,
  html.js-reveal .glass-headline .glass-line-inner,
  html.js-reveal .glass-headline.glass-pending .glass-line-inner,
  [data-visual-page] .glass-tilt { opacity:1 !important; transform:none !important; transition:none !important; animation:none !important; }
  .glass-line { overflow:visible; }
  [data-visual-page] * { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; box-shadow:none !important; }
  :is([data-visual-page="faq"],[data-visual-page="how-it-works"]) .faq-a { max-height:none; overflow:visible; }
  :is([data-visual-page="faq"],[data-visual-page="how-it-works"]) .faq-item:not(.open) .faq-a { padding-bottom:22px; }
}

/* Content and layout texture — outer sections and editorial headings only. */
.texture-base { background:var(--bg); }
.texture-deep { background:var(--bg-deep); }
.section-eyebrow.editorial-label { font-family:var(--sans); color:var(--sage); font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.texture-heading .section-eyebrow { margin-bottom:16px; }
h2.editorial-accent { font-family:var(--serif); color:var(--cream); font-weight:300; font-size:clamp(2rem,4.4vw,4.25rem); line-height:1.12; }
.stats-band { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; padding:24px 44px; border-bottom:1px solid var(--border); font-family:var(--sans); color:var(--sage); font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.stats-band__item { min-width:0; padding:4px 20px; text-align:center; line-height:1.6; }
.stats-band__item + .stats-band__item { border-left:1px solid var(--border); }
.stats-band__value,.stats-band__label { display:block; }
.stats-band__label { font-size:12px; letter-spacing:.08em; }
@media(max-width:900px) {
 .stats-band { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 0; padding:20px 24px; }
 .stats-band__item { padding:0 12px; }
 .stats-band__item:nth-child(odd) { border-left:0; }
}

/* Local marketing copy pass: preserve layout, flatten decorative surfaces. */
:is([data-visual-page="index"],[data-visual-page="drips"],[data-visual-page="how-it-works"],[data-visual-page="faq"],[data-visual-page="about"],[data-visual-page="memberships"],[data-visual-page="city"],[data-visual-page="blog"]) { --glass-radius:2px; --glass-fill:var(--bg); --glass-shadow:none; --glass-shadow-hover:none; }
:is([data-visual-page="index"],[data-visual-page="drips"],[data-visual-page="how-it-works"],[data-visual-page="faq"],[data-visual-page="about"],[data-visual-page="memberships"],[data-visual-page="city"],[data-visual-page="blog"]) :is(.drip-card,.step,.menu-item,.bundle-card,.faq-item,.origin-left,.origin-right,.member-showcase,.tier) { box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
:is([data-visual-page="index"],[data-visual-page="drips"],[data-visual-page="how-it-works"],[data-visual-page="faq"],[data-visual-page="about"],[data-visual-page="memberships"],[data-visual-page="city"],[data-visual-page="blog"]) :is(.drip-card,.step,.menu-item,.bundle-card,.faq-item,.origin-left,.origin-right):hover { transform:none; box-shadow:none; border-color:var(--sage); }
:is([data-visual-page="index"],[data-visual-page="drips"],[data-visual-page="how-it-works"],[data-visual-page="faq"],[data-visual-page="about"],[data-visual-page="memberships"],[data-visual-page="city"],[data-visual-page="blog"]) :is(.section-eyebrow,.hero-eyebrow,.page-hero-eyebrow,.step-tag,.step-num-label,.principle-label,.value-title,.blog-card-date,.post-date,.area-label,.tier-includes-label) { letter-spacing:.025em; text-transform:none; }
:is([data-visual-page="index"],[data-visual-page="drips"],[data-visual-page="how-it-works"],[data-visual-page="faq"],[data-visual-page="about"],[data-visual-page="memberships"],[data-visual-page="city"],[data-visual-page="blog"]) .area-tag { border:0; padding:0; font-size:14px; letter-spacing:normal; text-transform:none; }
:is([data-visual-page="index"],[data-visual-page="drips"],[data-visual-page="how-it-works"],[data-visual-page="faq"],[data-visual-page="about"],[data-visual-page="memberships"],[data-visual-page="city"],[data-visual-page="blog"]) .area-tags { gap:8px 20px; }
:is([data-visual-page="index"],[data-visual-page="drips"],[data-visual-page="how-it-works"],[data-visual-page="faq"],[data-visual-page="about"],[data-visual-page="memberships"],[data-visual-page="city"],[data-visual-page="blog"]) .footer-credentials { color:var(--muted); font-size:14px; line-height:1.6; }
[data-visual-page="memberships"] .tier { grid-column:1 / -1; }
[data-visual-page="how-it-works"] .step-num-label { font-size:16px; }
[data-visual-page="city"] .hero-sub { margin-bottom:24px; }
html:not(.glass-js) :is([data-visual-page="memberships"],[data-visual-page="how-it-works"]) .faq-a { display:block; }

[data-visual-page="blog"] .post-body a { color:var(--sage); text-decoration:underline; text-underline-offset:3px; }
[data-visual-page="blog"] .post-body a:hover { color:var(--cream); }

/* Part 2: plain content blocks, shared across the existing marketing pages. */
.plain-section { padding: 40px 44px; border-top: 1px solid rgba(168,184,154,.2); }
.plain-section h2 { font-family: var(--serif, Georgia, serif); font-size: clamp(1.5rem,3vw,2rem); font-weight: 400; margin-bottom: 18px; }
.plain-section p, .plain-detail { max-width: 76ch; font-size: .9rem; line-height: 1.75; margin: 14px 0; }
.plain-section a, .plain-detail a { color: var(--sage,#A8B89A); }
.people-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px; }
.people-grid article { border-top:1px solid rgba(168,184,154,.25);padding:20px 0; }
.people-grid h3 { font-size:1.1rem;font-weight:400; }
.starting-points { display:flex;flex-wrap:wrap;gap:24px 48px;list-style:none;padding:0;margin:20px 0; }
.starting-points li span { display:block;font-size:.85rem;margin-top:8px; }
.filter-swipe-hint { display:none; }
.cost-table-wrap { overflow-x:auto; }
.cost-table { border-collapse:collapse;width:100%;max-width:960px;font-size:.85rem;line-height:1.6; }
.cost-table th,.cost-table td { text-align:left;padding:14px 12px;border-bottom:1px solid rgba(168,184,154,.25); }
.hero.city-hero { display:block; }
.city-quick { margin-top:24px; }
.city-quick p { margin:12px 0;line-height:1.6; }
.city-services { display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:16px 0; }
.city-services a { color:var(--sage,#A8B89A);text-decoration:underline; }
.city-hero .hero-sub { margin-top:24px;max-width:72ch; }
.post-byline { font-size:.8rem;line-height:1.6;margin:0 0 24px;color:var(--body,#EDE0CE); }
@media(max-width:700px) {
 .plain-section { padding:32px 24px; }
 .people-grid { grid-template-columns:1fr; }
 .filter-swipe-hint { display:block;margin:0;padding:8px 24px;font-size:.75rem;color:var(--sage,#A8B89A); }
 .cost-table th,.cost-table td { min-width:100px;padding:10px 8px; }
}

.cost-table-hint { display:none; }
@media(max-width:700px) { .cost-table-hint { display:block; font-size:.75rem; } }

/* Visit imagery stays in the root asset set copied by the static build. */
.visit-photo { display:block;width:100%;height:auto;object-fit:cover; }
.visit-photo-pair { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:28px; }
.visit-photo-pair figure,.menu-photo-hero figure { margin:0;min-width:0; }
.expect-left figure,.medical-left figure,.origin-principle figure { margin:24px 0; }
.menu-photo-hero { align-items:center; }
.menu-photo-hero .bag-photo { max-height:480px;object-fit:contain; }
.bag-details .bag-photo { max-height:400px;object-fit:contain; }
.menu-citrus-accent { margin:0;padding:0 44px 40px; }
.citrus-photo { aspect-ratio:3/1;object-fit:cover; }
@media(max-width:700px) {
 .visit-photo-pair { grid-template-columns:1fr; }
 .menu-photo-hero .bag-photo { max-height:360px; }
 .menu-citrus-accent { padding:0 24px 32px; }
 .citrus-photo { aspect-ratio:3/2; }
}
