/* Global rules carried over from the design's <helmet> block. */
html, body { margin: 0; padding: 0; background: #0E1013; }
a { color: #35DCEB; text-decoration: none; }
a:hover { color: #8FE9F2; }
::selection { background: rgba(53,220,235,0.28); }
input, textarea, select { font-family: 'IBM Plex Sans', sans-serif; }
input::placeholder, textarea::placeholder { color: rgba(242,245,247,0.45); }
@keyframes tc-dash { to { stroke-dashoffset: -240; } }
@keyframes tc-drift { 0%, 100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(0,-2.5%,0) scale(1.05); } }
@keyframes tc-menu-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes tc-row-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
a, button { transition: color 160ms cubic-bezier(.2,.8,.2,1), background-color 160ms cubic-bezier(.2,.8,.2,1), border-color 160ms cubic-bezier(.2,.8,.2,1), box-shadow 160ms cubic-bezier(.2,.8,.2,1), transform 160ms cubic-bezier(.2,.8,.2,1), opacity 160ms cubic-bezier(.2,.8,.2,1); }
a:active { transform: scale(0.985); }
input, textarea, select { transition: border-color 160ms cubic-bezier(.2,.8,.2,1), box-shadow 160ms cubic-bezier(.2,.8,.2,1), background-color 160ms cubic-bezier(.2,.8,.2,1); }
:focus-visible { outline: 2px solid rgba(53,220,235,0.55); outline-offset: 2px; }
a:hover [data-arrow] { transform: translateX(3px); }
[data-caret] { transform: rotate(45deg) translateY(-1px); transition: transform 200ms cubic-bezier(.2,.8,.2,1), border-color 160ms cubic-bezier(.2,.8,.2,1); }
a:hover [data-caret] { border-color: #35DCEB; }
a[data-open="true"] [data-caret] { transform: rotate(225deg) translateY(-1px); }
@keyframes tc-pulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition-duration: 1ms !important; } }

/* "Why partners" rows: on narrow screens the three columns squeeze the body
   text to a few pixels, so the body drops under the title. */
@media (max-width: 720px) {
  .tc-why-row { grid-template-columns: 40px minmax(0, 1fr) !important; row-gap: 10px !important; }
  .tc-why-row > p { grid-column: 2; }
}
