
    /* ══════════════════════════════════════════════
       BIRLA THEARIKA — Art Deco Heritage-Modern
       Deep Navy · Warm Sand · Rose Gold
    ══════════════════════════════════════════════ */
    :root {
      --navy: #0d1b2e;
      --navy2: #162540;
      --navy3: #1f3255;
      --sand: #f5ede0;
      --sand2: #ede2d0;
      --sand3: #d4c5ae;
      --rose: #c4956a;
      --rose-l: #dbb48a;
      --rose-d: #a3764e;
      --cream: #faf7f2;
      --white: #ffffff;
      --charcoal: #1a1a1a;
      --gray: #6a6a6a;
      --border: rgba(196, 149, 106, 0.18);
      --shadow: 0 8px 48px rgba(13, 27, 46, 0.12);
    }

    *,
    *::before,
    *::after {
      margin: 0;
      padding: 0;
      /* box-sizing: border-box; */
    }

    html {
      scroll-behavior: smooth;
      font-size: 16px;
    }

    body {
      background: var(--cream);
      color: var(--charcoal);
      font-family: 'Jost', sans-serif;
      font-weight: 300;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    img {
      max-width: 100%;
      display: block;
    }

    a {
      text-decoration: none;
      color: inherit;
    }

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

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

    ::-webkit-scrollbar-thumb {
      background: var(--rose);
    }

    /* ══ ART DECO PATTERN overlay ══ */
    .deco-pattern {
      background-image: repeating-linear-gradient(45deg,
          transparent,
          transparent 24px,
          rgba(196, 149, 106, 0.04) 24px,
          rgba(196, 149, 106, 0.04) 25px);
    }

    /* ══ TOPBAR ══ */
    .topbar {
      background: var(--navy);
      color: var(--sand);
      padding: 9px 60px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.72rem;
      letter-spacing: 0.5px;
      border-bottom: 1px solid rgba(196, 149, 106, 0.15);
    }

    .topbar-left {
      display: flex;
      align-items: center;
      gap: 28px;
      opacity: .65;
    }

    .topbar-left span {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .topbar-right {
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .topbar-right a {
      display: flex;
      align-items: center;
      gap: 7px;
      color: var(--rose-l);
      font-weight: 500;
      transition: color .3s;
    }

    .topbar-right a:hover {
      color: var(--sand);
    }

    .rera-badge {
      font-size: 0.6rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      border: 1px solid rgba(196, 149, 106, 0.4);
      padding: 3px 10px;
      color: var(--rose-l);
    }

    /* ══ NAV ══ */
    nav {
      background: var(--white);
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 60px;
      height: 76px;
      position: sticky;
      top: 0;
      z-index: 1000;
      transition: box-shadow .3s;
    }

    nav.scrolled {
      box-shadow: 0 4px 32px rgba(13, 27, 46, 0.10);
    }

    .nav-logo {
      display: flex;
      align-items: center;
      gap: 14px;
      text-decoration: none;
    }

    .logo-emblem {
      width: 46px;
      height: 46px;
      background: var(--navy);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }

    .logo-emblem::before {
      content: '';
      position: absolute;
      inset: 4px;
      border: 1px solid rgba(196, 149, 106, 0.4);
    }

    .logo-emblem span {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.1rem;
      font-weight: 600;
      color: var(--rose-l);
      line-height: 1;
      position: relative;
      z-index: 1;
    }

    .logo-text {
      line-height: 1.1;
    }

    .logo-text .t1 {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.1rem;
      font-weight: 500;
      color: var(--navy);
      letter-spacing: 1.5px;
      text-transform: uppercase;
    }

    .logo-text .t2 {
      font-size: 0.6rem;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--rose);
      font-weight: 400;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 34px;
    }

    .nav-links a {
      font-size: 0.75rem;
      font-weight: 400;
      letter-spacing: 0.5px;
      color: var(--charcoal);
      opacity: .7;
      position: relative;
      padding-bottom: 3px;
      transition: opacity .3s, color .3s;
    }

    .nav-links a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0;
      height: 1px;
      background: var(--rose);
      transition: width .35s;
    }

    .nav-links a:hover {
      opacity: 1;
      color: var(--navy);
    }

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

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .nav-call {
      display: flex;
      align-items: center;
      gap: 7px;
      font-size: 0.75rem;
      font-weight: 500;
      color: var(--navy);
      border: 1.5px solid var(--navy);
      padding: 9px 18px;
      transition: all .3s;
      letter-spacing: .3px;
    }

    .nav-call:hover {
      background: var(--navy);
      color: var(--white);
    }

    .nav-enquire {
      background: var(--rose);
      color: var(--white);
      font-size: 0.73rem;
      font-weight: 600;
      letter-spacing: .5px;
      padding: 11px 24px;
      border: none;
      cursor: pointer;
      transition: background .3s;
    }

    .nav-enquire:hover {
      background: var(--rose-d);
    }

    /* Hamburger */
    .ham {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      padding: 4px;
    }

    .ham span {
      display: block;
      width: 22px;
      height: 1.5px;
      background: var(--navy);
      transition: all .3s;
    }

    .mob-menu {
      display: none;
      position: fixed;
      inset: 0;
      background: var(--navy);
      z-index: 2000;
      padding: 70px 28px 40px;
      flex-direction: column;
      overflow-y: auto;
    }

    .mob-menu.open {
      display: flex;
    }

    .mob-close {
      position: absolute;
      top: 20px;
      right: 24px;
      background: none;
      border: none;
      color: var(--sand);
      font-size: 1.4rem;
      cursor: pointer;
    }

    .mob-menu a {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.3rem;
      color: var(--sand);
      padding: 16px 0;
      border-bottom: 1px solid rgba(196, 149, 106, 0.15);
      letter-spacing: .5px;
    }

    .mob-cta-block {
      margin-top: 32px;
      padding: 24px;
      border: 1px solid rgba(196, 149, 106, 0.25);
    }

    .mob-cta-block p {
      font-size: .65rem;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: var(--rose-l);
      margin-bottom: 16px;
    }

    .mob-cta-block a {
      font-family: 'Jost', sans-serif;
      font-size: .9rem;
      color: var(--sand);
      border: none;
      padding: 8px 0;
      display: block;
    }

    .mob-cta-block a+a {
      margin-top: 8px;
    }

    /* ══ HERO ══ */
    .hero {
      position: relative;
      min-height: 96vh;
      display: flex;
      align-items: center;
      overflow: hidden;
    }

    .hero-bg {
      position: absolute;
      inset: 0;
      background: url('assets/Birla-arika-main.webp') center/cover no-repeat;
      animation: hzoom 20s ease-in-out infinite alternate;
    }

    @keyframes hzoom {
      from {
        transform: scale(1)
      }

      to {
        transform: scale(1.07)
      }
    }

    .hero-bg-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg,
          rgba(13, 27, 46, 0.92) 0%,
          rgba(13, 27, 46, 0.70) 55%,
          rgba(13, 27, 46, 0.30) 100%);
    }

    /* Art deco corner ornaments */
    .deco-corner {
      position: absolute;
      width: 120px;
      height: 120px;
      pointer-events: none;
    }

    .deco-corner.tl {
      top: 24px;
      left: 24px;
      border-top: 1px solid rgba(196, 149, 106, 0.3);
      border-left: 1px solid rgba(196, 149, 106, 0.3);
    }

    .deco-corner.tr {
      top: 24px;
      right: 24px;
      border-top: 1px solid rgba(196, 149, 106, 0.3);
      border-right: 1px solid rgba(196, 149, 106, 0.3);
    }

    .deco-corner.bl {
      bottom: 24px;
      left: 24px;
      border-bottom: 1px solid rgba(196, 149, 106, 0.3);
      border-left: 1px solid rgba(196, 149, 106, 0.3);
    }

    .deco-corner.br {
      bottom: 24px;
      right: 24px;
      border-bottom: 1px solid rgba(196, 149, 106, 0.3);
      border-right: 1px solid rgba(196, 149, 106, 0.3);
    }

    .hero-content {
      position: relative;
      z-index: 1;
      padding: 0 60px;
      max-width: 780px;
    }

    .hero-tag {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-size: .62rem;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: var(--rose-l);
      margin-bottom: 28px;
    }

    .hero-tag-line {
      width: 32px;
      height: 1px;
      background: var(--rose-l);
    }

    .hero-tag-dot {
      width: 5px;
      height: 5px;
      background: var(--rose-l);
      border-radius: 50%;
    }

    .hero h1 {
      font-family: 'Bodoni Moda', serif;
      font-size: clamp(3rem, 6vw, 5.6rem);
      font-weight: 500;
      line-height: 1.04;
      color: var(--sand);
      margin-bottom: 30px;
    }

    .hero h1 em {
      font-style: italic;
      color: var(--rose-l);
    }

    .hero-sub {
      font-size: .92rem;
      line-height: 1.85;
      color: rgba(245, 237, 224, 0.65);
      max-width: 480px;
      margin-bottom: 48px;
    }

    .hero-btns {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items: center;
    }

    .btn-rose {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: var(--rose);
      color: var(--white);
      padding: 16px 36px;
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .8px;
      transition: background .3s, transform .3s;
      border: none;
      cursor: pointer;
    }

    .btn-rose:hover {
      background: var(--rose-d);
      transform: translateY(-2px);
    }

    .btn-ghost-sand {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      border: 1.5px solid rgba(245, 237, 224, 0.35);
      color: var(--sand);
      padding: 15px 28px;
      font-size: .75rem;
      font-weight: 300;
      transition: border-color .3s, background .3s;
    }

    .btn-ghost-sand:hover {
      border-color: var(--sand);
      background: rgba(245, 237, 224, .07);
    }

    /* hero right stats panel */
    .hero-panel {
      position: absolute;
      right: 60px;
      bottom: 60px;
      display: flex;
      flex-direction: column;
      gap: 0;
      border: 1px solid rgba(196, 149, 106, 0.25);
      background: rgba(13, 27, 46, 0.7);
      backdrop-filter: blur(8px);
    }

    .hero-panel-item {
      padding: 20px 28px;
      border-bottom: 1px solid rgba(196, 149, 106, 0.15);
      text-align: center;
    }

    .hero-panel-item:last-child {
      border-bottom: none;
    }

    .panel-num {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.9rem;
      font-weight: 500;
      color: var(--rose-l);
      line-height: 1;
    }

    .panel-label {
      font-size: .58rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: rgba(245, 237, 224, .5);
      margin-top: 5px;
    }

    /* scroll hint */
    .scroll-hint {
      position: absolute;
      bottom: 32px;
      left: 60px;
      display: flex;
      align-items: center;
      gap: 10px;
      color: rgba(245, 237, 224, .4);
      font-size: .6rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      z-index: 1;
    }

    .scroll-line {
      width: 32px;
      height: 1px;
      background: rgba(245, 237, 224, .3);
    }

    /* ══ DIVIDER ORNAMENT ══ */
    .ornament-divider {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 18px;
      padding: 36px 60px;
      background: var(--navy);
      overflow: hidden;
    }

    .orn-line {
      flex: 1;
      height: 1px;
      background: linear-gradient(to right, transparent, rgba(196, 149, 106, 0.35), transparent);
    }

    .orn-center {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--rose-l);
      font-size: .6rem;
      letter-spacing: 3px;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .orn-diamond {
      width: 8px;
      height: 8px;
      background: var(--rose);
      transform: rotate(45deg);
    }

    /* ══ SECTION ══ */
    .sec {
      padding: 96px 60px;
    }

    .sec.bg-cream {
      background: var(--cream);
    }

    .sec.bg-white {
      background: var(--white);
    }

    .sec.bg-navy {
      background: var(--navy);
      color: var(--sand);
    }

    .sec.bg-sand {
      background: var(--sand);
    }

    .sec-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: .58rem;
      letter-spacing: 3.5px;
      text-transform: uppercase;
      color: var(--rose);
      font-weight: 500;
      margin-bottom: 14px;
    }

    .sec-eyebrow::before {
      content: '◈';
      font-size: .6rem;
    }

    .sec-title {
      font-family: 'Bodoni Moda', serif;
      font-size: clamp(1.9rem, 3.5vw, 3.2rem);
      font-weight: 500;
      line-height: 1.12;
      color: var(--navy);
    }

    .sec-title em {
      font-style: italic;
      color: var(--rose);
    }

    .sec.bg-navy .sec-title {
      color: var(--sand);
    }

    .sec.bg-navy .sec-eyebrow {
      color: var(--rose-l);
    }

    .sec-desc {
      font-size: .88rem;
      line-height: 1.85;
      color: var(--gray);
      max-width: 520px;
      margin-top: 14px;
    }

    .sec.bg-navy .sec-desc {
      color: rgba(245, 237, 224, .55);
    }

    .sec-hdr {
      margin-bottom: 60px;
    }

    .sec-hdr-row {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 56px;
      flex-wrap: wrap;
    }

    /* ══ UNITS / CONFIGS ══ */
    .configs-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2px;
    }

    .config-card {
      background: var(--white);
      padding: 40px 32px;
      border: 1px solid var(--border);
      text-align: center;
      cursor: pointer;
      position: relative;
      overflow: hidden;
      transition: transform .35s, box-shadow .35s;
    }

    .config-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(to right, var(--rose-d), var(--rose-l));
      transform: scaleX(0);
      transition: transform .4s;
    }

    .config-card:hover::before {
      transform: scaleX(1);
    }

    .config-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 60px rgba(13, 27, 46, .10);
    }

    .config-card.highlight {
      border-color: var(--rose);
    }

    .config-card.highlight::before {
      transform: scaleX(1);
    }

    .config-badge {
      position: absolute;
      top: 14px;
      right: 14px;
      background: var(--rose);
      color: var(--white);
      font-size: .52rem;
      font-weight: 600;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      padding: 3px 9px;
    }

    .config-icon {
      font-size: 2rem;
      margin-bottom: 18px;
      opacity: .8;
    }

    .config-type {
      font-size: .6rem;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: var(--rose);
      font-weight: 500;
      margin-bottom: 8px;
    }

    .config-bhk {
      font-family: 'Bodoni Moda', serif;
      font-size: 2rem;
      font-weight: 500;
      color: var(--navy);
      line-height: 1;
      margin-bottom: 6px;
    }

    .config-size {
      font-size: .78rem;
      color: var(--gray);
      margin-bottom: 20px;
    }

    .config-price {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.3rem;
      color: var(--rose);
    }

    .config-price small {
      font-family: 'Jost', sans-serif;
      font-size: .62rem;
      color: var(--gray);
      display: block;
      margin-top: 2px;
    }

    .config-cta {
      margin-top: 18px;
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: 1px;
      color: var(--navy);
      border-bottom: 1px solid var(--border);
      padding-bottom: 2px;
      display: inline-block;
      transition: color .3s, border-color .3s;
    }

    .config-card:hover .config-cta {
      color: var(--rose);
      border-color: var(--rose);
    }

    /* ══ AMENITIES ══ */
    .amenities-wrap {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
    }

    .amenities-img {
      position: relative;
      overflow: hidden;
      min-height: 600px;
    }

    .amenities-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .8s;
    }

    .amenities-wrap:hover .amenities-img img {
      transform: scale(1.03);
    }

    .amenities-img-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, transparent 60%, var(--navy) 100%);
    }

    .amenities-content {
      background: var(--navy);
      padding: 80px 64px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .amenities-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin: 36px 0;
    }

    .am-item {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      padding: 16px;
      border: 1px solid rgba(196, 149, 106, 0.12);
      transition: border-color .3s, background .3s;
    }

    .am-item:hover {
      border-color: rgba(196, 149, 106, 0.35);
      background: rgba(196, 149, 106, .04);
    }

    .am-icon {
      width: 38px;
      height: 38px;
      background: rgba(196, 149, 106, 0.12);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1rem;
      flex-shrink: 0;
      border: 1px solid rgba(196, 149, 106, 0.2);
    }

    .am-name {
      font-size: .8rem;
      color: rgba(245, 237, 224, .85);
      font-weight: 400;
      margin-bottom: 2px;
    }

    .am-desc {
      font-size: .66rem;
      color: rgba(245, 237, 224, .4);
    }

    /* ══ GALLERY ══ */
    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: 240px 240px;
      gap: 6px;
    }

    .gallery-item {
      position: relative;
      overflow: hidden;
      cursor: pointer;
    }

    .gallery-item.tall {
      grid-row: span 2;
    }

    .gallery-item.wide {
      grid-column: span 2;
    }

    .gallery-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .6s, filter .5s;
      filter: saturate(.85);
    }

    .gallery-item:hover img {
      transform: scale(1.06);
      filter: saturate(1);
    }

    .gallery-item-overlay {
      position: absolute;
      inset: 0;
      background: rgba(13, 27, 46, 0);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background .4s;
    }

    .gallery-item:hover .gallery-item-overlay {
      background: rgba(13, 27, 46, .3);
    }

    .gallery-zoom {
      width: 44px;
      height: 44px;
      background: var(--rose);
      color: var(--white);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      opacity: 0;
      transform: scale(.7);
      transition: opacity .35s, transform .35s;
    }

    .gallery-item:hover .gallery-zoom {
      opacity: 1;
      transform: scale(1);
    }

    /* ══ LOCATION ══ */
    .location-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }

    .location-map {
      position: relative;
      background: var(--navy2);
      border: 1px solid var(--border);
      height: 420px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    .location-map img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: .7;
    }

    .location-map-overlay {
      position: absolute;
      inset: 0;
      background: rgba(13, 27, 46, .45);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .map-pin {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      color: var(--sand);
    }

    .map-pin-dot {
      width: 20px;
      height: 20px;
      background: var(--rose);
      border-radius: 50%;
      border: 3px solid var(--sand);
      box-shadow: 0 0 0 8px rgba(196, 149, 106, .2);
      animation: mapPulse 2s ease-in-out infinite;
    }

    @keyframes mapPulse {

      0%,
      100% {
        box-shadow: 0 0 0 8px rgba(196, 149, 106, .2)
      }

      50% {
        box-shadow: 0 0 0 16px rgba(196, 149, 106, .08)
      }
    }

    .map-pin-label {
      background: var(--navy);
      border: 1px solid var(--border);
      padding: 8px 18px;
      font-size: .72rem;
      letter-spacing: 1px;
      color: var(--sand);
      white-space: nowrap;
    }

    .location-milestones {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-top: 32px;
    }

    .milestone {
      display: flex;
      align-items: center;
      gap: 18px;
      padding: 16px 20px;
      background: var(--white);
      border: 1px solid var(--border);
      transition: border-color .3s;
    }

    .milestone:hover {
      border-color: var(--rose);
    }

    .milestone-dist {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.4rem;
      color: var(--rose);
      min-width: 60px;
      text-align: center;
      flex-shrink: 0;
    }

    .milestone-dist span {
      font-size: .6rem;
      font-family: 'Jost', sans-serif;
      color: var(--gray);
      display: block;
    }

    .milestone-name {
      font-size: .82rem;
      font-weight: 500;
      color: var(--navy);
    }

    .milestone-type {
      font-size: .65rem;
      color: var(--gray);
    }

    /* ══ TESTIMONIALS ══ */
    .testi-scroller {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 52px;
    }

    .testi-card {
      background: var(--white);
      border: 1px solid var(--border);
      padding: 36px;
      position: relative;
      transition: box-shadow .35s, border-color .35s;
    }

    .testi-card:hover {
      box-shadow: var(--shadow);
      border-color: var(--rose);
    }

    .testi-deco {
      font-family: 'Bodoni Moda', serif;
      font-size: 5rem;
      line-height: .55;
      color: var(--rose);
      opacity: .15;
      margin-bottom: 20px;
    }

    .testi-stars {
      color: var(--rose);
      font-size: .7rem;
      margin-bottom: 14px;
    }

    .testi-text {
      font-size: .84rem;
      line-height: 1.85;
      color: var(--gray);
      font-style: italic;
      margin-bottom: 26px;
    }

    .testi-foot {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .testi-av {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      object-fit: cover;
      border: 2px solid var(--rose);
      flex-shrink: 0;
    }

    .testi-name {
      font-size: .82rem;
      font-weight: 600;
      color: var(--navy);
      margin-bottom: 2px;
    }

    .testi-info {
      font-size: .63rem;
      color: var(--gray);
    }

    /* ══ FAQ ══ */
    .faq-wrap {
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      gap: 64px;
      align-items: start;
    }

    .faq-intro {
      position: sticky;
      top: 100px;
    }

    .faq-list {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    .fq {
      background: var(--white);
      border: 1px solid var(--border);
      cursor: pointer;
      overflow: hidden;
      transition: border-color .3s;
    }

    .fq:hover,
    .fq.open {
      border-color: var(--rose);
    }

    .fq-q {
      padding: 20px 26px;
      font-size: .86rem;
      font-weight: 500;
      color: var(--navy);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      user-select: none;
    }

    .fq-icon {
      width: 26px;
      height: 26px;
      border: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .9rem;
      color: var(--rose);
      flex-shrink: 0;
      transition: transform .35s, background .3s, border-color .3s;
    }

    .fq.open .fq-icon {
      transform: rotate(45deg);
      background: var(--rose);
      color: var(--white);
      border-color: var(--rose);
    }

    .fq-a {
      padding: 0 26px;
      font-size: .8rem;
      line-height: 1.85;
      color: var(--gray);
      max-height: 0;
      overflow: hidden;
      transition: max-height .4s ease, padding .3s;
    }

    .fq.open .fq-a {
      max-height: 220px;
      padding: 0 26px 20px;
    }

    /* ══ CONTACT FORM SECTION ══ */
    .contact-section {
      background: var(--navy);
      padding: 96px 60px;
      position: relative;
      overflow: hidden;
    }

    .contact-section::before {
      content: '';
      position: absolute;
      top: -150px;
      right: -150px;
      width: 500px;
      height: 500px;
      border-radius: 50%;
      background: rgba(196, 149, 106, 0.05);
      pointer-events: none;
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
      position: relative;
      z-index: 1;
    }

    .contact-info h2 {
      font-family: 'Bodoni Moda', serif;
      font-size: clamp(2rem, 4vw, 3.2rem);
      font-weight: 500;
      color: var(--sand);
      line-height: 1.1;
      margin-bottom: 20px;
    }

    .contact-info h2 em {
      font-style: italic;
      color: var(--rose-l);
    }

    .contact-info p {
      font-size: .88rem;
      color: rgba(245, 237, 224, .55);
      line-height: 1.85;
      margin-bottom: 36px;
    }

    .contact-detail {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 16px;
    }

    .cd-icon {
      width: 42px;
      height: 42px;
      border: 1px solid rgba(196, 149, 106, 0.25);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1rem;
      flex-shrink: 0;
    }

    .cd-label {
      font-size: .58rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--rose-l);
      margin-bottom: 3px;
    }

    .cd-val {
      font-size: .88rem;
      color: var(--sand);
      font-weight: 400;
    }

    .cd-val a {
      color: var(--sand);
      transition: color .3s;
    }

    .cd-val a:hover {
      color: var(--rose-l);
    }

    .contact-form {
      background: var(--white);
      padding: 44px;
    }

    .contact-form h3 {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.4rem;
      color: var(--navy);
      margin-bottom: 28px;
      font-weight: 500;
    }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 16px;
    }

    .form-field {
      display: flex;
      flex-direction: column;
      gap: 7px;
      margin-bottom: 16px;
    }

    .form-field label {
      font-size: .62rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--navy);
      font-weight: 500;
    }

    .form-field input,
    .form-field select,
    .form-field textarea {
      border: 1.5px solid var(--border);
      background: var(--cream);
      padding: 12px 16px;
      font-family: 'Jost', sans-serif;
      font-size: .84rem;
      color: var(--charcoal);
      outline: none;
      transition: border-color .3s;
      width: 100%;
    }

    .form-field input:focus,
    .form-field select:focus,
    .form-field textarea:focus {
      border-color: var(--rose);
    }

    .form-field textarea {
      resize: vertical;
      min-height: 90px;
    }

    .form-submit {
      width: 100%;
      background: var(--rose);
      color: var(--white);
      border: none;
      padding: 15px;
      font-family: 'Jost', sans-serif;
      font-size: .8rem;
      font-weight: 600;
      letter-spacing: 1px;
      cursor: pointer;
      transition: background .3s;
    }

    .form-submit:hover {
      background: var(--rose-d);
    }

    .form-note {
      font-size: .62rem;
      color: var(--gray);
      text-align: center;
      margin-top: 10px;
    }

    /* ══ CONTACT STRIP ══ -->*/
    .cstrip {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      background: var(--sand2);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }

    .cs-item {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 24px 36px;
      border-right: 1px solid var(--border);
      text-decoration: none;
      color: var(--charcoal);
      transition: background .3s;
    }

    .cs-item:last-child {
      border-right: none;
    }

    .cs-item:hover {
      background: rgba(196, 149, 106, .12);
    }

    .cs-ic {
      width: 44px;
      height: 44px;
      background: var(--navy);
      color: var(--sand);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      flex-shrink: 0;
    }

    .cs-lbl {
      font-size: .58rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--rose);
      font-weight: 500;
      margin-bottom: 3px;
    }

    .cs-val {
      font-size: .88rem;
      font-weight: 600;
      color: var(--navy);
    }

    /* ══ FOOTER ══ */
    footer {
      background: var(--navy);
      color: var(--sand);
      padding: 72px 60px 36px;
      position: relative;
    }

    footer::before {
      content: '';
      position: absolute;
      top: 0;
      left: 60px;
      right: 60px;
      height: 1px;
      background: linear-gradient(to right, transparent, rgba(196, 149, 106, 0.35), transparent);
    }

    .footer-top {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 52px;
      margin-bottom: 52px;
    }

    .ft-logo-block {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px;
    }

    .ft-emblem {
      width: 38px;
      height: 38px;
      background: var(--rose);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .ft-emblem span {
      font-family: 'Bodoni Moda', serif;
      font-size: .95rem;
      font-weight: 600;
      color: var(--white);
    }

    .ft-name {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.2rem;
      font-weight: 500;
      color: var(--sand);
      letter-spacing: 1px;
    }

    .ft-tagline {
      font-size: .6rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--rose-l);
      margin-top: 2px;
    }

    .ft-desc {
      font-size: .76rem;
      line-height: 1.9;
      opacity: .5;
      margin-bottom: 24px;
      max-width: 280px;
    }

    .ft-contacts a {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: .78rem;
      color: rgba(245, 237, 224, .7);
      margin-bottom: 10px;
      transition: color .3s;
    }

    .ft-contacts a:hover {
      color: var(--rose-l);
    }

    .ft-socials {
      display: flex;
      gap: 10px;
      margin-top: 20px;
    }

    .ft-soc {
      width: 36px;
      height: 36px;
      border: 1px solid rgba(196, 149, 106, .22);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .72rem;
      color: rgba(245, 237, 224, .55);
      transition: all .3s;
    }

    .ft-soc:hover {
      background: var(--rose);
      color: var(--white);
      border-color: var(--rose);
    }

    .ft-col h4 {
      font-size: .58rem;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--rose-l);
      margin-bottom: 20px;
      font-weight: 500;
    }

    .ft-col ul {
      list-style: none;
    }

    .ft-col ul li {
      margin-bottom: 11px;
    }

    .ft-col ul li a {
      font-size: .76rem;
      color: rgba(245, 237, 224, .5);
      transition: color .3s;
    }

    .ft-col ul li a:hover {
      color: var(--rose-l);
    }

    .footer-bottom {
      border-top: 1px solid rgba(196, 149, 106, .1);
      padding-top: 26px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
    }

    .footer-bottom p {
      font-size: .65rem;
      opacity: .35;
    }

    .footer-bottom a {
      color: var(--rose-l);
    }

    /* ══ MODAL ══ */
    .modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(7, 15, 26, 0.88);
      z-index: 3000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      opacity: 0;
      pointer-events: none;
      transition: opacity .35s;
    }

    .modal-overlay.open {
      opacity: 1;
      pointer-events: all;
    }

    .modal-box {
      background: var(--white);
      width: 100%;
      max-width: 820px;
      max-height: 90vh;
      overflow-y: auto;
      transform: translateY(28px) scale(.97);
      transition: transform .35s;
      position: relative;
    }

    .modal-overlay.open .modal-box {
      transform: none;
    }

    .modal-close {
      position: absolute;
      top: 14px;
      right: 14px;
      width: 38px;
      height: 38px;
      background: var(--navy);
      color: var(--sand);
      border: none;
      cursor: pointer;
      font-size: 1.1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1;
      transition: background .3s;
    }

    .modal-close:hover {
      background: var(--rose);
    }

    .modal-img {
      width: 100%;
      height: 280px;
      object-fit: cover;
      display: block;
    }

    .modal-body {
      padding: 36px 40px;
    }

    .modal-tag {
      display: inline-block;
      background: var(--navy);
      color: var(--sand);
      font-size: .55rem;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
      padding: 4px 12px;
      margin-bottom: 14px;
    }

    .modal-h {
      font-family: 'Bodoni Moda', serif;
      font-size: 2rem;
      font-weight: 500;
      color: var(--navy);
      margin-bottom: 4px;
    }

    .modal-loc {
      font-size: .74rem;
      color: var(--gray);
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .modal-specs {
      display: flex;
      gap: 20px;
      padding: 18px 0;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      margin-bottom: 22px;
    }

    .mspec {
      text-align: center;
      flex: 1;
    }

    .mspec .v {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.4rem;
      color: var(--navy);
    }

    .mspec .l {
      font-size: .53rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--gray);
    }

    .modal-desc {
      font-size: .82rem;
      line-height: 1.85;
      color: var(--gray);
      margin-bottom: 28px;
    }

    .modal-foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
    }

    .modal-price {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.8rem;
      color: var(--rose);
    }

    .modal-price small {
      font-family: 'Jost', sans-serif;
      font-size: .66rem;
      color: var(--gray);
      display: block;
      margin-top: 2px;
    }

    .modal-btns {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    /* ══ WHATSAPP ══ */
    .wa {
      position: fixed;
      bottom: 26px;
      right: 26px;
      z-index: 999;
      background: #25D366;
      color: #fff;
      width: 56px;
      height: 56px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 6px 28px rgba(37, 211, 102, .4);
      transition: transform .3s;
      animation: waPulse 3s ease-in-out infinite;
    }

    @keyframes waPulse {

      0%,
      100% {
        box-shadow: 0 6px 28px rgba(37, 211, 102, .4)
      }

      50% {
        box-shadow: 0 8px 40px rgba(37, 211, 102, .65)
      }
    }

    .wa:hover {
      transform: scale(1.1);
    }

    .wa svg {
      width: 26px;
    }

    /* ══════════════════════════════════════
       WELCOME MODAL
    ══════════════════════════════════════ */
    .wm-overlay {
      position: fixed;
      inset: 0;
      z-index: 9999;
      background: rgba(7, 15, 26, 0.78);
      backdrop-filter: blur(5px);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
      animation: wmIn .4s ease .8s both;
    }

    @keyframes wmIn {
      from {
        opacity: 0
      }

      to {
        opacity: 1
      }
    }

    .wm-box {
      background: var(--white);
      width: 100%;
      max-width: 880px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      position: relative;
      max-height: 95vh;
      overflow: hidden;
      transform: translateY(30px) scale(.97);
      animation: wmUp .45s ease .8s both;
    }

    @keyframes wmUp {
      to {
        transform: none
      }
    }

    /* left image */
    .wm-img-side {
      position: relative;
      overflow: hidden;
      min-height: 520px;
    }

    .wm-img-side img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .wm-img-side::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(170deg, rgba(13, 27, 46, .6) 0%, rgba(13, 27, 46, .2) 100%);
    }

    .wm-img-content {
      position: absolute;
      inset: 0;
      z-index: 1;
      padding: 32px 28px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .wm-brand {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .wm-brand-icon {
      width: 34px;
      height: 34px;
      background: var(--rose);
      font-family: 'Bodoni Moda', serif;
      font-size: .85rem;
      font-weight: 700;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .wm-brand-name {
      font-family: 'Bodoni Moda', serif;
      font-size: 1rem;
      color: var(--sand);
      letter-spacing: 1px;
    }

    .wm-brand-sub {
      font-size: .52rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--rose-l);
    }

    .wm-promo {
      background: rgba(13, 27, 46, .72);
      border: 1px solid rgba(196, 149, 106, .3);
      padding: 18px 20px;
    }

    .wm-promo-tag {
      font-size: .52rem;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: var(--rose-l);
      margin-bottom: 8px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .wm-promo-tag::before {
      content: '';
      width: 14px;
      height: 1px;
      background: var(--rose-l);
    }

    .wm-promo-h {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.25rem;
      font-weight: 500;
      color: var(--sand);
      line-height: 1.2;
      margin-bottom: 8px;
    }

    .wm-promo-h em {
      font-style: italic;
      color: var(--rose-l);
    }

    .wm-promo-p {
      font-size: .68rem;
      color: rgba(245, 237, 224, .6);
      line-height: 1.65;
      margin-bottom: 10px;
    }

    .wm-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

    .wm-chip {
      font-size: .56rem;
      letter-spacing: .3px;
      background: rgba(196, 149, 106, .15);
      border: 1px solid rgba(196, 149, 106, .28);
      color: var(--sand);
      padding: 3px 9px;
    }

    /* right form */
    .wm-form-side {
      padding: 36px 34px 28px;
      display: flex;
      flex-direction: column;
      overflow-y: auto;
    }

    .wm-close {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 32px;
      height: 32px;
      background: var(--navy);
      color: var(--sand);
      border: none;
      cursor: pointer;
      font-size: .95rem;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 10;
      transition: background .3s;
    }

    .wm-close:hover {
      background: var(--rose);
    }

    .wm-eyebrow {
      font-size: .55rem;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--rose);
      font-weight: 500;
      margin-bottom: 8px;
      display: flex;
      align-items: center;
      gap: 7px;
    }

    .wm-eyebrow::before {
      content: '◈';
      font-size: .52rem;
    }

    .wm-h2 {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.5rem;
      font-weight: 500;
      color: var(--navy);
      line-height: 1.15;
      margin-bottom: 5px;
    }

    .wm-h2 em {
      font-style: italic;
      color: var(--rose);
    }

    .wm-sub {
      font-size: .74rem;
      color: var(--gray);
      line-height: 1.6;
      margin-bottom: 20px;
    }

    .wm-fields {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .wm-field {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .wm-field label {
      font-size: .55rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--navy);
      font-weight: 500;
    }

    .wm-field input,
    .wm-field select {
      border: 1.5px solid rgba(196, 149, 106, .25);
      background: var(--cream);
      padding: 11px 13px;
      font-family: 'Jost', sans-serif;
      font-size: .83rem;
      color: var(--charcoal);
      outline: none;
      width: 100%;
      transition: border-color .3s;
    }

    .wm-field input:focus,
    .wm-field select:focus {
      border-color: var(--rose);
      background: var(--white);
    }

    .wm-2col {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 11px;
    }

    .wm-submit {
      background: var(--rose);
      color: #fff;
      border: none;
      padding: 13px;
      font-family: 'Jost', sans-serif;
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .7px;
      cursor: pointer;
      width: 100%;
      margin-top: 4px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: background .3s, transform .2s;
    }

    .wm-submit:hover {
      background: var(--rose-d);
      transform: translateY(-1px);
    }

    .wm-or {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 12px 0;
    }

    .wm-or-line {
      flex: 1;
      height: 1px;
      background: var(--border);
    }

    .wm-or-text {
      font-size: .6rem;
      color: var(--gray);
      white-space: nowrap;
    }

    .wm-quick {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 9px;
    }

    .wm-qbtn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 10px;
      font-size: .68rem;
      font-weight: 600;
      cursor: pointer;
      transition: all .3s;
      text-decoration: none;
      border: none;
    }

    .wm-qbtn.call {
      border: 1.5px solid var(--navy);
      color: var(--navy);
      background: none;
    }

    .wm-qbtn.call:hover {
      background: var(--navy);
      color: #fff;
    }

    .wm-qbtn.wa {
      background: #25D366;
      color: #fff;
    }

    .wm-qbtn.wa:hover {
      background: #1ea952;
    }

    .wm-note {
      font-size: .58rem;
      color: var(--gray);
      text-align: center;
      margin-top: 10px;
      opacity: .7;
    }

    /* success state */
    .wm-success {
      display: none;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 16px 0;
      gap: 12px;
    }

    .wm-success-icon {
      width: 56px;
      height: 56px;
      background: #e8f8ef;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.7rem;
    }

    .wm-success h3 {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.35rem;
      color: var(--navy);
    }

    .wm-success p {
      font-size: .8rem;
      color: var(--gray);
      line-height: 1.7;
    }

    /* ══════════════════════════════════════
       CTA SECTION with inline FORM
    ══════════════════════════════════════ */
    .cta-with-form {
      background: var(--navy);
      position: relative;
      overflow: hidden;
    }

    .cta-with-form::before {
      content: '';
      position: absolute;
      top: -120px;
      right: -120px;
      width: 420px;
      height: 420px;
      border-radius: 50%;
      background: rgba(196, 149, 106, .05);
      pointer-events: none;
    }

    .cta-with-form::after {
      content: '';
      position: absolute;
      bottom: -80px;
      left: -80px;
      width: 260px;
      height: 260px;
      border: 1px solid rgba(196, 149, 106, .07);
      border-radius: 50%;
      pointer-events: none;
    }

    .cta-inner {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 72px;
      align-items: center;
      padding: 96px 60px;
    }

    .cta-text-eyebrow {
      font-size: .56rem;
      letter-spacing: 3.5px;
      text-transform: uppercase;
      color: var(--rose-l);
      font-weight: 500;
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      gap: 9px;
    }

    .cta-text-eyebrow::before {
      content: '◈';
      font-size: .53rem;
    }

    .cta-text-h {
      font-family: 'Bodoni Moda', serif;
      font-size: clamp(1.8rem, 3vw, 2.8rem);
      font-weight: 500;
      color: var(--sand);
      line-height: 1.1;
      margin-bottom: 16px;
    }

    .cta-text-h em {
      font-style: italic;
      color: var(--rose-l);
    }

    .cta-text-p {
      font-size: .86rem;
      color: rgba(245, 237, 224, .55);
      line-height: 1.85;
      margin-bottom: 30px;
    }

    .cta-trust {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .cta-trust-item {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: .76rem;
      color: rgba(245, 237, 224, .65);
    }

    .cta-trust-icon {
      width: 32px;
      height: 32px;
      flex-shrink: 0;
      border: 1px solid rgba(196, 149, 106, .25);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .85rem;
    }

    /* CTA Form Card */
    .cta-form-card {
      background: var(--white);
      padding: 40px 36px;
      border-top: 3px solid var(--rose);
      position: relative;
    }

    .cta-form-card h3 {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.3rem;
      color: var(--navy);
      font-weight: 500;
      margin-bottom: 4px;
    }

    .cta-form-card>p {
      font-size: .74rem;
      color: var(--gray);
      margin-bottom: 22px;
    }

    .cta-fields {
      display: flex;
      flex-direction: column;
      gap: 13px;
    }

    .cta-field {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .cta-field label {
      font-size: .54rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--navy);
      font-weight: 500;
    }

    .cta-field input,
    .cta-field select {
      border: 1.5px solid rgba(196, 149, 106, .25);
      background: var(--cream);
      padding: 11px 14px;
      font-family: 'Jost', sans-serif;
      font-size: .83rem;
      color: var(--charcoal);
      outline: none;
      width: 100%;
      transition: border-color .3s;
    }

    .cta-field input:focus,
    .cta-field select:focus {
      border-color: var(--rose);
      background: var(--white);
    }

    .cta-2col {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .cta-submit {
      background: var(--rose);
      color: #fff;
      border: none;
      padding: 14px;
      font-family: 'Jost', sans-serif;
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .7px;
      cursor: pointer;
      width: 100%;
      margin-top: 4px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: background .3s;
    }

    .cta-submit:hover {
      background: var(--rose-d);
    }

    .cta-or {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 12px 0;
    }

    .cta-or-line {
      flex: 1;
      height: 1px;
      background: var(--border);
    }

    .cta-or-text {
      font-size: .6rem;
      color: var(--gray);
    }

    .cta-quick {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }

    .cta-qbtn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 11px;
      font-size: .69rem;
      font-weight: 600;
      cursor: pointer;
      transition: all .3s;
      text-decoration: none;
      border: none;
    }

    .cta-qbtn.call {
      border: 1.5px solid var(--navy);
      color: var(--navy);
      background: none;
    }

    .cta-qbtn.call:hover {
      background: var(--navy);
      color: #fff;
    }

    .cta-qbtn.wa {
      background: #25D366;
      color: #fff;
    }

    .cta-qbtn.wa:hover {
      background: #1ea952;
    }

    .cta-note {
      font-size: .59rem;
      color: var(--gray);
      text-align: center;
      margin-top: 10px;
      opacity: .7;
    }

    @media(max-width:1100px) {
      .cta-inner {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 72px 28px;
      }
    }

    @media(max-width:768px) {
      .wm-box {
        grid-template-columns: 1fr;
      }

      .wm-img-side {
        display: none;
      }

      .wm-form-side {
        padding: 46px 22px 28px;
        overflow-y: auto;
        max-height: 95vh;
      }

      .wm-2col {
        grid-template-columns: 1fr;
      }

      .wm-quick {
        grid-template-columns: 1fr;
      }

      .cta-inner {
        padding: 56px 18px;
      }

      .cta-2col {
        grid-template-columns: 1fr;
      }

      .cta-quick {
        grid-template-columns: 1fr;
      }

      .cta-form-card {
        padding: 28px 20px;
      }
    }

    /* ══ REVEAL ══ */
    .reveal {
      opacity: 0;
      transform: translateY(26px);
      transition: opacity .75s ease, transform .75s ease;
    }

    .reveal.visible {
      opacity: 1;
      transform: none;
    }

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

    .reveal-left.visible {
      opacity: 1;
      transform: none;
    }

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

    .reveal-right.visible {
      opacity: 1;
      transform: none;
    }

    /* ══════════════════════════════════
       POPUP STYLES — Welcome + CTA Form
    ══════════════════════════════════ */

    /* Shared overlay */
    .popup-overlay {
      position: fixed;
      inset: 0;
      background: rgba(7, 15, 26, 0.82);
      backdrop-filter: blur(4px);
      z-index: 9000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      opacity: 0;
      pointer-events: none;
      transition: opacity .4s ease;
    }

    .popup-overlay.open {
      opacity: 1;
      pointer-events: all;
    }

    .popup-box {
      background: var(--white);
      width: 100%;
      max-width: 540px;
      position: relative;
      transform: translateY(32px) scale(.96);
      transition: transform .45s cubic-bezier(.22, .68, 0, 1.2);
      overflow: hidden;
      max-height: 95vh;
      overflow-y: auto;
    }

    .popup-overlay.open .popup-box {
      transform: none;
    }

    .popup-close-btn {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 34px;
      height: 34px;
      background: var(--navy);
      color: var(--sand);
      border: none;
      cursor: pointer;
      font-size: 1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
      transition: background .3s;
    }

    .popup-close-btn:hover {
      background: var(--rose);
    }

    /* ── Welcome Popup ── */
    .welcome-popup .popup-hero {
      position: relative;
      height: 190px;
      overflow: hidden;
    }

    .welcome-popup .popup-hero img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .welcome-popup .popup-hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(13, 27, 46, .3) 0%, rgba(13, 27, 46, .85) 100%);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
      padding: 20px 28px;
    }

    .welcome-popup .popup-hero-tag {
      font-size: .55rem;
      letter-spacing: 3.5px;
      text-transform: uppercase;
      color: var(--rose-l);
      margin-bottom: 6px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .welcome-popup .popup-hero-tag::before,
    .welcome-popup .popup-hero-tag::after {
      content: '';
      width: 20px;
      height: 1px;
      background: var(--rose-l);
    }

    .welcome-popup .popup-hero h2 {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.7rem;
      font-weight: 500;
      color: var(--sand);
      text-align: center;
      line-height: 1.15;
    }

    .welcome-popup .popup-hero h2 em {
      font-style: italic;
      color: var(--rose-l);
    }

    .welcome-popup .popup-body {
      padding: 28px 32px 32px;
    }

    .welcome-popup .popup-offer-bar {
      background: var(--navy);
      color: var(--sand);
      text-align: center;
      padding: 10px 20px;
      font-size: .65rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin-bottom: 24px;
      border-left: 3px solid var(--rose);
    }

    .welcome-popup .popup-offer-bar span {
      color: var(--rose-l);
      font-weight: 600;
    }

    .welcome-popup .popup-form-title {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.15rem;
      color: var(--navy);
      margin-bottom: 18px;
      font-weight: 500;
      text-align: center;
    }

    .welcome-popup .wf-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-bottom: 12px;
    }

    .welcome-popup .wf-field {
      display: flex;
      flex-direction: column;
      gap: 5px;
      margin-bottom: 12px;
    }

    .welcome-popup .wf-field label {
      font-size: .58rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--navy);
      font-weight: 500;
    }

    .welcome-popup .wf-field input,
    .welcome-popup .wf-field select {
      border: 1.5px solid var(--border);
      background: var(--cream);
      padding: 11px 14px;
      font-family: 'Jost', sans-serif;
      font-size: .82rem;
      color: var(--charcoal);
      outline: none;
      transition: border-color .3s;
      width: 100%;
    }

    .welcome-popup .wf-field input:focus,
    .welcome-popup .wf-field select:focus {
      border-color: var(--rose);
    }

    .welcome-popup .wf-submit {
      width: 100%;
      background: var(--rose);
      color: var(--white);
      border: none;
      padding: 14px;
      font-family: 'Jost', sans-serif;
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: 1px;
      cursor: pointer;
      transition: background .3s;
      margin-top: 4px;
    }

    .welcome-popup .wf-submit:hover {
      background: var(--rose-d);
    }

    .welcome-popup .wf-note {
      font-size: .6rem;
      color: var(--gray);
      text-align: center;
      margin-top: 10px;
    }

    .welcome-popup .wf-skip {
      text-align: center;
      margin-top: 12px;
      font-size: .65rem;
      color: var(--gray);
      cursor: pointer;
      transition: color .3s;
    }

    .welcome-popup .wf-skip:hover {
      color: var(--navy);
    }

    .welcome-popup .wf-skip u {
      text-decoration: underline;
    }

    /* ── CTA Form Popup ── */
    .cta-popup .popup-top-bar {
      background: var(--navy);
      padding: 28px 32px 24px;
      position: relative;
    }

    .cta-popup .popup-top-bar::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 32px;
      right: 32px;
      height: 1px;
      background: linear-gradient(to right, transparent, rgba(196, 149, 106, .4), transparent);
    }

    .cta-popup .cta-tag {
      font-size: .55rem;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--rose-l);
      margin-bottom: 8px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .cta-popup .cta-tag::before {
      content: '◈';
      font-size: .55rem;
    }

    .cta-popup .popup-top-bar h2 {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.5rem;
      font-weight: 500;
      color: var(--sand);
      line-height: 1.2;
    }

    .cta-popup .popup-top-bar h2 em {
      font-style: italic;
      color: var(--rose-l);
    }

    .cta-popup .popup-top-bar p {
      font-size: .75rem;
      color: rgba(245, 237, 224, .5);
      margin-top: 6px;
    }

    .cta-popup .popup-body {
      padding: 28px 32px 32px;
    }

    .cta-popup .cta-highlights {
      display: flex;
      gap: 0;
      margin-bottom: 24px;
      border: 1px solid var(--border);
    }

    .cta-popup .cta-hl {
      flex: 1;
      text-align: center;
      padding: 12px 8px;
      border-right: 1px solid var(--border);
    }

    .cta-popup .cta-hl:last-child {
      border-right: none;
    }

    .cta-popup .cta-hl .hl-num {
      font-family: 'Bodoni Moda', serif;
      font-size: 1.2rem;
      color: var(--rose);
      line-height: 1;
    }

    .cta-popup .cta-hl .hl-lbl {
      font-size: .52rem;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--gray);
      margin-top: 3px;
    }

    .cta-popup .cf-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-bottom: 12px;
    }

    .cta-popup .cf-field {
      display: flex;
      flex-direction: column;
      gap: 5px;
      margin-bottom: 12px;
    }

    .cta-popup .cf-field label {
      font-size: .58rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--navy);
      font-weight: 500;
    }

    .cta-popup .cf-field input,
    .cta-popup .cf-field select {
      border: 1.5px solid var(--border);
      background: var(--cream);
      padding: 11px 14px;
      font-family: 'Jost', sans-serif;
      font-size: .82rem;
      color: var(--charcoal);
      outline: none;
      transition: border-color .3s;
      width: 100%;
    }

    .cta-popup .cf-field input:focus,
    .cta-popup .cf-field select:focus {
      border-color: var(--rose);
    }

    .cta-popup .cf-submit {
      width: 100%;
      background: var(--rose);
      color: var(--white);
      border: none;
      padding: 14px;
      font-family: 'Jost', sans-serif;
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: 1px;
      cursor: pointer;
      transition: background .3s;
      margin-top: 4px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }

    .cta-popup .cf-submit:hover {
      background: var(--rose-d);
    }

    .cta-popup .cf-note {
      font-size: .6rem;
      color: var(--gray);
      text-align: center;
      margin-top: 10px;
    }

    .cta-popup .cf-alt-cta {
      display: flex;
      gap: 10px;
      margin-top: 16px;
    }

    .cta-popup .cf-alt-cta a {
      flex: 1;
      text-align: center;
      padding: 11px;
      font-size: .68rem;
      font-weight: 500;
      letter-spacing: .5px;
      border: 1.5px solid var(--navy);
      color: var(--navy);
      transition: all .3s;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }

    .cta-popup .cf-alt-cta a:hover {
      background: var(--navy);
      color: var(--white);
    }

    /* ── Popup responsive ── */
    @media (max-width: 540px) {
      .popup-box {
        max-width: 100%;
      }

      .welcome-popup .wf-row,
      .cta-popup .cf-row {
        grid-template-columns: 1fr;
      }

      .welcome-popup .popup-body,
      .cta-popup .popup-body,
      .cta-popup .popup-top-bar {
        padding-left: 20px;
        padding-right: 20px;
      }

      .cta-popup .cta-highlights {
        display: none;
      }
    }

    /* ══ RESPONSIVE ══ */
    @media (max-width:1100px) {
      .topbar {
        padding: 8px 28px;
      }

      nav {
        padding: 0 28px;
      }

      .hero-content {
        padding: 0 28px;
      }

      .hero-panel {
        right: 28px;
        bottom: 28px;
      }

      .scroll-hint {
        left: 28px;
      }

      .sec {
        padding: 72px 28px;
      }

      .configs-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .amenities-wrap {
        grid-template-columns: 1fr;
      }

      .amenities-img {
        min-height: 320px;
      }

      .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
      }

      .gallery-item.tall {
        grid-row: span 1;
      }

      .gallery-item.wide {
        grid-column: span 2;
      }

      .location-grid {
        grid-template-columns: 1fr;
        gap: 36px;
      }

      .testi-scroller {
        grid-template-columns: 1fr 1fr;
      }

      .faq-wrap {
        grid-template-columns: 1fr;
        gap: 32px;
      }

      .faq-intro {
        position: static;
      }

      .contact-grid {
        grid-template-columns: 1fr;
        gap: 40px;
      }

      .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
      }

      .cstrip {
        grid-template-columns: 1fr;
      }

      .cs-item {
        border-right: none;
        border-bottom: 1px solid var(--border);
      }

      .cs-item:last-child {
        border-bottom: none;
      }
    }

    @media (max-width:768px) {
      .topbar {
        display: none;
      }

      nav {
        padding: 0 18px;
        height: 64px;
      }

      .nav-links,
      .nav-actions {
        display: none;
      }

      .ham {
        display: flex;
      }

      .hero-content {
        padding: 0 18px;
        max-width: 100%;
      }

      .hero h1 {
        font-size: 2.6rem;
      }

      .hero-panel {
        display: none;
      }

      .scroll-hint {
        display: none;
      }

      .deco-corner {
        display: none;
      }

      .sec {
        padding: 56px 18px;
      }

      .configs-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
      }

      .config-card {
        padding: 28px 18px;
      }

      .gallery-grid {
        grid-template-columns: 1fr 1fr;
      }

      .gallery-item.wide {
        grid-column: span 1;
      }

      .testi-scroller {
        grid-template-columns: 1fr;
      }

      .footer-top {
        grid-template-columns: 1fr;
        gap: 28px;
      }

      footer {
        padding: 52px 18px 28px;
      }

      .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
      }

      .ornament-divider {
        padding: 28px 18px;
      }

      .form-row {
        grid-template-columns: 1fr;
      }

      .contact-section {
        padding: 56px 18px;
      }

      .contact-form {
        padding: 28px 20px;
      }

      .modal-body {
        padding: 22px 18px;
      }

      .modal-foot {
        flex-direction: column;
        align-items: flex-start;
      }
    }
