.event-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-bottom:44px}.event-hero h1{font-size:clamp(56px,8vw,102px);line-height:.98;letter-spacing:-.045em}.hero-subtitle{font:24px/1.5 Georgia,serif}.date-banner{letter-spacing:.14em;font-size:13px;line-height:1.7;border-top:1px solid #ab9979;border-bottom:1px solid #ab9979;padding:12px 0}.hero-art{background:#181817;padding:24px}.hero-art img{width:100%;display:block;min-height:280px}.hero-art small{display:block;color:#c6c0b4;margin-top:16px;font-size:11px}.program{border-top:1px solid #bbb;padding-top:35px}.program h3{font:30px Georgia,serif}.program .panel{border-top:3px solid #a18a63}.program .price{font-size:38px}.program .price small{font-size:14px}.summary a{overflow-wrap:anywhere}.news-item{border-top:1px solid #ccc;padding:20px 0}.news-item p{white-space:pre-line}textarea{width:100%;display:block;font:inherit;padding:12px;margin-top:8px;min-height:160px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-grid .panel{padding:16px}.stat-grid strong{font:32px Georgia,serif;display:block}.admin-list .appointment p{overflow-wrap:anywhere}.reference{overflow-wrap:anywhere;font-size:13px}.newsletter-badge{color:#4c6741;font-size:13px}#inscription{scroll-margin-top:20px}@media(max-width:760px){.event-hero{grid-template-columns:1fr;gap:20px}.hero-art{display:none}.stat-grid{grid-template-columns:1fr 1fr}.program .grid{gap:0}header a:last-child{font-size:14px}}@media print{header,.actions,form,.summary,footer,#preferences{display:none!important}main{padding:0}body{background:white}.event-hero{display:block}.hero-art{display:none}.panel{break-inside:avoid}.layout{display:block}}

/* Full posters stay legible and visible on phones. */
.event-visual{margin:28px auto;max-width:760px}.event-visual img{display:block;width:100%;height:auto}.event-visual figcaption{padding:18px;border:1px solid #a18a63;font-size:14px;line-height:1.6;background:#fff}.hero-art{padding:0;background:transparent}.hero-art img{height:auto;min-height:0}.payment-notice{padding:16px;border:2px solid #a18a63;background:#fff}.sunday-program{margin-top:20px}.event-visual a{overflow-wrap:anywhere}@media(max-width:760px){.event-hero .hero-art{display:block}.event-hero h1{font-size:clamp(42px,12vw,70px)}.event-visual{margin:24px 0}.actions{flex-wrap:wrap}.actions a{max-width:100%}}
