.special-area { color: var(--parish-ink, #17263a); }
.special-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr); align-items: center; gap: clamp(2rem, 5vw, 4rem); }
.special-hero-copy h2, .special-donation-hero h2 { max-width: 17ch; color: var(--parish-burgundy-dark, #651b2b); font: 700 clamp(2.25rem, 4.4vw, 3.8rem)/1.1 "Poppins", Arial, sans-serif; }
.special-hero-copy > p:not(.parish-eyebrow), .special-donation-hero > p:last-child { max-width: 62ch; color: #455064; font-size: 1.08rem; line-height: 1.75; }
.special-hero-image { margin: 0; }
.special-hero-image img { display: block; width: 100%; max-height: 28rem; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 1rem; }
.special-hero-image figcaption, .special-gallery figcaption { margin-top: .5rem; color: #5a6472; font-size: .86rem; }
.special-area .btn-primary { background: var(--parish-burgundy, #7f2638); border-color: var(--parish-burgundy, #7f2638); }
.special-area .btn-outline-primary { color: var(--parish-burgundy-dark, #651b2b); border-color: var(--parish-burgundy, #7f2638); }
.special-area a:focus-visible, .special-area button:focus-visible { outline: 3px solid #a87814; outline-offset: 3px; }
.special-section { padding-block: clamp(2.5rem, 5vw, 4rem); }
.special-section-heading { max-width: 62ch; margin-bottom: 1.5rem; }
.special-section-heading h2, .special-info-panel h2 { color: var(--parish-ink, #17263a); font: 700 clamp(1.8rem, 3vw, 2.55rem)/1.18 "Poppins", Arial, sans-serif; }
.special-section-heading > p:last-child { color: #596474; line-height: 1.65; }
.special-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.special-info-card { padding: 1.5rem; border: 1px solid rgba(23, 38, 58, .14); border-radius: .85rem; background: #fffdf9; }
.special-info-card h3 { margin: .7rem 0; color: var(--parish-ink, #17263a); font: 700 1.35rem/1.25 "Poppins", Arial, sans-serif; }
.special-info-card p { color: #455064; line-height: 1.65; }
.special-info-icon { display: inline-grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: rgba(127, 38, 56, .09); color: var(--parish-burgundy, #7f2638); }
.special-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.special-gallery figure { min-width: 0; margin: 0; }
.special-gallery a { display: block; overflow: hidden; border-radius: .75rem; background: #f1eee8; }
.special-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .2s ease; }
.special-gallery a:hover img, .special-gallery a:focus-visible img { transform: scale(1.025); }
.special-info-panel { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.4rem, 4vw, 2.5rem); border: 1px solid rgba(23, 38, 58, .14); border-radius: .9rem; background: #f7f3eb; }
.special-info-panel > div { max-width: 62ch; }
.special-info-panel p { color: #455064; line-height: 1.65; }
.special-pending, .special-privacy-note { padding: .9rem 1rem; border-left: 4px solid #a87814; background: #fffaf0; color: #343b47 !important; }
.special-empty { padding: 1.2rem; border-radius: .75rem; background: #f7f3eb; color: #455064; line-height: 1.6; }
.special-cta-band { margin-top: 2rem; padding: clamp(2rem, 5vw, 3.5rem) 0; background: var(--parish-ink, #17263a); color: rgba(255,255,255,.84); }
.special-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.special-cta-inner > div { max-width: 62ch; }
.special-cta-inner h2 { color: #fff; font: 700 clamp(1.8rem, 3.5vw, 2.7rem)/1.15 "Poppins", Arial, sans-serif; }
.special-cta-inner .parish-eyebrow { color: #f3d8a2; }
.special-cta-inner p:last-child { margin-bottom: 0; line-height: 1.6; }
.special-cta-inner .btn-primary { flex: 0 0 auto; background: #fff; border-color: #fff; color: #17263a; }
.special-donation-hero { padding: clamp(2rem, 5vw, 4rem); border-radius: 1rem; background: linear-gradient(130deg, #f7f0e6, #fffdf9 72%); }
.special-donation-hero h2 { max-width: 20ch; }
.special-donation-grid { grid-template-columns: 1.15fr .85fr; }
.special-payment-card { border-top: 4px solid var(--parish-burgundy, #7f2638); }
.special-payment-card a { color: #651b2b; font-weight: 700; text-underline-offset: .15em; }
.special-iban { padding: .85rem 1rem; border-radius: .45rem; background: #f5f1eb; color: #17263a !important; font-size: clamp(1rem, 2vw, 1.25rem); letter-spacing: .035em; overflow-wrap: anywhere; }
@media (max-width: 767.98px) { .special-hero { grid-template-columns: 1fr; } .special-hero-image img { max-height: 22rem; } .special-info-grid, .special-donation-grid { grid-template-columns: 1fr; } .special-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } .special-info-panel, .special-cta-inner { align-items: flex-start; flex-direction: column; } }
@media (max-width: 420px) { .special-gallery { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .special-gallery img { transition-duration: .01ms; } }
