/* ==========================================================================
   Triple Boost - home page, "Midnight studio"
   Loaded only on the front page, after main.css. A near-black room with
   stacked planes, a fine grain over everything, blue used as light that
   falls on surfaces, cyan as signal. Birzia contrast: Light next to Black.
   ========================================================================== */

body.home {
	--n0: #06070A;
	--n1: #0A0C10;
	--n2: #0F1217;
	--n3: #161A21;
	--tb-bg: var(--n0); --tb-surface: var(--n2); --tb-surface-2: var(--n3);
	--tb-heading: #FFFFFF; --tb-text: rgba(255, 255, 255, .74); --tb-muted: rgba(255, 255, 255, .56);
	--tb-line: rgba(255, 255, 255, .11); --tb-line-strong: rgba(255, 255, 255, .26); --tb-rule: rgba(255, 255, 255, .9);
	--tb-accent: var(--tb-cyan); --tb-fill: rgba(255, 255, 255, .05); --tb-fill-strong: rgba(255, 255, 255, .1);
	--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	background: var(--n0); color: var(--tb-text);
}
/* Film grain over the whole room. */
body.home::after {
	content: ""; position: fixed; inset: 0; z-index: 45; pointer-events: none;
	background: var(--grain); background-size: 180px; opacity: .055;
}
.home ::selection { background: var(--tb-blue); color: #fff; }

/* Type: Light carries the sentence, Black carries the point. */
.home .tb-h2 { font-size: clamp(2.5rem, 1.1rem + 4.1vw, 5.4rem); font-weight: var(--fw-light); letter-spacing: -.035em; line-height: 1; color: rgba(255, 255, 255, .86); }
.home .tb-h2 .tb-grad { font-weight: var(--fw-black); color: #fff; letter-spacing: -.03em; }
.home .tb-label { font-size: .9rem; color: rgba(255, 255, 255, .7); letter-spacing: .02em; }
.home .tb-label::before { width: 28px; height: 2px; background: var(--tb-cyan); }
.home .tb-head { gap: 26px; }

/* Buttons on the night ground */
.home .tb-btn--primary { --btn-bg: #fff; --btn-fg: var(--tb-black); --btn-bd: #fff; --btn-bg-h: var(--tb-blue); --btn-fg-h: #fff; --btn-bd-h: var(--tb-blue); }
.home .tb-btn--outline, .home .tb-btn--ghost { --btn-fg: #fff; --btn-bd: rgba(255, 255, 255, .34); --btn-bg-h: #fff; --btn-fg-h: var(--tb-black); --btn-bd-h: #fff; }
.home .tb-btn { min-height: 60px; }
.home .tb-tag { border: 1px solid rgba(255, 255, 255, .22); color: rgba(255, 255, 255, .84); font-weight: var(--fw-medium); padding: 8px 12px; }
.home :focus-visible { outline-color: var(--tb-cyan); }

/* Header: transparent over the hero, smoked glass once scrolled ------------- */
.home .tb-header { background: transparent; border-bottom: 1px solid transparent; transition: background-color .4s, border-color .4s; }
.home .tb-header.is-scrolled { background: rgba(6, 7, 10, .8); border-color: rgba(255, 255, 255, .09); -webkit-backdrop-filter: saturate(140%) blur(16px); backdrop-filter: saturate(140%) blur(16px); }
.home .tb-nav__list > li > a { color: rgba(255, 255, 255, .84); }
.home .tb-nav__list > li > a:hover, .home .tb-nav__list > li > a.is-current { color: #fff; }
.home .tb-nav__list > li > a::after { height: 2px; background: var(--tb-cyan); }
.home .tb-mega { background: var(--n2); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 50px 100px -30px rgba(0, 0, 0, .9); }
.home .tb-mega__col + .tb-mega__col { border-color: rgba(255, 255, 255, .08); }
.home .tb-mega__title { color: var(--tb-cyan); }
.home .tb-mega__link { color: rgba(255, 255, 255, .88); }
.home .tb-mega__link .tb-icon { color: var(--tb-cyan); }
.home .tb-mega__link:hover { background: var(--tb-blue); color: #fff; }
.home .tb-mega__link:hover .tb-icon { color: #fff; }
.home .tb-icon-btn { border: 1px solid rgba(255, 255, 255, .34); color: #fff; }
.home .tb-icon-btn:hover { background: #fff; color: var(--tb-black); }

/* Hero ---------------------------------------------------------------------- */
.home .tb-hero--home {
	position: relative; isolation: isolate; overflow: hidden;
	display: flex; flex-direction: column;
	/* A little short of the viewport, so the first blue room shows its edge at the fold. */
	min-height: max(700px, calc(100svh - 96px));
	margin-top: calc(-1 * var(--tb-header)); padding-top: var(--tb-header);
	background: var(--n0); border: 0;
}
.tb-hero__room { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
/* A light from above-left falls through the room onto the stage: a cone, not a blob. */
.tb-hero__beam {
	position: absolute; inset: 0;
	/* A conic fan from a source above the stage: every edge is a gradient stop, so the cone has no hard sides. */
	background:
		conic-gradient(from 148deg at 27% -30%, transparent 0deg, rgba(58, 124, 255, .10) 10deg, rgba(58, 124, 255, .30) 24deg, rgba(40, 110, 255, .30) 34deg, rgba(2, 83, 252, .10) 50deg, transparent 66deg),
		conic-gradient(from 160deg at 27% -30%, transparent 0deg, rgba(150, 190, 255, .10) 14deg, transparent 30deg);
	-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .85) 45%, transparent 96%);
	mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .85) 45%, transparent 96%);
}
/* The floor the stage stands on: a receding plane that catches the light. */
.tb-hero__floor {
	position: absolute; left: -20%; right: -20%; bottom: 0; height: 46%;
	background:
		linear-gradient(to top, rgba(6, 7, 10, 0) 0%, var(--n0) 100%),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 88px),
		repeating-linear-gradient(0deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 88px),
		linear-gradient(180deg, rgba(2, 83, 252, .10), rgba(2, 83, 252, .02));
	transform: perspective(700px) rotateX(64deg); transform-origin: bottom center;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 25%, #000 60%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 25%, #000 60%, transparent);
}
.home .tb-hero__grid {
	flex: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center;
	gap: clamp(24px, 3vw, 56px); min-height: 0;
}
.home .tb-hero__copy { position: relative; z-index: 2; gap: 32px; padding-block: clamp(40px, 5vw, 72px); padding-inline-end: 0; }
.home .tb-hero__mast { color: rgba(255, 255, 255, .72); font-size: .98rem; }
.home .tb-hero__mast-rule { background: rgba(255, 255, 255, .3); height: 1px; max-width: 120px; }
.home .tb-hero__mast-tag { color: var(--tb-cyan); font-weight: var(--fw-bold); }
.home .tb-hero__title { font-size: clamp(3rem, .9rem + 5vw, 6.3rem); line-height: .98; letter-spacing: -.04em; color: #fff; }
.home .tb-hero__line { font-weight: var(--fw-light); color: rgba(255, 255, 255, .8); }
/* main.js reserves exactly the height of the tallest phrase at the current width (1 line on desktop). */
.home .tb-type { font-weight: var(--fw-black); color: #fff; min-height: 0; }
.home .tb-type__caret { background: var(--tb-cyan); width: .07em; }
.home .tb-hero__lead { color: rgba(255, 255, 255, .7); max-width: 40ch; font-size: clamp(1.1rem, 1rem + .4vw, 1.32rem); }
.home .tb-hero__actions .tb-btn { min-height: 64px; padding-inline: 34px; font-size: 1.1rem; }


/* The stage. Everything inside is sized in container units, so the whole
   composition scales as one object from 1440 down to 390. */
.tb-stage { position: relative; z-index: 1; width: 100%; aspect-ratio: 1 / .92; max-height: 70svh; container-type: size; }
.tb-stage__layer { position: absolute; will-change: transform; }
.tb-stage__layer > * { animation: tb-stage-in 1.4s var(--tb-ease) both; }
.tb-stage__layer--field > * { animation-delay: .1s; }
.tb-stage__layer--ad > * { animation-delay: .35s; }
.tb-stage__layer--clip > * { animation-delay: .5s; }
.tb-stage__layer--wa > * { animation-delay: 1.1s; }
@keyframes tb-stage-in { from { opacity: 0; translate: 0 6cqh; } to { opacity: 1; translate: 0 0; } }

/* Back plane: a slab of brand blue, turned toward the light. */
/* Pushed down a quarter so the loop has its own air above the slab's top edge. */
.tb-stage__layer--field { left: 18%; top: 24%; width: 58%; height: 70%; }
.tb-stage__field {
	position: relative; width: 100%; height: 100%; overflow: hidden;
	background: linear-gradient(152deg, #4B87FF 0%, #1461FF 22%, #0253FC 42%, #0140D2 74%, #012C9A 100%);
	transform: perspective(1400px) rotateY(16deg) rotateX(4deg); transform-origin: 60% 50%;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .5),
		inset 1px 0 0 rgba(255, 255, 255, .22),
		0 5cqw 10cqw -2cqw rgba(0, 0, 0, .8),
		0 1.5cqw 3cqw rgba(0, 0, 0, .35);
}
.tb-stage__field::before {
	content: ""; position: absolute; inset: 0;
	background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .07) 0 1px, transparent 1px 3.4cqw);
	-webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%);
}
.tb-stage__field::after {
	content: ""; position: absolute; inset: 0;
	background: var(--grain), linear-gradient(118deg, rgba(255, 255, 255, .24) 0%, rgba(255, 255, 255, 0) 34%);
	background-size: 180px, auto; opacity: .9; mix-blend-mode: soft-light;
}

/* Interface fragments: real surfaces with real shadows, greeked content. */
.tb-frag { position: relative; }
.tb-greek { display: grid; gap: 1.1cqw; flex: 1; min-width: 0; }
.tb-greek i { display: block; width: var(--w, 100%); height: 1.3cqw; border-radius: 1cqw; background: rgba(255, 255, 255, .22); }
.tb-greek i:first-child { background: rgba(255, 255, 255, .5); }

.tb-stage__layer--ad { left: 0; top: 40%; width: 34%; }
.tb-ad {
	display: grid; gap: 2cqw; padding: 2.2cqw; border-radius: 2.2cqw;
	background: linear-gradient(180deg, #151920, #0D1015); border: 1px solid rgba(255, 255, 255, .1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 4cqw 8cqw -1.5cqw rgba(0, 0, 0, .9), 0 1cqw 2cqw rgba(0, 0, 0, .4);
	rotate: -4deg;
}
.tb-ad__head { display: flex; align-items: center; gap: 1.8cqw; }
.tb-ad__avatar { display: grid; place-items: center; flex: none; width: 5.4cqw; height: 5.4cqw; border-radius: 50%; background: var(--tb-blue); }
.tb-ad__avatar svg { width: 70%; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; }
.tb-ad__dots { display: flex; gap: .6cqw; }
.tb-ad__dots i { width: .8cqw; height: .8cqw; border-radius: 50%; background: rgba(255, 255, 255, .35); }
.tb-ad__media { position: relative; aspect-ratio: 1 / .82; border-radius: 1.2cqw; overflow: hidden; background: linear-gradient(155deg, #1B2B55 0%, #0E1834 55%, #0A0F1E 100%); }
.tb-ad__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(125deg, rgba(2, 205, 253, .2), transparent 45%); }
.tb-ad__icon { position: absolute; z-index: 1; top: 50%; left: 50%; width: 56%; height: auto; translate: -50% -50%; filter: drop-shadow(1.2cqw 1.8cqw 1.6cqw rgba(0, 0, 0, .55)); }
.tb-ad__foot { display: flex; align-items: center; gap: 2cqw; }
.tb-ad__btn { flex: none; width: 11cqw; height: 4cqw; border-radius: .8cqw; background: var(--tb-blue); }
.tb-ad__chart { display: flex; align-items: end; gap: .8cqw; height: 7cqw; padding-top: 1.4cqw; border-top: 1px solid rgba(255, 255, 255, .08); }
.tb-ad__chart i { flex: 1; height: var(--h); border-radius: .4cqw .4cqw 0 0; background: linear-gradient(180deg, var(--tb-cyan), rgba(2, 83, 252, .6)); transform-origin: bottom; animation: tb-bar 1.6s var(--tb-ease) both; }
.tb-ad__chart i:nth-child(n) { animation-delay: calc(1s + var(--h) * 0); }
.tb-ad__chart i:nth-child(2n) { animation-delay: 1.15s; }
.tb-ad__chart i:nth-child(3n) { animation-delay: 1.3s; }
@keyframes tb-bar { from { transform: scaleY(0); } }

/* A news clipping on paper, pinned in front of the slab. */
.tb-stage__layer--clip { right: 0; top: 28%; width: 30%; }
.tb-clip {
	display: grid; gap: 1.6cqw; padding: 2.4cqw 2.4cqw 3cqw; background: #F3F1EC; color: var(--tb-black);
	box-shadow: 0 3.5cqw 7cqw -1.5cqw rgba(0, 0, 0, .85), 0 .6cqw 1.2cqw rgba(0, 0, 0, .35);
	rotate: 5deg;
}
.tb-clip::after { content: ""; position: absolute; inset: 0; background: var(--grain); background-size: 180px; opacity: .35; mix-blend-mode: multiply; filter: invert(1); pointer-events: none; }
.tb-clip__logo { width: 42%; height: auto; mix-blend-mode: multiply; }
.tb-clip__head { display: grid; gap: 1cqw; }
.tb-clip__head i { display: block; width: var(--w); height: 2cqw; background: #16181D; }
.tb-clip__photo { display: block; aspect-ratio: 16 / 10; background: linear-gradient(160deg, #2B4C9A 0%, #0253FC 45%, #0A1B4A 100%); position: relative; overflow: hidden; }
.tb-clip__photo::after { content: ""; position: absolute; left: 15%; right: 15%; bottom: -30%; height: 90%; border-radius: 50% 50% 0 0; background: rgba(8, 14, 34, .55); }
.tb-clip__body { display: grid; gap: .9cqw; }
.tb-clip__body i { display: block; width: var(--w, 100%); height: .8cqw; background: rgba(10, 10, 10, .28); }

/* A WhatsApp lead landing at the front. */
.tb-stage__layer--wa { left: 34%; bottom: 1%; width: 44%; }
.tb-wa {
	display: flex; align-items: center; gap: 2cqw; padding: 2cqw 2.4cqw; border-radius: 2.6cqw;
	background: rgba(24, 28, 35, .92); border: 1px solid rgba(255, 255, 255, .12);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 4cqw 8cqw -2cqw rgba(0, 0, 0, .95);
}
.tb-wa__icon { display: grid; place-items: center; flex: none; width: 7cqw; height: 7cqw; border-radius: 50%; background: #25D366; color: #fff; }
.tb-wa__icon .tb-icon { width: 58%; height: 58%; }
.tb-wa .tb-greek i { height: 1.4cqw; }
.tb-wa__tick { flex: none; color: var(--tb-cyan); }
.tb-wa__tick .tb-icon { width: 4cqw; height: 4cqw; stroke-width: 2.4; }

/* Rendered art (assets/img/art): the 3D icon family at sculpture scale. Every piece is lit from the
   upper left, so its shadow falls down and to the right: a tight contact shadow plus a long soft one.
   Below the fold each piece rises in with the reveal observer and drifts with the depth parallax
   (main.js [data-art-px] -> --tb-py). */
.tb-art { position: relative; display: block; pointer-events: none; user-select: none; }
.tb-art img { display: block; width: 100%; height: auto; }
.home .tb-art[data-reveal] { transform: translateY(44px) scale(.95); transition: opacity 1.2s var(--tb-ease), transform 1.5s var(--tb-m-out, var(--tb-ease)); }
.home .tb-art[data-reveal].is-in { transform: none; }
/* On the night rooms the shadow is black; on the blue rooms it is deep navy, never grey. */
.tb-art--night img, .tb-contact__art img, .tb-why__item--2 .tb-why__art img, .tb-why__item--3 .tb-why__art img { filter: drop-shadow(10px 16px 14px rgba(0, 0, 0, .6)) drop-shadow(26px 44px 40px rgba(0, 0, 0, .45)); }
.tb-proof__art img, .tb-why__item--1 .tb-why__art img { filter: drop-shadow(10px 16px 16px rgba(0, 18, 80, .4)) drop-shadow(30px 50px 50px rgba(0, 14, 70, .38)); }

/* Hero: the brand loop as a slim glass ribbon, floating over the slab's top edge like a jewel on its stand, in
   front of the slab and behind the fragments. Slight counter-tilt; the shadow falls down and to the right, away
   from the upper-left light, and lands on the slab below it. */
.tb-stage__layer--art { left: 4%; top: 1%; width: 80%; }
.tb-stage__art { rotate: -7deg; }
.tb-stage__art img { filter: drop-shadow(1.6cqw 3cqw 2.2cqw rgba(0, 0, 0, .6)) drop-shadow(4.2cqw 8cqw 6.4cqw rgba(0, 0, 0, .45)); }
html.tb-m-enter .tb-stage__layer--art > * { --sd: 560ms; }

/* The blue rooms ------------------------------------------------------------
   Whole sections drenched in #0253FC, built like the dark rooms: a lit edge
   at the top, a soft fan of light from above the start side, a fine grain,
   and a floor that falls off into shadow. Content sits on them as objects. */
.home .tb-room--blue {
	--tb-bg: var(--tb-blue); --tb-surface: #0A47D6; --tb-heading: #fff; --tb-text: rgba(255, 255, 255, .9); --tb-muted: rgba(255, 255, 255, .8);
	--tb-line: rgba(255, 255, 255, .26); --tb-line-strong: rgba(255, 255, 255, .5); --tb-rule: #fff; --tb-accent: #fff;
	--tb-fill: rgba(255, 255, 255, .08); --tb-fill-strong: rgba(255, 255, 255, .14);
	position: relative; isolation: isolate; overflow: hidden; color: var(--tb-text);
	background: linear-gradient(162deg, #2F72FF 0%, #0A5AFF 18%, #0253FC 40%, #0147E0 70%, #0136B4 100%);
	border: 0;
}
/* Top edge catches the light; the floor falls into shadow. */
.home .tb-room--blue::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .34) 0, rgba(255, 255, 255, 0) 1px),
		linear-gradient(180deg, transparent 55%, rgba(0, 16, 72, .38) 100%),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 88px);
	-webkit-mask-image: none; mask-image: none;
}
.home .tb-room--blue::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: var(--grain); background-size: 180px; opacity: .5; mix-blend-mode: soft-light;
}
.home .tb-room__light {
	position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		conic-gradient(from 196deg at 82% -35%, transparent 0deg, rgba(255, 255, 255, .08) 8deg, rgba(255, 255, 255, .26) 20deg, rgba(255, 255, 255, .08) 36deg, transparent 52deg),
		conic-gradient(from 214deg at 82% -35%, transparent 0deg, rgba(170, 205, 255, .12) 10deg, transparent 24deg);
	-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .7) 55%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .7) 55%, transparent 100%);
}
.home .tb-room--blue .tb-h2 { color: rgba(255, 255, 255, .88); }
.home .tb-room--blue .tb-label { color: rgba(255, 255, 255, .9); }
.home .tb-room--blue .tb-label::before { background: #fff; }
.home .tb-room--blue :focus-visible { outline-color: #fff; }
.home .tb-room--blue .tb-btn--outline { --btn-fg: #fff; --btn-bd: rgba(255, 255, 255, .6); --btn-bg-h: #fff; --btn-fg-h: var(--tb-blue); --btn-bd-h: #fff; }
.home .tb-room--blue .tb-tag { border-color: rgba(255, 255, 255, .5); color: #fff; }

/* Proof: the first blue room, right under the hero ------------------------- */
.tb-proof { color: #fff; }
.tb-proof__loop { position: absolute; z-index: -1; top: 50%; right: -6%; width: min(760px, 62vw); translate: 0 -50%; overflow: visible; pointer-events: none; }
.tb-proof__loop path { fill: none; stroke: rgba(255, 255, 255, .16); stroke-width: .5; stroke-linecap: round; }
.tb-proof__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 40px; padding-block: clamp(64px, 7vw, 112px); }
.home .tb-proof__stats { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 24px clamp(48px, 7vw, 120px); padding: 0; border: 0; }
.home .tb-proof__stats li { display: grid; gap: 14px; padding: 0; border: 0; }
.home .tb-proof__stats li + li { padding-inline-start: clamp(48px, 7vw, 120px); border-inline-start: 1px solid rgba(255, 255, 255, .34); margin-inline-start: calc(-1 * clamp(48px, 7vw, 120px) / 2); }
.home .tb-proof__stats strong { font-size: clamp(3.4rem, 1.6rem + 5.2vw, 7.8rem); font-weight: var(--fw-light); line-height: .9; letter-spacing: -.045em; color: #fff; text-shadow: 0 24px 60px rgba(0, 18, 80, .35); }
.home .tb-proof__stats span { font-size: clamp(1rem, .9rem + .3vw, 1.2rem); font-weight: var(--fw-medium); color: rgba(255, 255, 255, .86); }
/* The ad cards (ad budgets managed) sit in the band's start-side margin, measured from the screen edge rather than the
   container: the budget figure fills the whole container, so anything inside it lands on the shekel sign. The art holds
   one gutter from the screen edge and shrinks with the free margin (stat text starts ~340px in at 1440+, ~270px at 1200).
   Below 1200px there is no margin left, so it takes its own row above the numbers. */
.tb-proof__art { --pa-w: clamp(200px, 44.5vw - 330px, 260px); --pa-r: .881; position: absolute; top: 50%; width: var(--pa-w); margin-top: calc(var(--pa-w) * var(--pa-r, 1) * -.5);
	inset-inline-end: calc(min(0px, (var(--tb-container) + 2 * var(--tb-gutter) - 100vw) / 2) + var(--tb-gutter)); }
/* Client logos, only when the client list has entries. */
.home .tb-proof__logos { position: relative; background: rgba(0, 20, 90, .18); border-top: 1px solid rgba(255, 255, 255, .22); color: #fff; }
.home .tb-proof__logos .tb-logos__title { color: rgba(255, 255, 255, .86); border-color: rgba(255, 255, 255, .22); }
.home .tb-proof__logos .tb-marquee__item { color: #fff; font-weight: var(--fw-medium); height: 96px; }
.home .tb-proof__logos .tb-marquee__item::after { width: 1px; height: 22px; background: rgba(255, 255, 255, .3); }

/* About --------------------------------------------------------------------- */
.home .tb-about { position: relative; background: var(--n0); }
.home .tb-about__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.home .tb-about .tb-lead { color: rgba(255, 255, 255, .72); font-size: clamp(1.12rem, 1rem + .4vw, 1.3rem); }
.home .tb-checks { border-top: 1px solid rgba(255, 255, 255, .5); }
.home .tb-checks li { color: #fff; border-color: rgba(255, 255, 255, .1); padding-block: 18px; }
.home .tb-checks .tb-icon { color: var(--tb-cyan); }
/* The orbit becomes an instrument on a dark disc lit from the upper left. */
.home .tb-orbit::before { background: linear-gradient(150deg, #18203A 0%, #0D1120 45%, #07090E 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 60px 120px -50px rgba(0, 0, 0, .9); }
.home .tb-orbit__ring { border: 1px solid rgba(255, 255, 255, .22); }
.home .tb-orbit__ring--outer { border-color: rgba(255, 255, 255, .1); }
.home .tb-orbit__chip { background: #12151C; border: 1px solid rgba(255, 255, 255, .16); box-shadow: 0 16px 30px -12px rgba(0, 0, 0, .9); }
.home .tb-orbit__label { color: rgba(255, 255, 255, .62); }
.home .tb-orbit__core { background: linear-gradient(150deg, #4B87FF, #0253FC 45%, #0136B8); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 30px 60px -20px rgba(2, 83, 252, .55); }

/* Services: the index and its stage ------------------------------------------ */
.tb-svc__layout {
	display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-areas: "head head" "list stage";
	column-gap: clamp(40px, 6vw, 100px); align-items: start;
}
.tb-svc__head { grid-area: head; display: grid; justify-items: start; gap: 30px; margin-bottom: clamp(44px, 5vw, 72px); }
.tb-svc__head .tb-head { margin-bottom: 0; }
.tb-svc__list { grid-area: list; border-top: 1px solid rgba(255, 255, 255, .7); }
.tb-svc__item { border-bottom: 1px solid rgba(255, 255, 255, .2); }
.tb-svc__row {
	display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) 52px; align-items: center; column-gap: 20px;
	padding-block: clamp(18px, 1.7vw, 26px);
}
.tb-svc__num { align-self: start; padding-top: .9em; font-size: .92rem; font-weight: var(--fw-medium); color: rgba(255, 255, 255, .6); font-variant-numeric: tabular-nums; transition: color .35s; }
.tb-svc__title { font-size: clamp(1.8rem, 1rem + 2.2vw, 3.2rem); font-weight: var(--fw-light); line-height: 1.08; letter-spacing: -.03em; color: rgba(255, 255, 255, .7); transition: color .4s var(--tb-ease); }
.tb-svc__go { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid rgba(255, 255, 255, .4); color: #fff; transition: background-color .35s, color .35s, border-color .35s; }
.tb-svc__go .tb-icon { width: 22px; height: 22px; stroke-width: 2; transition: transform .45s var(--tb-ease); }
.tb-svc__body { grid-column: 2 / -1; display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--tb-ease); }
.tb-svc__inner { display: grid; gap: 16px; justify-items: start; min-height: 0; overflow: hidden; opacity: 0; transition: opacity .4s; }
.tb-svc__inner .tb-svc__mini { display: none; }
.tb-svc__text { color: rgba(255, 255, 255, .88); max-width: 48ch; line-height: 1.6; padding-top: 14px; }
.tb-svc__item.is-active .tb-svc__title { color: #fff; font-weight: var(--fw-black); }
.tb-svc__item.is-active .tb-svc__num { color: #fff; }
.tb-svc__item.is-active .tb-svc__go { background: #fff; border-color: #fff; color: var(--tb-blue); }
.tb-svc__item.is-active .tb-svc__go .tb-icon { transform: translateX(-4px); }
.tb-svc__item.is-active .tb-svc__body { grid-template-rows: 1fr; }
.tb-svc__item.is-active .tb-svc__inner { opacity: 1; padding-bottom: 8px; }
.tb-svc__row:hover .tb-svc__title { color: #fff; }

/* A dark monitor standing in the blue room: as tall as the list beside it, turned slightly toward the light. */
.tb-svc__stage { grid-area: stage; position: sticky; top: calc(var(--tb-header) + 32px); perspective: 1600px; }
.tb-svc__screen {
	position: relative; height: clamp(560px, calc(100svh - var(--tb-header) - 64px), 780px); overflow: hidden; container-type: inline-size;
	background: linear-gradient(152deg, #16254F 0%, #0B1330 38%, #080B14 72%, #06070A 100%);
	border: 1px solid rgba(255, 255, 255, .14);
	transform: rotateY(-5deg); transform-origin: 100% 50%;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .18),
		0 80px 120px -50px rgba(0, 14, 70, .95),
		0 24px 50px -20px rgba(0, 14, 70, .6);
}
.tb-svc__screen::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(122deg, rgba(2, 83, 252, .5) 0%, rgba(2, 83, 252, .12) 28%, transparent 52%);
}
.tb-svc__screen::after { content: ""; position: absolute; inset: 0; background: var(--grain); background-size: 180px; opacity: .12; mix-blend-mode: overlay; }
.tb-svc__grid-lines {
	position: absolute; inset: 0;
	background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 12.5%), repeating-linear-gradient(0deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 10.9%);
	-webkit-mask-image: linear-gradient(200deg, #000 10%, transparent 75%); mask-image: linear-gradient(200deg, #000 10%, transparent 75%);
}
.tb-svc__preview { position: absolute; inset: 0; z-index: 1; opacity: 0; transition: opacity .5s var(--tb-ease); }
.tb-svc__preview.is-active { opacity: 1; }
.tb-svc__bignum {
	position: absolute; top: 5cqw; right: 7cqw; direction: ltr;
	font-size: 34cqw; font-weight: var(--fw-light); line-height: .8; letter-spacing: -.06em;
	color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .22);
	translate: 0 4cqw; transition: translate .9s var(--tb-ease);
}
.tb-svc__doodle { position: absolute; left: 12%; bottom: 17%; width: 64%; scale: .94; transition: scale .9s var(--tb-ease); }
.tb-svc__preview.is-active .tb-svc__bignum { translate: 0 0; }
.tb-svc__preview.is-active .tb-svc__doodle { scale: 1; }
.tb-svc__caption {
	position: absolute; right: 7cqw; bottom: 6cqw; left: 7cqw; display: flex; align-items: center; gap: 14px;
	font-size: clamp(1rem, 4.4cqw, 1.5rem); font-weight: var(--fw-bold); color: #fff;
}
.tb-svc__caption::before { content: ""; width: 26px; height: 2px; background: var(--tb-cyan); flex: none; }

/* Why: one lit slab, two dark ones, three different sizes -------------------- */
.home .tb-why { background: var(--n0); }
.home .tb-why__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: 16px; border: 0; }
.home .tb-why__item { position: relative; display: grid; align-content: end; gap: 14px; padding: clamp(28px, 3vw, 48px); border: 0; overflow: hidden; }
.home .tb-why__item:first-child { padding-inline-start: clamp(28px, 3vw, 48px); }
.home .tb-why__item + .tb-why__item { border: 0; }
.home .tb-why__item--1 {
	grid-row: span 2; min-height: 620px;
	background: linear-gradient(152deg, #4B87FF 0%, #1461FF 20%, #0253FC 44%, #0140D2 78%, #012C9A 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 60px 120px -60px rgba(2, 83, 252, .5);
	--tb-muted: rgba(255, 255, 255, .84);
}
.home .tb-why__item--1::before { content: ""; position: absolute; inset: 0; background: var(--grain), linear-gradient(118deg, rgba(255, 255, 255, .22) 0%, transparent 36%); background-size: 180px, auto; mix-blend-mode: soft-light; pointer-events: none; }
.home .tb-why__item--2, .home .tb-why__item--3 {
	grid-template-columns: minmax(0, 1fr) auto; align-content: center; min-height: 302px;
	background: linear-gradient(160deg, #13171E, #0C0F14); border: 1px solid rgba(255, 255, 255, .08);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}
.home .tb-why__item--2 > :not(.tb-why__art), .home .tb-why__item--3 > :not(.tb-why__art) { grid-column: 1; }
.home .tb-why__num { font-size: .95rem; font-weight: var(--fw-medium); color: var(--tb-cyan); }
.home .tb-why__item--1 .tb-why__num { color: #fff; }
.home .tb-why__art { width: clamp(120px, 10.5vw, 150px); margin: 0; }
.home .tb-why__item--1 .tb-why__art { position: absolute; top: clamp(20px, 2.4vw, 40px); left: clamp(20px, 2.6vw, 44px); width: clamp(240px, 25vw, 360px); }
.home .tb-why__item--2 .tb-why__art, .home .tb-why__item--3 .tb-why__art { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
.home .tb-why__item .tb-h3 { font-size: clamp(1.6rem, 1.1rem + 1.2vw, 2.4rem); font-weight: var(--fw-black); letter-spacing: -.02em; }
.home .tb-why__item--1 .tb-h3 { font-size: clamp(2.2rem, 1.2rem + 2.6vw, 4rem); line-height: 1; max-width: 9ch; }
.home .tb-why__item p { color: var(--tb-muted); max-width: 38ch; }
.home .tb-why__item--1 p { font-size: 1.2rem; }

/* Process: huge Light numerals, doodles standing on them --------------------- */
.home .tb-process__list { gap: 14px; }
/* Each step is a pane of lighter glass standing in the blue, lit along its top edge. */
.home .tb-process__step {
	position: relative; gap: 12px; padding: 0 clamp(20px, 2vw, 32px) clamp(28px, 2.4vw, 40px);
	background: linear-gradient(170deg, rgba(255, 255, 255, .13) 0%, rgba(255, 255, 255, .04) 60%, rgba(255, 255, 255, .02) 100%);
	border: 0; border-top: 1px solid rgba(255, 255, 255, .55);
	box-shadow: inset 1px 0 0 rgba(255, 255, 255, .1), 0 50px 80px -50px rgba(0, 16, 80, .8);
}
.home .tb-process__step:first-child { padding-inline-start: clamp(20px, 2vw, 32px); }
.home .tb-process__step + .tb-process__step { border-inline-start: 0; }
.home .tb-process__step:nth-child(2) { translate: 0 28px; }
.home .tb-process__step:nth-child(3) { translate: 0 56px; }
.home .tb-process__step:nth-child(4) { translate: 0 84px; }
.home .tb-process { padding-bottom: calc(var(--tb-section) + 84px); }
.home .tb-process__step::before { height: 2px; background: #fff; }
.home .tb-process__num { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tb-process__big { position: relative; display: block; margin-top: 18px; margin-bottom: 6px; font-size: clamp(5rem, 3rem + 5vw, 9rem); font-weight: var(--fw-light); line-height: .9; letter-spacing: -.06em; color: rgba(255, 255, 255, .26); direction: ltr; text-align: right; }
.home .tb-process__doodle { position: absolute; top: clamp(30px, 2.6vw, 42px); inset-inline-end: clamp(18px, 2vw, 32px); width: clamp(80px, 6.4vw, 104px); margin: 0; z-index: 1; }
.home .tb-process__step .tb-h3 { font-size: clamp(1.4rem, 1.1rem + .8vw, 1.9rem); }
.home .tb-process__step p { color: rgba(255, 255, 255, .86); }

/* Press: a sheet of newsprint between the dark rooms -------------------------- */
.home .tb-press {
	--tb-heading: var(--tb-black); --tb-text: #22252D; --tb-muted: #555A66; --tb-accent: var(--tb-blue);
	position: relative; background: #F2F0EB; color: var(--tb-black); border: 0;
}
.home .tb-press::before { content: ""; position: absolute; inset: 0; background: var(--grain); background-size: 180px; filter: invert(1); opacity: .22; mix-blend-mode: multiply; pointer-events: none; }
.home .tb-press__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); align-items: center; gap: 32px clamp(32px, 5vw, 80px); padding-block: clamp(56px, 6vw, 96px); }
.home .tb-press__title { font-size: clamp(1.8rem, 1.1rem + 2vw, 3rem); font-weight: var(--fw-light); line-height: 1.05; letter-spacing: -.03em; color: var(--tb-black); }
.home .tb-press__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid rgba(10, 10, 10, .9); }
.home .tb-press__list li { display: grid; place-items: center; height: clamp(96px, 8vw, 124px); border-bottom: 1px solid rgba(10, 10, 10, .14); }
.home .tb-press__list li:not(:nth-child(3n + 1)) { border-inline-start: 1px solid rgba(10, 10, 10, .14); }
.home .tb-press__list img { height: clamp(34px, 3vw, 48px); max-width: 70%; mix-blend-mode: multiply; }
.home .tb-press .tb-marquee { mask-image: none; -webkit-mask-image: none; }
.home .tb-press__marquee img { mix-blend-mode: multiply; }
.home .tb-press .tb-link { grid-column: 2; justify-self: end; color: var(--tb-black); border-bottom: 2px solid var(--tb-blue); }

/* FAQ ------------------------------------------------------------------------ */
.home .tb-faq { background: var(--n0); }
.home .tb-accordion { border-top: 1px solid rgba(255, 255, 255, .5); }
.home .tb-accordion__item { border-color: rgba(255, 255, 255, .1); }
.home .tb-accordion__item[open] { border-color: rgba(255, 255, 255, .3); }
.home .tb-accordion__item summary { color: #fff; font-weight: var(--fw-medium); font-size: clamp(1.15rem, 1rem + .5vw, 1.45rem); padding-block: 28px; }
.home .tb-accordion__item[open] summary { font-weight: var(--fw-bold); }
.home .tb-accordion__item summary:hover { color: var(--tb-cyan); }
.home .tb-accordion__item summary .tb-icon { border: 1px solid rgba(255, 255, 255, .3); color: #fff; }
.home .tb-accordion__item[open] summary .tb-icon { background: var(--tb-blue); border-color: var(--tb-blue); }
.home .tb-accordion__item p { color: rgba(255, 255, 255, .66); }

/* Blog (when posts exist) */
.home .tb-blog { background: var(--n1); border-top: 1px solid rgba(255, 255, 255, .06); }
.home .tb-post__date { border-top-color: rgba(255, 255, 255, .3); }
.home .tb-post__img { box-shadow: 0 50px 90px -50px rgba(0, 0, 0, .95); }
/* One or two posts: lay them out as a featured row / a pair, never a lone card in a three-column grid. */
.home .tb-blog__grid--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home .tb-blog__grid--n1 { grid-template-columns: 1fr; }
.home .tb-blog__grid--n1 .tb-post { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); grid-template-rows: 1fr auto auto; column-gap: clamp(32px, 5vw, 80px); align-items: end; }
.home .tb-blog__grid--n1 .tb-post__img { grid-column: 1; grid-row: 1 / span 3; aspect-ratio: 16 / 9; }
.home .tb-blog__grid--n1 .tb-post__date { grid-column: 2; grid-row: 2; }
.home .tb-blog__grid--n1 .tb-h3 { grid-column: 2; grid-row: 3; font-size: clamp(2rem, 1.2rem + 2.2vw, 3.6rem); line-height: 1.02; letter-spacing: -.03em; }

/* Contact: the blue room at the end, lit from above-left --------------------- */
.home .tb-contact {
	background: var(--tb-lit-blue);
	--tb-accent: #fff;
}
.home .tb-contact::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		var(--grain),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 88px),
		conic-gradient(from 196deg at 82% -35%, transparent 0deg, rgba(255, 255, 255, .16) 20deg, transparent 52deg),
		linear-gradient(180deg, transparent 55%, rgba(0, 16, 72, .5) 100%);
	background-size: 180px, auto, auto, auto; mix-blend-mode: soft-light;
}
.home .tb-contact .tb-h2 { color: #fff; }
.home .tb-contact .tb-h2 .tb-grad { color: #fff; }
.home .tb-contact .tb-label::before { background: #fff; }
.home .tb-contact .tb-head .tb-lead { color: #fff; }
.home .tb-contact__form ::selection { background: var(--tb-blue); }
/* A glass chat bubble perched on the form's top corner, half on the card, half in the blue. */
.home .tb-contact.tb-field--blue .tb-contact__form { overflow: visible; }
.home .tb-contact__form-head { position: relative; }
.home .tb-contact__art { position: absolute; z-index: 2; inset-inline-end: clamp(-112px, -6.2vw, -56px); top: clamp(-124px, -8vw, -84px); width: clamp(120px, 11.8vw, 170px); rotate: 6deg; }

/* Footer sits on the same night ground */
.home .tb-footer { background: var(--n0); border-top: 1px solid rgba(255, 255, 255, .06); }
.home .tb-footer__big { font-weight: var(--fw-light); letter-spacing: -.035em; }
.home .tb-footer__big .tb-grad { font-weight: var(--fw-black); color: #fff; }

/* Responsive ----------------------------------------------------------------- */
@media (max-width: 1200px) {
	.tb-proof__inner { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.tb-proof__art { position: relative; top: auto; inset: auto; order: -1; justify-self: end; width: 200px; margin: -16px 0 4px; }
}
@media (max-width: 1100px) {
	.home .tb-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
	.home .tb-svc__layout { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
}

@media (max-width: 960px) {
	.home .tb-nav { background: var(--n0); border-top: 1px solid rgba(255, 255, 255, .1); }
	.home .tb-nav__list > li > a { color: #fff; border-color: rgba(255, 255, 255, .1); }
	.home .tb-nav__list > li > a.is-current { color: var(--tb-cyan); }
	.home .tb-mega { background: none; border: 0; box-shadow: none; }
	.nav-open.home .tb-header { background: var(--n0); }

	.home .tb-hero--home { min-height: 0; }
	.home .tb-hero__grid { grid-template-columns: 1fr; gap: 0; }
	.home .tb-hero__copy { padding-block: 40px 8px; gap: 24px; }
	/* The loop floats above the slab and drifts up with the scroll: keep air between it and the lead. */
	.tb-stage { max-height: none; aspect-ratio: 1 / .94; margin: 28px auto 0; max-width: 620px; }
	.tb-stage__layer--art { top: 4%; }
	.tb-hero__beam { background: conic-gradient(from 150deg at 50% -10%, transparent 0deg, rgba(58, 124, 255, .1) 12deg, rgba(40, 110, 255, .28) 28deg, rgba(2, 83, 252, .1) 46deg, transparent 60deg); }
	.home .tb-hero--home { padding-bottom: 36px; }
	.tb-svc__layout { grid-template-areas: "head" "list"; }
	.home .tb-process__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.home .tb-process__step:nth-child(n) { translate: none; }
	.home .tb-process { padding-bottom: var(--tb-section); }
	.home .tb-blog__grid--n1 .tb-post, .home .tb-blog__grid--n2 { grid-template-columns: 1fr; }
	.home .tb-blog__grid--n1 .tb-post__img, .home .tb-blog__grid--n1 .tb-post__date, .home .tb-blog__grid--n1 .tb-h3 { grid-column: 1; grid-row: auto; }

	.home .tb-about__grid, .home .tb-svc__layout, .home .tb-faq__grid { grid-template-columns: 1fr; }
	.home .tb-why__item--1 { grid-template-columns: 1fr; }
	.tb-svc__stage { display: none; }
	.tb-svc__body { grid-template-rows: 1fr; }
	.tb-svc__inner { opacity: 1; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: start; }
	.tb-svc__inner > :not(.tb-svc__mini) { grid-column: 1; }
	.tb-svc__inner .tb-svc__mini { display: block; grid-column: 2; grid-row: 1 / span 2; width: 84px; height: auto; filter: drop-shadow(6px 10px 10px rgba(0, 18, 80, .35)); }
	.tb-svc__title { color: #fff; font-weight: var(--fw-bold); }
	.tb-svc__item.is-active .tb-svc__title { font-weight: var(--fw-bold); }
	.tb-svc__row { padding-block: 24px 26px; }
	.tb-svc__go { display: none; }
	.tb-svc__row { grid-template-columns: 2.6rem minmax(0, 1fr); }
	.tb-svc__num { color: rgba(255, 255, 255, .8); }

	.home .tb-why__grid { grid-template-columns: 1fr; }
	.home .tb-why__item--1 { grid-row: auto; min-height: 540px; }
	.home .tb-why__item--2, .home .tb-why__item--3 { min-height: 0; }
	.home .tb-why__item, .home .tb-why__item:first-child { padding: 32px 28px; }

	.home .tb-press__inner { grid-template-columns: 1fr; }
	/* Chips ride on the outer ring and stick out by half their size plus a label: keep that inside the screen. */
	.home .tb-orbit { width: calc(100% - 72px); max-width: 420px; margin-top: 40px; margin-bottom: 24px; }
	.home .tb-press .tb-link { grid-column: 1; justify-self: start; }
}

@media (max-width: 640px) {
	.home .tb-hero__title { font-size: clamp(2.6rem, .9rem + 8.6vw, 3.4rem); }
	.home .tb-hero__lead { font-size: 1.1rem; }
	.home .tb-proof__stats { grid-template-columns: 1fr; gap: 28px; }
	.home .tb-proof__stats li + li { padding: 28px 0 0; margin: 0; border-inline-start: 0; border-top: 1px solid rgba(255, 255, 255, .34); }
	.home .tb-proof__stats strong { font-size: clamp(3rem, 1rem + 10vw, 4.2rem); }
	.tb-proof__inner { padding-block: 56px; }
	.tb-proof__art { position: absolute; width: 136px; top: 32px; inset-inline-end: 10px; margin: 0; }
	.tb-stage__layer--art { left: 2%; }
	.tb-proof__loop { width: 150vw; right: -40vw; }
	.home .tb-header__cta { --btn-bg: #fff; --btn-fg: var(--tb-black); min-height: 42px; }

	.home .tb-h2 { font-size: clamp(2.3rem, 1rem + 6.4vw, 3rem); }
	.tb-svc__title { font-size: clamp(1.55rem, 1rem + 3vw, 2rem); }
	.tb-svc__inner .tb-svc__mini { width: 68px; }
	.tb-svc__text { padding-top: 10px; font-size: 1.02rem; }

	.home .tb-why__item--1 { min-height: 480px; }
	.home .tb-why__item--1 .tb-why__art { width: 210px; }
	.home .tb-why__item--2, .home .tb-why__item--3 { grid-template-columns: minmax(0, 1fr) 88px; }
	.home .tb-why__art { width: 96px; }
	/* Phones: no room above the card (the channel list sits right there), so the bubble stays in the head. */
	.home .tb-contact__art { position: static; flex: none; width: 92px; margin: -18px -6px -18px 0; }

	.home .tb-process__list { grid-template-columns: 1fr; gap: 12px; }
	.home .tb-process__step, .home .tb-process__step:first-child, .home .tb-process__step:nth-child(3) { display: grid; grid-template-columns: 1fr; padding: 0 22px 28px; border-inline-start: 0; }
	.tb-process__big { font-size: 5.4rem; }
	.home .tb-process__doodle { grid-row: auto; top: 28px; inset-inline-end: 22px; width: 88px; }

	.home .tb-press__title { font-size: 1.9rem; }
	.home .tb-press__list { display: none; }
	.home .tb-press__marquee { border-block: 1px solid rgba(10, 10, 10, .14); }

}

@media (prefers-reduced-motion: reduce) {
	.tb-stage__layer > *, .tb-ad__chart i { opacity: 1; translate: none; transform: none; }
	.home .tb-art[data-reveal] { opacity: 1; transform: none; transition: none; }
}
