﻿   /* =========================================================
       WALK & TALK — DESIGN SYSTEM
    ========================================================= */

    :root {
      --cream: #f4f1e8;
      --warm-white: #fbfaf7;
      --sage: #91a99d;
      --sage-dark: #718b7f;
      --sage-light: #dfe6e0;
      --terracotta: #d06b4d;
      --terracotta-dark: #b9573d;
      --charcoal: #252522;
      --muted: #686863;
      --line: #d7d4cb;
      --white: #ffffff;

      --max-width: 1180px;
      --content-padding: clamp(20px, 4vw, 60px);

      --serif: "PT Serif", Georgia, "Times New Roman", serif;
      --sans: "Outfit",Arial, Helvetica, sans-serif;

      --shadow: 0 10px 30px rgba(35, 35, 30, 0.08);
    }

    /* =========================================================
       RESET
    ========================================================= */

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }
		/* width */
		::-webkit-scrollbar {
		  width: 10px;
		}

		/* Track */
		::-webkit-scrollbar-track {
		  background: #ffffff;
		}
		 
		/* Handle */
		::-webkit-scrollbar-thumb {
		  background: #999; 
		  border-radius: 10px;
		}

		/* Handle on hover */
		::-webkit-scrollbar-thumb:hover {
		  background: #555; 
		}
    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      background: var(--warm-white);
      color: var(--charcoal);
      font-family: var(--sans);
      line-height: 1.55;
    }

    img {
      display: block;
      width: 100%;
      max-width: 100%;
    }

    button,
    a {
      font: inherit;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    p,
    h1,
    h2,
    h3,
    h4 {
      margin-top: 0;
    }

    /* =========================================================
       UTILITIES
    ========================================================= */

    .container {
      width: min(100% - 40px, var(--max-width));
      margin-inline: auto;
    }

    .eyebrow {
      margin-bottom: 8px;
      color: var(--sage-dark);
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .section-title {
      margin-bottom: 10px;
      font-family: var(--serif);
      font-size: clamp(32px, 4vw, 48px);
      font-weight: 400;
      line-height: 1.05;
      text-transform: uppercase;
    }

    .section-intro {
      max-width: 850px;
      margin-bottom: 35px;
      color: var(--muted);
      font-size: 18px;
      line-height: 1.7;
    }

    .accent {
      color: var(--terracotta);
    }

    .center {
      text-align: center;
    }

    /* =========================================================
       BUTTONS
    ========================================================= */

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      padding: 10px 20px;
      border: 1px solid transparent;
      border-radius: 0;
      cursor: pointer;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn-primary {
      background: var(--terracotta);
      color: var(--white);
    }

    .btn-primary:hover {
      background: var(--terracotta-dark);
    }

    .btn-sage {
      background: var(--sage);
      color: var(--white);
    }

    .btn-outline {
      border-color: var(--sage);
      background: transparent;
      color: var(--sage-dark);
    }

    /* =========================================================
       PLACEHOLDERS
    ========================================================= */

    .image-placeholder {
      position: relative;
      overflow: hidden;
      background: #d9d7ce;
    }

    .image-placeholder::after {
      content: "IMAGE PLACEHOLDER";
      position: absolute;
      top: 50%;
      left: 50%;
      padding: 8px 12px;
      border: 1px solid rgba(255,255,255,.7);
      color: rgba(255,255,255,.9);
      font-size: 12px;
      letter-spacing: .15em;
      transform: translate(-50%, -50%);
      white-space: nowrap;
    }

    .logo-placeholder {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: var(--serif);
      font-size: 28px;
      letter-spacing: .04em;
      white-space: nowrap;
    }

    .logo-placeholder-mark {
      width: 28px;
      height: 28px;
      border: 1px solid var(--sage-dark);
      border-radius: 50%;
      position: relative;
    }

    .logo-placeholder-mark::before {
      content: "";
      position: absolute;
      width: 12px;
      height: 1px;
      background: var(--sage-dark);
      left: 7px;
      top: 13px;
      transform: rotate(-45deg);
    }

    /* =========================================================
       HEADER / STICKY NAV
    ========================================================= */

    .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: rgba(251, 250, 247, 0.98);
      border-bottom: 1px solid var(--line);
      backdrop-filter: blur(10px);
    }

    .navbar {
      min-height: 68px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 30px;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 27px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .nav-links a {
      color: var(--charcoal);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      transition: color .2s ease;
    }

    .nav-links a:hover {
      color: var(--terracotta);
    }

    .hamburger {
      display: none;
      width: 42px;
      height: 42px;
      padding: 8px;
      border: 1px solid var(--line);
      background: transparent;
      cursor: pointer;
    }

    .hamburger span {
      display: block;
      height: 1px;
      margin: 5px 0;
      background: var(--charcoal);
      transition: transform .2s ease;
    }

    /* =========================================================
       HERO
    ========================================================= */

    .hero {
      position: relative;
      min-height: 650px;
      display: flex;
      align-items: center;
      overflow: hidden;
      color: var(--white);
      background: #5b665e;
    }

    .hero-image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .hero-overlay {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(
          90deg,
          rgba(20, 27, 23, .72) 0%,
          rgba(20, 27, 23, .48) 43%,
          rgba(20, 27, 23, .08) 75%
        );
    }

    .hero-content {
      position: relative;
      z-index: 2;
      width: min(100% - 40px, var(--max-width));
      margin: auto;
      padding-block: 100px;
    }

    .hero-content-inner {
      max-width: 700px;
    }

    .hero .eyebrow {
      color: rgba(255,255,255,.8);
    }

    .hero h1 {
      max-width: 700px;
      margin-bottom: 18px;
      font-family: var(--serif);
      font-size: clamp(44px, 6vw, 76px);
      font-weight: 400;
      line-height: .95;
      text-transform: uppercase;
    }

    .hero p {
      max-width: 700px;
      margin-bottom: 28px;
      color: rgba(255,255,255,.9);
      font-size: 18px;
      line-height: 1.7;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .online-hero {
      position: relative;
      padding: 80px 0;
      background:
        linear-gradient(90deg, rgba(20, 27, 23, 0.72) 0%, rgba(20, 27, 23, 0.52) 38%, rgba(20, 27, 23, 0.18) 100%),
        url('./images/hero-online.png') center center / cover no-repeat;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .online-hero .container {
      display: flex;
      justify-content: flex-start;
    }

    .online-hero__content {
      max-width: 540px;
      margin: 0;
      text-align: left;
      padding: clamp(26px, 5vw, 48px);
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.22);
      backdrop-filter: blur(2px);
      box-shadow: var(--shadow);
      color: var(--white);
    }

    .online-hero__content .eyebrow {
      color: rgba(255,255,255,0.8);
    }

    .online-hero__content h2 {
      margin-bottom: 12px;
      font-family: var(--serif);
      font-size: clamp(32px, 4vw, 52px);
      line-height: 1.05;
      font-weight: 400;
      text-transform: uppercase;
      color: var(--white);
    }

    .online-hero__content p {
      margin: 0 0 10px;
      max-width: 440px;
      color: rgba(255,255,255,0.92);
      font-size: 18px;
      line-height: 1.6;
    }

    .online-hero__content .hero-actions {
      justify-content: flex-start;
      margin-top: 28px;
    }

    /* =========================================================
       INTRO / CAPACITY
    ========================================================= */

    .capacity {
      padding: 60px 0 70px;
      background: var(--warm-white);
    }

    .capacity-header {
      max-width: 800px;
      margin-bottom: 40px;
    }

    .capacity-header h2 {
      max-width: 700px;
      margin-bottom: 8px;
      font-family: var(--serif);
      font-size: clamp(25px, 3vw, 38px);
      font-weight: 400;
      line-height: 1.02;
      text-transform: uppercase;
    }

    .capacity-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 50px;
    }

    .capacity-card {
      text-align: center;
    }

    .capacity-icon {
      height: 85px;
	  width: auto;
      margin: 0 auto 18px;
      color: var(--sage-dark);
    }

    .capacity-card h3 {
      margin-bottom: 10px;
      color: var(--sage-dark);
      font-family: var(--serif);
      font-size: 26px;
      font-weight: 400;
      text-transform: uppercase;
    }

    .capacity-card p {
      max-width: 270px;
      margin: auto;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.65;
    }

    .capacity-cta {
      margin-top: 40px;
      text-align: center;
    }

    /* =========================================================
       FIRST STEP
    ========================================================= */

    .first-step {
      padding: 55px 0;
      background: var(--cream);
    }

    .steps-layout {
      display: grid;
      grid-template-columns: 1fr 160px;
      gap: 40px;
      align-items: center;
    }

    .steps {
      display: grid;
      gap: 18px;
    }

    .step {
      display: grid;
      grid-template-columns: 38px 1fr;
      gap: 14px;
      align-items: start;
    }

    .step-number {
      width: 32px;
      height: 32px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--terracotta);
      color: white;
      font-family: var(--serif);
      font-size: 16px;
    }

    .step h3 {
      margin-bottom: 2px;
      color: var(--terracotta);
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 400;
    }

    .step p {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
    }

    .readiness-card {
      min-height: 145px;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 8px;
      padding: 20px;
      background: var(--sage);
      color: white;
      text-align: center;
    }

    .readiness-card svg {
      width: 48px;
      height: 48px;
    }

    .readiness-card strong {
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 400;
      text-transform: uppercase;
    }

    /* =========================================================
       WHOLE PERSON
    ========================================================= */

    .whole-person {
      padding: 65px 0;
      background: var(--white);
    }

    .four-columns {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 35px;
    }

    .feature-card {
      text-align: center;
    }

    .feature-icon {
      width: 65px;
      height: 65px;
      margin: 0 auto 13px;
      color: var(--sage-dark);
    }

    .feature-card h3 {
      margin-bottom: 7px;
      color: var(--terracotta);
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 400;
      text-transform: uppercase;
    }

    .feature-card p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.65;
    }

    /* =========================================================
       WILLIAMS LIFESKILLS
    ========================================================= */

    .lifeskills {
      padding: 55px 0 65px;
      background: var(--warm-white);
    }

    .process {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 15px;
      position: relative;
    }

    .process-item {
      position: relative;
      padding: 20px 15px;
      border-top: 3px solid var(--sage);
      text-align: center;
    }

    .process-item::after {
      content: "›";
      position: absolute;
      top: 24px;
      right: -11px;
      color: var(--terracotta);
      font-size: 32px;
    }

    .process-item:last-child::after {
      display: none;
    }

    .process-label {
      margin-bottom: 8px;
      color: var(--sage-dark);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .process-item h3 {
      margin-bottom: 7px;
      color: var(--terracotta);
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 400;
    }

    .process-item p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
    }

    .certification {
      margin-top: 22px;
      padding: 10px;
      background: var(--terracotta);
      color: white;
      text-align: center;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    /* =========================================================
       MOVEMENT OPTIONS
    ========================================================= */

    .movement-heading {
      padding: 15px 20px;
      background: var(--sage);
      color: white;
      text-align: center;
      font-family: var(--serif);
      font-size: clamp(24px, 3vw, 32px);
      font-weight: 400;
      text-transform: uppercase;
    }

    .movement {
      padding: 55px 0;
      background: var(--cream);
    }

    .movement-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 45px;
    }

    .movement-card {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }

    .movement-icon {
      width: 100px;
      height: 100px;
      margin-bottom: 15px;
      color: var(--sage-dark);
    }

    .movement-card h3 {
      margin-bottom: 8px;
      color: var(--terracotta);
      font-family: var(--serif);
      font-size: 24px;
      font-weight: 400;
      line-height: 1.05;
      text-transform: uppercase;
    }

    .movement-card p {
      max-width: 300px;
      margin-bottom: 20px;
      color: var(--muted);
      font-size: 14px;
    }

    .movement-card .btn {
      margin-top: auto;
    }

    /* =========================================================
       MINI CTA
    ========================================================= */

    .mini-cta {
      padding: 40px 20px;
      background: var(--sage-light);
      text-align: center;
    }

    .mini-cta h2 {
      margin-bottom: 8px;
      font-family: var(--serif);
      font-size: clamp(28px, 4vw, 40px);
      font-weight: 400;
      text-transform: uppercase;
    }

    .mini-cta p {
      max-width: 650px;
      margin: 0 auto 18px;
      color: var(--muted);
      font-size: 14px;
    }

    /* =========================================================
       WHY WORK IN MOTION
    ========================================================= */

    .work-motion {
      padding: 65px 0;
      background: var(--white);
    }

    /* =========================================================
       EXPERT
    ========================================================= */

    .expert {
      padding: 55px 0;
      background: var(--warm-white);
    }

    .expert-grid {
      display: grid;
      grid-template-columns: 1fr 150px;
      gap: 45px;
      align-items: center;
    }

    .expert-copy p {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.7;
    }

    .expert-photo {
      aspect-ratio: 3 / 4;
      overflow: hidden;
      background: #d6d5cd;
    }

    .expert-photo img {
      height: 100%;
      object-fit: cover;
    }

    /* =========================================================
       FAQ
    ========================================================= */

    .faq {
      padding: 60px 0;
      background: var(--cream);
    }

    .faq-list {
      border-top: 1px solid var(--line);
    }

    .faq-item {
      padding: 18px 0;
      border-bottom: 1px solid var(--line);
    }

    .faq-item h3 {
      margin-bottom: 7px;
      color: var(--terracotta);
      font-family: var(--serif);
      font-size: 20px;
      font-weight: 400;
      text-transform: uppercase;
    }

    .faq-item p {
      max-width: 950px;
      margin: 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.65;
    }

    /* =========================================================
       FINAL CTA IMAGE
    ========================================================= */

    .final-cta {
      position: relative;
      min-height: 500px;
      display: flex;
      align-items: center;
      overflow: hidden;
    }

    .final-cta img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .final-cta::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(
          90deg,
          rgba(245,241,231,.05),
          rgba(245,241,231,.75) 52%,
          rgba(245,241,231,.93)
        );
    }

    .final-cta-content {
      position: relative;
      z-index: 2;
      width: min(100% - 40px, var(--max-width));
      margin-inline: auto;
      display: flex;
      justify-content: flex-end;
    }

    .final-cta-copy {
      max-width: 590px;
    }

    .final-cta h2 {
      margin-bottom: 15px;
      font-family: var(--serif);
      font-size: clamp(34px, 5vw, 56px);
      font-weight: 400;
      line-height: 1;
      text-transform: uppercase;
    }

    .final-cta p {
      max-width: 420px;
      margin-bottom: 25px;
      color: var(--muted);
      font-size: 14px;
    }

    .final-cta-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    /* =========================================================
       FOOTER
    ========================================================= */

    .footer {
      padding: 50px 0 35px;
      background: var(--warm-white);
      border-top: 1px solid var(--line);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: end;
    }

    .footer-logo {
      margin-bottom: 10px;
    }

    .footer-tagline {
      color: var(--muted);
      font-family: var(--serif);
      font-size: 14px;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .footer-contact {
      text-align: right;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.8;
    }

    .footer-contact a:hover {
      color: var(--terracotta);
    }

    .copyright {
      margin-top: 35px;
      padding-top: 15px;
      border-top: 1px solid var(--line);
      color: #99978f;
      font-size: 12px;
      text-align: center;
    }

    /* =========================================================
       MOBILE — 768PX
    ========================================================= */

    @media (max-width: 768px) {

      .container {
        width: min(100% - 30px, var(--max-width));
      }

      /* Navigation */

      .navbar {
        min-height: 60px;
      }

      .hamburger {
        display: block;
      }

      .nav-links {
        position: absolute;
        top: 60px;
        left: 0;
        right: 0;

        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;

        background: var(--warm-white);
        border-bottom: 1px solid var(--line);
        box-shadow: var(--shadow);
      }

      .nav-links.active {
        display: flex;
      }

      .nav-links li {
        border-bottom: 1px solid var(--line);
      }

      .nav-links a {
        display: block;
        padding: 16px 20px;
      }

      /* Hero */

      .hero {
        min-height: 620px;
        align-items: flex-end;
      }

      .hero-content {
        padding-block: 70px 55px;
      }

      .hero h1 {
        font-size: clamp(40px, 13vw, 62px);
      }

      .hero p {
        font-size: 14px;
      }

      .hero-actions {
        flex-direction: column;
        align-items: flex-start;
      }

      /* Grids */

      .capacity-grid,
      .four-columns,
      .movement-grid {
        grid-template-columns: 1fr;
        gap: 45px;
      }

      .four-columns {
        gap: 35px;
      }

      .process {
        grid-template-columns: 1fr;
      }

      .process-item {
        border-top: 0;
        border-left: 3px solid var(--sage);
        text-align: left;
      }

      .process-item::after {
        display: none;
      }

      /* First step */

      .steps-layout {
        grid-template-columns: 1fr;
      }

      .readiness-card {
        max-width: 180px;
        margin-inline: auto;
      }

      /* Expert */

      .expert-grid {
        grid-template-columns: 1fr;
      }

      .expert-photo {
        max-width: 180px;
        margin-inline: auto;
      }

      /* CTA */

      .final-cta {
        min-height: 600px;
        align-items: flex-end;
      }

      .final-cta::after {
        background:
          linear-gradient(
            0deg,
            rgba(245,241,231,.97) 0%,
            rgba(245,241,231,.82) 45%,
            rgba(245,241,231,.05) 100%
          );
      }

      .final-cta-content {
        justify-content: center;
        padding-bottom: 50px;
      }

      .final-cta-copy {
        max-width: 100%;
      }

      /* Footer */

      .footer-grid {
        grid-template-columns: 1fr;
      }

      .footer-contact {
        text-align: left;
      }
    }

    /* =========================================================
       SMALL MOBILE
    ========================================================= */

    @media (max-width: 480px) {

      .logo-placeholder {
        font-size: 24px;
      }

      .logo-placeholder-mark {
        width: 24px;
        height: 24px;
      }

      .hero h1 {
        font-size: 40px;
      }

      .section-title {
        font-size: 25px;
      }

      .hero-actions,
      .final-cta-actions {
        width: 100%;
      }

      .hero-actions .btn,
      .final-cta-actions .btn {
        width: 100%;
      }

      .first-step,
      .whole-person,
      .lifeskills,
      .movement,
      .work-motion,
      .expert,
      .faq {
        padding-block: 45px;
      }
    }
	
	
	
	