:root {
  --burgundy: #30020c;
  --burgundy-2: #5a1825;
  --burgundy-3: #7c2435;
  --gold: #efcb9d;
  --gold-deep: #b87942;
  --gold-soft: #fff0d8;
  --sage: #66795f;
  --sage-soft: #eef4eb;
  --rose: #815448;
  --rose-soft: #f5e8e2;
  --blue-soft: #edf3f7;
  --cream: #fff7ea;
  --paper: #fffdf8;
  --beige: #f6ead8;
  --soft: #fbf3e8;
  --ink: #191313;
  --muted: rgba(25, 19, 19, .68);
  --line: rgba(48, 2, 12, .11);
  --shadow: 0 1rem 2.8rem rgba(27, 7, 11, .11);
  --radius: 1.15rem;
  --radius-lg: 1.7rem;
  --heading: "Montserrat", "Inter", Arial, sans-serif;
  --body: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--body);
  font-size: 1rem;
  line-height: 1.65;
}
img { display: block; width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
svg { flex: 0 0 auto; }
:focus-visible { outline: .2rem solid var(--gold); outline-offset: .2rem; }
.sr-only, .skip-link:not(:focus) { position: absolute; width: .0625rem; height: .0625rem; overflow: hidden; clip: rect(0,0,0,0); }
.skip-link:focus { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: .7rem 1rem; background: var(--gold); border-radius: 999rem; }

.site-header,
section,
.site-footer {
  padding-left: max(5%, calc((100vw - 1400px) / 2));
  padding-right: max(5%, calc((100vw - 1400px) / 2));
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  min-height: 4.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: rgba(48, 2, 12, .97);
  border-bottom: .0625rem solid rgba(239, 203, 157, .2);
  box-shadow: 0 .45rem 1.5rem rgba(27, 7, 11, .12);
  backdrop-filter: blur(.9rem);
}

.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; }
.brand-logo {
  width: 11.4rem;
  max-width: 42vw;
  height: auto;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  color: var(--gold);
  background: var(--burgundy);
  border-radius: .8rem;
  font-family: var(--heading);
  font-weight: 700;
}
.brand strong { display: block; font-family: var(--heading); font-size: .98rem; font-weight: 700; letter-spacing: .08em; line-height: 1; }
.brand small { display: block; margin-top: .2rem; color: var(--burgundy-2); font-size: .62rem; font-weight: 700; letter-spacing: .11em; line-height: 1; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: 1.25rem; }
.site-nav a { color: rgba(255, 247, 234, .82); text-decoration: none; font-size: .82rem; font-weight: 600; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--gold); }
.nav-cta { margin-left: .25rem; }
.site-header .btn-primary { background: var(--gold); color: var(--burgundy); }
.whatsapp-nav {
  width: 2.4rem;
  height: 2.4rem;
  display: inline-grid;
  place-items: center;
  border: .0625rem solid rgba(239, 203, 157, .3);
  border-radius: 999rem;
}
.menu-toggle { display: none; width: 2.7rem; height: 2.7rem; border: .0625rem solid rgba(239, 203, 157, .32); background: rgba(255, 247, 234, .06); border-radius: 999rem; }
.menu-toggle span:not(.sr-only) { display: block; height: .125rem; margin: .32rem .68rem; background: var(--gold); }

section { padding-top: 5rem; padding-bottom: 5rem; }
.eyebrow {
  margin: 0 0 .75rem;
  color: var(--burgundy-2);
  font-family: var(--heading);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}
