/* NEW calendar source 2cdc2f9998e990272fbb1413c488dbc5462ae8be7a3ad68a3f3d67300bde721c. Calendar-only; canonical chrome/fonts reused. */
.tum .tum-calendar-page{background:#F7F5F0;color:#1A1C1C;padding:0;min-width:0}
.tum .tum-calendar-crumbs{padding-top:18px;min-height:50px;font-size:13.5px;color:#44474D}
.tum .tum-calendar-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.tum .tum-calendar-crumbs li+li::before{content:'/';margin-right:8px;color:#777}
.tum .tum-calendar-crumbs a{text-decoration:underline;text-decoration-color:#C9CDD6;text-underline-offset:3px}
.tum .tum-calendar-page__heading{padding-top:18px;padding-bottom:6px}
.tum .tum-calendar-page__heading h1{font-family:Newsreader,Georgia,serif;font-weight:500;font-size:48px;line-height:1.05;letter-spacing:-.02em;color:#031632;margin:0}
.tum .tum-calendar-page__intro{font-size:17px;line-height:1.55;color:#2C2F33;max-width:640px;margin:0}
.tum .tum-calendar-today{margin-top:22px;background:#fff;border-top:1px solid #DDD8CE;border-bottom:1px solid #DDD8CE}
.tum .tum-calendar-today__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2.7fr) minmax(0,2.1fr);min-height:80px;align-items:center}
.tum .tum-calendar-today__cell{min-width:0;display:flex;gap:14px;align-items:center;padding:14px 28px}
.tum .tum-calendar-today__cell:first-child{padding-left:0}.tum .tum-calendar-today__cell:last-child{padding-right:0}
.tum .tum-calendar-today__cell+.tum-calendar-today__cell{border-left:1px solid #DDD8CE}
.tum .tum-calendar-today__date b{display:block;font-family:Newsreader,Georgia,serif;font-size:23px;font-weight:500;line-height:1.1;color:#031632}
.tum .tum-calendar-today__date>span{display:block;font-size:12.5px;color:#44474D;margin-top:3px}
.tum .tum-calendar-today__photo{width:52px;height:52px;flex:0 0 52px;object-fit:cover;border-radius:50%}
.tum .tum-calendar-today__label{display:block;font-size:12px;font-weight:600;color:#735C00;line-height:1.3;margin-bottom:3px}
.tum .tum-calendar-today__value{font-family:Newsreader,Georgia,serif;font-size:19px;font-weight:400;line-height:1.15;color:#031632}
.tum .tum-calendar-today__cell:nth-child(2) .tum-calendar-today__value{display:block}
.tum .tum-calendar-today__value:hover{text-decoration:underline;text-underline-offset:3px}
.tum .tum-calendar-today__sub{font-size:13px;color:#44474D}
.tum .tum-calendar{min-width:0}
.tum .tum-calendar__header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #031632;padding-top:14px;margin-top:28px}
.tum .tum-calendar__header h2{font-family:Newsreader,Georgia,serif;font-size:34px;font-weight:500;line-height:1.1;color:#031632;margin:0}
.tum .tum-calendar__nav{display:flex;align-items:flex-end;gap:6px;flex-wrap:wrap}
.tum .tum-calendar-page .btn{min-height:44px;padding:0 14px;font-size:14px;line-height:1;border-radius:3px;white-space:nowrap;box-shadow:none}
.tum .tum-calendar-page .btn-o{border:1px solid #031632;background:transparent;color:#031632}
.tum .tum-calendar-page .btn-o:hover{background:#031632;color:#fff}
.tum .tum-calendar-page .btn-n{border:1px solid #031632;background:#031632;color:#fff}
.tum .tum-calendar-page :focus-visible{outline:2px solid #735C00;outline-offset:3px}
.tum .tum-calendar__select{display:flex;align-items:flex-end;gap:8px;margin:0 0 0 14px}
.tum .tum-calendar__select label{display:block;font-size:12px;font-weight:600;color:#44474D;margin:0 0 4px}
.tum .tum-calendar__select select{height:44px;min-height:44px;border:1px solid #8E9196;border-radius:3px;background:#fff;padding:0 10px;font:inherit;font-size:15px;color:#1A1C1C;max-width:100%}
.tum .tum-calendar__grid{margin-top:18px;border-top:1px solid #DDD8CE;border-left:1px solid #DDD8CE}
.tum .tum-calendar__week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.tum .tum-calendar__week span{font-size:12.5px;font-weight:600;color:#44474D;padding:8px 10px;border-right:1px solid #DDD8CE;border-bottom:1px solid #DDD8CE}
.tum .tum-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;padding:0;margin:0}
.tum .tum-calendar__day,.tum .tum-calendar__padding{min-width:0;min-height:132px;padding:10px 10px 12px;border-right:1px solid #DDD8CE;border-bottom:1px solid #DDD8CE;background:#fff}
.tum .tum-calendar__padding{background:transparent}.tum .tum-calendar__day--sunday{background:#FBF9F4}
.tum .tum-calendar__day--today{box-shadow:inset 0 3px 0 #031632;background:#fff}
.tum .tum-calendar__day h3{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;line-height:1.55;color:#031632;margin:0 0 5px}
.tum .tum-calendar__day time b{font-weight:600}.tum .tum-calendar__weekday{display:none}
.tum .tum-calendar__today-label{font-family:Inter,sans-serif;font-style:normal;font-size:11.5px;font-weight:700;color:#031632;background:#E9EDF4;padding:1px 6px;border-radius:2px}
.tum .tum-calendar__events{display:flex;flex-direction:column;gap:5px;list-style:none;padding:0;margin:0}
.tum .tum-calendar__events a{display:block;font-family:Newsreader,Georgia,serif;font-size:15.5px;line-height:1.25;font-weight:400;color:#031632;text-decoration:underline;text-decoration-color:#C9CDD6;text-underline-offset:3px;overflow-wrap:anywhere}
.tum .tum-calendar__events a:hover{color:#735C00;text-decoration-color:currentColor}
/* Native disclosure is a separate action: occurrence links still navigate on the first tap.
   Phones keep the complete labels in flow; desktop has a two-line reading budget. */
.tum .tum-calendar__names{display:none}
@media(min-width:960px){
.tum .tum-calendar__events a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

.tum .tum-calendar__names{display:block;margin-top:5px;font:400 11px/1.4 Inter,sans-serif;color:#44474D}
.tum .tum-calendar__names summary{cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:2px 0}
.tum .tum-calendar__names ul{margin:6px 0 0;padding-left:14px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.tum .tum-calendar__names li+li{margin-top:5px}
}
@media(min-width:1180px){
.tum .tum-calendar-today__grid{grid-template-columns:minmax(0,1.3fr) minmax(0,2.25fr) minmax(0,2.35fr)}
.tum .tum-calendar-today__cell{padding-top:6px;padding-bottom:6px}
.tum .tum-calendar-today__date b{white-space:nowrap}
}
.tum .tum-calendar__none{font-size:12.5px;color:#44474D}.tum .tum-calendar__empty{margin:16px 0}
.tum .tum-calendar__legend{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;color:#44474D}
.tum .tum-calendar__legend i{display:inline-block;width:14px;height:10px;vertical-align:-1px;margin-right:6px;border:1px solid #DDD8CE;background:#FBF9F4}
.tum .tum-calendar__legend span+span i{background:#fff;border-top:3px solid #031632}
.tum .tum-calendar-letter{background:#fff;border:1px solid #DDD8CE;margin-top:22px;padding:18px 22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:28px;align-items:center}
.tum .tum-calendar-letter__title{font-family:Newsreader,Georgia,serif;font-size:21px;line-height:1.25;color:#031632;margin:0}
.tum .tum-calendar-letter__subtitle{font-size:14px;color:#44474D;margin:4px 0 0}
.tum .tum-calendar-letter__row{display:flex;gap:10px}
.tum .tum-calendar-letter .fld{min-width:0;flex:1;height:50px;min-height:50px;background:#fff;font-size:15px}
.tum .tum-calendar-letter .btn{flex-shrink:0;min-height:50px}.tum .tum-calendar-letter :disabled{opacity:1;cursor:not-allowed}
.tum .tum-calendar-letter__privacy{font-size:12.5px;color:#44474D;margin:0}.tum .tum-calendar-letter__privacy a{text-decoration:underline;text-underline-offset:2px}
.tum .tum-calendar-upcoming{padding-top:44px;padding-bottom:56px}
.tum .tum-calendar-upcoming__header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #031632;padding-top:12px;margin-bottom:22px}
.tum .tum-calendar-upcoming h2{font-family:Newsreader,Georgia,serif;font-weight:500;font-size:30px;line-height:1.1;letter-spacing:-.01em;color:#031632;margin:0}
.tum .tum-calendar-upcoming__header>a{font-size:14.5px;font-weight:600;color:#735C00;min-height:36px;display:inline-flex;align-items:center}
.tum .tum-calendar-upcoming ul{list-style:none;margin:0;padding:0}.tum .tum-calendar-upcoming li{border-top:1px solid #DDD8CE}.tum .tum-calendar-upcoming li:last-child{border-bottom:1px solid #DDD8CE}
.tum .tum-calendar-upcoming li a{display:flex;justify-content:space-between;gap:24px;align-items:baseline;padding:10px 0}
.tum .tum-calendar-upcoming li span{font-family:Newsreader,Georgia,serif;font-size:19px;font-weight:400;line-height:1.25;color:#031632}
.tum .tum-calendar-upcoming time{font-size:13px;color:#44474D;white-space:nowrap}
@media(max-width:1179px){.tum .tum-calendar__select{margin-left:0}}
@media(max-width:959px){
.tum .tum-calendar-today__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tum .tum-calendar-today__cell{padding:14px 0}.tum .tum-calendar-today__cell:nth-child(2){border-left:0;padding-left:0}.tum .tum-calendar-today__cell:last-child{grid-column:1 / -1;border-left:0;border-top:1px solid #DDD8CE}
.tum .tum-calendar__grid{border-left:0;margin-top:14px}.tum .tum-calendar__week,.tum .tum-calendar__padding,.tum .tum-calendar__legend{display:none}.tum .tum-calendar__days{display:block}
.tum .tum-calendar__day{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;padding:12px 0;border-right:0;min-height:0;background:transparent}.tum .tum-calendar__day--sunday{background:#FBF9F4}.tum .tum-calendar__day--today{box-shadow:inset 3px 0 0 #031632;padding-left:10px;background:#fff}
.tum .tum-calendar__day h3{display:block;margin:0}.tum .tum-calendar__day time b{display:block;font-size:20px;line-height:1.3}.tum .tum-calendar__weekday{display:block;font-size:13px;font-weight:400;color:#44474D;line-height:1.3}.tum .tum-calendar__today-label{display:inline-block;font-size:10px;padding:1px 3px;margin-top:3px}
.tum .tum-calendar__events a{font-size:18px}.tum .tum-calendar-letter{grid-template-columns:minmax(0,1fr);gap:22px}}
@media(max-width:639px){
.tum .tum-calendar-upcoming h2{font-size:25px}
.tum .tum-calendar-crumbs{font-size:13px;padding-top:12px;min-height:44px}.tum .tum-calendar-page__heading h1{font-size:33px;line-height:1.08}
.tum .tum-calendar-today__grid{grid-template-columns:minmax(0,1fr)}.tum .tum-calendar-today__cell{padding:12px 0}.tum .tum-calendar-today__cell+.tum-calendar-today__cell{border-left:0;border-top:1px solid #DDD8CE}.tum .tum-calendar-today__date b{font-size:21px}
.tum .tum-calendar__header{flex-direction:column;align-items:stretch;gap:12px}.tum .tum-calendar__header h2{font-size:28px}.tum .tum-calendar__nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tum .tum-calendar__nav>.btn{width:100%;padding:0 8px}.tum .tum-calendar__current{grid-column:1 / -1}
.tum .tum-calendar__select{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-column:1 / -1;gap:8px;margin:0}.tum .tum-calendar__select select{width:100%}.tum .tum-calendar__select .btn{grid-column:1 / -1;width:100%}
.tum .tum-calendar-letter__row{flex-direction:column}.tum .tum-calendar-letter .btn{width:100%}.tum .tum-calendar-upcoming li a{flex-direction:column;gap:2px}}

