/* ============================================================
   HEART AND SOUL SOURCE — Mystical Rose & Amethyst v3.0
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Comic+Neue:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');

/* ============================================================
   CSS VARIABLES — Mystical Rose / Amethyst / Gold Palette
   ============================================================ */
:root {
  /* Backgrounds */
  --bg-primary:    #FBF0F5;
  --bg-secondary:  #F5E8F0;
  --bg-card:       rgba(255,245,252,0.80);
  --bg-card-hover: rgba(255,245,252,0.96);

  /* True Bright Gold (not brown) */
  --gold:          #C9A227;
  --gold-light:    #E8C040;
  --gold-dim:      rgba(201,162,39,0.15);
  --gold-border:   rgba(201,162,39,0.28);

  /* Rose & Amethyst Accents */
  --rose:          #A85070;
  --rose-light:    #C87090;
  --amethyst:      #8060A0;

  /* Text — deep plum tones */
  --text-primary:  #26162A;
  --text-muted:    #503A54;
  --text-dim:      #907898;

  /* Borders — rose-tinted */
  --border:        rgba(160,80,112,0.22);
  --border-light:  rgba(160,80,112,0.10);
  --border-card:   rgba(160,80,112,0.20);

  /* Navigation — teal */
  --nav-bg:        rgba(0,115,115,0.98);
  --nav-bg-scroll: rgba(0,90,90,0.99);

  /* Footer */
  --footer-bg:     #007373;
  --footer-text:   rgba(255,240,252,0.7);

  /* Typography */
  --font-serif:    'Comic Neue', 'Comic Sans MS', 'Comic Sans', 'Chalkboard SE', 'Marker Felt', cursive;
  --font-sans:     'Comic Neue', 'Comic Sans MS', 'Comic Sans', 'Chalkboard SE', 'Marker Felt', cursive;

  /* Misc */
  --transition:    0.35s cubic-bezier(0.4,0,0.2,1);
  --radius:        12px;
  --radius-lg:     20px;
  --shadow-card:   0 4px 24px rgba(38,22,42,0.10), 0 1px 4px rgba(38,22,42,0.06);
  --shadow-hover:  0 12px 40px rgba(38,22,42,0.18), 0 2px 8px rgba(38,22,42,0.10);

  /* Page accent defaults (home) */
  --page-accent:     #A85070;
  --page-accent-dim: rgba(168,80,112,0.12);
  --page-hero-bg:    url('../img/bg/homebg.jpg');
}

/* ============================================================
   PER-PAGE OVERRIDES — Each page a different rich color
   ============================================================ */
body.page-home {
  background-color: #EDE8F5;
}
body.page-astro {
  background: linear-gradient(180deg, #1A2A50 0%, #0D1835 100%);
  --page-accent:     #D4AF37;
  --page-accent-dim: rgba(212,175,55,0.18);
  --page-hero-bg:    url('../img/bg/astro-new.jpg');
}
body.page-pastlife {
  background: linear-gradient(180deg, #E8EFF8 0%, #B8CCE0 40%, #7898B8 70%, #3A5878 100%);
  --page-accent:     #7050A8;
  --page-accent-dim: rgba(112,80,168,0.14);
  --page-hero-bg:    url('../img/bg/pastlife.jpg');
}
body.page-arttherapy {
  background-color: #F5E8D8;
  --page-accent:     #C05A38;
  --page-accent-dim: rgba(192,90,56,0.14);
  --page-hero-bg:    url('../img/bg/common2.jpg');
}
body.page-psycho {
  background: linear-gradient(180deg, #D4B896 0%, #C4A882 100%);
  --page-accent:     #7A4818;
  --page-accent-dim: rgba(122,72,24,0.14);
  --page-hero-bg:    url('../img/bg/common2.jpg');
}
body.page-labyrinth {
  background-color: #D0E8E8;
  --page-accent:     #207888;
  --page-accent-dim: rgba(32,120,136,0.14);
  --page-hero-bg:    url('../img/bg/common2.jpg');
}
body.page-credentials {
  background-color: #E0D0F0;
  --page-accent:     #7848A0;
  --page-accent-dim: rgba(120,72,160,0.14);
  --page-hero-bg:    url('../img/bg/common2.jpg');
}
body.page-presentations {
  background-color: #D8E8F0;
  --page-accent:     #2A5080;
  --page-accent-dim: rgba(42,80,128,0.14);
  --page-hero-bg:    url('../img/bg/common2.jpg');
}
body.page-publications {
  background-color: #E8E0D0;
  --page-accent:     #705828;
  --page-accent-dim: rgba(112,88,40,0.14);
  --page-hero-bg:    url('../img/bg/common2.jpg');
}
body.page-contact {
  background-color: #ddf0f0;
  --bg-primary:      #ddf0f0;
  --bg-secondary:    #ceeaea;
  --bg-card:         rgba(230,250,250,0.88);
  --bg-card-hover:   rgba(230,250,250,0.98);
  --page-accent:     #2b8585;
  --page-accent-dim: rgba(43,133,133,0.14);
  --page-hero-bg:    url('../img/bg/contactbg.jpg');
  --text-primary:    #0a2828;
  --text-muted:      #265050;
  --border:          rgba(43,133,133,0.26);
  --border-light:    rgba(43,133,133,0.12);
  --border-card:     rgba(43,133,133,0.20);
  --rose:            #2b8585;
  --rose-light:      #389898;
}
body.page-contact .page-hero-bg::after {
  background: linear-gradient(
    to bottom,
    rgba(221,240,240,0.06) 0%,
    rgba(210,238,238,0.38) 100%
  );
}
body.page-contact .page-hero h1        { color: #082020; }
body.page-contact .page-hero p         { color: #143434; }
body.page-contact .page-hero .eyebrow  { color: #2b8585; }
body.page-contact .page-hero-inner .page-hero-img {
  border-color: rgba(43,133,133,0.32);
  box-shadow: 0 8px 32px rgba(10,40,40,0.18);
}
body.page-contact .btn-primary:hover   { box-shadow: 0 8px 30px rgba(43,133,133,0.35); }
body.page-contact .contact-item-icon   { background: rgba(43,133,133,0.10); border-color: rgba(43,133,133,0.28); }

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
  scroll-behavior: smooth;
  font-size: 16px;
  background-color: var(--footer-bg);
  overflow-x: hidden;
}

body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: 1.7;
  min-height: 100vh;
  overflow-x: hidden;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1, h2, h3, h4, h5 {
  font-family: var(--font-serif);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: var(--text-primary);
}
h1 { font-size: clamp(2.4rem, 5vw, 4.5rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 3rem); }
h3 { font-size: clamp(1.3rem, 2.5vw, 1.9rem); }
h4 { font-size: clamp(1.1rem, 2vw, 1.4rem); }

p {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text-muted);
  font-weight: 300;
}

a {
  color: var(--rose);
  text-decoration: none;
  transition: color var(--transition);
}
a:hover { color: var(--rose-light); }

strong { font-weight: 600; color: var(--text-primary); }
.gold-text { color: var(--gold); }
.serif { font-family: var(--font-serif); }

/* ============================================================
   PAGE WRAPPER
   ============================================================ */
.page-wrapper {
  position: relative;
  z-index: 1;
  margin-top: 72px;
  min-height: calc(100vh - 72px);
  display: flex;
  flex-direction: column;
}

/* ============================================================
   NAVIGATION — deep plum-purple bar
   ============================================================ */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 0 1rem;
  height: 72px;
  min-height: 72px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  background: var(--nav-bg);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,200,200,0.22);
  transition: background var(--transition);
}
.nav.scrolled {
  background: var(--nav-bg-scroll);
  border-bottom-color: rgba(201,162,39,0.35);
}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  flex-shrink: 0;
  order: 1;
}
.nav-logo img {
  height: 38px; width: 38px;
  object-fit: contain;
  filter: brightness(1.15);
}
.nav-logo-text {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  color: #FFF0FC;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.nav-logo-text span {
  display: block;
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-light);
  font-family: var(--font-sans);
  font-weight: 400;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  list-style: none;
  flex-wrap: nowrap;
  justify-content: flex-end;
  margin: 0 0 0 auto;
  order: 2;
  flex: 1 1 auto;
  min-width: 0;
}
.nav-links li {
  min-width: 0;
}
.nav-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 9.2rem;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
  color: rgba(255,240,252,0.72);
  padding: 0.35rem 0.45rem;
  border-radius: 4px;
  transition: color var(--transition), background var(--transition);
  font-weight: 500;
  font-family: var(--font-sans);
  white-space: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}
.nav-links a:hover,
.nav-links a.active {
  color: var(--gold-light);
  background: rgba(201,162,39,0.18);
}

/* Hamburger */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 10px;
  background: none;
  border: none;
  flex-shrink: 0;
  order: 3;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}
.nav-toggle span {
  display: block;
  width: 24px;
  height: 1.5px;
  background: #FFF0FC;
  transition: var(--transition);
}
.nav-toggle.open span:nth-child(1) { transform: rotate(45deg) translate(4.5px, 4.5px); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: rotate(-45deg) translate(4.5px, -4.5px); }

/* Mobile Menu */
.nav-mobile {
  display: none;
  position: fixed;
  top: 72px; left: 0; right: 0;
  background: var(--nav-bg-scroll);
  backdrop-filter: blur(20px);
  z-index: 999;
  padding: 1.5rem 2rem 2rem;
  border-bottom: 1px solid rgba(201,162,39,0.2);
  transform: translateY(-10px);
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.nav-mobile.open {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.nav-mobile ul { list-style: none; }
.nav-mobile li { border-bottom: 1px solid rgba(201,162,39,0.12); }
.nav-mobile a {
  display: block;
  padding: 1rem 0;
  color: rgba(255,240,252,0.82);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  letter-spacing: 0.03em;
  transition: color var(--transition);
}
.nav-mobile a:hover { color: var(--gold-light); }

/* ============================================================
   HERO SECTION (Home Page)
   ============================================================ */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding-top: 72px;
}

.hero-bg {
  position: absolute;
  inset: 0;
  background-image: url('../img/bg/homebg.jpg');
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(255,220,235,0.28) 0%,
    rgba(240,205,230,0.15) 50%,
    rgba(220,190,240,0.24) 100%
  );
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.hero-text .eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--amethyst);
  font-family: var(--font-sans);
  font-weight: 500;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.hero-text .eyebrow::before {
  content: '';
  display: inline-block;
  width: 32px; height: 1px;
  background: var(--amethyst);
}

/* Both "Claudia" and "Bader" — same italic serif, no em override */
.hero-text h1 {
  color: var(--text-primary);
  margin-bottom: 0.5rem;
  font-style: normal;
}

.hero-credentials {
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  color: var(--amethyst);
  font-family: var(--font-sans);
  margin-bottom: 1.5rem;
  opacity: 0.9;
  display: block;
}

.hero-text p {
  font-size: 1.05rem;
  margin-bottom: 2.5rem;
  max-width: 480px;
  color: var(--text-muted);
}

.hero-cta { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Portrait */
.hero-portrait { display: flex; justify-content: center; align-items: center; }
.hero-portrait-frame {
  position: relative;
  width: 251px;
  max-width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-hover);
  border: 2px solid rgba(168,80,112,0.30);
}
.hero-portrait-frame img {
  width: 100%;
  display: block;
  border-radius: var(--radius-lg);
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center top;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 2rem;
  border-radius: 50px;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-family: var(--font-sans);
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition);
  text-decoration: none;
  border: none;
}
.btn-primary {
  background: var(--rose);
  color: #fff;
}
.btn-primary:hover {
  background: var(--rose-light);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(168,80,112,0.35);
}
.btn-outline {
  background: transparent;
  color: var(--text-primary);
  border: 1px solid var(--border);
}
.btn-outline:hover {
  border-color: var(--rose);
  color: var(--rose);
  transform: translateY(-2px);
}

/* ============================================================
   SECTION LAYOUT
   ============================================================ */
.section {
  padding: 6rem 2rem;
  max-width: 1200px;
  margin: 0 auto;
}
.section-full {
  padding: 6rem 2rem;
  position: relative;
  background: var(--bg-secondary);
}
.section-header {
  text-align: center;
  margin-bottom: 4rem;
}
.section-header .eyebrow {
  font-size: 0.7rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--amethyst);
  font-family: var(--font-sans);
  margin-bottom: 1rem;
  display: block;
}
.section-header h2 { margin-bottom: 1rem; }
.section-header p { max-width: 580px; margin: 0 auto; font-size: 1.05rem; }

/* Dividers */
.divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin: 3rem auto;
  max-width: 600px;
}
.divider::before, .divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-border), transparent);
}
.divider-icon { color: var(--gold); font-size: 1rem; opacity: 0.8; }

.constellation-divider {
  display: block;
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  opacity: 0.35;
  filter: sepia(0.3) hue-rotate(280deg) saturate(0.8);
}

/* ============================================================
   CARDS
   ============================================================ */
.glass-card {
  background: rgba(255,248,255,0.78);
  border: 1px solid var(--border-card);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  box-shadow: var(--shadow-card);
  transition: background var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}
.glass-card:hover {
  background: rgba(255,248,255,0.96);
  border-color: var(--rose);
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}
.card-icon { font-size: 1.8rem; margin-bottom: 1.25rem; display: block; }
.glass-card h3 { margin-bottom: 0.75rem; font-size: 1.4rem; }
.glass-card p { font-size: 0.95rem; }

/* ============================================================
   SERVICES GRID
   ============================================================ */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 5rem;
  align-items: start;
}
.about-image-wrap { position: relative; }
.about-image-wrap img {
  width: 100%;
  border-radius: var(--radius-lg);
  display: block;
  border: 2px solid rgba(168,80,112,0.22);
  box-shadow: var(--shadow-card);
}
.about-text h2 { margin-bottom: 0.5rem; }
.about-text .subtitle {
  color: var(--amethyst);
  font-family: var(--font-sans);
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  display: block;
}
.about-text p { margin-bottom: 1.25rem; }

/* ============================================================
   TESTIMONIAL
   ============================================================ */
