/*
 * TLA homepage v3 · orbital design system (Partner Hub 1.0.367)
 *
 * One identity in two atmospheres. Light (the site default): pearl, silver
 * and powder blue with cyan light. Dark (header switch): midnight navy and
 * indigo with cyan arcs. Champagne gold is kept for the primary action and
 * one orbital arc. Every colour below is a token on .tlh3, so the layout,
 * type and components never change between themes.
 *
 * Background system (reusable on other pages later):
 *   .tla-orb-field     concentric orbital field (hero, final call to action)
 *   .tla-orb-atmos     soft atmospheric gradient (.is-mist for blue-grey)
 *   .tla-orb-corner    rings rising from a corner (.is-left / .is-right)
 *   .tla-orb-halo      soft radial glow behind key content
 *   .tla-orb-editorial quiet surface for reading, forms and lists
 */

/* ── Tokens ────────────────────────────────────────────────────────────── */
.tlh3 {
	--o-bg: #f7f9fc;
	--o-bg-2: #eef3f8;
	--o-mist: #e4f2fa;
	--o-powder: #d6ebf8;
	--o-text: #10233c;
	--o-muted: #43546d;
	--o-soft: #5f6f86;
	--o-line: rgba(16, 35, 60, .10);
	--o-line-2: rgba(16, 35, 60, .16);
	--o-accent: #1662c4;
	--o-cyan: #1f9fbd;
	--o-ring: rgba(31, 128, 176, .16);
	--o-ring-2: rgba(31, 140, 190, .28);
	--o-core: #5ec7d8;
	--o-gold: #b8964f;
	--o-gold-arc: rgba(184, 150, 79, .55);
	--o-panel: rgba(255, 255, 255, .80);
	--o-panel-line: rgba(16, 35, 60, .10);
	--o-card: rgba(255, 255, 255, .86);
	--o-card-hover: #ffffff;
	--o-tab-bg: rgba(16, 35, 60, .05);
	--o-tab-on: #1662c4;
	--o-tab-on-text: #ffffff;
	--o-solid: #1662c4;
	--o-solid-hover: #0f52a8;
	--o-solid-text: #ffffff;
	--o-gold-btn: linear-gradient(135deg, #e0c58b 0%, #c7a96b 52%, #b08d4d 100%);
	--o-gold-btn-hover: linear-gradient(135deg, #e8d09c 0%, #d2b578 52%, #bb9858 100%);
	--o-gold-text: #1d1606;
	--o-shadow: 0 1px 2px rgba(16, 35, 60, .06), 0 14px 34px -14px rgba(16, 35, 60, .22);
	--o-shadow-lg: 0 2px 6px rgba(16, 35, 60, .06), 0 32px 70px -26px rgba(16, 35, 60, .32);
	--o-focus: #1662c4;
	--o-hero:
		radial-gradient(820px 620px at 74% 44%, rgba(94, 199, 216, .22) 0%, rgba(94, 199, 216, 0) 62%),
		radial-gradient(720px 520px at 104% -6%, rgba(214, 235, 248, .95) 0%, rgba(214, 235, 248, 0) 64%),
		radial-gradient(600px 460px at -6% 108%, rgba(228, 242, 250, .9) 0%, rgba(228, 242, 250, 0) 66%),
		linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
	display: block;
	color: var(--o-text);
	background: var(--o-bg);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
html[data-tla-theme="dark"] .tlh3,
.tlh3 .tlh3-brief,
.tlh3 .tlh3-partners {
	--o-bg: #081321;
	--o-bg-2: #101b31;
	--o-mist: #0d1628;
	--o-powder: #151637;
	--o-text: #f5f7fa;
	--o-muted: #b5c0ce;
	--o-soft: #8fa0b6;
	--o-line: rgba(150, 180, 230, .14);
	--o-line-2: rgba(150, 180, 230, .24);
	--o-accent: #5ec7d8;
	--o-cyan: #29c7e5;
	--o-ring: rgba(94, 199, 216, .14);
	--o-ring-2: rgba(94, 199, 216, .30);
	--o-core: #29c7e5;
	--o-gold: #c7a96b;
	--o-gold-arc: rgba(199, 169, 107, .6);
	--o-panel: rgba(16, 27, 49, .78);
	--o-panel-line: rgba(150, 190, 240, .18);
	--o-card: rgba(16, 27, 49, .72);
	--o-card-hover: rgba(22, 36, 64, .9);
	--o-tab-bg: rgba(255, 255, 255, .05);
	--o-tab-on: #5ec7d8;
	--o-tab-on-text: #04202a;
	--o-solid: #5ec7d8;
	--o-solid-hover: #7fd6e4;
	--o-solid-text: #04202a;
	--o-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 16px 40px -16px rgba(0, 0, 0, .7);
	--o-shadow-lg: 0 2px 8px rgba(0, 0, 0, .35), 0 36px 80px -28px rgba(0, 0, 0, .8);
	--o-focus: #7fd6e4;
	--o-hero:
		radial-gradient(860px 640px at 72% 44%, rgba(41, 199, 229, .16) 0%, rgba(41, 199, 229, 0) 62%),
		radial-gradient(780px 560px at 104% 104%, rgba(76, 120, 211, .20) 0%, rgba(76, 120, 211, 0) 62%),
		radial-gradient(760px 520px at -4% -4%, rgba(21, 22, 55, .95) 0%, rgba(21, 22, 55, 0) 70%),
		linear-gradient(180deg, #0a1729 0%, #081321 100%);
}
html[data-tla-theme="dark"] .tlh3 { background: var(--o-bg); }
body:has(.tlh3) { background: #f7f9fc !important; }
html[data-tla-theme="dark"] body:has(.tlh3) { background: #081321 !important; }

.tlh3, .tlh3 *, .tlh3 *::before, .tlh3 *::after { box-sizing: border-box; }
.tlh3 :where(h1, h2, h3, p, ul, ol, details) { margin: 0; }
.tlh3 a { text-decoration: none; }
.tlh3 .tlh3-wrap { position: relative; z-index: 1; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 28px; }
.tlh3 :is(a, button, summary):focus-visible { outline: 3px solid var(--o-focus); outline-offset: 3px; border-radius: 10px; }

/* ── Background system ─────────────────────────────────────────────────── */
.tlh3 .tla-orb-field { position: relative; overflow: hidden; background: var(--o-hero); }
.tlh3 .tla-orb-atmos {
	position: relative;
	background:
		radial-gradient(900px 480px at 85% 0%, color-mix(in srgb, var(--o-powder) 70%, transparent) 0%, transparent 70%),
		linear-gradient(180deg, var(--o-bg) 0%, var(--o-bg-2) 100%);
}
.tlh3 .tla-orb-atmos.is-mist {
	background:
		radial-gradient(800px 460px at 0% 100%, color-mix(in srgb, var(--o-mist) 90%, transparent) 0%, transparent 70%),
		linear-gradient(160deg, var(--o-bg-2) 0%, var(--o-mist) 100%);
}
.tlh3 .tla-orb-editorial { position: relative; background: var(--o-bg); }
.tlh3 .tla-orb-halo { position: relative; }
.tlh3 .tla-orb-halo::before {
	content: "";
	position: absolute;
	inset: -10% -6%;
	z-index: 0;
	pointer-events: none;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--o-core) 16%, transparent), transparent);
}
.tlh3 .tla-orb-corner { overflow: hidden; }
.tlh3 .tla-orb-corner::after {
	content: "";
	position: absolute;
	top: -280px;
	width: 760px;
	height: 760px;
	z-index: 0;
	pointer-events: none;
	border-radius: 50%;
	background: repeating-radial-gradient(circle, transparent 0 62px, var(--o-ring) 63px 64px, transparent 65px 96px);
	-webkit-mask-image: radial-gradient(circle, #000 0%, rgba(0, 0, 0, .55) 45%, transparent 70%);
	mask-image: radial-gradient(circle, #000 0%, rgba(0, 0, 0, .55) 45%, transparent 70%);
}
.tlh3 .tla-orb-corner.is-right::after { right: -300px; }
.tlh3 .tla-orb-corner.is-left::after { left: -320px; top: auto; bottom: -340px; }

/* Concentric rings (SVG): theme-coloured, never interactive, never overflowing. */
.tlh3 .tla-orb-rings {
	position: absolute;
	left: 72%;
	top: 46%;
	z-index: 0;
	width: min(1500px, 150vw);
	height: auto;
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	pointer-events: none;
	color: var(--o-core);
	-webkit-mask-image: radial-gradient(circle, #000 30%, rgba(0, 0, 0, .65) 52%, transparent 70%);
	mask-image: radial-gradient(circle, #000 30%, rgba(0, 0, 0, .65) 52%, transparent 70%);
}
.tlh3 .tla-orb-rings circle:not(.core):not(.node) { fill: none; stroke: var(--o-ring); stroke-width: 1.2; }
.tlh3 .tla-orb-rings .r2, .tlh3 .tla-orb-rings .r4 { stroke: var(--o-ring-2); }
.tlh3 .tla-orb-rings .r5 { stroke-dasharray: 2 10; }
.tlh3 .tla-orb-rings .arc-cyan { fill: none; stroke: var(--o-cyan); stroke-width: 2; stroke-linecap: round; opacity: .75; }
.tlh3 .tla-orb-rings .arc-gold { fill: none; stroke: var(--o-gold-arc); stroke-width: 1.6; stroke-linecap: round; }
.tlh3 .tla-orb-rings .node { fill: var(--o-cyan); }
.tlh3 .tla-orb-rings .node.is-gold { fill: var(--o-gold); }
.tlh3 .tla-orb-rings.is-corner { left: 92%; top: 30%; width: min(1100px, 120vw); }
.tlh3 .tla-orb-rings.is-center { left: 50%; top: 50%; width: min(1100px, 130vw); opacity: .8; }
/* Very slow light drift on the hero core only. */
.tlh3 .tlh3-hero .tla-orb-rings .core { animation: tlh3-breathe 14s ease-in-out infinite alternate; transform-origin: 700px 700px; }
@keyframes tlh3-breathe { from { opacity: .7; } to { opacity: 1; } }

/* ── Header over the light hero ────────────────────────────────────────── */
/* The header snippet styles the top of the homepage for a dark hero (white
   links and logo). In the light theme v3 starts on pearl, so at the top it
   uses the dark logo and navy links instead. */
html[data-tla-theme="light"] body.home:has(.tlh3) #tla-uh:not(.is-scrolled) .tla-uh-light { display: block !important; }
html[data-tla-theme="light"] body.home:has(.tlh3) #tla-uh:not(.is-scrolled) .tla-uh-dark { display: none !important; }
html[data-tla-theme="light"] body.home:has(.tlh3) #tla-uh:not(.is-scrolled) :is(.tla-uh-link, .tla-uh-link:hover, .tla-uh-item.is-open > .tla-uh-link, .tla-uh-identity strong, .tla-uh-signout) {
	color: #10233c !important;
	-webkit-text-fill-color: #10233c !important;
}
html[data-tla-theme="light"] body.home:has(.tlh3) #tla-uh:not(.is-scrolled) :is(.tla-uh-link:hover, .tla-uh-item.is-open > .tla-uh-link) { background: rgba(16, 35, 60, .07) !important; }
html[data-tla-theme="light"] body.home:has(.tlh3) #tla-uh:not(.is-scrolled) .tla-uh-identity { border-left-color: rgba(16, 35, 60, .2) !important; }
html[data-tla-theme="light"] body.home:has(.tlh3) #tla-uh:not(.is-scrolled) .tla-uh-burger i { background: #10233c !important; }

/* ── Buttons ───────────────────────────────────────────────────────────── */
.tlh3 a.tlh3-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 12px;
	border: 1px solid transparent;
	font-family: inherit;
	font-size: .95rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.tlh3 a.tlh3-btn-gold { background: var(--o-gold-btn); color: var(--o-gold-text) !important; -webkit-text-fill-color: var(--o-gold-text) !important; border-color: rgba(120, 90, 30, .25); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 10px 24px -10px rgba(176, 141, 77, .7); }
.tlh3 a.tlh3-btn-gold:hover { background: var(--o-gold-btn-hover); transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 14px 30px -10px rgba(176, 141, 77, .8); }
.tlh3 a.tlh3-btn-ghost { background: color-mix(in srgb, var(--o-bg) 40%, transparent); color: var(--o-text) !important; -webkit-text-fill-color: var(--o-text) !important; border-color: var(--o-line-2); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.tlh3 a.tlh3-btn-ghost:hover { border-color: var(--o-accent); color: var(--o-accent) !important; -webkit-text-fill-color: var(--o-accent) !important; }
.tlh3 a.tlh3-btn-solid { background: var(--o-solid); color: var(--o-solid-text) !important; -webkit-text-fill-color: var(--o-solid-text) !important; box-shadow: 0 10px 22px -12px var(--o-solid); }
.tlh3 a.tlh3-btn-solid:hover { background: var(--o-solid-hover); transform: translateY(-1px); }
.tlh3 a.tlh3-btn-block { display: flex; width: 100%; }
.tlh3 a.tlh3-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--o-accent) !important; -webkit-text-fill-color: var(--o-accent) !important; text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 4px; }
.tlh3 a.tlh3-link:hover { text-decoration-color: currentColor; }
.tlh3 .tlh3-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.tlh3 .tlh3-ctas.is-center { justify-content: center; }

/* ── Type ──────────────────────────────────────────────────────────────── */
.tlh3 .tlh3-eyebrow, .tlh3 .tlh3-kicker { font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--o-soft); }
.tlh3 .tlh3-eyebrow span { margin: 0 .5em; color: var(--o-gold); }
.tlh3 .tlh3-kicker { color: var(--o-accent); }
.tlh3 .tlh3-h2 { font-size: clamp(1.7rem, 1.3rem + 1.5vw, 2.5rem); line-height: 1.14; font-weight: 800; letter-spacing: -.025em; color: var(--o-text); text-wrap: balance; }
.tlh3 .tlh3-sub { font-size: clamp(1rem, .96rem + .2vw, 1.1rem); line-height: 1.65; color: var(--o-muted); }
.tlh3 .tlh3-head { position: relative; z-index: 1; max-width: 760px; margin: 0 auto 2.5rem; text-align: center; }
.tlh3 .tlh3-head.is-left { margin-left: 0; text-align: left; }
.tlh3 .tlh3-head .tlh3-h2 { margin: .55rem 0 .8rem; }

/* ── Hero ──────────────────────────────────────────────────────────────── */
.tlh3 .tlh3-hero { padding: calc(112px + 2.5rem) 0 0; }
body.admin-bar .tlh3 .tlh3-hero { padding-top: calc(144px + 2.5rem); }
/* The left of the hero stays calm and darker/clearer for reading. */
.tlh3 .tlh3-hero > .tlh3-wrap { z-index: 2; }
.tlh3 .tlh3-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, color-mix(in srgb, var(--o-bg) 78%, transparent) 0%, color-mix(in srgb, var(--o-bg) 40%, transparent) 34%, transparent 56%);
}
.tlh3 .tlh3-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(28px, 4vw, 64px); }
.tlh3 .tlh3-hero h1 { margin: 1rem 0 1.1rem; max-width: 15.5em; font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.55rem); line-height: 1.06; font-weight: 800; letter-spacing: -.032em; color: var(--o-text); text-wrap: balance; }
.tlh3 .tlh3-accent { color: var(--o-accent); }
.tlh3 .tlh3-lede { max-width: 34em; margin-bottom: 1.9rem; font-size: clamp(1.02rem, .98rem + .25vw, 1.14rem); line-height: 1.65; color: var(--o-muted); }

