/* Headings must remain fully readable throughout scroll reveals. */
.clip-reveal { clip-path:none!important; overflow:visible; opacity:1; transform:none; }
.dress-v27-title { line-height:1.08; letter-spacing:-.035em; padding-block:.08em; }
.dress-v27-title span { font-size:clamp(70px,9vw,144px); }
.dress-v27-title em { font-size:clamp(64px,8vw,128px); line-height:1.08; }
.look-card-v27 img { object-fit:contain; object-position:center; background:#e8e3d9; }
.dress-v27-viewport { position:relative; }
.date-v27-number { line-height:1.12; margin:0; padding:0; letter-spacing:-.055em; }
.date-v27-month-lockup { position:relative; margin-top:8px; padding-top:16px; }
@media (max-width:760px) {
  .date-v27-number { font-size:clamp(128px,38vw,190px); line-height:1.12; }
  .date-v27-month-lockup { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:baseline; }
  .date-v27-month-lockup > span { font-size:32px; line-height:1.2; }
  .date-v27-place { margin-top:24px; }
}
.rsvp-title,.chat-title { font-size:clamp(64px,6.5vw,96px); line-height:1.12; letter-spacing:-.03em; }
@media (min-width:761px) {
  .final-signature { display:flex; flex-direction:row; align-items:baseline; justify-content:center; gap:20px; flex-wrap:wrap; }
  .final-signature strong { display:flex; align-items:baseline; gap:.25em; flex-wrap:nowrap; }
}
@media (max-width:760px) {
  .story-title,.program-title,.location-title,.rsvp-title,.chat-title,.contacts-title,.details-title,.finale-title { max-width:100%; font-size:clamp(38px,11vw,56px); line-height:1.12; letter-spacing:-.025em; text-wrap:balance; overflow-wrap:normal; }
  .dress-v27-title span { font-size:clamp(48px,16vw,72px); line-height:1.1; }
  .dress-v27-title em { margin-left:10%; font-size:clamp(48px,16vw,72px); line-height:1.1; }
  .dress-v27-copy { font-size:16px; line-height:1.65; }
  .look-card-v27 img { height:100%; }
}
