:root{
  --ink:#0f0f14; --muted:#6a6a86; --line:rgba(15,15,20,.10);
  --bg:#fbfaf9; --card:#fff;
  --shadow:0 30px 90px rgba(15,15,20,.12);
  --shadow2:0 14px 48px rgba(15,15,20,.10);
  --radius:28px;
  --blush:#ff5aa7; --violet:#8a6bff; --gold:#c9a86a;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ink);
  background:
    radial-gradient(900px 520px at 12% 0%, rgba(255,90,167,.14), transparent 62%),
    radial-gradient(900px 520px at 92% 8%, rgba(201,168,106,.14), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 52%, #ffffff 100%);
  overflow-x:hidden;
}
.container{width:min(1100px, 92vw); margin:0 auto}
.topbar{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(16px);
  border-bottom:1px solid var(--line);
}
.topbar .inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.brand{font-weight:950;letter-spacing:-.03em}
.nav{display:flex;gap:10px;align-items:center}
.nav a{color:var(--muted);font-weight:850;font-size:13px;padding:10px 12px;border-radius:999px;text-decoration:none}
.nav a:hover{background:rgba(15,15,20,.03)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:999px;font-weight:950;
  border:1px solid rgba(15,15,20,.10);
  background: rgba(15,15,20,.02);
  text-decoration:none; color:inherit;
}
.btn.primary{
  color:#fff;
  border-color: rgba(255,90,167,.18);
  background: linear-gradient(90deg, var(--blush), var(--violet));
  box-shadow: 0 14px 34px rgba(255,90,167,.22);
}
.hero{
  margin: 16px auto 0;
  border-radius: calc(var(--radius) + 10px);
  overflow:hidden;
  border:1px solid rgba(15,15,20,.10);
  box-shadow: var(--shadow);
  position:relative;
}
.hero .media{
  height: clamp(540px, 75vh, 760px);
  background: url('../assets/hero.jpg') center/cover no-repeat;
  filter: saturate(1.05) contrast(1.02);
}
.hero .shade{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 520px at 20% 25%, rgba(255,90,167,.22), transparent 58%),
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.72) 100%);
}
.hero .copy{
  position:absolute; left:18px; right:18px; bottom:18px;
  color:#fff;
}
.kicker{
  display:inline-flex;gap:10px;align-items:center;
  font-weight:900;letter-spacing:.12em;text-transform:uppercase;
  font-size:12px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  padding:10px 12px;border-radius:999px;
}
h1{
  font-family: "Sora", Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: clamp(34px, 7vw, 62px);
  line-height:1.02;margin:12px 0 10px;
  letter-spacing:-.05em;
}
.lead{margin:0 0 16px;color:rgba(255,255,255,.92);line-height:1.75;max-width:62ch}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.section{padding: 28px 0}
.grid{display:grid;grid-template-columns: 1.1fr .9fr;gap: 16px;align-items:start}
.card{
  background:var(--card);
  border:1px solid rgba(15,15,20,.10);
  border-radius: var(--radius);
  box-shadow: var(--shadow2);
  padding: 16px;
}
.card h2{margin:0 0 10px;font-family:"Sora", Inter, sans-serif;letter-spacing:-.02em;font-size:20px}
.notice{
  display:flex;gap:10px;align-items:flex-start;
  padding:12px 12px;border-radius:18px;
  border:1px solid rgba(255,90,167,.18);
  background: rgba(255,90,167,.06);
  font-weight:850;
}
.notice small{display:block;color:rgba(43,22,34,.72);font-weight:700;line-height:1.5;margin-top:3px}
label{display:block;color:var(--muted);font-size:13px;font-weight:900;margin:0 0 6px}
.field{margin-bottom:12px}
.input, select, textarea{
  width:100%;
  border-radius: 16px;
  border:1px solid rgba(15,15,20,.12);
  padding: 14px 14px;
  background: rgba(15,15,20,.02);
  outline:none;
  font: inherit;
}
textarea{resize:vertical}
.services{display:grid;grid-template-columns: repeat(3, 1fr);gap: 12px}
.svc{
  border-radius: 22px; overflow:hidden;
  border:1px solid rgba(15,15,20,.10);
  background:#fff; box-shadow: var(--shadow2);
}
.svc img{width:100%;height:190px;object-fit:cover;display:block}
.svc .body{padding:14px}
.svc h3{margin:0 0 6px;font-size:15px}
.svc p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.65}
.price{margin-top:10px;font-weight:950}
.gallery{display:grid;grid-template-columns: 1fr 1fr;gap: 10px}
.gallery img{width:100%;height:240px;object-fit:cover;border-radius:22px;border:1px solid rgba(15,15,20,.10);box-shadow: var(--shadow2)}
.footer{
  padding: 28px 0 46px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
.ig{
  display:inline-flex;align-items:center;gap:10px;
  padding: 12px 14px;border-radius: 18px;
  border:1px solid rgba(15,15,20,.10);
  background: rgba(15,15,20,.02);
  font-weight:900;
  text-decoration:none;
}
@media (max-width: 980px){
  .grid{grid-template-columns:1fr}
  .services{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .nav{display:none}
  .gallery{grid-template-columns:1fr}
  .gallery img{height:260px}
}
