.infinita-tv {
  --tv-ink: #202522;
  --tv-muted: #626864;
  --tv-line: #e4e7e2;
  position: relative;
  isolation: isolate;
  overflow-x: clip;
  padding: 118px 0 104px;
  background: #fff;
  color: var(--tv-ink);
  font-family: Manrope, sans-serif;
}
/* Tighten only the home portfolio-to-TV transition, keeping both sections airy. */
.pl + #infinita-tv .infinita-tv { padding-top:72px; }
@media (max-width:768px) {
  .pl + #infinita-tv .infinita-tv { padding-top:32px; }
}
.infinita-tv *, .infinita-tv *::before, .infinita-tv *::after { box-sizing: border-box; }
.infinita-tv .tv-heading { max-width: 900px; margin: 0 auto; padding: 0 24px; text-align: center; }
.infinita-tv .tv-eyebrow { margin: 0 0 22px; color: var(--tv-muted); font-size: 10px; line-height: 1.6; letter-spacing: .17em; font-weight: 600; }
.infinita-tv .tv-eyebrow{display:flex;flex-direction:column;align-items:center;gap:12px}
.infinita-tv .tv-brand{display:block;width:212px;height:auto;max-width:100%}
.infinita-tv h2 { margin: 0; font-size: clamp(38px, 4.7vw, 66px); line-height: 1.08; letter-spacing: -.052em; font-weight: 400; }
.infinita-tv .tv-heading h2 { color:var(--tv-ink); }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .infinita-tv .tv-heading h2 { background-image:var(--wordmark-gradient); background-clip:text; -webkit-background-clip:text; color:transparent; }
}
@media(forced-colors:active){.infinita-tv .tv-heading h2{background-image:none;color:CanvasText}}
.infinita-tv .tv-description { margin: 25px auto 0; max-width: 530px; font-size: 15px; line-height: 1.8; color: var(--tv-muted); }
.infinita-tv .tv-mobile-break { display: none; }
.infinita-tv .tv-carousel { margin: 8px auto 0; width: 100%; max-width: 1800px; }
.infinita-tv .tv-stage {
  --tv-drag: 0px;
  position: relative;
  height: 460px;
  width: 100%;
  overflow: hidden;
  perspective: 1200px;
  touch-action: pan-y pinch-zoom;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  outline: none;
}
.infinita-tv .tv-stage:focus-visible::after { content: ''; position: absolute; inset: 24px 32px; z-index: 40; border: 2px solid #446db3; border-radius: 22px; pointer-events: none; }
.infinita-tv .tv-card {
  position: absolute;
  left: calc(var(--tv-left) + var(--tv-drag));
  top: var(--tv-top);
  width: var(--tv-width);
  height: calc(var(--tv-width) * 1.5);
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #edf0ed;
  box-shadow: 0 8px 16px -13px rgb(22 35 32 / .36), inset 0 0 0 1px rgb(255 255 255 / .18);
  transform: translate(-50%, -50%) rotateY(var(--tv-turn)) rotateZ(var(--tv-roll));
  backface-visibility: hidden;
  transition: left 680ms cubic-bezier(.22,.68,.18,1), top 680ms cubic-bezier(.22,.68,.18,1), width 680ms cubic-bezier(.22,.68,.18,1), height 680ms cubic-bezier(.22,.68,.18,1), transform 680ms cubic-bezier(.22,.68,.18,1), opacity 240ms ease;
}
.infinita-tv .tv-card img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; background:#10242a; }
.infinita-tv .tv-card img { object-position: 50% 50%; }
.infinita-tv .tv-card[data-kind="concept"] img { object-fit: contain; }
.infinita-tv .tv-card-wrap { opacity: 0; transition: none; }
.infinita-tv .tv-is-dragging { cursor: grabbing; }
.infinita-tv .tv-is-dragging .tv-card { transition: none; }
.infinita-tv .tv-controls { display: flex; align-items: center; justify-content: center; gap: 25px; margin: -20px auto 0; position: relative; }
.infinita-tv .tv-arrow { display: inline-grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid var(--tv-line); border-radius: 50%; background: #fff; color: var(--tv-ink); cursor: pointer; transition: background 180ms ease, border-color 180ms ease, transform 180ms ease; }
.infinita-tv .tv-arrow:hover { background: #f4f6f2; border-color: #bdc5bc; transform: translateY(-1px); }
.infinita-tv .tv-arrow:active { transform: translateY(0); }
.infinita-tv .tv-arrow svg { width: 17px; height: 17px; }
.infinita-tv .tv-count { display: flex; gap: 12px; align-items: center; font-size: 11px; font-variant-numeric: tabular-nums; color: #626864; }
.infinita-tv .tv-count strong { color: var(--tv-ink); font-weight: 500; }
.infinita-tv .tv-count > span:first-of-type { color: #b8beb7; }
.infinita-tv .tv-reference-note { margin: 28px 24px 0; text-align: center; font-size: 11px; line-height: 1.8; color: #6a716b; }
.infinita-tv .tv-cta-wrap { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 22px; }
.infinita-tv .tv-cta { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 48px; max-width: calc(100% - 48px); padding: 5px 6px 5px 22px; border: 1px solid var(--tv-line); border-radius: 999px; color: var(--tv-ink); text-decoration: none; font-size: 13px; font-weight: 500; background: #fff; transition: background 180ms ease, border-color 180ms ease; }
.infinita-tv .tv-cta:hover { border-color: #bec7bd; background: #f8f9f6; }
.infinita-tv .tv-cta-arrow { display: inline-grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; background: #273b31; color: #fff; flex: 0 0 auto; }
.infinita-tv .tv-cta-arrow svg { width: 17px; height: 17px; transform: rotate(-30deg); }
.infinita-tv .tv-prototype-note { color: #626864; font-size: 10px; line-height: 1.5; }
.infinita-tv .tv-arrow:focus-visible, .infinita-tv .tv-cta:focus-visible { outline: 2px solid #446db3; outline-offset: 4px; }
.infinita-tv .tv-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 900px) and (min-width: 641px) {
  .infinita-tv .tv-stage { height: 445px; }
}
@media (max-width: 640px) {
  .infinita-tv { padding: 76px 0 70px; }
  .infinita-tv .tv-eyebrow { font-size: 9px; letter-spacing: .14em; margin-bottom: 20px; }
  .infinita-tv h2 { font-size: clamp(34px, 9.7vw, 48px); letter-spacing: -.055em; }
  .infinita-tv .tv-mobile-break { display: initial; }
  .infinita-tv .tv-desktop-break { display: none; }
  .infinita-tv .tv-description { max-width: 330px; margin-top: 20px; font-size: 13px; line-height: 1.75; }
  .infinita-tv .tv-carousel { margin-top: 16px; }
  .infinita-tv .tv-stage { height: 307px; perspective: 800px; }
  .infinita-tv .tv-card { left: calc(var(--tv-mobile-left) + var(--tv-drag)); top: var(--tv-mobile-top); width: var(--tv-mobile-width); height: calc(var(--tv-mobile-width) * 1.5); border-radius: 12px; transform: translate(-50%, -50%) rotateY(var(--tv-mobile-turn)) rotateZ(var(--tv-mobile-roll)); }
  .infinita-tv .tv-card[data-slot="5"], .infinita-tv .tv-card[data-slot="6"], .infinita-tv .tv-card[data-slot="7"] { display: none; }
  .infinita-tv .tv-controls { margin-top: -4px; gap: 22px; }
  .infinita-tv .tv-reference-note { font-size: 10px; margin-top: 24px; }
  .infinita-tv .tv-cta-wrap { margin-top: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .infinita-tv .tv-card, .infinita-tv .tv-arrow, .infinita-tv .tv-cta { transition: none; }
  .infinita-tv .tv-card-wrap { opacity: 1; }
  .infinita-tv .tv-arrow:hover { transform: none; }
}
