
:root{
  --red:#b90c1a;
  --red-deep:#8c0611;
  --gold:#d4af37;
  --ink:#0f0f10;
  --paper:#0b0b0c;
  --text:#f8e9ec;
  --muted:#d8c6c8;
  --glass:rgba(255,255,255,0.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,#120406,#1b0508 30%, #22060a 60%, #120406);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;scroll-behavior:smooth}
h1,h2,h3,h4{font-family:'Playfair Display',serif;line-height:1.2;margin:0 0 .6rem}
p{line-height:1.7;color:#f3e6e8}
a{color:var(--gold);text-decoration:none}
.center{text-align:center}
.subtle{opacity:.8}
.tiny{font-size:.85rem}

.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(180deg,rgba(0,0,0,.75),rgba(0,0,0,.25));backdrop-filter:blur(6px);border-bottom:1px solid rgba(212,175,55,.25)}
.brand{display:flex;gap:.75rem;align-items:center}
.logo{width:40px;height:40px;border-radius:10px;background:linear-gradient(145deg,var(--red),var(--red-deep));display:grid;place-items:center;color:#E6C7B7;font-weight:700;border:1px solid rgba(212,175,55,.5);box-shadow:0 0 20px rgba(185,12,26,.35)}
.brand-text h1{font-size:1.05rem;letter-spacing:.5px}
.brand-text span{color:var(--gold)}
.tag{margin:.15rem 0 0;font-size:.8rem;opacity:.75}

.nav{display:flex;gap:1rem}
.nav a{padding:.35rem .6rem;border-radius:999px;border:1px solid transparent}
.nav a:hover{border-color:rgba(212,175,55,.4);background:rgba(212,175,55,.06)}

.hamburger{display:none;background:none;border:0;width:42px;height:42px;border-radius:8px;position:relative}
.hamburger span{position:absolute;left:9px;right:9px;height:2px;background:#fff;transition:.3s}
.hamburger span:nth-child(1){top:12px}
.hamburger span:nth-child(2){top:20px}
.hamburger span:nth-child(3){top:28px}
.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.hero{min-height:72vh;display:grid;place-items:center;background:
 radial-gradient(60% 50% at 70% 20%, rgba(212,175,55,.12), transparent 60%),
 radial-gradient(60% 50% at 20% 80%, rgba(185,12,26,.25), transparent 60%);}
.hero-inner{max-width:900px;padding:3rem 1rem;text-align:center}
.hero h2{font-size:clamp(1.75rem,3.5vw,3rem)}
.hero .btn{margin-top:1rem}

.section{padding:64px 16px}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0));border-top:1px solid rgba(212,175,55,.15);border-bottom:1px solid rgba(212,175,55,.15)}
.content{max-width:1100px;margin:0 auto}
.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:24px}
.card{border:1px solid rgba(212,175,55,.22);border-radius:18px;padding:20px}
.glass{background:var(--glass);backdrop-filter:blur(8px)}

.checked{list-style:none;padding-left:0;margin:0}
.checked li{padding:.4rem 0 .4rem 1.6rem;position:relative}
.checked li::before{content:'✔';position:absolute;left:0;color:var(--gold)}

.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;max-width:1100px;margin:12px auto 0}
.service{padding:18px;border:1px solid rgba(212,175,55,.2);border-radius:14px;background:linear-gradient(180deg,rgba(185,12,26,.05),rgba(0,0,0,.1))}
.service h4{color:#ffd98a}

.extras{max-width:900px;margin:28px auto 0;text-align:center}
.extras h4{margin-bottom:.25rem}
.note{display:block;opacity:.7}

.rates-grid{max-width:900px;margin:12px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.rate{padding:16px 18px;border:1px solid rgba(212,175,55,.25);border-radius:14px;background:linear-gradient(145deg,rgba(185,12,26,.18),rgba(0,0,0,.3));display:flex;align-items:center;justify-content:space-between}
.rate.featured{outline:1px solid var(--gold);box-shadow:0 0 24px rgba(212,175,55,.25)}

.gallery-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:14px;border:1px solid rgba(212,175,55,.25)}

.form{max-width:900px;margin:0 auto}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.form-grid label{display:flex;flex-direction:column;font-weight:600;font-size:.95rem;gap:.35rem}
.form-grid input,.form-grid select,.form-grid textarea{background:rgba(0,0,0,.35);border:1px solid rgba(212,175,55,.25);padding:12px;border-radius:10px;color:var(--text)}
.form-grid .full{grid-column:1 / -1}

.reviews{max-width:1000px;margin:0 auto 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
blockquote{margin:0;padding:16px;border:1px solid rgba(212,175,55,.24);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.15))}
blockquote p{margin:.5rem 0}

