[data-sig="union-contact"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px;h2{font-size:36px;margin-bottom:28px}.contact-details>p{margin-bottom:24px;max-width:40ch}.contact-details>a{display:block;min-height:44px;font-size:24px}.contact-details img{height:360px;margin-top:40px}.hours{margin:36px 0}.hours h3{font-size:24px;margin-bottom:16px}.hours p{line-height:2}.hours span{float:right;margin-left:24px}.open-status{font-weight:600;font-size:17px;margin-top:12px}.hours .small{color:#555;line-height:1.5}.booking{background:var(--white);padding:40px;align-self:start;border:1px solid #ccc}.booking>p{font-size:16px;margin-bottom:28px}.booking form{display:flex;flex-direction:column}.booking label{font-size:17px;font-weight:600;margin:20px 0 8px}.booking input,.booking select{padding:12px;min-height:48px;width:100%;min-width:0;background:var(--paper);color:var(--ink);border:1px solid #aaa;font-size:16px}.booking .book{margin-top:24px}.booking .small{font-size:13px;margin-top:20px;color:#555}.form-error{margin-top:20px;font-size:16px;font-weight:600}.thank-you h3{font-size:28px}.thank-you p{margin:20px 0}.reset-booking{padding:12px;background:var(--ink);color:var(--paper);border:0;min-height:44px}@media(max-width:800px){&{gap:48px}.booking{padding:24px}}@media(max-width:700px){&{grid-template-columns:minmax(0,1fr)}.booking{padding:28px 20px;margin:0 -4px}.booking h2{font-size:32px}.hours span{float:none;margin-left:16px}.contact-details>a{font-size:22px}}}
