/* The floating T-Deck beside the front page's intro: the model alone, on the section's own
   cream, with a faint contact shadow and one small link, all fading in with the model.
   Placed by tdeck-feature.js. */
.gs-tdeck-float { position: absolute; z-index: 2; display: flex; flex-direction: column; align-items: center; pointer-events: none; }
.gs-tdeck-float[hidden] { display: none; }
.gs-tdeck-float-stage { position: relative; flex: 1 1 auto; width: 100%; min-height: 0; }
.gs-tdeck-float-stage::after { content: ''; position: absolute; left: 26%; right: 26%; bottom: 3%; height: 7%; background: radial-gradient(closest-side, rgba(21,21,21,.22), transparent); pointer-events: none; }
.gs-tdeck-float-canvas { position: absolute; inset: 0; width: 100%; height: 100%; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 9%); mask-image: linear-gradient(to bottom, transparent 0, #000 9%); }
.gs-tdeck-float-canvas, .gs-tdeck-float-stage::after, .gs-tdeck-float-link { opacity: 0; transition: opacity 700ms ease; }
.gs-tdeck-float.is-live .gs-tdeck-float-canvas, .gs-tdeck-float.is-live .gs-tdeck-float-stage::after, .gs-tdeck-float.is-live .gs-tdeck-float-link { opacity: 1; }
/* A mouse may turn it; on touch it stays out of the way of scrolling. */
@media (pointer: fine) { .gs-tdeck-float-canvas { pointer-events: auto; cursor: grab; } .gs-tdeck-float-canvas:active { cursor: grabbing; } }
.gs-tdeck-float-link { flex: none; display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; pointer-events: auto; font: 600 11px/1 'Inter Display', Inter, sans-serif; letter-spacing: .02em; text-transform: uppercase; color: rgba(21,21,21,.5); text-decoration: none; transition: color 160ms ease; }
.gs-tdeck-float-link:hover { color: #151515; }
.gs-tdeck-float-link:focus-visible { outline: 2px solid #151515; outline-offset: 4px; }
/* Compact (phones): the caption becomes an invisible link over the whole model. */
.gs-tdeck-float.is-compact .gs-tdeck-float-link { position: absolute; inset: 0; margin: 0; font-size: 0; color: transparent; }
.gs-tdeck-float.is-compact .gs-tdeck-float-link span { display: none; }
@media (prefers-reduced-motion: reduce) { .gs-tdeck-float-canvas, .gs-tdeck-float-stage::after, .gs-tdeck-float-link { transition: none; } }
