/* Page-specific styles for /zustrichi/ — extracted from prototype */

.upcoming{padding:80px 32px;background:var(--bone);border-bottom:1px solid var(--ink)}
.upcoming-head{max-width:1600px;margin:0 auto 48px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.upcoming-head h2{font-family:var(--serif);font-weight:800;font-size:clamp(36px,5vw,80px);letter-spacing:-.03em;line-height:.95;text-transform:uppercase}
.upcoming-head h2 .acid{color:var(--acid)}
.events-stack{max-width:1600px;margin:0 auto;display:flex;flex-direction:column}
.event-row{display:grid;grid-template-columns:120px 1fr 280px;gap:32px;align-items:center;padding:32px 0;border-top:1px solid rgba(10,10,10,.15);cursor:none;transition:padding .35s, background .35s}
.event-row:last-child{border-bottom:1px solid rgba(10,10,10,.15)}
.event-row:hover{padding-left:16px;padding-right:16px;background:linear-gradient(90deg,transparent,rgba(0,102,255,.06),transparent)}
.event-date{font-family:var(--serif);font-weight:800;font-size:64px;line-height:.85;letter-spacing:-.03em;color:var(--ink)}
.event-date .month{display:block;font-size:14px;font-family:var(--mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-2);margin-top:6px}
.event-info{display:flex;flex-direction:column;gap:10px}
.event-tag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--acid);display:inline-flex;align-items:center;gap:8px;align-self:flex-start}
.event-tag i{width:6px;height:6px;background:var(--acid);border-radius:50%;animation:blink 1.5s infinite}
.event-title{font-family:var(--serif);font-weight:700;font-size:28px;letter-spacing:-.02em;line-height:1.1}
.event-time{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-2)}
.event-speaker{display:flex;flex-direction:column;gap:6px}
.event-speaker-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-2)}
.event-speaker-name{font-family:var(--serif);font-weight:600;font-size:18px}
.event-cta{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;color:var(--ink);padding:10px 16px;border:1px solid var(--ink);transition:all .3s;width:max-content;margin-top:10px}
.event-row:hover .event-cta{background:var(--acid);color:var(--bone);border-color:var(--acid)}
.event-arrow{font-size:24px;color:var(--grey);transition:color .25s,transform .25s}
.event-row:hover .event-arrow{color:var(--acid);transform:translate(4px,-4px)}

.how-it-works{padding:120px 32px;background:var(--ink);color:var(--bone);border-bottom:1px solid var(--ink)}
.how-grid{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:64px;align-items:start}
.how-grid h2{font-family:var(--serif);font-weight:800;font-size:clamp(36px,5vw,80px);letter-spacing:-.03em;line-height:.92;text-transform:uppercase}
.how-grid h2 em{font-style:italic;color:var(--grey)}
.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.how-step{padding:32px 0;border-top:1px solid rgba(245,242,235,.18);position:relative}
.how-step .num{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--acid);margin-bottom:16px}
.how-step h3{font-family:var(--serif);font-weight:700;font-size:24px;letter-spacing:-.02em;line-height:1.15;margin-bottom:12px}
.how-step p{font-size:15px;line-height:1.55;color:rgba(245,242,235,.7)}
.how-step iconify-icon{font-size:32px;color:var(--acid);margin-bottom:16px;display:block}

.archive{padding:80px 32px;background:var(--bone);border-bottom:1px solid var(--ink)}
.archive-head{max-width:1600px;margin:0 auto 48px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.archive-head h2{font-family:var(--serif);font-weight:800;font-size:clamp(32px,4.5vw,72px);letter-spacing:-.03em;line-height:.95;text-transform:uppercase}
.archive-grid{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.archive-card{padding:24px;border:1px solid rgba(10,10,10,.15);background:var(--bone-2);display:flex;flex-direction:column;gap:12px;transition:all .35s}
.archive-card:hover{border-color:var(--ink);background:var(--bone);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.archive-card .meta{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-2);display:flex;justify-content:space-between}
.archive-card .meta .live{color:var(--acid)}
.archive-card h3{font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.2;letter-spacing:-.01em}
.archive-card .stats{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-2);display:flex;gap:14px}
.archive-card .play-bar{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid rgba(10,10,10,.15)}
.archive-card .play-bar a{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.archive-card .play-bar a:hover{color:var(--acid)}
@media (max-width:980px){.event-row{grid-template-columns:60px 1fr;gap:16px}.event-time,.event-speaker,.event-cta{display:none}.event-date{font-size:48px}.how-grid{grid-template-columns:1fr;gap:32px}.how-steps{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.archive-grid{grid-template-columns:1fr}.upcoming,.how-it-works,.archive{padding:60px 20px}}