/* Hero reference: Koto / DESIGN (1).md. Scoped to the homepage opening. */
:root{--hero-black:#060606;--hero-white:#fff;--hero-muted:#b4b4b4;--preview-height:55px}
.canvas{position:relative}
.canvas.home-active:not(.mobile){max-width:none}
.canvas.home-active>div.wrap{position:absolute;top:0;left:0;right:0;z-index:5;width:100%;max-width:none;background:rgba(0,0,0,.58)}
.home-active .site-header,.home-active .mobile-nav{width:calc(100% - 104px);max-width:1240px;margin:0 auto}
.home-active .site-header{background:transparent;min-height:116px;color:var(--hero-white)}
.home-active .site-header .logo{width:78px;background:white;padding:5px}
.site-nav{font-size:16px}
.home-active .site-nav{font:400 16px/1.5 'IBM Plex Mono',monospace;gap:30px;text-transform:uppercase}
.home-active .site-nav a:hover{color:white;text-decoration:underline;text-underline-offset:6px}
.home-active .site-header>.outline{border-color:#ffffffa6;color:white;border-radius:2px;font:400 14px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;background:transparent}
.home-active .menu-button{background:#060606b3;border-color:#ffffff80;color:white;border-radius:2px}
.mobile-nav{font-size:16px}
.home-active .mobile-nav{background:#060606;color:#fff;padding:20px;font-size:16px}
.video-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--hero-black);color:var(--hero-white);min-height:max(660px,calc(100svh - var(--preview-height)));display:flex;align-items:end}
.video-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2;pointer-events:none}
.hero-veil{position:absolute;inset:0;z-index:-1;background:rgba(6,6,6,.64);pointer-events:none}
.video-hero .hero-content{margin:0 auto;padding-top:190px;padding-bottom:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
.video-hero .hero-company{font:400 11px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;margin:0 0 24px;color:#ddd}
.video-hero h1.organizer-heading{font:300 48px/1.1 'Inter Tight','Arial Narrow',Arial,sans-serif;letter-spacing:-.01em;margin:0 0 32px;max-width:900px;color:#fff}
.video-hero .hero-outline{display:inline-flex;align-items:center;gap:36px;min-height:48px;padding:12px 18px;border:1px solid #ffffffb3;border-radius:2px;background:transparent;color:white;font:400 12px/1.5 'IBM Plex Mono',monospace}
.hero-controls{display:flex;flex-direction:column;align-items:end;gap:24px;padding-bottom:4px}
.hero-scroll,.video-toggle{font:400 11px/1.5 'IBM Plex Mono',monospace;color:#fff;background:transparent;border:0;display:inline-flex;gap:16px;align-items:center;min-height:44px;padding:8px 0}
.hero-scroll{border-bottom:1px solid #ffffff80}
.hero-scroll span{font-size:23px}
.video-toggle{color:#ddd;gap:10px}
.video-toggle span{font:16px/1 Arial,sans-serif;min-width:16px}
.video-hero a:focus-visible,.video-hero button:focus-visible,.home-active .site-header a:focus-visible{outline-color:white}
.video-error{font:12px/1.5 'IBM Plex Mono',monospace;color:#ddd;margin:16px 0 0}
@media(hover:hover) and (pointer:fine){.hero-outline:hover{background:#ffffff14}.hero-scroll:hover{border-bottom-color:#fff}.video-toggle:hover{color:white}}
@container(max-width:900px){.video-hero h1.organizer-heading{font-size:42px}.video-hero .hero-content{gap:24px}.hero-scroll{gap:10px}}
@container(max-width:680px){.home-active .site-header{min-height:104px}.home-active .site-header .logo{width:70px}.video-hero{min-height:max(620px,calc(100svh - var(--preview-height)))}.video-hero h1.organizer-heading{font-size:36px;line-height:1.08;letter-spacing:-.015em;margin-bottom:28px}.video-hero .hero-content{padding-top:176px;padding-bottom:28px;grid-template-columns:1fr;gap:26px}.video-hero .hero-company{font-size:10px;margin-bottom:20px}.hero-controls{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0}.hero-scroll,.video-toggle{font-size:10px}.video-hero .hero-outline{font-size:11px}.video-hero video{object-position:50% 50%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@container(max-width:680px){.video-hero h1.organizer-heading{font-size:clamp(29px,8.2cqw,34px)}}
@container(max-width:900px){.home-active .site-header,.home-active .mobile-nav{width:calc(100% - 64px)}}
@container(max-width:680px){.home-active .site-header,.home-active .mobile-nav{width:calc(100% - 40px)}}
@container(max-width:900px){.site-nav,.home-active .site-nav{font-size:14px;gap:20px}.home-active .site-header>.outline{font-size:12px}}
