@font-face{font-family:"New Icon Serif";src:url(/assets/New-Icon-Serif-Exfonte9d1-BViR0_8Z.otf) format("opentype");font-display:swap}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--burgundy: #2a0303;--burgundy-dark: #2a0303;--burgundy-accent: #460505;--cream: #faf6f2;--white: #ffffff;--gold: #c9a96e;--text-light: rgba(255,255,255,.85)}html{scroll-behavior:smooth}body{font-family:Times New Roman,Times,serif;color:var(--burgundy);background:var(--cream);overflow-x:hidden}nav.site-nav{position:fixed;top:0;left:0;width:100%;z-index:100;background:#2a0303eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08)}nav.site-nav ul{display:flex;justify-content:center;gap:2.5rem;list-style:none;padding:1.1rem 1rem}nav.site-nav a{color:#fffc;text-decoration:none;font-family:Josefin Sans,sans-serif;font-weight:300;font-size:.8rem;letter-spacing:3px;text-transform:uppercase;transition:color .3s;background:none;border:none;cursor:pointer}nav.site-nav a:hover{color:var(--white)}.hero{min-height:100vh;background:var(--burgundy);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;padding:2rem}.hero:before,.hero:after{content:"";position:absolute;width:320px;height:320px;opacity:.08;background:radial-gradient(ellipse,transparent 40%,rgba(255,255,255,.3) 60%,transparent 75%);pointer-events:none}.hero:before{top:-40px;left:-40px}.hero:after{bottom:-40px;right:-40px}.hero-tagline{font-family:"New Icon Serif",Times New Roman,Times,serif;font-weight:300;font-style:italic;font-size:clamp(1.2rem,3vw,1.8rem);color:var(--text-light);letter-spacing:2px;margin-bottom:.25rem}.hero-tagline-sub{font-family:Josefin Sans,sans-serif;font-weight:200;font-size:clamp(.9rem,2vw,1.2rem);color:#fff9;letter-spacing:4px;text-transform:lowercase;margin-bottom:2.5rem}.hero-names{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,4vw,3rem);margin-bottom:2.5rem;flex-wrap:wrap}.hero-name{font-family:"New Icon Serif",Times New Roman,Times,serif;font-weight:300;font-size:clamp(3rem,10vw,7.5rem);color:var(--white);line-height:1;letter-spacing:2px;text-transform:lowercase}.hero-amp{font-family:"New Icon Serif",Times New Roman,Times,serif;font-weight:300;font-style:italic;font-size:clamp(2rem,6vw,4.5rem);color:var(--gold);line-height:1}.hero-date{font-family:Josefin Sans,sans-serif;font-weight:300;font-size:clamp(.7rem,1.5vw,.95rem);color:#fff9;letter-spacing:5px;text-transform:uppercase}.hero-crest{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,78vh,900px);height:auto;opacity:.09;filter:brightness(0) invert(1);pointer-events:none;z-index:0}.hero>*:not(.hero-crest):not(.floral-left):not(.floral-right){position:relative;z-index:1}.floral-left,.floral-right{position:absolute;width:clamp(120px,25vw,280px);opacity:.12;pointer-events:none;z-index:1}.floral-left{top:10%;left:2%}.floral-right{bottom:10%;right:2%;transform:scaleX(-1)}.floral-svg{width:100%;height:auto;fill:none;stroke:#fff9;stroke-width:.5}section{padding:6rem 2rem}.section-dark{background:var(--burgundy);color:var(--white)}#our-story.section-dark{background:#042039}.section-light{background:var(--cream);color:var(--burgundy)}#details.section-light{background:#dbcfcb}.section-white{background:var(--white);color:var(--burgundy)}.container{max-width:1100px;margin:0 auto}.section-title{font-family:"New Icon Serif",Times New Roman,Times,serif;font-weight:300;font-style:italic;font-size:clamp(2rem,5vw,3.2rem);text-align:center;margin-bottom:1rem;letter-spacing:1px}.section-subtitle{font-family:Josefin Sans,sans-serif;font-weight:200;font-size:.8rem;text-align:center;letter-spacing:4px;text-transform:uppercase;margin-bottom:3.5rem;opacity:.6}.divider{width:60px;height:1px;margin:0 auto 3.5rem;opacity:.3}.section-dark .divider{background:var(--white)}.section-light .divider,.section-white .divider{background:var(--burgundy)}.details-welcome{text-align:center;max-width:700px;margin:0 auto 4rem;font-size:1.15rem;font-weight:300;line-height:1.9}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem}.detail-card{text-align:center;padding:2.5rem 1.5rem;border:1px solid rgba(42,3,3,.1);background:var(--white)}.detail-card h3{font-family:Times New Roman,Times,serif;font-weight:400;font-style:italic;font-size:1.5rem;margin-bottom:1.5rem;letter-spacing:1px}.detail-card p{font-weight:300;font-size:1rem;line-height:1.8}.timeline-h{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;max-width:1100px;margin:3rem auto 0;padding:1rem .5rem}.timeline-h:before{content:"";position:absolute;left:2rem;right:2rem;top:50%;height:1px;background:#2a030380;transform:translateY(-50%);z-index:0}.timeline-col{display:grid;grid-template-rows:1fr auto 1fr;justify-items:center;align-items:center;min-height:320px;position:relative;z-index:1}.timeline-half{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;text-align:center;color:var(--burgundy);padding:.5rem 0}.timeline-half.top{align-self:end}.timeline-half.bottom{align-self:start}.timeline-icon{width:clamp(70px,10vw,120px);height:auto;display:block}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--burgundy);z-index:2}.timeline-event{font-family:"New Icon Serif",Times New Roman,Times,serif;font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.1}.timeline-time{font-family:Times New Roman,Times,serif;font-size:.95rem;letter-spacing:1px;opacity:.85}.story-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.story-image{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border:1px solid rgba(255,255,255,.1);filter:grayscale(100%)}.story-text{font-weight:300;font-size:1.1rem;line-height:2}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;max-width:1000px;margin:0 auto}.faq-item{padding:2rem;border:1px solid rgba(255,255,255,.1)}.faq-item h3{font-family:Times New Roman,Times,serif;font-weight:400;font-style:italic;font-size:1.3rem;margin-bottom:1rem}.faq-item p{font-weight:300;font-size:.95rem;line-height:1.8;color:var(--text-light)}.accommodation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.hotel-card{text-align:center}.hotel-image{width:100%;aspect-ratio:4/3;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#ffffff4d;font-family:Josefin Sans,sans-serif;font-weight:200;font-size:.75rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:1rem}.hotel-card h3{font-family:Times New Roman,Times,serif;font-weight:400;font-style:italic;font-size:1.2rem;margin-bottom:.5rem}.hotel-card p{font-weight:300;font-size:.9rem;line-height:1.7;color:var(--text-light)}.hotel-card a{display:inline-block;margin-top:.75rem;color:var(--gold);font-family:Josefin Sans,sans-serif;font-weight:300;font-size:.75rem;letter-spacing:3px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(201,169,110,.3);transition:border-color .3s}.hotel-card a:hover{border-color:var(--gold)}.gifts-content{text-align:center;max-width:600px;margin:0 auto}.gifts-content p{font-weight:300;font-size:1.05rem;line-height:1.9;margin-bottom:1.5rem}.rsvp-section{text-align:center}.rsvp-deadline{font-family:Josefin Sans,sans-serif;font-weight:200;font-size:.8rem;letter-spacing:4px;text-transform:uppercase;margin-bottom:2.5rem;opacity:.6}.rsvp-card{max-width:760px;margin:0 auto;padding:3rem 2.5rem;border:1px solid rgba(42,3,3,.12);background:var(--white);color:var(--burgundy);text-align:left}.rsvp-monogram{display:block;width:clamp(80px,10vw,110px);height:auto;margin:0 auto 1.75rem;opacity:.85}.rsvp-card .rsvp-intro{text-align:center;margin-bottom:2.5rem;font-weight:300;font-size:1.05rem;line-height:1.8}.rsvp-card .rsvp-intro strong{font-weight:500;font-style:italic}.rsvp-code-entry{display:flex;flex-direction:column;align-items:center;gap:1rem}.rsvp-code-entry label{font-family:Josefin Sans,sans-serif;font-weight:300;font-size:.75rem;letter-spacing:3px;text-transform:uppercase;opacity:.7}.rsvp-code-entry input{font-family:Josefin Sans,sans-serif;font-size:1.6rem;letter-spacing:.6rem;text-align:center;width:14rem;padding:.75rem .5rem .75rem 1.1rem;border:1px solid rgba(42,3,3,.2);background:var(--cream);color:var(--burgundy)}.rsvp-code-entry input:focus{outline:none;border-color:var(--burgundy)}.rsvp-code-entry .error{color:#8b1a1a;font-family:Josefin Sans,sans-serif;font-size:.8rem;letter-spacing:2px;text-transform:uppercase}.btn-primary{background:var(--burgundy);color:var(--white);border:1px solid var(--burgundy);font-family:Josefin Sans,sans-serif;font-weight:300;font-size:.8rem;letter-spacing:3px;text-transform:uppercase;padding:.9rem 2.2rem;cursor:pointer;transition:background .3s,color .3s}.btn-primary:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:var(--burgundy-dark)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--burgundy);font-family:Josefin Sans,sans-serif;font-weight:300;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;cursor:pointer;text-decoration:underline;padding:.25rem .5rem}.rsvp-group-name{text-align:center;font-family:Times New Roman,Times,serif;font-style:italic;font-weight:400;font-size:1.25rem;margin-bottom:.25rem}.rsvp-group-code{text-align:center;font-family:Josefin Sans,sans-serif;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;opacity:.5;margin-bottom:2rem}.rsvp-block{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(42,3,3,.08)}.rsvp-block h3{font-family:Times New Roman,Times,serif;font-style:italic;font-weight:400;font-size:1.4rem;margin-bottom:.5rem}.rsvp-block .rsvp-block-note{font-family:Josefin Sans,sans-serif;font-weight:300;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;opacity:.6;margin-bottom:1.25rem}.rsvp-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.rsvp-field label{font-family:Josefin Sans,sans-serif;font-weight:300;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;opacity:.7}.rsvp-field select,.rsvp-field input[type=text]{font-family:Times New Roman,Times,serif;font-size:1rem;padding:.6rem .75rem;border:1px solid rgba(42,3,3,.2);background:var(--cream);color:var(--burgundy)}.rsvp-field select:focus,.rsvp-field input[type=text]:focus{outline:none;border-color:var(--burgundy)}.rsvp-person{border:1px solid rgba(42,3,3,.08);padding:1.25rem 1.25rem .5rem;margin-bottom:1rem;background:var(--cream)}.rsvp-person-name{font-family:Times New Roman,Times,serif;font-style:italic;font-weight:500;font-size:1.1rem;margin-bottom:.85rem}.rsvp-person-meta{font-family:Josefin Sans,sans-serif;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;opacity:.55;margin-left:.5rem}.rsvp-meals{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.rsvp-attend-row{display:flex;gap:1rem;align-items:center;margin-bottom:.75rem}.rsvp-attend-row label{font-family:Josefin Sans,sans-serif;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;opacity:.7}.rsvp-submit-row{display:flex;flex-direction:column;gap:.75rem;align-items:center;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(42,3,3,.08)}.rsvp-validation{color:#8b1a1a;font-family:Josefin Sans,sans-serif;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;text-align:center}.rsvp-success{text-align:center;padding:2rem 0}.rsvp-success h3{font-family:Times New Roman,Times,serif;font-style:italic;font-weight:400;font-size:1.6rem;margin-bottom:.75rem}.rsvp-success p{font-weight:300;font-size:1rem;line-height:1.8}.hero-image-section{height:60vh;min-height:400px;background:var(--burgundy-dark);display:flex;align-items:center;justify-content:center;position:relative;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.hero-image-placeholder{color:#fff3;font-family:Josefin Sans,sans-serif;font-weight:200;font-size:.8rem;letter-spacing:4px;text-transform:uppercase}footer.site-footer{background:var(--burgundy-dark);color:#fff6;text-align:center;padding:3rem 2rem;font-family:Josefin Sans,sans-serif;font-weight:200;font-size:.7rem;letter-spacing:3px;text-transform:uppercase}footer.site-footer .footer-names{font-family:"New Icon Serif",Times New Roman,Times,serif;font-weight:300;font-style:italic;font-size:1.5rem;color:#ffffff80;letter-spacing:2px;margin-bottom:1rem;text-transform:none}.footer-monogram{display:block;width:clamp(90px,12vw,140px);height:auto;margin:0 auto 1.5rem;opacity:.75;filter:brightness(0) invert(1)}@media(max-width:768px){nav.site-nav ul{gap:1.2rem;flex-wrap:wrap;justify-content:center}nav.site-nav a{font-size:.7rem;letter-spacing:2px}.story-content{grid-template-columns:1fr;gap:2rem}.timeline-h{grid-template-columns:1fr;gap:1.5rem}.timeline-h:before{left:50%;right:auto;top:1rem;bottom:1rem;height:auto;width:1px;transform:translate(-50%)}.timeline-col{grid-template-rows:auto auto auto;min-height:0;padding:.5rem 0}.timeline-half.top,.timeline-half.bottom{align-self:center;padding:.25rem 0}.timeline-icon{width:clamp(70px,20vw,100px)}.timeline-event{font-size:1.4rem}.timeline-time{font-size:.95rem}.hero-names{flex-direction:column;gap:.5rem}.rsvp-card{padding:2rem 1.25rem}}
