/* Local agenda: editorial typography, clear date hierarchy, no external dependencies. */
.tr-agenda-hero { padding:76px 0 68px; border-bottom:1px solid var(--tr-line); }
.tr-agenda-intro { display:grid; grid-template-columns:1.45fr 1fr; gap:clamp(32px,7vw,110px); align-items:center; }
.tr-agenda-intro h1 { font-family:var(--tr-serif); font-size:clamp(42px,5.6vw,78px); font-weight:600; line-height:1.06; letter-spacing:-.04em; margin:22px 0; }
.tr-agenda-intro h1 em { color:var(--tr-forest); font-weight:400; }
.tr-agenda-intro>div>p { max-width:560px; color:var(--tr-muted); font-size:18px; margin:0 0 30px; }
.tr-agenda-note { background:var(--tr-river); color:#fff; padding:32px 36px 22px; border-radius:2px 40px 2px 2px; position:relative; overflow:hidden; }
.tr-agenda-note::before { content:""; position:absolute; width:260px; height:260px; border:1px solid #ffffff16; border-radius:50%; right:-115px; top:10px; box-shadow:0 0 0 40px #ffffff05,0 0 0 80px #ffffff04; pointer-events:none; }
.tr-agenda-note-kicker { font-size:10px; text-transform:uppercase; letter-spacing:.17em; }
.tr-agenda-note>strong { display:block; font-family:var(--tr-serif); font-size:clamp(48px,5vw,70px); line-height:1.03; font-weight:500; margin:28px 0 22px; }
.tr-agenda-note>strong em { color:#efb58d; }
.tr-agenda-note>p { color:#cfdbd8; max-width:310px; font-size:15px; line-height:1.6; }
.tr-agenda-note>div { display:flex; justify-content:space-between; border-top:1px solid #ffffff30; padding-top:16px; margin-top:28px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.tr-agenda { padding-top:52px; padding-bottom:60px; scroll-margin-top:110px; }
.tr-agenda-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.tr-agenda-heading h2 { font:600 clamp(29px,3.2vw,42px)/1.16 var(--tr-serif); margin:10px 0 24px; }
.tr-agenda-heading>p { color:var(--tr-muted); font-size:13px; margin-bottom:27px; }
.tr-agenda-quick { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:25px; }
.tr-agenda-quick a { border:1px solid var(--tr-line); border-radius:30px; padding:8px 19px; font-size:13px; font-weight:700; background:#fff9; }
.tr-agenda-quick a[aria-current],.tr-agenda-quick a:hover { background:var(--tr-river); color:#fff; }
.tr-agenda-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border:1px solid var(--tr-line); border-radius:12px; overflow:hidden; background:#fff; margin-bottom:28px; }
.tr-agenda-days a { display:flex; flex-direction:column; align-items:center; padding:18px 8px; border-right:1px solid var(--tr-line); color:var(--tr-muted); font-size:12px; line-height:1.4; }
.tr-agenda-days a:last-child { border:0; }
.tr-agenda-days strong { color:var(--tr-river); font-size:30px; letter-spacing:-.04em; font-weight:600; margin:4px 0; }
.tr-agenda-days a[aria-current],.tr-agenda-days a:hover { background:var(--tr-river); color:#d8e9e2; }
.tr-agenda-days a[aria-current] strong,.tr-agenda-days a:hover strong { color:#fff; }
.tr-agenda-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:24px; background:#fff; border:1px solid var(--tr-line); border-radius:12px; }
.tr-agenda-filters label { display:block; font-size:12px; font-weight:700; margin-bottom:8px; }
.tr-agenda-filters select,.tr-agenda-filters input[type=search],.tr-agenda-filters input[type=date] { width:100%; min-width:0; height:46px; padding:10px 12px; border:1px solid #c4cfca; border-radius:6px; color:var(--tr-charcoal); background:#fff; font:14px var(--tr-sans); }
.tr-agenda-search { grid-column:span 2; }
.tr-agenda-filter-bottom { grid-column:span 2; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px; padding-top:22px; }
.tr-agenda-filter-bottom label { margin:0 auto 0 0; font-weight:500; white-space:nowrap; }
.tr-agenda-filter-bottom input { accent-color:var(--tr-forest); }
.tr-agenda-filter-bottom .tr-button { min-height:46px; padding:10px 18px; font-size:13px; }
.tr-agenda-filter-bottom>a { font-size:12px; text-decoration:underline; }
.tr-agenda-results-head { display:flex; justify-content:space-between; gap:16px; align-items:baseline; margin:38px 0 0; }
.tr-agenda-results-head h3 { font:600 28px/1.2 var(--tr-serif); margin:0; }
.tr-agenda-results-head p { color:var(--tr-muted); font-size:13px; }
.tr-agenda-month { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; color:var(--tr-forest); border-bottom:2px solid var(--tr-river); margin:22px 0 0; padding:0 0 10px; }
.tr-event-card { display:grid; grid-template-columns:80px 180px minmax(0,1fr) 142px; gap:26px; padding:28px 0; border-bottom:1px solid var(--tr-line); align-items:start; }
.tr-event-date { text-align:center; padding-top:3px; }
.tr-event-date time { display:block; }
.tr-event-date time>span { font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:var(--tr-forest); font-weight:800; }
.tr-event-date strong { display:block; font-size:42px; font-weight:500; line-height:1.15; letter-spacing:-.05em; margin:5px 0 10px; }
.tr-event-date>span { display:block; font-size:11px; color:var(--tr-muted); }
.tr-event-image { display:block; aspect-ratio:4/3; overflow:hidden; border-radius:8px; }
.tr-event-image img { width:100%; height:100%; object-fit:cover; }
.tr-event-image-empty { display:flex; width:100%; height:100%; padding:17px; flex-direction:column; justify-content:space-between; background:linear-gradient(135deg,#dce7df,#b7cebe); color:var(--tr-river); }
.tr-event-image-empty>span { text-transform:uppercase; letter-spacing:.08em; font-size:9px; }
.tr-event-image-empty>strong { font:500 22px/1.1 var(--tr-serif); }
.tr-event-tags { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; font-size:10px; text-transform:uppercase; font-weight:800; letter-spacing:.04em; color:var(--tr-forest); }
.tr-event-status { font-size:10px; background:#e1eae3; color:#285443; padding:3px 8px; border-radius:4px; font-weight:700; }
.tr-event-card--cancelled .tr-event-status { background:#f7e3de; color:#86301c; }
.tr-event-card-body { min-width:0; }
.tr-event-card-body h3 { font:600 clamp(22px,2.2vw,29px)/1.16 var(--tr-serif); letter-spacing:-.018em; margin:10px 0; overflow-wrap:anywhere; }
.tr-event-location { font-size:13px; font-weight:600; margin:6px 0; }
.tr-event-range { color:var(--tr-forest); font-size:12px; margin:6px 0; }
.tr-event-excerpt { font-size:13px; line-height:1.65; color:var(--tr-muted); margin:10px 0 0; }
.tr-event-card-action { display:flex; align-items:flex-end; flex-direction:column; justify-content:space-between; gap:24px; padding-top:7px; text-align:right; }
.tr-event-access { font-size:12px; color:var(--tr-muted); }
.tr-event-detail-link { display:inline-flex; gap:15px; white-space:nowrap; border:1px solid #b7c4bb; border-radius:6px; padding:9px 14px; font-size:12px; font-weight:800; }
.tr-event-detail-link:hover { background:var(--tr-river); color:#fff; }
.tr-agenda-help { font-size:14px; color:var(--tr-muted); }
.tr-agenda-articles { margin-top:25px; }
.tr-agenda-empty { padding:46px 24px; text-align:center; border:1px solid var(--tr-line); border-radius:12px; margin-top:20px; background:#fff9; }
.tr-agenda-empty h3 { font:500 30px/1.2 var(--tr-serif); max-width:620px; margin:18px auto; }
.tr-agenda-empty p { color:var(--tr-muted); max-width:560px; margin:0 auto 24px; font-size:15px; }
.tr-agenda-footer { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:30px; align-items:center; font-size:13px; }
.tr-agenda-footer p { color:var(--tr-muted); margin:0 auto 0 0; }
.tr-agenda-footer a { text-decoration:underline; text-underline-offset:4px; }
.tr-agenda-pagination { display:flex; flex-wrap:wrap; gap:8px; margin:32px 0; }
.tr-agenda-pagination a,.tr-agenda-pagination span { padding:9px 15px; background:#fff; border:1px solid var(--tr-line); border-radius:6px; font-size:14px; }
.tr-agenda-pagination .current { background:var(--tr-river); color:#fff; }
.tr-event-details { padding:28px; border:1px solid #c4d2c9; background:#f0f5ef; border-radius:12px; margin-bottom:35px; }
.tr-article-content .tr-event-details h2 { font:600 30px/1.2 var(--tr-serif); margin:12px 0; }
.tr-event-details dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:24px 0; }
.tr-event-details dt { font:700 11px/1.5 var(--tr-sans); text-transform:uppercase; color:var(--tr-forest); letter-spacing:.1em; margin-bottom:6px; }
.tr-event-details dd { margin:0; font:500 14px/1.7 var(--tr-sans); overflow-wrap:anywhere; }
.tr-event-details .tr-event-status { display:inline-block; font:700 12px/1.5 var(--tr-sans); }
.tr-event-details--cancelled .tr-event-status { background:#f7e3de; color:#86301c; }
.tr-event-details--postponed .tr-event-status,.tr-event-status--postponed { background:#f4e8cb; color:#6b481a; }
.tr-event-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; }
.tr-event-actions>a { font:700 12px/1.5 var(--tr-sans); }
.tr-article-content .tr-event-actions .tr-button { color:#fff; text-decoration:none; }
.tr-article-content .tr-event-fineprint { font:400 11px/1.6 var(--tr-sans); color:var(--tr-muted); margin:20px 0 0; }
.tr-event-home-grid { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 38px; }
.tr-event-home-grid .tr-event-card { grid-template-columns:60px minmax(0,1fr); color:var(--tr-charcoal); padding:24px; background:var(--tr-mineral); border-radius:8px; margin-bottom:20px; gap:18px; }
.tr-event-home-grid .tr-event-image { display:none; }
.tr-event-home-grid .tr-event-card-action { grid-column:2; flex-direction:row; text-align:left; padding:0; align-items:center; }
.tr-agenda a:focus-visible,.tr-agenda input:focus-visible,.tr-agenda select:focus-visible,.tr-agenda button:focus-visible,.tr-event-details a:focus-visible { outline:3px solid var(--tr-copper); outline-offset:3px; }
@media(max-width:1050px) {
 .tr-agenda-intro { gap:35px; } .tr-agenda-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tr-agenda-filter-bottom { padding-top:0; } .tr-event-card { grid-template-columns:65px 150px minmax(0,1fr); gap:20px; }
 .tr-event-card-action { grid-column:3; flex-direction:row; text-align:left; padding-top:0; align-items:center; }
}
@media(max-width:700px) {
 .tr-agenda-hero { padding:38px 0; } .tr-agenda-intro { grid-template-columns:1fr; gap:30px; }
 .tr-agenda-note { padding:22px 24px; } .tr-agenda-note>strong { font-size:44px; margin:20px 0; } .tr-agenda-note>strong br { display:none; }
 .tr-agenda-note>p { max-width:none; margin:12px 0; } .tr-agenda-note>div { margin-top:16px; }
 .tr-agenda { padding-top:30px; scroll-margin-top:80px; } .tr-agenda-heading>p { display:none; }
 .tr-agenda-days a { padding:12px 2px; font-size:10px; } .tr-agenda-days strong { font-size:24px; }
 .tr-agenda-quick { gap:7px; } .tr-agenda-quick a { padding:7px 12px; font-size:11px; }
 .tr-agenda-filters { gap:15px; padding:18px; } .tr-agenda-filters label { font-size:11px; } .tr-agenda-filters select { font-size:12px; padding:8px; }
 .tr-agenda-filter-bottom { justify-content:flex-start; } .tr-agenda-filter-bottom label { width:100%; }
 .tr-event-card { grid-template-columns:52px minmax(0,1fr); gap:14px; padding:24px 0; }
 .tr-event-date { grid-column:1; grid-row:1 / span 2; } .tr-event-date strong { font-size:36px; }
 .tr-event-image { grid-column:2; aspect-ratio:16/9; max-height:250px; } .tr-event-card-body { grid-column:2; }
 .tr-event-card-action { grid-column:2; } .tr-event-card-body h3 { font-size:24px; }
 .tr-event-excerpt { display:none; } .tr-event-details { padding:20px; } .tr-event-details dl { grid-template-columns:1fr; gap:18px; }
 .tr-event-home-grid { grid-template-columns:1fr; } .tr-event-home-grid .tr-event-date { grid-row:auto; }
 .tr-agenda-footer p { width:100%; } .tr-agenda-empty { padding:30px 18px; }
}
@media(max-width:380px) { .tr-agenda-filters { grid-template-columns:1fr; } .tr-agenda-search,.tr-agenda-filter-bottom { grid-column:1; } .tr-event-card-action { flex-wrap:wrap; gap:12px; } }
