/**
 * T7 Core: inner pages built with [t7_page].
 *
 * Sizes read the theme's type scale variables when they exist and fall back
 * to the same values. Motion only runs when JavaScript adds .t7p-motion and the
 * visitor hasn't asked for reduced motion; without it everything shows as is.
 */

.t7p {
	--t7p-gap: clamp(20px, 4vw, 64px);
	--t7p-ease: cubic-bezier(0.2, 0.65, 0.3, 1);
	--t7p-shadow: 0 10px 28px rgba(11, 31, 58, 0.08);
	--t7p-shadow-up: 0 18px 40px rgba(11, 31, 58, 0.16);
	--t7p-ink: #2b3a50;
	--t7p-field: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 520' preserveAspectRatio='xMidYMid slice'%3E%3Cg stroke='%23fff' stroke-opacity='.08' stroke-width='2'%3E%3Cpath d='M120 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M240 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M360 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M480 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M600 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M720 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M840 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M960 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M1080 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M1200 0V520' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M1320 0V520' vector-effect='non-scaling-stroke'/%3E%3C/g%3E%3Cpath d='M24 168v12M24 340v12M48 168v12M48 340v12M72 168v12M72 340v12M96 168v12M96 340v12M120 168v12M120 340v12M144 168v12M144 340v12M168 168v12M168 340v12M192 168v12M192 340v12M216 168v12M216 340v12M240 168v12M240 340v12M264 168v12M264 340v12M288 168v12M288 340v12M312 168v12M312 340v12M336 168v12M336 340v12M360 168v12M360 340v12M384 168v12M384 340v12M408 168v12M408 340v12M432 168v12M432 340v12M456 168v12M456 340v12M480 168v12M480 340v12M504 168v12M504 340v12M528 168v12M528 340v12M552 168v12M552 340v12M576 168v12M576 340v12M600 168v12M600 340v12M624 168v12M624 340v12M648 168v12M648 340v12M672 168v12M672 340v12M696 168v12M696 340v12M720 168v12M720 340v12M744 168v12M744 340v12M768 168v12M768 340v12M792 168v12M792 340v12M816 168v12M816 340v12M840 168v12M840 340v12M864 168v12M864 340v12M888 168v12M888 340v12M912 168v12M912 340v12M936 168v12M936 340v12M960 168v12M960 340v12M984 168v12M984 340v12M1008 168v12M1008 340v12M1032 168v12M1032 340v12M1056 168v12M1056 340v12M1080 168v12M1080 340v12M1104 168v12M1104 340v12M1128 168v12M1128 340v12M1152 168v12M1152 340v12M1176 168v12M1176 340v12M1200 168v12M1200 340v12M1224 168v12M1224 340v12M1248 168v12M1248 340v12M1272 168v12M1272 340v12M1296 168v12M1296 340v12M1320 168v12M1320 340v12M1344 168v12M1344 340v12M1368 168v12M1368 340v12M1392 168v12M1392 340v12M1416 168v12M1416 340v12' stroke='%23fff' stroke-opacity='.07' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M220.4 470V427.2H217.1L216.9 423.9L222.4 418.8H230V470ZM248.7 470.6Q242.4 470.6 238.9 467.3Q235.4 464 235.2 457.8Q235.1 451.3 235.1 444.4Q235.1 437.4 235.2 431Q235.4 424.8 238.9 421.5Q242.4 418.2 248.7 418.2Q255 418.2 258.5 421.5Q262 424.8 262.2 431Q262.4 437.5 262.4 444.4Q262.4 451.3 262.2 457.8Q262 464 258.5 467.3Q255 470.6 248.7 470.6ZM248.7 462.8Q252.4 462.8 252.6 459.6Q252.9 452.2 252.9 444.4Q252.9 436.5 252.6 429.2Q252.5 426 248.7 426Q244.9 426 244.8 429.2Q244.5 436.5 244.5 444.4Q244.5 452.2 244.8 459.6Q244.9 462.8 248.7 462.8ZM330.8 470Q330.7 467.5 330.7 465.9Q330.7 464.3 330.7 462.8Q330.7 461.4 330.7 459.4Q330.9 454.5 333.2 450.8Q335.5 447.1 340.4 444.4L344.7 442Q346.7 440.9 347.3 439.2Q347.9 437.4 347.9 436.1Q348.1 432.7 347.9 429.2Q347.7 426 344 426Q340.4 426 340.3 429.2Q340.1 433.6 340.3 438H330.8Q330.8 436.3 330.7 434.3Q330.7 432.3 330.7 431Q331 424.1 334.1 421.1Q337.2 418.2 344 418.2Q348.8 418.2 351.7 419.5Q354.6 420.8 356 423.6Q357.3 426.4 357.5 431Q357.6 433.4 357.5 436.1Q357.4 440.9 355.1 444.4Q352.9 447.8 348.4 450.2L343.5 453Q342.2 453.6 341.6 454.8Q340.9 456 340.6 457.3Q340.4 458.5 340.4 459.4V461.6H356.7V470ZM375.6 470.6Q369.3 470.6 365.8 467.3Q362.3 464 362.1 457.8Q362 451.3 362 444.4Q362 437.4 362.1 431Q362.3 424.8 365.8 421.5Q369.3 418.2 375.6 418.2Q382 418.2 385.4 421.5Q388.9 424.8 389.1 431Q389.3 437.5 389.3 444.4Q389.3 451.3 389.1 457.8Q388.9 464 385.4 467.3Q382 470.6 375.6 470.6ZM375.6 462.8Q379.3 462.8 379.5 459.6Q379.8 452.2 379.8 444.4Q379.8 436.5 379.5 429.2Q379.4 426 375.6 426Q371.8 426 371.7 429.2Q371.5 436.5 371.5 444.4Q371.5 452.2 371.7 459.6Q371.8 462.8 375.6 462.8ZM463.7 470.6Q456.4 470.6 453.1 467.7Q449.8 464.7 449.6 457.8Q449.6 456.2 449.6 455.4Q449.6 454.6 449.6 453H459.2V459.1Q459.2 462.8 463.5 462.8Q467.6 462.8 467.7 459.1Q467.7 457.6 467.7 455.7Q467.7 453.8 467.7 452.6Q467.6 450.6 466.8 449.2Q465.9 447.9 463.1 447.9L456.9 448L456.7 439.9L465.8 427.2H450.4V418.8H476.8L476.6 427L467.1 439.7Q472.2 440.2 474.6 443.2Q477 446.3 477.3 452.5Q477.4 455.1 477.3 457.8Q477 464.7 473.9 467.7Q470.7 470.6 463.7 470.6ZM496.1 470.6Q489.7 470.6 486.2 467.3Q482.8 464 482.6 457.8Q482.5 451.3 482.5 444.4Q482.5 437.4 482.6 431Q482.8 424.8 486.2 421.5Q489.7 418.2 496.1 418.2Q502.4 418.2 505.9 421.5Q509.3 424.8 509.5 431Q509.8 437.5 509.8 444.4Q509.8 451.3 509.5 457.8Q509.3 464 505.9 467.3Q502.4 470.6 496.1 470.6ZM496.1 462.8Q499.7 462.8 499.9 459.6Q500.3 452.2 500.3 444.4Q500.3 436.5 499.9 429.2Q499.8 426 496.1 426Q492.3 426 492.2 429.2Q491.9 436.5 491.9 444.4Q491.9 452.2 492.2 459.6Q492.3 462.8 496.1 462.8ZM585 470V457.1H569.3V449.1L581.5 418.8H594V448.8H599.5V457.1H594V470ZM578.5 448.8H585L586.3 437L587.4 427.2H585.6L582.6 437ZM616.3 470.6Q610 470.6 606.5 467.3Q603 464 602.8 457.8Q602.7 451.3 602.7 444.4Q602.7 437.4 602.8 431Q603 424.8 606.5 421.5Q610 418.2 616.3 418.2Q622.6 418.2 626.1 421.5Q629.6 424.8 629.8 431Q630 437.5 630 444.4Q630 451.3 629.8 457.8Q629.6 464 626.1 467.3Q622.6 470.6 616.3 470.6ZM616.3 462.8Q620 462.8 620.2 459.6Q620.5 452.2 620.5 444.4Q620.5 436.5 620.2 429.2Q620.1 426 616.3 426Q612.5 426 612.4 429.2Q612.1 436.5 612.1 444.4Q612.1 452.2 612.4 459.6Q612.5 462.8 616.3 462.8ZM703.9 470.6Q696.6 470.6 693.3 467.7Q690 464.7 689.9 457.8Q689.8 456.2 689.8 455.2Q689.8 454.2 689.9 453H699.5Q699.4 454.3 699.4 456.2Q699.4 458.1 699.5 459.1Q699.6 460.9 700.7 461.9Q701.7 462.8 703.7 462.8Q707.6 462.8 707.9 459.1Q708.2 456.2 708.2 453.5Q708.2 450.7 708 448.3Q707.7 445 704.1 445Q702.1 445 700.9 445.9Q699.8 446.8 699.7 448.3H690.6V418.8H716.7V427.2H700.2V440.8H701.6Q702.5 439.3 704.3 438.2Q706.1 437.1 708.7 437.1Q713 437.1 715.1 440.1Q717.3 443.1 717.6 448.1Q717.7 450.6 717.7 453.2Q717.7 455.8 717.5 457.8Q717.1 462.4 715.6 465.2Q714.2 468 711.4 469.3Q708.6 470.6 703.9 470.6ZM736.4 470.6Q730.1 470.6 726.6 467.3Q723.1 464 722.9 457.8Q722.8 451.3 722.8 444.4Q722.8 437.4 722.9 431Q723.1 424.8 726.6 421.5Q730.1 418.2 736.4 418.2Q742.8 418.2 746.2 421.5Q749.7 424.8 749.9 431Q750.1 437.5 750.1 444.4Q750.1 451.3 749.9 457.8Q749.7 464 746.2 467.3Q742.8 470.6 736.4 470.6ZM736.4 462.8Q740.1 462.8 740.3 459.6Q740.6 452.2 740.6 444.4Q740.6 436.5 740.3 429.2Q740.2 426 736.4 426Q732.6 426 732.5 429.2Q732.3 436.5 732.3 444.4Q732.3 452.2 732.5 459.6Q732.6 462.8 736.4 462.8ZM825 470V457.1H809.3V449.1L821.5 418.8H834V448.8H839.5V457.1H834V470ZM818.5 448.8H825L826.3 437L827.4 427.2H825.6L822.6 437ZM856.3 470.6Q850 470.6 846.5 467.3Q843 464 842.8 457.8Q842.7 451.3 842.7 444.4Q842.7 437.4 842.8 431Q843 424.8 846.5 421.5Q850 418.2 856.3 418.2Q862.6 418.2 866.1 421.5Q869.6 424.8 869.8 431Q870 437.5 870 444.4Q870 451.3 869.8 457.8Q869.6 464 866.1 467.3Q862.6 470.6 856.3 470.6ZM856.3 462.8Q860 462.8 860.2 459.6Q860.5 452.2 860.5 444.4Q860.5 436.5 860.2 429.2Q860.1 426 856.3 426Q852.5 426 852.4 429.2Q852.1 436.5 852.1 444.4Q852.1 452.2 852.4 459.6Q852.5 462.8 856.3 462.8ZM943.7 470.6Q936.4 470.6 933.1 467.7Q929.8 464.7 929.6 457.8Q929.6 456.2 929.6 455.4Q929.6 454.6 929.6 453H939.2V459.1Q939.2 462.8 943.5 462.8Q947.6 462.8 947.7 459.1Q947.7 457.6 947.7 455.7Q947.7 453.8 947.7 452.6Q947.6 450.6 946.8 449.2Q945.9 447.9 943.1 447.9L936.9 448L936.7 439.9L945.8 427.2H930.4V418.8H956.8L956.6 427L947.1 439.7Q952.2 440.2 954.6 443.2Q957 446.3 957.3 452.5Q957.4 455.1 957.3 457.8Q957 464.7 953.9 467.7Q950.7 470.6 943.7 470.6ZM976.1 470.6Q969.7 470.6 966.2 467.3Q962.8 464 962.6 457.8Q962.5 451.3 962.5 444.4Q962.5 437.4 962.6 431Q962.8 424.8 966.2 421.5Q969.7 418.2 976.1 418.2Q982.4 418.2 985.9 421.5Q989.3 424.8 989.5 431Q989.8 437.5 989.8 444.4Q989.8 451.3 989.5 457.8Q989.3 464 985.9 467.3Q982.4 470.6 976.1 470.6ZM976.1 462.8Q979.7 462.8 979.9 459.6Q980.3 452.2 980.3 444.4Q980.3 436.5 979.9 429.2Q979.8 426 976.1 426Q972.3 426 972.2 429.2Q971.9 436.5 971.9 444.4Q971.9 452.2 972.2 459.6Q972.3 462.8 976.1 462.8ZM1050.8 470Q1050.7 467.5 1050.7 465.9Q1050.7 464.3 1050.7 462.8Q1050.7 461.4 1050.7 459.4Q1050.9 454.5 1053.2 450.8Q1055.5 447.1 1060.4 444.4L1064.7 442Q1066.7 440.9 1067.3 439.2Q1067.9 437.4 1067.9 436.1Q1068.1 432.7 1067.9 429.2Q1067.7 426 1064 426Q1060.4 426 1060.3 429.2Q1060.1 433.6 1060.3 438H1050.8Q1050.8 436.3 1050.7 434.3Q1050.7 432.3 1050.7 431Q1051 424.1 1054.1 421.1Q1057.2 418.2 1064 418.2Q1068.8 418.2 1071.7 419.5Q1074.6 420.8 1076 423.6Q1077.3 426.4 1077.5 431Q1077.6 433.4 1077.5 436.1Q1077.4 440.9 1075.1 444.4Q1072.9 447.8 1068.4 450.2L1063.5 453Q1062.2 453.6 1061.6 454.8Q1060.9 456 1060.6 457.3Q1060.4 458.5 1060.4 459.4V461.6H1076.7V470ZM1095.6 470.6Q1089.3 470.6 1085.8 467.3Q1082.3 464 1082.1 457.8Q1082 451.3 1082 444.4Q1082 437.4 1082.1 431Q1082.3 424.8 1085.8 421.5Q1089.3 418.2 1095.6 418.2Q1102 418.2 1105.4 421.5Q1108.9 424.8 1109.1 431Q1109.3 437.5 1109.3 444.4Q1109.3 451.3 1109.1 457.8Q1108.9 464 1105.4 467.3Q1102 470.6 1095.6 470.6ZM1095.6 462.8Q1099.3 462.8 1099.5 459.6Q1099.8 452.2 1099.8 444.4Q1099.8 436.5 1099.5 429.2Q1099.4 426 1095.6 426Q1091.8 426 1091.7 429.2Q1091.5 436.5 1091.5 444.4Q1091.5 452.2 1091.7 459.6Q1091.8 462.8 1095.6 462.8ZM1180.4 470V427.2H1177.1L1176.9 423.9L1182.4 418.8H1190V470ZM1208.7 470.6Q1202.4 470.6 1198.9 467.3Q1195.4 464 1195.2 457.8Q1195.1 451.3 1195.1 444.4Q1195.1 437.4 1195.2 431Q1195.4 424.8 1198.9 421.5Q1202.4 418.2 1208.7 418.2Q1215 418.2 1218.5 421.5Q1222 424.8 1222.2 431Q1222.4 437.5 1222.4 444.4Q1222.4 451.3 1222.2 457.8Q1222 464 1218.5 467.3Q1215 470.6 1208.7 470.6ZM1208.7 462.8Q1212.4 462.8 1212.6 459.6Q1212.9 452.2 1212.9 444.4Q1212.9 436.5 1212.6 429.2Q1212.5 426 1208.7 426Q1204.9 426 1204.8 429.2Q1204.5 436.5 1204.5 444.4Q1204.5 452.2 1204.8 459.6Q1204.9 462.8 1208.7 462.8Z' fill='%23fff' fill-opacity='.05'/%3E%3C/svg%3E");
	color: var(--t7-navy, #0b1f3a);
}

.t7p *,
.t7p *::before,
.t7p *::after {
	box-sizing: border-box;
}

.t7p-wrap {
	position: relative;
	z-index: 1;
	max-width: 1312px;
	margin: 0 auto;
	padding: 0 var(--t7p-gap);
}

.t7p img {
	display: block;
	max-width: 100%;
}

/* Sections and backgrounds */

.t7p-sec {
	position: relative;
	padding: clamp(56px, 7vw, 104px) 0;
}

.t7p-bg--white {
	background: #fff;
}

.t7p-bg--light {
	background: var(--t7-frost, #edf1f6);
}

.t7p-bg--white + .t7p-bg--white,
.t7p-bg--light + .t7p-bg--light {
	padding-top: 0;
}

.t7p-bg--navy {
	background: var(--t7-navy, #0b1f3a);
	color: #fff;
	overflow: hidden;
}

.t7p-bg--navy::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--t7p-field) center bottom / cover no-repeat;
}

/*
 * Beaver Builder Global Styles color every heading with the global Headings
 * color. Inside inner page sections, headings follow their section's text
 * color instead, so they stay white on navy, photos and red.
 */
html:root .t7p :is(h1, h2, h3, h4, h5, h6) {
	color: inherit;
}

/* White cards keep navy text even when their section is navy. */
.t7p-doccard,
.t7p-date,
.t7p-faq,
.t7p-champ,
.t7p-venue,
.t7p-contact__form {
	color: var(--t7-navy, #0b1f3a);
}

/* Type */

html:root .t7p-h2 {
	margin: 0;
	color: inherit;
	font-family: var(--t7-font-display);
	font-size: var(--t7-fs-section, clamp(2.25rem, 1.792rem + 2.037vw, 3.625rem));
	font-weight: 900;
	line-height: 0.92;
	text-transform: uppercase;
}

html:root .t7p-h3 {
	margin: 0;
	color: inherit;
	font-family: var(--t7-font-display);
	font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.9rem);
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.t7p-head--wide {
	margin-bottom: clamp(24px, 3vw, 36px);
}

.t7p-note {
	max-width: 36ch;
	margin: 14px 0 0;
	color: var(--t7-slate, #4b5a70);
	font-size: 17px;
	line-height: 1.55;
}

.t7p-head--wide .t7p-note {
	max-width: 64ch;
}

.t7p-lead {
	margin: 16px 0 14px;
	font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem);
	font-weight: 500;
	line-height: 1.45;
}

.t7p-rich p,
.t7p-card p,
.t7p-venue p {
	max-width: 64ch;
	margin: 0 0 14px;
	color: var(--t7p-ink);
	font-size: var(--t7-fs-body, 18px);
	line-height: 1.65;
}

.t7p-foot {
	margin: 20px 0 0;
	color: var(--t7-slate, #4b5a70);
	font-size: 15px;
	line-height: 1.55;
}

.t7p-eyebrow {
	margin: 0 0 12px;
	color: var(--t7-slate, #4b5a70);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.t7p-bg--navy .t7p-note,
.t7p-bg--navy .t7p-foot,
.t7p-bg--navy .t7p-rich p {
	color: #c9d4e3;
}

/* Two-column layout: heading left, content right */

.t7p-grid2 {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: clamp(28px, 4vw, 72px);
	align-items: start;
}

/* Icons */

.t7p-ico {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: #fbe7ea;
	color: var(--t7-accent, #d0142c);
}

.t7p-ico--dark {
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.t7p-bg--navy .t7p-ico:not(.t7p-ico--dark) {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

/* Buttons */

.t7p-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.t7p-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin-top: 8px;
	padding: 0 26px;
	border: 2px solid transparent;
	border-radius: var(--t7-radius, 4px);
	font-family: var(--t7-font-display);
	font-size: var(--t7-fs-button, 19px);
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, translate 0.2s ease;
}

.t7p-btn:hover {
	translate: 0 -2px;
}

html:root .t7p-btn--red,
html:root .t7p-btn--red:hover,
html:root .t7p-btn--red:focus {
	border-color: var(--t7-accent, #d0142c);
	background: var(--t7-accent, #d0142c);
	color: #fff;
}

html:root .t7p-btn--red:hover {
	border-color: #b01025;
	background: #b01025;
}

html:root .t7p-btn--navy,
html:root .t7p-btn--navy:hover,
html:root .t7p-btn--navy:focus {
	border-color: var(--t7-navy, #0b1f3a);
	background: var(--t7-navy, #0b1f3a);
	color: #fff;
}

html:root .t7p-btn--white,
html:root .t7p-btn--white:hover,
html:root .t7p-btn--white:focus {
	border-color: rgba(255, 255, 255, 0.7);
	background: transparent;
	color: #fff;
}

html:root .t7p-btn--white:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.08);
}

html:root .t7p-btn--line,
html:root .t7p-btn--line:hover,
html:root .t7p-btn--line:focus {
	border-color: var(--t7-navy, #0b1f3a);
	background: transparent;
	color: var(--t7-navy, #0b1f3a);
}

.t7p a:focus-visible,
.t7p summary:focus-visible {
	outline: 3px solid var(--t7-focus, #5aa0ff);
	outline-offset: 3px;
}

/* Icon list */

.t7p-ilist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.t7p-ilist li {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 14px 0;
	border-top: 1px solid var(--t7-border, #dce3ec);
	color: var(--t7p-ink);
	font-size: 17px;
	line-height: 1.5;
}

.t7p-ilist li:last-child {
	border-bottom: 1px solid var(--t7-border, #dce3ec);
}

.t7p-ilist .t7p-ico {
	width: 40px;
	height: 40px;
	border-radius: 8px;
}

.t7p-ilist .t7p-icon {
	width: 19px;
	height: 19px;
}

.t7p-ilist li > span {
	padding-top: 8px;
}

.t7p-ilist b {
	color: var(--t7-navy, #0b1f3a);
}

.t7p-bg--navy .t7p-ilist li {
	border-color: rgba(255, 255, 255, 0.14);
	color: #e4eaf2;
}

.t7p-bg--navy .t7p-ilist b {
	color: #fff;
}

/* Photo and text */

.t7p-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: clamp(28px, 4vw, 64px);
	align-items: center;
}

.t7p-split--img-right .t7p-split__media {
	order: 2;
}

.t7p-split--noimg {
	grid-template-columns: minmax(0, 1fr);
	max-width: 880px;
	margin-left: 0;
}

.t7p-split__media,
.t7p-card__media,
.t7p-feature__media,
.t7p-venue__media,
.t7p-strip__item {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
}

.t7p-split__media {
	aspect-ratio: 4 / 3;
}

.t7p-split--portrait .t7p-split__media {
	aspect-ratio: 4 / 5;
}

.t7p-split__media .t7p-img,
.t7p-card__media .t7p-img,
.t7p-feature__media .t7p-img,
.t7p-venue__media .t7p-img,
.t7p-strip__item .t7p-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: scale 0.9s var(--t7p-ease);
}

.t7p-split__media:hover .t7p-img,
.t7p-card:hover .t7p-card__media .t7p-img,
.t7p-strip__item:hover .t7p-img {
	scale: 1.04;
}

.t7p-split__text .t7p-ilist {
	margin-top: 22px;
}

/* Cards */

.t7p-cards {
	display: grid;
	grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
	gap: 16px;
}

.t7p-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-top: 4px solid var(--t7-accent, #d0142c);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--t7p-shadow);
}

.t7p-card:hover {
	translate: 0 -4px;
	box-shadow: var(--t7p-shadow-up);
}

.t7p-card__media {
	aspect-ratio: 4 / 3;
	border-radius: 0;
}

.t7p-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	padding: 26px;
}

.t7p-card__body p {
	margin: 0;
	font-size: 16px;
}

.t7p-card__big {
	color: var(--t7-accent, #d0142c);
	font-family: var(--t7-font-display);
	font-size: 64px;
	font-weight: 900;
	line-height: 0.9;
}

.t7p-pill {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--t7-frost, #edf1f6);
	color: var(--t7-navy, #0b1f3a);
	font-size: 14px;
	font-weight: 700;
}

.t7p-pill .t7p-icon {
	color: var(--t7-accent, #d0142c);
}

.t7p-bg--navy .t7p-card {
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-top: 4px solid var(--t7-accent, #d0142c);
	background: rgba(255, 255, 255, 0.06);
	box-shadow: none;
}

.t7p-bg--navy .t7p-card__body p {
	color: #c9d4e3;
}

/* Number tiles */

.t7p-tiles {
	display: grid;
	grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
	gap: 14px;
}

.t7p-tile {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 22px;
	border-top: 4px solid var(--t7-accent, #d0142c);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--t7p-shadow);
}

.t7p-tile:hover {
	translate: 0 -4px;
	box-shadow: var(--t7p-shadow-up);
}

.t7p-tile__value {
	font-family: var(--t7-font-display);
	font-size: clamp(36px, 3vw, 44px);
	font-weight: 900;
	line-height: 0.9;
}

.t7p-tile__text {
	color: var(--t7-slate, #4b5a70);
	font-size: 15px;
	line-height: 1.45;
}

.t7p-bg--navy .t7p-tile {
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-top: 4px solid var(--t7-accent, #d0142c);
	background: rgba(255, 255, 255, 0.06);
	box-shadow: none;
}

.t7p-bg--navy .t7p-tile__text {
	color: #c9d4e3;
}

/* Bid ladder */

.t7p-ladder {
	display: grid;
	grid-template-columns: repeat(var(--steps, 4), minmax(0, 1fr));
	gap: 12px;
	align-items: end;
	margin: 0;
	padding: 0;
	list-style: none;
}

.t7p-rung {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: calc(140px + var(--i, 0) * 44px);
	padding: 20px;
	border: 1px solid var(--t7-border, #dce3ec);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--t7p-shadow);
}

.t7p-bg--navy .t7p-rung {
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.06);
	box-shadow: none;
}

.t7p-rung__teams {
	color: var(--t7-slate, #4b5a70);
	font-size: 15px;
	font-weight: 600;
}

.t7p-rung__num {
	margin-top: 8px;
	font-family: var(--t7-font-display);
	font-size: clamp(56px, 5vw, 72px);
	font-weight: 900;
	line-height: 0.9;
}

.t7p-rung__caption {
	margin-top: 4px;
	color: var(--t7-slate, #4b5a70);
	font-size: 15px;
}

.t7p-bg--navy .t7p-rung__teams {
	color: #a9b8cc;
}

.t7p-bg--navy .t7p-rung__caption {
	color: #c9d4e3;
}

.t7p-dots {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 14px;
}

.t7p-dots i {
	display: block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--t7-accent, #d0142c);
}

.t7p-ladder .t7p-rung--top {
	border-color: var(--t7-accent, #d0142c);
	background: var(--t7-accent, #d0142c);
	color: #fff;
}

.t7p-ladder .t7p-rung--top .t7p-rung__teams,
.t7p-ladder .t7p-rung--top .t7p-rung__caption {
	color: #ffe3e7;
}

.t7p-rung--top .t7p-dots i {
	background: #fff;
}

/* Date tiles */

.t7p-dates {
	display: grid;
	grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr));
	gap: 16px;
}

.t7p-date {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--t7p-shadow);
}

.t7p-date:hover {
	translate: 0 -4px;
	box-shadow: var(--t7p-shadow-up);
}

.t7p-date__band {
	padding: 10px 18px;
	background: var(--t7-accent, #d0142c);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.t7p-date__body {
	display: block;
	padding: 18px 18px 22px;
}

.t7p-date__big {
	display: block;
	font-family: var(--t7-font-display);
	font-size: clamp(40px, 3.6vw, 52px);
	font-weight: 900;
	line-height: 0.9;
	text-transform: uppercase;
}

.t7p-date__caption {
	display: block;
	margin-top: 10px;
	font-size: 17px;
	font-weight: 700;
}

.t7p-date__was {
	display: block;
	margin-top: 6px;
	color: var(--t7-slate, #4b5a70);
	font-size: 14px;
}

/* Bracket flow */

.t7p-flow + .t7p-flow {
	margin-top: 22px;
}

.t7p-flow__label {
	margin: 0 0 8px;
	color: var(--t7-slate, #4b5a70);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.t7p-bg--navy .t7p-flow__label {
	color: #a9b8cc;
}

.t7p-flow__row {
	display: flex;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style: none;
}

.t7p-flow__step {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px;
	border: 1px solid var(--t7-border, #dce3ec);
	border-radius: 8px;
	background: #fff;
}

.t7p-flow__step b {
	font-family: var(--t7-font-display);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.05;
	text-transform: uppercase;
}

.t7p-flow__step span {
	color: var(--t7-slate, #4b5a70);
	font-size: 15px;
	line-height: 1.45;
}

.t7p-bg--navy .t7p-flow__step {
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.06);
}

.t7p-bg--navy .t7p-flow__step span {
	color: #c9d4e3;
}

.t7p .t7p-flow__step--red {
	border-color: var(--t7-accent, #d0142c);
	background: var(--t7-accent, #d0142c);
	color: #fff;
}

.t7p .t7p-flow__step--red span {
	color: #ffe3e7;
}

.t7p-flow__arrow {
	display: flex;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	opacity: 0.6;
}

/* Tables */

.t7p-table {
	margin-top: 32px;
	overflow-x: auto;
}

.t7p-table table {
	width: 100%;
	min-width: 520px;
	border-collapse: collapse;
	font-size: 16px;
}

.t7p-table th,
.t7p-table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--t7-border, #dce3ec);
	text-align: left;
	vertical-align: top;
	line-height: 1.5;
}

.t7p-table thead th {
	border-bottom: 2px solid currentColor;
	color: var(--t7-slate, #4b5a70);
	font-size: 14px;
	font-weight: 700;
}

.t7p-table tbody th {
	font-family: var(--t7-font-display);
	font-size: 22px;
	font-weight: 900;
}

.t7p-bg--navy .t7p-table th,
.t7p-bg--navy .t7p-table td {
	border-color: rgba(255, 255, 255, 0.14);
	color: #e4eaf2;
}

.t7p-bg--navy .t7p-table thead th {
	border-color: rgba(255, 255, 255, 0.5);
	color: #a9b8cc;
}

/* Feature card */

.t7p-feature {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	overflow: hidden;
	border-radius: 8px;
	background: var(--t7-navy, #0b1f3a);
	color: #fff;
}

.t7p-feature::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--t7p-field) center bottom / cover no-repeat;
	opacity: 0.8;
}

.t7p-feature--img-right .t7p-feature__media {
	order: 2;
}

.t7p-feature--noimg {
	grid-template-columns: minmax(0, 1fr);
}

.t7p-feature__media {
	min-height: 320px;
	border-radius: 0;
}

.t7p-feature__body {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 16px;
	padding: clamp(26px, 3vw, 48px);
}

html:root .t7p-feature__title {
	margin: 0;
	color: #fff;
	font-family: var(--t7-font-display);
	font-size: clamp(32px, 3.4vw, 52px);
	font-weight: 900;
	line-height: 0.92;
	text-transform: uppercase;
}

.t7p-feature__body p {
	max-width: 52ch;
	margin: 0;
	color: #c9d4e3;
	font-size: 17px;
	line-height: 1.55;
}

.t7p-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 999px;
	background: #fff;
	color: var(--t7-navy, #0b1f3a);
	font-size: 14px;
	font-weight: 700;
}

.t7p-tag i {
	display: block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--t7-accent, #d0142c);
}

/* Full-width photo */

.t7p-bg--photo {
	display: flex;
	align-items: flex-end;
	min-height: clamp(440px, 48vw, 600px);
	padding-top: 140px;
	overflow: hidden;
	background: var(--t7-navy-deep, #071528);
	color: #fff;
}

.t7p-photo-band__media,
.t7p-photo-band__shade {
	position: absolute;
	inset: 0;
}

.t7p-photo-band__media .t7p-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.t7p-photo-band__shade {
	background: linear-gradient(0deg, rgba(7, 21, 40, 0.95) 0%, rgba(7, 21, 40, 0.6) 45%, rgba(7, 21, 40, 0.15) 100%);
}

.t7p-photo-band__in {
	width: 100%;
}

html:root .t7p-photo-band__title {
	margin: 0;
	color: #fff;
	font-family: var(--t7-font-display);
	font-size: clamp(44px, 5vw, 76px);
	font-weight: 900;
	line-height: 0.9;
	text-transform: uppercase;
}

.t7p-photo-band__text {
	max-width: 48ch;
	margin: 16px 0 10px;
	color: #e4eaf2;
	font-size: 19px;
	line-height: 1.55;
}

.t7p-tips {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 22px;
	margin: 28px 0 8px;
	padding: 0;
	list-style: none;
}

.t7p-tips li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	color: #e4eaf2;
	font-size: 16px;
	line-height: 1.5;
}

.t7p-tips b {
	display: block;
	margin-bottom: 2px;
	color: #fff;
	font-family: var(--t7-font-display);
	font-size: 19px;
	font-weight: 800;
	text-transform: uppercase;
}

/* Questions */

.t7p-faq {
	padding: 6px clamp(18px, 2.5vw, 28px);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--t7p-shadow);
}

.t7p-faq__item + .t7p-faq__item {
	border-top: 1px solid var(--t7-border, #dce3ec);
}

.t7p-faq summary,
.t7p-more summary {
	position: relative;
	padding: 20px 48px 20px 0;
	cursor: pointer;
	font-size: 18px;
	font-weight: 600;
	list-style: none;
}

.t7p-faq summary::-webkit-details-marker,
.t7p-more summary::-webkit-details-marker {
	display: none;
}

.t7p-faq summary::before,
.t7p-faq summary::after,
.t7p-more summary::before,
.t7p-more summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 16px;
	height: 2px;
	margin-top: -1px;
	background: var(--t7-accent, #d0142c);
	transition: rotate 0.3s var(--t7p-ease), opacity 0.3s ease;
}

.t7p-faq summary::after,
.t7p-more summary::after {
	rotate: 90deg;
}

.t7p-faq details[open] summary::after,
.t7p-more[open] summary::after {
	rotate: 0deg;
	opacity: 0;
}

.t7p-faq__a {
	overflow: hidden;
}

.t7p-faq__a p {
	max-width: 64ch;
	margin: 0 0 20px;
	color: var(--t7p-ink);
	font-size: 17px;
	line-height: 1.6;
}

.t7p-more {
	margin-top: 8px;
	border-top: 1px solid var(--t7-border, #dce3ec);
}

.t7p-more .t7p-table {
	margin-top: 0;
}

/* Downloads and steps */

.t7p-docs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: 20px;
}

.t7p-doccard {
	padding: clamp(20px, 2.5vw, 28px);
	border-top: 4px solid var(--t7-accent, #d0142c);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--t7p-shadow);
}

.t7p-doccard__head {
	display: flex;
	gap: 16px;
	align-items: center;
	margin-bottom: 14px;
}

.t7p-doccard__intro {
	margin: 0 0 6px;
	color: var(--t7-slate, #4b5a70);
	font-size: 16px;
	line-height: 1.5;
}

.t7p-doc {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 14px 0;
	border-top: 1px solid var(--t7-border, #dce3ec);
}

.t7p-doc > .t7p-icon {
	flex: none;
	color: var(--t7-slate, #4b5a70);
}

.t7p-doc__name {
	flex: 1;
	font-size: 16px;
	line-height: 1.4;
}

.t7p-doc__name small {
	display: block;
	margin-top: 2px;
	color: var(--t7-slate, #4b5a70);
	font-size: 14px;
}

.t7p .t7p-doc__link {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	color: var(--t7-accent, #d0142c);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.t7p-doc__link .t7p-icon {
	transition: translate 0.2s ease;
}

.t7p-doc__link:hover .t7p-icon {
	translate: 3px 0;
}

.t7p-steps {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: t7p-step;
}

.t7p-steps li {
	position: relative;
	padding: 14px 0 14px 52px;
	border-top: 1px solid var(--t7-border, #dce3ec);
	color: var(--t7p-ink);
	font-size: 17px;
	line-height: 1.55;
	counter-increment: t7p-step;
}

.t7p-steps li::before {
	content: counter(t7p-step, decimal-leading-zero);
	position: absolute;
	top: 10px;
	left: 0;
	color: var(--t7-accent, #d0142c);
	font-family: var(--t7-font-display);
	font-size: 28px;
	font-weight: 900;
}

/* Milestones */

.t7p-timeline {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 38px 0 0;
	list-style: none;
}

.t7p-timeline::before {
	content: "";
	position: absolute;
	top: 12px;
	right: 0;
	left: 0;
	height: 3px;
	background: currentColor;
}

.t7p-timeline li {
	position: relative;
}

.t7p-timeline li::before {
	content: "";
	position: absolute;
	top: -34px;
	left: 0;
	width: 18px;
	height: 18px;
	border: 3px solid currentColor;
	border-radius: 50%;
	background: var(--t7-frost, #edf1f6);
}

.t7p-bg--white .t7p-timeline li::before {
	background: #fff;
}

.t7p-timeline li.is-key::before {
	border-color: var(--t7-accent, #d0142c);
	background: var(--t7-accent, #d0142c);
}

.t7p-timeline b {
	display: block;
	font-family: var(--t7-font-display);
	font-size: 40px;
	font-weight: 900;
	line-height: 0.9;
}

.t7p-timeline span {
	display: block;
	margin-top: 8px;
	color: var(--t7p-ink);
	font-size: 15px;
	line-height: 1.45;
}

.t7p-strip {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 12px;
	height: clamp(260px, 28vw, 380px);
	margin-top: 48px;
}

.t7p-strip__item {
	height: 100%;
}

/* Champions */

.t7p-champs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	margin-bottom: 28px;
}

.t7p-champ {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border-top: 4px solid var(--t7-accent, #d0142c);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--t7p-shadow);
}

.t7p-bg--light .t7p-champ {
	background: #fff;
}

.t7p-champ__div {
	color: var(--t7-slate, #4b5a70);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.t7p-champ__team {
	font-family: var(--t7-font-display);
	font-size: 34px;
	font-weight: 900;
	line-height: 0.95;
	text-transform: uppercase;
}

/* Big statement */

.t7p-statement__big {
	max-width: 20ch;
	margin: 24px 0 0;
	color: #fff;
	font-family: var(--t7-font-display);
	font-size: clamp(40px, 5vw, 80px);
	font-weight: 900;
	line-height: 0.92;
	text-transform: uppercase;
}

.t7p-statement__text {
	max-width: 60ch;
	margin: 24px 0 0;
	color: #c9d4e3;
	font-size: 19px;
	line-height: 1.6;
}

/* Sponsors grid */

.t7p-head-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: clamp(24px, 3vw, 36px);
}

.t7p-head-row .t7p-head--wide {
	margin-bottom: 0;
}

/* Contact */

.t7p-contact {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(28px, 4vw, 64px);
	align-items: start;
}

.t7p-contact--form-right .t7p-contact__form {
	order: 2;
}

.t7p-contact__form {
	padding: clamp(20px, 3vw, 36px);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(11, 31, 58, 0.12);
}

.t7p-contact__form:empty {
	display: none;
}

.t7p-contact__info .t7p-h2 {
	margin-bottom: 18px;
}

.t7p-qlinks {
	display: grid;
	gap: 12px;
	margin-top: 20px;
}

.t7p .t7p-qlink {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 18px 20px;
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--t7p-shadow);
	color: var(--t7-navy, #0b1f3a);
	text-decoration: none;
	transition: translate 0.25s var(--t7p-ease), box-shadow 0.25s ease;
}

.t7p .t7p-qlink:hover {
	translate: 0 -3px;
	box-shadow: var(--t7p-shadow-up);
}

.t7p-qlink > span:not(.t7p-ico) {
	flex: 1;
	color: var(--t7-slate, #4b5a70);
	font-size: 15px;
	line-height: 1.4;
}

.t7p-qlink b {
	display: block;
	color: var(--t7-navy, #0b1f3a);
	font-family: var(--t7-font-display);
	font-size: 20px;
	font-weight: 800;
	text-transform: uppercase;
}

.t7p-qlink > .t7p-icon {
	flex: none;
	color: var(--t7-accent, #d0142c);
	transition: translate 0.25s var(--t7p-ease);
}

.t7p-qlink:hover > .t7p-icon {
	translate: 4px 0;
}

.t7p-email {
	display: flex;
	gap: 14px;
	align-items: center;
	margin: 22px 0 0;
	font-size: 17px;
	font-weight: 600;
}

/* Venue card */

.t7p-venue {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--t7p-shadow);
}

.t7p-venue--noimg {
	grid-template-columns: minmax(0, 1fr);
}

.t7p-venue__media {
	min-height: 300px;
	border-radius: 0;
}

.t7p-venue__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 14px;
	padding: clamp(22px, 3vw, 32px);
}

.t7p-venue__body p {
	margin: 0;
}

/* Signup band */

.t7p-band {
	padding: clamp(56px, 7vw, 96px) 0;
	background: var(--t7-accent, #d0142c);
	color: #fff;
}

.t7p-band__in {
	display: flex;
	flex-wrap: wrap;
	gap: 28px 56px;
	align-items: flex-end;
	justify-content: space-between;
}

html:root .t7p-band__title {
	max-width: 11ch;
	margin: 0;
	color: #fff;
	font-family: var(--t7-font-display);
	font-size: clamp(48px, 6vw, 96px);
	font-weight: 900;
	line-height: 0.86;
	text-transform: uppercase;
}

.t7p-band__text {
	max-width: 44ch;
	margin: 16px 0 0;
	font-size: 18px;
	line-height: 1.55;
}

.t7p-band__form {
	flex: 1 1 440px;
	max-width: 620px;
}

/* Floating section menu */

.t7p-menu {
	position: sticky;
	top: var(--t7-subnav-top, 0px);
	z-index: 50;
	border-bottom: 1px solid var(--t7-border, #dce3ec);
	background: #fff;
	transition: box-shadow 0.2s ease;
}

.t7p-menu.is-stuck {
	box-shadow: 0 8px 20px rgba(11, 31, 58, 0.12);
}

.t7p-menu__in {
	display: flex;
	gap: 28px;
	max-width: 1312px;
	margin: 0 auto;
	padding: 0 var(--t7p-gap);
	overflow-x: auto;
	scrollbar-width: none;
}

.t7p-menu__in::-webkit-scrollbar {
	display: none;
}

.t7p .t7p-menu a {
	flex: none;
	padding: 17px 0 14px;
	border-bottom: 3px solid transparent;
	color: var(--t7-slate, #4b5a70);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.t7p .t7p-menu a:hover,
.t7p .t7p-menu a.is-active {
	border-bottom-color: var(--t7-accent, #d0142c);
	color: var(--t7-navy, #0b1f3a);
}

html {
	scroll-padding-top: var(--t7-scroll-offset, 72px);
}

/* Text for screen readers only */

.t7p-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Editor-only helpers: notes, photo placeholders, hints */

.t7p mark.t7p-edit-note {
	padding: 1px 6px;
	border-radius: 3px;
	background: #fff4d6;
	color: #5c3d00;
	font-size: 0.85em;
	font-weight: 600;
}

.t7p-ph {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 100%;
	min-height: 220px;
	padding: 16px;
	background: repeating-linear-gradient(135deg, #d5dde7 0 2px, #e6ebf1 2px 22px);
	color: #4b5a70;
	text-align: center;
}

.t7p-bg--photo .t7p-ph,
.t7p-feature .t7p-ph {
	background: repeating-linear-gradient(135deg, #2a3f5c 0 2px, #1e3150 2px 22px);
	color: #c9d4e3;
}

.t7p-photo-band__media .t7p-ph {
	align-items: flex-end;
	justify-content: flex-start;
	padding: 24px var(--t7p-gap);
	text-align: right;
}

.t7p-ph__chip {
	padding: 7px 12px;
	border-radius: 999px;
	background: #fff4d6;
	color: #5c3d00;
	font-size: 13px;
	font-weight: 700;
}

.t7p-ph__hint {
	max-width: 34ch;
	font-size: 13px;
}

.t7p-hint,
.t7p-empty {
	margin: 0;
	padding: 18px 20px;
	border: 2px dashed #e5c46b;
	border-radius: 8px;
	background: #fff8e5;
	color: #5c3d00;
	font-size: 15px;
	line-height: 1.5;
}

.t7p-empty {
	margin: 40px auto;
}

.t7p-hint--dark {
	border-color: rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

/* Page hero additions: small label and fact icons */

.t7-page-hero__crumb {
	margin: 0 0 14px;
	color: #c9d4e3;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.t7-facts__item--icon {
	position: relative;
	padding-left: 92px;
}

.t7-facts__item--icon .t7p-ico {
	position: absolute;
	top: 50%;
	left: 26px;
	translate: 0 -50%;
}

/* Motion: rise and fade in as sections scroll into view, staggered by --i */

.t7p-motion [data-t7-reveal] .t7p-rv {
	opacity: 0;
	transform: translate3d(0, 22px, 0);
	transition-property: opacity, transform, translate, box-shadow;
	transition-duration: 0.7s, 0.7s, 0.25s, 0.25s;
	transition-timing-function: var(--t7p-ease);
	transition-delay: calc(var(--i, 0) * 80ms), calc(var(--i, 0) * 80ms), 0s, 0s;
}

.t7p-motion [data-t7-reveal].is-in .t7p-rv {
	opacity: 1;
	transform: none;
}

.t7p-motion .t7p-bg--photo .t7p-photo-band__media .t7p-img {
	scale: 1.08;
	transition: scale 1.8s var(--t7p-ease);
}

.t7p-motion .t7p-bg--photo.is-in .t7p-photo-band__media .t7p-img {
	scale: 1;
}

.t7p-card,
.t7p-tile,
.t7p-date {
	transition: translate 0.25s var(--t7p-ease), box-shadow 0.25s ease;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

@media (prefers-reduced-motion: reduce) {
	.t7p *,
	.t7p *::before,
	.t7p *::after {
		transition: none !important;
	}

	.t7p .t7p-card:hover,
	.t7p .t7p-tile:hover,
	.t7p .t7p-date:hover,
	.t7p .t7p-qlink:hover,
	.t7p .t7p-btn:hover {
		translate: none;
	}

	.t7p .t7p-img {
		scale: none !important;
	}
}

@media print {
	.t7p-rv {
		opacity: 1 !important;
		transform: none !important;
	}

	.t7p-menu {
		display: none;
	}
}

/* Tablet */

@media (max-width: 960px) {
	.t7p-grid2,
	.t7p-split,
	.t7p-contact,
	.t7p-feature,
	.t7p-venue {
		grid-template-columns: minmax(0, 1fr);
	}

	.t7p-split--img-right .t7p-split__media,
	.t7p-feature--img-right .t7p-feature__media,
	.t7p-contact--form-right .t7p-contact__form {
		order: 0;
	}

	.t7p-note {
		max-width: 64ch;
	}

	.t7p-feature__media,
	.t7p-venue__media {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.t7p-ladder,
	.t7p-cards,
	.t7p-tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.t7p-cards[style*="--cols:1"],
	.t7p-tiles[style*="--cols:1"] {
		grid-template-columns: minmax(0, 1fr);
	}

	.t7p-rung {
		min-height: 0;
	}

	.t7p-strip {
		grid-template-columns: 1fr 1fr;
		height: auto;
	}

	.t7p-strip__item {
		aspect-ratio: 4 / 3;
	}

	.t7p-strip__item:first-child {
		grid-column: 1 / -1;
		aspect-ratio: 16 / 9;
	}
}

/* Phone */

@media (max-width: 640px) {
	.t7p-flow__row {
		flex-direction: column;
	}

	.t7p-flow__arrow {
		flex-basis: 34px;
		rotate: 90deg;
	}

	.t7p-timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 12px;
		padding-top: 0;
	}

	.t7p-timeline::before,
	.t7p-timeline li::before {
		display: none;
	}

	.t7p-cards,
	.t7p-tiles,
	.t7p-dates,
	.t7p-champs,
	.t7p-tips {
		grid-template-columns: minmax(0, 1fr);
	}

	.t7p-tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.t7p-tile {
		padding: 18px;
	}

	.t7p-bg--photo {
		padding-top: 200px;
	}

	.t7-facts__item--icon {
		padding-left: 84px;
	}

	.t7-facts__item--icon .t7p-ico {
		left: 20px;
	}
}

/* ------------------------------------------------------------------
 * Photos on every page: "Add a photo" links for editors, photos beside
 * checklists and text, under question headings and behind statements,
 * and the Photo gallery section.
 * ------------------------------------------------------------------ */

html:root a.t7p-ph--link {
	color: #4b5a70;
	text-decoration: none;
}

.t7p-ph--link {
	cursor: pointer;
	outline: 2px dashed transparent;
	outline-offset: -8px;
	transition: outline-color 0.2s ease;
}

.t7p-ph--link:hover,
.t7p-ph--link:focus-visible {
	outline-color: var(--t7-accent, #d0142c);
}

.t7p-ph__add {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: var(--t7-radius, 4px);
	background: var(--t7-accent, #d0142c);
	color: #fff;
	font-family: var(--t7-font-display);
	font-weight: 800;
	font-size: 17px;
	text-transform: uppercase;
}

.t7-page-hero__add {
	position: absolute;
	top: 16px;
	right: clamp(16px, 3vw, 40px);
	z-index: 3;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	padding: 10px 14px;
	border-radius: var(--t7-radius, 4px);
	background: #fff4d6;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
}

html:root a.t7-page-hero__add {
	color: #5c3d00;
}

.t7-page-hero__add span {
	font-weight: 400;
	font-size: 12px;
}

.t7-page-hero__add:hover {
	background: #ffe8a8;
}

/* A photo beside a checklist or text */
.t7p-withphoto {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: clamp(20px, 3vw, 40px);
	align-items: start;
}

.t7p-withphoto--left > figure {
	order: -1;
}

.t7p-sidephoto {
	margin: 0;
	overflow: hidden;
	border-radius: 6px;
	aspect-ratio: 4 / 5;
	background: var(--t7-frost, #edf1f6);
}

.t7p-sidephoto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.t7p-headcol {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.t7p-sidephoto--under {
	max-width: 360px;
	aspect-ratio: 1;
}

/* A photo behind a big statement */
.t7p-sec--statement {
	position: relative;
	overflow: hidden;
}

.t7p-statement__photo {
	position: absolute;
	inset: 0;
}

.t7p-statement__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.t7p-statement__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(11, 31, 58, 0.84);
}

.t7p-sec--statement > .t7p-wrap {
	position: relative;
	z-index: 1;
}

/* Photo gallery */
.t7p-sec--gallery .t7-film {
	margin-top: clamp(20px, 3vw, 32px);
}

.t7p-gal {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: clamp(180px, 20vw, 260px);
	gap: 12px;
	margin-top: clamp(20px, 3vw, 32px);
}

.t7p-gal--mosaic {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.t7p-gal--mosaic .t7p-gal__tile:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

.t7p-gal--mosaic.t7p-gal--n1 {
	grid-template-columns: 1fr;
	grid-auto-rows: clamp(260px, 40vw, 520px);
}

.t7p-gal--mosaic.t7p-gal--n1 .t7p-gal__tile:first-child {
	grid-column: auto;
	grid-row: auto;
}

.t7p-gal--mosaic.t7p-gal--n2,
.t7p-gal--mosaic.t7p-gal--n3 {
	grid-template-columns: 2fr 1fr;
}

.t7p-gal--mosaic.t7p-gal--n2 .t7p-gal__tile:first-child,
.t7p-gal--mosaic.t7p-gal--n3 .t7p-gal__tile:first-child {
	grid-column: auto;
}

.t7p-gal--mosaic.t7p-gal--n2 .t7p-gal__tile:first-child {
	grid-row: auto;
}

.t7p-gal__tile {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 6px;
	background: var(--t7-navy-field, #12305a);
	text-decoration: none;
}

html:root a.t7p-gal__tile {
	color: #fff;
}

.t7p-gal__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.t7p-gal__tile:hover .t7p-gal__img {
	transform: scale(1.05);
}

.t7p-gal__caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 30px 14px 12px;
	background: linear-gradient(0deg, rgba(7, 21, 40, 0.9), rgba(7, 21, 40, 0));
	font-family: var(--t7-font-display);
	font-weight: 800;
	font-size: 18px;
	line-height: 1.1;
	text-transform: uppercase;
}

.t7p-gal__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin: 20px 0 0;
}

.t7p-gal__all {
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--t7-accent, #d0142c);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

html:root a.t7p-gal__all {
	color: inherit;
}

.t7p-gal__empty {
	margin-top: 24px;
	height: 280px;
}

.t7p-gal__tile:focus-visible,
.t7p-gal__all:focus-visible,
.t7-page-hero__add:focus-visible {
	outline: 3px solid var(--t7-focus, #5aa0ff);
	outline-offset: 3px;
}

@media (max-width: 960px) {
	.t7p-gal,
	.t7p-gal--mosaic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: clamp(150px, 36vw, 240px);
	}

	.t7p-gal--mosaic .t7p-gal__tile:first-child {
		grid-column: 1 / -1;
		grid-row: span 2;
	}
}

@media (max-width: 640px) {
	.t7p-withphoto {
		grid-template-columns: 1fr;
	}

	.t7p-withphoto--left > figure {
		order: 0;
	}

	.t7p-sidephoto {
		aspect-ratio: 4 / 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.t7p-gal__img,
	.t7p-ph--link {
		transition: none;
	}
}

/* Phones: page galleries become a swipeable row of large photos with a counter. */
@media (max-width: 700px) {
	html:root :is(.t7p-gal, .t7p-gal--mosaic, .t7p-gal--grid) {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
	}

	.t7p-gal::-webkit-scrollbar {
		display: none;
	}

	html:root .t7p-gal__tile,
	html:root .t7p-gal--mosaic .t7p-gal__tile:first-child {
		flex: 0 0 84%;
		grid-column: auto;
		grid-row: auto;
		aspect-ratio: 4 / 5;
		scroll-snap-align: start;
	}

	html:root .t7p-gal--n1 .t7p-gal__tile {
		flex-basis: 100%;
		aspect-ratio: 4 / 3;
	}

	.t7p-gal__all {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}

@media (hover: hover) {
	.t7p-gal__tile::after {
		content: "";
		position: absolute;
		top: 12px;
		right: 12px;
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background: rgba(7, 21, 40, 0.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 4h6v6M10 20H4v-6M20 4l-7 7M4 20l7-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat;
		opacity: 0;
		transform: scale(0.85);
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.t7p-gal__tile:is(:hover, :focus-visible)::after {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.t7p-gal__tile::after {
		transition: none;
	}
}

/* Phones: the facts bar is a 2 by 2 grid, so each fact's icon sits small and
 * inline beside its label, under the number. */
@media (max-width: 700px) {
	html:root .t7-facts__item--icon {
		padding-left: 16px;
	}

	html:root .t7-facts__item--icon .t7p-ico {
		position: static;
		display: inline-flex;
		width: 28px;
		height: 28px;
		margin: 0 8px 0 0;
		translate: none;
		vertical-align: middle;
	}

	html:root .t7-facts__item--icon .t7p-ico svg {
		width: 16px;
		height: 16px;
	}

	.t7-facts__label {
		display: flex;
		align-items: center;
	}
}

/* Product shot cards: a square frame showing the whole product on a light
 * neutral ground, never cropped. Square product photos fill it edge to edge. */
html:root .t7p-cards--product .t7p-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 0;
	background: #f2f2f2;
}

html:root .t7p-cards--product .t7p-card__media .t7p-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.t7p-cards--product .t7p-card:hover .t7p-card__media .t7p-img {
	transform: scale(1.03);
}

/* Past champions: school logos from Schools. */
.t7p-champ__logo {
	display: grid;
	place-items: center;
	width: 88px;
	height: 88px;
	padding: 8px;
	border: 1px solid var(--t7-border, #dce3ec);
	border-radius: 8px;
	background: #fff;
}

.t7p-champ__logo-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.t7p-school {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.t7p-school__logo,
.t7p-school__initials {
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 6px;
}

.t7p-school__logo {
	padding: 2px;
	border: 1px solid var(--t7-border, #dce3ec);
	background: #fff;
	object-fit: contain;
}

.t7p-school__initials {
	display: grid;
	place-items: center;
	background: var(--t7-frost, #edf1f6);
	color: var(--t7-slate, #4b5a70);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.t7p-bg--navy .t7p-school__logo {
	border-color: transparent;
}

.t7p-bg--navy .t7p-school__initials {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}
