/* Photo proposals share the selected invitation's dark silver identity. */
.photos-section{position:relative;background:#030305;border-top:1px solid #ffffff20;overflow:hidden}
.photos-section>.photos-heading,.photos-content,.photos-tip,.photos-review-links{position:relative;z-index:2}
.photos-heading{max-width:650px;margin:0 auto 55px}
.photos-heading>p:last-child{margin-top:22px;color:#bfbfbf;font-size:12px}
.photos-section .silver-star{box-shadow:0 0 7px 2px #fff9,0 0 18px #d8e5ff66;animation-name:night-star-shine}
.photos-section .silver-star-cross{filter:drop-shadow(0 0 5px #fff)}
.photos-content{width:min(100%,1000px);margin-inline:auto}
.photo-card{position:relative;display:block;width:100%;padding:9px;border:1px solid #ffffff65;background:linear-gradient(135deg,#b8bdc54d,#141417 18%,#151518 80%,#dce3ef3d);box-shadow:0 18px 48px #0009,0 0 22px #e1eaff0c;line-height:0;transition:border-color .25s,box-shadow .25s}
.photo-card:hover{border-color:#edf1f7;box-shadow:0 18px 48px #0009,0 0 25px #e1eaff20}
.photo-card img{display:block;width:100%;height:auto}
.photo-expand{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:34px;height:34px;background:#08080cce;border:1px solid #ffffff60;border-radius:50%;color:#fff;font-size:19px;line-height:1}
.photos-tip{margin:30px auto 0;color:#aeb0b8;font-size:10px;letter-spacing:.03em}
.party-social{position:relative;z-index:2;max-width:630px;margin:60px auto 0;padding:35px 25px 25px;border:1px solid #ffffff40;background:#0a0a0fe8;box-shadow:0 14px 45px #0008}
.party-social .eyebrow{margin-bottom:15px}
.party-social-message{font-size:12px;color:#c4c7d0}
.party-hashtag{margin:12px 0 24px;font-family:var(--serif);font-size:clamp(46px,8vw,70px);line-height:1.2;letter-spacing:-.03em;color:#f2f4f8;text-shadow:0 0 20px #dae7ff25;user-select:text}
.party-social-links{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}
.party-social-links .button{min-width:160px;margin-top:0}
.party-hashtag-copy{min-height:44px;margin-top:18px;padding:9px 12px;border:0;border-bottom:1px solid #ffffff50;background:none;color:#d1d5df;font-size:11px}
.party-copy-status{min-height:34px;max-width:400px;margin:12px auto 0;font-size:11px;color:#c4c7d0}
@media(max-width:760px){.party-social{padding:30px 16px 20px;margin-top:45px}.party-social-links{gap:12px}.party-social-links .button{min-width:0;flex:1 1 110px;padding:15px 12px;gap:16px}}
.photos-review-links{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin:45px auto 0;font-size:10px;color:#c5c7cf}
.photos-review-links a{padding:8px 0;border-bottom:1px solid #ffffff45}
.photos-chapter{position:relative;padding:0 0 70px}
.photos-chapter+.photos-chapter{padding-top:25px;border-top:1px solid #ffffff25}
.photos-chapter-label{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:36px;color:#dce0e7;font-family:var(--serif);font-size:24px;font-style:italic}
.photos-chapter-label span{font-family:var(--sans);font-size:9px;font-style:normal;color:#acb2bc;letter-spacing:.16em}
.photos-chapter-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:65px;max-width:880px;margin:auto}
.photos-album .photo-card-portrait{max-width:280px;justify-self:center;transform:rotate(-2deg)}
.photos-album .photo-card-landscape{transform:rotate(2deg)}
.photos-chapter-current .photos-chapter-grid{grid-template-columns:1fr 1fr;gap:35px;max-width:960px}
.photos-chapter-current .photo-card:first-child{transform:rotate(-2deg)}
.photos-chapter-current .photo-card:last-child{transform:rotate(2deg);margin-top:65px}
.photos-chapter:last-child{padding-bottom:0}
.photos-mosaic{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:repeat(3,minmax(0,1fr));aspect-ratio:1.1;gap:18px;max-width:820px}
.photos-mosaic .photo-card{min-width:0;min-height:0}
.photos-mosaic .photo-card:first-child{grid-row:1 / 4}
.photos-mosaic .photo-card img{height:100%;object-fit:cover;object-position:center}
.photos-mosaic .photo-card:first-child img{object-position:50% 50%}
.photos-carousel{max-width:850px}
.photos-carousel-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:2px}
.photos-carousel-track::-webkit-scrollbar{display:none}
.photos-carousel-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.photos-carousel .photo-card{aspect-ratio:3 / 2;height:100%;background:#0d0d11}
.photos-carousel .photo-card img{height:100%;object-fit:contain}
.photos-carousel-controls{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:25px}
.photo-control{display:grid;place-items:center;min-width:48px;min-height:48px;padding:8px;border:1px solid #ffffff65;background:#111115;color:#f3f5fa;border-radius:50%;font-size:22px;line-height:1}
.photo-control:disabled{opacity:.3;cursor:default}
.photos-position{min-width:50px;color:#c7cbd4;font-size:11px;letter-spacing:.12em;text-align:center}
.photo-viewer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:28px;border:0;background:#050508f5;color:#fff;overflow:auto}
.photo-viewer[open]{display:grid;place-items:center}
.photo-viewer::backdrop{background:#030305e8}
body.photos-viewer-open{overflow:hidden}
.photo-viewer-panel{width:min(100%,1200px);min-width:0;text-align:center}
.photo-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.photo-viewer-title{font-family:var(--serif);font-size:26px;font-style:italic;text-align:left}
.photo-viewer-close{border:1px solid #ffffff65;background:#111115;min-width:48px;min-height:48px;border-radius:50%;font-size:27px;line-height:1}
.photo-viewer-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 215px);object-fit:contain;margin:auto;box-shadow:0 18px 55px #000}
.photo-viewer-error{margin:15px auto;color:#dadde5;font-size:12px}
.photo-viewer-controls{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:20px}
.photos-comparison{min-height:100vh;padding:50px 30px 105px}
.photos-comparison-nav{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:0 auto 80px;color:#b9bec8;font-size:10px;letter-spacing:.1em}
.photos-comparison-nav a{font-family:var(--serif);font-size:38px;color:#f3f5fa;line-height:1}
.photos-comparison h1{font-family:var(--serif);font-size:clamp(46px,6vw,78px);line-height:1.05;letter-spacing:-.03em}
.photos-comparison h1 em{font-weight:400;color:#dce0e8}
.photos-options{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1200px;margin:0 auto;text-align:left}
.photos-option{border:1px solid #ffffff35;background:#0b0b10e8;min-width:0;box-shadow:0 20px 55px #0008}
.photos-option-link{display:block;padding:15px 15px 25px;height:100%}
.photos-option-link:hover{background:#ffffff04}
.photos-option-preview{position:relative;height:280px;overflow:hidden;background:#060609;isolation:isolate}
.photos-option-preview img{position:absolute;display:block;object-fit:cover;border:3px solid #b9bdc7;box-shadow:0 8px 25px #0008}
[data-preview=album] img:nth-child(1){width:36%;height:63%;left:7%;top:10%;transform:rotate(-6deg)}
[data-preview=album] img:nth-child(2){width:48%;height:35%;right:6%;top:8%;transform:rotate(5deg)}
[data-preview=album] img:nth-child(3){width:47%;height:35%;left:10%;bottom:6%;transform:rotate(-4deg)}
[data-preview=album] img:nth-child(4){width:45%;height:39%;right:5%;bottom:12%;transform:rotate(5deg)}
[data-preview=mosaico]{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:repeat(3,1fr);gap:5px;padding:8px}
[data-preview=mosaico] img{position:static;width:100%;height:100%;min-height:0;border-width:1px}
[data-preview=mosaico] img:first-child{grid-row:1 / 4}
[data-preview=carrusel] img{width:85%;height:78%;left:7.5%;top:7%;border-width:6px}
[data-preview=carrusel]::after{content:"‹     04 / 04     ›";position:absolute;bottom:5%;width:100%;text-align:center;color:#dce0e8;font-size:12px;letter-spacing:.1em}
.photos-option-number{display:flex;justify-content:space-between;gap:10px;margin:23px 5px 12px;color:#b9bdc7;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.photos-option-number em{font-style:normal;color:#f3f5fa}
.photos-option h2{font-size:30px;margin:0 5px;line-height:1.15}
.photos-option p{margin:15px 5px 24px;color:#b9bdc7;font-size:12px;line-height:1.8}
.photos-option-cta{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #ffffff30;margin:0 5px;padding-top:16px;font-size:10px;letter-spacing:.06em;color:#eef1f6}
.photos-comparison-note{position:relative;z-index:2;max-width:580px;margin:40px auto 0;color:#b9bdc7;font-size:11px;line-height:1.9}
@media(max-width:900px){.photos-options{gap:15px}.photos-option-preview{height:230px}.photos-option h2{font-size:25px}.photos-chapter-grid{gap:35px}}
@media(max-width:760px){
  .photos-section.section{padding-inline:22px}
  .photos-heading{margin-bottom:40px}
  .photos-section .silver-star:nth-child(n+49){display:none}
  .photos-chapter{padding-bottom:45px}
  .photos-chapter-grid,.photos-chapter-current .photos-chapter-grid{grid-template-columns:1fr;gap:35px;max-width:470px}
  .photos-album .photo-card-portrait{max-width:245px}
  .photos-chapter-current .photo-card:last-child{margin-top:0}
  .photos-mosaic{gap:10px}
  .photos-mosaic .photo-card{padding:5px}
  .photos-mosaic .photo-expand{right:8px;bottom:8px;width:25px;height:25px;font-size:15px}
  .photos-carousel .photo-card{aspect-ratio:4 / 5}
  .photos-comparison.section{padding:30px 22px 105px}
  .photos-comparison-nav{margin-bottom:60px;font-size:8px;letter-spacing:.04em}
  .photos-options{grid-template-columns:1fr;max-width:470px;gap:30px}
  .photos-option-preview{height:300px}
  .photos-option h2{font-size:32px}
  .photo-viewer{padding:18px 14px;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .photo-viewer-title{font-size:22px}
  .photo-viewer-image{max-height:calc(100dvh - 205px)}
}
@media(prefers-reduced-motion:reduce){.photos-carousel-track{scroll-behavior:auto}.photos-section .silver-star{opacity:.85}}
