/* TCC theme styles. Colours, fonts and spacing come from theme.json; this file adds the brand's
   components (cards, eyebrows, artwork, the waitlist form) and WooCommerce polish. */

:root {
	--tcc-navy: var(--wp--preset--color--navy, #040D4B);
	--tcc-orange: var(--wp--preset--color--orange, #C8500A);
	--tcc-peach: var(--wp--preset--color--peach, #F2914F);
	--tcc-mist: var(--wp--preset--color--mist, #C9CDE0);
	--tcc-line: var(--wp--preset--color--line, #ECEAE3);
	--tcc-shadow: 0 1px 2px rgba(4, 13, 75, .05), 0 8px 24px -10px rgba(4, 13, 75, .12);
	--tcc-grid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpath d='M64 0H0V64' fill='none' stroke='%2316226B'/%3E%3C/svg%3E");
	--tcc-grid-sm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M20 0H0V20' fill='none' stroke='%2316226B'/%3E%3C/svg%3E");
}

body { -webkit-font-smoothing: antialiased; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--tcc-peach); outline-offset: 3px; }
.wp-site-blocks > main { margin-block-start: 0; }

/* ---------- Header ---------- */
/* The template-part wrapper is what sticks: it's a direct child of the page, so it has the whole page to stick within. On .tcc-header itself, sticky had no room (the wrapper is exactly its height). */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.tcc-header { position: relative; border-bottom: 1px solid rgba(4, 13, 75, .08); }
/* The frosted background sits on a layer behind the header, not on the header itself: a backdrop-filter on the header would trap the full-screen phone menu inside the header's height. */
.tcc-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255, 255, 255, .88); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); pointer-events: none; }
/* While the phone menu is open, the floating Chat and back-to-top buttons stay out of its way. */
html.has-modal-open #brevo-conversations, html.has-modal-open .trx_addons_scroll_to_top { display: none !important; }
.tcc-header__inner { padding-block: 14px; gap: 12px 32px; }
/* Height sets the size; width follows the logo's own 720:283 shape. !important beats any inline width a block edit adds. */
.tcc-header .tcc-logo img { display: block; height: 56px; width: auto !important; max-width: none; aspect-ratio: 720 / 283; }
@media (min-width: 1240px) { .tcc-header .tcc-logo img { height: 72px; } }
.tcc-header .wp-block-navigation { font-weight: 600; font-size: 15px; gap: 4px 26px; }
.tcc-header .wp-block-navigation a:hover { color: var(--tcc-orange); }
.tcc-header .wp-block-navigation .current-menu-item > a { color: var(--tcc-orange); }
.tcc-header .wp-block-button__link { padding: 11px 20px; font-size: 15px; }
.tcc-header__right { gap: 16px 28px; }
@media (max-width: 600px) {
	.tcc-header .tcc-logo img { height: 44px; }
	.tcc-header .wp-block-buttons { display: none; }
}
.wp-block-navigation__responsive-container.is-menu-open { background: var(--tcc-navy) !important; color: #fff !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-family: var(--wp--preset--font-family--display); font-size: 30px; text-transform: uppercase; }

/* ---------- Sections ---------- */
.tcc-section { padding-block: var(--wp--preset--spacing--50); }
.tcc-section--tight { padding-block: clamp(32px, 4vw, 48px); }
.tcc-sand { background: var(--wp--preset--color--sand); }
.tcc-dark { background-color: var(--tcc-navy); color: var(--tcc-mist); }
.tcc-dark :where(h1, h2, h3, h4) { color: #fff; }
.tcc-dark a:where(:not(.wp-element-button)) { color: #fff; }
.tcc-grid-bg { background-image: var(--tcc-grid); }
.tcc-orange { background: var(--tcc-orange); color: #fff; }
.tcc-orange :where(h1, h2, h3) { color: #fff; }
.tcc-rule { border-bottom: 1px solid var(--tcc-line); }

.tcc-eyebrow { margin: 0 0 14px; font-weight: 700; font-size: 13px; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; color: var(--tcc-orange); }
.tcc-dark .tcc-eyebrow, .tcc-card--navy .tcc-eyebrow { color: var(--tcc-peach); }
.tcc-eyebrow--muted { color: var(--wp--preset--color--muted); }
.tcc-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; max-width: 34em; }
.tcc-tagline { margin: 14px 0 0; font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: clamp(22px, 2.4vw, 30px); text-transform: uppercase; letter-spacing: .02em; color: var(--tcc-peach); }
.tcc-accent { color: var(--tcc-peach); }
.tcc-head-row { gap: 24px; margin-bottom: clamp(32px, 4vw, 56px) !important; }
.tcc-small { font-size: 13px; color: var(--wp--preset--color--muted); }
.tcc-dark .tcc-small { color: var(--tcc-mist); }

/* Buttons */
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.wp-block-button.is-style-tcc-light .wp-block-button__link { background: transparent; color: #fff; border: 2px solid #fff; padding: 14px 26px; }
.wp-block-button.is-style-tcc-light .wp-block-button__link:hover { background: #fff; color: var(--tcc-navy); }
.wp-block-button.tcc-btn-navy .wp-block-button__link { background: var(--tcc-navy); }
.wp-block-button.tcc-btn-navy .wp-block-button__link:hover { background: #fff; color: var(--tcc-navy); }
.tcc-arrow-link { font-weight: 700; font-size: 16px; }
.tcc-arrow-link a { text-decoration: none; }

/* ---------- Hero ---------- */
.tcc-hero { position: relative; overflow: hidden; background-color: var(--tcc-navy); background-image:
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 760' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M-40 700 C 300 680, 560 560, 820 400 S 1240 120, 1500 90' fill='none' stroke='%23C8500A' stroke-width='3' opacity='.9'/%3E%3Ccircle cx='820' cy='400' r='7' fill='%23F2914F'/%3E%3Ccircle cx='1180' cy='170' r='5' fill='%23F2914F' opacity='.7'/%3E%3C/svg%3E"),
	var(--tcc-grid); background-size: cover, auto; background-position: center, 0 0; }
.tcc-hero .wp-block-columns { align-items: center !important; gap: 64px; }
.tcc-chip { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 28px; padding: 8px 16px; border: 1px solid #2A3A8F; border-radius: 999px; font-weight: 600; font-size: 14px; color: var(--tcc-mist); }
.tcc-chip::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--tcc-peach); }
.tcc-hero h1 { margin: 0; }
.tcc-hero .tcc-lead { margin-top: 32px; color: var(--tcc-mist); }
.tcc-hero .wp-block-buttons { margin-top: 44px; }

.tcc-hero-photo { position: relative; }
.tcc-hero-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 28px; }
.tcc-badge-stat, .tcc-badge-orange { position: absolute; z-index: 2; margin: 0 !important; border-radius: 18px; box-shadow: 0 24px 48px -16px rgba(0, 0, 0, .45); font-weight: 600; font-size: 14px; line-height: 1.3; }
.tcc-badge-stat { left: -28px; bottom: 48px; padding: 18px 22px; background: #fff; color: var(--tcc-navy); }
.tcc-badge-orange { right: -16px; top: 40px; padding: 16px 20px; background: var(--tcc-orange); color: #fff; }
.tcc-badge-stat strong, .tcc-badge-orange strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 40px; line-height: 1; }
@media (max-width: 781px) {
	.tcc-badge-stat { left: 12px; bottom: 12px; }
	.tcc-badge-orange { right: 12px; top: 12px; }
}

/* Photo placeholder: swap for an Image block. */
.tcc-photo-ph { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 5; padding: 32px; box-sizing: border-box; border: 1.5px dashed #5C6AB0; border-radius: 28px; background: #0E1A66; text-align: center; color: var(--tcc-mist); font-weight: 500; }
.tcc-photo-ph--light { aspect-ratio: 1; background: var(--wp--preset--color--sand); border-color: #B9B6AC; color: var(--wp--preset--color--muted); }
.tcc-photo-frame { position: relative; padding: 0 20px 20px 0; }
.tcc-photo-frame::after { content: ""; position: absolute; right: 0; bottom: 0; width: 82%; height: 82%; border-radius: 28px; background: var(--wp--preset--color--blush); z-index: 0; }
.tcc-photo-frame > * { position: relative; z-index: 1; }
.tcc-photo-frame img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 28px; }

/* Logo strip */
.tcc-logos { gap: 20px 48px; }
.tcc-logos .tcc-eyebrow { margin: 0; color: var(--wp--preset--color--muted); font-size: 12px; }
.tcc-logos__list { flex: 1 1 600px; gap: 16px 36px; justify-content: space-between; }
.tcc-logos__list p { margin: 0; font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: 20px; letter-spacing: .04em; text-transform: uppercase; color: #6B7090; }

/* ---------- Cards ---------- */
.tcc-card, .wp-block-group.is-style-tcc-card { background: #fff; border-radius: 28px; padding: 32px; box-shadow: var(--tcc-shadow); }
.tcc-card--line { box-shadow: none; border: 1px solid var(--tcc-line); border-radius: 24px; }
.tcc-card--sand { background: var(--wp--preset--color--sand); box-shadow: none; }
.tcc-card--navy { background: var(--tcc-navy); color: var(--tcc-mist); box-shadow: 0 8px 24px -10px rgba(4, 13, 75, .4); }
.tcc-card--navy :where(h2, h3, h4) { color: #fff; }
.tcc-card--navy a { color: #fff; }
.tcc-card--tight { padding: 12px; }
.tcc-card > * + * { margin-block-start: 10px; }
.tcc-card h3 { margin: 0; }
.tcc-card p { margin: 0; }
.tcc-card .tcc-push { margin-top: auto !important; padding-top: 12px; }
.tcc-lift { transition: transform .25s ease, box-shadow .25s ease; }
.tcc-lift:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(4, 13, 75, .06), 0 20px 40px -12px rgba(4, 13, 75, .22); }
.tcc-stretch { display: flex; flex-direction: column; height: 100%; }
.tcc-cards { gap: 24px; }
.tcc-cards > .wp-block-column { display: flex; flex-direction: column; }
.tcc-cards > .wp-block-column > * { flex: 1 1 auto; }

/* Linked card titles make the whole card clickable. */
.tcc-card-link { position: relative; }
.tcc-card-link h3 a { text-decoration: none; color: inherit; }
.tcc-card-link h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.tcc-card-link .tcc-more { font-weight: 700; font-size: 16px; color: var(--tcc-navy); }
.tcc-card--navy.tcc-card-link .tcc-more { color: #fff; }

.tcc-icon { width: 48px; height: 48px; min-height: 48px; border-radius: 14px; background: var(--wp--preset--color--blush) center / 24px no-repeat; }
.tcc-card--navy .tcc-icon { background-color: var(--wp--preset--color--navy-3); }
.tcc-icon--chat { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8500A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3Cpath d='M8.5 11h7M8.5 14h4.5'/%3E%3C/svg%3E"); }
.tcc-icon--people { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2914F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3.5 19c.8-3.2 3-5 5.5-5s4.7 1.8 5.5 5'/%3E%3Cpath d='M15 14.3c2.6-.4 4.6 1.1 5.4 4.2'/%3E%3C/svg%3E"); }
.tcc-icon--play { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8500A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='M10 9.5v5l4-2.5z'/%3E%3C/svg%3E"); }
.tcc-icon--live { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8500A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M10 9l5 3-5 3z'/%3E%3C/svg%3E"); }
.tcc-icon--spark { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8500A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v4M12 17v4M4.5 7.5l2.8 2.8M16.7 13.7l2.8 2.8M3 12h4M17 12h4'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E"); }
.tcc-icon--group { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8500A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3.5 19c.8-3.2 3-5 5.5-5s4.7 1.8 5.5 5'/%3E%3Cpath d='M15 14.3c2.6-.4 4.6 1.1 5.4 4.2'/%3E%3C/svg%3E"); }

/* Course artwork: decorative, drawn in CSS so editors only deal with text. */
.tcc-art { position: relative; display: flex; align-items: flex-end; aspect-ratio: 4 / 3; min-height: 0; margin: 0 !important; padding: 0 18px 6px; border-radius: 16px; overflow: hidden; background: var(--tcc-navy) center / cover no-repeat; }
.tcc-art--wide { aspect-ratio: 16 / 8; border-radius: 18px; align-items: flex-start; padding: 20px 24px; }
.tcc-art__num { margin: 0; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 64px; line-height: 1; color: #fff; }
.tcc-art__tag { margin: 0; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .12); color: #fff; font-weight: 600; font-size: 13px; }
.tcc-art--curve { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M-5 190 C 70 182, 120 140, 170 100 S 250 40, 290 34' fill='none' stroke='%23C8500A' stroke-width='3.5'/%3E%3Ccircle cx='170' cy='100' r='6' fill='%23F2914F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--wide.tcc-art--curve { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560 280' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M-10 250 C 120 240, 220 190, 300 140 S 450 50, 570 40' fill='none' stroke='%23C8500A' stroke-width='4'/%3E%3Cpath d='M-10 268 C 140 262, 250 228, 330 188 S 470 110, 570 100' fill='none' stroke='%235C6AB0' stroke-width='2' stroke-dasharray='6 6'/%3E%3Ccircle cx='300' cy='140' r='8' fill='%23F2914F'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M28 0H0V28' fill='none' stroke='%2316226B'/%3E%3C/svg%3E"); }
.tcc-art--intervals { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='%23C8500A'%3E%3Crect x='96' y='60' width='16' height='110' rx='3'/%3E%3Crect x='132' y='60' width='16' height='110' rx='3'/%3E%3Crect x='168' y='60' width='16' height='110' rx='3'/%3E%3Crect x='204' y='60' width='16' height='110' rx='3'/%3E%3Crect x='240' y='60' width='16' height='110' rx='3'/%3E%3C/g%3E%3Cg fill='%232A3A8F'%3E%3Crect x='112' y='140' width='20' height='30' rx='3'/%3E%3Crect x='148' y='140' width='20' height='30' rx='3'/%3E%3Crect x='184' y='140' width='20' height='30' rx='3'/%3E%3Crect x='220' y='140' width='20' height='30' rx='3'/%3E%3C/g%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--steps { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='%23C8500A'%3E%3Crect x='100' y='140' width='34' height='30' rx='4'/%3E%3Crect x='140' y='112' width='34' height='58' rx='4'/%3E%3Crect x='180' y='84' width='34' height='86' rx='4'/%3E%3Crect x='220' y='56' width='34' height='114' rx='4'/%3E%3C/g%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--band { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Crect x='90' y='52' width='190' height='56' fill='%23C8500A' opacity='.22'/%3E%3Cpath d='M90 52 H 290' stroke='%23F2914F' stroke-width='3'/%3E%3Cpath d='M90 108 H 290' stroke='%235C6AB0' stroke-width='3' stroke-dasharray='7 6'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--gps { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M70 160 C 110 60, 170 170, 210 70 S 260 120, 270 50' fill='none' stroke='%23C8500A' stroke-width='3.5' stroke-linecap='round'/%3E%3Ccircle cx='70' cy='160' r='6' fill='%23F2914F'/%3E%3Ccircle cx='270' cy='50' r='6' fill='%23F2914F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--week { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='%232A3A8F'%3E%3Crect x='80' y='60' width='26' height='26' rx='5'/%3E%3Crect x='112' y='60' width='26' height='26' rx='5'/%3E%3Crect x='176' y='60' width='26' height='26' rx='5'/%3E%3Crect x='208' y='60' width='26' height='26' rx='5'/%3E%3Crect x='240' y='60' width='26' height='26' rx='5'/%3E%3C/g%3E%3Crect x='144' y='60' width='26' height='26' rx='5' fill='%23C8500A'/%3E%3Crect x='240' y='60' width='26' height='26' rx='5' fill='%23F2914F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }

/* Prices */
.tcc-price { margin: 0; font-weight: 700; font-size: 20px; color: var(--tcc-navy); font-variant-numeric: tabular-nums; }
.tcc-price--big { font-size: 32px; }
.tcc-price s, .tcc-strike { font-weight: 400; font-size: 15px; color: var(--wp--preset--color--muted); }
.tcc-price small { font-weight: 600; font-size: 15px; color: var(--wp--preset--color--muted); }
.tcc-dark .tcc-price, .tcc-card--navy .tcc-price { color: #fff; }
.tcc-card--navy .tcc-price small { color: var(--tcc-mist); }
.tcc-meta-row { justify-content: space-between; align-items: center; }
.tcc-meta-row p { margin: 0; }
.tcc-badge { display: inline-block; margin: 0 8px 0 0; padding: 4px 10px; border-radius: 999px; background: var(--tcc-orange); color: #fff; font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.tcc-pill { display: inline-block; margin: 0; padding: 6px 12px; border-radius: 999px; background: var(--wp--preset--color--blush); color: var(--tcc-orange); font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.tcc-pills { gap: 10px; }
.tcc-pills p { margin: 0; padding: 8px 14px; border: 1px solid var(--tcc-line); border-radius: 999px; font-weight: 600; font-size: 14px; color: var(--tcc-navy); }

/* Lists with ticks */
.tcc-ticks { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; color: var(--tcc-navy); }
.tcc-ticks li { position: relative; padding-left: 32px; }
.tcc-ticks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8500A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.tcc-dark .tcc-ticks { color: #fff; }

/* Quotes */
.wp-block-quote.tcc-quote { margin: 0; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 24px; padding: 36px; border: 1px solid #1B2878; border-radius: 24px; background: var(--wp--preset--color--navy-2); }
.wp-block-quote.tcc-quote::before { content: "\201C"; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 72px; line-height: .6; color: var(--tcc-orange); }
.wp-block-quote.tcc-quote p { margin: 0; font-size: 19px; line-height: 1.55; color: #fff; }
.wp-block-quote.tcc-quote cite { margin-top: auto; font-style: normal; font-size: 14px; color: var(--tcc-mist); }
.wp-block-quote.tcc-quote cite strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 19px; text-transform: uppercase; color: #fff; }
.tcc-quote--light.wp-block-quote.tcc-quote { background: #fff; border-color: var(--tcc-line); }
.tcc-quote--light.wp-block-quote.tcc-quote p, .tcc-quote--light.wp-block-quote.tcc-quote cite strong { color: var(--tcc-navy); }
.tcc-quote--light.wp-block-quote.tcc-quote cite { color: var(--wp--preset--color--muted); }

/* Finder */
.tcc-finder { border-radius: 32px; padding: clamp(28px, 5vw, 56px); }
.tcc-finder__options { display: flex; flex-direction: column; gap: 12px; }
.tcc-finder__options button { font: inherit; text-align: left; font-weight: 600; font-size: 16px; padding: 16px 20px; border-radius: 16px; cursor: pointer; background: transparent; color: #fff; border: 2px solid #2A3A8F; transition: border-color .15s ease, background-color .15s ease; }
.tcc-finder__options button:hover { border-color: var(--tcc-orange); }
.tcc-finder__options button[aria-pressed="true"] { background: #fff; color: var(--tcc-navy); border-color: #fff; }
.tcc-finder__rec { display: flex; flex-direction: column; gap: 14px; height: 100%; box-sizing: border-box; background: #fff; border-radius: 24px; padding: 36px; color: var(--wp--preset--color--ink); }
.tcc-finder__rec .tcc-eyebrow { margin: 0; font-size: 12px; }
.tcc-finder__title { margin: 0; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 32px; line-height: 1.1; text-transform: uppercase; color: var(--tcc-navy); }
.tcc-finder__body { margin: 0; }
.tcc-finder__foot { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--tcc-line); display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.tcc-finder__foot .tcc-price { font-size: 26px; }
.tcc-finder__foot a { margin-left: auto; }
.tcc-finder [hidden] { display: none !important; }

/* Intake timeline */
.tcc-timeline { display: flex; flex-direction: column; gap: 14px; padding: 28px 32px; border: 1px solid var(--tcc-line); border-radius: 24px; }
.tcc-timeline__row { display: flex; align-items: center; gap: 16px; }
.tcc-timeline__label { flex: 0 0 120px; font-weight: 700; font-size: 15px; color: var(--tcc-navy); }
.tcc-timeline__track { flex: 1 1 auto; display: grid; grid-template-columns: repeat(12, 1fr); min-width: 0; }
.tcc-timeline__track span { text-align: center; font-weight: 700; font-size: 13px; color: var(--wp--preset--color--muted); }
.tcc-timeline__bar { grid-column: 1 / -1; border-radius: 999px; padding: 10px 16px; color: #fff; font-weight: 700; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: var(--tcc-navy); }
.tcc-timeline__bar--july { grid-column: 7 / -1; background: var(--tcc-orange); }
@media (max-width: 600px) { .tcc-timeline__label { flex-basis: 72px; font-size: 13px; } .tcc-timeline__bar { font-size: 12px; padding: 8px 10px; } }

/* Consultancy price tiles */
.tcc-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.tcc-tile { border: 1px solid var(--tcc-line); border-radius: 22px; padding: 28px; }
.tcc-tile--navy { background: var(--tcc-navy); border-color: var(--tcc-navy); }
.tcc-tile p { margin: 0; }
.tcc-tile--navy .tcc-eyebrow { color: var(--tcc-peach); }
.tcc-tile--navy .tcc-price { color: #fff; }
.tcc-tile--navy .tcc-price small { color: var(--tcc-mist); }
.tcc-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.tcc-table th, .tcc-table td { padding: 14px 16px; border-bottom: 1px solid var(--tcc-line); text-align: left; }
.tcc-table th { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.tcc-table td:first-child { font-weight: 700; color: var(--tcc-navy); }
/* Prices and figures stay on one line; the label column wraps instead (narrow phones split "$49" into "$4 / 9"). */
.tcc-table td + td { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
@media (max-width: 600px) { .tcc-table th, .tcc-table td { padding: 12px 10px; } }

/* Waitlist form (Brevo) */
.tcc-waitlist { display: flex; flex-direction: column; gap: 16px; background: #fff; color: var(--wp--preset--color--ink); border-radius: 28px; padding: clamp(24px, 4vw, 36px); box-shadow: 0 24px 56px -20px rgba(0, 0, 0, .5); }
.tcc-waitlist__title { margin: -6px 0 0; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 38px; line-height: 1; text-transform: uppercase; color: var(--tcc-navy); }
.tcc-waitlist p { margin: 0; }
.tcc-waitlist form { display: flex; flex-direction: column; gap: 12px; }
.tcc-waitlist label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; color: var(--tcc-navy); }
.tcc-waitlist label span { font-weight: 500; color: var(--wp--preset--color--muted); }
.tcc-waitlist .tcc-field-row { display: flex; flex-wrap: wrap; gap: 12px; }
.tcc-waitlist .tcc-field-row > * { flex: 1 1 140px; min-width: 0; }
.tcc-waitlist :where(input[type=text], input[type=email], select, textarea) { width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; color: var(--tcc-navy); background: #fff; border: 1.5px solid #D6D3CA; border-radius: 12px; padding: 12px 14px; }
.tcc-waitlist textarea { resize: vertical; }
.tcc-waitlist button[type=submit] { margin-top: 4px; border: 0; cursor: pointer; background: var(--tcc-orange); color: #fff; font: inherit; font-weight: 700; font-size: 17px; padding: 17px 24px; border-radius: 999px; }
.tcc-waitlist button[type=submit]:hover { background: var(--wp--preset--color--orange-dark); }
.tcc-waitlist .tcc-fine { font-size: 12px; line-height: 1.5; color: var(--wp--preset--color--muted); }
.tcc-waitlist .input--hidden { display: none !important; }
.tcc-waitlist .entry__error { display: none; color: #8A1C1C; font-size: 13px; font-weight: 600; }
.tcc-waitlist .entry__error:not(:empty) { display: block; }
.tcc-waitlist .sib-form-message-panel { display: none; padding: 14px 16px; border-radius: 14px; font-weight: 600; font-size: 15px; }
.tcc-waitlist .sib-form-message-panel--active { display: block; }
.tcc-waitlist #success-message { background: #E7FAF0; color: #085229; }
.tcc-waitlist #error-message { background: #FFEDED; color: #661D1D; }
.tcc-waitlist .sib-hide-loader-icon { display: none; }
.tcc-waitlist .sib-loader { margin-top: 4px; padding: 17px 0; font-weight: 700; font-size: 17px; color: var(--tcc-navy); }
.tcc-waitlist .g-recaptcha { min-height: 78px; }

/* CTA band, footer */
.tcc-cta-band { gap: 28px; }
.tcc-cta-band h2 { flex: 1 1 560px; margin: 0; font-size: clamp(34px, 4.2vw, 52px); }
.tcc-footer { background: var(--tcc-navy); color: var(--tcc-mist); font-size: 15px; }
.tcc-footer a { color: #fff; text-decoration: none; }
.tcc-footer a:hover { color: var(--tcc-peach); }
.tcc-footer .tcc-eyebrow { color: var(--tcc-peach); font-size: 12px; margin-bottom: 4px; }
.tcc-footer__cols { gap: 48px 64px; }
.tcc-footer__col p { margin: 0 0 12px; }
/* Bottom padding keeps the last line clear of the floating Chat and back-to-top buttons. */
.tcc-footer__base { margin-top: 64px; padding-top: 24px; padding-bottom: 40px; border-top: 1px solid #1B2878; font-size: 14px; justify-content: space-between; }
.tcc-footer__base p { margin: 0; }
/* The floating reCAPTCHA badge covers buttons on phones; Google allows hiding it when this notice is shown instead. */
.grecaptcha-badge { visibility: hidden; }
.tcc-footer__base .tcc-footer__legal { flex-basis: 100%; font-size: 12px; opacity: .7; }
.tcc-footer__legal a { color: inherit; }
.tcc-footer img { height: 64px; width: auto !important; max-width: none; aspect-ratio: 720 / 283; }

/* ---------- WooCommerce ---------- */
.woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: 14px; color: var(--wp--preset--color--muted); }
.wc-block-components-product-price, .woocommerce-Price-amount { color: var(--tcc-navy); font-weight: 700; font-variant-numeric: tabular-nums; }
.wc-block-components-product-price del, .price del { color: var(--wp--preset--color--muted); font-weight: 400; }
.woocommerce-price-suffix { font-size: 13px; font-weight: 500; color: var(--wp--preset--color--muted); }
:where(.wc-block-components-button:not(.is-link), .single_add_to_cart_button, .woocommerce a.button, .woocommerce button.button, .wp-block-button.wc-block-components-product-button .wp-block-button__link, .checkout-button) {
	background: var(--tcc-orange) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-family: var(--wp--preset--font-family--body) !important; font-weight: 700 !important; padding: 14px 26px !important; }
:where(.wc-block-components-button:not(.is-link), .single_add_to_cart_button, .woocommerce a.button, .woocommerce button.button):hover { background: var(--wp--preset--color--orange-dark) !important; }
.tcc-shop .wc-block-product { border: 1px solid var(--tcc-line); border-radius: 24px; padding: 12px 12px 20px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.tcc-shop .wc-block-product:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -12px rgba(4, 13, 75, .22); }
.tcc-shop .wc-block-product img { border-radius: 16px; }
.tcc-shop .wc-block-product .wp-block-post-title { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 22px !important; text-transform: uppercase; }
.tcc-shop .wc-block-product .wp-block-post-title a { text-decoration: none; color: var(--tcc-navy); }
.tcc-product-summary .wp-block-post-title { font-size: clamp(34px, 4vw, 52px); }
.tcc-product-summary .wc-block-components-product-price { font-size: 32px; }
.tcc-product-summary .quantity { display: none !important; }
.tcc-product .woocommerce-product-gallery img, .tcc-product .wc-block-components-product-image img { border-radius: 24px; }
.woocommerce-tabs ul.tabs, .wc-tabs { display: none !important; }
.woocommerce-tabs .panel h2:first-child { display: none; }
.wc-block-components-notice-banner { border-radius: 14px; }

@media (prefers-reduced-motion: reduce) {
	.tcc-lift, .wp-block-button__link, .tcc-shop .wc-block-product { transition: none; }
	.tcc-lift:hover, .tcc-shop .wc-block-product:hover { transform: none; }
}

/* Card bodies and the finder grid */
.tcc-card__body { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; padding: 20px 12px 12px; }
.tcc-card__body > * { margin: 0 !important; }
.tcc-card__body h3 { font-size: 24px; line-height: 1.15; }
.tcc-card__body .tcc-meta-row { margin-top: auto !important; padding-top: 14px; }
.tcc-card__body .tcc-more { font-size: 15px; color: var(--tcc-orange); }
.tcc-card__body--roomy { padding: 28px 20px 16px; gap: 10px; }
.tcc-card__body--roomy h3 { font-size: 36px; }
.tcc-stack { gap: 24px; }
.tcc-stack > * { flex: 1 1 auto; }
.tcc-finder { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px 56px; background: var(--tcc-navy); }
.tcc-finder h2 { margin: 0 0 12px; font-size: clamp(34px, 4vw, 48px); }
.tcc-finder > div > p { margin: 0 0 28px; }
@media (max-width: 860px) { .tcc-finder { grid-template-columns: 1fr; } }
.tcc-bundle-strip { gap: 20px 40px; margin-top: 28px !important; padding: 32px 36px; border-radius: 24px; background: var(--wp--preset--color--sand); }
.tcc-bundle-strip h3 { margin: 6px 0 0; }
.tcc-bundle-strip p { margin: 6px 0 0; }
.tcc-split { gap: 48px 72px; align-items: center !important; }

/* Collapse the menu to the burger below 1240px, where the full menu and logo no longer fit on one line. */
.tcc-header .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1239px) {
	.tcc-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.tcc-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.tcc-finder__rec .tcc-price, .tcc-dark .tcc-card:not(.tcc-card--navy) .tcc-price { color: var(--tcc-navy); }
.tcc-dark .tcc-card:not(.tcc-card--navy) { color: var(--wp--preset--color--ink); }
.tcc-dark .tcc-card:not(.tcc-card--navy) :where(h2, h3) { color: var(--tcc-navy); }
.tcc-dark .tcc-card:not(.tcc-card--navy) .tcc-ticks { color: var(--tcc-navy); }
:where(h1, h2, h3, h4) a { text-decoration: none; }
.tcc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tcc-tile .tcc-price small { display: block; margin-top: 4px; }
.wp-site-blocks > *, .wp-block-post-content > .alignfull { margin-block-start: 0; }
.tcc-dark .tcc-card:not(.tcc-card--navy) .tcc-eyebrow, .tcc-dark .tcc-waitlist .tcc-eyebrow { color: var(--tcc-orange); }
.tcc-dark .tcc-card:not(.tcc-card--navy) .tcc-small { color: var(--wp--preset--color--muted); }
/* Let card grids fill the row instead of leaving empty columns. */
.wp-block-group.tcc-cards.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
.tcc-header .wc-block-mini-cart__button { color: var(--tcc-navy); padding: 6px; }
.tcc-badge-orange strong { font-size: 32px; }

/* Career and research lists */
.tcc-timeline-list { list-style: none; margin: 24px 0 0; padding: 0; border-left: 2px solid var(--tcc-line); }
.tcc-timeline-list li { position: relative; display: grid; grid-template-columns: 110px 1fr; gap: 4px 20px; padding: 0 0 22px 24px; }
.tcc-timeline-list li::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 999px; background: var(--tcc-orange); }
.tcc-tl__when { font-weight: 700; font-size: 14px; color: var(--wp--preset--color--muted); font-variant-numeric: tabular-nums; }
.tcc-tl__what strong { display: block; color: var(--tcc-navy); }
.tcc-timeline-list--research .tcc-tl__what { display: flex; flex-direction: column-reverse; }
.tcc-timeline-list--research .tcc-tl__what strong { font-weight: 600; }
.tcc-timeline-list--research .tcc-tl__what { font-size: 14px; color: var(--wp--preset--color--muted); }
@media (max-width: 600px) { .tcc-timeline-list li { grid-template-columns: 1fr; } }
.tcc-timeline-list--research .tcc-tl__what { font-size: 16px; color: var(--tcc-navy); }
.tcc-timeline-list--research .tcc-tl__what strong { margin-top: 4px; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--muted); }
.tcc-card .wp-block-list + .tcc-eyebrow { margin-top: 28px !important; }

/* Attendee quotes */
.tcc-card-quote { margin: 4px 0 0 !important; padding: 12px 14px; border-left: 3px solid var(--tcc-orange); border-radius: 0 12px 12px 0; background: var(--wp--preset--color--sand); font-size: 14px; font-style: italic; line-height: 1.5; color: var(--wp--preset--color--ink); }
.tcc-card-quote span { display: block; margin-top: 6px; font-style: normal; font-weight: 600; font-size: 12px; color: var(--wp--preset--color--muted); }
.tcc-quote-row { margin-top: 28px !important; }
.tcc-quote-row .wp-block-quote.tcc-quote { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px 32px; padding: 28px 36px; }
.tcc-quote-row .wp-block-quote.tcc-quote::before { line-height: .8; }
.tcc-quote-row .wp-block-quote.tcc-quote p { flex: 1 1 420px; font-size: 18px; }
.tcc-quote-row .wp-block-quote.tcc-quote cite { margin-top: 0; }
.tcc-cards > .wp-block-quote.tcc-quote { margin: 0; }

/* Logo wall (swap each name for the organisation's logo) */
.tcc-logo-wall { gap: 16px; margin-top: 32px !important; }
.tcc-logo-tile { display: flex; align-items: center; justify-content: center; min-height: 120px; padding: 20px; border: 1px solid var(--tcc-line); border-radius: 20px; background: #fff; text-align: center; }
.tcc-logo-tile p { margin: 0; font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: 18px; letter-spacing: .03em; text-transform: uppercase; color: #6B7090; }
.tcc-logo-tile img { max-height: 72px; width: auto; filter: grayscale(1); opacity: .8; transition: filter .2s ease, opacity .2s ease; }
.tcc-logo-tile:hover img { filter: none; opacity: 1; }

/* conditiond section: conditiond's own palette (slate #020617, lime #84CC16) */
.tcc-cd { padding: clamp(28px, 5vw, 56px); border: 2px solid #84CC16; border-radius: 32px; background: #fff; box-shadow: 0 24px 56px -28px rgba(132, 204, 22, .55); color: #334155; }
.tcc-cd h3 { margin: 8px 0 0; font-family: Inter, var(--wp--preset--font-family--body); font-weight: 800; font-size: clamp(26px, 3vw, 34px); letter-spacing: -.02em; text-transform: none; color: #020617; }
.tcc-cd .tcc-lead { color: #334155; }
.tcc-cd-mark { width: 56px; height: 56px; display: block; }
.tcc-cd-eyebrow { margin-top: 20px !important; color: #4D7C0F !important; }
.tcc-cd-wordmark { margin: 0 !important; font-family: Inter, var(--wp--preset--font-family--body); font-weight: 800; font-size: clamp(44px, 6vw, 72px); line-height: 1; letter-spacing: -.02em; color: #020617; }
.tcc-cd-wordmark span { color: #84CC16; }
.wp-block-button.tcc-btn-lime .wp-block-button__link { background: #84CC16; color: #020617; }
.wp-block-button.tcc-btn-lime .wp-block-button__link:hover { background: #65A30D; color: #020617; }
.tcc-ticks--lime { color: #020617; }
.tcc-ticks--lime li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365A30D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }

/* ---------- 30 Oct fixes ---------- */
/* The old site's Additional CSS sets p { color: #000; font-size: 15px; line-height: 2 }. Neutralise it so
   paragraphs follow the theme (class-based styles still win). */
body p { color: inherit; font-size: inherit; line-height: inherit; }
.tcc-dark .tcc-card:not(.tcc-card--navy) p:not(.tcc-eyebrow):not(.tcc-small), .tcc-finder__rec p:not(.tcc-eyebrow) { color: var(--wp--preset--color--ink); }
.tcc-finder__rec .tcc-finder__title { color: var(--tcc-navy); }

/* A little more air under headings. */
:where(.wp-site-blocks) :where(h1, h2) + * { margin-block-start: 28px; }
:where(.wp-site-blocks) h3 + * { margin-block-start: 14px; }
.tcc-card h3 + p, .tcc-card__body h3 + p { margin-top: 12px !important; }
.tcc-eyebrow + :where(h1, h2, h3) { margin-block-start: 0; }

/* Grids that must stay symmetrical */
@media (min-width: 1000px) {
	.wp-block-group.tcc-cards--4.is-layout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.wp-block-group.tcc-cards--3.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 640px) and (max-width: 999px) {
	.wp-block-group.tcc-cards--4.is-layout-grid, .wp-block-group.tcc-cards--3.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Home: education reach */
.tcc-stats-row { gap: 24px 48px; }
.tcc-stats__head { flex: 0 1 320px; }
.tcc-stats__head h3 { margin: 0; }
.tcc-stats { flex: 1 1 640px; gap: 16px 32px; }
.tcc-stats p { margin: 0; font-size: 14px; line-height: 1.4; color: var(--wp--preset--color--muted); }
.tcc-stats strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: clamp(34px, 4vw, 48px); line-height: 1.05; color: var(--tcc-navy); }

/* Consultancy calculator */
.tcc-calc { display: flex; flex-direction: column; gap: 18px; padding: clamp(24px, 4vw, 36px); border-radius: 28px; background: #fff; box-shadow: var(--tcc-shadow); }
.tcc-calc .tcc-eyebrow { margin: 0; }
.tcc-calc__who { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.tcc-calc__who button { font: inherit; font-weight: 600; font-size: 15px; padding: 12px 14px; border-radius: 14px; border: 2px solid var(--tcc-line); background: #fff; color: var(--tcc-navy); cursor: pointer; }
.tcc-calc__who button:hover { border-color: var(--tcc-orange); }
.tcc-calc__who button[aria-pressed="true"] { border-color: var(--tcc-navy); background: var(--tcc-navy); color: #fff; }
.tcc-calc__range { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-weight: 600; font-size: 15px; color: var(--tcc-navy); }
.tcc-calc__range output { font-family: var(--wp--preset--font-family--display); font-size: 26px; color: var(--tcc-orange); }
.tcc-calc__range input { flex: 1 1 100%; accent-color: var(--tcc-orange); }
.tcc-calc__result p, .tcc-calc__org p { margin: 0; }
.tcc-calc__result p:first-child { font-weight: 600; color: var(--tcc-navy); }
.tcc-calc__result [data-calc-total] { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 34px; }
.tcc-calc--compact .tcc-calc__result [data-calc-total] { font-size: 26px; }
.tcc-calc .wp-block-button__link { align-self: flex-start; }
.tcc-calc [hidden] { display: none !important; }
.tcc-details { margin-top: 20px; }
.tcc-details summary { cursor: pointer; font-weight: 700; color: var(--tcc-navy); }
.tcc-details .tcc-table { margin-top: 12px; background: #fff; border-radius: 16px; }

/* Mentorship: interactive topics */
.tcc-topics { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 32px 48px; margin-top: 40px !important; }
@media (max-width: 860px) { .tcc-topics { grid-template-columns: 1fr; } }
.tcc-topics__options { display: flex; flex-direction: column; gap: 8px; }
.tcc-topics__options button { display: flex; align-items: center; justify-content: space-between; gap: 12px; font: inherit; text-align: left; font-weight: 600; font-size: 15px; padding: 13px 16px; border-radius: 14px; border: 2px solid var(--tcc-line); background: #fff; color: var(--tcc-navy); cursor: pointer; }
.tcc-topics__options button:hover { border-color: var(--tcc-orange); }
.tcc-topics__options button em { flex: 0 0 auto; font-style: normal; font-weight: 700; font-size: 13px; min-width: 28px; text-align: center; padding: 3px 8px; border-radius: 999px; background: var(--wp--preset--color--blush); color: var(--tcc-orange); }
.tcc-topics__options button[aria-pressed="true"] { background: var(--tcc-navy); border-color: var(--tcc-navy); color: #fff; }
.tcc-topics__options button[aria-pressed="true"] em { background: var(--tcc-orange); color: #fff; }
.tcc-topics__panel { padding: clamp(24px, 4vw, 36px); border-radius: 28px; background: var(--tcc-navy); color: var(--tcc-mist); }
.tcc-topics__panel .tcc-eyebrow { color: var(--tcc-peach); margin: 0; }
.tcc-topics__title { margin: 8px 0 20px !important; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: clamp(26px, 3vw, 36px); line-height: 1.08; text-transform: uppercase; color: #fff !important; }
.tcc-topics__asks { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.tcc-ask { margin: 0; padding: 16px 18px; border-radius: 16px; background: var(--wp--preset--color--navy-2); border: 1px solid #1B2878; }
.tcc-ask blockquote { margin: 0; font-size: 15px; line-height: 1.5; color: #fff; }
.tcc-ask figcaption { margin-top: 10px; font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--tcc-peach); }
.tcc-topics [hidden] { display: none !important; }

/* Consultancy: problems list, steps */
.tcc-problems { list-style: none; counter-reset: p; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 12px 32px; }
.tcc-problems li { counter-increment: p; display: grid; grid-template-columns: 52px 1fr; gap: 2px 12px; padding: 16px 0; border-bottom: 1px solid var(--tcc-line); }
.tcc-problems li::before { content: counter(p, decimal-leading-zero); grid-row: span 2; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 30px; line-height: 1; color: var(--tcc-orange); }
.tcc-problems strong { color: var(--tcc-navy); }
.tcc-problems span { font-size: 15px; color: var(--wp--preset--color--muted); }
.tcc-step { margin: 0 !important; font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 40px; line-height: 1; color: var(--tcc-orange); }

/* CTA band sub-line */
.tcc-cta-sub { margin: 14px 0 0 !important; font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: clamp(22px, 2.4vw, 30px); text-transform: uppercase; color: var(--tcc-navy); }
.tcc-cta-band > .wp-block-group { flex: 1 1 560px; }

/* ---------- 30 Oct, round 3 ---------- */
/* White and light cards get a clear border so they don't fade into the page. */
.tcc-card:not(.tcc-card--navy):not(.tcc-card--tight), .tcc-card--line, .tcc-tile { border: 1.5px solid rgba(4, 13, 75, .16); }
.tcc-card--line.tcc-card--tight { border: 1.5px solid rgba(4, 13, 75, .16); }
.tcc-card--sand { border: 1.5px solid rgba(4, 13, 75, .12); }
.tcc-sand .tcc-card--sand { background: #fff; border-color: rgba(4, 13, 75, .16); }
.tcc-card:not(.tcc-card--navy):hover { border-color: rgba(4, 13, 75, .28); }

/* Intake timeline: months and bar labels that read clearly. */
.tcc-timeline { background: #fff; border: 1.5px solid rgba(4, 13, 75, .16); }
.tcc-timeline__track span:not(.tcc-timeline__bar) { font-weight: 800; font-size: 14px; color: var(--tcc-navy); }
.tcc-timeline__label { color: var(--tcc-navy); }
.tcc-timeline__track .tcc-timeline__bar { color: #fff; font-size: 14px; }

/* Photos in the page headers */
.tcc-hero-photo--wide img { aspect-ratio: auto; border-radius: 24px; box-shadow: 0 24px 56px -24px rgba(0, 0, 0, .6); }
.tcc-hero-photo .wp-block-image { margin: 0; }

/* Programs: the problem list above the conditiond card */
.tcc-intro-list { max-width: 52em; margin-top: 24px !important; margin-bottom: 40px !important; }

/* Phones: smaller badges so they don't cover the photo's subject. */
@media (max-width: 600px) {
	.tcc-badge-stat, .tcc-badge-orange { padding: 10px 14px; font-size: 12px; }
	.tcc-badge-stat strong, .tcc-badge-orange strong { font-size: 26px; }
}

/* Landscape header photos: badges sit in a row under the photo, not over it. */
.tcc-hero-photo--wide { display: flex; flex-wrap: wrap; gap: 12px; }
.tcc-hero-photo--wide > .wp-block-image { flex: 1 1 100%; }
.tcc-hero-photo--wide .tcc-badge-stat, .tcc-hero-photo--wide .tcc-badge-orange { position: static; flex: 0 1 auto; box-shadow: none; }

/* Contact Form 7 (the contact page form) in the TCC style */
.tcc-form-card .wpcf7 form { display: flex; flex-direction: column; gap: 14px; }
.tcc-form-card .wpcf7 p { margin: 0; }
.tcc-form-card .wpcf7 label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; color: var(--tcc-navy); }
.tcc-form-card .wpcf7-form-control-wrap { display: block; }
.tcc-form-card .wpcf7 :where(input[type=text], input[type=email], input[type=tel], textarea, select) { width: 100% !important; box-sizing: border-box; font: inherit; font-size: 16px; color: var(--tcc-navy); background: #fff; border: 1.5px solid #D6D3CA; border-radius: 12px; padding: 12px 14px; }
.tcc-form-card .wpcf7 textarea { min-height: 140px; resize: vertical; }
.tcc-form-card .wpcf7 input[type=submit] { align-self: flex-start; border: 0; cursor: pointer; background: var(--tcc-orange); color: #fff; font: inherit; font-weight: 700; font-size: 17px; padding: 16px 28px; border-radius: 999px; }
.tcc-form-card .wpcf7 input[type=submit]:hover { background: var(--wp--preset--color--orange-dark); }
.tcc-form-card .wpcf7-not-valid-tip { font-size: 13px; color: #8A1C1C; }
.tcc-form-card .wpcf7-response-output { margin: 8px 0 0 !important; border-radius: 12px; padding: 12px 14px !important; }

/* Blog list on a designed page */
.tcc-section .wp-block-query .wp-block-post-template { gap: 24px; }
.tcc-section .wp-block-query .wp-block-post-title { font-size: 24px; }
.tcc-section .wp-block-query .wp-block-post-excerpt__more-link { font-weight: 700; }

/* conditiond links in conditiond green (darker on light grounds, lime on navy) */
a.tcc-cd-link { color: #4D7C0F; }
a.tcc-cd-link:hover { color: #3F6212; }
.tcc-dark a.tcc-cd-link, .tcc-footer a.tcc-cd-link { color: #84CC16; }
.tcc-footer a.tcc-cd-link:hover { color: #A3E635; }

/* Footer: room between the logo and the line under it */
.tcc-footer .tcc-footer__col .wp-block-image { margin-bottom: 22px; }

/* About: the intro above the conditiond card */
.tcc-intro-lead { max-width: 44em; margin-bottom: 40px !important; }

/* Photo inside the framed square (home About section) */
.tcc-photo-frame .wp-block-image { margin: 0; }

/* MAS Blueprint product pages: the "What's inside" block in the product description (WooCommerce strips <style> from descriptions) */
.tcc-whats-inside { padding: 10px 0; }
.tcc-whats-inside h2 { margin-bottom: .4rem; font-size: 1.8rem; text-transform: uppercase; color: var(--tcc-navy); }
.tcc-whats-inside .tcc-section-sub { max-width: 620px; margin-bottom: 2rem; color: #444; }
.tcc-feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.2rem; margin-bottom: 2rem; }
.tcc-feature-card { padding: 1.4rem 1.4rem 1.2rem; background: #f5f7fb; border: 1px solid #e0e6f0; border-top: 4px solid var(--tcc-navy); border-radius: 6px; }
.tcc-feature-card.highlight { background: #fff8f5; border-top-color: var(--tcc-orange); }
.tcc-feature-icon { display: block; margin-bottom: .6rem; font-size: 1.6rem; }
.tcc-feature-card h3 { margin-bottom: .4rem; font-size: 1rem; color: var(--tcc-navy); }
.tcc-feature-card.highlight h3 { color: var(--tcc-orange); }
.tcc-feature-card p { margin: 0 0 .8rem; font-size: .84rem; line-height: 1.6; color: #555; }
.tcc-feature-tag { display: inline-block; padding: 3px 10px; border-radius: 20px; background: #e8edf7; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--tcc-navy); }
.tcc-feature-card.highlight .tcc-feature-tag { background: #fde8d8; color: #c04e10; }
.tcc-session-table { width: 100%; margin-top: 1rem; border-collapse: collapse; font-size: .82rem; }
.tcc-session-table th { padding: 8px 10px; background: var(--tcc-navy); font-weight: 600; text-align: left; color: #fff; }
.tcc-session-table td { padding: 7px 10px; border-bottom: 1px solid #e0e6f0; color: #333; }
.tcc-session-table tr:nth-child(even) td { background: #f5f7fb; }
.tcc-tier-row { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; }
.tcc-tier { flex: 1; min-width: 120px; padding: .7rem; border-radius: 5px; text-align: center; }
.tcc-tier.gold { background: #fff8e1; border: 1px solid #f0c040; }
.tcc-tier.mod { background: #e8f5e9; border: 1px solid #81c784; }
.tcc-tier.easy { background: #e3f2fd; border: 1px solid #64b5f6; }
.tcc-tier .tier-label { display: block; margin-bottom: 3px; font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.tcc-tier.gold .tier-label { color: #b8860b; }
.tcc-tier.mod .tier-label { color: #2e7d32; }
.tcc-tier.easy .tier-label { color: #1565c0; }
.tcc-tier .tier-desc { font-size: .75rem; line-height: 1.4; color: #555; }
.tcc-divider { margin: 2rem 0; border: none; border-top: 2px solid #e0e6f0; }
.tcc-output-modes { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: .8rem; }
.tcc-mode-pill { padding: 6px 16px; border: 2px solid var(--tcc-navy); border-radius: 20px; font-size: .8rem; font-weight: 700; color: var(--tcc-navy); }
.tcc-zone-list { margin: .8rem 0 0; padding: 0; list-style: none; }
.tcc-zone-list li { display: flex; align-items: center; gap: .6rem; padding: 5px 0; border-bottom: 1px solid #eee; font-size: .82rem; color: #333; }
.tcc-zone-list li:last-child { border-bottom: none; }
.tcc-zone-dot { flex-shrink: 0; width: 10px; height: 10px; border-radius: 50%; }
@media (max-width: 640px) { .tcc-feature-grid { grid-template-columns: 1fr; } .tcc-tier-row { flex-direction: column; } }

/* My account: the account menu as pill tabs */
.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation a { display: inline-block; padding: 10px 18px; border: 1px solid var(--tcc-mist); border-radius: 999px; font-weight: 600; text-decoration: none; color: var(--tcc-navy); }
.woocommerce-MyAccount-navigation a:hover { border-color: var(--tcc-navy); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--tcc-navy); border-color: var(--tcc-navy); color: #fff; }

/* Shop filter buttons, above the product grid; the current section is filled. */
.tcc-shop-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 36px; }
.tcc-shop-filter__item { padding: 10px 20px; border: 1.5px solid rgba(4, 13, 75, .2); border-radius: 999px; background: #fff; font-size: 15px; font-weight: 600; line-height: 1.2; color: var(--tcc-navy); text-decoration: none; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.tcc-shop-filter__item:hover, .tcc-shop-filter__item:focus-visible { border-color: var(--tcc-navy); }
.tcc-shop-filter__item.is-active { border-color: var(--tcc-navy); background: var(--tcc-navy); color: #fff; }
@media (max-width: 600px) { .tcc-shop-filter__item { padding: 9px 16px; font-size: 14px; } }

/* ---------- Print: blog posts print (or save as PDF) as a clean article ---------- */
/* On screen: the post's "Print or save as PDF" button ([tcc_print] in single.html); the brand and source lines are paper-only. */
.tcc-print-only { display: none; }
.tcc-print-btn-wrap { margin: 0; }
.tcc-print-btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border: 1px solid var(--tcc-line); border-radius: 999px; background: #fff; color: var(--tcc-navy); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.tcc-print-btn:hover { border-color: var(--tcc-navy); }

@media print {
	@page { size: A4; margin: 16mm 16mm 18mm; }
	html, body { background: #fff !important; }
	body { color: #111; font-size: 11pt; line-height: 1.5; }

	/* Site furniture stays on screen: menu, footer, popups, chat, admin bar, the print button itself. */
	.wp-site-blocks > header.wp-block-template-part, .wp-site-blocks > footer.wp-block-template-part, footer.wp-block-template-part,
	#tcc-rp, #brevo-conversations, .trx_addons_scroll_to_top, .grecaptcha-badge, #wpadminbar, .tcc-print-btn-wrap { display: none !important; }
	html { margin-top: 0 !important; }
	.tcc-print-only { display: block !important; }

	/* The article fills the printable width; no section padding or tinted backgrounds. */
	main.tcc-section { padding: 0 !important; margin: 0 !important; background: #fff !important; }
	main.tcc-section > *, .wp-block-post-content > * { max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }

	.tcc-print-brand { display: flex !important; align-items: center; justify-content: space-between; padding-bottom: 6mm; margin-bottom: 8mm !important; border-bottom: 1px solid #ccc; }
	.tcc-print-brand img { width: 46mm; height: auto; }
	.tcc-print-brand span { font-size: 9pt; color: #555; }
	.tcc-print-source { margin-top: 4mm !important; padding-top: 3mm; break-before: avoid; border-top: 1px solid #ccc; font-size: 9pt; color: #555; }

	h1.wp-block-post-title { font-size: 26pt; line-height: 1.05; margin: 2mm 0 6mm; }
	.wp-block-post-content h2 { font-size: 17pt; line-height: 1.1; margin-top: 8mm; }
	.wp-block-post-content h3 { font-size: 13pt; }
	h1, h2, h3, h4 { break-after: avoid; page-break-after: avoid; }
	p, li { orphans: 3; widows: 3; }
	.wp-block-post-featured-image { margin-bottom: 6mm !important; }
	.wp-block-post-featured-image img { max-height: 120mm; width: 100%; object-fit: cover; }
	img { max-width: 100% !important; height: auto; }
	figure, table, tr, blockquote, .tcc-card { break-inside: avoid; page-break-inside: avoid; }
	figcaption { font-size: 9pt; color: #555; }
	.wp-block-table { overflow: visible !important; }
	.wp-block-table table { font-size: 9.5pt; }
	.wp-block-post-content .tcc-card { box-shadow: none !important; border: 1px solid #ccc !important; background: #fff !important; padding: 4mm 6mm !important; }

	/* Paper can't click: print each outside link's address after its text. */
	.wp-block-post-content a { color: inherit; text-decoration: underline; }
	.wp-block-post-content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8.5pt; color: #555; word-break: break-all; }
}

/* ---------- Card art: per-product motifs (generated by build/product_images.py --css; do not edit) ---------- */
.tcc-art--flags { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cline x1='40' y1='170' x2='272' y2='170' stroke='%235C6AB0' stroke-width='3'/%3E%3Ccircle cx='40' cy='170' r='7' fill='%23F2914F'/%3E%3Cline x1='100' y1='170' x2='100' y2='136' stroke='%23C8500A' stroke-width='3.5'/%3E%3Cpath d='M100 136 l24 9 l-24 9 z' fill='%23C8500A'/%3E%3Cline x1='150' y1='170' x2='150' y2='116' stroke='%23C8500A' stroke-width='3.5'/%3E%3Cpath d='M150 116 l24 9 l-24 9 z' fill='%23C8500A'/%3E%3Cline x1='200' y1='170' x2='200' y2='94' stroke='%23C8500A' stroke-width='3.5'/%3E%3Cpath d='M200 94 l24 9 l-24 9 z' fill='%23C8500A'/%3E%3Cline x1='250' y1='170' x2='250' y2='70' stroke='%23F2914F' stroke-width='3.5'/%3E%3Cpath d='M250 70 l24 9 l-24 9 z' fill='%23F2914F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--sheet { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Crect x='112' y='42' width='28' height='22' rx='3' fill='%232A3A8F' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='144' y='42' width='28' height='22' rx='3' fill='%232A3A8F' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='176' y='42' width='28' height='22' rx='3' fill='%232A3A8F' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='208' y='42' width='28' height='22' rx='3' fill='%232A3A8F' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='240' y='42' width='28' height='22' rx='3' fill='%232A3A8F' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='112' y='68' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='144' y='68' width='28' height='22' rx='3' fill='%23C8500A' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='176' y='68' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='208' y='68' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='240' y='68' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='112' y='94' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='144' y='94' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='176' y='94' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='208' y='94' width='28' height='22' rx='3' fill='%23C8500A' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='240' y='94' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='112' y='120' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='144' y='120' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='176' y='120' width='28' height='22' rx='3' fill='%23F2914F' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='208' y='120' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='240' y='120' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='112' y='146' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='144' y='146' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='176' y='146' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='208' y='146' width='28' height='22' rx='3' fill='none' stroke='%235C6AB0' stroke-width='1.5'/%3E%3Crect x='240' y='146' width='28' height='22' rx='3' fill='%23C8500A' stroke='%235C6AB0' stroke-width='1.5'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--zones { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Crect x='202' y='58' width='70' height='18' rx='4' fill='%232A3A8F'/%3E%3Crect x='172' y='82' width='100' height='18' rx='4' fill='%233B4CA8'/%3E%3Crect x='142' y='106' width='130' height='18' rx='4' fill='%235C6AB0'/%3E%3Crect x='112' y='130' width='160' height='18' rx='4' fill='%23F2914F'/%3E%3Crect x='82' y='154' width='190' height='18' rx='4' fill='%23C8500A'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--zones-doc { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cg transform='translate(-60 0)'%3E%3Crect x='202' y='58' width='70' height='18' rx='4' fill='%232A3A8F'/%3E%3Crect x='172' y='82' width='100' height='18' rx='4' fill='%233B4CA8'/%3E%3Crect x='142' y='106' width='130' height='18' rx='4' fill='%235C6AB0'/%3E%3Crect x='112' y='130' width='160' height='18' rx='4' fill='%23F2914F'/%3E%3Crect x='82' y='154' width='190' height='18' rx='4' fill='%23C8500A'/%3E%3C/g%3E%3Crect x='214' y='30' width='60' height='80' rx='6' fill='%23ECEAE3'/%3E%3Crect x='224' y='44' width='40' height='5' rx='2' fill='%232A3A8F'/%3E%3Crect x='224' y='56' width='28' height='5' rx='2' fill='%232A3A8F'/%3E%3Crect x='224' y='68' width='40' height='5' rx='2' fill='%232A3A8F'/%3E%3Crect x='224' y='80' width='28' height='5' rx='2' fill='%232A3A8F'/%3E%3Crect x='224' y='92' width='40' height='5' rx='2' fill='%232A3A8F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--zones-two { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cg transform='translate(0 20)'%3E%3Crect x='202' y='58' width='70' height='18' rx='4' fill='%232A3A8F'/%3E%3Crect x='172' y='82' width='100' height='18' rx='4' fill='%233B4CA8'/%3E%3Crect x='142' y='106' width='130' height='18' rx='4' fill='%235C6AB0'/%3E%3Crect x='112' y='130' width='160' height='18' rx='4' fill='%23F2914F'/%3E%3Crect x='82' y='154' width='190' height='18' rx='4' fill='%23C8500A'/%3E%3C/g%3E%3Ccircle cx='214' cy='34' r='11' fill='%23F2914F'/%3E%3Cpath d='M196 66 a18 16 0 0 1 36 0 z' fill='%23F2914F'/%3E%3Ccircle cx='252' cy='34' r='11' fill='%23C8500A'/%3E%3Cpath d='M234 66 a18 16 0 0 1 36 0 z' fill='%23C8500A'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--test { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cpath d='M78 172 L98 118 L118 172 z' fill='%23C8500A'/%3E%3Crect x='72' y='168' width='52' height='8' rx='3' fill='%23F2914F'/%3E%3Cpath d='M232 172 L252 118 L272 172 z' fill='%23C8500A'/%3E%3Crect x='226' y='168' width='52' height='8' rx='3' fill='%23F2914F'/%3E%3Cpath d='M128 112 H222' stroke='%235C6AB0' stroke-width='4' stroke-dasharray='10 7'/%3E%3Cpath d='M226 112 l-14 -8 v16 z' fill='%235C6AB0'/%3E%3Cpath d='M222 80 H128' stroke='%23F2914F' stroke-width='4' stroke-dasharray='10 7'/%3E%3Cpath d='M124 80 l14 -8 v16 z' fill='%23F2914F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--periodisation { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Crect x='86.0' y='144' width='11' height='28' rx='2' fill='%23C8500A'/%3E%3Crect x='101.5' y='128' width='11' height='44' rx='2' fill='%23C8500A'/%3E%3Crect x='117.0' y='112' width='11' height='60' rx='2' fill='%23C8500A'/%3E%3Crect x='132.5' y='150' width='11' height='22' rx='2' fill='%232A3A8F'/%3E%3Crect x='148.0' y='132' width='11' height='40' rx='2' fill='%23C8500A'/%3E%3Crect x='163.5' y='114' width='11' height='58' rx='2' fill='%23C8500A'/%3E%3Crect x='179.0' y='96' width='11' height='76' rx='2' fill='%23C8500A'/%3E%3Crect x='194.5' y='146' width='11' height='26' rx='2' fill='%232A3A8F'/%3E%3Crect x='210.0' y='120' width='11' height='52' rx='2' fill='%23C8500A'/%3E%3Crect x='225.5' y='102' width='11' height='70' rx='2' fill='%23C8500A'/%3E%3Crect x='241.0' y='80' width='11' height='92' rx='2' fill='%23C8500A'/%3E%3Crect x='256.5' y='142' width='11' height='30' rx='2' fill='%232A3A8F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--stack { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Crect x='120' y='110' width='110' height='66' rx='8' fill='%23040D4B' stroke='%23C8500A' stroke-width='3'/%3E%3Crect x='138' y='94' width='110' height='66' rx='8' fill='%23040D4B' stroke='%23C8500A' stroke-width='3'/%3E%3Crect x='156' y='78' width='110' height='66' rx='8' fill='%23040D4B' stroke='%23C8500A' stroke-width='3'/%3E%3Crect x='174' y='62' width='110' height='66' rx='8' fill='%23040D4B' stroke='%23C8500A' stroke-width='3'/%3E%3Crect x='192' y='46' width='110' height='66' rx='8' fill='%23040D4B' stroke='%23F2914F' stroke-width='3'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--field { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Crect x='92' y='46' width='180' height='124' rx='8' fill='none' stroke='%235C6AB0' stroke-width='3'/%3E%3Cline x1='182' y1='46' x2='182' y2='170' stroke='%235C6AB0' stroke-width='2'/%3E%3Ccircle cx='182' cy='108' r='22' fill='none' stroke='%235C6AB0' stroke-width='2'/%3E%3Cpath d='M100 160 C 140 150, 170 70, 214 92 S 252 60, 266 54' fill='none' stroke='%23C8500A' stroke-width='4' stroke-linecap='round'/%3E%3Ccircle cx='266' cy='54' r='6' fill='%23F2914F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--court { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Crect x='112' y='52' width='160' height='118' rx='6' fill='none' stroke='%235C6AB0' stroke-width='3'/%3E%3Cline x1='165' y1='52' x2='165' y2='170' stroke='%235C6AB0' stroke-width='2'/%3E%3Cline x1='219' y1='52' x2='219' y2='170' stroke='%235C6AB0' stroke-width='2'/%3E%3Cpolyline points='124,156 160,72 196,150 232,70 262,148' fill='none' stroke='%23C8500A' stroke-width='4' stroke-linejoin='round' stroke-linecap='round'/%3E%3Ccircle cx='262' cy='148' r='6' fill='%23F2914F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--oval { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Crect x='86' y='58' width='186' height='112' rx='56' fill='none' stroke='%235C6AB0' stroke-width='3'/%3E%3Crect x='104' y='76' width='150' height='76' rx='38' fill='none' stroke='%232A3A8F' stroke-width='2' stroke-dasharray='6 6'/%3E%3Cpath d='M142 58 H216 A56 56 0 0 1 272 114' fill='none' stroke='%23C8500A' stroke-width='5' stroke-linecap='round'/%3E%3Ccircle cx='272' cy='114' r='7' fill='%23F2914F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--route { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Cg transform='translate(-24 0)'%3E%3Cpath d='M70 168 C 120 168, 120 120, 160 120 S 200 160, 230 120 S 250 60, 272 52' fill='none' stroke='%23C8500A' stroke-width='5' stroke-linecap='round'/%3E%3Ccircle cx='96' cy='166' r='4.5' fill='%23F2914F'/%3E%3Ccircle cx='126' cy='148' r='4.5' fill='%23F2914F'/%3E%3Ccircle cx='150' cy='122' r='4.5' fill='%23F2914F'/%3E%3Ccircle cx='178' cy='128' r='4.5' fill='%23F2914F'/%3E%3Ccircle cx='204' cy='146' r='4.5' fill='%23F2914F'/%3E%3Ccircle cx='226' cy='126' r='4.5' fill='%23F2914F'/%3E%3Ccircle cx='240' cy='96' r='4.5' fill='%23F2914F'/%3E%3Ccircle cx='252' cy='72' r='4.5' fill='%23F2914F'/%3E%3Cline x1='272' y1='52' x2='272' y2='20' stroke='%23ECEAE3' stroke-width='3'/%3E%3Cpath d='M272 20 l22 8 l-22 8 z' fill='%23ECEAE3'/%3E%3C/g%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
.tcc-art--chat { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 210' preserveAspectRatio='xMidYMid slice'%3E%3Crect x='102' y='60' width='110' height='62' rx='14' fill='none' stroke='%23C8500A' stroke-width='4'/%3E%3Cpath d='M124 122 l-6 22 l24 -22 z' fill='%23C8500A'/%3E%3Crect x='162' y='104' width='110' height='62' rx='14' fill='%232A3A8F'/%3E%3Cpath d='M248 166 l8 20 l-22 -20 z' fill='%232A3A8F'/%3E%3Ccircle cx='198' cy='135' r='5' fill='%23F2914F'/%3E%3Ccircle cx='217' cy='135' r='5' fill='%23F2914F'/%3E%3Ccircle cx='236' cy='135' r='5' fill='%23F2914F'/%3E%3C/svg%3E"), var(--tcc-grid-sm); background-size: cover, auto; }
/* ---------- end generated card art ---------- */

/* Education FAQ */
.tcc-faq > .wp-block-group { max-width: 820px; margin-inline: auto; }
.tcc-faq .tcc-faq__item { margin: 0; padding: 18px 0; border-bottom: 1px solid var(--tcc-line); }
.tcc-faq .tcc-faq__item:first-of-type { margin-top: 12px; border-top: 1px solid var(--tcc-line); }
.tcc-faq .tcc-faq__item summary { font-size: 18px; line-height: 1.4; }
.tcc-faq .tcc-faq__item p { margin: 12px 0 0; }
