
:root{--ink:#182220;--muted:#66706d;--teal:#315d58;--deep:#203f3b;--gold:#b78d42;--cream:#f3efe7;--paper:#fffdfa;--line:#e1d8ca;--amber:#fff3d8;--shadow:0 16px 42px rgba(31,58,54,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 85% 0%,rgba(183,141,66,.12),transparent 25rem),linear-gradient(180deg,#faf8f2 0%,var(--cream) 100%);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.7}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1160px,92vw);margin:auto}header{position:sticky;top:0;z-index:30;background:rgba(250,248,242,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:850;color:var(--ink)}.mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:white;background:linear-gradient(145deg,var(--teal),var(--deep));border:2px solid #d4b56f}.navlinks{display:flex;gap:16px;flex-wrap:wrap}.navlinks a{color:var(--ink);font-weight:720;font-size:.93rem}.menu{display:none;border:0;background:none;font-size:1.5rem}.hero{padding:82px 0 52px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}.kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;color:var(--teal);font-weight:850}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.14;margin:0 0 .55em}h1{font-size:clamp(2.8rem,6vw,5.5rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,4vw,3.05rem)}h3{font-size:1.34rem}.hero p{font-size:1.15rem;color:var(--muted);max-width:760px}.hero-card{background:linear-gradient(155deg,var(--teal),var(--deep));color:white;border-radius:30px;padding:30px;box-shadow:var(--shadow)}.hero-card p{color:#e4efeb}.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:999px;border:1px solid var(--line);font-weight:800}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{text-decoration:none;background:var(--deep)}.secondary{background:var(--paper);color:var(--ink)}section{padding:50px 0}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:24px}.section-head p{margin:0;color:var(--muted);max-width:650px}.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(3,1fr)}.card{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(31,58,54,.055)}.accent{height:9px;background:linear-gradient(90deg,var(--teal),var(--gold))}.card-body{padding:22px}.meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--teal);font-weight:850}.card p{color:var(--muted);margin-bottom:0}.article{max-width:880px}.article p,.article li{color:#4f5956}.article h2{margin-top:1.5em}.breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:18px}.callout,.resource,.listen{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}.callout{background:var(--amber);border-color:#e4ca83;color:#5c4822}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.topic{background:rgba(255,253,250,.78);border:1px solid var(--line);border-radius:18px;padding:19px}.faq details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:15px 17px;margin:10px 0}.faq summary{font-weight:800;cursor:pointer}footer{margin-top:58px;background:#172724;color:#edf4f1;padding:44px 0}footer a{color:#f0cf88}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}.small{font-size:.9rem;color:#a9b9b4}@media(max-width:860px){.hero-grid,.cards,.resource-grid,.topic-grid,.footer-grid{grid-template-columns:1fr}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:18px 4vw;border-bottom:1px solid var(--line)}.navlinks.open{display:flex;flex-direction:column}.menu{display:block}}


/* =========================================================
   HOMEPAGE UPGRADE
   Scoped to body.home-page so existing inner pages retain
   their original styles.
========================================================= */

.home-page {
  --home-deep:#0a2421;
  --home-forest:#173f3c;
  --home-teal:#2f675f;
  --home-gold:#ddbd78;
  --home-paper:#fffdf8;
  --home-cream:#f6f0e6;
  --home-ink:#17211f;
  --home-muted:#69736f;
  --home-line:rgba(34,77,70,.14);
  background:linear-gradient(180deg,#fbfaf6 0%,#f1eadf 100%);
}

.home-page .container {
  width:min(1180px,calc(100% - 40px));
}

.home-page h1,
.home-page h2,
.home-page h3 {
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
}

.home-header {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:30;
  background:rgba(5,25,23,.24);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.14);
}

.home-page .home-header .nav {
  min-height:82px;
}

.home-page .home-brand,
.home-page .home-navlinks a {
  color:#fff;
}

.home-page .home-navlinks a:hover {
  color:var(--home-gold);
  text-decoration:none;
}

.home-page .home-header .mark {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(221,189,120,.75);
  color:var(--home-gold);
}

.home-page .home-header .menu {
  color:#fff;
}

.home-hero {
  position:relative;
  min-height:790px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  padding:0;
}

.home-hero-media {
  position:absolute;
  inset:0;
  background:
    url("/images/tibetan-healing-hero.svg") center / cover no-repeat,
    linear-gradient(135deg,#173f3c,#091f1d);
  transform:scale(1.01);
}

.home-hero-overlay {
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 75% 28%,rgba(225,192,120,.22),transparent 28rem),
    linear-gradient(90deg,rgba(5,25,23,.94) 0%,rgba(5,25,23,.76) 45%,rgba(5,25,23,.36) 100%);
}

.home-hero-grid {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(250px,.5fr);
  gap:60px;
  align-items:end;
  padding-top:150px;
  padding-bottom:115px;
}

.home-hero-copy {
  max-width:850px;
}

.home-eyebrow,
.home-section-label {
  display:inline-block;
  margin-bottom:18px;
  color:var(--home-teal);
  font-size:.76rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.home-eyebrow {
  color:var(--home-gold);
}

.home-hero h1 {
  font-size:clamp(3.6rem,8vw,7.4rem);
  line-height:.98;
  margin-bottom:24px;
  color:#fff;
}

.home-hero-lead {
  max-width:720px;
  margin:0 0 30px;
  color:rgba(255,255,255,.88);
  font-size:clamp(1.08rem,2vw,1.3rem);
  line-height:1.75;
}

.platform-actions {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:26px;
}

.platform-button {
  min-width:190px;
  display:inline-flex;
  align-items:center;
  gap:13px;
  padding:14px 21px;
  border-radius:16px;
  color:#fff !important;
  font-weight:750;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.platform-button:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(0,0,0,.28);
  filter:brightness(1.04);
  text-decoration:none !important;
}

.youtube-button {
  background:linear-gradient(135deg,#ff1847,#d9002b);
}

.spotify-button {
  color:#071b10 !important;
  background:linear-gradient(135deg,#2aeb76,#19bd5b);
}

.platform-icon {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:rgba(255,255,255,.18);
}

.spotify-button .platform-icon {
  background:rgba(0,0,0,.12);
}

.platform-label {
  display:flex;
  flex-direction:column;
  line-height:1.12;
}

.platform-label small {
  margin-bottom:3px;
  font-size:.7rem;
  opacity:.8;
}

.platform-label strong {
  font-size:1.02rem;
}

.home-text-link {
  display:inline-flex;
  gap:8px;
  align-items:center;
  color:#fff;
  font-weight:760;
  border-bottom:1px solid rgba(255,255,255,.4);
  padding-bottom:4px;
}

.home-text-link:hover {
  color:var(--home-gold);
  border-color:var(--home-gold);
  text-decoration:none;
}

.home-hero-quote {
  max-width:300px;
  padding:29px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:23px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 55px rgba(0,0,0,.14);
}

.home-hero-quote p {
  margin:0;
  color:rgba(255,255,255,.88);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.18rem;
  line-height:1.55;
}

.home-om {
  display:block;
  margin-bottom:12px;
  color:var(--home-gold);
  font-size:2.5rem;
}

.home-audio-section {
  position:relative;
  z-index:5;
  margin-top:-55px;
  padding:0 0 42px;
}

.home-audio-card {
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:42px;
  align-items:center;
  padding:34px 42px;
  border:1px solid rgba(203,170,100,.28);
  border-radius:34px;
  background:rgba(255,253,249,.98);
  box-shadow:0 30px 80px rgba(16,45,42,.18);
}

.home-audio-art {
  min-height:210px;
  display:grid;
  place-items:center;
  border-radius:27px;
  background:
    radial-gradient(circle,rgba(225,192,120,.24),transparent 58%),
    linear-gradient(145deg,#275c55,#0b2421);
}

.sound-rings {
  position:relative;
  width:150px;
  height:150px;
  display:grid;
  place-items:center;
}

.sound-rings span {
  position:absolute;
  border:1px solid rgba(232,205,150,.36);
  border-radius:50%;
}

.sound-rings span:nth-child(1){width:150px;height:150px}
.sound-rings span:nth-child(2){width:110px;height:110px}
.sound-rings span:nth-child(3){width:72px;height:72px}

.sound-center {
  z-index:2;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--home-gold);
  color:var(--home-deep);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
}

.home-audio-copy h2 {
  font-size:clamp(2rem,4vw,3rem);
  margin-bottom:12px;
}

.home-audio-copy p {
  max-width:720px;
  color:var(--home-muted);
}

.meditation-player {
  width:100%;
  margin-top:12px;
  accent-color:var(--home-forest);
}

.audio-note {
  margin-bottom:0;
  font-size:.82rem;
}

.home-intro {
  padding:88px 0 60px;
  text-align:center;
}

.home-narrow {
  max-width:850px;
}

.home-intro h2 {
  font-size:clamp(2.25rem,4.6vw,4rem);
}

.home-intro p {
  margin:0 auto;
  color:var(--home-muted);
  font-size:clamp(1.08rem,2vw,1.24rem);
}

.home-topics {
  padding:65px 0 100px;
}

.home-section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:55px;
  margin-bottom:38px;
}

.home-section-heading h2 {
  max-width:680px;
  margin-bottom:0;
  font-size:clamp(2.2rem,4.4vw,3.8rem);
}

.home-section-heading > p {
  max-width:420px;
  margin-bottom:8px;
  color:var(--home-muted);
}

.home-topic-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.home-topic-card {
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:27px;
  border:1px solid var(--home-line);
  border-radius:22px;
  background:rgba(255,253,249,.86);
  box-shadow:0 10px 30px rgba(16,45,42,.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.home-topic-card:hover {
  transform:translateY(-7px);
  border-color:rgba(201,165,94,.58);
  box-shadow:0 20px 50px rgba(16,45,42,.12);
}

.home-topic-card.featured {
  color:#fff;
  background:linear-gradient(150deg,#275c55,#0b2421);
}

.topic-number {
  align-self:flex-end;
  color:rgba(46,91,84,.22);
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.8rem;
}

.featured .topic-number {
  color:rgba(255,255,255,.18);
}

.topic-tag {
  display:inline-block;
  margin-bottom:13px;
  color:var(--home-teal);
  font-size:.72rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.featured .topic-tag {
  color:var(--home-gold);
}

.home-topic-card h3 {
  font-size:1.55rem;
}

.home-topic-card p {
  color:var(--home-muted);
}

.home-topic-card.featured p {
  color:rgba(255,255,255,.74);
}

.home-topic-card a {
  display:inline-flex;
  margin-top:14px;
  color:var(--home-forest);
  font-weight:800;
}

.home-topic-card.featured a {
  color:var(--home-gold);
}

.home-listen {
  padding:18px 0 100px;
}

.home-listen-panel {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:52px;
  align-items:center;
  padding:clamp(42px,7vw,76px);
  border-radius:34px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 10%,rgba(224,193,127,.18),transparent 35%),
    linear-gradient(135deg,#173f3c,#0b2421);
  box-shadow:0 22px 60px rgba(16,45,42,.14);
}

.home-section-label.light {
  color:var(--home-gold);
}

.home-listen-panel h2 {
  font-size:clamp(2.2rem,4.5vw,3.8rem);
}

.home-listen-panel p {
  max-width:650px;
  color:rgba(255,255,255,.74);
}

.home-listen-actions {
  display:flex;
  flex-direction:column;
  gap:13px;
}

.home-footer {
  padding:65px 0 28px;
  background:var(--home-deep);
  color:rgba(255,255,255,.76);
}

.home-footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:70px;
  padding-bottom:44px;
}

.home-footer-brand {
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.48rem;
  font-weight:700;
}

.home-footer p {
  color:rgba(255,255,255,.6);
}

.home-footer h3 {
  margin-bottom:14px;
  color:#fff;
  font-family:Inter,system-ui,sans-serif;
  font-size:.83rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.home-footer ul {
  margin:0;
  padding:0;
  list-style:none;
}

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

.home-footer a {
  color:rgba(255,255,255,.7);
}

.home-footer a:hover {
  color:var(--home-gold);
  text-decoration:none;
}

.wellness-disclaimer {
  margin-bottom:28px;
  padding:20px 23px;
  border:1px solid rgba(225,196,134,.16);
  border-radius:15px;
  background:rgba(255,255,255,.04);
}

.wellness-disclaimer strong {
  display:block;
  margin-bottom:6px;
  color:rgba(255,255,255,.86);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.wellness-disclaimer p {
  margin:0;
  color:rgba(255,255,255,.5);
  font-size:.8rem;
  line-height:1.65;
}

.home-footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.4);
  font-size:.78rem;
}

@media(max-width:1000px){
  .home-hero-grid{grid-template-columns:1fr}
  .home-hero-quote{display:none}
  .home-audio-card{grid-template-columns:200px 1fr}
  .home-topic-grid{grid-template-columns:repeat(2,1fr)}
  .home-listen-panel{grid-template-columns:1fr}
  .home-listen-actions{flex-direction:row;flex-wrap:wrap}

  .home-page .home-header .navlinks{
    background:rgba(11,36,33,.98);
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .home-page .home-header .navlinks a{color:#fff}
}

@media(max-width:700px){
  .home-page .container{width:min(100% - 28px,1180px)}
  .home-hero{min-height:720px}
  .home-hero-grid{padding-top:130px;padding-bottom:105px}
  .home-hero h1{font-size:clamp(3.15rem,17vw,5rem)}
  .platform-actions{display:grid;width:100%}
  .platform-button{width:100%}
  .home-audio-section{margin-top:-35px}
  .home-audio-card{grid-template-columns:1fr;padding:18px;gap:22px;border-radius:24px}
  .home-audio-art{min-height:170px}
  .home-section-heading{display:block}
  .home-section-heading>p{margin-top:14px}
  .home-topic-grid{grid-template-columns:1fr}
  .home-topic-card{min-height:auto}
  .home-listen-panel{padding:34px 23px}
  .home-listen-actions{display:grid}
  .home-footer-grid{grid-template-columns:1fr;gap:30px}
  .home-footer-bottom{flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  .home-page *{transition:none !important}
}


/* =========================================================
   LIGHT / DARK THEME
   Added for persistent night browsing.
========================================================= */

/* Calm earth-toned light theme */
:root {
  --theme-page-bg: #f3efe7;
  --theme-page-bg-soft: #faf8f2;
  --theme-surface: #fffdfa;
  --theme-surface-alt: #f7f2e9;
  --theme-text: #182220;
  --theme-muted: #66716e;
  --theme-border: #e1d8ca;
  --theme-accent: #315d58;
  --theme-accent-strong: #203f3b;
  --theme-gold: #b78d42;
  --theme-header: rgba(250, 248, 242, 0.94);
  --theme-shadow: rgba(31, 58, 54, 0.10);

  /* Map the existing site palette to the theme system. */
  --ink: var(--theme-text);
  --muted: var(--theme-muted);
  --teal: var(--theme-accent);
  --teal2: var(--theme-accent-strong);
  --gold: var(--theme-gold);
  --cream: var(--theme-page-bg);
  --paper: var(--theme-surface);
  --line: var(--theme-border);
  --sage: #e7efeb;
  --amber: #fff3d8;
}

/* Deep charcoal/slate dark theme */
body.dark-theme {
  --theme-page-bg: #111716;
  --theme-page-bg-soft: #161d1c;
  --theme-surface: #1b2422;
  --theme-surface-alt: #202b29;
  --theme-text: #edf2ef;
  --theme-muted: #adb9b5;
  --theme-border: #34413e;
  --theme-accent: #76aaa2;
  --theme-accent-strong: #9bc4bd;
  --theme-gold: #d2ae68;
  --theme-header: rgba(18, 25, 24, 0.95);
  --theme-shadow: rgba(0, 0, 0, 0.28);

  --ink: var(--theme-text);
  --muted: var(--theme-muted);
  --teal: var(--theme-accent);
  --teal2: var(--theme-accent-strong);
  --gold: var(--theme-gold);
  --cream: var(--theme-page-bg);
  --paper: var(--theme-surface);
  --line: var(--theme-border);
  --sage: #22302d;
  --amber: #312b20;

  color-scheme: dark;
}

body {
  background: var(--theme-page-bg);
  color: var(--theme-text);
  transition:
    background-color 0.28s ease,
    color 0.28s ease;
}

/* Header ordering: brand -> nav -> theme toggle -> menu */
.nav .brand {
  order: 1;
}

.nav .navlinks {
  order: 2;
  margin-left: auto;
}

.theme-toggle {
  order: 3;
}

.nav .menu {
  order: 4;
}

/* Minimal semantic theme toggle */
.theme-toggle {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-grid;
  place-items: center;
  margin-left: 4px;
  padding: 0;

  border: 1px solid var(--theme-border);
  border-radius: 999px;

  background: var(--theme-surface);
  color: var(--theme-text);

  box-shadow: 0 6px 18px var(--theme-shadow);

  cursor: pointer;

  transition:
    transform 0.18s ease,
    background-color 0.28s ease,
    color 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.theme-toggle:hover {
  transform: translateY(-1px);
}

.theme-toggle:active {
  transform: translateY(0);
}

.theme-toggle-icon {
  display: block;
  line-height: 1;
  font-size: 1.18rem;
}

/* The homepage header sits over a dark hero in both modes. */
.home-header .theme-toggle {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.10);
  color: #ffffff;
  box-shadow: none;
  backdrop-filter: blur(8px);
}

.home-header .theme-toggle:hover {
  background: rgba(255, 255, 255, 0.17);
}

/* Smooth surface changes */
header,
.card,
.topic,
.resource,
.listen-box,
.faq details,
.callout,
.audio-card,
.home-audio-card,
.home-topic-card,
.home-listen-panel,
.wellness-disclaimer {
  transition:
    background-color 0.28s ease,
    border-color 0.28s ease,
    color 0.28s ease,
    box-shadow 0.28s ease;
}

/* Inner-page header */
body.dark-theme header:not(.home-header) {
  background: var(--theme-header);
  border-color: var(--theme-border);
}

/* Main content surfaces */
body.dark-theme .card,
body.dark-theme .resource,
body.dark-theme .listen-box,
body.dark-theme .faq details,
body.dark-theme .topic {
  background: var(--theme-surface);
  border-color: var(--theme-border);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.16);
}

body.dark-theme .callout {
  background: #2b271f;
  border-color: #655637;
  color: #ead9b1;
}

/* Existing inner-page copy */
body.dark-theme .article p,
body.dark-theme .article li,
body.dark-theme .card p,
body.dark-theme .section-head p,
body.dark-theme .hero p,
body.dark-theme .resource p,
body.dark-theme .topic p {
  color: var(--theme-muted);
}

/* Homepage-specific dark surfaces */
body.home-page {
  background: var(--theme-page-bg);
  color: var(--theme-text);
}

body.dark-theme.home-page {
  --home-paper: #1b2422;
  --home-cream: #111716;
  --home-ink: #edf2ef;
  --home-muted: #adb9b5;
  --home-line: #34413e;
}

body.dark-theme .home-audio-card {
  background: #1b2422;
  border-color: #4a4232;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.34);
}

body.dark-theme .home-audio-copy h2,
body.dark-theme .home-intro h2,
body.dark-theme .home-section-heading h2,
body.dark-theme .home-topic-card h3 {
  color: #edf2ef;
}

body.dark-theme .home-audio-copy p,
body.dark-theme .home-intro p,
body.dark-theme .home-section-heading > p,
body.dark-theme .home-topic-card p {
  color: #adb9b5;
}

body.dark-theme .home-topic-card:not(.featured) {
  background: #1b2422;
  border-color: #34413e;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}

body.dark-theme .home-topic-card:not(.featured) .topic-number {
  color: rgba(220, 235, 230, 0.20);
}

body.dark-theme .home-topic-card:not(.featured) a {
  color: #9bc4bd;
}

body.dark-theme .home-section-label {
  color: #91bdb5;
}

/* Native player follows the chosen color scheme where supported. */
body.dark-theme .meditation-player {
  color-scheme: dark;
}

/* Keep footer visually integrated in both modes. */
body.dark-theme footer:not(.home-footer) {
  background: #0b1110;
}

/* Accessible focus state */
.theme-toggle:focus-visible {
  outline: 3px solid var(--theme-gold);
  outline-offset: 3px;
}

/* Prevent a harsh light flash when the dark class is applied very early. */
@media (prefers-reduced-motion: reduce) {
  body,
  header,
  .theme-toggle,
  .card,
  .topic,
  .resource,
  .listen-box,
  .faq details,
  .callout,
  .audio-card,
  .home-audio-card,
  .home-topic-card {
    transition: none !important;
  }
}

@media (max-width: 1000px) {
  .nav .navlinks {
    margin-left: 0;
  }

  .theme-toggle {
    margin-left: auto;
  }

  .nav .menu {
    margin-left: 0;
  }
}


/* =========================================================
   LONG-FORM SEO ARTICLE ENHANCEMENTS
========================================================= */

.article > p:first-of-type {
  font-size: 1.09rem;
}

.article h2 {
  scroll-margin-top: 100px;
}

.article .listen p {
  margin-top: 0;
}

.article strong {
  color: inherit;
}

body.dark-theme .article a:not(.btn) {
  color: #9bc4bd;
}


/* =========================================================
   NEWSLETTER — NEW SOUND DROPS & WEEKLY MEDITATIONS
========================================================= */

.newsletter-section {
  padding: 32px 0 72px;
}

.newsletter-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(340px, 1.1fr);
  gap: 44px;
  align-items: center;

  padding: clamp(30px, 5vw, 56px);

  border: 1px solid var(--theme-border, #e1d8ca);
  border-radius: 28px;

  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(183, 141, 66, 0.13),
      transparent 22rem
    ),
    var(--theme-surface, #fffdfa);

  box-shadow: 0 20px 55px var(--theme-shadow, rgba(31, 58, 54, 0.10));
}

.newsletter-kicker {
  display: inline-block;
  margin-bottom: 12px;

  color: var(--theme-accent, #315d58);

  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.newsletter-copy h2 {
  margin: 0 0 14px;

  color: var(--theme-text, #182220);

  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.08;
}

.newsletter-copy p {
  max-width: 620px;
  margin: 0;

  color: var(--theme-muted, #66716e);
}

.newsletter-form {
  width: 100%;
}

.newsletter-field-row {
  display: flex;
  gap: 10px;
}

.newsletter-field-row input[type="email"] {
  min-width: 0;
  flex: 1;

  min-height: 54px;
  padding: 0 17px;

  border: 1px solid var(--theme-border, #e1d8ca);
  border-radius: 15px;

  background: var(--theme-page-bg-soft, #faf8f2);
  color: var(--theme-text, #182220);

  font: inherit;

  outline: none;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.28s ease,
    color 0.28s ease;
}

.newsletter-field-row input[type="email"]::placeholder {
  color: var(--theme-muted, #66716e);
  opacity: 0.72;
}

.newsletter-field-row input[type="email"]:focus {
  border-color: var(--theme-accent, #315d58);
  box-shadow: 0 0 0 4px rgba(49, 93, 88, 0.12);
}

.newsletter-field-row button {
  min-height: 54px;
  padding: 0 23px;

  border: 0;
  border-radius: 15px;

  background:
    linear-gradient(
      135deg,
      var(--theme-accent, #315d58),
      var(--theme-accent-strong, #203f3b)
    );

  color: #ffffff;

  font: inherit;
  font-weight: 800;

  cursor: pointer;

  box-shadow: 0 10px 24px rgba(31, 63, 59, 0.16);

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
}

.newsletter-field-row button:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 14px 30px rgba(31, 63, 59, 0.22);
}

.newsletter-field-row button:active {
  transform: translateY(0);
}

.newsletter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;

  margin: 15px 0 0;
  padding: 0;

  border: 0;
}

.newsletter-options legend {
  width: 100%;
  margin-bottom: 7px;

  color: var(--theme-muted, #66716e);

  font-size: 0.78rem;
  font-weight: 750;
}

.newsletter-options label {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: var(--theme-text, #182220);

  font-size: 0.88rem;
  cursor: pointer;
}

.newsletter-options input[type="checkbox"] {
  width: 17px;
  height: 17px;
  margin: 0;

  accent-color: var(--theme-accent, #315d58);
}

.newsletter-privacy {
  margin: 13px 0 0;

  color: var(--theme-muted, #66716e);

  font-size: 0.77rem;
  line-height: 1.5;
}

.newsletter-honeypot {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Dark theme */
body.dark-theme .newsletter-card {
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(210, 174, 104, 0.11),
      transparent 22rem
    ),
    var(--theme-surface, #1b2422);

  border-color: var(--theme-border, #34413e);
}

body.dark-theme .newsletter-field-row input[type="email"] {
  background: var(--theme-page-bg-soft, #161d1c);
  border-color: var(--theme-border, #34413e);
}

body.dark-theme .newsletter-field-row input[type="email"]:focus {
  box-shadow: 0 0 0 4px rgba(118, 170, 162, 0.14);
}

/* Mobile */
@media (max-width: 820px) {
  .newsletter-card {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 560px) {
  .newsletter-section {
    padding: 20px 0 52px;
  }

  .newsletter-card {
    padding: 24px 18px;
    border-radius: 22px;
  }

  .newsletter-field-row {
    flex-direction: column;
  }

  .newsletter-field-row button {
    width: 100%;
  }

  .newsletter-options {
    flex-direction: column;
    gap: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .newsletter-field-row button,
  .newsletter-field-row input[type="email"] {
    transition: none !important;
  }
}

/* Network Global Footer Styling */
.network-footer {
    background-color: #1e1b18; /* Deep earthy off-black/charcoal */
    color: #e6e0d4; /* Soft, warm off-white text */
    padding: 3rem 1.5rem 1.5rem 1.5rem;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 0.95rem;
    line-height: 1.6;
    border-top: 3px solid #8c2d19; /* Subtle Himalayan Tibetan red accent top border */
}

.footer-container {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 2.5rem;
}

.footer-brand h4, 
.footer-links h5, 
.footer-media h5 {
    color: #f7f4eb; /* Crisp warm white for titles */
    margin-top: 0;
    margin-bottom: 1rem;
    font-weight: 600;
    font-size: 1.1rem;
}

.footer-brand p {
    color: #b5ae9f; /* Slightly muted tone for blurb */
    margin: 0;
    max-width: 400px;
}

.footer-links ul, 
.footer-media ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li, 
.footer-media li {
    margin-bottom: 0.6rem;
}

.network-footer a {
    color: #c9af86; /* Calm, muted gold tint for hyperlinks */
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.network-footer a:hover, 
.network-footer a:focus {
    color: #f5d7a1; /* Brighter gold highlight on focus/hover */
    text-decoration: underline;
}

.footer-bottom {
    max-width: 1100px;
    margin: 3rem auto 0 auto;
    padding-top: 1.5rem;
    border-top: 1px solid #36312c; /* Interiordivider divider line */
    text-align: center;
    font-size: 0.85rem;
    color: #8c8375;
}

/* Fluid Mobile Layout Rules */
@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr; /* Automatically stacks into a clean single column on mobile */
        gap: 2rem;
    }
    .footer-brand p {
        max-width: 100%;
    }
    .footer-bottom {
        margin-top: 2rem;
        text-align: left;
    }
}

