/* Google Fonts, locally hosted. Original font files and OFL licenses: fonts/. */
@font-face{font-family:'Eagle Lake';src:url('fonts/EagleLake-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Stardos Stencil';src:url('fonts/StardosStencil-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Stardos Stencil';src:url('fonts/StardosStencil-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0a1015;color:#eee;font-family:Arial,sans-serif}body{--accent:#dbb76d;--muted:#b9bec0}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}header{height:90px;position:fixed;inset:0 0 auto;z-index:5;background:#0b1118ee;border-bottom:1px solid #b99a583b;display:flex;align-items:center;justify-content:center;padding:12px 5vw}header .brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:16px;letter-spacing:3px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:7px}.brand img{object-fit:contain}nav{display:contents}nav button{position:absolute;top:24px;background:transparent;border:1px solid #ffffff30;color:#c4c6c5;padding:12px 24px;border-radius:2px}nav button:first-child{left:5vw}nav button:last-child{right:5vw}nav button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.header-contact{display:none}#stage{position:fixed;inset:90px 0 55px;overflow:hidden}.world{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;transform:translateX(100%);transition:transform .8s cubic-bezier(.2,.7,.2,1);background:#0c141b;scroll-behavior:smooth}.midgard{transform:translateX(-100%);background:radial-gradient(ellipse at 10% 50%,#34413b33,transparent 60%),#0c141b}.kameradschaft{--accent:#b8be94;background:repeating-radial-gradient(ellipse at 20% 40%,transparent 0 38px,#a8b89109 39px 40px),#171d18}.world.active{transform:translateX(0)}.hero{min-height:640px;height:calc(100svh - 145px);position:relative;display:flex;align-items:flex-end;padding:7vw;isolation:isolate}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c141b 1%,#0c141bcc 22%,#0c141b11 90%),linear-gradient(90deg,#07101899,transparent);z-index:-1}.kameradschaft .hero:after{background:linear-gradient(0deg,#171d18,#171d1880 45%,transparent)}.hero-copy{max-width:900px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--accent);font-weight:bold;margin:0 0 24px}h1{font-family:Georgia,serif;font-size:clamp(56px,8.8vw,140px);font-weight:normal;line-height:1;margin:0 0 22px;color:var(--accent);letter-spacing:-3px;text-shadow:0 3px 15px #0008}.kameradschaft h1,.kameradschaft h2{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:2px}.tagline{font-family:Georgia,serif;font-size:clamp(24px,3vw,42px);margin:0 0 16px}.hero-copy>p:not(.eyebrow){line-height:1.6}.cta{display:inline-block;padding:16px 25px;border:1px solid var(--accent);background:transparent;color:var(--accent);text-decoration:none;margin-top:24px}.cta:hover{background:#b99a5822}.vertical{position:absolute;right:25px;top:45%;writing-mode:vertical-rl;font-size:9px;letter-spacing:4px}.section{max-width:1300px;margin:auto;padding:100px 7vw;border-top:1px solid #ffffff15}h2{font-family:Georgia,serif;font-size:clamp(35px,4vw,64px);font-weight:normal;margin:0 0 40px}h3{font-family:Georgia,serif;font-size:27px}.biography{display:grid;grid-template-columns: .9fr 1.1fr;gap:60px;align-items:start}.biography>img{width:100%;height:560px;object-fit:cover;position:sticky;top:30px}.bio-text{font-size:16px;line-height:1.85;color:#c7cdcc;white-space:pre-line}.biography blockquote{margin:30px 0;color:var(--accent);font:italic 25px Georgia,serif;line-height:1.5}.player{border:1px solid #ffffff25;padding:32px;background:#05090955}.status{color:#c5cac6;font-size:14px;min-height:20px}.controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:20px 0}.controls button{border:1px solid #ffffff30;background:none;color:white;width:42px;height:42px}.controls .play{border-color:var(--accent);color:var(--accent)}input[type=range]{accent-color:var(--accent);width:150px}.controls input:last-child{width:75px}.controls output{font-size:12px;font-variant-numeric:tabular-nums}.tracklist{padding:0;list-style:none;margin:20px 0 0}.tracklist button{width:100%;padding:17px 0;text-align:left;background:none;border:0;border-top:1px solid #ffffff20;color:#ccc;font-size:14px}.tracklist button[aria-current=true]{color:var(--accent)}.socials{display:flex;flex-wrap:wrap;gap:24px;margin:25px 0}.socials a{display:flex;align-items:center;gap:8px;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--accent)}.socials a:hover{color:var(--accent);transform:translateY(-2px)}.pending{color:#aab0aa}.email{font-size:clamp(18px,3vw,30px);text-underline-offset:8px;overflow-wrap:anywhere}form{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}label{display:flex;flex-direction:column;gap:10px;font-size:14px}input:not([type=range]),textarea{width:100%;padding:14px;background:#0003;border:1px solid #ffffff35;color:white;border-radius:0}label:has(textarea),.consent,.form-status,form .cta{grid-column:1/-1}.consent{display:block;line-height:1.7}.consent input{width:auto}.honey{position:absolute;left:-10000px}.form-status{line-height:1.6}footer{display:flex;gap:25px;align-items:center;flex-wrap:wrap;padding:40px 7vw 60px;font-size:12px;color:#b8bdb8}footer img{width:70px;height:70px;object-fit:contain}.switchbar{position:fixed;bottom:0;left:0;right:0;height:55px;background:#0a1015;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-top:1px solid #ffffff25;z-index:5;font-size:10px;letter-spacing:2px}#drag{background:none;border:0;color:var(--accent);padding:17px;touch-action:none;cursor:ew-resize;font-size:11px;letter-spacing:2px}#fog{pointer-events:none;position:fixed;inset:90px 0 55px;z-index:4;opacity:0;background:radial-gradient(ellipse at 30% 50%,#bdcecaaa,transparent 70%),radial-gradient(ellipse at 80% 30%,#e0e7e1bb,transparent 65%)}#fog.sweep{animation:fog 1s ease-in-out}@keyframes fog{0%{opacity:0;transform:translateX(-40%)}40%{opacity:1}100%{opacity:0;transform:translateX(40%)}}.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:0;left:0;background:#111;color:white;padding:20px;z-index:10}.legal{max-width:850px;margin:60px auto;padding:25px;line-height:1.8}.legal h1{font-size:48px}.hint{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);z-index:6;padding:16px;background:#182229;border:1px solid #d2b471;max-width:90vw;width:max-content;font-size:13px}.hint button{background:none;border:0;color:white;margin-left:15px}.world.active .hero-copy{animation:reveal 1s both}@keyframes reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){header{height:100px;padding:10px;align-items:flex-start}.brand span{font-size:13px}.brand small{font-size:7px}.brand img{width:30px;height:30px}nav button{top:55px;padding:9px 15px;font-size:12px}nav button:first-child{left:7vw}nav button:last-child{right:7vw}#stage,#fog{top:100px}.hero{min-height:580px;height:calc(100svh - 155px);padding:30px 7vw}.hero-art{object-position:60% center}.hero h1{font-size:clamp(40px,11.5vw,76px);letter-spacing:-1px}.vertical{display:none}.section{padding:65px 7vw}.biography{grid-template-columns:1fr;gap:30px}.biography>img{height:350px;position:static}.player{padding:20px}.controls{gap:10px}.controls input{width:110px}form{grid-template-columns:1fr}#world-label{display:none}.switchbar{padding:0 4vw}footer{gap:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.hero:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-2;background-image:radial-gradient(circle at 16% 30%,#e8a44a 0 1px,transparent 2px),radial-gradient(circle at 80% 60%,#d4ab70 0 1px,transparent 2px),radial-gradient(circle at 60% 20%,#d4ab70 0 1px,transparent 2px);background-size:230px 270px;opacity:.4;animation:embers 12s linear infinite}.kameradschaft .hero:before{background:repeating-linear-gradient(0deg,transparent 0 4px,#c7cfb312 5px 6px);animation:embers 18s linear infinite}.midgard .section{border-image:linear-gradient(90deg,transparent,#bda46c66,transparent) 1}@keyframes embers{50%{transform:translateY(-24px);opacity:.2}}

.socials .social-icon{width:56px;height:56px;object-fit:contain;flex-shrink:0}.socials a{gap:12px;padding:12px 8px}.socials a:focus-visible{outline:2px solid var(--accent)}

.legal{max-width:900px;overflow-wrap:anywhere}.legal nav{display:block;font-size:14px;margin-bottom:35px}.legal h2{font-family:Georgia,serif;font-size:clamp(24px,3vw,32px);line-height:1.3;margin:42px 0 16px}.legal h3{font-size:23px;line-height:1.4}.legal li{margin-bottom:10px}.legal footer{padding:35px 0}.rights-notice{padding:18px 24px;border-left:3px solid #dbb76d;background:#ffffff08}.remember-setting{display:block;margin:20px 0;font-size:12px;line-height:1.7}.remember-setting label{display:block}.remember-setting input{width:auto;margin-right:8px}

/* World display typography; common body and legal copy keep their readable system fonts. */
.midgard h1,.midgard h2,.midgard h3,.midgard .tagline{font-family:'Eagle Lake',Georgia,serif;font-weight:400;font-synthesis:none;letter-spacing:0;line-height:1.35}
.kameradschaft h1,.kameradschaft h2,.kameradschaft h3,.kameradschaft .tagline{font-family:'Stardos Stencil',Georgia,serif;font-synthesis:none;line-height:1.25}
.kameradschaft h1{font-size:clamp(44px,7.6vw,112px);letter-spacing:.015em;font-weight:700}
.kameradschaft h2{font-weight:700;letter-spacing:.025em}
.midgard .tagline,.kameradschaft .tagline{line-height:1.5}
@media(max-width:700px){.kameradschaft .hero h1{font-size:clamp(24px,8.2vw,56px);letter-spacing:0}.midgard .hero h1{font-size:clamp(34px,10.8vw,76px)}.midgard h2,.kameradschaft h2{font-size:clamp(29px,8vw,40px)}.midgard .tagline,.kameradschaft .tagline{font-size:clamp(21px,5.6vw,28px)}}
