@theme {
	--color-midnight: #000018;
	--color-brand: #1C2A39;
	--color-graphite: #0A0A0A;
	--color-gold: #CBAF6E;
	--color-paper: #F2EFE8;
	--color-soft: #F7F8FA;
	--color-white: #FFFFFF;
	--font-sans: "Manrope", "Avenir Next", "Segoe UI", Arial, sans-serif;
	--font-serif: "Newsreader", "Iowan Old Style", Georgia, serif;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.75rem;
	--text-3xl: 2.25rem;
	--text-4xl: 2.75rem;
	--text-5xl: 4rem;
	--radius-sm: 0.25rem;
	--radius-md: 0.75rem;
}

:root {
	--tp-midnight: #071B2E;
	--tp-brand: #071B2E;
	--tp-graphite: #071B2E;
	--tp-gold-deep: #CBAF6E;
	--tp-gold-dark: #CBAF6E;
	--tp-gold: #CBAF6E;
	--tp-gold-light: #CBAF6E;
	--tp-gold-burnished: #CBAF6E;
	--tp-gold-gradient: linear-gradient(126deg, #CBAF6E 0%, #CBAF6E 100%);
	--tp-paper: #FFFFFF;
	--tp-soft: #FFFFFF;
	--tp-white: #FFFFFF;
	--tp-muted: #66717C;
	--tp-line: rgba(7, 27, 46, .14);
	--tp-shadow: 0 22px 60px rgba(7, 27, 46, .10);
	--tp-serif: "Newsreader", "Iowan Old Style", Georgia, serif;
	--tp-sans: "Manrope", "Avenir Next", "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.tp-body {
	margin: 0;
	background: var(--tp-soft);
	color: var(--tp-brand);
	font-family: var(--tp-sans);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
a { color: inherit; }
svg { display: block; }
.tp-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.tp-skip-link {
	position: fixed; z-index: 100; top: 10px; left: 10px; padding: 10px 14px;
	background: var(--tp-white); color: var(--tp-midnight); transform: translateY(-180%);
}
.tp-skip-link:focus { transform: translateY(0); }

.tp-header {
	position: sticky; top: 0; z-index: 40;
	background: rgba(0, 0, 24, .94); color: var(--tp-white);
	border-bottom: 1px solid rgba(198, 169, 105, .25); backdrop-filter: blur(14px);
}
.tp-header__inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.tp-header__brand-cluster { display:flex; align-items:center; gap:14px; min-width:0; }
.tp-socials { display:flex; align-items:center; gap:8px; }
.tp-socials__link { width:32px; height:32px; flex:0 0 32px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(198,169,105,.42); border-radius:50%; color:var(--tp-gold-light); text-decoration:none; transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }
.tp-socials__link:hover { background:rgba(198,169,105,.12); border-color:var(--tp-gold-light); color:var(--tp-white); transform:translateY(-1px); }
.tp-socials__link svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tp-socials__link[aria-label="Facebook"] svg { stroke-width:1.9; }
.tp-brand { display: flex; align-items: center; gap: 13px; text-decoration: none; }
.tp-brand__mark { width: 42px; height: 42px; flex: 0 0 42px; }
.tp-brand strong { display: block; font-family: var(--tp-serif); font-size: 19px; font-weight: 500; letter-spacing: .04em; }
.tp-brand small { display: block; color: var(--tp-gold-light); font-size: 10px; text-transform: uppercase; letter-spacing: .22em; }
.tp-header__nav { display: flex; align-items: center; gap: 28px; font-size: 13px; }
.tp-header__nav a { text-decoration: none; color: rgba(255,255,255,.72); }
.tp-header__nav a:hover { color: var(--tp-white); }
.tp-header__nav span {
	padding: 7px 11px; border: 1px solid rgba(198,169,105,.45); color: var(--tp-gold-light);
	font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
}

.tp-hero { position: relative; overflow: hidden; background: var(--tp-midnight); color: var(--tp-white); }
.tp-hero::before {
	content: ""; position: absolute; width: 660px; height: 660px; left: -380px; top: -380px;
	border: 1px solid rgba(198,169,105,.15); transform: rotate(45deg);
}
.tp-hero__grid { position:relative; min-height:720px; display:block; }
.tp-hero__copy { position:relative; z-index:4; width:min(58%,700px); padding-block:108px; }
.tp-kicker { margin: 0 0 24px; color: var(--tp-gold-light); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.tp-kicker--dark { color: #8B6C31; }
.tp-hero h1, .tp-section h2, .tp-display-sample {
	margin: 0; font-family: var(--tp-serif); font-weight: 400; line-height: .98; letter-spacing: -.035em;
}
.tp-hero h1 { font-size: clamp(52px, 6vw, 84px); }
.tp-hero h1 em, .tp-display-sample em {
	font-weight: 400; color: var(--tp-gold-light);
	background: var(--tp-gold-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.tp-lead { max-width: 620px; margin: 30px 0 0; color: rgba(255,255,255,.72); font-size: 18px; line-height: 1.75; }
.tp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 38px; }
.tp-button {
	display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 18px; padding: 12px 22px;
	border: 1px solid transparent; text-decoration: none; font-size: 13px; font-weight: 700; letter-spacing: .035em;
	transition: background-color .22s ease, color .22s ease, border-color .22s ease, transform .22s ease;
}
.tp-button:hover { transform: translateY(-2px); }
.tp-button--primary {
	background: var(--tp-gold-gradient); color: var(--tp-midnight);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 10px 26px rgba(155,116,29,.16);
}
.tp-button--primary:hover { filter: brightness(1.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 14px 32px rgba(155,116,29,.24); }
.tp-button--ghost { border-color: rgba(255,255,255,.38); color: var(--tp-white); }
.tp-button--ghost:hover { border-color: var(--tp-gold); color: var(--tp-gold-light); }
.tp-button--secondary { border-color: var(--tp-brand); color: var(--tp-brand); }
.tp-button--secondary:hover { background: var(--tp-brand); color: var(--tp-white); }
.tp-text-link {
	display: inline-flex; align-items: center; gap: 12px; padding: 8px 2px; border-bottom: 1px solid var(--tp-gold);
	text-decoration: none; font-size: 13px; font-weight: 700;
}
.tp-note { margin: 30px 0 0; color: rgba(255,255,255,.48); font-size: 12px; }
.tp-note span { color: var(--tp-gold); margin-right: 8px; }

.tp-hero__visual { position:absolute; z-index:1; top:0; bottom:0; left:50%; width:100vw; min-height:720px; transform:translateX(-50%); }
.tp-hero__photo { position:absolute; inset:0; background-position:center center; background-size:cover; clip-path:none; }
.tp-consulting { background-image:url('/wp-content/uploads/2026/10/Tommy-Positiv-Beratung-Chemnitz.png') !important; }
.tp-hero__photo::after {
	content:""; position:absolute; inset:0;
	background:linear-gradient(90deg,rgba(0,0,24,.94) 0%,rgba(0,0,24,.88) 24%,rgba(0,0,24,.62) 43%,rgba(0,0,24,.18) 58%,rgba(0,0,24,.04) 72%,rgba(0,0,24,.10) 100%);
}
.tp-shield-lines { display:none; }
.tp-shield-lines span { position:absolute; inset:0; border:1px solid rgba(198,169,105,.55); clip-path:polygon(50% 0,94% 22%,86% 78%,50% 100%,14% 78%,6% 22%); }
.tp-shield-lines span:nth-child(2){ inset:9%; opacity:.55; }
.tp-shield-lines span:nth-child(3){ inset:18%; opacity:.3; }
.tp-hero__caption {
	position:absolute; z-index:3; right:max(24px,calc((100vw - 1180px)/2)); bottom:54px; width:245px; padding:18px 22px;
	background:rgba(0,0,24,.82); border-left:2px solid var(--tp-gold); backdrop-filter:blur(8px);
}
.tp-hero__caption span, .tp-image-card figcaption span { display:block; color:var(--tp-gold-light); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.tp-hero__caption strong { display:block; margin-top:5px; font-family:var(--tp-serif); font-size:19px; font-weight:500; }

.tp-section { padding: 112px 0; }
.tp-section--light { background: var(--tp-soft); }
.tp-section--paper { background: var(--tp-paper); }
.tp-section--navy { background: var(--tp-brand); color: var(--tp-white); }
.tp-section--midnight { background: var(--tp-midnight); color: var(--tp-white); }
.tp-section-head { display:grid; grid-template-columns:1fr .72fr; align-items:end; gap:80px; margin-bottom:58px; }
.tp-section-head h2 { color:var(--tp-midnight); font-size:clamp(40px,5vw,58px); }
.tp-section-head > p { margin:0 0 5px; color:var(--tp-muted); font-size:16px; }
.tp-section-head--inverse h2 { color:var(--tp-white); }
.tp-section-head--inverse > p { color:rgba(255,255,255,.62); }

.tp-principles { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--tp-line); }
.tp-principles article { padding:34px 34px 10px 0; border-right:1px solid var(--tp-line); }
.tp-principles article + article { padding-left:34px; }
.tp-principles article:last-child { border-right:0; }
.tp-principles span { color:#8B6C31; font-size:11px; letter-spacing:.18em; }
.tp-principles h3 { margin:26px 0 12px; font-family:var(--tp-serif); font-size:27px; font-weight:500; }
.tp-principles p { margin:0; color:var(--tp-muted); }

.tp-swatches { display:grid; grid-template-columns:repeat(6,1fr); min-height:225px; box-shadow:var(--tp-shadow); }
.tp-swatch { display:flex; flex-direction:column; justify-content:flex-end; gap:3px; padding:20px; border-right:1px solid rgba(255,255,255,.12); }
.tp-swatch span { font-size:12px; font-weight:700; }
.tp-swatch code { font-family:var(--tp-sans); font-size:10px; opacity:.65; }
.tp-swatch--midnight { background:#000018; color:#fff; }
.tp-swatch--brand { background:#1C2A39; color:#fff; }
.tp-swatch--graphite { background:#0A0A0A; color:#fff; }
.tp-swatch--gold { background:var(--tp-gold-gradient); color:#000018; }
.tp-swatch--soft { background:#F7F8FA; color:#1C2A39; }
.tp-swatch--white { background:#FFFFFF; color:#1C2A39; }

.tp-type-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:100px; align-items:center; }
.tp-display-sample { color:var(--tp-midnight); font-size:clamp(44px,5.4vw,68px); }
.tp-type-meta { margin-top:24px; color:var(--tp-muted); font-size:12px; }
.tp-overline { margin:0 0 28px; color:#8B6C31; font-size:11px; font-weight:700; letter-spacing:.19em; }
.tp-type-body h3 { margin:0 0 14px; color:var(--tp-brand); font-size:25px; letter-spacing:-.025em; }
.tp-type-body > p:not(.tp-overline) { margin:0; color:var(--tp-muted); }
.tp-type-scale { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.tp-type-scale span { min-width:82px; padding:12px; background:rgba(255,255,255,.65); border:1px solid var(--tp-line); font-size:11px; }
.tp-type-scale b { display:block; color:var(--tp-brand); font-size:17px; }

.tp-component-label { display:flex; justify-content:space-between; gap:24px; margin:64px 0 22px; padding-bottom:12px; border-bottom:1px solid var(--tp-line); }
.tp-component-label span { font-weight:700; }
.tp-component-label small { color:var(--tp-muted); }
.tp-actions--showcase { margin-top:0; }
.tp-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tp-service-card {
	position:relative; min-height:390px; padding:34px; background:var(--tp-white); border:1px solid var(--tp-line);
	transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.tp-service-card::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--tp-gold); transform:scaleX(0); transform-origin:left; transition:transform .24s ease; }
.tp-service-card:hover { transform:translateY(-4px); box-shadow:var(--tp-shadow); border-color:rgba(198,169,105,.6); }
.tp-service-card:hover::after { transform:scaleX(1); }
.tp-service-card--featured { background:var(--tp-brand); color:var(--tp-white); }
.tp-service-card__icon { width:50px; height:50px; display:grid; place-items:center; margin-bottom:52px; border:1px solid rgba(198,169,105,.65); color:var(--tp-gold); }
.tp-service-card__icon svg { width:28px; fill:none; stroke:currentColor; stroke-width:1.5; }
.tp-eyebrow { margin:0 0 12px; color:#8B6C31; font-size:10px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.tp-service-card--featured .tp-eyebrow { color:var(--tp-gold-light); }
.tp-service-card h3 { margin:0 0 15px; font-family:var(--tp-serif); font-size:29px; font-weight:500; }
.tp-service-card p:not(.tp-eyebrow) { margin:0; color:var(--tp-muted); font-size:14px; }
.tp-service-card--featured p:not(.tp-eyebrow) { color:rgba(255,255,255,.66); }
.tp-service-card > a { position:absolute; left:34px; bottom:31px; text-decoration:none; font-size:12px; font-weight:700; border-bottom:1px solid var(--tp-gold); }

.tp-three-s { list-style:none; margin:74px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); position:relative; }
.tp-three-s::before { content:""; position:absolute; top:27px; left:4%; right:4%; height:1px; background:linear-gradient(90deg,transparent,var(--tp-gold),transparent); }
.tp-three-s li { position:relative; text-align:center; padding:0 30px; }
.tp-three-s li > span { position:relative; z-index:2; display:grid; place-items:center; width:54px; height:54px; margin:0 auto 32px; background:var(--tp-midnight); border:1px solid var(--tp-gold); color:var(--tp-gold-light); font-size:11px; border-radius:50%; }
.tp-three-s li div > p { margin:0; color:rgba(198,169,105,.14); font-family:var(--tp-serif); font-size:94px; line-height:.75; }
.tp-three-s h3 { margin:-36px 0 14px; font-family:var(--tp-serif); font-size:30px; font-weight:500; }
.tp-three-s small { display:block; color:rgba(255,255,255,.58); font-size:14px; }

.tp-image-grid { display:grid; grid-template-columns:.72fr 1fr 1fr; gap:18px; align-items:end; }
.tp-image-card { margin:0; }
.tp-image { min-height:330px; background-color:var(--tp-brand); background-position:center; background-size:cover; filter:saturate(.84) contrast(1.03); }
.tp-image-card--portrait .tp-image { min-height:470px; }
.tp-image-card figcaption { position:relative; margin:-48px 16px 0; padding:18px 20px; background:rgba(0,0,24,.92); color:var(--tp-white); border-left:2px solid var(--tp-gold); }
.tp-image-card figcaption strong { display:block; margin-top:5px; font-family:var(--tp-serif); font-size:18px; font-weight:500; }

.tp-trust-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:18px; }
.tp-review-card, .tp-proof-card { padding:38px; background:var(--tp-white); border:1px solid var(--tp-line); }
.tp-review-card__head { display:flex; gap:16px; align-items:center; }
.tp-review-card__head strong { display:block; }
.tp-review-card__head small { display:block; color:var(--tp-muted); font-size:11px; }
.tp-google-mark { position:relative; width:42px; height:42px; border-radius:50%; border:6px solid #4285F4; }
.tp-google-mark span { position:absolute; width:7px; height:7px; border-radius:50%; }
.tp-google-mark span:nth-child(1){background:#EA4335;top:-5px;left:7px}
.tp-google-mark span:nth-child(2){background:#FBBC05;right:-5px;top:13px}
.tp-google-mark span:nth-child(3){background:#34A853;bottom:-5px;left:8px}
.tp-review-card blockquote { margin:34px 0; color:var(--tp-brand); font-family:var(--tp-serif); font-size:25px; line-height:1.42; }
.tp-review-card > a { font-size:12px; font-weight:700; text-decoration:none; border-bottom:1px solid var(--tp-gold); }
.tp-proof-card { background:var(--tp-midnight); color:var(--tp-white); border-color:rgba(198,169,105,.22); }
.tp-proof-card .tp-eyebrow { color:var(--tp-gold-light); }
.tp-media-groups { margin-top:12px; }
.tp-media-group { padding:18px 0 20px; border-top:1px solid rgba(255,255,255,.14); }
.tp-media-group:last-child { border-bottom:1px solid rgba(255,255,255,.14); }
.tp-media-group h3 { margin:0 0 12px; color:rgba(255,255,255,.54); font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.tp-media-row { display:grid; align-items:center; gap:8px 14px; }
.tp-media-row--media { grid-template-columns:repeat(4,minmax(0,1fr)); }
.tp-media-row--stages { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tp-media-logo { display:block; min-width:0; height:82px; background-position:center; background-repeat:no-repeat; background-size:165% auto; opacity:.72; transition:opacity .25s ease, transform .25s ease; }
.tp-media-logo:hover { opacity:1; transform:translateY(-2px); }
.tp-logo--coinpod { background-size:245% auto; }
.tp-logo--krypto-festival { background-size:180% auto; }
.tp-proof-note { margin:18px 0 0; color:rgba(255,255,255,.48); font-size:11px; line-height:1.55; }

.tp-final-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.tp-final-grid h2 { color:var(--tp-white); font-family:var(--tp-serif); font-size:clamp(42px,5vw,58px); font-weight:400; line-height:1.02; }
.tp-rule-list { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.15); }
.tp-rule-list li { display:flex; gap:22px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.78); }
.tp-rule-list span { color:var(--tp-gold-light); font-size:11px; letter-spacing:.12em; }

.tp-chat { position:fixed; z-index:60; right:26px; bottom:24px; }
.tp-chat summary { width:58px; height:58px; display:grid; place-items:center; margin-left:auto; background:var(--tp-gold-gradient); color:var(--tp-midnight); border:3px solid var(--tp-midnight); border-radius:50%; box-shadow:0 12px 28px rgba(0,0,24,.28); cursor:pointer; list-style:none; }
.tp-chat summary::-webkit-details-marker { display:none; }
.tp-chat summary svg { width:25px; fill:none; stroke:currentColor; stroke-width:1.7; }
.tp-chat__panel { width:min(350px,calc(100vw - 32px)); margin-bottom:12px; padding:28px; background:var(--tp-white); border-top:3px solid var(--tp-gold); box-shadow:var(--tp-shadow); }
.tp-chat:not([open]) .tp-chat__panel { display:none; }
.tp-chat__panel strong { font-family:var(--tp-serif); font-size:22px; font-weight:500; }
.tp-chat__panel p:not(.tp-eyebrow) { color:var(--tp-muted); font-size:14px; }
.tp-chat__panel button { width:100%; padding:13px; background:var(--tp-brand); color:var(--tp-white); border:0; font:700 13px var(--tp-sans); }
.tp-chat__panel small { display:block; margin-top:12px; color:var(--tp-muted); font-size:10px; }

.tp-footer { background:var(--tp-midnight); color:rgba(255,255,255,.55); border-top:1px solid rgba(198,169,105,.2); }
.tp-footer__inner { min-height:120px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.tp-footer__inner > div { display:flex; align-items:center; gap:15px; color:var(--tp-white); }
.tp-footer__brand-wrap { display:flex; align-items:center; gap:15px; }
.tp-footer .tp-socials { gap:10px; }
.tp-footer .tp-socials__link { width:34px; height:34px; flex-basis:34px; }
.tp-footer__line { width:32px; height:1px; background:var(--tp-gold); }
.tp-footer strong { font-family:var(--tp-serif); font-weight:500; }
.tp-footer__brand { display:block; text-decoration:none; }
.tp-footer__logo { display:block; width:220px; height:58px; background-position:left center; background-repeat:no-repeat; background-size:contain; }
.tp-footer p { margin:0; font-size:11px; }

:focus-visible { outline:3px solid #E8C879; outline-offset:4px; }

@media (max-width: 920px) {
	.tp-header__nav a:not(.tp-header__cta) { display:none; }
	.tp-hero__grid { min-height:640px; display:block; }
	.tp-hero__copy { width:min(68%,650px); padding:82px 0 72px; }
	.tp-hero__visual { min-height:100%; }
	.tp-hero__photo { inset:0; background-position:center center; }
	.tp-section { padding:84px 0; }
	.tp-section-head { grid-template-columns:1fr; gap:24px; }
	.tp-principles, .tp-service-grid { grid-template-columns:1fr; }
	.tp-principles article, .tp-principles article + article { padding:28px 0; border-right:0; border-bottom:1px solid var(--tp-line); }
	.tp-swatches { grid-template-columns:repeat(3,1fr); }
	.tp-swatch { min-height:130px; }
	.tp-type-grid, .tp-final-grid { grid-template-columns:1fr; gap:54px; }
	.tp-three-s { grid-template-columns:1fr; gap:30px; }
	.tp-three-s::before { top:0; bottom:0; left:27px; right:auto; width:1px; height:auto; }
	.tp-three-s li { display:grid; grid-template-columns:54px 1fr; gap:24px; padding:0; text-align:left; }
	.tp-three-s li > span { margin:0; }
	.tp-three-s li div > p { display:none; }
	.tp-three-s h3 { margin:0 0 8px; }
	.tp-image-grid { grid-template-columns:1fr 1fr; }
	.tp-image-card--portrait { grid-row:span 2; }
	.tp-trust-grid { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
	.tp-shell { width:min(100% - 30px,1180px); }
	.tp-header__inner { min-height:70px; gap:10px; }
	.tp-header__brand-cluster { gap:8px; }
	.tp-header .tp-socials { gap:5px; }
	.tp-header .tp-socials__link { width:26px; height:26px; flex-basis:26px; }
	.tp-header .tp-socials__link svg { width:13px; height:13px; }
	.tp-header__cta { padding:10px 12px; font-size:11px; white-space:nowrap; }
	.tp-header__nav span { display:none; }
	.tp-brand strong { font-size:17px; }
	.tp-hero__copy { width:100%; padding:70px 0 64px; }
	.tp-hero__visual { min-height:100%; }
	.tp-hero__photo { inset:0; clip-path:none; background-position:58% center; }
	.tp-shield-lines { width:62%; right:0; top:42px; }
	.tp-hero__caption { right:15px; bottom:22px; width:205px; }
	.tp-section { padding:68px 0; }
	.tp-section-head { margin-bottom:42px; }
	.tp-swatches { grid-template-columns:repeat(2,1fr); }
	.tp-component-label { align-items:flex-start; flex-direction:column; gap:4px; }
	.tp-actions--showcase { align-items:stretch; flex-direction:column; }
	.tp-actions--showcase .tp-button { width:100%; }
	.tp-service-card { min-height:365px; }
	.tp-image-grid { grid-template-columns:1fr; }
	.tp-image-card--portrait { grid-row:auto; }
	.tp-image-card--portrait .tp-image, .tp-image { min-height:390px; }
	.tp-media-row--media, .tp-media-row--stages { grid-template-columns:1fr 1fr; }
	.tp-media-logo { height:76px; }
	.tp-footer__inner { padding:28px 0 92px; align-items:flex-start; flex-direction:column; }
	.tp-chat { right:16px; bottom:14px; }
}


.tp-sr-only {
	position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
	overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.tp-gold-text {
	color:var(--tp-gold-light); background:var(--tp-gold-gradient);
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.tp-section--stats {
	position:relative; overflow:hidden; background:#071022; color:var(--tp-white);
	border-top:1px solid rgba(251,232,148,.14); border-bottom:1px solid rgba(251,232,148,.14);
}
.tp-section--stats::before {
	content:""; position:absolute; inset:0; pointer-events:none;
	background:radial-gradient(circle at 50% -20%,rgba(203,175,110,.12),transparent 46%);
}
.tp-stats-intro {
	position:relative; display:grid; grid-template-columns:1fr .72fr; align-items:end;
	gap:80px; margin-bottom:68px;
}
.tp-stats-intro h2 {
	color:var(--tp-white); font-family:var(--tp-serif); font-size:clamp(40px,5vw,58px);
	font-weight:400; line-height:1.02; letter-spacing:-.035em;
}
.tp-stats-intro > p { margin:0 0 5px; color:rgba(255,255,255,.6); }
.tp-stats {
	position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
	border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15);
}
.tp-stat { min-height:195px; padding:32px 18px; border-right:1px solid rgba(255,255,255,.15); }
.tp-stat:last-child { border-right:0; }
.tp-stat__value {
	display:block; margin-bottom:25px; color:var(--tp-gold-light);
	font-family:var(--tp-serif); font-size:clamp(40px,4vw,62px); font-weight:500;
	line-height:.95; letter-spacing:-.045em; font-variant-numeric:tabular-nums;
	background:var(--tp-gold-gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.tp-stat strong { display:block; color:var(--tp-white); font-size:14px; }
.tp-stat small { display:block; margin-top:5px; color:rgba(255,255,255,.45); font-size:11px; }

@media (max-width:920px) {
	.tp-stats-intro { grid-template-columns:1fr; gap:24px; }
	.tp-stats { grid-template-columns:repeat(2,1fr); }
	.tp-stat:nth-child(2) { border-right:0; }
	.tp-stat:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.15); }
}
@media (max-width:520px) {
	.tp-stats { grid-template-columns:1fr 1fr; }
	.tp-stat { min-height:180px; padding:28px 16px; }
	.tp-stat__value { font-size:48px; }
	.tp-stat strong { font-size:12px; }
	.tp-stat small { font-size:10px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior:auto; }
	*, *::before, *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}


/* Production homepage additions */
.tp-home h2 { margin:0; font-family:var(--tp-serif); font-weight:400; line-height:1.02; letter-spacing:-.035em; font-size:clamp(40px,5vw,58px); }
.tp-path-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tp-path-card { position:relative; min-height:360px; overflow:hidden; padding:42px; background:var(--tp-white); border:1px solid var(--tp-line); }
.tp-path-card::before { content:""; position:absolute; top:0; left:0; width:108px; height:2px; background:var(--tp-gold); }
.tp-path-card--dark { background:var(--tp-brand); color:var(--tp-white); border-color:rgba(198,169,105,.35); }
.tp-path-index { position:absolute; top:32px; right:36px; color:rgba(28,42,57,.18); font-family:var(--tp-serif); font-size:52px; line-height:1; }
.tp-path-card--dark .tp-path-index { color:rgba(255,255,255,.12); }
.tp-path-card h3 { max-width:560px; margin:0 0 18px; padding-right:52px; font-family:var(--tp-serif); font-size:clamp(32px,4vw,46px); font-weight:500; line-height:1.05; }
.tp-path-card p:not(.tp-eyebrow) { max-width:620px; color:var(--tp-muted); }
.tp-path-card--dark p:not(.tp-eyebrow) { color:rgba(255,255,255,.68); }
.tp-path-card .tp-text-link { margin-top:26px; }
.tp-path-business { display:grid; grid-template-columns:1.15fr 1fr auto; gap:34px; align-items:center; margin-top:18px; padding:28px 34px; border:1px solid rgba(139,108,49,.28); background:rgba(255,255,255,.58); }
.tp-path-business .tp-eyebrow { margin-bottom:8px; }
.tp-path-business h3 { margin:0; color:var(--tp-midnight); font-family:var(--tp-serif); font-size:clamp(24px,3vw,32px); font-weight:500; line-height:1.08; }
.tp-path-business > p { margin:0; color:var(--tp-muted); font-size:14px; line-height:1.6; }
.tp-path-business .tp-text-link { white-space:nowrap; }

.tp-service-grid--four { grid-template-columns:repeat(4,1fr); }
.tp-service-grid--four .tp-service-card { min-height:430px; }

.tp-freebie-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tp-freebie-card { padding:38px; background:rgba(255,255,255,.75); border:1px solid var(--tp-line); border-top:3px solid var(--tp-gold); }
.tp-freebie-card > span { color:#8B6C31; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.tp-freebie-card h3 { margin:18px 0 14px; font-family:var(--tp-serif); font-size:30px; font-weight:500; line-height:1.08; }
.tp-freebie-card p { color:var(--tp-muted); }
.tp-freebie-card small { display:block; margin-top:26px; color:#8B6C31; font-weight:700; }

.tp-process { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.tp-process li { min-height:190px; padding:28px 22px; border-right:1px solid rgba(255,255,255,.18); }
.tp-process li:last-child { border-right:0; }
.tp-process span { display:block; margin-bottom:38px; color:var(--tp-gold-light); font-size:11px; letter-spacing:.14em; }
.tp-process strong { display:block; color:var(--tp-white); font-size:14px; line-height:1.5; }

.tp-review-card h2 { margin:20px 0 24px; color:var(--tp-midnight); font-size:clamp(34px,4vw,48px); }
.tp-review-card > p:not(.tp-eyebrow) { color:var(--tp-muted); }
.tp-proof-quote { margin:56px 0 0; font-family:var(--tp-serif); font-size:clamp(26px,3.2vw,40px); line-height:1.25; color:var(--tp-white); }

.tp-about-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:center; }
.tp-about-image { min-height:560px; background-position:center; background-size:cover; background-color:var(--tp-brand); }
.tp-about-grid h2 { margin-bottom:28px; color:var(--tp-midnight); }
.tp-about-grid p:not(.tp-kicker) { color:var(--tp-muted); font-size:17px; }

.tp-market-columns { display:grid; grid-template-columns:1fr 1.25fr; gap:54px; }
.tp-market-columns h3 { margin:0 0 18px; color:var(--tp-white); font-family:var(--tp-serif); font-size:28px; font-weight:500; }
.tp-market-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tp-market-card { min-height:92px; padding:20px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); }
.tp-market-card strong { display:block; color:var(--tp-white); }
.tp-market-card span { display:block; margin-top:8px; color:rgba(255,255,255,.42); font-size:11px; }

.tp-faq-layout { display:grid; grid-template-columns:.55fr 1.45fr; gap:80px; }
.tp-faq-layout h2 { color:var(--tp-midnight); }
.tp-faq details { border-top:1px solid var(--tp-line); }
.tp-faq details:last-child { border-bottom:1px solid var(--tp-line); }
.tp-faq summary { cursor:pointer; padding:24px 0; color:var(--tp-brand); font-weight:800; }
.tp-faq details p { margin:0 0 24px; color:var(--tp-muted); }

.tp-career-callout { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; }
.tp-career-callout h2 { color:var(--tp-midnight); margin-bottom:18px; }
.tp-career-callout p:not(.tp-kicker) { max-width:760px; color:var(--tp-muted); }
.tp-final-cta__action { align-self:center; }
.tp-final-cta__action p { margin:0 0 28px; color:rgba(255,255,255,.64); }
.tp-header__cta { padding:10px 15px; border:1px solid rgba(203,175,110,.55); color:var(--tp-gold-light)!important; }

@media (max-width:1100px) {
	.tp-service-grid--four { grid-template-columns:repeat(2,1fr); }
	.tp-process { grid-template-columns:repeat(2,1fr); }
	.tp-process li { border-bottom:1px solid rgba(255,255,255,.18); }
	.tp-market-columns { grid-template-columns:1fr; }
}
@media (max-width:920px) {
	.tp-path-grid, .tp-freebie-grid, .tp-about-grid, .tp-faq-layout, .tp-career-callout { grid-template-columns:1fr; }
	.tp-path-business { grid-template-columns:1fr; gap:18px; align-items:start; }
	.tp-path-business .tp-text-link { white-space:normal; }
	.tp-about-grid { gap:42px; }
	.tp-about-image { min-height:480px; }
	.tp-career-callout { gap:28px; align-items:start; }
}
@media (max-width:640px) {
	.tp-path-card { min-height:390px; padding:30px; }
	.tp-path-card__sub { left:30px; bottom:28px; }
	.tp-service-grid--four { grid-template-columns:1fr; }
	.tp-process { grid-template-columns:1fr; }
	.tp-process li { min-height:auto; border-right:0; }
	.tp-market-grid { grid-template-columns:1fr 1fr; }
	.tp-freebie-card { padding:28px; }
}


/* Launch-safe generic content pages */
.tp-page { min-height:65vh; padding:96px 0; background:var(--tp-white); }
.tp-page__article { width:min(860px, calc(100% - 48px)); margin:0 auto; }
.tp-page__header { margin-bottom:44px; padding-bottom:30px; border-bottom:1px solid var(--tp-line); }
.tp-page__title { margin:0; color:var(--tp-midnight); font-family:var(--tp-serif); font-size:clamp(44px,6vw,68px); font-weight:400; line-height:1; letter-spacing:-.035em; }
.tp-page__image { margin:0 0 38px; }
.tp-page__image img { display:block; width:100%; height:auto; }
.tp-prose { color:var(--tp-brand); font-size:16px; line-height:1.75; }
.tp-prose h2 { margin:46px 0 14px; color:var(--tp-midnight); font-family:var(--tp-serif); font-size:30px; font-weight:500; line-height:1.15; }
.tp-prose h3 { margin:32px 0 12px; color:var(--tp-midnight); font-size:18px; }
.tp-prose p { margin:0 0 18px; }
.tp-prose a { color:#8B6C31; text-underline-offset:3px; overflow-wrap:anywhere; }
.tp-prose ul, .tp-prose ol { margin:0 0 22px; padding-left:24px; }
.tp-prose strong { color:var(--tp-midnight); }
@media (max-width:640px) {
	.tp-page { padding:70px 0; }
	.tp-page__article { width:min(100% - 32px, 860px); }
	.tp-page__header { margin-bottom:34px; }
}
