/* Tommy Positiv — launch motion and content enhancements */

/* Header: use the original embedded wordmark instead of a reconstructed text logo. */
.tp-brand__logo {
	display:block;
	width:253px;
	height:67px;
	background-position:left center;
	background-repeat:no-repeat;
	background-size:contain;
}

/* Bekannt aus: one calm, premium, left-to-right logo band. */
.tp-proof-card--marquee {
	overflow:hidden;
	padding:0;
	background:transparent;
	border:0;
	box-shadow:none;
}
.tp-media-groups {
	overflow:hidden;
	margin-top:18px;
	background:transparent;
}
.tp-media-group {
	overflow:hidden;
	padding:22px 0;
	border:0;
	background:transparent;
}
.tp-media-row {
	display:flex !important;
	grid-template-columns:none !important;
	align-items:center;
	width:max-content;
	min-width:max-content;
	gap:0 !important;
	transform:translate3d(-50%,0,0);
	will-change:transform;
	animation:tp-known-marquee 56s linear infinite !important;
}
.tp-media-row .tp-media-logo {
	flex:0 0 189px;
	width:189px;
	min-width:189px;
	height:57px;
	margin-inline:24px;
	background-position:center !important;
	background-repeat:no-repeat !important;
	background-size:contain !important;
	filter:brightness(0) saturate(100%) invert(100%);
	opacity:1;
	transition:opacity .22s ease,transform .22s ease;
}
.tp-media-row .tp-logo--eingeschenkt { background-size:99% auto !important; }
.tp-media-row .tp-logo--businesstalk { background-size:95% auto !important; }
.tp-media-row .tp-logo--coinpod { background-size:132% auto !important; }
.tp-media-row .tp-logo--compact { background-size:97% auto !important; }
.tp-media-row .tp-logo--cashflow { background-size:99% auto !important; }
.tp-media-row .tp-logo--cash-conference { background-size:101% auto !important; }
.tp-media-row .tp-logo--krypto-festival { background-size:118% auto !important; }
.tp-media-row .tp-media-logo:hover {
	opacity:1;
	transform:translateY(-2px);
}
.tp-media-group:hover .tp-media-row {
	animation-play-state:paused !important;
}
@keyframes tp-known-marquee {
	from { transform:translate3d(-50%,0,0); }
	to { transform:translate3d(0,0,0); }
}

/* Five-step process: clearer hierarchy and more premium card treatment. */
.tp-process--cards {
	gap:12px;
	border:0;
}
.tp-process--cards li {
	position:relative;
	min-height:300px;
	padding:30px 24px 26px;
	border:1px solid rgba(255,255,255,.14);
	background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
}
.tp-process--cards li::before {
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:44%;
	height:2px;
	background:var(--tp-gold);
}
.tp-process--cards span { margin-bottom:48px; font-size:12px; }
.tp-process--cards strong { font-family:var(--tp-serif); font-size:20px; font-weight:500; line-height:1.2; }
.tp-process--cards p { margin:16px 0 0; color:rgba(255,255,255,.66); font-size:13px; line-height:1.65; }

/* Google proof block. */
.tp-rating { display:grid; grid-template-columns:auto 1fr; gap:4px 16px; align-items:center; margin:28px 0 22px; }
.tp-rating strong { grid-row:1 / span 2; color:var(--tp-midnight); font-family:var(--tp-serif); font-size:56px; font-weight:500; line-height:1; }
.tp-rating__stars { color:var(--tp-gold); letter-spacing:.12em; font-size:18px; }
.tp-rating small { color:var(--tp-muted); font-size:12px; }
.tp-proof-card--reviews { display:flex; flex-direction:column; justify-content:space-between; }
.tp-proof-card--reviews .tp-button { align-self:flex-start; margin-top:30px; }

