:root{
  --bg: #fbf7f4;
  --card: rgba(255,255,255,.78);
  --ink: #121212;
  --muted: #6b6b6b;
  --line: rgba(18,18,18,.10);
  --accent: #caa36a;
  --accent2:#f3d7a6;
  --blush: #f2d6d2;
  --shadow: 0 18px 60px rgba(0,0,0,.10);
  --shadow2: 0 12px 30px rgba(0,0,0,.12);
  --radius: 20px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 600px at 15% 10%, rgba(242,214,210,.55), transparent 60%),
              radial-gradient(900px 500px at 90% 15%, rgba(243,215,166,.45), transparent 55%),
              var(--bg);
  color: var(--ink);
}

.navbar{
  transition: all .25s ease;
  backdrop-filter: blur(10px);
  background: rgba(251,247,244,.70);
  border-bottom: 1px solid var(--line);
}
.navbar.scrolled{
  background: rgba(251,247,244,.92);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.brand-logo{ height: 42px; width:auto; }

.btn-luxe{
  border: 1px solid rgba(202,163,106,.45);
  background: linear-gradient(135deg, rgba(202,163,106,.18), rgba(243,215,166,.22));
  color: var(--ink);
  border-radius: 999px;
  padding: .75rem 1.1rem;
  transition: transform .2s ease, box-shadow .2s ease, background .25s ease;
  box-shadow: 0 10px 25px rgba(202,163,106,.12);
}
.btn-luxe:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(202,163,106,.22);
  background: linear-gradient(135deg, rgba(202,163,106,.30), rgba(243,215,166,.35));
}
.btn-dark-luxe{
  border: 1px solid rgba(18,18,18,.18);
  background: #121212;
  color: #fff;
  border-radius: 999px;
  padding: .75rem 1.1rem;
  transition: transform .2s ease, box-shadow .2s ease, filter .25s ease;
  box-shadow: 0 16px 40px rgba(18,18,18,.18);
}
.btn-dark-luxe:hover{
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 22px 55px rgba(18,18,18,.24);
}

/* language pill */
.lang-pill{
  border-radius: 999px;
  border: 1px solid rgba(18,18,18,.14);
  padding: .42rem .7rem;
  background: rgba(255,255,255,.7);
  transition: transform .2s ease, box-shadow .2s ease, background .25s ease;
}
.lang-pill:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 35px rgba(0,0,0,.10);
  background: rgba(255,255,255,.95);
}

.hero{
  position: relative;
  min-height: 78vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(18,18,18,.78) 0%, rgba(18,18,18,.55) 45%, rgba(18,18,18,.10) 100%),
    url("https://images.unsplash.com/photo-1556228724-4b2b4f0b30f3?auto=format&fit=crop&w=2400&q=80");
  background-size: cover;
  background-position: center;
  transform: scale(1.06);
  opacity: 0;
  transition: opacity 1.0s ease, transform 1.2s ease;
}
body.is-loaded .hero::before{ opacity:1; transform: scale(1.0); }
.hero-content{ position: relative; z-index:2; color:#fff; padding: 6rem 0 3rem; }
.hero-kicker{ letter-spacing: 3px; text-transform: uppercase; font-size: .85rem; color: rgba(255,255,255,.85); }
.hero h1{
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  line-height: 1.05;
  margin: .5rem 0 1rem;
}
.hero p{ color: rgba(255,255,255,.88); max-width: 52ch; font-size: 1.05rem; }

.section{ padding: 5rem 0; }
.section-title{
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
}
.section-sub{ color: var(--muted); max-width: 70ch; }

.glass{
  background: var(--card);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.image-strip{ margin-top: -3.5rem; position: relative; z-index:3; }
.strip-img{
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow2);
  border: 1px solid rgba(255,255,255,.55);
  min-height: 220px;
  background-size: cover;
  background-position: center;
  transform: translateY(18px);
  opacity: 0;
  transition: all .8s ease;
}
.strip-img.reveal{ transform: translateY(0); opacity: 1; }

.card-luxe{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.76);
  box-shadow: 0 14px 45px rgba(0,0,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
  height: 100%;
}
.card-luxe:hover{ transform: translateY(-6px); box-shadow: 0 22px 60px rgba(0,0,0,.12); }

.badge-soft{
  background: rgba(202,163,106,.14);
  border: 1px solid rgba(202,163,106,.25);
  color: var(--ink);
}

.pricing{ position: relative; }
.price{ font-size: 2rem; font-family: Georgia, 'Times New Roman', serif; }
.price small{ color: var(--muted); font-size: .95rem; }
.pricing .card-luxe{ overflow:hidden; position: relative; }
.pricing .card-luxe::after{
  content:"";
  position:absolute;
  inset:auto -20% -35% -20%;
  height: 220px;
  background: radial-gradient(circle at 40% 40%, rgba(243,215,166,.55), transparent 55%),
              radial-gradient(circle at 60% 60%, rgba(242,214,210,.55), transparent 55%);
  transform: rotate(-6deg);
  pointer-events:none;
}

.review-quote{ font-family: Georgia, 'Times New Roman', serif; font-size: 1.15rem; }
.stars{ letter-spacing: 2px; }

.form-control, .form-select{
  border-radius: 14px;
  border: 1px solid var(--line);
  padding: .8rem .95rem;
}
.form-control:focus{
  border-color: rgba(202,163,106,.55);
  box-shadow: 0 0 0 .2rem rgba(202,163,106,.15);
}

.footer{
  border-top: 1px solid var(--line);
  padding: 2.25rem 0;
  color: var(--muted);
}

.reveal-up{
  transform: translateY(18px);
  opacity: 0;
  transition: all .8s ease;
}
.reveal-up.reveal{ transform: translateY(0); opacity: 1; }

/* Floating WhatsApp button */
.wa-fab{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .85rem 1.05rem;
  border-radius: 999px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(135deg, #25D366, #1fb75a);
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: 0 18px 55px rgba(0,0,0,.18);
  transform: translateY(0);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.wa-fab:hover{
  transform: translateY(-3px);
  filter: brightness(1.02);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.wa-fab i{ font-size: 1.25rem; }
