:root{--pink-900:#cc3f94;--pink-700:#d853a1;--pink-500:#ea85bf;--pink-300:#f4cce5;--pink-150:#f9e5f2;--ink:#7a2c61;--white:#ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Nunito,sans-serif;color:var(--ink);background:linear-gradient(180deg,var(--pink-700) 0,#f6f1f5 26%,#f6f1f5 72%,var(--pink-700) 100%)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes softPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.page-intro{animation:fadeUp .7s ease both}.page-intro-delay-1{animation:fadeUp .7s ease .12s both}.page-intro-delay-2{animation:fadeUp .7s ease .24s both}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.in-view{opacity:1;transform:translateY(0)}.about-gallery .blank-image,.blank-tile,.contact-form,.contact-info,.product-card,.service-item{will-change:transform,opacity}.reveal.in-view .blank-image,.reveal.in-view.blank-tile,.reveal.in-view.product-card,.reveal.in-view.service-item{animation:softPop .55s ease both}.topbar-wrap{position:-webkit-sticky;position:sticky;top:0;z-index:1000;padding:24px 20px 8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.topbar{max-width:1080px;margin:0 auto;background:var(--white);border-radius:999px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;transition:box-shadow .25s ease}.topbar-wrap.scrolled .topbar{box-shadow:0 8px 22px rgba(110,35,82,.18)}.brand{font-weight:800;font-size:.9rem}.brand-toggle{border:0;background:transparent;color:inherit;font:inherit;padding:0;display:inline-flex;align-items:center;gap:8px}.brand-logo{width:40px;height:auto;display:block}.brand-name{font-weight:800;font-size:.95rem;color:var(--pink-900)}.menu-toggle{display:none;border:0;background:var(--pink-900);color:#fff;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .2s ease,filter .2s ease}.menu-toggle:hover{filter:brightness(1.06);box-shadow:0 8px 14px rgba(138,37,104,.26);transform:translateY(-1px)}.menu-toggle:active{transform:translateY(1px) scale(.98);box-shadow:none}.nav-links{list-style:none;margin:0;padding:0;display:flex;gap:26px}.nav-link-btn{background:transparent;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:none;color:var(--pink-900);font-weight:700;transition:color .2s ease,opacity .2s ease,transform .2s ease}.nav-link-btn:hover{color:#a92d75;transform:translateY(-1px)}.nav-link-btn:active{transform:translateY(0);opacity:.85}.nav-link-btn.active{color:#a92d75;position:relative}.nav-link-btn.active:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:3px;border-radius:999px;background:#a92d75}main{max-width:1180px;margin:0 auto;padding:20px 20px 0}.hero{text-align:center;color:var(--white);padding:70px 20px 80px}.hero h1{margin:0;font-size:clamp(2rem,3vw,3.4rem);font-weight:800}.hero p{margin:12px auto 24px;max-width:760px;font-size:1.05rem}.hero-actions{display:flex;gap:12px}.btn,.hero-actions{justify-content:center}.btn{display:inline-flex;align-items:center;text-decoration:none;border-radius:999px;padding:12px 28px;font-weight:700;border:2px solid var(--pink-700);transition:transform .18s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease,filter .22s ease}.btn-fill{background:var(--pink-900);color:var(--white);border-color:var(--pink-900)}.btn-outline{color:#fff;background:transparent}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px) scale(.98)}.btn-fill:hover{filter:brightness(1.05);box-shadow:0 10px 20px rgba(138,37,104,.28)}.btn-fill:active{box-shadow:0 4px 10px rgba(138,37,104,.22)}.btn-outline:hover{background:rgba(216,83,161,.12);border-color:var(--pink-900)}.btn-outline:active{background:rgba(216,83,161,.2)}.card,.contact{background:var(--pink-150);border-radius:24px;padding:34px 36px;margin-bottom:40px}.products{background:#ffffff;border-radius:0;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:34px 0 40px;margin-bottom:0}.products>:not(.product-modal-backdrop){max-width:1180px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}h2{margin:0;color:var(--pink-900);font-size:2.3rem}.sub,h2{text-align:center}.sub{margin-top:6px;color:#d45f9d}.services-card .sub,.services-card h2{text-align:left}.service-icons{margin:24px 0;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));grid-gap:14px;gap:14px}.service-item{min-height:120px;display:grid;place-items:center;grid-gap:10px;gap:10px;padding:0;text-align:center}.service-icon-box{width:100%;background:var(--white);border-radius:10px;min-height:110px;display:grid;place-items:center}.service-icon{width:52px;height:52px;object-fit:contain}.service-item span{font-size:.8rem;color:#c84488;font-weight:700}.service-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:12px;gap:12px}.blank-tile{background:linear-gradient(130deg,#ac7f94,#d6b5c6);background-size:cover;background-position:50%;background-repeat:no-repeat;border-radius:20px;min-height:150px;position:relative;overflow:hidden}.tile-large,.tile-medium{min-height:220px}.tile-small,.tile-wide{min-height:150px}.tile-overlay{position:absolute;inset:0;padding:20px;color:#fff;background:linear-gradient(90deg,rgba(36,14,31,.7),rgba(36,14,31,.3))}.tile-overlay h3{margin:0 0 8px;font-size:2rem}.tile-overlay p{margin:0;max-width:360px;font-weight:600;line-height:1.35}.service-tile-baptism{background-image:url(/services/service-baptism.jpg)}.service-tile-wedding{background-image:url(/services/service-wedding-purple.jpg)}.service-tile-photo{background-image:url(/services/service-photo.jpg)}.service-tile-creative{background-image:url(/services/service-butterfly.jpg)}.connect-line{text-align:center;margin-top:22px;font-weight:600}.inline-link{border:0;background:transparent;padding:0;font:inherit;font-weight:700;cursor:pointer;color:#0068f0;text-decoration:none}.products-filter{margin-top:20px;display:grid;grid-template-columns:1.2fr 1.8fr;grid-gap:14px;gap:14px;align-items:center}.products-filter input{width:100%;border:0;border-radius:999px;padding:12px 16px;background:#ece7ec}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags button{border:0;background:var(--pink-700);color:#fff;font-size:.75rem;padding:6px 16px;border-radius:999px;font-weight:700;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tags button.active{background:var(--pink-900)}.product-grid{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));grid-gap:16px;gap:16px}.product-card{background:#f7d8ea;padding:10px;border-radius:12px;display:flex;flex-direction:column;align-items:center;text-align:center}.product-card-clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.product-card-clickable:hover{transform:translateY(-3px);box-shadow:0 12px 20px rgba(138,37,104,.2)}.blank-image{width:100%;background:linear-gradient(135deg,#c8b6c1,#e4dae1)}.blank-image,.product-image{height:180px;border-radius:10px}.product-image{object-fit:cover;object-position:center;display:block}.product-card h4{margin:10px 0 4px;color:#cc3f94}.product-card p{margin:0;font-size:.84rem;line-height:1.3}.product-card strong{display:block;margin-top:6px;text-align:right;color:#cc3f94}.no-results{text-align:center;color:#b14c83;font-weight:700}.product-modal-backdrop{position:fixed;inset:0;background:rgba(29,7,22,.6);display:grid;place-items:center;z-index:2000;padding:16px}.product-modal{background:#fff;width:min(980px,100%);border-radius:18px;padding:16px;position:relative}.product-modal-close{position:absolute;top:8px;right:8px;border:0;background:#f0d3e5;color:#7a2c61;width:32px;height:32px;border-radius:999px;font-weight:800;cursor:pointer}.product-modal-content{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:16px;gap:16px}.product-carousel{position:relative;display:flex;flex-direction:column;align-items:center;background:#f0d3e583;padding:1rem;border-radius:1rem}.product-detail-image{max-width:700px;height:420px;border-radius:5px;object-fit:cover;object-position:center;display:block;border:1px solid black}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;width:34px;height:34px;border-radius:999px;background:#CF438F;color:#ffffff;font-size:1.4rem;cursor:pointer}.carousel-nav.prev{left:10px}.carousel-nav.next{right:10px}.carousel-thumbs{margin-top:10px;display:flex;gap:8px}.carousel-thumb{border:2px solid transparent;padding:0;border-radius:8px;background:transparent;cursor:pointer}.carousel-thumb.active{border-color:#cc3f94}.carousel-thumb img{width:72px;height:72px;object-fit:cover;border-radius:6px;display:block}.product-detail-copy h3{margin-top:2px;margin-bottom:10px;color:#cc3f94}.product-detail-copy p{margin:0 0 10px}.product-detail-copy strong{color:#cc3f94;font-size:1.1rem}.product-detail-category{font-weight:700}.about{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:40px 20px;background:var(--pink-900);text-align:center}.about,.about .sub,.about h2{color:#fff}.about-copy{max-width:900px;margin:20px auto;line-height:1.4}.about-testimonial-title{margin:18px 0 4px;font-size:1.6rem;color:#fff}.about-testimonial-sub{margin:0 auto 16px;color:#f7d4e8;max-width:720px}.about-carousel{max-width:980px;margin:24px auto 0}.about-review-card{position:relative;min-height:520px;border-radius:30px;overflow:hidden;background-size:cover;background-position:50%;color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.about-review-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.52))}.about-review-card p,.about-review-head{position:relative;z-index:1}.about-review-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.about-review-name,.about-review-stars{background:#fff;border-radius:999px;padding:8px 16px;font-weight:800}.about-review-name{color:#c84488}.about-review-stars{color:#f3c400;letter-spacing:1px}.about-review-card p{margin:0;font-size:1.05rem;line-height:1.35;max-width:92%}.about-carousel-controls{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:14px}.about-nav-btn{border:0;border-radius:999px;background:#fff;color:#c84488;font-weight:800;padding:8px 16px;cursor:pointer}.about-dots{display:inline-flex;gap:8px}.about-dot{width:10px;height:10px;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}.about-dot.active{background:#fff}.contact{background:linear-gradient(180deg,#f5f0f6 20%,#cb4b97);border-radius:0;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:50px 20px 90px;margin-bottom:0}.contact-wrap{max-width:1100px;margin:20px auto 0;display:grid;grid-template-columns:1.1fr .9fr;grid-gap:30px;gap:30px}.contact-form,.contact-info{background:rgba(255,255,255,.38);border-radius:14px;padding:20px}.contact-lines{margin-top:10px}.contact-line{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-weight:700;color:inherit;text-decoration:none}.contact-icon{width:24px;height:24px;object-fit:contain}.contact-form input,.contact-form textarea{width:100%;border:0;border-radius:12px;padding:12px;margin-bottom:10px;background:#ece7ec}.contact-form textarea{min-height:120px;resize:vertical}.blank-map{width:100%;height:180px;background:#d7d7d7}.blank-map,.map-embed{margin-top:24px;border-radius:8px}.map-embed{overflow:hidden}.map-embed iframe{width:100%;height:220px;display:block}footer{color:#fff;background:var(--pink-900);padding:22px;font-weight:700}.site-footer{width:100%;display:flex;justify-content:space-between;gap:12px}@media (max-width:980px){.topbar{flex-wrap:wrap;border-radius:24px}.service-icons{grid-template-columns:repeat(2,1fr)}.contact-wrap,.products-filter,.service-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.product-modal-content{grid-template-columns:1fr}}@media (max-width:640px){.topbar-wrap{padding-top:12px}.topbar{border-radius:16px;padding:12px;align-items:center}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.brand-toggle{cursor:pointer}.brand-name{font-size:.88rem}.site-footer{flex-direction:column;align-items:flex-start}.nav-links{display:none;width:100%;flex-direction:column;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid #f2d3e5}.topbar.menu-open .nav-links{display:flex}.topbar .btn.btn-fill{display:none}.topbar.menu-open .btn.btn-fill{display:inline-flex;width:100%}.hero{padding-top:40px}.product-grid{grid-template-columns:1fr}.product-detail-image{height:300px}.about-review-card{min-height:460px}}