:root{--blush:#f6d6dc;--peach:#fbe3d4;--cream:#fff8f1;--lav:#e6dcf5;--rose:#c9798b;--ink:#4a3b42;--mut:#8a7a80}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font:16px/1.65 Manrope,system-ui,sans-serif;color:var(--ink);background:var(--cream);overflow-x:hidden}
h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:600;line-height:1.1}h1{font-size:clamp(2.4rem,7vw,4.4rem)}h2{font-size:clamp(2rem,5vw,3rem);margin-bottom:1rem}h3{font-size:1.5rem}
a{color:var(--rose)}img{max-width:100%;display:block}p+p{margin-top:.7rem}
.bg{position:fixed;inset:0;z-index:-1;background:linear-gradient(120deg,var(--cream),var(--peach),var(--lav),var(--blush));background-size:300% 300%;animation:g 22s ease infinite}
.bg i{position:absolute;border-radius:50%;filter:blur(50px);opacity:.55;animation:f 18s ease-in-out infinite alternate}
.bg i:nth-child(1){width:320px;height:320px;background:var(--blush);top:5%;left:-60px}.bg i:nth-child(2){width:260px;height:260px;background:var(--lav);top:45%;right:-50px;animation-duration:24s}
.bg i:nth-child(3){width:220px;height:220px;background:var(--peach);bottom:5%;left:30%;animation-duration:20s}.bg i:nth-child(4){width:160px;height:160px;background:#fff;top:20%;right:30%}
@keyframes g{50%{background-position:100% 50%}}@keyframes f{to{transform:translate(60px,-80px) scale(1.15)}}
.hdr{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.7rem 4vw;transition:.3s}
.hdr.s{background:rgba(255,248,241,.85);backdrop-filter:blur(12px);box-shadow:0 4px 24px rgba(201,121,139,.12)}
.logo{font-family:"Cormorant Garamond",serif;font-size:1.4rem;text-decoration:none;color:var(--ink)}.logo b{color:var(--rose);margin-left:.2rem}
nav{display:none;gap:1.4rem}nav a{color:var(--ink);text-decoration:none;position:relative}nav a:after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:0;background:var(--rose);transition:.3s}nav a:hover:after{width:100%}
.cta{display:flex;gap:.4rem;align-items:center}.cta .btn{display:none}
.ic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:600;text-decoration:none;color:#fff;transition:.3s}.wa{background:#7cc8a0}.tg{background:#8fb6e3}.ic:hover{transform:translateY(-3px)}
.btn{display:inline-block;padding:.8rem 1.4rem;border-radius:999px;background:var(--rose);color:#fff;text-decoration:none;font-weight:600;transition:.3s;box-shadow:0 8px 20px rgba(201,121,139,.3)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(201,121,139,.4)}.btn.ghost{background:rgba(255,255,255,.6);color:var(--rose);box-shadow:none;border:1px solid var(--blush)}
.hero,.sec{max-width:1160px;margin:auto;padding:3rem 5vw}
.hero{display:grid;gap:2rem;align-items:center;padding-top:2rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--rose);margin-bottom:.6rem}
.lead{font-size:1.15rem;color:var(--mut);margin:1rem 0 1.6rem}.hb{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.hp{position:relative;display:flex;justify-content:center}.hp:before{content:"";position:absolute;inset:10% 5% 0;background:radial-gradient(closest-side,rgba(255,255,255,.75),rgba(246,214,220,.35) 60%,transparent);filter:blur(20px);z-index:-1}
.hp img{width:min(100%,560px);height:auto;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent);filter:drop-shadow(0 18px 30px rgba(201,121,139,.22));animation:fl 7s ease-in-out infinite}
@keyframes fl{50%{transform:translateY(-10px)}}
.two{display:grid;gap:2rem;align-items:center}
.certs{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.certs img{border-radius:10px;background:#fff;padding:4px;box-shadow:0 6px 16px rgba(0,0,0,.06);transition:.3s}.certs img:hover{transform:scale(1.08) rotate(-1deg)}
.cmp{display:grid;gap:1rem;margin-top:1.4rem}
.card,.price,details{background:rgba(255,255,255,.65);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:1.5rem;transition:.35s}
.card:hover,.price:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(201,121,139,.18)}.note{color:var(--rose);font-weight:600}
.prices{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.pv{display:flex;justify-content:space-between;margin-top:.6rem;font-size:1.3rem;font-weight:600}
.pv small{display:block;font-size:.7rem;color:var(--mut);font-weight:400;text-transform:uppercase;letter-spacing:.1em}.pv span+span{text-align:right;color:var(--rose)}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.gal img{border-radius:16px;aspect-ratio:4/3;object-fit:cover;transition:.4s}.gal img:hover{transform:scale(1.03)}
details{margin-bottom:.7rem;padding:1.1rem 1.4rem}summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between}summary:after{content:"+";color:var(--rose);font-size:1.3rem;transition:.3s}details[open] summary:after{transform:rotate(45deg)}details p{margin-top:.6rem;color:var(--mut)}
.addr{font-size:1.2rem}.big{font-size:1.6rem;font-weight:600;text-decoration:none}.soc{margin-top:1rem}
.map iframe{width:100%;height:360px;border:0;border-radius:22px}
footer{text-align:center;padding:2rem;color:var(--mut);font-size:.85rem}
.fab{position:fixed;right:16px;bottom:16px;width:56px;height:56px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-items:center;font-size:1.5rem;text-decoration:none;box-shadow:0 10px 24px rgba(201,121,139,.45);animation:p 2.4s infinite}
@keyframes p{0%{box-shadow:0 0 0 0 rgba(201,121,139,.5)}70%{box-shadow:0 0 0 16px rgba(201,121,139,0)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
@media(min-width:900px){nav,.cta .btn{display:flex}.hero{grid-template-columns:1.1fr .9fr;min-height:80vh}.two{grid-template-columns:1fr 1fr}.cmp{grid-template-columns:1fr 1fr}.gal{grid-template-columns:repeat(3,1fr)}.fab{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

.pgrid{display:grid;gap:1.2rem}.pblock h3{font-size:2rem;margin-bottom:.6rem;color:var(--rose)}.plist{list-style:none;padding:0}
.plist li{display:flex;align-items:baseline;gap:.5rem;padding:.55rem 0;border-bottom:1px dashed rgba(201,121,139,.25)}.plist li:last-child{border:0}.plist i{flex:1}.plist b{font-size:1.15rem;white-space:nowrap}
.rbadge{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.rnum{font-family:"Cormorant Garamond",serif;font-size:3rem;color:var(--rose);line-height:1}.stars{color:#e8a33d;letter-spacing:.1em}
.revs{display:grid;gap:1rem}.rev blockquote{margin:.5rem 0 .8rem;font-size:.95rem}.rev figcaption{color:var(--mut);font-size:.85rem}.rcta{text-align:center;margin-top:1.6rem}.rcta .btn{background:linear-gradient(135deg,var(--rose),#d99aa8);padding:1rem 2rem}
@media(min-width:900px){.pgrid{grid-template-columns:1fr 1fr}.revs{grid-template-columns:repeat(3,1fr)}}
.plegend{display:flex;justify-content:space-between;max-width:100%;margin:0 0 .8rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--mut)}.plegend span+span{color:var(--rose)}
.prices{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.price h3{font-size:1.35rem}
.ybadge{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.ybrand{display:flex;align-items:center;gap:.4rem;font-size:1.15rem}.yrate{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.ycnt{color:var(--mut);font-size:.9rem}.ydate{display:flex;align-items:center;gap:.4rem;color:var(--mut)}
.ystars{color:#fc0;letter-spacing:.08em;font-size:1.1rem;text-shadow:0 0 1px #d9a400}.yrevs{display:grid;gap:1rem}.yhd{display:flex;gap:.75rem;align-items:center}.yhd img,.ini{width:48px;height:48px;border-radius:50%;flex:none;object-fit:cover}.ini{display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.2rem}
.yhd b{display:block}.yhd small{color:var(--mut)}.yrev blockquote{margin:.4rem 0 0;font-size:.95rem}.ymore{margin-top:1rem}
@media(min-width:900px){.yrevs{grid-template-columns:repeat(3,1fr)}}
