.wedding-gift{background:#efe3d2}.wedding-gift .section-number{margin-bottom:40px}.gift-script{font-size:2.2rem;color:#9e754c;margin:0}.wedding-gift h2{margin-top:8px}.wedding-gift .tiny-seal{margin-bottom:20px}.bank-accounts{display:grid;gap:20px;margin:38px auto 0;max-width:410px;text-align:left}.bank-card{position:relative;padding:26px 27px;border:1px solid #ccb08a;background:#fcf8ef;box-shadow:0 8px 20px #67242a08}.bank-card-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddc9ac;padding-bottom:16px}.bank-name{font-family:var(--serif);font-size:1.8rem;font-weight:600;font-style:italic;line-height:1}.bank-seal{font:1.5rem serif;color:#a8814c}.bank-number{font-family:var(--serif);font-size:2rem;font-weight:600;letter-spacing:.025em;line-height:1.3;margin:20px 0 4px;user-select:all;overflow-wrap:anywhere}.bank-holder{font-size:.875rem;margin:0 0 22px;letter-spacing:.03em}.bank-copy{width:100%;min-height:44px;background:transparent;font-size:.875rem;cursor:pointer}.bank-copy:hover{background:var(--red);color:var(--paper)}.copy-feedback{font-size:.875rem;min-height:1.6em;margin:18px 0 0}.clipboard-helper{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0}.guestbook{background:var(--paper);padding-bottom:80px}.wish-form{margin:35px auto 42px;text-align:left;max-width:440px}.wish-form label{font-size:.875rem;font-weight:500;display:block;margin:18px 0 8px}.wish-form input,.wish-form textarea{display:block;width:100%;font:400 1rem/1.6 var(--sans);padding:12px 14px;border:1px solid #cbb39a;border-radius:2px;background:#fffcf6;color:var(--ink)}.wish-form textarea{resize:vertical;min-height:150px}.wish-form input:focus,.wish-form textarea:focus{outline:2px solid #a97846;outline-offset:2px}.wish-form ::placeholder{color:#8b776c;opacity:1}.form-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;font-size:.75rem;color:var(--muted);line-height:1.6;margin:9px 0 21px}.form-meta span:last-child{flex-shrink:0}.wish-form .button{width:100%;cursor:pointer}.button:disabled{opacity:.65;cursor:wait;transform:none}.wish-status{font-size:.875rem;line-height:1.6;margin:14px 0 0;color:#476039}.wish-status:empty{display:none}.wish-status.is-error{color:var(--red)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.guestbook-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:28px;gap:14px;max-width:440px;margin:auto;text-align:left}.guestbook-heading h3{font-family:var(--serif);font-size:1.75rem;line-height:1.1;font-weight:500;margin:0}.guestbook-heading>span{font:1.4rem serif;color:#a8814c}.wishes-list{margin:12px auto 0;max-width:440px;text-align:left}.wish-card{display:flex;gap:13px;padding:23px 0;border-bottom:1px solid #dfcdb8}.wish-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 37px;height:42px;border-radius:22px 22px 2px 2px;border:1px solid #c9aa82;font-family:var(--serif);font-size:1.5rem;color:var(--red);background:#f0e4d4}.wish-content{min-width:0}.wish-author h4{font:500 .95rem/1.4 var(--sans);margin:0;overflow-wrap:anywhere}.wish-content time{font-size:.75rem;color:var(--muted);display:block;margin:4px 0 9px}.wish-message{font-size:1rem;line-height:1.75;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.guestbook-empty{padding:24px 0;color:var(--muted);font-size:.95rem;line-height:1.7;margin:0}.secondary{margin-top:24px;background:transparent;color:var(--red);cursor:pointer}.secondary:hover{background:#efe3d2}[hidden]{display:none!important}.bottom-nav{max-width:490px;gap:0}.bottom-nav a{font-size:.875rem;padding:10px 7px;letter-spacing:-.01em;white-space:nowrap}.account-pending{font-size:.95rem;line-height:1.7;text-align:center}@media(max-width:760px){.bank-card{padding:23px}.bank-number{font-size:2rem}.guestbook{padding-bottom:65px}.bottom-nav{left:10px;right:10px;padding:5px}.bottom-nav a{padding:10px 5px;font-size:.875rem}.wedding-gift .intro{font-size:1rem}}@media(max-width:350px){.bank-card{padding:19px}.bank-number{font-size:1.85rem}.bottom-nav a{padding:10px 4px;font-size:.8125rem}.form-meta{gap:7px}.section.guestbook{padding-left:22px;padding-right:22px}}
.bank-logo{display:block;width:116px;height:auto;object-fit:contain}.brand-credit{margin-top:24px}.brand-credit a{font-size:.7rem;color:var(--muted);text-decoration:none}.portrait-arch{overflow:hidden;background:#4c3b2c}.portrait-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}.couple-portrait{width:min(100%,310px);margin:38px auto 0;padding:7px;border:1px solid var(--line);background:#fffcf6;box-shadow:0 10px 30px #67242a0d}.couple-portrait img{display:block;width:100%;height:auto}.couple-names{padding-top:36px}.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:510px;margin:30px auto 0}.gallery-photo{display:block;position:relative;overflow:hidden;background:#ded0bd;aspect-ratio:2/3;text-decoration:none;border:5px solid #fffcf6;outline:1px solid #dfc9ac;box-shadow:0 5px 18px #56212d0c}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-photo:hover img{transform:scale(1.025)}.gallery-feature{grid-column:1/-1;aspect-ratio:4/5}.gallery-feature img{object-position:center 28%}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:60px 10px 18px;background:linear-gradient(transparent,#271811a3);color:#fff3de;font-family:var(--script);font-size:2.2rem;line-height:1.2;text-shadow:0 1px 6px #0004}.moments .photo-note{margin-top:0}.photo-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:18px 22px;color:#f7f0e5;background:#19110ef7;border:0;overflow:hidden}.photo-viewer[open]{display:flex;flex-direction:column;gap:12px}.photo-viewer::backdrop{background:#19110e}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;flex:none;max-width:1100px;width:100%;margin:0 auto}.viewer-toolbar p{margin:0;font-size:.875rem;letter-spacing:.12em}.photo-viewer button{border:1px solid #cbb18c88;background:#33251f;color:#f7f0e5;cursor:pointer;font:400 .875rem/1.4 var(--sans);min-height:44px;padding:10px 17px;border-radius:2px}.photo-viewer button:hover{background:#584237}.viewer-toolbar button{display:flex;align-items:center;gap:12px}.viewer-toolbar button span{font-size:1.6rem;line-height:1}.viewer-image-wrap{display:flex;align-items:center;justify-content:center;flex:1;min-height:0}.viewer-image-wrap img{display:block;max-height:100%;max-width:100%;object-fit:contain;box-shadow:0 10px 45px #0004}.viewer-controls{display:flex;justify-content:center;gap:16px;flex:none}.viewer-controls button{display:flex;align-items:center;gap:12px;min-width:140px;justify-content:center}.viewing-photo{overflow:hidden}@media(max-width:760px){.photo-gallery{gap:11px}.gallery-photo{border-width:4px}.gallery-caption{font-size:2rem}.photo-viewer{padding:14px 12px max(16px,env(safe-area-inset-bottom))}.couple-portrait{width:min(100%,285px)}}
/* Full-photo opening, inspired by the couple's supplied reference. */
.cover{min-height:max(760px,100svh);padding:38px 38px 42px;justify-content:flex-start;color:#fff7e9;background:#382719;isolation:isolate;overflow:hidden}.cover-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;z-index:-3}.cover:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(28,13,10,.45) 0%,rgba(28,13,10,.04) 30%,rgba(28,13,10,.18) 46%,rgba(28,13,10,.70) 66%,rgba(28,13,10,.86) 100%)}.cover .cover-edge{border-color:#e7cda84a;z-index:-1}.cover .cover-edge:before,.cover .cover-edge:after{background:#a28259;border-color:#e7cda870}.cover .cover-top{margin-bottom:7px;color:#fff4df;font-size:.7rem;letter-spacing:.18em}.cover .cover-script{color:#fff4df;font-size:2rem;margin:0;text-shadow:0 1px 12px #24120d99}.cover-content{width:100%;margin-top:auto;padding-top:340px;text-shadow:0 1px 12px #24120d55}.cover .cover-content h1{font-size:clamp(2.7rem,4.2vw,4.1rem);margin:0 0 16px;line-height:1.05;color:#fff7e9}.cover .date-line{border-top:1px solid #e7cda88a;padding-top:14px;max-width:350px;margin:0 auto;font-size:1.7rem;gap:22px}.cover .date-line i{background:#e7cda885}.cover .weekday{font-size:.7rem;letter-spacing:.13em;margin:8px 0 21px;color:#efddc4}.cover .recipient p{color:#f1e3d0;font-size:.85rem}.cover .recipient strong{color:#fff7e9;font-size:1.75rem;font-weight:500}.cover .open-invitation{margin-top:19px;border:1px solid #cda676;background:#741b23ed;color:#fff7e9;min-width:210px;box-shadow:0 4px 20px #1b0b0b33;text-shadow:none}.cover .open-invitation:hover{background:#5f1720}.cover .cover-foot{color:#e9d8c1;font-size:.7rem;margin-top:13px}@media(max-width:760px){.cover{min-height:max(760px,100svh);padding:32px 27px 36px}.cover .cover-top{font-size:.65rem;margin-bottom:5px}.cover .cover-script{font-size:1.85rem}.cover-content{padding-top:310px}.cover .cover-content h1{font-size:3rem;margin-bottom:17px}.cover .date-line{font-size:1.65rem;max-width:290px;padding-top:12px}.cover .weekday{font-size:.65rem;margin-bottom:22px}.cover .recipient p{font-size:.8125rem}.cover .recipient strong{font-size:1.65rem}.cover .open-invitation{margin-top:18px}.cover .cover-foot{font-size:.65rem}}@media(max-width:370px){.cover .cover-content h1{font-size:2.6rem}.cover .cover-top{letter-spacing:.1em}}
/* Display the supplied venue photograph inside its screenshot, without changing the source image. */
.venue-card{display:block;max-width:460px;margin:0 auto 32px;text-decoration:none;text-align:left;border:1px solid #d9ba8060;background:#3e1017;overflow:hidden;transition:border-color .2s}
.venue-card:hover{border-color:#d9ba80}
.venue-photo{display:block;position:relative;width:100%;aspect-ratio:503/225;overflow:hidden;background:#422c22}
.venue-photo img{position:absolute;display:block;max-width:none;width:207.9523%;height:auto;left:-5.9642%;top:-36.4444%}
.venue-details{display:block;padding:23px 24px}
.venue-kicker{display:block;color:#d9ba80;font-size:.75rem;letter-spacing:.15em;margin-bottom:9px}
.venue-details strong{display:block;font:400 1.9rem/1.15 var(--serif);color:#fff3df}
.venue-address{display:block;font-size:.875rem;line-height:1.8;color:#e2ccba;margin-top:12px}
.venue-action{display:flex;align-items:center;gap:8px;font-size:.8125rem;line-height:1.6;color:#f3d4a1;border-top:1px solid #d9ba8040;margin-top:18px;padding-top:15px}
.venue-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
#guest-name{overflow-wrap:anywhere;max-width:100%}
#guest-name[hidden]{display:none}
.wish-form input[readonly]{background:#f1e7d9;border-color:#d5bda1;color:var(--ink);font-weight:500;cursor:default}
.wish-name-help{margin:8px 0 21px;color:var(--muted);font-size:.75rem;line-height:1.6;text-align:left}
.wish-form textarea:disabled{background:#f4eee4;cursor:not-allowed;opacity:.7}
.wish-form button:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}