/* FAQ polish. */
.tp-faq-intro { max-width:360px; margin-top:24px; color:var(--tp-muted); }
.tp-faq summary { position:relative; padding-right:34px; }
.tp-faq summary::after { content:"+"; position:absolute; right:4px; color:#8B6C31; font-family:var(--tp-serif); font-size:24px; font-weight:400; }
.tp-faq details[open] summary::after { content:"–"; }

/* Embedded booking area. */
.tp-final-grid--booking { grid-template-columns:.72fr 1.28fr; align-items:start; gap:64px; }
.tp-final-cta__copy { position:sticky; top:110px; }
.tp-final-cta__copy > p:not(.tp-kicker) { color:rgba(255,255,255,.68); font-size:16px; line-height:1.7; }
.tp-booking-points { list-style:none; margin:30px 0 0; padding:0; border-top:1px solid rgba(255,255,255,.14); }
.tp-booking-points li { position:relative; padding:13px 0 13px 20px; border-bottom:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.78); font-size:13px; }
.tp-booking-points li::before { content:""; position:absolute; left:0; top:20px; width:8px; height:1px; background:var(--tp-gold); }
.tp-calendly-wrap { min-height:0; padding:46px; overflow:hidden; border:1px solid rgba(198,169,105,.30); background:#fff; box-shadow:0 26px 60px rgba(0,0,0,.20); }
.tp-calendly-wrap h3 { margin:10px 0 16px; color:var(--tp-midnight); font-family:var(--tp-serif); font-size:clamp(30px,4vw,46px); font-weight:500; line-height:1.05; }
.tp-calendly-wrap > p:not(.tp-eyebrow) { margin:0 0 28px; color:var(--tp-muted); line-height:1.7; }

@media (max-width:920px) {
	.tp-final-grid--booking { grid-template-columns:1fr; }
	.tp-final-cta__copy { position:static; }
}
@media (max-width:640px) {
	.tp-brand__logo { width:172px; height:48px; }
}

/* More substantial service cards */
.tp-service-grid--four .tp-service-card {
	min-height:535px;
}
.tp-service-points {
	list-style:none;
	margin:24px 0 70px;
	padding:0;
	border-top:1px solid rgba(28,42,57,.13);
}
.tp-service-card--featured .tp-service-points {
	border-top-color:rgba(255,255,255,.15);
}
.tp-service-points li {
	position:relative;
	padding:11px 0 11px 19px;
	border-bottom:1px solid rgba(28,42,57,.10);
	color:var(--tp-muted);
	font-size:12px;
	line-height:1.45;
}
.tp-service-card--featured .tp-service-points li {
	color:rgba(255,255,255,.67);
	border-bottom-color:rgba(255,255,255,.10);
}
.tp-service-points li::before {
	content:"";
	position:absolute;
	left:0;
	top:18px;
	width:7px;
	height:1px;
	background:var(--tp-gold);
}

/* Existing real-photo assets get more visual presence */
.tp-image-card {
	overflow:hidden;
	transition:transform .35s ease,box-shadow .35s ease;
}
.tp-image-card:hover {
	transform:translateY(-5px);
	box-shadow:var(--tp-shadow);
}
.tp-image-card .tp-image {
	transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.tp-image-card:hover .tp-image {
	transform:scale(1.025);
	filter:saturate(.95) contrast(1.04);
}

/* Subtle editorial motion throughout the page */
.tp-reveal {
	opacity:0;
	transform:translateY(24px);
	transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);
}
.tp-reveal.tp-in-view {
	opacity:1;
	transform:translateY(0);
}
.tp-path-card,
.tp-freebie-card {
	transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.tp-path-card:hover,
.tp-freebie-card:hover {
	transform:translateY(-4px);
	box-shadow:var(--tp-shadow);
	border-color:rgba(203,175,110,.55);
}

@media (max-width:1100px) {
	.tp-service-grid--four .tp-service-card { min-height:480px; }
}
@media (max-width:640px) {
	.tp-media-row .tp-media-logo {
		flex-basis:150px;
		width:150px;
		min-width:150px;
		height:48px;
		margin-inline:20px;
	}
	.tp-service-grid--four .tp-service-card { min-height:auto; }
	.tp-service-points { margin-bottom:62px; }
}
@media (prefers-reduced-motion:reduce) {
	.tp-reveal { opacity:1; transform:none; transition:none; }
	.tp-image-card,
	.tp-image-card .tp-image,
	.tp-path-card,
	.tp-freebie-card { transition:none; }
	.tp-media-row { animation-duration:24s !important; }
}
