@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:opsz,wght@9..40,400;9..40,600;9..40,700&display=swap');

:root{--ink:#101010;--paper:#f4f1e8;--blue:#174cff;--line:rgba(16,16,16,.18);--white:#fff;--muted:#696969}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}
button{font:inherit}
.masthead{height:76px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);position:sticky;top:0;background:rgba(244,241,232,.94);backdrop-filter:blur(14px);z-index:20}
.brand img{display:block;width:144px;height:auto}.date-lockup{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.08em}.date-lockup strong{color:white;background:var(--blue);padding:8px 11px;border-radius:999px}
main{overflow:hidden}.hero{min-height:550px;padding:clamp(54px,8vw,105px) clamp(20px,6vw,88px) 56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:48px;align-items:center;border-bottom:2px solid var(--ink);position:relative}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(16,16,16,.17) 1px,transparent 1px);background-size:21px 21px;mask-image:linear-gradient(to right,black,transparent 65%);opacity:.35;pointer-events:none}.hero-copy,.hudson-card{position:relative;z-index:1}.kicker{font-size:12px;font-weight:800;letter-spacing:.18em;margin:0 0 18px}.hero h1{font-family:'Archivo Black',sans-serif;font-size:clamp(54px,9.5vw,138px);line-height:.82;letter-spacing:-.075em;margin:0;max-width:980px}.hero h1 span{color:var(--blue)}.hero-sub{font-weight:700;margin:27px 0 0;font-size:15px}.hudson-card{background:var(--ink);color:white;padding:32px;border-radius:18px;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:14px 14px 0 var(--blue);transform:rotate(1.2deg)}.star{width:58px;height:58px;position:absolute;top:25px;right:25px}.hudson-label{font-size:11px;letter-spacing:.18em;font-weight:800;color:#b8c6ff}.hudson-time{font-family:'Archivo Black';font-size:clamp(52px,6vw,84px);letter-spacing:-.06em;line-height:.95;margin:8px 0 12px}.hudson-name{font-weight:700;font-size:14px}.countdown{margin-top:24px;border-top:1px solid rgba(255,255,255,.22);padding-top:18px;font-size:12px;letter-spacing:.13em;font-weight:800}
.live-strip{background:var(--blue);color:white;min-height:100px;padding:20px clamp(20px,6vw,88px);display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;border-bottom:2px solid var(--ink)}.live-tag{background:white;color:var(--blue);padding:10px 12px;border-radius:999px;font:12px 'Archivo Black';letter-spacing:.08em}.live-strip div{display:grid;gap:3px}.live-strip small{font-size:10px;letter-spacing:.15em;font-weight:800;opacity:.75}.live-strip strong{font-size:clamp(16px,2.4vw,27px)}.live-time{font-family:'Archivo Black';font-size:20px}
.filters{display:flex;gap:8px;padding:28px clamp(20px,6vw,88px) 0;overflow-x:auto}.filter{appearance:none;border:1.5px solid var(--ink);background:transparent;color:var(--ink);padding:11px 17px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.08em;cursor:pointer;transition:.2s}.filter.active,.filter:hover{background:var(--ink);color:white}.filter:active{transform:translateY(1px)}
.schedule-wrap{padding:48px clamp(20px,6vw,88px) 96px;max-width:1280px;margin:auto}.schedule-heading{display:flex;align-items:end;justify-content:space-between;padding-bottom:18px;border-bottom:4px solid var(--ink)}.schedule-heading h2{font:clamp(28px,5vw,60px)/1 'Archivo Black';letter-spacing:-.055em;margin:0}.schedule-heading p{margin:0;font-size:13px;color:var(--muted)}.schedule{position:relative}.session{display:grid;grid-template-columns:150px 26px 1fr;gap:22px;padding:25px 0;border-bottom:1.5px solid var(--line);align-items:start;transition:background .2s}.session[hidden]{display:none}.session.current{background:#fff;margin:0 -24px;padding:25px 24px;border-color:var(--ink)}.session.hudson{background:var(--blue);color:white;margin:0 -24px;padding:25px 24px;border-color:var(--ink)}.time{font-family:'Archivo Black';font-size:16px;letter-spacing:-.025em}.dot{width:14px;height:14px;background:var(--paper);border:3px solid var(--ink);border-radius:50%;margin-top:3px}.current .dot{background:var(--blue)}.hudson .dot{background:white;border-color:white}.session-main{min-width:0}.session-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;cursor:pointer}.session h3{font-size:clamp(18px,2.3vw,27px);line-height:1.1;margin:0;letter-spacing:-.035em}.speaker{display:block;font-size:13px;font-weight:700;margin-top:7px;color:var(--muted)}.hudson .speaker{color:#dbe2ff}.kind{font-size:9px;font-weight:800;letter-spacing:.12em;border:1px solid currentColor;padding:6px 8px;border-radius:999px;white-space:nowrap}.details{display:none;max-width:750px;margin:17px 0 2px;font-size:15px;line-height:1.55;color:#4e4e4e}.hudson .details{color:white}.session.open .details{display:block}.session.open .kind{background:var(--ink);color:white}.hudson.open .kind{background:white;color:var(--blue)}
footer{border-top:2px solid var(--ink);padding:30px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;font-weight:800;letter-spacing:.11em}footer img{width:130px}
@media(max-width:760px){.masthead{height:66px}.brand img{width:122px}.date-lockup span{display:none}.hero{min-height:auto;grid-template-columns:1fr;padding-top:52px;gap:40px}.hero h1{font-size:clamp(51px,17vw,78px)}.hudson-card{min-height:285px;padding:26px;box-shadow:9px 9px 0 var(--blue)}.star{width:48px;height:48px}.live-strip{grid-template-columns:auto 1fr}.live-time{display:none}.schedule-wrap{padding-top:38px}.schedule-heading{display:block}.schedule-heading p{margin-top:10px}.session{grid-template-columns:92px 12px 1fr;gap:10px;padding:22px 0}.session.current,.session.hudson{margin:0 -12px;padding:22px 12px}.time{font-size:12px}.dot{width:10px;height:10px;border-width:2px}.session-top{display:block}.kind{display:inline-block;margin-top:12px}.details{font-size:14px}.filters{padding-top:22px}footer{align-items:flex-start;flex-direction:column}.hero-sub{max-width:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
