
:root{
  --bg:#25161d;
  --bg-soft:#301f28;
  --panel:#3b2731;
  --panel-alt:#4b313d;
  --border:rgba(201,168,106,.25);
  --gold:#c9a86a;
  --gold-soft:#e7d1a4;
  --text:#f6efe6;
  --text-soft:#d8c9b6;
  --shadow:0 20px 45px rgba(0,0,0,.28);
  --radius:24px;
  --radius-sm:16px;
  --container:min(1160px, calc(100% - 2rem));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top, rgba(201,168,106,.12), transparent 24%),
    linear-gradient(180deg, #412a35 0%, var(--bg) 32%, #190f14 100%);
  min-height:100vh;
}
body.modal-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:var(--container);margin:0 auto}
.section{padding:5.5rem 0}
.section-tight{padding:4rem 0}
.section-title{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.2rem, 4vw, 3.6rem);
  margin:0 0 1rem;
  line-height:1;
}
.eyebrow{
  display:inline-block;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  font-size:.82rem;
  margin-bottom:1rem;
}
.lead{
  font-size:1.12rem;
  line-height:1.8;
  color:var(--text-soft);
  max-width:60ch;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  padding:1rem 1.35rem;
  border-radius:999px;
  border:1px solid rgba(201,168,106,.45);
  color:var(--text);
  font-weight:600;
  transition:.25s ease;
  background:rgba(255,255,255,.03);
  box-shadow:none;
}
.btn:hover{transform:translateY(-2px); background:rgba(255,255,255,.08)}
.btn-primary{
  background:linear-gradient(135deg, var(--gold), #b98e46);
  color:#24150f;
  border-color:transparent;
}
.btn-primary:hover{box-shadow:0 12px 24px rgba(201,168,106,.22)}
.btn-ghost{background:transparent}
.btn.is-disabled,.link.is-disabled{opacity:.5;pointer-events:none}
.link{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}
.topbar{
  position:sticky; top:0; z-index:40;
  backdrop-filter:blur(16px);
  background:rgba(22, 12, 17, .75);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.navbar{
  min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.brand{display:flex;align-items:center;gap:1rem}
.brand img{height:58px;width:auto}
.brand .brand-name{
  font-family:"Cormorant Garamond",serif;
  font-size:1.4rem;
  color:var(--gold-soft);
}
.nav-links,.mobile-nav{
  display:flex; gap:1rem; align-items:center;
}
.nav-links a,.mobile-nav a{
  color:var(--text-soft);
  padding:.7rem .95rem;
  border-radius:999px;
  transition:.25s ease;
}
.nav-links a:hover,.nav-links a.active,.mobile-nav a:hover,.mobile-nav a.active{
  color:var(--text);
  background:rgba(201,168,106,.1)
}
.menu-toggle{display:none;background:none;border:1px solid var(--border);border-radius:12px;padding:.75rem;color:var(--gold-soft)}
.mobile-nav{
  display:none; flex-direction:column; padding:0 1rem 1rem;
}
.mobile-nav.open{display:flex}
.hero{
  padding:4rem 0 5rem;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:2rem;
  align-items:center;
}
.hero-copy{
  padding:2rem 0;
}
.hero-logo{
  width:min(560px,100%);
  margin:0 auto 1rem;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.24));
}
.hero-title{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.8rem,5vw,5rem);
  line-height:.95;
  margin:0 0 1rem;
}
.hero p{font-size:1.1rem; line-height:1.8; color:var(--text-soft)}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.hero-card{
  position:relative;
  min-height:540px;
  border-radius:32px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  background:var(--panel);
}
.hero-card img{width:100%;height:100%;object-fit:cover}
.hero-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(12,8,10,.06), rgba(16,10,13,.46));
}
.hero-badge{
  position:absolute; left:1.2rem; bottom:1.2rem; z-index:2;
  padding:1rem 1.2rem; border-radius:18px;
  background:rgba(24,15,20,.75); border:1px solid rgba(201,168,106,.22);
  max-width:260px;
}
.hero-badge strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.35rem;color:var(--gold-soft)}
.cards{
  display:grid;
  gap:1.25rem;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.6rem;
  box-shadow:var(--shadow);
}
.card h3,.service-card h3,.review-card h3{
  margin:.2rem 0 .8rem;
  font-family:"Cormorant Garamond",serif;
  font-size:1.85rem;
}
.card p,.service-card p,.review-card p,.faq p{color:var(--text-soft);line-height:1.75;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.service-card{padding:1.7rem;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:var(--radius)}
.price{font-size:1rem;color:var(--gold-soft);letter-spacing:.08em;text-transform:uppercase}
.service-card ul{margin:1rem 0 0;padding-left:1rem;color:var(--text-soft);line-height:1.7}
.showcase{
  display:grid; grid-template-columns:.95fr 1.05fr; gap:1.5rem; align-items:center;
}
.showcase-media{
  border-radius:32px; overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow);
}
.showcase-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.showcase-panel{padding:1rem}
.list-check{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.8rem}
.list-check li{
  display:flex; gap:.75rem; align-items:flex-start; color:var(--text-soft);
}
.list-check li::before{
  content:"✦"; color:var(--gold); margin-top:.1rem;
}
.cta-banner{
  padding:2.2rem;
  border:1px solid rgba(201,168,106,.25);
  border-radius:32px;
  background:linear-gradient(135deg, rgba(201,168,106,.12), rgba(255,255,255,.03));
  display:flex; justify-content:space-between; align-items:center; gap:1.5rem; flex-wrap:wrap;
}
.gallery-hero{
  position:relative; overflow:hidden; border-radius:34px; min-height:520px; border:1px solid var(--border); box-shadow:var(--shadow)
}
.gallery-hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.gallery-hero::after{
  content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.58));
}
.gallery-hero .content{position:absolute; left:2rem; right:2rem; bottom:2rem; z-index:2; max-width:650px}
.gallery-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem;
}
.gallery-item{
  position:relative; overflow:hidden; border-radius:22px; border:1px solid var(--border); cursor:pointer; background:var(--panel);
}
.gallery-item img{width:100%; aspect-ratio:4/5; object-fit:cover; transition:.35s ease}
.gallery-item:hover img{transform:scale(1.03)}
.gallery-item .caption{
  position:absolute; left:0; right:0; bottom:0;
  padding:1rem;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.72));
}
.gallery-item h3{margin:0;font-size:1.2rem;font-family:"Cormorant Garamond",serif}
.gallery-item p{margin:.2rem 0 0;color:#e7dfd5;font-size:.95rem}
.lightbox{
  position:fixed; inset:0; background:rgba(7,5,6,.88); z-index:60; display:none; align-items:center; justify-content:center; padding:1rem;
}
.lightbox.open{display:flex}
.lightbox-inner{
  width:min(1100px,100%); background:#140d11; border:1px solid var(--border); border-radius:28px; overflow:hidden; box-shadow:var(--shadow);
}
.lightbox img{width:100%;max-height:72vh;object-fit:contain;background:#1a1015}
.lightbox-footer{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;color:var(--text-soft)}
.lightbox-close{
  background:none;border:1px solid var(--border);color:var(--gold-soft);border-radius:999px;padding:.55rem .85rem
}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.review-card{
  padding:1.5rem; border-radius:24px; background:rgba(255,255,255,.03); border:1px solid var(--border)
}
.review-card .stars{color:var(--gold);letter-spacing:.2em}
.placeholder{
  border-style:dashed;
}
.form-shell{
  display:grid; grid-template-columns:1.05fr .95fr; gap:1.5rem; align-items:start;
}
form{
  display:grid; gap:1rem;
}
.input-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem;
}
label{display:grid;gap:.5rem;font-weight:600;color:var(--text-soft)}
input,select,textarea{
  width:100%; padding:1rem 1rem; border-radius:16px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.045); color:var(--text);
  font:inherit;
}
input::placeholder,textarea::placeholder{color:#baa895}
textarea{min-height:180px;resize:vertical}
.form-note{
  padding:1.4rem; border-radius:24px; border:1px solid var(--border); background:rgba(201,168,106,.08);
}
.payment-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem;
}
.payment-card{
  padding:1.7rem;border-radius:28px;border:1px solid var(--border);background:rgba(255,255,255,.03)
}
.payment-card strong{font-size:2rem;font-family:"Cormorant Garamond",serif;display:block;margin:.2rem 0 .7rem;color:var(--gold-soft)}
.contact-strip{
  display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:2rem;
}
.contact-pill{
  display:flex; gap:.8rem; align-items:center; justify-content:center; padding:1rem; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid var(--border); text-align:center
}
.site-footer{
  margin-top:4rem; padding:2rem 0 3rem; border-top:1px solid rgba(255,255,255,.08); color:var(--text-soft)
}
.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}
.muted{color:var(--text-soft)}
.small{font-size:.95rem}
hr.rule{border:none;border-top:1px solid rgba(255,255,255,.08);margin:2rem 0}
@media (max-width: 980px){
  .hero-grid,.showcase,.form-shell,.payment-grid,.service-grid,.contact-strip,.review-grid,.cards{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-links{display:none}
  .menu-toggle{display:block}
  .hero-card{min-height:420px}
}
@media (max-width: 640px){
  .gallery-grid{grid-template-columns:1fr}
  .input-grid{grid-template-columns:1fr}
  .navbar{min-height:76px}
  .brand .brand-name{display:none}
  .hero{padding-top:2rem}
  .section{padding:4.3rem 0}
  .cta-banner{padding:1.4rem}
  .gallery-hero .content{left:1.2rem; right:1.2rem; bottom:1.2rem}
}
