/* Selbst gehostete Google Fonts (Fraunces, IBM Plex Sans, IBM Plex Mono) - kein Fremdzugriff auf fonts.googleapis.com/fonts.gstatic.com mehr */

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/fraunces-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/fraunces-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/fraunces-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/fraunces-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/fraunces-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/fraunces-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/fraunces-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/fraunces-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/ibm-plex-mono-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/ibm-plex-sans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/ibm-plex-sans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/ibm-plex-sans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/ibm-plex-sans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/ibm-plex-sans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/ibm-plex-sans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/ibm-plex-sans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/ibm-plex-sans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Gemeinsames Stylesheet fuer buchhaltung-lernen.com */

:root{
    --ink:#16233D; --ink-soft:#3C4A63; --paper:#E9EFE6; --paper-deep:#DCE6D9;
    --card:#F6F8F3; --line: rgba(22,35,61,0.14); --forest:#1F6F54; --forest-deep:#154F3C;
    --rust:#AE4327; --gold:#9C7A1E; --white:#FFFFFF;
    --display: 'Fraunces', serif; --body: 'IBM Plex Sans', sans-serif; --mono: 'IBM Plex Mono', monospace;
  }

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); line-height:1.6; -webkit-font-smoothing:antialiased;}

a{color:inherit; text-decoration:none;}

img{max-width:100%; display:block;}

.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}

.wrap-narrow{max-width:780px; margin:0 auto; padding:0 32px;}

header.site{position:sticky; top:0; z-index:80; background:rgba(233,239,230,0.94); backdrop-filter:blur(6px); border-bottom:1px solid var(--line); height:90px; max-height:90px; display:flex; align-items:center; overflow:hidden; contain:layout paint;}

.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:1180px; width:100%; height:90px; max-height:90px; margin:0 auto; overflow:hidden; flex-shrink:0;}

.logo{font-family:var(--display); font-weight:600; font-size:21px; display:flex; align-items:baseline; letter-spacing:-0.01em;}

.logo .t{display:inline-flex; align-items:center; justify-content:center; width:26px; height:22px; border:1.6px solid var(--ink); border-top:none; font-family:var(--mono); font-size:10px; font-weight:600; margin-right:8px; position:relative; top:-1px;}

.logo .t::before{content:''; position:absolute; top:-1.6px; left:50%; width:1.4px; height:100%; background:var(--ink);}

div.links{display:flex; gap:26px; font-size:14px; font-weight:500;}

div.links a{opacity:0.8; transition:opacity .15s;}

div.links a:hover{opacity:1;}

.nav-cta{background:var(--ink); color:var(--paper); padding:10px 18px; border-radius:3px; font-size:13.5px; font-weight:600; white-space:nowrap; line-height:1;}

.nav-right{display:flex; align-items:center; gap:24px;}

@media (max-width:900px){div.links{display:none;}}

.crumb{padding:20px 0 0; font-size:13px; font-family:var(--mono); color:var(--ink-soft);}

.crumb a{color:var(--forest-deep); font-weight:600;}

.crumb span{margin:0 6px; opacity:0.5;}

.lek-hero{padding:26px 0 48px; border-bottom:2px solid var(--ink);}

.lek-hero .badge{font-family:var(--mono); font-size:12px; font-weight:600; color:var(--forest-deep); background:var(--card); border:1px solid var(--line); display:inline-block; padding:5px 12px; border-radius:3px; margin-bottom:16px;}

h1.lek-h1{font-family:var(--display); font-weight:600; font-size:clamp(30px,4vw,44px); margin:0 0 14px; letter-spacing:-0.01em; max-width:700px;}

.lek-meta{font-size:14px; color:var(--ink-soft); display:flex; gap:18px; flex-wrap:wrap;}

.lek-meta strong{color:var(--ink);}

.goals{background:var(--card); border:1px solid var(--line); border-radius:4px; padding:22px 26px; margin-top:26px; max-width:640px;}

.goals .lbl{font-family:var(--mono); font-size:11.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:var(--forest-deep); display:block; margin-bottom:10px;}

.goals ul{margin:0; padding-left:18px;}

.goals li{margin-bottom:6px; font-size:14.5px;}

.toc{background:var(--card); border:1.5px solid var(--ink); border-radius:4px; padding:6px 0; margin:36px 0;}

