  :root {
      --red: #FF0100;
      --green: #13D303;
      --gold: #FCC002;
      --black: #0d0e0b;
      --black-2: #151611;
      --cream: #f7f2e7;
      --muted: #77786f;
      --white: #fff;
      --border: rgba(13, 14, 11, .10);
      --font-body: 'DM Sans', sans-serif;
      --font-display: 'Playfair Display', serif;
  }

  * {
      box-sizing: border-box
  }

  html {
      scroll-behavior: smooth
  }

  body {
      margin: 0;
      background: var(--cream);
      color: var(--black);
      font-family: var(--font-body);
      overflow-x: hidden
  }

  img {
      max-width: 100%;
      display: block
  }

  a {
      text-decoration: none
  }

  button {
      font-family: inherit
  }

  section {
      scroll-margin-top: 95px
  }

  .top-bar {
      background: var(--black);
      color: #fff;
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      padding: 8px 15px
  }

  .top-bar span {
      opacity: .72
  }

  .top-bar .dot {
      color: var(--gold);
      opacity: 1;
      margin: 0 10px
  }

  .site-nav {
      position: fixed;
      top: 28px;
      left: 0;
      right: 0;
      z-index: 1000;
      padding: 0 12px;
      transition: .35s
  }

  .nav-box {
      max-width: 1240px;
      margin: auto;
      padding: 10px 12px;
      border: 1px solid rgba(255, 255, 255, .12);
      background: rgba(13, 14, 11, .72);
      backdrop-filter: blur(18px);
      border-radius: 22px;
      box-shadow: 0 18px 55px rgba(0, 0, 0, .16)
  }

  .site-nav.scrolled .nav-box {
      background: rgba(13, 14, 11, .92);
      box-shadow: 0 15px 40px rgba(0, 0, 0, .24)
  }


  .brand-fallback {
      color: #fff;
      font-weight: 800;
      line-height: 1
  }

  .brand-fallback small {
      display: block;
      color: var(--gold);
      letter-spacing: .23em;
      font-size: 8px;
      margin-top: 5px
  }

  .nav-link {
      color: rgba(255, 255, 255, .82) !important;
      font-size: 13px;
      font-weight: 600;
      margin: 0 8px;
      position: relative
  }

  .nav-link:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -7px;
      width: 0;
      height: 2px;
      background: var(--gold);
      transition: .3s
  }

  .nav-link:hover:after,
  .nav-link.active:after {
      width: 100%
  }

  .nav-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--gold);
      color: #111;
      padding: 12px 16px;
      border-radius: 14px;
      font-size: 12px;
      font-weight: 800;
      transition: .25s
  }

  .nav-cta:hover {
      transform: translateY(-2px);
      color: #111
  }

  .hero {
      min-height: 900px;
      position: relative;
      color: #fff;
      display: flex;
      align-items: center;
      background: #111;
      overflow: hidden
  }

  .hero-bg {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0, 0, 0, .84), rgba(0, 0, 0, .48) 48%, rgba(0, 0, 0, .15)), url('https://images.unsplash.com/photo-1618220179428-22790b461013?auto=format&fit=crop&w=2200&q=90') center/cover no-repeat;
      transform: scale(1.05)
  }

  .hero-bg:after {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 74% 30%, rgba(252, 192, 2, .12), transparent 28%), radial-gradient(circle at 20% 80%, rgba(19, 211, 3, .09), transparent 30%)
  }

  .hero-content {
      position: relative;
      z-index: 2;
      padding-top: 100px
  }

  .hero-pill {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 9px 13px;
      border: 1px solid rgba(255, 255, 255, .16);
      background: rgba(255, 255, 255, .06);
      border-radius: 999px;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .18em;
      margin-bottom: 24px
  }

  .hero-pill i {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 18px var(--green)
  }

  .hero-title {
      font-family: var(--font-display);
      font-size: clamp(54px, 7.7vw, 104px);
      line-height: .9;
      letter-spacing: -.055em;
      margin: 0;
      font-weight: 700
  }

  .hero-title .red {
      color: var(--red)
  }

  .hero-title .gold {
      color: var(--gold)
  }

  .hero-copy {
      font-size: 16px;
      line-height: 1.85;
      color: rgba(255, 255, 255, .68);
      max-width: 640px;
      margin: 28px 0 0
  }

  .btn-main,
  .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      border-radius: 15px;
      padding: 14px 18px;
      font-size: 12px;
      font-weight: 800;
      transition: .25s
  }

  .btn-main {
      background: var(--red);
      color: #fff;
      box-shadow: 0 15px 40px rgba(255, 1, 0, .20)
  }

  .btn-outline {
      border: 1px solid rgba(255, 255, 255, .17);
      background: rgba(255, 255, 255, .06);
      color: #fff
  }

  .btn-main:hover,
  .btn-outline:hover {
      transform: translateY(-3px);
      color: #fff
  }

  .hero-card {
      background: rgba(13, 14, 11, .63);
      border: 1px solid rgba(255, 255, 255, .12);
      backdrop-filter: blur(18px);
      padding: 25px;
      border-radius: 28px;
      max-width: 370px;
      margin-left: auto;
      box-shadow: 0 30px 90px rgba(0, 0, 0, .25)
  }

  .hero-card .eyebrow {
      font-size: 9px;
      letter-spacing: .18em;
      color: rgba(255, 255, 255, .48);
      text-transform: uppercase
  }

  .hero-card h3 {
      font-size: 26px;
      line-height: 1.08;
      margin: 8px 0 0
  }

  .hero-icon {
      height: 42px;
      width: 42px;
      border-radius: 14px;
      background: var(--green);
      color: #071007;
      display: grid;
      place-items: center
  }

  .stat-box {
      background: rgba(255, 255, 255, .045);
      border: 1px solid rgba(255, 255, 255, .07);
      border-radius: 16px;
      padding: 14px
  }

  .stat-box strong {
      display: block;
      color: var(--gold);
      font-size: 16px
  }

  .stat-box span {
      display: block;
      color: rgba(255, 255, 255, .48);
      font-size: 10px;
      line-height: 1.5;
      margin-top: 4px
  }

  .hero-bottom {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 28px;
      z-index: 2
  }

  .hero-bottom .inner {
      border-top: 1px solid rgba(255, 255, 255, .14);
      padding-top: 16px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: rgba(255, 255, 255, .5);
      font-size: 10px;
      letter-spacing: .15em;
      text-transform: uppercase
  }

  .scroll-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--gold);
      display: inline-block;
      margin-right: 9px
  }

  .marquee {
      overflow: hidden;
      background: var(--red);
      color: #fff;
      white-space: nowrap
  }

  .marquee-track {
      display: flex;
      width: max-content;
      animation: moveMarquee 32s linear infinite
  }

  .marquee-item {
      display: flex;
      align-items: center;
      gap: 27px;
      padding: 16px 28px;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .17em;
      text-transform: uppercase
  }

  .marquee-item b {
      color: var(--gold);
      font-size: 19px
  }

  @keyframes moveMarquee {
      to {
          transform: translateX(-50%)
      }
  }

  .section {
      padding: 110px 0
  }

  .eyebrow {
      display: flex;
      align-items: center;
      gap: 9px;
      color: var(--red);
      font-size: 10px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .18em;
      margin-bottom: 17px
  }

  .eyebrow-line {
      width: 38px;
      height: 2px;
      background: currentColor
  }

  .section-title {
      font-family: var(--font-display);
      font-size: clamp(42px, 5.6vw, 73px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0
  }

  .section-desc {
      max-width: 640px;
      color: rgba(13, 14, 11, .60);
      font-size: 15px;
      line-height: 1.85;
      margin-top: 20px
  }

  .dark .eyebrow {
      color: var(--gold)
  }

  .dark .section-title {
      color: #fff
  }

  .dark .section-desc {
      color: rgba(255, 255, 255, .57)
  }

  .about-img-lg,
  .about-img-sm {
      position: relative;
      overflow: hidden;
      border-radius: 28px
  }

  .about-img-lg {
      height: 540px
  }

  .about-img-sm {
      height: 320px
  }

  .about-img-lg img,
  .about-img-sm img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .7s
  }

  .about-img-lg:hover img,
  .about-img-sm:hover img {
      transform: scale(1.045)
  }

  .img-tag {
      position: absolute;
      left: 18px;
      bottom: 18px;
      background: rgba(13, 14, 11, .76);
      backdrop-filter: blur(12px);
      color: #fff;
      border-radius: 14px;
      padding: 10px 12px;
      font-size: 10px;
      font-weight: 800
  }

  .about-copy {
      font-size: 17px;
      line-height: 1.9;
      color: rgba(13, 14, 11, .68)
  }

  .about-stat {
      background: #fff;
      border: 1px solid var(--border);
      padding: 21px;
      border-radius: 20px
  }

  .about-stat strong {
      display: block;
      font-size: 31px;
      letter-spacing: -.04em
  }

  .about-stat span {
      display: block;
      font-size: 10px;
      color: var(--muted);
      line-height: 1.5;
      margin-top: 4px
  }

  .services {
      background: var(--black)
  }

  .service-card {
      height: 100%;
      min-height: 390px;
      border: 1px solid rgba(255, 255, 255, .09);
      background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025));
      border-radius: 28px;
      padding: 25px;
      position: relative;
      overflow: hidden;
      transition: .45s
  }

  .service-card:hover {
      transform: translateY(-8px);
      border-color: rgba(255, 255, 255, .18);
      box-shadow: 0 25px 75px rgba(0, 0, 0, .3)
  }

  .service-glow {
      position: absolute;
      width: 180px;
      height: 180px;
      border-radius: 50%;
      right: -70px;
      top: -70px;
      filter: blur(5px);
      opacity: .11
  }

  .service-icon {
      width: 52px;
      height: 52px;
      border-radius: 17px;
      border: 1px solid rgba(255, 255, 255, .09);
      display: grid;
      place-items: center;
      color: #fff;
      background: rgba(255, 255, 255, .07);
      position: relative;
      z-index: 1
  }

  .service-number {
      color: rgba(255, 255, 255, .40);
      font-size: 10px;
      letter-spacing: .16em;
      margin-top: 38px
  }

  .service-card h3 {
      font-size: 23px;
      color: #fff;
      margin: 7px 0 10px;
      letter-spacing: -.03em;
      position: relative
  }

  .service-card p {
      font-size: 12px;
      color: rgba(255, 255, 255, .54);
      line-height: 1.75;
      margin: 0;
      position: relative
  }

  .service-footer {
      position: absolute;
      left: 25px;
      right: 25px;
      bottom: 23px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 9px;
      color: rgba(255, 255, 255, .33);
      letter-spacing: .12em
  }

  .gallery-card {
      position: relative;
      border-radius: 28px;
      overflow: hidden;
      min-height: 320px;
      cursor: pointer;
      background: #ddd
  }

  .gallery-card.big {
      min-height: 650px
  }

  .gallery-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .7s
  }

  .gallery-card:hover img {
      transform: scale(1.045);
      filter: saturate(1.08)
  }
