
    :root {
      --color-ink: #1a1f2e;
      --color-ink-soft: #3d4555;
      --color-ink-muted: #5d6470;
      --color-cream: #faf9f7;
      --color-cream-dark: #f0eeea;
      --color-sage: #5c6b5e;
      --color-sage-light: #8fa890;
      --color-warm: #9d7a8c;
      --color-warm-light: #c9a8b8;
      /* Darker variants reserved for SMALL action/link text only, to meet contrast
         without altering the brand palette above. Not used for large display type. */
      --color-sage-strong: #495845;
      --color-warm-strong: #855f72;
      --font-display: 'Cormorant Garamond', Georgia, serif;
      --font-body: 'Outfit', -apple-system, sans-serif;
    }

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

    /* a11y utility: visually hidden but read by screen readers */
    .visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    html {
      scroll-behavior: smooth;
      overflow-x: clip;
    }

    body {
      font-family: var(--font-body);
      font-weight: 400;
      color: var(--color-ink);
      background: var(--color-cream);
      line-height: 1.6;
      font-size: 17px;
      padding-top: 0;
      overflow-x: hidden;
    }

    /* Concept Banner */
    .concept-banner {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      background: linear-gradient(135deg, var(--color-ink) 0%, #2a3142 100%);
      color: var(--color-cream);
      padding: 12px 24px;
      font-size: 13px;
      z-index: 1000;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .concept-banner strong {
      color: var(--color-warm-light);
    }

    .concept-banner__note {
      opacity: 0.7;
      font-size: 12px;
    }

    /* Page Tabs */
    .page-tabs {
      position: fixed;
      top: 44px;
      left: 0;
      right: 0;
      background: linear-gradient(135deg, var(--color-ink) 0%, #2a3142 100%);
      border-bottom: 2px solid var(--color-warm);
      display: flex;
      justify-content: center;
      gap: 0;
      z-index: 999;
      padding: 0 24px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }

    .page-tabs::-webkit-scrollbar {
      display: none;
    }

    .page-tabs__label {
      position: absolute;
      left: 24px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 10px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--color-warm);
      font-weight: 600;
      pointer-events: none;
    }

    .preview-end-marker {
      position: fixed;
      top: 94px;
      left: 0;
      right: 0;
      background: var(--color-cream);
      text-align: center;
      font-size: 9px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--color-warm);
      font-weight: 600;
      padding: 4px 0;
      z-index: 998;
      border-bottom: 1px solid rgba(157, 122, 140, 0.15);
      pointer-events: none;
    }

    @media (max-width: 700px) {
      .preview-end-marker {
        top: 92px;
        font-size: 8px;
        padding: 3px 0;
      }
    }

    @media (max-width: 700px) {
      .page-tabs__label {
        display: none;
      }

      .page-tabs {
        justify-content: flex-start;
        padding: 0 16px;
      }

      .page-tab {
        padding: 14px 16px;
        font-size: 12px;
      }

      .concept-banner {
        font-size: 12px;
        padding: 12px 16px;
      }

      .concept-banner__note {
        font-size: 11px;
      }

      .concept-banner__detail {
        display: none;
      }

      .site-nav {
        padding: 14px 16px;
      }

      .site-nav__logo {
        font-size: 1.15rem;
      }

      .site-nav__links {
        display: none;
      }

      .site-nav__cta {
        padding: 10px 14px;
        font-size: 12px;
      }
    }

    /* ============ MOBILE-FIRST TUNING ============ */
    /* The concept was laid out desktop-first; on phones the heroes and section
       padding were too tall and the Contact button sat too far down the page.
       This block tightens vertical rhythm and surfaces the primary action sooner. */
    @media (max-width: 700px) {
      body { font-size: 16px; }
      .container { padding: 0 20px; }

      /* Heroes shouldn't consume the whole first screen on a phone */
      .hero-home,
      .hero-intensives { min-height: auto; }
      .hero-home__content,
      .hero-intensives__content { padding: 48px 0; }
      .hero-home__subtitle,
      .hero-intensives__subtitle { margin-bottom: 28px; }
      .hero-home__ctas { gap: 12px; }

      /* Tighter vertical rhythm so pages aren't an endless scroll */
      .services-preview,
      .intensives-callout,
      .pricing-section,
      .section { padding: 56px 0; }
      .about-hero,
      .philosophy,
      .providers-intro,
      .contact-content { padding: 48px 0; }
      .contact-hero { padding: 48px 0; }
      .services-preview__header,
      .pricing-section__header { margin-bottom: 36px; }

      /* Cards: comfortable, not cavernous */
      .contact-form { padding: 28px 24px; }
      .provider-card { padding: 32px 24px; }
      .providers-section-label { margin: 36px 0 20px; }

      /* Trailing providers list section carries an inline padding-bottom: 100px */
      #page-providers section[style] { padding-bottom: 56px !important; }

      /* Modal: use more of a small screen, less dead margin, bigger close target */
      .rb-modal-overlay { padding: 16px; }
      .rb-modal__close { padding: 8px 12px; }
    }

    /* ============ POLISH PASS (mobile red-team) ============ */
    /* Touch targets: ensure the nav Contact CTA clears the 44px minimum hit area
       without changing its visual weight. */
    .site-nav__cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
    }

    /* Modal close: explicit 44x44 hit area, kept clear of the title. */
    .rb-modal__close {
      min-width: 44px;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    /* Required-field markers in the inquiry form. */
    .form-group label .req {
      color: var(--color-warm-strong);
      margin-left: 2px;
    }
    .form-group .optional {
      font-weight: 400;
      color: var(--color-ink-muted);
    }

    /* Contact-method links read as tappable: sage link color + underline. */
    .contact-link {
      color: var(--color-sage-strong);
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .contact-link:hover {
      color: var(--color-sage);
    }

    /* Small action/label text uses the stronger variants for contrast.
       Large display type (.section__title em, hero accents) is untouched. */
    .service-card__link {
      color: var(--color-warm-strong);
    }
    .providers-section-label,
    .section__label {
      color: var(--color-sage-strong);
    }

    /* Fuller keyboard focus indicators: form controls + hamburger. */
    .site-nav__hamburger:focus-visible,
    .form-group input:focus-visible,
    .form-group textarea:focus-visible,
    .form-group select:focus-visible,
    .contact-link:focus-visible {
      outline: 2px solid var(--color-warm);
      outline-offset: 2px;
      border-radius: 2px;
    }

    .page-tab {
      padding: 14px 24px;
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      color: rgba(250, 249, 247, 0.55);
      cursor: pointer;
      border-bottom: 2px solid transparent;
      transition: all 0.2s ease;
      background: none;
      border-top: none;
      border-left: none;
      border-right: none;
      flex-shrink: 0;
      white-space: nowrap;
    }

    .page-tab:hover {
      color: var(--color-cream);
    }

    .page-tab.active {
      color: var(--color-cream);
      border-bottom-color: var(--color-warm);
    }

    /* Keyboard focus indicators (WCAG SC 2.4.7) */
    .page-tab:focus-visible,
    .site-nav__cta:focus-visible,
    .btn:focus-visible,
    .form-submit:focus-visible,
    .site-nav__links a:focus-visible,
    .footer__col a:focus-visible,
    .service-card__link:focus-visible,
    .proposal-cta a:focus-visible {
      outline: 2px solid var(--color-warm);
      outline-offset: 2px;
      border-radius: 2px;
    }

    .page-tab--proposal {
      margin-left: 24px;
      border-left: 1px solid rgba(255,255,255,0.15);
      padding-left: 32px;
    }

    /* Proposal Page Styles */
    .proposal-header {
      background: linear-gradient(135deg, var(--color-ink) 0%, #2a3142 100%);
      color: var(--color-cream);
      padding: 80px 24px;
      text-align: center;
    }

    .proposal-header__label {
      font-size: 12px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--color-warm-light);
      margin-bottom: 16px;
    }

    .proposal-header h1,
    .proposal-header h2 {
      font-family: var(--font-display);
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 400;
      margin-bottom: 16px;
    }

    .proposal-header p {
      font-size: 1.1rem;
      opacity: 0.8;
      max-width: 500px;
      margin: 0 auto;
    }

    .proposal-content {
      max-width: 820px;
      margin: 0 auto;
      padding: 60px 24px 100px;
    }

    .proposal-section {
      margin-bottom: 56px;
    }

    .proposal-section h2 {
      font-family: var(--font-display);
      font-size: 1.6rem;
      margin-bottom: 28px;
      padding-bottom: 12px;
      border-bottom: 2px solid var(--color-warm);
      display: inline-block;
    }

    .proposal-section h3 {
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin: 28px 0 10px;
      color: var(--color-sage);
    }

    .proposal-section p {
      margin-bottom: 12px;
      line-height: 1.75;
      color: var(--color-ink-soft);
    }

    .proposal-section p strong {
      color: var(--color-ink);
      font-weight: 600;
    }

    .proposal-lead {
      font-size: 1.05rem;
      color: var(--color-ink);
      font-weight: 400;
      margin-bottom: 20px;
      line-height: 1.7;
    }

    .proposal-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px 32px;
      margin: 20px 0;
    }

    @media (max-width: 600px) {
      .proposal-grid {
        grid-template-columns: 1fr;
      }
    }

    .proposal-grid-item {
      padding: 16px 0;
      border-bottom: 1px solid rgba(0,0,0,0.06);
    }

    .proposal-grid-item strong {
      display: block;
      font-size: 0.95rem;
      color: var(--color-ink);
      margin-bottom: 4px;
    }

    .proposal-grid-item span {
      font-size: 0.9rem;
      color: var(--color-ink-muted);
      line-height: 1.5;
    }

    .proposal-section ul {
      list-style: none;
      margin: 16px 0;
    }

    .proposal-section li {
      padding: 10px 0 10px 28px;
      position: relative;
      color: var(--color-ink-soft);
      line-height: 1.6;
    }

    .proposal-section li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 16px;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--color-warm);
    }

    .proposal-section li strong {
      color: var(--color-ink);
    }

    .checklist li::before {
      content: '✓';
      background: none;
      color: var(--color-sage);
      font-weight: 600;
      font-size: 0.9rem;
      top: 10px;
      width: auto;
      height: auto;
    }

    .proposal-highlight {
      background: linear-gradient(135deg, var(--color-cream-dark) 0%, #f5f3f0 100%);
      padding: 28px 32px;
      margin: 32px 0;
      border-left: 4px solid var(--color-warm);
      border-radius: 0 8px 8px 0;
    }

    .proposal-highlight p {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.8;
    }

    .proposal-highlight strong {
      color: var(--color-ink);
    }

    .pricing-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
      margin: 24px 0;
    }

    @media (max-width: 700px) {
      .pricing-grid {
        grid-template-columns: 1fr;
      }
    }

    .pricing-option {
      background: white;
      border: 2px solid rgba(0,0,0,0.06);
      padding: 32px;
      border-radius: 8px;
      position: relative;
    }

    .pricing-option--featured {
      background: var(--color-ink);
      color: var(--color-cream);
      border: none;
    }

    .pricing-option--featured::before {
      content: 'Recommended';
      position: absolute;
      top: -12px;
      left: 24px;
      background: var(--color-warm);
      color: white;
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      padding: 4px 12px;
      border-radius: 4px;
    }

    .pricing-option__label {
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--color-ink-muted);
      margin-bottom: 8px;
    }

    .pricing-option--featured .pricing-option__label {
      color: var(--color-sage-light);
    }

    .pricing-option h3 {
      font-family: var(--font-display);
      font-size: 1.4rem;
      margin: 0 0 4px;
    }

    .pricing-option--featured h3 {
      color: var(--color-cream);
    }

    .pricing-option .price {
      font-family: var(--font-display);
      font-size: 2.75rem;
      font-weight: 500;
      margin-bottom: 4px;
    }

    .pricing-option--featured .price {
      color: var(--color-warm-light);
    }

    .pricing-option .payment {
      font-size: 0.8rem;
      color: var(--color-ink-muted);
      margin-bottom: 20px;
    }

    .pricing-option--featured .payment {
      color: rgba(255,255,255,0.6);
    }

    .pricing-option p {
      margin-bottom: 12px;
      font-size: 0.95rem;
      line-height: 1.6;
    }

    .pricing-option ul {
      margin: 16px 0 0;
    }

    .pricing-option li {
      padding: 6px 0 6px 24px;
      font-size: 0.9rem;
    }

    .pricing-option li::before {
      top: 12px;
      width: 6px;
      height: 6px;
    }

    .pricing-option--featured li::before {
      background: var(--color-warm-light);
    }

    .pricing-option--featured li,
    .pricing-option--featured p {
      color: rgba(255,255,255,0.85);
    }

    .after-pricing {
      text-align: center;
      padding: 24px;
      background: var(--color-cream-dark);
      border-radius: 8px;
      margin-top: 32px;
    }

    .after-pricing p {
      margin: 0;
      font-size: 0.9rem;
    }

    .future-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
      margin: 20px 0;
    }

    @media (max-width: 600px) {
      .future-grid {
        grid-template-columns: 1fr;
      }
    }

    .future-item {
      padding: 20px;
      background: white;
      border: 1px solid rgba(0,0,0,0.06);
      border-radius: 6px;
    }

    .future-item strong {
      display: block;
      font-size: 0.95rem;
      color: var(--color-ink);
      margin-bottom: 6px;
    }

    .future-item span {
      font-size: 0.85rem;
      color: var(--color-ink-muted);
      line-height: 1.5;
    }

    .process-flow {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin: 32px 0 40px;
      position: relative;
      padding: 0 20px;
    }

    .process-flow::before {
      content: '';
      position: absolute;
      top: 28px;
      left: 60px;
      right: 60px;
      height: 2px;
      background: linear-gradient(90deg, var(--color-warm-light) 0%, var(--color-sage-light) 100%);
    }

    .process-step {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      position: relative;
      z-index: 1;
      flex: 1;
      max-width: 120px;
    }

    .process-step__number {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: white;
      border: 3px solid var(--color-warm);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-display);
      font-size: 1.25rem;
      font-weight: 500;
      color: var(--color-ink);
      margin-bottom: 12px;
    }

    .process-step:first-child .process-step__number {
      background: var(--color-warm);
      color: white;
      border-color: var(--color-warm);
    }

    .process-step__label {
      font-size: 0.8rem;
      font-weight: 600;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      color: var(--color-ink);
      margin-bottom: 4px;
    }

    .process-step__detail {
      font-size: 0.75rem;
      color: var(--color-ink-muted);
      line-height: 1.4;
    }

    @media (max-width: 600px) {
      .process-flow {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 0;
      }
      .process-flow::before {
        display: none;
      }
      .process-step {
        flex-direction: row;
        text-align: left;
        max-width: 100%;
        gap: 16px;
      }
      .process-step__number {
        margin-bottom: 0;
        flex-shrink: 0;
      }
    }

    .proposal-cta {
      text-align: center;
      padding: 60px 24px;
      background: var(--color-cream-dark);
    }

    .proposal-cta h2 {
      font-family: var(--font-display);
      font-size: 2rem;
      margin-bottom: 16px;
    }

    .proposal-cta p {
      color: var(--color-ink-soft);
      margin-bottom: 20px;
      max-width: 460px;
      margin-left: auto;
      margin-right: auto;
      line-height: 1.7;
    }

    .proposal-cta a {
      display: inline-block;
      background: var(--color-ink);
      color: white;
      padding: 18px 40px;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      text-decoration: none;
      border-radius: 4px;
      transition: all 0.2s;
    }

    .proposal-cta a:hover {
      background: var(--color-sage);
      transform: translateY(-2px);
    }

    .proposal-footer {
      text-align: center;
      padding: 40px 24px;
      font-size: 0.85rem;
      color: var(--color-ink-muted);
    }

    /* Page Sections */
    .page-content {
      display: none;
    }

    .page-content.active {
      display: block;
    }

    /* Utility */
    .container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 24px;
    }

    /* Navigation (within page) */
    .site-nav {
      background: white;
      padding: 20px 24px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid rgba(0,0,0,0.05);
      position: relative;
    }

    .site-nav__actions {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .site-nav__hamburger {
      display: none;
      background: none;
      border: 1px solid rgba(0,0,0,0.12);
      border-radius: 2px;
      padding: 8px 10px;
      cursor: pointer;
      color: var(--color-ink);
      align-items: center;
      justify-content: center;
      min-width: 44px;
      min-height: 44px;
    }

    .site-nav__hamburger:hover {
      background: var(--color-cream-dark);
    }

    .site-nav__logo {
      font-family: var(--font-display);
      font-size: 1.4rem;
      font-weight: 500;
      color: var(--color-ink);
    }

    .site-nav__links {
      display: flex;
      gap: 32px;
      list-style: none;
    }

    .site-nav__links a {
      font-size: 14px;
      color: var(--color-ink-soft);
      text-decoration: none;
      transition: color 0.2s;
    }

    .site-nav__links a:hover {
      color: var(--color-ink);
    }

    .site-nav__cta {
      background: var(--color-ink);
      color: white;
      padding: 10px 20px;
      font-size: 13px;
      font-weight: 500;
      text-decoration: none;
      letter-spacing: 0.5px;
    }

    /* Hero - Homepage */
    .hero-home {
      min-height: 80vh;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
      background: linear-gradient(135deg, var(--color-ink) 0%, #2a3142 50%, #1a1f2e 100%);
    }

    .hero-home::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: 
        radial-gradient(ellipse at 20% 80%, rgba(92, 107, 94, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(157, 122, 140, 0.12) 0%, transparent 40%),
        radial-gradient(ellipse at 50% 50%, rgba(140, 130, 160, 0.06) 0%, transparent 60%);
      pointer-events: none;
    }

    .hero-home__content {
      position: relative;
      z-index: 1;
      color: var(--color-cream);
      padding: 80px 0;
      max-width: 700px;
    }

    .hero-home__title {
      font-family: var(--font-display);
      font-size: clamp(2.5rem, 6vw, 4rem);
      font-weight: 400;
      line-height: 1.15;
      margin-bottom: 24px;
    }

    .hero-home__title em {
      font-style: italic;
      color: var(--color-warm-light);
    }

    .hero-home__subtitle {
      font-size: 1.15rem;
      font-weight: 300;
      color: rgba(250, 249, 247, 0.85);
      max-width: 520px;
      line-height: 1.7;
      margin-bottom: 40px;
    }

    .hero-home__ctas {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 16px 28px;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.5px;
      text-decoration: none;
      transition: all 0.3s ease;
    }

    .btn--primary {
      background: var(--color-cream);
      color: var(--color-ink);
    }

    .btn--primary:hover {
      background: var(--color-warm-light);
      transform: translateY(-2px);
    }

    .btn--outline {
      background: transparent;
      color: var(--color-cream);
      border: 1px solid rgba(255,255,255,0.3);
    }

    .btn--outline:hover {
      border-color: rgba(255,255,255,0.6);
      background: rgba(255,255,255,0.05);
    }

    .hero-home__tertiary {
      margin-top: 20px;
      font-size: 0.95rem;
    }

    .hero-home__tertiary a {
      color: rgba(250, 249, 247, 0.85);
      text-decoration: underline;
      text-underline-offset: 3px;
      padding: 8px 0;
      display: inline-block;
    }

    .hero-home__tertiary a:hover {
      color: var(--color-cream);
    }

    .hero-home__tertiary a:focus-visible {
      outline: 2px solid var(--color-warm);
      outline-offset: 2px;
      border-radius: 2px;
    }

    /* Services Preview */
    .services-preview {
      padding: 100px 0;
      background: white;
    }

    .services-preview__header {
      text-align: center;
      max-width: 600px;
      margin: 0 auto 60px;
    }

    .section__label {
      font-size: 11px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--color-sage);
      margin-bottom: 16px;
      font-weight: 500;
    }

    .section__title {
      font-family: var(--font-display);
      font-size: clamp(2rem, 5vw, 2.75rem);
      font-weight: 400;
      line-height: 1.2;
      margin-bottom: 16px;
    }

    .section__title em {
      font-style: italic;
    }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
    }

    @media (max-width: 900px) {
      .services-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin: 0 auto;
      }
    }

    .service-card {
      padding: 40px 32px;
      background: var(--color-cream);
      border: 1px solid rgba(0,0,0,0.04);
      transition: all 0.3s ease;
    }

    .service-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 40px rgba(0,0,0,0.06);
    }

    .service-card--featured {
      background: var(--color-ink);
      color: var(--color-cream);
      border-color: var(--color-ink);
    }

    .service-card__icon {
      width: 48px;
      height: 48px;
      margin-bottom: 24px;
      color: var(--color-sage);
    }

    .service-card--featured .service-card__icon {
      color: var(--color-warm-light);
    }

    .service-card__title {
      font-family: var(--font-display);
      font-size: 1.5rem;
      margin-bottom: 12px;
    }

    .service-card__desc {
      font-size: 0.95rem;
      line-height: 1.7;
      opacity: 0.8;
      margin-bottom: 20px;
    }

    .service-card__link {
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      color: var(--color-warm);
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .service-card--featured .service-card__link {
      color: var(--color-warm-light);
    }

    /* Intensives Callout on Home */
    .intensives-callout {
      padding: 100px 0;
      background: var(--color-sage);
      color: var(--color-cream);
    }

    .intensives-callout__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
    }

    @media (max-width: 900px) {
      .intensives-callout__grid {
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .intensives-callout__image {
        display: none;
      }
    }

    .intensives-callout__content {
      max-width: 480px;
    }

    .intensives-callout .section__label {
      color: var(--color-sage-light);
    }

    .intensives-callout__text {
      font-size: 1.1rem;
      line-height: 1.8;
      opacity: 0.9;
      margin-bottom: 32px;
    }

    .intensives-callout__image {
      background: rgba(255,255,255,0.1);
      height: 350px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      opacity: 0.6;
      border: 1px dashed rgba(255,255,255,0.2);
    }

    /* Section styling */
    .section {
      padding: 100px 0;
    }

    .section--sage {
      background: var(--color-sage);
      color: var(--color-cream);
    }

    .section--cream-dark {
      background: var(--color-cream-dark);
    }

    .section--sage .section__label {
      color: var(--color-sage-light);
    }

    /* About Page */
    .about-hero {
      padding: 80px 0;
      background: white;
    }

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

    @media (max-width: 900px) {
      .about-hero__grid {
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .about-hero__image {
        display: none;
      }
    }

    .about-hero__content h1,
    .about-hero__content h2 {
      font-family: var(--font-display);
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 400;
      line-height: 1.2;
      margin-bottom: 24px;
    }

    .about-hero__content h1 em,
    .about-hero__content h2 em {
      font-style: italic;
      color: var(--color-warm);
    }

    .about-hero__text {
      font-size: 1.05rem;
      line-height: 1.8;
      color: var(--color-ink-soft);
    }

    .about-hero__text p {
      margin-bottom: 20px;
    }

    .about-hero__image {
      background: var(--color-cream-dark);
      height: 400px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      color: var(--color-ink-muted);
      border: 1px dashed rgba(0,0,0,0.1);
    }

    /* Philosophy Section */
    .philosophy {
      padding: 80px 0;
      background: var(--color-cream-dark);
    }

    .philosophy__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 48px;
    }

    @media (max-width: 900px) {
      .philosophy__grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin: 0 auto;
      }
    }

    .philosophy__item h3 {
      font-family: var(--font-display);
      font-size: 1.35rem;
      margin-bottom: 12px;
      color: var(--color-ink);
    }

    .philosophy__item p {
      font-size: 0.95rem;
      line-height: 1.7;
      color: var(--color-ink-soft);
    }

    /* Providers Page */
    .providers-intro {
      padding: 80px 0;
      text-align: center;
      background: white;
    }

    .providers-intro__text {
      max-width: 600px;
      margin: 0 auto;
      font-size: 1.1rem;
      line-height: 1.8;
      color: var(--color-ink-soft);
    }

    .providers-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
      padding: 0 0 40px;
    }

    @media (max-width: 900px) {
      .providers-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
      }
    }

    .providers-grid--four {
      grid-template-columns: repeat(4, 1fr);
    }

    @media (max-width: 1100px) {
      .providers-grid--four {
        grid-template-columns: repeat(2, 1fr);
      }

      /* Mobile-style dropdown menu: links collapse to a hamburger toggle.
         Tap ☰ to reveal the four nav links beneath the nav row.
         Logo + Contact stay visible alongside the hamburger. */
      .site-nav__hamburger {
        display: inline-flex;
      }

      .site-nav__links {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        gap: 0;
        background: white;
        border-top: 1px solid rgba(0,0,0,0.05);
        box-shadow: 0 8px 24px rgba(0,0,0,0.06);
        padding: 12px 0;
        z-index: 10;
      }

      .site-nav.open .site-nav__links {
        display: flex;
      }

      .site-nav__links li {
        padding: 14px 24px;
      }

      .site-nav__links a {
        font-size: 16px;
        display: block;
        min-height: 24px;
      }

      /* Current page highlighted in the open mobile menu. */
      .site-nav__links a.is-current {
        color: var(--color-ink);
        font-weight: 600;
        box-shadow: inset 3px 0 0 var(--color-warm);
      }
    }

    @media (max-width: 600px) {
      .providers-grid--four {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
      }
    }

    .providers-grid--two {
      grid-template-columns: repeat(2, 1fr);
      max-width: 700px;
      margin: 0 auto;
    }

    @media (max-width: 700px) {
      .providers-grid--two {
        grid-template-columns: 1fr;
        max-width: 400px;
      }
    }

    .providers-grid--single {
      grid-template-columns: 1fr;
      max-width: 480px;
      margin: 0 auto;
    }

    .providers-section-label {
      font-size: 11px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--color-sage);
      font-weight: 500;
      text-align: center;
      margin: 56px 0 24px;
      padding-bottom: 0;
    }

    .providers-section-label:first-of-type {
      margin-top: 0;
    }

    .provider-card {
      background: var(--color-cream);
      padding: 48px 32px;
      text-align: center;
      border: 1px solid rgba(0,0,0,0.04);
    }

    .provider-card--bodywork {
      background: white;
      border: 1px solid var(--color-warm-light);
    }

    .provider-card--dog {
      background: var(--color-cream-dark);
    }

    .provider-card__photo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      background: var(--color-cream-dark);
      margin: 0 auto 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-display);
      font-size: 2rem;
      font-style: italic;
      color: var(--color-ink-muted);
      overflow: hidden;
    }

    .provider-card__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
    }

    .provider-card--bodywork .provider-card__photo {
      background: var(--color-cream);
    }

    .provider-card--dog .provider-card__photo {
      background: white;
      font-size: 2.5rem;
      font-style: normal;
    }

    .provider-card__name {
      font-family: var(--font-display);
      font-size: 1.35rem;
      margin-bottom: 4px;
    }

    .provider-card__title {
      font-size: 0.85rem;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--color-ink-muted);
      margin-bottom: 16px;
    }

    .provider-card__bio {
      font-size: 0.9rem;
      line-height: 1.7;
      color: var(--color-ink-soft);
      margin-bottom: 20px;
      text-align: left;
    }

    .provider-card--dog .provider-card__bio {
      text-align: center;
    }

    .provider-card__credentials {
      font-size: 0.8rem;
      color: var(--color-sage);
    }

    /* Contact Page */
    .contact-hero {
      padding: 80px 0;
      background: linear-gradient(135deg, var(--color-ink) 0%, #2a3142 100%);
      color: var(--color-cream);
      text-align: center;
    }

    .contact-hero h1,
    .contact-hero h2 {
      font-family: var(--font-display);
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 400;
      margin-bottom: 16px;
    }

    .contact-hero p {
      font-size: 1.1rem;
      opacity: 0.8;
      max-width: 500px;
      margin: 0 auto;
    }

    .contact-content {
      padding: 80px 0;
      background: white;
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
    }

    @media (max-width: 900px) {
      .contact-grid {
        grid-template-columns: 1fr;
        gap: 48px;
      }
    }

    .contact-form {
      background: var(--color-cream);
      padding: 48px;
    }

    .contact-form h2 {
      font-family: var(--font-display);
      font-size: 1.5rem;
      margin-bottom: 8px;
    }

    .contact-form__note {
      font-size: 0.9rem;
      color: var(--color-ink-muted);
      margin-bottom: 32px;
    }

    .form-group {
      margin-bottom: 24px;
    }

    .form-group label {
      display: block;
      font-size: 0.85rem;
      font-weight: 500;
      margin-bottom: 8px;
      color: var(--color-ink-soft);
    }

    .form-group input,
    .form-group textarea,
    .form-group select {
      width: 100%;
      padding: 14px 16px;
      font-size: 1rem;
      font-family: var(--font-body);
      border: 1px solid rgba(0,0,0,0.1);
      background: white;
      transition: border-color 0.2s;
    }

    .form-group input:focus,
    .form-group textarea:focus,
    .form-group select:focus {
      outline: none;
      border-color: var(--color-sage);
    }

    .form-group textarea {
      min-height: 120px;
      resize: vertical;
    }

    .form-submit {
      background: var(--color-ink);
      color: white;
      padding: 16px 32px;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      border: none;
      cursor: pointer;
      transition: all 0.3s;
      width: 100%;
    }

    .form-submit:hover {
      background: var(--color-sage);
    }

    .contact-info h2 {
      font-family: var(--font-display);
      font-size: 1.5rem;
      margin-bottom: 24px;
    }

    .contact-info__item {
      margin-bottom: 24px;
    }

    .contact-info__item h3 {
      font-size: 0.85rem;
      font-weight: 500;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--color-ink-muted);
      margin-bottom: 8px;
    }

    .contact-info__item p {
      font-size: 1rem;
      color: var(--color-ink-soft);
      line-height: 1.6;
    }

    .contact-info__note {
      margin-top: 32px;
      padding: 24px;
      background: var(--color-cream);
      border-left: 3px solid var(--color-warm);
    }

    .contact-info__note p {
      font-size: 0.95rem;
      line-height: 1.7;
      color: var(--color-ink-soft);
    }

    /* Contact start button (opens inquiry modal — mirrors the live SimplePractice flow) */
    .contact-start__btn {
      display: inline-block;
      background: var(--color-ink);
      color: white;
      padding: 16px 36px;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      border: none;
      cursor: pointer;
      transition: background 0.3s;
    }

    .contact-start__btn:hover {
      background: var(--color-sage);
    }

    /* Contact inquiry modal */
    .rb-modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(26, 31, 46, 0.55);
      display: none;
      align-items: center;
      justify-content: center;
      padding: 24px;
      z-index: 1100;
    }

    .rb-modal-overlay.open {
      display: flex;
    }

    body.rb-modal-open {
      position: fixed;
      left: 0;
      right: 0;
      width: 100%;
      overflow: hidden;
    }

    .rb-modal {
      background: white;
      width: 100%;
      max-width: 460px;
      border-radius: 6px;
      overflow: hidden;
      box-shadow: 0 24px 60px rgba(0,0,0,0.25);
      max-height: 90vh;
      overflow-y: auto;
    }

    .rb-modal__banner {
      background: #eef0ec;
      border-bottom: 1px solid #dfe3dc;
      padding: 10px 16px;
      font-size: 0.8rem;
      color: #44503f;
      line-height: 1.45;
    }

    .rb-modal__body {
      padding: 32px 32px 36px;
      position: relative;
    }

    .rb-modal__close {
      position: absolute;
      top: 14px;
      right: 16px;
      background: none;
      border: none;
      cursor: pointer;
      color: var(--color-ink-muted);
      font-size: 1.6rem;
      line-height: 1;
      padding: 4px 8px;
    }

    .rb-modal__close:hover {
      color: var(--color-ink);
    }

    .rb-modal h2 {
      font-family: var(--font-display);
      font-size: 1.5rem;
      font-weight: 500;
      margin-bottom: 20px;
    }

    .rb-modal__intro {
      font-size: 0.9rem;
      line-height: 1.6;
      color: var(--color-ink-soft);
      margin: -8px 0 20px;
    }

    .rb-modal__helper {
      display: none;
      font-size: 0.85rem;
      line-height: 1.6;
      color: var(--color-ink-soft);
      background: var(--color-cream);
      border-left: 3px solid var(--color-sage);
      padding: 10px 14px;
      margin: -8px 0 20px;
    }

    .rb-modal__helper.show {
      display: block;
    }

    .contact-start__btn:focus-visible,
    .rb-modal__close:focus-visible {
      outline: 2px solid var(--color-warm);
      outline-offset: 2px;
      border-radius: 2px;
    }

    /* Intensives Page - Hero */
    .hero-intensives {
      min-height: 70vh;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
      background: linear-gradient(135deg, var(--color-ink) 0%, #2a3142 50%, #1a1f2e 100%);
    }

    .hero-intensives::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: 
        radial-gradient(ellipse at 20% 80%, rgba(92, 107, 94, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(157, 122, 140, 0.12) 0%, transparent 40%),
        radial-gradient(ellipse at 50% 50%, rgba(140, 130, 160, 0.06) 0%, transparent 60%);
      pointer-events: none;
    }

    .hero-intensives__content {
      position: relative;
      z-index: 1;
      color: var(--color-cream);
      padding: 80px 0;
    }

    .hero-intensives__label {
      font-size: 12px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--color-sage-light);
      margin-bottom: 24px;
      font-weight: 500;
    }

    .hero-intensives__title {
      font-family: var(--font-display);
      font-size: clamp(3rem, 8vw, 5rem);
      font-weight: 400;
      line-height: 1.05;
      margin-bottom: 32px;
      max-width: 650px;
    }

    .hero-intensives__title em {
      font-style: italic;
      color: var(--color-warm-light);
    }

    .hero-intensives__subtitle {
      font-size: 1.2rem;
      font-weight: 300;
      color: rgba(250, 249, 247, 0.8);
      max-width: 500px;
      line-height: 1.7;
      margin-bottom: 40px;
    }

    /* Pricing Grid */
    .pricing-section {
      padding: 100px 0;
      background: var(--color-cream-dark);
    }

    .pricing-section__header {
      text-align: center;
      max-width: 600px;
      margin: 0 auto 60px;
    }

    .pricing-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px;
      max-width: 760px;
      margin: 0 auto;
    }

    @media (max-width: 900px) {
      .pricing-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
      }
    }

    .pricing-card {
      background: white;
      padding: 40px 32px;
      border: 1px solid rgba(0,0,0,0.06);
      text-align: center;
      transition: all 0.3s ease;
    }

    .pricing-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 40px rgba(0,0,0,0.08);
    }

    .pricing-card--featured {
      background: var(--color-ink);
      color: var(--color-cream);
      border-color: var(--color-ink);
    }

    .pricing-card__duration {
      font-size: 12px;
      letter-spacing: 2px;
      text-transform: uppercase;
      opacity: 0.6;
      margin-bottom: 16px;
    }

    .pricing-card__price {
      font-family: var(--font-display);
      font-size: 3rem;
      font-weight: 400;
      margin-bottom: 8px;
    }

    .pricing-card__unit {
      font-size: 0.9rem;
      opacity: 0.7;
      margin-bottom: 24px;
    }

    .pricing-card__includes {
      font-size: 0.9rem;
      line-height: 1.7;
      opacity: 0.8;
    }

    .pricing-card__note {
      margin-top: 20px;
      padding-top: 16px;
      border-top: 1px solid rgba(255,255,255,0.1);
      font-size: 0.8rem;
      font-weight: 500;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      color: var(--color-warm-light);
    }

    /* Intensives (duration-based packages) */
    .pricing-grid--three {
      grid-template-columns: repeat(3, 1fr);
      max-width: 1100px;
      align-items: start;
    }

    @media (max-width: 1000px) {
      .pricing-grid--three {
        grid-template-columns: 1fr;
        max-width: 460px;
      }
    }

    .pricing-card__price {
      font-family: var(--font-display);
      font-size: 2.6rem;
      font-weight: 500;
      margin: 4px 0 12px;
    }

    .pricing-card--featured .pricing-card__price {
      color: var(--color-warm-light);
    }

    .i-lead {
      font-family: var(--font-display);
      font-size: 1.25rem;
      line-height: 1.4;
      margin-bottom: 14px;
    }

    .i-sub {
      font-size: 0.8rem;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--color-sage-strong);
      margin: 18px 0 6px;
      text-align: left;
    }

    .pricing-card--featured .i-sub {
      color: var(--color-sage-light);
    }

    .i-list {
      list-style: none;
      text-align: left;
      margin: 0;
      padding: 0;
    }

    .i-list li {
      padding: 6px 0 6px 22px;
      position: relative;
      font-size: 0.9rem;
      line-height: 1.55;
      color: var(--color-ink-soft);
    }

    .i-list li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 13px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--color-warm);
    }

    .pricing-card--featured .i-list li {
      color: rgba(255,255,255,0.85);
    }

    .pricing-card--featured .i-list li::before {
      background: var(--color-warm-light);
    }

    .consult-card {
      max-width: 760px;
      margin: 0 auto;
      background: white;
      border-left: 4px solid var(--color-warm);
      border-radius: 0 8px 8px 0;
      padding: 32px 36px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 32px;
      align-items: start;
    }

    @media (max-width: 700px) {
      .consult-card {
        grid-template-columns: 1fr;
        padding: 28px 24px;
      }
    }

    .consult-card h3 {
      font-family: var(--font-display);
      font-size: 1.4rem;
      font-weight: 500;
      margin: 8px 0 4px;
    }

    .consult-card__price {
      font-family: var(--font-display);
      font-size: 2.2rem;
      font-weight: 500;
      color: var(--color-ink);
    }

    .consult-card__detail p {
      font-size: 0.85rem;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--color-sage-strong);
      margin-bottom: 6px;
    }

    .i-terms {
      max-width: 680px;
      margin: 48px auto 0;
      text-align: center;
    }

    .i-terms p {
      color: var(--color-ink-soft);
      line-height: 1.7;
      margin-top: 12px;
      font-size: 0.95rem;
    }

    .i-list--fit {
      max-width: 680px;
      margin: 0 auto;
      columns: 2;
      column-gap: 48px;
    }

    .i-list--fit li {
      break-inside: avoid;
    }

    @media (max-width: 700px) {
      .i-list--fit {
        columns: 1;
        max-width: 420px;
      }
    }

    /* Footer */
    .footer {
      background: var(--color-ink);
      color: var(--color-cream);
      padding: 60px 24px;
    }

    .footer__grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 48px;
      max-width: 1200px;
      margin: 0 auto;
    }

    @media (max-width: 900px) {
      .footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
      }
    }

    .footer__brand {
      font-family: var(--font-display);
      font-size: 1.5rem;
      margin-bottom: 16px;
    }

    .footer__tagline {
      font-size: 0.9rem;
      opacity: 0.7;
      line-height: 1.6;
      max-width: 280px;
    }

    .footer__col h2,
    .footer__col h4 {
      font-size: 0.8rem;
      letter-spacing: 1px;
      text-transform: uppercase;
      opacity: 0.5;
      margin-bottom: 16px;
    }

    .footer__col ul {
      list-style: none;
    }

    .footer__col li {
      margin-bottom: 10px;
    }

    .footer__col a {
      color: var(--color-cream);
      text-decoration: none;
      font-size: 0.9rem;
      opacity: 0.8;
      transition: opacity 0.2s;
    }

    .footer__col a:hover {
      opacity: 1;
    }

    /* Disabled-looking placeholder link (e.g. "Privacy · coming at launch") */
    .footer-link--placeholder {
      color: rgba(250, 249, 247, 0.55);
    }

    .footer-link--placeholder em {
      font-style: normal;
      font-size: 0.85em;
      color: var(--color-warm-light);
    }

    .footer__bottom {
      max-width: 1200px;
      margin: 48px auto 0;
      padding-top: 24px;
      border-top: 1px solid rgba(255,255,255,0.1);
      display: flex;
      justify-content: space-between;
      font-size: 0.8rem;
      opacity: 0.5;
    }
  
