:root{--bg: #090d10;--surface: #121a20;--text: #f2f5f3;--muted: #a9b7bf;--accent: #b8ffd9;--border: #43515a;--focus: #ffd98a;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}@font-face{font-family:Onest Fallback;src:local("Arial"),local("Liberation Sans"),local("Nimbus Sans");size-adjust:105%;ascent-override:92%;descent-override:24%;line-gap-override:0%}body{margin:0;background:var(--bg);color:var(--text);font-family:Onest,Onest Fallback,system-ui,sans-serif;font-size:1.125rem;line-height:1.6;min-width:0}img,svg{max-width:100%}img{height:auto}:focus{outline:3px solid var(--focus);outline-offset:4px}.skip{position:absolute;left:16px;top:16px;transform:translateY(-180%);z-index:3;min-height:44px;padding:10px 16px;background:var(--accent);color:var(--bg);font-weight:650;text-decoration:none;border-radius:2px}.skip:focus{transform:none}.shell{width:min(1440px,100%);margin-inline:auto;padding-inline:64px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:24px 32px;padding-top:28px;padding-bottom:20px}.brand{color:var(--text);font-size:1.125rem;font-weight:650;letter-spacing:-.03em;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}nav{display:flex;flex-wrap:wrap;gap:4px 8px}nav a{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:4px 8px;color:var(--text);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}nav svg{flex:0 0 auto;width:20px;height:20px}.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:48px;padding-top:12px;align-items:start}.eyebrow{margin:0 0 16px;color:var(--accent);font-size:.875rem;line-height:1.45;letter-spacing:.01em}.hero-copy{grid-column:1;min-width:0}.hero-photo{grid-column:2;margin:72px 0 0;background:var(--surface);min-width:0}.horizon{width:min(220px,46%);height:1px;margin:0 0 28px;background:var(--accent)}h1{margin:0 0 24px;font-size:clamp(3.5rem,8.5vw,8rem);font-weight:600;line-height:.98;letter-spacing:-.045em;overflow-wrap:break-word}main:focus{outline:none}#program,#schedule,#faq,#top,#content{scroll-margin-top:8px}h2{margin:0 0 20px;font-size:clamp(2.5rem,5vw,4rem);font-weight:600;line-height:1.08;letter-spacing:-.03em}h3{margin:0 0 12px;font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:600;line-height:1.15;letter-spacing:-.02em}.lead,.section-lead{margin:0 0 28px;max-width:38rem}.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:1200 / 900;background:var(--surface)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:10px 18px;background:var(--accent);color:var(--bg);font-weight:650;text-decoration:none;border-radius:2px}.block{margin-top:120px}.route{list-style:none;margin:8px 0 0;padding:0;position:relative}.route:before{content:"";position:absolute;left:15px;top:28px;bottom:28px;width:1px;background:var(--border)}.hall{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px 20px;padding:32px 0 36px;border-top:1px solid var(--border)}.hall:last-child{border-bottom:1px solid var(--border)}.num{margin:6px 0 0;color:var(--accent);font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.08em;position:relative;z-index:1}.num:before{content:"";display:inline-block;width:9px;height:9px;margin-right:12px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--accent);vertical-align:1px}.hall-body p{margin:0 0 14px;max-width:46rem}.meta,.k,.note,.session-head,.length{font-size:.875rem;line-height:1.45}.meta{margin:0;color:var(--muted);font-variant-numeric:tabular-nums}.k{color:var(--muted)}.next{margin:28px 0 0}.next a,.site-footer a,.note a{color:var(--accent);text-underline-offset:4px}.next a{display:inline-flex;align-items:center;gap:8px;min-height:44px}.next svg{width:20px;height:20px}.timetable{margin-top:8px}.session-head,.session{display:grid;grid-template-columns:1.1fr 1.1fr .9fr;gap:12px 24px;align-items:baseline}.session-head{color:var(--muted);padding-bottom:10px}.sessions{list-style:none;margin:0;padding:0}.session{border-top:1px solid var(--border);padding:18px 0 20px}.session p{margin:0;position:relative;min-width:0}.session time,.length{font-variant-numeric:tabular-nums}.session time{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;letter-spacing:-.03em;line-height:1.2}.range{color:var(--muted);padding-left:.55em;font-weight:400}.note{margin:20px 0 0;max-width:40rem;color:var(--muted)}.faq details{border-top:1px solid var(--border)}.faq details:last-child{border-bottom:1px solid var(--border)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:16px 4px;cursor:pointer;font-size:1.125rem;line-height:1.4;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";flex:0 0 auto;width:10px;height:10px;margin-right:6px;border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(45deg)}.faq details[open] summary:after{transform:rotate(-135deg);margin-top:6px}.faq details p{margin:0;padding:0 36px 20px 4px;max-width:44rem}.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:120px;padding-top:28px;padding-bottom:48px;border-top:1px solid var(--border)}.site-footer p{margin:0;max-width:36rem}.site-footer a{display:inline-flex;align-items:center;min-height:44px}@media(min-width:760px){.k{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(max-width:1100px){.shell{padding-inline:32px}.hero{column-gap:32px}.hero-photo{margin-top:36px}}@media(max-width:759px){body{font-size:1rem}.shell{padding-inline:20px}.site-header{flex-direction:column;align-items:flex-start;gap:4px;padding-top:20px}nav{width:100%}.hero{display:flex;flex-direction:column}.hero-photo{margin:8px 0 0}h1{font-size:clamp(3.5rem,16vw,4.5rem)}.block,.site-footer{margin-top:72px}.hall{grid-template-columns:72px minmax(0,1fr);gap:8px 12px}.session-head{display:none}.session{grid-template-columns:1fr;gap:10px}.k{display:block}.range{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
