
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --sage:       #7A9E87;
      --sage-dark:  #4A7059;
      --sage-light: #EAF0EC;
      --stone:      #4A4A42;
      --warm-white: #F9F7F4;
      --mist:       #D6DDD8;
      --text:       #2E2E28;
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Inter', sans-serif;
      font-weight: 300;
      color: var(--text);
      background: var(--warm-white);
      font-size: 16px;
      line-height: 1.7;
    }

    /* NAV */
    nav {
      position: sticky;
      top: 0;
      z-index: 100;
      background: var(--warm-white);
      border-bottom: 1px solid var(--mist);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 5vw;
      height: 64px;
    }

    .nav-logo {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      text-decoration: none;
    }

    .nav-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.15rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      color: var(--stone);
    }

    .nav-name span { color: var(--sage); }

    .nav-links {
      display: flex;
      gap: 2rem;
      list-style: none;
    }

    .nav-links a {
      text-decoration: none;
      font-size: 0.82rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--stone);
      transition: color 0.2s;
    }

    .nav-links a:hover { color: var(--sage); }

    /* HERO */
    .hero {
      min-height: 92vh;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: 4rem;
      padding: 6rem 5vw 5rem;
      max-width: 1200px;
      margin: 0 auto;
    }

    .hero-text h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2.6rem, 5vw, 4.2rem);
      font-weight: 400;
      line-height: 1.15;
      color: var(--stone);
      margin-bottom: 1.5rem;
    }

    .hero-text h1 em {
      font-style: italic;
      color: var(--sage);
    }

    .hero-text p {
      font-size: 1.05rem;
      color: #5a5a52;
      max-width: 420px;
      margin-bottom: 2.5rem;
    }

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

    .btn-primary {
      background: var(--sage);
      color: #fff;
      padding: 0.8rem 2rem;
      border: none;
      font-family: 'Inter', sans-serif;
      font-size: 0.85rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      cursor: pointer;
      text-decoration: none;
      display: inline-block;
      transition: background 0.2s;
    }

    .btn-primary:hover { background: var(--sage-dark); }

    .btn-secondary {
      background: transparent;
      color: var(--stone);
      padding: 0.8rem 2rem;
      border: 1px solid var(--mist);
      font-family: 'Inter', sans-serif;
      font-size: 0.85rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-decoration: none;
      display: inline-block;
      transition: border-color 0.2s, color 0.2s;
    }

    .btn-secondary:hover { border-color: var(--sage); color: var(--sage); }

    .hero-visual {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .hero-circle {
      width: min(380px, 42vw);
      height: min(380px, 42vw);
      border-radius: 50%;
      background: var(--sage-light);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .hero-circle::after {
      content: '';
      position: absolute;
      width: 86%;
      height: 86%;
      border-radius: 50%;
      border: 1px solid var(--mist);
    }

    /* SECTIONS */
    section { padding: 5rem 5vw; }
    .section-inner { max-width: 1100px; margin: 0 auto; }

    .section-label {
      font-size: 0.72rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--sage);
      margin-bottom: 1rem;
      display: block;
    }

    .section-heading {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1.8rem, 3vw, 2.6rem);
      font-weight: 400;
      color: var(--stone);
      line-height: 1.25;
      margin-bottom: 1.5rem;
    }

    /* ABOUT */
    #about {
      background: #fff;
      border-top: 1px solid var(--mist);
      border-bottom: 1px solid var(--mist);
    }

    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: start;
    }

    .about-text p {
      color: #5a5a52;
      margin-bottom: 1rem;
    }

    .about-values {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
      padding-top: 0.5rem;
    }

    .value-item {
      border-left: 2px solid var(--sage);
      padding-left: 1.25rem;
    }

    .value-item h4 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      font-weight: 500;
      color: var(--stone);
      margin-bottom: 0.3rem;
    }

    .value-item p { font-size: 0.9rem; color: #6a6a62; }

    /* SERVICES */
    #services { background: var(--warm-white); }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
      margin-top: 2.5rem;
    }

    .service-card {
      background: #fff;
      border: 1px solid var(--mist);
      padding: 2rem 1.75rem;
    }

    .service-icon {
      width: 36px;
      height: 3px;
      background: var(--sage);
      margin-bottom: 1.5rem;
    }

    .service-card h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.35rem;
      font-weight: 500;
      color: var(--stone);
      margin-bottom: 0.75rem;
    }

    .service-card p { font-size: 0.9rem; color: #6a6a62; line-height: 1.65; }

    /* APPROACH */
    #approach {
      background: var(--sage);
      color: #fff;
    }

    #approach .section-label { color: rgba(255,255,255,0.6); }
    #approach .section-heading { color: #fff; }

    .approach-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: start;
      margin-top: 1rem;
    }

    .approach-text p {
      color: rgba(255,255,255,0.85);
      margin-bottom: 1rem;
      font-size: 1rem;
    }

    .approach-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 1rem;
      padding-top: 0.5rem;
    }

    .approach-list li {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      color: rgba(255,255,255,0.85);
      font-size: 0.92rem;
    }

    .approach-list li::before {
      content: '';
      color: rgba(255,255,255,0.45);
      flex-shrink: 0;
    }

    /* FEES */
    #fees {
      background: #fff;
      border-top: 1px solid var(--mist);
      border-bottom: 1px solid var(--mist);
    }

    .fees-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
      margin-top: 2.5rem;
    }

    .fee-card {
      background: var(--warm-white);
      border: 1px solid var(--mist);
      padding: 2rem 1.75rem;
    }

    .fee-card h3 {
      font-size: 0.72rem;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--sage-dark);
      margin-bottom: 1rem;
    }

    .fee-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2.8rem;
      font-weight: 400;
      color: var(--stone);
      line-height: 1;
      margin-bottom: 0.75rem;
    }

    .fee-card p { font-size: 0.88rem; color: #6a6a62; line-height: 1.7; }

    .fees-note {
      margin-top: 2rem;
      padding: 1.25rem 1.5rem;
      background: var(--sage-light);
      font-size: 0.88rem;
      color: #5a5a52;
      line-height: 1.6;
      border-left: 3px solid var(--sage);
    }

    /* CONTACT */
    #contact {
      background: var(--warm-white);
      border-top: 1px solid var(--mist);
    }

    .contact-layout {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: start;
    }

    .contact-intro p { color: #5a5a52; margin-bottom: 1rem; }

    .contact-details {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
    }

    .contact-item {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
    }

    .contact-item .label {
      font-size: 0.72rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--sage);
    }

    .contact-item a, .contact-item span {
      font-size: 1rem;
      color: var(--stone);
      text-decoration: none;
      font-weight: 400;
    }

    .contact-item a:hover { color: var(--sage); }

    .contact-note {
      margin-top: 1.5rem;
      padding: 1.25rem 1.5rem;
      background: var(--sage-light);
      font-size: 0.88rem;
      color: #5a5a52;
      line-height: 1.6;
    }

    /* FOOTER */
    footer {
      background: var(--stone);
      color: rgba(255,255,255,0.55);
      font-size: 0.8rem;
      padding: 2rem 5vw;
      text-align: center;
      letter-spacing: 0.03em;
    }

    footer a { color: rgba(255,255,255,0.55); text-decoration: none; }
    footer a:hover { color: white; }

    /* ADDITIONS */
    .section-heading em { font-style: italic; color: var(--sage); }
    #approach .section-heading em { color: #fff; }
    .founder { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
    .founder-name { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-weight: 500; color: var(--stone); line-height: 1.3; }
    .founder-role { font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sage); }
    .service-card { display: flex; flex-direction: column; }
    .service-card p { flex: 1; }
    .service-link {
      margin-top: 1.25rem; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase;
      color: var(--sage-dark); text-decoration: none;
    }
    .service-link:hover { color: var(--sage); }
    #neuroaffirming { background: #fff; border-top: 1px solid var(--mist); }
    .neuro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }
    .neuro-intro p { color: #5a5a52; margin-bottom: 1rem; }
    .neuro-values { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 2rem; padding-top: 0.5rem; }
    .fees-note + .fees-note { margin-top: 1rem; }
    footer .footer-links { margin-top: 0.4rem; }
    .hero-text p.hero-adults { margin: 1.5rem 0 0; font-size: 0.88rem; color: #6a6a62; }
    .hero-adults a { color: var(--sage-dark); text-decoration: none; border-bottom: 1px solid var(--mist); }
    .hero-adults a:hover { color: var(--sage); }

    /* RESPONSIVE */
    @media (max-width: 768px) {
      .hero { grid-template-columns: 1fr; min-height: auto; padding: 3rem 5vw; gap: 2.5rem; }
      .hero-visual { order: -1; }
      .hero-circle { width: 240px; height: 240px; }
      .about-grid, .services-grid, .approach-grid, .fees-grid, .contact-layout, .neuro-grid { grid-template-columns: 1fr; gap: 2.5rem; }
      .neuro-values { grid-template-columns: 1fr; }
      nav { flex-wrap: wrap; height: auto; padding: 0.75rem 5vw; gap: 0.5rem; }
      .nav-links { gap: 1rem; flex-wrap: wrap; row-gap: 0.25rem; }
      .nav-links a { font-size: 0.72rem; }
    }
  
    /* SUBPAGES */
    .page-hero { padding: 5rem 5vw 4rem; background: var(--warm-white); }
    .page-hero .section-inner { max-width: 820px; }
    .page-hero h1 {
      font-family: 'Cormorant Garamond', serif; font-size: clamp(2.4rem, 5vw, 3.6rem);
      font-weight: 400; line-height: 1.15; color: var(--stone); margin-bottom: 1.5rem;
    }
    .page-hero h1 em { font-style: italic; color: var(--sage); }
    .page-hero p { font-size: 1.05rem; color: #5a5a52; max-width: 640px; }
    .page-hero .byline { margin-top: 1.5rem; font-size: 0.85rem; color: #6a6a62; }
    .page-hero .byline strong { font-weight: 500; color: var(--stone); }
    .prose { max-width: 820px; }
    .prose p { color: #5a5a52; margin-bottom: 1rem; }
    .prose ul { list-style: none; margin: 0 0 1rem; display: flex; flex-direction: column; gap: 0.6rem; }
    .prose li { border-left: 2px solid var(--sage); padding-left: 1rem; color: #5a5a52; }
    .prose li strong { font-weight: 500; color: var(--stone); }
    .prose h3 {
      font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 500;
      color: var(--stone); margin: 2rem 0 0.5rem;
    }
    .band-white { background: #fff; border-top: 1px solid var(--mist); border-bottom: 1px solid var(--mist); }
    .band-warm { background: var(--warm-white); }
    .facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; margin-top: 2rem; }
    .facts .fee-card { padding: 1.5rem 1.25rem; }
    .facts .fee-num { font-size: 1.6rem; line-height: 1.2; }
    .prose .fee-card h3 { font-family: 'Inter', sans-serif; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--sage-dark); margin: 0 0 1rem; }
    .cta-band { background: var(--sage); color: #fff; text-align: center; }
    .cta-band .section-label { color: rgba(255,255,255,0.6); }
    .cta-band .section-heading { color: #fff; }
    .cta-band p { color: rgba(255,255,255,0.85); max-width: 560px; margin: 0 auto 2rem; }
    .cta-band .btn-primary { background: #fff; color: var(--sage-dark); }
    .cta-band .btn-primary:hover { background: var(--sage-light); }
    .related { display: flex; gap: 1rem; flex-wrap: wrap; }
    .related a { font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--stone);
      text-decoration: none; border: 1px solid var(--mist); padding: 0.7rem 1.4rem; background: #fff; }
    .related a:hover { border-color: var(--sage); color: var(--sage); }
    .faq-group + .faq-group { margin-top: 3rem; }
    .faq details { border-bottom: 1px solid var(--mist); padding: 1.1rem 0; }
    .faq details:first-of-type { border-top: 1px solid var(--mist); }
    .faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem;
      font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 500; color: var(--stone); }
    .faq summary::-webkit-details-marker { display: none; }
    .faq summary::after { content: "+"; color: var(--sage); font-family: 'Inter', sans-serif; font-weight: 300; }
    .faq details[open] summary::after { content: "\2212"; }
    .faq details p { color: #5a5a52; padding-top: 0.6rem; }
    [id] { scroll-margin-top: 90px; }
    @media (max-width: 768px) {
      .facts { grid-template-columns: 1fr 1fr; }
      .page-hero { padding: 3rem 5vw; }
    }
