/* Temple Heritage image mapping — final generated WebP assets only. */
.hero{background:#fff9e9 url('/assets/temple-heritage/hero-photo.webp?v=6') center/cover no-repeat!important}
.hero .deity-art{display:none!important}
.hero-shade{background:linear-gradient(180deg,rgba(255,252,242,.18),rgba(255,249,232,.08) 45%,rgba(255,247,224,.20) 100%)!important}

.invitation-section{position:relative;background:#fffaf0 url('/assets/temple-heritage/invitation-photo.webp?v=6') center/cover no-repeat!important}
.invitation-section::after{content:'';position:absolute;inset:0;background:rgba(255,252,242,.42);pointer-events:none;z-index:0}
.invitation-section>*{position:relative;z-index:1}
.invitation-section .invite-card{background:linear-gradient(180deg,rgba(255,255,251,.95),rgba(255,248,229,.93))!important;backdrop-filter:blur(6px)}

.dark-section{background:#fff9ea url('/assets/temple-heritage/events-photo.webp?v=6') center/cover no-repeat!important;overflow:hidden}
.dark-section::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,235,.26),rgba(255,250,235,.48) 34%,rgba(255,250,235,.50) 70%,rgba(255,250,235,.22))!important;pointer-events:none;z-index:0}
.dark-section>*{position:relative;z-index:1}
.event-card{background:linear-gradient(135deg,rgba(255,254,247,.95),rgba(255,247,228,.91))!important;backdrop-filter:blur(7px)}