.toc-item{display:flex; align-items:baseline; gap:14px; padding:12px 22px; border-bottom:1px dashed var(--line); font-size:14px; transition:background .15s;}

.toc-item:last-child{border-bottom:none;}

.toc-item:hover{background:var(--paper-deep);}

.toc-item .n{font-family:var(--mono); color:var(--forest-deep); font-weight:600; min-width:20px;}

article.lek{padding:44px 0; border-bottom:1px solid var(--line); scroll-margin-top:90px;}

.lek-head{display:flex; align-items:baseline; gap:14px; margin-bottom:16px;}

.lek-no{font-family:var(--mono); font-size:12.5px; font-weight:600; color:var(--forest-deep); background:var(--paper-deep); border:1px solid var(--line); padding:3px 9px; border-radius:3px; white-space:nowrap;}

h2.lek-title{font-family:var(--display); font-weight:600; font-size:clamp(20px,2.2vw,25px); margin:0; letter-spacing:-0.005em;}

h3.lek-sub{font-family:var(--display); font-weight:600; font-size:17.5px; margin:26px 0 10px;}

.lek-body{font-size:15.5px; color:var(--ink);}

.lek-body p{margin:0 0 16px;}

.lek-body strong{color:var(--ink); font-weight:700;}

.lek-body ul{padding-left:20px; margin:0 0 16px;}

.lek-body li{margin-bottom:6px;}

.callout{border-radius:3px; padding:16px 20px; margin:20px 0; font-size:14.5px;}

.callout .lbl{font-family:var(--mono); font-size:11.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; display:block; margin-bottom:6px;}

.callout.tip{background:rgba(31,111,84,0.08); border-left:3px solid var(--forest);}

.callout.tip .lbl{color:var(--forest-deep);}

.callout.note{background:var(--card); border-left:3px solid var(--ink-soft);}

.callout.note .lbl{color:var(--ink-soft);}

.callout.rule{background:rgba(174,67,39,0.08); border-left:3px solid var(--rust);}

.callout.rule .lbl{color:var(--rust);}

.callout.summary{background:rgba(156,122,30,0.09); border-left:3px solid var(--gold);}

.callout.summary .lbl{color:var(--gold);}

.top-link{display:inline-block; margin-top:6px; font-size:13px; font-family:var(--mono); color:var(--ink-soft); border-bottom:1px dotted var(--ink-soft);}

.video-frame{position:relative; padding-top:56.25%; border:1.5px solid var(--ink); border-radius:4px; box-shadow:6px 6px 0 rgba(22,35,61,0.9); overflow:hidden; margin:22px 0; background:var(--ink);}

.video-frame iframe{position:absolute; top:0; left:0; width:100%; height:100%; border:0;}

.diagram-frame{border:1.5px solid var(--ink); border-radius:4px; box-shadow:6px 6px 0 rgba(22,35,61,0.9); overflow:hidden; margin:22px 0; background:var(--card); padding:18px;}

.diagram-frame svg{width:100%; height:auto; display:block;}

.diagram-caption{font-family:var(--mono); font-size:11.5px; color:var(--ink-soft); text-align:center; margin-top:10px;}

.bal-table{border:1.5px solid var(--ink); border-radius:4px; overflow:hidden; margin:22px 0;}

.bal-head{display:grid; grid-template-columns:1fr 1fr;}

.bal-head div{font-family:var(--mono); font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:0.05em; padding:12px 18px; text-align:center;}

.bal-head .a{color:var(--rust); border-right:1.5px solid var(--ink); background:var(--card);}

.bal-head .p{color:var(--forest-deep); background:var(--card);}

.bal-body{display:grid; grid-template-columns:1fr 1fr;}

.bal-col{padding:16px 18px; font-size:14px;}

.bal-col:first-child{border-right:1.5px solid var(--ink);}

.bal-col div{padding:6px 0; border-bottom:1px dashed var(--line);}

.bal-col div:last-child{border-bottom:none;}

@media (max-width:600px){.bal-head, .bal-body{grid-template-columns:1fr;} .bal-col:first-child{border-right:none; border-bottom:1.5px solid var(--ink);}}

.exercise{background:var(--card); border:1px solid var(--line); border-radius:4px; padding:18px 22px; margin:18px 0;}

