*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    /* === PALETA GLOBAL RENT APART === */
    --primary:    #25404D;   /* azul petróleo — color principal */
    --gold:       #D9AD7E;   /* dorado arena — acento premium */
    --gold-dark:  #695C3B;   /* dorado oscuro — apoyo */
    --navy:       #0A2647;   /* navy profundo — fondos oscuros */
    --mint:       #CAE6D5;   /* verde menta — secundario */
    --cream:      #EEF1DE;   /* crema — fondo suave */
    --white:      #FFFFFF;
    /* Derivados */
    --primary-light: #2E5260;
    --gold-bg:    rgba(217,173,126,0.12);
    --mint-bg:    rgba(202,230,213,0.25);
    --text:       #1A2B33;
    --text-sec:   #4A6070;
    --text-muted: #8A9BA8;
    --border:     rgba(37,64,77,0.12);
    --border-gold: rgba(217,173,126,0.3);
    --bg:         #F8F7F2;
    --radius:     4px;   /* líneas más cuadradas, elegantes */
    --radius-sm:  3px;
    --shadow:     0 2px 20px rgba(10,38,71,0.08);
    --shadow-lg:  0 8px 48px rgba(10,38,71,0.14);
  }
  html { scroll-behavior: smooth; }
  body { font-family: 'Inter', -apple-system, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; }
  a { text-decoration: none; color: inherit; }
  .offer-bar { background:var(--gold); color:var(--navy); min-height:36px; padding:8px 18px; display:flex; align-items:center; justify-content:center; gap:12px; text-align:center; font-size:11px; font-weight:600; letter-spacing:.5px; }
  .offer-bar strong { font-weight:800; }
  .offer-bar button { background:none; border:0; border-bottom:1px solid var(--navy); color:var(--navy); cursor:pointer; font:inherit; padding:0 0 2px; text-transform:uppercase; letter-spacing:1px; }

  /* === TIPOGRAFÍA === */
  h1, h2, h3, .serif { font-family: 'Playfair Display', Georgia, serif; }

  /* === NAV === */
  nav {
    position: sticky; top: 0; z-index: 100;
    background: var(--navy);
    border-bottom: 1px solid rgba(217,173,126,0.2);
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 56px; height: 136px;
  }
  .nav-logo {
    display: flex; align-items: center;
    cursor: pointer;
    height: 100%;
    width: 212px;
    flex: 0 0 212px;
    justify-content: flex-start;
  }
  .logo-lockup { display:inline-flex; align-items:center; justify-content:center; }
  .logo-lockup-art { width:100%; height:100%; display:flex; align-items:center; justify-content:center; overflow:visible; }
  .logo-lockup img {
    width:auto; height:auto; max-width:100%; max-height:100%;
    display:block;
    opacity:1;
    filter:drop-shadow(0 4px 12px rgba(0,0,0,.16));
    transition:transform .2s ease;
  }
  .logo-lockup-tagline { display:none; }
  .nav-logo .logo-lockup { width:154px; height:124px; }
  .nav-logo .logo-lockup-art { height:124px; }
  .nav-logo:hover img { transform:translateY(-1px); }
  .nav-links { display: flex; gap: 36px; }
  .nav-links a { font-size: 13px; font-weight: 400; color: rgba(255,255,255,0.7); letter-spacing: 0.8px; text-transform: uppercase; transition: color .2s; }
  .nav-links a:hover { color: var(--gold); }
  .nav-cta {
    background: var(--gold); color: var(--navy);
    border: none; border-radius: var(--radius);
    padding: 10px 22px; font-size: 12px; font-weight: 600;
    letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: background .2s;
  }
  .nav-cta:hover { background: #c9a070; }
  .mobile-menu-btn { display:none; background:transparent; color:var(--white); border:1px solid rgba(255,255,255,.25); padding:9px 11px; font-size:20px; line-height:1; cursor:pointer; }
  .mobile-menu { display:none; position:fixed; inset:136px 0 0; z-index:99; background:rgba(10,38,71,.98); padding:28px 24px; }
  .mobile-menu.active { display:flex; flex-direction:column; gap:6px; }
  .mobile-menu a { color:var(--white); padding:16px 4px; border-bottom:1px solid rgba(255,255,255,.1); font-size:14px; letter-spacing:1px; text-transform:uppercase; }
  .mobile-menu a:last-child { margin-top:18px; border:1px solid var(--gold); color:var(--gold); text-align:center; }

  /* === HERO === */
  .hero {
    position: relative; height: 640px;
    background: var(--navy);
    display: flex; align-items: center;
    overflow: hidden;
  }
  .hero::before {
    content: ''; position: absolute; inset: 0;
    background:
      linear-gradient(90deg, rgba(4,23,42,.86) 0%, rgba(4,23,42,.61) 45%, rgba(4,23,42,.24) 100%),
      url('assets/hero-resort.webp') center/cover;
  }
  .hero::after { content: none; }
  .hero-content {
    position: relative; z-index: 2;
    width: min(1180px, 90vw); max-width: none;
    margin: 0 auto; padding: 0;
    text-align: left;
  }
  .hero-eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 10px; font-weight: 700; letter-spacing: 2.4px; text-transform: uppercase;
    color: var(--gold); margin-bottom: 22px;
  }
  .hero-eyebrow::before {
    content: ''; width: 32px; height: 1px; background: var(--gold); opacity: .7;
  }
  .hero-eyebrow::after { display:none; }
  .hero h1 {
    max-width: 720px;
    font-size: 62px; font-weight: 700; color: var(--white);
    line-height: 1.02; margin-bottom: 24px; letter-spacing: -1.2px;
  }
  .hero h1 em { font-style: italic; color: var(--gold); font-weight: 600; }
  .hero p {
    max-width: 660px;
    font-size: 16px; color: rgba(255,255,255,0.78);
    margin-bottom: 34px; line-height: 1.8; font-weight: 300;
  }
  .hero-btns { display: flex; gap: 14px; justify-content: flex-start; }
  .btn-gold {
    background: var(--gold); color: var(--navy);
    border: none; border-radius: var(--radius);
    padding: 14px 30px; font-size: 12px; font-weight: 600;
    letter-spacing: 1.2px; text-transform: uppercase; cursor: pointer; transition: all .2s;
  }
  .btn-gold:hover { background: #c9a070; transform: translateY(-1px); box-shadow: 0 6px 24px rgba(217,173,126,0.4); }
  .btn-ghost {
    background: transparent; color: var(--white);
    border: 1px solid rgba(255,255,255,0.35); border-radius: var(--radius);
    padding: 14px 30px; font-size: 12px; font-weight: 400;
    letter-spacing: 1.2px; text-transform: uppercase; cursor: pointer; transition: all .2s;
  }
  .btn-ghost:hover { border-color: var(--gold); color: var(--gold); }

  /* === SEARCH === */
  .search-wrap { max-width: 1040px; margin: -52px auto 0; position: relative; z-index: 10; padding: 0 24px; }
  .search-box {
    background: var(--white); border-radius: 7px;
    padding: 14px 14px 14px 22px;
    box-shadow: 0 16px 55px rgba(10,38,71,.16);
    border: 1px solid rgba(217,173,126,.5);
    display: grid; grid-template-columns: 1fr 1fr .76fr auto; align-items: center;
  }
  .search-field {
    min-width: 0; padding: 5px 24px 5px 0; margin-right: 24px;
    border-right: 1px solid var(--border);
  }
  .search-field:first-child { padding-left: 0; }
  .search-field:last-of-type { border-right: 1px solid var(--border); }
  .search-field label {
    display: flex; align-items: center; gap: 8px;
    font-size: 9px; font-weight: 800;
    color: #806b4a; text-transform: uppercase; letter-spacing: 1.45px; margin-bottom: 6px;
  }
  .search-field label::before {
    width: 22px; height: 22px; flex: 0 0 22px;
    border: 1px solid rgba(217,173,126,.48);
    background: #fbf7f0; border-radius: 50%;
    display: inline-grid; place-items: center;
    color: var(--gold-dark); font-size: 10px;
  }
  .search-field:nth-child(1) label::before,
  .search-field:nth-child(2) label::before { content:'◷'; }
  .search-field:nth-child(3) label::before { content:'◇'; }
  .search-field input, .search-field select {
    width: 100%; min-width: 0; border: none; outline: none;
    font-size: 15px; color: var(--primary); background: transparent;
    font-family: 'Playfair Display', Georgia, serif; padding: 2px 0;
  }
  .search-btn {
    height: 58px;
    background: var(--primary); color: var(--white);
    border: none; border-radius: 4px;
    padding: 0 28px; font-size: 10px; font-weight: 800;
    letter-spacing: 1.25px; text-transform: uppercase;
    cursor: pointer; white-space: nowrap; margin-left: 0; transition: background .2s, transform .2s;
  }
  .search-btn:hover { background: var(--primary-light); transform: translateY(-1px); }

  /* === TRUST BAR === */
  .trust-bar {
    width: min(1120px, 92vw); margin: 28px auto 18px;
    display: grid; grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
    background: var(--white);
  }
  .trust-item {
    display: flex; align-items: center; justify-content: center; gap: 9px;
    font-size: 9.5px; color: #607480; letter-spacing: .9px;
    padding: 18px 16px; border-right: 1px solid var(--border);
    text-transform: uppercase;
  }
  .trust-item:last-child { border-right: none; }
  .trust-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }

  /* === SECCIÓN BASE === */
  .section { padding: 80px 56px; max-width: 1280px; margin: 0 auto; }
  .section-eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
    color: var(--gold-dark); margin-bottom: 14px;
  }
  .section-eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--gold); }
  .section-title { font-size: 36px; font-weight: 700; color: var(--primary); margin-bottom: 10px; line-height: 1.2; }
  .section-sub { font-size: 15px; color: var(--text-sec); max-width: 520px; font-weight: 300; line-height: 1.8; }

  /* === ESTADOS === */
  .loading-state { text-align: center; padding: 72px 20px; color: var(--text-muted); }
  .loading-spinner {
    width: 32px; height: 32px;
    border: 2px solid var(--border);
    border-top-color: var(--gold);
    border-radius: 50%; animation: spin 0.9s linear infinite;
    margin: 0 auto 16px;
  }
  @keyframes spin { to { transform: rotate(360deg); } }
  .error-state { padding: 40px; background: var(--cream); border: 1px solid var(--border-gold); border-radius: var(--radius); color: var(--text-sec); text-align: center; }

  /* === CONFIG NOTICE === */
  .config-notice {
    background: var(--cream); border-left: 3px solid var(--gold);
    padding: 16px 24px; margin: 24px 56px; font-size: 13px; color: var(--gold-dark);
    display: flex; align-items: flex-start; gap: 12px;
  }
  .config-notice strong { display: block; margin-bottom: 4px; font-weight: 600; }

  /* === LISTINGS === */
  #listings-section { padding: 34px 56px 54px; }
  #listings-section .inner { max-width: 1280px; margin: 0 auto; }
  .listings-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 28px; }
  .listings-count { font-size: 12px; color: var(--text-muted); letter-spacing: 0.5px; }
  .listings-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 28px; }

  .listing-card {
    background: var(--white); border: 1px solid var(--border);
    border-radius: 8px; overflow: hidden;
    box-shadow: 0 3px 16px rgba(10,38,71,.05);
    transition: all .3s cubic-bezier(.4,0,.2,1); cursor: pointer;
  }
  .listing-card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(10,38,71,.12); border-color: rgba(217,173,126,.55); }
  .card-img { position: relative; height: 245px; overflow: hidden; background: #e8eceb; }
  .card-img::after { content:''; position:absolute; inset:auto 0 0; height:44%; background:linear-gradient(transparent,rgba(10,38,71,.32)); pointer-events:none; z-index:1; }
  .card-img img { width: 100%; height: 100%; object-fit: cover; object-position:center; transition: transform .4s ease; }
  .listing-card:hover .card-img img { transform: scale(1.035); }
  .card-img-placeholder {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, var(--cream), #ddd);
    display: flex; align-items: center; justify-content: center;
    color: var(--text-muted); font-size: 13px; letter-spacing: 0.5px;
  }
  .card-ribbon {
    position: absolute; top: 14px; right: 14px; z-index:2;
    background: rgba(217,173,126,.96); color: var(--navy);
    font-size: 9px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase;
    padding: 7px 10px; border-radius:4px; box-shadow:0 4px 14px rgba(10,38,71,.12);
  }
  .card-ribbon.avail { background: rgba(37,64,77,.96); color: var(--white); }
  .card-building {
    position:absolute; left:14px; bottom:13px; z-index:2; color:#fff;
    font-size:10px; font-weight:600; letter-spacing:.7px; text-transform:uppercase;
    display:flex; align-items:center; gap:7px; text-shadow:0 1px 8px rgba(0,0,0,.28);
  }
  .card-building::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 2px rgba(255,255,255,.2); }
  /* línea decorativa en card */
  .card-body { padding: 20px 22px 22px; position: relative; }
  .card-body::before {
    content: ''; position: absolute; top: 0; left: 22px;
    width: 32px; height: 1px; background: var(--gold);
  }
  .card-title { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 600; color: var(--primary); margin-bottom: 6px; }
  .card-meta { font-size: 12px; color: var(--text-muted); margin-bottom: 14px; letter-spacing: 0.3px; }
  .card-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
  .card-tag {
    font-size: 10px; letter-spacing: 0.8px; text-transform: uppercase;
    padding: 4px 10px; border-radius: 1px;
    background: var(--cream); color: var(--text-sec);
    border: 1px solid var(--border);
  }
  .card-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; border-top: 1px solid var(--border); }
  .card-price { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 600; color: var(--primary); line-height: 1.05; }
  .card-price span { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 500; color: var(--text-muted); letter-spacing: .2px; }
  .card-price-note { margin-top: 5px; font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 400; color: var(--text-muted); letter-spacing: .15px; }
  .card-cta {
    display:inline-flex; align-items:center; justify-content:center;
    background: transparent; color: var(--primary);
    border: 1px solid var(--primary); border-radius: var(--radius);
    padding: 8px 18px; font-size: 11px; font-weight: 500;
    letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: all .2s;
  }
  .card-cta:hover { background: var(--primary); color: var(--white); }


  /* === RESORT FEES CLARITY === */
  .resort-fees-section { background:var(--bg); border-top:1px solid var(--border); }
  .resort-fees-section .section { padding:46px 56px 48px; }
  .resort-fees-section .section-eyebrow { margin-bottom:9px; }
  .resort-fees-section .section-title { margin-bottom:6px; }
  .resort-fees-section .section-sub { max-width:720px; font-size:13px; line-height:1.55; }
  .resort-fees-panel { margin-top:18px; background:#fff; border:1px solid rgba(217,173,126,.42); border-radius:8px; padding:16px; box-shadow:0 6px 20px rgba(10,38,71,.04); }
  .resort-fee-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .resort-fee-card { padding:13px 14px; border:1px solid var(--border); background:#fbfbf8; border-radius:6px; }
  .resort-fee-card strong { display:block; color:var(--primary); font-size:12px; margin-bottom:5px; }
  .resort-fee-row { display:flex; justify-content:space-between; gap:16px; padding:5px 0; border-top:1px solid rgba(37,64,77,.08); font-size:10.5px; color:#607482; }
  .resort-fee-row b { color:var(--primary); text-align:right; white-space:nowrap; }
  .extended-stay-note { margin-top:10px; padding:9px 12px; background:var(--cream); border-left:2px solid var(--gold); font-size:9.5px; line-height:1.5; color:#506572; }

  /* === AMENIDADES === */
  .amenities-section { background: var(--cream); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 80px 0; }
  .amenities-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--border); margin-top: 48px; }
  .amenity-item {
    background: var(--white); padding: 28px 20px; text-align: center;
    transition: background .2s, transform .2s; border:0; cursor:pointer;
    width:100%; font-family:'Inter',sans-serif;
  }
  .amenity-item:hover, .amenity-item:focus-visible { background: var(--gold-bg); transform:translateY(-2px); outline:2px solid var(--gold); outline-offset:-2px; }
  .amenity-icon { font-size: 24px; margin-bottom: 10px; }
  .amenity-name { font-size: 12px; font-weight: 500; color: var(--primary); letter-spacing: 0.5px; }
  .amenity-desc { font-size: 11px; color: var(--text-muted); margin-top: 3px; }
  .gallery-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:44px 0 16px; }
  .gallery-heading h3 { margin:0; color:var(--primary); font-family:'Playfair Display',serif; font-size:24px; }
  .gallery-heading p { margin:5px 0 0; color:var(--text-muted); font-size:12px; }
  .gallery-count { flex:0 0 auto; padding:7px 12px; border:1px solid var(--border-gold); background:var(--gold-bg); color:var(--primary); font-size:11px; letter-spacing:.7px; text-transform:uppercase; }
  .resort-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 48px; }
  .resort-photo { position:relative; border:1px solid var(--border); border-radius:4px; overflow:hidden; min-height:0; aspect-ratio:4/3; background:#eef0ed; cursor:zoom-in; padding:0; }
  .resort-photo img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .25s ease; }
  .resort-photo:hover img, .resort-photo:focus-visible img { transform:scale(1.025); }
  .resort-photo:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
  .gallery-number { position:absolute; right:8px; bottom:8px; display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:24px; padding:0 7px; border-radius:999px; background:rgba(10,38,71,.78); color:#fff; font-size:10px; letter-spacing:.5px; }

  .experience-feature-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:12px; margin-top:34px; }
  .experience-feature {
    position:relative; min-height:240px; border-radius:8px; overflow:hidden;
    background:#e9ece8; border:1px solid rgba(37,64,77,.08);
  }
  .experience-feature:first-child { grid-row:span 2; min-height:492px; }
  .experience-feature img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
  .experience-feature::after { content:''; position:absolute; inset:auto 0 0; height:62%; background:linear-gradient(transparent,rgba(5,28,47,.8)); }
  .experience-caption { position:absolute; z-index:2; left:18px; right:18px; bottom:16px; color:#fff; }
  .experience-caption strong { display:block; font:600 21px 'Playfair Display',serif; margin-bottom:3px; }
  .experience-caption span { font-size:10px; letter-spacing:.8px; color:rgba(255,255,255,.78); text-transform:uppercase; }
  .experience-location {
    position:relative; min-height:290px; margin-top:14px;
    border-radius:8px; overflow:hidden; border:1px solid rgba(37,64,77,.08);
    background:#e9ece8;
  }
  .experience-location img {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
    display:block;
  }
  .experience-location::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(90deg,rgba(5,28,47,.82) 0%,rgba(5,28,47,.47) 48%,rgba(5,28,47,.08) 100%);
  }
  .experience-location-copy {
    position:absolute; z-index:2; left:28px; top:50%; transform:translateY(-50%);
    max-width:520px; color:#fff;
  }
  .experience-location-copy .location-kicker {
    display:flex; align-items:center; gap:9px; margin-bottom:10px;
    color:var(--gold); font-size:9px; font-weight:800; letter-spacing:1.7px; text-transform:uppercase;
  }
  .experience-location-copy .location-kicker::before { content:''; width:24px; height:1px; background:var(--gold); }
  .experience-location-copy strong {
    display:block; font:600 30px/1.08 'Playfair Display',serif; margin-bottom:10px;
  }
  .experience-location-copy p {
    margin:0; max-width:470px; color:rgba(255,255,255,.82); font-size:12px; line-height:1.65;
  }
  .amenities-premium-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin:50px 0 18px; }
  .amenities-premium-tag { flex:0 0 auto; border:1px solid rgba(217,173,126,.55); color:#6f5f45; background:#fff8ed; padding:8px 12px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
  .amenities-premium-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
  .amenity-premium-card {
    background:#fff; border:1px solid var(--border); border-radius:7px;
    padding:20px 16px; min-height:145px; transition:transform .2s,border-color .2s,box-shadow .2s;
  }
  .amenity-premium-card:hover { transform:translateY(-3px); border-color:rgba(217,173,126,.7); box-shadow:0 10px 24px rgba(10,38,71,.08); }
  .amenity-premium-icon { width:38px; height:38px; border-radius:50%; background:#f7efe3; color:#8c6e45; display:grid; place-items:center; font-size:18px; margin-bottom:13px; }
  .amenity-premium-card strong { display:block; color:var(--primary); font-size:12px; line-height:1.35; margin-bottom:5px; }
  .amenity-premium-card span { display:block; font-size:10px; color:#81939e; line-height:1.45; }
  .amenities-building-note { margin-top:16px; border-left:3px solid var(--gold); background:#fff; padding:13px 16px; color:#6f828e; font-size:11px; line-height:1.6; }
  .all-amenities-gallery { margin-top:50px; padding-top:38px; border-top:1px solid var(--border); }

  /* === TESTIMONIOS === */
  .tgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
  .tcard {
    background: var(--white); border: 1px solid var(--border);
    border-radius: var(--radius); padding: 28px;
    position: relative; overflow: hidden;
  }
  .tcard::before {
    content: '"'; position: absolute; top: 12px; right: 20px;
    font-family: 'Playfair Display', serif; font-size: 80px;
    color: var(--gold); opacity: 0.15; line-height: 1;
  }
  .tcard-stars { color: var(--gold); font-size: 13px; margin-bottom: 14px; letter-spacing: 2px; }
  .tcard-text { font-size: 14px; color: var(--text-sec); line-height: 1.8; margin-bottom: 18px; font-weight: 300; font-style: italic; }
  .tcard-divider { width: 24px; height: 1px; background: var(--gold); margin-bottom: 12px; }
  .tcard-author { font-size: 13px; font-weight: 600; color: var(--primary); }
  .tcard-origin { font-size: 11px; color: var(--text-muted); letter-spacing: 0.5px; margin-top: 2px; }
  .tcard.verified-review { display:block; min-height:220px; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
  .tcard.verified-review::before { content:'✓'; font-family:'Inter',sans-serif; font-size:54px; top:16px; color:var(--mint); opacity:.75; }
  .tcard.verified-review:hover { transform:translateY(-3px); border-color:var(--border-gold); box-shadow:var(--shadow); }
  .review-source-label { color:var(--gold-dark); font-size:9px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }
  .review-source-name { margin:14px 0 8px; color:var(--primary); font:600 22px 'Playfair Display',serif; }
  .review-source-link { display:inline-flex; margin-top:18px; color:var(--primary); border-bottom:1px solid var(--gold); font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }

  /* === MODAL === */
  .modal-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(10,38,71,0.7); z-index: 1000;
    backdrop-filter: blur(6px); overflow-y: auto;
  }
  .modal-overlay.active { display: flex; align-items: flex-start; justify-content: center; padding: 40px 20px; }
  .modal { background: var(--white); border-radius: var(--radius); max-width: 660px; width: 100%; margin: auto; overflow: hidden; }
  .modal.property-modal-wide { max-width: 1080px; }
  .modal-header {
    padding: 24px 32px; border-bottom: 1px solid var(--border);
    display: flex; justify-content: space-between; align-items: center;
    background: var(--primary);
  }
  .modal-title { font-family: 'Playfair Display', serif; font-size: 20px; color: var(--white); }
  .modal-close { background: none; border: none; font-size: 20px; cursor: pointer; color: rgba(255,255,255,0.6); transition: color .2s; }
  .modal-close:hover { color: var(--white); }
  .modal-body { padding: 32px; }
  .modal-img { height: 250px; border-radius: var(--radius); overflow: hidden; margin-bottom: 24px; background: var(--cream); }
  .modal-img img { width: 100%; height: 100%; object-fit: cover; }
  .modal-details { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
  .modal-detail { background: var(--cream); border-radius: var(--radius); padding: 14px 12px; text-align: center; }
  .modal-detail-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; }
  .modal-detail-value { font-size: 16px; font-weight: 600; color: var(--primary); margin-top: 4px; }
  .modal-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
  .modal-tag { font-size: 11px; padding: 5px 12px; background: var(--mint-bg); color: var(--primary); border: 1px solid rgba(202,230,213,0.6); letter-spacing: 0.3px; }
  .property-gallery-section { margin-bottom:26px; }
  .property-gallery-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:12px; }
  .property-gallery-head h3 { margin:0; color:var(--primary); font-family:'Playfair Display',serif; font-size:21px; }
  .property-gallery-head p { margin:4px 0 0; color:var(--text-muted); font-size:11px; line-height:1.5; }
  .property-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
  .property-gallery button { position:relative; border:1px solid var(--border); border-radius:3px; padding:0; cursor:zoom-in; overflow:hidden; background:#eef0ed; aspect-ratio:4/3; }
  .property-gallery button:first-child { grid-column:span 2; grid-row:span 2; }
  .property-gallery img { width:100%; height:100%; display:block; object-fit:contain; transition:transform .25s; }
  .property-gallery button:hover img, .property-gallery button:focus-visible img { transform:scale(1.02); }
  .property-gallery button:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
  .property-overview { font-size:14px; line-height:1.8; color:var(--text-sec); margin:4px 0 24px; white-space:pre-line; }
  .property-page-link { display:inline-flex; align-items:center; gap:7px; margin:-10px 0 24px; color:var(--primary); border-bottom:1px solid var(--gold); padding-bottom:3px; font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
  .property-content-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr); gap:28px; align-items:start; }
  .property-sections { display:grid; gap:10px; }
  .property-section { border:1px solid var(--border); background:var(--white); }
  .property-section summary { padding:15px 18px; cursor:pointer; font-family:'Playfair Display',serif; font-size:16px; color:var(--primary); font-weight:600; }
  .property-section-content { padding:0 18px 18px; color:var(--text-sec); font-size:13px; line-height:1.75; white-space:pre-line; }
  .property-fees { border-left:3px solid var(--gold); background:var(--gold-bg); }
  .property-amenities { display:flex; flex-wrap:wrap; gap:7px; padding:0 18px 18px; }
  .property-amenity { font-size:11px; padding:6px 10px; background:var(--cream); border:1px solid var(--border); color:var(--text-sec); }
  .image-lightbox { display:none; position:fixed; inset:0; z-index:3000; background:rgba(4,16,29,.96); color:#fff; }
  .image-lightbox.active { display:grid; grid-template-columns:76px minmax(0,1fr) 76px; grid-template-rows:70px minmax(0,1fr) 64px; align-items:center; }
  .lightbox-close { position:absolute; top:16px; right:18px; z-index:2; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.08); color:#fff; font-size:28px; line-height:1; cursor:pointer; }
  .lightbox-nav { width:48px; height:48px; justify-self:center; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.08); color:#fff; font-size:28px; cursor:pointer; }
  .lightbox-nav:hover, .lightbox-close:hover, .lightbox-nav:focus-visible, .lightbox-close:focus-visible { background:rgba(255,255,255,.18); outline:2px solid var(--gold); outline-offset:2px; }
  .lightbox-prev { grid-column:1; grid-row:2; }
  .lightbox-next { grid-column:3; grid-row:2; }
  .lightbox-figure { grid-column:2; grid-row:2; width:100%; height:100%; min-width:0; min-height:0; margin:0; display:flex; align-items:center; justify-content:center; padding:10px; }
  .lightbox-figure img { display:block; width:100%; height:100%; object-fit:contain; }
  .lightbox-caption { grid-column:2; grid-row:3; align-self:start; text-align:center; font-size:12px; line-height:1.45; color:rgba(255,255,255,.82); letter-spacing:.3px; padding:10px 12px 0; }
  body.lightbox-open { overflow:hidden; }
  .catalog-status { display:inline-flex; align-items:center; gap:7px; font-size:11px; color:var(--text-muted); margin-top:8px; }
  .catalog-status::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--gold); }

  /* === BOOKING FORM === */
  .booking-form { background: var(--cream); border: 1px solid var(--border-gold); border-radius: var(--radius); padding: 24px; }
  .booking-form-title { font-family: 'Playfair Display', serif; font-size: 16px; color: var(--primary); margin-bottom: 18px; }
  .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
  .form-group { display: flex; flex-direction: column; gap: 6px; min-width:0; }
  .form-group label { font-size: 10px; font-weight: 500; color: var(--gold-dark); text-transform: uppercase; letter-spacing: 1px; }
  .form-group input, .form-group select {
    border: 1px solid var(--border); border-radius: var(--radius);
    padding: 10px 12px; font-size: 14px; color: var(--text);
    background: var(--white); outline: none; font-family: 'Inter', sans-serif;
    transition: border-color .2s; width:100%; min-width:0; box-sizing:border-box;
  }
  .form-group textarea {
    border:1px solid var(--border); border-radius:var(--radius); padding:10px 12px;
    min-height:110px; resize:vertical; font:14px 'Inter',sans-serif; color:var(--text);
  }
  .form-group textarea:focus { border-color:var(--gold); outline:none; }
  .lead-intro { color:var(--text-sec); font-size:14px; line-height:1.7; margin-bottom:20px; }
  .lead-form .form-group { margin-bottom:14px; }
  .lead-form .form-row { margin-bottom:0; }
  .hp-field { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
  .lead-success { text-align:center; padding:28px 10px; }
  .lead-success h3 { font-family:'Playfair Display',serif; color:var(--primary); font-size:24px; margin:12px 0; }
  .amenity-detail { text-align:center; padding:8px 4px; }
  .amenity-detail-icon { font-size:42px; margin-bottom:14px; }
  .amenity-detail p { color:var(--text-sec); line-height:1.8; margin:10px auto 22px; max-width:480px; }
  .amenity-disclaimer { background:var(--cream); border:1px solid var(--border); padding:12px; font-size:11px; color:var(--text-muted); margin-bottom:22px; }
  .form-group input:focus, .form-group select:focus { border-color: var(--gold); }
  .price-summary { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; margin: 16px 0; }
  .price-row { display: flex; justify-content: space-between; font-size: 13px; color: var(--text-sec); padding: 5px 0; }
  .price-row.total { font-weight: 700; color: var(--primary); font-size: 16px; border-top: 1px solid var(--border); margin-top: 8px; padding-top: 14px; }
  .discount-code-box { margin-top:16px; padding:14px; background:var(--white); border:1px solid var(--border-gold); }
  .discount-code-box > label { display:block; margin-bottom:7px; color:var(--gold-dark); font-size:10px; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
  .discount-code-controls { display:flex; gap:7px; }
  .discount-code-controls input { flex:1; min-width:0; padding:10px 11px; border:1px solid var(--border); background:var(--white); color:var(--text); font:600 12px 'Inter',sans-serif; letter-spacing:.7px; text-transform:uppercase; }
  .discount-code-controls button { border:0; padding:10px 12px; background:var(--gold); color:var(--navy); cursor:pointer; font-size:10px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; }
  .discount-code-controls .discount-remove { background:transparent; color:var(--text-muted); border:1px solid var(--border); }
  .discount-code-status { margin-top:8px; color:var(--text-muted); font-size:10px; line-height:1.5; }
  .discount-confirmed { border-color:#8fb89d; background:#f0f7f2; color:#214b31; }
  .discount-pending { border-color:var(--border-gold); background:var(--gold-bg); color:var(--primary); }
  .book-btn {
    width: 100%; background: var(--primary); color: var(--white);
    border: none; border-radius: var(--radius);
    padding: 15px; font-size: 12px; font-weight: 600;
    letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; transition: all .2s; margin-top: 6px;
  }
  .book-btn:hover { background: var(--primary-light); }
  .book-btn:disabled { background: var(--text-muted); cursor: not-allowed; }
  .payment-option { margin-top:20px; padding-top:20px; border-top:1px solid var(--border-gold); }
  .payment-option[hidden] { display:none; }
  .payment-option-title { color:var(--primary); font:600 16px 'Playfair Display',serif; margin-bottom:5px; }
  .payment-option-copy { color:var(--text-muted); font-size:11px; line-height:1.6; margin-bottom:12px; }
  .stripe-field-label { display:block; margin:0 0 7px; color:var(--gold-dark); font-size:10px; font-weight:700; letter-spacing:1.05px; text-transform:uppercase; }
  .stripe-card { min-height:52px; padding:16px 14px; background:var(--white); border:1px solid #d6dce0; border-radius:7px; box-shadow:0 1px 0 rgba(19,54,70,.025); transition:border-color .2s, box-shadow .2s; }
  .stripe-card.StripeElement--focus { border-color:var(--gold); box-shadow:0 0 0 2px rgba(217,173,126,.18); }
  .stripe-card.StripeElement--invalid { border-color:#b05252; }
  .stripe-card-main { margin-bottom:11px; }
  .stripe-fields-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .stripe-field-group { min-width:0; }
  .stripe-field-meta { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin:9px 1px 2px; color:#7f929e; font-size:9.5px; line-height:1.45; }
  .stripe-field-meta strong { color:#637887; font-weight:700; white-space:nowrap; }
  .payment-status { min-height:18px; margin-top:9px; color:#8a4040; font-size:11px; line-height:1.5; }
  .payment-security { display:flex; justify-content:center; gap:8px; margin-top:10px; color:var(--text-muted); font-size:10px; }
  .booking-reassurance { margin:16px 0 14px; padding:18px; background:#fff; border:1px solid rgba(217,173,126,.42); border-radius:6px; box-shadow:0 7px 24px rgba(10,38,71,.055); }
  .booking-reassurance-head { display:flex; align-items:flex-start; gap:10px; margin-bottom:8px; }
  .booking-reassurance-title { color:var(--primary); font-size:13px; font-weight:700; line-height:1.35; margin:0; }
  .booking-reassurance-title small { display:block; margin-top:2px; color:var(--gold-dark); font-size:9px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; }
  .booking-reassurance-head .shield { width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--gold-bg); color:var(--gold-dark); font-size:14px; font-weight:800; flex:0 0 auto; border:1px solid rgba(217,173,126,.28); }
  .booking-reassurance-copy { color:#667b89; font-size:11.5px; line-height:1.65; margin:0 0 13px; }
  .booking-reassurance-copy strong { color:var(--primary); font-weight:600; }
  .booking-support-label { color:var(--text-sec); font-size:10.5px; line-height:1.45; margin:0 0 8px; }
  .booking-reassurance-actions { display:grid; grid-template-columns:1fr; gap:9px; }
  .booking-help-link { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:58px; padding:10px 12px; border:1px solid rgba(37,64,77,.28); border-radius:7px; color:var(--primary); background:#fff; text-decoration:none; transition:all .2s; min-width:0; overflow:hidden; }
  .booking-help-link:hover { border-color:var(--primary); background:#f8faf9; transform:translateY(-1px); box-shadow:0 4px 12px rgba(10,38,71,.06); }
  .booking-help-link.whatsapp { border-color:rgba(39,139,85,.45); color:#216f46; }
  .booking-help-link.whatsapp:hover { border-color:#278b55; background:#f4fbf7; }
  .booking-help-icon { width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--gold-bg); color:var(--primary); font-size:13px; font-weight:800; flex:0 0 34px; }
  .booking-help-link.whatsapp .booking-help-icon { background:rgba(39,139,85,.10); color:#216f46; font-size:10px; }
  .booking-help-text { min-width:0; display:flex; flex-direction:column; line-height:1.22; overflow:hidden; }
  .booking-help-text strong { color:inherit; font-size:10.5px; font-weight:750; letter-spacing:.5px; text-transform:uppercase; }
  .booking-help-text span { color:#6f8491; font-size:9.5px; margin-top:3px; white-space:normal; overflow-wrap:anywhere; word-break:normal; }
  .booking-help-action { color:#8a765b; font-size:15px; line-height:1; padding-left:4px; }
  .booking-help-link.whatsapp .booking-help-action { color:#278b55; }
  .booking-trust-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:13px; padding-top:13px; border-top:1px solid var(--border); }
  .booking-trust-item { display:grid; grid-template-columns:20px 1fr; column-gap:7px; align-items:start; min-width:0; }
  .booking-trust-check { width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#eef5f0; color:#2d7150; font-size:10px; font-weight:800; margin-top:1px; }
  .booking-trust-item strong { display:block; color:var(--text-sec); font-size:9.8px; font-weight:700; line-height:1.35; }
  .booking-trust-item span { display:block; color:var(--text-muted); font-size:9px; line-height:1.45; margin-top:1px; }
  .payment-security { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:6px 9px; margin-top:11px; color:#7e919d; font-size:9.5px; }
  .payment-security .security-dot { width:3px; height:3px; border-radius:50%; background:var(--gold); }
  .secure-note { text-align: center; font-size: 11px; color: var(--text-muted); margin-top: 10px; letter-spacing: 0.3px; }
  .quote-context { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; padding:11px 13px; background:var(--white); border:1px solid var(--border); font-size:11px; color:var(--text-muted); }
  .quote-context button { background:none; border:0; border-bottom:1px solid var(--gold-dark); color:var(--gold-dark); cursor:pointer; font:inherit; font-weight:600; padding:0 0 2px; }
  .booking-form input:disabled, .booking-form select:disabled { color:var(--text); background:#f3f3ef; opacity:1; cursor:not-allowed; }

  /* === FOOTER === */
  footer { background: var(--navy); padding: 64px 56px 32px; margin-top: 0; }
  .footer-top { display: flex; gap: 0; border-bottom: 1px solid rgba(255,255,255,0.08); padding-bottom: 48px; margin-bottom: 36px; }
  .footer-brand { flex: 2; padding-right: 56px; border-right: 1px solid rgba(255,255,255,0.08); margin-right: 56px; }
  .footer-brand .logo { font-family: 'Playfair Display', serif; font-size: 20px; color: var(--white); margin-bottom: 14px; }
  .footer-brand .logo span { color: var(--gold); }
  .footer-brand p { font-size: 13px; color: rgba(255,255,255,0.45); line-height: 1.9; max-width: 280px; font-weight: 300; }
  .footer-logo-lockup { width:210px; height:210px; margin:-22px 0 8px; }
  .footer-logo-lockup .logo-lockup-art { height:210px; }
  .footer-logo-lockup img { opacity:1; filter:drop-shadow(0 5px 16px rgba(0,0,0,.16)); }
  .footer-gold-line { width: 32px; height: 1px; background: var(--gold); margin: 16px 0; }
  .footer-cols { flex: 3; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
  .footer-col h4 { font-size: 10px; font-weight: 600; color: var(--gold); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 18px; }
  .footer-col a { display: block; font-size: 13px; color: rgba(255,255,255,0.45); margin-bottom: 10px; transition: color .2s; font-weight: 300; }
  .footer-col a:hover { color: var(--white); }
  .footer-bottom { display: flex; justify-content: space-between; align-items: center; }
  .footer-bottom p { font-size: 11px; color: rgba(255,255,255,0.3); letter-spacing: 0.3px; }

  /* === PROMO POPUP === */
  .promo-overlay {
    display: none; position: fixed; inset: 0; background: rgba(10,38,71,0.75);
    z-index: 2000; align-items: center; justify-content: center; padding: 24px;
    backdrop-filter: blur(4px);
  }
  .promo-overlay.active { display: flex; }
  .promo-box {
    background: var(--cream); border-radius: var(--radius);
    max-width: 460px; width: 100%; padding: 40px 36px;
    text-align: center; position: relative; box-shadow: var(--shadow-lg);
    border: 1px solid var(--border-gold);
  }
  .promo-close {
    position: absolute; top: 16px; right: 16px;
    background: none; border: none; font-size: 22px; cursor: pointer;
    color: var(--text-muted); transition: color .2s; line-height: 1;
  }
  .promo-close:hover { color: var(--primary); }
  .promo-title {
    font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 700;
    color: var(--primary); margin-bottom: 16px; letter-spacing: -0.3px;
  }
  .promo-title em { color: var(--gold-dark); font-style: italic; }
  .promo-text { font-size: 14px; color: var(--text-sec); line-height: 1.8; margin-bottom: 24px; font-weight: 300; }
  .promo-text strong { color: var(--primary); font-weight: 600; }
  .promo-offer { display:inline-block; background:var(--navy); color:var(--white); padding:9px 16px; margin:-4px 0 20px; font-size:12px; letter-spacing:1px; text-transform:uppercase; }
  .promo-code { font-weight:700; color:var(--gold); }
  .promo-actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
  .promo-whatsapp { background:transparent; color:var(--primary); border:1px solid var(--primary); border-radius:var(--radius); padding:13px 22px; font-size:11px; font-weight:600; letter-spacing:1px; text-transform:uppercase; cursor:pointer; }
  .promo-terms { font-size:10px; color:var(--text-muted); margin-top:14px; line-height:1.5; }
  .promo-btn {
    background: var(--primary); color: var(--white); border: none;
    border-radius: var(--radius); padding: 14px 32px; font-size: 12px;
    font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
    cursor: pointer; transition: background .2s;
  }
  .promo-btn:hover { background: var(--primary-light); }

  .lang-toggle { display: flex; align-items: center; gap: 6px; }
  .lang-btn {
    background: none; border: none; cursor: pointer;
    font-size: 11px; font-weight: 600; letter-spacing: 1px;
    color: rgba(255,255,255,0.5); padding: 4px 2px; transition: color .2s;
    font-family: 'Inter', sans-serif;
  }
  .lang-btn.active { color: var(--gold); border-bottom: 1.5px solid var(--gold); }
  .lang-btn:hover { color: var(--gold); }


  /* === ABOUT + PROPERTY MANAGEMENT === */
  .brand-section { background: var(--white); }
  .brand-grid { display:grid; grid-template-columns: 1.05fr .95fr; gap:72px; align-items:center; }
  .brand-copy p { color:var(--text-sec); font-size:15px; line-height:1.9; margin-top:18px; font-weight:300; }
  .brand-points { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; }
  .brand-point { border:1px solid var(--border); padding:18px; background:var(--bg); }
  .brand-point strong { display:block; color:var(--primary); font-family:'Playfair Display',serif; font-size:16px; margin-bottom:4px; }
  .brand-point span { color:var(--text-muted); font-size:12px; line-height:1.6; }
  .pm-section { background:var(--navy); color:var(--white); }
  .pm-inner { max-width:1280px; margin:0 auto; padding:88px 56px; display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
  .pm-section .section-title { color:var(--white); }
  .pm-section .section-sub { color:rgba(255,255,255,.65); max-width:620px; }
  .pm-section .section-eyebrow { color:var(--gold); }
  .pm-services { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .pm-service { border:1px solid rgba(255,255,255,.12); padding:18px; color:rgba(255,255,255,.76); font-size:13px; background:rgba(255,255,255,.025); }
  .pm-service strong { display:block; color:var(--white); margin-bottom:5px; font-size:13px; }
  .service-area { margin:26px 0 30px; color:rgba(255,255,255,.58); font-size:12px; letter-spacing:.5px; line-height:1.8; }
  .dual-cta { display:flex; gap:12px; flex-wrap:wrap; }
  .btn-outline-gold { background:transparent; color:var(--gold); border:1px solid var(--gold); border-radius:var(--radius); padding:13px 24px; font-size:11px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; cursor:pointer; }
  .portfolio-note { margin-top:18px; font-size:12px; color:var(--text-muted); }

  /* === FAQ + CONVERSION CTAS === */
  .faq-section { background:var(--white); }
  .faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:40px; }
  .faq-item { border:1px solid var(--border); background:var(--bg); }
  .faq-item summary { list-style:none; cursor:pointer; padding:19px 48px 19px 20px; color:var(--primary); font-weight:600; font-size:14px; position:relative; }
  .faq-item summary::-webkit-details-marker { display:none; }
  .faq-item summary::after { content:'+'; position:absolute; right:20px; top:15px; color:var(--gold-dark); font-size:22px; font-weight:400; }
  .faq-item[open] summary::after { content:'−'; }
  .faq-item p { padding:0 20px 20px; color:var(--text-sec); font-size:13px; line-height:1.75; }
  .direct-section { background:var(--cream); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
  .direct-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:38px; }
  .direct-card { background:var(--white); border:1px solid var(--border); padding:26px; }
  .direct-number { color:var(--gold); font:600 30px 'Playfair Display',serif; margin-bottom:12px; }
  .direct-card h3 { color:var(--primary); font-size:17px; margin-bottom:8px; }
  .direct-card p { color:var(--text-sec); font-size:13px; line-height:1.75; }
  .direct-cta { margin-top:28px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
  .direct-cta span { color:var(--text-muted); font-size:11px; max-width:480px; }

  /* === TRUSTED PLATFORMS === */
  .platforms-section { background:var(--white); border-bottom:1px solid var(--border); }
  .platforms-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
  .platform-card { min-height:180px; display:flex; flex-direction:column; justify-content:space-between; padding:24px; border:1px solid var(--border); background:var(--white); color:var(--primary); box-shadow:0 8px 24px rgba(10,38,71,.06); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; position:relative; overflow:hidden; }
  .platform-card::before { content:''; position:absolute; inset:0 auto 0 0; width:4px; background:var(--platform-color,var(--gold)); }
  .platform-card:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(10,38,71,.12); border-color:rgba(201,169,110,.55); }
  .platform-card:focus-visible { outline:3px solid rgba(201,169,110,.42); outline-offset:3px; }
  .platform-label { font-size:9px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); }
  .platform-name { font:600 30px 'Inter',sans-serif; letter-spacing:-1.2px; color:var(--platform-color,var(--primary)); margin:14px 0 12px; }
  .platform-card p { color:var(--text-sec); font-size:12px; line-height:1.65; }
  .platform-link { display:inline-flex; align-items:center; gap:7px; margin-top:18px; color:var(--primary); font-size:10px; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
  .platform-airbnb { --platform-color:#ff5a5f; }
  .platform-booking { --platform-color:#003b95; }
  .platform-expedia { --platform-color:#202957; }
  .platform-vrbo { --platform-color:#243066; }
  .platform-google { --platform-color:#4285f4; }
  .platform-instagram { --platform-color:#c13584; }
  .floating-whatsapp { position:fixed; right:22px; bottom:22px; z-index:90; width:54px; height:54px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:25px; box-shadow:0 6px 24px rgba(0,0,0,.2); transition:transform .2s; }
  .floating-whatsapp:hover { transform:translateY(-3px); }
  .mobile-book-bar { display:none; position:fixed; left:0; right:0; bottom:0; z-index:89; background:var(--white); border-top:1px solid var(--border); padding:10px 14px; box-shadow:0 -4px 20px rgba(10,38,71,.12); }
  .mobile-book-bar button { width:100%; background:var(--gold); color:var(--navy); border:0; padding:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }

  /* === RESPONSIVE === */
  @media (max-width: 900px) {
    nav { padding: 0 24px; }
    .nav-links { display: none; }
    .mobile-menu-btn { display:block; }
    .hero h1 { font-size: 44px; }
    .hero-content { width:88vw; }
    .search-box { grid-template-columns: 1fr 1fr; padding:17px; }
    .search-field { margin:0 0 14px; padding:0 12px 12px; border-right:none; border-bottom:1px solid var(--border); }
    .search-field:last-of-type { border-right:none; }
    .search-btn { grid-column:1 / -1; width:100%; }
    .trust-bar { grid-template-columns:1fr 1fr; }
    .trust-item:nth-child(2) { border-right:none; }
    .trust-item:nth-child(-n+2) { border-bottom:1px solid var(--border); }
    .experience-feature-grid { grid-template-columns:1fr 1fr; }
    .experience-feature:first-child { grid-row:auto; grid-column:1 / -1; min-height:350px; }
    .experience-location { min-height:260px; }
    .experience-location-copy { left:22px; right:22px; max-width:520px; }
    .amenities-premium-grid { grid-template-columns:repeat(2,1fr); }
    .section { padding: 48px 24px; }
    #listings-section { padding: 26px 24px 42px; }
    .trust-bar { margin-top:24px; margin-bottom:12px; }
    .resort-fees-section .section { padding:38px 24px 40px; }
    .listings-grid { grid-template-columns: 1fr; }
    .card-img { height:230px; }
    .amenities-grid { grid-template-columns: repeat(2, 1fr); }
    .resort-fee-grid { grid-template-columns:1fr; }
    .resort-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tgrid { grid-template-columns: 1fr; }
    .brand-grid, .pm-inner { grid-template-columns:1fr; gap:36px; }
    .pm-inner { padding:56px 24px; }
    .pm-services, .brand-points { grid-template-columns:1fr; }
    .faq-grid { grid-template-columns:1fr; }
    .direct-grid { grid-template-columns:1fr; }
    .platforms-grid { grid-template-columns:1fr 1fr; }
    .footer-top { flex-direction: column; }
    .footer-brand { border-right: none; margin-right: 0; padding-right: 0; }
    footer { padding:48px 24px 28px; }
    .footer-cols { grid-template-columns:1fr; margin-top:32px; }
    .footer-bottom { align-items:flex-start; flex-direction:column; gap:10px; }
    .form-row { grid-template-columns:1fr; }
    .modal-overlay.active { padding:16px; }
    .property-content-grid { grid-template-columns:1fr; }
    .property-gallery { grid-template-columns:1fr 1fr; }
    .property-gallery button:first-child { grid-column:1 / 3; grid-row:auto; }
    .gallery-heading, .property-gallery-head { align-items:flex-start; flex-direction:column; gap:8px; }
    .image-lightbox.active { grid-template-columns:56px minmax(0,1fr) 56px; grid-template-rows:64px minmax(0,1fr) 74px; }
    .lightbox-nav { width:42px; height:42px; }
    .modal-header, .modal-body { padding-left:20px; padding-right:20px; }
    .config-notice { margin: 16px 24px; }
  }
  @media (max-width: 520px) {
    .offer-bar { padding:8px 10px; gap:7px; font-size:9px; }
    nav { padding:0 14px; height:102px; }
    .nav-logo { width:116px; flex-basis:116px; }
    .nav-logo .logo-lockup { width:112px; height:92px; }
    .nav-logo .logo-lockup-art { height:92px; }
    .mobile-menu { inset:102px 0 0; }
    .nav-cta { padding:9px 12px; font-size:10px; }
    .hero { height:580px; }
    .hero-content { width:88vw; padding:0; }
    .hero h1 { font-size:37px; }
    .hero p { font-size:14px; }
    .hero-btns { flex-direction:column; align-items:stretch; max-width:340px; }
    .search-wrap { margin-top:-34px; }
    .search-box { grid-template-columns:1fr; }
    .search-btn { grid-column:auto; }
    .experience-feature-grid { grid-template-columns:1fr; }
    .experience-feature:first-child { grid-column:auto; min-height:300px; }
    .experience-feature { min-height:205px; }
    .experience-location { min-height:285px; }
    .experience-location::after { background:linear-gradient(0deg,rgba(5,28,47,.88),rgba(5,28,47,.25)); }
    .experience-location-copy { left:18px; right:18px; top:auto; bottom:20px; transform:none; }
    .experience-location-copy strong { font-size:25px; }
    .amenities-premium-head { align-items:flex-start; flex-direction:column; }
    .amenities-premium-grid { grid-template-columns:1fr 1fr; }
    .amenity-premium-card { min-height:136px; padding:16px 13px; }
    .nav-cta { display:none; }
    .modal-details { grid-template-columns:1fr 1fr; }
    .resort-gallery { gap:8px; margin-bottom:32px; }
    .image-lightbox.active { grid-template-columns:48px minmax(0,1fr) 48px; }
    .lightbox-nav { width:38px; height:38px; font-size:23px; }
    .platforms-grid { grid-template-columns:1fr; }
    .mobile-book-bar { display:block; }
    .floating-whatsapp { right:16px; bottom:76px; width:50px; height:50px; }
    .booking-trust-grid { grid-template-columns:1fr; }
    .stripe-fields-row { grid-template-columns:1fr 1fr; gap:8px; }
    .stripe-card { min-height:50px; padding:15px 12px; }
    .stripe-field-meta { flex-direction:column; gap:3px; }
    .booking-reassurance { padding:16px; }
    body { padding-bottom:62px; }
  }

  /* === VERIFIED ABOUT === */
  .verified-about { background:#fff; border-top:1px solid var(--border); }
  .verified-about-grid { display:grid; grid-template-columns:1.04fr .96fr; gap:64px; align-items:start; }
  .verified-about-copy h2 { max-width:720px; }
  .verified-about-copy p { color:var(--text-sec); font-size:14px; line-height:1.9; margin:18px 0 0; }
  .verified-about-copy p strong { color:var(--primary); }
  .verified-signature { margin-top:24px; padding:15px 17px; border-left:3px solid var(--gold); background:var(--cream); color:#617681; font-size:12px; line-height:1.7; }
  .verified-signature b { color:var(--primary); }
  .verified-metrics { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .verified-metric { min-height:178px; border:1px solid var(--border); background:#fbfaf7; padding:23px 22px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
  .verified-metric::before { content:''; position:absolute; left:0; top:0; width:3px; height:100%; background:var(--gold); opacity:.85; }
  .verified-metric-number { font:600 38px/1 'Playfair Display',serif; color:var(--primary); }
  .verified-metric-number span { color:#806b4a; }
  .verified-metric-label { font-size:10px; font-weight:800; letter-spacing:1.05px; text-transform:uppercase; color:#617581; }
  .verified-metric-sub { margin-top:6px; font-size:10px; color:#91a0aa; line-height:1.45; }
  .verified-proof { margin-top:12px; display:inline-flex; align-items:center; gap:6px; color:#2d7150; font-size:9px; font-weight:800; letter-spacing:.75px; text-transform:uppercase; text-decoration:none; }
  .verified-proof.internal { color:#806b4a; }
  .verified-proof-badge { width:17px; height:17px; border-radius:50%; display:grid; place-items:center; background:#edf5ef; font-size:9px; }
  .verified-public { margin-top:30px; border:1px solid rgba(217,173,126,.32); background:#faf8f2; }
  .verified-public-head { padding:16px 20px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--border); }
  .verified-public-head strong { color:var(--primary); font-size:10px; letter-spacing:1px; text-transform:uppercase; }
  .verified-public-head span { color:#8999a3; font-size:10px; }
  .verified-platforms { display:grid; grid-template-columns:repeat(4,1fr); }
  .verified-platform { padding:18px; border-right:1px solid var(--border); text-decoration:none; background:#fff; color:inherit; transition:.2s; }
  .verified-platform:last-child { border-right:none; }
  .verified-platform:hover { background:#fffaf1; }
  .verified-platform-name { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#667a86; }
  .verified-platform-score { margin-top:6px; font:600 22px 'Playfair Display',serif; color:var(--primary); }
  .verified-platform-meta { margin-top:4px; color:#91a0aa; font-size:8.5px; line-height:1.4; }
  .verified-platform-link { margin-top:10px; color:#7a6749; font-size:8.5px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
  .verified-disclaimer { margin-top:16px; padding:13px 15px; background:#f6f5ef; border-left:3px solid var(--gold); color:#718590; font-size:10px; line-height:1.6; }
  .verified-disclaimer strong { color:var(--primary); }

  /* === OWNER REVEAL ON HOME === */
  .owner-reveal-home {
    position:relative; overflow:hidden;
    background:radial-gradient(circle at 85% 20%,rgba(217,173,126,.10),transparent 28%),linear-gradient(135deg,#f6f1e8 0%,#fbf9f4 58%,#f2e9da 100%);
    border-top:1px solid rgba(37,64,77,.08); border-bottom:1px solid rgba(37,64,77,.10);
    padding:78px 56px 74px;
  }
  .owner-reveal-home::after { content:'OWNERS'; position:absolute; right:-10px; bottom:-30px; font:700 140px/1 'Playfair Display',serif; color:rgba(37,64,77,.035); letter-spacing:-4px; pointer-events:none; }
  .owner-reveal-inner { max-width:1280px; margin:0 auto; position:relative; z-index:2; }
  .owner-reveal-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:82px; align-items:center; }
  .owner-reveal-kicker { display:flex; align-items:center; gap:10px; color:#806b4a; font-size:10px; font-weight:800; letter-spacing:2.2px; text-transform:uppercase; }
  .owner-reveal-kicker::before { content:''; width:28px; height:1px; background:var(--gold); }
  .owner-reveal-copy h2 { margin:16px 0 4px; max-width:650px; color:var(--primary); font:600 49px/1.02 'Playfair Display',serif; }
  .owner-reveal-answer { max-width:650px; color:#a47b49; font:600 45px/1.04 'Playfair Display',serif; }
  .owner-reveal-sub { max-width:590px; margin:20px 0 0; color:#647984; font-size:13px; line-height:1.7; }
  .owner-reveal-action { display:flex; flex-direction:column; }
  .owner-reveal-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
  .owner-reveal-stat { min-height:154px; padding:27px 20px; background:#fff; border:1px solid rgba(37,64,77,.12); box-shadow:0 10px 28px rgba(37,64,77,.05); display:flex; flex-direction:column; justify-content:center; }
  .owner-reveal-stat strong { font:600 31px/1 'Playfair Display',serif; color:var(--primary); }
  .owner-reveal-stat span { margin-top:11px; color:#748791; font-size:9px; font-weight:800; letter-spacing:1px; line-height:1.45; text-transform:uppercase; }
  .owner-reveal-cta { width:100%; margin-top:14px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; background:var(--gold); color:var(--navy); border:1px solid var(--gold); border-radius:3px; font-size:10.5px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; text-decoration:none; box-shadow:0 10px 28px rgba(164,123,73,.16); transition:.2s; }
  .owner-reveal-cta:hover { transform:translateY(-2px); background:#e4bc8f; }
  .owner-reveal-note { margin-top:10px; text-align:center; color:#8a9aa3; font-size:8.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; }

  @media(max-width:900px) {
    .verified-about-grid { grid-template-columns:1fr; gap:38px; }
    .verified-platforms { grid-template-columns:1fr 1fr; }
    .verified-platform:nth-child(2) { border-right:none; }
    .verified-platform:nth-child(-n+2) { border-bottom:1px solid var(--border); }
    .owner-reveal-grid { grid-template-columns:1fr; gap:38px; }
  }
  @media(max-width:620px) {
    .verified-metrics { grid-template-columns:1fr 1fr; gap:8px; }
    .verified-metric { min-height:168px; padding:18px 15px; }
    .verified-metric-number { font-size:31px; }
    .verified-platforms { grid-template-columns:1fr; }
    .verified-platform { border-right:none; border-bottom:1px solid var(--border); }
    .verified-public-head { align-items:flex-start; flex-direction:column; }
    .owner-reveal-home { padding:62px 20px 56px; }
    .owner-reveal-copy h2 { font-size:37px; }
    .owner-reveal-answer { font-size:35px; }
    .owner-reveal-stats { grid-template-columns:1fr; }
    .owner-reveal-stat { min-height:112px; }
  }


  /* === COMBINED AMENITIES + RESORT GALLERY === */
  .amenities-combined-section { padding:72px 0; }
  .amenities-combined-head { display:flex; justify-content:space-between; align-items:flex-end; gap:26px; margin-bottom:30px; }
  .amenities-combined-head .section-sub { margin-bottom:0; }
  .experience-feature-clickable { padding:0; border:1px solid rgba(37,64,77,.08); cursor:zoom-in; font-family:'Inter',sans-serif; text-align:left; }
  .experience-feature-clickable:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
  .amenities-combined-mosaic { margin-top:0; }
  .amenities-combined-mosaic .experience-feature { min-height:220px; }
  .amenities-combined-mosaic .experience-feature:first-child { min-height:452px; }
  .amenities-compact-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-top:14px; }
  .amenities-compact-card { min-height:100px; padding:15px 13px; display:flex; align-items:flex-start; gap:10px; background:#fff; border:1px solid var(--border); border-radius:6px; }
  .amenities-compact-icon { flex:0 0 31px; width:31px; height:31px; border-radius:50%; display:grid; place-items:center; background:#f7efe3; font-size:15px; }
  .amenities-compact-card strong { display:block; color:var(--primary); font-size:10.5px; line-height:1.35; margin:1px 0 4px; }
  .amenities-compact-card span { display:block; color:#81939e; font-size:9px; line-height:1.45; }
  .amenities-combined-footer { display:grid; grid-template-columns:1fr auto; align-items:center; gap:18px; margin-top:18px; }
  .amenities-combined-footer .amenities-building-note { margin-top:0; }
  .amenities-view-all { min-height:52px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:20px; border:1px solid var(--primary); border-radius:4px; background:var(--primary); color:#fff; font-family:'Inter',sans-serif; font-size:9.5px; font-weight:800; letter-spacing:1.05px; text-transform:uppercase; cursor:pointer; white-space:nowrap; transition:.2s; }
  .amenities-view-all b { color:var(--gold); font-size:16px; font-weight:500; }
  .amenities-view-all:hover { background:var(--primary-light); transform:translateY(-1px); }
  @media(max-width:900px) {
    .amenities-combined-head { align-items:flex-start; flex-direction:column; }
    .amenities-compact-grid { grid-template-columns:repeat(3,1fr); }
    .amenities-combined-footer { grid-template-columns:1fr; }
    .amenities-view-all { width:100%; }
  }
  @media(max-width:620px) {
    .amenities-combined-section { padding:56px 0 62px; }
    .amenities-combined-mosaic .experience-feature:first-child { min-height:300px; }
    .amenities-combined-mosaic .experience-feature { min-height:195px; }
    .amenities-compact-grid { grid-template-columns:1fr 1fr; gap:7px; }
    .amenities-compact-card { min-height:106px; padding:13px 11px; }
  }


  /* === RESORT GALLERY MOSAIC MODAL === */
  .resort-gallery-modal {
    display:none; position:fixed; inset:0; z-index:2950;
    background:rgba(4,16,29,.96); color:#fff; overflow:auto;
    padding:28px 24px 42px;
  }
  .resort-gallery-modal.active { display:block; }
  .resort-gallery-modal-inner { width:min(1240px,96vw); margin:0 auto; }
  .resort-gallery-modal-head {
    position:sticky; top:-28px; z-index:2;
    display:flex; justify-content:space-between; align-items:center; gap:20px;
    padding:28px 0 18px; margin-bottom:12px;
    background:linear-gradient(rgba(4,16,29,.99) 72%, rgba(4,16,29,0));
  }
  .resort-gallery-modal-title { min-width:0; }
  .resort-gallery-modal-title .mini {
    color:var(--gold); font-size:9px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase;
  }
  .resort-gallery-modal-title h3 {
    margin:5px 0 4px; font:600 29px/1.15 'Playfair Display',serif; color:#fff;
  }
  .resort-gallery-modal-title p { margin:0; color:rgba(255,255,255,.58); font-size:10.5px; line-height:1.55; }
  .resort-gallery-modal-close {
    flex:0 0 44px; width:44px; height:44px; border-radius:50%;
    border:1px solid rgba(255,255,255,.32); background:rgba(255,255,255,.08);
    color:#fff; font-size:28px; cursor:pointer;
  }
  .resort-gallery-modal-close:hover,
  .resort-gallery-modal-close:focus-visible {
    background:rgba(255,255,255,.16); outline:2px solid var(--gold); outline-offset:2px;
  }
  .resort-gallery-mosaic {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;
  }
  .resort-gallery-thumb {
    position:relative; aspect-ratio:4/3; padding:0; overflow:hidden; border-radius:6px;
    border:1px solid rgba(255,255,255,.09); background:#173044; cursor:zoom-in;
  }
  .resort-gallery-thumb img {
    width:100%; height:100%; object-fit:cover; display:block; transition:transform .28s ease, filter .28s ease;
  }
  .resort-gallery-thumb:hover img { transform:scale(1.035); filter:brightness(1.06); }
  .resort-gallery-thumb span {
    position:absolute; right:8px; bottom:8px; min-width:28px; height:24px; padding:0 7px;
    display:inline-flex; align-items:center; justify-content:center;
    border-radius:999px; background:rgba(4,16,29,.74); color:#fff;
    font-size:9px; font-weight:700; letter-spacing:.4px;
  }
  body.resort-gallery-open { overflow:hidden; }
  @media(max-width:900px) {
    .resort-gallery-mosaic { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  }
  @media(max-width:620px) {
    .resort-gallery-modal { padding:18px 12px 30px; }
    .resort-gallery-modal-inner { width:100%; }
    .resort-gallery-modal-head { top:-18px; padding:18px 0 14px; align-items:flex-start; }
    .resort-gallery-modal-title h3 { font-size:24px; }
    .resort-gallery-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
    .resort-gallery-thumb { border-radius:4px; }
  }


  @media(max-width:620px) {
    .trust-bar { margin:18px auto 8px; }
    #listings-section { padding:22px 20px 36px; }
    .listings-header { margin-bottom:22px; }
    .resort-fees-section .section { padding:34px 20px 36px; }
    .resort-fees-panel { margin-top:14px; padding:12px; }
    .resort-fee-card { padding:11px 12px; }
    .resort-fee-row { padding:4px 0; font-size:10px; }
    .extended-stay-note { font-size:9px; padding:8px 10px; }
  }


  /* === PRIME LOCATION / LOCAL EXPERIENCE === */
  .location-cover-photo {
    filter:brightness(1.06) saturate(1.06) contrast(.98);
  }
  .resort-gallery-modal.location-mode {
    background:rgba(4,16,29,.97);
  }
  .resort-gallery-modal.location-mode .resort-gallery-mosaic {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
  }
  .location-gallery-thumb {
    aspect-ratio:4/3;
    background:#e9f3f7;
  }
  .location-gallery-thumb img {
    filter:brightness(1.08) saturate(1.06) contrast(.98);
    transition:transform .28s ease, filter .28s ease;
  }
  .location-gallery-thumb::after {
    content:'';
    position:absolute; inset:45% 0 0;
    background:linear-gradient(transparent,rgba(4,16,29,.82));
    pointer-events:none;
  }
  .location-gallery-thumb:hover img {
    transform:scale(1.035);
    filter:brightness(1.11) saturate(1.08) contrast(.98);
  }
  .location-gallery-label {
    position:absolute!important; left:14px!important; right:14px!important; bottom:12px!important;
    z-index:2; min-width:0!important; height:auto!important; padding:0!important;
    display:block!important; border-radius:0!important; background:none!important;
    color:#fff!important; text-align:left!important;
  }
  .location-gallery-label strong {
    display:block; font:600 17px/1.15 'Playfair Display',serif;
    margin-bottom:3px; color:#fff;
  }
  .location-gallery-label small {
    display:block; color:rgba(255,255,255,.78);
    font-size:8.5px; font-weight:700; line-height:1.35;
    letter-spacing:.65px; text-transform:uppercase;
  }
  .location-photo-credits {
    display:none; margin-top:16px; padding:12px 14px;
    border:1px solid rgba(255,255,255,.10); border-radius:6px;
    color:rgba(10,38,71,.54); font-size:9px; line-height:1.65;
  }
  .location-photo-credits summary {
    cursor:pointer; color:rgba(255,255,255,.74);
    font-weight:700; letter-spacing:.6px; text-transform:uppercase;
  }
  .location-photo-credits div { margin-top:8px; }
  @media(max-width:900px) {
    .resort-gallery-modal.location-mode .resort-gallery-mosaic {
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }
  @media(max-width:560px) {
    .resort-gallery-modal.location-mode .resort-gallery-mosaic {
      grid-template-columns:1fr 1fr;
      gap:7px;
    }
    .location-gallery-label { left:10px!important; right:10px!important; bottom:9px!important; }
    .location-gallery-label strong { font-size:14px; }
    .location-gallery-label small { font-size:7.5px; }
  }


  /* === V65 BRIGHT LOCAL GUIDE === */
  .location-cover-photo,
  .location-gallery-thumb img {
    filter:none !important;
  }
  .resort-gallery-modal.location-mode .resort-gallery-mosaic {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
  }
  .location-gallery-thumb {
    aspect-ratio:4/3;
    border-radius:10px;
    overflow:hidden;
    background:#eef3f5;
    box-shadow:0 8px 24px rgba(0,0,0,.11);
  }
  .location-gallery-thumb img {
    object-fit:cover;
    object-position:center;
    transition:transform .25s ease;
  }
  .location-gallery-thumb:hover img { transform:scale(1.025); }
  .location-gallery-thumb::after {
    inset:52% 0 0;
    background:linear-gradient(transparent,rgba(4,16,29,.74));
  }
  .location-gallery-label strong {
    font-size:18px;
    text-shadow:0 1px 8px rgba(0,0,0,.25);
  }
  .location-gallery-label small {
    font-size:8px;
    color:rgba(255,255,255,.86);
  }
  @media(max-width:900px) {
    .resort-gallery-modal.location-mode .resort-gallery-mosaic {
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }


  /* === V66 OWNER REVEAL: stronger visual break === */
  .owner-reveal-v66 {
    position:relative;
    overflow:hidden;
    padding:74px 56px 70px;
    background:
      radial-gradient(circle at 88% 18%, rgba(255,255,255,.16), transparent 30%),
      linear-gradient(135deg,#C99559 0%,#D5A86D 56%,#E0BC89 100%);
    border-top:1px solid rgba(10,38,71,.08);
    border-bottom:1px solid rgba(10,38,71,.10);
    color:var(--navy);
  }
  .owner-reveal-v66::before {
    content:'';
    position:absolute;
    left:0; right:0; top:0;
    height:3px;
    background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(10,38,71,.16),rgba(255,255,255,.42));
  }
  .owner-reveal-watermark {
    position:absolute;
    right:-28px;
    bottom:-34px;
    font:700 124px/1 'Playfair Display',serif;
    letter-spacing:-4px;
    color:rgba(10,38,71,.045);
    pointer-events:none;
    white-space:nowrap;
  }
  .owner-reveal-inner-v66 {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:74px;
    align-items:center;
    max-width:1280px;
    margin:0 auto;
    position:relative;
    z-index:2;
  }
  .owner-reveal-kicker-v66 {
    color:var(--navy)!important;
  }
  .owner-reveal-kicker-v66::before {
    background:var(--navy)!important;
  }
  .owner-reveal-copy-v66 h2 {
    margin:14px 0 3px;
    color:var(--navy);
    font:600 48px/1.02 'Playfair Display',serif;
    max-width:650px;
  }
  .owner-reveal-copy-v66 .owner-reveal-answer {
    color:#fffaf2;
    font:600 43px/1.03 'Playfair Display',serif;
    max-width:650px;
  }
  .owner-reveal-copy-v66 .owner-reveal-sub {
    max-width:590px;
    margin-top:18px;
    color:rgba(10,38,71,.72);
    font-size:13px;
    line-height:1.7;
  }
  .owner-reveal-mini-proof {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:22px;
  }
  .owner-reveal-mini-proof span {
    padding:8px 10px;
    border:1px solid rgba(10,38,71,.12);
    border-radius:999px;
    color:rgba(10,38,71,.72);
    background:rgba(255,255,255,.30);
    font-size:8px;
    font-weight:800;
    letter-spacing:.8px;
    text-transform:uppercase;
  }
  .owner-reveal-action-v66 {
    display:flex;
    flex-direction:column;
  }
  .owner-reveal-stats-v66 {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .owner-reveal-stats-v66 .owner-reveal-stat {
    min-height:142px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:22px 18px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(10,38,71,.08);
    box-shadow:0 12px 28px rgba(10,38,71,.08);
    backdrop-filter:blur(8px);
  }
  .owner-reveal-stats-v66 .owner-reveal-stat strong {
    color:var(--navy);
    font-size:30px;
  }
  .owner-reveal-stats-v66 .owner-reveal-stat span {
    color:rgba(255,255,255,.52);
  }
  .owner-reveal-cta-v66 {
    margin-top:12px;
    min-height:76px;
    padding:16px 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:var(--navy)!important;
    color:#fff!important;
    border:1px solid var(--navy)!important;
    box-shadow:0 12px 32px rgba(10,38,71,.18);
  }
  .owner-reveal-cta-v66 span {
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  .owner-reveal-cta-v66 small {
    font-size:7.5px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    color:rgba(255,255,255,.58);
  }
  .owner-reveal-cta-v66 b {
    font-size:21px;
    font-weight:400;
  }
  .owner-reveal-note-v66 {
    margin-top:9px;
    color:rgba(10,38,71,.46);
  }

  @media(max-width:900px) {
    .owner-reveal-v66 { padding:64px 30px 60px; }
    .owner-reveal-inner-v66 {
      grid-template-columns:1fr;
      gap:34px;
    }
  }
  @media(max-width:620px) {
    .owner-reveal-v66 { padding:54px 20px 52px; }
    .owner-reveal-copy-v66 h2 { font-size:37px; }
    .owner-reveal-copy-v66 .owner-reveal-answer { font-size:34px; }
    .owner-reveal-stats-v66 { grid-template-columns:1fr 1fr 1fr; gap:6px; }
    .owner-reveal-stats-v66 .owner-reveal-stat {
      min-height:112px;
      padding:15px 10px;
    }
    .owner-reveal-stats-v66 .owner-reveal-stat strong { font-size:23px; }
    .owner-reveal-stats-v66 .owner-reveal-stat span { font-size:7.5px; }
    .owner-reveal-mini-proof { display:none; }
    .owner-reveal-cta-v66 { min-height:70px; }
  }


  /* === V69 UNIFIED REPUTATION / PRESENCE === */
  .verified-platforms-unified {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .verified-platforms-unified .verified-platform:nth-child(4n) {
    border-right:none;
  }
  .verified-platforms-unified .verified-platform:nth-child(-n+4) {
    border-bottom:1px solid var(--border);
  }
  .verified-platform-presence .presence-score {
    font:600 18px/1.2 'Playfair Display',serif;
    min-height:28px;
    display:flex;
    align-items:center;
  }
  .voice-search-card {
    cursor:default;
    background:linear-gradient(145deg,#fff,#f8f3e9);
  }
  .voice-search-card:hover {
    background:linear-gradient(145deg,#fff,#f8f3e9);
  }
  .voice-search-note {
    color:#806b4a;
  }
  @media(max-width:900px) {
    .verified-platforms-unified {
      grid-template-columns:1fr 1fr;
    }
    .verified-platforms-unified .verified-platform {
      border-right:1px solid var(--border);
      border-bottom:1px solid var(--border);
    }
    .verified-platforms-unified .verified-platform:nth-child(2n) {
      border-right:none;
    }
  }
  @media(max-width:620px) {
    .verified-platforms-unified {
      grid-template-columns:1fr;
    }
    .verified-platforms-unified .verified-platform {
      border-right:none!important;
    }
  }


  /* === V72 TOURIST LIVE GUIDE === */
  .location-info-card {
    min-width:0;
    border-radius:10px;
    overflow:hidden;
    background:#0d2134;
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 8px 24px rgba(0,0,0,.12);
  }
  .location-info-card .location-gallery-thumb {
    width:100%;
    display:block;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .location-live-link {
    min-height:42px;
    padding:9px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:#fff;
    background:rgba(255,255,255,.055);
    border-top:1px solid rgba(255,255,255,.09);
    text-decoration:none;
    font-size:8.5px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:.7px;
    text-transform:uppercase;
    transition:.2s;
  }
  .location-live-link:hover,
  .location-live-link:focus-visible {
    background:var(--gold);
    color:var(--navy);
    outline:none;
  }
  .location-live-link b {
    flex:0 0 auto;
    font-size:13px;
  }
  .local-live-guide {
    display:none;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.10);
  }
  .local-live-tool {
    min-height:104px;
    padding:14px;
    display:flex;
    flex-direction:column;
    text-decoration:none;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.10);
    border-radius:8px;
    transition:.2s;
  }
  .local-live-tool:hover,
  .local-live-tool:focus-visible {
    background:rgba(217,173,126,.13);
    border-color:rgba(217,173,126,.42);
    transform:translateY(-1px);
    outline:none;
  }
  .local-live-tool strong {
    color:#fff;
    font-size:11px;
    line-height:1.3;
    margin-bottom:5px;
  }
  .local-live-tool small {
    color:rgba(255,255,255,.52);
    font-size:8.5px;
    line-height:1.45;
    flex:1;
  }
  .local-live-tool span {
    margin-top:10px;
    color:var(--gold);
    font-size:7.8px;
    font-weight:800;
    letter-spacing:.65px;
    text-transform:uppercase;
  }
  .local-live-disclaimer {
    display:none;
    margin-top:10px;
    color:rgba(255,255,255,.42);
    font-size:8.5px;
    line-height:1.55;
  }
  .resort-gallery-modal.location-mode .resort-gallery-modal-title p {
    max-width:850px;
  }
  @media(max-width:900px) {
    .local-live-guide { grid-template-columns:1fr 1fr; }
  }
  @media(max-width:560px) {
    .location-live-link { min-height:46px; font-size:7.7px; padding:9px 10px; }
    .local-live-guide { grid-template-columns:1fr 1fr; gap:7px; }
    .local-live-tool { min-height:112px; padding:12px; }
  }


  /* === V73 LOCAL GUIDE HOMEPAGE DISCOVERY === */
  .local-guide-feature { position:relative; }
  .local-guide-badge {
    position:absolute;
    top:12px;
    right:12px;
    z-index:3;
    padding:7px 9px;
    border-radius:999px;
    background:rgba(217,173,126,.96);
    color:var(--navy);
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.9px;
    text-transform:uppercase;
    box-shadow:0 5px 16px rgba(0,0,0,.14);
  }
  @media(max-width:620px) {
    .local-guide-badge {
      top:9px;
      right:9px;
      padding:6px 8px;
      font-size:6.8px;
    }
  }


  /* === V74 HOLLYWOOD DINING DIRECTORY === */
  .location-live-link-button {
    width:100%;
    border:0;
    cursor:pointer;
    font-family:'Inter',sans-serif;
    text-align:left;
  }
  .dining-directory-modal {
    display:none;
    position:fixed;
    inset:0;
    z-index:130;
    padding:22px;
    background:rgba(4,16,29,.94);
    overflow:auto;
  }
  .dining-directory-modal.active { display:block; }
  body.dining-directory-open { overflow:hidden; }
  .dining-directory-shell {
    width:min(1320px,96vw);
    margin:0 auto;
    background:#071a2c;
    color:#fff;
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 28px 70px rgba(0,0,0,.38);
  }
  .dining-directory-head {
    padding:24px 26px 20px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .dining-directory-eyebrow {
    color:var(--gold);
    font-size:8px;
    font-weight:900;
    letter-spacing:1.6px;
    text-transform:uppercase;
  }
  .dining-directory-head h3 {
    margin:7px 0;
    color:#fff;
    font:600 34px/1.05 'Playfair Display',serif;
  }
  .dining-directory-head p {
    max-width:850px;
    margin:0;
    color:rgba(255,255,255,.58);
    font-size:10.5px;
    line-height:1.65;
  }
  .dining-directory-close {
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.32);
    background:rgba(255,255,255,.04);
    color:#fff;
    font-size:27px;
    cursor:pointer;
  }
  .dining-directory-live-row {
    padding:14px 26px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    background:rgba(217,173,126,.07);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .dining-directory-live-row a {
    padding:11px 13px;
    border:1px solid rgba(217,173,126,.32);
    border-radius:7px;
    color:var(--gold);
    text-decoration:none;
    font-size:8.5px;
    font-weight:800;
    letter-spacing:.65px;
    text-transform:uppercase;
  }
  .dining-directory-columns {
    padding:22px 26px 24px;
    display:grid;
    grid-template-columns:1.35fr .8fr;
    gap:26px;
  }
  .dining-directory-section-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
  }
  .dining-directory-section-head span {
    display:block;
    color:var(--gold);
    font-size:7.5px;
    font-weight:900;
    letter-spacing:1.3px;
    text-transform:uppercase;
  }
  .dining-directory-section-head h4 {
    margin:4px 0 0;
    color:#fff;
    font:600 23px/1.1 'Playfair Display',serif;
  }
  .dining-directory-section-head b {
    color:rgba(255,255,255,.42);
    font-size:8px;
    letter-spacing:.8px;
    text-transform:uppercase;
  }
  .dining-directory-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .dining-directory-card {
    min-height:112px;
    padding:13px;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(255,255,255,.10);
    border-radius:7px;
    background:rgba(255,255,255,.045);
    color:#fff;
    text-decoration:none;
    transition:.2s;
  }
  .dining-directory-card:hover,
  .dining-directory-card:focus-visible {
    transform:translateY(-1px);
    border-color:rgba(217,173,126,.42);
    background:rgba(217,173,126,.10);
    outline:none;
  }
  .dining-directory-card strong { font-size:10.5px; line-height:1.3; color:#fff; }
  .dining-directory-card span { margin-top:4px; color:rgba(255,255,255,.55); font-size:8.3px; line-height:1.4; }
  .dining-directory-card small { margin-top:3px; color:rgba(255,255,255,.38); font-size:7.8px; }
  .dining-directory-card b {
    margin-top:auto;
    padding-top:10px;
    color:var(--gold);
    font-size:7.4px;
    letter-spacing:.55px;
    text-transform:uppercase;
  }
  .dining-directory-note {
    padding:13px 26px 18px;
    border-top:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.38);
    font-size:8.3px;
    line-height:1.5;
  }
  @media(max-width:900px) {
    .dining-directory-columns { grid-template-columns:1fr; }
  }
  @media(max-width:620px) {
    .dining-directory-modal { padding:0; }
    .dining-directory-shell { width:100%; min-height:100vh; border:0; border-radius:0; }
    .dining-directory-head { padding:20px 16px 16px; }
    .dining-directory-head h3 { font-size:29px; }
    .dining-directory-live-row { padding:11px 16px; grid-template-columns:1fr; }
    .dining-directory-columns { padding:18px 16px; gap:24px; }
    .dining-directory-grid { grid-template-columns:1fr; }
    .dining-directory-card { min-height:98px; }
    .dining-directory-note { padding:12px 16px 18px; }
  }


  /* === V75 PROPERTY DETAIL CONVERSION UPGRADE === */
  .modal.property-modal-wide { max-width:1180px; }
  #booking-modal .modal-header { position:sticky; top:0; z-index:8; }
  .property-identity-strip { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:-4px 0 22px; padding:15px 17px; border:1px solid var(--border); background:linear-gradient(135deg,#fff,#f8f5ed); }
  .property-identity-strip > div:first-child { display:flex; align-items:center; flex-wrap:wrap; gap:8px 11px; }
  .property-building-pill { padding:6px 9px; background:var(--primary); color:#fff; border-radius:999px; font-size:7.5px; font-weight:800; letter-spacing:.9px; text-transform:uppercase; }
  .property-identity-strip strong { color:var(--primary); font:600 17px/1.25 'Playfair Display',serif; }
  .property-identity-strip small { width:100%; color:var(--text-muted); font-size:9px; }
  .property-direct-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
  .property-direct-badges span { padding:6px 8px; border:1px solid var(--border-gold); background:#fffaf2; color:#806b4a; border-radius:999px; font-size:7px; font-weight:800; letter-spacing:.65px; text-transform:uppercase; }
  .property-gallery-compact { margin-bottom:20px; }
  .property-gallery-preview { grid-template-columns:1.35fr .675fr .675fr; grid-template-rows:210px 210px; gap:8px; }
  .property-gallery-preview button { aspect-ratio:auto; }
  .property-gallery-preview button:first-child { grid-column:1; grid-row:1 / 3; }
  .property-gallery-preview button:nth-child(2) { grid-column:2; grid-row:1; }
  .property-gallery-preview button:nth-child(3) { grid-column:3; grid-row:1; }
  .property-gallery-preview button:nth-child(4) { grid-column:2; grid-row:2; }
  .property-gallery-preview button:nth-child(5) { grid-column:3; grid-row:2; }
  .property-gallery-preview img { object-fit:contain; background:#edf0ed; }
  .property-gallery-more { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; background:rgba(4,20,34,.54); color:#fff; font:600 24px/1 'Playfair Display',serif; }
  .property-gallery-more small { margin-top:6px; font:800 7px/1 'Inter',sans-serif; letter-spacing:1px; text-transform:uppercase; }
  .property-gallery-toggle { width:100%; min-height:44px; margin-top:8px; border:1px solid var(--primary); background:#fff; color:var(--primary); font:800 8.5px/1 'Inter',sans-serif; letter-spacing:.95px; text-transform:uppercase; cursor:pointer; }
  .property-gallery-toggle span { color:var(--gold-dark); margin-left:7px; }
  .property-gallery-extra { margin-top:8px; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .property-gallery-extra[hidden] { display:none!important; }
  .property-content-grid { grid-template-columns:minmax(0,1.5fr) minmax(330px,.78fr); gap:24px; }
  .property-content-grid > .booking-form { position:sticky; top:86px; box-shadow:0 14px 36px rgba(10,38,71,.08); }
  .property-resort-charges { margin:12px 0; padding:12px 13px; border-left:3px solid var(--gold); background:#fffaf1; color:var(--text-sec); }
  .property-resort-charges div { display:grid; gap:4px; }
  .property-resort-charges strong { color:var(--primary); font-size:10px; }
  .property-resort-charges span { font-size:9px; line-height:1.5; }
  .property-resort-charges small { display:block; margin-top:7px; padding-top:7px; border-top:1px solid rgba(217,173,126,.28); color:var(--text-muted); font-size:8px; line-height:1.45; }
  .property-resort-charges-compact { margin-top:14px; margin-bottom:0; }
  #booking-modal .modal-body { padding:26px; }
  #booking-modal .property-overview { margin:2px 0 16px; line-height:1.65; }
  #booking-modal .property-page-link { margin:-2px 0 20px; }
  @media(max-width:900px) {
    .property-identity-strip { align-items:flex-start; flex-direction:column; margin-bottom:16px; }
    .property-direct-badges { justify-content:flex-start; }
    .property-gallery-preview { grid-template-columns:1fr 1fr; grid-template-rows:280px 180px 180px; }
    .property-gallery-preview button:first-child { grid-column:1 / 3; grid-row:1; }
    .property-gallery-preview button:nth-child(n+2) { grid-column:auto; grid-row:auto; }
    .property-content-grid { grid-template-columns:1fr; }
    .property-content-grid > .booking-form { position:static; }
    .property-gallery-extra { grid-template-columns:repeat(3,1fr); }
  }
  @media(max-width:620px) {
    .modal-overlay.active { padding:0; }
    #booking-modal .modal { max-width:none; min-height:100vh; border-radius:0; }
    #booking-modal .modal-body { padding:16px; }
    #booking-modal .modal-header { padding:16px 18px; }
    .property-identity-strip { padding:12px; gap:12px; }
    .property-identity-strip strong { font-size:15px; }
    .property-direct-badges span { font-size:6.5px; }
    .property-gallery-head { align-items:flex-start; }
    .property-gallery-head h3 { font-size:19px; }
    .property-gallery-preview { grid-template-columns:1fr 1fr; grid-template-rows:230px 145px 145px; }
    .property-gallery-extra { grid-template-columns:1fr 1fr; }
    .modal-details { grid-template-columns:repeat(2,1fr); gap:7px; }
    .modal-detail { padding:11px 8px; }
    .booking-form { padding:18px 14px; }
  }


  /* === V76 MOBILE + CHECKOUT POLISH === */
  .checkout-steps {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    margin:-6px 0 17px;
  }
  .checkout-steps span {
    padding:7px 6px;
    border:1px solid var(--border);
    background:#fff;
    color:#82939d;
    text-align:center;
    font-size:7px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:.55px;
    text-transform:uppercase;
  }
  .checkout-steps span.active {
    border-color:rgba(217,173,126,.55);
    background:#fffaf2;
    color:var(--primary);
  }
  .checkout-section-title {
    margin:2px 0 10px;
    color:var(--primary);
    font-size:8px;
    font-weight:900;
    letter-spacing:1.15px;
    text-transform:uppercase;
  }
  .checkout-review-title { margin-top:18px; }
  .checkout-payment-step { margin:0 0 10px; }
  .price-separate-note {
    margin-top:8px;
    padding-top:8px;
    border-top:1px dashed var(--border);
    color:var(--text-muted);
    font-size:8.5px;
    line-height:1.45;
  }
  .property-mobile-checkout-bar { display:none; }
  body.booking-modal-open .mobile-book-bar { display:none!important; }

  @media(max-width:620px) {
    #booking-modal .modal-body { padding-bottom:92px; }
    #booking-panel { scroll-margin-top:72px; }
    .checkout-date-fields { display:none; }
    .quote-context {
      margin-bottom:14px;
      padding:10px 11px;
      background:#fff;
      border:1px solid var(--border);
      border-radius:5px;
    }
    .quote-context span { font-size:10.5px; }
    .quote-context button { min-height:34px; padding:0 10px; }
    .booking-form-title { margin-bottom:14px; font-size:19px; }
    .checkout-steps { gap:4px; margin-bottom:14px; }
    .checkout-steps span { font-size:6.6px; padding:7px 4px; }
    #b-note { min-height:76px; }
    .discount-code-box { padding:12px; }
    .discount-code-controls { display:grid; grid-template-columns:1fr auto; }
    .discount-code-controls .discount-remove { grid-column:1 / -1; }
    .price-summary { margin:12px 0; padding:14px; }
    .price-row { font-size:12px; }
    .price-row.total { font-size:15px; }
    .property-resort-charges { margin:10px 0; padding:11px; }
    .booking-reassurance { margin:12px 0; padding:13px; }
    .booking-reassurance-actions { gap:6px; }
    .booking-help-link { min-height:52px; }
    .booking-trust-grid { margin-top:10px; padding-top:10px; }
    .booking-trust-item span { font-size:8.4px; }
    .payment-option { margin-top:15px; padding-top:15px; }
    .payment-option-copy { font-size:10px; }
    #payment-btn { min-height:54px; font-size:10.5px; }
    .property-mobile-checkout-bar {
      position:sticky;
      bottom:0;
      z-index:15;
      margin:24px -16px -92px;
      padding:10px 12px calc(10px + env(safe-area-inset-bottom));
      display:grid;
      grid-template-columns:1fr auto;
      gap:12px;
      align-items:center;
      background:rgba(255,255,255,.98);
      border-top:1px solid var(--border);
      box-shadow:0 -8px 26px rgba(10,38,71,.12);
      backdrop-filter:blur(10px);
    }
    .property-mobile-checkout-bar div { display:grid; gap:2px; }
    .property-mobile-checkout-bar small {
      color:var(--text-muted);
      font-size:7px;
      font-weight:800;
      letter-spacing:.75px;
      text-transform:uppercase;
    }
    .property-mobile-checkout-bar strong {
      color:var(--primary);
      font:600 18px/1.1 'Playfair Display',serif;
    }
    .property-mobile-checkout-bar button {
      min-height:46px;
      min-width:126px;
      padding:0 15px;
      border:0;
      border-radius:4px;
      background:var(--gold);
      color:var(--navy);
      font-size:8.5px;
      font-weight:900;
      letter-spacing:.8px;
      text-transform:uppercase;
      cursor:pointer;
    }
    .stripe-fields-row { grid-template-columns:1fr 1fr; }
    .payment-security { flex-wrap:wrap; line-height:1.4; }
  }


  /* === V77 SMART CONTACT / WHATSAPP === */
  .floating-whatsapp {
    width:auto;
    min-width:54px;
    padding:0 15px;
    gap:7px;
    text-decoration:none;
  }
  .floating-whatsapp small {
    display:none;
    font-size:8px;
    font-weight:800;
    letter-spacing:.7px;
    text-transform:uppercase;
  }
  .floating-whatsapp:hover small { display:inline; }

  .footer-help-strip {
    max-width:1280px;
    margin:0 auto 32px;
    padding:17px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border:1px solid rgba(217,173,126,.25);
    background:rgba(255,255,255,.035);
  }
  .footer-help-strip > div:first-child {
    display:flex;
    flex-direction:column;
    gap:3px;
  }
  .footer-help-strip span {
    color:rgba(255,255,255,.48);
    font-size:8px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
  }
  .footer-help-strip strong {
    color:#fff;
    font:600 19px/1.2 'Playfair Display',serif;
  }
  .footer-help-actions {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
  }
  .footer-help-actions a {
    min-height:40px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(217,173,126,.45);
    color:#fff;
    text-decoration:none;
    font-size:8px;
    font-weight:800;
    letter-spacing:.75px;
    text-transform:uppercase;
    transition:.2s;
  }
  .footer-help-actions a:first-child {
    background:var(--gold);
    border-color:var(--gold);
    color:var(--navy);
  }
  .footer-help-actions a:hover {
    transform:translateY(-1px);
    border-color:var(--gold);
  }
  .footer-contact-highlight {
    color:var(--gold)!important;
    font-weight:700!important;
  }
  @media(max-width:700px) {
    .floating-whatsapp {
      width:54px;
      min-width:54px;
      padding:0;
    }
    .floating-whatsapp small { display:none!important; }
    .footer-help-strip {
      margin-bottom:26px;
      align-items:flex-start;
      flex-direction:column;
    }
    .footer-help-actions {
      width:100%;
      display:grid;
      grid-template-columns:1fr 1fr;
    }
  }
  @media(max-width:430px) {
    .footer-help-actions { grid-template-columns:1fr; }
  }


  /* === V78 CLEAN APARTMENT GALLERIES === */
  .unit-gallery-separation-note {
    margin:-10px 0 16px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border-left:3px solid var(--gold);
    background:#fffaf2;
  }
  .unit-gallery-separation-note span {
    color:var(--text-muted);
    font-size:8.5px;
    line-height:1.45;
  }
  .unit-gallery-separation-note button {
    flex:0 0 auto;
    border:0;
    padding:0;
    background:none;
    color:#806b4a;
    font-family:'Inter',sans-serif;
    font-size:7.5px;
    font-weight:800;
    letter-spacing:.65px;
    text-transform:uppercase;
    cursor:pointer;
  }
  @media(max-width:620px) {
    .unit-gallery-separation-note {
      align-items:flex-start;
      flex-direction:column;
      gap:7px;
    }
  }


  /* === V79 SMART STAY FILTERS === */
  .stay-filter-bar {
    display:flex;
    align-items:center;
    gap:7px;
    margin:-8px 0 22px;
    padding-bottom:2px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .stay-filter-bar::-webkit-scrollbar { display:none; }

  .stay-filter {
    flex:0 0 auto;
    min-height:36px;
    padding:0 11px 0 13px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    color:#667a86;
    font-family:'Inter',sans-serif;
    font-size:8px;
    font-weight:800;
    letter-spacing:.65px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.18s;
  }
  .stay-filter b {
    min-width:20px;
    height:20px;
    padding:0 5px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#f4efe5;
    color:#806b4a;
    font-size:7.5px;
    font-weight:800;
  }
  .stay-filter:hover {
    border-color:rgba(217,173,126,.75);
    color:var(--primary);
  }
  .stay-filter.active {
    background:var(--primary);
    border-color:var(--primary);
    color:#fff;
  }
  .stay-filter.active b {
    background:var(--gold);
    color:var(--navy);
  }
  .stay-filter.zero {
    opacity:.44;
  }

  .listing-card[hidden] { display:none!important; }

  .stay-filter-empty {
    margin:0 0 20px;
    padding:16px 18px;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border:1px solid var(--border-gold);
    background:#fffaf2;
  }
  .stay-filter-empty:not([hidden]) { display:flex; }
  .stay-filter-empty strong {
    color:var(--primary);
    font:600 16px/1.2 'Playfair Display',serif;
  }
  .stay-filter-empty span {
    flex:1;
    color:var(--text-muted);
    font-size:9px;
  }
  .stay-filter-empty button {
    flex:0 0 auto;
    border:0;
    background:var(--primary);
    color:#fff;
    padding:10px 12px;
    font-size:7.5px;
    font-weight:800;
    letter-spacing:.7px;
    text-transform:uppercase;
    cursor:pointer;
  }

  @media(max-width:620px) {
    #listings-section { padding-top:26px; }
    .listings-header { margin-bottom:19px; }
    .stay-filter-bar {
      margin:-4px -4px 18px;
      padding:0 4px 4px;
    }
    .stay-filter { min-height:34px; }
    .stay-filter-empty:not([hidden]) {
      align-items:flex-start;
      flex-direction:column;
    }
    .stay-filter-empty button { width:100%; }
  }


  /* === V80 PROPERTY CONFIDENCE LAYER === */
  .property-confidence {
    margin:0 0 22px;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);
    gap:12px;
  }

  .property-confidence-main,
  .property-reputation {
    border:1px solid var(--border);
    background:#fff;
  }

  .property-confidence-main {
    padding:17px;
    background:linear-gradient(135deg,#fff 0%,#fbf7ef 100%);
  }

  .property-confidence-head {
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-bottom:13px;
  }

  .property-confidence-head > span,
  .property-reputation-title > span {
    color:#9a7549;
    font-size:7.5px;
    font-weight:900;
    letter-spacing:1.2px;
    text-transform:uppercase;
  }

  .property-confidence-head strong {
    color:var(--primary);
    font:600 20px/1.15 'Playfair Display',serif;
  }

  .property-confidence-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border:1px solid var(--border);
    background:#fff;
  }

  .property-confidence-grid > div {
    min-height:78px;
    padding:12px 10px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid var(--border);
  }

  .property-confidence-grid > div:last-child {
    border-right:0;
  }

  .property-confidence-grid b {
    color:var(--primary);
    font:600 17px/1.1 'Playfair Display',serif;
  }

  .property-confidence-grid span {
    margin-top:5px;
    color:var(--text-muted);
    font-size:7.5px;
    line-height:1.35;
    text-transform:uppercase;
    letter-spacing:.55px;
  }

  .property-stay-quickfacts {
    margin-top:10px;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
  }

  .property-stay-quickfacts span {
    padding:7px 9px;
    border-radius:999px;
    background:#f4f1e8;
    color:#617480;
    font-size:7.8px;
    line-height:1;
  }

  .property-stay-quickfacts b {
    color:var(--primary);
    font-weight:800;
  }

  .property-local-actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
  }

  .property-local-actions button {
    min-height:36px;
    padding:0 12px;
    border:1px solid var(--border-gold);
    background:#fff;
    color:#806b4a;
    font-family:'Inter',sans-serif;
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.65px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.18s;
  }

  .property-local-actions button:hover {
    background:var(--gold);
    border-color:var(--gold);
    color:var(--navy);
  }

  .property-reputation {
    padding:17px;
    display:flex;
    flex-direction:column;
  }

  .property-reputation-title {
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-bottom:11px;
  }

  .property-reputation-title strong {
    color:var(--primary);
    font:600 18px/1.15 'Playfair Display',serif;
  }

  .property-reputation-title small {
    color:var(--text-muted);
    font-size:7.8px;
    line-height:1.4;
  }

  .property-reputation-scores {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
  }

  .property-reputation-scores a {
    min-height:50px;
    padding:9px 10px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid var(--border);
    background:#fcfcfa;
    text-decoration:none;
    transition:.18s;
  }

  .property-reputation-scores a:last-child {
    grid-column:1 / 3;
  }

  .property-reputation-scores a:hover {
    border-color:var(--border-gold);
    background:#fffaf2;
  }

  .property-reputation-scores span {
    color:var(--text-muted);
    font-size:7.3px;
    font-weight:800;
    letter-spacing:.65px;
    text-transform:uppercase;
  }

  .property-reputation-scores b {
    margin-top:3px;
    color:var(--primary);
    font:600 15px/1 'Playfair Display',serif;
  }

  .property-reputation-link {
    margin-top:auto;
    padding-top:11px;
    color:#806b4a;
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.65px;
    text-transform:uppercase;
    text-decoration:none;
  }

  @media(max-width:900px) {
    .property-confidence {
      grid-template-columns:1fr;
    }
    .property-confidence-grid {
      grid-template-columns:repeat(2,1fr);
    }
    .property-confidence-grid > div:nth-child(2) {
      border-right:0;
    }
    .property-confidence-grid > div:nth-child(-n+2) {
      border-bottom:1px solid var(--border);
    }
  }

  @media(max-width:620px) {
    .property-confidence {
      margin-bottom:17px;
    }

    .property-confidence-main,
    .property-reputation {
      padding:14px;
    }

    .property-confidence-head strong {
      font-size:18px;
    }

    .property-confidence-grid > div {
      min-height:68px;
      padding:10px 9px;
    }

    .property-confidence-grid b {
      font-size:15px;
    }

    .property-local-actions {
      display:grid;
      grid-template-columns:1fr;
    }

    .property-local-actions button {
      width:100%;
    }
  }


  /* === V81 PERFORMANCE === */
  #amenidades,
  #about,
  .owner-reveal-home,
  .verified-section,
  #faq,
  #footer {
    content-visibility:auto;
    contain-intrinsic-size:1px 900px;
  }
  #about,
  .owner-reveal-home,
  .verified-section {
    contain-intrinsic-size:1px 650px;
  }
  #faq,
  #footer {
    contain-intrinsic-size:1px 500px;
  }


  /* === V83 COMPACT HOME === */
  .direct-mini-section {
    padding:0;
    background:#f7f2e8;
    border-top:1px solid rgba(37,64,77,.08);
    border-bottom:1px solid rgba(37,64,77,.08);
  }

  .direct-mini-wrap {
    min-height:180px;
    padding-top:34px!important;
    padding-bottom:34px!important;
    display:grid;
    grid-template-columns:1fr auto;
    gap:32px;
    align-items:center;
  }

  .direct-mini-copy {
    max-width:850px;
  }

  .direct-mini-title-row {
    margin-top:8px;
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
  }

  .direct-mini-title-row h2 {
    margin:0;
    color:var(--primary);
    font:600 30px/1.05 'Playfair Display',serif;
  }

  .direct-mini-offer {
    padding:7px 9px;
    border-radius:999px;
    background:var(--gold);
    color:var(--navy);
    font-size:7.5px;
    font-weight:900;
    letter-spacing:.8px;
    text-transform:uppercase;
  }

  .direct-mini-copy p {
    margin:9px 0 5px;
    color:var(--text-sec);
    font-size:11px;
    line-height:1.55;
  }

  .direct-mini-copy small {
    display:block;
    color:var(--text-muted);
    font-size:7.8px;
    line-height:1.45;
  }

  .direct-mini-cta {
    min-height:50px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    border:0;
    background:var(--primary);
    color:#fff;
    font-family:'Inter',sans-serif;
    font-size:8.5px;
    font-weight:900;
    letter-spacing:.85px;
    text-transform:uppercase;
    cursor:pointer;
    white-space:nowrap;
  }

  .direct-mini-cta b {
    color:var(--gold);
    font-size:16px;
    font-weight:400;
  }

  .faq-section-compact {
    padding-top:52px!important;
    padding-bottom:54px!important;
  }

  .faq-compact-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:20px;
  }

  .faq-compact-head .section-title {
    margin-bottom:0;
  }

  .faq-compact-head > p {
    max-width:470px;
    margin:0;
    color:var(--text-muted);
    font-size:9.5px;
    line-height:1.55;
  }

  .faq-grid-compact {
    grid-template-columns:1fr 1fr;
    gap:8px 12px;
  }

  .faq-grid-compact .faq-item {
    margin:0;
  }

  .faq-grid-compact .faq-item summary {
    min-height:48px;
    padding:13px 14px;
    font-size:9.5px;
  }

  .faq-grid-compact .faq-item p {
    padding:0 14px 14px;
    font-size:9px;
    line-height:1.55;
  }

  .faq-compact-footer {
    margin-top:14px;
    padding-top:13px;
    display:flex;
    align-items:center;
    gap:14px;
    border-top:1px solid var(--border);
    color:var(--text-muted);
    font-size:8.2px;
  }

  .faq-compact-footer a {
    color:#806b4a;
    font-weight:800;
    letter-spacing:.55px;
    text-transform:uppercase;
    text-decoration:none;
  }

  @media(max-width:800px) {
    .direct-mini-wrap {
      min-height:auto;
      grid-template-columns:1fr;
      gap:18px;
    }
    .direct-mini-cta {
      width:100%;
    }
    .faq-compact-head {
      align-items:flex-start;
      flex-direction:column;
      gap:10px;
    }
    .faq-grid-compact {
      grid-template-columns:1fr;
    }
  }

  @media(max-width:620px) {
    .direct-mini-wrap {
      padding-top:28px!important;
      padding-bottom:28px!important;
    }
    .direct-mini-title-row h2 {
      font-size:25px;
    }
    .faq-section-compact {
      padding-top:42px!important;
      padding-bottom:44px!important;
    }
    .faq-compact-footer {
      align-items:flex-start;
      flex-direction:column;
      gap:8px;
    }
  }


  /* === V84 SAVED STAYS / SHORTLIST === */
  .stay-filter-saved {
    border-color:rgba(217,173,126,.52);
  }
  .stay-filter-saved span {
    color:#806b4a;
  }
  .stay-filter-saved.active span {
    color:#fff;
  }

  .card-save-button {
    position:absolute;
    z-index:4;
    top:10px;
    right:10px;
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.72);
    border-radius:999px;
    background:rgba(10,38,71,.70);
    color:#fff;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    cursor:pointer;
    box-shadow:0 3px 10px rgba(10,38,71,.18);
    transition:.18s;
  }
  .card-save-button:hover {
    transform:scale(1.06);
    background:var(--primary);
  }
  .card-save-button.saved {
    background:var(--gold);
    border-color:var(--gold);
    color:var(--navy);
  }
  .card-save-button span {
    font-size:19px;
    line-height:1;
  }

  .property-direct-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:9px;
  }
  .property-save-button {
    min-height:34px;
    padding:0 11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:1px solid var(--border-gold);
    border-radius:999px;
    background:#fff;
    color:#806b4a;
    font-family:'Inter',sans-serif;
    font-size:7px;
    font-weight:900;
    letter-spacing:.65px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.18s;
  }
  .property-save-button [data-save-icon] {
    font-size:14px;
    line-height:1;
  }
  .property-save-button:hover,
  .property-save-button.saved {
    background:var(--gold);
    border-color:var(--gold);
    color:var(--navy);
  }

  @media(max-width:900px) {
    .property-direct-actions {
      justify-content:flex-start;
    }
  }

  @media(max-width:620px) {
    .card-save-button {
      width:34px;
      height:34px;
      top:8px;
      right:8px;
    }
    .property-direct-actions {
      width:100%;
      align-items:flex-start;
      flex-direction:column;
    }
    .property-save-button {
      min-height:36px;
    }
  }


  /* === V85 SHORTLIST COMPARE / SHARE / ACCESSIBILITY === */
  .skip-link {
    position:fixed;
    left:14px;
    top:-60px;
    z-index:10000;
    padding:10px 14px;
    background:var(--gold);
    color:var(--navy);
    font-size:10px;
    font-weight:900;
    text-decoration:none;
    transition:top .15s;
  }
  .skip-link:focus { top:12px; }

  .stay-compare-trigger {
    flex:0 0 auto;
    min-height:36px;
    padding:0 13px;
    border:1px solid var(--primary);
    border-radius:999px;
    background:#fff;
    color:var(--primary);
    font:800 8px/1 'Inter',sans-serif;
    letter-spacing:.65px;
    text-transform:uppercase;
    cursor:pointer;
  }
  .stay-compare-trigger:disabled {
    opacity:.38;
    cursor:not-allowed;
  }

  .property-share-button {
    min-height:34px;
    padding:0 11px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    color:var(--primary);
    font:900 7px/1 'Inter',sans-serif;
    letter-spacing:.65px;
    text-transform:uppercase;
    cursor:pointer;
  }
  .property-share-button:hover {
    border-color:var(--gold);
    background:#fffaf2;
  }

  .share-toast {
    position:fixed;
    left:50%;
    bottom:28px;
    z-index:10000;
    transform:translate(-50%,20px);
    opacity:0;
    pointer-events:none;
    padding:11px 15px;
    border:1px solid rgba(217,173,126,.7);
    background:var(--primary);
    color:#fff;
    box-shadow:0 12px 30px rgba(10,38,71,.22);
    font-size:9px;
    font-weight:800;
    letter-spacing:.5px;
    transition:.2s;
  }
  .share-toast.show {
    opacity:1;
    transform:translate(-50%,0);
  }

  .saved-compare-overlay.active {
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .saved-compare-modal {
    width:min(1180px,calc(100% - 28px));
    max-height:min(88vh,900px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#f8f7f2;
    box-shadow:0 28px 80px rgba(4,16,29,.28);
  }
  .saved-compare-head {
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 20px;
    background:var(--primary);
    color:#fff;
  }
  .saved-compare-head span {
    color:var(--gold);
    font-size:7px;
    font-weight:900;
    letter-spacing:1.1px;
    text-transform:uppercase;
  }
  .saved-compare-head h3 {
    margin:3px 0 0;
    color:#fff;
    font:600 24px/1 'Playfair Display',serif;
  }
  .saved-compare-close {
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:50%;
    background:transparent;
    color:#fff;
    font-size:24px;
    cursor:pointer;
  }
  .saved-compare-body {
    min-height:0;
    overflow:auto;
    padding:18px;
  }
  .saved-compare-grid {
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(260px,310px);
    gap:12px;
    overflow-x:auto;
    padding-bottom:6px;
    scroll-snap-type:x proximity;
  }
  .saved-compare-card {
    position:relative;
    scroll-snap-align:start;
    border:1px solid var(--border);
    background:#fff;
  }
  .saved-compare-remove {
    position:absolute;
    top:8px;
    right:8px;
    z-index:2;
    width:30px;
    height:30px;
    border:1px solid rgba(255,255,255,.7);
    border-radius:50%;
    background:rgba(10,38,71,.72);
    color:#fff;
    cursor:pointer;
  }
  .saved-compare-image {
    height:170px;
    background:#edf0ed;
  }
  .saved-compare-image img {
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .saved-compare-info {
    padding:15px;
  }
  .saved-compare-building {
    color:#9a7549;
    font-size:7px;
    font-weight:900;
    letter-spacing:.9px;
    text-transform:uppercase;
  }
  .saved-compare-info h4 {
    min-height:48px;
    margin:5px 0 11px;
    color:var(--primary);
    font:600 18px/1.3 'Playfair Display',serif;
  }
  .saved-compare-info dl {
    margin:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid var(--border);
  }
  .saved-compare-info dl > div {
    padding:8px 9px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }
  .saved-compare-info dl > div:nth-child(even){border-right:0}
  .saved-compare-info dl > div:nth-last-child(-n+2){border-bottom:0}
  .saved-compare-info dt {
    color:var(--text-muted);
    font-size:6.8px;
    font-weight:800;
    letter-spacing:.6px;
    text-transform:uppercase;
  }
  .saved-compare-info dd {
    margin:2px 0 0;
    color:var(--primary);
    font-size:11px;
    font-weight:700;
  }
  .saved-compare-rate {
    margin-top:10px;
    padding:10px;
    background:#f8f5ed;
  }
  .saved-compare-rate small,
  .saved-compare-rate em {
    display:block;
    color:var(--text-muted);
    font-size:7.2px;
    font-style:normal;
    line-height:1.4;
  }
  .saved-compare-rate strong {
    display:block;
    margin:3px 0;
    color:var(--primary);
    font:600 18px/1 'Playfair Display',serif;
  }
  .saved-compare-card-actions {
    margin-top:11px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:7px;
  }
  .saved-compare-card-actions button,
  .saved-compare-actions button {
    min-height:39px;
    border:0;
    background:var(--primary);
    color:#fff;
    padding:0 12px;
    font:800 7.5px/1 'Inter',sans-serif;
    letter-spacing:.65px;
    text-transform:uppercase;
    cursor:pointer;
  }
  .saved-compare-card-actions .secondary,
  .saved-compare-actions .secondary {
    border:1px solid var(--primary);
    background:#fff;
    color:var(--primary);
  }
  .saved-compare-footer {
    flex:0 0 auto;
    min-height:68px;
    padding:13px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-top:1px solid var(--border);
    background:#fff;
  }
  #saved-share-status {
    color:var(--text-muted);
    font-size:8px;
  }
  .saved-compare-actions {
    display:flex;
    gap:8px;
  }
  .saved-compare-empty {
    min-height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:7px;
    text-align:center;
  }
  .saved-compare-empty strong {
    color:var(--primary);
    font:600 22px/1.2 'Playfair Display',serif;
  }
  .saved-compare-empty span {
    color:var(--text-muted);
    font-size:10px;
  }

  @media(max-width:620px) {
    .stay-compare-trigger { min-height:34px; }
    .saved-compare-modal {
      width:100%;
      max-height:100vh;
      min-height:100vh;
    }
    .saved-compare-head { padding:16px; }
    .saved-compare-body { padding:12px; }
    .saved-compare-grid {
      grid-auto-columns:minmax(82vw,82vw);
    }
    .saved-compare-footer {
      align-items:stretch;
      flex-direction:column;
    }
    .saved-compare-actions {
      display:grid;
      grid-template-columns:1fr 1fr;
    }
    .property-share-button,
    .property-save-button {
      width:auto;
    }
  }


  /* === V86 POLICY CONSISTENCY / RECOVERY / DINING SEARCH === */
  .availability-recovery{padding:28px 24px;border:1px solid var(--border-gold);background:linear-gradient(135deg,#fff,#fffaf2);text-align:center}.availability-recovery>span{color:#9a7549;font-size:7.5px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.availability-recovery h3{margin:6px 0;color:var(--primary);font:600 23px/1.15 'Playfair Display',serif}.availability-recovery p{margin:0 auto 14px;max-width:640px;color:var(--text-muted);font-size:10px}.availability-recovery>div{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.availability-recovery button,.availability-recovery a{min-height:40px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--primary);color:#fff;font:800 7.5px/1 'Inter',sans-serif;letter-spacing:.65px;text-transform:uppercase;text-decoration:none;cursor:pointer}.availability-recovery .secondary{border:1px solid var(--primary);background:#fff;color:var(--primary)}.availability-recovery a{background:var(--gold);color:var(--navy)}
  .dining-directory-search-row{padding:12px 26px;display:grid;grid-template-columns:1.15fr .85fr auto;gap:10px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}.dining-directory-search-row label span{display:block;margin-bottom:5px;color:rgba(255,255,255,.45);font-size:7px;font-weight:900;letter-spacing:.85px;text-transform:uppercase}.dining-directory-search-row input{width:100%;min-height:42px;padding:0 12px;border:1px solid rgba(217,173,126,.32);border-radius:5px;outline:none;background:#0b2238;color:#fff;font-family:'Inter',sans-serif;font-size:10px}.dining-directory-search-row input:focus{border-color:var(--gold)}.dining-perks-ready{padding:9px 11px;border-left:3px solid var(--gold);background:rgba(217,173,126,.08)}.dining-perks-ready b{display:block;color:var(--gold);font-size:7.2px;letter-spacing:.7px;text-transform:uppercase}.dining-perks-ready span{display:block;margin-top:3px;color:rgba(255,255,255,.48);font-size:7.5px;line-height:1.4}#dining-search-count{min-width:58px;color:rgba(255,255,255,.45);font-size:7.5px;text-align:right}.dining-directory-card[hidden]{display:none!important}.dining-confirmed-perk{margin-top:auto;padding-top:8px;border-top:1px solid rgba(217,173,126,.28);display:grid;gap:2px}.dining-confirmed-perk span{color:var(--gold)!important;font-size:6.5px!important;font-weight:900!important;letter-spacing:.7px!important;text-transform:uppercase!important}.dining-confirmed-perk b{color:#fff!important;font:600 15px/1.1 'Playfair Display',serif!important;text-transform:none!important;letter-spacing:0!important}.dining-confirmed-perk small{color:rgba(255,255,255,.46)!important;font-size:6.8px!important;line-height:1.35!important}@media(max-width:760px){.dining-directory-search-row{grid-template-columns:1fr;padding:12px 14px}#dining-search-count{text-align:left}.availability-recovery>div{display:grid;grid-template-columns:1fr}}


  @media(max-width:820px){.hero::before{background-image:linear-gradient(90deg,rgba(10,38,71,.74) 0%,rgba(10,38,71,.48) 55%,rgba(10,38,71,.18) 100%),url('assets/responsive-hero/hero-768.webp')}}
  @media(min-width:821px) and (max-width:1400px){.hero::before{background-image:linear-gradient(90deg,rgba(10,38,71,.74) 0%,rgba(10,38,71,.48) 55%,rgba(10,38,71,.18) 100%),url('assets/responsive-hero/hero-1280.webp')}}


  @media(max-width:620px){
    #booking-modal .property-gallery-preview{display:grid;grid-auto-flow:column;grid-auto-columns:86%;grid-template-columns:none;grid-template-rows:250px;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding-bottom:4px;scrollbar-width:none}
    #booking-modal .property-gallery-preview::-webkit-scrollbar{display:none}
    #booking-modal .property-gallery-preview button,#booking-modal .property-gallery-preview button:first-child,#booking-modal .property-gallery-preview button:nth-child(n+2){grid-column:auto;grid-row:auto;scroll-snap-align:center;aspect-ratio:auto}
    #booking-modal .property-gallery-preview img{object-fit:contain}
  }


  /* === V88 SEARCH MEMORY / RECENT / UX === */
  .search-resume{max-width:1100px;margin:-8px auto 12px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(217,173,126,.48);background:#fffaf2}
  .search-resume[hidden]{display:none!important}.search-resume>div:first-child{display:flex;flex-direction:column;gap:2px}.search-resume span{color:#9a7549;font-size:7px;font-weight:900;letter-spacing:.85px;text-transform:uppercase}.search-resume strong{color:var(--primary);font-size:10px}.search-resume-actions{display:flex;gap:6px}.search-resume button{min-height:34px;padding:0 11px;border:0;background:var(--primary);color:#fff;font-size:7px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;cursor:pointer}.search-resume button.secondary{border:1px solid var(--primary);background:#fff;color:var(--primary)}
  .recently-viewed{margin:0 0 18px;padding:13px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.recently-viewed[hidden]{display:none!important}.recently-viewed-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:9px}.recently-viewed-head>div{display:flex;flex-direction:column}.recently-viewed-head span{color:#9a7549;font-size:6.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.recently-viewed-head strong{color:var(--primary);font:600 17px/1.2 'Playfair Display',serif}.recently-viewed-head button{border:0;background:none;color:var(--text-muted);font-size:7px;font-weight:800;text-transform:uppercase;cursor:pointer}.recently-viewed-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,250px);gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:3px;scrollbar-width:none}.recently-viewed-track::-webkit-scrollbar{display:none}.recent-card{scroll-snap-align:start;display:grid;grid-template-columns:84px 1fr;gap:9px;align-items:center;padding:7px;border:1px solid var(--border);background:#fff;text-align:left;cursor:pointer}.recent-card img{width:84px;height:62px;object-fit:cover;background:#edf0ed}.recent-card span{min-width:0;display:flex;flex-direction:column}.recent-card small{color:#9a7549;font-size:6px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}.recent-card strong{margin-top:2px;color:var(--primary);font:600 12px/1.25 'Playfair Display',serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .card-highlights{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.card-highlights span{padding:4px 6px;border-radius:999px;background:#f7f3ea;color:#806b4a;font-size:6.3px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}.card-price-label{margin-bottom:2px;color:#9a7549;font-size:6px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}
  .listing-skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.listing-skeleton{border:1px solid var(--border);background:#fff;padding-bottom:14px;overflow:hidden}.skeleton-img{height:220px;background:linear-gradient(90deg,#edf0ed 25%,#f7f7f4 37%,#edf0ed 63%);background-size:400% 100%;animation:skeletonShimmer 1.3s ease infinite}.skeleton-line{height:10px;margin:12px 14px 0;border-radius:10px;background:#edf0ed}.skeleton-line.wide{width:75%}.skeleton-line.short{width:42%}@keyframes skeletonShimmer{0%{background-position:100% 0}100%{background-position:0 0}}
  :focus-visible{outline:3px solid rgba(217,173,126,.75);outline-offset:3px}
  @media(max-width:900px){.listing-skeleton-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:620px){.search-resume{margin:0 14px 10px;align-items:flex-start;flex-direction:column}.search-resume-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.listing-skeleton-grid{grid-template-columns:1fr}.skeleton-img{height:240px}.recently-viewed-track{grid-auto-columns:82vw}}


.local-guide-filters{padding:11px 26px;display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.08);background:#0a2034;scrollbar-width:none}.local-guide-filters[hidden]{display:none!important}.local-guide-filters::-webkit-scrollbar{display:none}.local-guide-filters button{flex:0 0 auto;min-height:32px;padding:0 10px;border:1px solid rgba(217,173,126,.28);border-radius:999px;background:transparent;color:rgba(255,255,255,.66);font:800 7px/1 'Inter',sans-serif;letter-spacing:.65px;text-transform:uppercase;cursor:pointer}.local-guide-filters button.active{background:#d9ad7e;border-color:#d9ad7e;color:#0a2647}.location-info-card[hidden],.local-live-tool[hidden]{display:none!important}@media(max-width:620px){.local-guide-filters{padding:10px 14px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

  /* === V94 SEPARATE RESORT EXPERIENCES === */
  .resort-experience-master-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:22px}
  .resort-experience-proof{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
  .resort-experience-proof span{padding:7px 9px;border:1px solid rgba(217,173,126,.46);background:#fffaf2;color:#806b4a;font-size:7px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}
  .resort-experience-switcher{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}
  .resort-switch-button{min-height:62px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:5px;background:#fff;color:var(--primary);cursor:pointer;transition:.18s}
  .resort-switch-button span{font:600 17px/1.1 'Playfair Display',serif}.resort-switch-button b{color:var(--text-muted);font-size:7px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}
  .resort-switch-button:hover,.resort-switch-button.active{border-color:var(--gold);background:var(--primary);color:#fff}.resort-switch-button.active b,.resort-switch-button:hover b{color:var(--gold)}
  .resort-experience-pane{padding:22px;border:1px solid var(--border);background:rgba(255,255,255,.54)}.resort-experience-pane[hidden]{display:none!important}
  .resort-pane-head{margin:0 0 18px}.resort-pane-title{margin:4px 0 7px;color:var(--primary);font:600 30px/1.08 'Playfair Display',serif}
  .resort-fee-experience-link{width:100%;min-height:36px;margin-top:10px;border:1px solid rgba(217,173,126,.55);background:#fffaf2;color:#806b4a;font-size:7px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;cursor:pointer}
  .lyfe-gallery-placeholder{min-height:330px;padding:30px;display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:28px;border:1px dashed rgba(217,173,126,.65);background:linear-gradient(135deg,#0a2647,#17394f);color:#fff}
  .lyfe-gallery-placeholder-mark{width:160px;height:160px;display:grid;place-items:center;border:1px solid rgba(217,173,126,.55);color:var(--gold);font:600 34px/1 'Playfair Display',serif;letter-spacing:4px}
  .lyfe-gallery-placeholder span{color:var(--gold);font-size:7px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.lyfe-gallery-placeholder h4{margin:7px 0 8px;color:#fff;font:600 30px/1.1 'Playfair Display',serif}.lyfe-gallery-placeholder p{margin:0;max-width:650px;color:rgba(255,255,255,.62);font-size:10px;line-height:1.65}
  .lyfe-auto-mosaic{grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px}.lyfe-auto-mosaic .experience-feature:first-child{grid-row:1/3}.lyfe-auto-mosaic .experience-feature{min-height:0!important}.lyfe-auto-mosaic .experience-feature img{width:100%;height:100%;object-fit:cover}
  .resort-local-guide-strip{margin-top:18px;display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:18px;padding:12px;border:1px solid var(--border);background:#fff}
  .resort-local-guide-image{height:112px;overflow:hidden}.resort-local-guide-image img{width:100%;height:100%;object-fit:cover}.resort-local-guide-copy h3{margin:3px 0 4px;color:var(--primary);font:600 22px/1.1 'Playfair Display',serif}.resort-local-guide-copy p{margin:0;color:var(--text-muted);font-size:9px;line-height:1.5}
  .resort-local-guide-strip>button{min-height:44px;padding:0 13px;border:0;background:var(--primary);color:#fff;font-size:7px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;cursor:pointer;white-space:nowrap}
  .resort-gallery-tabs{position:sticky;top:122px;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 14px;padding-bottom:8px;background:#071726}.resort-gallery-tabs[hidden]{display:none!important}
  .resort-gallery-tabs button{min-height:40px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:rgba(255,255,255,.72);font-size:8px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;cursor:pointer}.resort-gallery-tabs button span{color:var(--gold)}.resort-gallery-tabs button.active{border-color:var(--gold);background:rgba(217,173,126,.10);color:#fff}
  .resort-gallery-empty{min-height:340px;padding:30px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px dashed rgba(255,255,255,.18)}.resort-gallery-empty span{color:var(--gold);font-size:7px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.resort-gallery-empty strong{margin-top:7px;color:#fff;font:600 28px/1.1 'Playfair Display',serif}.resort-gallery-empty p{max-width:560px;margin:8px 0 0;color:rgba(255,255,255,.52);font-size:10px;line-height:1.6}
  .saved-compare-resort-fees{margin-top:8px;padding:9px 10px;border-left:3px solid var(--gold);background:#fffaf2}.saved-compare-resort-fees small{display:block;color:#9a7549;font-size:6.6px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}.saved-compare-resort-fees span{display:block;margin-top:3px;color:var(--text-muted);font-size:7.4px;line-height:1.45}
  @media(max-width:900px){.resort-experience-master-head{grid-template-columns:1fr}.resort-experience-proof{justify-content:flex-start}.resort-local-guide-strip{grid-template-columns:140px 1fr}.resort-local-guide-strip>button{grid-column:1/3}.lyfe-auto-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:230px 150px 150px}.lyfe-auto-mosaic .experience-feature:first-child{grid-column:1/3;grid-row:1}}
  @media(max-width:620px){.resort-experience-switcher{grid-template-columns:1fr}.resort-experience-pane{padding:13px}.resort-pane-title{font-size:26px}.lyfe-gallery-placeholder{min-height:310px;grid-template-columns:1fr;padding:22px}.lyfe-gallery-placeholder-mark{width:100px;height:100px;font-size:24px}.lyfe-gallery-placeholder h4{font-size:25px}.resort-local-guide-strip{grid-template-columns:1fr}.resort-local-guide-image{height:170px}.resort-local-guide-strip>button{grid-column:1;width:100%}.resort-gallery-tabs{top:104px}.lyfe-auto-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:210px 125px 125px}}


  /* === V96 GUEST CHECKOUT CONVERSION === */
  .checkout-money-split{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px}
  .checkout-money-card{padding:12px;border:1px solid var(--border);background:#fff}
  .checkout-money-card.resort{background:#fffaf1;border-color:rgba(217,173,126,.45)}
  .checkout-money-card small{display:block;color:var(--text-muted);font-size:6.8px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
  .checkout-money-card strong{display:block;margin:4px 0 3px;color:var(--primary);font:600 19px/1.1 'Playfair Display',serif}
  .checkout-money-card span{display:block;color:var(--text-muted);font-size:8px;line-height:1.45}
  .checkout-before-pay{margin:11px 0;border:1px solid var(--border);background:#fff}
  .checkout-before-pay summary{padding:10px 12px;cursor:pointer;color:var(--primary);font-size:7.5px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
  .checkout-before-pay-list{display:grid;gap:6px;padding:0 12px 12px}
  .checkout-before-pay-list div{display:grid;grid-template-columns:17px 1fr;gap:7px;color:var(--text-muted);font-size:8.7px;line-height:1.45}
  .checkout-before-pay-list b{color:#214b31}
  .payment-recovery{margin-top:10px;padding:12px;border:1px solid rgba(155,59,49,.26);background:#fff4f1}
  .payment-recovery[hidden]{display:none!important}
  .payment-recovery strong{display:block;color:#7f2f29;font-size:9px}
  .payment-recovery p{margin:4px 0 9px;color:#765c59;font-size:8.5px;line-height:1.5}
  .payment-recovery-actions{display:flex;gap:6px;flex-wrap:wrap}
  .payment-recovery-actions a{min-height:35px;padding:0 10px;display:inline-flex;align-items:center;border:1px solid #7f2f29;color:#7f2f29;text-decoration:none;font-size:7px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}
  .checkout-confirmation{max-width:650px;margin:auto;text-align:left;padding:10px}
  .checkout-confirmation-mark{width:54px;height:54px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:#eef5ec;color:#214b31;font-size:25px}
  .checkout-confirmation h3{text-align:center;margin:0 0 7px;color:var(--primary);font:600 29px/1.1 'Playfair Display',serif}
  .checkout-confirmation>p{text-align:center;margin:0 0 18px;color:var(--text-sec);font-size:11px}
  .confirmation-code{padding:13px;text-align:center;border:1px solid rgba(217,173,126,.5);background:#fffaf2}
  .confirmation-code small{display:block;color:var(--gold-dark);font-size:7px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}
  .confirmation-code strong{display:block;margin-top:3px;color:var(--primary);font-size:18px;letter-spacing:.5px}
  .confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
  .confirmation-details div{padding:10px;border:1px solid var(--border);background:#fff}
  .confirmation-details small{display:block;color:var(--text-muted);font-size:6.5px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}
  .confirmation-details strong{display:block;margin-top:3px;color:var(--primary);font-size:9px;line-height:1.4}
  .confirmation-resort{margin-top:10px;padding:11px;border-left:3px solid var(--gold);background:#fffaf2;color:var(--text-muted);font-size:8.5px;line-height:1.5}
  .confirmation-resort strong{color:var(--primary)}
  .confirmation-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}
  .confirmation-actions button,.confirmation-actions a{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--primary);background:var(--primary);color:#fff;text-decoration:none;font-size:7.5px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;cursor:pointer}
  .confirmation-actions .secondary{background:#fff;color:var(--primary)}
  @media(max-width:620px){
    .checkout-money-split{grid-template-columns:1fr}
    .confirmation-details{grid-template-columns:1fr}
    .confirmation-actions{grid-template-columns:1fr}
  }


  .resort-choice-note{margin:-12px 0 18px;padding:9px 11px;display:flex;gap:7px;align-items:center;border-left:3px solid var(--gold);background:#fffaf2;color:var(--text-muted);font-size:8px}.resort-choice-note b{color:var(--primary)}
  @media(max-width:620px){.resort-choice-note{align-items:flex-start;flex-direction:column}}


  /* === V98 FULL CONVERSION POLISH === */
  .hero-micro-proof{margin-top:18px;display:flex;gap:7px;flex-wrap:wrap}
  .hero-micro-proof span{padding:7px 9px;border:1px solid rgba(255,255,255,.18);background:rgba(10,38,71,.22);color:rgba(255,255,255,.76);font-size:7px;font-weight:700;letter-spacing:.45px;text-transform:uppercase;backdrop-filter:blur(4px)}
  .hero-micro-proof b{color:#fff}
  .search-shell{padding:10px;background:#fff;border:1px solid rgba(10,38,71,.08);border-radius:8px;box-shadow:0 18px 46px rgba(10,38,71,.13)}
  .search-shell-head{padding:10px 12px 9px;display:flex;align-items:end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border)}
  .search-shell-head span{display:block;color:#9a7549;font-size:6.8px;font-weight:900;letter-spacing:.85px;text-transform:uppercase}
  .search-shell-head strong{display:block;margin-top:3px;color:var(--primary);font:600 18px/1.1 'Playfair Display',serif}
  .search-shell-head small{max-width:390px;color:var(--text-muted);font-size:7.5px;line-height:1.45;text-align:right}
  .search-shell .search-box{box-shadow:none;border:0;border-radius:0}
  .search-helper-row{min-height:34px;padding:4px 7px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}
  #search-inline-status{color:var(--text-muted);font-size:8px;line-height:1.4}
  #search-inline-status.error{color:#8f312b;font-weight:700}
  #search-inline-status.ready{color:#214b31}
  .search-helper-row button{border:0;background:transparent;color:#806b4a;font-size:7px;font-weight:900;letter-spacing:.65px;text-transform:uppercase;cursor:pointer}
  .search-btn[aria-busy="true"]{opacity:.72;cursor:wait}
  .listing-card{display:flex;flex-direction:column}
  .card-body{display:flex;flex:1;flex-direction:column}
  .card-title{min-height:44px}
  .card-footer{margin-top:auto}
  .card-building-v98{position:absolute;left:12px;top:12px;z-index:3;padding:6px 8px;background:rgba(10,38,71,.87);color:#fff;font-size:7px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}
  .card-photo-type{position:absolute;left:12px;bottom:12px;z-index:3;padding:5px 7px;background:rgba(255,255,255,.9);color:#25404d;font-size:6.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}
  .card-live-badge{position:absolute;right:12px;bottom:12px;z-index:3;padding:5px 7px;background:#214b31;color:#fff;font-size:6.5px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}
  .card-subfacts{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 12px}
  .card-subfacts span{padding:5px 7px;border:1px solid rgba(37,64,77,.10);background:#f8f7f2;color:#637782;font-size:6.8px;font-weight:700}
  .card-fee-note{margin:0 0 12px;padding:7px 8px;border-left:2px solid var(--gold);background:#fffaf2;color:#766d60;font-size:7px;line-height:1.4}
  .card-price-label{color:#806b4a;font-size:6.7px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}
  .card-cta{font-weight:900;text-decoration:none}
  .card-secondary-link{margin-top:7px;display:inline-flex;color:#806b4a;text-decoration:none;font-size:6.8px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}
  .compare-context{margin-bottom:12px;padding:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--border)}
  .compare-context div span{display:block;color:#806b4a;font-size:6.5px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}
  .compare-context div strong{display:block;margin-top:3px;color:var(--primary);font-size:9px}
  .compare-context small{max-width:520px;color:var(--text-muted);font-size:7.5px;line-height:1.45}
  .saved-compare-card-actions{grid-template-columns:1fr 1fr}
  .saved-compare-open-page{min-height:39px;display:flex;align-items:center;justify-content:center;border:1px solid var(--primary);background:#fff;color:var(--primary);text-decoration:none;font-size:7.5px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}
  .booking-modal-path{margin:0 0 11px;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#f8f7f2;border:1px solid var(--border)}
  .booking-modal-path span{padding:6px 7px;color:#788a92;font-size:6.5px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;text-align:center}
  .booking-modal-path span.active{background:var(--primary);color:#fff}
  .booking-help-mini{margin-top:9px;padding:9px 10px;background:#fff;border:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;align-items:center}
  .booking-help-mini div small{display:block;color:#8a9ba8;font-size:6.2px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}
  .booking-help-mini div strong{display:block;margin-top:2px;color:var(--primary);font-size:8px}
  .booking-help-mini a{color:#806b4a;text-decoration:none;font-size:7px;font-weight:900;text-transform:uppercase}
  .resort-choice-note a{margin-left:auto;color:#806b4a;text-decoration:none;font-size:7px;font-weight:900;text-transform:uppercase}
  .footer-cols-v98{grid-template-columns:1fr 1fr 1fr 1fr!important}
  @media(max-width:900px){
    .search-shell-head{align-items:flex-start;flex-direction:column;gap:5px}.search-shell-head small{text-align:left}
    .footer-cols-v98{grid-template-columns:1fr 1fr!important}
  }
  @media(max-width:620px){
    .hero-micro-proof{display:grid;grid-template-columns:1fr 1fr}.hero-micro-proof span:last-child{grid-column:1/3}
    .search-shell{padding:7px}.search-helper-row{align-items:flex-start;flex-direction:column;padding:5px 10px 8px}
    .listings-grid{grid-template-columns:1fr!important;gap:16px}
    .card-img{height:230px}
    .compare-context{align-items:flex-start;flex-direction:column}
    .booking-modal-path{position:sticky;top:70px;z-index:5}
    .booking-help-mini{align-items:flex-start;flex-direction:column}
    .footer-cols-v98{grid-template-columns:1fr!important}
    .resort-choice-note a{margin-left:0}
  }


  /* === V101 SEARCH DISCOVERY === */
  .listing-results-toolbar{margin:-12px 0 18px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);background:#fff}
  .listing-results-context span{display:block;color:#9a7549;font-size:6.5px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}
  .listing-results-context strong{display:block;margin-top:2px;color:var(--primary);font-size:9px}
  .listing-results-controls{display:flex;align-items:center;gap:7px}
  .listing-results-controls label{color:var(--text-muted);font-size:6.5px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}
  .listing-results-controls select{min-height:36px;padding:0 30px 0 9px;border:1px solid var(--border);background:#fff;color:var(--primary);font:800 7.5px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.45px}
  .listing-results-controls button{min-height:36px;padding:0 10px;border:1px solid var(--primary);background:#fff;color:var(--primary);font-size:7px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;cursor:pointer}
  .availability-recovery .nearby-date-actions{margin-top:8px}
  .availability-recovery .nearby-date-actions button{background:#fff;color:var(--primary);border:1px solid var(--border)}
  .card-sort-note{display:block;margin-top:3px;color:#8a9ba8;font-size:6.4px}
  @media(max-width:720px){
    .listing-results-toolbar{align-items:flex-start;flex-direction:column}
    .listing-results-controls{width:100%;display:grid;grid-template-columns:auto 1fr auto}
    .listing-results-controls select{width:100%;font-size:16px;text-transform:none;letter-spacing:0}
  }


  .confirmation-code{position:relative}
  .confirmation-copy{margin-top:8px;min-height:30px;padding:0 9px;border:1px solid rgba(37,64,77,.18);background:#fff;color:var(--primary);font-size:6.5px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;cursor:pointer}

.review-snapshot-note{margin:8px 0 18px;color:#617681;font-size:11px;line-height:1.6}
