body{background-color:var(--bg);background-image:linear-gradient(110deg,rgba(6,23,18,.97) 0%,rgba(6,23,18,.91) 43%,rgba(6,23,18,.72) 100%),url('assets/hajj-background-v2.png');background-size:cover;background-position:center;background-attachment:fixed}
body[data-theme="ivory"]{background-image:linear-gradient(110deg,rgba(243,239,229,.97) 0%,rgba(243,239,229,.91) 48%,rgba(243,239,229,.78) 100%),url('assets/hajj-background-v2.png')}
body[data-theme="midnight"]{background-image:linear-gradient(110deg,rgba(7,13,24,.97) 0%,rgba(7,13,24,.90) 45%,rgba(7,13,24,.70) 100%),url('assets/hajj-background-v2.png')}
body[data-theme="contrast"]{background-image:linear-gradient(110deg,rgba(0,0,0,.99),rgba(0,0,0,.87)),url('assets/hajj-background-v2.png')}
.hero{background-image:linear-gradient(115deg,rgba(7,38,29,.97) 0%,rgba(7,38,29,.85) 52%,rgba(7,38,29,.55) 100%),url('assets/hajj-background-v2.png');background-size:cover;background-position:center 48%}
body[data-theme="ivory"] .hero{background-image:linear-gradient(115deg,rgba(255,253,247,.97) 0%,rgba(255,253,247,.87) 55%,rgba(255,253,247,.66) 100%),url('assets/hajj-background-v2.png')}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.compact-hero h2{font-size:clamp(2rem,4vw,3.8rem)}
.progress-track>span.p-0{width:0}.progress-track>span.p-5{width:5%}.progress-track>span.p-10{width:10%}.progress-track>span.p-15{width:15%}.progress-track>span.p-20{width:20%}.progress-track>span.p-25{width:25%}.progress-track>span.p-30{width:30%}.progress-track>span.p-35{width:35%}.progress-track>span.p-40{width:40%}.progress-track>span.p-45{width:45%}.progress-track>span.p-50{width:50%}.progress-track>span.p-55{width:55%}.progress-track>span.p-60{width:60%}.progress-track>span.p-65{width:65%}.progress-track>span.p-70{width:70%}.progress-track>span.p-75{width:75%}.progress-track>span.p-80{width:80%}.progress-track>span.p-85{width:85%}.progress-track>span.p-90{width:90%}.progress-track>span.p-95{width:95%}.progress-track>span.p-100{width:100%}
@media(max-width:720px){body{background-position:58% center;background-attachment:scroll}.hero{background-position:62% center}}
@media(prefers-reduced-data:reduce){body,.hero{background-image:none}}
.reunion-card{background:#f8f3e7;color:#083c31;border-radius:22px;padding:28px 26px;border:2px solid #c9b27a}
.reunion-card header{display:flex;justify-content:space-between;align-items:baseline;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800;color:#8a6d2b;margin-bottom:10px}
.reunion-card h3{font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 18px;line-height:1.1;color:#083c31}
.reunion-card dl{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin:0}
.reunion-card dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#6d7f76;margin-bottom:4px}
.reunion-card dd{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}
.reunion-note{margin:22px 0 0;font-size:.78rem;color:#6d7f76}
@media(max-width:640px){.reunion-card dl{grid-template-columns:1fr}}
@media print{
  html.printing-reunion body *{visibility:hidden}
  html.printing-reunion #reunion-card,html.printing-reunion #reunion-card *{visibility:visible}
  html.printing-reunion #reunion-card{position:absolute;inset:24px;box-shadow:none}
}