.exercise .ex-lbl{font-family:var(--mono); font-size:11.5px; font-weight:600; color:var(--forest-deep); text-transform:uppercase; letter-spacing:0.05em; display:block; margin-bottom:8px;}

.exercise summary{cursor:pointer; font-weight:600; color:var(--forest-deep); margin-top:10px; font-size:14px;}

.exercise summary:hover{text-decoration:underline;}

.exercise[open] summary{margin-bottom:10px;}

.rules-table{width:100%; border-collapse:collapse; margin:20px 0; font-size:14px;}

.rules-table th, .rules-table td{border:1px solid var(--line); padding:10px 14px; text-align:left;}

.rules-table th{background:var(--card); font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:0.04em; color:var(--forest-deep);}

.faq-item{border-bottom:1px dashed var(--line); padding:16px 0;}

.faq-item:last-child{border-bottom:none;}

.faq-item h4{font-family:var(--display); font-size:16px; margin:0 0 6px; font-weight:600;}

.faq-item p{margin:0; font-size:14.5px; color:var(--ink-soft);}

.lek-nav{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:50px 0;}

.lek-nav a{border:1.5px solid var(--ink); border-radius:4px; padding:18px 20px; transition:background .15s;}

.lek-nav a:hover{background:var(--card);}

.lek-nav .dir{font-family:var(--mono); font-size:11px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.05em; display:block; margin-bottom:6px;}

.lek-nav .name{font-family:var(--display); font-weight:600; font-size:16px;}

.lek-nav .next{text-align:right;}

@media (max-width:600px){.lek-nav{grid-template-columns:1fr;}}

.lessons-strip{background:var(--paper-deep); padding:56px 0;}

.strip-head{margin-bottom:26px;}

.strip-head .sec-eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:0.07em; text-transform:uppercase; color:var(--forest-deep); font-weight:600; display:block; margin-bottom:8px;}

.strip-head h2{font-family:var(--display); font-weight:600; font-size:24px; margin:0;}

.ledger-table{border-top:2px solid var(--ink);}

.lrow{display:grid; grid-template-columns:80px 1fr 24px; align-items:center; padding:15px 0; border-bottom:1px solid var(--line); gap:16px; transition:background .15s;}

.lrow:hover{background:var(--card);}

.lrow .acct-no{font-family:var(--mono); font-size:12.5px; color:var(--forest-deep); font-weight:600;}

.lrow .ltitle{font-weight:600; font-size:14.5px;}

.lrow .arrow{color:var(--forest); font-size:15px; text-align:right; opacity:0; transition:opacity .15s;}

.lrow:hover .arrow{opacity:1;}

.lrow.current{background:var(--card);}

.lrow.current .ltitle{color:var(--forest-deep);}

footer{background:var(--ink); color:rgba(233,239,230,0.75); padding:50px 0 26px; font-size:13px;}

.foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px; margin-bottom:36px;}

.foot-grid h4{color:var(--paper); font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em; margin:0 0 13px; font-family:var(--mono);}

.foot-grid a{display:block; margin-bottom:8px; opacity:0.85;}

.foot-grid a:hover{opacity:1; text-decoration:underline;}

.foot-logo{font-family:var(--display); color:var(--paper); font-size:18px; font-weight:600; margin-bottom:9px;}

.foot-bottom{border-top:1px solid rgba(233,239,230,0.15); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12px;}

@media (max-width:800px){.foot-grid{grid-template-columns:1fr 1fr;}}

.book-card{display:flex; gap:18px; background:var(--card); border:1px solid var(--line); border-radius:4px; padding:20px 22px; margin:16px 0; align-items:flex-start;}

.book-card .icon{font-size:28px; line-height:1; flex-shrink:0;}

.book-card h4{font-family:var(--display); font-size:16.5px; font-weight:600; margin:0 0 4px;}

.book-card .author{font-size:13.5px; color:var(--ink-soft); margin:0 0 8px;}

.book-card p{margin:0; font-size:14px; color:var(--ink);}

.breadcrumb{font-family:var(--mono); font-size:12px; color:var(--ink-soft); padding:22px 32px 0; max-width:1180px; margin:0 auto;}

.breadcrumb a{border-bottom:1px dotted var(--ink-soft);}

.breadcrumb a:hover{color:var(--forest-deep);}

