/* STB Thilo Blome · Steuerguide 2026
   CI von stb-mbh.de: Cormorant Garamond (Headlines, kursiver Akzent),
   Inter (Text), Primärgrün #106100 auf warmem Off-White, Grau als Akzent,
   fast eckige Kanten. Eine Spalte von max. 1120px, viel Luft. */
:root{
  color-scheme:light;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);

  --bg:#FBFAF7;
  --bg-2:#F3F1EB;
  --card:#FFFFFF;
  --ink:#13201A;
  --ink-2:#454B47;
  --ink-3:#5E6360;
  --grey:#7D7D7D;
  --line:#E0E0E0;
  --green:#106100;
  --green-hover:#0B4A00;
  --band:#106100;
  --band-hover:#0B4A00;
  --green-deep:#0A3D00;
  --green-soft:#EEF3EA;
  --on-green:#FBFAF7;
  --on-green-2:#D9E4D2;
  --on-green-3:#D3E0CA;
  --star:#855C00;
  --error:#B3261E;
  --error-soft:#FBEAE8;

  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;

  --wrap:1120px;
  --gl:max(20px,env(safe-area-inset-left,0px));
  --gr:max(20px,env(safe-area-inset-right,0px));
  --sec:clamp(72px,9vw,120px);
  --r:4px;
  --shadow-soft:0 8px 30px -10px rgba(19,32,26,.16);
  --shadow-elegant:0 30px 60px -20px rgba(19,32,26,.30);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0F1410;--bg-2:#151B16;--card:#1A211B;--ink:#ECEFE8;--ink-2:#BCC3BA;--ink-3:#A2A9A0;
    --grey:#9C9C9C;--line:#2B332C;--green:#6DBA4E;--green-hover:#82CB63;--band:#1F5E16;--band-hover:#2A7120;--green-deep:#0A2E04;--green-soft:#1B2A17;
    --on-green:#F3F1EB;--on-green-2:#C9D8C0;--on-green-3:#D3E0CA;--star:#E4B548;--error:#F08A80;--error-soft:#2E1715;
    --shadow-soft:0 8px 30px -10px rgba(0,0,0,.5);--shadow-elegant:0 30px 60px -20px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0F1410;--bg-2:#151B16;--card:#1A211B;--ink:#ECEFE8;--ink-2:#BCC3BA;--ink-3:#A2A9A0;
  --grey:#9C9C9C;--line:#2B332C;--green:#6DBA4E;--green-hover:#82CB63;--band:#1F5E16;--band-hover:#2A7120;--green-deep:#0A2E04;--green-soft:#1B2A17;
  --on-green:#F3F1EB;--on-green-2:#C9D8C0;--on-green-3:#D3E0CA;--star:#E4B548;--error:#F08A80;--error-soft:#2E1715;
  --shadow-soft:0 8px 30px -10px rgba(0,0,0,.5);--shadow-elegant:0 30px 60px -20px rgba(0,0,0,.6);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-color:var(--line) var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
::selection{background:var(--band);color:var(--on-green)}
input{caret-color:var(--green)}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;margin:0;text-wrap:balance}
h1{font-size:clamp(2.5rem,5.2vw,4.1rem);line-height:1.04;color:var(--ink)}
h2{font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.1;color:var(--green)}
h3{font-size:1.55rem;line-height:1.2;color:var(--green)}
h1 em,h2 em{font-style:italic;color:var(--grey)}
p,li{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
a{color:var(--green);text-underline-offset:.2em;text-decoration-thickness:1px}
.num{font-variant-numeric:tabular-nums lining-nums}
h1,h2,h3,b{font-variant-numeric:lining-nums}
[tabindex="-1"]:focus{outline:none}

.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gl);padding-right:var(--gr)}
.sec{padding-block:var(--sec)}
.sec.alt{background:var(--bg-2)}
.intro{display:grid;gap:16px;max-width:660px;margin-bottom:48px}
.intro p{color:var(--ink-2);font-size:1.08rem}
.muted{color:var(--ink-3);font-size:.88rem;line-height:1.55}

/* Buttons wie stb-mbh.de */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:1rem 2rem;border:0;border-radius:var(--r);background:var(--band);color:var(--on-green);font-family:var(--sans);font-weight:500;font-size:1rem;text-decoration:none;cursor:pointer;transition:background .15s ease}
.btn:hover{background:var(--band-hover)}
.btn svg{width:18px;height:18px;flex:none;transition:transform .2s ease}
.btn:hover svg{transform:translateX(3px)}
.btn.light{background:var(--on-green);color:var(--band)}
.btn.light:hover{background:var(--on-green-2)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn:disabled svg{transform:none}

/* Sprunglink für Tastatur */
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;background:var(--band);color:var(--on-green);border-radius:var(--r);text-decoration:none;font-weight:500}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.logo{display:block}
.logo img{height:52px;width:auto}
.logo .d{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo .l{display:none}:root:not([data-theme="light"]) .logo .d{display:block}}
:root[data-theme="dark"] .logo .l{display:none}
:root[data-theme="dark"] .logo .d{display:block}
.top .btn{min-height:46px;padding:.6rem 1.25rem;font-size:.94rem}

/* Footer */
.foot{border-top:1px solid var(--line);padding-block:40px calc(40px + env(safe-area-inset-bottom,0px));font-size:.88rem;color:var(--ink-3)}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px}
.foot nav{display:flex;gap:24px}
.foot a{color:var(--ink-2)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
