@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap";:root{--base-100:#fff;--base-200:#4a4a4a;--base-300:#141414;--base-400:#0f0f0f}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--base-300);color:var(--base-100);font-family:Instrument Serif,serif}img{object-fit:cover;width:100%;height:100%;display:block}.hero{width:100%;height:100svh;position:relative;overflow:hidden}.hero-overlay{background-color:var(--base-400);clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);will-change:clip-path;z-index:0;position:absolute;inset:0}.hero-overlay .counter{color:var(--base-100);position:absolute;bottom:2rem;right:2rem}.hero-overlay .counter h1{font-size:4rem;font-style:italic;font-weight:400}.overlay-text-container{height:2rem;position:absolute;top:2rem;left:2rem;overflow:hidden}.overlay-text{will-change:transform;flex-direction:column;display:flex;transform:translateY(2rem)}.overlay-text p{color:var(--base-100);letter-spacing:.08em;text-transform:uppercase;align-items:center;height:2rem;font-family:Instrument Serif,serif;font-size:.85rem;display:flex}.hero-images{will-change:gap;z-index:2;justify-content:center;gap:10vw;width:100%;padding:0 2rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-img-item{aspect-ratio:5/7;clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);opacity:0;will-change:opacity, transform, clip-path;width:10vw;transform:translateY(50%)scale(.5)}.hero-header{z-index:1;width:100%;position:absolute;bottom:2rem}.hero-header h1{text-align:center;letter-spacing:-.02em;color:var(--base-100);font-size:15vw;font-style:italic;font-weight:400;line-height:.85}.hero-header h1 .word{will-change:transform;display:inline-block;transform:translateY(110%)}.our-story{background:var(--base-300);flex-direction:column;justify-content:center;width:100%;height:100svh;padding:6rem 4rem;display:flex;position:relative}.story-label{letter-spacing:.15em;text-transform:uppercase;color:var(--base-200);margin-bottom:4rem;font-size:.65rem}.story-timeline{gap:0;display:flex}.story-item{border-left:1px solid var(--base-200);flex:1;padding:0 2rem}.story-item:first-child{border-left:none;padding-left:0}.story-dot{background:var(--base-200);border-radius:50%;width:6px;height:6px;margin-bottom:1rem}.story-year{letter-spacing:.1em;color:var(--base-200);margin-bottom:.5rem;font-size:.65rem}.story-text{color:var(--base-100);font-size:clamp(1.5rem,3vw,3rem);font-style:italic;line-height:1.1}.event-details{background:var(--base-300);flex-direction:column;justify-content:center;width:100%;height:100svh;padding:6rem 4rem;display:flex;position:relative}.event-details-label{letter-spacing:.15em;text-transform:uppercase;color:var(--base-200);margin-bottom:4rem;font-size:.65rem}.details-grid{grid-template-columns:1fr 1fr;gap:4rem 6rem;width:100%;max-width:800px;display:grid}.detail-label{letter-spacing:.15em;text-transform:uppercase;color:var(--base-200);margin-bottom:.5rem;font-size:.6rem}.detail-value{color:var(--base-100);font-size:clamp(1.5rem,3vw,3.5rem);font-style:italic;line-height:1.1}.scatter-gallery{background:var(--base-300);width:100%;height:100svh;color:var(--base-100);justify-content:center;align-items:center;display:flex;position:relative}.scatter-heading{text-align:center;letter-spacing:-.025rem;will-change:opacity;z-index:2;pointer-events:none;width:45%;font-size:max(3rem,5vw);font-weight:500;line-height:.9}.scatter-card{border:.5rem solid var(--base-200);will-change:transform;border-radius:1rem;width:250px;height:300px;position:absolute;overflow:hidden;box-shadow:5px 5px 10px #00000040}.scatter-card img{object-fit:cover;border-radius:.5rem;width:100%;height:100%}.engagement-gallery-wrap{background:var(--base-300);width:100%;padding-top:4rem}.engagement-label{letter-spacing:.15em;text-transform:uppercase;color:var(--base-200);padding:0 4rem 2rem;font-size:.65rem}.engagement-rows{background:var(--base-300);flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:.5rem 0;display:flex;position:relative;overflow:hidden}.engagement-row{gap:.5rem;width:125%;display:flex}.engagement-photo{aspect-ratio:5/7;border-radius:.5rem;flex:1;overflow:hidden}.engagement-photo img{object-fit:cover;border-radius:.5rem;width:100%;height:100%}.rsvp{background:var(--base-300);flex-direction:column;justify-content:center;width:100%;height:100svh;padding:6rem 4rem;display:flex;position:relative}.rsvp-section-label{letter-spacing:.15em;text-transform:uppercase;color:var(--base-200);margin-bottom:4rem;font-size:.65rem}.rsvp-title{color:var(--base-100);margin-bottom:3rem;font-size:clamp(2rem,5vw,5rem);font-style:italic;font-weight:400}.rsvp-form{flex-direction:column;gap:1rem;max-width:480px;display:flex}.rsvp-input,.rsvp-textarea{border:none;border-bottom:1px solid var(--base-200);color:var(--base-100);resize:none;background:0 0;outline:none;width:100%;padding:.75rem 0;font-family:Instrument Serif,serif;font-size:1rem;transition:border-color .2s}.rsvp-input:focus,.rsvp-textarea:focus{border-color:var(--base-100)}.rsvp-input::placeholder,.rsvp-textarea::placeholder{color:var(--base-200)}.rsvp-radio-group{gap:1rem;display:flex}.rsvp-radio{letter-spacing:.08em;text-transform:uppercase;color:var(--base-200);cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;transition:color .2s;display:flex}.rsvp-radio.active{color:var(--base-100)}.rsvp-radio input[type=radio]{display:none}.rsvp-btn{background:var(--base-100);color:var(--base-400);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;align-self:flex-start;margin-top:1rem;padding:.75rem 2rem;font-family:Instrument Serif,serif;font-size:.85rem;transition:opacity .2s}.rsvp-btn:hover{opacity:.85}.rsvp-confirmation{flex-direction:column;gap:1rem;display:flex}.rsvp-confirmation h2{font-size:clamp(2rem,4vw,4rem);font-style:italic}.rsvp-confirmation p{color:var(--base-200);letter-spacing:.05em;font-size:1rem}.wishes{background:var(--base-300);flex-direction:column;justify-content:center;width:100%;height:100svh;padding:6rem 4rem;display:flex;position:relative;overflow-y:auto}.wishes-section-label{letter-spacing:.15em;text-transform:uppercase;color:var(--base-200);margin-bottom:4rem;font-size:.65rem}.wishes-title{color:var(--base-100);margin-bottom:3rem;font-size:clamp(2rem,5vw,5rem);font-style:italic;font-weight:400}.wishes-empty{color:var(--base-200);letter-spacing:.08em;font-size:.85rem}.wishes-list{flex-direction:column;gap:1rem;max-width:600px;display:flex}.wish-card{border-top:1px solid var(--base-200);padding:1.25rem 0}.wish-name{letter-spacing:.12em;text-transform:uppercase;color:var(--base-200);margin-bottom:.5rem;font-size:.6rem}.wish-message{color:var(--base-100);font-size:1.1rem;font-style:italic;line-height:1.5}.music-toggle{z-index:100;border:1px solid var(--base-200);color:var(--base-100);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;transition:border-color .2s,color .2s;display:flex;position:fixed;bottom:2rem;right:2rem}.music-toggle:hover{border-color:var(--base-100)}@media (width<=768px){.scatter-gallery{overflow:hidden}.hero-images{gap:2.5vw;padding:0 .5rem}.hero-img-item{width:18vw}.our-story,.event-details,.rsvp,.wishes{padding:4rem 1.5rem}.story-timeline{flex-direction:column;gap:2rem}.story-item{border-left:none;border-top:1px solid var(--base-200);padding:1.5rem 0 0}.story-item:first-child{border-top:none;padding-top:0}.details-grid{grid-template-columns:1fr;gap:2.5rem}.scatter-heading{width:80%}}
