/* Sitewide width guardrails: the agenda may scroll, the page itself may not. */
:root {
	--shell: min(1180px, calc(100% - 40px));
}

/* Every calendar day opens one focused, vertically scrollable day view. */
.tgl-agenda-strip__day{display:block;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}
.tgl-agenda-strip__day:hover,.tgl-agenda-strip__day:focus-visible{border-color:var(--water);box-shadow:0 5px 18px rgba(8,126,139,.13);outline:0}
.tgl-agenda-strip__events{overflow:hidden}.tgl-agenda-strip__events>span{display:block;padding:5px 6px;border-left:3px solid var(--water);border-radius:5px;background:#dff1ee;color:var(--deep);font-size:9px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.tgl-agenda-dialog{width:min(650px,calc(100% - 28px));max-height:min(78vh,720px);padding:0;border:0;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 28px 90px rgba(5,35,39,.28);overflow:hidden}.tgl-agenda-dialog::backdrop{background:rgba(5,35,39,.62);backdrop-filter:blur(3px)}.tgl-agenda-dialog__panel{display:flex;max-height:min(78vh,720px);flex-direction:column}.tgl-agenda-dialog__panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px 26px 18px;border-bottom:1px solid var(--line)}.tgl-agenda-dialog__panel h2{margin:0;font-family:Georgia,serif;font-size:32px;line-height:1.1}.tgl-agenda-dialog__panel .tgl-kicker{margin-bottom:5px}.tgl-agenda-dialog__panel>header button{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;font-size:25px;line-height:1}.tgl-agenda-dialog__list{display:grid;gap:10px;padding:18px 26px 26px;overflow-y:auto;overscroll-behavior:contain}.tgl-agenda-dialog__event{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fffdf9;text-decoration:none}.tgl-agenda-dialog__event:hover{border-color:var(--water);background:#eef8f6}.tgl-agenda-dialog__event>span{font-weight:850}.tgl-agenda-dialog__event>small{flex:0 0 auto;color:var(--water);font-size:12px;font-weight:850}.tgl-agenda-dialog__empty{margin:0;padding:35px;text-align:center;color:var(--muted)}body.agenda-dialog-open{overflow:hidden}
@media(max-width:620px){.tgl-agenda-dialog__panel>header{padding:20px 18px 15px}.tgl-agenda-dialog__panel h2{font-size:27px}.tgl-agenda-dialog__list{padding:14px 18px 20px}.tgl-agenda-dialog__event{align-items:flex-start;flex-direction:column;gap:8px;padding:14px}}

/* Mobile-safe calendar taps and a complete fallback for browsers without modal dialog support. */
.tgl-agenda-strip__day {
	touch-action: manipulation;
	-webkit-tap-highlight-color: rgba(8, 126, 139, .16);
}

.agenda-dialog-backdrop {
	position: fixed;
	inset: 0;
	z-index: 998;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(5, 35, 39, .62);
}

.agenda-dialog-backdrop[hidden] {
	display: none !important;
}

.tgl-agenda-dialog.is-fallback-open {
	display: block !important;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 999;
	width: calc(100% - 28px);
	max-width: 650px;
	max-height: 78vh;
	margin: 0;
	transform: translate(-50%, -50%);
}

@supports (height: 100dvh) {
	.tgl-agenda-dialog,
	.tgl-agenda-dialog__panel {
		max-height: min(78dvh, 720px);
	}
}

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

.tgl-shell {
	max-width: calc(100% - 24px);
}

.tgl-shell > *,
.tgl-header__inner > *,
.tgl-home-hero__inner > *,
.tgl-single-hero__grid > *,
.tgl-detail-hero__grid > *,
.tgl-visit-dashboard__grid > *,
.tgl-detail-layout > *,
.tgl-planner-layout > *,
.tgl-single-layout > *,
.tgl-grid > *,
.tgl-overview-grid > *,
.tgl-term-grid > *,
.tgl-guide-links > * {
	min-width: 0;
}

.tgl-reading-shell {
	width: min(780px, calc(100% - 40px));
}

.tgl-reading-shell > h1 {
	max-width: 18ch;
}

.tgl-prose > :where(p, ul, ol, blockquote),
.tgl-detail-prose > :where(p, ul, ol, blockquote) {
	max-width: 72ch;
}

.tgl-prose :where(p, li, dd, figcaption, blockquote),
.tgl-detail-content :where(p, li, dd, figcaption, blockquote),
.tgl-card,
.tgl-overview-grid > a,
.tgl-term-grid > a,
.tgl-info-card,
.tgl-contact-card {
	overflow-wrap: anywhere;
	word-break: normal;
}

.tgl-prose :where(iframe, video, embed, object),
.tgl-detail-content :where(iframe, video, embed, object) {
	display: block;
	width: 100%;
	max-width: 100%;
}

.tgl-prose :where(table, pre),
.tgl-detail-content :where(table, pre) {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

.tgl-prose :where(.alignwide, .alignfull),
.tgl-detail-content :where(.alignwide, .alignfull) {
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
}

.tgl-agenda-strip-shell,
.tgl-agenda-strip {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

@media (max-width: 620px) {
	.tgl-shell,
	.tgl-reading-shell {
		width: calc(100% - 24px);
		max-width: calc(100% - 24px);
	}

	.tgl-agenda-strip-shell {
		margin-inline: 0;
		padding: 16px 12px 11px;
		border: 1px solid var(--line);
		border-radius: 16px;
	}

	.tgl-page-hero h1,
	.tgl-single-hero h1,
	.tgl-detail-hero h1 {
		overflow-wrap: anywhere;
	}
}
