:root{--pink:#ef328e;--pale:#ffd9ea;--ink:#100c12;--white:#fff7fa;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#130c13;color:var(--white);font-family:var(--sans)}button,input{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-5rem;background:white;color:black;padding:1rem;z-index:20}.skip-link:focus{top:1rem}.preview-banner{font-size:11px;background:#f4dce8;color:#6f174b;text-align:center;padding:7px 12px;letter-spacing:.08em;font-weight:800}.preview-banner span{font-weight:500;letter-spacing:0}.hero{isolation:isolate;position:relative;min-height:730px;max-width:1600px;margin:auto;display:grid;grid-template-columns:48% 52%;overflow:hidden;background:radial-gradient(ellipse at 88% 5%,#492239 0%,transparent 45%),linear-gradient(135deg,#130b14,#1c101a 65%,#090609)}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(circle,#ed58933d 1px,transparent 3px);background-size:59px 73px;mask-image:linear-gradient(80deg,transparent,black)}.glow{position:absolute;pointer-events:none;filter:blur(45px);opacity:.45;border-radius:50%;z-index:0}.glow-a{width:330px;height:420px;background:#b01e60;left:-250px;top:260px}.glow-b{width:230px;height:250px;background:#e24682;right:-150px;top:65px}.hero-photo{position:relative;min-height:690px;display:flex;align-items:flex-end;justify-content:center;padding:45px 0 0 5%;z-index:1}.hero-photo:before{content:"";position:absolute;width:83%;height:82%;left:7%;top:8%;border:2px solid #ee76b6;border-right:0;border-bottom:0;border-radius:50% 0 0 20%;transform:rotate(-8deg);box-shadow:0 0 35px #e82a8b55}.photo-frame{height:635px;width:min(95%,560px);overflow:hidden;position:relative;mask-image:linear-gradient(to bottom,transparent 0%,black 6%,black 77%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 6%,black 77%,transparent 100%)}.photo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,#160c16a6),linear-gradient(0deg,#170d17b0,transparent 30%)}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 41%;filter:contrast(1.035) saturate(.94)}.photo-caption{position:absolute;z-index:2;bottom:36px;left:9%;font:italic clamp(19px,2.1vw,32px) var(--serif);color:#ffd1e6;transform:rotate(-6deg);text-shadow:0 2px 12px #000}.photo-caption span{color:var(--pink);font-size:1.7em}.photo-glitter{position:absolute;color:#ff7dbb;font-size:55px;z-index:3;text-shadow:0 0 20px #eb3a87}.photo-glitter.one{top:10%;left:10%}.photo-glitter.two{right:8%;bottom:14%}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 5.5% 75px 1.5%}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.31em;font-weight:700;color:#ffb6d6}.line{height:1px;width:30px;background:#e75b9b}.number{margin:7px 0 -15px;position:relative;white-space:nowrap}.number>span{font-family:var(--serif);font-weight:bold;font-size:clamp(116px,15vw,235px);letter-spacing:-.105em;line-height:1;background:linear-gradient(140deg,#fff0f6 9%,#ff9fc9 32%,#ed3289 65%,#ffc9e0 89%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 80px #e72a8229;padding-right:.13em}.number em{position:relative;font-family:var(--serif);font-size:clamp(25px,3.5vw,56px);font-weight:400;letter-spacing:-.06em;color:#f3c6da;left:-.7em;bottom:.18em;text-shadow:0 0 15px #000;display:inline-block;transform:rotate(-8deg)}h1{font-family:var(--serif);font-size:clamp(39px,5vw,74px);letter-spacing:-.05em;line-height:1.05;margin:0;white-space:nowrap;text-shadow:0 5px 28px #0008}h1 span{color:#f0549c;font-style:italic}.sum{display:flex;align-items:center;gap:17px;font-family:var(--serif);font-size:clamp(24px,3vw,38px);color:#f36baa;margin:14px 0 7px}.sum span{height:1px;width:60px;background:#a73570}.lead{margin:7px 0 27px;font:italic clamp(15px,1.45vw,19px) var(--serif);color:#ffe0ed}.event-lines{display:grid;gap:12px;text-align:left;width:min(100%,470px);margin:auto}.event-lines p{display:grid;grid-template-columns:26px 1fr;column-gap:12px;margin:0;align-items:start;font-size:16px}.event-lines .mini-icon{color:#fb70b0;grid-row:span 2;font-size:22px;text-align:center}.event-lines .detail{color:#ddc9d3;grid-column:2;font-size:13px;margin-top:3px}.pink{color:#ff6bb1}.login-panel{margin-top:27px;text-align:left;width:min(100%,465px);background:#0e080dc7;border:1px solid #e678a25c;box-shadow:0 18px 55px #0009,0 0 32px #e03b8012;border-radius:13px;padding:19px}.login-heading{font:21px var(--serif);margin-bottom:13px}.login-heading span{color:#ff68a6}#demo-login{display:flex;background:#fff4f8;border-radius:6px;overflow:hidden}#demo-login input{flex:1;min-width:0;border:0;outline-offset:-3px;color:#2c1723;background:transparent;padding:13px;font-size:16px}#demo-login button{background:#eb388f;color:#fff;border:0;min-width:57px;font-size:26px}#demo-login button:hover,#demo-login button:focus-visible{background:#c91a70}.login-panel p{font-size:11px;color:#e5c4d2;margin:10px 0 0;line-height:1.5}.corner-ornament{position:absolute;right:2%;top:22px;color:#f36aa7;font-size:95px;transform:rotate(24deg);opacity:.38}.countdown-section{background:linear-gradient(115deg,#ffe8f2,#fff7fa 48%,#ffd8e9);color:#321322;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;gap:18px;padding:21px 20px;border-top:3px solid #e5488b}.count-intro,.count-outro{font:italic clamp(18px,2vw,27px) var(--serif);color:#aa2d67}.count-intro span{color:#e53888}.countdown{display:flex;gap:clamp(12px,3vw,42px)}.countdown>div{text-align:center;min-width:55px}.countdown strong{display:block;font:700 clamp(33px,5vw,68px)/1 var(--serif);color:#c72b70}.countdown span{text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:800}.explore{background:#fcf4f8;color:#23111b;padding:75px clamp(16px,4vw,60px) 90px}.explore>*{max-width:1450px;margin-left:auto;margin-right:auto}.section-heading{text-align:center;margin-bottom:38px}.section-heading p{font-size:11px;letter-spacing:.3em;color:#bd3574;font-weight:800}.section-heading h2{font:normal clamp(38px,5vw,70px) var(--serif);margin:7px 0}.section-heading h2 span{color:var(--pink)}.stroke{display:block;background:var(--pink);width:75px;height:3px;margin:10px auto;transform:rotate(-5deg)}.tiles{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.tile{border:0;isolation:isolate;color:white;position:relative;overflow:hidden;border-radius:7px;min-height:290px;text-align:left;padding:0;transition:transform .25s,box-shadow .25s;box-shadow:0 9px 18px #200b1722}.tile:hover{transform:translateY(-5px);box-shadow:0 17px 30px #320a222c}.tile:focus-visible{outline:4px solid #f04391;outline-offset:3px}.tile:nth-child(-n+4){grid-column:span 3}.tile:nth-child(n+5){grid-column:span 4}.tile:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--tile-bg)}.tile:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 80% 17%,#ffffff38 1px,transparent 3px);background-size:30px 47px;z-index:-1}.tile-shade{position:absolute;inset:0;background:linear-gradient(0deg,#070408 3%,#0a0409c5 30%,transparent 85%)}.tile-graphic{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;font:100px var(--serif);color:#ff9bc8;text-shadow:0 0 42px #e9308c;transition:transform .5s}.tile:hover .tile-graphic{transform:scale(1.06)}.tile-copy{position:absolute;bottom:25px;left:24px;right:48px;display:flex;flex-direction:column;gap:5px}.tile-kicker{color:#ff94c7;font-weight:800;letter-spacing:.18em;font-size:10px}.tile-copy strong{font:normal clamp(25px,2.65vw,37px) var(--serif);line-height:1.08}.tile-copy small{font-size:13px;color:#faeaf1;line-height:1.35}.tile-arrow{position:absolute;right:20px;bottom:27px;font-size:27px;color:#ff91c3}.tile-place{--tile-bg:radial-gradient(ellipse at 50% 20%,#ff64a460,#0000 56%),repeating-linear-gradient(90deg,#22111d 0 16px,#521b37 16px 18px,#110c12 18px 44px)}.place-lines{font-size:145px}.tile-program{--tile-bg:radial-gradient(circle at 35% 21%,#f8afc750,#0000 28%),linear-gradient(125deg,#190b10,#5c2344 55%,#140914)}.glasses{font-size:85px}.glasses span{font-size:70px;color:#ffb6cf}.tile-pink{--tile-bg:radial-gradient(ellipse at 60% 40%,#ff7fba 0%,#d9217b 40%,#200819 93%)}.pink-ribbon{font-size:145px;color:#ffcae1}.tile-hotel{--tile-bg:radial-gradient(ellipse at 50% 30%,#a77e86 0%,#3e242c 55%,#0f0b10 95%)}.tile-facts{--tile-bg:radial-gradient(circle at center,#9e1a5f,#140917 72%)}.tile-facts .tile-graphic{font-size:clamp(48px,7vw,108px);color:#ffd0e4;transform:rotate(-9deg)}.tile-facts .tile-graphic span{font-size:.5em;padding:0 8px}.tile-stories{--tile-bg:linear-gradient(130deg,#321727,#d34b88 47%,#351328)}.tile-stories .tile-graphic{font-size:160px}.tile-stories .tile-graphic span{font-size:.7em}.tile-photos{--tile-bg:radial-gradient(circle at 30% 20%,#af5583,#1a0f1b 78%)}.polaroid{inset:20px auto auto 50%;width:145px;height:168px;background:white;padding:8px 8px 22px;box-shadow:0 12px 35px #0009;transform:translateX(-50%) rotate(7deg)}.polaroid img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.tile:hover .polaroid{transform:translateX(-50%) rotate(3deg) scale(1.06)}.rsvp{margin-top:48px!important;background:#191019;color:white;display:flex;gap:30px;align-items:center;padding:34px clamp(20px,5vw,60px);border-radius:7px;border-left:7px solid var(--pink)}.rsvp-icon{font-size:85px;color:#ee5c9f}.rsvp h2{font:normal 38px var(--serif);margin:0 0 8px}.rsvp p{line-height:1.65;margin:0;color:#f6e8f0}footer{background:#110b12;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:25px 5%;font-size:12px;letter-spacing:.12em;color:#d1b5c3}dialog{width:min(92vw,650px);max-height:85vh;overflow:auto;border:1px solid #f3a7c9;border-radius:13px;padding:45px;box-shadow:0 20px 100px #0009;background:#fff8fb;color:#22101c}dialog::backdrop{background:#0a050bd9;backdrop-filter:blur(5px)}.dialog-kicker{font-size:11px;letter-spacing:.2em;color:#b82c71;font-weight:bold}dialog h2{font:normal clamp(37px,5vw,57px) var(--serif);margin:8px 0 20px}dialog p,dialog li{line-height:1.7}dialog a{color:#a6135b;font-weight:700}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:38px;color:#a51c5c}.dialog-back{background:#c62273;border:0;border-radius:5px;color:white;padding:13px 22px;margin-top:15px;font-weight:700}.placeholder{border-left:3px solid #e54b93;background:#ffe8f2;padding:13px 16px;font-size:14px}body:has(dialog[open]){overflow:hidden}@media(max-width:1150px){.hero{grid-template-columns:47% 53%}.hero-photo{min-height:610px}.photo-frame{height:575px}.hero-copy{padding:55px 4% 60px 0}.number>span{font-size:clamp(95px,15vw,170px)}.number em{font-size:35px}.event-lines p{font-size:14px}.tiles{gap:12px}.tile:nth-child(-n+4){grid-column:span 6}.tile:nth-child(n+5){grid-column:span 4}}@media(max-width:750px){.hero{display:flex;flex-direction:column;min-height:0}.hero-photo{height:410px;min-height:0;order:0;padding:0}.hero-photo:before{width:70%;height:95%;left:15%;top:7%}.photo-frame{width:100%;height:410px;mask-image:linear-gradient(to bottom,black 0%,black 76%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 76%,transparent 100%)}.photo-frame img{object-position:center 35%}.photo-caption{bottom:8px;left:7%}.hero-copy{order:1;padding:10px 18px 42px}.number{margin:5px 0 -10px}.number>span{font-size:clamp(115px,28vw,205px)}.number em{font-size:clamp(30px,8vw,55px)}h1{font-size:clamp(39px,9vw,65px)}.eyebrow{font-size:10px}.event-lines{max-width:420px}.login-panel{max-width:420px}.countdown-section{gap:12px}.count-intro,.count-outro{width:100%;text-align:center;margin:0}.countdown{gap:clamp(14px,6vw,45px)}.tiles .tile{grid-column:span 6}.tiles .tile:last-child{grid-column:span 12}.explore{padding:50px 14px 60px}}@media(max-width:460px){.hero-photo,.photo-frame{height:350px}.photo-frame img{object-position:center 32%}.preview-banner span{display:block}.sum{margin:12px 0}.lead{margin:7px 0 22px}.event-lines p{font-size:14px}.login-heading{font-size:19px}.tiles{gap:10px}.tiles .tile{grid-column:span 12;min-height:210px}.tile-graphic{font-size:86px}.tile-copy strong{font-size:31px}.tile-photos .polaroid{top:10px}.rsvp{gap:12px;padding:24px 20px}.rsvp-icon{font-size:50px}.rsvp h2{font-size:29px}.countdown{width:100%;justify-content:space-around}.countdown strong{font-size:39px}.countdown>div{min-width:45px}.countdown span{font-size:9px}dialog{padding:34px 23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}



/* V0.7 – revised hero and original-reference-inspired photographic cards */
.hero{display:flex!important;align-items:center;justify-content:flex-start;min-height:750px;max-width:1600px;position:relative;isolation:isolate;background:#150d15 url("hero-elvira-walter.webp") center / cover no-repeat!important;}
.hero::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(10,4,10,.91) 0%,rgba(10,4,10,.76) 25%,rgba(10,4,10,.42) 43%,rgba(10,4,10,0) 63%);pointer-events:none}
.hero::after{display:none}.hero-scene,.hero-photo,.glow,.corner-ornament{display:none!important}
.hero-copy{position:relative;z-index:1;width:min(47%,640px);min-height:750px;max-width:none;margin:0;padding:52px 16px 50px clamp(25px,5vw,72px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left!important}
.eyebrow{justify-content:flex-start;color:#ffd4e9;letter-spacing:.18em}.number{margin:0 0 -12px;white-space:nowrap}.number>span{font-size:clamp(112px,13vw,195px);line-height:.95}.number em{font-size:clamp(28px,3.6vw,52px)}
.hero h1{font-size:clamp(38px,4.5vw,65px);text-align:left;white-space:normal}.sum,.lead{text-align:left}.sum{margin:18px 0 4px}.lead{margin:8px 0 20px}.event-lines{max-width:530px;margin-left:0;margin-right:0}.event-lines p{font-size:clamp(13px,1.18vw,16px);background:rgba(19,9,18,.56);backdrop-filter:blur(5px)}.login-panel{width:100%;max-width:530px;background:rgba(17,9,16,.79);backdrop-filter:blur(6px);margin:20px 0 0}.login-heading{font-size:clamp(18px,2vw,24px)}
.countdown-section{background:linear-gradient(110deg,#ffe9f2,#fff8fb 50%,#f9dce9);color:#321322}
.explore{background:linear-gradient(#fff7fa,#fcebf3);color:#24111d;padding:64px clamp(12px,3vw,45px) 90px}.explore>*{max-width:1490px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:clamp(38px,4.5vw,62px)}
.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.tile{grid-column:span 2!important;border:0;border-radius:0;min-height:340px;isolation:isolate;overflow:hidden;background:#190e19;box-shadow:none;transition:transform .2s,filter .2s;text-align:left}.tile:nth-child(n+4){grid-column:span 3!important}.tile:hover{transform:translateY(-3px);filter:brightness(1.08)}.tile:focus-visible{outline:4px solid #e83084;outline-offset:2px}.tile:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--tile-bg);background-position:center;background-size:cover;transition:transform .4s}.tile:hover:before{transform:scale(1.035)}.tile:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,3,7,.96) 0%,rgba(9,4,9,.79) 22%,rgba(8,4,9,.07) 68%)}.tile-shade,.tile-graphic{display:none!important}.tile-icon{position:absolute;left:25px;bottom:31px;width:50px;height:50px;color:#f6a4cb;z-index:2}.tile-icon svg{height:100%;width:100%}.tile-copy{position:absolute;left:92px;bottom:26px;right:40px;display:flex;flex-direction:column;gap:4px}.tile-kicker{display:none}.tile-copy strong{font:normal clamp(24px,2.5vw,36px)/1.08 Georgia,serif;color:#fff}.tile-copy small{font-size:14px;line-height:1.3;color:#fff3f8}.tile-arrow{bottom:30px;right:14px;color:#f6a4cb;font-size:27px}.tile-place{--tile-bg:url('tile-place-final.webp')}.tile-pink{--tile-bg:url('tile-dress-final.webp')}.tile-hotel{--tile-bg:url('tile-stay-final.webp')}.tile-stories{--tile-bg:url('tile-stories-final.webp')}.tile-photos{--tile-bg:url('tile-photos-final.webp')}
.rsvp{margin-top:42px!important;background:#171018;color:#fff;display:flex;gap:26px;align-items:center;padding:35px clamp(22px,4vw,50px);border-radius:0;border-left:6px solid var(--pink)}.phone-contacts{display:flex;flex-wrap:wrap;gap:18px 38px;margin-top:18px}.phone-contacts>div{display:flex;flex-direction:column;gap:4px;border-left:2px solid #f37cad;padding-left:13px}.phone-contacts span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#ffb5d5}.phone-contacts strong{font-size:17px;color:#fff}
@media(max-width:1150px){.hero{min-height:670px;background-position:57% center!important}.hero-copy{width:52%;min-height:670px;padding-left:30px}.number>span{font-size:clamp(108px,14vw,175px)}.tile{min-height:305px}}
@media(max-width:800px){.hero{display:block!important;min-height:0;background-image:none!important;background:#120a10!important}.hero::before{position:relative;display:block;height:clamp(315px,65vw,500px);background:linear-gradient(0deg,#120a10 0%,transparent 25%),url('hero-elvira-walter.webp') 72% 30% / cover no-repeat}.hero-copy{min-height:0;width:100%;padding:0 24px 48px;margin:0;align-items:flex-start}.number>span{font-size:clamp(110px,22vw,180px)}.hero h1{font-size:clamp(42px,8vw,64px)}.event-lines{width:100%;max-width:600px}.login-panel{width:100%;max-width:600px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile,.tile:nth-child(n+4){grid-column:span 1!important}.tile:last-child{grid-column:span 2!important}}
@media(max-width:520px){.hero::before{height:315px;background-position:72% 20%}.hero-copy{padding:0 18px 38px}.number>span{font-size:clamp(103px,25vw,145px)}.number em{font-size:32px}.hero h1{font-size:43px}.eyebrow{font-size:10px}.tiles{grid-template-columns:1fr;gap:8px}.tile,.tile:nth-child(n+4),.tile:last-child{grid-column:span 1!important;min-height:230px}.tile-icon{left:21px;bottom:24px;width:43px;height:43px}.tile-copy{left:79px;bottom:21px}.tile-copy strong{font-size:29px}.tile-copy small{font-size:12px}.tile-arrow{bottom:23px}.rsvp{gap:13px;padding:25px 19px}.rsvp-icon{font-size:50px}.rsvp h2{font-size:31px}}
