:root{--ink:#111;--ink-soft:#666;--line:#222;--line-soft:rgba(17,17,17,0.12);--accent:#c97878;--accent-soft:#efd0d0;--paper:#fff;--paper-soft:#f6f6f4;--mist:#ececec;--ff-display:var(--font-display),Georgia,serif;--ff-script:var(--font-script),cursive;--ff-body:var(--font-body),system-ui,sans-serif;--ease:cubic-bezier(0.22,1,0.36,1);--nav-h:3.75rem;--page-pad:clamp(1.1rem,4vw,4.5rem);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%}body{margin:0;font-family:var(--ff-body);font-weight:400;color:var(--ink);background:var(--paper);line-height:1.6;overflow-x:hidden}body.is-intro-active{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;max-width:100%}.btn,.gallery__item,.intro__btn,.music-btn,.nav__toggle,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.is-hidden{opacity:0;pointer-events:none;transform:translateY(.4rem)}.floaters{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.floater{position:absolute;color:var(--accent);opacity:.35;animation:float-away linear forwards}.floater svg{width:100%;height:100%;display:block}@keyframes float-away{0%{transform:translateZ(0) rotate(0) scale(.7);opacity:0}15%{opacity:.4}to{transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot)) scale(1);opacity:0}}.draw__path{stroke:var(--line);fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.intro .draw__path,.reveal.is-visible .draw__path{animation:draw-stroke 1.5s var(--ease) forwards}@keyframes draw-stroke{to{stroke-dashoffset:0}}.intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:max(1.25rem,var(--safe-top)) max(1.1rem,var(--safe-right)) max(1.25rem,var(--safe-bottom)) max(1.1rem,var(--safe-left));background:var(--paper);transition:opacity .9s var(--ease),visibility .9s,transform .9s var(--ease),filter .9s var(--ease);overflow-y:auto}.intro.is-done{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.06);filter:blur(10px)}.intro__art{position:absolute;top:10%;left:50%;width:min(22vw,5.5rem);transform:translateX(-50%)}.intro__art .draw__path{stroke:var(--accent);animation:draw-stroke 1.3s var(--ease) .1s forwards}.intro__content{position:relative;width:min(100%,36rem);text-align:center;padding-top:4.5rem;display:flex;flex-direction:column;align-items:center}.intro__eyebrow{margin:0 0 1rem;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.intro__quote-wrap{max-width:100%;margin:0}.intro__quote{display:inline;font-family:var(--ff-display);font-size:clamp(1.2rem,4.8vw,2rem);font-style:italic;line-height:1.45;margin:0}.intro__cursor{display:inline-block;width:.08em;height:1em;margin-left:.08em;vertical-align:-.08em;background:var(--accent);animation:blink .85s steps(1) infinite}.intro__cursor.is-done{opacity:0;animation:none}.intro__attr{margin:1rem 0 0;font-family:var(--ff-script);font-size:1.3rem;color:var(--ink-soft);transition:opacity .5s,transform .5s}.intro__attr:not(.is-hidden){opacity:1;transform:none;pointer-events:auto}.intro__btn{margin-top:1.75rem;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:.9rem 1.6rem;letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;font-weight:500;cursor:pointer;min-height:2.7rem;width:min(100%,16rem);transition:background .3s,color .3s,opacity .6s,transform .3s}.intro__btn:not(.is-hidden){opacity:1;pointer-events:auto;transform:none;animation:rise-in .65s var(--ease) both}.intro__btn:hover{background:var(--ink);color:var(--paper)}@keyframes blink{50%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:none}}.site{opacity:0;transform:translateY(1.5rem) scale(.985);transition:opacity 1s var(--ease) .1s,transform 1s var(--ease) .1s}.site.is-open{opacity:1;transform:none}.site.is-locked{pointer-events:none}.site.is-open .hero__top{animation:hero-rise 1.05s var(--ease) .35s both}.site.is-open .hero__photo{animation:hero-rise 1.15s var(--ease) .55s both}@keyframes hero-rise{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:calc(var(--nav-h) + var(--safe-top));padding-top:var(--safe-top);display:flex;align-items:center;gap:.5rem;padding-left:max(var(--page-pad),var(--safe-left));padding-right:max(var(--page-pad),var(--safe-right));background:transparent;border-bottom:1px solid transparent;transition:border-color .3s}.nav:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none}.nav.is-scrolled{border-bottom-color:var(--line-soft)}.nav__brand{font-family:var(--ff-display);font-size:1.2rem;font-weight:500;z-index:2;flex-shrink:0}.nav__brand span{font-family:var(--ff-script);color:var(--accent);font-size:1.35rem;margin:0 .1rem}.nav__links{display:flex;gap:1.4rem;margin-left:auto;margin-right:.75rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}.nav__links a{opacity:.55;transition:opacity .2s}.nav__links a:hover{opacity:1}.nav__drawer{display:none}.nav__toggle{display:none;width:2.6rem;height:2.6rem;border:0;background:transparent;margin-left:auto;cursor:pointer;z-index:2;color:var(--ink)}.nav__toggle span{display:block;width:1.2rem;height:1.5px;margin:.32rem auto;background:currentColor;transition:transform .3s}.nav__toggle[aria-expanded=true] span:first-child{transform:translateY(3.4px) rotate(45deg)}.nav__toggle[aria-expanded=true] span:last-child{transform:translateY(-3.4px) rotate(-45deg)}.music-btn{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line-soft);background:var(--paper);padding:.45rem .7rem;min-height:2.4rem;cursor:pointer;z-index:2;flex-shrink:0}.music-btn__bars{display:flex;align-items:flex-end;gap:2px;height:.8rem}.music-btn__bars i{display:block;width:2px;height:40%;background:var(--accent);transform-origin:bottom}.music-btn[aria-pressed=true] .music-btn__bars i{animation:equalize .85s ease-in-out infinite}.music-btn__bars i:nth-child(2){height:70%;animation-delay:.12s}.music-btn__bars i:nth-child(3){height:100%;animation-delay:.24s}.music-btn__bars i:nth-child(4){height:55%;animation-delay:.36s}.music-btn__label{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}@keyframes equalize{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.hero{min-height:100svh;min-height:100dvh;display:grid;grid-template-rows:minmax(0,1.05fr) minmax(12rem,.95fr);background:var(--paper)}.hero__top{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--nav-h) + var(--safe-top) + 1.25rem) var(--page-pad) 1.5rem;animation:rise-in .9s var(--ease) .15s both}.hero__eyebrow{margin:0;font-size:clamp(.68rem,2.2vw,.78rem);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft)}.hero__eyebrow,.hero__names{font-family:var(--ff-display)}.hero__names{margin:.85rem 0 0;font-weight:500;font-size:clamp(2.6rem,10vw,4.75rem);line-height:1;letter-spacing:.01em}.hero__names em{font-style:italic;font-weight:400;margin:0 .15em}.hero__meta{margin:.85rem 0 0;font-family:var(--ff-display);font-size:clamp(.95rem,2.8vw,1.15rem);color:var(--ink-soft)}.hero__countdown{display:grid;grid-template-columns:repeat(4,minmax(3.4rem,5rem));grid-gap:.35rem .75rem;gap:.35rem .75rem;margin:1.6rem 0 1.75rem;width:100%;max-width:22rem;justify-content:center}.hero__cd{text-align:center}.hero__cd-num{display:block;font-family:var(--ff-display);font-size:clamp(1.45rem,5.5vw,1.9rem);font-weight:500;line-height:1.1;transition:color .25s,transform .25s}.hero__cd.is-pulse .hero__cd-num{color:var(--accent);transform:translateY(-1px)}.hero__cd-label{display:block;margin-top:.2rem;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.hero__photo{position:relative;min-height:0;overflow:hidden;background:var(--paper)}.hero__img,.hero__video{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}.hero__blend{position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,var(--paper) 0,rgba(255,255,255,.75) 4%,rgba(255,255,255,.28) 10%,transparent 18%),linear-gradient(0deg,rgba(255,255,255,.18) 0,transparent 8%)}.hero__img{transform:scale(1.02);animation:photo-drift 18s ease-in-out infinite alternate}@keyframes photo-drift{to{transform:scale(1.06) translateY(-1%)}}.family{padding:clamp(3rem,7vw,5.5rem) var(--page-pad);text-align:center}.family__header{margin-bottom:2rem}.family__grid{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:clamp(1rem,3vw,2rem);gap:clamp(1rem,3vw,2rem);align-items:center;max-width:48rem;margin:0 auto}.family__card{padding:1.5rem 1rem}.family__role{margin:0;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:500}.family__name{margin:.55rem 0 0;font-family:var(--ff-display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:500;line-height:1.1}.family__of{margin:.85rem 0 0;font-family:var(--ff-script);font-size:1.25rem;color:var(--ink-soft)}.family__parents{margin:.35rem 0 0;font-size:.95rem;color:var(--ink-soft);line-height:1.55;font-weight:300}.family__amp{font-family:var(--ff-script);font-size:clamp(2rem,5vw,2.8rem);color:var(--accent);line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:.85rem 1.5rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:transform .25s,background .25s,color .25s}.btn:hover{transform:translateY(-1px)}.btn.is-loading,.btn:disabled{cursor:wait;opacity:.72;transform:none;pointer-events:none}.btn__spinner{width:.85rem;height:.85rem;margin-right:.55rem;border:1.5px solid;border-right:1.5px solid transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.btn--pill{background:var(--ink);color:var(--paper);border-radius:999px;padding:.85rem 2rem;border-color:var(--ink)}.btn--pill:hover{background:#000}.btn--line{background:transparent;color:var(--ink);border:1px solid var(--line-soft)}.btn--line:hover{border-color:var(--ink)}.section__eyebrow{margin:0 0 .55rem;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-weight:500}.section__title{margin:0;font-family:var(--ff-display);font-weight:500;font-size:clamp(1.85rem,5vw,2.9rem);line-height:1.15}.section__lead{margin:.8rem 0 0;max-width:32rem;color:var(--ink-soft);font-weight:300}.section-doodle{width:4rem;margin:0 auto .85rem;display:block}.section-doodle .draw__path{stroke:var(--accent)}.reveal{opacity:0;transform:translateY(1.6rem);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.story{padding:clamp(3rem,7vw,5.5rem) var(--page-pad)}.story__intro{max-width:36rem;margin:0 auto clamp(2.2rem,5vw,3.5rem);text-align:center}.story__intro .section__lead{margin-left:auto;margin-right:auto}.timeline{display:grid;grid-gap:clamp(2rem,5vw,3.5rem);gap:clamp(2rem,5vw,3.5rem);max-width:52rem;margin:0 auto}.timeline__item{display:grid;grid-template-columns:minmax(10rem,.9fr) 1.1fr;grid-gap:1.25rem;gap:1.25rem;align-items:center}.timeline__item--reverse{direction:rtl}.timeline__item--reverse>*{direction:ltr}.timeline__media{overflow:hidden;aspect-ratio:3/4;background:var(--mist);border:1px solid var(--line-soft)}.timeline__media img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .9s var(--ease)}.timeline__item:hover .timeline__media img{transform:scale(1.04)}.timeline__when{margin:0 0 .3rem;font-family:var(--ff-script);font-size:1.25rem;color:var(--accent)}.timeline__text h3{margin:0;font-family:var(--ff-display);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:500}.timeline__text p:last-child{margin:.6rem 0 0;color:var(--ink-soft);font-weight:300}.moments{padding:clamp(3rem,7vw,5.5rem) var(--page-pad);background:var(--paper-soft)}.moments__header{max-width:34rem;margin-bottom:1.75rem}.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(9rem,16vw);grid-gap:.65rem;gap:.65rem}.gallery__item{position:relative;padding:0;border:0;cursor:pointer;overflow:hidden;background:var(--mist);grid-column:span 4}.gallery__item--tall{grid-row:span 2}.gallery__item--wide{grid-column:span 8}.gallery__item img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .7s var(--ease)}.gallery__frame{position:absolute;inset:.45rem;border:1px solid rgba(255,255,255,.65);pointer-events:none}.gallery__item:hover img{transform:scale(1.04)}.details{padding:clamp(3rem,7vw,5.5rem) var(--page-pad)}.details__header{margin-bottom:1.75rem;text-align:center}.details__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1.75rem}.detail{text-align:center;padding:1.35rem .9rem;border:1px dashed var(--line-soft)}.detail__icon{width:3.2rem;height:3.2rem;margin:0 auto .85rem}.detail__icon svg{width:100%;height:100%}.detail__label{margin:0 0 .35rem;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.detail h3{margin:0;font-family:var(--ff-display);font-size:1.3rem;font-weight:500}.detail p:last-child{margin:.4rem 0 0;color:var(--ink-soft);font-weight:300;font-size:.95rem}.map{position:relative;overflow:hidden;aspect-ratio:21/9;min-height:14rem;border:1px solid var(--line-soft)}.map iframe{width:100%;height:100%;border:0;filter:grayscale(.7)}.map__link{position:absolute;left:50%;bottom:.85rem;transform:translateX(-50%);z-index:1;display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.15rem;min-height:2.4rem;background:var(--paper);border:1px solid var(--ink);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;transition:background .25s,color .25s}.map__link:hover{background:var(--ink);color:var(--paper)}.wishes{padding:clamp(3rem,7vw,5.5rem) var(--page-pad);padding-bottom:calc(clamp(3rem, 7vw, 5.5rem) + var(--safe-bottom));background:var(--paper-soft)}.wishes__panel{max-width:32rem;margin:0 auto 2rem;padding:clamp(1.5rem,4vw,2.4rem);background:var(--paper);border:1px solid var(--line-soft);text-align:center}.wishes__doodle{width:4.5rem;margin:0 auto .7rem}.wishes__doodle .draw__path{stroke:var(--accent)}.wishes__panel .section__lead{margin-left:auto;margin-right:auto}.wish-form{margin-top:1.5rem;display:grid;grid-gap:1rem;gap:1rem;text-align:left}.wish-form label{display:grid;grid-gap:.35rem;gap:.35rem}.wish-form label>span{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.wish-form input,.wish-form textarea{width:100%;border:0;border-bottom:1px solid var(--line-soft);background:transparent;padding:.7rem 0;font-size:1rem;outline:none;border-radius:0;resize:vertical}.wish-form input:focus,.wish-form textarea:focus{border-color:var(--accent)}.wish-form .btn{justify-self:center;margin-top:.35rem;min-width:11rem}.wish-form.is-loading input,.wish-form.is-loading textarea{opacity:.55}.thank-popup{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:1.25rem;background:rgba(17,17,17,.35);animation:thank-fade .35s var(--ease) both}.thank-popup__panel{width:min(100%,22rem);padding:2rem 1.5rem 1.5rem;background:var(--paper);border:1px solid var(--line-soft);text-align:center;animation:thank-pop .5s var(--ease) both}.thank-popup__heart{width:2.1rem;height:2.1rem;margin:0 auto .85rem;color:var(--accent)}.thank-popup__heart svg{width:100%;height:100%;display:block}.thank-popup__title{margin:0;font-family:var(--ff-script);font-size:clamp(1.7rem,5vw,2.1rem);font-weight:500;color:var(--ink);line-height:1.15}.thank-popup__body{margin:.55rem 0 1.35rem;font-size:.95rem;color:var(--ink-soft);line-height:1.5;font-weight:300}.thank-popup__panel .btn{min-width:8.5rem}@keyframes thank-fade{0%{opacity:0}to{opacity:1}}@keyframes thank-pop{0%{opacity:0;transform:translateY(.8rem) scale(.96)}to{opacity:1;transform:none}}.wish-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:.75rem;gap:.75rem;max-width:56rem;margin:0 auto}.wish-more-wrap{display:flex;justify-content:center;margin-top:1.5rem}.wish-more-btn.is-hidden{display:none}.wish-card{padding:1.15rem 1.05rem;background:var(--paper);border:1px solid var(--line-soft);border-left:2px solid var(--accent)}.wish-card.is-new{animation:wish-in .7s var(--ease) both}@keyframes wish-in{0%{opacity:0;transform:translateY(.85rem) scale(.97)}to{opacity:1;transform:none}}.wish-card p{margin:0;font-family:var(--ff-display);font-size:1.1rem;font-style:italic}.wish-card span{display:block;margin-top:.65rem;font-family:var(--ff-script);font-size:1.1rem;color:var(--accent)}.wish-modal{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:max(1rem,var(--safe-top)) max(1rem,var(--safe-right)) max(1rem,var(--safe-bottom)) max(1rem,var(--safe-left));background:rgba(17,17,17,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.wish-modal[hidden]{display:none}.wish-modal__panel{width:min(100%,34rem);max-height:min(80vh,36rem);display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line-soft);box-shadow:0 24px 60px rgba(0,0,0,.18);animation:rise-in .35s var(--ease)}.wish-modal__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--line-soft);flex-shrink:0}.wish-modal__title{margin:0;font-family:var(--ff-display);font-size:1.55rem;font-weight:500}.wish-modal__close{width:2.4rem;height:2.4rem;border:0;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--ink)}.wish-modal__list{overflow-y:auto;padding:1rem 1.2rem 1.25rem;display:grid;grid-gap:.75rem;gap:.75rem;-webkit-overflow-scrolling:touch}.wish-modal__list .wish-card{animation:none}.footer{padding:2.75rem var(--page-pad) calc(2.75rem + var(--safe-bottom));text-align:center;border-top:1px solid var(--line-soft)}.footer__art{width:8rem;margin:0 auto .85rem;color:var(--accent)}.footer__names{margin:0;font-family:var(--ff-display);font-size:clamp(1.7rem,4vw,2.3rem);font-weight:500}.footer__names em{font-style:italic;margin:0 .12em}.footer__note{margin:.5rem auto 0;max-width:22rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(255,255,255,.96);padding:max(3.25rem,calc(var(--safe-top) + 2.75rem)) max(.85rem,var(--safe-right)) max(4rem,calc(var(--safe-bottom) + 3.25rem)) max(.85rem,var(--safe-left))}.lightbox[hidden]{display:none}.lightbox img{max-width:min(92vw,1000px);max-height:min(70vh,80dvh);object-fit:contain;border:1px solid var(--line-soft)}.lightbox__close,.lightbox__nav{position:absolute;border:1px solid var(--line-soft);background:var(--paper);width:2.6rem;height:2.6rem;display:grid;place-items:center;cursor:pointer;font-size:1.5rem;padding:0}.lightbox__close{top:max(.65rem,var(--safe-top));right:max(.65rem,var(--safe-right))}.lightbox__nav--prev{left:max(.5rem,var(--safe-left));bottom:max(.9rem,var(--safe-bottom))}.lightbox__nav--next{right:max(.5rem,var(--safe-right));bottom:max(.9rem,var(--safe-bottom))}.burst{position:fixed;inset:0;pointer-events:none;z-index:300}.burst__heart{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);color:var(--accent);animation:burst-fly .95s var(--ease) forwards}.burst__heart svg{width:100%;height:100%}@keyframes burst-fly{0%{transform:translate(-50%,-50%) scale(.3);opacity:.9}to{transform:translate(calc(-50% + var(--bx)),calc(-50% + var(--by))) scale(1) rotate(var(--br));opacity:0}}@media (max-width:900px){.nav__toggle{display:block}.nav__links--desktop{display:none}.nav__drawer{display:flex;position:fixed;inset:0;z-index:90;margin:0;flex-direction:column;align-items:center;justify-content:center;gap:1.35rem;background:rgba(255,255,255,.98);font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s}.nav__drawer.is-open{opacity:1;visibility:visible;pointer-events:auto}.nav__drawer a{opacity:.85}.music-btn,.nav__brand,.nav__toggle{position:relative;z-index:95}.timeline__item,.timeline__item--reverse{grid-template-columns:1fr;direction:ltr;text-align:center;gap:.85rem}.timeline__media{width:min(72vw,18rem);margin:0 auto;aspect-ratio:3/4}.details__grid,.family__grid{grid-template-columns:1fr}.family__grid{gap:.35rem}.family__amp{transform:rotate(0deg);padding:.25rem 0}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(8.5rem,36vw)}.gallery__item,.gallery__item--tall,.gallery__item--wide{grid-column:span 1;grid-row:span 1}.gallery__item:nth-child(4){grid-column:span 2}}@media (min-width:901px){.lightbox__nav--next,.lightbox__nav--prev{top:50%;bottom:auto;transform:translateY(-50%)}}@media (max-width:700px){.hero{grid-template-rows:auto minmax(46vh,1.15fr);min-height:100svh;min-height:100dvh}.hero__top{padding-top:calc(var(--nav-h) + var(--safe-top) + .85rem);padding-bottom:.85rem;justify-content:flex-start}.hero__names{font-size:clamp(2.35rem,11vw,3.4rem)}.hero__countdown{margin:1.05rem 0 1.15rem;max-width:18.5rem;gap:.25rem .5rem}.hero__photo{min-height:42vh}.hero__img,.hero__video{object-position:center 18%}.hero__blend{background:linear-gradient(180deg,var(--paper) 0,rgba(255,255,255,.7) 5%,rgba(255,255,255,.25) 12%,transparent 20%),linear-gradient(0deg,rgba(255,255,255,.15) 0,transparent 8%)}.music-btn__label{display:none}}@media (max-width:560px){.gallery{grid-template-columns:1fr;grid-auto-rows:auto}.gallery__item,.gallery__item--tall,.gallery__item--wide,.gallery__item:nth-child(4){grid-column:1;aspect-ratio:4/5}.gallery__item:nth-child(4){aspect-ratio:16/11}.map{aspect-ratio:4/3}.wish-wall{grid-template-columns:1fr}.btn--pill{width:min(100%,14rem)}}@media (max-height:720px) and (max-width:700px){.hero{grid-template-rows:auto minmax(32vh,42vh);min-height:auto}.hero__top{padding-bottom:.85rem}.hero__names{font-size:clamp(2.1rem,9vw,2.8rem)}.hero__countdown{margin:.9rem 0 1rem}.hero__eyebrow{letter-spacing:.22em}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.draw__path{stroke-dashoffset:0!important}.intro,.intro.is-done,.site,.site.is-open{filter:none;transform:none}.site.is-open .hero__photo,.site.is-open .hero__top{animation:none;opacity:1}}