:root {
      --b9: #0A0D1E;
      --b8: #0F1228;
      --b7: #161B38;
      --b6: #1E2448;
      --b5: #252C5C;
      --b4: #3040A0;
      --b3: #5060C0;
      --b2: #8090D8;
      --muted: #7880B0;
      --o6: #C05E05;
      --o5: #E8750A;
      --o4: #F48B28;
      --o3: #F4A840;
      --o2: #F8C878;
      --o1: #FDE9C4;
      --cream: #F5EFE3;
      --ivory: #FAF7F0;
      --fd: 'Playfair Display', Georgia, serif;
      --fb: 'DM Sans', sans-serif;
  }

  html {
      scroll-behavior: smooth;
  }

  body {
      background-color: var(--b9);
      color: var(--ivory);
      font-weight: 300;
      line-height: 1.75;
      overflow-x: hidden;
      font-family: 'DM Sans', sans-serif;
  }

  ::-webkit-scrollbar {
      width: 6px;
  }

  ::-webkit-scrollbar-track {
      background: var(--b8);
  }

  ::-webkit-scrollbar-thumb {
      background: var(--o5);
      border-radius: 3px;
  }

  .btn-p {
      background: var(--o5);
      color: var(--b9);
      padding: 0.85rem 2rem;
      font-size: 0.75rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      font-weight: 700;
      text-decoration: none;
      border-radius: 2px;
      transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
      box-shadow: 0 4px 20px rgba(232, 117, 10, 0.35);
  }

  .btn-p:hover {
      background: var(--o3);
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(232, 117, 10, 0.5);
  }

  .btn-g {
      border: 1px solid rgba(244, 168, 64, 0.4);
      color: var(--o3);
      padding: 0.85rem 2rem;
      font-size: 0.75rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      font-weight: 500;
      text-decoration: none;
      border-radius: 2px;
      transition: all 0.3s;
  }

  .btn-g:hover {
      border-color: var(--o4);
      background: rgba(244, 168, 64, 0.07);
      transform: translateY(-2px);
  }

  .btn-begin {
      background: #D4A437;
      color: var(--ivory);
      font-family: 'DM Sans', sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      padding: 12px 24px;
      transition: background 0.25s, transform 0.2s;
  }

  .btn-begin:hover {
      background: #C89535;
      transform: translateY(-1px);
  }

  .nav-link {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--muted);
      transition: color 0.25s;
      position: relative;
  }

  .nav-link::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: #C89535;
      transition: width 0.3s ease;
  }

  .nav-link:hover,
  .nav-link.active {
      color: var(--ivory);
  }

  .nav-link:hover::after {
      width: 100%;
  }

  footer {
      border-top: 1px solid rgba(244, 168, 64, 0.1);
  }

  .footer-title {
      color: var(--o4);
      font-family: 'Playfair Display', Georgia, serif;
      font-size: 1.25rem;
      font-weight: 600;
      margin-bottom: 24px;
  }

  .footer-link {
      display: block;
      font-size: 0.7rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 12px;
      transition: color 0.2s;
  }

  .footer-link:hover {
      color: #D4A437;
  }

  .back-top {
      position: fixed;
      bottom: 24px;
      right: 24px;
      width: 44px;
      height: 44px;
      background: var(--o4);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 999;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.35s;
  }

  .back-top.visible {
      opacity: 1;
      pointer-events: auto;
  }

  #mobile-menu {
      transform: translateX(-100%);
      transition: transform 0.35s ease;
  }

  #mobile-menu.open {
      transform: translateX(0);
  }

  .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition: opacity 0.7s ease, transform 0.7s ease;
  }

  .reveal.visible,
  .reveal.in {
      opacity: 1;
      transform: translateY(0);
  }

  .reveal-left {
      opacity: 0;
      transform: translateX(-40px);
      transition: opacity 0.7s ease, transform 0.7s ease;
  }

  .reveal-left.visible {
      opacity: 1;
      transform: translateX(0);
  }

  .reveal-right {
      opacity: 0;
      transform: translateX(40px);
      transition: opacity 0.7s ease, transform 0.7s ease;
  }

  .reveal-right.visible {
      opacity: 1;
      transform: translateX(0);
  }

  .side-btn {
      width: 48px;
      height: 48px;
      background: #D4A437;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
      transition: background 0.2s;
  }

  .side-btn:hover {
      background: #C89535;
  }

  .side-btn svg {
      color: var(--ivory);
      width: 18px;
      height: 18px;
  }


  .process-sec {
      background: var(--b9);
      position: relative;
  }

  .sec {
      padding: 5.5rem 6%;
  }

  .process-sec::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(232, 117, 10, 0.04) 0%, transparent 70%);
  }

  .sec-label {
      display: inline-flex;
      align-items: center;
      gap: 0.65rem;
      font-size: 0.65rem;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--o4);
      margin-bottom: 0.9rem;
      font-weight: 500;
  }

  .sec-title {
      font-family: var(--fd);
      font-size: clamp(1.7rem, 3vw, 2.6rem);
      font-weight: 400;
      line-height: 1.18;
      color: var(--ivory);
  }

  .sec-title .a {
      color: var(--o4);
    font-family: var(--fd);
  }
  h1 span{
    color: var(--o4);
    font-family: var(--fd);
  }

  .process-steps {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
      /* display: grid;
      grid-template-columns: repeat(4, 1fr); */
      gap: 0;
      position: relative;
  }

  .sec-label-line {
      width: 26px;
      height: 1px;
      background: var(--o4);
  }

  .p-step {
      text-align: center;
      padding: 0 1.2rem;
  }

  .p-bubble {
      width: 4.8rem;
      height: 4.8rem;
      border-radius: 50%;
      border: 1px solid rgba(244, 168, 64, 0.35);
      background: var(--b8);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 1.5rem;
      font-family: var(--fd);
      font-size: 1.2rem;
      color: var(--o4);
      font-weight: 400;
      transition: background 0.3s, border-color 0.3s, box-shadow 0.3s;
      position: relative;
      z-index: 1;
  }

  .process-steps::before {
      content: '';
      position: absolute;
      top: 2.4rem;
      left: calc(12.5% + 2.4rem);
      right: calc(12.5% + 2.4rem);
      /* height: 1px; */
      background: linear-gradient(to right, transparent, rgba(244, 168, 64, 0.35) 20%, rgba(244, 168, 64, 0.35) 80%, transparent);
  }

  .p-step:hover .p-bubble {
      background: rgba(232, 117, 10, 0.12);
      border-color: var(--o4);
      box-shadow: 0 0 28px rgba(232, 117, 10, 0.25);
  }

