@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Poppins:wght@300;400;500;600;700&display=swap";:root{--cream:#fffaf3;--cream-2:#fff4e6;--paper:#fffdf9;--ink:#2d2d2d;--muted:#776f68;--green:#587053;--green-dark:#405b3b;--magenta:#b5178b;--pink:#e25bad;--rose:#f8cfc6;--rose-soft:#fde8e1;--gold:#f4c85d;--line:#5870532e;--shadow:0 22px 60px #5870531f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 0%,#f8cfc661,transparent 28%),linear-gradient(180deg,var(--cream),#fff7ec 62%,var(--cream));color:var(--ink);margin:0;font-family:Poppins,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}nav{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#fffaf3e6;justify-content:center;gap:28px;padding:16px 18px;display:flex;position:sticky;top:0}nav a{color:var(--green);font-size:14px;font-weight:700;transition:all .25s}nav a:hover{color:var(--magenta)}.section{text-align:center;padding:92px 22px;position:relative;overflow:hidden}.section-card{isolation:isolate}.center{text-align:center}.max{max-width:760px;margin-left:auto;margin-right:auto}.accent{color:var(--magenta);font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--green);margin:0 0 14px;font-size:13px;font-weight:700}.lead{color:var(--muted);max-width:720px;margin:22px auto;font-size:18px;line-height:1.8}.fade-up{animation:.8s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}h1,h2,h3,p{margin-top:0}h2{color:var(--magenta);margin-bottom:14px;font-family:Great Vibes,cursive;font-size:clamp(54px,8vw,92px);font-weight:400;line-height:1}h3{color:var(--green);margin-bottom:10px;font-size:23px}.divider{color:var(--rose);justify-content:center;align-items:center;gap:16px;margin:10px auto 22px;display:flex}.divider span{background:linear-gradient(90deg,transparent,var(--rose),transparent);width:90px;height:1px;display:block}.hero{text-align:center;place-items:center;min-height:92vh;padding:100px 18px 86px;display:grid}.hero-content{z-index:4;max-width:980px;position:relative}.couple-title{color:var(--magenta);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.08em;margin:0 auto;font-family:Great Vibes,cursive;font-size:clamp(80px,13vw,168px);font-weight:400;line-height:.78;display:flex}.couple-title em{color:var(--green);margin:0 .02em;font-size:.42em;font-style:normal;line-height:1}.star{color:#ffc0a5;z-index:2;opacity:.9;font-size:52px;position:absolute}.star-one{top:20%;right:13%}.star-two{font-size:34px;bottom:22%;left:14%}.button{border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex}.button-primary{background:linear-gradient(135deg,var(--magenta),var(--pink));color:#fff;box-shadow:0 14px 34px #b5178b33}.button-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px #b5178b47}.button-outline{border:1px solid var(--line);color:var(--green);background:#ffffffb8}.button-outline:hover{color:var(--magenta);border-color:#b5178b59;transform:translateY(-2px)}.button:disabled{opacity:.65;cursor:not-allowed}.text-button{color:var(--green);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-weight:700;display:inline-flex}.actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:24px;display:flex}.floral{pointer-events:none;z-index:1;opacity:.72;width:260px;height:260px;position:absolute}.floral-left{top:20px;left:-60px}.floral-right{bottom:18px;right:-54px;transform:scaleX(-1)}.floral-small{opacity:.38;bottom:8px;left:50%;transform:translate(-50%)scale(.62)}.floral span{background:radial-gradient(circle at 35% 35%,#fff 0 9%,var(--rose) 10% 34%,#eba6a7 35% 55%,transparent 57%);border-radius:50%;position:absolute;box-shadow:50px 28px 0 -12px #f8cfc6f2,80px 8px 0 -20px #b5178b4d,120px 58px 0 -24px #f8cfc6e6}.floral span:first-child{width:120px;height:120px;top:42px;left:46px}.floral span:nth-child(2){width:90px;height:90px;top:128px;left:0;transform:rotate(-18deg)}.floral span:nth-child(3){width:100px;height:100px;top:136px;left:130px;transform:rotate(24deg)}.floral:before,.floral:after{content:"";background:#58705352;border-radius:70% 0;width:80px;height:26px;position:absolute;top:30px;left:130px;transform:rotate(-35deg);box-shadow:-85px 130px #58705342,40px 140px #58705338,-20px 90px #5870533d}.floral:after{opacity:.75;top:26px;left:56px;transform:rotate(35deg)}.map-card{max-width:920px;box-shadow:var(--shadow);background:#fff;border:1px solid #b5178b29;border-radius:30px;margin:32px auto 0;padding:10px;overflow:hidden}.map-card iframe{border:0;border-radius:22px;width:100%;height:370px;display:block}.dress-grid,.gift-grid{gap:22px;max-width:980px;margin:34px auto 0;display:grid}.dress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dress-card,.gift-card,.success-card,.faq-item,.modal,.stats div{box-shadow:var(--shadow);background:#ffffffc7;border:1px solid #b5178b26;border-radius:30px}.dress-card{text-align:center;padding:30px}.dress-card p{color:var(--muted);line-height:1.7}.icon{width:58px;height:58px;color:var(--green);background:#58705317;border-radius:50%;place-items:center;margin:0 auto 14px;display:grid}.reference{min-height:170px;color:var(--magenta);background:linear-gradient(135deg,#fff,var(--cream-2));border:1px solid #f4c85d42;border-radius:24px;place-items:center;margin-top:20px;font-family:Great Vibes,cursive;font-size:42px;line-height:1;display:grid}.reference small{letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-top:10px;font-family:Poppins,sans-serif;font-size:11px;display:block}.masculine{color:var(--green)}.form{grid-template-columns:1fr 1fr;gap:16px;max-width:860px;margin:34px auto 0;display:grid}.field{text-align:left}.field label{color:var(--green);margin:0 0 8px 12px;font-size:13px;font-weight:700;display:block}.span{grid-column:1/-1}input,select,textarea{width:100%;color:var(--ink);background:#ffffffe6;border:1px solid #58705338;border-radius:18px;outline:none;padding:15px 16px}input:focus,select:focus,textarea:focus{border-color:var(--magenta);box-shadow:0 0 0 4px #b5178b14}textarea{resize:vertical;min-height:96px}.error{color:#a40000;font-weight:700}.success-card{max-width:760px;margin:34px auto 0;padding:38px}.success-card h3{color:var(--magenta);font-family:Great Vibes,cursive;font-size:56px;font-weight:400}.success-card p{color:var(--muted);font-size:18px;line-height:1.85}.gift-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gift-card{text-align:left;min-height:225px;color:var(--green);flex-direction:column;gap:10px;padding:22px;transition:all .25s;display:flex}.gift-card:hover{border-color:#b5178b59;transform:translateY(-5px)}.gift-card svg{color:var(--magenta)}.gift-card strong{font-size:16px;line-height:1.35}.gift-card span{color:var(--muted);font-size:13px;line-height:1.55}.gift-card b{color:var(--magenta);margin-top:auto;font-size:18px}.modal-backdrop{z-index:100;background:#2d2d2d7a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{text-align:center;width:100%;max-width:460px;padding:34px;position:relative}.close{cursor:pointer;color:var(--green);background:0 0;border:0;font-size:30px;position:absolute;top:12px;right:14px}.qr{border:1px solid var(--line);background:#fff;border-radius:18px;margin:18px 0;padding:14px;display:inline-block}.faq-list{text-align:left;max-width:900px;margin:34px auto 0}.faq-item{margin-bottom:12px;overflow:hidden}.faq-item button{text-align:left;width:100%;color:var(--green);background:0 0;border:0;justify-content:space-between;align-items:center;padding:20px 24px;font-weight:700;display:flex}.faq-item p{color:var(--muted);margin:0;padding:0 24px 22px;line-height:1.7}footer{text-align:center;background:var(--green);color:#fff;padding:76px 18px;position:relative;overflow:hidden}.script-footer{color:#fff;margin:0;font-family:Great Vibes,cursive;font-size:64px}.script-footer span{color:#f8cfc6}.admin-login,.admin{background:var(--cream);min-height:100vh;color:var(--ink);padding:44px 22px}.admin-login{text-align:center;place-items:center;display:grid}.admin-login h1,.admin h1{color:var(--magenta);font-family:Great Vibes,cursive;font-size:70px;font-weight:400}.admin-login form{gap:10px;width:100%;max-width:520px;margin:auto;display:flex}.admin-actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;display:grid}.stats div{padding:20px}.stats b{color:var(--magenta);font-size:38px;display:block}.stats span{color:var(--green);font-weight:700}.search{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:10px;max-width:520px;margin-bottom:18px;padding:0 14px;display:flex}.search input{background:0 0;border:0}.table-wrap{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:960px}th,td{text-align:left;border-bottom:1px solid #5870531f;padding:14px;font-size:14px}th{color:var(--green);background:var(--cream-2)}@media (width<=900px){nav{justify-content:flex-start;gap:16px;overflow-x:auto}.section{padding:76px 18px}.couple-title{font-size:clamp(72px,22vw,116px)}.floral-left{top:0;left:-90px;transform:scale(.72)}.floral-right{right:-90px;transform:scaleX(-1)scale(.72)}.dress-grid,.gift-grid,.form{grid-template-columns:1fr}.gift-card{min-height:auto}.map-card iframe{height:300px}.stats{grid-template-columns:1fr 1fr}.admin-login form{flex-direction:column}.success-card h3{font-size:44px}}@media (width<=520px){.hero{min-height:86vh;padding-top:82px}.couple-title{flex-direction:column;gap:0;font-size:78px;display:flex}.couple-title em{font-size:34px}.lead{font-size:16px}.button{width:100%;padding:14px 18px}.actions{flex-direction:column}.star{font-size:30px}.map-card iframe{height:250px}.stats{grid-template-columns:1fr}.admin-login h1,.admin h1{font-size:54px}.script-footer{font-size:46px}.floral{opacity:.35}}:root{--green:#b5178b;--green-dark:#b5178b}nav a,.eyebrow,.couple-title em,.script-footer span,.field label,.faq-item button,h3,.accent{color:var(--magenta)!important}.button-outline{color:var(--magenta)!important;border-color:#b5178b47!important}
