@font-face{font-family:Great Vibes;src:url(/assets/great-vibes-regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--ivory:#f6f2ec;--paper:#f6f2ec;--cream:#f6f2ec;--matcha:#e0e4d0;--strawberry:#ffeded;--ink:#2f3525;--sage:#8e9a78;--sage-dark:#586049;--line:rgba(47,53,37,.18);--hero-matcha:#e0e4d0;--hero-matcha-deep:#3f4938;--hero-strawberry:#ffeded;--hero-strawberry-cream:#ffeded;--hero-cream:#f6f2ec;--serif:"Cormorant Garamond",Georgia,serif;--sans:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}.skip{position:fixed;z-index:100;top:-5rem;left:1rem;padding:.7rem 1rem;background:var(--paper)}.skip:focus{top:1rem}.site-nav{position:fixed;z-index:30;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.3rem clamp(1.2rem,4vw,4rem);color:#fff;opacity:0;visibility:hidden;transition:color .45s,opacity 1s .7s,visibility 0s 1.7s}body:has(.hero.video-ended) .site-nav{opacity:1;visibility:visible;transition-delay:.7s,0s,0s}body.on-cream .site-nav{color:var(--hero-matcha-deep)}body.on-cream .nav-links a{text-shadow:none}body.on-collage .site-nav{color:var(--cream);text-shadow:0 1px 8px rgba(36,31,25,.58)}body.on-collage .nav-links a{text-shadow:0 1px 8px rgba(36,31,25,.58)}body.on-matcha .site-nav{color:var(--hero-matcha-deep);text-shadow:none}body.on-matcha .nav-links a{text-shadow:none}.hero-handoff{position:relative;height:200svh;background:var(--matcha)}.hero-handoff-stage{position:sticky;z-index:3;top:0;width:100%;height:100svh;overflow:hidden;background:var(--matcha);opacity:var(--handoff-stage-opacity,1)}.handoff-outgoing,.handoff-matcha,.handoff-collage-preview{position:absolute;inset:0}.handoff-matcha{z-index:1;background:#e0e4d0;opacity:1}.handoff-outgoing{z-index:2;opacity:var(--handoff-hero-opacity,1);will-change:opacity}.handoff-collage-preview{z-index:3;isolation:isolate;overflow:hidden;bottom:auto;padding:clamp(2rem,4vw,4.5rem) clamp(.75rem,3vw,2rem);background:#867967;opacity:var(--handoff-collage-opacity,0);pointer-events:none;will-change:opacity}.handoff-collage-preview .canva-collage-canvas{width:min(100%,80rem)}#main{position:relative;z-index:2;margin-top:-100svh}.monogram{font-family:var(--serif);font-size:1.25rem;letter-spacing:.1em;text-decoration:none}.monogram span{font-style:italic}.nav-links{display:flex;gap:clamp(1.35rem,2vw,2.4rem);font-size:clamp(.75rem,.72vw,.9rem);font-weight:450;letter-spacing:.17em;text-transform:uppercase}.nav-links a{text-decoration:none;text-shadow:0 1px 7px rgba(0,0,0,.2)}.nav-links a:hover,.nav-links a:focus-visible{opacity:.7}.mobile-menu-toggle,.mobile-menu{display:none}.hero{position:relative;min-height:100svh;height:100svh;display:grid;place-items:center;overflow:hidden;color:#fff;background:#20251d}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0d120e24,#0d120e08 45%,#0d120e6b)}.hero-copy{position:relative;z-index:2;padding:6rem 1.5rem 3rem;text-align:center;opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity 1.4s ease,transform 1.4s ease,visibility 0s 1.4s}.copy-visible .hero-copy{opacity:1;visibility:visible;transform:none;transition-delay:0s}.eyebrow{display:inline-block;margin:0 0 1.2rem;color:var(--hero-strawberry-cream);font-size:clamp(.82rem,1.3vw,1rem);font-weight:500;letter-spacing:.3em;text-transform:uppercase;text-shadow:0 1px 2px var(--hero-matcha-deep),0 3px 14px rgba(38,50,35,.9)}.hero h1{display:flex;align-items:baseline;justify-content:center;gap:clamp(.25rem,1.8vw,1.3rem);margin:0;font-family:var(--serif);font-size:clamp(4rem,10vw,9.5rem);font-weight:400;letter-spacing:-.055em;line-height:.8}.hero h1 span{color:var(--hero-strawberry-cream);-webkit-text-stroke:.8px rgba(38,50,35,.9);paint-order:stroke fill;text-shadow:0 2px 2px rgba(38,50,35,.7),0 5px 26px rgba(38,50,35,.65)}.hero h1 i{color:var(--hero-matcha);font-size:.48em;font-weight:500;-webkit-text-stroke:.65px rgba(38,50,35,.9);text-shadow:0 2px 12px rgba(38,50,35,.78)}.year{margin:1.4rem 0 0;color:var(--hero-strawberry);font-family:var(--serif);font-size:clamp(1.25rem,1.8vw,1.55rem);font-weight:500;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;text-shadow:0 1px 2px var(--hero-matcha-deep),0 3px 14px rgba(38,50,35,.85)}.countdown{display:flex;justify-content:center;gap:clamp(1rem,3vw,2.8rem);margin:1.35rem auto 0;color:var(--hero-cream)}.countdown-unit{position:relative;display:grid;min-width:clamp(3rem,5vw,4.8rem);justify-items:center}.countdown-unit+.countdown-unit:before{content:"";position:absolute;top:.2rem;left:calc(clamp(1rem,3vw,2.8rem)/-2);width:1px;height:2.65rem;background:#ffeded6b}.countdown-value{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,3rem);font-weight:500;font-variant-numeric:tabular-nums;line-height:.8;text-shadow:0 2px 12px rgba(38,50,35,.72)}.countdown-label{margin-top:.72rem;font-size:clamp(.52rem,.6vw,.68rem);font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 8px rgba(38,50,35,.85)}.open-invite{display:inline-block;margin:1.8rem auto 0;padding:.9rem 1.6rem;border:1px solid var(--hero-strawberry);color:var(--hero-cream);background:#34442fd1;box-shadow:0 8px 28px #26322340;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;font-size:.74rem;font-weight:600;letter-spacing:.19em;text-decoration:none;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s}.open-invite:hover,.open-invite:focus-visible{border-color:var(--hero-strawberry);color:var(--hero-matcha-deep);background:var(--hero-strawberry)}.play-opening{position:absolute;z-index:4;bottom:2rem;left:50%;min-height:44px;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.7);color:#fff;background:#0f130e73;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;transform:translate(-50%)}.autoplay-blocked .play-opening{display:block}.scroll-mark{position:absolute;z-index:3;bottom:1.2rem;left:50%;color:#fff;font-size:.58rem;letter-spacing:.24em;text-decoration:none;text-transform:uppercase;opacity:0;visibility:hidden;transform:translate(-50%);transition:opacity .8s 1.3s,visibility 0s 2.1s}.scroll-mark:after{content:"";display:block;width:1px;height:30px;margin:.55rem auto 0;background:#ffffffa6;animation:breathe 1.8s ease-in-out infinite}.video-ended .scroll-mark{opacity:.9;visibility:visible;transition-delay:1.3s,0s}.canva-collage{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2rem,4vw,4.5rem) clamp(.75rem,3vw,2rem);background:#867967}.canva-collage-background{position:absolute;z-index:-1;inset:-2.5rem;background:url(/assets/canva-collage-background-2560.jpg) center 53% / cover no-repeat;filter:blur(15px) saturate(.64) brightness(.76);transform:scale(1.06)}.canva-collage-canvas{position:relative;width:min(100%,80rem);aspect-ratio:914 / 1202;margin:auto}.canva-invitation,.canva-couple,.canva-rsvp{position:absolute;width:100%;max-width:none;height:auto}.canva-invitation{z-index:4;top:-1%;left:-1%;width:62%;filter:drop-shadow(0 18px 24px rgba(49,40,31,.18))}.canva-couple{z-index:5;top:8%;right:2%;width:47%;filter:drop-shadow(0 18px 25px rgba(49,40,31,.2))}.canva-placeholder{position:absolute;z-index:2;margin:0;padding:clamp(.55rem,1vw,.9rem);background:#eee8dc url(/assets/details-texture-horizontal.jpg) center/cover no-repeat;box-shadow:0 18px 34px #31281f38}.canva-placeholder:before{content:"";position:absolute;inset:7px;border:2px double rgba(85,91,67,.36);pointer-events:none}.canva-placeholder-inner{display:grid;width:100%;height:100%;place-items:center;border:1px solid rgba(85,91,67,.28);color:#697057;background:#f6f2eca8;font-family:var(--serif);font-size:clamp(.8rem,1.4vw,1.15rem);font-style:italic;letter-spacing:.04em;text-align:center}.canva-placeholder--media{top:40%;left:-1%;width:50%;aspect-ratio:1.08;transform:rotate(-6deg)}.canva-placeholder--media:after{content:"▶";position:absolute;top:50%;left:50%;display:grid;width:clamp(2.5rem,5vw,4rem);aspect-ratio:1;place-items:center;border:1px solid #697057;border-radius:50%;color:#697057;background:#f6f2ecd6;font-size:clamp(.7rem,1.2vw,1rem);transform:translate(-50%,-50%)}.canva-placeholder--media span{translate:0 clamp(2.3rem,5vw,4rem)}.canva-placeholder--photo{z-index:3;top:45%;right:-3%;width:46%;aspect-ratio:.93;transform:rotate(5deg)}.canva-placeholder--photo:after{content:"";position:absolute;z-index:-1;inset:-7% 5% 4% -7%;border:1px solid rgba(85,91,67,.22);background:#e6ded0;transform:rotate(-5deg)}.canva-rsvp-wrap{position:absolute;z-index:6;bottom:-2%;left:15%;width:70%;aspect-ratio:2347 / 2125;filter:drop-shadow(0 18px 26px rgba(49,40,31,.2))}.canva-rsvp{inset:0}.canva-hotspot{position:absolute;z-index:2;display:block;min-width:44px;min-height:44px;border:1px solid transparent;border-radius:999px}.canva-hotspot:hover{border-color:transparent;background:transparent;outline:none}.canva-hotspot:focus-visible{border-color:transparent;background:#e0e4d02e;outline:2px solid rgba(246,242,236,.86);outline-offset:2px}.canva-hotspot--rsvp{top:49%;left:34%;width:34%;height:20%}.canva-hotspot--details{top:66%;left:8%;width:21%;height:21%}.canva-hotspot--story{top:80%;left:20%;width:20%;height:18%}.quick-links{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:clamp(.65rem,1.25vw,1.25rem);min-height:13rem;padding:clamp(1.35rem,2.4vw,2.1rem) clamp(1.25rem,5vw,6rem);color:#23221e;background:#f4f1eb url(/assets/details-texture-horizontal.jpg) center/cover no-repeat;border-block:1px solid rgba(63,73,56,.2)}.quick-link{display:flex;align-items:center;justify-content:center;gap:1rem;min-height:4.35rem;padding:.9rem 1rem;border:1px solid rgba(63,73,56,.62);color:#23221e;background:#f6f2ec57;box-shadow:0 2px 8px #3d37300f;font-family:var(--serif);font-size:clamp(1.15rem,1.45vw,1.55rem);letter-spacing:.025em;text-decoration:none;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}.quick-link-arrow{color:#66704f;font-family:var(--sans);font-size:1.05em;font-weight:400;line-height:1;transition:translate .22s ease}.quick-link:hover,.quick-link:focus-visible{border-color:#66704f;color:#23221e;background:#e0e4d0;box-shadow:0 7px 18px #3d373021;transform:translateY(-2px)}.quick-link:hover .quick-link-arrow,.quick-link:focus-visible .quick-link-arrow{color:#46513d;translate:.22rem 0}.quick-link:focus-visible{outline:2px solid #df7885;outline-offset:3px}.our-story{background:var(--cream)}.story-landing{position:relative;width:100%;height:min(65.6829vw,75rem);min-height:0;overflow:hidden;color:#242820;background:#f6f2ec}.story-landing img{position:absolute;top:0;left:0;width:100%;height:auto;max-width:none;object-fit:contain;object-position:center top}.story-landing h2{position:absolute;z-index:1;top:clamp(2rem,3vw,4rem);left:50%;width:max-content;max-width:calc(100% - 3rem);margin:0;color:#242820;font-family:var(--serif);font-size:clamp(4rem,6vw,7rem);font-weight:400;letter-spacing:-.045em;line-height:.82;text-align:center;text-shadow:0 1px 2px rgba(255,255,255,.28);translate:-50% 0}@media(min-width:1827px){.story-landing img{top:calc(-1*clamp(2.75rem,2vw,4.5rem))}}.story-landing h2:first-letter{font-family:"Great Vibes",var(--serif);font-size:1.16em}.story-chapter-label{margin:0;color:var(--sage-dark);font-size:.65rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase}.story-chapter{padding:clamp(5rem,9vw,9rem) clamp(1.5rem,8vw,9rem)}.story-chapter--strawberry{background:#f6f2ec}.story-chapter--matcha{background:#e0e4d0}.story-chapter-inner{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(300px,.72fr);align-items:center;gap:clamp(4rem,10vw,11rem);width:min(100%,88rem);margin:auto}.story-chapter--reverse .story-frame{grid-column:2;grid-row:1}.story-chapter--reverse .story-copy{grid-column:1;grid-row:1}.story-frame{position:relative;width:min(100%,34rem);margin:0;padding:clamp(.7rem,1.1vw,1rem);background:#f6f2ece6;box-shadow:0 24px 55px #4a3e3721}.story-frame:before{content:"";position:absolute;z-index:2;inset:6px;border:1px solid rgba(102,112,79,.36);pointer-events:none}.story-photo-placeholder{position:relative;display:grid;place-content:center;gap:.5rem;aspect-ratio:4/5;color:#3f49389e;background-color:#e9e5dc;background-image:linear-gradient(rgba(246,242,236,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(246,242,236,.6) 1px,transparent 1px);background-size:42px 42px;text-align:center}.story-photo-placeholder:before,.story-photo-placeholder:after{content:"";position:absolute;top:50%;left:50%;width:68%;height:1px;background:#66704f4d;transform-origin:center}.story-photo-placeholder:before{transform:translate(-50%,-50%) rotate(51deg)}.story-photo-placeholder:after{transform:translate(-50%,-50%) rotate(-51deg)}.story-photo-placeholder span,.story-photo-placeholder small{position:relative;z-index:1;padding:.2rem .7rem;background:#e9e5dc}.story-photo-placeholder span{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.7rem);font-style:italic}.story-photo-placeholder small{font-size:.56rem;letter-spacing:.2em;text-transform:uppercase}.story-copy{max-width:35rem}.story-copy h3{margin:1.2rem 0 1.8rem;font-family:var(--serif);font-size:clamp(3.2rem,5.5vw,5.5rem);font-weight:400;letter-spacing:-.04em;line-height:.82}.story-copy h3 em{display:inline-block;color:var(--sage-dark);font-family:"Great Vibes",var(--serif);font-size:1.12em;font-style:normal;font-weight:400;letter-spacing:0;transform:translate(.18em)}.story-copy>p:last-child{margin:0;color:#505648;font-family:var(--serif);font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.65}footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem clamp(1.3rem,7vw,8rem);color:#ece9e0;background:#293025;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.prototype-note{opacity:.6;text-align:right}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.seen{opacity:1;transform:none}@keyframes breathe{50%{opacity:.25;transform:scaleY(.55)}}@media(max-width:780px){.hero-handoff{height:200dvh}.hero-handoff-stage{height:100dvh;will-change:opacity}.handoff-outgoing .hero{min-height:100dvh;height:100dvh}.handoff-collage-preview .canva-collage-canvas{display:none}#main{margin-top:-100dvh;transform:translateY(var(--mobile-handoff-lift,0px))}.nav-links{display:none}.site-nav{padding:1rem 1.2rem;opacity:1;visibility:visible;transition:color .45s}.mobile-menu-toggle{appearance:none;display:grid;width:44px;height:44px;padding:0;place-content:center;gap:5px;border:0;border-radius:0;color:inherit;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-menu-toggle span{display:block;width:20px;height:1.5px;background:currentColor;transition:transform .25s,opacity .2s}.mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:29;inset:0;display:grid;align-content:center;justify-items:center;gap:1.5rem;padding:6rem 2rem 3rem;color:var(--ink);background:#f6f2ecf5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-menu[hidden]{display:none}.mobile-menu a{font-family:var(--serif);font-size:clamp(2rem,10vw,3rem);font-weight:400;line-height:1;text-decoration:none}body.menu-open{overflow:hidden}.hero-video{object-position:58% center}.hero h1{flex-direction:column;align-items:center;gap:0;font-size:clamp(4rem,22vw,6rem);line-height:.7}.hero h1 i{margin:.15em 0 .05em;font-size:.42em;transform:translateY(.09em)}.hero-copy{padding-inline:1rem}.eyebrow{font-size:.78rem;letter-spacing:.24em}.year{font-size:1.35rem}.open-invite{margin-top:2rem}.scroll-mark span{display:none}.canva-collage{min-height:100dvh}.canva-collage,.handoff-collage-preview{padding:.75rem 0 1.25rem}.canva-collage-background{inset:-2rem;background-position:55% center;filter:blur(12px) saturate(.62) brightness(.78);transform:scale(1.1)}.canva-collage-canvas{width:100%;aspect-ratio:390 / 1060}.canva-invitation{top:0;left:-5%;width:105%}.canva-couple{top:31%;right:-4%;width:64%}.canva-placeholder{padding:.42rem}.canva-placeholder-inner{font-size:.68rem}.canva-placeholder--media{top:54%;left:-6%;width:58%}.canva-placeholder--photo{top:56%;right:-5%;width:53%}.canva-rsvp-wrap{bottom:-1%;left:4%;width:92%}.canva-hotspot--rsvp{top:48%;left:33%;width:36%;height:22%}.canva-hotspot--details{top:64%;left:6%;width:25%;height:24%}.canva-hotspot--story{top:79%;left:18%;width:23%;height:20%}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:.7rem;min-height:17.75rem;padding:1rem;background-position:center}.quick-link{min-height:4.5rem;padding:.85rem .65rem;border:1px solid rgba(63,73,56,.62);font-size:1.15rem}.quick-link:nth-child(2){border-right:1px solid rgba(63,73,56,.62)}.quick-link:nth-child(-n+2){border-bottom:1px solid rgba(63,73,56,.62)}.story-landing{min-height:0;height:min(58dvh,30rem);background:#f6f2ec}.story-landing img{top:auto;bottom:0;left:-15%;width:130%;height:auto;max-height:none;object-fit:contain;object-position:center bottom}.story-landing h2{top:37%;left:50%;width:100%;padding:0 .75rem;color:#242820;font-size:clamp(2.35rem,11.5vw,3rem);text-align:center;text-shadow:0 1px 3px rgba(255,255,255,.48);translate:-50% -50%}.story-chapter{padding:4.5rem 1.25rem 5.5rem}.story-chapter-inner{grid-template-columns:1fr;gap:3.75rem}.story-chapter--reverse .story-frame,.story-chapter--reverse .story-copy{grid-column:1}.story-chapter--reverse .story-frame{grid-row:1}.story-chapter--reverse .story-copy{grid-row:2}.story-frame{grid-row:1;width:min(92vw,23rem);margin:auto;padding:.65rem}.story-copy{grid-row:2;max-width:23rem;margin:auto;text-align:center}.story-copy h3{margin:1rem 0 1.5rem;font-size:clamp(3.25rem,17vw,4.25rem)}.story-copy>p:last-child{font-size:1.2rem;line-height:1.58}footer{align-items:flex-start;flex-direction:column}.prototype-note{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-mark:after{animation:none}.reveal{opacity:1;transform:none;transition:none}}
