@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(../media/d8cddd76dbfeaef0-s.1mblz1wog092a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(../media/591574edbe85c69b-s.2cu8l7zf4s4ec.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(../media/acf349172f10b359-s.0gv8q2vqi14yg.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(../media/0926c12c4384550f-s.1-qpv3jvnkkyl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(../media/8bd76523131fa0fc-s.p.1pvupmngxrt5z.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/d8cddd76dbfeaef0-s.1mblz1wog092a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/591574edbe85c69b-s.2cu8l7zf4s4ec.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/acf349172f10b359-s.0gv8q2vqi14yg.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/0926c12c4384550f-s.1-qpv3jvnkkyl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/8bd76523131fa0fc-s.p.1pvupmngxrt5z.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}.cormorant_garamond_23e09cee-module__jrbN8a__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback}.cormorant_garamond_23e09cee-module__jrbN8a__variable{--font-cormorant:"Cormorant Garamond", "Cormorant Garamond Fallback"}
@font-face{font-family:Marcellus;font-style:normal;font-weight:400;font-display:swap;src:url(../media/50df388245113a6d-s.2atap_4g40fj3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Marcellus;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ec2f4458eb06f74e-s.p.0waiv1vizwwb5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Marcellus Fallback;src:local(Times New Roman);ascent-override:86.59%;descent-override:24.87%;line-gap-override:0.0%;size-adjust:112.5%}.marcellus_4504e001-module__DrfbLW__className{font-family:Marcellus,Marcellus Fallback;font-style:normal;font-weight:400}.marcellus_4504e001-module__DrfbLW__variable{--font-marcellus:"Marcellus", "Marcellus Fallback"}
@font-face{font-family:Jost;font-style:normal;font-weight:200;font-display:swap;src:url(../media/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:200;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:200;font-display:swap;src:url(../media/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(../media/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(../media/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(../media/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(../media/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost Fallback;src:local(Arial);ascent-override:111.45%;descent-override:39.06%;line-gap-override:0.0%;size-adjust:96.01%}.jost_9a2d4a82-module__ReHcsG__className{font-family:Jost,Jost Fallback;font-style:normal}.jost_9a2d4a82-module__ReHcsG__variable{--font-jost:"Jost", "Jost Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f5f0e8;--sage:#6b7c5e;--deep-sage:#3d4f38;--warm-brown:#8b7355;--gold:#c9a96e;--text-dark:#2a2a25;--text-mid:#5a5a52}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--text-dark);font-family:var(--font-jost), sans-serif;font-weight:300;overflow-x:hidden}.hero{justify-content:center;align-items:center;height:100vh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-img{background-image:url(/images/hero.jpg);background-position:50% 30%;background-size:cover;animation:18s ease-out forwards slowZoom;position:absolute;inset:0;transform:scale(1.04)}@keyframes slowZoom{0%{transform:scale(1.04)}to{transform:scale(1)}}.hero-overlay{background:linear-gradient(170deg,#3d4f3859 0%,#6b7c5e38 50%,#2a261c73 100%);position:absolute;inset:0}.hero-vignette{background:radial-gradient(#0000 40%,#14140f66 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;color:var(--cream);padding:2rem;animation:1.4s ease-out .3s both fadeUp;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{font-family:var(--font-jost), sans-serif;letter-spacing:.35em;text-transform:uppercase;color:#f5f0e8cc;margin-bottom:1.4rem;font-size:clamp(.65rem,1.5vw,.78rem);font-weight:200}.hero-names{font-family:var(--font-cormorant), serif;letter-spacing:-.01em;margin-bottom:1rem;font-size:clamp(3.8rem,10vw,7.5rem);font-style:italic;font-weight:300;line-height:.95}.hero-names .ampersand{vertical-align:middle;opacity:.75;margin:0 .2em;font-size:.6em;font-style:normal;font-weight:200}.hero-divider{justify-content:center;align-items:center;gap:1.2rem;margin:1.6rem auto;display:flex}.hero-divider span{background:#f5f0e880;width:60px;height:1px;display:block}.hero-divider svg{opacity:.7;width:18px;height:18px}.hero-date{font-family:var(--font-marcellus), serif;letter-spacing:.2em;text-transform:uppercase;color:#f5f0e8d9;font-size:clamp(.8rem,2vw,1rem)}.hero-location{font-family:var(--font-jost), sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#f5f0e8a6;margin-top:.5rem;font-size:clamp(.7rem,1.5vw,.82rem);font-weight:200}.cal-btn{color:#f5f0e8bf;font-family:var(--font-jost), sans-serif;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;border:1px solid #f5f0e84d;border-radius:0;align-items:center;gap:.55rem;margin-bottom:1.6rem;padding:.6rem 1.4rem;font-size:.66rem;font-weight:300;text-decoration:none;transition:background .3s,border-color .3s,color .3s;display:inline-flex}.cal-btn svg{opacity:.8;width:15px;height:15px}.cal-btn:hover{color:#f5f0e8f2;background:#f5f0e814;border-color:#f5f0e88c}.scroll-hint{z-index:3;color:#f5f0e880;letter-spacing:.25em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.5rem;font-size:.65rem;animation:1s 1.6s both fadeUp;display:flex;position:absolute;bottom:2.5rem;left:0;right:0}.scroll-hint:after{content:"";background:#f5f0e859;width:1px;height:40px;animation:2s ease-in-out infinite scrollLine;display:block}@keyframes scrollLine{0%,to{opacity:.4;transform:scaleY(1)}50%{opacity:.1;transform:scaleY(.5)}}section{padding:clamp(4rem,8vw,7rem) clamp(1.5rem,6vw,5rem)}.section-label{font-family:var(--font-jost), sans-serif;letter-spacing:.4em;text-transform:uppercase;color:var(--sage);margin-bottom:1.2rem;font-size:.7rem;font-weight:200}.details-row{background:var(--deep-sage);color:var(--cream);text-align:center;grid-template-columns:repeat(3,1fr);padding:0;animation:.8s both fadeUpSection;display:grid}.detail-cell{border-right:1px solid #f5f0e81f;padding:clamp(5.5rem,9vw,8rem) 2rem 3.5rem;transition:background .3s}.detail-cell:last-child{border-right:none}.detail-cell:hover{background:#f5f0e80d}.detail-icon{opacity:.6;margin-bottom:1rem;font-size:1.3rem}.detail-label{font-family:var(--font-jost), sans-serif;letter-spacing:.4em;text-transform:uppercase;color:#f5f0e880;margin-bottom:.6rem;font-size:.65rem;font-weight:200}.detail-value{font-family:var(--font-cormorant), serif;color:var(--cream);font-size:clamp(1.3rem,3vw,1.7rem);font-style:italic;line-height:1.25}.detail-sub{font-family:var(--font-jost), sans-serif;letter-spacing:.2em;color:#f5f0e873;text-transform:uppercase;margin-top:.4rem;font-size:.7rem;font-weight:200}.story-section{text-align:center;max-width:720px;margin:0 auto}.story-section h2{font-family:var(--font-cormorant), serif;color:var(--deep-sage);margin-bottom:1.8rem;font-size:clamp(2rem,5vw,3rem);font-style:italic;font-weight:300;line-height:1.2}.story-section p{color:var(--text-mid);margin-bottom:1.2rem;font-size:clamp(.9rem,1.8vw,1rem);line-height:1.9}.timeline-section{background:#f0ece1}.timeline-section h2{font-family:var(--font-cormorant), serif;color:var(--deep-sage);text-align:center;margin-bottom:3rem;font-size:clamp(1.8rem,4vw,2.5rem);font-style:italic;font-weight:300}.timeline{max-width:600px;margin:0 auto;position:relative}.timeline:before{content:"";left:50%;top:var(--lineTop,0);bottom:var(--lineBottom,0);background:var(--sage);opacity:.3;width:1px;position:absolute;transform:translate(-50%)}.timeline-item{grid-template-columns:1fr 40px 1fr;align-items:start;gap:1.5rem;margin-bottom:2.8rem;display:grid}.timeline-item:nth-child(odd) .t-time{text-align:right;grid-column:1}.timeline-item:nth-child(odd) .t-dot{grid-column:2}.timeline-item:nth-child(odd) .t-info{grid-column:3}.timeline-item:nth-child(2n) .t-info{text-align:right;order:-1;grid-column:1}.timeline-item:nth-child(2n) .t-dot{grid-column:2}.timeline-item:nth-child(2n) .t-time{grid-column:3}.t-dot{background:var(--sage);z-index:1;border-radius:50%;width:10px;height:10px;margin:.3rem auto 0;position:relative}.t-time{font-family:var(--font-jost), sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--sage);padding-top:.15rem;font-size:.72rem;font-weight:200}.t-info h4{font-family:var(--font-cormorant), serif;color:var(--text-dark);margin-bottom:.2rem;font-size:1.05rem;font-weight:400}.t-info p{color:var(--text-mid);font-size:.8rem;line-height:1.5}.lisbon-section{background:var(--deep-sage);color:var(--cream);text-align:center}.lisbon-section h2{font-family:var(--font-cormorant), serif;color:var(--cream);margin-bottom:1.5rem;font-size:clamp(2rem,5vw,3rem);font-style:italic;font-weight:300}.lisbon-section p{color:#f5f0e8b3;max-width:600px;margin:0 auto 2rem;font-size:.9rem;line-height:1.9}.lisbon-cards{background:#f5f0e81a;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;max-width:900px;margin:3rem auto 0;display:grid}.lisbon-card{background:#3d4f3899;padding:2.5rem 1.5rem;transition:background .3s}.lisbon-card:hover{background:#3d4f38e6}.lisbon-card-icon{opacity:.6;margin-bottom:1rem;font-size:1.5rem}.lisbon-card h4{font-family:var(--font-marcellus), serif;letter-spacing:.1em;color:var(--cream);margin-bottom:.5rem;font-size:.85rem}.lisbon-card p{color:#f5f0e88c;margin:0;font-size:.78rem;line-height:1.6}.rsvp-section{text-align:center;background:var(--cream);padding:clamp(5rem,10vw,9rem) clamp(1.5rem,6vw,5rem)}.rsvp-section h2{font-family:var(--font-cormorant), serif;color:var(--deep-sage);margin-bottom:.8rem;font-size:clamp(2.2rem,6vw,3.5rem);font-style:italic;font-weight:300}.rsvp-intro{color:var(--text-mid);letter-spacing:.05em;margin-bottom:2.8rem;font-size:.88rem}.rsvp-form{flex-direction:column;gap:1rem;max-width:460px;margin:0 auto;display:flex}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;font-family:var(--font-jost), sans-serif;color:var(--text-dark);appearance:none;text-align:center;background:0 0;border:1px solid #3d4f384d;border-radius:0;outline:none;padding:1rem 1.2rem;font-size:.85rem;font-weight:300;transition:border-color .3s}.rsvp-form textarea{resize:vertical;min-height:64px}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:var(--sage)}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#2a2a2566;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.rsvp-btn{background:var(--deep-sage);color:var(--cream);font-family:var(--font-jost), sans-serif;letter-spacing:.35em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;margin-top:.5rem;padding:1rem 3rem;font-size:.75rem;font-weight:300;transition:background .3s,transform .2s}.rsvp-btn:hover:not(:disabled){background:var(--sage);transform:translateY(-1px)}.rsvp-btn:disabled{opacity:.6;cursor:default}.rsvp-hint{letter-spacing:.08em;color:var(--text-mid);text-align:center;margin-top:-.4rem;font-size:.72rem}.rsvp-error{color:#a04b3f;letter-spacing:.03em;text-align:center;font-size:.8rem}.party-choices{text-align:left;flex-direction:column;gap:.6rem;display:flex}.party-choice{cursor:pointer;font-family:var(--font-cormorant), serif;color:var(--deep-sage);text-align:left;background:0 0;border:1px solid #3d4f384d;padding:.9rem 1.2rem;font-size:1.1rem;font-style:italic;transition:background .25s,border-color .25s}.party-choice:hover{border-color:var(--sage);background:#6b7c5e14}.party-heading{font-family:var(--font-cormorant), serif;color:var(--deep-sage);margin-bottom:.2rem;font-size:1.4rem;font-style:italic}.person-card{text-align:left;background:#ffffff59;border:1px solid #3d4f3840;flex-direction:column;gap:1rem;padding:1.4rem 1.3rem;display:flex;position:relative}.person-name{font-family:var(--font-cormorant), serif;color:var(--deep-sage);text-align:center;font-size:1.35rem;font-style:italic}.person-name .badge{font-family:var(--font-jost), sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);vertical-align:middle;border:1px solid #6b7c5e66;margin-left:.6rem;padding:.15rem .5rem;font-size:.55rem;font-style:normal}.attend-toggle{gap:.6rem;display:flex}.attend-toggle label{text-align:center;cursor:pointer;letter-spacing:.15em;text-transform:uppercase;color:var(--text-mid);-webkit-user-select:none;user-select:none;border:1px solid #3d4f384d;flex:1;padding:.65rem .5rem;font-size:.7rem;transition:all .2s}.attend-toggle input{opacity:0;pointer-events:none;position:absolute}.attend-toggle input:checked+label.yes{background:var(--deep-sage);color:var(--cream);border-color:var(--deep-sage)}.attend-toggle input:checked+label.no{background:var(--warm-brown);color:var(--cream);border-color:var(--warm-brown)}.person-extra{flex-direction:column;gap:.6rem;display:flex}.person-extra.is-hidden{display:none}.field-label{letter-spacing:.2em;text-transform:uppercase;color:var(--sage);text-align:center;margin-bottom:-.2rem;font-size:.6rem}.rsvp-confirm{max-width:460px;margin:0 auto;animation:.8s both fadeUp}.rsvp-confirm .tick{border:1px solid var(--sage);width:54px;height:54px;color:var(--sage);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.4rem;display:flex}.rsvp-confirm h3{font-family:var(--font-cormorant), serif;color:var(--deep-sage);margin-bottom:.8rem;font-size:clamp(1.6rem,4vw,2.2rem);font-style:italic;font-weight:300}.rsvp-confirm p{color:var(--text-mid);font-size:.9rem;line-height:1.8}.link-btn{color:var(--sage);cursor:pointer;font-family:var(--font-jost), sans-serif;letter-spacing:.2em;text-transform:uppercase;text-underline-offset:4px;background:0 0;border:none;margin-top:1.6rem;font-size:.72rem;text-decoration:underline}footer{background:var(--text-dark);color:#f5f0e866;text-align:center;padding:3rem 2rem}footer .footer-names{font-family:var(--font-cormorant), serif;color:#f5f0e8b3;margin-bottom:.5rem;font-size:1.8rem;font-style:italic}footer p{letter-spacing:.25em;text-transform:uppercase;font-size:.7rem}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(25px)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes fadeUpSection{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.details-row{grid-template-columns:1fr}.detail-cell{border-bottom:1px solid #f5f0e81f;border-right:none}.detail-cell:last-child{border-bottom:none}.detail-cell:not(:first-child){padding-top:3.25rem}.story-lace{--laceH:clamp(64px, 16vw, 96px)}.story-lace:before,.story-lace:after{background-position:50%;background-repeat:no-repeat;background-size:auto 100%}.timeline:before{left:15px}.timeline-item{grid-template-columns:30px 1fr;gap:.2rem 1rem}.timeline-item:nth-child(odd) .t-time,.timeline-item:nth-child(2n) .t-time{text-align:left;grid-area:1/2;display:block}.timeline-item:nth-child(odd) .t-dot,.timeline-item:nth-child(2n) .t-dot{grid-area:1/1}.timeline-item:nth-child(odd) .t-info,.timeline-item:nth-child(2n) .t-info{text-align:left;order:0;grid-area:2/2}.attend-toggle{flex-direction:column}}.story-lace{z-index:3;background:var(--cream);--laceH:clamp(48px, 6.4vw, 92px);padding:clamp(4.5rem,9vw,7.5rem) clamp(1.5rem,6vw,5rem);position:relative}.story-lace:before,.story-lace:after{content:"";height:var(--laceH);pointer-events:none;z-index:4;background-image:url(/images/lace.png);background-repeat:no-repeat;background-size:100% 100%;position:absolute;left:0;right:0}.story-lace:before{top:calc(-1 * var(--laceH) + 1px)}.story-lace:after{bottom:calc(-1 * var(--laceH) + 1px);transform:scaleY(-1)}.story-lace .story-section{z-index:2;position:relative}.meadow{z-index:1;background-image:url(/images/meadow.jpg);background-position:50% 72%;background-size:cover;min-height:clamp(380px,82vh,860px);position:relative}.detail-icon{opacity:.72}.detail-icon svg{vertical-align:middle;width:30px;height:30px;display:inline-block}.lisbon-card-icon{opacity:.72}.lisbon-card-icon svg{vertical-align:middle;width:34px;height:34px;display:inline-block}.faq-section{background:var(--cream)}.faq-head{text-align:center;margin-bottom:2.6rem}.faq-title{font-family:var(--font-cormorant), serif;color:var(--deep-sage);margin-top:.4rem;font-size:clamp(1.9rem,4vw,2.6rem);font-style:italic;font-weight:300}.faq{max-width:680px;margin:0 auto}.faq details{border-top:1px solid #3d4f3829}.faq details:last-child{border-bottom:1px solid #3d4f3829}.faq summary{cursor:pointer;font-family:var(--font-cormorant), serif;color:var(--deep-sage);padding:1.5rem 2.6rem 1.5rem 0;font-size:clamp(1.2rem,2.4vw,1.55rem);font-style:italic;list-style:none;transition:color .25s;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--sage)}.faq summary:after{content:"+";font-family:var(--font-jost), sans-serif;color:var(--sage);font-size:1.5rem;font-weight:200;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.faq details[open] summary:after{content:"–"}.faq details>p{color:var(--text-mid);margin:-.2rem 0 0;padding:0 2.6rem 1.7rem 0;font-size:.92rem;line-height:1.85}.uk-section{background:var(--deep-sage);color:var(--cream);text-align:center}.uk-section h2{font-family:var(--font-cormorant), serif;color:var(--cream);margin-bottom:1.4rem;font-size:clamp(2rem,5vw,3rem);font-style:italic;font-weight:300}.uk-section p{color:#f5f0e8bf;max-width:600px;margin:0 auto;font-size:.95rem;line-height:1.9}.sc-hidden{opacity:0;pointer-events:none;width:300px;height:120px;position:fixed;bottom:0;left:-9999px}.music-toggle{z-index:60;width:46px;height:46px;color:var(--cream);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#3d4f38d9;border:1px solid #f5f0e84d;border-radius:50%;justify-content:center;align-items:center;transition:background .3s,transform .2s;animation:1s 1.6s forwards fadeInBtn;display:flex;position:fixed;bottom:1.4rem;right:1.4rem}@keyframes fadeInBtn{to{opacity:1}}.music-toggle:hover{background:#3d4f38f5;transform:scale(1.06)}.music-toggle .eq{align-items:center;gap:3px;height:18px;display:flex}.music-toggle .eq i{background:currentColor;border-radius:2px;width:3px;height:6px;transition:height .2s}.music-toggle.playing .eq i{animation:.9s ease-in-out infinite eqBar}.music-toggle.playing .eq i:first-child{animation-delay:0s}.music-toggle.playing .eq i:nth-child(2){animation-delay:.25s}.music-toggle.playing .eq i:nth-child(3){animation-delay:.45s}@keyframes eqBar{0%,to{height:5px}50%{height:16px}}.music-toggle:after{content:"";border:1px solid #f5f0e880;border-radius:50%;animation:2.2s ease-out infinite mRing;position:absolute;inset:-4px}.music-toggle.started:after{display:none}@keyframes mRing{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}@media (prefers-reduced-motion:reduce){.music-toggle:after,.music-toggle.playing .eq i{animation:none}}
