/* Scoped to the 2026 festival stories and their news cards. */
.festival-section{padding-top:48px}
.festival-heading{margin:28px 0 32px}
.festival-heading h1{margin:14px 0 18px;font-size:clamp(32px,4vw,50px);line-height:1.15;overflow-wrap:break-word}
.festival-story .festival-date{font-size:14px;color:#53626a;margin:14px 0 0}
.festival-story>p{line-height:1.8}
.festival-greeting{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:24px;padding:34px;border-radius:20px;background:#fff6e5;border:1px solid #eedcbb;margin:30px 0}
.festival-greeting h2{font-size:clamp(28px,4vw,40px);margin:12px 0;color:#80501b}
.festival-greeting p{margin-bottom:0}
.festival-greeting img{display:block;width:100%;height:auto;max-height:270px;object-fit:contain}
.festival-story .festival-photo{margin:32px 0}
.festival-photo a{display:block}
.festival-story .festival-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:14px;background:#f2f4f1}
.festival-photo figcaption{padding:12px 2px 0;color:#53626a;font-size:14px;line-height:1.6}
.festival-photo-portrait{max-width:570px;margin-left:auto!important;margin-right:auto!important}
.festival-wish{background:#eff7ec;border-left:4px solid #48743c;border-radius:0 14px 14px 0;padding:24px 28px;margin:30px 0}
.festival-wish h2{margin:0 0 8px;color:#315a29}
.festival-wish p{margin-bottom:0}
.festival-card-media{height:240px;background:#f0f4ed;display:flex;align-items:center;justify-content:center;padding:0}
.festival-card .festival-card-media img{width:100%;height:100%;object-fit:contain;object-position:center}
.festival-card-deepavali .festival-card-media{background:#fff6e5;padding:18px}
.festival-card-deepavali .festival-card-media img{width:auto;max-width:100%}
.festival-card .meta{line-height:1.6}
.festival-card[hidden]{display:none}
@media(max-width:640px){
  .festival-section{padding-top:30px}
  .festival-heading{margin-top:24px}
  .festival-greeting{grid-template-columns:1fr;padding:25px;gap:12px}
  .festival-greeting img{width:165px;justify-self:center}
  .festival-story .festival-photo{margin-top:26px;margin-bottom:26px}
  .festival-card-media{height:auto;min-height:190px;aspect-ratio:4/3}
  .festival-card .festival-card-media img{height:auto;max-height:100%}
  .festival-card-deepavali .festival-card-media img{width:auto;height:210px}
  .festival-wish{padding:22px}
}