.leave-review{max-width:900px;margin:0 auto}

.contact-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.contact .cta{display:grid;align-content:center;gap:1rem;border:1px dashed rgba(212,175,55,.35);border-radius:14px;padding:18px}

.btn{display:inline-block;padding:.8rem 1.1rem;border-radius:999px;border:1px solid var(--gold)}
.btn.primary{background:linear-gradient(145deg,var(--red),var(--red-deep));color:#E6C7B7;box-shadow:0 6px 18px rgba(185,12,26,.35)}
.btn.outline{background:transparent;color:var(--gold)}

.site-footer{padding:28px 12px;text-align:center;border-top:1px solid rgba(212,175,55,.2);background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.6))}

@media (max-width: 920px){
  .nav{display:none;position:absolute;top:64px;right:12px;left:12px;flex-direction:column;padding:12px;background:rgba(0,0,0,.8);backdrop-filter:blur(8px);border:1px solid rgba(212,175,55,.3);border-radius:14px}
  .hamburger{display:block}
  .two-col{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}

.floating-contact{
  position:fixed;
  right:16px;
  bottom:20px;
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:20;
}
.floating-contact a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:linear-gradient(145deg,#b90c1a,#8c0611);
  color:#E6C7B7;
  border:1px solid rgba(212,175,55,.45);
  box-shadow:0 0 15px rgba(185,12,26,.4);
  transition:transform .3s ease, box-shadow .3s ease;
  text-decoration:none;
}
.floating-contact a:hover{
  transform:translateY(-4px) scale(1.05);
  box-shadow:0 0 20px rgba(212,175,55,.6);
}
.leave-review{margin-top:48px;padding:32px}
.contact-grid{gap:32px}
.contact-list li{margin-bottom:8px}


/* ===== v3 Velvet Glass, Gold Title, Reveal Animations, Bubble Contacts ===== */
body{
  background:
    radial-gradient(60% 40% at 80% 10%, rgba(212,175,55,.10), transparent 60%),
    radial-gradient(50% 35% at 15% 85%, rgba(185,12,26,.28), transparent 60%),
    linear-gradient(180deg, #120407, #1b0508 35%, #22060a 65%, #0b0507);
}
.gold-title{color:var(--gold);text-shadow:0 0 18px rgba(212,175,55,.25)}
.section{padding:76px 18px}
.section .content,.service-grid,.rates-grid,.gallery-grid,.form,.reviews,.contact-grid{animation:fadeUp .8s ease both}
.reveal{opacity:0;transform:translateY(18px);animation:fadeInUp 0.9s ease forwards}
@keyframes fadeInUp{to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none}}

/* Make review + contact areas more open */
.reviews{gap:18px;margin-bottom:32px}
.leave-review{margin-top:56px;padding:36px}
.contact-grid{gap:36px}
.contact-list li{margin-bottom:10px}

/* Transparent bubble floating contact */
.floating-contact{position:fixed;right:18px;bottom:20px;display:flex;flex-direction:column;gap:14px;z-index:30}
.floating-contact a{
  width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(60% 60% at 30% 30%, rgba(255,255,255,.25), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.35);
  box-shadow:
    0 6px 18px rgba(185,12,26,.35),
    inset 0 0 20px rgba(255,255,255,.08),
    0 0 22px rgba(212,175,55,.35);
  color:#E6C7B7;text-decoration:none;
  backdrop-filter: blur(8px);
  animation:pulse 2.6s ease-in-out infinite;
}
.floating-contact a:hover{transform:translateY(-3px) scale(1.05); box-shadow:0 8px 22px rgba(212,175,55,.55), inset 0 0 26px rgba(255,255,255,.12)}
.floating-contact a:nth-child(2){animation-delay:.35s}
.floating-contact a:nth-child(3){animation-delay:.7s}
@keyframes pulse{0%,100%{filter:drop-shadow(0 0 0 rgba(212,175,55,.0))}50%{filter:drop-shadow(0 0 10px rgba(212,175,55,.6))}}

/* Ensure nav drop doesn't cover bubbles */
@media (max-width:920px){ .nav{z-index:25} }