.page-hero{padding:24px 0 50px;}

h1{font-family:var(--display); font-weight:600; font-size:clamp(30px,4vw,46px); line-height:1.08; margin:0 0 18px; letter-spacing:-0.01em; max-width:700px;}

.page-sub{font-size:16.5px; color:var(--ink-soft); max-width:600px;}

.sec-eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:0.07em; text-transform:uppercase; color:var(--forest-deep); font-weight:600; margin-bottom:10px; display:block;}

.feature-card{
    display:grid; grid-template-columns:1fr 1fr; gap:0; border:1.5px solid var(--ink); border-radius:4px;
    overflow:hidden; box-shadow:8px 8px 0 rgba(22,35,61,0.9); margin-bottom:56px; background:var(--card);
  }

.feature-media{background:var(--ink); display:flex; align-items:center; justify-content:center; padding:40px;}

.feature-media img{max-height:220px; width:auto; margin:0 auto;}

.feature-text{padding:38px 40px;}

.feature-text .tag{font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold); font-weight:600; display:block; margin-bottom:12px;}

.feature-text h3{font-family:var(--display); font-size:24px; font-weight:600; margin:0 0 12px;}

.feature-text p{font-size:14.5px; color:var(--ink-soft); margin:0 0 22px;}

.feature-text ul{padding-left:18px; margin:0 0 24px; font-size:13.5px;}

.feature-text li{margin-bottom:6px;}

@media (max-width:800px){.feature-card{grid-template-columns:1fr;}}

.btn-primary{background:var(--forest); color:var(--white);}

.btn-ghost{border:1.5px solid var(--ink); color:var(--ink);}

.btn-ghost:hover{background:var(--ink); color:var(--paper);}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}

.tool-card .tag{font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--gold); font-weight:600; display:block; margin-bottom:10px;}

.tool-card img{border:1px solid var(--line); border-radius:3px; margin-bottom:16px; height:130px; object-fit:cover; width:100%;}

.tool-card a.link{font-size:13.5px; font-weight:600; color:var(--forest-deep); border-bottom:1.5px solid var(--forest);}

@media (max-width:860px){.grid-3{grid-template-columns:1fr;}}

.steuerrechner{background:var(--ink); color:var(--paper); border-radius:4px; padding:40px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;}

.steuerrechner h3{font-family:var(--display); font-size:22px; margin:0 0 8px; font-weight:600;}

.steuerrechner p{color:rgba(233,239,230,0.75); font-size:14px; margin:0; max-width:440px;}

.steuerrechner .btn-ghost{border-color:rgba(233,239,230,0.5); color:var(--paper);}

.steuerrechner .btn-ghost:hover{background:var(--paper); color:var(--ink);}

.foot-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding:0 32px; max-width:1180px; margin:0 auto;}

.foot-row a{border-bottom:1px dotted rgba(233,239,230,0.5);}

.foot-cred{font-family:var(--display); font-size:15px; color:var(--paper); margin-bottom:4px;}

@media (max-width:700px){.foot-grid{grid-template-columns:1fr 1fr;}}

.ledger-bg{
    background-image: repeating-linear-gradient(
      to bottom, transparent 0px, transparent 37px, rgba(22,35,61,0.055) 38px
    );
  }

.hero{padding:70px 0 80px; overflow:hidden;}

.hero .wrap{display:grid; grid-template-columns:1.05fr 0.95fr; gap:52px; align-items:center;}

.eyebrow::before{content:'§ 238 HGB ·'; color:var(--ink-soft); font-weight:500;}

h1.hero-title{
    font-family:var(--display); font-weight:600; font-size:clamp(32px,4.4vw,50px);
    line-height:1.06; letter-spacing:-0.01em; margin:0 0 20px;
  }

h1.hero-title em{
    font-style:normal; color:var(--forest-deep); text-decoration:underline;
    text-decoration-color:var(--gold); text-decoration-thickness:3px; text-underline-offset:6px;
  }

.hero-sub{font-size:17px; color:var(--ink-soft); max-width:460px; margin-bottom:28px;}

.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:30px;}

.hero-trust{display:flex; align-items:center; gap:13px; font-size:13px; color:var(--ink-soft);}

.hero-trust img{width:42px; height:42px; border-radius:50%; object-fit:cover; border:2px solid var(--white);}