.venue{position:relative;background:#fffaf0 url('/assets/temple-heritage/venue-photo.webp?v=6') center/cover no-repeat!important}
.venue::after{content:'';position:absolute;inset:0;background:rgba(255,252,244,.42);pointer-events:none;z-index:0}
.venue>*{position:relative;z-index:1}
.venue-layout{background:rgba(255,250,240,.95)!important;backdrop-filter:blur(7px)}
.deity-panel{background:#f0e3c6 url('/assets/temple-heritage/venue-photo.webp?v=6') 73% center/cover no-repeat!important}
.deity-portrait{display:none!important}
.deity-panel-caption{display:none!important}

.closing-ribbon{background:#fff9e9 url('/assets/temple-heritage/closing-photo.webp?v=6') center/cover no-repeat!important}
.closing-art{display:none!important}
.closing-shade{background:linear-gradient(180deg,rgba(255,250,236,.18),rgba(255,246,220,.24))!important}

/* Readability and typography +5% across the invitation */
body{font-size:18.9px!important}
.hero-content .sacred{font-size:1.239rem!important;font-weight:600!important;text-shadow:0 1px 10px rgba(255,255,255,.95)!important}
.hero-content .kicker{font-size:.861rem!important;letter-spacing:.19em!important}
.hero-content h1{font-size:clamp(4.83rem,11.55vw,8.82rem)!important;line-height:.9!important}
.hero-content .telugu-names{font-size:1.281rem!important;font-weight:600!important}
.hero-content .invite-line{font-size:1.6275rem!important;line-height:1.55!important;max-width:760px!important;color:#40391f!important;background:rgba(255,253,244,.88)!important;border:1px solid rgba(181,137,57,.42)!important;box-shadow:0 10px 30px rgba(92,69,23,.10)!important}
.hero-content .hero-date{font-size:.9975rem!important;font-weight:700!important;letter-spacing:.22em!important;color:#4d452b!important}
.scroll-cue{font-size:.819rem!important;font-weight:700!important;color:#4f492f!important}

.section-title .kicker{font-size:.861rem!important;font-weight:700!important}
.section-title h2{font-size:clamp(3.36rem,6.825vw,5.67rem)!important;line-height:1!important}
.invite-intro,.invite-request{font-size:1.386rem!important;line-height:1.6!important;color:#514936!important}
.parents-grid span,.wedding-facts span,.venue-card>span{font-size:.798rem!important;font-weight:700!important;letter-spacing:.13em!important}
.parents-grid strong{font-size:1.995rem!important;line-height:1.15!important}
.parents-grid small,.wedding-facts small{font-size:1.134rem!important;color:#5f5848!important}
.invite-names{font-size:clamp(3.885rem,7.875vw,6.09rem)!important}
.wedding-facts strong{font-size:1.785rem!important}

.light-title .kicker,.light-title h2{color:#473f28!important;text-shadow:0 1px 10px rgba(255,255,255,.85)!important}
.event-number{font-size:2.6775rem!important;color:#a97017!important;font-weight:500!important}
.event-card span{font-size:.819rem!important;font-weight:700!important;color:#8b6019!important}
.event-card h3{font-size:2.1525rem!important;line-height:1.08!important;color:#403a27!important}
.event-card p{font-size:1.302rem!important;line-height:1.45!important;color:#5b5442!important}
.event-badge{font-size:.714rem!important;font-weight:700!important;color:#6f531f!important;background:#fff7df!important;border-color:#cba15a!important}

.venue-card h3{font-size:clamp(2.625rem,4.2vw,3.675rem)!important;line-height:1.03!important;color:#433d29!important}
.venue-card p{font-size:1.344rem!important;line-height:1.55!important;color:#5f5845!important}
.venue-time{font-size:1.197rem!important;font-weight:500!important}
.button{font-size:.903rem!important;font-weight:700!important;letter-spacing:.08em!important}

.closing-content .kicker{font-size:.903rem!important;font-weight:700!important;color:#4c452c!important}
.closing-content h2{font-size:clamp(4.2rem,8.925vw,6.93rem)!important;line-height:.95!important;color:#8a5816!important}
.closing-content>p{font-size:1.554rem!important;line-height:1.58!important;max-width:760px!important;color:#403a27!important;background:rgba(255,253,244,.90)!important;border:1px solid rgba(181,137,57,.40)!important;box-shadow:0 10px 30px rgba(92,69,23,.10)!important}
.ribbon span{font-size:.861rem!important;font-weight:700!important}.ribbon b{font-size:1.134rem!important}
.invite-footer-brand{display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important;margin-top:28px!important}.invite-footer-brand small{display:none!important}.footer-brand-logo{content:url('/assets/brand/invites-by-vamsi-logo.webp?v=7')!important;width:min(380px,82vw)!important;height:auto!important;display:block!important;background:rgba(255,253,246,.94)!important;padding:12px!important;border-radius:18px!important;box-shadow:0 14px 34px rgba(82,58,28,.16)!important;filter:none!important}.footer-brand-email{font-size:1.134rem!important;font-weight:700!important;color:#55472f!important}

/* opener and floating controls +5% */
.opening-kicker,.tap-hint,.control,.invite-share-button,.letter-card small,.letter-card em{font-size:105%!important}
.letter-card b,.wax-seal{font-size:105%!important}

@media(max-width:640px){
  body{font-size:17.85px!important}
  .hero{background-position:62% center!important}
  .invitation-section{background-position:52% center!important}
  .dark-section{background-position:46% center!important}
  .venue{background-position:66% center!important}
  .deity-panel{background-position:73% center!important}
  .closing-ribbon{background-position:50% center!important}
  .hero-content h1{font-size:clamp(3.885rem,17.85vw,5.565rem)!important}
  .hero-content .invite-line{font-size:1.344rem!important;line-height:1.5!important}
  .hero-content .hero-date{font-size:.861rem!important;letter-spacing:.16em!important}
  .section-title h2{font-size:2.8875rem!important}
  .invite-intro,.invite-request{font-size:1.218rem!important}
  .parents-grid strong{font-size:1.533rem!important}
  .parents-grid small,.wedding-facts small{font-size:1.05rem!important}
  .wedding-facts strong{font-size:1.407rem!important}
  .event-number{font-size:2.1rem!important}
  .event-card h3{font-size:1.701rem!important}
  .event-card p{font-size:1.134rem!important}
  .venue-card h3{font-size:2.205rem!important}
  .venue-card p{font-size:1.176rem!important}
  .venue-time{font-size:1.071rem!important}
  .closing-content h2{font-size:clamp(3.36rem,15.75vw,5.04rem)!important}
  .closing-content>p{font-size:1.302rem!important}
  .footer-brand-logo{width:min(310px,86vw)!important}
}