/* The TLA panel: restrained glass, engineered rather than decorative. */
.tlh3 .tlh3-panel {
	position: relative;
	padding: 24px;
	border-radius: 22px;
	background: var(--o-panel);
	border: 1px solid var(--o-panel-line);
	box-shadow: var(--o-shadow-lg), inset 0 1px 0 rgba(255, 255, 255, .25);
	-webkit-backdrop-filter: blur(16px) saturate(1.2);
	backdrop-filter: blur(16px) saturate(1.2);
}
.tlh3 .tlh3-panel-title { margin-bottom: 14px; font-size: 1.12rem; font-weight: 800; letter-spacing: -.01em; color: var(--o-text); }
.tlh3 .tlh3-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-bottom: 18px; padding: 4px; border-radius: 12px; background: var(--o-tab-bg); border: 1px solid var(--o-line); }
.tlh3 button.tlh3-tab {
	min-height: 40px;
	margin: 0;
	padding: 8px 10px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: var(--o-muted);
	-webkit-text-fill-color: var(--o-muted);
	font-family: inherit;
	font-size: .86rem;
	font-weight: 700;
	line-height: 1.15;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease;
}
.tlh3 button.tlh3-tab:hover { background: color-mix(in srgb, var(--o-tab-on) 10%, transparent); color: var(--o-text); -webkit-text-fill-color: var(--o-text); }
.tlh3 button.tlh3-tab[aria-selected="true"] { background: var(--o-tab-on); color: var(--o-tab-on-text); -webkit-text-fill-color: var(--o-tab-on-text); box-shadow: 0 6px 16px -8px var(--o-tab-on); }
.tlh3 .tlh3-pane { animation: tlh3-pane .22s ease-out; }
.tlh3 .tlh3-pane[hidden] { display: none; }
@keyframes tlh3-pane { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.tlh3 .tlh3-pane-text, .tlh3 .tlh3-pane-lead { margin-bottom: 14px; font-size: .98rem; line-height: 1.6; color: var(--o-muted); }
.tlh3 .tlh3-pane-lead { color: var(--o-text); font-weight: 600; }
.tlh3 .tlh3-pane-list { display: grid; gap: 9px; margin: 0 0 18px; padding: 0; list-style: none; }
.tlh3 .tlh3-pane-list li { position: relative; padding-left: 26px; font-size: .94rem; line-height: 1.5; color: var(--o-muted); }
.tlh3 .tlh3-pane-list li::before { content: ""; position: absolute; left: 0; top: 2px; width: 17px; height: 17px; border-radius: 50%; background: color-mix(in srgb, var(--o-accent) 16%, transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%231f9fbd' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat; }
/* While an answer is open the hero gives it the full width. */
.tlh3 .tlh3-hero-grid:has(.tla-ask__results:not([hidden])) { grid-template-columns: minmax(0, 1fr); }
.tlh3 .tlh3-hero-grid:has(.tla-ask__results:not([hidden])) .tlh3-hero-copy .tlh3-lede,
.tlh3 .tlh3-hero-grid:has(.tla-ask__results:not([hidden])) .tlh3-hero-copy .tlh3-ctas { display: none; }

/* Upload tab (Ask TLA's Smart start, its own modal does the work). */
.tlh3 .tla-ss-pane__title { margin-bottom: 8px; font-size: 1rem; font-weight: 800; color: var(--o-text); }
.tlh3 .tla-ss-pane__text { margin-bottom: 12px; font-size: .95rem; line-height: 1.6; color: var(--o-muted); }
.tlh3 .tla-ss-pane__facts { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.tlh3 .tla-ss-pane__facts li { position: relative; padding-left: 22px; font-size: .88rem; line-height: 1.5; color: var(--o-muted); }
.tlh3 .tla-ss-pane__facts li::before { content: ""; position: absolute; left: 4px; top: 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--o-accent); }
.tlh3 .tla-ss-pane__facts a { color: var(--o-accent) !important; -webkit-text-fill-color: var(--o-accent) !important; text-decoration: underline; text-underline-offset: 3px; }
.tlh3 .tla-ss-pane__actions .tla-ss-cta__btn,
.tlh3 .tla-ss-pane__actions .tla-ss-cta__btn:hover,
.tlh3 .tla-ss-pane__actions .tla-ss-cta__btn:focus {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	min-height: 46px !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--o-solid) !important;
	color: var(--o-solid-text) !important;
	-webkit-text-fill-color: var(--o-solid-text) !important;
	font: 700 .95rem/1 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: 0 10px 22px -12px var(--o-solid) !important;
	cursor: pointer;
}
.tlh3 .tla-ss-pane__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

/* Credibility strip: a calm continuation of the hero. */
.tlh3 .tlh3-strip {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: clamp(2.5rem, 5vw, 4rem) 0 0;
	padding: 22px 0 26px;
	list-style: none;
	border-top: 1px solid var(--o-line);
}
.tlh3 .tlh3-strip li { display: flex; align-items: center; gap: 14px; padding: 4px 22px; border-left: 1px solid var(--o-line); }
.tlh3 .tlh3-strip li:first-child { padding-left: 0; border-left: 0; }
.tlh3 .tlh3-strip-ico { flex: 0 0 40px; display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: var(--o-accent); background: color-mix(in srgb, var(--o-accent) 10%, transparent); border: 1px solid color-mix(in srgb, var(--o-accent) 22%, transparent); }
.tlh3 .tlh3-strip-ico svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tlh3 .tlh3-strip strong { display: block; font-size: 1.25rem; font-weight: 800; letter-spacing: -.015em; color: var(--o-text); }
.tlh3 .tlh3-strip small { display: block; margin-top: 2px; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--o-soft); }

/* ── Your local brief (Ask TLA): always on navy, in both themes ────────── */
.tlh3 .tlh3-brief { padding: clamp(3rem, 6vw, 4.5rem) 0; color: var(--o-text); background: radial-gradient(900px 500px at 15% 0%, rgba(41, 199, 229, .12), transparent 62%), radial-gradient(800px 500px at 100% 100%, rgba(76, 120, 211, .16), transparent 60%), linear-gradient(180deg, #0d1a33 0%, #081321 100%); }
.tlh3 .tlh3-brief .tla-ask--briefhost { position: relative; z-index: 1; max-width: none; margin: 0; }
.tlh3 .tlh3-brief:not(:has(.tla-ask--briefhost)),
.tlh3 .tlh3-brief:has(.tla-ask__brief[hidden]) { display: none; }

/* ── Sections ──────────────────────────────────────────────────────────── */
.tlh3 .tlh3-section { padding: clamp(4rem, 8vw, 6.5rem) 0; }
.tlh3 .tlh3-cards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tlh3 a.tlh3-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 100%;
	padding: 22px 20px 20px;
	border-radius: 18px;
	background: var(--o-card);
	border: 1px solid var(--o-line);
	box-shadow: var(--o-shadow);
	color: var(--o-text) !important;
	-webkit-text-fill-color: currentColor;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
.tlh3 a.tlh3-card:hover { transform: translateY(-3px); background: var(--o-card-hover); border-color: color-mix(in srgb, var(--o-accent) 45%, transparent); box-shadow: var(--o-shadow-lg); }
.tlh3 .tlh3-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.tlh3 .tlh3-card-ico { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--o-accent); background: color-mix(in srgb, var(--o-accent) 10%, transparent); border: 1px solid color-mix(in srgb, var(--o-accent) 20%, transparent); }
.tlh3 .tlh3-card-ico svg, .tlh3 .tlh3-feature-ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tlh3 .tlh3-card-label { font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--o-soft); text-align: right; }
.tlh3 .tlh3-card h3 { font-size: 1.04rem; line-height: 1.3; font-weight: 800; letter-spacing: -.01em; color: var(--o-text); }
.tlh3 .tlh3-card p { font-size: .92rem; line-height: 1.55; color: var(--o-muted); }
.tlh3 .tlh3-card-go { margin-top: auto; padding-top: 6px; font-size: .88rem; font-weight: 700; color: var(--o-accent); }

.tlh3 .tlh3-ad { padding: clamp(1.5rem, 4vw, 2.5rem) 0; background: var(--o-bg-2); }
.tlh3 .tlh3-ad .tla-ad-zone { margin: 0 auto; }
@media (min-width: 768px) { .tlh3 .tlh3-ad:not(:has(.tla-ad-zone:not(.is-mobile-variant))) { display: none; } }
@media (max-width: 767px) { .tlh3 .tlh3-ad:not(:has(.is-mobile-variant, .tla-ad-format-mpu, .tla-ad-format-skyscraper)) { display: none; } }

.tlh3 .tlh3-split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(28px, 5vw, 72px); }
.tlh3 .tlh3-split.is-reverse { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.tlh3 .tlh3-split .tlh3-h2 { margin: .55rem 0 .9rem; }
.tlh3 .tlh3-ticks { display: grid; gap: 14px; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.tlh3 .tlh3-ticks li { position: relative; padding-left: 32px; font-size: .98rem; line-height: 1.55; color: var(--o-muted); }
.tlh3 .tlh3-ticks li strong { color: var(--o-text); }
.tlh3 .tlh3-ticks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: color-mix(in srgb, var(--o-accent) 14%, transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%231f9fbd' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; }
.tlh3 .tlh3-price { z-index: 1; display: flex; flex-direction: column; gap: 10px; padding: 30px; border-radius: 22px; background: var(--o-card); border: 1px solid var(--o-line); box-shadow: var(--o-shadow-lg); }
.tlh3 .tlh3-price > * { position: relative; z-index: 1; }
.tlh3 .tlh3-price-label { font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--o-soft); }
.tlh3 .tlh3-price-amount { font-size: 1.05rem; color: var(--o-muted); }
.tlh3 .tlh3-price-amount strong { font-size: 2.6rem; font-weight: 800; letter-spacing: -.03em; color: var(--o-text); }
.tlh3 .tlh3-price .tla-klarna-msg { min-height: 46px !important; margin: 0 0 6px !important; }
.tlh3 .tlh3-price .tlh3-link { align-self: center; margin-top: 4px; }

.tlh3 .tlh3-feature-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.tlh3 .tlh3-feature-list li { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 16px; background: var(--o-card); border: 1px solid var(--o-line); box-shadow: var(--o-shadow); font-size: .97rem; line-height: 1.45; color: var(--o-muted); }
.tlh3 .tlh3-feature-list li strong { color: var(--o-text); }
.tlh3 .tlh3-feature-ico { flex: 0 0 42px; display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--o-accent); background: color-mix(in srgb, var(--o-accent) 10%, transparent); }
.tlh3 .tlh3-agents .tlh3-ctas { margin-top: 1.5rem; }

/* Trusted Partner Services: navy in both themes, with one gold accent. */
.tlh3 .tlh3-partners { --o-hero: radial-gradient(900px 560px at 90% 20%, rgba(199, 169, 107, .10), transparent 60%), radial-gradient(800px 520px at 0% 100%, rgba(41, 199, 229, .10), transparent 60%), linear-gradient(180deg, #0b162b 0%, #081321 100%); color: var(--o-text); }
.tlh3 .tlh3-partners .tla-orb-rings { color: var(--o-gold); }
.tlh3 .tlh3-sectors { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 2rem; }
.tlh3 a.tlh3-sector {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 18px;
	border-radius: 16px;
	background: rgba(16, 27, 49, .72);
	border: 1px solid rgba(150, 180, 230, .16);
	color: #f5f7fa !important;
	-webkit-text-fill-color: #f5f7fa !important;
	box-shadow: 0 14px 34px -18px rgba(0, 0, 0, .8);
	transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}
.tlh3 a.tlh3-sector:hover { transform: translateY(-3px); background: rgba(22, 36, 64, .9); border-color: color-mix(in srgb, var(--tla-sector-color, #5ec7d8) 60%, transparent); }
.tlh3 .tlh3-sector-ico { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: color-mix(in srgb, var(--tla-sector-color, #5ec7d8) 75%, #fff); background: color-mix(in srgb, var(--tla-sector-color, #5ec7d8) 16%, transparent); border: 1px solid color-mix(in srgb, var(--tla-sector-color, #5ec7d8) 40%, transparent); }
.tlh3 .tlh3-sector-ico :is(svg, span) { width: 22px; height: 22px; }
.tlh3 .tlh3-sector-ico svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.tlh3 .tlh3-sector-name { font-size: .95rem; font-weight: 750; line-height: 1.3; }
.tlh3 .tlh3-sector-note { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #c7a96b; }
.tlh3 .tlh3-disclose { position: relative; z-index: 1; max-width: 640px; margin: 1.5rem auto 0; font-size: .8rem; line-height: 1.55; text-align: center; color: #8fa0b6; }

/* FAQ */
.tlh3 .tlh3-faq-list { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; display: grid; gap: 10px; }
.tlh3 .tlh3-faq-item { border-radius: 14px; background: var(--o-card); border: 1px solid var(--o-line); box-shadow: 0 1px 2px rgba(16, 35, 60, .04); }
.tlh3 .tlh3-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 58px; padding: .9rem 1.25rem; font-size: 1rem; font-weight: 700; line-height: 1.4; color: var(--o-text); cursor: pointer; list-style: none; }
.tlh3 .tlh3-faq-item summary::-webkit-details-marker { display: none; }
.tlh3 .tlh3-faq-item summary::after { content: ""; flex: 0 0 10px; width: 10px; height: 10px; border-right: 2.5px solid var(--o-accent); border-bottom: 2.5px solid var(--o-accent); transform: rotate(45deg) translate(-3px, -3px); transition: transform .2s ease; }
.tlh3 .tlh3-faq-item[open] summary::after { transform: rotate(225deg) translate(-3px, -3px); }
.tlh3 .tlh3-faq-item p { padding: 0 1.25rem 1.2rem; font-size: .95rem; line-height: 1.65; color: var(--o-muted); }

/* Final call to action */
.tlh3 .tlh3-final { padding: clamp(4rem, 8vw, 6rem) 0; text-align: center; }
.tlh3 .tlh3-final .tlh3-h2 { max-width: 720px; margin: 0 auto .9rem; }
.tlh3 .tlh3-final .tlh3-sub { max-width: 600px; margin: 0 auto 1.8rem; }

/* Administrators only: preview / publish switch. */
.tlh-admin { position: relative; z-index: 3; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 12px; max-width: 980px; margin: 0 auto 1.4rem; padding: 8px 14px; border-radius: 14px; background: #fde68a; color: #422006; font: 600 13px/1.4 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; text-align: center; }
.tlh-admin a { color: #422006 !important; -webkit-text-fill-color: #422006 !important; font-weight: 800; text-decoration: underline !important; text-underline-offset: 3px; }

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
	.tlh3 .tlh3-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
	.tlh3 .tlh3-hero { padding-top: calc(84px + 1.75rem); }
	body.admin-bar .tlh3 .tlh3-hero { padding-top: calc(130px + 1.75rem); }
	.tlh3 .tlh3-hero-grid, .tlh3 .tlh3-split, .tlh3 .tlh3-split.is-reverse { grid-template-columns: minmax(0, 1fr); }
	.tlh3 .tlh3-split.is-reverse > :first-child { order: 2; }
	.tlh3 .tlh3-hero h1 { max-width: none; }
	.tlh3 .tla-orb-rings { left: 78%; top: 62%; width: 1100px; opacity: .75; }
	.tlh3 .tlh3-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
	.tlh3 .tlh3-strip li:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 640px) {
	.tlh3 .tlh3-wrap { padding: 0 16px; }
	.tlh3 .tlh3-hero h1 { font-size: clamp(1.95rem, 7.6vw, 2.35rem); }
	.tlh3 .tlh3-lede { margin-bottom: 1.4rem; }
	/* 1.0.405: buttons wrap inside the column; a long label (or a phone's larger text size) never pushes them off screen. */
	.tlh3 .tlh3-ctas { min-width: 0; max-width: 100%; }
	.tlh3 .tlh3-hero .tlh3-ctas { display: grid; grid-template-columns: minmax(0, 1fr); }
	.tlh3 a.tlh3-btn, .tlh3 button.tlh3-btn { width: 100%; min-width: 0; max-width: 100%; height: auto; padding-top: 12px; padding-bottom: 12px; white-space: normal; text-align: center; line-height: 1.25; }
	.tlh3 .tlh3-panel { padding: 18px 16px; border-radius: 18px; -webkit-backdrop-filter: none; backdrop-filter: none; background: color-mix(in srgb, var(--o-panel) 100%, var(--o-bg) 0%); }
	.tlh3 button.tlh3-tab { min-height: 44px; font-size: .84rem; }
	.tlh3 .tlh3-tab-long { display: none; }
	.tlh3 .tla-orb-rings { left: 90%; top: 70%; width: 900px; opacity: .55; }
	.tlh3 .tla-orb-corner::after { width: 520px; height: 520px; }
	.tlh3 .tlh3-cards { grid-template-columns: minmax(0, 1fr); }
	.tlh3 .tlh3-head { margin-bottom: 1.75rem; text-align: left; }
	.tlh3 .tlh3-strip { padding-bottom: 20px; }
	.tlh3 .tlh3-strip li { padding: 4px 10px; gap: 10px; }
	.tlh3 .tlh3-strip-ico { flex-basis: 34px; width: 34px; height: 34px; }
	.tlh3 .tlh3-strip strong { font-size: 1.05rem; }
	.tlh3 .tlh3-price { padding: 22px; }
	.tlh3 .tlh3-sectors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tlh3 .tlh3-faq-item summary { padding: .85rem 1rem; font-size: .97rem; }
	.tlh3 .tlh3-faq-item p { padding: 0 1rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
	.tlh3 *, .tlh3 *::before, .tlh3 *::after { animation: none !important; transition: none !important; }
}

/* 1.0.384: on desktop the hero sits closer to the header (half the old gap, 42px below the
   68px header), so the whole hero shows above the fold. The fixed header already sits under
   the WordPress admin bar, so the admin view needs no extra 32px. */
@media (min-width: 1001px) {
	.tlh3 .tlh3-hero,
	body.admin-bar .tlh3 .tlh3-hero { padding-top: calc(68px + 42px); }
}

/* Release C Phase 1 (1.0.387): outcome pages (membership, compare, agents) and the homepage steps. */
.tlh3 .tlh3-card.tlrc-static { cursor: default; }
.tlh3 .tlh3-card.tlrc-static:hover { transform: none; }
.tlh3 .tlrc-steps .tlh3-card-label { display: inline-block; margin-bottom: 8px; }
.tlh3 .tlrc-narrow { max-width: 760px; }
.tlh3 .tlrc-note { margin-top: 24px; }
.tlh3 .tlrc-promises { margin-top: 24px; }
.tlrc-page .tlh3-hero { padding-bottom: 56px; }

/* ── Release C (1.0.389): proof assets, reassurance, outcomes, evaluation days ── */
.tlh3 .tlh3-reassure { margin: 14px 0 0; font-size: .95rem; color: var(--o-muted); }
.tlh3 .tlrc-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tlh3 .tlrc-outcomes .tlh3-card-label { display: inline-block; margin-bottom: 8px; color: var(--o-accent); font-weight: 600; }
.tlh3 .tlrc-days { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; counter-reset: none; }
.tlh3 .tlrc-days li { background: var(--o-card); border: 1px solid var(--o-line); border-radius: 16px; padding: 18px; }
.tlh3 .tlrc-days .tlrc-day { display: block; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--o-accent); margin-bottom: 6px; }
.tlh3 .tlrc-days strong { display: block; margin-bottom: 6px; }
.tlh3 .tlrc-days p { margin: 0; color: var(--o-muted); font-size: .95rem; }

.tlh3 { --pf-good: #1d8a5b; --pf-soon: #b7791f; --pf-action: #c2410c; --pf-over: #b42318; }
html[data-tla-theme="dark"] .tlh3 { --pf-good: #4ade80; --pf-soon: #fbbf24; --pf-action: #fb923c; --pf-over: #f87171; }
.tlh3 .tlpf-hero { position: relative; z-index: 1; }
.tlh3 .tlpf-gallery { display: grid; gap: 18px; }
.tlh3 .tlpf-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.tlh3 .tlpf-gallery .tlpf-row:first-child { margin-top: 0; }
.tlh3 .tlpf-card { margin: 0; background: var(--o-card); border: 1px solid var(--o-panel-line); border-radius: 18px; box-shadow: var(--o-shadow-lg); overflow: hidden; display: flex; flex-direction: column; }
.tlh3 .tlpf-bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--o-line); background: var(--o-tab-bg); }
.tlh3 .tlpf-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--o-line-2); }
.tlh3 .tlpf-bar-title { margin-left: 6px; font-weight: 600; font-size: .92rem; }
.tlh3 .tlpf-tag { margin-left: auto; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--o-muted); border: 1px solid var(--o-line-2); border-radius: 999px; padding: 2px 8px; }
.tlh3 .tlpf-body { padding: 16px; flex: 1; }
.tlh3 .tlpf-card figcaption { padding: 10px 16px 14px; font-size: .88rem; color: var(--o-muted); border-top: 1px solid var(--o-line); }
.tlh3 .tlpf-lead { margin: 0 0 12px; color: var(--o-muted); }
.tlh3 .tlpf-lead strong { color: var(--o-text); }
.tlh3 .tlpf-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.tlh3 .tlpf-kpis span { background: var(--o-bg-2); border-radius: 12px; padding: 10px 12px; font-size: .82rem; color: var(--o-muted); }
.tlh3 .tlpf-kpis b { display: block; font-size: 1.4rem; color: var(--o-text); line-height: 1.2; }
.tlh3 .tlpf-props, .tlh3 .tlpf-bars, .tlh3 .tlpf-plan, .tlh3 .tlpf-timeline, .tlh3 .tlpf-steps { list-style: none; margin: 0; padding: 0; }
.tlh3 .tlpf-prop { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; border: 1px solid var(--o-line); border-left: 4px solid var(--pf-good); border-radius: 12px; margin-bottom: 8px; background: var(--o-panel); }
.tlh3 .tlpf-prop.is-soon { border-left-color: var(--pf-soon); }
.tlh3 .tlpf-prop.is-action { border-left-color: var(--pf-action); }
.tlh3 .tlpf-prop-main strong, .tlh3 .tlpf-plan-main strong, .tlh3 .tlpf-timeline strong, .tlh3 .tlpf-steps strong { display: block; font-size: .95rem; }
.tlh3 .tlpf-prop-main small, .tlh3 .tlpf-plan-main small, .tlh3 .tlpf-timeline small, .tlh3 .tlpf-steps small { display: block; color: var(--o-muted); font-size: .84rem; margin-top: 2px; }
.tlh3 .tlpf-pill { flex: none; font-size: .76rem; font-weight: 700; border-radius: 999px; padding: 3px 10px; color: #fff; background: var(--pf-good); }
.tlh3 .tlpf-pill.is-soon { background: var(--pf-soon); }
.tlh3 .tlpf-pill.is-action { background: var(--pf-action); }
html[data-tla-theme="dark"] .tlh3 .tlpf-pill { color: #0b0e2a; }
.tlh3 .tlpf-bars li { display: grid; grid-template-columns: 92px 1fr 28px; align-items: center; gap: 10px; margin-bottom: 9px; font-size: .9rem; }
.tlh3 .tlpf-bars i { display: block; height: 10px; border-radius: 6px; background: var(--o-bg-2); position: relative; overflow: hidden; }
.tlh3 .tlpf-bars i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: 6px; background: var(--pf-good); }
.tlh3 .tlpf-bars .is-soon i::after { background: var(--pf-soon); }
.tlh3 .tlpf-bars .is-action i::after { background: var(--pf-action); }
.tlh3 .tlpf-bars .is-over i::after { background: var(--pf-over); }
.tlh3 .tlpf-bars b { text-align: right; }
.tlh3 .tlpf-note { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: .9rem; }
.tlh3 .tlpf-tick { width: 16px; height: 16px; border-radius: 50%; background: var(--pf-good); position: relative; flex: none; }
.tlh3 .tlpf-tick::after { content: ""; position: absolute; left: 5px; top: 3px; width: 4px; height: 7px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.tlh3 .tlpf-plan li, .tlh3 .tlpf-steps li { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--o-line); border-radius: 12px; margin-bottom: 8px; background: var(--o-panel); }
.tlh3 .tlpf-step { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: .82rem; font-weight: 700; color: #fff; background: var(--o-accent); }
.tlh3 .tlpf-plan .is-action .tlpf-step { background: var(--pf-action); }
.tlh3 .tlpf-plan .is-soon .tlpf-step { background: var(--pf-soon); }
.tlh3 .tlpf-plan-main { flex: 1; min-width: 0; }
.tlh3 .tlpf-go { flex: none; font-size: .8rem; font-weight: 600; color: var(--o-accent); border: 1px solid var(--o-line-2); border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.tlh3 .tlpf-timeline li { display: grid; grid-template-columns: 92px 1fr; gap: 12px; padding: 0 0 14px 0; position: relative; }
.tlh3 .tlpf-timeline time { font-size: .82rem; color: var(--o-muted); padding-top: 2px; }
.tlh3 .tlpf-timeline span { border-left: 2px solid var(--o-ring-2); padding-left: 14px; position: relative; }
.tlh3 .tlpf-timeline span::before { content: ""; position: absolute; left: -6px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--o-accent); }
.tlh3 .tlpf-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tlh3 .tlpf-ba > div { border-radius: 12px; padding: 12px 14px; border: 1px solid var(--o-line); }
.tlh3 .tlpf-before { background: var(--o-bg-2); }
.tlh3 .tlpf-after { background: var(--o-panel); border-left: 4px solid var(--pf-good) !important; }
.tlh3 .tlpf-ba-h { margin: 0 0 8px; font-weight: 700; font-size: .82rem; letter-spacing: .05em; text-transform: uppercase; color: var(--o-muted); }
.tlh3 .tlpf-ba ul { margin: 0; padding-left: 18px; font-size: .92rem; }
.tlh3 .tlpf-ba li { margin-bottom: 6px; }
.tlpf-host { background: transparent !important; }
@media (max-width: 1000px) {
	.tlh3 .tlrc-days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tlh3 .tlpf-row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.tlh3 .tlrc-steps, .tlh3 .tlrc-days, .tlh3 .tlpf-ba { grid-template-columns: minmax(0, 1fr); }
	.tlh3 .tlpf-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tlh3 .tlpf-go { display: none; }
	.tlh3 .tlpf-timeline li { grid-template-columns: 74px 1fr; }
}
.tlrc-feed.tlh3 { background: transparent; margin: 40px 0 8px; clear: both; }
.tlrc-feed .tlrc-feed-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 30px; border-radius: 22px; border: 1px solid var(--o-panel-line); background: var(--o-hero); box-shadow: var(--o-shadow); }
.tlrc-feed .tlh3-h2 { font-size: clamp(1.35rem, 2.2vw, 1.75rem); margin: 4px 0 8px; }
.tlrc-feed .tlh3-sub { margin: 0; }
.tlrc-feed .tlh3-ctas { margin: 0; flex: none; }
@media (max-width: 760px) { .tlrc-feed .tlrc-feed-inner { flex-direction: column; align-items: flex-start; padding: 22px; } }
.tlh3 .tlrc-form { text-align: left; }
.tlh3 .tlrc-field { margin: 0 0 12px; }
.tlh3 .tlrc-field label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 4px; }
.tlh3 .tlrc-field input, .tlh3 .tlrc-field textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--o-line-2); background: var(--o-panel); color: var(--o-text); font: inherit; }
.tlh3 .tlrc-check { font-size: .9rem; margin: 0 0 10px; }
.tlh3 .tlrc-check input { margin-right: 6px; }
.tlh3 .tlrc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* 1.0.390: the Ask TLA section sits on the always-dark brief surface, so its controls are set light-on-dark in both themes. */
.tlh3 #tlh3-tools.tlh3-brief { display: block; }
.tlh3 #tlh3-tools .tlh3-split { align-items: center; }
.tlh3 #tlh3-tools .tlh3-h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); }
.tlh3 #tlh3-tools .tlh3-panel { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.tlh3 #tlh3-tools .tla-ask__bar,
.tlh3 #tlh3-tools .tla-ask__bar > span,
.tlh3 #tlh3-tools .tla-ask__nsel-wrap span,
.tlh3 #tlh3-tools .tla-ask__credit,
.tlh3 #tlh3-tools .tla-ask__wherenote,
.tlh3 #tlh3-tools .tla-ask__notelink { color: rgba(245, 247, 250, .86) !important; }
.tlh3 #tlh3-tools .tla-ask__notelink { text-decoration: underline; text-underline-offset: 3px; }
.tlh3 #tlh3-tools .tla-ask__nsel { color: #f5f7fa !important; background-color: rgba(255, 255, 255, .08) !important; border: 1px solid rgba(255, 255, 255, .2) !important; border-radius: 8px; }
.tlh3 #tlh3-tools .tla-ask__nsel option { color: #0b1020; background: #ffffff; }
.tlh3 #tlh3-tools .tla-ask__chip { color: #f5f7fa !important; background: rgba(255, 255, 255, .08) !important; border: 1px solid rgba(255, 255, 255, .18) !important; }
.tlh3 #tlh3-tools .tla-ask__chip:hover, .tlh3 #tlh3-tools .tla-ask__chip:focus-visible { background: rgba(255, 255, 255, .14) !important; }
.tlh3 #tlh3-tools > .tlh3-wrap:last-child { margin-top: 28px; }

/* 1.0.391: proof cards name the property they belong to; the prepared document. */
.tlh3 .tlpf-link { margin-left: 10px; font-size: .74rem; font-weight: 600; color: var(--o-accent); background: var(--o-bg-2); border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
.tlh3 .tlpf-fields { list-style: none; margin: 0; padding: 0; border: 1px solid var(--o-line); border-radius: 12px; overflow: hidden; background: var(--o-panel); }
.tlh3 .tlpf-fields li { display: grid; grid-template-columns: 84px 1fr 16px; align-items: center; gap: 10px; padding: 9px 12px; border-top: 1px solid var(--o-line); font-size: .88rem; }
.tlh3 .tlpf-fields li:first-child { border-top: 0; }
.tlh3 .tlpf-fields span { color: var(--o-muted); }
.tlh3 .tlpf-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
@media (max-width: 640px) { .tlh3 .tlpf-link { display: none; } .tlh3 .tlpf-actions .tlpf-go { display: inline-block; } }

/* ── 1.0.392: the lifecycle. Cards without app chrome; Problem, Action, Solution, Evidence; Portfolio Autopilot throughout. ── */
.tlh3 .tlpf-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px 0; }
.tlh3 .tlpf-plain-title { font-weight: 700; font-size: .95rem; }
.tlh3 .tlpf-head .tlpf-tag { margin-left: auto; }
.tlh3 .tlpf-stepno { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .9rem; color: #fff; background: var(--o-accent); }
.tlh3 .tlpf-steplabel { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--o-accent); }
.tlh3 .tlpf-card.is-step .tlpf-name { margin: 12px 16px 0; font-size: 1.12rem; font-weight: 800; letter-spacing: -.01em; color: var(--o-text); }
.tlh3 .tlpf-card.is-step .tlpf-question { margin: 2px 16px 0; font-size: .95rem; color: var(--o-muted); font-style: italic; }
.tlh3 .tlpf-card.is-step .tlpf-body { padding-top: 12px; }
.tlh3 .tlpf-auto { display: block; font-size: .86rem; color: var(--o-muted); background: var(--o-bg-2); }
.tlh3 .tlpf-auto-label { display: inline-block; margin-right: 6px; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--pf-good); }
.tlh3 .tlpf-row-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; margin-top: 0; }
.tlh3 .tlpf-rail { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.tlh3 .tlpf-rail li { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--o-line); background: var(--o-card); }
.tlh3 .tlpf-rail li:not(:last-child)::after { content: "\2192"; position: absolute; right: -10px; top: 50%; transform: translateY(-50%); font-weight: 700; color: var(--o-accent); z-index: 1; }
.tlh3 .tlpf-rail strong { display: block; font-size: .92rem; }
.tlh3 .tlpf-rail small { display: block; font-size: .8rem; color: var(--o-muted); }
.tlh3 .tlpf-rail .is-auto .tlpf-stepno { background: var(--pf-good); }
.tlh3 .tlpf-issues { list-style: none; margin: 0; padding: 0; }
.tlh3 .tlpf-issues li { padding: 9px 12px; margin-bottom: 8px; border: 1px solid var(--o-line); border-left: 4px solid var(--pf-action); border-radius: 12px; background: var(--o-panel); }
.tlh3 .tlpf-issues li.is-soon { border-left-color: var(--pf-soon); }
.tlh3 .tlpf-issues li.is-over { border-left-color: var(--pf-over); }
.tlh3 .tlpf-kind, .tlh3 .tlpf-when { display: block; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--o-muted); margin-bottom: 2px; }
.tlh3 .tlpf-issues strong { display: block; font-size: .92rem; }
.tlh3 .tlpf-issues small { display: block; font-size: .82rem; color: var(--o-muted); }
.tlh3 .tlpf-plan li { align-items: flex-start; }
.tlh3 .tlpf-plan .tlpf-go { display: inline-block; margin-top: 8px; }
.tlh3 .tlpf-plan .is-over .tlpf-step { background: var(--pf-over); }
.tlh3 .tlpf-fixes { list-style: none; margin: 0; padding: 0; }
.tlh3 .tlpf-fixes li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; padding: 9px 12px; margin-bottom: 8px; border: 1px solid var(--o-line); border-left: 4px solid var(--pf-good); border-radius: 12px; background: var(--o-panel); }
.tlh3 .tlpf-from { grid-column: 1 / -1; font-size: .78rem; color: var(--o-muted); text-decoration: line-through; text-decoration-color: var(--o-line-2); }
.tlh3 .tlpf-arrow { display: none; }
.tlh3 .tlpf-to strong { display: block; font-size: .92rem; }
.tlh3 .tlpf-to small { display: block; font-size: .8rem; color: var(--o-muted); }
.tlh3 .tlpf-ready { align-self: center; font-size: .74rem; font-weight: 700; color: var(--pf-good); border: 1px solid currentColor; border-radius: 999px; padding: 2px 8px; white-space: nowrap; }
.tlh3 .tlrc-cycle { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.tlh3 .tlrc-cycle li { position: relative; padding: 18px; border-radius: 18px; border: 1px solid var(--o-line); background: var(--o-card); }
.tlh3 .tlrc-cycle li:not(:last-child)::after { content: "\2192"; position: absolute; right: -12px; top: 26px; font-weight: 700; color: var(--o-accent); }
.tlh3 .tlrc-cycle-n { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; background: var(--o-accent); font-weight: 800; margin-bottom: 10px; }
.tlh3 .tlrc-cycle .is-auto { border-color: var(--pf-good); }
.tlh3 .tlrc-cycle .is-auto .tlrc-cycle-n { background: var(--pf-good); }
.tlh3 .tlrc-cycle strong { display: block; margin-bottom: 6px; }
.tlh3 .tlrc-cycle p { margin: 0; font-size: .93rem; color: var(--o-muted); }
.tlh3 .tlrc-promise { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tlh3 .tlrc-promise li { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--o-line-2); background: var(--o-panel); font-weight: 600; font-size: .95rem; }
@media (max-width: 1200px) { .tlh3 .tlpf-row-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tlh3 .tlrc-cycle { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
	.tlh3 .tlpf-row-4, .tlh3 .tlrc-cycle { grid-template-columns: minmax(0, 1fr); }
	.tlh3 .tlpf-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tlh3 .tlpf-rail li::after, .tlh3 .tlrc-cycle li::after { display: none; }
}
.tlh3 .tlpf-row-4 .tlpf-fixes li { grid-template-columns: minmax(0, 1fr); }
.tlh3 .tlpf-row-4 .tlpf-ready { justify-self: start; margin-top: 4px; }
.tlh3 .tlpf-row-4 .tlpf-timeline li { grid-template-columns: 64px 1fr; gap: 8px; }
.tlh3 .tlpf-row-4 .tlpf-timeline time { font-size: .78rem; }
.tlh3 .tlpf-row-4 .tlpf-body { padding: 12px 14px 14px; }

/* ── 1.0.393: the resolution card leads; Portfolio Autopilot is the outcome the four stages flow into. ── */
.tlh3 .tlpf-row-life { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: stretch; margin-top: 0; }
.tlh3 .tlpf-row-life > [data-tlpf="documents"] { grid-column: span 2; border: 2px solid var(--pf-good); box-shadow: 0 0 0 6px color-mix(in srgb, var(--pf-good) 12%, transparent), var(--o-shadow-lg); }
.tlh3 .tlpf-row-life .tlpf-body { padding: 12px 14px 14px; }
.tlh3 .tlpf-row-life .tlpf-timeline li { grid-template-columns: 64px 1fr; gap: 8px; }
.tlh3 .tlpf-row-life .tlpf-timeline time { font-size: .78rem; }
.tlh3 .tlpf-auto { padding: 10px 16px 14px; }
.tlh3 .tlpf-resolve-h, .tlh3 .tlpf-fixes2 li { display: grid; grid-template-columns: minmax(0, 1.05fr) 16px minmax(0, 1.25fr) 16px auto; align-items: center; gap: 8px; }
.tlh3 .tlpf-resolve-h { padding: 0 12px 6px; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--o-muted); }
.tlh3 .tlpf-fixes2 { list-style: none; margin: 0; padding: 0; }
.tlh3 .tlpf-fixes2 li { padding: 10px 12px; margin-bottom: 8px; border: 1px solid var(--o-line); border-radius: 12px; background: var(--o-panel); }
.tlh3 .tlpf-fixes2 strong { display: block; font-size: .9rem; }
.tlh3 .tlpf-fixes2 small { display: block; font-size: .78rem; color: var(--o-muted); }
.tlh3 .tlpf-c1 { position: relative; padding-left: 14px; }
.tlh3 .tlpf-issue-dot { position: absolute; left: 0; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(--pf-action); }
.tlh3 .tlpf-c2 strong { color: var(--pf-good); }
.tlh3 .tlpf-fixes2 .tlpf-arrow { display: block; color: var(--o-accent); font-weight: 700; text-align: center; }
.tlh3 .tlpf-fixes2 .tlpf-ready { display: inline-block; }
.tlh3 .tlpf-outcome { margin-top: 0; }
.tlh3 .tlpf-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; height: 34px; }
.tlh3 .tlpf-flow i { position: relative; display: block; }
.tlh3 .tlpf-flow i::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 6px; width: 2px; background: linear-gradient(var(--o-ring-2), var(--pf-good)); }
.tlh3 .tlpf-flow i::after { content: ""; position: absolute; left: calc(50% - 5px); bottom: 0; border: 5px solid transparent; border-top-color: var(--pf-good); border-bottom: 0; }
.tlh3 .tlpf-flow i:nth-child(3) { grid-column: span 2; }
.tlh3 .tlpf-outcome-inner { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; padding: 18px 22px; border-radius: 18px; border: 2px solid var(--pf-good); background: color-mix(in srgb, var(--pf-good) 8%, var(--o-card)); }
.tlh3 .tlpf-outcome-h { display: flex; align-items: center; gap: 12px; margin: 0; }
.tlh3 .tlpf-outcome-eq { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--pf-good); color: #fff; font-weight: 800; font-size: 1.2rem; }
.tlh3 .tlpf-outcome-h small { display: block; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--o-muted); }
.tlh3 .tlpf-outcome-h strong { display: block; font-size: 1.15rem; }
.tlh3 .tlpf-outcome ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; flex: 1; }
.tlh3 .tlpf-outcome li { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.tlh3 .tlrc-cycle { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tlh3 #tlh3-result .tlpf-flow { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tlh3 #tlh3-result .tlpf-flow i:nth-child(3) { grid-column: auto; }
.tlh3 .tlrc-cycle li:last-child::after { display: none; }
.tlh3 .tlpf-scale { margin: 26px auto 0; max-width: 820px; text-align: center; font-size: 1.05rem; color: var(--o-muted); }
.tlh3 .tlpf-scale strong { color: var(--o-text); }
html[data-tla-theme="dark"] .tlh3 .tlpf-outcome-eq { color: #0b0e2a; }
@media (max-width: 1200px) {
	.tlh3 .tlpf-row-life { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tlh3 .tlpf-row-life > [data-tlpf="documents"], .tlh3 .tlpf-row-life > [data-tlpf="timeline"] { grid-column: span 2; }
	.tlh3 .tlpf-flow { display: none; }
	.tlh3 .tlpf-outcome { margin-top: 18px; }
	.tlh3 .tlrc-cycle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.tlh3 .tlpf-row-life, .tlh3 .tlrc-cycle { grid-template-columns: minmax(0, 1fr); }
	.tlh3 .tlpf-row-life > [data-tlpf] { grid-column: auto; }
	.tlh3 .tlpf-resolve-h { display: none; }
	.tlh3 .tlpf-fixes2 li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
	.tlh3 .tlpf-fixes2 .tlpf-arrow { text-align: left; transform: rotate(90deg); width: 14px; }
}
.tlh3 .tlpf-row-life .tlpf-go { white-space: normal; max-width: 100%; }
.tlh3 .tlpf-row-life .tlpf-plan-main { min-width: 0; }
.tlh3 .tlpf-row-life .tlpf-head { gap: 8px; }
.tlh3 .tlpf-row-life .tlpf-tag { font-size: .62rem; padding: 1px 6px; }
.tlh3 .tlpf-outcome ul { gap: 10px 26px; }

/* 1.0.394: the longest single word in the resolution table ("communication") fits its column instead of running into the arrow. */
.tlh3 .tlpf-row-life .tlpf-fixes2 strong { font-size: .84rem; letter-spacing: -.005em; }
.tlh3 .tlpf-row-life .tlpf-resolve-h, .tlh3 .tlpf-row-life .tlpf-fixes2 li { grid-template-columns: minmax(0, 1.15fr) 14px minmax(0, 1.15fr) 14px auto; }
.tlh3 .tlpf-row-life .tlpf-fixes2 .tlpf-ready { font-size: .7rem; padding-left: 7px; padding-right: 7px; }

/* ============================================================
   1.0.395 homepage rebuild: shorter page, one proof section.
   ============================================================ */
.tlh3 .tlh3-lede-lead { color: var(--o-text); font-weight: 700; }
.tlh3 .tlh3-cred { margin: 18px 0 0; font-size: .86rem; line-height: 1.6; color: var(--o-soft); }
.tlh3 .tlh3-cred.is-center { margin-left: auto; margin-right: auto; max-width: 46em; text-align: center; }
.tlh3 .tlrc-feed .tlrc-feed-cred { margin: 14px 0 0; }
.tlh3 .tlh3-cred a { white-space: nowrap; color: inherit; font-weight: 600; text-decoration: underline; text-decoration-color: var(--o-line-2); text-underline-offset: 3px; }
.tlh3 .tlh3-cred a:hover { color: var(--o-accent); text-decoration-color: currentColor; }
.tlh3 .tlh3-trust { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.tlh3 .tlh3-trust li { position: relative; padding-left: 22px; font-size: .92rem; font-weight: 600; color: var(--o-soft); }
.tlh3 .tlh3-trust li::before { content: ""; position: absolute; left: 0; top: .2em; width: 15px; height: 15px; border-radius: 50%; background: #16a34a; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Zm3.6 5.9-4.2 4.6a.8.8 0 0 1-1.2 0L4.4 8.7a.8.8 0 1 1 1.1-1.1l1.3 1.2 3.6-4a.8.8 0 0 1 1.2 1.1Z' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Zm3.6 5.9-4.2 4.6a.8.8 0 0 1-1.2 0L4.4 8.7a.8.8 0 1 1 1.1-1.1l1.3 1.2 3.6-4a.8.8 0 0 1 1.2 1.1Z' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat; }
.tlh3 .tlh3-pains { list-style: none; margin: 44px 0 0; padding: 18px 0 0; border-top: 1px solid var(--o-line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tlh3 .tlh3-pains li { font-size: .95rem; line-height: 1.5; color: var(--o-soft); }
.tlh3 .tlh3-pains strong { display: block; color: var(--o-text); font-size: 1rem; margin-bottom: 2px; }

.tlh3 .tlpf-tabs { margin-top: 34px; }
.tlh3 .tlpf-tablist { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.tlh3 .tlpf-tab { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--o-line); border-radius: 14px; background: var(--o-card); color: var(--o-text); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; }
.tlh3 .tlpf-tab:hover { border-color: var(--o-accent); }
.tlh3 .tlpf-tab:focus-visible { outline: 3px solid var(--o-accent); outline-offset: 2px; }
.tlh3 .tlpf-tab .tlpf-stepno { flex: 0 0 auto; }
.tlh3 .tlpf-tab-t { display: flex; flex-direction: column; min-width: 0; }
.tlh3 .tlpf-tab-t small { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--o-accent); }
.tlh3 .tlpf-tab-t strong { font-size: .95rem; line-height: 1.25; }
.tlh3 .tlpf-tab.is-on { border-color: var(--o-accent); box-shadow: 0 10px 28px rgba(22, 98, 196, .16); background: #fff; }
html[data-tla-theme="dark"] .tlh3 .tlpf-tab.is-on { background: rgba(94, 199, 216, .10); box-shadow: none; }
.tlh3 .tlpf-panels { margin-top: 16px; }
.tlh3 .tlpf-panel { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 40px; align-items: start; padding: 32px; border: 1px solid var(--o-line); border-radius: 20px; background: var(--o-card); }
.tlh3 .tlpf-tabs:not(.is-js) .tlpf-panel + .tlpf-panel { margin-top: 16px; }
.tlh3 .tlpf-tabs.is-js .tlpf-panel { display: none; }
.tlh3 .tlpf-tabs.is-js .tlpf-panel.is-on { display: grid; animation: tlpfIn .22s ease-out; }
@keyframes tlpfIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.tlh3 .tlpf-panel-q { margin: 0 0 6px; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--o-accent); }
.tlh3 .tlpf-panel-copy h3 { margin: 0 0 12px; font-size: clamp(1.35rem, 1.1rem + .8vw, 1.8rem); line-height: 1.15; font-weight: 800; letter-spacing: -.02em; color: var(--o-text); }
.tlh3 .tlpf-panel-copy p { margin: 0 0 14px; font-size: 1.02rem; line-height: 1.6; color: var(--o-soft); }
.tlh3 .tlpf-panel-copy .tlpf-panel-auto { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; color: var(--o-text); }
.tlh3 .tlpf-panel-card .tlpf-card { max-width: none; margin: 0; }
.tlh3 .tlpf-panel-card .tlpf-card .tlpf-head .tlpf-steplabel, .tlh3 .tlpf-panel-card .tlpf-card .tlpf-name, .tlh3 .tlpf-panel-card .tlpf-card .tlpf-question { display: none; }
.tlh3 .tlpf-panel-card .tlpf-card .tlpf-head { justify-content: flex-end; }
.tlh3 .tlpf-panel-card .tlpf-card .tlpf-head .tlpf-stepno { display: none; }
.tlh3 .tlpf-panel-card .tlpf-auto { display: none; }
.tlh3 .tlpf-tabs ~ .tlpf-outcome { margin-top: 18px; }

.tlh3 .tlh3-steps3 { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; counter-reset: none; }
.tlh3 .tlh3-steps3 li { position: relative; padding: 26px 24px 24px; border: 1px solid var(--o-line); border-radius: 18px; background: var(--o-card); }
.tlh3 .tlh3-steps3-n { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--o-accent); color: #fff; font-weight: 800; margin-bottom: 14px; }
html[data-tla-theme="dark"] .tlh3 .tlh3-steps3-n { color: #04121f; }
.tlh3 .tlh3-steps3 h3 { margin: 0 0 8px; font-size: 1.1rem; font-weight: 800; color: var(--o-text); }
.tlh3 .tlh3-steps3 p { margin: 0; font-size: .97rem; line-height: 1.55; color: var(--o-soft); }

.tlh3 .tlh3-compare-line { margin: 22px 0 0; padding: 16px 18px; border-radius: 14px; border: 1px dashed var(--o-line); font-size: .97rem; line-height: 1.55; color: var(--o-soft); }
.tlh3 .tlh3-compare-line strong { color: var(--o-text); }
.tlh3 .tlh3-final .tlh3-sub { margin: 8px auto 0; text-align: center; }

@media (max-width: 960px) {
	.tlh3 .tlh3-pains { grid-template-columns: 1fr; gap: 12px; margin-top: 30px; }
	.tlh3 .tlpf-tablist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tlh3 .tlpf-panel { grid-template-columns: 1fr; gap: 22px; padding: 22px; }
	.tlh3 .tlh3-steps3 { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.tlh3 .tlpf-tablist { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 8px; padding-bottom: 4px; }
	.tlh3 .tlpf-tab { flex: 0 0 72%; scroll-snap-align: start; }
}
.tlh3 .tlh3-steps3 + .tlh3-ctas { margin-top: 30px; }

/* ============================================================
   1.0.396: layout fixes from the live review, agency trial.
   ============================================================ */
/* Tabs: labels wrap inside their own box on every theme. */
.tlh3 .tlpf-tablist { align-items: stretch; }
.tlh3 .tlpf-tab { white-space: normal; min-width: 0; height: auto; min-height: 76px; font-size: 16px; line-height: 1.25; letter-spacing: 0; text-transform: none; }
.tlh3 .tlpf-tab-t { flex: 1 1 auto; overflow: hidden; }
.tlh3 .tlpf-tab-t small { font-size: 11px; line-height: 1.3; }
.tlh3 .tlpf-tab-t strong { font-size: 15px; line-height: 1.25; white-space: normal; overflow-wrap: break-word; hyphens: manual; }
/* Hero: room under the problem strip. */
.tlh3 .tlh3-hero .tlh3-pains { margin-bottom: 0; padding-bottom: 28px; }
/* Agency trial. */
.tlh3 .tlat-steps { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 18px; }
.tlh3 .tlat-steps li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 16px; align-items: start; }
.tlh3 .tlat-steps .tlh3-steps3-n { margin: 0; }
.tlh3 .tlat-steps h3 { margin: 4px 0 4px; font-size: 1.08rem; font-weight: 800; color: var(--o-text); }
.tlh3 .tlat-steps p { margin: 0; font-size: .97rem; line-height: 1.55; color: var(--o-soft); }
.tlh3 .tlat-panel { align-self: start; }
.tlh3 .tlat-form { display: grid; gap: 16px; margin-top: 6px; }
.tlh3 .tlat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tlh3 .tlat-field { display: grid; gap: 6px; font-size: .88rem; font-weight: 700; color: var(--o-text); }
.tlh3 .tlat-field small { font-weight: 500; color: var(--o-soft); }
.tlh3 .tlat-field input { width: 100%; box-sizing: border-box; height: 46px; padding: 0 14px; border: 1px solid var(--o-line); border-radius: 12px; background: #fff; color: #10233c; font: inherit; font-size: 1rem; font-weight: 500; }
.tlh3 .tlat-field input:focus { outline: 3px solid rgba(22, 98, 196, .25); border-color: var(--o-accent); }
.tlh3 .tlat-field input[readonly] { background: #f3f5f9; }
.tlh3 .tlat-consent { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; font-size: .86rem; line-height: 1.5; color: var(--o-soft); }
.tlh3 .tlat-consent input { width: 18px; height: 18px; margin: 2px 0 0; }
.tlh3 .tlat-consent a { color: var(--o-accent); }
.tlh3 .tlat-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tlh3 .tlat-notice { margin: 0 0 14px; padding: 14px 16px; border-radius: 12px; font-size: .95rem; line-height: 1.5; }
.tlh3 .tlat-notice.is-ok { background: #ecfdf3; border: 1px solid #a6e9c1; color: #0f5132; }
.tlh3 .tlat-notice.is-info { background: #eef4ff; border: 1px solid #c7d8fb; color: #12366e; }
.tlh3 .tlat-notice.is-error { background: #fff1f1; border: 1px solid #f6c2c2; color: #8a1c1c; }
.tlh3 .tlh3-price-foot { margin: 14px 0 0; font-size: .9rem; color: var(--o-soft); text-align: center; }
.tlh3 .tlh3-price .tlh3-btn-block + .tlh3-btn-block { margin-top: 10px; }
@media (max-width: 960px) { .tlh3 .tlat-grid { grid-template-columns: 1fr; } }
/* Submit buttons share the link button styles. */
.tlh3 button.tlh3-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 22px; border-radius: 12px; border: 1px solid transparent; font-family: inherit; font-size: 1rem; font-weight: 700; line-height: 1; white-space: nowrap; cursor: pointer; text-transform: none; letter-spacing: 0; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.tlh3 button.tlh3-btn-gold { background: var(--o-gold-btn); color: var(--o-gold-text) !important; -webkit-text-fill-color: var(--o-gold-text) !important; border-color: rgba(120, 90, 30, .25); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 10px 24px -10px rgba(176, 141, 77, .7); }
.tlh3 button.tlh3-btn-gold:hover { background: var(--o-gold-btn-hover); transform: translateY(-1px); }
.tlh3 button.tlh3-btn-block { display: flex; width: 100%; }
/* Card grids follow their item count, so no row is left with a lone card. */
.tlh3 .tlh3-cards:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tlh3 .tlh3-cards:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.tlh3 .tlh3-cards:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) {
	.tlh3 .tlh3-cards:has(> :nth-child(5):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tlh3 .tlh3-cards:has(> :nth-child(5):last-child) > :last-child { grid-column: 1 / -1; }
	.tlh3 .tlh3-cards:has(> :nth-child(3):last-child), .tlh3 .tlh3-cards:has(> :nth-child(6):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tlh3 .tlh3-cards:has(> :nth-child(3):last-child) > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.tlh3 .tlh3-cards:has(> *) { grid-template-columns: minmax(0, 1fr); }
	.tlh3 .tlh3-cards > :last-child { grid-column: auto; }
}
.tlh3 .tlrc-steps:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .tlh3 .tlrc-steps:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .tlh3 .tlrc-steps:has(> :nth-child(4):last-child) { grid-template-columns: minmax(0, 1fr); } }
.tlh3 .tlat-field input::placeholder { color: #8a96a8; }
.tlh3 .tlat-grid { align-items: end; }

/* 1.0.397: Portfolio Autopilot result strip - all four outcomes on one line when they fit, otherwise a 2 x 2 grid, one column on narrow screens. Never 3 + 1. Sized by the strip's own width, not the viewport. */
.tlh3 .tlpf-outcome { container-type: inline-size; }
.tlh3 .tlpf-outcome-inner { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 26px; row-gap: 14px; }
.tlh3 .tlpf-outcome ul { display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; align-items: center; gap: 12px 20px; }
.tlh3 .tlpf-outcome li { white-space: nowrap; font-size: 1rem; line-height: 1.3; margin: 0; padding: 0; }
.tlh3 .tlpf-outcome-h { white-space: nowrap; }
@container (max-width: 1100px) {
	.tlh3 .tlpf-outcome ul { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; column-gap: 24px; }
}
@container (max-width: 620px) {
	.tlh3 .tlpf-outcome-inner { grid-template-columns: minmax(0, 1fr); }
	.tlh3 .tlpf-outcome ul { grid-template-columns: minmax(0, 1fr); }
	.tlh3 .tlpf-outcome li { white-space: normal; }
}

/* 1.0.397 mobile pass: nothing cut off, nothing orphaned, consistent spacing. */
.tlh3 p, .tlh3 li { text-wrap: pretty; }
.tlh3 .tlh3-h1, .tlh3 .tlh3-h2, .tlh3 .tlpf-scale { text-wrap: balance; }
.tlh3 .tlh3-card-label { font-size: .75rem; }
.tlh3 .tlh3-final .tlh3-sub { margin: 10px auto 26px; }
@media (min-width: 421px) { .tlh3 .tlpf-scale .tlh3-link { white-space: nowrap; } }
.tlh3 .tlat-consent { grid-template-columns: 22px minmax(0, 1fr); }
.tlh3 .tlat-consent input { width: 20px; height: 20px; }
/* Trust points stack below desktop, so a short list never breaks two-and-one. */
@media (max-width: 960px) { .tlh3 .tlh3-trust { flex-direction: column; gap: 6px; } }
@container (max-width: 900px) {
	.tlh3 .tlpf-outcome-inner { grid-template-columns: minmax(0, 1fr); }
}
@container (max-width: 480px) {
	.tlh3 .tlpf-outcome ul { grid-template-columns: minmax(0, 1fr); }
	.tlh3 .tlpf-outcome li { white-space: normal; }
}
@media (max-width: 520px) {
	/* The four stages as a 2 x 2 grid of tabs: all visible, none cut off at the edge. */
	.tlh3 .tlpf-tablist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; gap: 8px; padding-bottom: 0; }
	.tlh3 .tlpf-tab { flex: none; min-height: 64px; padding: 10px 12px; gap: 10px; }
	.tlh3 .tlpf-tab-t strong { font-size: 14px; }
	/* Card grids go to one column on phones. */
	.tlh3 .tlh3-cards { grid-template-columns: minmax(0, 1fr) !important; }
	.tlh3 .tlh3-cards > * { grid-column: auto !important; }
	.tlh3 .tlpf-scale { font-size: 1rem; }
}
.tlh3 .tlat-consent input { accent-color: var(--o-accent); }
html[data-tla-theme="dark"] .tlh3 .tlat-consent input { color-scheme: dark; }

/* 1.0.406 How TLA helps band */
.tlrc-feed .tlrc-feed-list { list-style: none; margin: 4px 0 12px; padding: 0; display: grid; gap: 7px; }
.tlrc-feed .tlrc-feed-list li { position: relative; padding-left: 26px; line-height: 1.45; }
.tlrc-feed .tlrc-feed-list li::before { content: ""; position: absolute; left: 2px; top: .42em; width: 12px; height: 7px; border-left: 2px solid #b8892b; border-bottom: 2px solid #b8892b; transform: rotate(-45deg); }
@media (max-width: 760px) { .tlrc-feed .tlh3-ctas, .tlrc-feed .tlh3-ctas .tlh3-btn { width: 100%; } .tlrc-feed .tlh3-btn { white-space: normal; justify-content: center; } }

/* 1.0.407 Authority section */
.tlh3 .tla-auth-depts { margin: 2.25rem auto 0; max-width: 1080px; }
.tlh3 .tla-auth-depts-k { text-align: center; margin: 0 0 14px; }
.tlh3 .tla-auth-depts ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tlh3 .tla-auth-depts li { display: flex; flex-direction: column; padding: 18px 20px; border-radius: 16px; border: 1px dashed var(--o-panel-line); }
.tlh3 .tla-auth-depts h3 { margin: 0 0 4px; font-size: .98rem; font-weight: 750; color: var(--o-text); }
.tlh3 .tla-auth-depts p { margin: 0 0 10px; font-size: .88rem; line-height: 1.5; color: var(--o-muted); }
.tlh3 .tla-auth-depts .tla-auth-contact { margin: auto 0 0; display: flex; flex-direction: column; gap: 4px; font-size: .86rem; }
.tlh3 .tla-auth-depts .tla-auth-contact a:first-child { color: var(--o-text); font-weight: 600; overflow-wrap: anywhere; }
.tlh3 .tla-auth .tlh3-head { margin-bottom: 2rem; }
.tlh3 .tla-auth-figs { list-style: none; margin: 0 auto 2.25rem; padding: 0; max-width: 980px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.tlh3 .tla-auth-figs li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 22px 12px; border-radius: 18px; border: 1px solid var(--o-panel-line); background: var(--o-card); }
.tlh3 .tla-auth-figs strong { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); line-height: 1; font-weight: 800; letter-spacing: -.03em; color: var(--o-text); }
.tlh3 .tla-auth-figs span { font-size: .86rem; color: var(--o-soft); }
.tlh3 .tla-auth-proof { list-style: none; margin: 0 auto; padding: 0; max-width: 1080px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tlh3 .tla-auth-proof li { display: flex; gap: 14px; align-items: flex-start; padding: 20px; border-radius: 18px; border: 1px solid var(--o-panel-line); background: var(--o-card); }
.tlh3 .tla-auth-ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; color: var(--o-accent); background: var(--o-mist); }
.tlh3 .tla-auth-proof h3 { margin: 2px 0 4px; font-size: 1rem; font-weight: 750; color: var(--o-text); }
.tlh3 .tla-auth-proof p { margin: 0 0 8px; font-size: .9rem; line-height: 1.5; color: var(--o-muted); }
.tlh3 .tla-auth-proof .tlh3-link { font-size: .88rem; font-weight: 650; }
.tlh3 .tla-auth-legal { margin: 1.5rem auto 0; max-width: 820px; text-align: center; font-size: .78rem; line-height: 1.55; color: var(--o-soft); }
.tlap .tla-auth-orbit { margin-top: 14px; font-size: .84rem; }
@media (max-width: 900px) {
}
@media (max-width: 640px) {
	.tlh3 .tla-auth-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.tlh3 .tla-auth-figs li { padding: 16px 8px; }
}

/* 1.0.407 Agent Partner Programme and referrals */
.tlh3 .tlap-ap-badges, .tlh3 .tla-ap-promo-badges { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 28px; border-radius: 22px; border: 1px solid var(--o-panel-line); background: var(--o-panel); }
.tlh3 .tlap-ap-badges img, .tlh3 .tla-ap-promo-badges img { max-width: 100%; height: auto; filter: drop-shadow(0 8px 18px rgba(8, 12, 45, .18)); }
.tlh3 .tlap-ap-badges p { margin: 4px 0 0; font-size: .86rem; color: var(--o-soft); text-align: center; }
.tlh3 .tlap-ap-tiers { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 14px; }
.tlh3 .tlap-ap-tiers li { display: flex; gap: 14px; align-items: center; }
.tlh3 .tlap-ap-tiers img { flex: none; width: 150px; height: auto; }
.tlh3 .tlap-ap-tiers strong { display: block; color: var(--o-text); }
.tlh3 .tlap-ap-tiers span { font-size: .88rem; color: var(--o-muted); }
.tlh3 .tla-ap-line { margin-top: 14px; font-size: .92rem; }
.tla-ref .tla-ref-hero .tlh3-wrap { max-width: 860px; }
.tla-ref .tla-ref-link { margin-top: 22px; }
.tla-ref .tla-ref-link label { display: block; font-weight: 700; font-size: .86rem; margin-bottom: 6px; color: var(--o-text); }
.tla-ref .tla-ref-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.tla-ref .tla-ref-copy input { width: 100%; min-width: 0; box-sizing: border-box; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--o-line-2); background: var(--o-panel); color: var(--o-text); font: inherit; font-size: .92rem; }
.tla-ref .tla-ref-share { margin: 10px 0 0; font-size: .9rem; color: var(--o-soft); }
.tla-ref .tla-ref-share a { font-weight: 650; color: var(--o-accent); }
.tla-ref .tla-ref-h2 { text-align: center; margin: 0 0 1.5rem; }
.tla-ref .tla-ref-stats { list-style: none; margin: 0 auto; padding: 0; max-width: 1080px; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.tla-ref .tla-ref-stats li { display: flex; flex-direction: column; gap: 4px; padding: 20px; border-radius: 16px; border: 1px solid var(--o-panel-line); background: var(--o-card); }
.tla-ref .tla-ref-stats strong { font-size: 2rem; line-height: 1; font-weight: 800; color: var(--o-text); }
.tla-ref .tla-ref-stats span { font-size: .86rem; color: var(--o-soft); }
.tla-ref .tla-ref-stats li.is-accent { border-color: var(--o-gold); }
.tla-ref .tla-ref-miles { list-style: none; margin: 1.75rem auto 0; padding: 0; max-width: 1080px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tla-ref .tla-ref-miles li { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; padding: 14px 16px; border-radius: 14px; border: 1px dashed var(--o-panel-line); color: var(--o-soft); }
.tla-ref .tla-ref-miles li.is-done { border-style: solid; border-color: var(--o-gold); color: var(--o-text); background: var(--o-card); }
.tla-ref .tla-ref-mile-n { grid-row: span 2; width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; background: var(--o-mist); color: var(--o-soft); }
.tla-ref .tla-ref-miles li.is-done .tla-ref-mile-n { background: var(--o-gold); color: #0b1033; }
.tla-ref .tla-ref-miles strong { font-size: .95rem; }
.tla-ref .tla-ref-miles span { font-size: .8rem; }
.tla-ref .tla-ref-next { text-align: center; margin: 1rem 0 0; color: var(--o-soft); font-size: .92rem; }
.tla-ref .tla-ref-done { margin-top: 14px; padding: 10px 14px; border-radius: 10px; background: var(--o-card); border: 1px solid var(--o-panel-line); font-weight: 600; }
.tla-ref .tla-ref-badge { display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: 20px; border: 1px solid var(--o-panel-line); background: var(--o-panel); }
.tla-ref .tla-ref-badge img { align-self: center; max-width: 100%; height: auto; }
.tla-ref .tla-ref-badge label { font-weight: 700; font-size: .86rem; color: var(--o-text); }
.tla-ref .tla-ref-badge textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--o-line-2); background: var(--o-bg); color: var(--o-text); font: .78rem/1.4 ui-monospace, monospace; }
.tla-ref .tla-ref-tier { font-weight: 650; color: var(--o-text); }
.tla-ref .tla-ref-signin { max-width: 720px; }
.tla-ref .tla-ref-signin .tlh3-sub { margin: 14px 0 0; }
.tla-ref .tla-ref-signin .tlh3-ctas { margin-top: 24px; }
@media (max-width: 760px) {
	.tla-ref .tla-ref-miles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tla-ref .tla-ref-copy { grid-template-columns: minmax(0, 1fr); }
	.tla-ref .tla-ref-copy .tlh3-btn { width: 100%; justify-content: center; }
	.tlh3 .tlap-ap-tiers img { width: 120px; }
}
@media (min-width: 1001px) { .tlh3 .tlrc-days.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tla-ref .tla-ref-tier { margin-top: 14px; }
@media (max-width: 760px) { .tla-ref .tla-ref-stats li.is-accent { grid-column: 1 / -1; } .tla-ref .tla-ref-stats strong { font-size: 1.7rem; } .tla-ref .tla-ref-stats li { padding: 16px; } }

/* 1.0.407 authority and department grids: keep last so they override the base rules */
@media (max-width: 900px) { .tlh3 .tla-auth-proof, .tlh3 .tla-auth-depts ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .tlh3 .tla-auth-proof, .tlh3 .tla-auth-depts ul { grid-template-columns: minmax(0, 1fr); } }

/* ── 1.0.412: "From problem to proof" plays through its four stages ─────── */
.tlh3 .tlpf-tab { position: relative; overflow: hidden; }
.tlh3 .tlpf-tab-bar { position: absolute; left: 16px; right: 16px; bottom: 0; height: 3px; pointer-events: none; }
.tlh3 .tlpf-tab-bar i { display: block; width: 0; height: 100%; border-radius: 3px 3px 0 0; background: #B39558; }
.tlh3 .tlpf-tabs[data-playing="1"] .tlpf-tab.is-on .tlpf-tab-bar i { animation: tlpf-fill 9s linear forwards; }
@keyframes tlpf-fill { from { width: 0; } to { width: 100%; } }
.tlh3 .tlpf-autobar { display: flex; justify-content: flex-end; margin: 10px 0 6px; min-height: 0; }
.tlh3 .tlpf-pause {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid var(--o-line);
	border-radius: 6px;
	background: var(--o-card);
	color: var(--o-text);
	font: 600 .8125rem/1 Inter, Arial, sans-serif;
	cursor: pointer;
}
.tlh3 .tlpf-pause[hidden] { display: none; }
.tlh3 .tlpf-pause:hover { border-color: var(--o-text); }
.tlh3 .tlpf-pause-i { position: relative; width: 10px; height: 12px; }
.tlh3 .tlpf-pause-i::before, .tlh3 .tlpf-pause-i::after { content: ""; position: absolute; top: 0; width: 3px; height: 12px; border-radius: 1px; background: currentColor; }
.tlh3 .tlpf-pause-i::before { left: 0; }
.tlh3 .tlpf-pause-i::after { right: 0; }
.tlh3 .tlpf-pause[aria-pressed="true"] .tlpf-pause-i::before { width: 0; height: 0; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent currentColor; background: none; border-radius: 0; }
.tlh3 .tlpf-pause[aria-pressed="true"] .tlpf-pause-i::after { display: none; }
.tlh3 .tlpf-tabs.is-js .tlpf-panel.is-on { animation: tlpf-panel-in .45s ease both; }
@keyframes tlpf-panel-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.tlh3 .tlpf-tabs.is-js .tlpf-panel.is-on { animation: none; }
}
