@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-semibold.ttf') format('truetype');font-style:normal;font-weight:600 700;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-extrabold.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:Caveat;src:url('assets/caveat-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{--paper:#fff;--white:#fff;--ink:#27272b;--muted:#52616d;--blue:#00aff0;--ice:#effaff;--line:#e5eaee;--accent:var(--ink);color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;-webkit-font-smoothing:antialiased}h1,h2,p,figure{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}a,button{touch-action:manipulation}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;left:16px;top:12px;padding:12px;z-index:20;background:white;transform:translateY(-200%)}.skip:focus{transform:none}[hidden]{display:none!important}
.header{display:flex;align-items:center;justify-content:space-between;min-height:98px;gap:24px}.wordmark{font-size:29px;font-weight:800;letter-spacing:-1.5px;text-decoration:none}.wordmark span{color:var(--blue)}.header-note{font-size:14px;color:var(--muted);letter-spacing:.3px}.header-link{font-size:16px;font-weight:700;min-height:48px;display:flex;gap:13px;align-items:center;text-decoration:none}.header-link:hover{text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:3px;text-underline-offset:5px}.header-link span{font-size:21px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center;padding-top:16px;padding-bottom:68px}.portrait{position:relative;aspect-ratio:1/1.15;isolation:isolate}.portrait-image{width:100%;height:100%;object-fit:cover;object-position:50% 38%;border-radius:12px 90px 12px 12px}.portrait:after{content:"";position:absolute;inset:62% 0 0;border-radius:0 0 12px 12px;background:linear-gradient(transparent,#071c27ba);pointer-events:none}.portrait-caption{position:absolute;bottom:24px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;color:white;z-index:1}.portrait-caption>span:first-child{font-size:16px;font-weight:700;letter-spacing:-.4px}.portrait-caption>span:last-child{font-size:14px;letter-spacing:.5px}.portrait-note{position:absolute;z-index:2;bottom:82px;right:-28px;transform:rotate(-9deg);padding:5px 20px 10px;background:var(--white);font-family:Caveat,cursive;font-size:31px;color:var(--ink);border-bottom:2px solid var(--blue);box-shadow:0 6px 24px #17304410;white-space:nowrap}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:2px;line-height:1.6;color:var(--muted)}.invitation{padding-block:10px}.hero h1{font-size:clamp(42px,4.8vw,66px);line-height:1.06;letter-spacing:-3.2px;font-weight:800;margin:18px 0 23px}.hero h1 span{color:var(--ink);font-family:Caveat,cursive;font-size:1.43em;line-height:.65;font-weight:500;display:inline-block;transform:rotate(-4deg);position:relative}.hero h1 span:after{content:"";position:absolute;left:-2px;bottom:-.10em;height:3px;width:92%;border-radius:100%;background:var(--blue);transform:rotate(-5deg)}.intro{font-size:18px;color:var(--muted);line-height:1.65;max-width:480px}.primary-action{margin-top:28px}.button{background:var(--blue);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:64px;padding:18px 30px;border-radius:9px;font-weight:700;font-size:18px;line-height:1.5;text-decoration:none;transition:box-shadow .18s,transform .18s;box-shadow:0 6px 14px #00aff014}.button:hover{background:var(--blue);transform:translateY(-2px);box-shadow:0 8px 20px #00aff033}.button svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.button-note{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.6}.personal-signoff{margin-top:34px;display:flex;align-items:center;gap:15px}.personal-signoff>span:first-child{font-size:15px;color:var(--muted)}.signature{font-family:Caveat,cursive;font-weight:500;font-size:31px;transform:rotate(-6deg);color:var(--accent);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:5px}
.glimpses{padding-block:38px 62px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:26px}.section-heading h2{font-size:35px;line-height:1.1;letter-spacing:-1.4px;margin-top:9px;font-weight:800}.section-heading h2 span{font-family:Caveat,cursive;font-size:1.35em;font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:5px}.section-heading>p{font-size:16px;line-height:1.65;color:var(--muted)}.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo{text-decoration:none;min-width:0}.photo>img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:9px;transition:filter .2s}.photo:first-child>img{object-position:50% 42%}.photo:nth-child(2)>img{object-position:50% 30%}.photo-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:15px;line-height:1.5}.photo-caption>span{flex-shrink:0;font-size:25px;color:var(--blue);font-weight:400}.photo:hover>img{filter:brightness(1.05)}.photo-smile>img{object-position:48% 38%}
.closing{background:var(--ice);padding:47px 48px 48px;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}.closing h2{font-size:47px;letter-spacing:-2px;line-height:1.03;margin:18px 0;font-weight:800}.closing h2 span{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:4px;text-underline-offset:7px}.closing-copy>p:not(.eyebrow){font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:24px}.closing .button{min-height:64px;font-size:18px;padding:18px 24px;gap:24px}.questions-label{font-size:16px;font-weight:800;margin-bottom:20px}.questions details{border-top:1px solid #c8e5f0}.questions details:last-of-type{border-bottom:1px solid #c8e5f0}.questions summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer;font-weight:600;font-size:16px;line-height:1.55;min-height:68px;padding-block:20px}.questions summary::-webkit-details-marker{display:none}.questions summary>span{flex-shrink:0;font-size:26px;font-weight:400;color:var(--blue);transition:transform .2s}.questions details[open] summary>span{transform:rotate(45deg)}.questions details p{font-size:16px;line-height:1.65;color:var(--muted);padding:0 20px 20px 0}.quiet-note{font-size:14px;color:var(--muted);margin-top:18px}.footer{padding-block:30px 36px;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:14px;color:var(--muted)}.footer>span{font-weight:600}.footer>span span{margin-left:6px;color:var(--blue);font-size:15px}.footer>div{display:flex;align-items:center;gap:26px}.footer a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.sticky-cta{position:fixed;z-index:4;bottom:0;left:0;right:0;display:none;align-items:center;gap:10px;padding:12px 18px max(12px,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);box-shadow:0 -8px 28px #102d3a0c;backdrop-filter:blur(14px)}.sticky-cta>img{border-radius:50%;width:40px;height:40px;object-fit:cover;object-position:48% 36%}.sticky-cta>div{display:flex;flex-direction:column;gap:3px;min-width:0}.sticky-cta strong{font-size:14px}.sticky-cta>div>span{font-size:12px;color:var(--muted)}.sticky-cta .button{margin-left:auto;font-size:16px;min-height:54px;padding:14px 18px;gap:12px;flex-shrink:0}.sticky-cta .button span{font-size:17px}
.lightbox{padding:0;border:0;border-radius:13px;background:var(--white);color:var(--ink);max-width:min(88vw,610px);max-height:90dvh;overflow:auto}.lightbox::backdrop{background:#102632d9;backdrop-filter:blur(6px)}.lightbox-image{width:100%;max-height:73dvh;object-fit:contain;background:#dce6eb}.lightbox-bottom{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:20px 24px;font-size:16px}.text-link{font-size:16px;font-weight:700;display:inline-flex;gap:12px;align-items:center;min-height:48px;text-underline-offset:4px;white-space:nowrap;color:var(--ink);text-decoration-color:var(--blue);text-decoration-thickness:2px}.close-photo{position:absolute;right:12px;top:12px;width:48px;height:48px;border:0;border-radius:50%;color:var(--ink);background:white;font-size:27px;cursor:pointer;box-shadow:0 3px 20px #13273125}
.document{max-width:640px;margin:60px auto 90px;padding:0 24px}.document .eyebrow{margin-bottom:20px}.document h1{font-size:42px;letter-spacing:-1.8px;line-height:1.1;margin-bottom:26px}.document h2{font-size:18px;margin:28px 0 12px}.document p{font-size:18px;line-height:1.65;margin-block:14px;color:var(--muted)}.document .button{margin-block:18px}.document .destination{overflow-wrap:anywhere;background:var(--ice);padding:18px;border-radius:9px;font-size:15px;color:var(--ink)}
.portrait-image{position:absolute;inset:0}
.portrait-video{display:block;object-position:50% 24%}
@media(min-width:1440px){.hero{padding-top:26px}.hero h1{font-size:70px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:35px}.hero h1{font-size:49px;letter-spacing:-2.5px}.desktop-break{display:none}.portrait{aspect-ratio:1/1.28}.portrait-note{right:-15px}.closing{gap:35px;padding-inline:35px}}
@media(max-width:700px){
  .wrap{width:calc(100% - 36px)}.header{min-height:70px;gap:20px}.wordmark{font-size:25px}.header-note{display:none}.header-link{font-size:15px;gap:9px}.header-link span{font-size:18px}
  .hero{display:flex;flex-direction:column;gap:0;align-items:stretch;padding-top:5px;padding-bottom:34px}.portrait{aspect-ratio:1.34}.portrait-image{object-position:50% 28%;border-radius:9px 48px 9px 9px}.portrait:after{border-radius:0 0 9px 9px}.portrait-caption{bottom:17px;left:18px;right:18px}.portrait-caption>span:first-child{font-size:16px}.portrait-caption>span:last-child{font-size:13px}.portrait-note{bottom:47px;right:12px;font-size:25px;padding:0 12px 5px;transform:rotate(-7deg)}
  .invitation{padding:25px 5px 0}.eyebrow{font-size:12px;letter-spacing:1.5px}.hero h1{font-size:46px;letter-spacing:-2.3px;line-height:1.05;margin:13px 0 17px}.intro{font-size:17px;line-height:1.65;max-width:100%}.primary-action{margin-top:20px}.primary-action .button{width:100%;min-height:64px;gap:20px;font-size:18px;padding:18px 24px;justify-content:space-between}.button-note{text-align:center;font-size:14px;margin-top:12px}.personal-signoff{margin-top:17px;justify-content:center;gap:12px}.personal-signoff>span:first-child{font-size:14px}.signature{font-size:26px}
  .glimpses{padding-top:30px;padding-bottom:36px}.section-heading{margin-bottom:20px;gap:18px}.section-heading h2{font-size:29px;letter-spacing:-1px}.section-heading>p{display:none}.photo-row{grid-template-columns:1fr 1fr;gap:17px 13px}.photo>img{aspect-ratio:.88}.photo-caption{font-size:14px;margin-top:10px;gap:8px;align-items:flex-start}.photo-caption>span{font-size:24px;line-height:1}.photo-smile{grid-column:1/-1}.photo-smile>img{aspect-ratio:1.8;object-position:48% 36%}
  .closing{display:block;padding:30px 24px 26px;border-radius:9px}.closing h2{font-size:43px;margin:14px 0 16px}.closing-copy>p:not(.eyebrow){font-size:17px;line-height:1.65}.closing .button{width:100%;font-size:18px;gap:20px;justify-content:space-between}.questions{margin-top:30px}.questions-label{margin-bottom:18px;font-size:16px}.questions summary{font-size:16px;min-height:68px}.questions details p{font-size:16px}.quiet-note{font-size:14px;line-height:1.6}.footer{padding-block:24px 110px;font-size:13px;gap:14px}.footer>div{gap:14px}.sticky-cta{display:flex;padding-inline:14px;gap:10px}.sticky-cta>img{display:none}.sticky-cta>div>span{display:none}.lightbox{max-width:calc(100vw - 30px)}.lightbox-bottom{padding:16px 20px;gap:8px;font-size:16px;flex-direction:column;align-items:flex-start}.lightbox-bottom .text-link{font-size:16px;gap:12px}.document{margin-top:35px}.document h1{font-size:35px}.document p{font-size:17px}
}
@media(max-width:700px){.portrait{aspect-ratio:1.05}.portrait-video{object-position:50% 24%}}
@media(max-height:740px) and (max-width:700px){.portrait{aspect-ratio:1.45}.portrait-video{object-position:50% 25%}.hero h1{font-size:40px}.invitation{padding-top:20px}.primary-action{margin-top:16px}}
@media(max-width:360px){.hero h1{font-size:40px}.invitation{padding-top:20px}.intro{font-size:17px}.primary-action{margin-top:16px}.sticky-cta>img{display:none}.closing{padding-inline:20px}.closing .button{padding-inline:16px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* This independent copy changes only the invitation beneath the original gallery. */
.message-invitation{grid-template-columns:1.2fr 1fr;gap:68px;align-items:center}
.message-invitation .closing-copy>p:not(.eyebrow){max-width:490px;margin-bottom:18px}
.message-signoff{margin:6px 0 29px}.message-signoff .signature{display:inline-block;font-size:34px}
@media(max-width:1000px){.message-invitation{gap:35px}}
@media(max-width:700px){.message-invitation .closing-copy>p:not(.eyebrow){font-size:18px;line-height:1.7}.message-invitation .eyebrow{max-width:250px}.message-signoff{margin:5px 0 27px}.message-invitation .questions{margin-top:36px}}

/* A single invitation after removing the FAQ. */
.message-invitation{display:block}.message-invitation .closing-copy{max-width:680px;margin-inline:auto}.message-invitation .closing-copy>p:not(.eyebrow){max-width:none}

@media(max-width:700px){.section-heading{display:block}.section-heading>p{display:block;font-size:17px;line-height:1.6;margin-top:12px}}

/* Small personal portrait in the masthead. */
.wordmark{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}
.wordmark .wordmark-name{color:var(--ink)}
.profile-picture{width:48px;height:48px;flex-shrink:0;border-radius:50%;object-fit:cover;object-position:50% 31%;border:2px solid var(--white);box-shadow:0 0 0 1px var(--line)}
.photo:first-child>img{object-position:50% 43%}
.photo:nth-child(2)>img{object-position:46% 50%}
@media(max-width:700px){.wordmark{gap:9px}.profile-picture{width:42px;height:42px}}

.profile-picture{object-position:50% 39%}.photo:first-child>img{object-position:50% 46%}.photo:nth-child(2)>img{object-position:50% 45%}

