@font-face{font-family:Fraktur;src:url('assets/unifraktur.ttf') format('truetype');font-display:swap;font-weight:400}
:root{color-scheme:dark;--ink:#050505;--paper:#e9e7e3;--muted:#aaa5a8;--pink:#e661b1;--mono:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#000;color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:1rem;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--pink);outline-offset:5px}
::selection{background:var(--pink);color:var(--ink)}
img{display:block;max-width:100%}
p,h1{margin:0}
.skip{position:fixed;top:-5rem;left:1rem;z-index:100;background:var(--paper);color:var(--ink);padding:1rem}
.skip:focus{top:1rem}
.header{position:absolute;top:0;right:0;z-index:10;padding:1.5rem 3.25rem}
.motion{border:0;color:var(--muted);background:transparent;min-height:44px;padding:.6rem 0 .6rem .6rem;display:flex;align-items:center;gap:.6rem;cursor:pointer;font:.8125rem/1.5 var(--mono)}
.motion:hover{color:var(--paper)}
.motion-icon{font-size:.75rem;min-width:.8rem}
.hero{position:relative;height:100svh;overflow:hidden;isolation:isolate;background:#000}
.hero-heading{position:relative;text-align:center;z-index:4;padding:clamp(6.5rem,16svh,12rem) 1.5rem 0}
h1{font-family:Fraktur,Georgia,serif;font-size:clamp(4.75rem,10vw,10rem);font-weight:400;letter-spacing:-.035em;line-height:1.02;margin-bottom:-.1em;color:var(--paper);text-shadow:0 2px 25px #000;animation:title-arrive 1.3s ease-out both}
.hero-details{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem .875rem;margin-top:.45rem}
.hero-role{color:var(--pink);font:.875rem/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.social-links{display:flex;align-items:center;height:1.3125rem;border-left:1px solid #e9e7e338;padding-left:.5rem}
.social-link{display:grid;place-items:center;flex:none;width:44px;height:44px;color:#aaa5a8;border-radius:4px;transition:color .2s ease,background-color .2s ease}
.social-link svg{width:18px;height:18px;fill:currentColor;transition:transform .2s ease}
.social-link:hover,.social-link:focus-visible{color:var(--paper);background:#e9e7e30a}
.social-link:hover svg,.social-link:focus-visible svg{transform:translateY(-2px)}
.social-link:focus-visible{outline-color:var(--paper);outline-offset:0}
.landscape{position:absolute;inset:31% 0 0;z-index:1;overflow:hidden;pointer-events:none}
.terrain{height:100%;width:100%;object-fit:cover;object-position:50% 90%;opacity:.7}
.terrain-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s ease}
.terrain-ready .terrain-canvas{opacity:1}
.terrain-ready .terrain{opacity:0}
.stone-position{position:absolute;top:38%;left:50%;width:min(52vw,660px);height:53%;transform:translateX(-50%);z-index:3;pointer-events:none}
.stone-shadow{position:absolute;left:30%;right:30%;height:5%;bottom:6%;border-radius:50%;background:#000;box-shadow:0 0 26px 14px #000c;opacity:.85;transform:scaleX(1.18)}
.stone-anchor{position:absolute;inset:3% 23% 10%;overflow:hidden;isolation:isolate;mask-image:linear-gradient(#000 92%,#000b 98%,transparent)}
.stone-fallback{width:100%;height:100%;object-fit:cover;object-position:50% 0;max-width:none}
.stone-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s ease}
.webgl-ready .stone-canvas{opacity:1}
.webgl-ready .stone-anchor{opacity:0}
.motion:disabled{cursor:default;opacity:.55}
.hero:after{content:'';position:absolute;inset:auto 0 0;height:25%;z-index:2;background:linear-gradient(transparent,#000)}
@keyframes title-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation-play-state:paused!important;scroll-behavior:auto!important}
@media(min-width:1600px){.stone-position{width:740px}}
@media(max-width:900px){.header{padding:1.25rem 2rem}h1{font-size:clamp(4.75rem,11vw,8rem)}.stone-position{width:600px}}
@media(max-width:600px){.header{padding:.75rem 1.3rem}.motion{min-width:44px;justify-content:flex-end}.motion-label{display:none}.motion-icon{font-size:.875rem}.hero-heading{padding:clamp(6rem,16svh,9.1rem) 1rem 0}h1{font-size:clamp(3.5rem,12.7vw,5rem);letter-spacing:-.04em}.hero-details{margin-top:.35rem;column-gap:.5rem}.hero-role{font-size:.75rem;letter-spacing:.1em}.social-links{height:1.125rem;padding-left:.25rem}.social-link svg{width:16px;height:16px}.stone-position{top:38%;bottom:auto;width:100%;height:52%}.stone-anchor{inset:2% 19% 10%}.stone-shadow{left:23%;right:23%}.landscape{inset:33% 0 0}.terrain{object-position:50% 90%;opacity:.8}.terrain-ready .terrain{opacity:0}}
@media(max-height:600px){.hero-heading{padding-top:clamp(3.5rem,10svh,6rem)}h1{font-size:clamp(3.5rem,10svh,6rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
