:root{
  --bg:#0a1412;--panel:#0d1917;--panel2:#12221f;--line:#2d3b33;--gold:#b59c66;--gold2:#d5bd88;--text:#e6deca;--mute:#a9b2a4;--dim:#7d8679;
  --ok:#8fbf7a;--bad:#d98b74;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--sans);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--gold2);text-decoration:none}
a:hover{color:#f1d8a0}
main{flex:1;outline:none}
h1,h2,h3{font-family:var(--serif);font-weight:normal;margin:0 0 .4em;line-height:1.15}
h1{font-size:clamp(42px,6vw,82px);letter-spacing:.01em}
h2{font-size:clamp(28px,3.2vw,42px)}
h3{font-size:22px}
p{margin:0 0 1em}
.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.mute{color:var(--mute)}
.small{font-size:13px;color:var(--dim)}

.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:14px clamp(16px,4vw,48px);background:rgba(8,16,14,.88);backdrop-filter:blur(8px);border-bottom:1px solid rgba(181,156,102,.18)}
.brand{display:flex;align-items:center;gap:14px;color:var(--text)}
.brand-mark{width:34px;height:34px;border:1px solid var(--gold);display:grid;place-items:center;transform:rotate(45deg);font-size:0}
.brand-mark::after{content:"II";font:16px var(--serif);color:var(--gold2);transform:rotate(-45deg)}
.brand-text{font-family:var(--serif);letter-spacing:.18em;font-size:17px;line-height:1.1}
.brand-text small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.42em;color:var(--gold)}
.nav{display:flex;gap:6px;flex:1}
.nav a{color:var(--mute);padding:8px 14px;border-radius:2px;font-size:15px}
.nav a:hover,.nav a.active{color:var(--text);background:rgba(181,156,102,.1)}
.account-nav{display:flex;gap:10px;align-items:center}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);font-size:20px;padding:4px 10px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border:1px solid var(--line);background:rgba(18,34,31,.85);color:var(--text);font:600 14px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:.15s}
.btn:hover{border-color:var(--gold);color:#fff}
.btn.primary{background:linear-gradient(180deg,#d9c28c,#a88c55);border-color:#e7d3a1;color:#1a1608;box-shadow:0 6px 24px rgba(181,156,102,.18)}
.btn.primary:hover{background:linear-gradient(180deg,#e7d3a1,#b59c66);color:#000}
.btn.big{padding:18px 30px;font-size:15px}
.btn.ghost{background:transparent}
.btn[disabled]{opacity:.5;cursor:wait}

.hero{position:relative;min-height:calc(100vh - 69px);display:flex;align-items:flex-end;padding:0 clamp(16px,6vw,96px) clamp(48px,9vh,110px);background:#06100d url(/img/hero.jpg) center/cover no-repeat;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,10,.94) 0%,rgba(6,12,10,.72) 40%,rgba(6,12,10,.15) 75%),linear-gradient(0deg,var(--bg) 0%,rgba(10,20,18,0) 35%)}
.hero-inner{position:relative;max-width:720px}
.hero .lead{font-size:clamp(17px,1.6vw,21px);color:#d4d0c0;max-width:600px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 22px}
.facts{display:flex;flex-wrap:wrap;gap:34px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(181,156,102,.25)}
.facts strong{display:block;font-family:var(--serif);font-size:30px;color:var(--gold2);font-weight:normal}
.facts span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}

.section{padding:clamp(56px,9vw,110px) clamp(16px,6vw,96px)}
.section.alt{background:linear-gradient(180deg,#0b1714,#0a1412)}
.section-head{max-width:760px;margin-bottom:44px}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.card .body{padding:22px 24px 26px}
.card p{color:var(--mute);font-size:15px;margin:0}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}
.steps{counter-reset:s;list-style:none;padding:0;margin:0 0 26px}
.steps li{counter-increment:s;position:relative;padding:0 0 18px 54px}
.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:36px;height:36px;border:1px solid var(--gold);color:var(--gold2);display:grid;place-items:center;font-family:var(--serif)}
.steps strong{display:block}
.specs{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;font-size:15px;margin:0}
.specs dt{color:var(--dim)}
.specs dd{margin:0}

.auth{min-height:calc(100vh - 69px);display:grid;grid-template-columns:1fr minmax(360px,540px);background:#06100d}
.auth-art{background:url(/img/fluss.jpg) center/cover;position:relative}
.auth-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,18,.15),rgba(10,20,18,.95))}
.auth-art.tal{background-image:url(/img/tal.jpg)}
.auth-art.feste{background-image:url(/img/feste.jpg)}
.auth-box{padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;justify-content:center;background:var(--bg);border-left:1px solid rgba(181,156,102,.2)}
.auth-box h1{font-size:clamp(34px,3.6vw,48px)}
form{display:flex;flex-direction:column;gap:16px;margin-top:10px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.06em;color:var(--mute)}
input[type=text],input[type=email],input[type=password]{background:#08110f;border:1px solid #334139;color:var(--text);padding:13px 14px;font:16px var(--sans);border-radius:2px}
input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,156,102,.15)}
.check{flex-direction:row;align-items:flex-start;gap:10px;font-size:14px;letter-spacing:0}
.check input{margin-top:4px;accent-color:var(--gold)}
.hint{font-size:12px;color:var(--dim);letter-spacing:0}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.notice{padding:14px 16px;border-left:3px solid var(--gold);background:rgba(181,156,102,.08);color:#e9dfc4;font-size:15px}
.notice.error{border-color:var(--bad);background:rgba(217,139,116,.1);color:#f0cbbf}
.notice.ok{border-color:var(--ok);background:rgba(143,191,122,.1);color:#d5ebca}
.notice:empty{display:none}
.meter{height:4px;background:#1c2824;margin-top:4px}
.meter i{display:block;height:100%;width:0;background:var(--bad);transition:.2s}

.account{max-width:1120px;margin:0 auto;padding:clamp(40px,6vw,80px) clamp(16px,4vw,40px)}
.account .grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.panel{background:var(--panel);border:1px solid var(--line);padding:28px}
.badge{display:inline-block;padding:2px 9px;font-size:12px;letter-spacing:.08em;border:1px solid}
.badge.ok{color:var(--ok);border-color:rgba(143,191,122,.5)}
.badge.warn{color:#e5c07b;border-color:rgba(229,192,123,.5)}

.legal{max-width:820px;margin:0 auto;padding:clamp(40px,6vw,80px) clamp(16px,4vw,40px)}
.legal h1{font-size:clamp(34px,4vw,52px)}
.legal h2{font-size:24px;margin-top:1.6em}
.legal p,.legal li{color:#cfcabb}

.foot{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;padding:28px clamp(16px,4vw,48px);border-top:1px solid rgba(181,156,102,.18);background:#08110f;font-size:14px;color:var(--dim)}
.foot-brand{font-family:var(--serif);letter-spacing:.16em;color:var(--mute)}
.foot-brand span{display:block;font-family:var(--sans);letter-spacing:.1em;font-size:12px;color:var(--dim)}
.foot nav{display:flex;gap:22px;flex-wrap:wrap}
.server{display:flex;align-items:center;gap:8px}
.dot{width:9px;height:9px;border-radius:50%;background:#777}
.server.on .dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}
.server.off .dot{background:var(--bad)}

@media (max-width:900px){
  .nav{display:none;position:absolute;top:63px;left:0;right:0;flex-direction:column;background:#08110f;padding:10px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .menu-toggle{display:block;margin-left:auto}
  .top{gap:12px}
  .brand-text{font-size:14px}
  .account-nav .btn{padding:9px 12px;font-size:11px}
  .split,.auth{grid-template-columns:1fr}
  .auth-art{min-height:180px}
  .auth-box{border-left:0}
  .hero{min-height:86vh}
}
