:root {
  --ivory: #f8f3eb;
  --oat: #efe5d7;
  --sand: #e2d3c0;
  --sage: #a8b39a;
  --sage-pale: #dfe5d8;
  --moss: #68745c;
  --olive: #4d5a46;
  --forest: #354338;
  --clay: #b86e50;
  --terracotta: #c67b5b;
  --rust: #9f5f45;
  --brown: #5a4035;
  --espresso: #372b27;
  --ink: #3e3732;
  --muted: #766b63;
  --line: rgba(77, 63, 53, .16);
  --serif: "Newsreader", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --shadow: 0 22px 70px rgba(73, 56, 44, .10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--sans); font-weight: 400; line-height: 1.75; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(100% - 48px, 1200px); margin: 0 auto; }
.section-pad { padding: 120px 0; }
.skip-link { position: fixed; left: 14px; top: -100px; z-index: 1000; background: white; padding: 10px 14px; }
.skip-link:focus { top: 14px; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(248,243,235,.92); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(90,64,53,.08); }
.nav-wrap { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand img { width: 126px; height: 72px; object-fit: contain; object-position: left center; }
.main-nav { display: flex; align-items: center; gap: 27px; font-size: 13px; color: #5f554e; }
.main-nav > a:not(.button) { position: relative; }
.main-nav > a:not(.button)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--clay); transition: .25s ease; }
.main-nav > a:not(.button):hover::after { right: 0; }
.menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.menu-toggle span { width: 25px; height: 1px; display: block; background: var(--espresso); margin: 6px 0; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border-radius: 2px; background: var(--olive); color: white; font-size: 13px; font-weight: 500; letter-spacing: .02em; transition: .25s ease; }
.button:hover { background: var(--forest); transform: translateY(-1px); }
.button-small { min-height: 44px; padding-inline: 18px; }
.button-light { background: var(--ivory); color: var(--espresso); }
.text-link { display: inline-flex; gap: 9px; align-items: center; font-size: 13px; font-weight: 600; letter-spacing: .01em; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; margin-top: 36px; }
.eyebrow { margin: 0 0 20px; text-transform: uppercase; letter-spacing: .22em; font-size: 10px; font-weight: 600; color: var(--moss); }
.eyebrow.terracotta { color: var(--rust); }
.eyebrow.light { color: #dce2d4; }
.eyebrow.warm { color: #e9c9b6; }

.hero { overflow: hidden; padding: 92px 0 104px; background: radial-gradient(circle at 84% 20%, rgba(168,179,154,.22), transparent 28%), linear-gradient(145deg, #faf6ef 0%, #f3eadf 58%, #eadccb 100%); }
.hero-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 70px; align-items: center; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: var(--serif); color: var(--espresso); font-weight: 500; }
h1 { font-size: clamp(58px, 6.6vw, 91px); line-height: .98; letter-spacing: -.035em; margin-bottom: 28px; max-width: 760px; }
h1 em { color: var(--rust); font-weight: 400; }
h2 { font-size: clamp(46px, 5vw, 68px); line-height: 1.02; letter-spacing: -.025em; margin-bottom: 25px; }
h3 { font-size: 30px; line-height: 1.05; }
.lead { max-width: 690px; font-size: 16px; color: var(--muted); line-height: 1.9; }
.quiet-trust { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 46px; padding-top: 24px; border-top: 1px solid var(--line); color: #796d65; font-size: 11px; letter-spacing: .02em; }
.hero-brand-art { position: relative; min-height: 615px; display: grid; place-items: center; }
.hero-brand-art img { position: relative; z-index: 2; width: min(100%, 520px); filter: drop-shadow(0 22px 42px rgba(74,51,42,.08)); }
.logo-halo { position: absolute; width: 480px; height: 480px; border-radius: 50%; background: rgba(255,255,255,.38); border: 1px solid rgba(90,64,53,.08); }
.hero-note { position: absolute; z-index: 3; right: -8px; bottom: 55px; padding: 14px 18px; background: rgba(248,243,235,.9); border-left: 2px solid var(--clay); color: var(--brown); font-family: var(--serif); font-style: italic; font-size: 20px; box-shadow: var(--shadow); }

.price-ribbon { background: var(--brown); color: #f6eee8; }
.ribbon-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.ribbon-grid div { padding: 29px 24px; border-right: 1px solid rgba(255,255,255,.12); }
.ribbon-grid div:last-child { border-right: 0; }
.ribbon-grid strong { display: block; font-family: var(--serif); font-size: 31px; font-weight: 500; }
.ribbon-grid span { display: block; margin-top: 3px; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #dccbc0; }

.intro-section { background: var(--ivory); }
.editorial-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 110px; align-items: end; margin-bottom: 76px; }
.editorial-heading h2 { max-width: 780px; }
.editorial-copy { padding-bottom: 8px; }
.editorial-copy p { color: var(--muted); font-size: 16px; margin-bottom: 25px; }
.pathways { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pathway { min-height: 390px; padding: 38px 34px 30px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.pathway:last-child { border-right: 0; }
.pathway-sage { background: #e5e8de; }
.pathway-sand { background: #eee3d4; }
.pathway-clay { background: #ead4c9; }
.pathway-number { font-family: var(--serif); font-size: 32px; color: rgba(55,43,39,.45); }
.pathway > div { margin-top: 48px; }
.pathway h3 { margin-bottom: 14px; }
.pathway p { color: #71645b; font-size: 13px; line-height: 1.8; }
.pathway .mini-label { margin-bottom: 8px; color: var(--rust); text-transform: uppercase; letter-spacing: .16em; font-size: 9px; font-weight: 600; }
.pathway > a { margin-top: auto; font-size: 12px; font-weight: 600; border-bottom: 1px solid currentColor; width: max-content; padding-bottom: 3px; }

.process-section { background: #dce3d5; }
.process-grid { display: grid; grid-template-columns: .83fr 1.17fr; gap: 100px; align-items: start; }
.process-intro { position: sticky; top: 140px; }
.process-intro p:not(.eyebrow) { color: #657060; max-width: 470px; }
.process-list article { display: grid; grid-template-columns: 75px 1fr; gap: 25px; padding: 30px 0; border-bottom: 1px solid rgba(53,67,56,.16); }
.process-list article:first-child { border-top: 1px solid rgba(53,67,56,.16); }
.process-list article > span { font-family: var(--serif); font-size: 29px; color: var(--rust); }
.process-list h3 { margin: 0 0 7px; }
.process-list p { margin-bottom: 0; color: #677064; font-size: 13px; max-width: 620px; }

.statement-section { background: var(--terracotta); color: white; padding: 130px 0; }
.statement-inner { max-width: 1030px; margin: 0 auto; text-align: center; }
.statement-inner blockquote { margin: 0; font-family: var(--serif); font-size: clamp(52px, 6vw, 84px); line-height: 1.02; letter-spacing: -.03em; font-weight: 400; }
.statement-inner blockquote em { color: #4a372f; }
.statement-copy { max-width: 650px; margin: 32px auto 0; color: #f5e5dc; font-size: 14px; }

.values-section { background: #f2e9dd; }
.value-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 105px; }
.value-heading { position: sticky; top: 140px; height: max-content; }
.value-stack article { display: grid; grid-template-columns: 48px 1fr; gap: 20px 28px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.value-stack article > span { grid-row: span 2; font-family: var(--serif); font-size: 26px; color: var(--rust); }
.value-stack h3 { margin: 0; }
.value-stack p { margin: 0; color: var(--muted); font-size: 13px; }

.approaches-section { background: var(--forest); color: white; }
.approaches-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; align-items: start; }
.approaches-grid h2 { color: #f4eee8; }
.approaches-grid > div:first-child > p:last-child { color: #bcc7b8; max-width: 520px; }
.approach-list a { display: flex; justify-content: space-between; gap: 18px; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.16); font-family: var(--serif); font-size: 26px; color: #f3ede8; }

.reviews-section { background: #fbf7f0; }
.reviews-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 105px; align-items: start; }
.reviews-heading p:last-child { color: var(--muted); max-width: 520px; }
.review-stack article { padding: 35px 0; border-top: 1px solid var(--line); }
.review-stack article:last-child { border-bottom: 1px solid var(--line); }
.review-stack span { text-transform: uppercase; letter-spacing: .17em; color: var(--rust); font-size: 9px; font-weight: 600; }
.review-stack p { font-family: var(--serif); font-size: 34px; line-height: 1.16; margin: 19px 0 0; color: var(--brown); }

.partners-section { background: var(--oat); }
.partner-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 95px; align-items: center; }
.partner-feature { padding: 42px; border-left: 1px solid rgba(90,64,53,.25); }
.partner-name { font-family: var(--serif); font-size: 54px; color: var(--olive); margin-bottom: 18px; }
.partner-feature p { color: var(--muted); margin: 0; max-width: 580px; }

.final-cta { background: var(--brown); color: white; text-align: center; padding: 118px 0; }
.final-cta-inner { max-width: 860px; }
.final-cta img { width: 120px; height: 96px; object-fit: contain; margin: 0 auto 22px; background: rgba(255,255,255,.88); padding: 6px; }
.final-cta h2 { color: #fbf4ee; }
.final-cta .button { margin-top: 22px; }

.site-footer { background: #2b2522; color: #ece3dc; padding: 80px 0 28px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 58px; }
.footer-brand img { width: 150px; height: 105px; object-fit: contain; background: #f7f1ea; padding: 7px; }
.footer-brand p { color: #cbbcb2; margin-top: 22px; }
.footer-brand .small { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.site-footer h3 { font-family: var(--sans); font-size: 10px; text-transform: uppercase; letter-spacing: .18em; color: #ad9d93; }
.site-footer div > a { display: block; margin: 10px 0; font-size: 12px; color: #eee5df; }
.footer-bottom { margin-top: 58px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; gap: 20px; color: #9f9087; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 980px) {
  .menu-toggle { display: block; }
  .main-nav { display: none; position: absolute; left: 24px; right: 24px; top: 84px; background: var(--ivory); padding: 24px; border: 1px solid var(--line); box-shadow: var(--shadow); flex-direction: column; align-items: stretch; }
  .main-nav.open { display: flex; }
  .hero-grid, .editorial-grid, .process-grid, .value-layout, .approaches-grid, .reviews-layout, .partner-layout { grid-template-columns: 1fr; gap: 52px; }
  .hero-brand-art { min-height: 520px; }
  .logo-halo { width: 410px; height: 410px; }
  .process-intro, .value-heading { position: static; }
  .pathways { grid-template-columns: 1fr; }
  .pathway { min-height: 300px; border-right: 0; border-bottom: 1px solid var(--line); }
  .pathway:last-child { border-bottom: 0; }
  .ribbon-grid { grid-template-columns: repeat(2,1fr); }
  .ribbon-grid div:nth-child(2) { border-right: 0; }
  .ribbon-grid div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / -1; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 30px, 1200px); }
  .section-pad { padding: 84px 0; }
  .site-header .brand img { width: 105px; height: 64px; }
  .hero { padding: 66px 0 75px; }
  h1 { font-size: 54px; }
  h2 { font-size: 44px; }
  .hero-brand-art { min-height: 410px; }
  .hero-brand-art img { width: 390px; }
  .logo-halo { width: 330px; height: 330px; }
  .hero-note { right: 0; bottom: 18px; font-size: 17px; }
  .quiet-trust { display: grid; }
  .ribbon-grid { grid-template-columns: 1fr 1fr; }
  .ribbon-grid strong { font-size: 26px; }
  .editorial-grid { margin-bottom: 48px; }
  .process-list article { grid-template-columns: 52px 1fr; }
  .statement-section { padding: 92px 0; }
  .statement-inner blockquote { font-size: 48px; }
  .review-stack p { font-size: 29px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}


/* V3 — art-directed refinement: less templated, more organic and editorial */
body {
  background:
    linear-gradient(rgba(248,243,235,.98), rgba(248,243,235,.98)),
    repeating-linear-gradient(0deg, rgba(92,72,57,.028) 0 1px, transparent 1px 4px);
}

.site-header { background: rgba(248,243,235,.95); backdrop-filter: blur(12px); }
.brand { display:inline-flex; align-items:center; gap:12px; }
.brand-mark {
  width:52px; height:52px; border-radius:50%;
  display:grid; place-items:center; overflow:hidden;
  border:1px solid rgba(77,90,70,.18);
  background:rgba(255,255,255,.18);
}
.brand-mark img { width:58px; height:58px; object-fit:contain; transform:scale(1.22); }
.brand-wording { display:grid; line-height:.92; }
.brand-wording strong {
  font-family:var(--serif); font-size:23px; font-weight:500; letter-spacing:-.02em;
  color:var(--espresso);
}
.brand-wording small {
  margin-top:5px; font-size:8px; text-transform:uppercase; letter-spacing:.24em;
  color:var(--moss);
}

.button { border-radius:999px; padding-inline:27px; }
.button-small { border-radius:999px; }

.hero {
  padding:104px 0 120px;
  background:
    radial-gradient(ellipse at 88% 45%, rgba(178,124,93,.10), transparent 32%),
    linear-gradient(120deg, #f8f1e7 0%, #f5ede2 56%, #eee3d6 100%);
}
.hero-grid { grid-template-columns: 1.08fr .92fr; gap:86px; }
h1 { font-size:clamp(60px,6.35vw,88px); line-height:1.015; letter-spacing:-.038em; }
h1 em { color:var(--brown); font-weight:400; }
h2 { letter-spacing:-.03em; }
.lead { font-size:15px; line-height:1.95; max-width:640px; }
.quiet-trust {
  gap:10px 26px; border-top:0; padding-top:0; margin-top:42px;
  font-size:10px; text-transform:uppercase; letter-spacing:.13em;
}
.quiet-trust span::before { content:"•"; margin-right:9px; color:var(--terracotta); }

.hero-brand-art { min-height:610px; }
.hero-logo-frame {
  position:relative; width:min(88%,520px); aspect-ratio:1;
  border-radius:50%; display:grid; place-items:center;
  background:
    radial-gradient(circle at 38% 32%, rgba(255,255,255,.9), rgba(239,229,215,.64) 62%, rgba(214,194,172,.32));
  box-shadow:0 30px 80px rgba(84,60,47,.10), inset 0 0 0 1px rgba(91,68,55,.08);
  animation:ashFloat 7s ease-in-out infinite;
}
.hero-logo-frame::after {
  content:""; position:absolute; inset:15px; border-radius:50%;
  border:1px solid rgba(92,116,86,.18); pointer-events:none;
}
.hero-logo-ring {
  position:absolute; width:112%; height:112%; border-radius:50%;
  border:1px solid rgba(183,110,80,.18); transform:rotate(-7deg);
}
.hero-logo-frame img {
  width:88%; max-width:none; filter:none; transform:translateY(-1.5%);
}
@keyframes ashFloat {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-11px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-logo-frame { animation:none; }
}

/* Remove the strongest "generated template" signals */
.logo-halo, .hero-note { display:none !important; }

.price-ribbon { background:#49382f; }
.ribbon-grid div { padding:26px 18px 28px; }
.ribbon-grid strong { font-size:29px; }
.ribbon-grid span { letter-spacing:.09em; }

/* Pathways become calmer editorial columns rather than coloured cards */
.pathways {
  gap:38px; border:0; align-items:start;
}
.pathway {
  min-height:auto; padding:32px 0 26px; border-right:0; border-top:1px solid var(--line);
  background:transparent !important;
}
.pathway:nth-child(2) { margin-top:54px; }
.pathway:nth-child(3) { margin-top:108px; }
.pathway > div { margin-top:30px; }
.pathway-number { color:var(--clay); font-size:24px; }
.pathway h3 { font-size:33px; }
.pathway p { font-size:13px; max-width:330px; }
.pathway > a { margin-top:28px; }

/* Organic colour sections, flatter and quieter */
.process-section {
  background:#dfe4da;
  border-top-left-radius:72px;
  border-bottom-right-radius:72px;
  margin:0 18px;
}
.statement-section {
  background:#b66f53;
  margin:0;
}
.values-section { background:#f1e7da; }
.approaches-section { background:#38463b; }
.partners-section { background:#eee2d3; }

/* Fewer obvious numerals in the values list */
.value-stack article > span { font-size:18px; color:rgba(159,95,69,.72); }
.process-list article > span { font-size:21px; }

/* Reviews: editorial quotation treatment instead of generic cards */
.review-stack article {
  padding:38px 0 42px; position:relative;
}
.review-stack article::before {
  content:"“"; font-family:var(--serif); position:absolute; left:-8px; top:12px;
  font-size:58px; color:rgba(184,110,80,.18);
}
.review-stack p { font-size:31px; padding-left:24px; }

/* Logos blend into surroundings rather than appearing as pasted rectangles */
.final-cta img,
.footer-brand img {
  background:transparent; padding:0; object-fit:contain;
  filter:none;
}
.final-cta img { width:112px; height:112px; opacity:.92; }
.footer-brand img { width:136px; height:118px; opacity:.92; }

/* Slightly less dense footer */
.site-footer { background:#2f2925; padding-top:68px; }
.footer-grid { gap:72px; }

@media (max-width:980px) {
  .hero-grid { gap:48px; }
  .hero-logo-frame { width:min(76vw,500px); }
  .pathway:nth-child(2), .pathway:nth-child(3) { margin-top:0; }
  .process-section { margin:0 10px; border-radius:48px 0 48px 0; }
}

@media (max-width:640px) {
  .brand-wording strong { font-size:20px; }
  .brand-mark { width:46px; height:46px; }
  .hero { padding:72px 0 86px; }
  .hero-brand-art { min-height:390px; }
  .hero-logo-frame { width:min(88vw,390px); }
  .quiet-trust { display:flex; }
  .pathways { gap:14px; }
  .process-section { margin:0 6px; border-radius:32px 0 32px 0; }
}


/* V4 — logo integration refinement */
.brand {
  gap: 10px;
}

.brand-mark {
  width: 58px;
  height: 58px;
  border-radius: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.brand-mark img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  transform: scale(1.12);
  opacity: .96;
}

.brand-wording {
  transform: translateY(1px);
}

.hero-brand-art {
  align-items: flex-start;
  padding-top: 14px;
}

.hero-logo-frame {
  transform: translateY(-34px);
}

@keyframes ashFloat {
  0%,100% { transform: translateY(-34px); }
  50% { transform: translateY(-45px); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-logo-frame { transform: translateY(-34px); }
}

@media (max-width: 980px) {
  .hero-logo-frame {
    transform: translateY(-16px);
  }

  @keyframes ashFloat {
    0%,100% { transform: translateY(-16px); }
    50% { transform: translateY(-26px); }
  }

  @media (prefers-reduced-motion: reduce) {
    .hero-logo-frame { transform: translateY(-16px); }
  }
}

@media (max-width: 640px) {
  .brand-mark {
    width: 50px;
    height: 50px;
  }

  .brand-mark img {
    width: 50px;
    height: 50px;
  }

  .hero-brand-art {
    padding-top: 6px;
  }

  .hero-logo-frame {
    transform: translateY(-8px);
  }

  @keyframes ashFloat {
    0%,100% { transform: translateY(-8px); }
    50% { transform: translateY(-17px); }
  }

  @media (prefers-reduced-motion: reduce) {
    .hero-logo-frame { transform: translateY(-8px); }
  }
}

/* V5 — final homepage polish */
.hero {
  padding-top: 92px;
  padding-bottom: 72px;
}
.hero-brand-art { min-height: 540px; }
.quiet-trust { margin-top: 32px; }

.values-section,
.reviews-section,
.partners-section,
.final-cta-section,
.pathways-section {
  background-color: #f4ede3;
}

.process-section { background: #d9dfd5; }
.statement-section { background: #a9654f; }
.price-ribbon { background: #514036; }

:root { --line: rgba(72, 60, 50, .14); }

.section,
.values-section,
.reviews-section,
.partners-section {
  padding-top: 104px;
  padding-bottom: 104px;
}

.statement-section,
.process-section {
  padding-top: 104px;
  padding-bottom: 104px;
}

.statement-section h2 {
  max-width: 980px;
  margin-inline: auto;
}

.approaches-section { background: #3d4d41; }
.partners-section { border-top: 1px solid rgba(72,60,50,.08); }
.site-footer { border-top: 1px solid rgba(255,255,255,.06); }

@media (min-width: 981px) {
  .hero-grid { align-items: start; }
  .hero-copy { padding-top: 8px; }
  .hero-brand-art { padding-top: 0; }
}

@media (max-width: 640px) {
  .hero {
    padding-top: 60px;
    padding-bottom: 58px;
  }
  .hero-brand-art { min-height: 350px; }
  .section,
  .values-section,
  .reviews-section,
  .partners-section,
  .process-section,
  .statement-section {
    padding-top: 76px;
    padding-bottom: 76px;
  }
}


/* BOOK ASSESSMENT PAGE */
.booking-hero {
  padding: 112px 0 96px;
  background:
    radial-gradient(ellipse at 78% 28%, rgba(169,101,79,.08), transparent 34%),
    #f4ede3;
}

.booking-hero-grid {
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:96px;
  align-items:end;
}

.booking-hero h1 {
  max-width: 820px;
  margin: 14px 0 0;
  font-size: clamp(58px, 6vw, 88px);
  line-height: 1.01;
  letter-spacing: -.04em;
}

.booking-hero-copy {
  padding-bottom: 8px;
}

.booking-price-note {
  margin-top:42px;
  padding-top:24px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:24px;
}

.booking-price-note span {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.booking-price-note strong {
  font-family:var(--serif);
  font-size:44px;
  font-weight:400;
}

.booking-route-section {
  padding:110px 0 124px;
  background:#f8f2e9;
}

.route-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:end;
  margin-bottom:70px;
}

.route-intro h2 {
  margin:10px 0 0;
}

.route-intro > p:last-child {
  max-width:520px;
  justify-self:end;
  line-height:1.85;
}

.booking-routes {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}

.booking-route {
  min-height:550px;
  padding:56px;
  display:flex;
  flex-direction:column;
  border-radius:34px 4px 34px 4px;
}

.online-route {
  background:#dbe1d6;
}

.horsham-route {
  background:#d5b09a;
}

.route-topline {
  display:flex;
  justify-content:space-between;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(63,50,42,.68);
}

.booking-route h3 {
  margin:66px 0 18px;
  font-family:var(--serif);
  font-size:48px;
  font-weight:400;
}

.booking-route > p {
  max-width:470px;
  line-height:1.8;
}

.booking-route ul {
  list-style:none;
  padding:0;
  margin:34px 0 42px;
  border-top:1px solid rgba(72,60,50,.16);
}

.booking-route li {
  padding:13px 0;
  border-bottom:1px solid rgba(72,60,50,.13);
  font-size:13px;
}

.booking-route .button {
  margin-top:auto;
  align-self:flex-start;
}

.button-earth {
  background:#6d493a;
}

.assessment-explainer {
  background:#3d4d41;
  color:#f6f0e7;
  padding:110px 0;
}

.assessment-explainer-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:100px;
}

.assessment-explainer h2 {
  color:#fffaf3;
  max-width:430px;
}

.assessment-points article {
  display:grid;
  grid-template-columns:50px 1fr;
  gap:28px;
  padding:28px 0 32px;
  border-top:1px solid rgba(255,255,255,.17);
}

.assessment-points article:last-child {
  border-bottom:1px solid rgba(255,255,255,.17);
}

.assessment-points span {
  color:#d7a58c;
  font-family:var(--serif);
  font-size:21px;
}

.assessment-points h3 {
  margin:0 0 8px;
  color:#fffaf3;
  font-family:var(--serif);
  font-size:30px;
  font-weight:400;
}

.assessment-points p {
  margin:0;
  color:rgba(255,250,243,.72);
  line-height:1.75;
}

.booking-reassurance {
  padding:116px 0;
  background:#f4ede3;
}

.reassurance-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:110px;
}

.reassurance-grid h2 {
  max-width:700px;
}

.reassurance-grid > div:last-child {
  align-self:end;
  max-width:560px;
  line-height:1.9;
}

.horsham-next-step {
  background:#a9654f;
  color:#fff7ee;
  padding:108px 0;
}

.horsham-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:100px;
  align-items:center;
}

.horsham-next-step h2 {
  color:#fffaf3;
  max-width:700px;
}

.horsham-next-step p {
  color:rgba(255,248,240,.84);
  line-height:1.85;
}

.route-small-note {
  font-size:12px;
  margin-top:24px;
}

.button-light-disabled {
  margin-top:18px;
  display:inline-flex;
  background:rgba(255,255,255,.14);
  color:#fffaf3;
  border:1px solid rgba(255,255,255,.24);
  pointer-events:none;
  opacity:.78;
}

.partner-referral-section {
  padding:108px 0;
  background:#d9dfd5;
}

.partner-referral-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
}

.partner-referral-grid h2 {
  max-width:650px;
}

.partner-referral-grid > div:last-child {
  max-width:570px;
  line-height:1.85;
}

.booking-final {
  padding:110px 0 116px;
  background:#514036;
  color:#fff8f0;
  text-align:center;
}

.booking-final-inner {
  max-width:900px;
  margin:0 auto;
}

.booking-final img {
  width:120px;
  height:120px;
  object-fit:contain;
  opacity:.92;
  margin-bottom:12px;
}

.booking-final h2 {
  color:#fffaf4;
  margin:14px 0 34px;
}

@media (max-width:980px) {
  .booking-hero-grid,
  .route-intro,
  .assessment-explainer-grid,
  .reassurance-grid,
  .horsham-grid,
  .partner-referral-grid {
    grid-template-columns:1fr;
    gap:42px;
  }

  .booking-routes {
    grid-template-columns:1fr;
  }

  .route-intro > p:last-child {
    justify-self:start;
  }

  .booking-route {
    min-height:500px;
  }
}

@media (max-width:640px) {
  .booking-hero {
    padding:70px 0 66px;
  }

  .booking-hero h1 {
    font-size:clamp(46px,14vw,62px);
  }

  .booking-route-section,
  .assessment-explainer,
  .booking-reassurance,
  .horsham-next-step,
  .partner-referral-section,
  .booking-final {
    padding:76px 0;
  }

  .booking-route {
    padding:36px 28px;
    min-height:auto;
    border-radius:26px 3px 26px 3px;
  }

  .booking-route h3 {
    margin-top:44px;
    font-size:39px;
  }

  .booking-route .button {
    margin-top:14px;
  }

  .assessment-points article {
    grid-template-columns:36px 1fr;
    gap:18px;
  }

  .booking-price-note strong {
    font-size:38px;
  }
}


/* BOOKING PAGE POLISH — approved refinements */

/* Give anchored sections a little more breathing room beneath the sticky header */
#horsham,
#horsham-next-step {
  scroll-margin-top: 120px;
}

/* Slightly soften the Horsham panel so it balances the online route */
.horsham-route {
  background: #d8b8a3;
}

/* Make the Horsham route button feel active and purposeful */
.button-earth {
  background: #6f493b;
  color: #fffaf4;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 8px 22px rgba(92,59,45,.10);
}

.button-earth:hover {
  transform: translateY(-1px);
}

/* Give major booking sections more top air when visually reached */
.booking-route-section,
.assessment-explainer,
.booking-reassurance,
.horsham-next-step,
.partner-referral-section {
  scroll-margin-top: 96px;
}

/* Refine the Horsham eligibility CTA so it is ready for the live survey link */
.button-light-disabled {
  background: rgba(255,255,255,.18);
  color: #fffaf3;
  border: 1px solid rgba(255,255,255,.34);
  opacity: 1;
  pointer-events: auto;
  cursor: default;
}

/* Final CTA logo: bring it closer to the headline and visually centre it */
.booking-final img {
  display: block;
  width: 112px;
  height: 112px;
  margin: 0 auto 4px;
  transform: translateY(8px);
}

.booking-final .eyebrow {
  margin-top: 8px;
}

.booking-final h2 {
  margin-top: 10px;
}

/* Slightly soften the final CTA spacing */
.booking-final {
  padding-top: 96px;
  padding-bottom: 106px;
}

/* Mobile adjustments */
@media (max-width: 640px) {
  #horsham,
  #horsham-next-step {
    scroll-margin-top: 90px;
  }

  .booking-final img {
    width: 96px;
    height: 96px;
    transform: translateY(4px);
  }
}


/* MAIN COUNSELLING PAGE */
.counselling-hero {
  padding: 112px 0 104px;
  background:
    radial-gradient(ellipse at 80% 22%, rgba(154,105,77,.07), transparent 34%),
    #f4ede3;
}

.counselling-hero-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:96px;
  align-items:end;
}

.counselling-hero h1 {
  margin:14px 0 0;
  max-width:850px;
  font-size:clamp(58px,6vw,88px);
  line-height:1.01;
  letter-spacing:-.04em;
}

.counselling-hero-copy {
  padding-bottom:8px;
}

.counselling-hero-copy .text-link {
  margin-top:30px;
}

.counselling-overview {
  padding:108px 0 120px;
  background:#f8f2e9;
}

.section-heading-split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:end;
  margin-bottom:72px;
}

.section-heading-split > p {
  max-width:520px;
  justify-self:end;
  line-height:1.85;
}

.service-paths {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:22px;
}

.service-path {
  min-height:420px;
  padding:46px 48px;
  border-radius:32px 4px 32px 4px;
  display:flex;
  flex-direction:column;
}

.service-path-sage { background:#dce2d7; }
.service-path-oat { background:#eadfce; }
.service-path-clay { background:#d9b29b; }
.service-path-brown { background:#b99d8d; }

.service-meta {
  display:flex;
  justify-content:space-between;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(58,47,40,.62);
}

.service-path h3 {
  margin:72px 0 18px;
  font-family:var(--serif);
  font-weight:400;
  font-size:44px;
}

.service-path p {
  max-width:450px;
  line-height:1.8;
}

.service-path a {
  margin-top:auto;
  padding-top:26px;
  color:inherit;
  border-bottom:1px solid rgba(62,52,45,.35);
  align-self:flex-start;
  text-decoration:none;
  font-size:13px;
}

.counselling-feature {
  padding:108px 0;
}

.counselling-feature-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:110px;
  align-items:center;
}

.counselling-feature-grid.reverse > div:first-child {
  order:2;
}

.counselling-feature-grid.reverse > div:last-child {
  order:1;
}

.counselling-feature h2 {
  max-width:680px;
}

.counselling-feature p {
  line-height:1.88;
}

.counselling-feature-green {
  background:#3d4d41;
  color:#fff8ef;
}

.counselling-feature-green h2,
.counselling-feature-clay h2 {
  color:#fffaf3;
}

.counselling-feature-green p {
  color:rgba(255,249,241,.78);
}

.counselling-feature-warm { background:#f2e7d8; }
.counselling-feature-stone { background:#e6ded2; }

.counselling-feature-clay {
  background:#a9654f;
  color:#fff8ef;
}

.counselling-feature-clay p {
  color:rgba(255,249,241,.82);
}

.feature-facts {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:28px 0 32px;
}

.feature-facts span {
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.fee-line {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:baseline;
  padding:24px 0;
  margin:26px 0 28px;
  border-top:1px solid rgba(72,60,50,.16);
  border-bottom:1px solid rgba(72,60,50,.16);
}

.fee-line span {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.fee-line strong {
  font-family:var(--serif);
  font-size:38px;
  font-weight:400;
}

.fee-line-light {
  border-color:rgba(255,255,255,.20);
}

.matching-section {
  padding:114px 0;
  background:#f4ede3;
}

.matching-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:110px;
}

.matching-grid h2 {
  max-width:700px;
}

.matching-list article {
  display:grid;
  grid-template-columns:50px 1fr;
  gap:28px;
  padding:27px 0 31px;
  border-top:1px solid var(--line);
}

.matching-list article:last-child {
  border-bottom:1px solid var(--line);
}

.matching-list span {
  color:#a9654f;
  font-family:var(--serif);
  font-size:21px;
}

.matching-list h3 {
  margin:0 0 7px;
  font-family:var(--serif);
  font-weight:400;
  font-size:29px;
}

.matching-list p {
  margin:0;
  line-height:1.75;
}

.approach-band {
  padding:108px 0;
  background:#3d4d41;
  color:#fff8ef;
}

.approach-band-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
}

.approach-band h2 {
  color:#fffaf3;
  max-width:680px;
}

.approach-band p {
  max-width:560px;
  color:rgba(255,249,241,.75);
  line-height:1.8;
}

.approach-links a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:23px 0;
  border-top:1px solid rgba(255,255,255,.18);
  color:#fffaf3;
  text-decoration:none;
  font-family:var(--serif);
  font-size:28px;
}

.approach-links a:last-child {
  border-bottom:1px solid rgba(255,255,255,.18);
}

.approach-detail-section {
  padding:108px 0 118px;
  background:#efe4d6;
}

.approach-detail-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.approach-detail-grid article {
  padding:46px 48px 52px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-height:310px;
}

.approach-detail-grid span {
  color:#a9654f;
  font-family:var(--serif);
  font-size:20px;
}

.approach-detail-grid h3 {
  margin:52px 0 12px;
  font-family:var(--serif);
  font-size:34px;
  font-weight:400;
}

.approach-detail-grid p {
  line-height:1.8;
  max-width:500px;
}

.fees-section {
  padding:112px 0;
  background:#d9dfd5;
}

.fees-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:110px;
  align-items:start;
}

.fees-grid > div:first-child p:last-child {
  max-width:520px;
  line-height:1.85;
}

.fees-table {
  border-top:1px solid rgba(72,60,50,.18);
}

.fees-table div {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:baseline;
  padding:22px 0;
  border-bottom:1px solid rgba(72,60,50,.16);
}

.fees-table span {
  font-size:13px;
}

.fees-table strong {
  font-family:var(--serif);
  font-size:32px;
  font-weight:400;
}

.counselling-final {
  padding:102px 0 112px;
  background:#514036;
  color:#fff8ef;
  text-align:center;
}

.counselling-final-inner {
  max-width:900px;
  margin:0 auto;
}

.counselling-final img {
  display:block;
  width:108px;
  height:108px;
  object-fit:contain;
  margin:0 auto 8px;
}

.counselling-final h2 {
  color:#fffaf3;
  margin:14px 0 14px;
}

.counselling-final p:not(.eyebrow) {
  color:rgba(255,249,241,.76);
  margin-bottom:30px;
}

@media (max-width:980px) {
  .counselling-hero-grid,
  .section-heading-split,
  .counselling-feature-grid,
  .matching-grid,
  .approach-band-grid,
  .fees-grid {
    grid-template-columns:1fr;
    gap:44px;
  }

  .service-paths,
  .approach-detail-grid {
    grid-template-columns:1fr;
  }

  .section-heading-split > p {
    justify-self:start;
  }

  .counselling-feature-grid.reverse > div:first-child,
  .counselling-feature-grid.reverse > div:last-child {
    order:initial;
  }
}

@media (max-width:640px) {
  .counselling-hero,
  .counselling-overview,
  .counselling-feature,
  .matching-section,
  .approach-band,
  .approach-detail-section,
  .fees-section,
  .counselling-final {
    padding-top:76px;
    padding-bottom:76px;
  }

  .counselling-hero h1 {
    font-size:clamp(46px,14vw,62px);
  }

  .service-path {
    min-height:auto;
    padding:34px 28px;
  }

  .service-path h3 {
    margin-top:46px;
    font-size:38px;
  }

  .approach-detail-grid {
    border-left:0;
  }

  .approach-detail-grid article {
    padding:36px 0 40px;
    border-right:0;
  }

  .matching-list article {
    grid-template-columns:36px 1fr;
    gap:18px;
  }

  .approach-links a {
    font-size:23px;
  }
}


/* COUNSELLING PAGE — FINAL POLISH */

/* Balance the four pathway cards */
.service-path-clay {
  background: #d7b8a6;
}

.service-path-brown {
  background: #c8b0a1;
}

/* Qualified section: warmer and more distinctive */
.counselling-feature-stone {
  background: #eee3d6;
}

/* Make trainee trust signal a little stronger */
.counselling-feature-warm .fee-line {
  margin-top: 30px;
}

/* Soften the modality detail area so it feels editorial rather than boxed */
.approach-detail-grid {
  border-left: 0;
  border-top: 1px solid var(--line);
  column-gap: 56px;
  row-gap: 0;
}

.approach-detail-grid article {
  padding: 46px 0 52px;
  border-right: 0;
  border-bottom: 1px solid var(--line);
  min-height: 280px;
}

.approach-detail-grid article:nth-child(odd) {
  padding-right: 28px;
}

.approach-detail-grid article:nth-child(even) {
  padding-left: 28px;
}

.approach-detail-grid h3 {
  margin-top: 40px;
}

/* Final CTA: align more closely with booking page */
.counselling-final {
  padding-top: 96px;
  padding-bottom: 106px;
}

.counselling-final img {
  width: 112px;
  height: 112px;
  margin: 0 auto 4px;
  transform: translateY(7px);
}

.counselling-final .eyebrow {
  margin-top: 8px;
}

.counselling-final h2 {
  margin-top: 10px;
}

/* Add breathing room when anchored under sticky nav */
#online,
#trainee,
#qualified,
#face-to-face,
#psychodynamic,
#person-centred,
#integrative,
#cbt {
  scroll-margin-top: 112px;
}

/* Slightly softer fee section rhythm */
.fees-section {
  background: #dce1d7;
}

@media (max-width: 980px) {
  .approach-detail-grid {
    column-gap: 0;
  }

  .approach-detail-grid article:nth-child(odd),
  .approach-detail-grid article:nth-child(even) {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 640px) {
  .counselling-final img {
    width: 96px;
    height: 96px;
    transform: translateY(4px);
  }
}


/* HOW IT WORKS PAGE */
.how-hero {
  padding:112px 0 104px;
  background:
    radial-gradient(ellipse at 78% 24%, rgba(169,101,79,.07), transparent 34%),
    #f4ede3;
}

.how-hero-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:96px;
  align-items:end;
}

.how-hero h1 {
  margin:14px 0 0;
  max-width:860px;
  font-size:clamp(58px,6vw,88px);
  line-height:1.01;
  letter-spacing:-.04em;
}

.how-hero-copy {
  padding-bottom:8px;
}

.how-hero-copy .text-link {
  margin-top:30px;
}

.journey-overview {
  padding:108px 0 118px;
  background:#f8f2e9;
}

.journey-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:end;
  margin-bottom:72px;
}

.journey-intro > p {
  justify-self:end;
  max-width:530px;
  line-height:1.85;
}

.journey-steps article {
  display:grid;
  grid-template-columns:90px 1fr;
  gap:42px;
  padding:34px 0 40px;
  border-top:1px solid var(--line);
}

.journey-steps article:last-child {
  border-bottom:1px solid var(--line);
}

.journey-num {
  font-family:var(--serif);
  font-size:26px;
  color:#a9654f;
}

.journey-kicker {
  margin:0 0 10px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#7b6659;
}

.journey-steps h3 {
  margin:0 0 12px;
  font-family:var(--serif);
  font-weight:400;
  font-size:38px;
  max-width:760px;
}

.journey-steps p:last-child {
  max-width:760px;
  line-height:1.82;
}

.how-assessment {
  padding:108px 0;
  background:#3d4d41;
  color:#fff8ef;
}

.how-assessment-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:110px;
  align-items:center;
}

.how-assessment h2 {
  color:#fffaf3;
  max-width:700px;
}

.how-assessment p {
  color:rgba(255,249,241,.78);
  line-height:1.86;
}

.how-assessment-fee {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:24px;
  padding:22px 0;
  margin:28px 0 30px;
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}

.how-assessment-fee span {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.how-assessment-fee strong {
  font-family:var(--serif);
  font-size:40px;
  font-weight:400;
}

.matching-explained {
  padding:112px 0;
  background:#f1e6d8;
}

.matching-explained-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:110px;
}

.matching-explained h2 {
  max-width:680px;
}

.matching-explained > .container > div:first-child > p:last-child {
  max-width:500px;
  line-height:1.8;
}

.matching-factors article {
  display:grid;
  grid-template-columns:48px 1fr;
  gap:26px;
  padding:26px 0 30px;
  border-top:1px solid var(--line);
}

.matching-factors article:last-child {
  border-bottom:1px solid var(--line);
}

.matching-factors span {
  color:#a9654f;
  font-family:var(--serif);
  font-size:21px;
}

.matching-factors h3 {
  margin:0 0 7px;
  font-family:var(--serif);
  font-size:29px;
  font-weight:400;
}

.matching-factors p {
  margin:0;
  line-height:1.75;
}

.weekly-therapy-section {
  padding:108px 0;
  background:#a9654f;
  color:#fff8ef;
}

.weekly-therapy-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:110px;
  align-items:center;
}

.weekly-therapy-section h2 {
  color:#fffaf3;
  max-width:680px;
}

.weekly-therapy-section p {
  color:rgba(255,249,241,.82);
  line-height:1.86;
}

.weekly-facts {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.weekly-facts span {
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.if-not-right {
  padding:108px 0;
  background:#dce1d7;
}

.if-not-right-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:110px;
  align-items:center;
}

.if-not-right h2 {
  max-width:650px;
}

.if-not-right p {
  line-height:1.85;
}

.faq-section {
  padding:112px 0 120px;
  background:#f4ede3;
}

.faq-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:110px;
  align-items:start;
}

.faq-grid h2 {
  max-width:650px;
}

.faq-list details {
  border-top:1px solid var(--line);
  padding:0;
}

.faq-list details:last-child {
  border-bottom:1px solid var(--line);
}

.faq-list summary {
  list-style:none;
  cursor:pointer;
  padding:24px 0;
  font-family:var(--serif);
  font-size:28px;
  color:var(--espresso);
  position:relative;
  padding-right:38px;
}

.faq-list summary::-webkit-details-marker {
  display:none;
}

.faq-list summary::after {
  content:"+";
  position:absolute;
  right:0;
  top:24px;
  font-family:var(--sans);
  font-size:22px;
  font-weight:300;
  color:#8d6c5c;
}

.faq-list details[open] summary::after {
  content:"–";
}

.faq-list details p {
  margin:0;
  padding:0 60px 26px 0;
  line-height:1.8;
  max-width:760px;
}

.how-final {
  padding:96px 0 106px;
  background:#514036;
  color:#fff8ef;
  text-align:center;
}

.how-final-inner {
  max-width:900px;
  margin:0 auto;
}

.how-final img {
  display:block;
  width:112px;
  height:112px;
  margin:0 auto 4px;
  object-fit:contain;
  transform:translateY(7px);
}

.how-final .eyebrow {
  margin-top:8px;
}

.how-final h2 {
  color:#fffaf3;
  margin:10px 0 14px;
}

.how-final p:not(.eyebrow) {
  color:rgba(255,249,241,.76);
  margin-bottom:30px;
}

@media (max-width:980px) {
  .how-hero-grid,
  .journey-intro,
  .how-assessment-grid,
  .matching-explained-grid,
  .weekly-therapy-grid,
  .if-not-right-grid,
  .faq-grid {
    grid-template-columns:1fr;
    gap:44px;
  }

  .journey-intro > p {
    justify-self:start;
  }
}

@media (max-width:640px) {
  .how-hero,
  .journey-overview,
  .how-assessment,
  .matching-explained,
  .weekly-therapy-section,
  .if-not-right,
  .faq-section,
  .how-final {
    padding-top:76px;
    padding-bottom:76px;
  }

  .how-hero h1 {
    font-size:clamp(46px,14vw,62px);
  }

  .journey-steps article {
    grid-template-columns:48px 1fr;
    gap:20px;
  }

  .journey-steps h3 {
    font-size:31px;
  }

  .faq-list summary {
    font-size:24px;
  }

  .how-final img {
    width:96px;
    height:96px;
    transform:translateY(4px);
  }
}


/* ABOUT US PAGE — intentionally varied layout */
.about-opening {
  padding: 118px 0 112px;
  background: #f4ede3;
}

.about-opening-inner {
  max-width: 1180px;
}

.about-opening h1 {
  max-width: 1040px;
  margin: 18px 0 44px;
  font-size: clamp(62px, 6.8vw, 96px);
  line-height: .99;
  letter-spacing: -.045em;
}

.about-opening h1 em {
  font-weight: 400;
  color: #8d5e4b;
}

.about-opening-copy {
  width: 54%;
  margin-left: auto;
  border-top: 1px solid var(--line);
  padding-top: 28px;
}

.about-opening-copy p {
  font-size: 16px;
  line-height: 1.9;
}

.about-story-section {
  padding: 118px 0;
  background: #efe4d6;
}

.about-story-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 110px;
  align-items: center;
}

.about-image-stack {
  position: relative;
  min-height: 680px;
}

.image-placeholder {
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 26px;
  border: 1px solid rgba(72,60,50,.12);
  background:
    linear-gradient(145deg, rgba(92,116,86,.12), rgba(169,101,79,.11)),
    #e6ddd1;
  color: #5e5149;
}

.image-placeholder span {
  font-family: var(--serif);
  font-size: 28px;
}

.image-placeholder small {
  margin-top: 6px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  opacity: .65;
}

.image-tall {
  position: absolute;
  left: 0;
  top: 0;
  width: 72%;
  height: 620px;
  border-radius: 90px 8px 90px 8px;
}

.image-small {
  position: absolute;
  right: 0;
  bottom: 10px;
  width: 44%;
  height: 280px;
  border-radius: 8px 70px 8px 70px;
  background:
    linear-gradient(145deg, rgba(169,101,79,.16), rgba(92,116,86,.08)),
    #d9cbbb;
}

.about-story-copy h2 {
  max-width: 700px;
}

.about-story-copy p {
  max-width: 650px;
  line-height: 1.88;
}

.about-values-band {
  padding: 110px 0;
  background: #3d4d41;
  color: #fff8ef;
}

.about-values-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 110px;
}

.about-values-band h2 {
  color: #fffaf3;
  max-width: 680px;
}

.about-values-list article {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 26px;
  padding: 26px 0 30px;
  border-top: 1px solid rgba(255,255,255,.18);
}

.about-values-list article:last-child {
  border-bottom: 1px solid rgba(255,255,255,.18);
}

.about-values-list span {
  color: #d6a48c;
  font-family: var(--serif);
  font-size: 21px;
}

.about-values-list h3 {
  margin: 0 0 7px;
  color: #fffaf3;
  font-family: var(--serif);
  font-size: 29px;
  font-weight: 400;
}

.about-values-list p {
  margin: 0;
  color: rgba(255,249,241,.76);
  line-height: 1.78;
}

.about-leadership {
  padding: 118px 0;
  background: #f5eee5;
}

.about-leadership-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: center;
}

.about-leadership-copy h2 {
  max-width: 720px;
}

.about-leadership-copy p {
  max-width: 630px;
  line-height: 1.86;
}

.leadership-visual {
  position: relative;
  min-height: 600px;
}

.image-portrait {
  width: 76%;
  height: 560px;
  margin-left: auto;
  border-radius: 10px 100px 10px 100px;
}

.leadership-note {
  position: absolute;
  left: 0;
  bottom: 34px;
  width: 52%;
  padding: 26px 28px;
  background: #dbe1d7;
  border-radius: 28px 4px 28px 4px;
}

.leadership-note h3 {
  margin: 8px 0 4px;
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
}

.leadership-note p:last-child {
  margin: 0;
  font-size: 12px;
}

.about-standards {
  padding: 110px 0;
  background: #a9654f;
  color: #fff8ef;
}

.standards-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 110px;
  align-items: start;
}

.about-standards h2 {
  color: #fffaf3;
  max-width: 690px;
}

.about-standards p {
  color: rgba(255,249,241,.8);
  line-height: 1.85;
}

.standards-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.2);
}

.standards-points div {
  padding: 28px 28px 32px 0;
  border-bottom: 1px solid rgba(255,255,255,.2);
}

.standards-points div:nth-child(even) {
  padding-left: 28px;
  border-left: 1px solid rgba(255,255,255,.2);
}

.standards-points span {
  display: block;
  margin-bottom: 16px;
  font-family: var(--serif);
  font-size: 30px;
  color: #fffaf3;
}

.about-community {
  padding: 116px 0;
  background: #dce1d7;
}

.about-community-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 90px;
  align-items: start;
}

.about-community h2 {
  max-width: 650px;
}

.community-collage {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 26px;
  align-items: end;
}

.image-wide {
  height: 390px;
  border-radius: 70px 8px 70px 8px;
}

.community-copy {
  padding-bottom: 10px;
}

.community-copy p {
  line-height: 1.85;
}

.about-statement {
  padding: 118px 0;
  background: #514036;
  color: #fff8ef;
  text-align: center;
}

.about-statement-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.about-statement h2 {
  color: #fffaf3;
  font-size: clamp(54px, 5.7vw, 82px);
  margin: 14px 0 18px;
}

.about-statement p:last-child {
  color: rgba(255,249,241,.72);
}

.about-final {
  padding: 96px 0 106px;
  background: #8e6b5a;
  color: #fff8ef;
  text-align: center;
}

.about-final-inner {
  max-width: 900px;
  margin: 0 auto;
}

.about-final img {
  width: 112px;
  height: 112px;
  object-fit: contain;
  display: block;
  margin: 0 auto 4px;
}

.about-final h2 {
  color: #fffaf3;
  margin: 10px 0 30px;
}

@media (max-width: 980px) {
  .about-story-grid,
  .about-values-grid,
  .about-leadership-grid,
  .standards-grid,
  .about-community-grid,
  .community-collage {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .about-opening-copy {
    width: 75%;
  }

  .about-image-stack,
  .leadership-visual {
    min-height: 560px;
  }

  .image-tall {
    height: 520px;
  }
}

@media (max-width: 640px) {
  .about-opening,
  .about-story-section,
  .about-values-band,
  .about-leadership,
  .about-standards,
  .about-community,
  .about-statement,
  .about-final {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .about-opening h1 {
    font-size: clamp(46px, 14vw, 64px);
  }

  .about-opening-copy {
    width: 100%;
  }

  .about-image-stack {
    min-height: 500px;
  }

  .image-tall {
    width: 82%;
    height: 450px;
  }

  .image-small {
    width: 52%;
    height: 220px;
  }

  .standards-points {
    grid-template-columns: 1fr;
  }

  .standards-points div:nth-child(even) {
    padding-left: 0;
    border-left: 0;
  }

  .leadership-visual {
    min-height: 510px;
  }

  .image-portrait {
    width: 84%;
    height: 460px;
  }

  .leadership-note {
    width: 68%;
  }
}


/* ABOUT US — HEAD OF SERVICE PORTRAIT */
.leadership-photo {
  overflow: hidden;
  background: #e7ded4;
  border: 1px solid rgba(72,60,50,.10);
}

.leadership-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 24%;
}

@media (max-width: 640px) {
  .leadership-photo img {
    object-position: center 20%;
  }
}


/* ABOUT US — STORY PHOTOGRAPHY */
.about-photo-main,
.about-photo-detail {
  overflow: hidden;
  background: #e6ddd1;
  border: 1px solid rgba(72,60,50,.10);
}

.about-photo-main img,
.about-photo-detail img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.about-photo-main img {
  object-position: 50% 50%;
}

.about-photo-detail img {
  object-position: 48% 52%;
}

@media (max-width: 640px) {
  .about-photo-main img {
    object-position: 52% 50%;
  }

  .about-photo-detail img {
    object-position: 50% 50%;
  }
}


/* FOR ORGANISATIONS PAGE */
.org-opening {
  padding: 120px 0 110px;
  background: #f4ede3;
}
.org-opening-grid,
.org-packages-grid,
.org-why-grid,
.org-fit-grid,
.org-enquiry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: start;
}
.org-opening h1 {
  max-width: 820px;
  margin: 16px 0 0;
  font-size: clamp(62px, 6.6vw, 96px);
  line-height: .98;
  letter-spacing: -.045em;
}
.org-opening h1 em {
  color: #8d5e4b;
  font-weight: 400;
}
.org-opening-copy {
  align-self: end;
  border-top: 1px solid var(--line);
  padding-top: 28px;
  max-width: 580px;
}
.org-opening-copy p,
.org-section-head > p,
.org-fit-copy p,
.org-enquiry-card p {
  line-height: 1.85;
}
.text-link {
  display: inline-block;
  margin-top: 18px;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
}
.org-intro-band {
  padding: 92px 0;
  background: #3d4d41;
  color: #fff8ef;
}
.org-intro-grid {
  display: grid;
  grid-template-columns: .65fr 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.org-intro-band h2,
.org-why h2,
.org-statement h2 {
  color: #fffaf3;
}
.org-intro-band p:last-child {
  color: rgba(255,249,241,.78);
  line-height: 1.85;
}
.org-service-section,
.org-referral,
.org-fit,
.org-enquiry {
  padding: 112px 0;
  background: #f5eee5;
}
.org-section-head {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 100px;
  margin-bottom: 54px;
  align-items: end;
}
.org-service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.org-service-card {
  padding: 42px 42px 46px;
  min-height: 520px;
  border-radius: 70px 8px 70px 8px;
}
.org-service-card.sage { background: #dce1d7; }
.org-service-card.terracotta-card { background: #d9ad99; }
.org-card-top {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.org-service-card h3 {
  margin: 86px 0 18px;
  font-family: var(--serif);
  font-size: clamp(54px, 4.4vw, 70px);
  font-weight: 400;
}
.org-service-card h3 small {
  font-family: var(--sans);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.org-service-card p { max-width: 560px; line-height: 1.8; }
.org-service-card ul {
  list-style: none;
  margin: 36px 0 0;
  padding: 0;
}
.org-service-card li {
  padding: 13px 0;
  border-top: 1px solid rgba(62,52,46,.17);
}
.org-packages {
  padding: 112px 0;
  background: #efe4d6;
}
.package-list article,
.org-why-list article {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 24px;
  padding: 26px 0 30px;
  border-top: 1px solid var(--line);
}
.package-list article:last-child,
.org-why-list article:last-child {
  border-bottom: 1px solid var(--line);
}
.package-list span,
.org-why-list span {
  font-family: var(--serif);
  color: #a9654f;
  font-size: 22px;
}
.package-list h3,
.org-why-list h3,
.referral-steps h3 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  margin: 0 0 8px;
}
.package-list p,
.org-why-list p {
  margin: 0;
  line-height: 1.75;
}
.org-why {
  padding: 112px 0;
  background: #514036;
  color: #fff8ef;
}
.org-why-list article { border-color: rgba(255,255,255,.18); }
.org-why-list article:last-child { border-color: rgba(255,255,255,.18); }
.org-why-list h3 { color: #fffaf3; }
.org-why-list p { color: rgba(255,249,241,.76); }
.org-why-list span { color: #d6a48c; }
.referral-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
}
.referral-steps article {
  padding: 30px 28px 34px 0;
  border-right: 1px solid var(--line);
}
.referral-steps article:not(:first-child) { padding-left: 28px; }
.referral-steps article:last-child { border-right: 0; }
.referral-steps span {
  display: block;
  margin-bottom: 56px;
  font-family: var(--serif);
  color: #a9654f;
  font-size: 22px;
}
.referral-steps p { line-height: 1.7; }
.org-fit {
  background: #dce1d7;
}
.org-fit-copy {
  border-top: 1px solid rgba(62,52,46,.18);
  padding-top: 28px;
}
.org-statement {
  padding: 115px 0;
  background: #a9654f;
  color: #fff8ef;
  text-align: center;
}
.org-statement-inner {
  max-width: 1040px;
  margin: 0 auto;
}
.org-statement h2 {
  font-size: clamp(54px, 5.5vw, 82px);
  margin: 14px 0 0;
}
.org-enquiry {
  background: #f4ede3;
}
.org-enquiry-card {
  border-top: 1px solid var(--line);
  padding-top: 28px;
}
.org-enquiry-card .button {
  margin-top: 22px;
}

@media (max-width: 980px) {
  .org-opening-grid,
  .org-packages-grid,
  .org-why-grid,
  .org-fit-grid,
  .org-enquiry-grid,
  .org-section-head,
  .org-intro-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .org-service-grid { grid-template-columns: 1fr; }
  .referral-steps { grid-template-columns: 1fr 1fr; }
  .referral-steps article { border-bottom: 1px solid var(--line); }
}
@media (max-width: 640px) {
  .org-opening,
  .org-service-section,
  .org-packages,
  .org-why,
  .org-referral,
  .org-fit,
  .org-statement,
  .org-enquiry {
    padding-top: 76px;
    padding-bottom: 76px;
  }
  .org-opening h1 {
    font-size: clamp(46px, 14vw, 64px);
  }
  .org-service-card {
    padding: 32px 26px 36px;
    min-height: auto;
  }
  .org-service-card h3 {
    margin-top: 54px;
  }
  .referral-steps {
    grid-template-columns: 1fr;
  }
  .referral-steps article,
  .referral-steps article:not(:first-child) {
    padding-left: 0;
    border-right: 0;
  }
}


/* ORGANISATIONS PROFESSIONAL V7 */
.org-page {
  background:#f5f1e9;
}
.org-page .site-header {
  background:rgba(248,245,238,.96);
}
.business-kicker {
  margin:0 0 18px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  line-height:1.4;
}
.business-kicker.dark { color:#765e50; }
.business-kicker.light { color:#d8c9b9; }

.business-hero {
  display:grid;
  grid-template-columns: 1.03fr .97fr;
  min-height:720px;
  background:#21362f;
}
.business-hero-copy {
  display:flex;
  align-items:center;
  color:#f7f2e8;
}
.business-hero-inner {
  width:min(720px, calc(100% - 72px));
  margin-left:max(36px, calc((100vw - 1220px)/2));
  padding:96px 40px 70px 0;
}
.business-hero h1 {
  color:#fffaf2;
  margin:0;
  font-family:"DM Sans",sans-serif;
  font-weight:400;
  font-size:clamp(52px,5vw,78px);
  letter-spacing:-.05em;
  line-height:1.01;
}
.business-hero h1 span {
  color:#d4b09c;
}
.business-lead {
  max-width:610px;
  margin:28px 0 0;
  font-size:19px;
  line-height:1.75;
  color:rgba(255,250,242,.82);
}
.business-hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}
.business-primary,
.business-secondary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
}
.business-primary { background:#d3a58f; color:#21362f; }
.business-secondary { border:1px solid rgba(255,255,255,.34); color:#fff; }
.business-hero-image {
  position:relative;
  min-height:720px;
  overflow:hidden;
}
.business-hero-image img,
.business-image-large img,
.business-audience-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.business-hero-image:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(20,30,27,.55),transparent 45%);
}
.image-caption {
  position:absolute;
  z-index:2;
  left:32px;
  right:32px;
  bottom:28px;
  max-width:520px;
  color:white;
  font-size:13px;
  line-height:1.6;
}

.business-proof {
  margin-top:62px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.2);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.business-proof strong {
  display:block;
  font-family:"Newsreader",serif;
  font-size:28px;
  font-weight:400;
}
.business-proof span {
  display:block;
  margin-top:4px;
  font-size:11px;
  color:rgba(255,255,255,.66);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.morale-section {
  padding:120px 0 110px;
  background:#f5f1e9;
}
.morale-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:110px;
}
.morale-heading h2,
.business-section-header h2,
.business-closing h2 {
  margin:0;
  max-width:720px;
  font-size:clamp(46px,4.6vw,70px);
  line-height:1.03;
}
.morale-copy {
  padding-top:30px;
  border-top:1px solid rgba(58,67,60,.2);
}
.morale-copy p {
  font-size:17px;
  line-height:1.9;
}
.morale-points {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:78px;
  border-top:1px solid rgba(58,67,60,.2);
}
.morale-points article {
  padding:26px 28px 4px 0;
  border-right:1px solid rgba(58,67,60,.17);
}
.morale-points article:not(:first-child){padding-left:28px;}
.morale-points article:last-child{border-right:0;}
.morale-points span {
  font-family:"Newsreader",serif;
  font-size:20px;
  color:#a2644d;
}
.morale-points h3 {
  margin:38px 0 12px;
  font-size:22px;
  font-weight:500;
}
.morale-points p {
  margin:0;
  font-size:14px;
  line-height:1.75;
}

.business-image-break {
  background:#445549;
  color:#fff;
}
.business-image-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  max-width:none;
  padding:0;
}
.business-image-large {
  min-height:650px;
}
.business-image-copy {
  padding:95px 8vw 90px 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.business-image-copy h2,
.business-confidentiality h2,
.business-audience h2,
.business-enquiry h2 {
  color:#fff;
  font-size:clamp(43px,4.2vw,64px);
  line-height:1.05;
  margin:0 0 26px;
}
.business-image-copy p {
  color:rgba(255,255,255,.78);
  line-height:1.85;
}

.business-services {
  padding:120px 0;
  background:#ece5da;
}
.business-section-header {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:90px;
  align-items:end;
  margin-bottom:52px;
}
.business-section-header > p {
  max-width:560px;
  line-height:1.8;
}
.business-section-header.compact {
  grid-template-columns:1fr;
}
.business-pricing {
  border-top:1px solid #9e9387;
}
.business-pricing article {
  display:grid;
  grid-template-columns:.8fr .65fr 1.15fr 1.3fr;
  gap:34px;
  align-items:center;
  padding:42px 0;
  border-bottom:1px solid #b9afa4;
}
.business-pricing article.featured {
  background:#d8b29e;
  margin:0 -32px;
  padding-left:32px;
  padding-right:32px;
}
.pricing-label {
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
}
.pricing-main h3 {
  display:inline;
  font-family:"DM Sans",sans-serif;
  font-weight:400;
  font-size:52px;
  letter-spacing:-.04em;
}
.pricing-main span {
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.business-pricing p {
  line-height:1.75;
}
.pricing-detail {
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:13px;
}
.pricing-detail span:before {
  content:"— ";
}

.business-confidentiality {
  padding:110px 0;
  background:#283d36;
  color:#fff;
}
.confidentiality-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:100px;
}
.business-confidentiality p {
  color:rgba(255,255,255,.78);
  line-height:1.85;
}
.confidentiality-note {
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.2);
  font-size:13px;
}

.business-process {
  padding:120px 0;
  background:#f7f4ed;
}
.process-line {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid #a99f93;
}
.process-line article {
  padding:26px 28px 0 0;
  border-right:1px solid #c6bdb3;
}
.process-line article:not(:first-child){padding-left:28px;}
.process-line article:last-child{border-right:0;}
.process-number {
  font-family:"Newsreader",serif;
  font-size:23px;
  color:#a2644d;
  margin-bottom:72px;
}
.process-line h3 {
  font-family:"DM Sans",sans-serif;
  font-size:20px;
  font-weight:600;
}
.process-line p {
  font-size:14px;
  line-height:1.75;
}

.business-audience {
  display:grid;
  grid-template-columns:1fr 1fr;
  background:#5d4538;
  color:#fff;
}
.business-audience-image {
  min-height:650px;
}
.business-audience-copy {
  padding:90px 8vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.business-audience-copy p {
  color:rgba(255,255,255,.79);
  line-height:1.85;
}
.business-audience-copy ul {
  list-style:none;
  padding:26px 0 0;
  margin:18px 0 0;
  border-top:1px solid rgba(255,255,255,.25);
}
.business-audience-copy li {
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.business-closing {
  padding:110px 0;
  background:#d9ded5;
}
.closing-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:90px;
  align-items:end;
}
.closing-grid p {
  line-height:1.85;
}

.business-enquiry {
  background:#a35f48;
  color:#fff;
  padding:90px 0;
}
.enquiry-inner {
  display:grid;
  grid-template-columns:1fr auto;
  gap:70px;
  align-items:center;
}
.business-enquiry h2 {
  max-width:760px;
}
.business-enquiry p {
  max-width:720px;
  color:rgba(255,255,255,.8);
  line-height:1.8;
}
.business-enquiry-button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  min-width:320px;
  padding:22px 24px;
  background:#fff8ef;
  color:#4a372f;
  font-weight:600;
}
.business-enquiry-button span {
  font-size:24px;
  font-weight:400;
}

@media (max-width:980px){
  .business-hero,
  .business-audience,
  .morale-grid,
  .business-image-grid,
  .business-section-header,
  .confidentiality-grid,
  .closing-grid,
  .enquiry-inner {
    grid-template-columns:1fr;
  }
  .business-hero-inner {
    width:auto;
    margin:0;
    padding:90px 34px 58px;
  }
  .business-hero-image {min-height:520px;}
  .business-proof {margin-top:44px;}
  .morale-points,
  .process-line {
    grid-template-columns:1fr 1fr;
  }
  .business-pricing article {
    grid-template-columns:1fr 1fr;
  }
  .business-image-copy,
  .business-audience-copy {
    padding:70px 34px;
  }
}
@media(max-width:640px){
  .business-hero h1 {font-size:46px;}
  .business-proof,
  .morale-points,
  .process-line,
  .business-pricing article {
    grid-template-columns:1fr;
  }
  .business-proof {gap:18px;}
  .business-proof div {
    padding-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .morale-section,
  .business-services,
  .business-process,
  .business-closing {
    padding:78px 0;
  }
  .morale-points article,
  .morale-points article:not(:first-child),
  .process-line article,
  .process-line article:not(:first-child) {
    padding-left:0;
    border-right:0;
    border-bottom:1px solid rgba(58,67,60,.17);
  }
  .morale-points h3,
  .process-number {
    margin-top:22px;
    margin-bottom:10px;
  }
  .business-pricing article.featured {
    margin:0 -18px;
    padding-left:18px;
    padding-right:18px;
  }
  .business-image-large,
  .business-audience-image {min-height:420px;}
  .business-enquiry-button {min-width:0;width:100%;}
}


/* APPLY PLACEMENT / JOIN THE ASH V8 */
.placement-page { background:#f4efe6; }
.placement-page .site-header { background:rgba(248,245,238,.97); }

.placement-kicker {
  margin:0 0 18px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  line-height:1.4;
}
.placement-kicker.light { color:#d9c7b4; }
.placement-kicker.dark { color:#786254; }

.placement-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:720px;
  background:#5a463a;
}
.placement-hero-copy {
  display:flex;
  align-items:center;
  color:#fff7ed;
}
.placement-hero-inner {
  width:min(680px, calc(100% - 72px));
  margin-left:max(36px, calc((100vw - 1220px)/2));
  padding:90px 36px 76px 0;
}
.placement-hero h1 {
  margin:0;
  color:#fff9f1;
  font-family:"Newsreader",serif;
  font-size:clamp(62px,6vw,92px);
  font-weight:400;
  letter-spacing:-.045em;
  line-height:.98;
}
.placement-hero h1 span { color:#d8ab93; }
.placement-lead {
  max-width:610px;
  margin:28px 0 0;
  font-size:18px;
  line-height:1.8;
  color:rgba(255,248,239,.82);
}
.placement-hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}
.placement-primary,
.placement-secondary {
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  font-size:13px;
  font-weight:600;
}
.placement-primary { background:#d9ac94; color:#4a382f; }
.placement-secondary { border:1px solid rgba(255,255,255,.35); color:white; }

.placement-hero-image {
  position:relative;
  min-height:720px;
  overflow:hidden;
}
.placement-hero-image img,
.placement-supervision-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.placement-hero-image:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(52,39,32,.6),transparent 46%);
}
.placement-image-note {
  position:absolute;
  z-index:2;
  left:34px;
  right:34px;
  bottom:28px;
  max-width:500px;
  color:white;
  font-size:13px;
  line-height:1.6;
}

.placement-intro {
  padding:118px 0 106px;
  background:#f5f0e8;
}
.placement-intro-grid,
.placement-practical-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:110px;
}
.placement-intro h2,
.placement-section-head h2,
.placement-practical h2 {
  margin:0;
  font-size:clamp(48px,4.7vw,72px);
  line-height:1.03;
}
.placement-intro-copy {
  padding-top:28px;
  border-top:1px solid rgba(69,62,56,.2);
}
.placement-intro-copy p,
.placement-practical p {
  font-size:16px;
  line-height:1.9;
}
.placement-pillars {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:76px;
  border-top:1px solid rgba(69,62,56,.22);
}
.placement-pillars article {
  padding:28px 28px 0 0;
  border-right:1px solid rgba(69,62,56,.17);
}
.placement-pillars article:not(:first-child){padding-left:28px;}
.placement-pillars article:last-child{border-right:0;}
.placement-pillars span,
.placement-process-line span {
  font-family:"Newsreader",serif;
  font-size:21px;
  color:#a9664d;
}
.placement-pillars h3 {
  margin:42px 0 12px;
  font-size:21px;
  font-weight:500;
}
.placement-pillars p {
  margin:0;
  font-size:14px;
  line-height:1.75;
}

.placement-supervision {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:#3f5449;
  color:#fff;
}
.placement-supervision-image { min-height:690px; }
.placement-supervision-copy {
  padding:90px 8vw 82px 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.placement-supervision h2,
.placement-expectations h2 {
  color:#fff;
  margin:0 0 28px;
  font-size:clamp(48px,4.7vw,70px);
  line-height:1.02;
}
.placement-supervision-copy > p {
  color:rgba(255,255,255,.8);
  line-height:1.85;
}
.placement-support-note {
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.22);
  display:grid;
  gap:11px;
  font-size:13px;
}
.placement-support-note strong {
  margin-bottom:3px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:11px;
}

.placement-modalities {
  padding:118px 0;
  background:#ece2d5;
}
.placement-section-head {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:90px;
  align-items:end;
  margin-bottom:52px;
}
.placement-section-head > p {
  line-height:1.85;
}
.placement-section-head.compact { grid-template-columns:1fr; }

.modality-board {
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid #aa9d90;
}
.modality-board article {
  min-height:330px;
  padding:34px 38px 38px 0;
  border-bottom:1px solid #bcb1a6;
}
.modality-board article:nth-child(odd){border-right:1px solid #bcb1a6;}
.modality-board article:nth-child(even){padding-left:38px;}
.modality-board article.priority { background:rgba(172,100,74,.1); }
.modality-tag {
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  color:#876457;
}
.modality-board h3 {
  margin:58px 0 14px;
  font-family:"Newsreader",serif;
  font-size:42px;
  font-weight:400;
}
.modality-board p {
  max-width:520px;
  line-height:1.8;
}

.placement-expectations {
  padding:112px 0;
  background:#594238;
  color:#fff;
}
.expectations-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
}
.expectations-list article {
  display:grid;
  grid-template-columns:54px 1fr;
  gap:24px;
  padding:26px 0;
  border-top:1px solid rgba(255,255,255,.2);
}
.expectations-list article:last-child { border-bottom:1px solid rgba(255,255,255,.2); }
.expectations-list span {
  font-family:"Newsreader",serif;
  font-size:21px;
  color:#dbad95;
}
.expectations-list h3 {
  color:#fff;
  margin:0 0 8px;
  font-family:"DM Sans",sans-serif;
  font-size:20px;
}
.expectations-list p {
  margin:0;
  color:rgba(255,255,255,.77);
  line-height:1.75;
}

.placement-practical {
  padding:112px 0;
  background:#dce2d9;
}
.practical-list {
  border-top:1px solid rgba(59,70,62,.24);
}
.practical-list div {
  display:grid;
  grid-template-columns:54px 1fr;
  gap:20px;
  padding:20px 0;
  border-bottom:1px solid rgba(59,70,62,.18);
}
.practical-list span {
  font-family:"Newsreader",serif;
  color:#9f614a;
  font-size:20px;
}
.practical-list p { margin:0; }

.placement-process {
  padding:112px 0;
  background:#f7f3ec;
}
.placement-process-line {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid #aea398;
}
.placement-process-line article {
  padding:28px 28px 0 0;
  border-right:1px solid #c6bdb3;
}
.placement-process-line article:not(:first-child){padding-left:28px;}
.placement-process-line article:last-child{border-right:0;}
.placement-process-line h3 {
  margin:66px 0 10px;
  font-family:"DM Sans",sans-serif;
  font-size:20px;
}
.placement-process-line p {
  font-size:14px;
  line-height:1.75;
}

.placement-application {
  padding:112px 0;
  background:#243931;
  color:#fff;
}
.application-heading {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:90px;
  align-items:end;
  margin-bottom:56px;
}
.application-heading h2 {
  margin:0;
  color:#fff;
  font-size:clamp(52px,5vw,76px);
  line-height:1;
}
.application-heading > p {
  color:rgba(255,255,255,.72);
  line-height:1.8;
}

.placement-form {
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
  background:#f8f4ed;
  color:#403a36;
}
.form-section {
  padding:44px 48px 48px;
  border-bottom:1px solid #d9d0c7;
}
.form-section-title {
  display:grid;
  grid-template-columns:56px 1fr;
  align-items:center;
  margin-bottom:34px;
}
.form-section-title span {
  font-family:"Newsreader",serif;
  font-size:22px;
  color:#a8654d;
}
.form-section-title h3 {
  margin:0;
  font-family:"Newsreader",serif;
  font-size:34px;
  font-weight:400;
}
.placement-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px 28px;
}
.placement-fields label {
  display:flex;
  flex-direction:column;
  gap:9px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.02em;
}
.placement-fields label.full { grid-column:1/-1; }
.placement-fields input,
.placement-fields textarea,
.placement-fields select {
  width:100%;
  border:0;
  border-bottom:1px solid #a9a097;
  border-radius:0;
  background:transparent;
  padding:12px 2px 13px;
  font:inherit;
  color:#403a36;
  outline:none;
}
.placement-fields textarea {
  border:1px solid #bdb4aa;
  padding:14px;
  resize:vertical;
}
.placement-fields select {
  min-height:44px;
}
.placement-fields input:focus,
.placement-fields textarea:focus,
.placement-fields select:focus {
  border-color:#6b796f;
}
.placement-fields input[type="file"] {
  border:1px dashed #aaa096;
  padding:15px;
}
.placement-fields small {
  color:#81776e;
  font-weight:400;
}
.form-callout {
  margin-top:30px;
  padding:22px 24px;
  background:#e2e7df;
}
.form-callout strong {
  display:block;
  margin-bottom:6px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.form-callout p {
  margin:0;
  line-height:1.7;
}
.declaration { border-bottom:0; }
.checkbox-row {
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:14px 0;
  line-height:1.6;
}
.checkbox-row input {
  margin-top:4px;
}
.placement-submit-wrap {
  display:flex;
  gap:28px;
  align-items:center;
  justify-content:space-between;
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid #d0c7be;
}
.placement-submit {
  min-width:250px;
  border:0;
  padding:19px 22px;
  background:#a6644c;
  color:#fff;
  font:600 13px "DM Sans",sans-serif;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
}
.placement-submit span { font-size:20px; }
.form-integration-note {
  margin:0;
  max-width:480px;
  color:#776e66;
  font-size:12px;
  line-height:1.6;
}

@media(max-width:980px){
  .placement-hero,
  .placement-intro-grid,
  .placement-supervision,
  .placement-section-head,
  .expectations-grid,
  .placement-practical-grid,
  .application-heading {
    grid-template-columns:1fr;
  }
  .placement-hero-inner {
    width:auto;
    margin:0;
    padding:90px 34px 60px;
  }
  .placement-hero-image,
  .placement-supervision-image {min-height:520px;}
  .placement-pillars,
  .placement-process-line {grid-template-columns:1fr 1fr;}
  .placement-supervision-copy {padding:74px 34px;}
}
@media(max-width:640px){
  .placement-hero h1 {font-size:52px;}
  .placement-intro,
  .placement-modalities,
  .placement-expectations,
  .placement-practical,
  .placement-process,
  .placement-application {padding-top:78px;padding-bottom:78px;}
  .placement-pillars,
  .modality-board,
  .placement-process-line,
  .placement-fields {grid-template-columns:1fr;}
  .placement-pillars article,
  .placement-pillars article:not(:first-child),
  .placement-process-line article,
  .placement-process-line article:not(:first-child) {
    padding-left:0;
    border-right:0;
    border-bottom:1px solid rgba(69,62,56,.17);
  }
  .modality-board article,
  .modality-board article:nth-child(even) {
    padding-left:0;
    border-right:0;
  }
  .placement-fields label.full {grid-column:auto;}
  .form-section {padding:34px 22px;}
  .placement-submit-wrap {flex-direction:column;align-items:stretch;}
  .placement-submit {width:100%;}
}


/* V9 — CULTURALLY ATTUNED / INCLUSIVE BRAND LAYER */
.placement-belonging {
  padding:118px 0 110px;
  background:#7c523f;
  color:#fff8f0;
}
.belonging-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:105px;
}
.belonging-statement h2 {
  margin:0;
  color:#fffaf3;
  font-size:clamp(49px,4.8vw,72px);
  line-height:1.02;
}
.belonging-copy {
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.24);
}
.belonging-copy p {
  color:rgba(255,255,255,.82);
  line-height:1.88;
}
.belonging-copy .belonging-emphasis {
  margin-top:26px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.2);
  color:#fff;
  font-family:"Newsreader",serif;
  font-size:23px;
  line-height:1.45;
}
.join-routes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:78px;
  border-top:1px solid rgba(255,255,255,.25);
}
.join-routes article {
  padding:28px 30px 8px 0;
  border-right:1px solid rgba(255,255,255,.2);
}
.join-routes article:not(:first-child) { padding-left:30px; }
.join-routes article:last-child { border-right:0; }
.join-routes > article > span {
  font-family:"Newsreader",serif;
  font-size:21px;
  color:#e0b8a2;
}
.route-label {
  margin:42px 0 10px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.15em;
  color:#e4cabd !important;
}
.join-routes h3 {
  margin:0 0 14px;
  color:#fff;
  font-family:"Newsreader",serif;
  font-size:34px;
  font-weight:400;
}
.join-routes article > p:last-child {
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.75;
}

.site-ethos-band {
  padding:86px 0;
  background:#dce2d9;
  color:#37473f;
}
.site-ethos-grid {
  display:grid;
  grid-template-columns:.55fr 1fr 1fr;
  gap:55px;
  align-items:start;
}
.site-ethos-label {
  margin:9px 0 0;
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
  color:#8d5d49;
}
.site-ethos-band h2 {
  margin:0;
  font-family:"Newsreader",serif;
  font-size:clamp(42px,4vw,61px);
  font-weight:400;
  line-height:1;
  color:#314239;
}
.site-ethos-band > .container > p:last-child,
.site-ethos-grid > p:last-child {
  margin:4px 0 0;
  line-height:1.85;
  color:#526158;
}

@media(max-width:980px){
  .belonging-grid,
  .site-ethos-grid {
    grid-template-columns:1fr;
    gap:38px;
  }
  .join-routes {
    grid-template-columns:1fr;
  }
  .join-routes article,
  .join-routes article:not(:first-child) {
    padding:28px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.18);
  }
}
@media(max-width:640px){
  .placement-belonging,
  .site-ethos-band {
    padding-top:76px;
    padding-bottom:76px;
  }
}


/* V10 — RESOURCES */
.resources-page{background:#f5f0e7}
.resource-kicker{margin:0 0 18px;font-size:10px;font-weight:600;letter-spacing:.18em;line-height:1.4;color:#8f604e}
.resource-kicker.dark{color:#765d50}.resource-kicker.light{color:#dfc9b9}
.resource-hero{padding:78px 0 92px;background:#eee4d7}
.resource-hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}
.resource-hero-copy{padding:42px 0}
.resource-hero h1{margin:0;font-size:clamp(58px,6vw,92px);line-height:.98;letter-spacing:-.045em}
.resource-hero h1 em{color:#a26049;font-weight:400}
.resource-hero-copy>p:last-child{max-width:600px;margin-top:28px;font-size:17px;line-height:1.85}
.resource-hero-image{height:610px;overflow:hidden;border-radius:160px 8px 8px 8px}
.resource-hero-image img,.resource-culture-image img,.journal-image img{width:100%;height:100%;object-fit:cover;display:block}
.resource-editorial{padding:110px 0;background:#f7f3ec}
.resource-editorial-grid,.resource-topics-grid,.resource-safety-grid,.resource-next-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px}
.resource-editorial h2,.resource-heading h2,.resource-topics h2,.resource-safety h2,.resource-next h2{margin:0;font-size:clamp(47px,4.6vw,70px);line-height:1.03}
.resource-editorial-grid>div:last-child{padding-top:26px;border-top:1px solid #c7beb3}
.resource-editorial p{line-height:1.9}
.resource-library{padding:112px 0;background:#e6ded2}
.resource-heading{display:grid;grid-template-columns:.3fr 1fr .8fr;gap:45px;align-items:end;margin-bottom:55px}
.resource-heading>p:last-child{line-height:1.8}
.resource-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.resource-feature{min-height:500px;padding:34px;display:flex;flex-direction:column}
.resource-feature.sage{background:#ccd5ca}.resource-feature.clay{background:#d7aa94}.resource-feature.cream{background:#f6f0e7}
.resource-number{font-family:"Newsreader",serif;font-size:22px}
.resource-type{margin:68px 0 14px;font-size:10px;font-weight:600;letter-spacing:.14em}
.resource-feature h3{margin:0 0 18px;font-family:"Newsreader",serif;font-size:36px;font-weight:400;line-height:1.08}
.resource-feature>p:not(.resource-type){line-height:1.75}
.resource-feature a{margin-top:auto;padding-top:22px;border-top:1px solid rgba(58,52,47,.2);font-size:13px;font-weight:600}
.resource-culture{display:grid;grid-template-columns:1.05fr .95fr;background:#3f5449;color:#fff}
.resource-culture-image{min-height:680px}
.resource-culture-copy{padding:90px 8vw 80px 7vw;display:flex;flex-direction:column;justify-content:center}
.resource-culture h2{margin:0 0 25px;color:#fff;font-size:clamp(47px,4.5vw,68px);line-height:1.03}
.resource-culture-copy>p{color:rgba(255,255,255,.8);line-height:1.85}
.resource-culture blockquote{margin:28px 0 0;padding:25px 0 0;border-top:1px solid rgba(255,255,255,.24);font-family:"Newsreader",serif;font-size:24px;line-height:1.45;color:#fff}
.resource-topics{padding:112px 0;background:#f5efe6}
.resource-topics-grid>div:first-child>p:last-child{max-width:560px;line-height:1.85}
.topic-list{border-top:1px solid #aaa096}
.topic-list div{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #c8bfb5}
.topic-list span{font-family:"Newsreader",serif;font-size:19px;color:#a15f49}.topic-list p{margin:0}
.resource-safety{padding:105px 0;background:#60463a;color:#fff}
.resource-safety h2{color:#fff}
.resource-safety-grid>div:last-child{padding-top:26px;border-top:1px solid rgba(255,255,255,.22)}
.resource-safety p{color:rgba(255,255,255,.82);line-height:1.8}
.resource-safety strong{color:#fff}
.resource-safety-note{margin-top:25px;padding-top:22px;border-top:1px solid rgba(255,255,255,.17);font-size:13px}
.resource-journal{padding:112px 0;background:#dce2d9}
.resource-journal-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:stretch}
.journal-card{padding:70px 55px;background:#f7f2e9}
.journal-card h2{margin:0;font-size:52px;line-height:1.02}
.journal-question{margin:50px 0 28px;font-family:"Newsreader",serif;font-size:32px;line-height:1.3;color:#9b5e48}
.journal-card>p:last-child{line-height:1.8}
.journal-image{min-height:560px;overflow:hidden}
.resource-next{padding:105px 0;background:#a36049;color:#fff}
.resource-next h2{color:#fff}
.resource-next-grid>div:last-child{padding-top:25px;border-top:1px solid rgba(255,255,255,.25)}
.resource-next p{color:rgba(255,255,255,.82);line-height:1.8}
.resource-cta{margin-top:20px;display:inline-flex;gap:50px;align-items:center;padding:18px 21px;background:#fff7ed;color:#4c3931;font-weight:600;font-size:13px}
.resource-cta span{font-size:20px}
@media(max-width:980px){.resource-hero-grid,.resource-editorial-grid,.resource-heading,.resource-culture,.resource-topics-grid,.resource-safety-grid,.resource-journal-grid,.resource-next-grid{grid-template-columns:1fr}.resource-hero-image{height:520px}.resource-feature-grid{grid-template-columns:1fr}.resource-feature{min-height:390px}.resource-culture-copy{padding:72px 34px}}
@media(max-width:640px){.resource-hero,.resource-editorial,.resource-library,.resource-topics,.resource-safety,.resource-journal,.resource-next{padding-top:76px;padding-bottom:76px}.resource-hero h1{font-size:52px}.resource-hero-image{height:430px;border-radius:90px 8px 8px 8px}.resource-heading{gap:22px}.journal-card{padding:45px 28px}.journal-card h2{font-size:44px}}


/* V11 — EXPANDED THERAPY GUIDANCE */
.therapy-types{padding:116px 0;background:#f2ece3}
.therapy-types-head{display:grid;grid-template-columns:1.05fr .95fr;gap:85px;align-items:end;margin-bottom:56px}
.therapy-types-head h2,.what-expect-head h2,.therapy-questions-head h2{margin:0;font-size:clamp(48px,4.8vw,72px);line-height:1.02}
.therapy-types-head>p{line-height:1.85}
.therapy-type-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b9aea3}
.therapy-type-grid article{padding:34px 40px 42px 0;border-bottom:1px solid #c9bfb5}
.therapy-type-grid article:nth-child(odd){border-right:1px solid #c9bfb5}
.therapy-type-grid article:nth-child(even){padding-left:40px}
.therapy-no{font-family:"Newsreader",serif;font-size:21px;color:#a4614a}
.therapy-type-grid h3{margin:52px 0 12px;font-family:"Newsreader",serif;font-size:43px;font-weight:400}
.therapy-intro{font-size:16px;line-height:1.75;max-width:540px}
.therapy-detail{margin-top:28px;padding-top:18px;border-top:1px solid rgba(70,61,54,.16)}
.therapy-detail strong{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#7c6255}
.therapy-detail p{margin:8px 0 0;line-height:1.75;font-size:14px}
.therapy-fit-note{margin-top:40px;padding:24px 28px;background:#dce3d9}
.therapy-fit-note p{margin:0;line-height:1.75}

.what-to-expect{padding:116px 0;background:#e5ddd1}
.what-expect-head{display:grid;grid-template-columns:.35fr 1fr .8fr;gap:42px;align-items:end;margin-bottom:55px}
.what-expect-head>p:last-child{line-height:1.8}
.therapy-journey{border-top:1px solid #b5aa9f}
.therapy-journey article{display:grid;grid-template-columns:70px .7fr 1fr;gap:26px;padding:24px 0;border-bottom:1px solid #c7bdb3}
.therapy-journey article>span{font-family:"Newsreader",serif;font-size:21px;color:#a4614a}
.therapy-journey h3{margin:0;font-family:"Newsreader",serif;font-size:29px;font-weight:400}
.therapy-journey p{margin:0;line-height:1.75}

.therapy-questions{padding:110px 0;background:#31483e;color:#fff}
.therapy-questions-head{display:grid;grid-template-columns:.45fr 1fr;gap:60px;align-items:end;margin-bottom:45px}
.therapy-questions-head h2{color:#fff}
.question-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 42px;border-top:1px solid rgba(255,255,255,.2)}
.question-grid details{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.question-grid summary{cursor:pointer;list-style:none;position:relative;padding-right:34px;font-family:"Newsreader",serif;font-size:23px;line-height:1.35;color:#fff}
.question-grid summary::-webkit-details-marker{display:none}
.question-grid summary:after{content:"+";position:absolute;right:0;top:0;font-family:"DM Sans",sans-serif;font-size:22px;color:#dcb59e}
.question-grid details[open] summary:after{content:"–"}
.question-grid details p{margin:16px 34px 0 0;color:rgba(255,255,255,.78);line-height:1.75;font-size:14px}

@media(max-width:980px){
  .therapy-types-head,.what-expect-head,.therapy-questions-head{grid-template-columns:1fr;gap:28px}
  .therapy-type-grid,.question-grid{grid-template-columns:1fr}
  .therapy-type-grid article,.therapy-type-grid article:nth-child(even){padding-left:0;border-right:0}
  .therapy-journey article{grid-template-columns:50px 1fr}
  .therapy-journey article p{grid-column:2}
}
@media(max-width:640px){
  .therapy-types,.what-to-expect,.therapy-questions{padding-top:76px;padding-bottom:76px}
  .therapy-type-grid h3{font-size:36px}
  .therapy-journey article{grid-template-columns:40px 1fr}
}


/* V12 — CONTACT */
.contact-page{background:#f4efe7}
.contact-kicker{margin:0 0 18px;font-size:10px;font-weight:600;letter-spacing:.18em;line-height:1.4;color:#a0644e}
.contact-kicker.dark{color:#745f52}.contact-kicker.light{color:#dec5b6}

.contact-hero{padding:102px 0 96px;background:#efe5d9}
.contact-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end}
.contact-hero h1{margin:0;font-size:clamp(58px,6.3vw,94px);line-height:.97;letter-spacing:-.045em;max-width:850px}
.contact-hero-copy>p:last-child{max-width:700px;margin-top:28px;font-size:17px;line-height:1.85}
.contact-hero-note{padding:34px;border-top:1px solid #b9aea3;background:#dce2d9}
.contact-note-label{margin:0 0 32px;font-size:10px;font-weight:600;letter-spacing:.14em;color:#875c4c}
.contact-hero-note h2{margin:0 0 18px;font-family:"Newsreader",serif;font-size:37px;font-weight:400;line-height:1.08}
.contact-hero-note p:last-child{margin:0;line-height:1.8}

.contact-routes{padding:112px 0;background:#f8f4ed}
.contact-routes-head{display:grid;grid-template-columns:.35fr 1fr;gap:45px;align-items:end;margin-bottom:52px}
.contact-routes-head h2{margin:0;font-size:clamp(50px,4.8vw,72px);line-height:1}
.contact-route-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.contact-route{min-height:410px;padding:34px;display:flex;flex-direction:column}
.contact-route.sage{background:#ccd5ca}.contact-route.clay{background:#d8ad98}.contact-route.oat{background:#e8ddce}.contact-route.forest{background:#40564b;color:#fff}.contact-route.cream{background:#f3ece1;grid-column:1/-1;min-height:320px}
.contact-route>span{font-family:"Newsreader",serif;font-size:21px}
.route-type{margin:55px 0 12px;font-size:10px;font-weight:600;letter-spacing:.14em}
.contact-route h3{margin:0 0 16px;font-family:"Newsreader",serif;font-size:39px;font-weight:400;line-height:1.08}
.contact-route p:not(.route-type){max-width:580px;line-height:1.75}
.contact-route a{margin-top:auto;padding-top:22px;border-top:1px solid rgba(60,54,48,.2);font-size:13px;font-weight:600}
.contact-route.forest h3,.contact-route.forest a{color:#fff}
.contact-route.forest p{color:rgba(255,255,255,.8)}
.contact-route.forest a{border-top-color:rgba(255,255,255,.22)}

.contact-direct{padding:102px 0;background:#654a3d;color:#fff}
.contact-direct-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.contact-direct h2{margin:0;color:#fff;font-size:clamp(48px,4.6vw,68px);line-height:1.02}
.contact-direct-list{border-top:1px solid rgba(255,255,255,.22)}
.contact-direct-list div{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.contact-direct-list span{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#dec2b1}
.contact-direct-list a,.contact-direct-list p{margin:0;color:#fff;line-height:1.6}

.contact-form-section{padding:112px 0;background:#dce2d9}
.contact-form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}
.contact-form-intro h2{margin:0 0 20px;font-size:clamp(49px,4.8vw,70px);line-height:1.02}
.contact-form-intro p:last-child{line-height:1.85}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 28px;padding:42px;background:#f8f4ed}
.contact-form label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:600}
.contact-form label.full{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea{border:0;border-bottom:1px solid #aaa096;background:transparent;padding:12px 2px;font:inherit;color:#403a36;outline:none}
.contact-form textarea{border:1px solid #bdb4aa;padding:14px;resize:vertical}
.contact-form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px}
.contact-form-actions button{min-width:210px;border:0;padding:18px 20px;background:#a36049;color:#fff;font:600 13px "DM Sans",sans-serif;display:flex;justify-content:space-between;cursor:pointer}
.contact-form-actions button span{font-size:18px}
.contact-form-actions p{margin:0;max-width:390px;color:#756d65;font-size:12px;line-height:1.6}

.contact-safety{padding:96px 0;background:#2f443b;color:#fff}
.contact-safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}
.contact-safety h2{margin:0;color:#fff;font-size:clamp(46px,4.4vw,66px);line-height:1.03}
.contact-safety-grid>div:last-child{padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}
.contact-safety p{color:rgba(255,255,255,.82);line-height:1.8}
.contact-safety strong{color:#fff}

@media(max-width:980px){
  .contact-hero-grid,.contact-direct-grid,.contact-form-grid,.contact-safety-grid{grid-template-columns:1fr}
  .contact-route-grid{grid-template-columns:1fr}
  .contact-route.cream{grid-column:auto}
  .contact-routes-head{grid-template-columns:1fr}
}
@media(max-width:640px){
  .contact-hero,.contact-routes,.contact-direct,.contact-form-section,.contact-safety{padding-top:76px;padding-bottom:76px}
  .contact-hero h1{font-size:52px}
  .contact-form{grid-template-columns:1fr;padding:30px 22px}
  .contact-form label.full,.contact-form-actions{grid-column:auto}
  .contact-form-actions{flex-direction:column;align-items:stretch}
  .contact-form-actions button{width:100%}
  .contact-direct-list div{grid-template-columns:1fr;gap:8px}
}


/* CONTACT V12 — FINAL FORM POLISH */
.contact-form input,
.contact-form select,
.contact-form textarea {
  border-color:#8f857d;
}

.contact-form input,
.contact-form select {
  min-height:46px;
}

.contact-form select {
  appearance:auto;
  background-color:transparent;
  padding-right:10px;
}

.contact-form textarea {
  min-height:170px;
  border-color:#a79d94;
}

.contact-form label {
  gap:11px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color:#5f7468;
}

.contact-form-actions {
  justify-content:flex-start;
}

.contact-form-actions button {
  min-width:225px;
}


/* =========================================================
   MOBILE COSMETIC PASS — HOMEPAGE HERO ONLY
   Scoped to phones. Desktop/tablet remains unchanged.
   ========================================================= */
@media (max-width: 640px) {
  .hero {
    padding-top: 42px;
    padding-bottom: 50px;
  }

  .hero-grid {
    gap: 26px;
  }

  .hero h1 {
    font-size: clamp(44px, 12vw, 52px);
    line-height: 1.02;
    letter-spacing: -.032em;
    margin-bottom: 24px;
  }

  .hero .lead {
    font-size: 15px;
    line-height: 1.78;
  }

  .hero .button-row {
    margin-top: 28px;
    gap: 18px;
  }

  .hero .quiet-trust {
    margin-top: 32px;
    gap: 12px;
  }

  /* The header already carries the Ash mark on mobile.
     Removing the oversized animated hero artwork prevents the partial circle/tree
     from intruding into the text column on narrow screens. */
  .hero-brand-art {
    display: none;
  }
}