.heading-font {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 400;
    font-style: normal;
}

.font-serif {
    font-family: "Playfair Display", Georgia, serif;
}

.body-font,
.font-sans {
    font-family: "DM Sans", sans-serif;
}

.body-font-regular {
    font-family: "DM Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.body-font-medium {
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.body-font-semibold {
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.body-font-bold {
    font-family: "DM Sans", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.body-font-extrabold {
    font-family: "DM Sans", sans-serif;
    font-weight: 800;
    font-style: normal;
}

.body-font-regular-italic {
    font-family: "DM Sans", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.body-font-medium-italic {
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
    font-style: italic;
}

.body-font-semibold-italic {
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-style: italic;
}

.body-font-bold-italic {
    font-family: "DM Sans", sans-serif;
    font-weight: 700;
    font-style: italic;
}

.body-font-extrabold-italic {
    font-family: "DM Sans", sans-serif;
    font-weight: 800;
    font-style: italic;
}

/* Global Typography Setup */
h1,
h2,
h3,
h4,
h5,
h6,
.heading {
    font-family: "Playfair Display", Georgia, serif;
}

p,
span,
a,
li,
div {
    font-family: "DM Sans", sans-serif;
}

p {
    font-size: 17px;
    line-height: 1.9;
    font-family: "DM Sans", sans-serif;
    color: #9D967E;
    margin-bottom: 25px;
}

.pd{
    font-family: "Playfair Display", Georgia, serif;
}



  .hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: radial-gradient(ellipse 80% 60% at 65% 110%, rgba(232, 117, 10, 0.14) 0%, transparent 55%), radial-gradient(ellipse 50% 50% at 5% 20%, rgba(37, 44, 92, 0.7) 0%, transparent 60%), radial-gradient(ellipse 80% 80% at 90% 5%, rgba(80, 40, 120, 0.1) 0%, transparent 50%), var(--b9);
  }

  .hero-grid-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: linear-gradient(rgba(244, 168, 64, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(244, 168, 64, 0.035) 1px, transparent 1px);
    background-size: 55px 55px;
    z-index: -1;
  }