/* ===== Production: SimplePractice widget button, styled to the site ===== */
.spwidget-button-wrapper { text-align: left; }
.spwidget-button, .spwidget-button:visited {
  display: inline-block; background: var(--color-ink); color: #fff;
  padding: 16px 36px; font-size: 14px; font-weight: 500; letter-spacing: 0.5px;
  text-transform: uppercase; text-decoration: none; border: none;
  font-family: var(--font-body); transition: background 0.3s; cursor: pointer;
}
.spwidget-button:hover { background: var(--color-sage); color: #fff; }
.spwidget-button:active { color: #fff !important; box-shadow: none; }
.spwidget-button:focus-visible { outline: 2px solid var(--color-warm); outline-offset: 2px; }

/* ===== Accessibility: AA contrast corrections =====
   The "strong" variants below were already defined and applied earlier in this
   sheet for small text, but the base component rules appear later with equal
   specificity and were overriding them, so the tuning never took effect. This
   block is appended last so the intended colors win. No new brand colors: the
   strong variants and cream are existing tokens. */
.service-card__link {
  color: var(--color-warm-strong);
}
.providers-section-label,
.section__label {
  color: var(--color-sage-strong);
}
/* Labels on dark backgrounds use cream, matching every other dark section. */
.intensives-callout .section__label,
.section--sage .section__label {
  color: var(--color-cream);
}
/* Duration text: the 0.6 opacity blend landed at 4.34, just under AA. */
.pricing-card__duration {
  opacity: 0.75;
}
/* Prose links inside cards (the therapy page's EMDR mention). */
.philosophy__item a {
  color: var(--color-warm-strong);
  text-decoration: underline;
  text-underline-offset: 2px;
}
/* Placeholder photo wells: darken so the caption clears AA while placeholders ship. */
.intensives-callout__image {
  /* This element carried opacity:0.6, which faded its background AND its
     caption together, so darkening the background alone was multiplied away
     (measured 3.63 live). The muting moves onto the background alpha instead,
     which leaves the caption at full cream. Verified 0 axe violations. */
  opacity: 1;
  background: rgba(0, 0, 0, 0.22);
  color: var(--color-cream);
}

/* ===== Hero: team photo split (Jennifer 8/9/26; her chosen frame, 8/10/26).
   Frame 48 is landscape, so the box is sized to a 3:2 crop: max-height 470
   makes cover height-driven (no vertical crop) and keeps 78% of the width.
   On mobile the photo keeps its own proportions rather than being cropped to
   a portrait card, so the whole team shows and the buttons stay above the
   fold. ===== */
.hero-home--split {
  min-height: unset;
  padding-top: 72px;
  padding-bottom: 72px;
}
.hero-split {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 48px;
  align-items: center;
}
.hero-split__media img {
  width: 100%;
  height: 100%;
  max-height: 470px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
@media (max-width: 900px) {
  .hero-split { grid-template-columns: 1fr; }
  .hero-split__media img { height: auto; max-height: none; }
}
