*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffaf8;color:#50345f;font-family:"DM Sans",sans-serif}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;letter-spacing:-.035em}h1{font-size:clamp(3.1rem,5.5vw,6.5rem);line-height:1.06}h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.15}h2 i,h1 i{color:#af78bd;font-weight:500}p{line-height:1.75}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px max(5vw,20px);background:#fffaf8f2;backdrop-filter:blur(14px);border-bottom:1px solid #eedfea}.brand{text-decoration:none;font-family:"Playfair Display",serif;font-weight:700;font-size:1.55rem}.brand em{font-size:.75em;font-weight:400}.brand-icon{color:#e8a4cf;margin-right:5px}.top nav{display:flex;align-items:center;gap:28px}.top nav a{text-decoration:none;font-size:.9rem;font-weight:600}.nav-cta,.btn{background:#50345f!important;color:white!important;border-radius:100px;padding:15px 25px;text-decoration:none;border:0;cursor:pointer;font-weight:700;display:inline-block}.menu{display:none;background:none;border:0;font-size:1.6rem;color:#50345f}.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:5%;padding:75px max(5vw,20px) 85px;background:radial-gradient(circle at 12% 25%,#f7dfed,transparent 35%),radial-gradient(circle at 45% 100%,#e4f4fc,transparent 45%),#fffaf8}.hero-copy{max-width:650px}.hero-copy>p{font-size:1.16rem;max-width:490px;color:#76637c}.eyebrow{font-size:.72rem;letter-spacing:.2em;font-weight:700;color:#a06db0}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:28px 0}.link{text-decoration:none;font-weight:700}.tiny{font-size:.78rem;color:#876c91}.hero-photo{position:relative}.hero-photo img{width:100%;height:540px;object-fit:cover;border-radius:220px 220px 22px 22px;box-shadow:18px 18px 0 #d7c3e9}.photo-sticker{position:absolute;bottom:-25px;left:-35px;background:#f2c9e3;border:6px solid #fffaf8;padding:24px;border-radius:50%;font-family:"Playfair Display",serif;font-size:1.2rem;text-align:center;transform:rotate(-9deg)}.ribbon{background:#50345f;color:white;text-align:center;letter-spacing:.13em;padding:18px;font-size:.76rem;font-weight:700}.ribbon span{color:#efb7d6;padding:0 16px}.section{padding:95px max(5vw,20px)}.section-head{text-align:center;max-width:760px;margin:0 auto 45px}.section-head p{color:#786782}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{background:#f5eaf6;border-radius:20px;padding:30px;min-height:220px}.service:nth-child(2),.service:nth-child(5){background:#e7f4fb}.service:nth-child(3){background:#fae4ee}.service span{font-size:.76rem;color:#9c78aa}.service h3{font-family:"Playfair Display",serif;font-size:1.5rem;margin:22px 0 10px}.service p{font-size:.9rem;color:#74677a}.note{text-align:center;font-size:.8rem;color:#85758b;margin:25px 0 0}.gallery-section{background:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:18px;aspect-ratio:4/5}.gallery .g-wide{grid-column:span 2;aspect-ratio:auto}.gallery img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#26162fb8);color:white;padding:36px 14px 14px;font-size:.83rem;font-weight:700}.about{display:grid;grid-template-columns:.85fr 1fr;gap:8%;align-items:center;background:#eaf5fb;padding:90px max(5vw,20px)}.about-art{position:relative}.about-art img{width:100%;height:570px;object-fit:cover;border-radius:180px 180px 20px 20px}.about-tag{position:absolute;right:-28px;bottom:35px;background:#f4cbe5;border-radius:50%;padding:25px;text-align:center;font-weight:700;transform:rotate(9deg);font-size:.8rem}.about-copy p{color:#6f6078}.about-copy strong{font-family:"Playfair Display",serif;font-size:1.3rem}.steps{background:#fff}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.step-grid b{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#efd9f2}.step-grid h3{margin-top:22px}.step-grid p{color:#786782;font-size:.9rem}.faq{background:#faf0f7}.faq details{max-width:820px;margin:10px auto;background:white;border-radius:14px;padding:19px 25px}.faq summary{font-weight:700;cursor:pointer}.faq details p{color:#766a7c;margin:15px 0 0}.inquire{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;padding:100px max(5vw,20px);background:#50345f;color:white}.inquire h2 i{color:#eebadd}.inquire p{color:#e8d9ee}.inquire .eyebrow{color:#f3c4e4}.contact{margin-top:32px}.inquire form{background:white;color:#50345f;padding:30px;border-radius:24px}.inquire label{font-size:.82rem;font-weight:700;display:block;margin-bottom:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #e5d8e7;background:#fffafd;border-radius:10px;padding:13px;font:inherit;color:#50345f}textarea{resize:vertical}form small{display:block;margin-top:12px;color:#786b7c;line-height:1.5}footer{text-align:center;padding:55px 20px;background:#f5e8f4}footer p{font-size:.82rem;color:#86718b;margin:8px}.footer-brand{font-family:"Playfair Display",serif;font-size:2rem;font-weight:700}.footer-brand em{font-size:.75em}.footer-brand span{color:#dc95c7}@media(max-width:850px){.menu{display:block}.top nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fffaf8;flex-direction:column;padding:24px;box-shadow:0 15px 20px #50345f22}.top nav.open{display:flex}.hero,.about,.inquire{grid-template-columns:1fr}.hero{padding-top:55px}.hero-photo img{height:440px}.photo-sticker{left:0}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.step-grid{grid-template-columns:repeat(2,1fr)}.about-art img{height:420px}.inquire{gap:35px}}@media(max-width:520px){.brand{font-size:1.22rem}.hero-photo img{height:320px}.photo-sticker{font-size:.85rem;padding:16px}.section{padding:65px 18px}.service-grid,.step-grid{grid-template-columns:1fr}.service{min-height:0}.gallery{gap:9px}.gallery figure{aspect-ratio:3/4}.gallery .g-wide{grid-column:span 2;aspect-ratio:1.4}.two{grid-template-columns:1fr}.inquire form{padding:20px}.ribbon{font-size:.6rem}.ribbon span{padding:0 4px}}