h1, h2, h3 {
  margin: 0;
  font-family: var(--heading);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0;
}
h1 { max-width: 52rem; font-size: 3.45rem; }
h2 { font-size: 2.45rem; }
h3 { font-size: 1.22rem; }
p { margin: 0; color: var(--muted); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .48rem;
  min-height: 2.9rem;
  padding: .82rem 1.2rem;
  border: .0625rem solid transparent;
  border-radius: .9rem;
  font-family: var(--heading);
  font-size: .8rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 .55rem 1.2rem rgba(48, 2, 12, .1);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn svg { width: 1rem; height: 1rem; stroke-width: 2.25; transition: transform .18s ease; }
.btn:hover { transform: translateY(-.12rem); box-shadow: 0 .9rem 1.8rem rgba(48, 2, 12, .16); }
.btn:hover svg { transform: translateX(.12rem); }
.btn-primary { background: var(--burgundy); color: var(--cream); }
.btn-primary:hover { background: var(--burgundy-2); }
.btn-secondary { background: var(--gold); color: var(--burgundy); border-color: rgba(184, 121, 66, .22); }
.btn-secondary:hover { background: var(--gold-soft); border-color: rgba(184, 121, 66, .45); }
.btn-light { background: var(--cream); color: var(--burgundy); border-color: rgba(239, 203, 157, .35); }
.btn-light:hover { background: #fff; }
.button-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.55rem; }
.text-link, .soft-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1.4rem; color: var(--burgundy); font-family: var(--heading); font-size: .86rem; font-weight: 700; text-underline-offset: .25rem; }
.soft-link { text-decoration: none; }
.text-link svg, .soft-link svg { width: 1rem; height: 1rem; }

