@font-face{font-family:Cormorant;src:url('/assets/cormorant-light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Cormorant;src:url('/assets/cormorant-regular.ttf') format('truetype');font-weight:400 500;font-display:swap}
:root{color-scheme:light;--ink:#302010;--ivory:#e8dfd2;--line:rgba(65,44,25,.18);--rail:clamp(116px,14.3svh,148px);font-family:Cormorant,Georgia,serif;color:var(--ink);background:var(--ivory)}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}button{font:inherit}a,button{touch-action:manipulation}
.portal{position:relative;min-height:540px;height:100svh;isolation:isolate;overflow:hidden}.scene{position:absolute;inset:0;z-index:-1}.scene img{width:100%;height:100%;object-fit:cover;object-position:center}
.identity{position:absolute;top:8.5%;left:20px;right:20px;text-align:center}.identity h1{font-size:clamp(80px,9.3vw,150px);font-weight:300;line-height:1;letter-spacing:-.065em;margin:0}.identity p{font-size:clamp(20px,2.1vw,34px);font-weight:400;line-height:1.25;margin:12px 0 0;letter-spacing:-.02em}
.ideas{position:absolute;right:max(28px,env(safe-area-inset-right));bottom:calc(var(--rail) + env(safe-area-inset-bottom) + 18px);font-size:25px;line-height:1.2;text-underline-offset:7px;color:#fffaf2;text-shadow:0 1px 5px #30201090;padding:4px}
.channels{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px max(24px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom));height:calc(var(--rail) + env(safe-area-inset-bottom));background:rgba(244,237,227,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.channel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-decoration:none;border-right:1px solid var(--line);transition:background .2s ease}.channel:last-child{border:0}.channel svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.channel-name{font-size:26px;line-height:1}.channel-status{font:14px/1.1 system-ui,sans-serif;color:#776a5b;margin-top:2px;min-height:18px}.arrow{font:28px/.7 Georgia,serif;color:var(--ink)}
@media(hover:hover){.channel:hover{background:#fff9ed60}.channel:hover svg{transform:translateY(-3px)}.ideas:hover{color:#fff}}
.channel-dialog{color:var(--ink);background:#f3ede3;border:1px solid var(--line);padding:48px 40px 36px;width:min(520px,calc(100vw - 32px));max-height:calc(100svh - 40px);box-shadow:0 20px 100px #1c110d40}.channel-dialog::backdrop{background:#281b1255;backdrop-filter:blur(5px)}.channel-dialog h2{font-size:64px;font-weight:300;letter-spacing:-.05em;margin:12px 0}.channel-dialog p:not(.availability):not(.dialog-note){font-size:25px;line-height:1.3;margin:0 0 24px}.availability{font:12px/1.4 system-ui,sans-serif;letter-spacing:.08em;margin:0;color:#78634f}.close{position:absolute;right:14px;top:8px;border:0;background:none;font:32px/1 system-ui;min-height:44px;min-width:44px;cursor:pointer}.dialog-link{font-size:23px;text-underline-offset:6px}.dialog-note{font:12px/1.5 system-ui,sans-serif;color:#756756;margin:22px 0 0}
@media(max-width:600px){:root{--rail:108px}.identity{top:6.5%;left:10px;right:10px}.identity h1{font-size:clamp(66px,19vw,105px);letter-spacing:-.065em}.identity p{font-size:clamp(18px,4.8vw,26px);margin-top:10px}.channels{padding:10px 8px calc(10px + env(safe-area-inset-bottom))}.channel svg{width:27px;height:27px}.channel-name{font-size:23px}.channel-status{font-size:11px}.arrow{font-size:25px}.channel{gap:8px}.ideas{font-size:21px;right:18px;bottom:calc(var(--rail) + env(safe-area-inset-bottom) + 18px)}.channel-dialog{padding:44px 26px 30px}.channel-dialog h2{font-size:56px}}
@media(max-height:560px) and (min-width:601px){:root{--rail:96px}.portal{min-height:360px}.identity{top:5%}.identity h1{font-size:70px}.identity p{font-size:21px;margin-top:2px}.channel svg{width:25px;height:25px}.channel-name{font-size:22px}.channel{gap:3px}.ideas{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
