/*
      Optional custom font.
      Add your licensed font file here if available:
      /assets/fonts/agrandir-tight-black.woff2
    */
    @font-face {
      font-family: "agrandir-tight-black";
      src: url("/assets/fonts/agrandir-tight-black.woff2") format("woff2");
      font-weight: 900;
      font-style: normal;
      font-display: swap;
    }

    :root {
      --napier-green: #11864f;
      --napier-green-2: #15935a;
      --napier-deep-green: #073f2d;
      --napier-dark: #10251f;
      --napier-muted: #66756f;
      --napier-cream: #f8f4ea;
      --napier-soft-green: #eef8f1;
      --napier-mint: #e7f5ed;
      --napier-border: #dfe8e3;
      --napier-card: #ffffff;
      --napier-shadow: 0 18px 50px rgba(7, 63, 45, 0.10);
      --napier-radius: 22px;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: Verdana, Geneva, sans-serif;
      color: var(--napier-dark);
      background: #fffaf1;
      overflow-x: hidden;
    }

    a {
      text-decoration: none;
    }

    .text-napier-green {
      color: var(--napier-green) !important;
    }

    .btn-napier {
      background: var(--napier-green);
      border-color: var(--napier-green);
      color: #fff;
      border-radius: 10px;
      font-weight: 700;
      padding: 0.85rem 1.35rem;
      box-shadow: 0 10px 22px rgba(17, 134, 79, 0.18);
    }

    .btn-napier:hover,
    .btn-napier:focus {
      background: var(--napier-deep-green);
      border-color: var(--napier-deep-green);
      color: #fff;
    }

    .btn-napier-outline {
      border: 1px solid rgba(17, 134, 79, 0.35);
      color: var(--napier-deep-green);
      background: rgba(255, 255, 255, 0.78);
      border-radius: 10px;
      font-weight: 700;
      padding: 0.85rem 1.35rem;
    }

    .btn-napier-outline:hover,
    .btn-napier-outline:focus {
      border-color: var(--napier-green);
      color: #fff;
      background: var(--napier-green);
    }

    .napier-navbar {
      background: rgba(255, 255, 255, 0.92);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(223, 232, 227, 0.8);
      min-height: 82px;
      z-index: 1000;
    }

    .napier-brand img {
      width: 116px;
      height: auto;
      display: block;
    }

    .napier-navbar .nav-link {
      color: var(--napier-dark);
      font-weight: 700;
      font-size: 0.92rem;
      padding-left: 1rem !important;
      padding-right: 1rem !important;
    }

    .napier-navbar .nav-link:hover {
      color: var(--napier-green);
    }

    .napier-hero {
      position: relative;
      background: #FAF6EE;
      padding: 10px 0 70px;
      overflow: hidden;
      min-height: 700px;
      display: flex;
      align-items: center;
    }

    .napier-hero-art {
      position: absolute;
      top: 0px;
      right: 0;
      bottom: 42px;
      width: min(76vw, 1360px);
      border-radius: 34px 0 0 34px;
      overflow: hidden;
      z-index: 0;
      box-shadow: var(--napier-shadow);
      background: #FAF6EE;
    }

    .napier-hero-art img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center right;
      display: block;
    }

    .napier-hero-art::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background:
        linear-gradient(90deg,
          #FAF6EE 0%,
          rgba(250, 246, 238, 0.96) 18%,
          rgba(250, 246, 238, 0.72) 33%,
          rgba(250, 246, 238, 0.28) 48%,
          rgba(250, 246, 238, 0.00) 66%
        );
    }

    .napier-hero .container {
      position: relative;
      z-index: 2;
    }

    .napier-hero::before {
      content: "";
      position: absolute;
      left: -90px;
      bottom: -130px;
      width: 320px;
      height: 320px;
      border-radius: 50%;
      background: rgba(17, 134, 79, 0.08);
    }

    .napier-hero-title {
      font-family: "Work Sans", Verdana, sans-serif;
      font-size: clamp(3.4rem, 7vw, 7rem);
		font-weight: 700;
      line-height: 0.88;
      letter-spacing: -0.06em;
      color: var(--napier-deep-green);
      text-transform: uppercase;
      margin-bottom: 1.6rem;
    }

    .napier-hero-kicker {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      color: var(--napier-green);
      font-weight: 800;
      letter-spacing: 0.02em;
      margin-bottom: 1rem;
    }

    .napier-hero-text {
      max-width: 700px;
      font-size: 1.05rem;
      line-height: 1.7;
      color: #34443e;
      margin-bottom: 0;
    }

    .napier-hero-image-card {
      position: relative;
      border-radius: 34px;
      overflow: hidden;
      min-height: 575px;
      background: #dfeee5;
      box-shadow: var(--napier-shadow);
    }

    .napier-hero-image-card img {
      width: 100%;
      height: 100%;
      min-height: 575px;
      object-fit: cover;
      display: block;
    }

    .napier-hero-badge {
      position: absolute;
      left: 28px;
      bottom: 28px;
      max-width: 310px;
      padding: 1rem 1.1rem;
      border-radius: 18px;
      color: #fff;
      background: rgba(7, 63, 45, 0.76);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, 0.18);
    }

    .napier-hero-badge strong {
      display: block;
      font-size: 1.05rem;
      margin-bottom: 0.25rem;
    }

    .napier-section {
      padding: 92px 0;
    }

    .napier-section-soft {
      background: linear-gradient(180deg, #f5fbf7 0%, #ffffff 100%);
    }

    .quote-band {
      padding: 58px 0;
      background:
        linear-gradient(90deg, rgba(17, 134, 79, 0.06), rgba(17, 134, 79, 0.02)),
        #f5fbf7;
      border-top: 1px solid rgba(17, 134, 79, 0.08);
      border-bottom: 1px solid rgba(17, 134, 79, 0.08);
    }

    .quote-band h2 {
      color: var(--napier-green);
      font-weight: 900;
      font-size: clamp(2rem, 4vw, 3.3rem);
      line-height: 1.1;
    }

    .section-eyebrow {
      display: inline-flex;
      color: var(--napier-green);
      background: rgba(17, 134, 79, 0.10);
      border: 1px solid rgba(17, 134, 79, 0.12);
      border-radius: 999px;
      padding: 0.4rem 0.8rem;
      font-size: 0.8rem;
      font-weight: 800;
      margin-bottom: 1rem;
    }

    .section-title {
      color: var(--napier-dark);
      font-weight: 900;
      letter-spacing: -0.035em;
      font-size: clamp(2rem, 4vw, 3.1rem);
      line-height: 1.08;
    }

    .section-title .green {
      color: var(--napier-green);
    }

    .section-subtitle {
      color: var(--napier-muted);
      max-width: 720px;
      margin: 0.85rem auto 0;
      line-height: 1.7;
    }

    .feature-row {
      margin-top: 1rem;
      align-items: center;
    }

    .feature-number {
      width: 44px;
      height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: var(--napier-green);
      color: #fff;
      font-weight: 900;
      margin-bottom: 1rem;
    }

    .feature-copy h3 {
      font-weight: 900;
      letter-spacing: -0.02em;
      margin-bottom: 0.75rem;
    }

    .feature-copy p {
      color: var(--napier-muted);
      line-height: 1.7;
      max-width: 470px;
    }

    .mock-card {
      background: #fff;
      border: 1px solid var(--napier-border);
      border-radius: var(--napier-radius);
      box-shadow: var(--napier-shadow);
      padding: 1.2rem;
      overflow: hidden;
    }

    .feature-placeholder-img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 18px;
    }

    .feature-image-card {
      padding: 0.75rem;
    }


    .placeholder-image {
      background:
        linear-gradient(135deg, rgba(17, 134, 79, 0.12), rgba(7, 63, 45, 0.06)),
        #eef8f1;
      border: 1px dashed rgba(17, 134, 79, 0.28);
      min-height: 280px;
      border-radius: 18px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--napier-green);
      font-weight: 900;
      text-align: center;
      padding: 1rem;
    }

    .ui-mini-card {
      border: 1px solid var(--napier-border);
      border-radius: 18px;
      background: #fff;
      padding: 1rem;
    }

    .mini-label {
      color: var(--napier-muted);
      font-size: 0.78rem;
      font-weight: 700;
      margin-bottom: 0.15rem;
    }

    .mini-value {
      color: var(--napier-deep-green);
      font-weight: 900;
      font-size: 1.45rem;
    }

    .chart-line {
      height: 64px;
      border-radius: 14px;
      background:
        linear-gradient(180deg, rgba(17, 134, 79, 0.04), rgba(17, 134, 79, 0.12)),
        repeating-linear-gradient(90deg, transparent 0, transparent 30px, rgba(17, 134, 79, 0.08) 31px);
      position: relative;
      overflow: hidden;
    }

    .chart-line::after {
      content: "";
      position: absolute;
      left: 10%;
      right: 8%;
      top: 33px;
      height: 4px;
      background: var(--napier-green);
      border-radius: 999px;
      transform: skewY(-10deg);
      box-shadow: 45px -15px 0 -1px var(--napier-green), 105px 8px 0 -1px var(--napier-green), 165px -22px 0 -1px var(--napier-green);
    }

    .steps-wrap {
      background: linear-gradient(180deg, #eef8f1, #ffffff);
      border-top: 1px solid rgba(17, 134, 79, 0.08);
      border-bottom: 1px solid rgba(17, 134, 79, 0.08);
    }

    .step-card,
    .reason-card,
    .built-card {
      background: #fff;
      border: 1px solid var(--napier-border);
      border-radius: var(--napier-radius);
      box-shadow: 0 12px 35px rgba(7, 63, 45, 0.06);
      height: 100%;
    }

    .step-card {
      padding: 1.65rem;
      position: relative;
    }

    .step-icon,
    .reason-icon,
    .built-icon {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--napier-green);
      color: #fff;
      font-size: 1.55rem;
      margin-bottom: 1rem;
    }

    .step-card h4,
    .built-card h4,
    .reason-card h5 {
      font-weight: 900;
      letter-spacing: -0.02em;
    }

    .step-card p,
    .built-card p,
    .reason-card p {
      color: var(--napier-muted);
      line-height: 1.65;
    }

    .program-card {
      min-height: 290px;
      border-radius: 24px;
      overflow: hidden;
      position: relative;
      color: #fff;
      background: var(--napier-deep-green);
      box-shadow: var(--napier-shadow);
    }

    .program-card img {
      width: 100%;
      height: 100%;
      min-height: 290px;
      object-fit: cover;
      opacity: 0.62;
      display: block;
    }

    .program-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 20%, rgba(7, 63, 45, 0.9) 100%);
    }

    .program-card-content {
      position: absolute;
      inset: auto 0 0 0;
      padding: 1.3rem;
      z-index: 2;
    }

    .program-icon {
      position: absolute;
      z-index: 2;
      top: 18px;
      left: 18px;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: #fff;
      color: var(--napier-green);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.35rem;
    }

    .program-card h4 {
      font-weight: 900;
      margin-bottom: 0.35rem;
    }

    .program-card p {
      color: rgba(255, 255, 255, 0.86);
      margin-bottom: 0;
      font-size: 0.92rem;
    }

    .built-card {
      padding: 1.7rem;
    }

    .built-card a {
      color: var(--napier-green);
      font-weight: 800;
    }

    .unity-banner {
      position: relative;
      min-height: 360px;
      display: flex;
      align-items: center;
      background: var(--napier-deep-green);
      overflow: hidden;
    }

    .unity-banner img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0.35;
    }

    .unity-banner::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(7, 63, 45, 0.85), rgba(7, 63, 45, 0.58));
    }

    .unity-banner-content {
      position: relative;
      z-index: 2;
      color: #fff;
      text-align: center;
    }

    .unity-banner-content h2 {
      font-weight: 900;
      letter-spacing: -0.04em;
      font-size: clamp(2.2rem, 5vw, 4.2rem);
    }

    .stats-strip {
      background: #fff;
      border-bottom: 1px solid var(--napier-border);
    }

    .stat-box {
      padding: 2rem 1rem;
      border-right: 1px solid var(--napier-border);
      height: 100%;
    }

    .stat-box:last-child {
      border-right: 0;
    }

    .stat-box i {
      color: var(--napier-green);
      font-size: 2.1rem;
      margin-bottom: 0.7rem;
      display: inline-block;
    }

    .stat-box h3 {
      font-weight: 900;
      margin-bottom: 0.25rem;
      color: var(--napier-dark);
    }

    .stat-box p {
      color: var(--napier-muted);
      margin: 0;
      font-size: 0.9rem;
    }

    .reason-card {
      padding: 1.25rem;
      text-align: center;
    }

    .reason-icon {
      background: rgba(17, 134, 79, 0.10);
      color: var(--napier-green);
    }



    .faq-section {
      background: #FAF6EE;
      border-top: 1px solid rgba(17, 134, 79, 0.08);
      border-bottom: 1px solid rgba(17, 134, 79, 0.08);
    }

    .faq-section .accordion {
      max-width: 980px;
      margin: 0 auto;
    }

    .faq-section .accordion-item {
      border: 1px solid var(--napier-border);
      border-radius: 14px;
      overflow: hidden;
      margin-bottom: 0.85rem;
      background: #fff;
      box-shadow: 0 10px 24px rgba(7, 63, 45, 0.04);
    }

    .faq-section .accordion-button {
      font-weight: 800;
      color: var(--napier-dark);
      background: #fff;
      padding: 1.05rem 1.25rem;
    }

    .faq-section .accordion-button:not(.collapsed) {
      color: var(--napier-deep-green);
      background: #f5fbf7;
      box-shadow: none;
    }

    .faq-section .accordion-button:focus {
      border-color: rgba(17, 134, 79, 0.25);
      box-shadow: 0 0 0 0.2rem rgba(17, 134, 79, 0.12);
    }

    .faq-section .accordion-body {
      color: var(--napier-muted);
      line-height: 1.75;
      padding: 1rem 1.25rem 1.25rem;
    }

    .napier-legal-note {
      max-width: 980px;
      margin: 2rem auto 0;
      padding: 1.25rem 1.35rem;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.78);
      border: 1px solid var(--napier-border);
      color: var(--napier-muted);
      font-size: 0.9rem;
      line-height: 1.75;
    }

    .napier-legal-note strong {
      color: var(--napier-deep-green);
    }

    .final-cta {
      background: linear-gradient(90deg, #eaf7ef, #ffffff);
      border-top: 1px solid rgba(17, 134, 79, 0.08);
      border-bottom: 1px solid rgba(17, 134, 79, 0.08);
      padding: 70px 0;
    }

    .cta-icon {
      width: 78px;
      height: 78px;
      border-radius: 50%;
      background: var(--napier-green);
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 2.2rem;
      flex: 0 0 auto;
    }

    .napier-footer {
      background:
        radial-gradient(circle at 8% 0%, rgba(255,255,255,0.08), transparent 28%),
        var(--napier-deep-green);
      color: rgba(255, 255, 255, 0.82);
      padding: 70px 0 30px;
    }

    .napier-footer h5 {
      color: #fff;
      font-weight: 900;
      margin-bottom: 1.1rem;
    }

    .napier-footer a {
      color: rgba(255, 255, 255, 0.78);
      display: block;
      margin-bottom: 0.55rem;
    }

    .napier-footer a:hover {
      color: #fff;
    }

    .footer-logo {
      max-width: 150px;
      filter: brightness(0) invert(1);
      margin-bottom: 1.2rem;
    }

    .app-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      padding: 0.65rem 0.9rem;
      border-radius: 10px;
      background: #0b0b0b;
      color: #fff !important;
      font-weight: 800;
      margin-right: 0.5rem;
      margin-bottom: 0.5rem;
    }

    @media (max-width: 991px) {
      .napier-hero {
        padding: 64px 0 420px;
        min-height: auto;
        align-items: flex-start;
      }

      .napier-hero-art {
        top: auto;
        left: 1rem;
        right: 1rem;
        bottom: 42px;
        width: auto;
        height: 340px;
        border-radius: 28px;
      }

      .napier-hero-art::before {
        background: linear-gradient(180deg,
          rgba(250, 246, 238, 0.08) 0%,
          rgba(250, 246, 238, 0.00) 55%,
          rgba(250, 246, 238, 0.20) 100%
        );
      }

      .napier-section {
        padding: 70px 0;
      }

      .feature-row {
        margin-top: 3rem;
      }

      .stat-box {
        border-right: 0;
        border-bottom: 1px solid var(--napier-border);
      }
    }

    @media (max-width: 575px) {
      .napier-hero-title {
        font-size: 3.35rem;
      }

      .quote-band h2 {
        font-size: 2rem;
      }

      .napier-brand img {
        width: 125px;
      }
    }
	  @media (min-width: 1200px) {
  .col-xl-5 {
    flex: 0 0 auto;
    width: 51.66666667%;
  }
}