.testimonial-section {
  background: linear-gradient(135deg, rgba(240,220,248,0.65), rgba(255,235,248,0.88));
  border-top: 1px solid rgba(168,80,112,0.15);
  border-bottom: 1px solid rgba(168,80,112,0.15);
}
.testimonial-block {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  padding: 5rem 2rem;
}
.testimonial-block blockquote {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 2.5vw, 1.9rem);
  font-style: italic;
  color: var(--text-primary);
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.testimonial-block blockquote::before { content: '\201C'; color: var(--rose); }
.testimonial-block blockquote::after  { content: '\201D'; color: var(--rose); }
.testimonial-source {
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--amethyst);
  font-family: var(--font-sans);
}

/* ============================================================
   INNER PAGE HERO (Service / Topic Pages)
   ============================================================ */
.page-hero {
  position: relative;
  padding: 8rem 2rem 4rem;
  overflow: hidden;
}
.page-hero-bg {
  position: absolute;
  inset: 0;
  background-image: var(--page-hero-bg);
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.page-hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(251,240,245,0.52) 0%,
    rgba(251,240,245,0.90) 100%
  );
}

/* Psychoanalyst: Sleeping Gypsy bg */
body.page-psycho .page-hero-bg::after {
  background: linear-gradient(
    to bottom,
    rgba(216,238,228,0.65) 0%,
    rgba(216,238,228,0.92) 100%
  );
}

/* Zodiac wheel overlay for astrologer page */
.zodiac-hero-overlay {
  position: absolute;
  inset: 0;
  background: url('../assets/zodiac-wheel-gold.png') center / 55% no-repeat;
  opacity: 0.14;
  z-index: 1;
  pointer-events: none;
}

.page-hero-content {
  position: relative;
  z-index: 2;
  max-width: 1000px;
  margin: 0 auto;
}

/* Text + image side-by-side layout */
.page-hero-inner {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
.page-hero-inner .page-hero-text {
  flex: 1;
  text-align: left;
}
.page-hero-inner .page-hero-img {
  width: 220px;
  height: 185px;
  flex-shrink: 0;
  border-radius: var(--radius-lg);
  object-fit: cover;
  box-shadow: 0 8px 32px rgba(38,22,42,0.18);
  border: 2px solid rgba(168,80,112,0.28);
}

.page-hero .eyebrow {
  font-size: 0.7rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--page-accent);
  font-family: var(--font-sans);
  margin-bottom: 1rem;
  display: block;
}
.page-hero h1 {
  color: #26162A;
  margin-bottom: 0.75rem;
  line-height: 1.3;
  font-size: clamp(1.4rem, 2.8vw, 2.4rem);
}
.page-hero p {
  font-size: 1rem;
  color: #503A54;
  max-width: 560px;
}

/* ============================================================
   CONTENT SECTIONS
   ============================================================ */
.content-section {
  max-width: 900px;
  margin: 0 auto;
  padding: 5rem 2rem;
}
.content-section h2 { margin-bottom: 1.5rem; }
.content-section p  { margin-bottom: 1.25rem; font-size: 1.02rem; }

.content-with-image {
  display: grid;
  grid-template-columns: 1fr 1.8fr;
  gap: 4rem;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
  padding: 5rem 2rem;
}
.content-with-image.reverse { grid-template-columns: 1.8fr 1fr; }
.content-with-image img {
  width: 100%;
  border-radius: var(--radius-lg);
  border: 2px solid rgba(168,80,112,0.18);
  box-shadow: var(--shadow-card);
  display: block;
}

/* Psychoanalyst — Claudia photo smaller */
body.page-psycho .content-with-image { grid-template-columns: 0.6fr 2fr; }
body.page-psycho .content-with-image > div:first-child img { max-width: 220px; }

/* ============================================================
   CREDENTIALS / LISTS
   ============================================================ */
.credential-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.credential-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: var(--text-muted);
  font-size: 0.97rem;
  line-height: 1.6;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}
.credential-list li::before {
  content: '✦';
  color: var(--page-accent, var(--rose));
  font-size: 0.65rem;
  margin-top: 0.4rem;
  flex-shrink: 0;
}

/* ============================================================
   PUBLICATIONS / PRESENTATIONS CARDS
   ============================================================ */
.pub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}
.pub-card {
  background: rgba(255,248,255,0.78);
  border: 1px solid var(--border-card);
  border-radius: var(--radius);
  padding: 1.75rem;
  box-shadow: var(--shadow-card);
  transition: all var(--transition);
}
.pub-card:hover {
  border-color: var(--rose);
  background: rgba(255,248,255,0.96);
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
}
.pub-card .pub-year {
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--amethyst);
  font-family: var(--font-sans);
  margin-bottom: 0.5rem;
  display: block;
}
.pub-card h4 {
  color: var(--text-primary);
  font-size: 1rem;
  font-family: var(--font-serif);
  margin-bottom: 0.5rem;
  line-height: 1.4;
}
.pub-card p { font-size: 0.88rem; color: var(--text-dim); }

/* ============================================================
   CONTACT
   ============================================================ */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
.contact-info h3 { margin-bottom: 2rem; }
.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.contact-item-icon {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: rgba(168,80,112,0.10);
  border: 1px solid rgba(168,80,112,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.contact-item-text strong {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--amethyst);
  font-family: var(--font-sans);
  margin-bottom: 0.25rem;
}
.contact-item-text p { font-size: 1rem; color: var(--text-muted); margin: 0; }

/* ============================================================
   EVENT BANNER
   ============================================================ */
.event-banner {
  background: linear-gradient(135deg, rgba(201,162,39,0.10), rgba(245,232,240,0.95));
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  margin: 0 auto 4rem;
  max-width: 900px;
  display: flex;
  gap: 2rem;
  align-items: center;
  box-shadow: var(--shadow-card);
}
.event-banner-label {
  background: var(--rose);
  color: #fff;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-family: var(--font-sans);
  font-weight: 600;
  padding: 0.4rem 0.9rem;
  border-radius: 50px;
  white-space: nowrap;
  flex-shrink: 0;
}
.event-banner-content h3 { font-size: 1.3rem; margin-bottom: 0.4rem; }
.event-banner-content p { font-size: 0.9rem; margin: 0; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  background: var(--footer-bg);
  border-top: 1px solid rgba(201,162,39,0.22);
  min-height: 72px;
  padding: .65rem 1.5rem;
  text-align: center;
  margin-top: auto;
  display: flex;
  align-items: center;
}
.footer-inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.footer-logo { display: flex; align-items: center; gap: 0.75rem; flex-shrink: 0; }
.footer-logo img { height: 27px; width: 27px; object-fit: contain; }
.footer-logo-name {
  font-family: var(--font-serif);
  font-size: 1rem;
  color: var(--footer-text);
  letter-spacing: 0.05em;
}
.footer-links {
  display: none;
  gap: 1.25rem;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
}
.footer-links a {
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,240,252,0.42);
  transition: color var(--transition);
}
.footer-links a:hover { color: var(--gold-light); }
.footer-copy { font-size: 0.75rem; line-height: 1.35; color: rgba(255,240,252,0.32); }
.footer-copy a { color: rgba(255,240,252,0.48); }
.footer-copy a:hover { color: var(--gold-light); }

/* ============================================================
   ANIMATIONS
   ============================================================ */
.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}
.fade-in-delay-1 { transition-delay: 0.1s; }
.fade-in-delay-2 { transition-delay: 0.2s; }
.fade-in-delay-3 { transition-delay: 0.3s; }
.fade-in-delay-4 { transition-delay: 0.4s; }

/* ============================================================
   UTILITY
   ============================================================ */
.text-center { text-align: center; }
.text-gold { color: var(--gold); }
.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }
.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }

.eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--amethyst);
  font-family: var(--font-sans);
  font-weight: 500;
  display: block;
  margin-bottom: 0.75rem;
}
.subtitle {
  color: var(--amethyst);
  font-family: var(--font-sans);
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 1rem;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1200px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
}

