.tl-grid { display: grid; gap: clamp(1rem, 2vw, 1.75rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.tl-event-details { background: #eef5f7; border-left: .4rem solid #168c9e; border-radius: .4rem; padding: 1rem 1.25rem; }
.tl-event-details div { display: grid; gap: .25rem 1rem; grid-template-columns: minmax(7rem, 10rem) 1fr; padding: .35rem 0; }
.tl-event-details dt { font-weight: 750; }
.tl-event-details dd { margin: 0; }
.tl-button, .tl-contact-form button { background: #17365d; border: 0; border-radius: .45rem; color: #fff; cursor: pointer; display: inline-block; font: inherit; font-weight: 750; padding: .8rem 1.25rem; text-decoration: none; }
.tl-button:hover, .tl-contact-form button:hover { background: #0e2847; color: #fff; }
.tl-document-meta { color: #425561; display: block; font-size: .9rem; margin-top: .2rem; }
.tl-contact-form { max-width: 44rem; }
.tl-contact-form label { display: block; font-weight: 700; margin-bottom: .35rem; }
.tl-contact-form input:not([type="checkbox"]), .tl-contact-form select, .tl-contact-form textarea { border: 2px solid #788f99; border-radius: .3rem; box-sizing: border-box; font: inherit; padding: .7rem; width: 100%; }
.tl-contact-form input:focus, .tl-contact-form select:focus, .tl-contact-form textarea:focus { border-color: #17365d; outline: 3px solid #d96d13; outline-offset: 2px; }
.tl-contact-form .tl-checkbox { align-items: flex-start; display: flex; gap: .6rem; }
.tl-contact-form .tl-checkbox input { height: 1.25rem; margin-top: .2rem; width: 1.25rem; }
.tl-form-hint { color: #425561; display: block; font-size: .9rem; margin-top: .35rem; }
.tl-form-message { border-left: .4rem solid; padding: 1rem; }
.tl-form-message--success { background: #e7f6ed; border-color: #237a45; }
.tl-form-message--error { background: #fff0f0; border-color: #a32020; }
.tl-honeypot { left: -10000px; position: absolute; top: auto; }
@media (max-width: 520px) { .tl-event-details div { grid-template-columns: 1fr; } }
