*{box-sizing:border-box;margin:0;padding:0}
:root{--pink:#ef78a7;--hot:#e84f8b;--blush:#fff0f5;--ink:#28232a;--muted:#777078;--cream:#fffafc;--line:#f1dce5}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff}
a{text-decoration:none;color:inherit}
.site-header{height:88px;padding:0 7.5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #f7eaf0}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:43px;height:43px;border:1.5px solid var(--pink);border-radius:50%;display:grid;place-items:center;color:var(--hot);font-family:"Playfair Display",serif;font-size:25px;position:relative}
.brand-mark span{font-size:10px;position:absolute;right:5px;top:4px}
.brand-name{font-family:"Playfair Display",serif;font-size:17px;line-height:1.05}
.brand-name b{color:var(--hot);font-weight:600}
.brand-name small{display:block;font:600 8px "DM Sans",sans-serif;letter-spacing:2px;color:#a28b96;margin-top:5px}
.nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}
.nav a:not(.nav-cta):hover{color:var(--hot)}
.nav-cta{background:var(--ink);color:#fff;padding:14px 21px;border-radius:30px}
.menu-toggle{display:none;border:0;background:none;font-size:25px}
.hero{padding:82px 9% 95px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;overflow:hidden;background:linear-gradient(110deg,#fff 55%,#fff6f9)}
.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;color:var(--hot);margin-bottom:20px}
.eyebrow span{display:inline-block;width:25px;height:1px;background:var(--pink);vertical-align:middle;margin-right:9px}
h1,h2{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-1.7px}
h1{font-size:clamp(48px,5.2vw,76px);line-height:1.06}
h1 em,h2 em{font-weight:500;color:var(--hot)}
.hero-text{max-width:460px;color:var(--muted);font-size:15px;line-height:1.9;margin:25px 0 30px}
.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;gap:24px;padding:16px 22px;border-radius:3px;font-size:12px;font-weight:700;transition:.2s}
.button span{font-size:18px}
.button-primary{background:var(--hot);color:#fff;box-shadow:0 10px 25px #e84f8b30}
.button-primary:hover{transform:translateY(-3px);background:#d93f7d}
.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #e8b7ca;padding-bottom:5px}
.text-link span{color:var(--hot);margin-left:8px}
.hero-note{display:flex;align-items:center;gap:13px;margin-top:53px}
.sparkle{font-size:32px;color:var(--pink)}
.hero-note strong,.hero-note small{display:block}.hero-note strong{font:600 12px "DM Sans"}.hero-note small{font-size:10px;color:#938993;margin-top:4px}
.hero-visual{height:460px;position:relative;display:flex;align-items:center;justify-content:center}
.pink-orbit{width:390px;height:390px;border:1px solid #f5c6d8;border-radius:50%;position:absolute;transform:rotate(-18deg)}
.pink-orbit:before,.pink-orbit:after{content:"";position:absolute;border:1px solid #f7dce6;border-radius:50%;inset:20px -18px;transform:rotate(35deg)}
.pink-orbit:after{inset:48px -35px;transform:rotate(-25deg)}
.photo-card{position:absolute;border-radius:48% 48% 8px 8px;overflow:hidden;box-shadow:0 22px 60px #9d6c8030}
.main-photo{width:285px;height:360px;background:linear-gradient(160deg,#f6c4d6,#e7a2bc 45%,#c88da8);z-index:1;display:flex;align-items:end;padding:25px}
.main-photo:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 35% 25%,#fff9 0 4%,transparent 5%),radial-gradient(circle at 70% 35%,#fff8 0 3%,transparent 4%),linear-gradient(130deg,transparent 35%,#fff2)}
.photo-overlay{color:#fff;position:relative;text-shadow:0 2px 10px #92536f55}
.photo-kicker{display:block;font-size:8px;letter-spacing:2px;margin-bottom:12px}
.photo-overlay strong{font:500 31px/1.1 "Playfair Display",serif}
.detail-photo{width:155px;height:190px;background:linear-gradient(145deg,#fff1f6,#e8a9c1);right:0;bottom:5px;z-index:2;padding:20px;display:flex;flex-direction:column;justify-content:end;color:#8c4b68}
.detail-photo span{font-size:28px;color:#fff;position:absolute;top:18px;right:22px}
.detail-photo b{font:500 17px/1.2 "Playfair Display",serif}
.floating-stamp{position:absolute;left:0;top:42px;width:95px;height:95px;border-radius:50%;background:#fff;border:1px solid #f0c4d5;display:grid;place-content:center;text-align:center;color:#a65c7b;font-size:9px;font-weight:700;letter-spacing:1px;line-height:1.3;z-index:3;transform:rotate(-12deg);box-shadow:0 8px 20px #ad799020}
.floating-stamp span{font-size:17px;color:var(--hot)}
.trust-strip{display:flex;align-items:center;justify-content:center;gap:28px;padding:22px 5%;background:#fff4f8;color:#75616b;font-size:11px;font-weight:600;letter-spacing:.3px;flex-wrap:wrap}
.trust-strip i{font-style:normal;color:var(--hot)}
.section{padding:105px 9%}
.section-heading{max-width:490px;margin-bottom:45px}
.section-heading h2,.about-copy h2,.cta-section h2{font-size:clamp(38px,4vw,55px);line-height:1.12}
.section-heading>p:last-child{color:var(--muted);font-size:13px;line-height:1.8;margin-top:18px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{position:relative;padding:30px 27px 28px;border:1px solid var(--line);min-height:245px;background:#fff;transition:.25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #9b5c7712;border-color:#e9b4c9}
.service-card.featured{background:#fff5f8;border-color:#f6dce6}
.service-number{position:absolute;right:23px;top:23px;font-size:10px;color:#c8a5b4}
.service-icon{width:42px;height:42px;border-radius:50%;background:#fde5ee;color:var(--hot);display:grid;place-items:center;font-size:21px;margin-bottom:23px}
.service-card h3{font:600 19px "Playfair Display",serif;margin-bottom:10px}
.service-card p{font-size:12px;color:var(--muted);line-height:1.7;min-height:61px}
.service-card a{display:inline-block;margin-top:18px;font-size:10px;font-weight:700;color:var(--hot)}
.service-card a b{margin-left:7px;font-size:15px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:#fff6f9}
.about-art{height:390px;position:relative;display:grid;place-items:center}
.about-circle{width:300px;height:300px;border:1px solid #eeb8cc;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:radial-gradient(circle,#fff 48%,#fff0f5 49%);color:#9c5875;box-shadow:0 15px 40px #b8799218}
.about-circle span{font-size:26px;color:var(--hot);margin-bottom:14px}
.about-circle strong{font:500 29px/1.08 "Playfair Display",serif;letter-spacing:2px}
.about-circle small{font-size:8px;letter-spacing:2px;margin-top:17px}
.about-scribble{position:absolute;right:0;bottom:25px;font:italic 28px "Playfair Display",serif;color:var(--hot);transform:rotate(-10deg)}
.about-copy h2{margin-bottom:20px}
.about-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:22px}
.check-list{list-style:none;margin-bottom:30px}
.check-list li{font-size:12px;margin:13px 0;color:#5f565d}
.check-list span{display:inline-grid;place-items:center;width:20px;height:20px;background:#f9dce7;color:var(--hot);border-radius:50%;margin-right:9px;font-size:11px}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:var(--hot)}
.centered{text-align:center;margin:0 auto 55px}
.process{background:#fff}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;max-width:1000px;margin:auto}
.step{border-top:1px solid #edc9d7;padding-top:20px}
.step>span{font:500 31px "Playfair Display",serif;color:#e8a5bf}
.step h3{font:600 19px "Playfair Display",serif;margin:15px 0 9px}
.step p{font-size:12px;line-height:1.8;color:var(--muted);max-width:270px}
.cta-section{text-align:center;padding:82px 20px 78px;background:linear-gradient(135deg,#e85b91,#f49cba);color:#fff;position:relative;overflow:hidden}
.cta-section:before,.cta-section:after{content:"✧";position:absolute;font-size:180px;color:#ffffff20}
.cta-section:before{left:7%;top:-30px}.cta-section:after{right:8%;bottom:-55px}
.cta-section .eyebrow{color:#fff9}
.cta-section h2{font-size:clamp(42px,5vw,62px)}
.cta-section h2 em{color:#ffe8f0}
.cta-section>p:not(.eyebrow){font-size:13px;margin:18px 0 25px;color:#fff}
.button-white{background:#fff;color:#b73f70}
.cta-section>small{display:block;margin-top:20px;font-size:9px;color:#fff9}
.cta-sparkle{font-size:28px;margin-bottom:10px}
.footer{padding:28px 7.5%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer>p{font:italic 15px "Playfair Display",serif;color:#a66c85}
.footer>span{font-size:10px;color:#9b9298}
@media(max-width:900px){.hero{padding:65px 6%;gap:2%}.hero-visual{transform:scale(.88)}.section{padding:80px 6%}.service-grid{grid-template-columns:repeat(2,1fr)}.about{gap:5%}.nav{gap:20px}}
@media(max-width:650px){.site-header{height:72px;padding:0 5%}.menu-toggle{display:block}.nav{display:none;position:absolute;top:71px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav-cta{text-align:center}.hero{grid-template-columns:1fr;padding:55px 7% 65px}.hero-visual{height:390px;margin-top:10px;transform:scale(.88)}h1{font-size:53px}.trust-strip{gap:12px;font-size:9px}.section{padding:70px 7%}.service-grid{grid-template-columns:1fr}.service-card{min-height:220px}.about{grid-template-columns:1fr}.about-art{height:330px;order:2}.about-circle{width:250px;height:250px}.about-circle strong{font-size:25px}.about-scribble{right:5%}.steps{grid-template-columns:1fr;gap:28px}.step p{max-width:100%}.footer{justify-content:center;text-align:center;flex-direction:column}}
