:root{--navy:#052a62;--ink:#092e61;--sky:#79a5e3;--paper:#fff;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff}h1,h2,h3,p{margin-top:0}.hero{height:min(810px,100vh);min-height:600px;position:relative;overflow:hidden;background:#fff}.hero-copy{position:absolute;z-index:2;left:8%;top:50%;width:49%;text-align:center;transform:translateY(-50%)}h1{margin:0;font:clamp(5.4rem,13vw,10.5rem)/.66 'Parisienne',cursive;color:#173c70}.hebrew{margin:.2rem 0 .75rem;font:700 clamp(2.5rem,5vw,4.6rem)/1 Arial;color:#4c7bbc}.hero-rule{height:24px;display:flex;align-items:center;gap:10px;color:var(--ink)}.hero-rule:before,.hero-rule:after{content:'';height:1px;background:#294c7e;flex:1}.hero-rule span{font-size:1.15rem}.eyebrow{margin-top:1rem;color:#5d8ed1;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(.8rem,1.6vw,1.25rem)}.leo-portrait{position:absolute;z-index:1;right:9%;bottom:-4%;height:91%;max-width:40%;object-fit:contain;mix-blend-mode:multiply}.wash{position:absolute;z-index:0;width:43%;height:48%;filter:blur(1px);opacity:.55;background:radial-gradient(circle at 19% 22%,#91bdf4 0 2%,transparent 3%),radial-gradient(circle at 35% 30%,#bcd8fa 0 4%,transparent 12%),radial-gradient(circle at 12% 52%,#c3ddff 0 3%,transparent 17%),radial-gradient(circle at 48% 12%,#b5d2f9 0 1%,transparent 6%)}.wash-left{left:-4%;top:-2%}.wash-right{right:-5%;bottom:-4%;transform:rotate(180deg)}.spark{position:absolute;z-index:3;color:#6d99dd;font:2rem Arial}.s1{right:25%;top:15%}.s2{left:30%;bottom:24%}.s3{right:19%;bottom:22%}.countdown{padding:2rem 1rem 2.2rem;background:radial-gradient(circle at 5% 30%,#174d98,transparent 30%),radial-gradient(circle at 85% 100%,#021943,transparent 45%),#062a62;color:#fff;text-align:center}.countdown p{font:600 clamp(1.4rem,3vw,2rem) var(--serif);margin-bottom:.55rem}.countdown div{display:flex;justify-content:center;gap:.65rem;align-items:baseline;flex-wrap:wrap}.countdown b{font-size:clamp(2.7rem,7vw,4.8rem);letter-spacing:.03em}.countdown span{font-size:.62rem;letter-spacing:.1em}.save,.events{position:relative;max-width:1220px;margin:auto;padding:5rem 1.25rem;text-align:center;background:radial-gradient(circle at 0 5%,#cbe1ff 0 1%,transparent 14%),radial-gradient(circle at 100% 96%,#d5e6ff 0 1%,transparent 13%)}h2{margin-bottom:.2rem;font:600 clamp(2rem,4vw,3.1rem) var(--serif);letter-spacing:.06em;color:#101010}h2:before,h2:after{content:'✦';color:#254c80;font-size:.45em;vertical-align:middle;margin:.8em}.save>p,.events>p{margin-bottom:1.35rem;color:#7095d1;letter-spacing:.05em}.video-frame{position:relative;width:min(100%,310px);margin:2.2rem auto 0;border:1px solid #d1e0f5;box-shadow:12px 12px 0 #e4efff,0 12px 22px #10396d24;background:#061d48}.video-frame:after{content:'';position:absolute;width:115px;height:115px;right:-76px;bottom:25px;border:10px double #3264ab;border-radius:50%;z-index:-1}.video-frame video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}.events{padding-top:5rem}.cards{display:grid;gap:1.1rem;align-items:start}.event{position:relative;background:#fff;padding:2.8rem .7rem .75rem;border-radius:15px;box-shadow:0 5px 14px #102a4f46;text-align:center;overflow:visible}.event:before{content:'';position:absolute;z-index:0;inset:0;border-radius:15px;background:radial-gradient(circle at 5% 8%,#d6e7ff 0 1%,transparent 17%),radial-gradient(circle at 94% 93%,#d6e7ff 0 1%,transparent 18%);opacity:.7}.event>*{position:relative;z-index:1}.event i{position:absolute;z-index:2;top:-29px;left:calc(50% - 29px);width:58px;height:58px;display:grid;place-items:center;overflow:hidden;border:2px solid #b4c8eb;border-radius:50%;background:#fff}.event i img{width:100%;height:100%;object-fit:cover}.event h3{min-height:2.05em;margin:0 0 .2rem;font:italic 600 1.02rem var(--serif);line-height:1.02}.event strong{display:block;margin-bottom:.35rem;font:700 .58rem 'DM Sans';letter-spacing:0}.event em{display:block;min-height:1em;margin-bottom:.4rem;font:italic .7rem var(--serif)}.event address{min-height:2.95rem;margin:0;font-style:normal;font-size:.66rem;line-height:1.16}.event address small{font-size:.58rem}.button{display:block;max-width:300px;margin:.4rem auto;padding:.58rem .5rem;border-radius:6px;background:var(--navy);color:#fff;text-decoration:none;font:500 .68rem 'DM Sans'}.outline{border:1px solid var(--navy);background:#fff;color:var(--navy)}.rsvp{padding:4.5rem 1.25rem;background:radial-gradient(circle at 6% 30%,#174c96,transparent 25%),radial-gradient(circle at 92% 80%,#164784,transparent 35%),#04245b;color:#fff;text-align:center}.rsvp h2{color:#fff}.rsvp>p{color:#cbddfa}.rsvp form{max-width:700px;margin:1.5rem auto;text-align:left}.fields{display:grid;gap:1rem}label{display:block;margin:.8rem 0;font-size:.85rem}input,select{display:block;width:100%;margin-top:.35rem;padding:.8rem;border:1px solid #b6c8e6;border-radius:5px;font:1rem 'DM Sans'}.rsvp button{display:block;width:100%;max-width:330px;margin:1rem auto;border:0;border-radius:6px;padding:.85rem;background:#fff;color:var(--navy);font:700 .85rem 'DM Sans';cursor:pointer}.rsvp .event-choice{margin:1rem 0;padding:1.1rem 1.2rem;border-radius:8px;background:#fff;color:var(--ink)}.event-choice h3{margin:0 0 .6rem;font:600 1.25rem var(--serif)}.radios{display:flex;gap:1.2rem}.radios label{display:flex;align-items:center;gap:.4rem}.radios input{width:auto;margin:0}#notice{max-width:700px;margin:auto;padding:0 .5rem}.error{color:#ffd9d9}.success{color:#e4f7df}.welcome{text-align:center;font-size:1.15rem}footer{padding:1.8rem;text-align:center;background:#04245b;color:#fff}@media(min-width:740px){.cards{grid-template-columns:repeat(3,1fr)}.fields{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.hero{height:630px;min-height:0}.hero-copy{left:7%;top:37%;width:62%}.leo-portrait{right:-2%;bottom:0;height:68%;max-width:47%}.spark{font-size:1.2rem}.s1{right:17%;top:22%}.s2{left:18%;bottom:32%}.s3{right:8%;bottom:28%}.eyebrow{font-size:.72rem}.countdown{padding:1.65rem .8rem}.countdown div{gap:.38rem}.countdown b{font-size:2.25rem}.countdown span{font-size:.5rem}.save,.events{padding:4rem 1rem}.events{padding-top:5.3rem}.cards{gap:2.5rem}.event{max-width:340px;width:92%;margin:auto;padding:3.2rem 1rem 1rem}.event i{top:-34px;width:68px;height:68px;left:calc(50% - 34px)}.event h3{font-size:1.2rem}.event strong{font-size:.66rem}.event address{font-size:.75rem}.event address small{font-size:.66rem}.button{padding:.7rem;font-size:.75rem}.video-frame{width:250px}}