.home-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: clamp(34rem, 74vh, 47rem);
  max-height: 49rem;
  padding-top: 6rem;
  padding-bottom: 6rem;
  overflow: hidden;
  background: var(--soft);
}
.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 18% 48%, rgba(255, 253, 248, .98) 0%, rgba(255, 253, 248, .92) 34%, rgba(255, 253, 248, .55) 52%, rgba(255, 253, 248, .12) 72%),
    linear-gradient(90deg, rgba(255, 253, 248, .96) 0%, rgba(255, 253, 248, .72) 36%, rgba(255, 253, 248, .12) 62%, rgba(48, 2, 12, .08) 100%);
}
.hero-bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  z-index: 0;
}
.home-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: .35rem;
  z-index: 2;
  background: linear-gradient(90deg, var(--burgundy), var(--gold));
}
.hero-panel {
  position: relative;
  z-index: 3;
  width: min(44rem, 100%);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.hero-panel h1 {
  max-width: 45rem;
  color: #07091d;
  font-size: clamp(2.65rem, 5.1vw, 4.85rem);
  line-height: .98;
}
.hero-lede { max-width: 39rem; margin-top: .95rem; color: rgba(7, 9, 29, .78); font-size: 1.05rem; }
.hero-subline {
  max-width: 39rem;
  margin-top: .9rem;
  color: #07091d;
  font-family: var(--heading);
  font-size: clamp(1.12rem, 1.6vw, 1.45rem);
  font-weight: 700;
  line-height: 1.25;
}
.hero-availability {
  margin-top: 2.4rem;
  color: #07091d;
  font-size: 1.02rem;
}
.hero-quick-card {
  position: relative;
  z-index: 3;
  align-self: flex-end;
  width: min(20rem, 100%);
  padding: 1.1rem;
  color: var(--cream);
  background: rgba(48, 2, 12, .9);
  border: .0625rem solid rgba(239, 203, 157, .28);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.home-hero .hero-quick-card { display: none; }
.hero-quick-card strong,
.hero-quick-card span { display: block; }
.hero-quick-card span { margin-top: .3rem; color: rgba(255, 247, 234, .8); font-size: .9rem; }
.hero-visual { position: relative; min-height: 32rem; border-radius: 2rem; overflow: hidden; box-shadow: var(--shadow); }
.hero-visual img { height: 100%; min-height: 32rem; object-fit: cover; }
.floating-card {
  position: absolute;
  right: 1.1rem;
  bottom: 1.1rem;
  max-width: 18rem;
  padding: 1rem;
  background: rgba(255, 253, 248, .94);
  border: .0625rem solid rgba(255,255,255,.7);
  border-radius: 1.2rem;
  box-shadow: 0 1rem 2rem rgba(27, 7, 11, .13);
}
.floating-card strong, .floating-card span { display: block; }
.floating-card span { margin-top: .2rem; color: var(--muted); font-size: .86rem; }
.mini-proof { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.35rem; }
.mini-proof span { display: inline-flex; align-items: center; gap: .4rem; padding: .48rem .72rem; background: #fff; border: .0625rem solid var(--line); border-radius: .75rem; color: var(--burgundy); font-size: .78rem; font-weight: 600; }
.mini-proof svg { width: .98rem; height: .98rem; color: var(--burgundy-2); }

.icon-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  padding-top: 2.6rem;
  padding-bottom: 2.6rem;
  background: var(--paper);
}
.icon-strip article,
.process-steps article,
.reviews-grid article,
.quick-facts article {
  padding: 1.15rem;
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 .8rem 2rem rgba(27, 7, 11, .045);
}
.icon-strip span:not(.icon-badge), .process-steps span, .course-card span, .reviews-grid span, .post-card span, .search-results span {
  display: inline-flex;
  margin-bottom: .55rem;
  color: var(--burgundy-2);
  font-family: var(--heading);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.icon-strip article { position: relative; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.icon-strip article:hover { transform: translateY(-.18rem); box-shadow: 0 1rem 2.3rem rgba(27, 7, 11, .08); }
.icon-badge {
  width: 3.35rem;
  height: 3.35rem;
  display: inline-grid;
  place-items: center;
  margin-bottom: .85rem;
  color: var(--burgundy);
  background: var(--gold-soft);
  border: .0625rem solid rgba(184, 121, 66, .18);
  border-radius: 1rem;
}
.icon-badge svg { width: 1.65rem; height: 1.65rem; stroke-width: 1.85; }
.icon-strip strong { display: block; font-family: var(--heading); font-weight: 700; color: var(--burgundy); }
.icon-strip p { margin-top: .2rem; font-size: .88rem; }

.split-section,
.page-hero,
.lesson-page-hero,
.contact-page {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 3.3rem;
  align-items: center;
}
.section-media img,
.page-hero img,
.lesson-page-hero img {
  aspect-ratio: 4 / 3.6;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.section-copy p, .page-hero p, .lesson-page-hero p, .contact-copy p { max-width: 44rem; margin-top: 1rem; font-size: 1.02rem; }
.clean-list { display: grid; gap: .55rem; padding: 0; margin: 1.3rem 0 0; list-style: none; }
.clean-list li { padding: .78rem .9rem; background: var(--soft); border: .0625rem solid var(--line); border-radius: .8rem; color: var(--burgundy); font-size: .9rem; font-weight: 600; }

.process-section, .reviews-section { background: var(--soft); }
.founder-section,
.philosophy-section,
.affiliations-section,
.who-section { background: var(--paper); }
.section-heading { margin-bottom: 2rem; }
.inline-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.inline-heading .btn { margin-top: .2rem; white-space: nowrap; }
.inline-heading > p { max-width: 29rem; }
.centered-heading {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.centered-heading h1,
.centered-heading h2 { max-width: 50rem; margin-left: auto; margin-right: auto; }
.centered-heading p:not(.eyebrow) { max-width: 44rem; margin: 1rem auto 0; }
.centered-heading .btn { margin-top: 1.4rem; }
.section-lede {
  max-width: 52rem;
  margin: -1rem 0 2rem;
  font-size: 1.03rem;
}
.process-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.academy-quote {
  max-width: 52rem;
  margin: 2rem 0 0;
  padding: 1.4rem;
  color: var(--burgundy);
  background: var(--soft);
  border-left: .25rem solid var(--gold);
  border-radius: var(--radius);
  font-family: var(--heading);
  font-size: 1.35rem;
  font-weight: 700;
}
.founder-grid {
  display: grid;
  grid-template-columns: minmax(20rem, .82fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
}
.founder-portrait {
  position: relative;
  margin: 0;
}
.founder-portrait img {
  aspect-ratio: 4 / 4.6;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.founder-portrait figcaption {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  padding: .9rem 1rem;
  color: var(--cream);
  background: rgba(48, 2, 12, .82);
  border: .0625rem solid rgba(239, 203, 157, .22);
  border-radius: .95rem;
  font-size: .86rem;
  line-height: 1.45;
  backdrop-filter: blur(.55rem);
}
.founder-copy {
  padding: clamp(1rem, 2vw, 1.8rem);
}
.founder-intro {
  margin-top: 1rem;
  max-width: 47rem;
  font-size: 1.03rem;
}
.founder-highlights {
  display: grid;
  gap: .75rem;
  padding: 0;
  margin: 1.5rem 0 0;
  list-style: none;
}
.founder-highlights li {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  padding: .85rem;
  color: var(--burgundy);
  background: linear-gradient(90deg, var(--soft), #fff);
  border: .0625rem solid var(--line);
  border-radius: .9rem;
  font-size: .94rem;
}
.founder-highlights svg {
  width: 1.2rem;
  height: 1.2rem;
  margin-top: .15rem;
  color: var(--gold-deep);
}
.founder-copy .btn { margin-top: 1.4rem; }

.courses-section { background: var(--paper); }
.course-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(15.5rem, 1fr));
  gap: 1rem;
}
.course-page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  background: var(--soft);
}
.course-card {
  overflow: hidden;
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.course-card img { aspect-ratio: 4 / 3; object-fit: cover; }
.course-card div { display: flex; flex-direction: column; min-height: 18.5rem; padding: 1rem; }
.course-card h2 { font-size: 1.25rem; }
.course-card h3 { min-height: 2.7rem; }
.course-card p { margin-top: .55rem; font-size: .92rem; }
.course-card a { display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; color: var(--burgundy); font-family: var(--heading); font-size: .82rem; font-weight: 700; text-decoration: none; }
.course-card a svg { width: .95rem; height: .95rem; transition: transform .18s ease; }
.course-card a:hover svg { transform: translateX(.16rem); }
.course-card .btn { width: 100%; color: var(--burgundy); }
.course-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  padding: 0;
  margin: .9rem 0 1rem;
  list-style: none;
}
.course-meta li {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  padding: .36rem .5rem;
  color: var(--burgundy);
  background: var(--soft);
  border: .0625rem solid var(--line);
  border-radius: .65rem;
  font-size: .76rem;
  font-weight: 600;
}
.course-meta svg { width: .85rem; height: .85rem; color: var(--burgundy-2); }

.wide-feature {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: 0;
  align-items: stretch;
  padding-top: 0;
  padding-bottom: 0;
  background: var(--burgundy);
  color: var(--cream);
}
.wide-feature img { height: 100%; min-height: 22rem; max-height: 29rem; object-fit: cover; opacity: .74; }
.wide-feature div { display: flex; flex-direction: column; justify-content: center; padding: 3rem 0 3rem 3rem; }
.wide-feature .eyebrow { color: var(--gold); }
.wide-feature p { color: rgba(255, 247, 234, .78); margin-top: .9rem; }
.wide-feature .btn { align-self: flex-start; }

.simple-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.reviews-grid p { margin: .75rem 0; }
.reviews-grid strong { color: var(--burgundy); font-size: .9rem; }
.privacy-note {
  max-width: 50rem;
  margin: 1rem auto 1.4rem;
  font-size: .9rem;
  text-align: center;
}
.reviews-section { text-align: center; }
.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
}
.badge-row span {
  padding: .85rem 1rem;
  color: var(--burgundy);
  background: var(--soft);
  border: .0625rem solid var(--line);
  border-radius: .85rem;
  font-family: var(--heading);
  font-size: .86rem;
  font-weight: 600;
}
.audience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin: 2rem 0 1.5rem;
}
.audience-grid article {
  overflow: hidden;
  padding: 0;
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 .8rem 2rem rgba(27, 7, 11, .045);
}
.audience-grid img { aspect-ratio: 4 / 3; object-fit: cover; }
.audience-grid h3, .audience-grid p { padding-left: 1.05rem; padding-right: 1.05rem; }
.audience-grid h3 { padding-top: 1rem; }
.audience-grid p { padding-bottom: 1.1rem; margin-top: .55rem; }

.final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  background: linear-gradient(90deg, var(--beige), var(--soft));
}
.refined-cta {
  position: relative;
  overflow: hidden;
  color: var(--cream);
  background: linear-gradient(120deg, rgba(48, 2, 12, .96), rgba(90, 24, 37, .9)), url("https://yomamusic.com/wp-content/uploads/2026/06/Photo-of-Yarima-Orellana-with-students-from-music-classes-1.webp") center / cover;
}
.refined-cta .eyebrow { color: var(--gold); }
.refined-cta p, .refined-cta small { color: rgba(255, 247, 234, .82); }
.final-cta div { max-width: 46rem; }
.final-cta p:not(.eyebrow) { margin-top: .7rem; }
.final-cta small {
  display: block;
  margin-top: .75rem;
  color: var(--burgundy);
  font-weight: 700;
}

.page-hero { background: var(--soft); }
.page-hero.compact { grid-template-columns: 1fr; }
.page-hero.compact div { max-width: 58rem; }
.story-layout {
  display: grid;
  grid-template-columns: 18rem minmax(0, 1fr);
  gap: 3rem;
}
.story-layout aside {
  position: sticky;
  top: 6rem;
  align-self: start;
  padding: 1.2rem;
  background: var(--burgundy);
  color: var(--cream);
  border-radius: var(--radius);
}
.story-layout aside p { margin-top: .5rem; color: rgba(255,247,234,.78); }
.story-flow { display: grid; gap: 1rem; }
.story-flow article { padding-bottom: 1.5rem; border-bottom: .0625rem solid var(--line); }
.story-flow h2 { font-size: 1.55rem; }
.story-flow p { margin-top: .65rem; }
.about-intro-section { background: var(--paper); }
.about-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.about-values article {
  padding: 1.25rem;
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 .8rem 2rem rgba(27, 7, 11, .045);
}
.about-values svg { width: 1.55rem; height: 1.55rem; color: var(--burgundy-2); }
.about-values h3 { margin-top: .8rem; }
.about-values p { margin-top: .45rem; }
.about-philosophy { background: var(--soft); }
.philosophy-flow {
  max-width: 58rem;
  margin: 0 auto;
}
.philosophy-flow > p { text-align: center; font-size: 1.03rem; }
.philosophy-flow ol {
  display: grid;
  gap: .75rem;
  padding: 0;
  margin: 2rem 0;
  list-style: none;
  counter-reset: philosophy;
}
.philosophy-flow li {
  counter-increment: philosophy;
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: .0625rem solid var(--line);
}
.philosophy-flow li::before {
  content: "0" counter(philosophy);
  color: var(--gold-deep);
  font-family: var(--heading);
  font-weight: 700;
}
.philosophy-flow strong,
.philosophy-flow span { display: block; }
.philosophy-flow span { margin-top: .25rem; color: var(--muted); }
.philosophy-flow blockquote {
  margin: 0;
  padding: 1.35rem;
  color: var(--burgundy);
  background: #fff;
  border-left: .25rem solid var(--gold);
  border-radius: var(--radius);
  font-family: var(--heading);
  font-size: 1.2rem;
}

.contact-page { align-items: start; background: var(--soft); }
.redesigned-contact { grid-template-columns: minmax(0, .95fr) minmax(20rem, .8fr); }
.contact-methods {
  display: grid;
  gap: .75rem;
  margin: 1.6rem 0;
}
.contact-methods article {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  gap: .8rem;
  align-items: center;
  padding: .9rem;
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: .95rem;
}
.contact-methods svg { width: 1.25rem; height: 1.25rem; color: var(--burgundy-2); }
.contact-methods strong, .contact-methods span { display: block; }
.contact-methods span { color: var(--muted); font-size: .9rem; }
.contact-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: 1.6rem 0; }
.contact-facts article { padding: 1rem; background: #fff; border: .0625rem solid var(--line); border-radius: var(--radius); }
.contact-facts strong, .contact-facts span { display: block; }
.contact-facts strong { color: var(--burgundy); font-family: var(--heading); font-size: .86rem; }
.contact-facts span { margin-top: .25rem; color: var(--muted); font-size: .86rem; }
.contact-form {
  padding: 1.4rem;
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.contact-form h2 { margin-bottom: 1rem; font-size: 1.55rem; }
.contact-form label { display: grid; gap: .35rem; margin-bottom: .82rem; color: var(--burgundy); font-size: .84rem; font-weight: 600; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%;
  padding: .82rem .9rem;
  color: var(--ink);
  background: #fff;
  border: .0625rem solid rgba(48, 2, 12, .16);
  border-radius: .85rem;
}
.contact-form button { width: 100%; margin-top: .5rem; border: 0; }

.lesson-page-hero { background: var(--soft); }
.quick-facts {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: .8rem;
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}
.quick-facts article { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .75rem; }
.fact-icon {
  width: 2.65rem;
  height: 2.65rem;
  display: inline-grid;
  place-items: center;
  color: var(--burgundy-2);
  background: var(--gold-soft);
  border: .0625rem solid rgba(184, 121, 66, .18);
  border-radius: .85rem;
}
.fact-icon svg { width: 1.25rem; height: 1.25rem; stroke-width: 2; }
.quick-facts strong { display: block; color: var(--burgundy); font-family: var(--heading); font-size: .78rem; font-weight: 700; }
.quick-facts span:not(.fact-icon) { display: block; margin-top: .2rem; color: var(--muted); font-size: .86rem; }
.lesson-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24rem;
  gap: 2rem;
}
.lesson-main { display: grid; gap: 1.4rem; }
.lesson-main article { padding-bottom: 1.2rem; border-bottom: .0625rem solid var(--line); }
.lesson-main h2 { font-size: 1.55rem; }
.lesson-main p { margin-top: .6rem; }
.lesson-intro-card {
  padding: 1.25rem;
  background: var(--soft);
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
}
.lesson-schedule div {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: .9rem;
  padding: .85rem 0;
  border-top: .0625rem solid var(--line);
}
.lesson-schedule span {
  color: var(--gold-deep);
  font-family: var(--heading);
  font-weight: 700;
}
.lesson-form { position: sticky; top: 6rem; align-self: start; }
.faq-block { padding-top: .2rem; }
.faq-heading { margin-bottom: 1rem; }
.faq-heading h2 { font-size: 1.55rem; }
.faq { background: #fff; border: .0625rem solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: 0 .8rem 2rem rgba(27, 7, 11, .045); }
.accordion { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; color: var(--burgundy); background: transparent; border: 0; border-top: .0625rem solid var(--line); text-align: left; font-family: var(--heading); font-weight: 700; cursor: pointer; }
.accordion svg { width: 1.05rem; height: 1.05rem; transition: transform .18s ease; }
.accordion[aria-expanded="true"] svg { transform: rotate(45deg); }
.accordion:first-child { border-top: 0; }
.accordion-panel { display: none; padding: 0 1rem 1rem; }
.accordion[aria-expanded="true"] + .accordion-panel { display: block; }

.archive-search {
  display: flex;
  gap: .7rem;
  width: min(42rem, 100%);
  margin-top: 1.6rem;
  padding: .55rem;
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: 999rem;
  box-shadow: 0 .8rem 2rem rgba(27, 7, 11, .06);
}
.archive-search input {
  flex: 1;
  min-width: 0;
  padding: 0 .9rem;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
}
.blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: 2rem;
}
.post-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem;
}
.post-card {
  overflow: hidden;
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.post-card img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.post-card div { padding: 1.1rem; }
.post-card h2 { font-size: 1.25rem; }
.post-card h2 a,
.search-results h2 a { text-decoration: none; }
.post-card p { margin-top: .55rem; font-size: .94rem; }
.featured-post {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}
.featured-post img { height: 100%; aspect-ratio: auto; }
.archive-sidebar {
  display: grid;
  gap: 1rem;
  align-self: start;
  position: sticky;
  top: 6rem;
}
.archive-sidebar section {
  padding: 1.1rem;
  background: var(--soft);
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
}
.archive-sidebar h2 {
  margin-bottom: .8rem;
  font-size: 1.05rem;
}
.archive-sidebar a,
.sitemap-grid a {
  display: block;
  padding: .5rem 0;
  color: var(--burgundy);
  font-weight: 700;
  text-decoration: none;
}
.single-post {
  padding-left: max(5%, calc((100vw - 1400px) / 2));
  padding-right: max(5%, calc((100vw - 1400px) / 2));
}
.post-hero {
  max-width: 62rem;
  margin: 0 auto;
  padding: 4.5rem 0 2rem;
}
.post-hero h1 { max-width: 60rem; }
.post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1rem;
  color: var(--burgundy-2);
  font-weight: 700;
}
.post-hero img {
  margin-top: 2rem;
  aspect-ratio: 16 / 8;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.post-body-layout {
  display: grid;
  grid-template-columns: 17rem minmax(0, 43rem);
  gap: 3rem;
  justify-content: center;
  padding: 2rem 0 4rem;
}
.post-toc {
  position: sticky;
  top: 6rem;
  align-self: start;
  padding: 1rem;
  background: var(--soft);
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
}
.post-toc strong,
.post-toc a { display: block; }
.post-toc a {
  margin-top: .6rem;
  color: var(--burgundy);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.post-sidebar { display: grid; gap: .7rem; }
.post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding-top: .7rem;
  border-top: .0625rem solid var(--line);
}
.post-tags strong { flex-basis: 100%; }
.post-tags span {
  padding: .3rem .48rem;
  color: var(--burgundy);
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: .55rem;
  font-size: .78rem;
}
.author-card {
  padding-top: .8rem;
  border-top: .0625rem solid var(--line);
}
.author-card p { margin-top: .35rem; font-size: .88rem; }
.post-content .lead {
  color: var(--ink);
  font-size: 1.15rem;
}
.post-content h2 {
  margin-top: 2rem;
  font-size: 1.65rem;
}
.post-content p,
.post-content li {
  margin-top: .8rem;
  color: rgba(25, 19, 19, .76);
}
.post-content blockquote {
  margin: 1.5rem 0;
  padding: 1.2rem;
  color: var(--burgundy);
  background: var(--soft);
  border-left: .25rem solid var(--gold);
  border-radius: var(--radius);
  font-family: var(--heading);
  font-weight: 700;
}
.comment-area {
  margin-top: 2rem;
  padding: 1.25rem;
  background: var(--soft);
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
}
.comment-form { display: grid; gap: .8rem; margin-top: 1rem; }
.comment-form label { display: grid; gap: .35rem; color: var(--burgundy); font-weight: 600; }
.comment-form input, .comment-form textarea { width: 100%; padding: .8rem .9rem; border: .0625rem solid rgba(48, 2, 12, .16); border-radius: .85rem; }
.related-posts { background: var(--soft); }
.mini-post-grid { grid-template-columns: repeat(2, 1fr); }
.landing-page .site-header .btn-primary { background: var(--gold); color: var(--burgundy); }
.landing-header .brand { scroll-margin-top: 5rem; }
.landing-hero h1 { max-width: 46rem; }
.landing-proof { border-bottom: .0625rem solid var(--line); }
.landing-courses .course-card .btn { margin-top: auto; }
.landing-stage .btn { margin-top: 1.4rem; }
.landing-request {
  background: linear-gradient(180deg, var(--soft), var(--paper));
}
.landing-form {
  max-width: 58rem;
  margin: 0 auto;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem 1rem;
}
.landing-form .button-row {
  justify-content: center;
}
.search-results {
  display: grid;
  gap: 1rem;
  background: var(--paper);
}
.search-results article {
  padding: 1.25rem;
  background: #fff;
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 .8rem 2rem rgba(27, 7, 11, .045);
}
.search-results h2 { font-size: 1.35rem; }
.search-results p { margin-top: .45rem; }
.sitemap-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  background: var(--paper);
}
.sitemap-grid article {
  padding: 1.2rem;
  background: var(--soft);
  border: .0625rem solid var(--line);
  border-radius: var(--radius);
}
.sitemap-grid h2 {
  margin-bottom: .7rem;
  font-size: 1.12rem;
}
.sitemap-grid i { color: var(--burgundy); }

.site-footer {
  display: grid;
  grid-template-columns: minmax(16rem, .75fr) minmax(0, 1.25fr);
  justify-content: space-between;
  gap: 2rem;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  color: rgba(255,247,234,.8);
  background: var(--burgundy);
}
.site-footer strong { color: var(--gold); font-family: var(--heading); }
.footer-logo {
  width: 11rem;
  max-width: 55vw;
  height: auto;
}
.site-footer p { max-width: 24rem; margin-top: .35rem; color: rgba(255,247,234,.72); }
.site-footer nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.site-footer h2 {
  margin: 0 0 .6rem;
  color: var(--gold);
  font-family: var(--heading);
  font-size: .9rem;
}
.site-footer a { color: rgba(255,247,234,.82); text-decoration: none; font-weight: 600; font-size: .86rem; }
.site-footer nav a { display: block; margin-top: .35rem; }

.mobile-sticky-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  display: none;
  grid-template-columns: 1fr 1fr;
  background: var(--burgundy);
}
.mobile-sticky-cta a { min-height: 3.45rem; display: grid; place-items: center; color: var(--gold); text-decoration: none; font-family: var(--heading); font-size: .86rem; font-weight: 700; }
.mobile-sticky-cta a + a { background: var(--gold); color: var(--burgundy); }

@media (max-width: 1080px) {
  .site-nav { gap: .8rem; }
  .home-hero, .split-section, .page-hero, .lesson-page-hero, .contact-page, .wide-feature, .redesigned-contact { grid-template-columns: 1fr; }
  .founder-grid { grid-template-columns: 1fr; }
  .about-values { grid-template-columns: 1fr; }
  .audience-grid { grid-template-columns: repeat(2, 1fr); }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer nav { grid-template-columns: repeat(2, 1fr); }
  .wide-feature div { padding: 3rem 0; }
  .course-rail { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; }
  .course-rail .course-card { min-width: 17rem; scroll-snap-align: start; }
  .icon-strip, .process-steps, .simple-reviews, .course-page-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-layout { grid-template-columns: 1fr; }
  .archive-sidebar { position: static; grid-template-columns: repeat(2, 1fr); }
  .sitemap-grid { grid-template-columns: repeat(2, 1fr); }
  .quick-facts { grid-template-columns: repeat(3, 1fr); }
  .lesson-content { grid-template-columns: 1fr; }
  .lesson-form { position: static; }
}

@media (max-width: 820px) {
  .menu-toggle { display: block; }
  .site-nav {
    position: fixed;
    inset: 4.7rem 5% auto;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: .15rem;
    padding: .75rem;
    background: var(--burgundy);
    border: .0625rem solid rgba(239, 203, 157, .22);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
  }
  .site-nav.open { display: flex; }
  .site-nav a { padding: .78rem; }
  .nav-cta { margin-left: 0; }
  .story-layout { grid-template-columns: 1fr; }
  .story-layout aside { position: static; }
}

@media (max-width: 640px) {
  section { padding-top: 3.4rem; padding-bottom: 3.4rem; }
  h1 { font-size: 2.25rem; }
  h2 { font-size: 1.85rem; }
  .home-hero { min-height: 0; padding-top: 2.5rem; gap: 2rem; }
  .home-hero { flex-direction: column; align-items: stretch; max-height: none; }
  .hero-bg-image { object-position: 62% center; }
  .hero-panel { padding: 1.2rem; }
  .hero-quick-card { align-self: stretch; }
  .hero-visual, .hero-visual img { min-height: 21rem; border-radius: var(--radius); }
  .floating-card { left: .9rem; right: .9rem; bottom: .9rem; max-width: none; }
  .button-row, .inline-heading, .final-cta, .site-footer { flex-direction: column; align-items: stretch; }
  .btn { width: 100%; }
  .mini-proof { display: grid; grid-template-columns: 1fr; }
  .icon-strip, .process-steps, .simple-reviews, .course-page-grid, .quick-facts, .contact-facts, .contact-methods, .audience-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .site-footer nav { grid-template-columns: 1fr; }
  .archive-search { flex-direction: column; border-radius: var(--radius); }
  .archive-search input { min-height: 2.7rem; }
  .post-grid, .featured-post, .mini-post-grid, .archive-sidebar, .sitemap-grid { grid-template-columns: 1fr; }
  .post-body-layout { grid-template-columns: 1fr; gap: 1rem; }
  .post-toc { position: static; }
  .philosophy-flow li { grid-template-columns: 1fr; gap: .35rem; }
  .post-hero img { aspect-ratio: 4 / 3; }
  .course-rail .course-card { min-width: 82%; }
  .section-media img, .page-hero img, .lesson-page-hero img { aspect-ratio: 4 / 3; }
  .clean-list li { border-radius: var(--radius); }
  .mobile-sticky-cta { display: grid; }
  body { padding-bottom: 3.45rem; }
}
