:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183146;background:#f7f5f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:3px}button,input,textarea{font:inherit}button,.button{display:inline-block;border:1px solid var(--accent);background:var(--accent);color:#fff;padding:.8rem 1.25rem;border-radius:6px;text-decoration:none;cursor:pointer;font-weight:650}button:hover,.button:hover{filter:brightness(.92)}.secondary,.ghost{background:transparent;color:#183146}.ghost{border-color:#d4d3cd}.danger{background:#fff;color:#a34242;border-color:#d8aaaa}.small{font-size:.8rem;padding:.45rem .7rem}.top{display:flex;align-items:center;justify-content:space-between;padding:1.2rem max(4vw,1rem);background:#fff;border-bottom:1px solid #ebe6de}.brand{font-family:Georgia,serif;font-size:1.3rem;text-decoration:none;color:#122c3d}.top nav{display:flex;gap:1.5rem;font-size:.9rem}.top nav a{text-decoration:none}.top nav a:hover{text-decoration:underline}main{min-height:78vh}.wide{max-width:1200px;margin:3rem auto;padding:0 1.25rem}.narrow{max-width:680px;margin:4rem auto;padding:0 1.25rem}.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:var(--accent);font-size:.72rem;font-weight:750}.hero{text-align:center;padding:clamp(4rem,9vw,9rem) 1rem 4rem;background:radial-gradient(circle at top,#fff 15%,#f7f5f0 68%)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#142d3e;line-height:1.16}h1{font-size:clamp(2.8rem,6vw,5.5rem);margin:.3em auto;max-width:900px}h2{font-size:2rem;margin:.4em 0 .8em}h3{font-size:1.4rem}.date{text-transform:uppercase;letter-spacing:.18em;color:#5e6b70}.ornament{margin:2rem;color:var(--accent);font-size:1.5rem}.lead{font-size:1.14rem;line-height:1.7;max-width:620px;margin:1rem auto 2rem;color:#55646b}.card{background:#fff;border:1px solid #e8e4dd;border-radius:12px;padding:1.5rem;box-shadow:0 5px 26px #182b3a08}.upload{padding:2rem}.upload p{line-height:1.6}.upload form,.create form{display:grid;gap:1rem}label{display:grid;gap:.45rem;font-size:.9rem;font-weight:650;margin:.8rem 0}input,textarea{width:100%;border:1px solid #c9cec9;border-radius:6px;padding:.75rem;background:#fff;color:#142d3e}input[type=color]{padding:.15rem;width:90px;height:43px}input[type=file]{border-style:dashed}.muted{color:#6b7478;font-size:.87rem}.notice{max-width:1200px;margin:1.5rem auto;background:#eaf4ec;border:1px solid #b8d3bf;border-radius:6px;padding:1rem}.actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.actions form{display:inline}.center{justify-content:center}.split{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.event-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.pill{border:1px solid #d3d0c8;border-radius:100px;padding:.5rem .9rem;text-decoration:none;background:#fff}.columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.review{display:flex;gap:1rem;margin:1rem 0;min-width:0}.review>div:last-child{min-width:0;overflow-wrap:anywhere}.review p{margin:.3rem 0 1rem}.review .thumb{width:110px;min-width:110px}.thumb img,.thumb video{width:100%;height:95px;object-fit:cover;border-radius:5px}.message{white-space:normal;line-height:1.5}.count{color:#90999b;font-family:system-ui;font-size:.7em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.create{margin-top:3rem}.qr{display:inline-flex;flex-direction:column;align-items:center;margin-top:1rem;gap:.5rem}.qr canvas{border:1px solid #e5e5e5}.qr-download{font-size:.8rem}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:1.1rem}.tile{background:#fff;margin:0;border:1px solid #e7e5df;border-radius:8px;overflow:hidden}.tile img,.tile video{display:block;width:100%;height:230px;object-fit:cover}.tile figcaption{padding:.8rem;font-size:.82rem}.guestbook blockquote{margin:0 0 1rem;line-height:1.6}.guestbook blockquote footer{color:var(--accent)}.guest-link{text-align:center}.site-footer{text-align:center;color:#69757b;padding:3rem 1rem;border-top:1px solid #e7e3dd;font-size:.85rem}.screen{background:#0b1c2b;color:white;overflow:hidden}.screen-stage{height:calc(100vh - 150px);display:grid;place-items:center;position:relative}.screen-stage #screen-media{width:100%;height:100%;display:grid;place-items:center}.screen-stage img,.screen-stage video{max-width:100%;max-height:100%;object-fit:contain}.screen #screen-caption{text-align:center;position:absolute;padding:2rem;pointer-events:none}.screen #screen-caption h1{color:#fff}.screen-message{max-width:1100px;text-align:center;padding:4rem;font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.3}.screen-message small{display:block;font-family:system-ui;color:var(--accent);font-size:1.1rem}.screen-credit{position:absolute;bottom:1rem;right:2rem;background:#06121dcc;padding:.5rem 1rem}.screen-bottom{height:150px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-top:1px solid #ffffff2b}.screen-bottom .qr{margin:0;transform:scale(.67);transform-origin:center right}.screen-bottom .qr-download{color:#fff}.screen-bottom canvas{background:white}.screen h1{font-size:clamp(3rem,6vw,7rem)}@media(max-width:720px){.top{display:block}.top nav{margin-top:1rem;gap:1rem;flex-wrap:wrap}.columns,.form-grid{grid-template-columns:1fr}.split{display:block}.wide{margin:2rem auto}.screen-bottom{padding:0 1rem;font-size:.8rem}.screen-bottom .qr{transform:scale(.5)}}

