@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Italianno&family=Manrope:wght@400;500;600&display=swap');
:root{--cream:#f7f2e9;--ink:#253c3a;--gold:#b39459;--muted:#7e8175;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--serif);font-size:20px}.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #c3984d;outline-offset:5px}header{position:absolute;z-index:5;left:0;right:0;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;color:#f5e7cc;border-bottom:1px solid #ffffff20}.monogram{font-size:28px;letter-spacing:3px}.monogram i{color:#d6ba7e}nav{display:flex;gap:36px;font:10px Manrope,sans-serif;text-transform:uppercase;letter-spacing:2px}.sound{background:#14282799;border:1px solid #c4ac7560;color:#f5e7cc;padding:10px 15px;border-radius:30px;font:11px Manrope,sans-serif}.sound span{margin-left:6px}.hero{position:relative;min-height:900px;height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;color:#f6e9ce;background:#172f32}.hero-art{position:absolute;inset:-4%;background:linear-gradient(#10242630,#10242635),url('palace.webp') center/cover;will-change:transform}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10242520,transparent,#10242520);pointer-events:none}.hero-copy{position:relative;z-index:1;padding:100px 25px 80px;text-shadow:0 2px 15px #0008}.eyebrow{font:10px/1.8 Manrope,sans-serif;letter-spacing:3px;text-transform:uppercase}.arabic{font-size:26px;margin:25px 0}.invite-line{font-style:italic;font-size:25px;margin:24px 0 5px}h1{font:normal clamp(65px,7vw,104px)/.85 'Italianno',var(--serif);margin:25px 0;color:#f2dba7}h1 span{font:14px Manrope,sans-serif;display:block;letter-spacing:8px;margin:12px 0 0}h1 em{display:block;font:italic 32px var(--serif);margin:12px}.hero-sub{font-style:italic;font-size:23px;margin-top:25px}.hero-date{display:flex;gap:18px;justify-content:center;align-items:center;font-size:28px;margin-top:30px}.hero-date span{font:10px Manrope,sans-serif;letter-spacing:4px;border-block:1px solid #d9c29280;padding:10px 15px}.location{font:9px Manrope,sans-serif;letter-spacing:4px}.scroll{position:absolute;bottom:25px;z-index:2;font:8px Manrope,sans-serif;letter-spacing:3px}.scroll span{display:block;font-size:24px;margin-top:10px;animation:bob 2s infinite}.section{padding:110px max(6%,24px);text-align:center}.section h2{font-size:clamp(38px,4.6vw,60px);font-weight:400;line-height:1.1;margin:22px auto 30px}.section h2 i{color:#a17d44}.ornament{color:var(--gold);font-size:32px;margin:25px}.prose{max-width:650px;margin:auto;line-height:1.8;color:#68726a;font-size:22px}.signature{font:40px 'Italianno',cursive;color:#a17d44}.welcome{background:radial-gradient(ellipse at 50% 0,#e5dac580,transparent 65%)}.muted{color:var(--muted);font-size:18px;line-height:1.6}.date-section{background:#ede4d6;position:relative}.heart{display:block;position:relative;width:300px;height:270px;margin:45px auto 25px;border:0;background:none;transform-style:preserve-3d;transition:transform 1s}.heart>span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:15px;clip-path:path('M150 270 C120 245 0 166 0 80 C0 -8 117 -20 150 52 C183 -20 300 -8 300 80 C300 166 180 245 150 270Z');backface-visibility:hidden}.heart-front{background:radial-gradient(ellipse at 30% 20%,#f5dfac,#c5a462 50%,#92703a);color:#fff3d6;font-size:46px;text-shadow:0 1px 2px #76501d}.heart small{font:8px Manrope,sans-serif;letter-spacing:2px;margin-top:20px}.heart-back{transform:rotateY(180deg);background:#fcf8f0;color:#755b37;font-size:19px;line-height:1.5}.heart-back strong{font-size:30px}.heart.flipped{transform:rotateY(180deg)}.button{display:inline-block;background:var(--ink);color:#f8edda;border:1px solid var(--ink);border-radius:2px;padding:17px 27px;font:11px Manrope,sans-serif;letter-spacing:1.2px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#3e5550}.outline{background:transparent;color:var(--ink)}.count-section{background:#203a39;color:#f1e5cd}.count-section h2 i{color:#d4b77f}.countdown{display:flex;justify-content:center;margin:45px auto 25px;max-width:600px}.countdown>div{flex:1;border-right:1px solid #b4976145}.countdown>div:last-child{border:0}.countdown strong{font-size:60px;font-weight:400;color:#e1c791;display:block}.countdown span{font:9px Manrope,sans-serif;letter-spacing:2px}.count-caption{font-style:italic;color:#cfbf9e}.events{max-width:1000px;margin:65px auto 0}.event{display:flex;text-align:left;gap:45px;padding:36px 0;border-top:1px solid #b5975c40;align-items:center}.event-date{min-width:135px;text-align:center}.event-date strong{font-size:70px;font-weight:400;line-height:1}.event-date span{display:block;font:9px Manrope,sans-serif;letter-spacing:1px;margin-top:12px}.event-info{flex:1}.event-info h3,.venue h3,.family h3{font-size:35px;font-weight:400;margin:10px 0}.event-info p{margin:6px 0}.event-icon{font-size:45px;color:#b4955c}.blessing{background:linear-gradient(#193331d9,#193331e8),url('palace.webp') center 60%/cover;color:#eee2c9;background-attachment:fixed}.blessing h2 i{color:#d1b57c}.blessing p{line-height:1.8;color:#d2cbb9}.blessing .signature{color:#d1b57c;display:block;margin-top:35px}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:950px;margin:60px auto 0}.venue{border:1px solid #b398653d;padding:18px}.arch-art{height:210px;border-radius:140px 140px 0 0;background:radial-gradient(circle at 50% 20%,#bcac7750,transparent 50%),repeating-linear-gradient(90deg,transparent 0 30px,#bfa87525 31px 32px),#263d3b;color:#e5cc95;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:65px;border:8px double #bdab80}.arch-art span{font:10px Manrope,sans-serif;letter-spacing:7px;margin-top:20px}.second{background-color:#826c50}.venue-copy{padding:25px 10px}.venue-copy p{margin:5px}.text-link{display:inline-block;font:11px Manrope,sans-serif;letter-spacing:1px;border-bottom:1px solid #ae8f51;padding-bottom:9px;margin-top:25px}.family{background:#eee8de}.family-grid{display:grid;grid-template-columns:1fr 60px 1fr;max-width:1000px;margin:60px auto 0;align-items:center;gap:20px}.family-grid p{line-height:1.5}.family-grid>div>span{font-style:italic;color:#a17d44}.family-and{font:60px 'Italianno',cursive;color:#b29460}.contact-buttons{display:flex;gap:15px;justify-content:center;margin:35px 0}.host{font-size:24px;margin-top:50px}.host span{font-size:17px;color:var(--muted)}footer{background:#1b3230;text-align:center;color:#d8c6a5;padding:60px 20px}.footer-monogram{font-size:40px}footer p{font-style:italic}footer small{font:8px Manrope,sans-serif;letter-spacing:3px}footer button{display:block;border:0;background:transparent;color:#b3a58c;font:10px Manrope,sans-serif;margin:30px auto 0}.reveal{opacity:0;transform:translateY(45px) rotateX(5deg);transition:opacity .9s,transform 1.1s}.reveal.visible{opacity:1;transform:none}.entrance{position:fixed;inset:0;z-index:20;background:#1b302e;perspective:1400px;overflow:hidden;transition:opacity .9s 1.8s;display:flex;align-items:center;justify-content:center}.entrance-glow{position:absolute;inset:0;background:linear-gradient(#0f272533,#0f272555),url('palace.webp') center/cover}.gate{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(90deg,#e5d8bbd9,#fff7e3e6,#ddcba8d9);transition:transform 2.4s cubic-bezier(.4,0,.2,1);backface-visibility:hidden;box-shadow:0 0 35px #0006;border:10px double #ad925c}.gate.left{left:0;transform-origin:left center}.gate.right{right:0;transform-origin:right center}.gate svg{width:100%;height:100%;opacity:.85}.gate-heading{position:absolute;top:12%;text-align:center;color:#675732;transition:opacity .5s}.gate-heading>span{font:9px Manrope,sans-serif;letter-spacing:4px}.gate-heading p{font-style:italic;font-size:23px}.seal{z-index:2;border:1px solid #e4d4a8;border-radius:50%;width:150px;height:150px;background:radial-gradient(circle at 35% 25%,#d3ba7d,#a38343);color:#fff3d7;box-shadow:0 0 0 9px #e9d9b180,0 14px 35px #5e482955;transition:opacity .5s,transform .5s}.seal>span{font-size:42px}.seal .amp{font-size:25px;font-style:italic;margin:0 4px}.seal small{display:block;font:8px Manrope,sans-serif;letter-spacing:2px;margin-top:10px}.entry-note{position:absolute;bottom:12%;font-style:italic;color:#6f5c38;font-size:23px;transition:opacity .5s}.opening .left{transform:rotateY(-105deg)}.opening .right{transform:rotateY(105deg)}.opening .seal{opacity:0;transform:scale(.6);pointer-events:none}.opening .entry-note,.opening .gate-heading{opacity:0}.entrance.opening{opacity:0;pointer-events:none}.stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe1a0;animation:twinkle 4s infinite;box-shadow:0 0 9px #ffe1a0}.particle{position:fixed;top:-20px;width:7px;height:13px;background:#c3a362;z-index:40;animation:fall 3s linear forwards;pointer-events:none}#confetti{pointer-events:none}@keyframes fall{to{transform:translateY(110vh) rotate(500deg);opacity:0}}@keyframes bob{50%{transform:translateY(7px)}}@keyframes twinkle{50%{opacity:.15;transform:translateY(-14px)}}@media(min-width:1100px){.hero-art{background-size:cover;background-position:center 48%}.hero{min-height:950px}.hero-copy{background:radial-gradient(ellipse,#11292870,transparent 70%);min-width:700px}}@media(max-width:650px){header{padding:18px 22px}nav{display:none}.hero{min-height:820px}.hero-copy{padding-top:85px}.eyebrow{font-size:8px;letter-spacing:2px}.hero-copy>.eyebrow{font-size:7px}.hero-art{background-position:center}.section{padding:75px 24px}.prose{font-size:20px}.event{gap:18px;align-items:flex-start}.event-date{min-width:65px}.event-date strong{font-size:50px}.event-date span{font-size:7px;max-width:65px;line-height:1.7}.event-info h3{font-size:29px}.event-info p{font-size:17px;line-height:1.5}.event-icon{display:none}.countdown strong{font-size:44px}.countdown span{font-size:7px}.venue-grid{grid-template-columns:1fr;gap:28px}.family-grid{grid-template-columns:1fr;gap:20px}.family-and{font-size:45px}.contact-buttons{flex-direction:column}.sound span{font-size:9px}.gate{border-width:5px}.blessing{background-attachment:scroll}.entry-note{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

.entrance[hidden]{display:none}

/* Music remains reachable while guests read the invitation. */
.sound{position:fixed;right:22px;top:22px;z-index:10;background:#173330eb;box-shadow:0 3px 16px #0002;min-height:42px;backdrop-filter:blur(8px)}
.sound.is-playing{border-color:#d8bb78;color:#ffe7b6}
@media(min-width:651px){header nav{margin-right:135px}}
@media(max-width:650px){.sound{right:16px;top:16px}}