.hero-trust strong{color:var(--ink); display:block; font-size:13.5px;}

.tkonto{background:var(--card); border:1.5px solid var(--ink); border-radius:4px; box-shadow:8px 8px 0 rgba(22,35,61,0.9); overflow:hidden;}

.tkonto-head{display:flex; justify-content:space-between; align-items:center; padding:13px 17px; border-bottom:1.5px solid var(--ink); font-family:var(--mono); font-size:11.5px;}

.tkonto-head .acct{color:var(--ink-soft);}

.tkonto-head .dot{width:8px;height:8px;border-radius:50%;background:var(--forest); display:inline-block; margin-right:6px;}

.tkonto-title{text-align:center; font-family:var(--display); font-weight:600; font-size:16px; padding:11px 0 4px; border-bottom:1.5px solid var(--ink);}

.tkonto-body{display:grid; grid-template-columns:1fr 1fr;}

.tkonto-col:first-child{border-right:1.5px solid var(--ink);}

.tkonto-col-head{font-family:var(--mono); font-weight:600; font-size:12px; letter-spacing:0.06em; text-align:center; padding:9px 0; border-bottom:1px dashed var(--line); text-transform:uppercase;}

.col-soll .tkonto-col-head{color:var(--rust);}

.col-haben .tkonto-col-head{color:var(--forest-deep);}

.tkonto-row{padding:10px 13px; font-size:12.5px; border-bottom:1px dashed var(--line); display:flex; flex-direction:column; gap:2px; opacity:0; animation:rise .5s ease forwards;}

.tkonto-row .label{color:var(--ink-soft);}

.tkonto-row .amt{font-family:var(--mono); font-weight:600;}

.col-soll .amt{color:var(--rust);}

.col-haben .amt{color:var(--forest-deep);}

@keyframes rise{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}

.tkonto-saldo{display:flex; justify-content:space-between; padding:12px 17px; background:var(--ink); color:var(--paper); font-family:var(--mono); font-size:12px;}

@media (max-width:920px){.hero .wrap{grid-template-columns:1fr;}}

.sec-head{max-width:680px; margin-bottom:44px;}

.sec-sub{color:var(--ink-soft); font-size:16px;}

.values{background:var(--paper-deep);}

.value-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}

.value-card{background:var(--card); padding:28px 24px;}

.value-card .num{font-family:var(--mono); font-size:12px; color:var(--ink-soft); display:block; margin-bottom:14px;}

.value-card h3{font-family:var(--display); font-size:18px; font-weight:600; margin:0 0 8px;}

.value-card p{font-size:14px; color:var(--ink-soft); margin:0;}

@media (max-width:920px){.value-grid{grid-template-columns:1fr 1fr;}}

@media (max-width:600px){.value-grid{grid-template-columns:1fr;}}

.kurs{background:var(--paper); border-top:2px solid var(--ink); border-bottom:2px solid var(--ink);}

.kurs-intro{padding:64px 0 20px;}

.kurs-intro p{font-size:16.5px; color:var(--ink-soft); max-width:720px;}

article.lek:last-child{border-bottom:none;}

h3.lek-title{font-family:var(--display); font-weight:600; font-size:clamp(21px,2.2vw,26px); margin:0; letter-spacing:-0.005em;}

.lek-body img{margin:22px 0; border:1px solid var(--line); border-radius:3px;}

.callout.example{background:rgba(156,122,30,0.09); border-left:3px solid var(--gold);}

.callout.example .lbl{color:var(--gold);}

.lessons .wrap{max-width:980px;}

.lrow .ldesc{font-size:12.5px; color:var(--ink-soft); font-weight:400; display:block; margin-top:2px;}

.lrow .ltag{font-family:var(--mono); font-size:11px; color:var(--ink-soft); text-align:right; text-transform:uppercase; letter-spacing:0.04em;}

@media (max-width:640px){.lrow{grid-template-columns:50px 1fr 20px;} .lrow .ltag{display:none;}}

.tools{background:var(--ink); color:var(--paper);}

.tools .sec-title, .tools .sec-eyebrow{color:var(--paper);}

.tools .sec-sub{color:rgba(233,239,230,0.72);}

.tool-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}

.tool-card .btn-ghost{border-color:rgba(233,239,230,0.5); color:var(--paper);}