/* How It Works page */
.page-hero {
  position: relative;
  background: #FAF6EE;
  overflow: hidden;
  padding: 96px 0 84px;
}

.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(17, 134, 79, 0.10), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(17, 134, 79, 0.12), transparent 32%);
  pointer-events: none;
}

.page-hero .container {
  position: relative;
  z-index: 1;
}

.page-hero-title {
  font-family: "Work Sans", Verdana, sans-serif;
  font-size: clamp(3rem, 6.5vw, 6.4rem);
  line-height: 0.9;
  letter-spacing: -0.055em;
  font-weight: 800;
  color: var(--napier-deep-green);
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}

.page-hero-text {
  max-width: 760px;
  color: #34443e;
  line-height: 1.8;
  font-size: 1.08rem;
}

.how-overview-card {
  background: #fff;
  border: 1px solid var(--napier-border);
  border-radius: 28px;
  box-shadow: var(--napier-shadow);
  padding: 1.4rem;
}

.how-overview-card img {
  width: 100%;
  border-radius: 20px;
  display: block;
  object-fit: cover;
}

.how-step {
  position: relative;
  background: #fff;
  border: 1px solid var(--napier-border);
  border-radius: 28px;
  padding: 2rem;
  box-shadow: 0 12px 35px rgba(7, 63, 45, 0.06);
  height: 100%;
}

