:root{--pink:#ce286c;--purple:#463051;--teal:#087e87;--gold:#d79b2a;--cream:#fffaf4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--purple);font:16px Nunito,Arial,sans-serif}a{color:inherit;text-decoration:none;cursor:pointer}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:4px}header{display:flex;align-items:center;justify-content:space-between;padding:12px 6%;height:96px;background:#fffdf9f5;position:sticky;top:0;z-index:5;border-bottom:1px solid #eee1e6;backdrop-filter:blur(12px)}.brand{display:flex;gap:12px;align-items:center}.brand img{width:67px;border-radius:50%}.brand span{font:24px 'Dancing Script',cursive}.brand b{display:block;font:800 17px Nunito;letter-spacing:4px}nav{display:flex;gap:30px;font-size:13px;font-weight:800}.hero{max-width:1280px;display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;padding:65px 30px 80px;margin:auto;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--teal);font-weight:800}h1{font-size:48px;line-height:1.17;letter-spacing:-1.7px;margin:22px 0}em{font-family:'Dancing Script',cursive;color:var(--pink);font-size:1.22em;font-weight:600}p{line-height:1.75;color:#756579}.hero p{max-width:420px;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;border-radius:30px;font-weight:800;font-size:14px;gap:16px;transition:transform .2s}.button:hover{transform:translateY(-3px)}.pink{background:var(--pink);color:white;box-shadow:0 5px 20px #ce286c25}.textlink{font-size:12px;margin-left:20px;font-weight:800}.handnote{display:block;font:24px 'Dancing Script',cursive;color:var(--teal);margin-top:28px}.collage{position:relative;height:530px;padding-left:35px}.collage figure{margin:0 auto;width:355px;height:485px;border:2px solid var(--gold);padding:10px 10px 24px;background:white;border-radius:180px 180px 17px 17px;transform:rotate(4deg);box-shadow:0 15px 35px #46305117}.collage figure img{width:100%;height:410px;object-fit:cover;object-position:center 35%;border-radius:170px 170px 8px 8px}figcaption{text-align:center;font:21px 'Dancing Script';padding-top:12px}.smallphoto{position:absolute;bottom:0;left:0;width:180px;height:210px;object-fit:cover;border:8px solid white;outline:2px solid var(--teal);border-radius:12px;transform:rotate(-9deg);box-shadow:0 10px 30px #46305125}.seal{position:absolute;right:0;bottom:35px;background:#f9dfa1;outline:6px solid #f9dfa1;border:1px dashed var(--gold);border-radius:50%;width:105px;height:105px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:27px;transform:rotate(12deg)}.seal small{font-size:11px}.butterfly{position:absolute;top:-20px;left:0;font-size:43px}.spark{position:absolute;right:0;top:25px;font-size:65px;color:var(--pink)}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:20px;background:#e8f3f0;color:var(--teal);padding:22px;font-weight:800;font-size:13px}.section{max-width:1280px;margin:auto;padding:80px 30px}.sectiontop{display:flex;justify-content:space-between;align-items:center}.sectiontop p{font-size:14px}h2{font-size:37px;line-height:1.3;margin:12px 0 25px;letter-spacing:-1px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 30px}.filters button{border:1px solid #dfd4df;background:transparent;color:var(--purple);padding:11px 21px;border-radius:25px;cursor:pointer;font-size:13px;font-weight:800}.filters button.active{background:var(--purple);color:white}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.work{padding:0;overflow:hidden;background:white;border:1px solid #eee3e8;border-radius:17px;text-align:left;color:var(--purple);cursor:pointer;transition:transform .2s}.work:hover{transform:translateY(-5px)}.work img{height:270px;width:100%;object-fit:cover}.inside{padding:22px}.tag{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);font-weight:800}h3{font-size:20px;margin:10px 0}.work p{font-size:13px;margin:0}.placeholder{height:270px;background:#f1e7ee;display:grid;place-content:center;font-size:50px;color:#a7839a}.gallerynote{text-align:center;font-size:14px;margin-top:30px}.gallerynote a{color:var(--pink);font-weight:800}.story{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:20px}.storyphotos{position:relative;height:350px}.storyphotos img:first-child{width:85%;height:280px;object-fit:cover;border-radius:23px;transform:rotate(-4deg)}.storyphotos img:last-child{position:absolute;right:0;bottom:0;width:42%;height:220px;object-fit:cover;border:7px solid var(--cream);border-radius:17px;transform:rotate(7deg)}.story p{font-size:14px}.testimonials{text-align:center}.muted{font-size:13px}.testimonials .grid{text-align:left;margin-top:30px}.review{background:white;border:1px solid #e9dfe6;border-radius:16px;padding:27px}.quote{font:55px Georgia;color:var(--pink);height:40px}.stars{color:#aa7010;letter-spacing:3px;margin:15px 0}.review small{color:var(--teal);font-size:10px;letter-spacing:1px}.review p{font-size:14px}.contact{background:var(--purple);color:white;text-align:center;padding:65px 25px}.contact>span{color:#f3cc79;font-size:11px;letter-spacing:2px}.contact em{color:#f7bfd4}.contact p{color:#e0d4e4;font-size:14px}.contact>div{display:flex;justify-content:center;gap:16px;margin-top:30px}.white{background:white;color:var(--purple)}.outlined{border:1px solid #baa8c1;color:white}footer{text-align:center;padding:40px 25px 25px}footer img{width:80px;border-radius:50%}footer p{font-size:14px;margin:8px}footer div{display:flex;justify-content:center;gap:25px;font-size:12px;margin:20px}footer small{font-size:11px;color:#85718c}.floating{position:fixed;bottom:22px;right:22px;background:#16835d;color:white;border:3px solid white;border-radius:50%;width:59px;height:59px;display:grid;place-content:center;z-index:8;box-shadow:0 5px 20px #0002}.floating svg{width:30px;height:30px}dialog{border:0;border-radius:20px;padding:25px;width:min(90vw,650px);color:var(--purple);max-height:90vh}dialog::backdrop{background:#25162ccb}dialog img{width:100%;max-height:60vh;object-fit:contain}.close{position:absolute;right:10px;top:8px;font-size:30px;border:0;background:white;border-radius:50%;width:40px;cursor:pointer}.reveal{animation:rise .6s ease both}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.admin{max-width:850px;margin:40px auto;padding:24px}.panel{padding:25px;border:1px solid #e4d8e0;border-radius:20px;background:white;margin:20px 0}label{display:block;margin:15px 0}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #bcaebf;border-radius:8px;margin-top:5px}.admin button{cursor:pointer}.notice{padding:15px;background:#fff1cd;border-radius:10px}.admin-row{display:flex;align-items:center;gap:15px;margin:15px 0}.admin-row img{width:65px;height:65px;object-fit:cover}.admin-row span{flex:1}[hidden]{display:none!important}@media(max-width:850px){header{height:80px;padding:10px 20px}.brand img{width:55px}.brand span{display:none}nav{gap:18px;font-size:12px}.hero{grid-template-columns:1fr;gap:40px;padding:40px 24px 65px}.hero>div:first-child{max-width:570px;margin:auto}h1{font-size:40px}.collage{max-width:470px;width:100%;margin:auto}.section{padding:55px 24px}.sectiontop{display:block}.grid{grid-template-columns:repeat(2,1fr)}.story{grid-template-columns:1fr;gap:30px}.testimonials .grid{grid-template-columns:1fr}.ribbon{flex-wrap:wrap;font-size:10px;gap:12px}h2{font-size:32px}}@media(max-width:500px){nav{gap:12px;font-size:11px}h1{font-size:35px;letter-spacing:-1px}.eyebrow{font-size:9px;letter-spacing:1.5px}.textlink{font-size:11px;margin-left:12px}.handnote{font-size:21px}.collage{height:445px;padding-left:25px}.collage figure{height:400px;width:285px}.collage figure img{height:325px}figcaption{font-size:18px}.smallphoto{width:135px;height:165px}.seal{width:85px;height:85px;font-size:23px;right:4px;bottom:20px}.seal small{font-size:9px}.spark{font-size:45px}.grid{grid-template-columns:1fr}.work img{height:300px}.filters{gap:8px}.filters button{font-size:11px;padding:10px 13px}.contact>div{flex-direction:column;align-items:center}.contact .button{width:285px}.contact h2{font-size:29px}.storyphotos{height:300px}.storyphotos img:first-child{height:235px}.storyphotos img:last-child{height:180px}.ribbon span{max-width:42%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.eventdetail{width:90px;height:90px;object-fit:cover;border-radius:50%;float:right;margin:10px;border:3px solid #e5b4cd}
