.arrival{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.2rem,3vh,2.8rem);min-height:100svh;padding:clamp(3.5rem,8vh,6rem) 1.5rem 1.5rem;display:flex;position:relative}.arrival__bsd{color:var(--wed-muted);font-size:.85rem;position:absolute;top:1.1rem;right:1.3rem}.greeting{font-size:clamp(1.5rem,4.4vw,2rem);font-style:italic;font-weight:500}.arrival__title{flex-direction:column;align-items:center;gap:.9rem;display:flex}.arrival__names{letter-spacing:.01em;font-size:clamp(3.2rem,9vw,6.5rem);font-weight:400;line-height:1}.arrival__names em{color:var(--nicole-accent-deep);margin:0 .05em;font-size:.75em;font-style:italic;font-weight:400}.arrival__date{color:var(--wed-muted);letter-spacing:.08em;flex-wrap:wrap;justify-content:center;gap:.3em .8em;display:flex}@media (width<=560px){.arrival__date-sep{display:none}.arrival__date span{flex-basis:100%}}.arrival__photo{flex:1 1 0;justify-content:center;align-items:center;width:100%;min-height:15rem;max-height:32.5rem;margin:0;display:flex;container-type:size}.arrival__frame{aspect-ratio:4/5;width:min(100cqw,80cqh,26rem);position:relative;overflow:hidden}.arrival__frame img{object-fit:cover;object-position:50% 62%;filter:saturate(.88)contrast(.97)sepia(.06);width:100%;height:100%;display:block;position:absolute;inset:0;transform:rotate(-.7deg)scale(1.025)}.arrival__frame:after{content:"";pointer-events:none;border:1px solid #fffdfab3;position:absolute;inset:.7rem}.arrival__lede{max-width:34rem;color:var(--wed-muted);font-size:clamp(1.1rem,2vw,1.35rem);font-style:italic}.arrival__cue{color:var(--wed-muted);letter-spacing:.3em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.6rem;margin-top:auto;font-size:.7rem;display:flex}.arrival__cue:after{content:"";background:linear-gradient(to bottom, var(--wed-line), transparent);width:1px;height:3rem;animation:2.2s ease-in-out infinite cue}@keyframes cue{0%,to{transform-origin:top;opacity:.6;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}.scroll-hint{left:50%;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:20;border:1px solid var(--wed-line);color:var(--wed-muted);letter-spacing:.3em;text-transform:uppercase;pointer-events:none;opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);background:#f7f0eaeb;border-radius:999px;align-items:center;gap:.6rem;padding:.45rem 1rem .45rem 1.1rem;font-size:.7rem;display:flex;position:fixed;transform:translate(-50%,8px);box-shadow:0 8px 24px -14px #3b2a2273}.scroll-hint.is-shown{opacity:1;transform:translate(-50%)}.scroll-hint:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:.45rem;height:.45rem;margin:-.25rem 0 0 -.1rem;animation:1.6s ease-in-out infinite hint-bob;transform:rotate(45deg)}@keyframes hint-bob{0%,to{opacity:1;transform:translateY(0)rotate(45deg)}50%{opacity:.55;transform:translateY(4px)rotate(45deg)}}@media (width<=560px){.arrival{gap:clamp(1rem,2.4vh,1.6rem);padding-top:clamp(2.75rem,6vh,4rem)}}@media (width<=420px){.arrival__title .eyebrow{letter-spacing:.22em}}@media (prefers-reduced-motion:reduce){.arrival__cue:after,.scroll-hint:after{animation:none}.scroll-hint{transform:translate(-50%)}}.modal__open{border:0;border-bottom:1px solid var(--wed-ink);font-family:var(--font-serif);background:0 0;padding:0 0 .15rem}.modal{background:radial-gradient(ellipse at 50% 20%, #fcf8f4, var(--nicole-bg) 70%);width:min(32rem,100vw - 2rem);max-height:min(85svh,44rem);color:var(--wed-ink);border:0;padding:.6rem;overflow:hidden;box-shadow:0 40px 80px -40px #3b2a2280}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c1a1973}.modal[open]{animation:modal-in .35s var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)}}.modal[open]{flex-direction:column;display:flex}.modal__inner{border:3px double var(--wed-line);outline:none;flex-direction:column;min-height:0;display:flex;position:relative}.modal__scroll{overscroll-behavior:contain;min-height:0;padding:2.4rem clamp(1.4rem,5vw,2.4rem) 2rem;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 1.4rem calc(100% - 1.4rem),#0000);mask-image:linear-gradient(#0000,#000 1.4rem calc(100% - 1.4rem),#0000)}.modal__header{text-align:center;margin-bottom:1.8rem}.modal__header h2{margin-top:.5rem;font-size:2rem;font-weight:400}.modal__note{color:var(--wed-muted);margin-top:.5rem;font-style:italic}.modal__close{z-index:1;color:var(--wed-muted);background:#fbf7f3;border:0;border-radius:50%;padding:.2rem .5rem;font-size:1.6rem;line-height:1;position:absolute;top:.5rem;right:.7rem}@media (prefers-reduced-motion:reduce){.modal[open]{animation:none}}.banking{border-top:1px solid var(--wed-line);margin:0}.banking__row{border-bottom:1px solid var(--wed-line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem .1rem;display:flex}.banking dt{letter-spacing:.2em;text-transform:uppercase;color:var(--wed-muted);font-size:.7rem}.banking dd{font-variant-numeric:lining-nums tabular-nums;text-align:right;flex-direction:column;align-items:flex-end;gap:.15rem;margin:0;font-size:1.15rem;display:flex}.banking__copy{letter-spacing:.15em;text-transform:uppercase;color:var(--nicole-accent-text);background:0 0;border:0;border-bottom:1px solid;padding:0;font-size:.7rem;position:relative}.banking__copy:before{content:"";position:absolute;inset:-.7rem -.6rem}.guide{border-top:1px solid var(--wed-line);margin:0}.guide__item{border-bottom:1px solid var(--wed-line);padding:.9rem .1rem}.guide dt{font-size:1.25rem}.guide dd{color:var(--wed-muted);margin:.25rem 0 0;font-size:1.05rem;line-height:1.5}.stays__group+.stays__group{margin-top:1.6rem}.stays__group ul{border-top:1px solid var(--wed-line);margin:.6rem 0 0;padding:0;list-style:none}.stays__group li{border-bottom:1px solid var(--wed-line)}.stays__group a{justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem .1rem;font-size:1.2rem;text-decoration:none;display:flex}.stays__group a:after{content:"Map ↗";letter-spacing:.2em;text-transform:uppercase;color:var(--wed-muted);flex-shrink:0;font-size:.7rem}.stays__group a:hover:after{color:var(--nicole-accent-text)}.details{background:var(--wed-bg-deep);padding:clamp(5rem,12vh,8rem) 1.5rem}.details__inner{max-width:62rem;margin:0 auto}.details__header{text-align:center;margin-bottom:3.5rem}.details__header h2{margin-top:.8rem;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:400}.details__grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem;margin:0;display:grid}.details__card{background:var(--wed-bg);border:1px solid var(--wed-line);flex-direction:column;padding:1.8rem 1.8rem 1.6rem;display:flex}.details__card dd{flex-direction:column;flex:1;margin:.9rem 0 0;font-size:1.25rem;line-height:1.4;display:flex}.details__card dd>:is(.details__link,.details__links){align-self:flex-start;margin-top:auto}.details__card dd>:has(+:is(.details__link,.details__links)){margin-bottom:.9rem}.details__links{flex-wrap:wrap;gap:.7rem 1.4rem;display:flex}.details__links .details__link{margin-top:0}.details__sub{color:var(--wed-muted);margin-top:.3rem;font-size:1.05rem;font-style:italic}.details__notes{color:var(--wed-muted);margin:.6rem 0 0;padding:0;font-size:1.05rem;font-style:italic;list-style:none}.details__notes li{align-items:center;gap:.6rem;display:flex}.details__notes li+li{margin-top:.35rem}.details__icon{fill:none;width:1.1rem;height:1.1rem;stroke:var(--nicole-accent-text);stroke-width:1.3px;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0}.details__link{letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--wed-ink);margin-top:.9rem;padding-bottom:.15rem;font-size:.8rem;text-decoration:none;display:inline-block}.typewriter{color:var(--craig-ink);min-height:1.7em;line-height:1.7;display:block}.typewriter__line{display:block}.typewriter__prompt{color:var(--craig-accent)}.typewriter__cursor{vertical-align:text-bottom;background:var(--craig-accent);width:.55em;height:1.05em;margin-left:.15em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.typewriter__cursor{animation:none}}.footer{text-align:center;border-top:1px solid var(--wed-line);color:var(--wed-muted);padding:2rem 1.5rem;font-size:.95rem;font-style:italic;position:relative;overflow:hidden}.footer__signoff{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.1rem;display:flex}:where(.footer__signoff button){font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.footer__code{text-align:left;background:var(--craig-bg);border-radius:6px;padding:.2rem .65rem;font-style:normal;display:inline-block}.footer__code .typewriter{white-space:nowrap;width:22ch;min-height:1.7em;display:block}.footer__hand{color:var(--nicole-accent-text);clip-path:inset(-.3em 100% -.3em -.2em);font-size:1.6rem;font-style:normal;transition:clip-path 1.6s cubic-bezier(.45,.05,.35,1)}.footer__hand.is-shown{clip-path:inset(-.3em -.2em)}.footer__code:hover,.footer__code:focus-visible{box-shadow:0 0 0 1px var(--craig-accent);outline:none}.footer__daisy{letter-spacing:.22em;text-transform:uppercase;border:1.5px solid;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .85rem .3rem .65rem;font-size:.72rem;font-style:normal;display:inline-flex;transform:rotate(-3deg)}.footer__paw{transition:transform .2s var(--ease-out);width:1rem;height:1rem;fill:var(--wed-muted);transform:rotate(-14deg)}.footer__credit{margin-top:.3rem;font-size:.8rem}.footer__daisy:hover .footer__paw{transform:rotate(-14deg)scale(1.15)}.paw-trail{z-index:1;pointer-events:none;position:absolute;inset:0 2% 0 0}.paw-trail__step{width:1.1rem;height:1.1rem;fill:var(--wed-muted);opacity:0;animation:paw-step 2.4s var(--ease-out) forwards;position:absolute;top:40%;transform:rotate(90deg)}.paw-trail__step.is-right{top:56%}@keyframes paw-step{0%{opacity:0}10%,45%{opacity:.7}to{opacity:0}}.petals{z-index:40;pointer-events:none;position:fixed;inset:0;overflow:hidden}.petals__petal{background:linear-gradient(135deg, var(--nicole-blush), var(--nicole-accent));opacity:0;border-radius:80% 0;animation:linear forwards petal-fall;position:absolute;top:-2rem}@keyframes petal-fall{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:.85}85%{opacity:.85}to{opacity:0;transform:translate(var(--drift), 105vh) rotate(540deg)}}@keyframes petal-fade{0%,to{opacity:0}20%,70%{opacity:.85}}@media (prefers-reduced-motion:reduce){.footer__hand{transition:none}.footer__daisy:hover .footer__paw{transform:rotate(-14deg)}.petals__petal{top:var(--y);animation-name:petal-fade}.paw-trail__step{animation-duration:1.2s}}@media (width<=560px){.footer__signoff{flex-direction:column;gap:.55rem}.footer__credit{margin-top:1rem}}.lines__probe{width:var(--gutter);visibility:hidden;height:0;position:absolute}.lines{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:visible}.lines path{fill:none;stroke-width:2px;stroke-linecap:round}.lines circle{transition:opacity .5s var(--ease-out)}.lines__craig path,.lines__craig circle{stroke:var(--craig-accent);fill:var(--craig-accent)}.lines__craig path{fill:none}.lines__nicole path,.lines__nicole circle{stroke:var(--nicole-accent);fill:var(--nicole-accent)}.lines__nicole path{fill:none}.lines__merged path{stroke:url(#merged-line);stroke-width:2.5px}.lines__merged circle{fill:var(--wed-ink);r:5}.lines__stop-start{stop-color:#8fb5ae}.lines__stop-end{stop-color:var(--wed-ink)}.photos{text-align:center;padding:clamp(4rem,10vh,6.5rem) 1.5rem}.photos__header h2{margin-top:.8rem;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:400}.photos__strip{aspect-ratio:8/5;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr 1fr;gap:.6rem;max-width:56rem;margin:2.6rem auto 0;padding:0;list-style:none;display:grid}.photos__strip li:first-child{grid-row:span 2}.photos__tile,.gallery__tile{background:var(--wed-bg-deep);cursor:zoom-in;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.photos__tile img,.gallery__tile img{object-fit:cover;object-position:50% 35%;filter:saturate(.9)contrast(.97)sepia(.05);width:100%;height:100%;transition:transform .6s var(--ease-out);display:block}.photos__tile:after{content:"";pointer-events:none;border:1px solid #fffdfab3;position:absolute;inset:.5rem}.photos__tile:hover img,.gallery__tile:hover img{transform:scale(1.03)}.photos__tile:focus-visible,.gallery__tile:focus-visible{outline:2px solid var(--wed-ink);outline-offset:3px}.photos__more{margin-top:1.8rem}.photos__all{border:0;border-bottom:1px solid var(--wed-ink);font-family:var(--font-serif);color:inherit;background:0 0;padding:0 0 .15rem}@media (width<=560px){.photos__strip{aspect-ratio:5/4;grid-template-columns:3fr 2fr;gap:.45rem}.photos__strip li:nth-child(n+4){display:none}}.gallery{background:var(--wed-bg);width:100%;max-width:none;height:100%;max-height:none;color:var(--wed-ink);border:0;margin:0;padding:0;overflow:hidden}.gallery::backdrop{background:#1c1a1973}.gallery[open]{animation:gallery-in .35s var(--ease-out)}@keyframes gallery-in{0%{opacity:0}}.gallery__inner{outline:none;height:100%;position:relative}.gallery__grid-view{overscroll-behavior:contain;height:100%;padding:0 clamp(.75rem,3vw,2rem) 2.5rem;overflow-y:auto}.gallery__bar{z-index:2;grid-template-columns:1fr auto 1fr;align-items:center;padding:.6rem 0;display:grid;position:sticky;top:0}.gallery__grid-view .gallery__bar{background:linear-gradient(var(--wed-bg) 70%, transparent);grid-template-columns:1fr auto}.gallery__close{width:2.5rem;height:2.5rem;color:inherit;background:0 0;border:0;border-radius:50%;justify-self:end;font-size:1.8rem;line-height:1}.gallery__close:focus-visible,.gallery__back:focus-visible,.gallery__step:focus-visible{outline-offset:2px;outline:2px solid}.gallery__header{text-align:center;margin:.4rem 0 1.8rem}.gallery__header h2{margin-top:.5rem;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:400}.gallery__grid{grid-template-columns:repeat(auto-fill,minmax(min(11rem,30vw),1fr));gap:.4rem;max-width:72rem;margin:0 auto;padding:0;list-style:none;display:grid}.gallery__grid li{aspect-ratio:1}.gallery__view{z-index:3;background:var(--viewer-bg);color:var(--viewer-ink);touch-action:pan-y pinch-zoom;outline:none;flex-direction:column;display:flex;position:absolute;inset:0}.gallery__view .gallery__bar{padding:.6rem clamp(.75rem,3vw,1.5rem)}.gallery__back{color:inherit;letter-spacing:.2em;text-transform:uppercase;background:0 0;border:0;justify-self:start;align-items:center;gap:.4rem;padding:.4rem 0;font-size:.75rem;display:inline-flex}.gallery__back svg{width:.9rem;height:.9rem}.gallery svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.gallery__count{color:var(--viewer-muted);font-size:.8rem}.gallery__figure{flex:1;justify-content:center;align-items:center;min-height:0;margin:0;padding:0 clamp(.5rem,6vw,5rem) clamp(.75rem,3vh,2rem);display:flex}.gallery__figure img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;animation:photo-in .4s var(--ease-out);display:block}@keyframes photo-in{0%{opacity:0}}.gallery__step{width:3rem;height:4.5rem;color:inherit;opacity:.75;background:0 0;border:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;top:50%;translate:0 -50%}.gallery__step svg{width:2rem;height:2rem}.gallery__step--next svg{rotate:180deg}.gallery__step:hover{opacity:1}.gallery__step--prev{left:.25rem}.gallery__step--next{right:.25rem}@media (width<=560px){.gallery__step{opacity:.7;filter:drop-shadow(0 0 3px #0009);width:2.4rem}.gallery__step svg{width:1.6rem;height:1.6rem}}@media (prefers-reduced-motion:reduce){.gallery[open],.gallery__figure img{animation:none}.photos__tile img,.gallery__tile img{transition:none}.photos__tile:hover img,.gallery__tile:hover img{transform:none}}.rsvp{padding:clamp(5rem,12vh,8rem) 1.5rem}.rsvp__inner{max-width:36rem;margin:0 auto}.rsvp__header{text-align:center;margin-bottom:3rem}.rsvp__header h2{margin-top:.8rem;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:400}.rsvp__by{color:var(--wed-muted);margin-top:.5rem;font-style:italic}.rsvp__form{flex-direction:column;gap:2rem;display:flex}.rsvp__people{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.rsvp__person{border-bottom:1px solid var(--wed-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.rsvp__name{font-size:1.45rem}.rsvp__name-input{font:inherit;border:none;border-bottom:1px solid var(--wed-ink);color:inherit;background:0 0;min-width:10rem;padding:.2rem 0;font-size:1.3rem}.rsvp__plus-one-name{flex-basis:100%}.rsvp__choice{gap:.5rem;display:flex}.rsvp__pill{cursor:pointer;border:1px solid var(--wed-line);background:0 0;border-radius:999px;padding:.5rem 1rem;font-size:.95rem;transition:background .25s,border-color .25s,color .25s;position:relative}.rsvp__pill:hover{border-color:var(--wed-ink)}.rsvp__pill input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.rsvp__pill:has(input:focus-visible){outline:2px solid var(--wed-ink);outline-offset:3px}.rsvp__pill.is-active{background:var(--wed-ink);border-color:var(--wed-ink);color:var(--wed-bg)}.rsvp__field{flex-direction:column;gap:.35rem;display:flex}.rsvp__field span{font-size:1.15rem}.rsvp__field small{color:var(--wed-muted);font-size:.95rem;font-style:italic}.rsvp__transport .rsvp__choice{flex-direction:column;align-items:flex-start;margin-top:.5rem}.rsvp__hint{text-align:center;color:var(--wed-muted);margin-bottom:-.5rem;font-size:.95rem;font-style:italic}.rsvp__field textarea{font:inherit;background:var(--nicole-bg);border:1px solid var(--wed-line);color:inherit;resize:vertical;margin-top:.5rem;padding:.75rem .9rem;font-size:1.05rem}.rsvp__field textarea:focus{border-color:var(--wed-ink)}.rsvp__error{text-align:center;color:#a5423a;font-style:italic}.rsvp__submit{background:var(--wed-ink);color:var(--wed-bg);border:1px solid var(--wed-ink);letter-spacing:.3em;text-transform:uppercase;align-self:center;padding:.95rem 3rem;font-size:.8rem;transition:opacity .3s}.rsvp__submit:disabled{opacity:.35;cursor:not-allowed}.rsvp__submit[aria-disabled=true]{opacity:.35;cursor:progress}.rsvp__done{text-align:center;flex-direction:column;align-items:center;gap:.8rem;display:flex}.rsvp__done h3:focus{outline:none}.rsvp__done h3{font-size:2rem;font-weight:400}.rsvp__done-mono{color:var(--craig-muted-on-light)}.rsvp__edit{border:none;border-bottom:1px solid var(--wed-line);color:var(--wed-muted);background:0 0;margin-top:1rem;font-size:.9rem}.corner-map{width:min(360px,100vw - 5rem);height:auto;display:block}.corner-map__route{animation:3s linear infinite route}@keyframes route{to{stroke-dashoffset:-16px}}@media (prefers-reduced-motion:reduce){.corner-map *{animation:none}}.trace{--trace-w:170px;z-index:-1;width:var(--trace-w);pointer-events:none;opacity:.32;height:100%;color:var(--craig-accent);position:absolute;top:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(#0000,#000 22vh calc(100% - 26vh),#0000);mask-image:linear-gradient(#0000,#000 22vh calc(100% - 26vh),#0000)}.trace__track{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linejoin:round;stroke-linecap:round}.trace__track--main{stroke-width:1.6px}.trace__via circle{fill:currentColor}.trace__via .trace__hole{fill:var(--craig-bg)}.trace__pad{fill:currentColor;fill-opacity:.7}.trace__chip rect{fill:var(--craig-bg);stroke:currentColor;stroke-width:1.2px}.trace__chip path{stroke:currentColor;stroke-width:1.2px}.trace__chip .trace__notch{fill:currentColor}@media (width<=900px){.trace{--trace-w:110px;opacity:.2;left:-30px}}.side-border{--side-w:190px;z-index:-1;width:var(--side-w);pointer-events:none;opacity:.9;background:url(/flora/garland-side-sparse.webp) 100% 0/100% repeat-y;position:absolute;top:0;bottom:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 30vh calc(100% - 26vh),#0000);mask-image:linear-gradient(#0000,#000 30vh calc(100% - 26vh),#0000)}.canopy-track{pointer-events:none;z-index:3;position:absolute;inset:0 0 0 50%}.canopy{width:max(100%,300px);height:auto;margin-top:-2px;display:block;position:sticky;top:0;-webkit-mask-image:linear-gradient(#0000,#000 14%);mask-image:linear-gradient(#0000,#000 14%)}@media (width<=900px){.side-border{--side-w:84px;opacity:.34;-webkit-mask-composite:source-in;background-image:url(/flora/garland-side-sparse-sm.webp);-webkit-mask-image:linear-gradient(#0000,#000 30vh calc(100% - 26vh),#0000),linear-gradient(90deg,#0000,#000 45%);mask-image:linear-gradient(#0000,#000 30vh calc(100% - 26vh),#0000),linear-gradient(90deg,#0000,#000 45%);-webkit-mask-composite:source-in;mask-composite:intersect}}.story{padding:26vh 0 22vh;position:relative}.story:before,.story:after{content:"";z-index:-2;width:50%;position:absolute;top:0;bottom:0;-webkit-mask-image:linear-gradient(#0000,#000 22vh calc(100% - 26vh),#0000);mask-image:linear-gradient(#0000,#000 22vh calc(100% - 26vh),#0000)}.story:before{background:var(--craig-bg);left:0}.story:after{background:var(--nicole-bg);right:0}.story__labels-track{pointer-events:none;z-index:4;position:absolute;inset:0 0 24vh}.story__labels{grid-template-columns:minmax(0, 1fr) var(--gutter) minmax(0, 1fr);max-width:var(--content-max);transition:opacity .8s var(--ease-out);margin:0 auto;padding:0 clamp(1rem,4vw,3rem);display:grid;position:sticky;top:1.1rem}.story__labels.is-hidden{opacity:0}.story__label--craig{background:var(--craig-bg);color:var(--craig-accent);letter-spacing:.06em;border-radius:4px;justify-self:end;padding:.3rem .6rem;font-size:.8rem}.story__label--nicole{color:var(--nicole-accent-text);grid-column:3;justify-self:start;padding:.1rem .6rem .2rem;font-size:1.75rem;line-height:1}.story__beats{max-width:var(--content-max);flex-direction:column;gap:clamp(7rem,13vh,11rem);margin:0 auto;padding:0 clamp(1rem,4vw,3rem);display:flex}.beat{grid-template-columns:minmax(0, 1fr) var(--gutter) minmax(0, 1fr);grid-template-areas:"year year year""craig gutter nicole""map map map""caption caption caption";align-items:center;row-gap:1.6rem;display:grid}.beat__year,.beat__caption,.beat__map{background:var(--wed-bg);border:1px solid var(--wed-line);color:var(--wed-ink);border-radius:4px}.beat__year{font-variant-numeric:lining-nums;letter-spacing:.3em;text-transform:uppercase;color:var(--wed-muted);border-radius:999px;grid-area:year;justify-self:center;padding:.4rem 1rem .35rem;font-size:.72rem}.beat__waypoint{grid-area:gutter;height:1px}.beat__craig{text-align:right;max-width:26rem;color:var(--craig-ink);grid-area:craig;justify-self:end}.beat__nicole{text-align:left;max-width:26rem;color:var(--nicole-ink);grid-area:nicole;justify-self:start}.voice--craig{font-size:.92rem;line-height:1.75}.voice__comment{color:var(--craig-accent);opacity:.85;margin-top:.4rem;display:block}.voice--nicole{font-size:1.32rem;font-style:italic;line-height:1.5}.voice__note{color:var(--nicole-accent-text);margin-top:.5rem;font-size:1.3rem;font-style:normal;font-weight:400;line-height:1.25;display:block}.beat__map{grid-area:map;justify-self:center;padding:1.2rem 1.4rem .8rem}.beat__caption{white-space:pre-line;text-wrap:balance;text-align:center;grid-area:caption;justify-self:center;max-width:34rem;padding:.9rem 1.6rem;font-size:1.15rem;font-style:italic}.beat--cross .beat__caption{letter-spacing:.04em;padding:.9rem 2.2rem;font-size:1.5rem;font-style:normal}@media (width>=901px) and (width<=1500px){.beat__nicole{max-width:min(26rem,100% - 9rem)}}@media (width<=720px){.story{padding-top:20vh}.story__beats{gap:7rem}.beat{row-gap:1.1rem}.voice--craig{font-size:.74rem;line-height:1.65}.beat__caption{padding:.7rem 1rem;font-size:1.02rem}.beat--cross .beat__caption{padding:.7rem 1.2rem;font-size:1.2rem}.beat__map{padding:1rem .8rem .6rem}.story__labels{top:.5rem}.story__label--nicole{font-size:1.45rem}.voice--nicole{font-size:1.1rem;font-weight:500}.voice__note{font-size:1.25rem}}@media (width<=480px){.journey{--gutter:44px}.story__beats,.story__labels{padding:0 .75rem}}.terminal{z-index:50;background:var(--craig-bg);height:min(46dvh,420px);color:var(--craig-ink);font-family:var(--font-mono);transition:transform .45s var(--ease-out);flex-direction:column;font-size:.85rem;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -20px 60px -30px #0009}.terminal.is-open{transform:none}.terminal__bar{color:var(--craig-muted);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.75rem;display:flex}.terminal__bar button{color:var(--craig-muted);background:0 0;border:none;font-size:1.2rem;line-height:1}.terminal__body{cursor:text;flex:1;padding:1rem 1.2rem 1.4rem;line-height:1.7;overflow-y:auto}.terminal__entry{white-space:pre-wrap;margin-bottom:.4rem}.terminal__prompt{color:var(--craig-accent)}.terminal__out{color:var(--craig-ink);opacity:.85}.terminal__input{align-items:center;gap:.5rem;display:flex}.terminal__input input{color:inherit;font:inherit;caret-color:var(--craig-accent);background:0 0;border:none;outline:none;flex:1}@media (prefers-reduced-motion:reduce){.terminal{transition:none}}.terminal :focus-visible{outline-color:var(--craig-accent)}.terminal.is-dancing .terminal__entry>div{animation:.5s ease-in-out infinite alternate horah-step}.terminal.is-dancing .terminal__entry>div:nth-child(2n){animation-delay:-.25s}.terminal.is-dancing .terminal__entry:nth-child(3n)>div{animation-delay:-.12s}.terminal.is-dancing .terminal__entry.is-latest{animation:1.4s ease-in-out infinite horah-lift}@keyframes horah-step{0%{transform:translate(-6px)rotate(-1.5deg)}to{transform:translate(6px,-5px)rotate(1.5deg)}}@keyframes horah-lift{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)rotate(-1deg)}}@media (prefers-reduced-motion:reduce){.terminal.is-dancing .terminal__entry,.terminal.is-dancing .terminal__entry>div{animation:none}}.terminal__daisy{display:inline-block}.terminal__daisy.is-trotting{animation:3.2s ease-in-out daisy-trot}@keyframes daisy-trot{0%{transform:translate(0)}10%{transform:translate(1.5rem,-6px)}20%{transform:translate(3rem)}30%{transform:translate(4.5rem,-6px)}40%{transform:translate(6rem)}50%{transform:translate(6rem,-8px)}60%{transform:translate(4.5rem)}70%{transform:translate(3rem,-6px)}80%{transform:translate(1.5rem)}90%{transform:translateY(-6px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.terminal__daisy.is-trotting{animation:none}}.merge__watch{border:1px solid var(--wed-line);background:var(--wed-bg);color:var(--wed-ink);font-family:var(--font-serif);letter-spacing:.22em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.55rem;margin-top:1.4rem;padding:.55rem 1.2rem .55rem .95rem;font-size:.8rem;transition:border-color .25s;display:inline-flex}.merge__watch:hover{border-color:var(--wed-ink)}.merge__watch:focus-visible{outline:2px solid var(--wed-ink);outline-offset:3px}.merge__watch svg{width:.85rem;height:.85rem;fill:var(--nicole-accent-deep)}.film{background:var(--viewer-bg);width:100%;max-width:none;height:100%;max-height:none;color:var(--viewer-ink);border:0;margin:0;padding:0;overflow:hidden}.film::backdrop{background:#1c1a1999}.film[open]{animation:film-in .35s var(--ease-out)}@keyframes film-in{0%{opacity:0}}.film__inner{outline:none;height:100%}.film__player{height:100%;padding:0 clamp(.75rem, 3vw, 2rem) calc(.9rem + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.film__bar{justify-content:space-between;align-items:center;padding:.6rem 0;display:flex}.film__bar .eyebrow{color:var(--viewer-muted)}.film__close{width:2.5rem;height:2.5rem;color:inherit;background:0 0;border:0;margin-right:-.5rem;font-size:1.8rem;line-height:1}.film__stage{cursor:pointer;flex:1;justify-content:center;align-items:center;gap:10px;min-height:0;display:flex;position:relative}.film__loading{z-index:1;color:var(--viewer-ink);letter-spacing:.25em;text-transform:uppercase;pointer-events:none;opacity:0;background:#171312bf;border-radius:999px;margin:0;padding:.45rem 1.1rem;font-size:.75rem;transition:opacity .2s;position:absolute;top:50%;left:50%;translate:-50% -50%}.film__loading.is-shown{opacity:1;transition-delay:.4s}.film__stage.is-column{flex-direction:column}.film__video{object-fit:cover;background:#000;flex:none;display:block}.film__video[hidden]{display:none}.film__controls{flex-wrap:wrap;align-items:center;gap:.8rem 1rem;width:100%;max-width:56rem;margin:.9rem auto 0;display:flex}.film__play{width:2.6rem;height:2.6rem;color:inherit;background:0 0;border:1px solid #efe6e066;border-radius:50%;flex:none;place-items:center;display:grid}.film__play svg{fill:currentColor;width:1.1rem;height:1.1rem}.film__scrub{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:8rem;height:1.5rem;margin:0}.film__scrub::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--viewer-ink) var(--progress,0%), #efe6e040 var(--progress,0%));height:2px}.film__scrub::-moz-range-track{background:linear-gradient(to right, var(--viewer-ink) var(--progress,0%), #efe6e040 var(--progress,0%));height:2px}.film__scrub::-webkit-slider-thumb{-webkit-appearance:none;background:var(--viewer-ink);border:0;border-radius:50%;width:.8rem;height:.8rem;margin-top:calc(1px - .4rem)}.film__scrub::-moz-range-thumb{background:var(--viewer-ink);border:0;border-radius:50%;width:.8rem;height:.8rem}.film__time{color:var(--viewer-muted);flex:none;font-size:.75rem}.film__views{gap:.3rem;display:flex}.film__view{color:var(--viewer-soft);font-family:var(--font-serif);background:0 0;border:1px solid #efe6e04d;border-radius:999px;padding:.35rem .8rem;font-size:.85rem}.film__view.is-active{background:var(--viewer-ink);border-color:var(--viewer-ink);color:var(--viewer-bg)}.film__close:focus-visible,.film__play:focus-visible,.film__view:focus-visible,.film__scrub:focus-visible{outline:2px solid var(--viewer-ink);outline-offset:2px}@media (width<=640px){.film__views{flex-basis:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.film[open]{animation:none}}.union{text-align:center;flex-direction:column;align-items:center;gap:clamp(5rem,12vh,9rem);padding:2rem 1.5rem 8rem;display:flex;position:relative}.merge{flex-direction:column;align-items:center;gap:1.4rem;display:flex}.merge__knot{background:var(--wed-ink);width:14px;height:14px;box-shadow:0 0 0 6px var(--wed-bg);border-radius:50%}.merge__year{border:1px solid var(--wed-line);font-variant-numeric:lining-nums;letter-spacing:.3em;text-transform:uppercase;color:var(--wed-muted);background:var(--wed-bg);border-radius:999px;padding:.4rem 1rem .35rem;font-size:.72rem}.merge__title{background:var(--wed-bg);padding:.2em 1.2rem 0;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:400;line-height:1.1}.merge__sub{color:var(--nicole-accent-text);background:var(--wed-bg);margin-top:-.6rem;padding:0 1.2rem;font-size:clamp(1.2rem,2.4vw,1.7rem);font-style:italic}.merge__aside{text-wrap:balance;max-width:30rem;color:var(--wed-muted);background:var(--wed-bg);padding:0 1rem;font-style:italic}.invite{isolation:isolate;background:radial-gradient(ellipse at 50% 30%, #fcf8f4, var(--nicole-bg) 70%);flex-direction:column;align-items:center;gap:1.2rem;width:min(44rem,100%);padding:clamp(4rem,9vw,5rem) clamp(1.75rem,6vw,4rem);display:flex;position:relative;box-shadow:0 1px 2px #3b2a2214,0 40px 80px -45px #3b2a2266}.invite:before{content:"";z-index:-1;border:3px double var(--wed-line);pointer-events:none;position:absolute;inset:.75rem}.invite__flora{z-index:-1;aspect-ratio:5/3;pointer-events:none;background:url(/flora/garland.webp) 0 0/220% no-repeat;width:clamp(8rem,36%,18rem);position:absolute;-webkit-mask-image:radial-gradient(at 0 0,#000 25%,#0000 66%);mask-image:radial-gradient(at 0 0,#000 25%,#0000 66%)}.invite__flora--top{background-position:0 0;top:0;left:0}.invite__flora--bottom{background-position:70% 0;bottom:0;right:0;transform:rotate(180deg)}.invite__rule{background:linear-gradient(to right, transparent, var(--wed-line) 30%, var(--wed-line) 70%, transparent);width:8rem;height:1px;margin:.4rem 0 -.2rem;position:relative}.invite__rule:after{content:"";background:var(--nicole-accent);width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 0 5px #fbf6f2}.invite__anchor{width:0;height:0;position:absolute;top:-1px;left:50%}.invite__bh{color:var(--wed-muted);font-size:.95rem;position:absolute;top:1.5rem;right:1.8rem}.invite__parents{width:100%;color:var(--wed-muted);grid-template-columns:1fr auto 1fr;align-items:baseline;margin-top:-.5rem;font-size:1.4rem;font-style:italic;display:grid}.invite__parents>:first-child{justify-self:end}.invite__parents>:last-child{justify-self:start}.invite__and{color:var(--nicole-accent-text);margin:0 .35rem;font-size:.85em;font-style:normal}.invite__names{margin-top:.4rem;font-size:clamp(2.8rem,7vw,4.6rem);font-weight:400;line-height:1}.invite__names em{color:var(--nicole-accent-deep);font-size:.75em;font-style:italic}.invite__ask{color:var(--wed-muted);font-size:1.4rem}.invite__ask strong{color:var(--wed-ink);font-weight:500}.invite__weekday{letter-spacing:.32em;text-transform:uppercase;color:var(--wed-muted);margin:.4rem 0 -.5rem;font-size:.95rem}.invite__date{font-variant-numeric:lining-nums;align-items:baseline;gap:clamp(1rem,3vw,2rem);margin:.2rem 0 0;font-size:clamp(2.2rem,6.5vw,3.6rem);font-weight:500;line-height:1;display:flex}.invite__date span+span:before{content:"";background:var(--wed-line);vertical-align:-.05em;width:1px;height:.7em;margin-right:clamp(1rem,3vw,2rem);display:inline-block}.invite__time{font-variant-numeric:lining-nums;color:var(--wed-muted);margin-top:-.4rem;font-size:1.15rem;font-style:italic}.invite__venue{letter-spacing:.22em;text-transform:uppercase;font-size:1rem}.invite__venue-sep{color:var(--nicole-accent);margin:0 .5rem}.invite__reception{margin-top:.15rem;display:block}.invite__reply{color:var(--wed-ink);margin-top:.4rem;font-size:1.1rem;font-style:italic}.signoff{grid-template-columns:1fr var(--gutter) 1fr;width:min(var(--content-max), 100%);align-items:center;display:grid}.signoff__craig{color:var(--craig-muted-on-light);white-space:nowrap;justify-self:end}.signoff__nicole{color:var(--nicole-accent-text);grid-column:3;justify-self:start;font-size:2.1rem}@media (width<=720px){.signoff{grid-template-columns:1fr;justify-items:center;row-gap:.6rem}.signoff__craig{justify-self:center;font-size:.72rem}.signoff__nicole{grid-column:1;justify-self:center;font-size:1.9rem}}@media (width<=560px){.invite__parents{grid-template-columns:1fr;justify-items:center}.invite__parents>:nth-child(n){justify-self:center}.invite__and{margin:.1rem 0}.invite__venue span{display:block}.invite__venue .invite__venue-sep{display:none}.invite{gap:.75rem;padding:2.6rem 1.4rem 2.4rem}.invite__flora{width:clamp(6rem,30%,9rem)}.invite__parents,.invite__ask{font-size:1.25rem}.invite__names{font-size:2.6rem}}@media (width<=560px) and (height<=720px){.invite{gap:.55rem;padding:2.1rem 1.2rem 2rem}.invite__parents,.invite__ask{font-size:1.12rem}.invite__date{font-size:2rem}.invite__venue{font-size:.9rem}}.journey{position:relative}.holding{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100svh;padding:2rem;display:flex}.holding__names{font-size:clamp(3rem,9vw,6rem);font-weight:400;line-height:1}.holding__names em{color:var(--nicole-accent-deep);font-size:.75em;font-style:italic}.holding__note{max-width:28rem;color:var(--wed-muted);font-style:italic}.holding__note--small{margin-top:-.4rem;font-size:.9rem}.holding__retry{border:1px solid var(--wed-ink);background:var(--wed-ink);color:var(--wed-bg);letter-spacing:.2em;text-transform:uppercase;padding:.7rem 2rem;font-size:.8rem}
