/* Give each occasion room for a large title and readable, emphasized copy. */
.occasion-grid{display:grid;gap:24px}
.occasion{display:grid;grid-template-columns:64px minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(25px,3.5vw,60px);padding:44px 38px;border:1px solid var(--line);background:linear-gradient(115deg,#d0b5c407,#ffffff02)}
.occasion-number{display:block;color:#c7a8be99;font:44px/1.15 Bodoni,Georgia,serif;letter-spacing:-.04em;padding-top:4px}
.occasion h3{font-size:clamp(36px,3.7vw,56px);line-height:1.12;letter-spacing:-.03em}
.occasion h3 em{color:var(--accent)}
.occasion-copy{font-size:17px;line-height:1.85;color:#d2c6d0}
.occasion-copy p+p{margin-top:20px}
.occasion-copy strong{color:var(--text);font-weight:650}
.occasion-copy em{color:#e0c6d7}
html[data-corners="rounded"] .occasion{border-radius:var(--corner-card)}
@media(max-width:1100px){
  .occasion{grid-template-columns:48px minmax(0,.85fr) minmax(0,1.15fr);padding:36px 28px;gap:24px}
  .occasion h3{font-size:36px}
}
@media(max-width:800px){
  .occasion{grid-template-columns:40px minmax(0,1fr);padding:32px;gap:22px}
  .occasion-number{font-size:36px}
  .occasion h3{font-size:40px}
  .occasion-copy{grid-column:2}
}
@media(max-width:520px){
  .occasion-grid{gap:20px}
  .occasion{grid-template-columns:1fr;padding:28px 24px 32px;gap:20px}
  .occasion-number{font-size:30px;padding:0}
  .occasion h3{font-size:38px}
  .occasion-copy{grid-column:1;font-size:16px;line-height:1.85}
}