.hero-with-photo{max-width:1200px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:4rem 1.5rem;text-align:left;background:none}.hero-photo img{display:block;width:100%;max-height:630px;object-fit:cover;border-radius:180px 180px 10px 10px}.hero-copy h1{font-size:clamp(2.6rem,4.3vw,4.5rem);line-height:1.08}.hero-copy .lead{margin-left:0}.hero-copy .center{justify-content:flex-start}.hero-copy .ornament{margin:1.5rem 0}.hero-copy .date{font-size:.85rem;line-height:1.6}@media(max-width:720px){.hero-with-photo{grid-template-columns:1fr;gap:1rem;padding:2rem 1.25rem}.hero-photo{max-width:320px;margin:0 auto}.hero-photo img{max-height:380px}.hero-copy{text-align:center}.hero-copy h1{font-size:2.7rem}.hero-copy .lead{margin:1rem auto}.hero-copy .center{justify-content:center}}

/* Navy, burgundy & white — wedding edition */
:root{--navy:#101f35;--burgundy:#781d36;--accent:#781d36;--paper:#faf9f7;--ink:#14243a;color:var(--ink);background:var(--paper);scroll-behavior:smooth}body{font-size:15px;line-height:1.6}h1,h2,h3{color:var(--navy);letter-spacing:-.035em}h2{font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.09}button,.button{border-radius:2px;padding:1rem 1.5rem;font-weight:600;font-size:.87rem;transition:background .2s,transform .2s;letter-spacing:.015em}button:hover,.button:hover{transform:translateY(-2px);filter:brightness(1.1)}button:disabled{opacity:.65;cursor:wait;transform:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a85b73;outline-offset:5px}.button span{margin-left:1.5rem}.top{padding:1rem 5vw;min-height:82px;border-color:#e9e6e7}.brand{display:flex;align-items:center;gap:.65rem;font-size:1.25rem;color:var(--navy)}.brand-mark{font-style:italic;background:var(--navy);color:#fff;border-radius:50%;display:grid;place-items:center;width:36px;height:36px;line-height:1;padding-bottom:5px}.top nav{align-items:center;font-size:.78rem;gap:2rem}.top nav a:last-child{font-size:.72rem;color:#646a75;border-left:1px solid #dedee2;padding-left:2rem}.top nav a:hover{color:var(--burgundy)}.wide{max-width:1200px}.eyebrow{font-size:.64rem;letter-spacing:.2em;line-height:1.8}.hero,.hero-with-photo{position:relative;isolation:isolate;max-width:none;min-height:700px;height:calc(100svh - 82px);max-height:940px;margin:0;padding:5rem max(6vw,1.5rem);display:flex;align-items:center;justify-content:flex-end;background:var(--navy);text-align:left;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-2;max-width:none;margin:0}.hero-photo img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:35% 35%;border-radius:0}.hero-with-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101f3510 15%,#101f3570 43%,#101f35ef 77%,#101f35 100%);z-index:-1}.hero-copy{width:49%;max-width:650px;padding-bottom:2rem}.hero-copy .eyebrow{color:#eedde4;letter-spacing:.22em;font-size:.64rem}.hero-copy h1{color:#fff;font-size:clamp(4.1rem,6.2vw,7rem);line-height:.99;font-weight:400;letter-spacing:-.045em;margin:.3em 0}.hero-amp{font-style:italic;color:#d6a8b7;font-size:.67em;display:block;margin:.05em 0}.full-names{font-size:.75rem;letter-spacing:.05em;color:#d5dbe5;margin-top:1.4rem}.hero-copy .date{color:#e5c5d0;font-size:.72rem;letter-spacing:.2em;margin:1.4rem 0 1rem}.hero-copy .lead{font-size:.96rem;line-height:1.85;color:#e1e4ea;margin:1.2rem 0 1.8rem;max-width:440px}.hero-copy .center{justify-content:flex-start;gap:1.3rem}.hero-gallery{font-size:.76rem;text-underline-offset:6px;color:#fff}.hero-gallery span{padding-left:.5rem}.hero-bottom-note{position:absolute;bottom:2rem;left:6vw;color:#fff9;font-size:.58rem;letter-spacing:.25em}.memory-ribbon{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.65rem 7vw;border-bottom:1px solid #e5dfe2;color:#6f3b4c;background:#fff;font-size:.67rem;letter-spacing:.11em}.memory-ribbon>span:first-child{font-family:Georgia,serif;font-style:italic;font-size:1.2rem;letter-spacing:0}.ribbon-date{color:var(--navy);letter-spacing:.3em}.memory-intro{text-align:center;padding-top:4rem;padding-bottom:3rem}.memory-intro h2{margin:.6rem 0 1.4rem}.memory-intro>p:last-child{color:#687080;font-size:.92rem;line-height:1.9}.sharing-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;margin:1rem auto 6rem;scroll-margin-top:2rem}.sharing-copy{max-width:430px}.sharing-copy>p{font-size:.9rem;color:#687080}.sharing-copy .eyebrow{color:var(--burgundy);font-size:.64rem}.sharing-copy h2{font-size:clamp(2.5rem,3.7vw,3.6rem)}.sharing-steps{margin:2rem 0;border-top:1px solid #e2dce0}.sharing-steps p{padding:.7rem 0;margin:0;border-bottom:1px solid #e2dce0;font-size:.8rem}.sharing-steps span{font-size:.63rem;color:var(--burgundy);margin-right:1.3rem}.card{border-radius:4px;border-color:#e5dfe3;box-shadow:0 8px 35px #101f3505}.upload{padding:2.3rem;background:#fff;box-shadow:0 15px 60px #101f3509;border-top:3px solid var(--burgundy)}.upload h3{font-size:2rem;margin:.6rem 0 1.7rem}.upload form{gap:.6rem}.upload label{font-size:.75rem;margin:.3rem 0;font-weight:600}.optional{display:inline;font-weight:400;color:#81818c;font-size:.65rem}.upload label:has(.optional){position:relative}.optional{position:absolute;right:0;top:0}input,textarea{border-radius:2px;border-color:#d8dbe1;background:#fff;font-size:.88rem;padding:.85rem}.file-label{padding:1.3rem;background:#faf8f9;border:1px dashed #c5a8b2;text-align:center;margin:1rem 0!important}.file-label input{background:transparent;border:0;padding:.7rem .1rem;font-size:.7rem}.file-label input::file-selector-button{border:1px solid #d9c5cc;background:#fff;color:var(--burgundy);padding:.55rem .7rem;margin-right:.6rem;border-radius:2px;cursor:pointer}.file-help{font-size:.65rem;font-weight:400;line-height:1.8;color:#737784}.consent{font-size:.64rem;line-height:1.8;margin-bottom:0}.upload button{text-align:left;display:flex;justify-content:space-between;width:100%}.upload-status{font-size:.8rem;color:var(--burgundy)}.guestbook-invite{background:var(--navy);color:#fff;padding:4.5rem 5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center;margin-bottom:6rem;overflow:hidden}.guestbook-invite h2{color:#fff}.guestbook-invite .eyebrow{color:#d5a6b7}.guestbook-invite p:not(.eyebrow){color:#d2d8e3;font-size:.88rem;max-width:360px;line-height:1.9}.guestbook-invite .button{margin-top:1.4rem}.letter-art{padding:2.5rem 2rem 2rem;background:#fff;color:var(--navy);text-align:center;transform:rotate(7deg);box-shadow:12px 12px 0 #781d36;min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column}.letter-art .letter-initials{font-family:Georgia,serif;font-size:2.2rem;font-style:italic;color:var(--burgundy)}.letter-line{height:1px;width:44px;background:#c8b0b8;margin:1rem}.letter-art p{font-family:Georgia,serif;font-style:italic;color:var(--navy)!important;font-size:1.8rem!important;line-height:1.4!important;margin:.3rem 0 1.7rem}.letter-date{font-size:.55rem;letter-spacing:.18em}.site-footer{background:#fff;color:#727887;border-color:#e9e5e8;padding:3rem 1rem;font-size:.72rem}.footer-wordmark{font-family:Georgia,serif;font-size:2rem;color:var(--navy);margin:0}.site-footer>a{display:inline-block;font-size:.65rem;margin-top:1rem}.gallery-heading{text-align:center;padding-top:2rem}.gallery-heading h1{font-size:clamp(2.6rem,5vw,4.5rem);max-width:850px}.gallery-heading>.lead{font-size:.95rem;margin-bottom:3rem}.gallery{display:block;columns:3;column-gap:1.3rem;text-align:left}.tile{break-inside:avoid;margin:0 0 1.3rem;border:0;border-radius:2px;box-shadow:0 3px 18px #101f3507}.tile img,.tile video{height:auto;max-height:520px;object-fit:cover}.tile img{transition:transform .4s}.photo-open{display:block;overflow:hidden;cursor:zoom-in}.photo-open:hover img{transform:scale(1.035)}.tile figcaption{font-size:.66rem;padding:.9rem 1rem;color:#737b87}.tile figcaption a{color:var(--burgundy)}.guestbook{padding-top:3rem;padding-bottom:3rem;border-top:1px solid #e0d9df}.guestbook>.columns{gap:4rem}.guestbook blockquote{position:relative;padding:2rem;border:0;border-left:2px solid var(--burgundy);font-family:Georgia,serif;font-size:1.15rem}.guestbook blockquote footer{font-family:system-ui;font-size:.7rem;margin-top:1.4rem}.guestbook form{padding:2rem;align-self:start}.guestbook form h3{font-size:1.8rem;margin-top:0}.guestbook label{font-size:.78rem}.admin-page h1{font-size:clamp(2.8rem,5vw,4.3rem)}.secondary,.ghost{color:var(--navy)}.notice{margin:1rem auto}.screen{background:var(--navy)}.screen-message small{color:#e3adbf}.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:4rem 4rem 5rem;background:#0a1525f5;color:#fff;overflow:hidden}.lightbox::backdrop{background:#0a1525}.lightbox[open]{display:grid;place-items:center}.lightbox img{max-width:100%;max-height:calc(100dvh - 10rem);object-fit:contain}.lightbox-close{position:absolute;right:1.25rem;top:1.25rem;background:transparent;border:1px solid #ffffff66;font-size:.8rem;color:#fff;padding:.65rem 1rem}.lightbox-download{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);font-size:.8rem;color:#fff}.lightbox-nav{position:absolute;top:50%;background:#ffffff15;border:1px solid #ffffff44;color:#fff;font-size:1.4rem;padding:.4rem .75rem}.lightbox-prev{left:.7rem}.lightbox-next{right:.7rem}
@media(min-width:1600px){.hero-copy{margin-right:5vw}.hero-photo img{object-position:35% 36%}}
@media(max-width:900px){.sharing-layout{gap:2.5rem}.guestbook-invite{padding:3rem;gap:3rem}.gallery{columns:2}.hero-copy{width:53%}.hero-copy h1{font-size:4.8rem}.top nav{gap:1rem}.top nav a:last-child{padding-left:1rem}}
@media(max-width:600px){.top{display:flex;padding:.8rem 1rem;min-height:72px;gap:.5rem}.brand{font-size:1rem;gap:.4rem}.brand-mark{width:28px;height:28px;font-size:1.1rem}.top nav{gap:.8rem;margin:0;flex-wrap:wrap;justify-content:flex-end;line-height:1.3;max-width:215px;font-size:.59rem}.top nav a:last-child{border:0;padding:0;font-size:.56rem}.hero,.hero-with-photo{height:auto;min-height:810px;padding:23rem 1.5rem 4rem;align-items:flex-end;justify-content:flex-start}.hero-photo img{object-position:center top;height:67%;max-height:none}.hero-with-photo:after{background:linear-gradient(180deg,#101f3500 20%,#101f351a 30%,#101f35e8 55%,#101f35 70%)}.hero-copy{width:100%;max-width:none;text-align:left;padding:0}.hero-copy h1{font-size:3.8rem}.hero-amp{display:inline;font-size:.65em}.hero-copy .eyebrow{font-size:.52rem;letter-spacing:.15em}.full-names{font-size:.65rem}.hero-copy .date{font-size:.65rem;margin:1.1rem 0}.hero-copy .lead{font-size:.85rem;margin:1rem 0 1.5rem}.hero-copy .center{justify-content:flex-start;gap:1.2rem}.hero-copy .button{font-size:.75rem;padding:.9rem 1rem}.hero-gallery{font-size:.67rem}.hero-bottom-note{left:1.5rem;bottom:1.5rem;font-size:.46rem}.memory-ribbon{padding:1.3rem 1rem;gap:.6rem;flex-wrap:wrap;justify-content:center;font-size:.56rem}.memory-ribbon>span:first-child{font-size:1rem;flex-basis:100%;text-align:center}.memory-ribbon>span:last-child{border-left:1px solid #d6bfc8;padding-left:.7rem}.memory-intro{padding-top:2rem;padding-bottom:1.5rem}.memory-intro>p:last-child{font-size:.8rem}.sharing-layout{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3.5rem}.sharing-copy{max-width:none}.sharing-copy h2{font-size:2.7rem}.sharing-steps{margin:1.5rem 0}.upload{padding:1.5rem}.upload h3{font-size:1.7rem}.guestbook-invite{grid-template-columns:1fr;margin:0 1rem 3rem;padding:2.2rem 1.5rem;gap:3rem}.guestbook-invite h2{font-size:2.7rem}.letter-art{max-width:270px;width:90%;min-height:270px;margin:0 auto 1rem;padding:1.5rem}.gallery-heading{padding-top:1rem}.gallery-heading h1{font-size:2.4rem}.gallery{columns:2;column-gap:.65rem}.tile{margin-bottom:.65rem}.tile figcaption{font-size:.56rem;padding:.65rem}.guestbook>.columns{gap:2rem}.guestbook h2{font-size:2.5rem}.guestbook form,.guestbook blockquote{padding:1.5rem}.lightbox{padding:4rem 2.7rem 5rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.hero-with-photo .hero-photo{right:32%}.hero-with-photo .hero-photo img{object-position:center 35%}@media(max-width:600px){.hero-with-photo .hero-photo{right:0}.hero-with-photo .hero-photo img{object-position:center top}}

/* Invitation details: original florals, white paper and burgundy lettering. */
:root{--paper:#fff;--navy:#101b39;--burgundy:#841c38}.hero,.hero-with-photo{background:#fff;color:var(--navy);justify-content:flex-start;min-height:700px;max-height:850px;padding:4rem 7vw}.hero-with-photo:after{inset:2rem 2rem;border:1px solid #841c3870;background:none;pointer-events:none;z-index:-1}.hero-with-photo:before{content:"";position:absolute;left:-1rem;top:-.3rem;width:300px;height:100%;background:url('invitation-florals.png') left center/auto 100% no-repeat;z-index:0;pointer-events:none}.hero-with-photo .hero-photo{inset:10% 5% 10% 62%;border-radius:48% 48% 2px 2px;overflow:hidden;z-index:0;box-shadow:0 0 0 8px #fff,0 0 0 9px #841c3870}.hero-with-photo .hero-photo img{height:100%;width:100%;object-position:50% 40%}.hero-copy{position:relative;z-index:1;width:52%;max-width:650px;margin:0 0 0 3vw;padding:0;text-align:center}.hero-copy h1{color:var(--burgundy);font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(3.8rem,6vw,6.2rem);line-height:1.03;letter-spacing:-.045em}.hero-amp{color:var(--navy);font-weight:400;display:block;font-size:.48em;margin:.12em 0}.hero-copy .eyebrow{color:var(--burgundy);font-size:.6rem}.full-names{color:#626879;font-size:.69rem}.hero-copy .date{display:inline-block;background:var(--navy);color:#fff;border-radius:40px;padding:.65rem 1.4rem;font-size:.64rem;letter-spacing:.12em;margin:1rem 0 .5rem}.hero-copy .lead{color:#687080;text-align:center;font-size:.9rem;margin:1rem auto 1.8rem;max-width:405px}.hero-copy .center{justify-content:center}.hero-gallery{color:var(--navy)}.hero-bottom-note{color:var(--burgundy);left:auto;right:7vw;bottom:2.6rem;font-size:.5rem;z-index:1}.memory-ribbon{background:#fbf8f9}.memory-intro{position:relative}.memory-intro .eyebrow{color:var(--burgundy)}.guestbook-invite{background:#fcfafb;color:var(--navy);position:relative;border:1px solid #d7b7c1;overflow:visible}.guestbook-invite:before{content:"";position:absolute;inset:8px;border:1px solid #e9d9de;pointer-events:none}.guestbook-invite h2{color:var(--navy)}.guestbook-invite .eyebrow{color:var(--burgundy)}.guestbook-invite p:not(.eyebrow){color:#687080}.letter-art{position:relative;background:none;transform:none;box-shadow:none;padding:0;min-height:320px;flex-direction:row;align-items:flex-end;gap:1rem}.letter-art img{max-width:75%;max-height:330px;width:auto;object-fit:contain}.letter-art .letter-initials{font-size:1.7rem;align-self:center;white-space:nowrap}.guestbook blockquote{border-left:1px solid #841c3890;background:#fcfafb}.guestbook h2{font-style:italic}.footer-wordmark{font-style:italic;color:var(--burgundy)}.site-footer{background:#fcfafb}.gallery-heading{position:relative}.gallery-heading:before{content:"";position:absolute;top:-3rem;left:-3rem;width:160px;height:320px;background:url('invitation-florals.png') left top/auto 100% no-repeat;pointer-events:none;z-index:-1;opacity:.65}.gallery-heading h1{color:var(--burgundy);font-style:italic}.screen{--navy:#101b39}
@media(min-width:1600px){.hero-copy{margin-left:3vw}.hero-with-photo .hero-photo img{object-position:50% 40%}}
@media(max-width:900px){.hero-copy h1{font-size:4.3rem}.hero-with-photo:before{width:160px;opacity:.8}.hero-copy{margin-left:0;width:54%}.hero-copy .center{gap:1rem}.hero-with-photo .hero-photo{left:65%;right:4%}.hero-copy .button{font-size:.75rem}.hero-gallery{font-size:.65rem}}
@media(max-width:600px){.hero,.hero-with-photo{padding:23rem 1.5rem 3.5rem;min-height:850px;height:auto;max-height:none;align-items:flex-end}.hero-with-photo:after{inset:1rem .7rem}.hero-with-photo:before{top:0;left:-.7rem;height:55%;width:145px;background-size:auto 100%;opacity:1}.hero-with-photo .hero-photo{inset:2.5rem 18% auto 25%;height:300px;border-radius:48% 48% 2px 2px}.hero-with-photo .hero-photo img{height:100%;object-position:50% 35%}.hero-copy{width:100%;margin:0;padding:0 .3rem;text-align:center}.hero-copy h1{font-size:3.6rem;line-height:1.05}.hero-amp{display:inline;font-size:.58em}.hero-copy .eyebrow{font-size:.48rem;letter-spacing:.12em}.hero-copy .date{font-size:.61rem;margin:.7rem 0 .3rem}.hero-copy .lead{font-size:.82rem;margin:.9rem auto 1.4rem}.full-names{font-size:.6rem}.hero-copy .center{justify-content:center;gap:1.15rem}.hero-bottom-note{right:0;left:0;text-align:center;bottom:1.7rem;font-size:.42rem}.guestbook-invite{overflow:hidden}.letter-art{width:100%;max-width:300px;min-height:270px;justify-content:center}.letter-art img{max-height:270px}.letter-art .letter-initials{font-size:1.4rem}.gallery-heading:before{left:-1rem;width:100px;height:230px;opacity:.4}}

/* Variant 9: original photographs, layered album prints. */
.hero-with-photo .hero-photo.hero-collage{inset:12% 4.5% 12% 53%;height:auto;max-width:650px;border-radius:0;overflow:visible;box-shadow:none;isolation:isolate}
.hero-with-photo .hero-copy{width:44%;margin-left:1.5vw}
.hero-collage .memory-print{position:absolute;margin:0;background:#fff;padding:8px 8px 22px;border:1px solid #eee6e7;box-shadow:0 12px 30px #101b3924,0 2px 6px #101b3914}
.hero-with-photo .hero-collage .memory-print img{display:block;width:100%;height:100%;max-height:none;border-radius:0;object-fit:cover;object-position:center}
.hero-collage .print-bench{left:0;top:2%;width:39%;height:43%;transform:rotate(-9deg);z-index:1}
.hero-collage .print-main{left:30%;top:5%;width:49%;height:71%;transform:rotate(4deg);z-index:2}
.hero-collage .print-dinner{left:0;top:48%;width:47%;height:35%;transform:rotate(-7deg);z-index:3}
.hero-collage .print-selfie{left:57%;top:56%;width:43%;height:32%;transform:rotate(10deg);z-index:4}
.hero-with-photo .hero-collage .print-main img{object-position:50% 35%}
.collage-signature{position:absolute;top:91%;left:5%;right:0;text-align:center;color:var(--burgundy);font:italic clamp(1.5rem,2.5vw,2.5rem)/1.2 Georgia,serif;white-space:nowrap}
.collage-signature span{display:block;margin-top:.7rem;color:var(--navy);font:normal .6rem/1.5 system-ui,sans-serif;letter-spacing:.3em}
@media(min-width:1600px){.hero-with-photo .hero-photo.hero-collage{left:55%;right:5%}}
@media(max-width:900px){.hero-with-photo{height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;align-items:center;padding:3.5rem 2rem 4rem;gap:3rem}.hero-with-photo .hero-photo.hero-collage{position:relative;inset:auto;width:min(100%,540px);height:auto;aspect-ratio:1.12;margin:0 0 1rem;flex:none}.hero-with-photo .hero-copy{width:100%;max-width:560px;margin:0;padding:0}.hero-with-photo:before{height:65%;width:160px;opacity:.65}.hero-with-photo .hero-copy h1{font-size:4rem}.hero-with-photo .hero-amp{display:inline}.collage-signature{font-size:2rem}.hero-with-photo .hero-bottom-note{bottom:1.8rem;left:0;right:0;text-align:center}}
@media(max-width:600px){.hero-with-photo{padding:3rem 1.6rem 3.5rem;gap:2.5rem}.hero-with-photo .hero-photo.hero-collage{width:100%;max-width:420px;aspect-ratio:1.05}.hero-collage .memory-print{padding:5px 5px 13px;box-shadow:0 8px 18px #101b3924}.collage-signature{font-size:1.55rem}.collage-signature span{font-size:.48rem;margin-top:.4rem}.hero-with-photo .hero-copy h1{font-size:clamp(2.6rem,10vw,3.6rem)}.hero-with-photo:before{height:48%;width:110px;opacity:.55}}
