
  /* ===================== LUXI — Enhanced Black Ivory & Golden Dust ===================== */
  :root{
    --ivory-0:#070808;
    --ivory-1:#0b0c0f;
    --ivory-2:#101218;
    --ivory-3:#141722;

    --text:#f3f4f7;
    --text-2:#cfd3dd;
    --muted:#8f96a6;

    --gold:#d7b56d;
    --gold-2:#f1d08a;
    --gold-3:#c4a357;
    --gold-soft:rgba(215,181,109,.16);
    --gold-line:rgba(215,181,109,.34);
    --gold-glow:rgba(215,181,109,.08);

    --line:rgba(255,255,255,.08);
    --line-2:rgba(255,255,255,.06);

    --radius:20px;
    --radius2:28px;

    --shadow: 0 20px 60px rgba(0,0,0,.55);
    --shadow-soft: 0 10px 30px rgba(0,0,0,.35);
    --shadow-glow: 0 0 40px rgba(215,181,109,.12);

    --focus: 0 0 0 3px rgba(241,208,138,.18);

    --duration-fast: .2s;
    --duration-normal: .35s;
    --duration-slow: .6s;
    --easing: cubic-bezier(.16,.1,.3,1);
  }

  *{box-sizing:border-box}
  html,body{
    margin:0;
    background:var(--ivory-0);
    color:var(--text);
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    line-height:1.55;
    scroll-behavior:smooth;
  }
  img{max-width:100%;display:block}
  a{color:var(--gold);text-decoration:none;transition:color var(--duration-fast) ease}
  a:hover{color:var(--gold-2);text-decoration:underline}

  .container{width:min(1180px,92vw);margin-inline:auto}

  /* ===================== Hero ===================== */
  .hero{
    padding:64px 0 22px;
    background:
      radial-gradient(900px 360px at 20% 0%, rgba(241,208,138,.12), transparent 62%),
      radial-gradient(780px 320px at 85% -10%, rgba(215,181,109,.10), transparent 65%),
      radial-gradient(1100px 520px at 50% 120%, rgba(255,255,255,.05), transparent 60%);
    position:relative;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;bottom:0;
    background:
      url('data:image/svg+xml,%3Csvg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Cg fill="%23ffffff" fill-opacity="0.03"%3E%3Cpath d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E');
    pointer-events:none;
    opacity:0.4;
    animation:drift 20s ease-in-out infinite;
  }

  @keyframes drift{
    0%, 100%{transform:translateX(0) translateY(0)}
    50%{transform:translateX(30px) translateY(-30px)}
  }

  .hero-grid{
    display:grid;
    grid-template-columns:minmax(320px, 2fr) minmax(420px, 3fr);
    gap:36px;
    align-items:stretch;
    position:relative;
    z-index:1;
  }

  .kicker{
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-weight:800;
    font-size:12px;
    display:flex;
    gap:10px;
    align-items:center;
    animation:fadeInUp .6s ease backwards;
  }
  .kicker i{
    color:var(--gold);
    transition:transform var(--duration-normal) var(--easing);
  }
  .kicker:hover i{
    transform:rotate(12deg) scale(1.1);
  }

  @keyframes fadeInUp{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
  }

  @keyframes fadeInUpDelay1{
    0%{opacity:0;transform:translateY(20px)}
    35%{opacity:0;transform:translateY(20px)}
    100%{opacity:1;transform:translateY(0)}
  }

  @keyframes fadeInUpDelay2{
    0%{opacity:0;transform:translateY(20px)}
    50%{opacity:0;transform:translateY(20px)}
    100%{opacity:1;transform:translateY(0)}
  }

  @keyframes fadeInUpDelay3{
    0%{opacity:0;transform:translateY(20px)}
    65%{opacity:0;transform:translateY(20px)}
    100%{opacity:1;transform:translateY(0)}
  }

  .h1{
    font-family:"Playfair Display", "Cinzel", Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: clamp(34px, 3.6vw, 56px);
    line-height:1.05;
    margin:.35em 0 .45em;
    font-weight:700;
    letter-spacing:.01em;
    animation:fadeInUpDelay1 .8s ease backwards;
    background:linear-gradient(135deg, var(--text) 0%, var(--text-2) 100%);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
  }

  .sub{
    color:var(--text-2);
    font-size:clamp(16px,1.25vw,18px);
    max-width:62ch;
    animation:fadeInUpDelay2 .8s ease backwards;
    line-height:1.7;
  }

  .hero-badges{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:16px;
  }

  .pill{
    border:1px solid rgba(215,181,109,.26);
    border-radius:999px;
    padding:9px 12px;
    background:
      radial-gradient(120% 140% at 30% 10%, rgba(241,208,138,.10), transparent 55%),
      rgba(16,18,24,.75);
    color:var(--text-2);
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:700;
    font-size:13px;
    animation:fadeInUpDelay3 .8s ease backwards;
    transition:all var(--duration-normal) var(--easing);
    cursor:pointer;
  }
  .pill:nth-child(1){animation-delay:.1s}
  .pill:nth-child(2){animation-delay:.15s}
  .pill:nth-child(3){animation-delay:.2s}
  .pill:nth-child(4){animation-delay:.25s}

  .pill:hover{
    border-color:var(--gold);
    background:
      radial-gradient(120% 140% at 30% 10%, rgba(241,208,138,.18), transparent 55%),
      rgba(16,18,24,.95);
    transform:translateY(-3px);
    box-shadow:0 8px 24px rgba(215,181,109,.16);
  }

  .pill i{
    color:var(--gold);
    transition:transform var(--duration-normal) var(--easing);
  }
  .pill:hover i{
    transform:rotate(-8deg) scale(1.15);
  }

  /* ===================== Cards ===================== */
  .card{
    border-radius:var(--radius2);
    border:1px solid rgba(255,255,255,.07);
    background:
      radial-gradient(140% 110% at 20% 0%, rgba(241,208,138,.10), transparent 55%),
      linear-gradient(180deg, rgba(20,23,34,.92), rgba(11,12,15,.92));
    box-shadow:var(--shadow);
    transition:all var(--duration-normal) var(--easing);
    position:relative;
    overflow:hidden;
  }

  .card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, transparent 0%, rgba(215,181,109,.03) 100%);
    opacity:0;
    transition:opacity var(--duration-normal) var(--easing);
    pointer-events:none;
  }

  .card:hover{
    border-color:rgba(215,181,109,.4);
    box-shadow:var(--shadow), var(--shadow-glow);
    transform:translateY(-6px);
  }

  .card:hover::before{
    opacity:1;
  }

  .media-card{
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:520px;
    border-radius:var(--radius2);
    position:relative;
    animation:fadeInUp .8s ease backwards;
  }

  .media-card:before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(900px 400px at 70% 0%, rgba(241,208,138,.10), transparent 60%),
      radial-gradient(700px 320px at 10% 80%, rgba(215,181,109,.08), transparent 62%);
    pointer-events:none;
    mix-blend-mode:screen;
    opacity:.9;
  }

  .media-card picture,
  .media-card img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    position:relative;
    z-index:1;
    transition:transform .8s var(--easing);
  }

  .media-card:hover picture,
  .media-card:hover img{
    transform:scale(1.03);
  }

  .booking{
    padding:22px 22px 18px;
    animation:fadeInUpDelay2 .8s ease backwards;
    position:relative;
  }

  .booking::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:4px;
    height:0;
    background:linear-gradient(180deg, var(--gold), var(--gold-2));
    transition:height var(--duration-slow) var(--easing);
  }

  .booking:hover::before{
    height:100%;
  }

  .booking h3{
    margin:0 0 10px;
    font-size:16px;
    color:var(--text-2);
    transition:color var(--duration-normal) var(--easing);
  }

  .booking:hover h3{
    color:var(--gold-2);
  }

  .booking .muted{color:var(--muted)}
  .booking .topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:12px;
    padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.06);
  }

  .gold-chip{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:rgba(215,181,109,.12);
    border:1px solid rgba(215,181,109,.22);
    border-radius:999px;
    padding:8px 12px;
    color:var(--gold-2);
    font-weight:800;
    font-size:13px;
    transition:all var(--duration-normal) var(--easing);
    position:relative;
  }

  .gold-chip::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(241,208,138,.2), transparent, rgba(241,208,138,.2));
    opacity:0;
    animation:shimmer 2.5s ease-in-out infinite;
  }

  @keyframes shimmer{
    0%, 100%{opacity:0;transform:translateX(-100%)}
    50%{opacity:1;transform:translateX(100%)}
  }

  .gold-chip i{
    color:var(--gold);
    position:relative;
    z-index:1;
  }

  /* Inputs */
  .input, select, textarea,
  .wpcf7-form .wpcf7-form-control:not(.wpcf7-submit){
    padding:14px 14px;
    border-radius:16px;
    background:rgba(7,8,8,.55) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    color:var(--text) !important;
    outline:none;
    transition:all var(--duration-normal) var(--easing) !important;
    font-family:inherit;
  }

  .input:focus, select:focus, textarea:focus,
  .wpcf7-form .wpcf7-form-control:focus{
    border-color:rgba(241,208,138,.55) !important;
    background:rgba(7,8,8,.8) !important;
    box-shadow:var(--focus) !important;
  }

  .wpcf7-form p label, .booking label{
    color:var(--text-2) !important;
    font-weight:700 !important;
    transition:color var(--duration-normal) var(--easing) !important;
  }

  .wpcf7-form .wpcf7-form-control:focus ~ label{
    color:var(--gold-2) !important;
  }

  .wpcf7-submit{
    appearance:none !important;
    border:0 !important;
    border-radius:999px !important;
    padding:14px 22px !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
    background:linear-gradient(180deg, var(--gold), var(--gold-2)) !important;
    color:#1b160c !important;
    box-shadow: 0 16px 36px rgba(215,181,109,.18) !important;
    transition:all var(--duration-normal) var(--easing) !important;
    cursor:pointer !important;
    position:relative;
    overflow:hidden;
  }

  .wpcf7-submit::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
    transform:translateX(-100%);
    transition:transform var(--duration-normal) var(--easing) !important;
  }

  .wpcf7-submit:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 20px 48px rgba(215,181,109,.28) !important;
  }

  .wpcf7-submit:hover::before{
    transform:translateX(100%);
  }

  .wpcf7-submit:active{
    transform:translateY(0) !important;
  }

  /* ===================== Sections ===================== */
  .section{
    padding:54px 0;
    opacity:0;
    animation:fadeInUp .6s ease forwards;
  }

  .section:nth-child(2){animation-delay:.1s}
  .section:nth-child(3){animation-delay:.2s}
  .section:nth-child(4){animation-delay:.3s}
  .section:nth-child(5){animation-delay:.4s}
  .section:nth-child(6){animation-delay:.5s}

  .section-head{
    margin-bottom:18px;
    position:relative;
  }

  .section-head::after{
    content:"";
    position:absolute;
    bottom:-18px;
    left:0;
    width:60px;
    height:3px;
    background:linear-gradient(90deg, var(--gold), transparent);
    opacity:0;
    animation:expandWidth .6s var(--easing) .3s forwards;
  }

  @keyframes expandWidth{
    from{width:0;opacity:1}
    to{width:60px;opacity:0}
  }

  .section-title{
    font-family:"Playfair Display", "Cinzel", Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size:34px;
    margin:.25em 0 10px;
    letter-spacing:.01em;
    font-weight:700;
    background:linear-gradient(135deg, var(--text) 0%, var(--text-2) 100%);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
  }

  .muted{color:var(--muted);transition:color var(--duration-normal) var(--easing)}

  .lead{
    color:var(--text-2);
    max-width:78ch;
    line-height:1.8;
    font-size:16px;
  }

  .features-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
  }

  .feat{
    padding:22px;
    animation:staggerFadeInUp .6s var(--easing) backwards;
  }

  .feat:nth-child(1){animation-delay:.1s}
  .feat:nth-child(2){animation-delay:.2s}
  .feat:nth-child(3){animation-delay:.3s}
  .feat:nth-child(4){animation-delay:.4s}

  @keyframes staggerFadeInUp{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
  }

  .feat h4{
    margin:12px 0 6px;
    font-size:16px;
    transition:color var(--duration-normal) var(--easing);
  }

  .feat:hover h4{
    color:var(--gold-2);
  }

  .icon{
    width:46px;
    height:46px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:
      radial-gradient(120% 120% at 25% 15%, rgba(241,208,138,.16), transparent 55%),
      rgba(16,18,24,.75);
    border:1px solid rgba(215,181,109,.22);
    color:var(--gold);
    transition:all var(--duration-normal) var(--easing);
    position:relative;
  }

  .icon::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:16px;
    background:radial-gradient(circle at 30% 30%, rgba(241,208,138,.2), transparent);
    opacity:0;
    transition:opacity var(--duration-normal) var(--easing);
  }

  .feat:hover .icon{
    transform:scale(1.1) rotate(6deg);
    border-color:var(--gold-2);
    box-shadow:0 0 20px rgba(215,181,109,.2);
  }

  .feat:hover .icon::before{
    opacity:1;
  }

  .icon i{
    font-size:18px;
    position:relative;
    z-index:1;
    transition:transform var(--duration-normal) var(--easing);
  }

  .feat:hover .icon i{
    transform:scale(1.2);
  }

  .steps-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
  }

  .step{
    padding:22px;
    animation:staggerFadeInUp .6s var(--easing) backwards;
    position:relative;
  }

  .step:nth-child(1){animation-delay:.1s}
  .step:nth-child(2){animation-delay:.2s}
  .step:nth-child(3){animation-delay:.3s}

  .step::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:3px;
    background:linear-gradient(90deg, var(--gold), transparent);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform var(--duration-slow) var(--easing);
  }

  .step:hover::before{
    transform:scaleX(1);
  }

  .step .num{
    width:38px;
    height:38px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:linear-gradient(180deg, var(--gold), var(--gold-2));
    color:#1b160c;
    font-weight:900;
    font-size:16px;
    box-shadow:0 8px 20px rgba(215,181,109,.2);
    transition:all var(--duration-normal) var(--easing);
    position:relative;
  }

  .step:hover .num{
    transform:scale(1.15) rotate(360deg);
    box-shadow:0 12px 28px rgba(215,181,109,.3);
  }

  .step h4{
    margin:14px 0 6px;
    font-size:16px;
    transition:color var(--duration-normal) var(--easing);
  }

  .step:hover h4{
    color:var(--gold-2);
  }

  .grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
  }

  .review{
    padding:22px;
    animation:staggerFadeInUp .6s var(--easing) backwards;
  }

  .review:nth-child(1){animation-delay:.1s}
  .review:nth-child(2){animation-delay:.2s}

  .review p{
    font-size:15px;
    line-height:1.8;
    color:var(--text-2);
    font-style:italic;
    margin:12px 0;
  }

  .stars{
    color:var(--gold-2);
    letter-spacing:2px;
    font-size:16px;
    display:flex;
    gap:2px;
  }

  .review footer{
    margin-top:10px;
    color:var(--text-2);
    font-weight:800;
    font-size:14px;
  }

  .faq-card{
    padding:22px;
    animation:fadeInUp .6s ease backwards;
  }

  .faq-card h4{
    margin:14px 0 6px;
    font-size:16px;
    color:var(--text);
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    transition:all var(--duration-normal) var(--easing);
    padding:10px;
    margin-left:-10px;
    border-radius:12px;
  }

  .faq-card h4:hover{
    color:var(--gold-2);
    background:rgba(215,181,109,.08);
    padding-left:14px;
  }

  .faq-card h4 i{
    color:var(--gold);
    transition:transform var(--duration-normal) var(--easing);
  }

  .faq-card h4:hover i{
    transform:rotate(360deg) scale(1.15);
  }

  .faq-card h4:first-child{margin-top:0}

  .faq-card p{
    max-height:1000px;
    overflow:hidden;
    transition:all var(--duration-normal) var(--easing);
  }

  /* Layout stability for CF7 */
  .wpcf7-response-output{min-height:44px}
  .cf-turnstile, .wpcf7-form .wpcf7-recaptcha, .wpcf7-form .wpcf7-acceptance{min-height:68px;display:block}

  /* ===================== Decorative Dividers ===================== */
  .section{
    border-top:1px solid var(--line-2);
  }

  .section:first-of-type{
    border-top:none;
  }

  /* ===================== Responsive ===================== */
  @media (max-width:980px){
    .hero{padding:42px 0 18px}
    .hero-grid{grid-template-columns:1fr;gap:20px}
    .media-card{min-height:360px}
    .features-grid{grid-template-columns:repeat(2,1fr)}
    .steps-grid{grid-template-columns:1fr}
    .grid-2{grid-template-columns:1fr}
    .h1{font-size:32px}
    .section-title{font-size:28px}
  }

  @media (max-width:640px){
    .hero{padding:32px 0 16px}
    .hero-grid{gap:16px}
    .features-grid{grid-template-columns:1fr}
    .section{padding:36px 0}
    .section-title{font-size:24px}
    .pill{padding:8px 10px;font-size:12px}
    .booking{padding:18px}
    .card{border-radius:20px}
    .hero-badges{gap:8px}
  }

  /* ===================== Scroll Animations ===================== */
  @supports(animation-timeline: view()){
    .feat,
    .step,
    .review{
      animation:fadeInUp .6s ease forwards;
      animation-timeline:view();
      animation-range:entry 0% cover 30%;
    }
  }

  /* ===================== Reduced Motion ===================== */
  @media(prefers-reduced-motion:reduce){
    *{
      animation:none !important;
      transition:none !important;
    }
  }
