
:root{
  --purple:#8f45d8;
  --purple-dark:#5d237f;
  --lilac:#f3e9fb;
  --pink:#f6c9e8;
  --ink:#28222d;
  --muted:#6f6875;
  --white:#fff;
  --shadow:0 14px 40px rgba(74,35,94,.10);
  --radius:24px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1160px,92%);margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #eee}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.logo{font-weight:800;color:var(--purple-dark);font-size:1.05rem;line-height:1.15}
.logo span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--purple)}
.menu{display:flex;gap:22px;align-items:center;font-size:.92rem}
.menu a:hover{color:var(--purple)}
.menu .cta{background:var(--purple);color:#fff;padding:11px 18px;border-radius:999px}
.hero{padding:100px 0 85px;background:radial-gradient(circle at 80% 20%,#ead2fb 0,transparent 32%),linear-gradient(135deg,#fff 0,#faf4fd 100%)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}
.eyebrow{display:inline-block;color:var(--purple-dark);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin-bottom:16px}
h1{font-size:clamp(2.7rem,6vw,5.1rem);line-height:1.03;letter-spacing:-.045em;margin-bottom:22px}
h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:18px}
h3{font-size:1.25rem;margin-bottom:10px}
.lead{font-size:1.18rem;color:var(--muted);max-width:650px}
.buttons{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:800}
.btn-primary{background:var(--purple);color:#fff;box-shadow:0 12px 24px rgba(143,69,216,.22)}
.btn-secondary{border:1px solid #dcc7e8;background:#fff;color:var(--purple-dark)}
.hero-photo{height:510px;border-radius:40px;background:linear-gradient(145deg,#dcb5f5,#f8d9ea);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow)}
.hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
.photo-placeholder{text-align:center;color:var(--purple-dark);padding:35px;font-weight:700}
.section{padding:92px 0}
.section-soft{background:var(--lilac)}
.center{text-align:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{background:#fff;border:1px solid #eee4f3;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}
.card p{color:var(--muted)}
.icon{width:52px;height:52px;border-radius:16px;background:#f0ddfb;color:var(--purple-dark);display:grid;place-items:center;font-size:1.35rem;margin-bottom:20px}
.tag{display:inline-block;padding:7px 12px;border-radius:999px;background:#f7e8f4;color:var(--purple-dark);font-size:.8rem;font-weight:800;margin:4px}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}
.photo-box{height:430px;border-radius:34px;background:linear-gradient(145deg,#efd8fa,#f9d9e9);overflow:hidden;box-shadow:var(--shadow)}
.photo-box img{width:100%;height:100%;object-fit:cover;object-position:center}
.list{list-style:none;display:grid;gap:11px;margin-top:20px}
.list li:before{content:"✓";color:var(--purple);font-weight:900;margin-right:10px}
.page-hero{padding:75px 0;background:linear-gradient(135deg,#f8effc,#fff)}
.page-hero p{max-width:760px;color:var(--muted);font-size:1.1rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.home-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.home-gallery figure{margin:0;overflow:hidden;border-radius:24px;background:#fff;box-shadow:var(--shadow);border:1px solid #eee4f3}
.home-gallery img{width:100%;height:290px;object-fit:cover}
.home-gallery figcaption{padding:14px 18px;color:var(--purple-dark);font-weight:700}
.gallery .ph{aspect-ratio:1;border-radius:22px;background:linear-gradient(145deg,#e9c9f8,#f6d7e8);display:grid;place-items:center;text-align:center;padding:15px;color:var(--purple-dark);font-size:.9rem}
.quote{font-size:1.05rem;color:#4f4756}
.quote strong{display:block;color:var(--purple-dark);margin-top:14px}
.contact-box{background:linear-gradient(135deg,var(--purple-dark),var(--purple));color:#fff;border-radius:34px;padding:55px}
.contact-box p{color:#f5eafd}
footer{padding:35px 0;background:#241a2b;color:#ddd}
footer .foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.small{font-size:.88rem;color:#a99fac}
.mobile-btn{display:none}
@media(max-width:850px){
  .menu{display:none}.mobile-btn{display:block}
  .hero-grid,.split,.grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .hero{padding:65px 0}.hero-photo{min-height:360px}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .home-gallery{grid-template-columns:1fr}
  .home-gallery img{height:260px}
}
