.wedding-page{padding-top:0}.hero-section{position:relative;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;overflow:hidden}.hero-image-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-image{filter:grayscale(100%)}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:2}.hero-content{position:relative;z-index:3;text-align:center;color:var(--color-text-light);padding:2rem;width:100%;max-width:100%}.hero-names{font-weight:400;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase;display:flex;gap:0;flex-wrap:nowrap;width:100%;padding:0 clamp(3rem,12vw,8rem);box-sizing:border-box}.hero-ampersand-wrapper,.hero-names{align-items:center;justify-content:center}.hero-ampersand-wrapper{display:inline-flex;flex-shrink:0;margin:0}.hero-name{font-family:var(--font-serif);line-height:1;white-space:nowrap;flex-shrink:0;letter-spacing:.1em;font-size:clamp(3.5rem,min(14vw,9vh),22rem)}.hero-ampersand{display:block;object-fit:contain;opacity:1;height:calc(clamp(3.5rem, min(14vw, 9vh), 22rem) * 1.8);width:auto;max-width:100%;mix-blend-mode:normal}.hero-date{font-size:1.5rem;font-weight:300;letter-spacing:.1em;margin-bottom:3rem;opacity:.95}.hero-countdown-wrapper{margin-top:4rem}.countdown-intro{font-family:"Adelia",var(--font-sans);font-size:1.5rem;letter-spacing:.05em;margin-top:1.5rem;opacity:.9}.countdown-filler-section{background:var(--color-primary);color:var(--color-text-light)}.countdown-filler-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.countdown-filler-content .countdown-intro{color:var(--color-text-light);opacity:.9}.section{padding:5rem 0;scroll-margin-top:80px;align-items:center}.section,.section .container{display:flex;justify-content:center}.section .container{width:100%;flex-direction:column}.section-title{font-size:3.5rem;text-align:center;margin-bottom:4rem;color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase}.section-subtitle{text-align:center;font-size:1.1rem;color:var(--color-text-dark);opacity:.8;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.love-story-section{background:var(--color-secondary)}.story-content{display:block;overflow:hidden}.story-title{font-size:3.5rem;color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;font-family:var(--font-serif);font-weight:400;line-height:1.2;margin:0 0 3rem;text-align:left}.story-title br{display:block;content:"";margin-top:.5rem}.story-image-wrapper{position:relative;width:50%;max-width:500px;aspect-ratio:4/3;overflow:hidden;border-radius:4px;float:left;margin-right:2rem;margin-bottom:1rem;shape-outside:margin-box}.story-image{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:filter .3s ease}.story-image:hover{filter:grayscale(0)}.story-text{display:block}.story-paragraph{font-size:1.1rem;line-height:1.8;color:var(--color-text-dark);opacity:.9;margin-bottom:1.5rem}.story-paragraph:last-child{margin-bottom:0}.filler-section{background:var(--color-primary);padding:0;position:relative;overflow:hidden}.filler-section .container{padding-left:0;padding-right:0;height:auto}.filler-content{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;align-items:stretch;height:auto}.filler-image-wrapper{position:relative;overflow:hidden}.filler-image-left{width:100%;height:auto;border-radius:0}.filler-image-right{position:absolute;left:50%;right:0;top:0;bottom:0;background:var(--color-primary);display:flex;align-items:center;justify-content:center;padding:2rem}.filler-image-left .filler-image{width:100%;display:block}.filler-image-left .filler-image,.filler-image-right .filler-image{height:auto;object-fit:cover;filter:grayscale(100%);transition:filter .3s ease}.filler-image-right .filler-image{width:auto;max-width:350px;max-height:350px;aspect-ratio:1/1;border:none;border-radius:4px}.filler-image:hover{filter:grayscale(0)}.footer-filler-section{background:var(--color-primary);padding:0}.footer-filler-section .container{padding-left:0;padding-right:0}.footer-filler-content{width:100%;position:relative}.footer-filler-image{width:100%;height:auto;display:block;object-fit:contain;filter:grayscale(100%);transition:filter .3s ease}.footer-filler-image:hover{filter:grayscale(0)}.schedule-section{background:var(--color-primary);color:var(--color-text-light)}.schedule-content{display:grid;grid-template-columns:1fr 1.3fr;grid-gap:4rem;gap:4rem;align-items:center}.schedule-left{display:flex;flex-direction:column;gap:6rem}.schedule-title{font-size:3.5rem;color:var(--color-text-light);letter-spacing:.05em;text-transform:uppercase;font-family:var(--font-serif);font-weight:400;line-height:1.2;margin:0;text-align:left}.schedule-title br{display:block;content:"";margin-top:.5rem}.schedule-timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;align-items:center;gap:7rem;padding:1.5rem 0;border-bottom:1px solid hsla(0,0%,100%,.2)}.timeline-item:last-child{border-bottom:none}.timeline-time{font-family:var(--font-serif);font-size:1.2rem;color:var(--color-text-light);font-weight:700;min-width:100px;flex-shrink:0}.timeline-content{flex:1 1}.timeline-content h3{font-size:1.2rem;color:var(--color-text-light);margin:0;font-weight:400;font-family:var(--font-sans)}.schedule-image-wrapper{position:relative;width:80%;overflow:hidden;margin:0 auto;align-self:center}.schedule-image{width:100%;height:auto;display:block;object-fit:contain;filter:grayscale(100%);transition:filter .3s ease}.schedule-image:hover{filter:grayscale(0)}.ceremony-details-section{background:var(--color-secondary)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2.5rem;gap:2.5rem;margin-bottom:3rem}.detail-card{text-align:center}.detail-icon{display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.detail-icon-image{width:80px;height:80px;object-fit:contain;filter:grayscale(100%);opacity:.8}.detail-card h3{font-size:1.3rem;color:var(--color-primary);margin-bottom:1rem}.detail-card p{color:var(--color-text-dark);opacity:.8;line-height:1.7}.ceremony-image-wrapper{width:100%;aspect-ratio:2/1;position:relative;overflow:hidden;border-radius:4px;margin-top:2rem}.ceremony-image{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:filter .3s ease}.ceremony-image:hover{filter:grayscale(0)}.gifts-section{background:var(--color-primary)}.gifts-header,.gifts-section{color:var(--color-text-light)}.gifts-header{font-size:2.5rem;text-align:center;font-family:var(--font-serif);font-weight:400;margin-bottom:4rem;line-height:1.3}.gifts-content{display:grid;grid-template-columns:auto 1fr auto;grid-gap:4rem;gap:4rem;align-items:start;max-width:1200px;margin:0 auto}.gift-image-wrapper{position:relative;width:200px;overflow:hidden;border-radius:4px;flex-shrink:0}.gift-image-left{align-self:flex-start}.gift-image-right{align-self:flex-end}.gift-image{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 35%;display:block;filter:grayscale(100%);transition:filter .3s ease}.gift-image:hover{filter:grayscale(0)}.gifts-text-wrapper{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.gifts-intro,.gifts-message{font-size:1.1rem;line-height:1.8;color:var(--color-text-light);opacity:.9;text-align:center;margin:0}.payment-section{display:flex;align-items:center;gap:2rem;margin-top:2rem;justify-content:center}.venmo-image-wrapper{position:relative;width:100px;height:100px;flex-shrink:0}.venmo-image{width:100%;height:100%;object-fit:contain;display:block;filter:grayscale(100%)}.payment-info{display:flex;flex-direction:column;align-items:flex-start;flex:1 1}.payment-details{font-size:1.1rem;color:var(--color-text-light);text-align:left;margin:0;font-weight:400;font-family:var(--font-sans);line-height:1.2}.faq-section{background:var(--color-secondary)}.faq-content-wrapper{display:grid;grid-template-columns:auto 1fr;grid-gap:4rem;gap:4rem;align-items:start}.faq-title{font-size:3.5rem;color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;font-family:var(--font-serif);font-weight:400;line-height:1.2;margin:0;text-align:left}.faq-title br{display:block;content:"";margin-top:.5rem}.faq-list{max-width:800px}.faq-item{display:flex;gap:2rem;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(0,0,0,.1)}.faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.faq-number{font-family:var(--font-serif);font-size:1.5rem;color:var(--color-accent);font-weight:500;min-width:50px}.faq-content{flex:1 1}.faq-question{font-size:1.3rem;color:var(--color-primary);margin-bottom:1rem;font-weight:500}.faq-answer{font-size:1rem;color:var(--color-text-dark);opacity:.8;line-height:1.7}.faq-footer{text-align:center;margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(0,0,0,.1);grid-column:1/-1}.faq-footer p{font-size:1.1rem;color:var(--color-text-dark);opacity:.7}.rsvp-section{background:#fff}.rsvp-section .container{max-width:1000px!important;width:100%}.rsvp-form-wrapper{max-width:2000px;width:100%;margin:0 auto;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.08)}.google-form-iframe{width:100%;min-height:586px;border:none;display:block}@media (max-width:968px){.story-content{grid-template-columns:1fr;gap:3rem}.story-title{writing-mode:horizontal-tb;-webkit-text-orientation:mixed;text-orientation:mixed;text-align:center;font-size:2.5rem}.story-image-wrapper{max-width:500px;margin:0 auto}.filler-content{grid-template-columns:1fr;gap:0}.filler-image-left,.filler-image-right{min-height:400px}.filler-image-right .filler-image{max-width:300px;max-height:300px}.schedule-content{grid-template-columns:1fr;gap:3rem}.schedule-image-wrapper{aspect-ratio:4/3}.gifts-content{grid-template-columns:1fr;gap:3rem}.gift-image-wrapper{width:150px;margin:0 auto}.gift-image-left,.gift-image-right{align-self:center}.payment-section{flex-direction:column;align-items:flex-start}}@media (max-device-width:768px),(max-width:768px){.hero-content{padding:1.5rem clamp(1rem,3vw,2rem)}.hero-names{flex-direction:column;gap:clamp(-.2rem,0vw,0rem);padding:0 clamp(1rem,3vw,2rem);letter-spacing:.03em;align-items:center;justify-content:center}.hero-name{letter-spacing:.08em;font-size:clamp(2.5rem,min(12vw,9vh),15rem);line-height:.6;margin:0}.hero-ampersand-wrapper{margin:0;display:flex;align-items:center;justify-content:center;line-height:.6}.hero-ampersand{height:calc(clamp(2.5rem, min(12vw, 9vh), 15rem) * 1.5);width:auto;max-width:100%}.hero-date{font-size:1rem}.countdown-intro{font-family:"Adelia",var(--font-sans);font-size:1.3rem}.section{padding:3rem 0}.section-title{font-size:2.5rem;margin-bottom:3rem}.story-image-wrapper{width:100%;float:none;margin:0 auto 2rem;display:block}.story-text{clear:both;padding-left:0}.story-paragraph{font-size:1rem;margin-bottom:1.5rem;padding-left:1rem;padding-right:1rem}.gifts-intro,.gifts-message{font-size:1rem}.filler-content{grid-template-columns:1fr;position:relative}.filler-image-left{width:100%;position:relative;display:flex;justify-content:center;align-items:center;padding:2rem}.filler-image-left .filler-image{width:100%;max-width:600px;height:auto}.filler-image-right{position:relative;left:0;right:0;width:100%;padding:2rem;display:flex;justify-content:center;align-items:center}.filler-image-right .filler-image{max-width:200px;max-height:200px;margin:0 auto}.schedule-timeline{width:100%;margin:0;display:flex;flex-direction:column;align-items:stretch;padding:0 1.5rem;box-sizing:border-box}.timeline-item{padding-left:0;width:100%;max-width:100%;padding-right:0}.ceremony-details-section .container{padding:0 1.5rem}.details-grid{grid-template-columns:1fr;gap:2rem;margin:0}.detail-card,.details-grid{width:100%;max-width:100%}.gifts-header{font-size:1.8rem}.gift-image-wrapper{width:180px}.venmo-image-wrapper{width:80px;height:80px}.payment-section{flex-direction:column;gap:1.5rem;align-items:center;justify-content:center}.venmo-image-wrapper{width:100px;height:100px;margin:0 auto}.payment-info{align-items:center;width:100%}.payment-details,.payment-info{text-align:center}.faq-content-wrapper{grid-template-columns:1fr;gap:2rem}.faq-title{text-align:center;font-size:2.5rem}.faq-list{width:100%;max-width:100%}.faq-item{flex-direction:column;gap:1rem;margin-bottom:2rem;padding-bottom:2rem;text-align:center}.faq-number{min-width:auto}.faq-content,.faq-number,.faq-question{text-align:center}.faq-question{font-size:1.1rem}.faq-answer{text-align:center}.rsvp-form-wrapper{padding:1.5rem 1rem}.google-form-iframe{min-height:700px}}