@font-face{font-family:Nultien;src:url('/assets/home/Nultien-Bold.otf') format('opentype');font-weight:700;font-display:swap}
body[data-theme=home]{--page:#f4f4f2;--ink:#111;--muted:#555;--line:#1112;color-scheme:light;--home-nav-size:min(340px,calc(100vw - 32px));--home-title-size:clamp(64px,11vw,220px);--home-title-line:calc(var(--home-title-size) * .96);--home-title-top:max(48px,calc((100svh - var(--home-title-line) - var(--header-height,200px) - 32px) / 2))}
body[data-theme=home] .topbar{position:absolute;inset:calc(var(--home-title-top) + var(--home-title-line) + 32px) auto auto 50%;transform:translateX(-50%);width:var(--home-nav-size);height:var(--home-nav-size);max-width:none;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr 156px 1fr;grid-template-areas:"intro" "keys" "return";padding:30px 32px;border:1px solid #1112;border-radius:50%;background:rgb(244 244 242 / 35%);color:#171819;--muted:#555;--line:#1112;backdrop-filter:blur(12px)}
body[data-theme=home] .topbar .wordmark{display:none}
.home-hint{display:none}
body[data-theme=home] .topbar .navigation-hint{display:none}
body[data-theme=home] .home-hint{display:block;justify-self:center;max-width:240px;text-align:center;font:12px/1.5 'Courier New',monospace;text-wrap:balance}
body[data-theme=home] .home-hint-top{grid-area:intro;align-self:end;margin-bottom:12px}
body[data-theme=home] .home-hint-bottom{grid-area:return;align-self:start;margin-top:10px}
body[data-theme=home] .topbar .key-navigation{transform:scale(1.12)}
body[data-theme=home] .slot-caption{visibility:hidden}
.topbar.is-travelling{background:transparent!important;border-color:transparent!important;backdrop-filter:none!important;transition:none}
.navigation-surface{position:fixed;pointer-events:none;z-index:49;box-sizing:border-box}
body[data-theme=home] .site-footer{display:none}
body[data-theme=home] main.enter{animation:none}
.home-scene{height:100svh;min-height:max(520px,calc(var(--home-title-top) + var(--home-title-line) + 32px + var(--header-height,200px) + 48px));position:relative;overflow:hidden;--cursor-x:50%;--cursor-y:50%;--radius:110px;cursor:none}
.home-art{position:fixed;inset:0;pointer-events:none;z-index:0}
.home-bubble{opacity:0}.has-pointer .home-bubble{opacity:1}
.home-scene h1{position:absolute;top:var(--home-title-top);left:3vw;right:3vw;margin:0;height:var(--home-title-line);color:#808080;opacity:0;font:700 var(--home-title-size)/.96 Nultien,Arial,sans-serif;letter-spacing:-.025em;white-space:nowrap;pointer-events:none}
.home-contact{position:relative;z-index:1;padding:65px max(24px,6vw) 75px;background:rgb(244 244 242 / 35%);backdrop-filter:blur(12px)}
.home-contact-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.home-contact-logo{width:48px;height:38px;object-fit:contain;flex-shrink:0;filter:brightness(0)}
.home-contact h2{font-size:clamp(25px,3.5vw,48px);font-weight:400;letter-spacing:-1px;margin:0}.home-contact>p{font-size:14px;color:#555;margin-bottom:35px}.home-contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-contact-links a,.home-contact-item{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:68px;font-size:clamp(14px,1.65vw,22px);border:1px solid #1113;padding:20px;background:#fff;text-decoration:none}
.home-contact-links a::before,.home-contact-item::before{content:'';position:absolute;inset:0;background:#000;transform:translateX(-101%);transition:transform .38s ease}
.home-contact-links a span,.home-contact-item span{position:relative;color:#fff;mix-blend-mode:difference}
.home-contact-links a:hover::before,.home-contact-links a:focus-visible::before,.home-contact-item:hover::before{transform:translateX(0)}
.home-contact-links a:focus-visible{outline:2px solid #111;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.home-contact-links a::before,.home-contact-item::before{transition:none}}
@media(max-width:700px){body[data-theme=home]{--home-title-size:clamp(56px,18vw,126px);--home-title-line:calc(var(--home-title-size) * 1.92)}body[data-theme=home] .topbar{padding:24px 28px}.home-contact-heading{gap:16px}.home-contact-logo{width:40px;height:32px}.home-scene{--radius:80px}.home-scene h1{left:20px;right:20px;font-size:var(--home-title-size);top:var(--home-title-top)}.home-contact-links{grid-template-columns:1fr}.home-contact{padding-top:50px}}
