@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:wght@400;500;600&family=Great+Vibes&display=swap";html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--ivory: #fbfaf7;--paper: #f3f7f8;--blue-50: #f3f9fb;--blue-100: #e4f1f5;--blue-200: #c6dfe8;--blue-300: #a9ccd9;--blue-400: #82b2c4;--blue-500: #5e92a7;--blue-700: #386879;--ink: #22363f;--muted: #60737b;--line: rgba(34, 65, 76, .17);--champagne: #c4a273;--display: "Cormorant Garamond", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif;--script: "Great Vibes", cursive;--shadow-soft: 0 18px 55px rgba(31, 68, 80, .1);--shadow-deep: 0 30px 90px rgba(22, 48, 58, .18);font-family:var(--sans);color:var(--ink);background:var(--ivory);font-synthesis:none;text-rendering:optimizeLegibility}html{background:var(--ivory)}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--ivory);font-size:16px}body.cover-locked,body.dialog-open{overflow:hidden}*,*:before,*:after{box-sizing:border-box}button,a,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}#story,#events,#gallery,#rsvp{scroll-margin-top:88px}.scroll-progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:3px;pointer-events:none}.scroll-progress span{display:block;width:var(--progress, 0%);height:100%;background:linear-gradient(90deg,var(--blue-500),var(--champagne));box-shadow:0 0 14px #5e92a78c;transition:width .18s ease-out}.eyebrow{margin:0 0 1.1rem;color:var(--blue-700);font-size:.67rem;font-weight:600;letter-spacing:.22em;line-height:1.3;text-transform:uppercase}.eyebrow.light{color:#ffffffc2}.section-pad{padding:clamp(5.5rem,12vw,10.5rem) max(1.35rem,calc((100vw - 1240px)/2))}.monogram{color:var(--blue-700);font-family:var(--display);font-size:1.4rem;letter-spacing:.08em}.monogram i,.header-mark i{color:var(--champagne);font-style:normal;margin:0 .15em}.monogram.small{font-size:1.05rem}.opening-cover{isolation:isolate;position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;color:#fff;background:#2d4d59}.opening-cover:after{position:absolute;z-index:-1;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) .6px,transparent .6px);background-size:5px 5px;content:"";mix-blend-mode:soft-light;opacity:.18;pointer-events:none}.opening-cover.opening{opacity:0;transform:translateY(-3%) scale(1.015);filter:blur(6px);transition:opacity .52s ease,transform .62s cubic-bezier(.22,1,.36,1),filter .52s ease;pointer-events:none}.cover-image,.cover-wash{position:absolute;inset:0}.cover-image{z-index:-3;background-position:center 42%;background-size:cover;animation:cover-settle 18s ease-out both}.cover-wash{z-index:-2;background:linear-gradient(180deg,#122c3426,#122c34c7),linear-gradient(110deg,rgba(18,44,52,.3),transparent 64%)}.cover-topline{position:absolute;top:max(1.3rem,env(safe-area-inset-top));left:max(1.35rem,calc((100vw - 1240px)/2));right:max(1.35rem,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between}.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:50%;mix-blend-mode:screen}.brand-logo-header{width:42px;height:42px;border-radius:0;mix-blend-mode:multiply}.cover-content{width:min(90vw,760px);margin-top:5vh;text-align:center}.cover-content h1{display:flex;flex-direction:column;align-items:center;gap:.02em;margin:.8rem 0 1.8rem;font-family:var(--display);font-size:clamp(5rem,18vw,9.6rem);font-weight:500;letter-spacing:-.06em;line-height:.7;text-shadow:0 10px 35px rgba(15,35,42,.16)}.cover-content h1 span:last-child{margin-left:1.55em}.cover-content h1 small{margin:.16em 0 .08em 1.65em;color:var(--champagne);font-family:var(--script);font-size:.38em;font-style:normal;font-weight:400;letter-spacing:0;line-height:1}.cover-rule{width:3.5rem;height:1px;margin:0 auto 1rem;background:#ffffff94}.cover-date{margin:0;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.guest-line{display:flex;flex-direction:column;gap:.25rem;margin:2.5rem 0 1.8rem;font-family:var(--display);font-size:1.38rem}.guest-line span{color:#ffffffb8;font-family:var(--sans);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase}.guest-line strong{font-weight:500}.cover-footer{position:absolute;bottom:max(1.35rem,env(safe-area-inset-bottom));left:50%;display:flex;align-items:center;gap:.75rem;margin:0;color:#ffffffb3;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;transform:translate(-50%);white-space:nowrap}.cover-footer:before{display:block;width:1.75rem;height:1px;background:#ffffff8c;content:""}.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:48px;padding:.8rem 1.35rem;border-radius:6px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:background .24s ease,color .24s ease,transform .24s ease,box-shadow .24s ease}.button:hover{transform:translateY(-2px);box-shadow:0 9px 22px #16303a26}.button:active{transform:translateY(0)}.button-light{position:relative;overflow:hidden;color:var(--ink);background:#fffffff5}.button-light:after{position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.72) 48%,transparent 70%);content:"";transform:translate(-120%);transition:transform .75s ease}.button-light:hover:after{transform:translate(120%)}.button:disabled{cursor:wait;opacity:.72}.button-dark{color:#fff;background:var(--ink)}.button-dark:hover{background:var(--blue-700)}.language-switcher{display:inline-flex;align-items:center;gap:.4rem;color:#ffffffd1;font-size:.67rem;letter-spacing:.14em}.language-switcher button{min-width:40px;min-height:40px;padding:0;color:inherit;background:transparent;font-size:.67rem;cursor:pointer;transition:color .2s ease}.language-switcher button.active{color:#fff;font-weight:700}.language-switcher.dark{color:var(--muted)}.language-switcher.dark button.active{color:var(--ink)}.button:focus-visible,.icon-button:focus-visible,.copy-button:focus-visible,.gallery-item:focus-visible,.lightbox-nav:focus-visible,.lightbox-close:focus-visible,.language-switcher button:focus-visible,.text-link:focus-visible,.site-footer button:focus-visible,.carousel-controls button:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}.invitation-shell{visibility:hidden;opacity:0;transition:opacity .55s ease,visibility 0s linear .55s}.invitation-shell.visible{visibility:visible;opacity:1;transition-delay:0s}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 max(1.35rem,calc((100vw - 1240px)/2));border-bottom:1px solid rgba(34,65,76,.11);background:#fbfaf7e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-mark{display:inline-flex;align-items:center;color:var(--blue-700);font-family:var(--display);font-size:1.3rem;letter-spacing:.03em}.site-header nav{display:flex;gap:clamp(1rem,3vw,2.7rem);margin-left:auto;margin-right:clamp(1rem,3vw,2.5rem)}.site-header nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;transition:color .2s ease}.site-header nav a:after{position:absolute;right:0;bottom:6px;left:0;height:1px;background:var(--champagne);content:"";transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.site-header nav a:hover{color:var(--ink)}.site-header nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{display:flex;align-items:center;gap:.65rem}.icon-button,.site-footer button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;transition:background .2s ease,border-color .2s ease,transform .2s ease}.icon-button:hover,.site-footer button:hover{border-color:var(--blue-400);background:var(--blue-100);transform:translateY(-1px)}.hero-section{position:relative;min-height:min(820px,calc(100vh - 72px));overflow:hidden;color:#fff;background:#637d89}.hero-media,.hero-media img,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center 44%;animation:ken-burns 18s ease-out both;background:#dcebf1}.motion-parallax{will-change:transform}.hero-overlay{background:linear-gradient(90deg,#132b35b3,#132b351a 72%),linear-gradient(0deg,rgba(20,39,48,.58),transparent 58%)}.hero-copy{position:relative;z-index:1;display:flex;min-height:inherit;flex-direction:column;justify-content:flex-end;width:min(100%,1240px);margin:auto;padding:0 max(1.35rem,calc((100vw - 1240px)/2)) clamp(3rem,8vw,6.4rem)}.hero-copy h2{max-width:690px;margin:0 0 1.5rem;font-family:var(--display);font-size:clamp(5.4rem,12vw,10rem);font-weight:500;letter-spacing:-.07em;line-height:.68;text-wrap:balance}.hero-copy h2 em{color:var(--champagne);font-family:var(--script);font-size:.38em;font-style:normal;letter-spacing:0;vertical-align:.15em}.hero-fullnames{margin:0 0 1.2rem;color:#ffffffd4;font-size:.67rem;letter-spacing:.16em;text-transform:uppercase}.hero-fullnames span{margin:0 .5rem;color:var(--champagne)}.hero-date{display:inline-flex;align-items:center;gap:.45rem;margin:0;color:#ffffffb8;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.hero-side-note{position:absolute;z-index:1;right:max(1.35rem,calc((100vw - 1240px)/2));bottom:3.4rem;display:flex;align-items:center;gap:.65rem;color:#ffffffb3;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl}.hero-side-note span{display:block;width:1px;height:3.2rem;margin-top:.6rem;background:#ffffff8c}.section-intro h2,.story-heading h2,.gallery-heading h2,.events-heading h2,.countdown-section h2,.gift-heading h2,.wishes-inner h2{margin:0 0 1.35rem;font-family:var(--display);font-size:clamp(3rem,6vw,5.5rem);font-weight:500;letter-spacing:-.055em;line-height:.88;text-wrap:balance}.section-intro h2 i{color:var(--blue-700);font-style:italic}.section-intro>p:last-child,.story-heading>p:last-child,.gallery-heading>p:last-child,.events-heading>p:last-child,.gift-heading>p:last-child{max-width:26rem;margin:0;color:var(--muted);font-size:.92rem;line-height:1.75}.quote-section{position:relative;max-width:980px;margin:auto;text-align:center}.section-number{position:absolute;top:3.2rem;left:max(1.35rem,calc((100vw - 1240px)/2));color:var(--blue-400);font-size:.64rem;letter-spacing:.16em}.quote-mark{height:2.4rem;margin-bottom:.45rem;color:var(--champagne);font-family:var(--script);font-size:7rem;line-height:.7}.quote-section blockquote{max-width:810px;margin:0 auto 1.4rem;font-family:var(--display);font-size:clamp(2.2rem,5vw,4.4rem);font-weight:400;letter-spacing:-.045em;line-height:.98}.quote-section cite{color:var(--muted);font-size:.67rem;font-style:normal;letter-spacing:.16em;text-transform:uppercase}.couple-section{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.55fr);gap:clamp(3rem,10vw,10rem);align-items:start}.section-intro{position:sticky;top:120px}.couple-grid{display:grid;gap:clamp(3.5rem,9vw,8rem)}.person-block{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(150px,.7fr);gap:clamp(1.2rem,4vw,3.4rem);align-items:end}.person-block.bride-block{grid-template-columns:minmax(150px,.7fr) minmax(0,1.15fr)}.person-photo{position:relative;overflow:hidden;aspect-ratio:.82 / 1;background:var(--blue-100);box-shadow:var(--shadow-soft)}.person-photo:after{position:absolute;inset:0;border:1px solid rgba(255,255,255,.34);content:"";pointer-events:none}.person-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,1,.36,1),filter .4s ease}.person-block:hover .person-photo img{filter:saturate(1.05);transform:scale(1.055)}.person-info{padding-bottom:.65rem}.person-info h3{margin:.45rem 0 .7rem;font-family:var(--display);font-size:clamp(2.5rem,4vw,4.3rem);font-weight:500;letter-spacing:-.055em;line-height:.8}.person-info p{max-width:16rem;margin:0;color:var(--muted);font-size:.76rem;line-height:1.55}.person-role{color:var(--blue-500);font-size:.65rem;letter-spacing:.17em;text-transform:uppercase}.blue-field{position:relative;overflow:hidden;background:var(--blue-100)}.blue-field:before{position:absolute;top:-10rem;right:-8rem;width:30rem;height:30rem;border:1px solid rgba(94,146,167,.16);border-radius:50%;content:"";pointer-events:none}.events-section{padding-top:clamp(5.5rem,10vw,9rem);padding-bottom:clamp(5.5rem,10vw,9rem)}.events-heading{display:grid;grid-template-columns:.8fr 1.25fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(3rem,7vw,5.5rem)}.events-heading h2{max-width:28rem}.events-heading>p:last-child{justify-self:end;max-width:18rem}.event-list{border-top:1px solid var(--line)}.event-row{display:grid;grid-template-columns:3rem minmax(180px,1fr) minmax(360px,1.5fr) auto;gap:clamp(1.3rem,3vw,3rem);align-items:center;padding:2.2rem 0;border-bottom:1px solid var(--line);transition:padding .35s ease}.event-row:hover{padding-right:.6rem;padding-left:.6rem}.event-index{color:var(--blue-700);font-size:.65rem;letter-spacing:.14em}.event-main h3{margin:0 0 .45rem;font-family:var(--display);font-size:clamp(2rem,3vw,2.8rem);font-weight:500;letter-spacing:-.04em;line-height:.88}.event-main p{margin:0;color:var(--muted);font-size:.78rem}.event-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:0}.event-meta dt{display:flex;align-items:center;gap:.4rem;margin-bottom:.55rem;color:var(--muted);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.event-meta dd{margin:0;font-family:var(--display);font-size:1.22rem;line-height:1.1}.event-meta dd span{color:var(--muted);font-family:var(--sans);font-size:.68rem;line-height:1.5}.text-link{display:inline-flex;align-items:center;gap:.45rem;border-bottom:1px solid var(--ink);padding:.3rem 0;color:var(--ink);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:gap .2s ease,color .2s ease}.text-link:hover{gap:.7rem;color:var(--blue-700)}.countdown-section{position:relative;text-align:center}.countdown-section h2{max-width:42rem;margin-right:auto;margin-left:auto}.countdown-grid{display:inline-grid;grid-template-columns:repeat(4,minmax(80px,120px));margin-top:.8rem}.countdown-grid>div{display:flex;flex-direction:column;gap:.55rem;padding:0 1.5rem;border-right:1px solid var(--line)}.countdown-grid>div:last-child{border:0}.countdown-grid strong{font-family:var(--display);font-size:clamp(3.6rem,8vw,5.8rem);font-weight:500;letter-spacing:-.06em;line-height:.78}.countdown-grid span{color:var(--muted);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.arrived-message{margin:0;color:var(--blue-700);font-family:var(--display);font-size:1.8rem}.story-section{background:var(--paper)}.story-heading{display:grid;grid-template-columns:.8fr 1.1fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(3.5rem,8vw,7rem)}.story-heading h2{margin:0}.story-heading>p:last-child{justify-self:end;max-width:16rem}.story-list{display:grid;gap:clamp(4rem,10vw,9rem)}.story-item{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:clamp(2rem,6vw,7rem);align-items:center}.story-item.reverse{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.story-item.reverse .story-image{order:2}.story-image{position:relative;aspect-ratio:1.32 / 1;overflow:hidden;background:var(--blue-100);box-shadow:var(--shadow-soft)}.story-image:after{position:absolute;inset:.7rem;border:1px solid rgba(255,255,255,.42);content:"";pointer-events:none}.story-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}.story-item:hover .story-image img{transform:scale(1.045)}.story-copy{max-width:23rem}.story-year{display:block;margin-bottom:1rem;color:var(--blue-500);font-size:.72rem;letter-spacing:.18em}.story-copy h3{margin:0 0 .8rem;font-family:var(--display);font-size:clamp(2.4rem,4vw,3.8rem);font-weight:500;letter-spacing:-.055em;line-height:.86}.story-copy p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.75}.interlude-section{position:relative;height:min(74vh,680px);overflow:hidden;color:#fff;background:var(--blue-500)}.interlude-media{position:absolute;inset:-6% 0;height:112%}.interlude-media img{width:100%;height:100%;object-fit:cover;object-position:center 44%;animation:ken-burns 22s ease-out both}.interlude-section:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,55,66,.66),transparent 74%),linear-gradient(0deg,rgba(24,55,66,.58),transparent 52%);content:""}.interlude-copy{position:absolute;z-index:1;bottom:clamp(2rem,7vw,5rem);left:max(1.35rem,calc((100vw - 1240px)/2));max-width:28rem}.interlude-section span{display:block;height:2.4rem;color:var(--champagne);font-family:var(--script);font-size:5.5rem;line-height:.9}.interlude-section p{margin:0;font-family:var(--display);font-size:clamp(2.2rem,4vw,3.7rem);letter-spacing:-.05em;line-height:.94}.gallery-section{background:var(--ivory)}.gallery-heading{display:grid;grid-template-columns:.8fr 1.1fr 1fr;gap:2rem;align-items:end;margin-bottom:4rem}.gallery-heading h2{margin:0}.gallery-heading>p:last-child{justify-self:end;max-width:18rem}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.85rem}.gallery-item{--pointer-x: 50%;--pointer-y: 50%;position:relative;grid-column:span 3;aspect-ratio:4 / 5;overflow:hidden;padding:0;isolation:isolate;background:var(--blue-100);text-align:left;box-shadow:0 2px #22414c0d;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.gallery-item:nth-child(5n+1),.gallery-item:nth-child(9n+4){grid-column:span 6;aspect-ratio:1.48 / 1}.gallery-item:nth-child(7n+3){grid-column:span 3;aspect-ratio:1 / 1.17}.gallery-item:before{position:absolute;z-index:1;inset:0;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(255,255,255,.28),transparent 32%),linear-gradient(180deg,transparent 55%,rgba(16,41,50,.54));content:"";opacity:.78;pointer-events:none;transition:opacity .3s ease}.gallery-item:after{position:absolute;z-index:2;inset:.65rem;border:1px solid rgba(255,255,255,.38);content:"";opacity:0;pointer-events:none;transition:opacity .3s ease,inset .35s ease}.gallery-item img{width:100%;height:100%;object-fit:cover;background:var(--blue-50);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s ease}.gallery-item:hover,.gallery-item:focus-visible{box-shadow:var(--shadow-soft);transform:translateY(-5px)}.gallery-item:hover:before,.gallery-item:focus-visible:before{opacity:1}.gallery-item:hover:after,.gallery-item:focus-visible:after{inset:.85rem;opacity:1}.gallery-item:hover img,.gallery-item:focus-visible img{filter:saturate(1.08) contrast(1.02);transform:scale(1.085)}.gallery-index{position:absolute;z-index:3;right:.8rem;bottom:.75rem;display:grid;min-width:35px;min-height:28px;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:999px;color:#fff;background:#18303a47;font-size:.6rem;letter-spacing:.12em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reveal-ready.revealed .gallery-item{animation:gallery-in .6s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--delay, 0ms)}.rsvp-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:start}.rsvp-copy h2{margin:0 0 1.25rem;font-family:var(--display);font-size:clamp(3.6rem,6vw,6.2rem);font-weight:500;letter-spacing:-.06em;line-height:.82}.rsvp-copy>p:not(.eyebrow){max-width:24rem;margin:0 0 3.5rem;color:var(--muted);font-size:.9rem;line-height:1.75}.rsvp-copy .monogram{font-size:1.8rem}.rsvp-form{display:grid;gap:1.15rem}.rsvp-form label,.rsvp-form legend{color:var(--ink);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.rsvp-form>label{display:grid;gap:.55rem}.rsvp-form input:not([type=radio]),.rsvp-form select,.rsvp-form textarea{width:100%;border:1px solid var(--line);border-radius:5px;padding:.85rem .9rem;color:var(--ink);background:#ffffff9e;font-size:.88rem;letter-spacing:0;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.rsvp-form textarea{resize:vertical}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:var(--blue-500);background:#ffffffeb;box-shadow:0 0 0 3px #5e92a729}.rsvp-form fieldset{display:flex;flex-wrap:wrap;gap:1rem;border:0;margin:0;padding:0}.rsvp-form legend{width:100%;margin-bottom:.1rem}.radio-label{display:flex;align-items:center;gap:.45rem;cursor:pointer}.radio-label span{color:var(--muted);font-size:.75rem;letter-spacing:0;text-transform:none}.radio-label input{accent-color:var(--blue-500)}.rsvp-form .button{width:max-content;margin-top:.3rem}.rsvp-form .button:disabled{cursor:wait;opacity:.6}.form-error{margin:-.25rem 0 0;color:#9a4e4e;font-size:.75rem}.success-message{display:grid;gap:1rem;justify-items:start;min-height:300px;align-content:center}.success-message span{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--blue-700);border-radius:50%;color:var(--blue-700)}.success-message p{max-width:18rem;margin:0;font-family:var(--display);font-size:2.1rem;line-height:.98}.gift-section{display:grid;grid-template-columns:1fr 1.25fr;gap:3rem clamp(2rem,8vw,9rem);align-items:center}.gift-heading>svg{margin-bottom:1rem;color:var(--champagne)}.gift-details{display:grid;grid-template-columns:auto 1fr auto;gap:1.3rem;align-items:center;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:padding .25s ease}.gift-details:hover{padding-right:.45rem;padding-left:.45rem}.gift-accounts{display:grid;gap:.8rem}.wishes-list{display:grid;gap:.75rem;margin:2rem 0}.wish-card{padding:1rem 1.15rem;border:1px solid var(--line);border-radius:10px;background:#ffffff80}.wish-card>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.wish-card strong{font-family:var(--display);font-size:1.35rem;font-weight:600}.wish-card span{color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.wish-card p{margin:.6rem 0 0;color:var(--muted);font-family:var(--display);font-size:1.15rem}.wishes-carousel{margin:2.5rem auto 0}.wishes-carousel .wish-card{min-height:250px;display:flex;flex-direction:column;justify-content:center;gap:1.5rem;padding:2.2rem 2.5rem 1.4rem;border:1px solid rgba(174,139,91,.28);border-radius:18px;background:linear-gradient(145deg,#f4eadb,#eadcc8);box-shadow:0 20px 50px #7559351f;text-align:center;animation:wish-in .65s cubic-bezier(.22,1,.36,1) both}.wishes-carousel .wish-card p{margin:0;color:#4c4034;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.wishes-carousel .wish-card>div{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:.25rem;text-align:right}.wishes-carousel .wish-card strong{color:#5c4a37;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.wishes-carousel .wish-card span{color:#8c755a}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.25rem}.carousel-controls>button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;font-size:1.5rem;line-height:1;transition:background .2s ease,border-color .2s ease,transform .2s ease}.carousel-controls>button:hover{border-color:var(--blue-400);background:var(--blue-100);transform:translateY(-1px)}.carousel-dots{display:flex;gap:.45rem}.carousel-dots button{width:9px;height:9px;padding:0;border-radius:50%;background:var(--blue-200);transition:transform .2s ease,background .2s ease}.carousel-dots button.active{background:var(--blue-500);transform:scale(1.35)}@keyframes wish-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.bank-mark{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--blue-400);border-radius:50%;color:var(--blue-700);font-size:.68rem;font-weight:600;letter-spacing:.05em}.gift-details>div:nth-child(2){display:flex;flex-direction:column;gap:.25rem}.gift-details span,.gift-details small{color:var(--muted);font-size:.65rem;letter-spacing:.11em;text-transform:uppercase}.gift-details strong{font-family:var(--display);font-size:1.65rem;font-weight:500;letter-spacing:.06em}.gift-details small{letter-spacing:0;text-transform:none}.copy-button{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:transparent;font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,transform .2s ease}.copy-button:hover{border-color:var(--blue-400);background:var(--blue-100);transform:translateY(-1px)}.gift-address{grid-column:2;margin:-1.4rem 0 0;color:var(--muted);font-size:.74rem;line-height:1.6}.gift-address span{display:block;margin-bottom:.25rem;color:var(--ink);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.wishes-section{background:var(--paper)}.wishes-inner{max-width:640px;margin:auto;text-align:center}.wishes-inner h2{margin-bottom:1.8rem}.wish-placeholder{margin:0;color:var(--muted);font-family:var(--display);font-size:1.45rem;font-style:italic}.wish-line{width:100%;height:1px;margin:3rem 0 1rem;background:var(--line)}.wish-note{margin:0;color:var(--muted);font-size:.67rem;letter-spacing:.04em}.closing-section{position:relative;height:min(78vh,780px);overflow:hidden;color:#fff;background:var(--blue-500)}.closing-media{position:absolute;inset:-6% 0;height:112%}.closing-media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;animation:ken-burns 22s ease-out both}.closing-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#19303abd,#19303a0a 78%),linear-gradient(0deg,rgba(25,48,58,.54),transparent 55%)}.closing-copy{position:absolute;z-index:1;bottom:clamp(2.5rem,9vw,7rem);left:max(1.35rem,calc((100vw - 1240px)/2));max-width:34rem}.closing-copy h2{margin:0 0 1.2rem;font-family:var(--display);font-size:clamp(4.5rem,10vw,8.5rem);font-weight:500;letter-spacing:-.07em;line-height:.7}.closing-copy>p:not(.eyebrow){max-width:18rem;margin:0;color:#ffffffd6;font-family:var(--display);font-size:1.5rem;line-height:1}.closing-rule{width:3.2rem;height:1px;margin:1.8rem 0 .8rem;background:var(--champagne)}.closing-copy>span{color:#ffffffad;font-size:.63rem;letter-spacing:.13em;text-transform:uppercase}.site-footer{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:0 max(1.35rem,calc((100vw - 1240px)/2));color:var(--muted);background:var(--ivory);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.lightbox-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:2rem;background:#152a32ed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lightbox{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,1160px);height:min(90vh,840px)}.lightbox figure{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;margin:0}.lightbox img{width:auto;max-width:min(78vw,980px);height:min(80vh,730px);object-fit:contain;box-shadow:0 22px 80px #00000047}.lightbox figcaption{margin-top:.8rem;color:#ffffff9e;font-size:.64rem;letter-spacing:.15em;text-transform:uppercase}.lightbox-close,.lightbox-nav{position:absolute;z-index:2;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;background:#182b3373;transition:background .2s ease,border-color .2s ease,transform .2s ease}.lightbox-close:hover,.lightbox-nav:hover{border-color:#fff;background:#ffffff29;transform:translateY(-1px)}.lightbox-close{top:0;right:0}.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-nav:hover{transform:translateY(-50%) scale(1.04)}.lightbox-nav.prev{left:0}.lightbox-nav.next{right:0}.reveal-ready{visibility:hidden;opacity:0}.reveal-ready.revealed{visibility:visible}@keyframes cover-settle{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes ken-burns{0%{transform:scale(1.02)}to{transform:scale(1.06)}}@keyframes gallery-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:900px){.site-header nav{display:none}.couple-section,.rsvp-section,.gift-section{grid-template-columns:1fr;gap:3.5rem}.section-intro{position:static;max-width:34rem}.events-heading,.story-heading,.gallery-heading{grid-template-columns:1fr 1.3fr}.events-heading>p:last-child,.story-heading>p:last-child,.gallery-heading>p:last-child{grid-column:2;justify-self:start}.event-row{grid-template-columns:2.5rem 1fr auto}.event-meta{grid-column:2 / -1;grid-row:2}.event-row>.text-link{grid-column:3;grid-row:1}.gift-address{grid-column:auto;margin:-1.8rem 0 0}.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.gallery-item{grid-column:span 2}.gallery-item:nth-child(5n+1),.gallery-item:nth-child(9n+4){grid-column:span 4}}@media(max-width:600px){.section-pad{padding-top:4.8rem;padding-bottom:4.8rem}.cover-content h1{font-size:clamp(4.8rem,22vw,7.1rem)}.cover-content h1 span:last-child{margin-left:1.3em}.hero-section{min-height:80vh}.hero-copy{padding-bottom:3.7rem}.hero-copy h2{font-size:clamp(5rem,22vw,7.2rem)}.hero-fullnames{font-size:.61rem;letter-spacing:.07em}.hero-side-note{display:none}.quote-section blockquote{font-size:1.9rem}.section-number{top:2.3rem}.person-block,.person-block.bride-block{grid-template-columns:1fr;gap:1.1rem}.person-block.bride-block .person-info{order:1}.person-block.bride-block .person-photo{order:2}.person-info h3{font-size:2.8rem}.events-heading,.story-heading,.gallery-heading{display:block}.events-heading>p:last-child,.story-heading>p:last-child,.gallery-heading>p:last-child{margin-top:1rem}.event-row{grid-template-columns:2rem 1fr;gap:.8rem 1rem}.event-row>.text-link{grid-column:2;grid-row:3;justify-self:start;margin-top:.4rem}.event-meta{grid-column:2;grid-row:2;grid-template-columns:1fr 1fr;gap:1.3rem .8rem}.event-meta>div:last-child{grid-column:1 / -1}.event-main h3{font-size:2.25rem}.countdown-grid{grid-template-columns:repeat(2,minmax(80px,110px));gap:1.8rem 0}.countdown-grid>div:nth-child(2){border-right:0}.story-item,.story-item.reverse{display:flex;flex-direction:column;gap:1.4rem;align-items:stretch}.story-item.reverse .story-image{order:0}.story-image{aspect-ratio:1.22 / 1}.story-copy{max-width:none}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.gallery-item,.gallery-item:nth-child(5n+1),.gallery-item:nth-child(9n+4),.gallery-item:nth-child(7n+3){grid-column:span 1;aspect-ratio:4 / 5}.gallery-item:nth-child(4n+1){grid-column:span 2;aspect-ratio:16 / 10}.rsvp-section{gap:2.7rem}.rsvp-copy>p:not(.eyebrow){margin-bottom:2rem}.gift-details{grid-template-columns:auto 1fr;gap:.85rem 1rem}.copy-button{grid-column:2;justify-self:start}.gift-details strong{font-size:1.35rem}.closing-section{height:74vh}.closing-copy h2{font-size:clamp(4.2rem,18vw,6.7rem)}.lightbox-backdrop{padding:1rem}.lightbox{height:80vh}.lightbox img{width:100%;max-width:86vw;height:auto;max-height:66vh}.lightbox-close{top:-2.5rem}.lightbox-nav{top:auto;bottom:.2rem;transform:none}.lightbox-nav:hover{transform:scale(1.04)}.lightbox-nav.prev{left:1rem}.lightbox-nav.next{right:1rem}.site-footer{min-height:68px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-ready{opacity:1;transform:none}.motion-parallax{transform:none!important}.button-light:after{display:none}.wishes-carousel .wish-card{animation:none}}
