:root{
  --bg:#111111; --bg2:#171717; --card:#1c1c1c; --text:#f5f1eb; --muted:#c9c2b8;
  --gold:#d6c2a8; --sage:#8f9b84; --line:rgba(214,194,168,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:Inter, Arial, sans-serif; background:var(--bg); color:var(--text); line-height:1.7;
  background-image: radial-gradient(circle at top right, rgba(143,155,132,.14), transparent 26%),
                    radial-gradient(circle at top left, rgba(214,194,168,.11), transparent 24%);
}
img{max-width:100%; display:block}
a{color:inherit}
.container{width:min(1180px, calc(100% - 32px)); margin:auto}
.section{padding:84px 0}
.kicker{letter-spacing:.28em; text-transform:uppercase; color:var(--sage); font-size:.78rem; margin-bottom:14px}
.h1,.h2,.h3{font-family:"Cormorant Garamond", serif; line-height:.95; margin:0}
.h1{font-size:clamp(3.4rem,8vw,6.5rem)}
.h2{font-size:clamp(2.2rem,5vw,4.2rem)}
.h3{font-size:clamp(1.45rem,2.2vw,2rem)}
.muted{color:var(--muted)}
.grid{display:grid; gap:20px}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid var(--line); border-radius:24px; padding:24px; box-shadow:0 18px 55px rgba(0,0,0,.25);
}
.service-card{min-height:170px}
.service-card .icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(214,194,168,.09);margin-bottom:14px}
.review .stars{color:#f2d27b; letter-spacing:.14em}
.btns{display:flex; gap:14px; flex-wrap:wrap; margin-top:24px}
.btn{
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-weight:700;
  padding:16px 22px; border-radius:999px; transition:.25s ease; border:1px solid transparent;
}
.btn:hover{transform:translateY(-3px)}
.btn.primary{background:linear-gradient(135deg,var(--gold),#c8a97e); color:#111}
.btn.ghost{background:rgba(255,255,255,.03); border-color:rgba(214,194,168,.24); color:var(--text)}
.btn.ghost:hover{background:rgba(214,194,168,.08)}
header.site{
  position:sticky; top:0; z-index:100; background:rgba(17,17,17,.82); backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,.05)
}
.nav{display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:74px}
.brand{text-decoration:none; display:flex; flex-direction:column; gap:2px}
.brand strong{letter-spacing:.24em; font-size:.9rem}
.brand span{font-size:.8rem; color:var(--muted)}
.nav-links{display:flex; gap:16px; align-items:center; flex-wrap:wrap}
.nav-links a{text-decoration:none; color:var(--muted); padding:8px 4px}
.nav-links a:hover{color:var(--text)}
.menu-btn{display:none; background:rgba(255,255,255,.03); color:var(--text); border:1px solid rgba(214,194,168,.22); padding:10px 12px; border-radius:12px}
.hero{padding:34px 0 24px}
.hero-wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:center; min-height:calc(100vh - 74px)}
.hero-copy p,.intro-sub,.footer p{color:var(--muted)}
.hero-photo{
  min-height:540px; border-radius:30px; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(135deg, rgba(214,194,168,.26), rgba(143,155,132,.24));
  box-shadow:0 18px 55px rgba(0,0,0,.28);
}
.hero-photo .label{position:absolute;left:18px;bottom:18px;padding:10px 14px;border-radius:999px;background:rgba(17,17,17,.72);border:1px solid rgba(255,255,255,.08);font-size:.92rem}
.split-note{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px}
.mini{background:rgba(255,255,255,.02); border:1px solid var(--line); border-radius:18px; padding:16px 18px}
.logo-strip{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px}
.logo-box{min-height:106px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:18px; border-radius:20px; border:1px solid rgba(214,194,168,.16); background:rgba(255,255,255,.02); font-weight:700}
.logo-box small{font-weight:500; color:var(--muted); margin-top:6px}
.footer{border-top:1px solid rgba(255,255,255,.05); background:#0b0b0b}
.footer-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px; padding:48px 0}
.footer a{text-decoration:none}
.breadcrumb{font-size:.92rem; color:var(--muted)}
.intro{
  min-height:100vh; display:grid; place-items:center; background:#090909;
}
.intro-card{width:min(920px, calc(100% - 32px)); text-align:center; padding:56px 20px}
.typed{font-family:"Parisienne", cursive; font-size:clamp(2.4rem,7vw,5.3rem); min-height:1.2em}
.cursor{animation:blink .8s infinite}
@keyframes blink{50%{opacity:0}}
@media (max-width: 960px){
  .hero-wrap,.two,.three,.four,.footer-grid{grid-template-columns:1fr}
  .split-note{grid-template-columns:1fr}
  .hero-photo{min-height:380px}
  .menu-btn{display:inline-flex}
  .nav-links{display:none; width:100%; flex-direction:column; align-items:flex-start; padding-top:12px}
  .nav-links.open{display:flex}
  .nav{flex-wrap:wrap}
}
@media (max-width: 640px){
  .section{padding:68px 0}
  .hero-photo{min-height:320px}
  .btn{width:100%}
}

