/* Landing hitty-missy.ru/ttt. Builds on /assets/site.css of the showcase (themes, fonts, .wrap, header, .themes). */

main { display: grid; gap: 2.5rem }
section h2 { font: 600 1.6rem/1.2 var(--f-display); margin: 0 0 1rem; text-wrap: balance }
.muted { color: var(--muted); margin: 0 0 1.25rem; max-width: 40rem }
.domain { text-decoration: none }
.domain:hover { text-decoration: underline }

.kicker { margin: .5rem 0 0; font: 600 .8rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--t2) }
.ttt-h1 { font: 800 clamp(2.2rem, 7vw, 4.4rem)/1.05 var(--f-display); margin: 0; letter-spacing: -.02em; text-wrap: balance }

.actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin: .5rem 0 0 }
.cta { display: inline-flex; align-items: center; min-height: 52px; padding: .6rem 1.6rem; font: 600 1.1rem var(--f-body); color: var(--paper); background: var(--t2); border-radius: 999px; text-decoration: none }
.cta:hover { filter: brightness(1.1) }
.addr { font: 500 .9rem var(--f-mono); color: var(--muted) }

.feat, .together { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem }
.feat { grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)) }
.feat li, .together li { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 1rem 1.25rem; min-width: 0 }
.feat b { display: block; margin-bottom: .25rem }
.together { grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)) }
.together a { display: block; font: 600 1.2rem var(--f-display); margin-bottom: .35rem }
.together span { color: var(--muted) }

.vids { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); align-items: start }
.vid { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 1rem 1.25rem 1.25rem; min-width: 0; display: grid; gap: .5rem }
.vid h3 { font: 600 1.15rem/1.25 var(--f-display); margin: 0; text-wrap: balance }
.vid p { margin: 0; color: var(--muted) }
.vid video { width: 100%; height: auto; aspect-ratio: 9 / 16; max-height: 80vh; background: #000; border-radius: 4px; object-fit: contain }
.vid-wide video { aspect-ratio: 16 / 9 }
@media (min-width: 46rem) { .vid-wide { grid-column: span 2 } }

.final { text-align: left }
.final .actions { margin-top: 0 }

footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; color: var(--muted); font-size: .95rem }

/* "Как в 2012": site.css hides every h1 there (the logo image replaces the title), so this page's title is restored. */
:root[data-theme="y2012"] .ttt-h1 { font: 300 36px/40px var(--f-body); letter-spacing: 0; order: 1 }
:root[data-theme="y2012"] .kicker { order: 0 }
:root[data-theme="y2012"] header .actions { order: 4 }
:root[data-theme="y2012"] section h2, :root[data-theme="y2012"] .together a, :root[data-theme="y2012"] .vid h3 { font-family: var(--f-body); font-weight: 400 }
:root[data-theme="y2012"] .cta { border-radius: 4px }

/* Language switcher (page header) and the language chooser (/ttt/) */
.top-ctl { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem }
.langs { display: flex; gap: .25rem; border: 1px solid var(--line); border-radius: 999px; padding: .2rem }
.langs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .85rem; border-radius: 999px; font: 500 .85rem var(--f-body); color: var(--muted); text-decoration: none }
.langs a:hover { text-decoration: underline }
.langs a[aria-current="page"] { background: var(--ink); color: var(--bg) }
.video-note { padding: .6rem .9rem; border-left: 4px solid var(--t3); background: var(--paper) }
.choose { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)) }
.choose a { display: flex; align-items: center; justify-content: center; min-height: 64px; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; font: 600 1.3rem var(--f-display); text-decoration: none }
.choose a:hover { border-color: var(--t2) }
:root[data-theme="y2012"] .langs { border: 0; padding: 0 }

/* Promo: the vertical cut on narrow screens, the 16:9 cut from 46rem */
.promo video { width: 100%; max-width: 22rem; height: auto; aspect-ratio: 9 / 16; max-height: 80vh; background: #000; border-radius: 4px; object-fit: contain; display: block }
.promo .promo-wide { display: none }
@media (min-width: 46rem) {
  .promo .promo-tall { display: none }
  .promo .promo-wide { display: block; max-width: 48rem; aspect-ratio: 16 / 9 }
}