.tool-card .btn-ghost:hover{background:var(--paper); color:var(--ink);}

@media (max-width:760px){.tool-grid{grid-template-columns:1fr;}}

.credibility .wrap{display:grid; grid-template-columns:190px 1fr; gap:42px; align-items:start;}

.cred-photo{width:170px; height:170px; border-radius:4px; overflow:hidden; border:1.5px solid var(--ink); box-shadow:6px 6px 0 rgba(22,35,61,0.9);}

.cred-photo img{width:100%; height:100%; object-fit:cover;}

blockquote{font-family:var(--display); font-size:21px; font-weight:500; line-height:1.4; margin:0 0 16px; color:var(--ink);}

.cred-name{font-weight:700; font-size:14.5px;}

.cred-role{color:var(--ink-soft); font-size:13px;}

.cred-links{margin-top:12px; display:flex; gap:16px; font-size:13px;}

.cred-links a{color:var(--forest-deep); font-weight:600; border-bottom:1px solid var(--forest);}

@media (max-width:700px){.credibility .wrap{grid-template-columns:1fr;}}

.partners{background:var(--paper-deep);}

.partner-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}

.partner-card{background:var(--card); border:1px solid var(--line); border-radius:4px; padding:24px;}

.partner-card .tag{font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--gold); font-weight:600; display:block; margin-bottom:9px;}

.partner-card h3{font-family:var(--display); font-size:17px; margin:0 0 8px; font-weight:600;}

.partner-card p{font-size:13px; color:var(--ink-soft); margin:0 0 16px;}

.partner-card a.link{font-size:13px; font-weight:600; color:var(--forest-deep); border-bottom:1.5px solid var(--forest);}

@media (max-width:860px){.partner-grid{grid-template-columns:1fr;}}

.search-box{position:relative; margin-bottom:22px;}

.search-box input{
    width:100%; padding:16px 20px; font-size:16px; font-family:var(--body);
    border:1.5px solid var(--ink); border-radius:4px; background:var(--card); color:var(--ink);
    box-shadow:4px 4px 0 rgba(22,35,61,0.9);
  }

.search-box input:focus{outline:none; border-color:var(--forest);}

.search-box input::placeholder{color:var(--ink-soft);}

.letter-nav{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:24px;}

.letter-btn{
    font-family:var(--mono); font-size:13px; font-weight:600; width:32px; height:32px;
    display:flex; align-items:center; justify-content:center; border:1px solid var(--line);
    border-radius:3px; background:var(--card); color:var(--ink-soft); cursor:pointer; transition:all .15s;
  }

.letter-btn:hover{border-color:var(--forest); color:var(--forest-deep);}

.letter-btn.active{background:var(--ink); color:var(--paper); border-color:var(--ink);}

.letter-btn.disabled{opacity:0.3; cursor:default;}

.result-count{font-family:var(--mono); font-size:13px; color:var(--ink-soft); margin-bottom:16px;}

.entry-card{border:1px solid var(--line); border-radius:4px; margin-bottom:10px; overflow:hidden; background:var(--card);}

.entry-main{display:grid; grid-template-columns:1fr 90px 90px; align-items:center; padding:14px 18px; gap:10px;}

.entry-name{font-family:var(--display); font-weight:600; font-size:15.5px;}

.entry-code{font-family:var(--mono); font-size:13px; text-align:center; color:var(--ink-soft);}

.entry-code-head{font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft); text-align:center; display:block; margin-bottom:2px;}

.entry-sub{border-top:1px dashed var(--line); padding:0 18px;}

.entry-sub-row{display:grid; grid-template-columns:1fr 90px 90px; align-items:center; padding:9px 0; gap:10px; border-bottom:1px dashed var(--line); font-size:13.5px;}

.entry-sub-row:last-child{border-bottom:none;}

.entry-sub-row .lbl-text{color:var(--ink-soft); padding-left:14px;}

.entry-sub-row .num{font-family:var(--mono); font-size:13px; text-align:center; color:var(--forest-deep);}

.no-results{padding:40px 20px; text-align:center; color:var(--ink-soft); font-size:15px;}

@media (max-width:600px){
    .entry-main, .entry-sub-row{grid-template-columns:1fr 60px 60px;}
  }
