:root {
      --tj-dark: #122018;
      --tj-green: #2f6f4e;
      --tj-green-dark: #24553c;
      --tj-gold: #c79a45;
      --tj-cream: #f7f4ec;
      --tj-muted: #64706a;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      color: var(--tj-dark);
      background: #fff;
    }

    section {
      scroll-margin-top: 82px;
    }

    .navbar-brand {
      font-weight: 800;
      letter-spacing: -.02em;
    }

    .text-brand {
      color: var(--tj-green) !important;
    }

    .bg-cream {
      background: var(--tj-cream);
    }

    .bg-brand {
      background: var(--tj-green);
    }

    .btn-brand {
      --bs-btn-color: #fff;
      --bs-btn-bg: var(--tj-green);
      --bs-btn-border-color: var(--tj-green);
      --bs-btn-hover-color: #fff;
      --bs-btn-hover-bg: var(--tj-green-dark);
      --bs-btn-hover-border-color: var(--tj-green-dark);
      --bs-btn-active-bg: var(--tj-green-dark);
      --bs-btn-active-border-color: var(--tj-green-dark);
    }

    .btn-outline-brand {
      --bs-btn-color: var(--tj-green);
      --bs-btn-border-color: var(--tj-green);
      --bs-btn-hover-color: #fff;
      --bs-btn-hover-bg: var(--tj-green);
      --bs-btn-hover-border-color: var(--tj-green);
    }

    .hero {
      min-height: 84vh;
      display: flex;
      align-items: center;
      background:
        linear-gradient(90deg, rgba(18,32,24,.94) 0%, rgba(18,32,24,.82) 48%, rgba(18,32,24,.45) 100%),
        url('https://images.unsplash.com/photo-1438232992991-995b7058bbb3?auto=format&fit=crop&w=1800&q=85') center/cover no-repeat;
      color: #fff;
    }

    .hero-label {
      color: #f1cf89;
      letter-spacing: .12em;
      font-size: .8rem;
      font-weight: 800;
      text-transform: uppercase;
    }

    .hero h1 {
      max-width: 850px;
      font-size: clamp(2.6rem, 6vw, 5.5rem);
      line-height: .98;
      letter-spacing: -.055em;
    }

    .hero-copy {
      max-width: 720px;
      font-size: clamp(1.05rem, 2vw, 1.3rem);
      color: rgba(255,255,255,.82);
    }

    .hero-panel {
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.10);
      backdrop-filter: blur(10px);
    }

    .section-label {
      color: var(--tj-green);
      letter-spacing: .12em;
      font-size: .78rem;
      font-weight: 800;
      text-transform: uppercase;
    }

    .section-title {
      letter-spacing: -.035em;
    }

    .icon-box {
      width: 3rem;
      height: 3rem;
      display: inline-grid;
      place-items: center;
      flex: 0 0 3rem;
      border-radius: .85rem;
      color: var(--tj-green);
      background: rgba(47,111,78,.10);
    }

    .path-card,
    .service-card,
    .result-card,
    .resource-card {
      height: 100%;
      border: 1px solid rgba(18,32,24,.10);
      box-shadow: 0 .5rem 1.5rem rgba(18,32,24,.05);
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    .path-card:hover,
    .service-card:hover,
    .resource-card:hover {
      transform: translateY(-4px);
      border-color: rgba(47,111,78,.35);
      box-shadow: 0 .9rem 2rem rgba(18,32,24,.09);
    }

    .number-badge {
      width: 2.5rem;
      height: 2.5rem;
      display: inline-grid;
      place-items: center;
      border-radius: 50%;
      color: #fff;
      background: var(--tj-green);
      font-weight: 800;
    }

    .quote-mark {
      color: var(--tj-gold);
      font-size: 2rem;
      line-height: 1;
    }

    .cta-panel {
      background:
        linear-gradient(120deg, rgba(18,32,24,.96), rgba(47,111,78,.92)),
        url('https://images.unsplash.com/photo-1507692049790-de58290a4334?auto=format&fit=crop&w=1600&q=80') center/cover;
    }

    .accordion-button:not(.collapsed) {
      color: var(--tj-green-dark);
      background: rgba(47,111,78,.08);
      box-shadow: none;
    }

    .accordion-button:focus {
      border-color: rgba(47,111,78,.3);
      box-shadow: 0 0 0 .25rem rgba(47,111,78,.14);
    }

    .footer-link {
      color: rgba(255,255,255,.72);
      text-decoration: none;
    }

    .footer-link:hover {
      color: #fff;
    }

    .sticky-mobile-cta {
      display: none;
    }

    @media (max-width: 767.98px) {
      body {
        padding-bottom: 70px;
      }

      .hero {
        min-height: auto;
        padding: 7rem 0 4rem;
        background-position: 62% center;
      }

      .sticky-mobile-cta {
        display: block;
        position: fixed;
        z-index: 1030;
        right: 0;
        bottom: 0;
        left: 0;
        padding: .75rem;
        background: rgba(255,255,255,.96);
        border-top: 1px solid rgba(18,32,24,.12);
        backdrop-filter: blur(10px);
      }
    }