@import "https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap";
:root{--bg:#f5f3f2;--paper:#f9f8f7;--ink:#222125;--accent:#8f1f59;--accent-soft:#c9799e;--gold:#b79b3e;--font-script:"Great Vibes","Snell Roundhand","Brush Script MT",cursive}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0;padding:0;font-family:Times New Roman,Times,serif}a{color:inherit;text-decoration:none}.invitation-page{background:radial-gradient(circle at top,#fdfcfc 0%,#f2efee 42%,#ebe7e5 100%);min-height:100dvh}.invitation-video-overlay{z-index:10;background:#000;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;inset:0}.invitation-video{object-fit:contain;width:100vw;height:100dvh;box-shadow:none;border-radius:0}.audio-consent-overlay{z-index:22;background:#000000ad;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.audio-consent-card{text-align:center;background:#f7f4f2;border:1px solid #8f1f5933;border-radius:18px;width:min(420px,100%);padding:clamp(22px,5vw,32px);box-shadow:0 18px 50px #00000047}.audio-consent-logo{margin:0 auto 14px}.audio-consent-logo .invitation-logo-wrapper{width:min(140px,42vw)}.audio-consent-text{color:#442525;margin:0;font-size:clamp(1rem,2.2vw,1.25rem);line-height:1.35}.audio-consent-button{border:1px solid var(--accent);background:var(--accent);color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:999px;min-height:42px;margin-top:18px;padding:10px 22px;font-size:.9rem;font-weight:700;transition:background-color .2s,border-color .2s}.audio-consent-button:hover,.audio-consent-button:focus-visible{background:#7d1b4e;border-color:#7d1b4e}.invitation-content{transition:opacity .45s}.invitation-content.invitation-hidden{opacity:0;pointer-events:none;max-height:0;overflow:hidden}.invitation-content.invitation-visible{opacity:1}.invitation-card{text-align:center;background:linear-gradient(#f8f6f5 0%,#f7f6f5 100%);width:min(920px,100%);margin:0 auto;padding:clamp(26px,6vw,52px) clamp(20px,5vw,64px)}.scripture-quote{margin:0;font-size:clamp(1.25rem,2.6vw,2.7rem);font-style:italic;line-height:1.18}.scripture-reference{letter-spacing:.08em;color:#7f7b7a;margin:12px 0 26px;font-size:clamp(.88rem,1.3vw,1.1rem)}.invitation-logo-wrapper{width:min(260px,65vw);margin:0 auto}.invitation-logo-image{width:100%;height:auto;display:block}.couple-names,.couple-title{color:var(--accent);font-family:var(--font-script);margin:8px 0 0;font-weight:400;line-height:1}.couple-title{margin-top:24px;font-size:clamp(2.6rem,9vw,6.5rem)}.couple-names{font-size:clamp(2rem,7vw,5.4rem)}.invitation-intro,.event-time,.ceremony-venue-address,.reception-intro,.reception-address{text-transform:uppercase;letter-spacing:.03em;line-height:1.45}.invitation-intro{margin:28px 0 20px;font-size:clamp(1rem,1.7vw,2rem)}.event-date{color:var(--accent);font-family:var(--font-script);margin:0;font-size:clamp(2.2rem,7vw,5.2rem);line-height:1.1}.event-time{margin:16px 0 30px;font-size:clamp(1.55rem,2.8vw,2.65rem);font-weight:700}.ceremony-icon-wrapper{justify-content:center;margin:0 0 18px;display:flex}.ceremony-icon{width:clamp(34px,4vw,50px);color:var(--gold);opacity:.95;height:auto;display:block}.ceremony-venue-title{color:var(--gold);text-transform:uppercase;margin:0;font-size:clamp(1.02rem,1.8vw,1.7rem);font-weight:700}.ceremony-venue-address{margin:10px 0 44px;font-size:clamp(1rem,1.8vw,1.62rem)}.reception-icon-wrapper{justify-content:center;margin:0 0 16px;display:flex}.reception-icon{width:clamp(34px,4vw,50px);color:var(--gold);opacity:.95;height:auto;display:block}.reception-intro,.reception-address{margin:0;font-size:clamp(.92rem,1.6vw,1.46rem)}.reception-venue-title{color:var(--gold);text-transform:uppercase;margin:8px 0 0;font-size:clamp(1.02rem,1.8vw,1.7rem);font-weight:700}.reception-address{margin-top:6px}.location-link-row{align-items:center;gap:6px;display:inline-flex}.location-link-icon{width:clamp(16px,1.5vw,20px);color:var(--gold);flex-shrink:0;height:auto;display:block}.ceremony-venue-address a,.reception-address a{color:var(--gold);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px;transition:color .2s,text-decoration-thickness .2s}.ceremony-venue-address a:hover,.ceremony-venue-address a:focus-visible,.reception-address a:hover,.reception-address a:focus-visible{color:var(--accent);text-decoration-thickness:2px}.church-illustration{border-bottom:1px solid #b79b3e40;width:min(920px,100%);margin:0 auto;overflow:hidden}.church-illustration-image{width:100%;height:auto;display:block}.post-church-section{background:#efeee6;width:min(920px,100%);margin:0 auto;overflow:hidden}.romance-hero{background:radial-gradient(120% 70% at 50% 8%,#cddce78c 0%,#e8ebe973 42%,#efeee6d9 72%,#efeee6 100%);flex-direction:column;align-items:center;padding:0 0 clamp(18px,5vw,42px);display:flex;position:relative}.romance-hero-image{width:100%;height:auto;display:block}.timeline-image{align-self:flex-end;width:clamp(320px,78vw,620px);height:auto;margin-top:clamp(8px,2.2vw,18px);margin-right:clamp(8px,2vw,24px)}.timeline-carnations{pointer-events:none;width:clamp(150px,30vw,270px);height:auto;position:absolute;top:70%;left:clamp(18px,5vw,56px);transform:translateY(-50%)}.dress-code-section{min-height:clamp(300px,45vw,520px);margin-bottom:clamp(14px,3vw,34px);padding:clamp(18px,3.5vw,30px) clamp(10px,2vw,18px) clamp(22px,4.5vw,40px);position:relative}.dress-code-stairs-left{z-index:1;width:clamp(170px,33vw,330px);height:auto;position:absolute;top:50%;left:clamp(0px,1vw,16px);transform:translate(clamp(18px,3vw,40px),-50%)}.dress-code-info-wrap{z-index:2;width:clamp(260px,62vw,520px);margin:0 0 0 auto;position:relative;top:2.5em;right:10px}.dress-code-info-bg{width:100%;height:auto;display:block}.polaroid-section{margin-top:clamp(6px,2vw,14px);padding-bottom:clamp(16px,3.5vw,30px);position:relative;top:2em}.polaroid-row-image{width:100%;height:auto;display:block}.notes-section{padding-bottom:clamp(26px,6vw,62px);position:relative}.notes-section-link{cursor:pointer;display:block}.notes-paper-image{width:100%;height:auto;display:block}.final-wedy-cta{justify-content:center;padding:0 clamp(14px,4vw,26px) clamp(34px,7vw,72px);display:flex}.final-wedy-button{border:1px solid var(--accent);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:12px 24px;font-size:clamp(.74rem,1.4vw,1rem);font-weight:700;transition:background-color .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s;display:inline-block}.final-wedy-button:hover,.final-wedy-button:focus-visible{background-color:var(--accent-soft);border-color:var(--accent-soft);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px #8f1f5938}.not-found-page{background:radial-gradient(circle at top,#fdfcfc 0%,#f2efee 48%,#ebe7e5 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.not-found-card{text-align:center;background:#f9f8f7e0;border:1px solid #8f1f592e;border-radius:22px;width:min(700px,100%);padding:clamp(22px,5vw,42px);box-shadow:0 18px 40px #17161814}.not-found-card h1{margin:26px 0 14px;font-size:clamp(1.7rem,3vw,2.6rem)}.not-found-card p{max-width:36ch;margin:0 auto;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.4}.not-found-link{border:1px solid var(--accent);color:var(--accent);border-radius:999px;margin-top:24px;padding:12px 20px;font-weight:700;transition:background-color .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s;display:inline-block}.not-found-link:hover,.not-found-link:focus-visible{background-color:var(--accent-soft);border-color:var(--accent-soft);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px #8f1f5938}@media (min-width:1024px){.dress-code-stairs-left{width:clamp(150px,27vw,290px);transform:translate(clamp(-14px,-1vw,8px),-50%)}}@media (max-width:768px){.invitation-card{padding-top:22px}.invitation-intro,.event-time,.ceremony-venue-address,.reception-intro,.reception-address{text-transform:none;letter-spacing:.01em}.romance-hero{padding-bottom:18px}.timeline-carnations{opacity:.96;width:clamp(132px,34vw,190px);top:72%;left:-12px;transform:translateY(-50%)}.dress-code-section{flex-direction:column;align-items:center;gap:clamp(14px,4vw,24px);min-height:0;margin-top:48px;margin-bottom:12px;padding:20px 0 16px;display:flex}.dress-code-stairs-left{width:clamp(138px,44vw,230px);margin:0 auto;position:relative;top:auto;left:auto;transform:none}.dress-code-info-wrap{width:clamp(228px,72vw,360px);margin:0 auto;top:0;right:auto}.polaroid-section{margin-top:0;padding-bottom:10px}.final-wedy-cta{padding-bottom:26px}.final-wedy-button{text-align:center;width:min(92%,320px);padding:11px 18px;font-size:clamp(.7rem,2.2vw,.84rem)}}
