:root {
  --ink: #161616;
  --muted: #77736d;
  --paper: #f4f1eb;
  --line: #d9d4ca;
  --acid: #d7ff58;
  --orange: #f17c4c;
  --lavender: #aaa8ff;
  --blue: #a9d9e8;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
.site-header { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding: 18px 5vw; }
.brand { align-items: center; display: flex; font-size: 19px; font-weight: 800; gap: 9px; letter-spacing: -.05em; }
.brand-mark { align-items: center; background: var(--ink); border-radius: 50%; color: var(--acid); display: inline-flex; font-size: 13px; height: 28px; justify-content: center; letter-spacing: 0; width: 28px; }
.brand-dot { color: var(--orange); }
.top-nav { display: flex; gap: 32px; margin-left: 8vw; }
.top-nav a { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.top-nav a:hover, .top-nav a.active { color: var(--ink); }
.search-button { background: transparent; border: 0; color: var(--ink); font-size: 14px; font-weight: 700; }
.search-button span { font-size: 11px; letter-spacing: .08em; margin-left: 5px; text-transform: uppercase; }
.hero { display: grid; gap: 4vw; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); margin: 0 auto; max-width: 1400px; min-height: 610px; padding: 9vw 5vw 7vw; }
.eyebrow { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .16em; margin: 0 0 22px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(54px, 8vw, 116px); letter-spacing: -.095em; line-height: .87; margin-bottom: 34px; max-width: 730px; }
h1 em, h2 em { color: var(--orange); font-family: Georgia, serif; font-weight: 400; letter-spacing: -.09em; }
.hero-text { color: var(--muted); font-size: 15px; line-height: 1.7; max-width: 410px; }
.hero-actions { align-items: center; display: flex; gap: 24px; margin-top: 34px; }
.button { border: 0; display: inline-flex; font-size: 11px; font-weight: 800; gap: 23px; justify-content: space-between; letter-spacing: .08em; padding: 16px 19px; text-transform: uppercase; }
.button-dark { background: var(--ink); color: white; }
.button-dark:hover { background: var(--orange); }
.hero-note { color: var(--muted); font-size: 11px; }
.pulse { background: #59b66c; border-radius: 50%; display: inline-block; height: 7px; margin-right: 5px; width: 7px; }
.hero-art { min-height: 420px; position: relative; }
.orbit { border: 1px solid rgba(22,22,22,.2); border-radius: 50%; height: 115%; left: 5%; position: absolute; top: -8%; transform: rotate(-25deg); width: 90%; }
.orbit-two { height: 80%; left: 21%; top: 11%; transform: rotate(42deg); width: 60%; }
.hero-card { align-items: flex-end; box-shadow: 15px 18px 0 rgba(22,22,22,.12); display: flex; flex-direction: column; justify-content: space-between; padding: 28px; position: absolute; }
.hero-card-back { background: var(--lavender); height: 300px; right: 14%; top: 4%; transform: rotate(11deg); width: 230px; }
.hero-card-front { background: var(--acid); height: 300px; left: 13%; top: 17%; transform: rotate(-8deg); width: 230px; }
.hero-card span { font-size: 11px; font-weight: 900; letter-spacing: .12em; text-align: right; }
.hero-card b { font-size: 12px; letter-spacing: .12em; }
.play-glyph { align-self: flex-start; border: 1px solid var(--ink); border-radius: 50%; font-size: 15px !important; height: 44px; line-height: 44px; text-align: center !important; width: 44px; }
.hero-card-label { align-self: flex-start; font-size: 25px !important; letter-spacing: -.06em !important; line-height: .9; text-align: left !important; }
.hero-stamp { border: 1px solid var(--ink); border-radius: 50%; bottom: 7%; font-size: 10px; font-weight: 900; left: 0; line-height: 1.15; padding: 18px 14px; position: absolute; text-align: center; transform: rotate(-18deg); }
.section { border-top: 1px solid var(--line); margin: 0 auto; max-width: 1400px; padding: 9vw 5vw 8vw; }
.section-heading { align-items: end; display: flex; justify-content: space-between; }
h2 { font-size: clamp(42px, 5.5vw, 78px); letter-spacing: -.09em; line-height: .9; margin-bottom: 0; }
.section-intro { color: var(--muted); font-size: 14px; line-height: 1.7; margin-bottom: 5px; max-width: 275px; }
.filter-row { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin-top: 75px; padding-bottom: 15px; }
.filters { display: flex; flex-wrap: wrap; gap: 24px; }
.filter { background: none; border: 0; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; padding: 0; text-transform: uppercase; }
.filter:hover, .filter.active { color: var(--ink); }
.filter.active::before { background: var(--orange); border-radius: 50%; content: ""; display: inline-block; height: 6px; margin: 0 7px 1px 0; width: 6px; }
.result-count { color: var(--muted); font-size: 11px; }
.video-grid { display: grid; gap: 52px 22px; grid-template-columns: repeat(3, 1fr); padding-top: 30px; }
.video-card.is-hidden { display: none; }
.thumbnail { border: 0; display: block; height: 250px; overflow: hidden; position: relative; width: 100%; }
.thumbnail::before, .thumbnail::after { content: ""; position: absolute; }
.thumbnail::before { background: repeating-linear-gradient(125deg, transparent 0 23px, rgba(255,255,255,.17) 24px 25px), radial-gradient(circle at 70% 34%, rgba(255,255,255,.45), transparent 26%), linear-gradient(130deg, rgba(22,22,22,.1), rgba(22,22,22,.55)); inset: -10%; transition: transform .5s ease; }
.thumbnail::after { border: 1px solid rgba(255,255,255,.5); border-radius: 50%; height: 160px; right: -35px; top: 25px; width: 160px; }
.thumbnail:hover::before { transform: scale(1.1) rotate(4deg); }
.card-a .thumbnail { background: #9ebba4; } .card-b .thumbnail { background: #c88973; } .card-c .thumbnail { background: #263247; } .card-d .thumbnail { background: #d6b38e; } .card-e .thumbnail { background: #877fb7; } .card-f .thumbnail { background: #7ea5bd; }
.thumb-icon { border: 1px solid white; border-radius: 50%; color: white; font-size: 17px; height: 50px; left: calc(50% - 25px); line-height: 50px; opacity: .9; position: absolute; text-align: center; top: calc(50% - 25px); width: 50px; }
.duration { background: var(--ink); bottom: 12px; color: white; font-size: 10px; font-weight: 800; padding: 5px 7px; position: absolute; right: 12px; }
.card-meta { color: var(--muted); display: flex; font-size: 10px; gap: 8px; letter-spacing: .08em; margin-top: 16px; text-transform: uppercase; }
.video-card h3 { font-size: 24px; letter-spacing: -.07em; line-height: .96; margin: 13px 0 9px; }
.video-card p { color: var(--muted); font-size: 12px; margin-bottom: 0; }
.marquee { background: var(--acid); border-bottom: 1px solid var(--ink); border-top: 1px solid var(--ink); font-size: 13px; font-weight: 900; letter-spacing: .08em; overflow: hidden; padding: 18px 0; white-space: nowrap; }
.marquee div { animation: scroll 30s linear infinite; display: inline-block; }
@keyframes scroll { from { transform: translateX(0); } to { transform: translateX(-30%); } }
.newsletter { padding: 10vw 5vw 11vw; text-align: center; }
.newsletter .eyebrow { margin-bottom: 28px; }
.newsletter h2 { font-size: clamp(54px, 8vw, 104px); }
.signup-form { display: flex; justify-content: center; margin: 44px auto 0; max-width: 510px; }
.signup-form input { background: transparent; border: 1px solid var(--ink); border-right: 0; flex: 1; min-width: 0; padding: 0 17px; }
.form-status { color: var(--muted); font-size: 12px; margin: 14px 0 0; min-height: 18px; }
.site-footer { border-top: 1px solid var(--line); color: var(--muted); display: flex; font-size: 10px; justify-content: space-between; letter-spacing: .08em; padding: 20px 5vw; text-transform: uppercase; }
.modal { align-items: center; display: none; inset: 0; justify-content: center; padding: 20px; position: fixed; z-index: 10; }
.modal.is-open { display: flex; }
.modal-backdrop { background: rgba(22,22,22,.82); inset: 0; position: absolute; }
.modal-panel { background: var(--paper); max-width: 900px; padding: 28px; position: relative; width: 100%; z-index: 1; }
.modal-panel h2 { font-size: 30px; margin: 0 45px 20px 0; }
.modal-close { background: transparent; border: 0; font-size: 30px; line-height: 1; position: absolute; right: 20px; top: 17px; }
.player-wrap { aspect-ratio: 16 / 9; background: #111; }
.player-wrap iframe { border: 0; height: 100%; width: 100%; }
.modal-caption { color: var(--muted); font-size: 11px; margin: 15px 0 0; }
.sr-only { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); }
@media (max-width: 800px) { .top-nav { gap: 15px; margin-left: 0; } .top-nav a:nth-child(2) { display: none; } .hero { grid-template-columns: 1fr; padding-top: 18vw; } .hero-art { min-height: 350px; } .section-heading { align-items: start; flex-direction: column; gap: 25px; } .video-grid { grid-template-columns: repeat(2, 1fr); } .thumbnail { height: 210px; } .site-footer span:nth-child(2) { display: none; } }
@media (max-width: 520px) { .site-header { padding: 15px 5vw; } .search-button span { display: none; } .hero { min-height: auto; } .hero-art { min-height: 310px; transform: scale(.86); transform-origin: top left; width: 116%; } .video-grid { grid-template-columns: 1fr; } .thumbnail { height: 245px; } .filter-row { align-items: start; flex-direction: column; gap: 15px; } .signup-form { display: block; } .signup-form input { border-right: 1px solid var(--ink); height: 48px; width: 100%; } .signup-form .button { margin-top: 8px; width: 100%; } .site-footer { flex-wrap: wrap; gap: 10px; } }
