/* BESS Bubikon AG — Corporate Design */
:root{
  --anth:#1C2128; --anth2:#333B44; --grn:#00C853; --grnb:#00E676; --grnd:#00A85A;
  --gry:#EEF1F3; --mid:#6E7780; --line:#DFE4E7; --weiss:#fff;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--anth);
  font-size:17px;line-height:1.6;-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:'Arial Narrow',Arial,Helvetica,sans-serif;font-weight:700;
  line-height:1.1;letter-spacing:-.01em;margin:0 0 .6em}
h1{font-size:clamp(2.4rem,6vw,4rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
h3{font-size:1.15rem;font-family:Arial,Helvetica,sans-serif;letter-spacing:0}
p{margin:0 0 1em;max-width:62ch}
a{color:var(--anth);text-decoration-color:var(--grnd);text-underline-offset:.2em}
a:hover{color:var(--grnd)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}
.skip:focus{position:static;display:block;padding:12px;background:var(--grn)}

header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;gap:24px;height:74px}
header img{height:36px}
nav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
nav a{font-size:.92rem;text-decoration:none;color:var(--anth2)}
nav a:hover{color:var(--grnd)}
nav a.intern{font-weight:700;border:1px solid var(--line);border-radius:6px;
  padding:7px 14px;line-height:1}
@media(max-width:720px){header .wrap{height:auto;padding-top:14px;padding-bottom:14px;
  flex-wrap:wrap}nav{margin-left:0;width:100%;gap:16px}}

.hero{background:var(--anth);color:#fff;padding:88px 0 96px}
.hero img.logo{height:56px;margin-bottom:44px}
.hero .claim{font-size:clamp(2.6rem,6.5vw,4.4rem);font-family:'Arial Narrow',Arial,sans-serif;
  font-weight:700;line-height:1.02;margin:0 0 22px;max-width:16ch}
.hero p{color:#B9C1C8;font-size:1.18rem;max-width:56ch}
.mark{width:74px;height:9px;background:var(--grn);border-radius:5px;margin:0 0 26px}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:26px;
  margin-top:54px;padding-top:34px;border-top:1px solid #333B44}
.kpi .n{font-family:'Arial Narrow',Arial,sans-serif;font-weight:700;font-size:2.6rem;
  line-height:1;color:#fff}
.kpi .n span{font-size:1.1rem;color:var(--grnb);font-family:Arial,sans-serif}
.kpi .l{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#8B959D;
  margin-top:8px;font-weight:700}

section{padding:74px 0}
section.alt{background:var(--gry)}
.kick{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--grnd);
  font-weight:700;margin-bottom:14px}
.lead{font-size:1.2rem;color:var(--mid);max-width:60ch}
figure{margin:34px 0 0}
figure img{width:100%;height:auto;display:block}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:34px;
  margin-top:36px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 26px 22px}
.alt .card{background:#fff}
.card h3{margin-bottom:.4em}
.card p{font-size:.96rem;color:var(--anth2);margin-bottom:0}

details{border-bottom:1px solid var(--line);padding:18px 0}
details summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;
  display:flex;gap:16px;align-items:flex-start}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"+";color:var(--grnd);font-weight:700;font-size:1.3rem;
  line-height:1.1;flex:0 0 auto}
details[open] summary::before{content:"–"}
details p{margin:12px 0 0 30px;font-size:.98rem;color:var(--anth2)}

.tbl{width:100%;border-collapse:collapse;margin-top:26px}
.tbl th{text-align:left;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mid);font-weight:700;padding:0 16px 10px 0;border-bottom:1px solid var(--line)}
.tbl td{padding:13px 16px 13px 0;border-bottom:1px solid var(--line);
  vertical-align:top;font-size:.97rem}
.tbl td:first-child{color:var(--mid);width:34%}

.dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:30px}
.dl a{display:block;border:1px solid var(--line);border-radius:10px;padding:20px 22px;
  background:#fff;text-decoration:none}
.dl a:hover{border-color:var(--grnd)}
.dl .t{font-weight:700;margin-bottom:4px}
.dl .m{font-size:.84rem;color:var(--mid)}

.kontakt{background:var(--anth);color:#fff}
.kontakt h2{color:#fff}
.kontakt p{color:#B9C1C8}
.kontakt a{color:var(--grnb)}

footer{background:var(--anth);color:#8B959D;font-size:.86rem;padding:34px 0 44px;
  border-top:1px solid #333B44}
footer .wrap{display:flex;gap:26px;flex-wrap:wrap;align-items:center}
footer a{color:#B9C1C8}
footer .re{margin-left:auto}
@media(max-width:720px){footer .re{margin-left:0}}

.doc{max-width:760px}
.doc h1{font-size:clamp(2rem,5vw,2.9rem)}
.doc h2{font-size:1.35rem;margin-top:2em}
.doc p,.doc li{font-size:1rem;color:var(--anth2)}
.doc ul{padding-left:1.2em}

/* Geschlossener Bereich */
.loginwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--gry);padding:24px}
.loginbox{background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:40px 38px;width:100%;max-width:420px}
.loginbox img{height:34px;margin-bottom:28px}
.loginbox h1{font-size:1.7rem;margin-bottom:6px}
.loginbox .sub{color:var(--mid);font-size:.95rem;margin-bottom:26px}
label{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;color:var(--mid);margin-bottom:6px}
input[type=text],input[type=password],input[type=email]{width:100%;padding:12px 14px;font-size:1rem;
  font-family:inherit;border:1px solid var(--line);border-radius:7px;margin-bottom:18px}
input:focus{outline:2px solid var(--grnd);outline-offset:1px;border-color:var(--grnd)}
button{width:100%;padding:13px;font-size:1rem;font-family:inherit;font-weight:700;
  color:#fff;background:var(--anth);border:0;border-radius:7px;cursor:pointer}
button:hover{background:var(--anth2)}
.fehler{background:#F9EDEB;border-left:4px solid #C0392B;padding:12px 14px;
  font-size:.92rem;margin-bottom:20px;color:#7A2E20}
.hinweis{font-size:.85rem;color:var(--mid);margin-top:22px}
.ok{background:#E8F7EE;border-left:4px solid var(--grnd);padding:12px 14px;border-radius:6px;font-size:.9rem;margin-bottom:20px}
.internbar .who a{color:#fff;opacity:.75;margin-left:14px}

.internbar{background:var(--anth);color:#fff;padding:16px 0}
.internbar .wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.internbar img{height:30px}
.internbar .who{margin-left:auto;font-size:.9rem;color:#B9C1C8}
.internbar a{color:var(--grnb);font-size:.9rem}
.gruppe{margin-top:44px}
.gruppe h2{font-size:1.5rem;margin-bottom:4px}
.gruppe .sub{color:var(--mid);font-size:.95rem;margin-bottom:18px}
