:root{--ink:#1f1220;--muted:#5d4a57;--pink:#e2186a;--pink-deep:#c01058;--wa:#128c47;--wa-deep:#0e7339;--sky:#1a8fd4;--cream:#fff6fa;--white:#fff;--line:#1f12201a;--shadow:0 14px 40px #1f12201f;--radius:18px;--header:76px;--sans:"Nunito", system-ui, sans-serif;--display:"Baloo 2", "Nunito", system-ui, sans-serif;--max:1180px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;margin:0;font-size:16.5px;line-height:1.6;overflow-x:hidden}#root{text-align:left;border:0;width:100%;max-width:none;display:block}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,h4{font-family:var(--display);color:var(--ink);letter-spacing:-.01em;margin:0;line-height:1.15}p{margin:0}button{cursor:pointer;background:0 0;border:0}.container{width:min(var(--max), calc(100% - 36px));margin-inline:auto}.skip-link{background:var(--ink);color:#fff;z-index:80;padding:8px 12px;position:absolute;top:-40px;left:16px}.skip-link:focus{top:16px}.layout{flex-direction:column;min-height:100svh;display:flex}.layout main{flex:1 0 auto}.topbar{color:#ffeef6;background:#1f1220;font-size:13px;font-weight:700}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;min-height:38px;display:flex}.topbar-links{gap:16px;display:flex}.topbar-links a:hover{color:#ffd3e6}.header{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#fffffff5;position:sticky;top:0}.header-inner{min-height:var(--header);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid;position:relative}.logo{align-items:center;gap:10px;min-width:160px;display:flex}.logo-mark{background:linear-gradient(160deg, var(--pink) 0%, var(--pink-deep) 100%);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.logo-mark svg{width:24px;height:24px}.logo strong{font-family:var(--display);font-size:24px;line-height:1;display:block}.logo small{letter-spacing:.12em;text-transform:uppercase;color:var(--pink);margin-top:2px;font-size:11px;font-weight:800;display:block}.nav{flex-wrap:wrap;justify-content:center;gap:8px 18px;display:flex}.nav a{color:var(--ink);font-size:14px;font-weight:800}.nav a.active,.nav a:hover{color:var(--pink)}.header-cta{gap:8px;display:flex}.menu-btn{background:var(--pink);color:#fff;border:0;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;min-width:44px;height:40px;padding:0 12px 0 10px;font-size:13px;font-weight:800;display:none}.menu-btn span,.menu-btn span:before,.menu-btn span:after{background:#fff;width:14px;height:2px;margin:0;display:block;position:relative}.menu-btn span:before,.menu-btn span:after{content:"";position:absolute;left:0}.menu-btn span:before{top:-6px}.menu-btn span:after{top:6px}.hero{min-height:520px;position:relative;overflow:hidden}.hero-slide{opacity:0;transition:opacity .6s;position:absolute;inset:0}.hero-slide.active{opacity:1}.hero-slide img{object-fit:cover;width:100%;max-width:none;height:100%}.hero-slide:after{content:"";background:linear-gradient(90deg,#1408108c 0%,#1408102e 62%,#e2186a33 100%);position:absolute;inset:0}.hero-copy{z-index:2;align-items:center;min-height:520px;padding:36px 0;display:flex;position:relative}.hero-card{max-width:540px;box-shadow:var(--shadow);background:#fffffff0;border-radius:24px;padding:28px 28px 24px}.hero-place{color:var(--pink);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:800}.hero h1{font-size:clamp(32px,4.4vw,48px)}.hero-card>p:last-of-type{color:var(--muted);margin:12px 0 22px;font-weight:600}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-dots{z-index:3;gap:8px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.hero-dots button{background:#ffffffb3;border-radius:50%;width:10px;height:10px}.hero-dots button.active{background:var(--pink);border-radius:99px;width:26px}.btn{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:800;transition:all .2s;display:inline-flex}.btn-pink{background:var(--pink);color:#fff}.btn-pink:hover{background:var(--pink-deep)}.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:var(--wa-deep)}.btn-outline{border:1.5px solid var(--ink);color:var(--ink);background:#fff}.section{padding:72px 0}.section-head{max-width:720px;margin-bottom:32px}.section-head.center{text-align:center;margin-inline:auto}.section-head h2{margin-bottom:10px;font-size:clamp(30px,4vw,46px)}.section-head p{color:var(--muted);font-size:17px;font-weight:600}.occasion-section{background:#fff;padding-top:56px}.occasion-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.occasion-tile{color:#fff;text-align:left;border-radius:18px;min-height:210px;display:block;position:relative;overflow:hidden;box-shadow:0 10px 24px #1f12201a}.occasion-tile img{object-fit:cover;width:100%;height:210px;transition:transform .4s}.occasion-tile:hover img,.occasion-tile.active img{transform:scale(1.06)}.occasion-tile:after{content:"";background:linear-gradient(#0000 30%,#140810c7);position:absolute;inset:0}.occasion-tile span{z-index:1;font-family:var(--display);font-size:22px;font-weight:700;line-height:1.15;position:absolute;bottom:14px;left:14px;right:14px}.occasion-tile.active{outline:3px solid var(--pink);outline-offset:2px}.lookbook{background:var(--cream);scroll-margin-top:96px}.theme-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.theme-card{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 22px #1f12200f}.theme-card-media{overflow:hidden}.theme-card img,.occasion-tile img{background:#f7d5e4}.theme-card img{object-fit:cover;width:100%;height:190px;transition:transform .4s}.theme-card:hover img{transform:scale(1.05)}.theme-card-body{flex-direction:column;flex:1;gap:8px;padding:16px 16px 18px;display:flex}.theme-card small{color:var(--pink);font-size:12px;font-weight:800}.theme-card h3{min-height:2.4em;font-size:20px}.theme-card-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;display:grid}.theme-card-actions .btn{min-height:42px;padding:0 10px;font-size:13px}.kids-fun{background:#fff}.about{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.about-frame img{object-fit:cover;border-radius:22px;width:100%;height:460px}.about h2{margin-bottom:16px;font-size:clamp(32px,4vw,46px)}.about p{color:var(--muted);margin-bottom:14px;font-weight:600}.filter-row{flex-wrap:wrap;gap:8px;margin:0 0 28px;display:flex}.filter-row button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:9px 14px;font-weight:800}.filter-row button.active{background:var(--pink);border-color:var(--pink);color:#fff}.testimonial-grid,.faq-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.faq-grid{grid-template-columns:1fr 1fr}.testimonial,.faq-item,.contact-card,.form,.map-wrap{border:1px solid var(--line);background:#fff;border-radius:18px;padding:24px}.testimonial p,.faq-item p{color:var(--muted);font-weight:600}.testimonial span{color:var(--pink);margin-top:16px;font-weight:800;display:block}.testimonial small{color:var(--muted);margin-top:2px;font-weight:700;display:block}.faq-item h3{margin-bottom:8px;font-size:22px}.contact-section,.reviews{background:#fff}.faq-section{background:var(--cream)}.contact-grid{grid-template-columns:.9fr 1.1fr;gap:22px;min-width:0;display:grid}.map-wrap{min-height:280px;margin-top:16px;padding:0;overflow:hidden}.map-wrap iframe{border:0;width:100%;height:100%;min-height:280px}.form{gap:10px;min-width:0;display:grid}.form p{color:var(--muted);font-weight:600}.form label{font-size:13px;font-weight:800}.form input,.form select,.form textarea{background:#fff;border:1px solid #efd4e0;border-radius:12px;width:100%;min-width:0;max-width:100%;padding:12px 14px}.form textarea{resize:vertical;min-height:110px}.contact-list{gap:14px;margin-top:18px;display:grid}.contact-list strong{letter-spacing:.08em;text-transform:uppercase;color:var(--pink);font-size:12px;display:block}.page-hero{padding:48px 0 12px}.page-hero h1{font-size:clamp(34px,5vw,58px)}.page-hero p{max-width:68ch;color:var(--muted);margin-top:12px;font-size:18px;font-weight:600}.footer{color:#f7e7ef;background:#1f1220;margin-top:auto;padding:52px 0 22px}.footer-grid{grid-template-columns:1.2fr 1fr .7fr 1fr;gap:28px;display:grid}.footer h3{color:#fff;margin-bottom:12px;font-size:24px}.footer a,.footer p{color:#e7cdd8}.footer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.footer-bottom{border-top:1px solid #ffffff1a;justify-content:space-between;gap:12px;margin-top:32px;padding-top:16px;font-size:13px;display:flex}.float-actions{z-index:50;gap:10px;display:grid;position:fixed;bottom:16px;right:16px}.float-actions a{color:#fff;width:56px;height:56px;box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid}.float-call{background:var(--pink)}.float-wa{background:var(--wa)}.success{color:#146332;background:#e8f6ec;border-radius:10px;padding:10px 12px;font-weight:700}@media (width<=1080px){.header-inner{grid-template-columns:1fr auto auto;padding-right:92px}.menu-btn{z-index:6;position:absolute;top:50%;right:0;transform:translateY(-50%);display:inline-flex!important}.nav{display:none}.nav.open{border-bottom:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;gap:12px;padding:16px 20px 20px;display:flex;position:absolute;top:100%;left:0;right:0}.menu-btn{place-items:center;display:inline-flex}.header-cta .btn{min-height:40px;padding:0 12px;font-size:13px}.occasion-grid,.theme-grid,.testimonial-grid,.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.topbar-inner span{display:none}.header-inner{grid-template-columns:1fr auto;padding-right:92px}.header-cta{display:none}.menu-btn{display:inline-flex}.hero,.hero-copy{min-height:560px}.hero-card{padding:22px 18px}.occasion-grid,.theme-grid{grid-template-columns:1fr 1fr;gap:10px}.occasion-tile,.occasion-tile img{height:160px;min-height:160px}.occasion-tile span,.theme-card h3{min-height:0;font-size:16px}.theme-card-actions,.testimonial-grid,.faq-grid,.contact-grid,.footer-grid,.about{grid-template-columns:1fr}.about-frame img{height:280px}.section{padding:52px 0}.footer-bottom{flex-direction:column}.float-actions{bottom:12px;right:12px}}