.how-step-number {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--napier-green);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  margin-bottom: 1rem;
}

.how-step h3 {
  font-weight: 900;
  letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
}

.how-step p {
  color: var(--napier-muted);
  line-height: 1.7;
  margin-bottom: 0;
}

.how-workflow-card,
.how-role-card {
  background: #fff;
  border: 1px solid var(--napier-border);
  border-radius: 22px;
  padding: 1.6rem;
  height: 100%;
  box-shadow: 0 12px 30px rgba(7, 63, 45, 0.05);
}

.how-workflow-icon,
.how-role-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(17, 134, 79, 0.10);
  color: var(--napier-green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  margin-bottom: 1rem;
}

.how-workflow-card h3,
.how-role-card h3 {
  font-weight: 900;
  font-size: 1.15rem;
  margin-bottom: 0.6rem;
}

.how-workflow-card p,
.how-role-card p {
  color: var(--napier-muted);
  line-height: 1.65;
  margin-bottom: 0;
}

.important-notice-card {
  background: #fffaf1;
  border: 1px solid rgba(17, 134, 79, 0.18);
  border-radius: 24px;
  padding: 1.5rem;
  color: #34443e;
  line-height: 1.7;
}

.important-notice-card strong {
  color: var(--napier-deep-green);
}

.how-mini-list {
  list-style: none;
  padding: 0;
  margin: 1.2rem 0 0;
}

.how-mini-list li {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  color: #34443e;
}

.how-mini-list i {
  color: var(--napier-green);
  flex: 0 0 auto;
}

@media (max-width: 991px) {
  .page-hero {
    padding: 72px 0 64px;
  }
}
