/* The works gallery (/works/) and the "seen on" page (/press/), in the language of the knowledge pages. */
.works-page .library-note p { margin-top: 12px; }
.works-draft { margin-bottom: 30px; }
.works-nav { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 46px; }
.works-nav a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid var(--line-strong); border-radius: 999px; color: #d3e6ec; font-size: .9rem; transition: border-color .2s, background .2s; }
.works-nav a:hover { border-color: #9ddce8; background: rgba(157, 220, 232, .07); }
.works-nav small { color: #9ab9c5; font-size: .76rem; font-variant-numeric: tabular-nums; }
.works-page :is(a, button):focus-visible { outline: 2px solid var(--ice); outline-offset: 3px; }

.works-section { padding-bottom: 64px; scroll-margin-top: 118px; }
.works-section .library-section-label { margin-bottom: 12px; }
.works-section .library-section-label h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); letter-spacing: -.035em; }
.works-lead { margin: 0 0 26px; max-width: 44em; color: #a9c0c8; font-size: 1rem; line-height: 1.8; }
.works-grid { margin: 0; padding: 0; list-style: none; columns: 3 250px; column-gap: 14px; }
.works-grid li { margin: 0 0 14px; break-inside: avoid; }
.works-item { position: relative; display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #0a1923; }
.works-item img { display: block; width: 100%; height: auto; transition: transform .4s; }
.works-item:hover img { transform: scale(1.025); }
.works-caption { display: block; padding: 12px 14px 13px; border-top: 1px solid var(--line); color: #c5dde6; font-size: .86rem; line-height: 1.5; }

.works-seen { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; padding-bottom: 20px; }
.works-seen-item { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 20px 22px; border: 1px solid var(--line); border-radius: 16px; background: #0d202b; }
a.works-seen-item { transition: border-color .25s; }
a.works-seen-item:hover { border-color: #6aa6b8; }
.works-seen-item span { color: #a2bec7; font-size: .78rem; }
.works-seen-item strong { font-size: 1.15rem; font-weight: 400; letter-spacing: -.02em; }
.works-seen-item small { color: #9ab9c5; font-size: .82rem; line-height: 1.6; }

.works-viewer { width: 100%; max-width: 100%; height: 100%; max-height: 100%; margin: 0; padding: 0; border: 0; background: rgba(4, 10, 16, .96); color: var(--text); }
.works-viewer::backdrop { background: rgba(4, 10, 16, .9); }
.works-viewer-inner { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 12px; height: 100%; padding: 16px clamp(12px, 3vw, 34px) 20px; }
.works-viewer-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.works-viewer-bar p { margin: 0; color: #a2bec7; font-size: .86rem; font-variant-numeric: tabular-nums; }
.works-viewer-stage { display: grid; place-items: center; min-height: 0; }
.works-viewer-stage img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 10px; }
.works-viewer-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.works-viewer-foot p { flex: 1; margin: 0; color: #d3e6ec; text-align: center; line-height: 1.5; }
.works-viewer button { min-width: 48px; min-height: 48px; padding: 0 16px; border: 1px solid #395966; border-radius: 12px; background: rgba(13, 32, 43, .9); color: #e5f8fd; font: inherit; font-size: .92rem; cursor: pointer; }
.works-viewer button:hover { border-color: #9ddce8; }

.press-section { padding-bottom: 64px; }
.press-section .library-section-label { margin-bottom: 26px; }
.press-tv { display: grid; gap: 22px; }
.press-card { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(135deg, #0f2330, #0c1b26); }
.press-card figure { margin: 0; min-width: 0; background: #0a1923; }
.press-card figure img { display: block; width: 100%; height: auto; }
.press-media { min-width: 0; background: #0a1923; }
.press-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #000; }
.press-clip { display: flex; align-items: center; gap: 18px; padding: 14px; border-top: 1px solid var(--line); }
.press-clip .press-video-tall { flex: none; width: 150px; aspect-ratio: 9 / 16; border-radius: 12px; }
.press-clip p { display: grid; gap: 4px; margin: 0; color: #a9c1ca; font-size: .9rem; line-height: 1.6; }
.press-clip strong { color: #e8f2f5; font-size: 1rem; font-weight: 500; }
.press-card figcaption, .press-award figcaption { padding: 8px 14px; color: #8fa9b3; font-size: .74rem; }
.press-card-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; padding: clamp(22px, 3.4vw, 38px); }
.press-channel { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; color: #a2bec7; font-size: .84rem; }
.press-channel strong { color: var(--ice-bright); font-size: 1.05rem; font-weight: 500; }
.press-card h3 { margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.85rem); font-weight: 400; line-height: 1.35; letter-spacing: -.03em; text-wrap: balance; }
.press-card-copy > p { margin: 0; color: #b8cdd5; line-height: 1.8; }
.press-card .button { gap: 12px; margin-top: 6px; }
.press-tips { margin: 4px 0 0; padding: 0; list-style: none; counter-reset: tip; display: grid; gap: 9px; }
.press-tips li { position: relative; padding-inline-start: 34px; color: #d3e6ec; font-size: .95rem; line-height: 1.65; counter-increment: tip; }
.press-tips li::before { content: counter(tip); position: absolute; inset-inline-start: 0; top: .1em; display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--ice); font-size: .76rem; }
.press-tips-title { margin: 6px 0 0; color: #a2bec7; font-size: .82rem; }

.press-social { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.press-number { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 26px; border: 1px solid var(--line); border-top-color: rgba(37, 143, 255, .7); border-radius: 16px; background: linear-gradient(145deg, rgba(111, 175, 255, .055), rgba(255, 255, 255, .012)); }
.press-number strong { color: var(--ice-bright); font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 400; line-height: 1.1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.press-number span { color: #d0dae5; font-size: .9rem; }
a.press-number { transition: border-color .25s; }
a.press-number:hover { border-color: #6aa6b8; }
a.press-number strong { font-size: 1.5rem; }
.press-note { margin: 16px 0 0; color: #8fa9b3; font-size: .8rem; }

.press-awards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; }
.press-award { display: grid; grid-template-columns: minmax(0, 150px) minmax(0, 1fr); gap: 0; overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 18px; background: #0d202b; }
.press-award img { display: block; width: 100%; height: 100%; object-fit: cover; }
.press-award div { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 22px; }
.press-award h3 { margin: 0; font-size: 1.25rem; font-weight: 400; letter-spacing: -.02em; }
.press-award p { margin: 0; color: #b8cdd5; font-size: .94rem; line-height: 1.75; }

/* The home page, under the followers: the television appearances, then a few work pictures. */
.seen-section { padding: 92px 0 100px; border-bottom: 1px solid var(--line); background: var(--ink); }
.seen-section a:focus-visible { outline: 2px solid var(--ice); outline-offset: 3px; }
.seen-heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 30px; margin-bottom: 34px; }
.seen-heading .eyebrow { margin-bottom: 14px; }
.seen-heading h2 { margin: 0; font-size: clamp(2.2rem, 4.2vw, 3.6rem); font-weight: 400; line-height: 1.1; letter-spacing: -.045em; }
.seen-heading h2 em { color: var(--ice); font-style: normal; }
.seen-heading .text-link { margin-top: 0; font-size: .86rem; }
.seen-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.seen-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(135deg, #0f2330, #0c1b26); transition: border-color .25s, transform .25s; }
.seen-card:hover { border-color: #6aa6b8; transform: translateY(-3px); }
.seen-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.seen-card-copy { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 24px; }
.seen-channel { color: #a2bec7; font-size: .84rem; }
.seen-channel strong { color: var(--ice-bright); font-size: 1rem; font-weight: 500; }
.seen-title { font-size: clamp(1.15rem, 1.9vw, 1.45rem); line-height: 1.4; letter-spacing: -.02em; }
.seen-action { margin-top: 4px; color: var(--ice); font-size: .86rem; }
.home-works-heading { margin: 64px 0 22px; }
.home-works-heading h3 { margin: 0; font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 400; letter-spacing: -.03em; }
.home-works-heading p { margin: 6px 0 0; color: #a9c0c8; font-size: .95rem; }
.home-works { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.home-works a { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #0a1923; }
.home-works img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; transition: transform .4s; }
.home-works a:hover img { transform: scale(1.05); }
.works-clips { display: flex; gap: 12px; margin: 0; padding: 0 0 8px; overflow-x: auto; list-style: none; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #2c4a59 transparent; }
.works-clip { flex: none; width: min-content; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #0a1923; scroll-snap-align: start; }
.works-clip video { display: block; width: auto; max-width: 84vw; height: 360px; object-fit: cover; background: #07131b; cursor: pointer; }
.works-clip .works-caption { padding: 10px 12px 11px; font-size: .82rem; }
.works-clip .works-caption:empty { display: none; }
.works-clips-all { display: block; columns: 6 180px; column-gap: 12px; overflow: visible; padding: 0; scroll-snap-type: none; }
.works-clips-all .works-clip { width: auto; margin: 0 0 12px; break-inside: avoid; }
.works-clips-all .works-clip video { width: 100%; max-width: none; height: auto; object-fit: contain; }
.home-3d { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.home-3d-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(135deg, #0f2330, #0c1b26); transition: border-color .25s, transform .25s; }
.home-3d-card:hover { border-color: #6aa6b8; transform: translateY(-3px); }
.home-3d-card img { display: block; width: 100%; height: auto; }
.home-3d-copy { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; }
.home-3d-copy span { color: #a2bec7; font-size: .74rem; }
.home-3d-copy strong { font-size: 1rem; font-weight: 400; line-height: 1.4; letter-spacing: -.01em; }

@media (max-width: 1180px) and (min-width: 861px) { .home-3d { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .seen-section { padding: 64px 0 72px; }
  .seen-cards { grid-template-columns: minmax(0, 1fr); }
  .home-works-heading { margin-top: 48px; }
  /* The row scrolls sideways inside the page's own margins: reaching past them made the whole page wider than the screen. */
  .home-works { grid-auto-flow: column; grid-template-columns: none; grid-template-rows: repeat(2, auto); grid-auto-columns: 38vw; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .home-works li { scroll-snap-align: start; }
  .works-clip video { height: 300px; }
  .works-clips-all { columns: 2; column-gap: 10px; }
  .works-clips-all .works-clip { margin-bottom: 10px; }
  .works-clips-all .works-clip video { height: auto; }
  .home-3d { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 62vw; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .home-3d-card { scroll-snap-align: start; }
  .press-card { grid-template-columns: minmax(0, 1fr); }
  .works-viewer-foot p { font-size: .9rem; }
}
@media (max-width: 560px) {
  .works-grid { columns: 2; column-gap: 10px; }
  .works-grid li { margin-bottom: 10px; }
  .works-caption { padding: 9px 10px 10px; font-size: .78rem; }
  .works-nav { flex-wrap: nowrap; overflow-x: auto; margin-inline: -20px; padding-inline: 20px; scrollbar-width: none; }
  .works-nav a { flex: none; }
  .press-award { grid-template-columns: minmax(0, 110px) minmax(0, 1fr); }
  .works-viewer button { padding: 0 12px; }
}
@media (prefers-reduced-motion: reduce) { .works-item img, .works-nav a, .seen-card, .home-works img, .home-3d-card { transition: none; } .works-item:hover img, .seen-card:hover, .home-works a:hover img, .home-3d-card:hover { transform: none; } }
