
  html{ scroll-behavior:smooth; }
  body{ background:#FAF7F2; }
  .micro-border{ border:1px solid rgba(201,162,39,0.35); }
  .divider-gold{ height:1px; background-image:linear-gradient(90deg, transparent, #C9A227, transparent); }
  .fade-page{ animation: fadeIn .55s ease both; }
  @keyframes fadeIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }
  .route{ display:none; }
  .route.active{ display:block; }
  ::selection{ background:#C9A227; color:#0B1420; }
  .nav-link{ position:relative; }
  .nav-link::after{ content:''; position:absolute; left:0; bottom:-6px; width:0%; height:1px; background:#C9A227; transition:width .35s ease; }
  .nav-link:hover::after, .nav-link.active-link::after{ width:100%; }
  .btn-gold{ background:linear-gradient(135deg,#DEC06B,#C9A227 45%,#8C6B16); color:#0B1420; }
  .btn-gold:hover{ filter:brightness(1.08); }
  .card-lux{ background:#fff; border:1px solid rgba(11,20,32,0.06); }
  .testi-track{ transition:transform .6s cubic-bezier(.65,0,.35,1); }
  input:focus, select:focus, textarea:focus{ outline:none; box-shadow:0 0 0 2px rgba(201,162,39,0.45); }

  #bookingOverlay{ position:fixed; inset:0; z-index:200; display:none; background:rgba(6,11,18,0.75); backdrop-filter:blur(6px); align-items:center; justify-content:center; padding:1.25rem; }
  #bookingOverlay.open{ display:flex; animation:fadeIn .35s ease both; }
  #bookingModal{ width:100%; max-width:680px; max-height:88vh; overflow-y:auto; background:#FAF7F2; border-radius:1.75rem; position:relative; border:1px solid rgba(201,162,39,0.35); box-shadow:0 30px 80px -20px rgba(0,0,0,0.55); animation:modalPop .4s cubic-bezier(.34,1.56,.64,1) both; }
  @keyframes modalPop{ from{opacity:0; transform:scale(.94) translateY(12px);} to{opacity:1; transform:scale(1) translateY(0);} }
  .book-option{ border:1px solid rgba(11,20,32,0.1); transition:all .25s ease; cursor:pointer; }
  .book-option:hover{ border-color:#C9A227; background:rgba(201,162,39,0.06); transform:translateY(-2px); }
  .book-subtile{ border:1px solid rgba(11,20,32,0.08); transition:all .2s ease; cursor:pointer; }
  .book-subtile:hover{ border-color:#C9A227; background:#fff; box-shadow:0 8px 20px -8px rgba(201,162,39,0.35); }
  .loc-tile{ border:1px solid rgba(11,20,32,0.08); transition:all .2s ease; cursor:pointer; }
  .loc-tile:hover, .loc-tile.selected{ border-color:#C9A227; background:#fff; box-shadow:0 8px 20px -8px rgba(201,162,39,0.35); }

  .tab-btn{ transition:all .3s ease; }
  .tab-btn.active{ background:#0B1420; color:#C9A227; }
  .tab-panel{ display:none; }
  .tab-panel.active{ display:block; animation:fadeIn .5s ease both; }

  .faq-toggle svg{ transition:transform .3s ease; }
  .faq-item.open .faq-toggle svg{ transform:rotate(180deg); }
  .faq-answer{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
  .faq-item.open .faq-answer{ max-height:600px; }

  .step-num{ background:linear-gradient(135deg,#DEC06B,#C9A227 45%,#8C6B16); }
  .step-line{ background:repeating-linear-gradient(90deg,#C9A227 0 8px, transparent 8px 14px); }

  .calc-tile{ border:1px solid rgba(11,20,32,0.1); transition:all .2s ease; cursor:pointer; }
  .calc-tile.selected{ border-color:#C9A227; background:rgba(201,162,39,0.06); box-shadow:0 8px 20px -8px rgba(201,162,39,0.35); }
  .calc-tile .check-dot{ border:1.5px solid rgba(11,20,32,0.25); }
  .calc-tile.selected .check-dot{ background:#C9A227; border-color:#C9A227; }

  .subcat-label{ letter-spacing:.2em; }


  .gallery-filter-btn{transition:all .3s ease;}
  .gallery-filter-btn.active{background:#0B1420;color:#C9A227;}
  .wiz-cat-btn{transition:all .3s ease;}
  .wiz-cat-btn.active{background:#0B1420;color:#C9A227;}
  .wiz-tile{border:1px solid rgba(11,20,32,0.1);transition:all .2s ease;cursor:pointer;}
  .wiz-tile:hover{border-color:#C9A227;background:rgba(201,162,39,0.06);}
  .wiz-tile.selected{border-color:#C9A227;background:rgba(201,162,39,0.06);box-shadow:0 8px 20px -8px rgba(201,162,39,0.35);}
  .wiz-num{width:2.5rem;height:2.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;background:rgba(11,20,32,0.08);color:#0B1420;transition:all .3s ease;}
  .wiz-step-indicator.active .wiz-num{background:linear-gradient(135deg,#DEC06B,#C9A227 45%,#8C6B16);color:#0B1420;}
  .wiz-step-indicator.complete .wiz-num{background:#0B1420;color:#C9A227;}
  .cal-day{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:0.5rem;font-size:0.8rem;cursor:pointer;border:1px solid rgba(11,20,32,0.08);transition:all .2s ease;}
  .cal-day:hover:not(.disabled){border-color:#C9A227;}
  .cal-day.selected{background:#0B1420;color:#C9A227;border-color:#C9A227;}
  .cal-day.disabled{opacity:.25;cursor:not-allowed;pointer-events:none;}
  .cal-day.empty{visibility:hidden;}
  .blog-cat-btn{transition:all .3s ease;}
  .blog-cat-btn.active{background:#0B1420;color:#C9A227;}
  .blog-card{border:1px solid rgba(11,20,32,0.06);transition:all .3s ease;cursor:pointer;}
  .blog-card:hover{box-shadow:0 8px 30px -8px rgba(201,162,39,0.35);transform:translateY(-2px);}
  .contact-method-btn{border:1px solid rgba(11,20,32,0.1);transition:all .2s ease;cursor:pointer;}
  .contact-method-btn:hover{border-color:#C9A227;background:rgba(201,162,39,0.06);}
  .contact-method-btn.selected{border-color:#C9A227;background:rgba(201,162,39,0.06);box-shadow:0 8px 20px -8px rgba(201,162,39,0.35);}
  .overlay-backdrop{position:fixed;inset:0;z-index:200;display:none;background:rgba(6,11,18,0.75);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:1.25rem;}
  .overlay-backdrop.open{display:flex;animation:fadeIn .35s ease both;}
  .overlay-panel{width:100%;max-width:680px;max-height:88vh;overflow-y:auto;background:#FAF7F2;border-radius:1.75rem;position:relative;border:1px solid rgba(201,162,39,0.35);box-shadow:0 30px 80px -20px rgba(0,0,0,0.55);animation:modalPop .4s cubic-bezier(.34,1.56,.64,1) both;}
  .coming-soon-badge{display:inline-block;background:#0B1420;color:#C9A227;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-left:8px;vertical-align:middle;}
  .is-coming-soon{opacity:.55;filter:grayscale(.35);cursor:not-allowed !important;pointer-events:none;}
  .social-icon{width:2.25rem;height:2.25rem;border-radius:9999px;border:1px solid rgba(201,162,39,0.35);display:inline-flex;align-items:center;justify-content:center;color:#C9A227;transition:all .25s ease;}
  .social-icon:hover{background:#C9A227;color:#0B1420;transform:translateY(-2px);}
