.wedding-gallery{background:#fffdf9}.wedding-gallery-grid{columns:4;column-gap:18px;margin-top:56px}.gallery-tile{color:#67434a;cursor:pointer;break-inside:avoid;text-align:center;background:0 0;border:0;width:100%;margin:0 0 18px;padding:0;display:block}.gallery-image{border:1px solid #d9c9bd;border-radius:12px;width:100%;display:block;overflow:hidden;box-shadow:0 5px 20px #67434a08}.gallery-tone-0{background:#f1e6e3}.gallery-tone-1{background:#e9ebe3}.gallery-tone-2{background:#eee8df}.gallery-tile img{object-fit:cover;width:100%;height:100%}.gallery-tile:focus-visible{outline-offset:5px;border-radius:12px;outline:3px solid #67434a}.gallery-tile:hover .gallery-image{border-color:#94743e}.gallery-lightbox{color:#fffdf9;background:0 0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.gallery-lightbox::backdrop{background:0 0}.gallery-viewer{isolation:isolate;justify-content:center;align-items:center;padding:80px;display:flex;position:fixed;inset:0}.gallery-frost{z-index:-1;-webkit-backdrop-filter:blur(18px);background:#22191cc7;position:absolute;inset:0}.gallery-viewer figure{text-align:center;pointer-events:none;width:min(100%,1100px);margin:0}.gallery-expanded{color:#67434a;touch-action:none;pointer-events:auto;cursor:grab;max-height:68dvh;margin:0 auto;box-shadow:0 24px 90px #0005}.gallery-expanded:active{cursor:grabbing}.gallery-expanded img{object-fit:contain;width:100%;height:100%}.gallery-viewer figcaption{margin-top:18px;font-size:17px}.gallery-instructions{letter-spacing:.025em;color:#eee3df;margin:10px 0 0;font-size:10px}.gallery-viewer button{z-index:2;color:#fffdf9;cursor:pointer;background:#fffdf914;border:1px solid #b5a49b;border-radius:50%;width:48px;height:48px;font-size:31px;line-height:1;position:absolute}.gallery-viewer button:hover{background:#fffdf92b}.gallery-close{top:20px;right:24px}.gallery-prev{top:50%;left:20px}.gallery-next{top:50%;right:20px}.gallery-viewer button:focus-visible{outline-offset:4px;outline:3px solid #d8b775}@media (max-width:1000px){.wedding-gallery-grid{columns:3}}@media (max-width:700px){.wedding-gallery-grid{columns:2;column-gap:12px;margin-top:36px}.gallery-tile{margin-bottom:12px}.gallery-viewer{padding:80px 20px 110px}.gallery-prev,.gallery-next{top:auto;bottom:24px}.gallery-prev{left:calc(50% - 60px)}.gallery-next{right:calc(50% - 60px)}.gallery-instructions{font-size:8px}.gallery-expanded{max-height:62dvh}}@media (prefers-reduced-motion:reduce){.gallery-expanded{cursor:default}}.gallery-tile{transition:transform .45s cubic-bezier(.22,1,.36,1);position:relative}.gallery-tile .gallery-image{transition:border-color .45s,box-shadow .45s}@media (hover:hover){.gallery-tile:hover{z-index:1;transform:translateY(-3px)scale(1.025)}.gallery-tile:hover .gallery-image{border-color:#b89a62;box-shadow:0 14px 30px #67434a20,0 0 0 1px #b89a6244}}.gallery-photo--garden{filter:brightness(1.025)contrast(1.015)}.gallery-photo--heritage{filter:brightness(1.12)contrast(1.025)}.gallery-photo--evening{filter:brightness(1.1)}@media (prefers-reduced-motion:reduce){.gallery-tile,.gallery-tile .gallery-image{transition:none}.gallery-tile:hover{transform:none}}.wedding-gallery-grid{columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:18px;display:grid}.gallery-column{flex-direction:column;gap:18px;min-width:0;display:flex}.gallery-column .gallery-tile{margin:0}@media (max-width:1000px){.wedding-gallery-grid{columns:auto}}@media (max-width:700px){.wedding-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-column{gap:12px}}.gallery-viewer button{place-items:center;padding:0;display:grid}.gallery-viewer button svg{flex-shrink:0;display:block}.gallery-tile:focus-visible .gallery-image{box-shadow:0 5px 20px #67434a08}.gallery-expanded{background:0 0;border:0}.gallery-expanded img{object-fit:cover;display:block}@media (max-width:700px){.gallery-expanded{max-height:68dvh}.gallery-viewer{padding-top:72px}}.gallery-photo--shadow-lift{filter:url(#gallery-shadow-lift)}
.attire-section{background:#f6eeee}.attire-carousel{margin-top:48px}.attire-panels{display:grid}.attire-panel{text-align:center;opacity:0;visibility:hidden;pointer-events:none;grid-area:1/1;transition:opacity .9s cubic-bezier(.22,1,.36,1),visibility .9s}.attire-panel.is-current{opacity:1;visibility:visible;pointer-events:auto}.attire-panel h3{margin-bottom:16px;font-size:clamp(22px,2.2vw,27px)}.attire-panel p{max-width:650px;margin:0 auto 24px;font-size:18px}.attire-panel img{object-fit:contain;width:100%;height:auto;max-height:560px;display:block}.attire-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:24px;font-size:15px;display:flex}.attire-controls button{color:#67434a;cursor:pointer;background:0 0;border:1px solid #b6a18e;min-width:44px;min-height:44px;font-family:inherit;font-size:25px}.attire-controls button:focus-visible{outline-offset:4px;outline:3px solid #67434a}.attire-guidance{text-align:center;max-width:790px;margin:48px auto 0;padding-top:36px;font-size:18px;line-height:1.65}.attire-guidance strong{color:#56323b;font-weight:700}.attire-bride-note{margin-top:24px;font-style:italic}@media (max-width:700px){.attire-carousel{margin-top:32px}.attire-panel p,.attire-guidance{font-size:16px}.attire-panel img{min-height:200px}.attire-guidance{margin-top:36px;padding-top:28px}}@media (prefers-reduced-motion:reduce){.attire-panel{transition:none}}.attire-dots{align-items:center;gap:0;display:flex}.attire-controls .attire-dot{border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.attire-dot span{background:#cbb7bb;border-radius:50%;width:9px;height:9px;transition:width .35s,background .35s;display:block}.attire-dot[aria-pressed=true] span{background:#67434a;border-radius:8px;width:26px}.attire-controls button{border:0;border-radius:50%;transition:background .25s,color .25s}.attire-controls button:hover{background:#eadcdf}.attire-controls>button{place-items:center;width:52px;height:52px;padding:0;font-size:39px;line-height:1;display:grid}.attire-controls button{place-items:center;padding:0;display:grid}.attire-controls button svg{flex-shrink:0;display:block}.attire-image-trigger{cursor:default;background:0 0;border:0;border-radius:8px;width:100%;padding:0;display:block}.attire-image-trigger img{transition:transform .5s}.attire-image-trigger:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.attire-tap-hint{display:none}.attire-lightbox{width:min(1500px,96vw);max-width:96vw;height:min(820px,92dvh);max-height:92dvh;color:var(--ink);background:#fff9f3;border:1px solid #b89a6250;border-radius:16px;padding:25px;overflow:hidden;box-shadow:0 20px 90px #0005}.attire-lightbox::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#302628b8}.attire-lightbox[open]{animation:.3s attire-view-enter}.attire-lightbox-content{text-align:center;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;height:100%;display:grid;position:relative}.attire-lightbox-close{width:44px;height:44px;color:var(--ink);cursor:pointer;z-index:2;background:#f3e7e7;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;right:0}.attire-lightbox h3{margin:0 50px;line-height:1.25}.attire-lightbox-image{height:100%;min-height:0;overflow:hidden}.attire-lightbox-image img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.attire-lightbox .attire-controls{margin-top:0}.attire-viewer-hint{margin:0;font-size:16px}.attire-lightbox-image.is-zoomed{scrollbar-width:none;overflow:auto}.attire-lightbox-image.is-zoomed::-webkit-scrollbar{display:none}.attire-lightbox-image.is-zoomed img{object-fit:initial;width:max(150%,900px);max-width:none;height:auto;max-height:none}@keyframes attire-view-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (min-width:768px) and (hover:hover){.attire-image-trigger:hover img{transform:scale(1.035)}}@media (max-width:767px){.attire-image-trigger{cursor:zoom-in}.attire-tap-hint{display:block;margin:14px 0 0!important;font-size:16px!important}.attire-lightbox{height:85dvh;padding:18px 12px}.attire-lightbox h3{margin:0 44px;font-size:22px}.attire-lightbox-image.is-zoomed img{width:900px;max-width:none;height:auto;max-height:none}.attire-viewer-hint{font-size:14px}.attire-lightbox .attire-controls{gap:12px}}@media (prefers-reduced-motion:reduce){.attire-lightbox[open]{animation:none}.attire-image-trigger img{transition:none}.attire-image-trigger:hover img{transform:none}}
.invitation-site .rsvp-panel .message-field input,.invitation-site .rsvp-panel .message-field textarea{border-radius:12px}.rsvp-feedback-dialog{color:#67434a;text-align:center;width:min(480px,100vw - 32px);font-family:var(--body,"Cormorant",Georgia,serif);background:#fffdf9;border:1px solid #d9c9bd;border-radius:20px;padding:32px;box-shadow:0 24px 80px #0003}.rsvp-feedback-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#22191c8c}.rsvp-feedback-dialog h3{font-family:var(--script,Georgia,serif);margin:0 0 18px;font-size:25px;line-height:1.25}.rsvp-feedback-dialog p{color:#67434a;margin:0 0 24px;font-size:19px;line-height:1.5}.rsvp-feedback-dialog .button{color:#fffdf9;background:#67434a;border:0;border-radius:12px;width:100%;min-height:52px;font-size:16px}@media (max-width:480px){.rsvp-feedback-dialog{padding:26px 22px}}.rsvp-form{opacity:1;transition:opacity .3s}.rsvp-form.is-submitting{opacity:.55}.rsvp-confirmation,.rsvp-additional-guests{animation:.65s cubic-bezier(.22,1,.36,1) both rsvp-content-enter}.rsvp-confirmation .form-note{margin-top:24px}.invitation-site .rsvp-actions button:disabled{opacity:.65;cursor:wait}@keyframes rsvp-content-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.rsvp-form{transition:none}.rsvp-confirmation,.rsvp-additional-guests{animation:none}}.invitation-site .rsvp-panel .form-note{text-align:center}
