:root{
  --bg:#0b0b0d; --panel:#131316; --panel-2:#17171b; --line:#2a2a30;
  --text:#f2ede3; --muted:#b9b2a4; --gold:#c9a86a; --gold-2:#e3c98d;
  --max:1200px; --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Outfit',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  line-height:1.6;
}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif; font-weight:500; line-height:1.08; margin:0 0 .6rem}
h1{font-size:clamp(2.4rem,5.2vw,4.2rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
p{margin:0 0 1rem; color:var(--muted)}
a{color:inherit}
img{max-width:100%; height:auto; display:block; border-radius:10px}
.wrap{max-width:var(--max); margin:0 auto; padding:0 1.25rem}
.eyebrow{letter-spacing:.22em; font-size:.72rem; color:var(--gold-2); text-transform:uppercase; border-left:2px solid var(--gold); padding-left:.7rem; margin-bottom:1rem}
.label{letter-spacing:.22em; font-size:.72rem; color:var(--muted); text-transform:uppercase}
.label strong{color:var(--gold-2); font-weight:600}
/* Header */
.site-header{position:sticky; top:0; z-index:20; background:rgba(11,11,13,.94); border-bottom:1px solid var(--line)}
.bar{display:flex; align-items:center; gap:1rem; padding:.8rem 1.25rem; max-width:var(--max); margin:0 auto}
.brand{display:flex; align-items:baseline; gap:.6rem; text-decoration:none}
.brand img{display:block; height:58px; width:auto; border-radius:0; mix-blend-mode:screen}
footer .brand img{height:44px}
.brand b{letter-spacing:.34em; font-size:1.1rem; font-weight:800; color:#fff}
.brand span{font-family:'Cormorant Garamond',Georgia,serif; font-size:.68rem; letter-spacing:.3em; color:var(--text)}
.nav{display:flex; gap:1.1rem; margin-left:auto; font-size:.78rem; letter-spacing:.14em}
.nav a{text-decoration:none; color:var(--muted)}
.nav a:hover{color:var(--text)}
.head-actions{display:flex; align-items:center; gap:.7rem; margin-left:1rem}
.social{display:flex; gap:.5rem}
.social a{border:1px solid var(--line); border-radius:999px; width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; color:var(--gold-2)}
.social a:hover{background:var(--gold-2); border-color:var(--gold-2); color:#141414}
.social svg{display:block}
.btn{display:inline-block; border:1px solid var(--gold); color:var(--text); padding:.65rem 1.1rem; border-radius:6px; text-decoration:none; letter-spacing:.12em; font-size:.78rem}
.btn.solid{background:var(--gold-2); border-color:var(--gold-2); color:#141414}
.btn.ghost{background:transparent}
.btn:hover{border-color:var(--gold-2)}
#menu-btn{display:none; background:none; border:1px solid var(--line); color:var(--text); border-radius:8px; padding:.5rem .7rem}
/* Hero */
.hero{display:grid; grid-template-columns:1.05fr 1fr; gap:0; align-items:stretch; border-bottom:1px solid var(--line)}
.hero-copy{padding:clamp(2rem,5vw,4.5rem) 1.25rem; max-width:640px; margin-left:auto; display:flex; flex-direction:column; justify-content:center}
.hero-copy h1 em{color:var(--gold-2); font-style:italic}
.hero-media{position:relative; min-height:420px}
.hero-media img{width:100%; height:100%; object-fit:cover; border-radius:0}
.hero-media figcaption{position:absolute; left:1rem; bottom:1rem; background:rgba(0,0,0,.55); padding:.4rem .7rem; border-radius:999px; font-size:.75rem; letter-spacing:.08em}
.cta-row{display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.2rem}
.trust{margin-top:1.1rem; font-size:.82rem; color:var(--muted)}
.trust a{color:var(--gold-2)}
/* Sections */
section{padding:clamp(2.5rem,5vw,4.5rem) 0; border-bottom:1px solid var(--line)}
.split{display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center}
.card{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem}
.price-list{margin-top:1.5rem; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
.price-row{display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; padding:1rem 1.4rem; border-bottom:1px solid var(--line); background:var(--panel)}
.price-row:last-child{border-bottom:0}
.price-row h3{font-size:1.5rem; margin:0}
.price{font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--gold-2); text-align:right}
.price small{display:block; font-family:'Outfit',sans-serif; font-size:.68rem; color:var(--muted); letter-spacing:.1em}
.note{font-size:.8rem; color:var(--muted); border:1px dashed var(--line); border-radius:10px; padding:.8rem 1rem; margin-top:1rem}
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:1.5rem}
.step{padding:1.2rem; border-right:1px solid var(--line); background:var(--panel)}
.step:last-child{border-right:0}
.step h3{font-size:1.25rem}
.step p{font-size:.9rem}
.gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem}
.gallery figure{margin:0; background:var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden}
.gallery img{border-radius:0; aspect-ratio:3/4; width:100%; object-fit:cover}
.gallery figcaption{padding:.7rem .9rem; font-size:.72rem; letter-spacing:.14em; color:var(--muted)}
.team{display:grid; grid-template-columns:.9fr 1.1fr; gap:1.5rem; align-items:start}
.team figure{margin:0}
.team figure img{width:100%; max-height:640px; object-fit:cover}
.member{border:1px solid var(--line); border-radius:12px; padding:1.1rem 1.2rem; background:var(--panel); margin-bottom:1rem; display:grid; grid-template-columns:1fr auto; gap:.6rem; align-items:center}
.member h3{margin:0; font-size:1.4rem}
.member p{margin:0; font-size:.78rem; letter-spacing:.12em}
.member .btn{font-size:.7rem; padding:.5rem .8rem}
.reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.5rem}
.review{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1.2rem; display:flex; flex-direction:column; gap:.8rem}
.review blockquote{margin:0; font-family:'Cormorant Garamond',serif; font-size:1.15rem; line-height:1.4; color:var(--text)}
.review cite{font-style:normal; font-size:.72rem; letter-spacing:.14em; color:var(--muted)}
.star{color:var(--gold-2)}
.contact-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; align-items:start}
.info-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:1.5rem 0}
.info-grid h3{font-size:.75rem; font-family:'Outfit',sans-serif; letter-spacing:.18em; color:var(--muted)}
.info-grid p,.info-grid a{color:var(--text); font-size:.95rem; text-decoration:none}
footer{padding:1.5rem 0 2.5rem; color:var(--muted); font-size:.82rem}
.foot{display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap}
.foot nav{display:flex; gap:1rem}
.foot a{text-decoration:none}
@media (max-width:960px){
  .hero{grid-template-columns:1fr}
  .hero-media{min-height:300px}
  .split,.team,.contact-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(2){border-right:0}
  .step{border-bottom:1px solid var(--line)}
  .gallery{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr}
  .nav{display:none}
  .nav.open{display:flex; position:absolute; top:60px; left:0; right:0; background:#101013; padding:1rem 1.25rem; flex-direction:column; border-bottom:1px solid var(--line)}
  #menu-btn{display:inline-block}
  .head-actions{margin-left:auto}
}
@media (max-width:520px){
  .bar{flex-wrap:wrap; row-gap:.5rem}
  .brand span{display:none}
  .head-actions{margin-left:auto; flex-wrap:wrap}
  .head-actions .btn{padding:.5rem .7rem; font-size:.72rem}
  .steps{grid-template-columns:1fr}
  .step{border-right:0}
  .gallery{grid-template-columns:1fr}
  .info-grid{grid-template-columns:1fr}
}
