/* Refined envelope based on the requested clean triangular reference. */
.envelope {
  height: min(59vw, 335px);
}

.envelope-back {
  background: #d4ccb9;
  border: 10px solid #d9d0bd;
}

.letter {
  left: 7%;
  right: 7%;
  top: 8%;
  height: 84%;
  padding: 36px 15px;
}

.letter strong {
  font-size: clamp(23px, 7vw, 34px);
}

.envelope-front {
  inset: 39% 0 0;
  background:
    linear-gradient(32deg, #e1d8c4 49.4%, transparent 50%) left bottom / 50.2% 100% no-repeat,
    linear-gradient(-32deg, #d9cfbb 49.4%, transparent 50%) right bottom / 50.2% 100% no-repeat,
    #ded5c1;
  border-radius: 0 0 5px 5px;
}

.flap {
  inset: 0;
  bottom: auto;
  height: 54%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #e9e1d1;
}

.seal {
  top: 52%;
  width: 84px;
  height: 84px;
}

.seal span {
  font-size: 25px;
}

.venue-photo img {
  transform: scale(1.01);
}

.footer-monogram {
  font-size: 32px;
}

#wedding-song {
  display: none;
}

.music-control {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 12;
  display: none;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid #ffffff99;
  border-radius: 50%;
  background: #405a45e8;
  color: white;
  font: 23px "Cormorant Garamond", serif;
  box-shadow: 0 8px 24px #17231938;
  cursor: pointer;
}

.music-control.visible {
  display: grid;
}

.music-control.playing {
  animation: music-pulse 2.2s ease-in-out infinite;
}

@keyframes music-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}

.rsvp-section{padding:100px 7vw 110px;background:#f4f0e6}.rsvp-intro,.rsvp-form{max-width:720px;margin-inline:auto}.rsvp-intro h2{margin:24px 0 20px}.rsvp-intro>p:last-child,.field-help{color:#586358;font:18px/1.6 "Cormorant Garamond",serif}.rsvp-form{margin-top:54px}.rsvp-form fieldset{margin:0;padding:38px 0;border:0;border-top:1px solid #87917f66}.rsvp-form legend{display:flex;gap:14px;align-items:flex-start;width:100%;color:#253127;font:23px/1.35 "Cormorant Garamond",serif}.rsvp-form legend>span{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border:1px solid #ad8b4b;border-radius:50%;color:#ad8b4b;font:13px "DM Sans",sans-serif}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:28px 0 20px}.choice-grid label,.attendance-options label{position:relative;cursor:pointer}.choice-grid input,.attendance-options input{position:absolute;opacity:0}.choice-grid label>span,.attendance-options label>span{display:flex;align-items:center;min-height:52px;padding:13px 15px;border:1px solid #89927f66;border-radius:4px;background:#fbf8ef;transition:border-color .2s,background .2s,transform .2s}.choice-grid input:checked+span,.attendance-options input:checked+span{border-color:#405a45;background:#dfe5d8;transform:translateY(-1px)}.choice-grid input:focus-visible+span,.attendance-options input:focus-visible+span,.text-input:focus-visible{outline:2px solid #ad8b4b;outline-offset:2px}.attendance-options{display:grid;gap:10px;margin-top:28px}.text-label{display:block;margin-bottom:8px;color:#536052;font-size:12px}.text-input{width:100%;padding:15px 0;border:0;border-bottom:1px solid #687565;border-radius:0;background:transparent;color:#253127;font:17px "DM Sans",sans-serif}.text-input::placeholder{color:#7d8579}.field-help{margin:16px 0 15px}.submit-rsvp{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:12px;padding:19px 21px;border:0;border-radius:3px;background:#405a45;color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:10px;cursor:pointer}.submit-rsvp:disabled{cursor:default;opacity:.8}.submit-rsvp span{font-size:19px}.form-status{min-height:26px;margin-top:16px;color:#405a45;text-align:center;font:italic 18px "Cormorant Garamond",serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:480px){.choice-grid{grid-template-columns:1fr}}
.event-time{margin:0 0 18px;color:#f1e7d1;font:500 13px "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase}.rsvp-intro .rsvp-deadline{margin-top:18px;padding-top:18px;border-top:1px solid #87917f66;color:#405a45;font-size:17px}.rsvp-deadline a{color:#405a45;font-weight:500;text-decoration-thickness:1px;text-underline-offset:3px}
.accommodation-note{margin:28px 0 6px;padding:22px 24px;border:1px solid #e8d8b8;border-radius:3px;background:#f4efe31a}.accommodation-note span{display:block;margin-bottom:8px;color:#ead7ad;font:500 10px "DM Sans",sans-serif;letter-spacing:.22em;text-transform:uppercase}.accommodation-note strong{display:block;color:#fff;font:italic 25px/1.25 "Cormorant Garamond",serif}
