@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500;1,600&family=DM+Sans:wght@400;500;600&display=swap');
:root{--ink:#332b21;--brown:#7a552f;--gold:#b58a49;--ivory:#fbf7eb;--sage:#7e8a65;--paper:#f7f4e9;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:#242018;line-height:1.55}.invitation{width:min(100%,760px);margin-left:max(0px,calc((100vw - 760px)/2));background:var(--ivory);overflow:hidden}.side-photo{position:fixed;inset:0 auto 0 0;width:max(0px,calc((100vw - 760px)/2));background:linear-gradient(0deg,rgba(14,10,6,.5),transparent 55%),url('assets/background.jpg') center/cover}.section{position:relative;padding:84px clamp(23px,7vw,70px);text-align:center;overflow:hidden}.section-paper{background:var(--paper);background-image:radial-gradient(circle at 90% 9%,rgba(186,145,83,.14) 0 2px,transparent 2.5px),radial-gradient(circle at 8% 89%,rgba(111,128,91,.16) 0 2px,transparent 2.5px);background-size:22px 22px,31px 31px}.cover{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;color:white;background:#282016}.cover-photo{position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,12,8,.72),rgba(16,12,8,.05) 60%),url('assets/background.jpg') center 58%/cover;transform:scale(1.05);animation:coverDrift 18s ease-in-out infinite alternate}.veil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,transparent 20%,rgba(20,12,6,.38) 100%)}.cover-copy,.guest-card,.scroll-note{position:relative;z-index:1}.cover-copy{align-self:end;margin-bottom:clamp(145px,24vh,210px)}.eyebrow{font-size:.65rem;letter-spacing:.21em;text-transform:uppercase;font-weight:600;margin:0 0 11px}.cover h1{font:600 clamp(4rem,16vw,7rem)/.7 var(--serif);margin:0;text-shadow:0 2px 12px rgba(0,0,0,.25)}.cover h1 span{display:block}.cover h1 em{font-size:.55em;font-weight:400}.date-line{font-size:.75rem;letter-spacing:.21em;margin-top:24px}.guest-card{position:absolute;bottom:38px;width:min(88%,370px);background:rgba(255,255,255,.87);color:var(--ink);border:1px solid rgba(255,255,255,.7);border-radius:20px;padding:16px 20px 19px;box-shadow:0 12px 28px rgba(0,0,0,.18);backdrop-filter:blur(6px)}.guest-card p{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin:0}.guest-card small{font-size:.7rem}.guest-card h2{font:600 2rem/1.05 var(--serif);margin:7px 0 13px}.primary,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;text-decoration:none;font:600 .74rem var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:13px 21px;border-radius:50px;transition:transform .2s,background .2s}.primary{background:var(--brown);color:#fff}.primary:hover,.outline-button:hover{transform:translateY(-2px);background:#5e4125}.scroll-note{position:absolute;bottom:12px;font-size:.64rem;letter-spacing:.1em;opacity:0;transition:.4s}.opened .scroll-note{opacity:.9}.opened .cover-copy,.opened .guest-card{animation:fadeUp .85s both}.opened .guest-card{animation-delay:.22s}.bismillah{color:var(--gold);font-size:1.35rem;margin:0 0 22px}.intro blockquote{font:500 clamp(1.45rem,5vw,2.05rem)/1.28 var(--serif);max-width:580px;margin:0 auto 13px}.verse{letter-spacing:.16em;font-weight:600;text-transform:uppercase;font-size:.7rem;color:var(--brown);margin:0 0 41px}.invite-copy{font-size:.88rem;max-width:490px;margin:0 auto 50px}.people{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:14px;max-width:670px;margin:auto}.portrait{aspect-ratio:3/4;overflow:hidden;border-radius:110px 110px 12px 12px;border:1px solid #bda46a;padding:7px;background:#eee5d1}.portrait img{width:100%;height:100%;object-fit:cover;border-radius:104px 104px 6px 6px}.portrait-bride img{object-position:49% center}.person h2{font:600 clamp(1.65rem,4vw,2.25rem)/.95 var(--serif);margin:7px 0}.person p:not(.role){font-size:.68rem;margin:0}.role{margin:14px 0 1px;font-size:.62rem;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}.ampersand{align-self:center;font:400 clamp(3.4rem,8vw,5.2rem) var(--serif);color:var(--gold);padding-top:38px}.countdown-section{background:#2f3926;color:#fff}.countdown-background{position:absolute;inset:0;background:linear-gradient(rgba(30,39,25,.75),rgba(30,39,25,.85)),url('assets/gallery-6.jpg') center/cover;opacity:.75;animation:backgroundPulse 12s ease-in-out infinite}.countdown-section>*:not(.countdown-background){position:relative}.display-title{font:600 clamp(3rem,10vw,5.5rem)/.8 var(--serif);margin:0 0 37px;color:inherit}.countdown{display:flex;justify-content:center;gap:8px;margin-bottom:47px}.countdown div{width:73px;border:1px solid rgba(255,255,255,.43);border-radius:11px;padding:12px 3px}.countdown strong{display:block;font:600 2rem/1 var(--serif)}.countdown span{display:block;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;margin-top:5px}.event-card{background:rgba(255,252,243,.94);color:var(--ink);padding:31px 23px;border-radius:14px;max-width:500px;margin:auto;box-shadow:0 15px 35px rgba(0,0,0,.23)}.event-card h2{font:600 2rem/1 var(--serif);margin:7px 0}.event-time{font-size:1.1rem;margin:5px 0 19px}.event-card h3{font:600 1.7rem/1 var(--serif);letter-spacing:.05em;margin:0 0 6px}.event-card p:not(.eyebrow):not(.event-time){font-size:.8rem;margin:0 0 20px}.outline-button{color:#fff;background:var(--gold)}.timeline{list-style:none;padding:0;max-width:620px;margin:auto;text-align:left;position:relative}.timeline:before{content:'';position:absolute;left:62px;top:6px;bottom:7px;width:1px;background:#c7a873}.timeline li{display:grid;grid-template-columns:49px 1fr;gap:27px;position:relative;margin:0 0 27px}.timeline time{font:600 1.1rem var(--serif);color:var(--brown)}.timeline li:after{content:'';position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gold);left:57px;top:7px}.timeline h3{font:600 1.6rem/1 var(--serif);margin:0 0 5px}.timeline p{font-size:.82rem;margin:0}.gallery-section{background:#efe8d5}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gallery button{padding:0;border:0;cursor:pointer;aspect-ratio:1;overflow:hidden;background:#ddd}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.gallery button:hover img{transform:scale(1.08)}.video-card{display:flex;gap:16px;text-align:left;align-items:center;margin:35px auto 0;border:1px solid rgba(97,67,37,.3);background:rgba(255,255,255,.57);border-radius:12px;width:min(100%,520px);padding:14px;cursor:pointer;font:600 1.6rem/1 var(--serif);color:var(--ink)}.video-card small{display:block;font:600 .56rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brown);margin-bottom:4px}.play-icon{display:grid;place-items:center;min-width:45px;height:45px;border-radius:50%;background:var(--brown);color:white;font-size:.9rem;padding-left:3px}.limit-note{max-width:490px;font-size:.82rem;margin:0 auto 22px}.rsvp-form,.wish-form{max-width:520px;margin:auto;text-align:left}.rsvp-form label,.wish-form label{display:block;font-size:.75rem;font-weight:600;margin:14px 0}.rsvp-form input,.rsvp-form select,.wish-form input,.wish-form textarea{width:100%;padding:12px 13px;border:1px solid #c6bca4;background:#fffef9;border-radius:8px;margin-top:5px;color:var(--ink);font:400 .84rem var(--sans)}.wish-form textarea{min-height:112px;resize:vertical}.rsvp-form fieldset{border:0;margin:17px 0 14px;padding:0}.rsvp-form legend{font-size:.75rem;font-weight:600;margin-bottom:8px}.rsvp-form fieldset label{display:inline-flex;gap:5px;align-items:center;margin:0 19px 0 0;font-weight:400}.form-status{font-size:.78rem;margin:12px 0 0;color:var(--brown)}.whatsapp-note{font-size:.74rem;margin:23px 0 0}.whatsapp-note a{color:var(--brown);font-weight:600}.gift-section{background:linear-gradient(135deg,#5f4932,#9f7846);color:#fff}.gift-section>p:not(.eyebrow){font-size:.86rem;max-width:470px;margin:0 auto 23px}.gift-details{display:grid;gap:12px;max-width:520px;margin:22px auto 0;color:var(--ink)}.gift-details article{background:#fffaf0;border-radius:12px;padding:18px}.gift-details p{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 3px;color:var(--brown)}.gift-details strong,.gift-details span{display:block}.gift-details strong{font:600 1.6rem var(--serif)}.gift-details span{font-size:.76rem}.copy-button{font:600 .62rem var(--sans);letter-spacing:.07em;text-transform:uppercase;background:transparent;border:0;padding:10px 0 0;color:var(--brown);cursor:pointer}.wish-list{max-width:520px;margin:34px auto 0;text-align:left;display:grid;gap:10px}.wish{background:#fffdf6;padding:15px 16px;border-left:3px solid var(--gold);border-radius:0 9px 9px 0}.wish h3{font:600 1.2rem var(--serif);margin:0 0 3px}.wish p{font-size:.78rem;margin:0;white-space:pre-wrap}.wish time{font-size:.62rem;color:#857b6d}footer{background:#35291b;color:#fff;text-align:center;padding:60px 20px 105px}footer p{margin:0;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}footer h2{font:600 4rem/.8 var(--serif);margin:18px 0}footer h2 em{font-weight:400}.audio-button{position:fixed;right:max(20px,calc((100vw - 710px)/2));bottom:79px;z-index:4;width:47px;height:47px;border:0;border-radius:50%;background:var(--gold);color:white;font-size:1.3rem;cursor:pointer;box-shadow:0 4px 17px rgba(0,0,0,.2)}.audio-button.playing{animation:spinPulse 2.5s linear infinite}.bottom-nav{position:fixed;z-index:3;left:50%;bottom:15px;transform:translateX(-50%);display:flex;justify-content:space-between;width:min(92%,580px);padding:9px 16px;background:rgba(66,50,31,.93);border:1px solid rgba(255,255,255,.25);border-radius:11px;backdrop-filter:blur(8px)}.bottom-nav a{color:#f6ead4;text-decoration:none;text-align:center;font-size:1rem;line-height:1}.bottom-nav span{display:block;font-size:.5rem;margin-top:4px;letter-spacing:.04em}.lightbox,.video-modal{border:0;background:rgba(19,14,9,.95);max-width:min(92vw,900px);padding:0}.lightbox::backdrop,.video-modal::backdrop{background:rgba(0,0,0,.75)}.lightbox img{display:block;max-width:92vw;max-height:86vh}.lightbox button,.video-modal button{position:absolute;right:8px;top:8px;z-index:1;width:35px;height:35px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:1.6rem;cursor:pointer}.video-modal{width:min(92vw,860px);aspect-ratio:16/9}.video-modal iframe{width:100%;height:100%;border:0}.show-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.show-on-scroll.visible{opacity:1;transform:none}@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes coverDrift{to{transform:scale(1.15) translateY(-1.2%)}}@keyframes backgroundPulse{50%{transform:scale(1.06);filter:saturate(1.15)}}@keyframes spinPulse{50%{transform:rotate(180deg) scale(1.07)}100%{transform:rotate(360deg)}}@media(max-width:560px){.cover-copy{margin-bottom:185px}.people{gap:8px}.person h2{font-size:1.55rem}.person p:not(.role){font-size:.6rem}.ampersand{font-size:3.4rem}.timeline{padding-left:4px}.timeline li{gap:20px}.timeline:before{left:57px}.timeline li:after{left:52px}.gallery{grid-template-columns:repeat(3,1fr)}.section{padding-block:68px}}@media(min-width:761px){.invitation{min-height:100vh}.cover{min-height:100vh}}
