@font-face{font-family:Geist;src:url("/assets/fonts/geist.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Spectral;src:url("/assets/fonts/spectral-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Spectral;src:url("/assets/fonts/spectral-600.woff2") format("woff2");font-weight:600;font-display:swap}
:root{--ink:#17181A;--muted:#5B5E63;--paper:#F5F5F2;--rule:#D9DAD5}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Geist,"Helvetica Neue",Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
button{font-family:inherit;cursor:pointer}
img{max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.px{image-rendering:pixelated}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px 12px;z-index:9}

/* header */
.top{position:relative;background:radial-gradient(120% 90% at 20% 0%,#DCD9D1 0%,#C9C5BC 45%,#B7B2A8 100%);padding:0 0 96px;overflow:hidden}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;font-size:15px;font-weight:500}
.bar a{text-decoration:none}
.brand{font-weight:600;letter-spacing:-.02em;font-size:17px}
.bar nav{display:flex;flex-wrap:wrap;gap:24px}
.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;align-items:center;padding-top:56px}
.hero h1{margin:0;font-size:clamp(44px,6vw,84px);line-height:1;letter-spacing:-.05em;font-weight:600}
.hero p{margin:28px 0 0;font-size:19px;line-height:1.55;color:#3E4044;max-width:28em}
.phone{justify-self:center;width:min(100%,380px);aspect-ratio:380/560;border-radius:52px;background:#1B1C1E;padding:12px;box-shadow:0 50px 90px -40px rgba(23,24,26,.6)}
.screen{position:relative;width:100%;height:100%;border-radius:42px;overflow:hidden;background:linear-gradient(160deg,#EFE9DD 0%,#D9D2C3 55%,#C7BFAE 100%);padding:64px 26px 0}
.island{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:110px;height:30px;border-radius:20px;background:#1B1C1E}
.apps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 14px}
.app{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;font-size:12px;color:#1B1B1A;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.app:hover{transform:scale(1.06)}.app:active{transform:scale(.94)}
.ico{width:68px;height:68px;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px -8px rgba(0,0,0,.4);overflow:hidden}
.ico img{width:100%;height:100%;display:block}
.dock{position:absolute;left:12px;right:12px;bottom:12px;height:86px;border-radius:30px;background:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:space-evenly}
.dock img{width:58px;height:58px;border-radius:14px}

/* dex */
.dex{background:#E9E5DC;padding:96px 0;color:#1B1B1A}
.sechead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px}
.lead{margin:0;font-size:clamp(24px,2.4vw,32px);line-height:1.2;letter-spacing:-.02em;font-weight:500;max-width:22em}
.btn{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;background:#1B1B1A;color:#FBFAF6;text-decoration:none;font-weight:500;font-size:15px;border-radius:10px;border:0}
.win{display:flex;flex-wrap:wrap;background:#FBFAF6;border-radius:16px;overflow:hidden;box-shadow:0 0 0 .5px rgba(27,27,26,.18),0 40px 80px -40px rgba(27,27,26,.45);min-height:600px}
.side{flex:1 1 280px;max-width:100%;background:#F2EFE7;padding:16px 14px;display:flex;flex-direction:column;gap:18px;border-right:.5px solid #DDD8CD}
.lights{display:flex;gap:8px;padding:2px 4px}.lights span{width:12px;height:12px;border-radius:50%}
.search{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;background:#E8E4DA;border-radius:8px;font-size:13px;color:#86817A}
.lbl{margin:0 4px 8px;font-size:12px;font-weight:600;color:#86817A}
.ask{background:#F3E7D8;border:.5px solid #D9B791;border-radius:10px;padding:10px 12px}
.ask+.ask{margin-top:8px}
.askh{display:flex;align-items:center;gap:6px;font-size:12px;color:#6E5A44}.askh strong{font-weight:600;color:#1B1B1A}.askh .t{margin-left:auto}
.ask p{margin:6px 0 10px;font-size:14px;font-weight:600}
.mini{height:30px;padding:0 12px;border:0;border-radius:7px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;background:transparent;color:#1B1B1A}
.mini.dark{background:#1B1B1A;color:#FBFAF6}
.row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px}
.row.sel{background:rgba(94,142,114,.17)}
.row .n{font-size:13px;font-weight:520}.row .s{font-size:11.5px;color:#86817A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row>div{min-width:0;flex:1}
.dot{width:7px;height:7px;border-radius:50%;flex:none}
.live{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.main{flex:3 1 520px;min-width:0;display:flex;flex-direction:column}
.chathead{display:flex;align-items:center;gap:8px;padding:14px 20px;border-bottom:.5px solid #E5E0D6;font-size:14px}
.chip{margin-left:auto;font-size:12px;padding:4px 10px;border-radius:999px;background:#F3E7D8;color:#6E5A44}
.body{flex:1;display:flex;flex-wrap:wrap}
.bigdex{flex:0 0 190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;border-right:.5px solid #E5E0D6;text-align:center}
.chat{flex:1 1 320px;min-width:0;padding:28px 32px;display:flex;flex-direction:column;gap:18px;font-size:15px;line-height:1.6}
.chat p{margin:0}
.you{align-self:flex-end;max-width:80%;background:#EFEBE3;padding:10px 16px;border-radius:18px}
.step{display:flex;align-items:center;gap:8px;font-size:13px;color:#86817A}
.diff{background:#F4F1EA;border-radius:10px;padding:12px 14px;font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.7}
.perm{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:.5px solid #D9B791;background:#fff;border-radius:12px;padding:12px 14px}
.perm>div{flex:1;min-width:160px}
.compose{margin-top:auto;display:flex;align-items:center;gap:10px;height:46px;padding:0 8px 0 16px;border-radius:14px;background:#fff;box-shadow:0 0 0 .5px #DDD8CD,0 10px 20px -14px rgba(27,27,26,.3);color:#86817A;font-size:14px}
.send{margin-left:auto;width:30px;height:30px;border-radius:50%;background:#1B1B1A;display:flex;align-items:center;justify-content:center}
.note{margin:20px 0 0;font-size:14px;color:#6B665F}
[hidden]{display:none!important}

/* tape */
.tape{background:#fff;color:#111;padding:96px 0;border-top:1px solid #E6E3DD}
.tapehead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid #111}
.tapehead .l{display:flex;align-items:center;gap:14px}
.tapehead img{width:44px;height:44px;border-radius:10px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0;border-bottom:1px solid #E6E3DD}
.tab{height:38px;padding:0 18px;border:0;border-radius:999px;font-size:14px;font-weight:500;background:#F1EFEB;color:#111}
.tab[aria-selected=true]{background:#111;color:#fff}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.pnl{padding:36px 32px 36px 0;border-right:1px solid #E6E3DD}
.k{margin:0 0 6px;font-size:14px;color:#6B6964}
.huge{margin:0;font-size:clamp(72px,10vw,148px);font-weight:800;letter-spacing:-.06em;line-height:.9}
.red{color:#C9362B}
.stats{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.stats div{padding:32px;border-bottom:1px solid #E6E3DD}
.stats div:nth-child(odd){border-right:1px solid #E6E3DD}
.stats div:nth-child(n+3){border-bottom:0}
.stats dt{font-size:14px;color:#6B6964}.stats dd{margin:8px 0 0;font-size:52px;font-weight:800;letter-spacing:-.04em}
.trade{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid #E6E3DD}
.trade .sym{font-size:20px;font-weight:700}.trade .su{font-size:12px;letter-spacing:.08em;color:#6B6964;margin-top:4px}
.trade>div{flex:1;min-width:0}.trade .d{font-size:13px;color:#6B6964}.trade .v{font-size:20px;font-weight:700;min-width:110px;text-align:right}
.setup{display:flex;align-items:center;gap:14px;padding:10px 0}.setup b{width:110px;font-size:15px}.setup i{flex:1;height:10px;background:#F1EFEB;display:block}.setup i span{display:block;height:10px;background:#111}.setup em{width:56px;text-align:right;font-style:normal;font-weight:600}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal div{aspect-ratio:1.6/1;background:#F6F5F2;color:#9A978F;display:flex;flex-direction:column;justify-content:space-between;padding:8px;font-size:12px}
.cal .p{background:#111;color:#fff}.cal .m{background:#C9362B;color:#fff}.cal b{font-weight:600}
.tapeclaim{margin:36px 0 0;font-size:clamp(22px,2.2vw,28px);line-height:1.3;letter-spacing:-.02em;font-weight:600;max-width:28em}

/* aschenpfad */
.ash{position:relative;background:#111B24;color:#EDE6D8;overflow:hidden}
.ash .bg{position:absolute;inset:0;background:url("/assets/img/aschenpfad-hain.webp") center 40%/cover;opacity:.28;filter:blur(2px) saturate(1.1)}
.ash .vg{position:absolute;inset:0;background:radial-gradient(80% 70% at 50% 45%,rgba(17,27,36,.2),rgba(17,27,36,.95))}
.ashin{position:relative;min-height:820px;padding:40px 24px 48px;display:flex;flex-direction:column}
.hudtop{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.map{width:108px;height:108px;border-radius:50%;border:1.5px solid rgba(233,211,166,.5);background:rgba(13,21,29,.6);position:relative}
.map i{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;background:#E9D3A6;transform:rotate(45deg)}
.map b{position:absolute;left:30%;top:26%;width:18px;height:30px;border:1px solid rgba(233,211,166,.35)}
.meter{display:flex;align-items:center;gap:8px;justify-content:flex-end;font-size:12px;color:#A9B2BA}
.meter+.meter{margin-top:8px}
.meter span{width:180px;height:8px;background:rgba(255,255,255,.12);border-radius:4px;overflow:hidden}
.meter span i{display:block;height:8px;transition:width .3s}
.ashmid{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;align-items:center;padding:32px 0}
.title{margin:0 0 24px;font-family:Spectral,Georgia,serif;font-weight:600;font-size:clamp(56px,7vw,96px);line-height:.95;color:#E9D3A6}
.dialog{background:rgba(13,21,29,.82);border:1px solid rgba(233,211,166,.35);border-radius:6px;padding:20px 22px;max-width:30em}
.dialog .who{margin:0 0 6px;font-family:Spectral,Georgia,serif;font-size:15px;color:#E9D3A6}
.dialog .line{margin:0;font-family:Spectral,Georgia,serif;font-size:21px;line-height:1.5}
.dialog .hint{margin:12px 0 0;font-size:12px;color:#A9B2BA}
.knight{width:min(70%,340px);height:auto;display:block;margin:0 auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.hudbot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.facts{margin:0;display:flex;gap:32px}
.facts dt{font-family:Spectral,Georgia,serif;font-size:36px;line-height:1;color:#E9D3A6}.facts dd{margin:4px 0 0;font-size:13px;color:#A9B2BA}
.pad{display:flex;align-items:flex-end;gap:14px}
.rb{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#E9D3A6;background:rgba(13,21,29,.75);border:1.5px solid rgba(233,211,166,.5);width:60px;height:60px}
.rb.big{width:92px;height:92px;border:2px solid #E9D3A6;background:rgba(201,80,58,.35);color:#F4E6C8}

/* studio */
.sec{padding:112px 0 96px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:56px}
.sec+.sec{padding-top:0}
.sec h2{margin:0 0 16px;font-size:clamp(30px,3.4vw,44px);line-height:1.05;letter-spacing:-.035em;font-weight:600}
.sec .sub{margin:0 0 28px;font-size:17px;line-height:1.6;color:var(--muted);max-width:26em}
.notes{list-style:none;margin:0;padding:0}
.notes li{display:grid;grid-template-columns:72px 100px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--rule);font-size:16px}
.notes li:first-child{border-top-color:var(--ink)}.notes li:last-child{border-bottom:1px solid var(--rule)}
.notes time{color:var(--muted)}.notes b{font-weight:600}
@media (max-width:560px){.notes li{grid-template-columns:1fr;gap:2px}}
.dl{margin:0}.dl div{padding:22px 0;border-top:1px solid var(--rule)}.dl div:first-child{border-top-color:var(--ink)}.dl div:last-child{border-bottom:1px solid var(--rule)}
.dl dt{font-weight:600;font-size:19px;margin-bottom:6px}.dl dd{margin:0;font-size:16px;line-height:1.6;color:var(--muted)}
.pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:15px}.pills li{padding:8px 14px;border:1px solid var(--rule);border-radius:999px}
.contact{padding:96px 0;border-top:1px solid var(--ink)}
.contact h2{margin:0 0 20px;font-size:15px;font-weight:500;color:var(--muted)}
.mail{display:inline-block;text-decoration:none;font-size:clamp(30px,6vw,88px);line-height:1;letter-spacing:-.05em;font-weight:600;word-break:break-word}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px 0 48px;border-top:1px solid var(--rule);font-size:14px;color:var(--muted)}
.foot span{display:inline-flex;align-items:center;gap:12px}.foot nav{display:flex;gap:24px}

/* legal pages */
.legal{max-width:760px;margin:0 auto;padding:40px 24px 96px}
.legal h1{font-size:clamp(34px,5vw,52px);letter-spacing:-.04em;line-height:1.05;margin:48px 0 32px;font-weight:600}
.legal h2{font-size:20px;margin:36px 0 8px;font-weight:600}
.legal p,.legal li{font-size:16px;line-height:1.7;color:#2C2E31}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.app,.app:hover,.app:active{transition:none;transform:none}.live{animation:none}.meter span i{transition:none}}