/* SOCIAL MEDIA */

.social-contact {
    margin-top: 28px;
}

.social-title {
    color: rgba(255,255,255,.55);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .16em;
    margin-bottom: 12px;
}

.social-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.social-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 15px;
    border-radius: 13px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.05);
    transition: all .3s ease;
}

.social-btn i {
    font-size: 17px;
}

.social-btn:hover {
    color: #fff;
    transform: translateY(-3px);
}

/* Instagram */
.social-btn.instagram:hover {
    background: linear-gradient(
        135deg,
        #833ab4,
        #fd1d1d,
        #fcb045
    );
    border-color: transparent;
    box-shadow: 0 12px 30px rgba(225,48,108,.25);
}

/* Facebook */
.social-btn.facebook:hover {
    background: #1877f2;
    border-color: transparent;
    box-shadow: 0 12px 30px rgba(24,119,242,.25);
}
  .gallery-overlay {
      position: absolute;
      inset: auto 0 0;
      padding: 80px 22px 22px;
      background: linear-gradient(transparent, rgba(0, 0, 0, .80));
      color: #fff
  }

  .gallery-overlay span {
      font-size: 9px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .60)
  }

  .gallery-overlay h4 {
      margin: 7px 0 0;
      font-size: 22px
  }

  .why-section {
      display: grid;
      grid-template-columns: 1fr 1fr
  }

  .why-image {
      min-height: 700px;
      background: url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1500&q=88') center/cover
  }

  .why-content {
      background: var(--green);
      display: flex;
      align-items: center;
      padding: 80px max(30px, calc((100vw - 1140px)/2)) 80px 70px
  }

  .why-content-inner {
      max-width: 535px
  }

  .why-title {
      font-family: var(--font-display);
      font-size: clamp(43px, 5.5vw, 70px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0;
      color: #061006
  }

  .why-copy {
      color: rgba(6, 16, 6, .66);
      font-size: 15px;
      line-height: 1.85;
      margin-top: 20px
  }

  .why-row {
      display: flex;
      gap: 14px;
      padding: 17px 0;
      border-top: 1px solid rgba(6, 16, 6, .15)
  }

  .why-check {
      width: 28px;
      height: 28px;
      flex: 0 0 auto;
      display: grid;
      place-items: center;
      border-radius: 10px;
      background: #071007;
      color: var(--gold);
      font-weight: 900
  }

  .why-row strong {
      font-size: 13px;
      display: block
  }

  .why-row span {
      font-size: 11px;
      color: rgba(6, 16, 6, .56);
      line-height: 1.6;
      display: block;
      margin-top: 4px
  }

  .testimonial-card {
      border: 1px solid var(--border);
      background: #fff;
      border-radius: 30px;
      padding: 35px;
      box-shadow: 0 20px 80px rgba(13, 14, 11, .06);
      min-height: 300px
  }

  .quote-mark {
      font-family: Georgia, serif;
      color: var(--red);
      font-size: 68px;
      line-height: .65
  }

  .quote-text {
      font-family: var(--font-display);
      font-size: 25px;
      line-height: 1.36;
      letter-spacing: -.03em;
      margin-top: 17px
  }

  .stars {
      color: var(--gold);
      display: flex;
      gap: 2px
  }

  .round-btn {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid var(--border);
      background: #fff;
      display: grid;
      place-items: center;
      transition: .25s
  }

  .round-btn:hover {
      background: var(--black);
      color: #fff
  }

  .contact-section {
      background: var(--black)
  }

  .contact-card {
      height: 100%;
      background: rgba(255, 255, 255, .045);
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 19px;
      padding: 18px
  }

  .contact-card i {
      color: var(--gold);
      font-size: 19px
  }

  .contact-card strong {
      color: #fff;
      font-size: 13px;
      display: block;
      margin-top: 12px
  }

  .contact-card span {
      display: block;
      color: rgba(255, 255, 255, .48);
      font-size: 11px;
      line-height: 1.65;
      margin-top: 5px
  }

  .map-box {
      height: 520px;
      border-radius: 30px;
      overflow: hidden;
      position: relative;
      background: url('./images/bg.jpeg') center/cover
  }

  .map-box:after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(rgba(13, 14, 11, .20), rgba(13, 14, 11, .75))
  }

  .map-pin {
      position: absolute;
      left: 50%;
      top: 45%;
      transform: translate(-50%, -50%);
      height: 62px;
      width: 62px;
      border-radius: 20px;
      background: var(--red);
      display: grid;
      place-items: center;
      color: #fff;
      z-index: 2;
      box-shadow: 0 20px 55px rgba(255, 1, 0, .38)
  }

  .map-info {
      position: absolute;
      left: 20px;
      right: 20px;
      bottom: 20px;
      z-index: 3;
      background: rgba(13, 14, 11, .82);
      backdrop-filter: blur(15px);
      border: 1px solid rgba(255, 255, 255, .1);
      padding: 18px;
      border-radius: 20px
  }

  .map-info small {
      color: var(--gold);
      font-size: 9px;
      letter-spacing: .18em;
      text-transform: uppercase
  }

  .map-info p {
      color: rgba(255, 255, 255, .62);
      font-size: 11px;
      line-height: 1.65;
      margin: 7px 0 14px
  }

  .map-info a {
      font-size: 11px;
      font-weight: 800;
      color: #fff
  }

  .footer {
      background: #070806;
      color: rgba(255, 255, 255, .44);
      font-size: 10px;
      padding: 26px 0
  }

  .footer strong {
      color: var(--gold)
  }

  .floating-buttons {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 999;
      display: flex;
      flex-direction: column;
      gap: 8px
  }

  .float-btn {
      width: 50px;
      height: 50px;
      border-radius: 17px;
      display: grid;
      place-items: center;
      border: 2px solid rgba(255, 255, 255, .75);
      box-shadow: 0 15px 40px rgba(0, 0, 0, .25);
      font-size: 18px
  }

  .float-call {
      background: var(--green);
      color: #071007
  }

  .float-map {
      background: var(--gold);
      color: #111
  }

  .gallery-modal {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .88);
      z-index: 2000;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 25px
  }

  .gallery-modal.show {
      display: flex
  }

  .gallery-modal img {
      max-height: 82vh;
      width: auto;
      max-width: 95vw;
      border-radius: 24px;
      object-fit: contain
  }

  .gallery-close {
      position: absolute;
      right: 25px;
      top: 20px;
      width: 43px;
      height: 43px;
      border: 0;
      border-radius: 50%;
      background: #fff;
      color: #111;
      font-size: 20px
  }

  .reveal {
      opacity: 0;
      transform: translateY(35px)
  }

  .hero-reveal {
      opacity: 0;
      transform: translateY(30px)
  }

  @media (max-width:991.98px) {
      .site-nav {
          top: 10px
      }

      .hero {
          min-height: 850px
      }

      .hero-card {
          margin: 40px 0 0;
          max-width: 100%
      }

      .hero-bottom {
          display: none
      }

      .why-section {
          grid-template-columns: 1fr
      }

      .why-image {
          min-height: 520px
      }

      .why-content {
          padding: 75px 30px
      }
  }

  @media (max-width:767.98px) {
      .top-bar {
          display: none
      }

      .brand-logo {
          height: 44px;
          max-width: 175px
      }

      .hero-title {
          font-size: 53px
      }

      .hero-copy {
          font-size: 14px
      }

      .section {
          padding: 78px 0
      }

      .about-img-lg {
          height: 430px
      }

      .about-img-sm {
          height: 240px
      }

      .gallery-card.big {
          min-height: 440px
      }

      .map-box {
          height: 430px
      }
  }

  @media (max-width:575.98px) {
      .container {
          --bs-gutter-x: 1.25rem
      }

      .hero-title {
          font-size: 47px
      }

      .hero-card {
          padding: 20px
      }

      .service-card {
          min-height: 330px
      }

      .why-image {
          min-height: 410px
      }

      .testimonial-card {
          padding: 25px
      }

      .quote-text {
          font-size: 22px
      }
  }

  /* about  */

  :root {
      --red: #FF0100;
      --green: #13D303;
      --gold: #FCC002;
      --black: #0d0e0b;
      --black2: #171812;
      --cream: #f7f2e7;
      --white: #fff;
      --muted: #77786f;
      --line: rgba(13, 14, 11, .10);
      --body: 'DM Sans', sans-serif;
      --display: 'Playfair Display', serif;
  }

  * {
      box-sizing: border-box
  }

  html {
      scroll-behavior: smooth
  }

  body {
      margin: 0;
      background: var(--cream);
      color: var(--black);
      font-family: var(--body);
      overflow-x: hidden
  }

  a {
      text-decoration: none
  }

  img {
      max-width: 100%;
      display: block
  }

  section {
      scroll-margin-top: 100px
  }

  .topbar {
      background: var(--black);
      color: #fff;
      padding: 8px 15px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase
  }

  .topbar .gold {
      color: var(--gold)
  }

  .navbar-wrap {
      position: fixed;
      left: 0;
      right: 0;
      top: 28px;
      z-index: 1000;
      padding: 0 12px;
      transition: .3s
  }

  .navbar-box {
      max-width: 1240px;
      margin: auto;
      border: 1px solid rgba(255, 255, 255, .12);
      background: rgba(13, 14, 11, .72);
      backdrop-filter: blur(18px);
      border-radius: 22px;
      padding: 9px 12px;
      box-shadow: 0 18px 55px rgba(0, 0, 0, .16);
      transition: .3s
  }

  .navbar-wrap.scrolled .navbar-box {
      background: rgba(13, 14, 11, .94);
      box-shadow: 0 15px 45px rgba(0, 0, 0, .25)
  }

  
  .brand-fallback {
      font-weight: 800;
      color: #fff;
      line-height: 1;
      font-size: 15px;
      letter-spacing: .04em
  }

  .brand-fallback small {
      display: block;
      color: var(--gold);
      font-size: 8px;
      letter-spacing: .24em;
      margin-top: 5px
  }

  .nav-link {
      color: rgba(255, 255, 255, .82) !important;
      font-size: 13px;
      font-weight: 700;
      margin: 0 8px;
      position: relative
  }

  .nav-link:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -7px;
      width: 0;
      height: 2px;
      background: var(--gold);
      transition: .25s
  }

  .nav-link:hover:after,
  .nav-link.active:after {
      width: 100%
  }

  .nav-cta {
      background: var(--gold);
      color: #111;
      padding: 12px 16px;
      border-radius: 14px;
      font-size: 12px;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: .25s
  }

  .nav-cta:hover {
      transform: translateY(-2px);
      color: #111
  }

  .about-hero {
      position: relative;
      min-height: 700px;
      color: #fff;
      display: flex;
      align-items: end;
      overflow: hidden;
      background: #121310
  }

  .about-hero-bg {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0, 0, 0, .82), rgba(0, 0, 0, .48) 55%, rgba(0, 0, 0, .14)), url('https://images.unsplash.com/photo-1618220179428-22790b461013?auto=format&fit=crop&w=2200&q=90') center/cover no-repeat;
      transform: scale(1.04)
  }

  .about-hero-bg:after {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 75% 25%, rgba(252, 192, 2, .12), transparent 28%), radial-gradient(circle at 20% 90%, rgba(19, 211, 3, .10), transparent 30%)
  }

  .hero-content {
      position: relative;
      z-index: 2;
      padding: 170px 0 85px
  }

  .eyebrow {
      display: flex;
      align-items: center;
      gap: 9px;
      color: var(--red);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
      margin-bottom: 18px
  }

  .eyebrow-line {
      height: 2px;
      width: 38px;
      background: currentColor
  }

  .dark .eyebrow {
      color: var(--gold)
  }

  .hero-title {
      font-family: var(--display);
      font-weight: 700;
      font-size: clamp(58px, 8vw, 105px);
      line-height: .89;
      letter-spacing: -.055em;
      margin: 0;
      max-width: 980px
  }

  .hero-title .red {
      color: var(--red)
  }

  .hero-title .gold {
      color: var(--gold)
  }

  .hero-intro {
      max-width: 670px;
      color: rgba(255, 255, 255, .68);
      font-size: 16px;
      line-height: 1.85;
      margin-top: 25px
  }

  .breadcrumb-mini {
      display: flex;
      gap: 9px;
      align-items: center;
      margin-top: 30px;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .16em;
      color: rgba(255, 255, 255, .46)
  }

  .breadcrumb-mini b {
      color: var(--gold)
  }

  .ticker {
      background: var(--red);
      color: #fff;
      overflow: hidden;
      white-space: nowrap
  }

  .ticker-track {
      display: flex;
      width: max-content;
      animation: ticker 30s linear infinite
  }

  .ticker-item {
      display: flex;
      align-items: center;
      gap: 28px;
      padding: 16px 28px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .17em;
      text-transform: uppercase
  }

  .ticker-item b {
      font-size: 18px;
      color: var(--gold)
  }

  @keyframes ticker {
      to {
          transform: translateX(-50%)
      }
  }

  .section {
      padding: 110px 0
  }

  .section-title {
      font-family: var(--display);
      font-weight: 700;
      font-size: clamp(43px, 5.6vw, 74px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0
  }

  .section-desc {
      color: rgba(13, 14, 11, .62);
      font-size: 15px;
      line-height: 1.9;
      margin-top: 19px;
      max-width: 650px
  }

  .dark .section-title {
      color: #fff
  }

  .dark .section-desc {
      color: rgba(255, 255, 255, .57)
  }

  .story-image {
      height: 670px;
      border-radius: 32px;
      overflow: hidden;
      position: relative
  }

  .story-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .8s
  }

  .story-image:hover img {
      transform: scale(1.05)
  }

  .story-label {
      position: absolute;
      left: 20px;
      bottom: 20px;
      padding: 12px 14px;
      border-radius: 15px;
      background: rgba(13, 14, 11, .76);
      backdrop-filter: blur(13px);
      color: #fff;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .06em
  }

  .story-copy {
      font-size: 16px;
      color: rgba(13, 14, 11, .68);
      line-height: 1.9
  }

  .story-copy p {
      margin: 0 0 21px
  }

  .outline-note {
      border-left: 3px solid var(--red);
      padding: 5px 0 5px 18px;
      font-family: var(--display);
      font-size: 27px;
      line-height: 1.35;
      color: var(--black);
      margin-top: 29px
  }

  .number-strip {
      background: var(--black);
      color: #fff;
      padding: 30px 0
  }

  .number-box {
      padding: 10px 20px;
      border-right: 1px solid rgba(255, 255, 255, .1)
  }

  .number-box:last-child {
      border-right: 0
  }

  .number-box strong {
      font-family: var(--display);
      font-size: 42px;
      line-height: 1;
      display: block;
      color: var(--gold)
  }

  .number-box span {
      display: block;
      color: rgba(255, 255, 255, .48);
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: .12em;
      margin-top: 8px
  }

  .values {
      background: #fff
  }

  .value-card {
      height: 100%;
      border: 1px solid var(--line);
      border-radius: 28px;
      padding: 28px;
      position: relative;
      overflow: hidden;
      background: #fff;
      transition: .35s
  }

  .value-card:hover {
      transform: translateY(-7px);
      box-shadow: 0 25px 70px rgba(13, 14, 11, .08)
  }

  .value-card:after {
      content: "";
      position: absolute;
      width: 170px;
      height: 170px;
      border-radius: 50%;
      right: -85px;
      top: -85px;
      background: var(--gold);
      opacity: .07
  }

  .value-icon {
      width: 52px;
      height: 52px;
      border-radius: 16px;
      display: grid;
      place-items: center;
      background: var(--black);
      color: var(--gold);
      font-size: 20px
  }

  .value-num {
      font-size: 10px;
      color: var(--red);
      font-weight: 800;
      letter-spacing: .16em;
      margin-top: 30px
  }

  .value-card h3 {
      font-size: 23px;
      margin: 7px 0 9px;
      letter-spacing: -.03em
  }

  .value-card p {
      font-size: 12px;
      line-height: 1.8;
      color: var(--muted);
      margin: 0
  }

  .approach {
      background: var(--cream)
  }

  .approach-card {
      background: var(--black);
      color: #fff;
      border-radius: 32px;
      padding: 65px;
      position: relative;
      overflow: hidden
  }

  .approach-card:before {
      content: "";
      position: absolute;
      width: 500px;
      height: 500px;
      border-radius: 50%;
      right: -250px;
      top: -220px;
      background: radial-gradient(circle, rgba(252, 192, 2, .18), transparent 65%)
  }

  .process-row {
      position: relative;
      padding: 23px 0;
      border-top: 1px solid rgba(255, 255, 255, .11);
      display: flex;
      gap: 18px;
      align-items: flex-start
  }

  .process-row:first-child {
      border-top: 0
  }

  .process-num {
      width: 38px;
      height: 38px;
      border-radius: 12px;
      background: var(--red);
      color: #fff;
      display: grid;
      place-items: center;
      flex: 0 0 auto;
      font-weight: 800;
      font-size: 11px
  }

  .process-row h4 {
      margin: 0;
      font-size: 16px
  }

  .process-row p {
      margin: 5px 0 0;
      color: rgba(255, 255, 255, .50);
      font-size: 11px;
      line-height: 1.7
  }

  .speciality-image {
      height: 570px;
      border-radius: 30px;
      overflow: hidden
  }

  .speciality-image img {
      height: 100%;
      width: 100%;
      object-fit: cover;
      transition: .8s
  }

  .speciality-image:hover img {
      transform: scale(1.04)
  }

  .speciality-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 11px;
      margin-top: 30px
  }

  .speciality-item {
      border: 1px solid var(--line);
      background: #fff;
      border-radius: 17px;
      padding: 16px;
      display: flex;
      align-items: center;
      gap: 11px;
      font-size: 12px;
      font-weight: 700
  }

  .speciality-item i {
      height: 30px;
      width: 30px;
      border-radius: 10px;
      background: var(--green);
      display: grid;
      place-items: center;
      color: #061006
  }

  .cta {
      background: var(--green);
      padding: 85px 0;
      position: relative;
      overflow: hidden
  }

  .cta:after {
      content: "";
      position: absolute;
      width: 600px;
      height: 600px;
      border-radius: 50%;
      right: -250px;
      top: -330px;
      border: 80px solid rgba(255, 255, 255, .07)
  }

  .cta-title {
      font-family: var(--display);
      font-size: clamp(42px, 5.5vw, 70px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0;
      max-width: 800px
  }

  .cta-copy {
      font-size: 15px;
      line-height: 1.8;
      color: rgba(6, 16, 6, .66);
      max-width: 650px;
      margin-top: 17px
  }

  .btn-black {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      background: var(--black);
      color: #fff;
      border-radius: 15px;
      padding: 14px 18px;
      font-size: 12px;
      font-weight: 800;
      transition: .25s
  }

  .btn-black:hover {
      transform: translateY(-3px);
      color: #fff
  }

  .btn-white {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      border: 1px solid rgba(6, 16, 6, .24);
      color: #061006;
      border-radius: 15px;
      padding: 14px 18px;
      font-size: 12px;
      font-weight: 800;
      transition: .25s
  }

  .btn-white:hover {
      background: #fff;
      transform: translateY(-3px);
      color: #061006
  }

  .contact-mini {
      background: var(--black2);
      color: #fff;
      padding: 65px 0
  }

  .contact-item {
      height: 100%;
      border: 1px solid rgba(255, 255, 255, .08);
      background: rgba(255, 255, 255, .045);
      border-radius: 20px;
      padding: 20px
  }

  .contact-item i {
      color: var(--gold);
      font-size: 20px
  }

  .contact-item strong {
      font-size: 13px;
      display: block;
      margin-top: 12px
  }

  .contact-item span {
      display: block;
      font-size: 10px;
      color: rgba(255, 255, 255, .48);
      line-height: 1.7;
      margin-top: 5px
  }

  footer {
      background: #070806;
      color: rgba(255, 255, 255, .45);
      font-size: 10px;
      padding: 25px 0
  }

  footer strong {
      color: var(--gold)
  }

  .floaters {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 999;
      display: flex;
      flex-direction: column;
      gap: 8px
  }

  .float-btn {
      height: 50px;
      width: 50px;
      border-radius: 17px;
      display: grid;
      place-items: center;
      border: 2px solid rgba(255, 255, 255, .8);
      box-shadow: 0 15px 40px rgba(0, 0, 0, .25);
      font-size: 18px
  }

  .call {
      background: var(--green);
      color: #061006
  }

  .map {
      background: var(--gold);
      color: #111
  }

  .reveal {
      opacity: 0;
      transform: translateY(35px)
  }

  .hero-reveal {
      opacity: 0;
      transform: translateY(35px)
  }

  @media(max-width:991.98px) {
      .navbar-wrap {
          top: 10px
      }

      .hero-content {
          padding-top: 160px
      }

      .story-image {
          height: 520px
      }

      .approach-card {
          padding: 42px 30px
      }

      .number-box {
          border-right: 0;
          border-bottom: 1px solid rgba(255, 255, 255, .08);
          padding: 20px
      }

      .number-box:last-child {
          border-bottom: 0
      }
  }

  @media(max-width:767.98px) {
      .topbar {
          display: none
      }

      .hero-title {
          font-size: 55px
      }

      .hero-intro {
          font-size: 14px
      }

      .section {
          padding: 80px 0
      }

      .story-image {
          height: 430px
      }

      .speciality-image {
          height: 430px
      }

      .speciality-list {
          grid-template-columns: 1fr
      }

      .cta {
          padding: 70px 0
      }
  }

  @media(max-width:575.98px) {
      .container {
          --bs-gutter-x: 1.25rem
      }

      .hero-title {
          font-size: 47px
      }

      .hero-content {
          padding-top: 145px
      }

      .value-card {
          padding: 23px
      }

      .outline-note {
          font-size: 23px
      }
  }


  /* gllery */

  img {
      display: block;
      max-width: 100%
  }

  button {
      font-family: inherit
  }

  /* SAME HEADER */
  .topbar {
      background: var(--black);
      color: #fff;
      padding: 8px 15px;
      font-size: 10px;
      letter-spacing: .15em;
      text-transform: uppercase
  }

  .topbar .gold {
      color: var(--gold)
  }

  .navbar-wrap {
      position: fixed;
      left: 0;
      right: 0;
      top: 28px;
      z-index: 1000;
      padding: 0 12px;
      transition: .3s
  }

  .navbar-box {
      max-width: 1240px;
      margin: auto;
      background: rgba(13, 14, 11, .72);
      backdrop-filter: blur(18px);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 22px;
      padding: 9px 12px;
      box-shadow: 0 18px 55px rgba(0, 0, 0, .16);
      transition: .3s
  }

  .navbar-wrap.scrolled .navbar-box {
      background: rgba(13, 14, 11, .94);
      box-shadow: 0 15px 45px rgba(0, 0, 0, .25)
  }


  .brand-fallback {
      font-weight: 800;
      color: #fff;
      font-size: 15px;
      line-height: 1
  }

  .brand-fallback small {
      display: block;
      color: var(--gold);
      font-size: 8px;
      letter-spacing: .24em;
      margin-top: 5px
  }

  .nav-link {
      color: rgba(255, 255, 255, .82) !important;
      font-size: 13px;
      font-weight: 700;
      margin: 0 8px;
      position: relative
  }

  .nav-link:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -7px;
      width: 0;
      height: 2px;
      background: var(--gold);
      transition: .25s
  }

  .nav-link:hover:after,
  .nav-link.active:after {
      width: 100%
  }

  .nav-cta {
      background: var(--gold);
      color: #111;
      padding: 12px 16px;
      border-radius: 14px;
      font-size: 12px;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: .25s
  }

  .nav-cta:hover {
      transform: translateY(-2px);
      color: #111
  }

  /* HERO */
  .gallery-hero {
      min-height: 670px;
      position: relative;
      display: flex;
      align-items: end;
      color: #fff;
      background: #111;
      overflow: hidden
  }

  .gallery-hero-bg {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0, 0, 0, .86), rgba(0, 0, 0, .48) 52%, rgba(0, 0, 0, .15)), url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2200&q=90') center/cover no-repeat;
      transform: scale(1.05)
  }

  .gallery-hero-bg:after {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 72% 25%, rgba(252, 192, 2, .14), transparent 28%), radial-gradient(circle at 15% 80%, rgba(19, 211, 3, .09), transparent 30%)
  }

  .hero-content {
      position: relative;
      z-index: 2;
      padding: 175px 0 85px
  }

  .eyebrow {
      display: flex;
      align-items: center;
      gap: 9px;
      color: var(--red);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
      margin-bottom: 18px
  }

  .eyebrow-line {
      width: 38px;
      height: 2px;
      background: currentColor
  }

  .gallery-hero .eyebrow {
      color: var(--gold)
  }

  .hero-title {
      font-family: var(--display);
      font-size: clamp(58px, 7.8vw, 105px);
      line-height: .9;
      letter-spacing: -.055em;
      margin: 0;
      font-weight: 700
  }

  .hero-title .red {
      color: var(--red)
  }

  .hero-title .gold {
      color: var(--gold)
  }

  .hero-copy {
      max-width: 690px;
      color: rgba(255, 255, 255, .67);
      font-size: 16px;
      line-height: 1.85;
      margin-top: 25px
  }

  .crumb {
      margin-top: 28px;
      font-size: 10px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .42)
  }

  .crumb b {
      color: var(--gold)
  }

  .ticker {
      background: var(--red);
      color: #fff;
      overflow: hidden;
      white-space: nowrap
  }

  .ticker-track {
      display: flex;
      width: max-content;
      animation: ticker 30s linear infinite
  }

  .ticker-item {
      display: flex;
      align-items: center;
      gap: 27px;
      padding: 16px 28px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .17em;
      text-transform: uppercase
  }

  .ticker-item b {
      font-size: 18px;
      color: var(--gold)
  }

  @keyframes ticker {
      to {
          transform: translateX(-50%)
      }
  }

  .section {
      padding: 110px 0
  }

  .section-title {
      font-family: var(--display);
      font-size: clamp(42px, 5.5vw, 73px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0
  }

  .section-desc {
      max-width: 650px;
      color: rgba(13, 14, 11, .61);
      font-size: 15px;
      line-height: 1.9;
      margin-top: 20px
  }

  /* FILTERS */
  .filters {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 8px;
      margin: 42px 0 35px
  }

  .filter-btn {
      border: 1px solid rgba(13, 14, 11, .11);
      background: #fff;
      color: #555;
      padding: 11px 17px;
      border-radius: 999px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      transition: .25s
  }

  .filter-btn:hover,
  .filter-btn.active {
      background: var(--black);
      border-color: var(--black);
      color: #fff;
      box-shadow: 0 9px 25px rgba(13, 14, 11, .13)
  }

  /* GALLERY */
  .gallery-grid {
      columns: 3 300px;
      column-gap: 15px
  }

  .gallery-item {
      break-inside: avoid;
      margin-bottom: 15px;
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      background: #ddd;
      cursor: pointer;
      transform: translateZ(0)
  }

  .gallery-item img {
      width: 100%;
      height: auto;
      display: block;
      transition: transform .7s, filter .4s
  }

  .gallery-item:hover img {
      transform: scale(1.055);
      filter: saturate(1.08)
  }

  .gallery-overlay {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: flex-end;
      padding: 25px;
      background: linear-gradient(transparent 40%, rgba(0, 0, 0, .78));
      opacity: 0;
      transition: .35s
  }

  .gallery-item:hover .gallery-overlay {
      opacity: 1
  }

  .gallery-meta {
      color: #fff
  }

  .gallery-meta small {
      font-size: 9px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .57)
  }

  .gallery-meta h4 {
      margin: 5px 0 0;
      font-size: 21px
  }

  .view-icon {
      margin-left: auto;
      width: 42px;
      height: 42px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: var(--gold);
      color: #111;
      transform: translateY(12px);
      transition: .35s
  }

  .gallery-item:hover .view-icon {
      transform: translateY(0)
  }

  .gallery-item.hidden {
      display: none
  }

  /* FEATURE COLLAGE */
  .featured {
      background: #fff
  }

  .feature-card {
      position: relative;
      overflow: hidden;
      border-radius: 29px;
      height: 100%;
      min-height: 570px
  }

  .feature-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .8s
  }

  .feature-card:hover img {
      transform: scale(1.045)
  }

  .feature-card:after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(transparent 40%, rgba(0, 0, 0, .72))
  }

  .feature-text {
      position: absolute;
      left: 25px;
      right: 25px;
      bottom: 25px;
      z-index: 2;
      color: #fff
  }

  .feature-text small {
      font-size: 9px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .6)
  }

  .feature-text h3 {
      font-size: 31px;
      letter-spacing: -.03em;
      margin: 7px 0 0
  }

  .mini-feature {
      height: 275px;
      position: relative;
      overflow: hidden;
      border-radius: 24px
  }

  .mini-feature img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .7s
  }

  .mini-feature:hover img {
      transform: scale(1.055)
  }

  .mini-feature:after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(transparent 35%, rgba(0, 0, 0, .7))
  }

  .mini-feature span {
      position: absolute;
      z-index: 2;
      left: 18px;
      bottom: 17px;
      color: #fff;
      font-size: 17px;
      font-weight: 700
  }

  /* CTA */
  .cta {
      background: var(--green);
      padding: 85px 0;
      position: relative;
      overflow: hidden
  }

  .cta:after {
      content: "";
      position: absolute;
      width: 600px;
      height: 600px;
      border: 80px solid rgba(255, 255, 255, .07);
      border-radius: 50%;
      right: -260px;
      top: -350px
  }

  .cta-title {
      font-family: var(--display);
      font-size: clamp(43px, 5.5vw, 70px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0;
      position: relative;
      z-index: 1
  }

  .cta-copy {
      color: rgba(6, 16, 6, .65);
      font-size: 15px;
      line-height: 1.8;
      max-width: 650px;
      margin-top: 18px;
      position: relative;
      z-index: 1
  }

  .btn-black,
  .btn-white {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      border-radius: 15px;
      padding: 14px 18px;
      font-size: 12px;
      font-weight: 800;
      transition: .25s
  }

  .btn-black {
      background: var(--black);
      color: #fff
  }

  .btn-white {
      border: 1px solid rgba(6, 16, 6, .22);
      color: #061006
  }

  .btn-black:hover,
  .btn-white:hover {
      transform: translateY(-3px);
      color: inherit
  }

  .btn-black:hover {
      color: #fff
  }

  .btn-white:hover {
      background: #fff
  }

  /* LIGHTBOX */
  .lightbox {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .9);
      z-index: 3000;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 25px
  }

  .lightbox.show {
      display: flex
  }

  .lightbox img {
      max-width: 93vw;
      max-height: 84vh;
      width: auto;
      height: auto;
      border-radius: 20px;
      object-fit: contain;
      box-shadow: 0 30px 100px rgba(0, 0, 0, .55)
  }

  .lightbox-close {
      position: absolute;
      right: 25px;
      top: 20px;
      width: 44px;
      height: 44px;
      border: 0;
      border-radius: 50%;
      background: #fff;
      color: #111;
      display: grid;
      place-items: center;
      font-size: 18px
  }

  .lightbox-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 50px;
      height: 50px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, .2);
      background: rgba(255, 255, 255, .09);
      backdrop-filter: blur(8px);
      color: #fff;
      display: grid;
      place-items: center;
      font-size: 23px
  }

  .lightbox-prev {
      left: 25px
  }

  .lightbox-next {
      right: 25px
  }

  /* SAME FOOTER */
  .contact-strip {
      background: var(--black2);
      color: #fff;
      padding: 70px 0
  }

  .contact-item {
      height: 100%;
      border: 1px solid rgba(255, 255, 255, .08);
      background: rgba(255, 255, 255, .045);
      border-radius: 20px;
      padding: 20px
  }

  .contact-item i {
      color: var(--gold);
      font-size: 20px
  }

  .contact-item strong {
      display: block;
      font-size: 13px;
      margin-top: 12px
  }

  .contact-item span {
      display: block;
      font-size: 10px;
      line-height: 1.7;
      color: rgba(255, 255, 255, .47);
      margin-top: 5px
  }

  .footer {
      background: #070806;
      color: rgba(255, 255, 255, .44);
      font-size: 10px;
      padding: 26px 0
  }

  .footer-line {
      border-color: rgba(255, 255, 255, .08) !important
  }

  .footer strong {
      color: var(--gold)
  }

  .floating {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 1200;
      display: flex;
      flex-direction: column;
      gap: 8px
  }

  .float-btn {
      width: 50px;
      height: 50px;
      border-radius: 17px;
      display: grid;
      place-items: center;
      border: 2px solid rgba(255, 255, 255, .78);
      box-shadow: 0 15px 40px rgba(0, 0, 0, .25);
      font-size: 18px
  }

  .float-call {
      background: var(--green);
      color: #071007
  }

  .float-map {
      background: var(--gold);
      color: #111
  }

  .hero-reveal,
  .reveal {
      opacity: 0;
      transform: translateY(35px)
  }

  @media(max-width:991.98px) {
      .navbar-wrap {
          top: 10px
      }

      .hero-content {
          padding-top: 165px
      }

      .gallery-grid {
          columns: 2 250px
      }

      .feature-card {
          min-height: 520px
      }

      .lightbox-arrow {
          bottom: 20px;
          top: auto;
          transform: none
      }

      .lightbox-prev {
          left: 25px
      }

      .lightbox-next {
          right: 25px
      }
  }

  @media(max-width:767.98px) {
      .topbar {
          display: none
      }

      .hero {
          min-height: 740px
      }

      .hero-title {
          font-size: 53px
      }

      .hero-copy {
          font-size: 14px
      }

      .section {
          padding: 78px 0
      }

      .gallery-grid {
          columns: 2 170px;
          column-gap: 10px
      }

      .gallery-item {
          margin-bottom: 10px;
          border-radius: 18px
      }

      .feature-card {
          min-height: 430px
      }

      .mini-feature {
          height: 220px
      }

      .filters {
          margin-top: 30px
      }
  }

  @media(max-width:575.98px) {
      .container {
          --bs-gutter-x: 1.25rem
      }

      .hero-title {
          font-size: 47px
      }

      .hero-content {
          padding-top: 145px
      }

      .gallery-grid {
          columns: 1
      }

      .gallery-overlay {
          opacity: 1
      }

      .view-icon {
          transform: none
      }

      .lightbox-close {
          right: 14px;
          top: 14px
      }
  }

  /* contact */

  :root {
      --red: #FF0100;
      --green: #13D303;
      --gold: #FCC002;
      --black: #0d0e0b;
      --black2: #171812;
      --cream: #f7f2e7;
      --white: #fff;
      --muted: #77786f;
      --line: rgba(13, 14, 11, .11);
      --body: 'DM Sans', sans-serif;
      --display: 'Playfair Display', serif
  }

  * {
      box-sizing: border-box
  }

  html {
      scroll-behavior: smooth
  }

  body {
      margin: 0;
      background: var(--cream);
      color: var(--black);
      font-family: var(--body);
      overflow-x: hidden
  }

  a {
      text-decoration: none
  }

  img {
      display: block;
      max-width: 100%
  }

  .topbar {
      background: var(--black);
      color: #fff;
      padding: 8px 15px;
      font-size: 10px;
      letter-spacing: .15em;
      text-transform: uppercase
  }

  .topbar .gold {
      color: var(--gold)
  }

  .navbar-wrap {
      position: fixed;
      left: 0;
      right: 0;
      top: 28px;
      z-index: 1000;
      padding: 0 12px;
      transition: .3s
  }

  .navbar-box {
      max-width: 1240px;
      margin: auto;
      background: rgba(13, 14, 11, .72);
      backdrop-filter: blur(18px);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 22px;
      padding: 9px 12px;
      box-shadow: 0 18px 55px rgba(0, 0, 0, .16);
      transition: .3s
  }

  .navbar-wrap.scrolled .navbar-box {
      background: rgba(13, 14, 11, .94);
      box-shadow: 0 15px 45px rgba(0, 0, 0, .25)
  }

  
  .brand-fallback {
      font-weight: 800;
      color: #fff;
      font-size: 15px;
      line-height: 1
  }

  .brand-fallback small {
      display: block;
      color: var(--gold);
      font-size: 8px;
      letter-spacing: .24em;
      margin-top: 5px
  }

  .nav-link {
      color: rgba(255, 255, 255, .82) !important;
      font-size: 13px;
      font-weight: 700;
      margin: 0 8px;
      position: relative
  }

  .nav-link:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -7px;
      width: 0;
      height: 2px;
      background: var(--gold);
      transition: .25s
  }

  .nav-link:hover:after,
  .nav-link.active:after {
      width: 100%
  }

  .nav-cta {
      background: var(--gold);
      color: #111;
      padding: 12px 16px;
      border-radius: 14px;
      font-size: 12px;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: .25s
  }

  .nav-cta:hover {
      transform: translateY(-2px);
      color: #111
  }

  .hero {
      min-height: 660px;
      position: relative;
      display: flex;
      align-items: end;
      color: #fff;
      overflow: hidden;
      background: #111
  }

  .hero-bg {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0, 0, 0, .87), rgba(0, 0, 0, .51) 52%, rgba(0, 0, 0, .16)), url('https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=2200&q=90') center/cover no-repeat;
      transform: scale(1.05)
  }

  .hero-bg:after {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 76% 25%, rgba(252, 192, 2, .14), transparent 28%), radial-gradient(circle at 15% 80%, rgba(19, 211, 3, .1), transparent 30%)
  }

  .hero-content {
      position: relative;
      z-index: 2;
      padding: 175px 0 85px
  }

  .eyebrow {
      display: flex;
      align-items: center;
      gap: 9px;
      color: var(--red);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
      margin-bottom: 18px
  }

  .hero .eyebrow {
      color: var(--gold)
  }

  .eyebrow-line {
      height: 2px;
      width: 38px;
      background: currentColor
  }

  .hero-title {
      font-family: var(--display);
      font-size: clamp(56px, 7.7vw, 103px);
      line-height: .9;
      letter-spacing: -.055em;
      margin: 0;
      font-weight: 700
  }

  .hero-title .red {
      color: var(--red)
  }

  .hero-title .gold {
      color: var(--gold)
  }

  .hero-copy {
      max-width: 670px;
      color: rgba(255, 255, 255, .68);
      font-size: 16px;
      line-height: 1.85;
      margin-top: 25px
  }

  .crumb {
      font-size: 10px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .42);
      margin-top: 28px
  }

  .crumb b {
      color: var(--gold)
  }

  .ticker {
      background: var(--red);
      color: #fff;
      overflow: hidden;
      white-space: nowrap
  }

  .ticker-track {
      display: flex;
      width: max-content;
      animation: ticker 30s linear infinite
  }

  .ticker-item {
      display: flex;
      align-items: center;
      gap: 27px;
      padding: 16px 28px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .17em;
      text-transform: uppercase
  }

  .ticker-item b {
      font-size: 18px;
      color: var(--gold)
  }

  @keyframes ticker {
      to {
          transform: translateX(-50%)
      }
  }

  .section {
      padding: 110px 0
  }

  .section-title {
      font-family: var(--display);
      font-size: clamp(42px, 5.5vw, 73px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0
  }

  .section-desc {
      max-width: 650px;
      color: rgba(13, 14, 11, .61);
      font-size: 15px;
      line-height: 1.9;
      margin-top: 20px
  }

  .contact-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 25px 70px rgba(13, 14, 11, .07)
  }

  .contact-icon {
      width: 52px;
      height: 52px;
      border-radius: 16px;
      background: var(--black);
      color: var(--gold);
      display: grid;
      place-items: center;
      font-size: 21px
  }

  .contact-card h3 {
      font-size: 21px;
      margin: 19px 0 8px
  }

  .contact-card p {
      font-size: 12px;
      line-height: 1.8;
      color: var(--muted);
      margin: 0
  }

  .contact-card a {
      color: var(--black);
      font-size: 12px;
      font-weight: 800
  }

  .form-wrap {
      background: #fff;
      border-radius: 30px;
      border: 1px solid var(--line);
      padding: 42px;
      box-shadow: 0 25px 90px rgba(13, 14, 11, .07)
  }

  .form-title {
      font-family: var(--display);
      font-size: 42px;
      line-height: 1;
      letter-spacing: -.04em;
      margin: 0
  }

  .form-sub {
      font-size: 12px;
      color: var(--muted);
      line-height: 1.7;
      margin: 12px 0 28px
  }

  .form-label {
      font-size: 10px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 7px
  }

  .form-control,
  .form-select {
      border: 1px solid rgba(13, 14, 11, .12);
      background: #fbfaf6;
      border-radius: 14px;
      padding: 13px 14px;
      font-size: 12px;
      min-height: 48px;
      box-shadow: none
  }

  .form-control:focus,
  .form-select:focus {
      background: #fff;
      border-color: var(--gold);
      box-shadow: 0 0 0 3px rgba(252, 192, 2, .14)
  }

  .submit-btn {
      width: 100%;
      border: 0;
      border-radius: 15px;
      background: var(--red);
      color: #fff;
      padding: 15px;
      font-size: 12px;
      font-weight: 800;
      transition: .25s
  }

  .submit-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 17px 42px rgba(255, 1, 0, .2)
  }

  .success {
      display: none;
      background: rgba(19, 211, 3, .08);
      border: 1px solid rgba(19, 211, 3, .25);
      color: #153d11;
      padding: 13px;
      border-radius: 14px;
      font-size: 11px;
      margin-top: 14px
  }

  .success.show {
      display: block
  }

 

  .map-pin {
      position: absolute;
      left: 50%;
      top: 43%;
      transform: translate(-50%, -50%);
      width: 65px;
      height: 65px;
      border-radius: 20px;
      background: var(--red);
      color: #fff;
      z-index: 2;
      display: grid;
      place-items: center;
      box-shadow: 0 20px 60px rgba(255, 1, 0, .4)
  }

  .map-info {
      position: absolute;
      z-index: 3;
      left: 20px;
      right: 20px;
      bottom: 20px;
      background: rgba(13, 14, 11, .84);
      backdrop-filter: blur(16px);
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 20px;
      padding: 20px;
      color: #fff
  }

  .map-info small {
      font-size: 9px;
      color: var(--gold);
      letter-spacing: .18em;
      text-transform: uppercase
  }

  .map-info p {
      font-size: 11px;
      color: rgba(255, 255, 255, .62);
      line-height: 1.7;
      margin: 8px 0 14px
  }

  .map-info a {
      font-size: 11px;
      color: #fff;
      font-weight: 800
  }

  .dark-strip {
      background: var(--black);
      color: #fff;
      padding: 80px 0
  }

  .dark-title {
      font-family: var(--display);
      font-size: clamp(42px, 5.4vw, 68px);
      line-height: .98;
      letter-spacing: -.05em
  }

  .dark-copy {
      color: rgba(255, 255, 255, .55);
      font-size: 14px;
      line-height: 1.8;
      margin-top: 17px
  }

  .quick-item {
      border-top: 1px solid rgba(255, 255, 255, .11);
      padding: 18px 0;
      display: flex;
      gap: 13px
  }

  .quick-icon {
      width: 38px;
      height: 38px;
      border-radius: 12px;
      background: var(--gold);
      color: #111;
      display: grid;
      place-items: center;
      flex: 0 0 auto
  }

  .quick-item strong {
      font-size: 13px
  }

  .quick-item span {
      display: block;
      color: rgba(255, 255, 255, .45);
      font-size: 10px;
      line-height: 1.6;
      margin-top: 4px
  }

  .cta {
      background: var(--green);
      padding: 82px 0;
      position: relative;
      overflow: hidden
  }

  .cta:after {
      content: "";
      position: absolute;
      width: 600px;
      height: 600px;
      border: 80px solid rgba(255, 255, 255, .07);
      border-radius: 50%;
      right: -260px;
      top: -350px
  }

  .cta-title {
      font-family: var(--display);
      font-size: clamp(42px, 5.5vw, 70px);
      line-height: .98;
      letter-spacing: -.05em;
      position: relative;
      z-index: 1
  }

  .cta-copy {
      font-size: 15px;
      line-height: 1.8;
      color: rgba(6, 16, 6, .64);
      max-width: 650px;
      margin-top: 17px;
      position: relative;
      z-index: 1
  }

  .btn-black,
  .btn-white {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 14px 18px;
      border-radius: 15px;
      font-size: 12px;
      font-weight: 800;
      transition: .25s
  }

  .btn-black {
      background: var(--black);
      color: #fff
  }

  .btn-white {
      border: 1px solid rgba(6, 16, 6, .22);
      color: #061006
  }

  .btn-black:hover,
  .btn-white:hover {
      transform: translateY(-3px);
      color: inherit
  }

  .btn-black:hover {
      color: #fff
  }

  .btn-white:hover {
      background: #fff
  }

  .contact-strip {
      background: var(--black2);
      color: #fff;
      padding: 70px 0
  }

  .strip-card {
      height: 100%;
      padding: 20px;
      border-radius: 20px;
      border: 1px solid rgba(255, 255, 255, .08);
      background: rgba(255, 255, 255, .045)
  }

  .strip-card i {
      font-size: 20px;
      color: var(--gold)
  }

  .strip-card strong {
      font-size: 13px;
      display: block;
      margin-top: 12px
  }

  .strip-card span {
      display: block;
      font-size: 10px;
      line-height: 1.7;
      color: rgba(255, 255, 255, .47);
      margin-top: 5px
  }

  .footer {
      background: #070806;
      color: rgba(255, 255, 255, .44);
      font-size: 10px;
      padding: 26px 0
  }

  .footer-line {
      border-color: rgba(255, 255, 255, .08) !important
  }

  .footer strong {
      color: var(--gold)
  }

  .floating {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 1200;
      display: flex;
      flex-direction: column;
      gap: 8px
  }

  .float-btn {
      width: 50px;
      height: 50px;
      border-radius: 17px;
      display: grid;
      place-items: center;
      border: 2px solid rgba(255, 255, 255, .78);
      box-shadow: 0 15px 40px rgba(0, 0, 0, .25);
      font-size: 18px
  }

  .float-call {
      background: var(--green);
      color: #071007
  }

  .float-map {
      background: var(--gold);
      color: #111
  }

  .hero-reveal,
  .reveal {
      opacity: 0;
      transform: translateY(35px)
  }

  @media(max-width:991.98px) {
      .navbar-wrap {
          top: 10px
      }

      .hero-content {
          padding-top: 165px
      }

      .form-wrap {
          padding: 32px
      }

      .map-box {
          min-height: 460px
      }

      .dark-strip {
          padding: 70px 0
      }
  }

  @media(max-width:767.98px) {
      .topbar {
          display: none
      }

      .hero {
          min-height: 720px
      }

      .hero-title {
          font-size: 53px
      }

      .hero-copy {
          font-size: 14px
      }

      .section {
          padding: 78px 0
      }

      .form-wrap {
          padding: 25px
      }

      .contact-card {
          padding: 22px
      }

      .map-box {
          min-height: 420px
      }

      .cta {
          padding: 70px 0
      }
  }

  @media(max-width:575.98px) {
      .container {
          --bs-gutter-x: 1.25rem
      }

      .hero-title {
          font-size: 47px
      }

      .hero-content {
          padding-top: 145px
      }

      .form-title {
          font-size: 36px
      }
  }

  /* appointment */

  :root {
      --red: #FF0100;
      --green: #13D303;
      --gold: #FCC002;
      --black: #0d0e0b;
      --black2: #171812;
      --cream: #f7f2e7;
      --white: #fff;
      --muted: #77786f;
      --line: rgba(13, 14, 11, .11);
      --body: 'DM Sans', sans-serif;
      --display: 'Playfair Display', serif
  }

  * {
      box-sizing: border-box
  }

  html {
      scroll-behavior: smooth
  }

  body {
      margin: 0;
      background: var(--cream);
      color: var(--black);
      font-family: var(--body);
      overflow-x: hidden
  }

  a {
      text-decoration: none
  }

  img {
      display: block;
      max-width: 100%
  }

  /* ================= SHARED HEADER ================= */
  .topbar {
      background: var(--black);
      color: #fff;
      padding: 8px 15px;
      font-size: 10px;
      letter-spacing: .15em;
      text-transform: uppercase
  }

  .topbar .gold {
      color: var(--gold)
  }

  .navbar-wrap {
      position: fixed;
      left: 0;
      right: 0;
      top: 28px;
      z-index: 1000;
      padding: 0 12px;
      transition: .3s
  }

  .navbar-box {
      max-width: 1240px;
      margin: auto;
      background: rgba(13, 14, 11, .72);
      backdrop-filter: blur(18px);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 22px;
      padding: 9px 12px;
      box-shadow: 0 18px 55px rgba(0, 0, 0, .16);
      transition: .3s
  }

  .navbar-wrap.scrolled .navbar-box {
      background: rgba(13, 14, 11, .94);
      box-shadow: 0 15px 45px rgba(0, 0, 0, .25)
  }

  
  .brand-fallback {
      font-weight: 800;
      color: #fff;
      font-size: 15px;
      line-height: 1
  }

  .brand-fallback small {
      display: block;
      color: var(--gold);
      font-size: 8px;
      letter-spacing: .24em;
      margin-top: 5px
  }

  .nav-link {
      color: rgba(255, 255, 255, .82) !important;
      font-size: 13px;
      font-weight: 700;
      margin: 0 8px;
      position: relative
  }

  .nav-link:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -7px;
      width: 0;
      height: 2px;
      background: var(--gold);
      transition: .25s
  }

  .nav-link:hover:after,
  .nav-link.active:after {
      width: 100%
  }

  .nav-cta {
      background: var(--gold);
      color: #111;
      padding: 12px 16px;
      border-radius: 14px;
      font-size: 12px;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: .25s
  }

  .nav-cta:hover {
      transform: translateY(-2px);
      color: #111
  }

  /* ================= HERO ================= */
  .hero {
      min-height: 650px;
      position: relative;
      display: flex;
      align-items: end;
      color: #fff;
      background: #111;
      overflow: hidden
  }

  .hero-bg {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0, 0, 0, .86), rgba(0, 0, 0, .52) 53%, rgba(0, 0, 0, .17)), url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2200&q=90') center/cover no-repeat;
      transform: scale(1.05)
  }

  .hero-bg:after {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 75% 25%, rgba(252, 192, 2, .15), transparent 27%), radial-gradient(circle at 15% 80%, rgba(19, 211, 3, .10), transparent 30%)
  }

  .hero-content {
      position: relative;
      z-index: 2;
      padding: 175px 0 82px
  }

  .eyebrow {
      display: flex;
      align-items: center;
      gap: 9px;
      color: var(--red);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
      margin-bottom: 18px
  }

  .eyebrow-line {
      height: 2px;
      width: 38px;
      background: currentColor
  }

  .hero .eyebrow {
      color: var(--gold)
  }

  .hero-title {
      font-family: var(--display);
      font-size: clamp(56px, 7.7vw, 103px);
      line-height: .9;
      letter-spacing: -.055em;
      margin: 0;
      font-weight: 700
  }

  .hero-title .red {
      color: var(--red)
  }

  .hero-title .gold {
      color: var(--gold)
  }

  .hero-copy {
      max-width: 670px;
      color: rgba(255, 255, 255, .68);
      font-size: 16px;
      line-height: 1.85;
      margin-top: 25px
  }

  .crumb {
      font-size: 10px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .42);
      margin-top: 27px
  }

  .crumb b {
      color: var(--gold)
  }

  .ticker {
      background: var(--red);
      color: #fff;
      overflow: hidden;
      white-space: nowrap
  }

  .ticker-track {
      display: flex;
      width: max-content;
      animation: ticker 30s linear infinite
  }

  .ticker-item {
      display: flex;
      align-items: center;
      gap: 27px;
      padding: 16px 28px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .17em;
      text-transform: uppercase
  }

  .ticker-item b {
      font-size: 18px;
      color: var(--gold)
  }

  @keyframes ticker {
      to {
          transform: translateX(-50%)
      }
  }

  /* ================= APPOINTMENT ================= */
  .booking-section {
      padding: 110px 0
  }

  .booking-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 32px;
      overflow: hidden;
      box-shadow: 0 25px 90px rgba(13, 14, 11, .08)
  }

  .booking-info {
      background: var(--black);
      color: #fff;
      padding: 55px 45px;
      position: relative;
      overflow: hidden;
      height: 100%
  }

  .booking-info:after {
      content: "";
      position: absolute;
      width: 430px;
      height: 430px;
      border-radius: 50%;
      right: -220px;
      bottom: -220px;
      background: radial-gradient(circle, rgba(252, 192, 2, .18), transparent 65%)
  }

  .info-title {
      font-family: var(--display);
      font-size: clamp(40px, 4.7vw, 64px);
      line-height: .98;
      letter-spacing: -.045em;
      position: relative;
      z-index: 1
  }

  .info-copy {
      color: rgba(255, 255, 255, .57);
      font-size: 14px;
      line-height: 1.8;
      position: relative;
      z-index: 1;
      margin-top: 20px
  }

  .info-list {
      position: relative;
      z-index: 1;
      margin-top: 35px
  }

  .info-item {
      display: flex;
      gap: 13px;
      padding: 15px 0;
      border-top: 1px solid rgba(255, 255, 255, .1)
  }

  .info-item:first-child {
      border-top: 0
  }

  .info-icon {
      width: 38px;
      height: 38px;
      border-radius: 12px;
      background: var(--gold);
      color: #111;
      display: grid;
      place-items: center;
      flex: 0 0 auto
  }

  .info-item strong {
      font-size: 13px
  }

  .info-item span {
      display: block;
      font-size: 10px;
      color: rgba(255, 255, 255, .45);
      line-height: 1.6;
      margin-top: 3px
  }

  .form-side {
      padding: 50px 45px
  }

  .form-title {
      font-family: var(--display);
      font-size: 42px;
      line-height: 1;
      letter-spacing: -.04em;
      margin: 0
  }

  .form-subtitle {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.7;
      margin: 12px 0 28px
  }

  .form-label {
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 7px
  }

  .form-control,
  .form-select {
      border: 1px solid rgba(13, 14, 11, .12);
      border-radius: 14px;
      padding: 13px 14px;
      font-size: 12px;
      background: #fbfaf6;
      min-height: 48px;
      box-shadow: none
  }

  .form-control:focus,
  .form-select:focus {
      border-color: var(--gold);
      box-shadow: 0 0 0 3px rgba(252, 192, 2, .14);
      background: #fff
  }

  .form-control::placeholder {
      color: #a7a79d
  }

  .form-check-label {
      font-size: 10px;
      color: var(--muted);
      line-height: 1.5
  }

  .form-check-input:checked {
      background-color: var(--green);
      border-color: var(--green)
  }

  .submit-btn {
      border: 0;
      background: var(--red);
      color: #fff;
      width: 100%;
      padding: 15px 18px;
      border-radius: 15px;
      font-size: 12px;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      transition: .25s
  }

  .submit-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 40px rgba(255, 1, 0, .2)
  }

  .success-msg {
      display: none;
      border: 1px solid rgba(19, 211, 3, .25);
      background: rgba(19, 211, 3, .08);
      color: #153d11;
      border-radius: 14px;
      padding: 13px;
      font-size: 11px;
      margin-top: 14px
  }

  .success-msg.show {
      display: block
  }

  .quick-strip {
      padding: 0 0 110px
  }

  .quick-card {
      height: 100%;
      border: 1px solid var(--line);
      background: #fff;
      border-radius: 22px;
      padding: 22px;
      transition: .3s
  }

  .quick-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 55px rgba(13, 14, 11, .07)
  }

  .quick-icon {
      height: 45px;
      width: 45px;
      display: grid;
      place-items: center;
      border-radius: 14px;
      background: var(--black);
      color: var(--gold);
      font-size: 19px
  }

  .quick-card h4 {
      font-size: 16px;
      margin: 17px 0 7px
  }

  .quick-card p {
      font-size: 11px;
      color: var(--muted);
      line-height: 1.7;
      margin: 0
  }

  /* ================= CTA ================= */
  .cta {
      background: var(--green);
      padding: 80px 0;
      position: relative;
      overflow: hidden
  }

  .cta:after {
      content: "";
      position: absolute;
      width: 580px;
      height: 580px;
      border: 78px solid rgba(255, 255, 255, .07);
      border-radius: 50%;
      right: -250px;
      top: -330px
  }

  .cta-title {
      font-family: var(--display);
      font-size: clamp(42px, 5.4vw, 68px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0;
      position: relative;
      z-index: 1
  }

  .cta-copy {
      color: rgba(6, 16, 6, .64);
      font-size: 15px;
      line-height: 1.8;
      max-width: 650px;
      margin-top: 17px;
      position: relative;
      z-index: 1
  }

  .btn-black,
  .btn-white {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      border-radius: 15px;
      padding: 14px 18px;
      font-size: 12px;
      font-weight: 800;
      transition: .25s
  }

  .btn-black {
      background: var(--black);
      color: #fff
  }

  .btn-white {
      border: 1px solid rgba(6, 16, 6, .22);
      color: #061006
  }

  .btn-black:hover,
  .btn-white:hover {
      transform: translateY(-3px);
      color: inherit
  }

  .btn-black:hover {
      color: #fff
  }

  .btn-white:hover {
      background: #fff
  }

  /* ================= SHARED FOOTER ================= */
  .contact-strip {
      background: var(--black2);
      color: #fff;
      padding: 70px 0
  }

  .contact-item {
      height: 100%;
      border: 1px solid rgba(255, 255, 255, .08);
      background: rgba(255, 255, 255, .045);
      border-radius: 20px;
      padding: 20px
  }

  .contact-item i {
      color: var(--gold);
      font-size: 20px
  }

  .contact-item strong {
      display: block;
      font-size: 13px;
      margin-top: 12px
  }

  .contact-item span {
      display: block;
      font-size: 10px;
      line-height: 1.7;
      color: rgba(255, 255, 255, .47);
      margin-top: 5px
  }

  .footer {
      background: #070806;
      color: rgba(255, 255, 255, .44);
      font-size: 10px;
      padding: 26px 0
  }

  .footer-line {
      border-color: rgba(255, 255, 255, .08) !important
  }

  .footer strong {
      color: var(--gold)
  }

  .floating {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 1200;
      display: flex;
      flex-direction: column;
      gap: 8px
  }

  .float-btn {
      width: 50px;
      height: 50px;
      border-radius: 17px;
      display: grid;
      place-items: center;
      border: 2px solid rgba(255, 255, 255, .78);
      box-shadow: 0 15px 40px rgba(0, 0, 0, .25);
      font-size: 18px
  }

  .float-call {
      background: var(--green);
      color: #071007
  }

  .float-map {
      background: var(--gold);
      color: #111
  }

  .hero-reveal,
  .reveal {
      opacity: 0;
      transform: translateY(35px)
  }

  @media(max-width:991.98px) {
      .navbar-wrap {
          top: 10px
      }

      .hero-content {
          padding-top: 165px
      }

      .booking-info {
          padding: 42px 30px
      }

      .form-side {
          padding: 42px 30px
      }
  }

  @media(max-width:767.98px) {
      .topbar {
          display: none
      }

      .hero {
          min-height: 720px
      }

      .hero-title {
          font-size: 53px
      }

      .hero-copy {
          font-size: 14px
      }

      .booking-section {
          padding: 78px 0
      }

      .quick-strip {
          padding-bottom: 78px
      }

      .cta {
          padding: 70px 0
      }
  }

  @media(max-width:575.98px) {
      .container {
          --bs-gutter-x: 1.25rem
      }

      .hero-title {
          font-size: 47px
      }

      .hero-content {
          padding-top: 145px
      }

      .booking-card {
          border-radius: 24px
      }

      .booking-info,
      .form-side {
          padding: 30px 22px
      }

      .form-title {
          font-size: 36px
      }
  }

  /* services */


  a {
      text-decoration: none
  }

  img {
      display: block;
      max-width: 100%
  }

  section {
      scroll-margin-top: 100px
  }

  /* SHARED HEADER */
  .topbar {
      background: var(--black);
      color: #fff;
      padding: 8px 15px;
      font-size: 10px;
      letter-spacing: .15em;
      text-transform: uppercase
  }

  .topbar .gold {
      color: var(--gold)
  }

  .navbar-wrap {
      position: fixed;
      left: 0;
      right: 0;
      top: 28px;
      z-index: 1000;
      padding: 0 12px;
      transition: .3s
  }

  .navbar-box {
      max-width: 1240px;
      margin: auto;
      background: rgba(13, 14, 11, .72);
      backdrop-filter: blur(18px);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 22px;
      padding: 9px 12px;
      box-shadow: 0 18px 55px rgba(0, 0, 0, .16);
      transition: .3s
  }

  .navbar-wrap.scrolled .navbar-box {
      background: rgba(13, 14, 11, .94);
      box-shadow: 0 15px 45px rgba(0, 0, 0, .25)
  }

  .brand-logo {
      width: 30%;
      object-fit: contain
  }

  .brand-fallback {
      font-weight: 800;
      color: #fff;
      font-size: 15px;
      line-height: 1
  }

  .brand-fallback small {
      display: block;
      color: var(--gold);
      font-size: 8px;
      letter-spacing: .24em;
      margin-top: 5px
  }

  .nav-link {
      color: rgba(255, 255, 255, .82) !important;
      font-size: 13px;
      font-weight: 700;
      margin: 0 8px;
      position: relative
  }

  .nav-link:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -7px;
      width: 0;
      height: 2px;
      background: var(--gold);
      transition: .25s
  }

  .nav-link:hover:after,
  .nav-link.active:after {
      width: 100%
  }

  .nav-cta {
      background: var(--gold);
      color: #111;
      padding: 12px 16px;
      border-radius: 14px;
      font-size: 12px;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: .25s
  }

  .nav-cta:hover {
      transform: translateY(-2px);
      color: #111
  }

  /* HERO */
  .hero {
      min-height: 700px;
      position: relative;
      display: flex;
      align-items: end;
      color: #fff;
      background: #111;
      overflow: hidden
  }

  .hero-bg {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0, 0, 0, .86), rgba(0, 0, 0, .54) 50%, rgba(0, 0, 0, .17)), url('https://images.unsplash.com/photo-1617104678098-de229db51175?auto=format&fit=crop&w=2200&q=90') center/cover no-repeat;
      transform: scale(1.05)
  }

  .hero-bg:after {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 75% 25%, rgba(252, 192, 2, .14), transparent 26%), radial-gradient(circle at 15% 80%, rgba(19, 211, 3, .1), transparent 30%)
  }

  .hero-content {
      position: relative;
      z-index: 2;
      padding: 175px 0 85px
  }

  .eyebrow {
      display: flex;
      align-items: center;
      gap: 9px;
      color: var(--red);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
      margin-bottom: 18px
  }

  .eyebrow-line {
      height: 2px;
      width: 38px;
      background: currentColor
  }

  .hero .eyebrow {
      color: var(--gold)
  }

  .hero-title {
      font-family: var(--display);
      font-size: clamp(57px, 7.7vw, 104px);
      line-height: .9;
      letter-spacing: -.055em;
      margin: 0;
      font-weight: 700
  }

  .hero-title .red {
      color: var(--red)
  }

  .hero-title .gold {
      color: var(--gold)
  }

  .hero-copy {
      max-width: 690px;
      color: rgba(255, 255, 255, .68);
      font-size: 16px;
      line-height: 1.85;
      margin-top: 25px
  }

  .crumb {
      margin-top: 28px;
      font-size: 10px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .42)
  }

  .crumb b {
      color: var(--gold)
  }

  .ticker {
      background: var(--red);
      color: #fff;
      overflow: hidden;
      white-space: nowrap
  }

  .ticker-track {
      display: flex;
      width: max-content;
      animation: ticker 30s linear infinite
  }

  .ticker-item {
      display: flex;
      align-items: center;
      gap: 27px;
      padding: 16px 28px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .17em;
      text-transform: uppercase
  }

  .ticker-item b {
      color: var(--gold);
      font-size: 18px
  }

  @keyframes ticker {
      to {
          transform: translateX(-50%)
      }
  }

  /* GENERAL */
  .section {
      padding: 110px 0
  }

  .section-title {
      font-family: var(--display);
      font-size: clamp(43px, 5.5vw, 73px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0
  }

  .section-desc {
      max-width: 650px;
      color: rgba(13, 14, 11, .61);
      font-size: 15px;
      line-height: 1.9;
      margin-top: 20px
  }

  .dark {
      background: var(--black);
      color: #fff
  }

  .dark .eyebrow {
      color: var(--gold)
  }

  .dark .section-title {
      color: #fff
  }

  .dark .section-desc {
      color: rgba(255, 255, 255, .56)
  }

  .intro-pill {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 8px 12px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 999px;
      font-size: 10px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .13em;
      color: var(--muted)
  }

  .intro-pill i {
      width: 7px;
      height: 7px;
      background: var(--green);
      border-radius: 50%
  }

  .service-card:hover {
      transform: translateY(-9px);
      border-color: rgba(255, 255, 255, .19);
      box-shadow: 0 30px 80px rgba(0, 0, 0, .26)
  }

  .service-glow {
      position: absolute;
      width: 190px;
      height: 190px;
      border-radius: 50%;
      right: -78px;
      top: -78px;
      filter: blur(3px);
      opacity: .11
  }

  .service-icon {
      width: 54px;
      height: 54px;
      border-radius: 17px;
      display: grid;
      place-items: center;
      background: rgba(255, 255, 255, .07);
      border: 1px solid rgba(255, 255, 255, .1);
      font-size: 21px;
      position: relative;
      z-index: 1
  }

  .service-number {
      font-size: 10px;
      letter-spacing: .17em;
      color: rgba(255, 255, 255, .38);
      margin-top: 35px
  }

  .service-card h3 {
      font-size: 25px;
      letter-spacing: -.03em;
      margin: 7px 0 10px;
      position: relative
  }

  .service-card p {
      color: rgba(255, 255, 255, .53);
      font-size: 12px;
      line-height: 1.8;
      margin: 0;
      position: relative
  }

  .service-bottom {
      position: absolute;
      left: 27px;
      right: 27px;
      bottom: 22px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: rgba(255, 255, 255, .29);
      font-size: 9px;
      letter-spacing: .12em
  }

  .service-bottom i {
      font-size: 18px
  }

  /* FEATURE SECTIONS */
  .feature-block {
      padding: 0 0 110px
  }

  .feature-image {
      height: 560px;
      border-radius: 31px;
      overflow: hidden;
      position: relative
  }

  .feature-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .8s
  }

  .feature-image:hover img {
      transform: scale(1.045)
  }

  .feature-number {
      position: absolute;
      left: 20px;
      top: 20px;
      height: 45px;
      width: 45px;
      border-radius: 15px;
      background: rgba(13, 14, 11, .78);
      backdrop-filter: blur(13px);
      display: grid;
      place-items: center;
      color: var(--gold);
      font-weight: 900;
      font-size: 12px
  }

  .feature-tag {
      position: absolute;
      left: 20px;
      bottom: 20px;
      background: rgba(13, 14, 11, .78);
      backdrop-filter: blur(13px);
      color: #fff;
      padding: 11px 13px;
      border-radius: 14px;
      font-size: 10px;
      font-weight: 800
  }

  .feature-copy {
      font-size: 16px;
      line-height: 1.9;
      color: rgba(13, 14, 11, .68)
  }

  .feature-copy p {
      margin: 0 0 20px
  }

  .check-list {
      margin-top: 28px
  }

  .check-row {
      display: flex;
      gap: 12px;
      border-top: 1px solid var(--line);
      padding: 15px 0
  }

  .check-row:first-child {
      border-top: 0
  }

  .check-icon {
      width: 28px;
      height: 28px;
      display: grid;
      place-items: center;
      border-radius: 9px;
      background: var(--green);
      color: #061006;
      flex: 0 0 auto;
      font-size: 13px
  }

  .check-row strong {
      font-size: 13px
  }

  .check-row span {
      display: block;
      font-size: 11px;
      color: var(--muted);
      line-height: 1.6;
      margin-top: 3px
  }

  .feature-block.reverse {
      background: #fff;
      padding-top: 110px
  }

  .feature-block.reverse .feature-image {
      order: 2
  }

  .feature-block.reverse .feature-copy-wrap {
      order: 1
  }

  /* DARK PROCESS */
  .process-box {
      background: var(--black2);
      border: 1px solid rgba(255, 255, 255, .09);
      border-radius: 31px;
      padding: 55px
  }

  .process-step {
      height: 100%;
      padding: 25px;
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 22px;
      background: rgba(255, 255, 255, .035);
      transition: .3s
  }

  .process-step:hover {
      transform: translateY(-5px);
      border-color: rgba(255, 255, 255, .16)
  }

  .process-icon {
      width: 45px;
      height: 45px;
      border-radius: 14px;
      background: var(--gold);
      color: #111;
      display: grid;
      place-items: center;
      font-weight: 900
  }

  .process-step h4 {
      font-size: 17px;
      margin: 19px 0 7px
  }

  .process-step p {
      font-size: 11px;
      color: rgba(255, 255, 255, .47);
      line-height: 1.7;
      margin: 0
  }

  /* CTA */
  .cta {
      background: var(--green);
      padding: 85px 0;
      position: relative;
      overflow: hidden
  }

  .cta:after {
      content: "";
      position: absolute;
      width: 600px;
      height: 600px;
      border: 80px solid rgba(255, 255, 255, .07);
      border-radius: 50%;
      right: -260px;
      top: -350px
  }

  .cta-title {
      font-family: var(--display);
      font-size: clamp(43px, 5.5vw, 70px);
      line-height: .98;
      letter-spacing: -.05em;
      margin: 0;
      position: relative;
      z-index: 1
  }

  .cta-copy {
      color: rgba(6, 16, 6, .65);
      font-size: 15px;
      line-height: 1.8;
      max-width: 650px;
      margin-top: 18px;
      position: relative;
      z-index: 1
  }

  .btn-black,
  .btn-white {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      border-radius: 15px;
      padding: 14px 18px;
      font-size: 12px;
      font-weight: 800;
      transition: .25s
  }

  .btn-black {
      background: var(--black);
      color: #fff
  }

  .btn-white {
      border: 1px solid rgba(6, 16, 6, .22);
      color: #061006
  }

  .btn-black:hover,
  .btn-white:hover {
      transform: translateY(-3px);
      color: inherit
  }

  .btn-black:hover {
      color: #fff;
      background: #11120e
  }

  .btn-white:hover {
      background: #fff
  }

  /* SHARED CONTACT + FOOTER */
  .contact-strip {
      background: var(--black2);
      color: #fff;
      padding: 70px 0
  }

  .contact-item {
      height: 100%;
      border: 1px solid rgba(255, 255, 255, .08);
      background: rgba(255, 255, 255, .045);
      border-radius: 20px;
      padding: 20px
  }

  .contact-item i {
      color: var(--gold);
      font-size: 20px
  }

  .contact-item strong {
      display: block;
      font-size: 13px;
      margin-top: 12px
  }

  .contact-item span {
      display: block;
      font-size: 10px;
      line-height: 1.7;
      color: rgba(255, 255, 255, .47);
      margin-top: 5px
  }

  .footer {
      background: #070806;
      color: rgba(255, 255, 255, .44);
      font-size: 10px;
      padding: 26px 0
  }

  .footer-line {
      border-color: rgba(255, 255, 255, .08) !important
  }

  .footer strong {
      color: var(--gold)
  }

  .floating {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 1200;
      display: flex;
      flex-direction: column;
      gap: 8px
  }

  .float-btn {
      width: 50px;
      height: 50px;
      border-radius: 17px;
      display: grid;
      place-items: center;
      border: 2px solid rgba(255, 255, 255, .78);
      box-shadow: 0 15px 40px rgba(0, 0, 0, .25);
      font-size: 18px
  }

  .float-call {
      background: var(--green);
      color: #071007
  }

  .float-map {
      background: var(--gold);
      color: #111
  }

  .hero-reveal,
  .reveal {
      opacity: 0;
      transform: translateY(35px)
  }

  @media(max-width:991.98px) {
      .navbar-wrap {
          top: 10px
      }

      .hero {
          min-height: 760px
      }

      .hero-content {
          padding-top: 165px
      }

      .feature-block.reverse .feature-image,
      .feature-block.reverse .feature-copy-wrap {
          order: initial
      }

      .process-box {
          padding: 32px
      }

      .feature-image {
          height: 470px
      }
  }

  @media(max-width:767.98px) {
      .topbar {
          display: none
      }

      .hero-title {
          font-size: 53px
      }

      .hero-copy {
          font-size: 14px
      }

      .section {
          padding: 78px 0
      }

      .feature-block {
          padding-bottom: 78px
      }

      .feature-block.reverse {
          padding-top: 78px
      }

      .feature-image {
          height: 400px
      }

      .service-card {
          min-height: 330px
      }
  }

  @media(max-width:575.98px) {
      .container {
          --bs-gutter-x: 1.25rem
      }

      .hero-title {
          font-size: 47px
      }

      .hero-content {
          padding-top: 145px
      }

      .process-box {
          padding: 23px
      }

      .cta {
          padding: 70px 0
      }
  }