:root {
  --green: #10251a;
  --deep: #07160e;
  --gold: #c9a15a;
  --paper: #f7f2e8;
  --red: #b51915;
  --ink: #182219;
  --muted: #5d625b;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--green);
  color: var(--paper);
  font:
    17px/1.65 Arial,
    sans-serif;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea {
  outline-offset: 5px;
}
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--gold);
}
h1,
h2,
h3 {
  font-family: Georgia, serif;
  font-weight: 400;
  line-height: 1.08;
  margin: 0 0 24px;
}
h1 {
  font-size: clamp(2.7rem, 5.6vw, 5.5rem);
  letter-spacing: -0.04em;
}
h2 {
  font-size: clamp(2.2rem, 3.8vw, 3.9rem);
  letter-spacing: -0.035em;
}
h3 {
  font-size: 1.8rem;
}
p {
  margin: 0 0 22px;
}
.wrap {
  width: min(1240px, 90%);
  margin: auto;
}
.site-header {
  min-height: 105px;
  padding: 22px 3%;
  display: flex;
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid #c9a15a40;
  background: var(--deep);
}
.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--gold);
  flex-shrink: 0;
}
.brand-mark {
  font: 54px Georgia;
}
.brand small {
  display: block;
  font-size: 12px;
  letter-spacing: 0.25em;
}
.brand strong {
  display: block;
  font: 24px Georgia;
}
.brand em {
  font-size: 8px;
  letter-spacing: 0.12em;
  font-style: normal;
  display: block;
  margin-top: 5px;
}
nav {
  display: flex;
  gap: 18px;
  margin-left: auto;
  align-items: center;
}
.nav-link {
  font-size: 14px;
  line-height: 1.4;
}
.nav-link:hover,
.nav-link[aria-current="page"] {
  color: var(--gold);
}
.nav-link[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 8px;
}
.button {
  border: 1px solid var(--red);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 49px;
  padding: 13px 23px;
  background: var(--red);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.04em;
  cursor: pointer;
  border-radius: 3px;
  line-height: 1.3;
  transition:
    background 0.2s,
    transform 0.2s;
}
.button:hover {
  background: #95110e;
  transform: translateY(-1px);
}
.outline {
  border-color: var(--gold);
  background: transparent;
  color: var(--gold);
}
.outline:hover {
  background: #c9a15a18;
}
.secondary {
  background: transparent;
  color: var(--ink);
  border-color: var(--ink);
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 30px;
}
.hero {
  position: relative;
  min-height: 650px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-art {
  position: absolute;
  inset: 0;
  background: url("assets/hero.jpg") center/cover;
}
.hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    #07160efa 0%,
    #07160ed9 32%,
    #07160e60 62%,
    #07160e10 100%
  );
}
.hero-content {
  position: relative;
  z-index: 1;
  padding: 75px 0;
}
.hero-content h1 span {
  color: var(--gold);
}
.hero-content .lead {
  max-width: 560px;
}
.lead {
  font-size: 1.15rem;
  max-width: 750px;
  line-height: 1.7;
}
.eyebrow {
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.22em;
  font-weight: bold;
  color: var(--gold);
  margin-bottom: 20px;
}
.hero-caption {
  position: absolute;
  z-index: 1;
  right: 5%;
  bottom: 22px;
  font-size: 12px;
  letter-spacing: 0.12em;
  color: #e9d9bc;
}
.foundations {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
  text-align: center;
  padding: 28px 0;
}
.foundations span {
  font: 34px Georgia;
  color: var(--gold);
}
.foundations p {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 8px 0;
}
.paper {
  background: var(--paper);
  color: var(--ink);
  background-image: radial-gradient(#c9a15a0c 1px, transparent 1px);
  background-size: 7px 7px;
}
.paper .eyebrow {
  color: #8b6226;
}
.section {
  padding: 82px 0;
}
.centered {
  text-align: center;
}
.intro {
  max-width: 790px;
  margin: 0 auto 50px;
}
.principles {
  color: #875e24;
  font-size: 14px;
  font-weight: bold;
  margin-top: 30px;
}
.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.card {
  background: #fffaf2;
  border: 1px solid #d9cdb9;
  padding: 30px;
  box-shadow: 0 8px 25px #1c2b1910;
}
.card p:last-child {
  margin-bottom: 0;
}
.pathways .card {
  padding: 0;
  display: flex;
  flex-direction: column;
}
.card-body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card-body .button {
  margin-top: auto;
}
.card-image {
  height: 205px;
  background: url("assets/hero.jpg") center/cover;
}
.image-0 {
  background-position: 80% 90%;
}
.image-1 {
  background-position: 55% 35%;
}
.image-2 {
  background-position: 100% 100%;
}
.teacher-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: center;
}
.teacher-quote {
  border-left: 1px solid var(--gold);
  padding: 10px 0 10px 40px;
}
blockquote {
  font: clamp(1.7rem, 2.6vw, 2.4rem) / 1.4 Georgia;
  margin: 0;
  color: #e9d8b5;
}
.journey {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
  margin-top: 45px;
}
.step {
  font: 42px Georgia;
  color: #9b762f;
}
.journey h3 {
  margin-top: 16px;
}
.text-link {
  color: var(--red);
  font-size: 14px;
  text-transform: uppercase;
  font-weight: bold;
  border-bottom: 1px solid #b519153f;
  padding-bottom: 6px;
}
.text-link:hover {
  border-color: var(--red);
}
.family {
  margin-top: 65px;
  border-top: 1px solid #d3c4aa;
  padding-top: 55px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.family h2 {
  margin: 0;
}
.session {
  background:
    linear-gradient(90deg, #07160eeb, #10251ae8),
    url("assets/hero.jpg") center/cover;
}
.session p:not(.eyebrow) {
  max-width: 680px;
  margin: 0 auto 28px;
}
.bottom-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 90px;
}
.newsletter {
  border-left: 1px solid #d0b990;
  padding-left: 45px;
}
.newsletter-fields {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 14px;
}
.newsletter-form label span {
  color: var(--muted);
  font-size: 12px;
  font-weight: normal;
}
.newsletter-submit {
  width: 100%;
  margin-top: 14px;
}
.mailchimp-trap {
  position: absolute;
  left: -5000px;
}
label {
  display: block;
  font-size: 14px;
  font-weight: bold;
  margin: 18px 0 7px;
}
input,
select,
textarea {
  width: 100%;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid #bdb9ad;
  color: var(--ink);
  border-radius: 2px;
  min-width: 0;
}
textarea {
  resize: vertical;
}
.form-note {
  font-size: 13px;
  margin-top: 12px;
  color: var(--muted);
}
.feedback {
  font-size: 15px;
  color: #815415;
  margin-top: 18px;
}
footer {
  padding: 42px 0 22px;
}
.footer-top {
  display: flex;
  justify-content: space-between;
  gap: 35px;
  align-items: center;
}
.footer-nav {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #c9a15a25;
  margin-top: 30px;
  padding-top: 22px;
  font-size: 12px;
  color: #d5c49e;
}
.footer-bottom p {
  margin: 0;
}
.page-banner {
  padding: 75px 0;
  background:
    linear-gradient(100deg, #07160ef5, #10251acf),
    url("assets/hero.jpg") center 45% / cover;
}
.page-banner h1 {
  max-width: 950px;
  font-size: clamp(2.7rem, 4.8vw, 4.8rem);
}
.page-banner .lead {
  margin-bottom: 0;
}
.notice {
  background: #efe3ce;
  border-left: 3px solid #a67b35;
  padding: 20px 24px;
  margin: 28px 0;
  color: #58492c;
  font-size: 15px;
}
.form-layout {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  max-width: 1050px;
}
.form-layout .notice {
  margin-top: 0;
}
.form-layout aside {
  padding: 35px;
  border: 1px solid #d8c8ac;
  align-self: start;
}
.form-layout button {
  margin-top: 22px;
}
.booking-section {
  padding: 74px 0;
}
.session-card {
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(38px, 6vw, 72px);
  border: 1px solid #d7c39b;
  border-top: 9px solid var(--gold);
  border-radius: 28px 28px 8px 8px;
  background: var(--green);
  color: var(--paper);
  text-align: center;
  box-shadow: 0 24px 65px #31271120;
}
.session-card .eyebrow {
  color: var(--gold);
}
.session-card h2 {
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
  color: #fffaf0;
}
.session-summary {
  max-width: 680px;
  margin: 0 auto 34px;
  color: #e7dece;
  font-size: 1.08rem;
}
.session-booking-button {
  display: flex;
  width: min(620px, 100%);
  min-height: 92px;
  margin: 38px auto 0;
  padding: 19px 34px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 2px solid #dc6863;
  border-radius: 6px;
  background: var(--red);
  color: #fff;
  font-weight: bold;
  text-align: center;
  box-shadow:
    0 0 0 5px #b5191525,
    0 12px 30px #00000038;
  transition:
    background 0.2s,
    transform 0.2s,
    box-shadow 0.2s;
}
.session-booking-button:hover {
  background: #d02721;
  transform: translateY(-3px);
  box-shadow:
    0 0 0 7px #b5191538,
    0 16px 34px #00000045;
}
.booking-button-title {
  font-family: Georgia, serif;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  letter-spacing: 0.025em;
}
.booking-button-meta {
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.session-fineprint {
  margin: 22px 0 0;
  color: #cfc4b1;
  font-size: 0.85rem;
}
.social-follow {
  padding: 58px 0;
  border-top: 1px solid #c9a15a33;
  background: var(--deep);
}
.social-follow-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}
.social-follow h2 {
  margin-bottom: 12px;
  font-size: clamp(2rem, 3.4vw, 3.2rem);
}
.social-follow p:last-child {
  max-width: 660px;
  margin-bottom: 0;
  color: #d8cfbf;
}
.youtube-subscribe {
  display: inline-flex;
  min-width: 240px;
  min-height: 76px;
  padding: 14px 24px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 2px solid #e34c47;
  border-radius: 6px;
  background: var(--red);
  color: #fff;
  box-shadow: 0 10px 28px #00000035;
  transition:
    background 0.2s,
    transform 0.2s;
}
.youtube-subscribe:hover {
  background: #d02721;
  transform: translateY(-2px);
}
.youtube-icon {
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--red);
}
.youtube-icon svg {
  width: 26px;
  height: 26px;
  fill: currentColor;
}
.youtube-subscribe strong,
.youtube-subscribe small {
  display: block;
}
.youtube-subscribe strong {
  font-family: Georgia, serif;
  font-size: 1.25rem;
}
.youtube-subscribe small {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.menu-toggle {
  display: none;
}
.skip {
  position: absolute;
  left: 10px;
  top: -80px;
  background: white;
  color: black;
  padding: 10px;
  z-index: 10;
}
.skip:focus {
  top: 10px;
}
[hidden] {
  display: none !important;
}
@media (max-width: 1150px) {
  .site-header {
    flex-wrap: wrap;
    gap: 18px;
  }
  nav {
    order: 3;
    flex-basis: 100%;
    justify-content: center;
  }
  .header-book {
    margin-left: auto;
  }
  .hero {
    min-height: 600px;
  }
}
@media (max-width: 800px) {
  .cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .pathways .card:last-child {
    grid-column: 1/-1;
  }
  .teacher-grid,
  .family,
  .bottom-grid,
  .form-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .section {
    padding: 55px 0;
  }
  .journey {
    gap: 25px;
  }
  .newsletter {
    padding: 30px 0 0;
    border-left: 0;
    border-top: 1px solid #d0b990;
  }
  .newsletter-fields {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .footer-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .social-follow-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .foundations {
    grid-template-columns: repeat(3, 1fr);
  }
  .hero-content .lead {
    max-width: 500px;
  }
  .hero:after {
    background: linear-gradient(90deg, #07160ef0, #07160e95);
  }
  .hero-caption {
    display: none;
  }
}
@media (max-width: 600px) {
  body {
    font-size: 16px;
  }
  .booking-section .wrap {
    width: 92%;
  }
  .session-card {
    padding: 34px 22px;
    border-top-width: 7px;
    border-radius: 20px 20px 7px 7px;
  }
  .session-booking-button {
    width: 100%;
    padding: 17px 16px;
  }
  .youtube-subscribe {
    width: 100%;
  }
  .site-header {
    padding: 17px 5%;
    gap: 15px;
  }
  .brand strong {
    font-size: 19px;
  }
  .brand-mark {
    font-size: 38px;
  }
  .brand em {
    font-size: 7px;
  }
  .header-book {
    display: none;
  }
  .menu-toggle {
    display: block;
    margin-left: auto;
    background: transparent;
    border: 1px solid var(--gold);
    color: var(--gold);
    padding: 9px 13px;
    border-radius: 2px;
  }
  nav {
    display: none;
    align-items: stretch;
    gap: 0;
    padding: 8px 0;
  }
  nav.open {
    display: flex;
    flex-direction: column;
  }
  nav a {
    padding: 12px;
    font-size: 16px;
  }
  .hero {
    min-height: 620px;
  }
  .hero-content {
    padding: 55px 0;
  }
  .hero h1 {
    font-size: 3.2rem;
  }
  .hero .actions {
    flex-direction: column;
    align-items: flex-start;
  }
  .foundations {
    gap: 16px;
  }
  .foundations p {
    font-size: 11px;
  }
  .cards,
  .journey {
    grid-template-columns: 1fr;
  }
  .pathways .card:last-child {
    grid-column: auto;
  }
  .journey article {
    border-bottom: 1px solid #d9cdb9;
    padding-bottom: 25px;
  }
  .teacher-quote {
    padding-left: 24px;
  }
  .input-row {
    flex-direction: column;
  }
  .input-row .button {
    align-self: start;
  }
  .page-banner {
    padding: 55px 0;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 12px;
  }
  .footer-nav {
    gap: 16px 22px;
  }
  .card {
    padding: 25px;
  }
  .family {
    gap: 22px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .button {
    transition: none;
  }
}

/* Resources research library */
.resources-banner {background: radial-gradient(ellipse at 70% 30%, #37513766, transparent 65%), linear-gradient(100deg,#101813f2,#10251ad9),url("assets/hero.jpg") center 45%/cover;}
.resource-paths {margin-bottom: 76px;}
.resource-paths .card {display:flex;flex-direction:column;}
.resource-paths .text-link {margin-top:auto;align-self:flex-start;}
.library-intro {max-width:850px; margin-bottom:64px;}
.library-intro h2 {margin-bottom:20px;}
.library-jumps {display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.library-jumps a {border:1px solid #ac8547;padding:12px 18px;font-size:15px;min-height:44px;}
.library-jumps a:hover {background:#eee3cf;}
.library-collection {margin-top:68px;scroll-margin-top:30px;}
.collection-heading {max-width:900px;margin-bottom:30px;}
.collection-heading h2 {font-size:clamp(2rem,3.2vw,3rem);}
.research-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.research-card {background:#fffaf2;border:1px solid #d9cdb9;padding:26px 23px;display:flex;flex-direction:column;min-width:0;}
.research-card .eyebrow {font-size:10px;letter-spacing:.12em;line-height:1.6;min-height:32px;}
.research-card h3 {font-size:1.65rem;line-height:1.15;}
.research-card p {font-size:15px;line-height:1.7;}
.research-why {border-top:1px solid #d9cdb9;padding-top:20px;margin-top:4px;}
.research-why h4 {font:700 10px/1.5 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#77591f;margin:0 0 10px;}
.research-card .source-label {font-size:12px;color:#626457;margin-top:auto;padding-top:14px;}
.research-card .text-link {font-size:12px;line-height:1.2;letter-spacing:.11em;text-transform:uppercase;color:#294b35;border-bottom:1px solid #c9a15a;min-height:36px;display:inline-flex;align-items:center;gap:9px;align-self:flex-start;white-space:nowrap;}
.research-card .text-link:hover {color:#7b5a20;border-bottom-color:#7b5a20;}
.library-note {font-size:14px;color:#5d625b;max-width:850px;margin:30px 0 64px;}
.resources-newsletter {padding:38px;border:1px solid #cbb993;display:flex;align-items:center;gap:35px;justify-content:space-between;background:#ede5d7;}
.resources-newsletter h2 {font-size:2.2rem;margin-bottom:14px;}
.resources-newsletter p:last-child {margin-bottom:0;max-width:630px;}
.resources-newsletter .button {flex-shrink:0;text-align:center;}
#research-library {scroll-margin-top:30px;}
@media(max-width:1100px){.research-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.resources-newsletter{flex-direction:column;align-items:flex-start;}}
@media(max-width:650px){.research-grid{grid-template-columns:1fr;}.resource-paths{margin-bottom:52px;}.library-intro{margin-bottom:40px;}.library-collection{margin-top:48px;}.research-card{padding:25px;}.research-card .eyebrow{min-height:0;}.resources-newsletter{padding:26px;}.resources-newsletter .button{width:100%;white-space:normal;}.library-jumps{flex-direction:column;}.resources-banner h1{font-size:clamp(2.6rem,10vw,3.4rem);}}
/* Dark Word To The Tribe panel */
.resources-newsletter {
  background: linear-gradient(120deg, #080e0b, #111a14);
  border: 1px solid #8e713d;
  color: #f7f2e8;
  box-shadow: 0 18px 42px rgba(7, 22, 14, .16);
}
.resources-newsletter .eyebrow { color: #c9a15a; }
.resources-newsletter h2 { color: #fffaf2; }
.resources-newsletter p { color: #ddd5c7; }
.resources-newsletter .button { background: #b51915; border-color: #b51915; color: #fff; }
.resources-newsletter .button:hover { background: #92140f; border-color: #c9a15a; }
/* Join the Resources newsletter panel directly to the footer */
[data-page="resources"] > .paper.section { padding-bottom: 0; }
.resources-newsletter {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 64px;
  padding: 50px max(5vw, calc((100vw - 1240px) / 2));
  background: var(--green);
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  box-shadow: none;
}
@media (max-width: 650px) {
  .resources-newsletter { margin-top: 48px; padding: 34px 5vw; }
}
/* Recommended footer transition: related dark shades without a divider */
.resources-newsletter {
  background: linear-gradient(110deg, #101a14 0%, #151c16 55%, #111712 100%);
  border: 0;
}
footer { background: #080f0b; }

/* Approved Resources page — 2026-10-04 */
.resources-path-section{background:#f7f2e8;padding:38px 0 14px;}
.resources-path-section .resource-paths{margin-bottom:0;}
.resources-path-section .card{background:#fbf7ef;border:1px solid #dfd3bd;min-height:175px;padding:20px 22px;}
.resources-path-section .card h3{font-size:clamp(1.55rem,2vw,2rem);}
.resources-path-section .card .eyebrow{color:#8a5b21;}
.resources-path-section .card .text-link{color:#9a5b18;}
.library-collection{margin-top:0;scroll-margin-top:30px;}
.resources-dark{background:#071710;padding:28px 0 10px;color:#fffaf2;}
.resources-light{background:#f7f2e8;padding:18px 0 16px;color:#171c18;}
.resource-heading-row{display:flex;align-items:center;gap:18px;margin:0 0 16px;}
.resource-heading-row h2{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.05;margin:0;color:#fffaf2;white-space:nowrap;}
.resource-heading-row h2:after{content:"";display:inline-block;width:58px;height:1px;background:#c99a3c;margin:0 14px 8px;}
.resource-heading-row p{font:700 11px/1.4 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#d9a53d;margin:0;}
.resource-heading-row.light h2{color:#171c18;}
.resource-heading-row.light p{color:#9a5b18;}
.approved-grid{gap:16px;}
.approved-grid .research-card{padding:0;overflow:hidden;min-height:390px;}
.approved-grid .research-card img{width:100%;height:118px;object-fit:cover;display:block;}
.resource-card-body{padding:17px 17px 15px;display:flex;flex-direction:column;flex:1;}
.approved-grid .research-card h3{font-size:1.45rem;line-height:1.08;margin:0 0 13px;}
.approved-grid .research-card p{font-size:14px;line-height:1.35;margin:0 0 18px;}
.approved-grid .research-card .text-link{margin-top:auto;font:600 14px/1.2 Georgia,serif;letter-spacing:0;text-transform:none;border:0;min-height:auto;color:#d7a43d;}
.dark-card{background:#071710;border:1px solid #5b563a;color:#fffaf2;}
.dark-card h3{color:#fffaf2;}
.dark-card p{color:#f2eee5;}
.light-card{background:#fbf7ef;border:1px solid #dfd3bd;color:#20231f;}
.light-card h3{color:#171c18;}
.light-card p{color:#55584f;}
.light-card .text-link{color:#9a5b18!important;}
.keep-investigating{border-top:4px solid #c6922e;background:linear-gradient(90deg,rgba(5,16,11,.98),rgba(8,20,13,.83)),url("assets/hero.jpg") center 58%/cover;padding:22px 0 28px;color:#fffaf2;}
.keep-copy{max-width:640px;}
.keep-copy .eyebrow{color:#e1ac3f;margin-bottom:6px;}
.keep-copy h2{font-size:clamp(2.35rem,4vw,3.5rem);color:#fffaf2;margin:0 0 10px;}
.keep-copy p{color:#f1eee7;line-height:1.42;margin-bottom:16px;}
.keep-copy .button{background:#b51915;border-color:#d32a25;color:#fff;padding:14px 28px;}
.keep-copy .button:hover{background:#92140f;border-color:#c9a15a;}
.keep-copy .keep-tagline{font-family:Georgia,serif;font-style:italic;color:#d8a33a;margin:14px 0 0;}
@media(max-width:900px){.resource-heading-row{display:block}.resource-heading-row h2{white-space:normal}.resource-heading-row h2:after{display:none}.resource-heading-row p{margin-top:8px}.approved-grid .research-card{min-height:360px}}
@media(max-width:650px){.resources-path-section{padding:24px 0 8px}.resources-path-section .card{min-height:0}.resources-dark{padding-top:24px}.resources-light{padding-top:24px}.approved-grid .research-card{min-height:0}.approved-grid .research-card img{height:170px}.keep-investigating{padding:28px 0 34px}.keep-copy .button{width:100%;text-align:center}}

/* Compact Resources navigation cards — approved 2026-10-05 */
.resources-path-section{padding:24px 0 12px;}
.resources-path-section .resource-paths{gap:20px;}
.resources-path-section .card{min-height:108px;padding:18px 22px;justify-content:space-between;}
.resources-path-section .card > h3,
.resources-path-section .card > p:not(.eyebrow){display:none;}
.resources-path-section .card .eyebrow{margin:0 0 18px;}
.resources-path-section .card .text-link{margin-top:0;}
@media(max-width:650px){
  .resources-path-section .card{min-height:96px;padding:16px 18px;}
  .resources-path-section .card .eyebrow{margin-bottom:14px;}
}

/* Approved Contact / Private Sessions experience */
.contact-experience { position: relative; overflow: hidden; background: linear-gradient(90deg,#f7f0e3 0%,#fffaf0 50%,#f5ead6 100%); }
.contact-split { display:grid; grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr); gap:38px; max-width:1180px; }
.contact-general h2,.private-sessions-panel h2 { color:#10261b; font-size:clamp(2rem,3.2vw,3.15rem); margin:.15em 0 .3em; }
.contact-intro { max-width:600px; color:#4f4a3e; margin:0 0 28px; }
.contact-form { display:grid; }
.contact-form label { font-weight:700; margin:12px 0 7px; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid #cbbda3; background:#fff; padding:14px 16px; font:inherit; color:#17251d; }
.contact-form textarea { resize:vertical; }
.contact-submit,.private-book { width:100%; margin-top:18px; display:flex; justify-content:center; align-items:center; gap:18px; text-align:center; }
.contact-note { margin:14px 0 0; font-size:13px; color:#6a5a3b; }
.contact-divider { position:relative; display:flex; align-items:center; justify-content:center; color:#a67b35; }
.contact-divider:before { content:""; position:absolute; top:0; bottom:0; width:1px; background:#cdb98e; }
.contact-divider span { position:relative; z-index:1; background:#fbf3e5; font-size:28px; line-height:1; padding:10px 0; }
.private-sessions-panel { border:0; padding:0; align-self:start; }
.session-options { display:grid; gap:20px; margin:28px 0 12px; }
.session-option { display:grid; grid-template-columns:62px 1fr; gap:18px; align-items:center; }
.session-icon { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:#eee0c4; color:#8f681f; font-weight:700; letter-spacing:-4px; }
.session-option h3 { margin:0 0 3px; color:#173025; font-family:Georgia,'Times New Roman',serif; font-size:1.35rem; }
.session-option p { margin:0; color:#575044; font-size:.95rem; }
@media(max-width:800px){ .contact-split{grid-template-columns:1fr;gap:44px}.contact-divider{height:1px}.contact-divider:before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px}.contact-divider span{padding:0 12px}.session-option{grid-template-columns:52px 1fr}.session-icon{width:50px;height:50px}.contact-general h2,.private-sessions-panel h2{font-size:2.25rem} }

/* Align Contact and Private Sessions CTAs on desktop */
@media (min-width:801px){
  .contact-general,
  .private-sessions-panel{
    display:flex;
    flex-direction:column;
    height:100%;
  }
  .contact-form{
    display:flex;
    flex-direction:column;
    flex:1;
  }
  .contact-submit{
    margin-top:auto;
  }
  .private-book{
    margin-top:auto;
  }
  .contact-split{
    align-items:stretch;
  }
}

/* Final desktop CTA baseline correction — verified against live Contact layout */
@media (min-width:801px){
  .private-sessions-panel .private-book,
  .private-sessions-panel .private-book + .contact-note{
    position:relative;
    top:-38px;
  }
}