@media (max-width: 1024px) {
  .hero-content { grid-template-columns: 1fr; gap: 3rem; text-align: center; }
  .hero-text .eyebrow { justify-content: center; }
  .hero-text p { max-width: 100%; }
  .hero-cta { justify-content: center; }
  .hero-portrait { order: -1; }
  .hero-portrait-frame { width: 185px; }
  .about-grid { grid-template-columns: 1fr; gap: 3rem; }
  .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
  .content-with-image { grid-template-columns: 1fr; }
  .content-with-image.reverse { grid-template-columns: 1fr; }
  body.page-psycho .content-with-image { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
  .section { padding: 4rem 1.25rem; }
  .section-full { padding: 4rem 1.25rem; }
  .page-hero { padding: 7rem 1.25rem 3rem; }
  .content-section { padding: 3rem 1.25rem; }
  .content-with-image { padding: 3rem 1.25rem; }
  body.page-psycho .content-with-image > div:first-child img { max-width: 130px !important; display: block; margin: 0 auto; }
  .event-banner { flex-direction: column; gap: 1rem; }
  .glass-card { padding: 1.75rem; }
  .hero-portrait-frame { width: 158px; }
  .page-hero-inner { flex-direction: column; }
  .page-hero-inner .page-hero-text { text-align: center; }
  .page-hero-inner .page-hero-img { width: 160px; height: 130px; }
  .footer {
    min-height: 0;
    padding: 1rem;
  }
  .footer-inner {
    flex-direction: column;
    gap: .45rem;
  }
  .footer-logo {
    margin-bottom: .15rem;
  }
}

@media (max-width: 480px) {
  .hero-cta { flex-direction: column; align-items: center; }
  .pub-grid { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ASTROLOGER PAGE — dark blue + star overrides
   ============================================================ */
body.page-astro .page-hero h1,
body.page-astro .page-hero p,
body.page-astro .page-hero .eyebrow {
  color: #E8D8A0;
  text-shadow: 0 2px 8px rgba(0,0,20,0.8);
}
body.page-astro .page-hero-bg::after {
  background: linear-gradient(to bottom, rgba(10,25,70,0.3) 0%, rgba(5,15,40,0.7) 100%);
}
body.page-astro .section {
  background: rgba(20,35,70,.12);
  border-radius: var(--radius-lg);
  margin-bottom: 2rem;
}
body.page-astro .section h2, body.page-astro .section h3 { color: #D4AF37; }
body.page-astro .section p, body.page-astro .section li { color: #C0D0E8; }
body.page-astro .section strong { color: #E8D8A0; }
body.page-astro .content-with-image {
  display: block;
  width: min(92%, 1240px);
  max-width: 1240px;
  margin: 0 auto;
  padding: 4rem 2rem;
}
body.page-astro .content-with-image > div {
  width: min(100%, 1040px);
  margin: 0 auto;
}
body.page-astro .astro-services-image {
  display: flex;
  justify-content: center;
  margin: 1.5rem auto 2rem;
}
body.page-astro .astro-services-image img {
  width: min(100%, 520px);
  height: auto;
  object-fit: cover;
  border-radius: var(--radius-lg);
  border-color: rgba(212,175,55,.32);
  box-shadow: none;
}
body.page-astro .testimonial-section {
  background: transparent;
  border: 0;
}
body.page-astro .testimonial-block {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
body.page-astro .testimonial-block blockquote {
  color: #f7f3ed;
}
body.page-astro .testimonial-source {
  color: #f1cf68;
}
body.page-astro .services-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
body.page-astro .services-grid .glass-card {
  padding: 1.35rem;
  background: rgba(15,31,68,.52);
  border-color: rgba(212,175,55,.3);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.page-astro .services-grid .glass-card:hover {
  background: rgba(20,39,80,.64);
  border-color: rgba(212,175,55,.46);
  box-shadow: none;
}
body.page-astro .services-grid .card-icon {
  margin-bottom: .75rem;
}
body.page-astro .services-grid .glass-card h3 {
  font-size: 1.15rem;
}
body.page-astro .services-grid .glass-card p {
  font-size: .85rem;
  line-height: 1.55;
}
@media (max-width: 1000px) {
  body.page-astro .astro-services-image img {
    width: min(78vw, 480px);
  }
  body.page-astro .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  body.page-astro .content-with-image {
    width: 100%;
    padding: 3rem 1.25rem;
  }
  body.page-astro .astro-services-image {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
  }
  body.page-astro .astro-services-image img {
    width: min(92vw, 400px);
  }
  body.page-astro .services-grid {
    grid-template-columns: 1fr;
  }
}

body.page-astro .page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%, rgba(255,255,255,0.9) 0%, transparent 100%),
    radial-gradient(1px 1px at 28% 8%, rgba(212,175,55,0.9) 0%, transparent 100%),
    radial-gradient(2px 2px at 52% 32%, rgba(255,255,255,0.8) 0%, transparent 100%),
    radial-gradient(1px 1px at 72% 14%, rgba(255,255,255,0.75) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 87% 42%, rgba(212,175,55,0.8) 0%, transparent 100%),
    radial-gradient(1px 1px at 18% 68%, rgba(255,255,255,0.65) 0%, transparent 100%),
    radial-gradient(1px 1px at 43% 82%, rgba(212,175,55,0.7) 0%, transparent 100%),
    radial-gradient(2px 2px at 92% 62%, rgba(255,255,255,0.8) 0%, transparent 100%),
    radial-gradient(1px 1px at 62% 55%, rgba(255,255,255,0.55) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 5% 48%, rgba(212,175,55,0.65) 0%, transparent 100%);
  pointer-events: none;
  z-index: 2;
  animation: starTwinkle 3s ease-in-out infinite alternate;
}
@keyframes starTwinkle { from { opacity: 0.55; } to { opacity: 1; } }

/* ============================================================
   PAST LIFE PAGE — cloud/heaven darker text
   ============================================================ */
body.page-pastlife .page-hero h1,
body.page-pastlife .page-hero p,
body.page-pastlife .page-hero .eyebrow {
  color: #1A2A3A;
  text-shadow: 0 1px 4px rgba(255,255,255,0.5);
}
body.page-pastlife .page-hero-bg::after {
  background: linear-gradient(to bottom, rgba(200,220,240,0.1) 0%, rgba(200,220,240,0.55) 100%);
}
body.page-pastlife .section h2, body.page-pastlife .section h3 { color: #2A3A5A; }
body.page-pastlife .section p, body.page-pastlife .section li { color: #2A3A4A; }

/* ============================================================
   PSYCHOANALYST PAGE — warm wood/leather tones
   ============================================================ */
body.page-psycho .page-hero h1,
body.page-psycho .page-hero p,
body.page-psycho .page-hero .eyebrow {
  color: #FFF5E8;
  text-shadow: 0 2px 8px rgba(40,15,5,0.7);
}
body.page-psycho .page-hero-bg::after {
  background: linear-gradient(to bottom, rgba(30,15,5,0.5) 0%, rgba(40,20,5,0.75) 100%);
}
body.page-psycho .section h2, body.page-psycho .section h3 { color: #C8DEFF; }
body.page-psycho .section p, body.page-psycho .section li { color: #D8EAFF; }
body.page-psycho .section strong { color: #E8F2FF; }

/* ============================================================
   ART THERAPIST — rainbow bottom section
   ============================================================ */
body.page-arttherapy .art-rainbow-section {
  background: linear-gradient(135deg,
    #FF6B6B 0%, #FFB347 15%, #FFFF66 30%, #90EE90 45%,
    #6EC6FF 60%, #B47BFF 75%, #FF80AB 90%, #FF6B6B 100%);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  margin-top: 3rem;
  color: #1A0808;
}
body.page-arttherapy .art-rainbow-section h2,
body.page-arttherapy .art-rainbow-section h3 { color: #1A0808; }
body.page-arttherapy .art-rainbow-section p { color: #2A0808; }

/* ============================================================
   CREDENTIALS PAGE — lighter purple hero
   ============================================================ */
body.page-credentials .page-hero h1,
body.page-credentials .page-hero p,
body.page-credentials .page-hero .eyebrow {
  color: #FFF8FF;
  text-shadow: none !important;
}

/* ============================================================
   PUBLICATIONS PAGE — book-feature layout
   ============================================================ */
.book-feature {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 3.5rem;
  align-items: start;
  background: rgba(255,255,255,0.6);
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  margin-bottom: 3rem;
}
.book-cover img {
  width: 100%;
  border-radius: var(--radius);
  border: 1px solid rgba(0,0,0,0.1);
  display: block;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.book-info h3 { font-size: 1.8rem; margin: 0.5rem 0 0.25rem; }
.book-info .book-byline {
  font-size: 0.82rem;
  color: var(--gold);
  letter-spacing: 0.1em;
  font-family: var(--font-sans);
  margin-bottom: 1.25rem;
  display: block;
}
.book-info p { margin-bottom: 1rem; }
.pub-link {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--rose);
  font-family: var(--font-sans);
  transition: color var(--transition);
}
.pub-link:hover { color: var(--amethyst); }
@media (max-width: 700px) {
  .book-feature { grid-template-columns: 1fr; }
  .book-cover { max-width: 200px; margin: 0 auto; }
}

/* ============================================================
   PRESENTATIONS PAGE — event-card layout
   ============================================================ */
.event-card {
  background: rgba(255,255,255,0.65);
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  margin-bottom: 2rem;
  transition: all var(--transition);
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.event-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--gold);
  border-radius: 3px 0 0 3px;
}
.event-card--featured {
  border-color: rgba(180,140,60,0.3);
  background: linear-gradient(135deg, rgba(180,140,60,0.06), rgba(255,255,255,0.7));
}
.event-card:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
  transform: translateY(-2px);
}
.event-card h3 { margin-bottom: 1rem; }
.event-card p { margin-bottom: 0.75rem; }
.event-card ul {
  padding-left: 1.5rem;
  list-style: disc;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 0.75rem;
}
.event-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.event-date { font-size: 0.82rem; font-family: var(--font-sans); opacity: 0.7; }
.event-badge {
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-family: var(--font-sans);
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  border-radius: 50px;
}
.event-badge.upcoming { background: var(--gold); color: #fff; }
.event-badge.past { background: rgba(0,0,0,0.08); color: var(--text-muted); border: 1px solid rgba(0,0,0,0.15); }

/* 2026 visual refinement pass */
body.page-home {
  background-color: #173f6b;
  background-image:
    linear-gradient(rgba(18, 55, 91, .68), rgba(22, 65, 104, .76)),
    url('../img/shutterstock_2476859599-web.jpg');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
body.page-home .section-full,
body.page-home .testimonial-section,
body.page-home .event-banner {
  background: transparent;
}
body.page-home .testimonial-section {
  border-color: rgba(32, 84, 105, .18);
}
body.page-home .event-banner {
  box-shadow: none;
}
body.page-home .services-grid .glass-card,
body.page-home .services-grid .glass-card:hover {
  background: transparent;
  border-color: rgba(27, 71, 91, .22);
  box-shadow: 0 4px 14px rgba(24, 57, 76, .14);
}
body.page-home .services-grid .glass-card:hover {
  border-color: rgba(27, 71, 91, .36);
  box-shadow: 0 6px 18px rgba(24, 57, 76, .18);
}
body.page-home .about-text h2,
body.page-home .about-text .subtitle,
body.page-home .section-header h2,
body.page-home .section-header .eyebrow,
body.page-home .services-grid .card-icon,
body.page-home .services-grid .glass-card h3,
body.page-home .event-banner-content h3,
body.page-home .testimonial-source {
  color: #f3d36b;
}
body.page-home .about-text p,
body.page-home .about-text strong,
body.page-home .section-header p,
body.page-home .services-grid .glass-card p,
body.page-home .services-grid .glass-card strong,
body.page-home .event-banner-content p,
body.page-home .testimonial-block blockquote {
  color: #fff;
}
body.page-home .event-banner,
body.page-home .services-grid .glass-card {
  border-color: rgba(243, 211, 107, .32);
}
body.page-home .services-grid .glass-card:hover {
  border-color: rgba(243, 211, 107, .52);
}
body.page-home .testimonial-block blockquote::before,
body.page-home .testimonial-block blockquote::after {
  color: #f3d36b;
}
body.page-home .event-banner-label,
body.page-home .btn-primary {
  color: #173f6b;
  background: #f3d36b;
  border-color: #f3d36b;
}
body.page-home .btn-outline {
  color: #f3d36b !important;
  border-color: #f3d36b !important;
}
body.page-home .btn-outline:hover {
  color: #173f6b !important;
  background: #f3d36b;
}
body.page-astro {
  background-color: #07142f;
  background-image:
    linear-gradient(rgba(7,20,47,.72), rgba(4,11,30,.82)),
    url('../assets/zodiac-wheel-gold.png'),
    radial-gradient(circle at 15% 12%, rgba(255,255,255,.75) 0 1px, transparent 1.5px),
    radial-gradient(circle at 78% 22%, rgba(212,175,55,.75) 0 1px, transparent 1.5px),
    radial-gradient(circle at 42% 64%, rgba(255,255,255,.55) 0 1px, transparent 1.5px),
    radial-gradient(circle at 91% 81%, rgba(255,255,255,.6) 0 1px, transparent 1.5px),
    linear-gradient(180deg, #0b2250 0%, #07142f 58%, #040b1e 100%);
  background-size: cover, min(92vw, 1100px) auto, 180px 180px, 240px 240px, 210px 210px, 280px 280px, auto;
  background-position: center, center 110px, 0 0, 0 0, 0 0, 0 0, center;
  background-repeat: no-repeat, no-repeat, repeat, repeat, repeat, repeat, no-repeat;
  background-attachment: fixed, fixed, fixed, fixed, fixed, fixed, fixed;
}
body.page-astro .page-hero-bg,
body.page-astro .zodiac-hero-overlay {
  display: none;
}
body.page-astro .page-hero {
  background: transparent;
}
body.page-astro .page-hero-bg::after {
  background: none;
}
@media (max-width: 768px) {
  body.page-astro {
    background-size: cover, 150vw auto, 180px 180px, 240px 240px, 210px 210px, 280px 280px, auto;
    background-position: center, center 100px, 0 0, 0 0, 0 0, 0 0, center;
    background-attachment: scroll;
  }
}
body.page-pastlife {
  background-color: #607f9b;
  background-image:
    radial-gradient(circle at 50% 8%, rgba(255,224,120,.34), transparent 38%),
    linear-gradient(rgba(35,55,78,.34), rgba(35,55,78,.48)),
    url('../img/bg/pastlife.jpg');
  background-size: cover, cover, cover;
  background-position: center top, center top, center top;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-attachment: fixed;
}
body.page-pastlife .page-hero {
  background: transparent;
}
body.page-pastlife .page-hero-bg {
  display: none;
}
body.page-pastlife .page-hero-bg::after {
  background: none;
}
body.page-pastlife .page-hero h1,
body.page-pastlife .page-hero p {
  color: #172b3d;
  text-shadow: none;
}
body.page-pastlife .page-hero .eyebrow {
  color: #274b67;
  text-shadow: none;
}
body.page-pastlife .glass-card {
  background: rgba(225,236,245,.13);
  border-color: rgba(220,235,246,.24);
  box-shadow: 0 8px 26px rgba(31,50,72,.08);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}
body.page-pastlife .glass-card:hover {
  background: rgba(225,236,245,.2);
  border-color: rgba(220,235,246,.34);
  box-shadow: 0 10px 28px rgba(31,50,72,.11);
}
body.page-pastlife .glass-card h3 {
  color: #18344a;
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: none;
}
body.page-pastlife .glass-card p,
body.page-pastlife .glass-card strong {
  color: #20394c;
  font-family: var(--font-sans);
  text-shadow: none;
}
body.page-pastlife .pastlife-external-link a {
  color: #f3d77b;
}
body.page-pastlife .pastlife-external-link a:hover {
  color: #ffe9a4;
}
@media (max-width: 768px) {
  body.page-pastlife {
    background-attachment: scroll;
    background-position: center top;
  }
}
body.page-arttherapy {
  background-color: #9db5c4;
  background-image:
    linear-gradient(rgba(34,45,65,.18), rgba(34,45,65,.3)),
    url('../img/bg/common2.jpg');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
body.page-arttherapy .page-hero {
  background: transparent;
}
body.page-arttherapy .page-hero-bg {
  display: none;
}
body.page-arttherapy .page-hero-bg::after {
  background: none;
}
body.page-arttherapy .section {
  background: rgba(236,243,246,.1);
}
body.page-arttherapy .services-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
body.page-arttherapy .services-grid .glass-card {
  padding: 1.25rem;
  background: rgba(239,245,247,.3);
  border-color: rgba(37,82,96,.22);
  box-shadow: none;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
body.page-arttherapy .services-grid .glass-card:hover {
  background: rgba(239,245,247,.42);
  border-color: rgba(37,82,96,.34);
  box-shadow: none;
}
body.page-arttherapy .services-grid .card-icon {
  margin-bottom: .7rem;
}
body.page-arttherapy .services-grid .glass-card h3 {
  font-size: 1.12rem;
}
body.page-arttherapy .services-grid .glass-card p {
  font-size: .84rem;
  line-height: 1.55;
}
body.page-arttherapy .content-with-image p,
body.page-arttherapy .content-with-image strong,
body.page-arttherapy .services-grid .glass-card p {
  color: #fff;
  text-shadow: 0 1px 5px rgba(22,28,40,.58);
}
body.page-arttherapy .content-with-image span,
body.page-arttherapy .section-header .eyebrow,
body.page-arttherapy .section-header h2,
body.page-arttherapy .services-grid .glass-card h3,
body.page-arttherapy .services-grid .card-icon {
  color: #4B679D !important;
  text-shadow: 0 1px 5px rgba(22,28,40,.62);
}
@media (max-width: 1000px) {
  body.page-arttherapy .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  body.page-arttherapy {
    background-attachment: scroll;
  }
  body.page-arttherapy .services-grid {
    grid-template-columns: 1fr;
  }
}
body.page-arttherapy .art-rainbow-section {
  background:
    radial-gradient(circle at 12% 20%, rgba(232,104,91,.86), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(66,158,166,.8), transparent 30%),
    radial-gradient(circle at 72% 82%, rgba(108,80,155,.78), transparent 34%),
    linear-gradient(135deg, #e7ad58, #ce6872 38%, #577eaa 70%, #51917f);
  box-shadow: 0 18px 45px rgba(38,22,42,.2);
}
body.page-psycho {
  background:
    linear-gradient(rgba(8,25,70,.92), rgba(4,15,50,.96)),
    repeating-linear-gradient(90deg, #0f2a6a 0 2px, #091d4f 2px 7px);
  --page-accent: #e0bd83;
}
body.page-psycho .glass-card {
  background: rgba(20,50,120,.55);
  border-color: rgba(100,160,255,.28);
}
body.page-labyrinth {
  background: #0d2b6e;
}
body.page-labyrinth .content-with-image span,
body.page-labyrinth .content-with-image h2,
body.page-labyrinth .glass-card h3 {
  color: #f3d77b !important;
  text-shadow: 0 1px 5px rgba(3,18,26,.72);
}
body.page-labyrinth .content-with-image p,
body.page-labyrinth .glass-card li {
  color: #fff !important;
  text-shadow: 0 1px 5px rgba(3,18,26,.68);
}
body.page-labyrinth .glass-card {
  background: rgba(9,43,54,.3);
  border-color: rgba(243,215,123,.28);
  box-shadow: none;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
body.page-labyrinth .glass-card:hover {
  background: rgba(9,43,54,.42);
  border-color: rgba(243,215,123,.42);
  box-shadow: none;
}
body.page-labyrinth .labyrinth-gallery {
  width: min(1100px, calc(100% - 4rem));
  margin: 0 auto 4rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
body.page-labyrinth .labyrinth-gallery img {
  width: 100%;
  aspect-ratio: 47 / 30;
  object-fit: cover;
  display: block;
  border-radius: var(--radius);
  border: 1px solid rgba(243,215,123,.28);
  box-shadow: none;
}
@media (max-width: 768px) {
  body.page-labyrinth {
    background-attachment: scroll;
  }
  body.page-labyrinth .labyrinth-gallery {
    width: min(100% - 2rem, 700px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 2.5rem;
  }
}
@media (max-width: 480px) {
  body.page-labyrinth .labyrinth-gallery {
    grid-template-columns: 1fr;
  }
}
body.page-credentials {
  background-color: #557ca3;
  background-image:
    linear-gradient(rgba(31,61,91,.48), rgba(42,75,107,.62)),
    url('../img/bg/common2.jpg');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
  --page-accent: #f2e8f0;
}
body.page-credentials .page-hero {
  background: transparent;
  min-height: 100vh;
}
body.page-credentials .page-hero-bg { display: block; }
body.page-credentials .page-hero-bg::after {
  background: none;
}
body.page-credentials .credentials-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
body.page-credentials .credentials-grid .glass-card {
  padding: 1.5rem 1.65rem;
  text-align: left;
}
body.page-credentials .credentials-grid .card-icon {
  margin-bottom: .65rem;
}
body.page-credentials .credentials-grid .glass-card h3 {
  margin-bottom: .5rem;
  font-size: 1.25rem;
}
body.page-credentials .credential-list {
  gap: .45rem;
}
body.page-credentials .credential-list li {
  font-size: .88rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body.page-credentials .credentials-research {
  max-width: 900px;
  margin: 1.25rem auto 0;
  padding: 1.5rem 1.75rem;
  text-align: left;
}
@media (max-width: 768px) {
  body.page-credentials {
    background-attachment: scroll;
  }
}
body.page-publications {
  background-color: #7A5A38;
  background-image: url('../img/books.webp');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
  --page-accent: #f5e5b7;
}
body.page-publications .page-hero {
  background: transparent;
}
body.page-publications .page-hero-bg {
  display: none;
}
body.page-presentations {
  background:
    linear-gradient(rgba(10,42,52,.94), rgba(7,29,39,.96)),
    repeating-linear-gradient(135deg, #0f4653 0 2px, #092f3d 2px 8px);
  --page-accent: #f1d68a;
}
body.page-presentations .page-hero {
  background: transparent;
  padding-top: 8rem;
  padding-bottom: 8rem;
  min-height: 100vh;
}
body.page-presentations .page-hero-content {
  margin-left: 2rem;
  margin-right: auto;
}
body.page-presentations .page-hero-bg {
  display: block;
  background-size: cover;
  background-position: center center;
  filter: none;
}
body.page-presentations .page-hero-bg::after {
  background: linear-gradient(
    90deg,
    rgba(7,29,39,.78) 0%,
    rgba(10,52,62,.56) 55%,
    rgba(10,52,62,.32) 100%
  );
}
body.page-publications .pub-grid { align-items: stretch; }
body.page-publications .pub-card { height: 100%; }
body.page-publications .book-feature,
body.page-publications .pub-card {
  background: rgba(255,245,225,0.18);
  border-color: rgba(196,166,122,0.28);
  box-shadow: 0 8px 28px rgba(80,50,20,0.22), 0 2px 6px rgba(80,50,20,0.12);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body.page-publications .book-feature:hover,
body.page-publications .pub-card:hover {
  background: rgba(255,245,225,0.28);
  border-color: rgba(196,166,122,0.44);
  box-shadow: 0 14px 40px rgba(80,50,20,0.28), 0 4px 10px rgba(80,50,20,0.14);
}
body.page-publications .book-feature h3,
body.page-publications .book-feature p,
body.page-publications .book-feature .book-byline,
body.page-publications .pub-card p,
body.page-publications .pub-card .pub-year {
  color: #fff;
  text-shadow: 0 1px 5px rgba(60,30,10,0.55);
}
body.page-publications .pub-card h4,
body.page-publications .pub-card .pub-year {
  color: #f5e5b7;
}
body.page-contact {
  background-color: #c8e7e5;
  background-image: url('../img/bg/contactbg.jpg');
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  min-height: 100dvh;
  --page-accent: #2b8585;
}
body.page-contact .page-wrapper {
  min-height: calc(100dvh - 72px);
}
body.page-contact .page-hero {
  padding: 4rem 2rem;
  min-height: 100vh;
}
body.page-contact .page-hero-bg {
  background-image: url('../img/bg/contactbg.jpg');
}
body.page-contact .page-hero-bg::after {
  background: none;
}
body.page-contact .page-hero-content {
  max-width: 940px;
}
body.page-contact .page-hero-inner {
  gap: 0.35rem;
}
body.page-contact .page-hero h1,
body.page-contact .page-hero p,
body.page-contact .page-hero .eyebrow {
  text-shadow: none;
}
body.page-contact .page-hero h1 {
  color: #062f32;
}
body.page-contact .page-hero p {
  color: #103f42;
  font-size: 1.04rem;
  font-weight: 400;
  line-height: 1.65;
}
body.page-contact .page-hero .eyebrow {
  color: #075f62;
  font-weight: 600;
  letter-spacing: .22em;
}
body.page-contact .page-hero-inner .page-hero-img {
  width: clamp(280px, 26vw, 360px);
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  box-shadow: none;
  margin-top: 1.5rem;
}
body.page-contact .contact-actions .btn-outline {
  color: #075f62;
  border-color: rgba(7,95,98,.5);
}
body.page-contact .contact-actions .btn-outline:hover {
  color: #fff;
  background: #2b8585;
  border-color: #2b8585;
}
body.page-contact .glass-card {
  background: rgba(235,250,249,.88);
  border-color: rgba(28,107,107,.24);
  box-shadow: none;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
body.page-contact .footer {
  background: var(--footer-bg);
  min-height: 72px;
  padding: .65rem 1.5rem;
  display: flex;
  align-items: center;
}
body.page-contact .footer-inner {
  width: 100%;
  max-width: 1400px;
  flex-direction: row;
  justify-content: space-between;
  gap: 1.5rem;
}
body.page-contact .footer-links {
  display: none;
}
body.page-contact .footer-logo {
  flex-shrink: 0;
}
body.page-contact .footer-logo img {
  width: 27px;
  height: 27px;
}
body.page-contact .footer-copy {
  line-height: 1.35;
}
body.page-astro .footer {
  background: var(--footer-bg);
  min-height: 72px;
  padding: .65rem 1.5rem;
  display: flex;
  align-items: center;
}
body.page-astro .footer-inner {
  width: 100%;
  max-width: 1400px;
  flex-direction: row;
  justify-content: space-between;
  gap: 1.5rem;
}
body.page-astro .footer-links {
  display: none;
}
body.page-astro .footer-logo {
  flex-shrink: 0;
}
body.page-astro .footer-logo img {
  width: 27px;
  height: 27px;
}
body.page-astro .footer-copy {
  line-height: 1.35;
}
@media (max-width: 768px) {
  body.page-contact {
    background-attachment: scroll;
  }
  body.page-contact .page-hero {
    padding: 3rem 1.25rem;
  }
  body.page-contact .page-hero-inner {
    gap: 2rem;
  }
  body.page-contact .page-hero-inner .page-hero-img {
    width: min(78vw, 275px);
    height: auto;
    aspect-ratio: auto;
  }
  body.page-contact .contact-actions {
    justify-content: center;
  }
  body.page-contact .footer {
    min-height: 0;
    padding: 1rem;
  }
  body.page-contact .footer-inner {
    flex-direction: column;
    gap: .45rem;
  }
  body.page-contact .footer-logo {
    margin-bottom: .15rem;
  }
  body.page-astro .footer {
    min-height: 0;
    padding: 1rem;
  }
  body.page-astro .footer-inner {
    flex-direction: column;
    gap: .45rem;
  }
  body.page-astro .footer-logo {
    margin-bottom: .15rem;
  }
}
@media (max-height: 800px) and (min-width: 769px) {
  body.page-contact .page-hero {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }
  body.page-contact .page-hero-inner .page-hero-img {
    width: 290px;
  }
}
@media (max-width: 768px) {
  body.page-publications .book-feature { padding: 1.5rem; }
  body.page-presentations .event-card { padding: 1.5rem; }
  body.page-presentations .section { overflow-x: clip; }
}

/* ============================================================
   Contrast correction — imagery/dark fields vs light cards
   ============================================================ */
body.page-home .hero-text h1,
body.page-home .hero-text .eyebrow,
body.page-home .hero-credentials {
  color: #f3d36b;
  text-shadow: none;
}
body.page-home .hero-text > p {
  color: #fff;
  text-shadow: none;
}
body.page-home .hero-text .eyebrow::before { background: #f3d36b; }

body:not(.page-home):not(.page-contact) .page-hero h1,
body:not(.page-home):not(.page-contact) .page-hero p {
  color: #fff;
  text-shadow: 0 2px 10px rgba(13,17,32,.85);
}
body:not(.page-home):not(.page-contact) .page-hero .eyebrow,
body:not(.page-home):not(.page-contact) .page-hero .hero-credentials {
  color: #f4dfa4;
  text-shadow: 0 2px 8px rgba(13,17,32,.88);
}

body.page-astro .content-with-image h2,
body.page-astro .content-with-image p,
body.page-astro .content-with-image strong,
body.page-astro .content-with-image .subtitle,
body.page-psycho .content-with-image h2,
body.page-psycho .content-with-image p,
body.page-psycho .content-with-image strong,
body.page-labyrinth .content-with-image h2,
body.page-labyrinth .content-with-image p,
body.page-labyrinth .content-with-image .eyebrow {
  color: #f7f3ed;
  text-shadow: 0 1px 5px rgba(0,0,0,.35);
}

body.page-arttherapy .content-with-image h2,
body.page-arttherapy .content-with-image p,
body.page-arttherapy .content-with-image strong,
body.page-arttherapy .section-header h2,
body.page-arttherapy .section-header .eyebrow,
body.page-labyrinth > .page-wrapper > .section h2,
body.page-labyrinth > .page-wrapper > .section p {
  color: #172634;
  text-shadow: none;
}

body.page-pastlife .section-header h2,
body.page-pastlife .section-header .eyebrow,
body.page-pastlife .section > p {
  color: #172d40;
}

body.page-credentials .section > h2,
body.page-credentials .section-header h2,
body.page-publications .section-header h2,
body.page-publications .section-header .eyebrow,
body.page-presentations .section-header h2,
body.page-presentations .section-header .eyebrow,
body.page-contact .contact-page-wrap > h2 {
  color: #fff;
  text-shadow: 0 2px 8px rgba(25,28,48,.4);
}

body.page-credentials .glass-card,
body.page-presentations .event-card,
body.page-contact .contact-card,
body.page-contact .glass-card {
  color: #0a2828;
  background: rgba(225,248,248,0.86);
  border-color: rgba(43,133,133,0.22);
}
body.page-presentations .event-card,
body.page-presentations .event-card:hover,
body.page-presentations .event-card--featured {
  color: #fff;
  background: transparent;
  border-color: rgba(244, 217, 143, .38);
  box-shadow: 0 4px 16px rgba(34, 28, 48, .20);
}
body.page-presentations .event-card:hover {
  border-color: rgba(244, 217, 143, .62);
  box-shadow: 0 7px 22px rgba(34, 28, 48, .28);
}
body.page-credentials .glass-card h3,
body.page-credentials .glass-card p,
body.page-credentials .glass-card li,
body.page-contact .contact-card h3,
body.page-contact .contact-card p,
body.page-contact .contact-card a,
body.page-contact .glass-card h2,
body.page-contact .glass-card p {
  color: #0a2828;
  text-shadow: none;
}
body.page-presentations .page-hero h1,
body.page-presentations .page-hero .eyebrow,
body.page-presentations .section-header h2,
body.page-presentations .section-header .eyebrow,
body.page-presentations .event-card h3,
body.page-presentations .event-card strong {
  color: #f4d98f;
  text-shadow: none;
}
body.page-presentations .page-hero p,
body.page-presentations .event-card p,
body.page-presentations .event-card li {
  color: #fff;
  text-shadow: none;
}
body.page-presentations .event-date {
  color: #f8ead1;
  opacity: 1;
}
body.page-presentations .event-badge.past {
  color: #f4d98f;
  border-color: rgba(244, 217, 143, .48);
  background: rgba(58, 47, 78, .42);
}
body.page-presentations .event-badge.upcoming,
body.page-presentations .btn-primary {
  color: #3c334d;
  background: #f4d98f;
  border-color: #f4d98f;
}

body.page-psycho .glass-card h3,
body.page-psycho .glass-card p {
  color: #3d2414;
  text-shadow: none;
}

body.page-arttherapy .art-rainbow-section h2,
body.page-arttherapy .art-rainbow-section p {
  color: #201625 !important;
  text-shadow: 0 1px 2px rgba(255,255,255,.35);
}

body.page-arttherapy .page-hero-bg {
  background-position: center;
  filter: saturate(1.12) contrast(1.06);
}
body.page-arttherapy .page-hero-bg::after {
  background: linear-gradient(
    90deg,
    rgba(18,12,31,.94) 0%,
    rgba(35,20,48,.82) 48%,
    rgba(35,20,48,.52) 100%
  );
}
body.page-arttherapy .page-hero h1 {
  color: #fff;
  font-weight: 500;
  text-shadow: 0 3px 14px rgba(0,0,0,.95);
}
body.page-arttherapy .page-hero p {
  color: #fff7fa;
  font-weight: 400;
  text-shadow: 0 2px 9px rgba(0,0,0,.95);
}
body.page-arttherapy .page-hero .eyebrow {
  color: #ffd98a;
  font-weight: 600;
  text-shadow: 0 2px 8px rgba(0,0,0,.95);
}

body.page-labyrinth .page-hero {
  min-height: 100vh;
}
body.page-labyrinth .page-hero-bg {
  background-position: center 42%;
  filter: none;
}
body.page-labyrinth .page-hero-bg::after {
  background: linear-gradient(
    90deg,
    rgba(5,28,36,.72) 0%,
    rgba(8,43,50,.48) 55%,
    rgba(8,43,50,.28) 100%
  );
}
body.page-labyrinth .page-hero h1 {
  color: #fff;
  font-weight: 500;
  text-shadow: 0 3px 14px rgba(0,0,0,.95);
}
body.page-labyrinth .page-hero p {
  color: #f7fbfb;
  font-weight: 400;
  text-shadow: 0 2px 10px rgba(0,0,0,.95);
}
body.page-labyrinth .page-hero .eyebrow {
  color: #e8c86b;
  font-weight: 600;
  text-shadow: 0 2px 8px rgba(0,0,0,.95);
}
body.page-labyrinth .page-hero-img {
  object-fit: contain;
  background: rgba(4,18,27,.72);
  border-color: rgba(232,200,107,.55);
}

/* Psychoanalyst hero: full artwork, no inset image or shading */
body.page-psycho .page-hero {
  min-height: 100vh;
  display: flex;
  align-items: flex-start;
  padding-top: 3rem;
}
body.page-psycho .page-hero-bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  filter: none;
}
body.page-psycho .page-hero-bg::after {
  background: none;
}
body.page-psycho .page-hero-inner {
  display: block;
}
body.page-psycho .page-hero-content {
  width: 100%;
  max-width: none;
}
body.page-psycho .page-hero-text {
  max-width: 520px;
  margin: 0;
  text-align: left;
}
body.page-psycho .page-hero h1,
body.page-psycho .page-hero p,
body.page-psycho .page-hero .eyebrow,
body.page-psycho .page-hero .hero-credentials {
  text-shadow: none;
}
body.page-psycho .page-hero h1 {
  color: #3f2415;
}
body.page-psycho .page-hero p {
  color: #4a2d1b;
}
body.page-psycho .page-hero .eyebrow,
body.page-psycho .page-hero .hero-credentials {
  color: #f1cf68 !important;
}
body.page-psycho .psycho-external-links a {
  color: #f1cf68;
}
body.page-psycho .psycho-external-links a:hover {
  color: #ffe79a;
}
@media (max-width: 768px) {
  body.page-psycho .page-hero {
    min-height: 0;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  body.page-psycho .page-hero-bg {
    background-size: cover;
  }
  body.page-psycho .page-hero-text {
    margin: 0 auto;
    text-align: center;
  }
}

/* Past Life page: retain dark blue typography over the pale artwork */
body.page-pastlife.page-pastlife .page-hero h1 {
  color: #062f32;
  text-shadow: none;
}
body.page-pastlife.page-pastlife .page-hero p {
  color: #103f42;
  font-size: 1.04rem;
  font-weight: 400;
  line-height: 1.65;
  text-shadow: none;
}
body.page-pastlife.page-pastlife .page-hero .eyebrow {
  color: #075f62;
  font-weight: 600;
  letter-spacing: .22em;
  text-shadow: none;
}
body.page-pastlife .glass-card h3 {
  color: #18344a;
}
body.page-pastlife .glass-card p,
body.page-pastlife .glass-card strong {
  color: #20394c;
  text-shadow: none;
}

/* Art Therapist body contrast over the full-page artwork */
body.page-arttherapy.page-arttherapy .content-with-image p,
body.page-arttherapy.page-arttherapy .content-with-image strong,
body.page-arttherapy.page-arttherapy .services-grid .glass-card p {
  color: #fff;
  text-shadow: 0 1px 5px rgba(22,28,40,.58);
}
body.page-arttherapy.page-arttherapy .content-with-image span,
body.page-arttherapy.page-arttherapy .section-header .eyebrow,
body.page-arttherapy.page-arttherapy .section-header h2,
body.page-arttherapy.page-arttherapy .services-grid .glass-card h3,
body.page-arttherapy.page-arttherapy .services-grid .card-icon {
  color: #4B679D !important;
  text-shadow: 0 1px 5px rgba(22,28,40,.62);
}

/* Labyrinth/Mandalas body contrast over the full-page mandala artwork */
body.page-labyrinth.page-labyrinth .content-with-image span,
body.page-labyrinth.page-labyrinth .content-with-image h2,
body.page-labyrinth.page-labyrinth .glass-card h3 {
  color: #f3d77b !important;
  text-shadow: 0 1px 5px rgba(3,18,26,.72);
}
body.page-labyrinth.page-labyrinth .content-with-image p,
body.page-labyrinth.page-labyrinth .glass-card li {
  color: #fff !important;
  text-shadow: 0 1px 5px rgba(3,18,26,.68);
}

/* Credentials: compact transparent 2×2 cards over the blue artwork */
body.page-credentials.page-credentials .glass-card {
  color: #fff;
  background: rgba(225,238,248,.2);
  border-color: rgba(220,235,248,.3);
  box-shadow: none;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
body.page-credentials.page-credentials .glass-card:hover {
  background: rgba(225,238,248,.3);
  border-color: rgba(242,216,134,.42);
  box-shadow: none;
}
body.page-credentials.page-credentials .glass-card h3,
body.page-credentials.page-credentials .glass-card .card-icon {
  color: #f2d886;
  text-shadow: 0 1px 4px rgba(20,42,64,.58);
}
body.page-credentials.page-credentials .glass-card p,
body.page-credentials.page-credentials .glass-card li,
body.page-credentials.page-credentials .glass-card strong {
  color: #fff;
  text-shadow: 0 1px 4px rgba(20,42,64,.5);
}
body.page-credentials.page-credentials .glass-card a {
  color: #ffe49a;
}


/* Client revision: homepage CTA, mobile readability, publication covers */
.section-cta {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
body.page-home .section-full {
  padding-top: 3rem;
}
.pub-cover {
  display: block;
  width: min(100%, 180px);
  max-height: 240px;
  object-fit: contain;
  margin: 0 auto 1rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.3);
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
  background: rgba(255,255,255,.08);
}
@media (max-width: 900px) {
  body.page-credentials .credentials-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
  .hero {
    min-height: auto;
    padding: 6.5rem 1.25rem 3rem;
  }
  .hero-content {
    gap: 2rem;
  }
  .hero-text h1 {
    font-size: clamp(2.65rem, 16vw, 4.4rem);
    line-height: .95;
  }
  .hero-text p {
    font-size: 1rem;
    margin-bottom: 1.4rem;
  }
  .event-banner {
    align-items: stretch;
    padding: 1.25rem;
  }
  .event-banner .btn {
    align-self: flex-start;
    white-space: normal !important;
  }
  body.page-home .section-full {
    padding-top: 2.75rem;
  }
  .section-header {
    margin-bottom: 2rem;
  }
  .services-grid {
    gap: 1rem;
  }
  .glass-card,
  body.page-credentials .credentials-grid .glass-card {
    padding: 1.35rem;
  }
  body.page-credentials .credential-list li {
    font-size: .95rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }
  body.page-arttherapy .content-with-image {
    padding-top: 3rem !important;
  }
  body.page-arttherapy .services-grid {
    grid-template-columns: 1fr;
  }
  .pub-grid {
    grid-template-columns: 1fr;
  }
  .pub-card {
    padding: 1.35rem;
  }
}
@media (max-width: 420px) {
  .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .section-cta {
    margin-top: 1.5rem;
  }
  .pub-cover {
    width: min(100%, 155px);
    max-height: 215px;
  }
}

/* Client revision: Art Therapy abstract title-bar treatment */
body.page-arttherapy {
  background-color: #d9e6eb;
  background-image: none;
}
body.page-arttherapy .page-hero {
  background-image: linear-gradient(rgba(13,24,35,.42), rgba(13,24,35,.58)), url("../img/abstract for art therapy page.jpg");
  background-size: cover;
  background-position: center 42%;
  background-repeat: no-repeat;
}
body.page-arttherapy .page-hero h1,
body.page-arttherapy .page-hero p,
body.page-arttherapy .page-hero .eyebrow {
  color: #fffdf7;
  text-shadow: 0 2px 10px rgba(0,0,0,.75);
}
body.page-arttherapy .content-with-image p,
body.page-arttherapy .content-with-image strong,
body.page-arttherapy .content-with-image span,
body.page-arttherapy .section-header h2,
body.page-arttherapy .section-header .eyebrow {
  color: #172634 !important;
  text-shadow: none !important;
}
body.page-arttherapy .services-grid .glass-card {
  background: rgba(255,255,255,.78);
  border-color: rgba(28,70,86,.22);
}
body.page-arttherapy .services-grid .glass-card h3,
body.page-arttherapy .services-grid .card-icon {
  color: #4B679D !important;
  text-shadow: none !important;
}
body.page-arttherapy .services-grid .glass-card p {
  color: #21313a !important;
  text-shadow: none !important;
}

/* Client revision: hns1 Art Therapy full-page treatment copied from hns2 */
body.page-arttherapy {
  background-color: #21323a;
  background-image: linear-gradient(rgba(12,24,31,.24), rgba(12,24,31,.42)), url("../img/abstract-arttherapy-bg.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
body.page-arttherapy .page-hero {
  background: transparent;
}
body.page-arttherapy .page-hero h1,
body.page-arttherapy .page-hero p,
body.page-arttherapy .page-hero .eyebrow {
  color: #fffdf7;
  text-shadow: 0 2px 10px rgba(0,0,0,.78);
}
body.page-arttherapy .content-with-image {
  background: rgba(255,255,255,.42);
  border-radius: 12px;
  margin-top: 3rem;
  margin-bottom: 2rem;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
body.page-arttherapy .content-with-image p,
body.page-arttherapy .content-with-image strong,
body.page-arttherapy .content-with-image span {
  color: #172634 !important;
  text-shadow: none !important;
}
body.page-arttherapy .section {
  background: rgba(18,35,44,.14);
}
body.page-arttherapy .section-header h2,
body.page-arttherapy .section-header .eyebrow {
  color: #4B679D !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.65);
}
body.page-arttherapy .services-grid .glass-card {
  background: rgba(255,255,255,.34);
  border-color: rgba(255,255,255,.36);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  box-shadow: 0 6px 20px rgba(15,30,38,.12);
}
body.page-arttherapy .services-grid .glass-card:hover {
  background: rgba(255,255,255,.48);
  border-color: rgba(255,255,255,.52);
}
body.page-arttherapy .services-grid .glass-card h3,
body.page-arttherapy .services-grid .card-icon {
  color: #4B679D !important;
  text-shadow: none !important;
}
body.page-arttherapy .services-grid .glass-card p {
  color: #20313a !important;
  text-shadow: none !important;
}
@media (max-width: 768px) {
  body.page-arttherapy {
    background-attachment: scroll;
  }
  body.page-arttherapy .content-with-image {
    margin: 1.5rem 1rem;
  }
}

/* Client revision: readable presentation links and full publication covers */
body.page-presentations .event-card a:not(.btn),
body.page-presentations .event-card a:not(.btn):visited {
  color: #b9e7ff;
  text-decoration-color: rgba(185,231,255,.7);
  font-weight: 700;
}
body.page-presentations .event-card a:not(.btn):hover,
body.page-presentations .event-card a:not(.btn):focus {
  color: #e5f7ff;
  text-decoration-color: #e5f7ff;
}
body.page-publications .pub-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
body.page-publications .pub-cover {
  width: min(100%, 220px);
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  align-self: center;
  margin: 0 auto 1.25rem;
  background: transparent;
}
@media (max-width: 768px) {
  body.page-publications .pub-cover {
    width: min(100%, 190px);
  }
}

/* Client revision: readable publication links */
body.page-publications .pub-card a,
body.page-publications .pub-card a:visited,
body.page-publications .book-feature a:not(.btn),
body.page-publications .book-feature a:not(.btn):visited {
  color: #b9e7ff;
  text-decoration-color: rgba(185,231,255,.7);
  font-weight: 700;
}
body.page-publications .pub-card a:hover,
body.page-publications .pub-card a:focus,
body.page-publications .book-feature a:not(.btn):hover,
body.page-publications .book-feature a:not(.btn):focus {
  color: #e5f7ff;
  text-decoration-color: #e5f7ff;
}

/* Client revision: paired mandala images */
body.page-labyrinth .mandala-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: center;
  justify-items: center;
  margin: 1.5rem 0 2rem;
}
body.page-labyrinth .mandala-pair img {
  width: min(100%, 260px);
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 8px;
  opacity: .94;
  background: rgba(255,255,255,.08);
}
@media (max-width: 560px) {
  body.page-labyrinth .mandala-pair {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  body.page-labyrinth .mandala-pair img {
    width: min(100%, 240px);
  }
}

/* Client revision: mandala pair contrast treatment */
body.page-labyrinth .mandala-pair {
  gap: 1.5rem;
}
body.page-labyrinth .mandala-pair img {
  background: radial-gradient(circle at center, rgba(20,18,28,.42) 0%, rgba(20,18,28,.22) 58%, rgba(20,18,28,0) 74%);
  box-shadow: 0 14px 34px rgba(8,12,18,.34), 0 0 28px rgba(212,175,55,.16);
  filter: drop-shadow(0 8px 16px rgba(0,0,0,.32));
  padding: .55rem;
  opacity: .98;
}

/* Client revision: credentials linear text wrapping */
body.page-credentials .credential-list li {
  display: grid;
  grid-template-columns: 0.9rem minmax(0, 1fr);
  column-gap: 0.6rem;
  align-items: start;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
body.page-credentials .credential-list li::before {
  grid-column: 1;
  margin-top: 0.38rem;
}
body.page-credentials .credential-list li > *,
body.page-credentials .credential-list li a {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
body.page-credentials .credential-list li a {
  white-space: normal;
  text-decoration-thickness: 1px;
}
@media (max-width: 768px) {
  body.page-credentials .credentials-grid .glass-card {
    padding: 1.25rem;
  }
  body.page-credentials .credential-list li {
    grid-template-columns: 0.75rem minmax(0, 1fr);
    column-gap: 0.5rem;
    font-size: 0.92rem;
  }
}

/* Client revision: credentials readable stacked list override */
body.page-credentials .credential-list li {
  display: block;
  position: relative;
  padding-left: 1.2rem;
  column-gap: 0;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}
body.page-credentials .credential-list li::before {
  position: absolute;
  left: 0;
  top: 0.45em;
  margin-top: 0;
}
body.page-credentials .credential-list li a {
  display: inline;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 768px) {
  body.page-credentials .credential-list li {
    display: block;
    padding-left: 1rem;
    font-size: 0.92rem;
    line-height: 1.55;
  }
}

/* ============================================================
   ASSET-BASED BACKGROUNDS + CONTRAST FIXES  (override v3)
   Color palette sourced from original claudiabader.com/ser.css
   ============================================================ */

/* ── NAV: deep navy blue — readable on any background ── */
.nav {
  height: 54px !important;
  min-height: 54px !important;
  background: rgba(0,35,100,0.90) !important;
  border-bottom: none !important;
  box-shadow: none !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}
.nav.scrolled {
  background: rgba(0,25,80,0.97) !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
.nav-mobile {
  top: 54px !important;
  background: rgba(0,20,70,0.97) !important;
}
.nav-links a           { color: rgba(255,255,255,0.88) !important; }
.nav-links a:hover,
.nav-links a.active    { color: #ffffff !important; background: rgba(255,255,255,0.14) !important; }
.nav-logo-text         { color: #ffffff !important; }
.nav-toggle span       { background: #ffffff !important; }

/* ── FOOTER: match nav navy ── */
.footer { background: #002260 !important; }

/* ── BODY BACKGROUNDS — each page's asset ── */
body.page-home {
  background-color: #1a1a2e !important;
  background-image: url('../assets/home-background.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
}
body.page-arttherapy {
  background-color: #1a1a2e !important;
  background-image: url('../assets/ARTTHERAPY.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
}
body.page-credentials {
  background-color: #1a1a2e !important;
  background-image: url('../assets/bio.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
}
body.page-astro {
  background-color: #1a1a2e !important;
  background-image: url('../assets/front.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
}
body.page-psycho {
  background-color: #1a1a2e !important;
  background-image: url('../assets/PSYCHO.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
}
body.page-presentations {
  background-color: #1a1a2e !important;
  background-image: url('../img/shutterstock_2476859599.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
}
body.page-pastlife,
body.page-labyrinth,
body.page-publications,
body.page-contact {
  background-color: #1a1a2e !important;
  background-image: url('../assets/newbg.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
}

/* ── Suppress old bg divs — body handles the background ── */
.page-hero-bg  { display: none !important; }
.hero-bg       { display: none !important; }
.page-hero     { background: transparent !important; }
.hero          { background: transparent !important; }

/* ── PAGE-HERO: dark gradient overlay for text readability ── */
.page-hero {
  position: relative;
  box-shadow: none !important;
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0,20,60,0.80) 0%,
    rgba(0,20,60,0.52) 60%,
    rgba(0,20,60,0.18) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.page-hero-content { position: relative; z-index: 2; }

/* HOME hero overlay */
.hero { position: relative; }
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,20,60,0.48);
  z-index: 1;
  pointer-events: none;
}
.hero-content  { position: relative; z-index: 2; }

/* ── PAGE-HERO text — white on overlay ── */
.page-hero h1,
.page-hero .eyebrow,
.page-hero .hero-credentials {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.60) !important;
}
.page-hero p {
  color: rgba(245,248,250,0.92) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.52) !important;
}
/* Home hero text */
.hero-text h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.55) !important;
}
.hero-text p {
  color: rgba(245,248,250,0.88) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.45) !important;
}
.hero-text .eyebrow,
.hero-credentials {
  color: var(--gold-light) !important;
  text-shadow: 0 1px 5px rgba(0,0,0,0.48) !important;
}

/* ── GLASS CARDS: dark panel — consistent across all pages ── */
.glass-card {
  background: rgba(0,20,60,0.72) !important;
  border: 1px solid rgba(201,162,39,0.28) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  box-shadow: none !important;
}
.glass-card:hover {
  background: rgba(0,15,50,0.88) !important;
  border-color: rgba(201,162,39,0.45) !important;
  box-shadow: none !important;
}
.glass-card h3,
.glass-card .card-icon   { color: var(--gold-light) !important; }
.glass-card p,
.glass-card li            { color: rgba(245,248,250,0.88) !important; text-shadow: none !important; }

/* ── SECTION / CONTENT areas ── */
.section,
.section-full,
.credentials-grid,
.pub-grid,
.about-grid {
  background: transparent !important;
}
.section h2,
.section h3,
.section-header h2 {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.55) !important;
}
.section p,
.section li {
  color: rgba(245,248,250,0.86) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.40) !important;
}
.section .eyebrow,
.section-header .eyebrow { color: var(--gold-light) !important; }
.about-text h2,
.about-text .subtitle     { color: #ffffff !important; text-shadow: 0 2px 8px rgba(0,0,0,0.55) !important; }
.about-text p              { color: rgba(245,248,250,0.88) !important; text-shadow: 0 1px 4px rgba(0,0,0,0.40) !important; }

/* ── LABYRINTH: content-with-image needs dark panel ──
   newbg.jpg is light so we wrap content blocks in dark overlay */
body.page-labyrinth .content-with-image {
  background: rgba(0,20,60,0.68) !important;
  border-radius: 16px !important;
  padding: 2.5rem !important;
  margin-bottom: 2rem !important;
}
body.page-labyrinth .content-with-image h2,
body.page-labyrinth .content-with-image p,
body.page-labyrinth .content-with-image span {
  color: rgba(245,248,250,0.92) !important;
  text-shadow: 0 1px 5px rgba(0,0,0,0.50) !important;
}
/* Make the "How to Create Your Own Mandala" glass-card
   visually consistent — lighter inset within the dark panel */
body.page-labyrinth .content-with-image .glass-card {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(201,162,39,0.30) !important;
  box-shadow: none !important;
}

/* ── ASTROLOGER: no shadow on title bar ── */
body.page-astro .page-hero    { box-shadow: none !important; }
body.page-astro .page-hero h1 { text-shadow: none !important; }
body.page-astro .page-hero-inner .page-hero-img { box-shadow: none !important; }

/* ── CREDENTIALS: no shadow, content spaced from top bar ── */
body.page-credentials .page-hero { box-shadow: none !important; }
body.page-credentials .section   { padding-top: 3rem !important; }
body.page-credentials .glass-card { box-shadow: none !important; }

/* ── CONTACT: no shadows, text colors adjusted ── */
body.page-contact .page-hero     { box-shadow: none !important; }
body.page-contact .page-hero-inner .page-hero-img { box-shadow: none !important; }
body.page-contact .page-hero h1  { color: #ffffff !important; text-shadow: 0 2px 8px rgba(0,0,0,0.60) !important; }
body.page-contact .page-hero p   { color: rgba(245,248,250,0.92) !important; text-shadow: 0 1px 6px rgba(0,0,0,0.50) !important; }
body.page-contact .page-hero .eyebrow { color: var(--gold-light) !important; }
body.page-contact .glass-card    { box-shadow: none !important; }
body.page-contact .page-hero-bg  { display: none !important; }

/* ── EVENT BANNER ── */
.event-banner {
  background: rgba(0,20,60,0.72) !important;
  border-color: rgba(201,162,39,0.28) !important;
  backdrop-filter: blur(5px) !important;
  box-shadow: none !important;
}
.event-banner h3,
.event-banner p  { color: rgba(245,248,250,0.90) !important; }
.event-banner a  { color: var(--gold-light) !important; }

/* ── PRESENTATIONS: event-card over shutterstock image ── */
body.page-presentations .event-card {
  background: rgba(0,20,60,0.72) !important;
  border-color: rgba(201,162,39,0.30) !important;
  backdrop-filter: blur(5px) !important;
}
body.page-presentations .event-card h3,
body.page-presentations .event-card p,
body.page-presentations .event-card .event-date,
body.page-presentations .event-card .event-location { color: rgba(245,248,250,0.90) !important; }
body.page-presentations .event-badge.past { background: rgba(201,162,39,0.18) !important; color: var(--gold-light) !important; }
body.page-presentations .section h2,
body.page-presentations .section h3 { color: #ffffff !important; }

/* ── TESTIMONIAL ── */
.testimonial-section {
  background: rgba(0,20,60,0.55) !important;
}
.testimonial-block blockquote,
.testimonial-source { color: rgba(245,248,250,0.90) !important; }

/* ── BUTTONS ── */
.btn-primary {
  background: #dd3154 !important;
  border-color: #dd3154 !important;
  color: #fff !important;
}
.btn-primary:hover {
  background: #c42845 !important;
  border-color: #c42845 !important;
  box-shadow: none !important;
}
.btn-outline {
  border-color: rgba(255,255,255,0.52) !important;
  color: #fff !important;
}
.btn-outline:hover {
  background: rgba(255,255,255,0.14) !important;
  box-shadow: none !important;
}

/* ── PRESENTATIONS: use optimised web image, not 18MB original ── */
body.page-presentations {
  background-image: url('../img/shutterstock_2476859599-web.jpg') !important;
}

/* ── PRESENTATIONS: event-card li text coverage ── */
body.page-presentations .event-card ul li {
  color: rgba(245,248,250,0.86) !important;
}
body.page-presentations .event-card ul li::before {
  color: var(--gold-light) !important;
}

/* ============================================================
   DEMO HEADER REFINEMENT — compact, no shadow, image-matched color
   ============================================================ */
:root {
  --nav-bg: rgba(10,76,92,0.94);
  --nav-bg-scroll: rgba(7,58,74,0.98);
  --footer-bg: #073a4a;
}

body {
  background-color: #174f67 !important;
}

.page-wrapper {
  margin-top: 52px !important;
  min-height: calc(100vh - 52px) !important;
}

.nav {
  height: 52px !important;
  min-height: 52px !important;
  background: var(--nav-bg) !important;
  border-bottom: 1px solid rgba(205,232,232,0.18) !important;
  box-shadow: none !important;
}
.nav.scrolled {
  background: var(--nav-bg-scroll) !important;
  border-bottom-color: rgba(205,232,232,0.22) !important;
  box-shadow: none !important;
}
.nav-mobile {
  top: 52px !important;
  background: var(--nav-bg-scroll) !important;
  box-shadow: none !important;
}
.nav-logo img {
  height: 34px !important;
  width: 34px !important;
}
.nav-logo-text {
  font-size: 1rem !important;
}
.nav-logo-text span {
  color: #e8c040 !important;
}
.nav-links a {
  min-height: 38px !important;
  color: rgba(255,255,255,0.92) !important;
}

.hero {
  min-height: calc(100vh - 52px) !important;
  padding: 5.75rem 2rem 3rem !important;
}
.page-hero {
  min-height: 0 !important;
  padding: 5.5rem 2rem 2.75rem !important;
  box-shadow: none !important;
}
body.page-contact .page-hero,
body.page-presentations .page-hero,
body.page-credentials .page-hero {
  min-height: 0 !important;
  padding: 5.5rem 2rem 2.75rem !important;
}

.page-hero::before {
  background: linear-gradient(
    90deg,
    rgba(7,58,74,0.76) 0%,
    rgba(10,76,92,0.46) 58%,
    rgba(10,76,92,0.18) 100%
  ) !important;
}
.hero::before {
  background: rgba(7,58,74,0.42) !important;
}

.page-hero h1,
.page-hero p,
.page-hero .eyebrow,
.page-hero .hero-credentials,
.hero-text h1,
.hero-text p,
.hero-text .eyebrow,
.hero-credentials {
  text-shadow: none !important;
}
.page-hero h1,
.hero-text h1 {
  color: #ffffff !important;
}
.page-hero p,
.hero-text p {
  color: rgba(247,252,252,0.94) !important;
}
.page-hero .eyebrow,
.page-hero .hero-credentials,
.hero-text .eyebrow,
.hero-credentials {
  color: #f0d36b !important;
}

body.page-home,
body.page-arttherapy,
body.page-credentials,
body.page-astro,
body.page-psycho,
body.page-presentations,
body.page-pastlife,
body.page-labyrinth,
body.page-publications,
body.page-contact {
  background-color: #174f67 !important;
}

.footer {
  background: var(--footer-bg) !important;
}

@media (max-width: 768px) {
  .page-wrapper {
    margin-top: 52px !important;
  }
  .hero {
    min-height: auto !important;
    padding: 5rem 1.25rem 2.5rem !important;
  }
  .page-hero,
  body.page-contact .page-hero,
  body.page-presentations .page-hero,
  body.page-credentials .page-hero {
    padding: 4.75rem 1.25rem 2.25rem !important;
  }
}

/* ============================================================
   HOME READABILITY + FOOTER SHADOW REMOVAL
   ============================================================ */
.footer,
body.page-contact .footer,
body.page-astro .footer {
  border-top: 0 !important;
  box-shadow: none !important;
}

body.page-home .about-text {
  background: rgba(7,58,74,0.66) !important;
  border: 1px solid rgba(240,211,107,0.24) !important;
  border-radius: 12px !important;
  padding: 2rem !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  box-shadow: none !important;
}
body.page-home .about-text p {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
body.page-home .about-text strong {
  color: #f0d36b !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

/* ============================================================
   HOME TEXT BOX UNIFICATION
   ============================================================ */
body.page-home {
  --home-panel-bg: rgba(7,58,74,0.46);
  --home-panel-border: rgba(240,211,107,0.20);
  --home-panel-shadow: 0 4px 12px rgba(4,22,30,0.14);
}

body.page-home .about-text,
body.page-home .event-banner,
body.page-home .services-grid .glass-card,
body.page-home .testimonial-section {
  background: var(--home-panel-bg) !important;
  border-color: var(--home-panel-border) !important;
  box-shadow: var(--home-panel-shadow) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
}

body.page-home .services-grid .glass-card:hover {
  background: rgba(7,58,74,0.54) !important;
  border-color: rgba(240,211,107,0.28) !important;
  box-shadow: var(--home-panel-shadow) !important;
}

body.page-home .hero-text h1,
body.page-home .hero-text .eyebrow,
body.page-home .hero-credentials,
body.page-home .section-header h2,
body.page-home .section-header .eyebrow,
body.page-home .event-banner-content h3,
body.page-home .services-grid .glass-card h3,
body.page-home .testimonial-source {
  font-weight: 700 !important;
  text-shadow: none !important;
}

body.page-home .section h2,
body.page-home .section h3,
body.page-home .section-header h2,
body.page-home .about-text h2,
body.page-home .about-text .subtitle {
  text-shadow: none !important;
}

body.page-home .event-banner-content p,
body.page-home .services-grid .glass-card p,
body.page-home .testimonial-block blockquote {
  font-weight: 700 !important;
  text-shadow: none !important;
}

body.page-home .about-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  gap: 0 !important;
}

/* ============================================================
   HOME SPACING + LIGHT SMOKE SHADOW
   ============================================================ */
body.page-home {
  --home-panel-bg: rgba(7,58,74,0.34);
  --home-panel-shadow: 0 3px 12px rgba(245,248,250,0.10);
}

body.page-home .event-banner {
  margin-bottom: 0 !important;
}

body.page-home section.section[aria-label="About Claudia Bader"] {
  padding-top: 2rem !important;
  padding-bottom: 3rem !important;
}

body.page-home .section-full {
  padding-top: 3.5rem !important;
}

body.page-home h1,
body.page-home h2,
body.page-home h3,
body.page-home .eyebrow,
body.page-home .hero-credentials,
body.page-home .section-header h2,
body.page-home .section-header .eyebrow,
body.page-home .event-banner-content h3,
body.page-home .services-grid .glass-card h3,
body.page-home .testimonial-source {
  font-weight: 700 !important;
  text-shadow: none !important;
}

body.page-home .about-text,
body.page-home .event-banner,
body.page-home .services-grid .glass-card,
body.page-home .testimonial-section {
  box-shadow: var(--home-panel-shadow) !important;
}

/* ============================================================
   HOME HERO + CTA FINAL POLISH
   ============================================================ */
body.page-home .hero::before {
  background: rgba(7,58,74,0.18) !important;
}

body.page-home .hero-text,
body.page-home .hero-text *,
body.page-home .hero-text h1,
body.page-home .hero-text p,
body.page-home .hero-text .eyebrow,
body.page-home .hero-credentials {
  filter: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

body.page-home .hero-text h1,
body.page-home .hero-text .eyebrow,
body.page-home .hero-credentials {
  font-weight: 700 !important;
}

body.page-home .section-cta {
  margin-top: 1.25rem !important;
}

body.page-home .btn-primary {
  background: rgba(7,58,74,0.72) !important;
  border-color: rgba(240,211,107,0.58) !important;
  color: #f0d36b !important;
  box-shadow: 0 3px 12px rgba(245,248,250,0.10) !important;
}
body.page-home .btn-primary:hover,
body.page-home .btn-primary:focus {
  background: rgba(10,76,92,0.84) !important;
  border-color: rgba(240,211,107,0.78) !important;
  color: #fff6c8 !important;
  box-shadow: 0 4px 14px rgba(245,248,250,0.12) !important;
}

.home-symbol-divider {
  width: min(760px, calc(100% - 2.5rem));
  margin: 1.5rem auto 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #f0d36b;
}
.home-symbol-divider::before,
.home-symbol-divider::after {
  content: '';
  height: 2px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(240,211,107,0.92), transparent);
}
.home-symbol-divider span {
  width: 0.78rem;
  height: 0.78rem;
  border: 2px solid rgba(240,211,107,0.96);
  transform: rotate(45deg);
  background: rgba(240,211,107,0.34);
  box-shadow: 0 0 14px rgba(240,211,107,0.28);
}

body.page-home .testimonial-section {
  margin-top: 0 !important;
}

/* ============================================================
   TITLE BAR SHADOW REMOVAL + HOME HERO EMPHASIS
   ============================================================ */
body.page-home .hero .hero-text .eyebrow {
  color: #f0d36b !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

body.page-home .hero .hero-text .hero-credentials {
  color: #f0d36b !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

body.page-home .hero .hero-text > p:not(.eyebrow):not(.hero-credentials) {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

body .page-hero,
body .hero {
  box-shadow: none !important;
}

body .page-hero h1,
body .page-hero p,
body .page-hero .eyebrow,
body .page-hero .hero-credentials,
body .page-hero-text,
body .page-hero-text *,
body.page-home .hero h1,
body.page-home .hero p,
body.page-home .hero .eyebrow,
body.page-home .hero .hero-credentials,
body.page-home .hero-text,
body.page-home .hero-text * {
  text-shadow: none !important;
  filter: none !important;
}

/* Publications — same background as Presentations */
body.page-publications {
  background-image: url('../img/shutterstock_2476859599-web.jpg') !important;
}

/* ============================================================
   FINAL TITLE BAR SHADOW KILL SWITCH
   ============================================================ */
header.page-hero,
section.hero {
  box-shadow: none !important;
  filter: none !important;
}

header.page-hero::before,
header.page-hero::after,
section.hero::before,
section.hero::after {
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

header.page-hero *,
section.hero *,
.page-hero-content,
.page-hero-content *,
.page-hero-text,
.page-hero-text *,
.hero-content,
.hero-content *,
.hero-text,
.hero-text * {
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* ── ASTROLOGER: reduced opacity on all text boxes ── */
body.page-astro .glass-card {
  background: rgba(0,20,60,0.35) !important;
  border-color: rgba(201,162,39,0.22) !important;
}
body.page-astro .glass-card:hover {
  background: rgba(0,20,60,0.50) !important;
}
body.page-astro .testimonial-section {
  background: rgba(0,20,60,0.25) !important;
}
body.page-astro .content-with-image {
  background: rgba(0,20,60,0.20) !important;
  border-radius: 14px !important;
  padding: 2rem !important;
}

/* ============================================================
   ABSOLUTE FINAL HOME POLISH
   ============================================================ */
body.page-home .hero,
body.page-home .hero *,
body.page-home .hero-content,
body.page-home .hero-content *,
body.page-home .hero-text,
body.page-home .hero-text *,
body.page-home .hero-portrait,
body.page-home .hero-portrait *,
body.page-home .hero-portrait-frame,
body.page-home .hero-portrait-frame img {
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.page-home .hero::before,
body.page-home .hero::after,
body.page-home .hero-bg,
body.page-home .hero-bg::before,
body.page-home .hero-bg::after {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.page-home .hero-portrait-frame {
  border-color: rgba(240,211,107,0.42) !important;
}

body.page-home .section-header .eyebrow {
  color: #f0d36b !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
  text-shadow: none !important;
}

body.page-home .section-header h2 {
  color: #ffffff !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

body.page-home .section-header p {
  color: #ffffff !important;
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  max-width: 760px !important;
  text-shadow: none !important;
}

/* Absolute EOF nav/footer unification */
.nav,
.nav.scrolled,
.footer,
body.page-contact .footer,
body.page-astro .footer {
  background: rgba(7,58,74,0.98) !important;
  border-color: rgba(205,232,232,0.18) !important;
  box-shadow: none !important;
}

.nav-mobile {
  background: rgba(7,58,74,0.98) !important;
  border-color: rgba(205,232,232,0.18) !important;
  box-shadow: none !important;
}

.nav-links a,
.nav-mobile a,
.footer-links a,
.footer-logo-name,
.footer-copy,
.footer-copy a {
  color: rgba(255,255,255,0.88) !important;
}

.nav-links a:hover,
.nav-links a.active,
.nav-mobile a:hover,
.footer-links a:hover,
.footer-copy a:hover {
  color: #f0d36b !important;
}

.nav-links a.active {
  background: rgba(240,211,107,0.14) !important;
}

.nav-links .btn.btn-outline {
  border-color: rgba(240,211,107,0.48) !important;
  color: #f0d36b !important;
}

.nav-links .btn.btn-outline:hover,
.nav-links .btn.btn-outline.active {
  background: rgba(240,211,107,0.14) !important;
  border-color: rgba(240,211,107,0.72) !important;
  color: #fff6c8 !important;
}

/* ── PSYCHOANALYST: same reduced opacity as astrologer ── */
body.page-psycho .glass-card {
  background: rgba(0,20,60,0.35) !important;
  border-color: rgba(201,162,39,0.22) !important;
}
body.page-psycho .glass-card:hover {
  background: rgba(0,20,60,0.50) !important;
}
body.page-psycho .testimonial-section {
  background: rgba(0,20,60,0.25) !important;
}
body.page-psycho .content-with-image {
  background: rgba(0,20,60,0.20) !important;
  border-radius: 14px !important;
  padding: 2rem !important;
}

/* Absolute EOF home override */
body.page-home .hero,
body.page-home .hero *,
body.page-home .hero-content,
body.page-home .hero-content *,
body.page-home .hero-text,
body.page-home .hero-text *,
body.page-home .hero-portrait,
body.page-home .hero-portrait *,
body.page-home .hero-portrait-frame,
body.page-home .hero-portrait-frame img {
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
}
body.page-home .hero::before,
body.page-home .hero::after,
body.page-home .hero-bg,
body.page-home .hero-bg::before,
body.page-home .hero-bg::after {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}
body.page-home .hero-portrait-frame {
  border-color: rgba(240,211,107,0.42) !important;
}
body.page-home .section-header .eyebrow {
  color: #f0d36b !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.24em !important;
  text-shadow: none !important;
}
body.page-home .section-header h2 {
  color: #ffffff !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
body.page-home .section-header p {
  color: #ffffff !important;
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  max-width: 760px !important;
  text-shadow: none !important;
}

/* ── ART THERAPIST: dark boxes, bold text, same opacity as astrologer ── */
body.page-arttherapy .glass-card {
  background: rgba(0,20,60,0.35) !important;
  border-color: rgba(201,162,39,0.22) !important;
}
body.page-arttherapy .glass-card:hover {
  background: rgba(0,20,60,0.50) !important;
}
body.page-arttherapy .glass-card p,
body.page-arttherapy .glass-card li {
  font-weight: 600 !important;
}
body.page-arttherapy .glass-card h3 {
  font-weight: 700 !important;
}
body.page-arttherapy .testimonial-section {
  background: rgba(0,20,60,0.25) !important;
}
body.page-arttherapy .content-with-image {
  background: rgba(0,20,60,0.20) !important;
  border-radius: 14px !important;
  padding: 2rem !important;
}
body.page-arttherapy .content-with-image p {
  font-weight: 600 !important;
}

/* True final nav/footer order color display */
.nav,
.nav.scrolled,
.nav-mobile,
.footer,
body.page-contact .footer,
body.page-astro .footer {
  background: rgba(7,58,74,0.98) !important;
  border-color: rgba(205,232,232,0.18) !important;
  box-shadow: none !important;
}

.footer-inner {
  flex-wrap: wrap !important;
  justify-content: center !important;
  row-gap: 0.55rem !important;
}

.footer-links {
  display: flex !important;
  flex: 1 1 100% !important;
  order: 2 !important;
  gap: 0.75rem 1rem !important;
}

.footer-copy {
  order: 3 !important;
}

.footer-logo {
  order: 1 !important;
}

.nav-links a,
.nav-mobile a,
.footer-links a,
.footer-logo-name,
.footer-copy,
.footer-copy a {
  color: rgba(255,255,255,0.88) !important;
}

.nav-links a:hover,
.nav-links a.active,
.nav-mobile a:hover,
.footer-links a:hover,
.footer-copy a:hover {
  color: #f0d36b !important;
}

.nav-links a.active {
  background: rgba(240,211,107,0.14) !important;
}

.nav-links .btn.btn-outline {
  border-color: rgba(240,211,107,0.48) !important;
  color: #f0d36b !important;
}

.nav-links .btn.btn-outline:hover,
.nav-links .btn.btn-outline.active {
  background: rgba(240,211,107,0.14) !important;
  border-color: rgba(240,211,107,0.72) !important;
  color: #fff6c8 !important;
}

/* ── ART THERAPIST: dark header text, light boxes ── */

/* Hero — lighter overlay so dark text sits on the image */
body.page-arttherapy .page-hero::before {
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.45) 0%,
    rgba(255,255,255,0.22) 60%,
    rgba(255,255,255,0.05) 100%
  ) !important;
}
body.page-arttherapy .page-hero h1 {
  color: #1a1a2e !important;
  text-shadow: none !important;
}
body.page-arttherapy .page-hero p {
  color: #2a2a3e !important;
  text-shadow: none !important;
}
body.page-arttherapy .page-hero .eyebrow {
  color: var(--gold) !important;
  text-shadow: none !important;
}

/* Boxes — light semi-transparent with dark text */
body.page-arttherapy .glass-card {
  background: rgba(255,255,255,0.28) !important;
  border-color: rgba(201,162,39,0.30) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
body.page-arttherapy .glass-card:hover {
  background: rgba(255,255,255,0.42) !important;
}
body.page-arttherapy .glass-card h3 {
  color: #1a1a2e !important;
  font-weight: 700 !important;
}
body.page-arttherapy .glass-card p,
body.page-arttherapy .glass-card li {
  color: #2a2a3e !important;
  text-shadow: none !important;
  font-weight: 600 !important;
}
body.page-arttherapy .glass-card .card-icon {
  color: var(--gold) !important;
}

/* Content-with-image body box — light panel */
body.page-arttherapy .content-with-image {
  background: rgba(255,255,255,0.22) !important;
  border-radius: 14px !important;
  padding: 2rem !important;
  backdrop-filter: blur(6px) !important;
}
body.page-arttherapy .content-with-image p {
  color: #1a1a2e !important;
  text-shadow: none !important;
  font-weight: 600 !important;
}

/* Section headings over the image */
body.page-arttherapy .section h2,
body.page-arttherapy .section-header h2 {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.55) !important;
}
body.page-arttherapy .section .eyebrow,
body.page-arttherapy .section-header .eyebrow {
  color: var(--gold-light) !important;
}

/* Presentations — match Psychoanalyst panel transparency */
body.page-presentations .event-card,
body.page-presentations .glass-card {
  background: rgba(0,20,60,0.35) !important;
  border-color: rgba(201,162,39,0.22) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.page-presentations .event-card:hover,
body.page-presentations .glass-card:hover {
  background: rgba(0,20,60,0.50) !important;
  border-color: rgba(201,162,39,0.30) !important;
  box-shadow: none !important;
}

body.page-presentations .testimonial-section {
  background: rgba(0,20,60,0.25) !important;
}

body.page-presentations .content-with-image,
body.page-presentations .section {
  background: rgba(0,20,60,0.20) !important;
  border-radius: 14px !important;
}

/* Art Therapist — remove header bar shadow/overlay */
body.page-arttherapy .page-hero,
body.page-arttherapy header.page-hero,
body.page-arttherapy .page-hero *,
body.page-arttherapy .page-hero-content,
body.page-arttherapy .page-hero-content *,
body.page-arttherapy .page-hero-text,
body.page-arttherapy .page-hero-text * {
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.page-arttherapy .page-hero::before,
body.page-arttherapy .page-hero::after,
body.page-arttherapy .page-hero-bg,
body.page-arttherapy .page-hero-bg::before,
body.page-arttherapy .page-hero-bg::after {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* ── ART THERAPIST: title shadow off, Services + The Practice blue bold ── */
body.page-arttherapy .page-hero {
  box-shadow: none !important;
}
body.page-arttherapy .page-hero h1 {
  text-shadow: none !important;
}
body.page-arttherapy .page-hero .eyebrow {
  color: #002260 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
body.page-arttherapy .content-with-image span {
  color: #002260 !important;
  font-weight: 700 !important;
}

/* Global label/title emphasis — same direct treatment as home */
.eyebrow,
.page-hero .eyebrow,
.hero-text .eyebrow,
.section-header .eyebrow,
.content-with-image span,
.section > span,
.section-full span.eyebrow {
  font-weight: 800 !important;
  text-shadow: none !important;
  filter: none !important;
}

.page-hero h1,
.hero-text h1,
.section-header h2 {
  font-weight: 700 !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Labyrinth/Mandalas — light teal theme for both content sections */
body.page-labyrinth {
  background-color: #d9f2ef !important;
  background-image: url('../assets/newbg.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
  color: #123f42 !important;
  --page-accent: #087174;
  --text-primary: #123f42;
  --text-muted: #24595b;
}

body.page-labyrinth .page-hero,
body.page-labyrinth header.page-hero {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

body.page-labyrinth .page-hero::before,
body.page-labyrinth .page-hero::after,
body.page-labyrinth .page-hero-bg,
body.page-labyrinth .page-hero-bg::before,
body.page-labyrinth .page-hero-bg::after {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.page-labyrinth .page-hero h1,
body.page-labyrinth .page-hero p,
body.page-labyrinth .page-hero .eyebrow,
body.page-labyrinth .page-hero-text,
body.page-labyrinth .page-hero-text * {
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.page-labyrinth .page-hero h1 {
  color: #123f42 !important;
}

body.page-labyrinth .page-hero p {
  color: #24595b !important;
  font-weight: 700 !important;
}

body.page-labyrinth .page-hero .eyebrow,
body.page-labyrinth .content-with-image span,
body.page-labyrinth .glass-card h3 {
  color: #087174 !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}

body.page-labyrinth .content-with-image,
body.page-labyrinth .content-with-image.reverse,
body.page-labyrinth .glass-card {
  background: rgba(255,255,255,0.38) !important;
  border: 1px solid rgba(8,113,116,0.22) !important;
  border-radius: 14px !important;
  box-shadow: 0 3px 12px rgba(255,255,255,0.14) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

body.page-labyrinth .content-with-image h2,
body.page-labyrinth .content-with-image p,
body.page-labyrinth .content-with-image li,
body.page-labyrinth .glass-card li,
body.page-labyrinth .glass-card p {
  color: #123f42 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

body.page-labyrinth .content-with-image img,
body.page-labyrinth .labyrinth-gallery img,
body.page-labyrinth .mandala-pair img {
  border-color: rgba(8,113,116,0.26) !important;
  box-shadow: 0 4px 14px rgba(8,80,84,0.12) !important;
  filter: none !important;
}

body.page-labyrinth .mandala-pair img {
  background: rgba(255,255,255,0.24) !important;
}

/* Labyrinth/Mandalas — dark text like Art Therapist */
body.page-labyrinth,
body.page-labyrinth .page-wrapper,
body.page-labyrinth .page-hero,
body.page-labyrinth .page-hero *,
body.page-labyrinth .content-with-image,
body.page-labyrinth .content-with-image *,
body.page-labyrinth .glass-card,
body.page-labyrinth .glass-card *,
body.page-labyrinth .credential-list,
body.page-labyrinth .credential-list * {
  color: #1a1a2e !important;
  text-shadow: none !important;
}

body.page-labyrinth .page-hero .eyebrow,
body.page-labyrinth .content-with-image span,
body.page-labyrinth .glass-card h3,
body.page-labyrinth .card-icon {
  color: #087174 !important;
  font-weight: 800 !important;
}

body.page-labyrinth .content-with-image p,
body.page-labyrinth .content-with-image li,
body.page-labyrinth .glass-card p,
body.page-labyrinth .glass-card li {
  font-weight: 600 !important;
}

/* ── CREDENTIALS: stronger overlay + contrast text, 0.35 box opacity ── */
body.page-credentials .page-hero::before {
  background: rgba(0,15,50,0.82) !important;
}
body.page-credentials .page-hero h1 {
  color: #ffffff !important;
  text-shadow: none !important;
}
body.page-credentials .page-hero p {
  color: rgba(245,248,250,0.95) !important;
  text-shadow: none !important;
}
body.page-credentials .page-hero .eyebrow {
  color: #f0d36b !important;
  text-shadow: none !important;
}
body.page-credentials .glass-card {
  background: rgba(0,20,60,0.35) !important;
  border-color: rgba(201,162,39,0.22) !important;
  box-shadow: none !important;
}
body.page-credentials .glass-card:hover {
  background: rgba(0,20,60,0.50) !important;
}

/* Credentials — absolute title shadow removal */
body.page-credentials .page-hero,
body.page-credentials .page-hero *,
body.page-credentials .page-hero-content,
body.page-credentials .page-hero-content * {
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Absolute EOF Labyrinth dark text */
body.page-labyrinth,
body.page-labyrinth .page-hero *,
body.page-labyrinth .content-with-image *,
body.page-labyrinth .glass-card *,
body.page-labyrinth .credential-list * {
  color: #1a1a2e !important;
  text-shadow: none !important;
}
body.page-labyrinth .page-hero .eyebrow,
body.page-labyrinth .content-with-image span,
body.page-labyrinth .glass-card h3 {
  color: #087174 !important;
  font-weight: 800 !important;
}
body.page-labyrinth .content-with-image p,
body.page-labyrinth .content-with-image li,
body.page-labyrinth .glass-card li {
  font-weight: 600 !important;
}

/* ── PRESENTATIONS: dark blue bold hero text, light overlay ── */
body.page-presentations .page-hero::before {
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.50) 0%,
    rgba(255,255,255,0.25) 60%,
    rgba(255,255,255,0.06) 100%
  ) !important;
}
body.page-presentations .page-hero h1 {
  color: #1a1a2e !important;
  text-shadow: none !important;
}
body.page-presentations .page-hero .eyebrow {
  color: #002260 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
body.page-presentations .page-hero p {
  color: #002260 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

/* Astrologer — match Labyrinth background image/color/text */
body.page-astro {
  background-color: #d9f2ef !important;
  background-image: url('../assets/newbg.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
  color: #1a1a2e !important;
  --page-accent: #087174;
  --text-primary: #1a1a2e;
  --text-muted: #24595b;
}

body.page-astro .page-hero,
body.page-astro header.page-hero,
body.page-astro .page-hero *,
body.page-astro .content-with-image,
body.page-astro .content-with-image *,
body.page-astro .section,
body.page-astro .section *,
body.page-astro .glass-card,
body.page-astro .glass-card *,
body.page-astro .testimonial-section,
body.page-astro .testimonial-section * {
  color: #1a1a2e !important;
  text-shadow: none !important;
  filter: none !important;
}

body.page-astro .page-hero::before,
body.page-astro .page-hero::after,
body.page-astro .page-hero-bg,
body.page-astro .page-hero-bg::before,
body.page-astro .page-hero-bg::after,
body.page-astro .zodiac-hero-overlay {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.page-astro .page-hero .eyebrow,
body.page-astro .content-with-image span,
body.page-astro .content-with-image .subtitle,
body.page-astro .section-header .eyebrow,
body.page-astro .glass-card h3,
body.page-astro .card-icon,
body.page-astro .testimonial-source {
  color: #087174 !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}

body.page-astro .content-with-image,
body.page-astro .section,
body.page-astro .glass-card,
body.page-astro .testimonial-section {
  background: rgba(255,255,255,0.38) !important;
  border: 1px solid rgba(8,113,116,0.22) !important;
  border-radius: 14px !important;
  box-shadow: 0 3px 12px rgba(255,255,255,0.14) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

body.page-astro .content-with-image p,
body.page-astro .section p,
body.page-astro .section li,
body.page-astro .glass-card p,
body.page-astro .testimonial-block blockquote {
  color: #1a1a2e !important;
  font-weight: 600 !important;
}

body.page-astro .astro-services-image img {
  border-color: rgba(8,113,116,0.26) !important;
  box-shadow: 0 4px 14px rgba(8,80,84,0.12) !important;
  filter: none !important;
}

/* ── CREDENTIALS: remove title text-shadow ── */
body.page-credentials .page-hero h1,
body.page-credentials .page-hero p,
body.page-credentials .page-hero .eyebrow {
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* ── PRESENTATIONS: single left-edge shadow, suppress inner layers ── */
body.page-presentations .page-hero-bg {
  display: none !important;
}
body.page-presentations .page-hero-bg::after {
  display: none !important;
}
body.page-presentations .page-hero::before {
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.52) 0%,
    rgba(255,255,255,0.52) 6%,
    rgba(255,255,255,0.00) 32%
  ) !important;
}

/* ── CONTACT: dark text, teal buttons ── */
body.page-contact .page-hero::before {
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0.50) 0%,
    rgba(255,255,255,0.28) 60%,
    rgba(255,255,255,0.06) 100%
  ) !important;
}
body.page-contact .page-hero h1 {
  color: #1a1a2e !important;
  text-shadow: none !important;
}
body.page-contact .page-hero p {
  color: #2a2a3e !important;
  text-shadow: none !important;
}
body.page-contact .page-hero .eyebrow {
  color: #007373 !important;
  text-shadow: none !important;
}

/* Teal primary button */
body.page-contact .btn-primary {
  background: #007373 !important;
  border-color: #007373 !important;
  color: #ffffff !important;
}
body.page-contact .btn-primary:hover {
  background: #005a5a !important;
  border-color: #005a5a !important;
}

/* Teal outline button */
body.page-contact .btn-outline {
  border-color: #007373 !important;
  color: #007373 !important;
  background: transparent !important;
}
body.page-contact .btn-outline:hover {
  background: rgba(0,115,115,0.12) !important;
  color: #005a5a !important;
}

/* ── PUBLICATIONS: dark overlay (not light), 0.35 box transparency ── */
body.page-publications .page-hero::before {
  background: linear-gradient(
    90deg,
    rgba(0,20,60,0.80) 0%,
    rgba(0,20,60,0.52) 60%,
    rgba(0,20,60,0.18) 100%
  ) !important;
}
body.page-publications .page-hero h1 {
  color: #ffffff !important;
  text-shadow: none !important;
}
body.page-publications .page-hero p {
  color: rgba(245,248,250,0.92) !important;
  text-shadow: none !important;
}
body.page-publications .page-hero .eyebrow {
  color: var(--gold-light) !important;
  text-shadow: none !important;
}
body.page-publications .glass-card,
body.page-publications .pub-card {
  background: rgba(0,20,60,0.35) !important;
  border-color: rgba(201,162,39,0.22) !important;
  box-shadow: none !important;
}
body.page-publications .glass-card:hover,
body.page-publications .pub-card:hover {
  background: rgba(0,20,60,0.50) !important;
}
body.page-publications .glass-card h3,
body.page-publications .pub-card h3,
body.page-publications .glass-card p,
body.page-publications .pub-card p,
body.page-publications .glass-card li,
body.page-publications .pub-card li {
  color: rgba(245,248,250,0.90) !important;
  text-shadow: none !important;
}

/* ── PRESENTATIONS: remove white strip overlay (layer 3) ── */
body.page-presentations .page-hero::before {
  background: none !important;
}

/* ── PRESENTATIONS: reduce layer 2 overlay by one step ── */
body.page-presentations .page-hero::before {
  background: linear-gradient(
    90deg,
    rgba(7,58,74,0.62)  0%,
    rgba(10,76,92,0.32) 58%,
    rgba(10,76,92,0.08) 100%
  ) !important;
}

/* ── PRESENTATIONS: undo layer 2 reduction — restore global rule ── */
body.page-presentations .page-hero::before {
  background: none !important;
}

/* ── PUBLICATIONS: remove title text-shadow ── */
body.page-publications .page-hero h1,
body.page-publications .page-hero p,
body.page-publications .page-hero .eyebrow {
  text-shadow: none !important;
}

/* ── PUBLICATIONS: force no text-shadow — doubled specificity ── */
body.page-publications.page-publications .page-hero h1,
body.page-publications.page-publications .page-hero p,
body.page-publications.page-publications .page-hero .eyebrow,
body.page-publications.page-publications .page-hero-text *,
body.page-publications.page-publications .page-hero-content * {
  text-shadow: none !important;
  filter: none !important;
}

/* ── CREDENTIALS + PUBLICATIONS: final no-shadow lock ── */
body.page-credentials .page-hero h1,
body.page-credentials .page-hero p,
body.page-credentials .page-hero .eyebrow,
body.page-credentials .page-hero-text *,
body.page-credentials .page-hero-content *,
body.page-publications .page-hero h1,
body.page-publications .page-hero p,
body.page-publications .page-hero .eyebrow,
body.page-publications .page-hero-text *,
body.page-publications .page-hero-content * {
  text-shadow: none !important;
}

/* ── PUBLICATIONS: Love Planets book-feature matches pub-card style ── */
body.page-publications .book-feature {
  background: rgba(0,20,60,0.35) !important;
  border-color: rgba(201,162,39,0.22) !important;
  box-shadow: none !important;
}
body.page-publications .book-feature:hover {
  background: rgba(0,20,60,0.50) !important;
  border-color: rgba(201,162,39,0.38) !important;
  box-shadow: none !important;
}
body.page-publications .book-feature h3,
body.page-publications .book-feature p,
body.page-publications .book-feature .book-byline {
  color: rgba(245,248,250,0.90) !important;
  text-shadow: none !important;
}

/* ── LABYRINTH: match Astrologer — light background, dark text, white boxes ── */
body.page-labyrinth {
  background-color: #d9f2ef !important;
  background-image: url('../assets/newbg.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
  color: #1a1a2e !important;
  --page-accent: #087174;
  --text-primary: #1a1a2e;
  --text-muted: #24595b;
}
body.page-labyrinth .page-hero::before,
body.page-labyrinth .page-hero::after,
body.page-labyrinth .page-hero-bg,
body.page-labyrinth .page-hero-bg::before,
body.page-labyrinth .page-hero-bg::after {
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}
body.page-labyrinth .content-with-image,
body.page-labyrinth .glass-card {
  background: rgba(255,255,255,0.38) !important;
  border: 1px solid rgba(8,113,116,0.22) !important;
  border-radius: 14px !important;
  box-shadow: 0 3px 12px rgba(255,255,255,0.14) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}
body.page-labyrinth .content-with-image p,
body.page-labyrinth .glass-card p,
body.page-labyrinth .glass-card li {
  color: #1a1a2e !important;
  font-weight: 600 !important;
}

/* Final lockout: keep credentials/publications headings shadow-free. */
body.page-credentials .page-hero h1,
body.page-credentials .section-header h2,
body.page-credentials .section-header .eyebrow,
body.page-publications .page-hero h1,
body.page-publications .section-header h2,
body.page-publications .section-header .eyebrow {
  text-shadow: none !important;
  filter: none !important;
}

/* ── ABSOLUTE ZERO: no title-bar shadow on any page ── */
body .page-hero h1,
body .page-hero p,
body .page-hero .eyebrow,
body .page-hero .hero-credentials,
body .page-hero-content *,
body .page-hero-text *,
body header.page-hero * {
  text-shadow: none !important;
  filter: none !important;
}
