:root{--wine:#811439;--rose:#d25280;--pink:#f4afc6;--cream:#fff9f4;--ink:#24121c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 'DM Sans',Arial;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.035em}h2{font-size:clamp(48px,6vw,88px)}h2 em{color:var(--rose)}.site-header{height:78px;position:sticky;top:0;z-index:50;background:#fff9f5ed;backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:space-between;padding:10px 5%;border-bottom:1px solid #a6295430}.brand img{width:185px}.site-header nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:800}.site-header nav a:hover{color:var(--rose)}.nav-cta,.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:0;background:linear-gradient(110deg,#a4194c,#710d31);color:white!important;padding:15px 24px;border-radius:50px;font-size:12px;font-weight:800;letter-spacing:.07em;cursor:pointer;box-shadow:0 8px 0 #edb2c6;transition:transform .2s}.nav-cta{box-shadow:none}.primary-btn:hover,.nav-cta:hover{transform:translateY(-3px)}.menu{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 30%,#f9c2d5,transparent 45%),radial-gradient(ellipse at 10% 85%,#ffdce7,transparent 40%),#fffaf6;padding:50px 5% 115px}.hero-swirl{position:absolute;border:55px solid #f7b9ce7d;border-radius:50%;pointer-events:none}.hero-swirl-a{width:700px;height:350px;right:-300px;top:-230px;transform:rotate(-20deg)}.hero-swirl-b{width:500px;height:270px;left:-320px;bottom:-130px}.hero-pattern{position:absolute;inset:0;opacity:.3;background-image:radial-gradient(#d287a0 1px,transparent 1px);background-size:27px 27px;mask-image:linear-gradient(90deg,#000,transparent 45%,#000)}.hero-inner{position:relative;max-width:1450px;margin:auto;display:grid;grid-template-columns:53% 47%;align-items:center;min-height:680px}.hero-copy{position:relative;z-index:3}.kicker{font-size:10px;font-weight:800;letter-spacing:.23em;color:#762342}.kicker-line{display:inline-block;width:22px;height:2px;background:var(--rose);vertical-align:middle}.hero-logo{width:min(620px,95%);margin:20px 0}.hero h1{font-size:clamp(65px,6.7vw,115px);margin:25px 0;line-height:.88}.script{font-family:'Great Vibes',cursive;color:#ce4e7c;letter-spacing:0}.party{font-size:1.3em;display:inline-block;transform:rotate(-5deg);margin-top:18px}.heart{font:40px Georgia;position:relative;top:-.8em}.hero-lead{max-width:525px;font:21px/1.45 'DM Serif Display',Georgia,serif}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:30px}.text-link{font-size:12px;font-weight:800;border-bottom:2px solid var(--rose)}.handwritten{font:clamp(32px,4vw,55px) 'Great Vibes',cursive;color:#a52652;transform:rotate(-4deg);margin-top:42px}.hero-visual{position:relative;height:680px}.photo-halo,.hero-photo{position:absolute;inset:10% -16% 5% 2%;border-radius:50% 0 0 50%;transform:rotate(-6deg)}.photo-halo{background:#f5b2ca;inset:7% -15% 3% 0}.hero-photo{overflow:hidden;border:12px solid #f7b2ca;box-shadow:0 25px 60px #8d3e5b44;animation:float 7s ease-in-out infinite alternate}.hero-photo img{width:115%;height:115%;max-width:none;object-fit:cover;transform:rotate(6deg) scale(1.08)}@keyframes float{to{translate:0 -15px;rotate:3deg}}.sticker{position:absolute;z-index:4;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 12px 35px #7e29473b}.sticker-top{right:-2%;top:0;width:165px;height:165px;background:#ffe0e9;border:3px dashed white;color:#83123a;font:italic 27px/1.1 'DM Serif Display',serif;transform:rotate(10deg)}.sticker-top span{font:32px Georgia}.sticker-bottom{right:0;bottom:5%;width:165px;height:165px;background:#84143a;color:white;border:5px solid #f3b1c9;outline:3px solid white;font-size:13px;letter-spacing:.12em;line-height:1.5;transform:rotate(-10deg)}.sticker-bottom strong{font:35px 'Great Vibes',cursive;letter-spacing:0}.doodle-rays{position:absolute;top:24%;left:0;font-size:70px;color:var(--rose)}.doodle-heart{position:absolute;bottom:13%;left:-4%;font:100px Georgia;color:var(--rose)}.hero-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.2em;color:#a02b58;font-weight:800}.section-wave{position:absolute;bottom:-2px;left:0;width:100%;height:95px;fill:#a51a4e}.marquee{overflow:hidden;background:#a51a4e;color:white;white-space:nowrap;font-size:13px;font-weight:800;letter-spacing:.17em;padding:17px}.marquee div{width:max-content;animation:marquee 30s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.section{position:relative;padding:110px 7%}.eyebrow{color:#c93e75;font-size:11px;font-weight:800;letter-spacing:.25em}.story{display:grid;grid-template-columns:49% 51%;align-items:center;gap:4%;background:radial-gradient(circle at 90% 10%,#fbd6e2,transparent 40%),#fff9f4}.story-art{position:relative;padding:20px 40px 30px 0}.story-frame{overflow:hidden;border:12px solid #f6bfd1;border-radius:50% 50% 24px 24px;transform:rotate(-5deg);box-shadow:22px 22px 0 #eaa2be}.story-frame img{width:100%;height:520px;object-fit:cover}.story-burst{position:absolute;top:0;right:0;width:150px;height:150px;background:#931c48;border:5px solid #f8b8ce;border-radius:50%;color:white;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font-size:14px;font-weight:800;line-height:1.4;transform:rotate(12deg)}.story-caption{font:42px 'Great Vibes',cursive;color:#aa2858;margin-top:35px;transform:rotate(-4deg)}.story-copy{padding-left:5%}.story h2{font-size:clamp(58px,6vw,95px);margin:20px 0}.story-copy p{max-width:560px}.brush-underline{width:200px;height:12px;background:#f2a7c0;border-radius:80% 30%;transform:rotate(-4deg)}.dark-btn{display:inline-block;background:#8c1740;color:white;border-radius:50px;padding:15px 26px;font-size:12px;font-weight:800;margin-top:20px}.mini-heart{font:60px Georgia;color:var(--rose);margin-left:25px}.catering{background:radial-gradient(circle at 10% 40%,#6f2744,transparent 40%),linear-gradient(130deg,#32171c,#120c13);color:white;overflow:hidden;padding-bottom:170px}.section-heading{text-align:center;max-width:880px;margin:0 auto 55px}.section-heading h2{margin:20px 0}.section-heading p{color:#edd2de}.occasion-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:1200px;margin:auto}.occasion{background:#fff9f5;color:#24131d;border-radius:180px 180px 24px 24px;overflow:hidden;box-shadow:0 20px 60px #0006;transition:transform .4s}.occasion:hover{transform:translateY(-10px)}.occasion-two{margin-top:70px}.occasion-image{height:325px;overflow:hidden}.occasion-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.occasion:hover img{transform:scale(1.07)}.occasion-info{padding:25px 36px 35px}.occasion-num{font-size:11px;letter-spacing:.2em;color:#bd376d;font-weight:800}.occasion h3{font-size:40px;margin:10px 0}.occasion p{font-size:15px}.occasion a{font-size:12px;color:#a52657;font-weight:800;border-bottom:2px solid #f0a3be}.service-strip{max-width:1200px;margin:60px auto 0;padding:25px 35px;border:1px solid #f4abc35e;border-radius:26px;background:#ffffff0e;display:flex;align-items:center;gap:22px}.service-icon{font-size:50px;color:#f6a4c1}.service-strip div:nth-child(2){flex:1}.service-strip strong{display:block;font:25px 'DM Serif Display',serif}.service-strip span{display:block;font-size:13px;color:#f1d3de}.service-strip a{font-size:12px;font-weight:800}.catering-wave{position:absolute;bottom:-2px;left:0;width:100%;height:120px;fill:#f9dce4}.testimonials{background:radial-gradient(circle at 85% 10%,#fff9f5,transparent 45%),#f9dce4;text-align:center;overflow:hidden}.testimonials h2{margin:25px 0}.review-frame{position:relative;max-width:780px;margin:50px auto 0;padding:55px;background:#fffaf5;border-radius:90px 24px 90px 24px;box-shadow:18px 18px 0 #e6a1bd;transform:rotate(-1deg)}.quote-icon{position:absolute;top:-45px;left:45px;font:130px Georgia;color:#c63f73}.review-frame p{font:italic clamp(26px,3vw,39px)/1.5 'DM Serif Display',serif;color:#822448}.review-footer{display:flex;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.12em;color:#b34870}.review-note{font-size:12px;margin-top:55px;color:#845a6d}.floating-heart{position:absolute;font:120px Georgia;color:#d66b94;opacity:.4}.heart-one{top:15%;left:5%}.heart-two{bottom:5%;right:5%}.faq{background:radial-gradient(circle at 10% 80%,#73294b,transparent 40%),#1d111b;color:white;display:grid;grid-template-columns:40% 60%;gap:5%}.faq h2{font-size:clamp(53px,5vw,82px);margin:25px 0}.faq-left p{color:#ead2de;max-width:400px;margin-bottom:30px}.faq-scribble{display:block;font:43px 'Great Vibes',cursive;color:#f7a2c0;margin-top:45px;transform:rotate(-7deg)}.faq-list{padding-right:6%}.faq-list details{background:#ffffff0c;border:1px solid #bd588063;border-radius:22px;padding:24px 28px;margin-bottom:14px}.faq-list details[open]{background:#87395a40}.faq-list summary{font:23px 'DM Serif Display',serif;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:28px Arial;color:#ff91bb}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{color:#e8d2de;font-size:15px}.contact{background:radial-gradient(circle at 10% 15%,#fff9f4,transparent 40%),linear-gradient(130deg,#f7cbdc,#fff1e8)}.contact-heading{text-align:center;margin-bottom:55px}.contact-heading h2{margin:20px 0}.contact-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.25fr .8fr;gap:35px}.form-panel{background:#fffaf6;padding:36px;border-radius:32px 32px 95px 32px;box-shadow:0 20px 55px #8d386333}.form-top{display:flex;justify-content:space-between;color:#c34174;font-size:12px;font-weight:800;letter-spacing:.18em}.form-top span:last-child{font:35px Georgia}.form-panel h3{font-size:38px;margin:10px 0 25px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:8px}.field input,.field textarea{width:100%;padding:14px;border:1px solid #e8c9d6;border-radius:12px;background:white;color:#21121b}.field textarea{min-height:120px}.submit-btn{width:100%}.form-note{font-size:12px;color:#826472}.contact-aside{background:radial-gradient(circle at 80% 15%,#81334f,#21101d 70%);color:white;padding:38px;border-radius:120px 30px 30px 30px}.contact-sticker{width:220px;height:220px;margin:0 auto 35px;background:#ffdce8;color:#891b45;border:4px dashed white;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font:24px/1.05 'DM Serif Display',serif;transform:rotate(8deg)}.contact-sticker em{font:38px 'Great Vibes',cursive}.contact-sticker span{font:30px Georgia}.contact-aside h3{font-size:33px}.contact-line{display:flex;gap:15px;align-items:center;border-bottom:1px solid #ffffff24;padding:15px 0}.contact-line>span{width:42px;height:42px;border-radius:50%;background:#b63165;display:grid;place-items:center;font-size:22px}.contact-line small{display:block;font-size:10px;letter-spacing:.14em;color:#f4afc9}.contact-line a{color:white;font-size:17px;font-weight:700}.areas{margin-top:40px;font-size:13px}.areas p{color:#f4bfd2}footer{background:#1b0e16;color:white;padding:65px 7% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-top img{width:270px}.footer-top span{font:40px 'Great Vibes',cursive;color:#f5a6c2}.footer-links{display:flex;gap:25px;flex-wrap:wrap;margin:35px 0;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff2a;padding-top:25px;color:#d4b8c6;font-size:11px;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1150px){.site-header nav{gap:15px}.hero h1{font-size:clamp(62px,7vw,90px)}.hero-visual{height:600px}.sticker-top{right:-7%}.sticker-bottom{right:-5%}.story-frame img{height:450px}}
@media(max-width:850px){.site-header{height:72px}.brand img{width:155px}.menu{display:block;border:1px solid #bc6985;border-radius:9px;background:white;color:#8b1744;padding:8px 12px;font-size:20px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fffaf5;box-shadow:0 15px 25px #8b174422;flex-direction:column;padding:22px;gap:20px}.site-header nav.open{display:flex}.hero{padding:30px 5% 110px}.hero-inner{grid-template-columns:1fr;min-height:0}.hero-copy{text-align:center}.hero-logo{margin:22px auto}.kicker{justify-content:center;white-space:normal}.hero h1{font-size:clamp(65px,12vw,95px)}.hero-lead{margin:20px auto}.hero-actions{justify-content:center}.handwritten{margin-top:30px}.hero-visual{height:490px;margin-top:20px}.photo-halo,.hero-photo{inset:6% 4% 4% 5%;border-radius:48% 48% 22px 22px}.hero-photo img{width:100%;height:100%;transform:rotate(5deg) scale(1.15)}.sticker-top{right:2%;top:-1%;width:125px;height:125px;font-size:21px}.sticker-bottom{right:2%;bottom:0;width:130px;height:130px;font-size:10px}.sticker-bottom strong{font-size:28px}.doodle-rays{left:4%}.doodle-heart{left:3%}.story,.faq{grid-template-columns:1fr;gap:55px}.story-copy{padding:0}.story-art{max-width:590px;margin:auto}.occasion-grid{gap:20px}.occasion h3{font-size:34px}.contact-grid{grid-template-columns:1fr}.contact-aside{border-radius:65px 28px 28px 28px}.contact-sticker{width:180px;height:180px}}
@media(max-width:580px){.hero{padding:20px 6% 95px}.hero-logo{width:100%;margin:20px auto 30px}.hero h1{font-size:clamp(60px,13vw,78px)}.hero-lead{font-size:18px}.hero-visual{height:340px}.hero-photo{border-width:8px}.sticker-top{width:100px;height:100px;font-size:16px;right:-4%}.sticker-bottom{width:105px;height:105px;right:-3%;font-size:9px}.sticker-bottom strong{font-size:24px}.doodle-rays{font-size:40px}.doodle-heart{font-size:55px}.hero-bottom{justify-content:center}.hero-bottom span:last-child{display:none}.section{padding:85px 6%}.story-frame img{height:330px}.story-burst{width:110px;height:110px;font-size:11px}.story-caption{font-size:33px}.story h2{font-size:62px}.occasion-grid{grid-template-columns:1fr}.occasion-two{margin-top:0}.occasion-image{height:265px}.occasion-info{padding:25px}.service-strip{flex-direction:column;text-align:center}.testimonials h2,.contact-heading h2{font-size:clamp(47px,10vw,68px)}.review-frame{padding:45px 25px;border-radius:55px 20px}.review-frame p{font-size:26px}.review-footer{flex-direction:column}.faq h2{font-size:55px}.faq-list{padding:0}.faq-list details{padding:20px}.faq-list summary{font-size:19px}.fields{grid-template-columns:1fr}.form-panel{padding:25px;border-radius:25px 25px 65px 25px}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-top span{font-size:30px}.footer-links{gap:15px}.marquee{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
