@import url('../assets/fonts/fonts.css');

:root{
  --navy-950:#0B1E33;
  --navy-800:#132C48;
  --navy-700:#1B3A5C;
  --navy-600:#2C5479;
  --brass:#A6812E;
  --brass-light:#C9A24A;
  --paper:#F5F3EE;
  --paper-dim:#EBE8E0;
  --ink:#1B2430;
  --ink-soft:#4C5566;
  --line:#D3D0C7;
  --line-dark:rgba(255,255,255,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'IBM Plex Sans',sans-serif}
a{color:inherit}
h1,h2,h3{font-family:'Spectral',serif;line-height:1.18;margin:0;color:var(--navy-950)}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:.05em}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px}

header{position:sticky;top:0;z-index:20;background:var(--navy-950);border-bottom:1px solid var(--line-dark)}
.nav-row{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--paper)}
.brand-mark{width:52px;height:52px;border:1px solid var(--brass-light);display:grid;place-items:center;color:var(--brass-light);font-size:13px}
.brand-name{font-family:'Spectral',serif;font-size:17px}
.back{color:#C4CDD8;text-decoration:none;font-size:14px;border-bottom:1px solid transparent;padding:8px 0}
.back:hover,.back:focus-visible{color:var(--brass-light);border-color:var(--brass-light)}

.hero{color:var(--paper);background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(255,255,255,.035) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.035) 39px 40px),linear-gradient(180deg,var(--navy-950),var(--navy-800));padding:88px 0 0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:70px;align-items:start}
.eyebrow{display:flex;align-items:center;gap:11px;color:var(--brass-light);font:12px 'IBM Plex Mono',monospace;letter-spacing:.17em;text-transform:uppercase;margin-bottom:18px}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor}
.hero h1{color:var(--paper);font-size:46px;max-width:15ch}
.hero-lede{font-size:18px;max-width:60ch;color:#CDD5DF;margin:22px 0 0}
.audience-nav{border:1px solid var(--line-dark);background:rgba(255,255,255,.025)}
.audience-nav .label{padding:14px 20px 8px;color:#8391A3;text-transform:uppercase;font-size:10px}
.audience-nav a{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;color:var(--paper);text-decoration:none;border-top:1px solid var(--line-dark);font-size:14px}
.audience-nav a::after{content:"↓";color:var(--brass-light)}
.audience-nav a:hover{background:rgba(255,255,255,.055);color:var(--brass-light)}
.titleblock{margin-top:72px;border-top:1px solid var(--line-dark);display:grid;grid-template-columns:repeat(4,1fr)}
.titleblock div{padding:15px 18px 19px;border-right:1px solid var(--line-dark)}
.titleblock div:last-child{border-right:0}
.tb-label{text-transform:uppercase;color:#8391A3;font-size:10px;margin-bottom:5px}
.tb-value{font-size:13px;color:var(--paper)}

.audience{padding:96px 0;scroll-margin-top:88px}
.section-head{display:grid;grid-template-columns:180px 1fr;gap:38px;margin-bottom:46px}
.section-code{color:var(--brass);font-size:12px;padding-top:9px;text-transform:uppercase}
.section-head h2{font-size:34px;margin-bottom:14px}
.section-head p{color:var(--ink-soft);max-width:66ch;margin:0;font-size:16px}
.manager{background:var(--paper)}
.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--line);gap:1px}
.decision-card{background:#FBFAF7;padding:30px;min-height:220px}
.decision-card .card-label{font-size:10px;color:var(--brass);text-transform:uppercase;margin-bottom:22px}
.decision-card h3{font-size:20px;margin-bottom:12px}
.decision-card p{color:var(--ink-soft);font-size:14.5px;margin:0}
a.decision-card{position:relative;padding-bottom:68px;text-decoration:none;color:inherit;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
a.decision-card:hover{background:#fff;transform:translateY(-3px);z-index:2;box-shadow:0 12px 30px rgba(11,30,51,.12)}
a.decision-card:focus-visible,a.expose-row:focus-visible{outline:3px solid var(--brass-light);outline-offset:-3px}
.open-detail{display:block;margin-top:18px;color:var(--navy-600);font-size:10.5px;text-transform:uppercase}
a.decision-card .open-detail{position:absolute;left:30px;bottom:25px}
.open-detail::after{content:" →";color:var(--brass)}
.management-answer{margin-top:34px;background:var(--navy-950);color:var(--paper);display:grid;grid-template-columns:180px 1fr;gap:38px;padding:34px 38px}
.management-answer .label{color:var(--brass-light);font-size:11px;text-transform:uppercase}
.management-answer p{font-family:'Spectral',serif;font-size:22px;line-height:1.42;margin:0;color:var(--paper)}

.technical{background:var(--paper-dim)}
.expose{border-top:1px solid var(--line)}
.expose-row{display:grid;grid-template-columns:180px 1fr;gap:38px;padding:33px 0;border-bottom:1px solid var(--line)}
.expose-row .index{color:var(--brass);font-size:12px}
.expose-row h3{font-size:21px;margin-bottom:10px}
.expose-row p{margin:0;color:var(--ink-soft);max-width:75ch}
a.expose-row{text-decoration:none;color:inherit;transition:background .18s ease,padding .18s ease}
a.expose-row:hover{background:rgba(255,255,255,.55);padding-left:18px;padding-right:18px}
a.expose-row:hover h3{color:var(--brass)}
.evidence{margin-top:44px;border-left:4px solid var(--brass);background:var(--paper);padding:26px 30px}
.evidence h3{font-size:19px;margin-bottom:8px}
.evidence p{margin:0;color:var(--ink-soft)}

.page-nav{background:var(--navy-950);color:var(--paper)}
.page-nav-grid{display:grid;grid-template-columns:1fr 1fr}
.page-nav a{padding:34px 0;text-decoration:none;color:#C7D0DA}
.page-nav a:last-child{text-align:right}
.page-nav a:hover{color:var(--brass-light)}
.page-nav span{display:block;color:#758497;text-transform:uppercase;font-size:10px;margin-bottom:5px}
footer{background:#071625;color:#8391A3;padding:28px 0;font-size:12px}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* Vertiefungsseiten unter L01 */
.detail-hero{padding-bottom:82px}
.detail-hero h1{max-width:18ch}
.detail-main{padding:92px 0}
.detail-intro{display:grid;grid-template-columns:180px 1fr;gap:38px;margin-bottom:46px}
.detail-intro .code{color:var(--brass);font-size:12px;padding-top:8px}
.detail-intro h2{font-size:34px;margin-bottom:14px}
.detail-intro p{margin:0;color:var(--ink-soft);max-width:70ch}
.content-slots{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--line);gap:1px}
.content-slot{background:#FBFAF7;padding:30px;min-height:245px}
.content-slot .slot-label{color:var(--brass);font-size:10px;text-transform:uppercase;margin-bottom:20px}
.content-slot h3{font-size:20px;margin-bottom:12px}
.content-slot p{color:var(--ink-soft);font-size:14.5px;margin:0}
a.content-slot{position:relative;padding-bottom:70px;text-decoration:none;color:inherit;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
a.content-slot:hover{background:#fff;transform:translateY(-3px);z-index:2;box-shadow:0 12px 30px rgba(11,30,51,.12)}
a.content-slot:hover h3{color:var(--brass)}
a.content-slot:focus-visible{outline:3px solid var(--brass-light);outline-offset:-3px}
a.content-slot .open-detail{position:absolute;left:30px;bottom:25px}
.author-note{margin-top:38px;border-left:4px solid var(--brass);padding:24px 28px;background:var(--paper-dim)}
.author-note h3{font-size:18px;margin-bottom:7px}
.author-note p{margin:0;color:var(--ink-soft)}

/* Technische Langseite U01.02 */
.article-main{padding:88px 0 104px}
.article-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start}
.article-toc{position:sticky;top:112px;border-top:3px solid var(--brass);background:#FBFAF7;padding:22px 20px}
.article-toc .toc-title{color:var(--brass);font-size:10px;text-transform:uppercase;margin-bottom:14px}
.article-toc ol{list-style:none;margin:0;padding:0}
.article-toc li{border-top:1px solid var(--line)}
.article-toc li:first-child{border-top:0}
.article-toc a{display:block;padding:8px 0;text-decoration:none;color:var(--ink-soft);font-size:12px;line-height:1.35}
.article-toc a:hover,.article-toc a:focus-visible{color:var(--brass)}
.article-body{min-width:0;max-width:790px}
.article-lead{font-family:'Spectral',serif;font-size:23px;line-height:1.5;color:var(--navy-800);margin:0 0 50px}
.article-section{padding:44px 0;border-top:1px solid var(--line);scroll-margin-top:104px}
.article-section:first-of-type{padding-top:0;border-top:0}
.article-section h2{font-size:31px;margin-bottom:20px}
.article-section h3{font-size:22px;margin:30px 0 12px}
.article-section p{margin:0 0 18px;color:var(--ink-soft)}
.article-section ul,.article-section ol{margin:0 0 22px;padding-left:24px;color:var(--ink-soft)}
.article-section li{margin:7px 0}
.article-section blockquote{margin:26px 0;padding:20px 24px;border-left:4px solid var(--brass);background:#FBFAF7;color:var(--navy-800);font-family:'Spectral',serif;font-size:20px}
.article-section table{width:100%;border-collapse:collapse;margin:24px 0 28px;background:#FBFAF7;font-size:14px}
.article-section th,.article-section td{padding:14px 16px;border:1px solid var(--line);text-align:left;vertical-align:top}
.article-section th{color:var(--navy-950);background:var(--paper-dim)}
.article-section a{color:var(--navy-600);text-underline-offset:3px}
.article-section a:hover,.article-section a:focus-visible{color:var(--brass)}
.architecture-visual{margin:28px 0 32px;border:1px solid var(--line);background:var(--navy-950)}
.architecture-visual img{display:block;width:100%;height:auto}
.architecture-visual figcaption{padding:15px 18px;color:#C9D2DC;background:var(--navy-950);border-top:1px solid var(--line-dark);font-size:12.5px;line-height:1.55}
.architecture-visual figcaption strong{color:var(--brass-light)}
.architecture-diagram{margin:26px 0 30px;padding:24px;overflow-x:auto;border:1px solid var(--line);border-left:4px solid var(--brass);background:var(--navy-950);color:#D8E0E8;font:12px/1.6 'IBM Plex Mono',monospace;white-space:pre}
.article-callout{margin:28px 0;padding:22px 25px;background:var(--paper-dim);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.article-callout strong{color:var(--navy-950)}
.source-list{list-style:none;padding-left:0!important}
.source-list li{padding:15px 0;border-top:1px solid var(--line);margin:0}
.source-list li:first-child{border-top:0}

/* Kontaktseite K00 */
.contact-page{padding:92px 0;background:var(--paper-dim)}
.contact-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;margin-bottom:46px}
.contact-heading .eyebrow{color:var(--brass)}
.contact-heading h2{font-size:34px}
.contact-heading p{margin:0;color:var(--ink-soft);max-width:62ch}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.contact-info .row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.contact-info .row:first-child{padding-top:0}
.contact-info .k{width:90px;flex:none;color:var(--ink-soft);font:11.5px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.contact-info .v{font-size:15px;overflow-wrap:anywhere}
.contact-info a{color:var(--navy-600);text-underline-offset:3px}
.contact-info a:hover,.contact-info a:focus-visible{color:var(--brass)}
.contact-page form{display:grid;gap:18px}
.form-intro{margin-bottom:28px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.form-intro .eyebrow{margin-bottom:10px;color:var(--brass)}
.form-intro h3{margin:0 0 12px;font:400 25px/1.2 'Spectral',serif;color:var(--navy-900)}
.form-intro p{margin:0;color:var(--ink-soft)}
.field{display:flex;flex-direction:column;gap:8px}
.field label{color:var(--ink-soft);font:11.5px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.field input,.field textarea{border:1px solid var(--line);background:var(--paper);padding:12px 14px;color:var(--ink);font:14.5px 'IBM Plex Sans',sans-serif;outline:none}
.field input:focus,.field textarea:focus{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-button{width:fit-content;border:1px solid var(--brass);background:var(--brass);padding:14px 32px;color:var(--navy-950);font:500 14.5px 'IBM Plex Sans',sans-serif;cursor:pointer}
.contact-button:hover,.contact-button:focus-visible{background:var(--brass-light);border-color:var(--brass-light)}
.form-status{margin:14px 0 0;color:var(--ink-soft);font-size:13px}

@media(max-width:780px){
  .nav-row{height:74px}.brand-name{display:none}.back{font-size:12px}
  .hero{padding-top:62px}.hero-grid{grid-template-columns:1fr;gap:38px}.hero h1{font-size:35px}.titleblock{grid-template-columns:1fr 1fr}
  .titleblock div:nth-child(2n){border-right:0}.titleblock div:nth-child(-n+2){border-bottom:1px solid var(--line-dark)}
  .audience{padding:72px 0;scroll-margin-top:74px}.section-head,.expose-row,.management-answer{grid-template-columns:1fr;gap:14px}
  .decision-grid,.content-slots{grid-template-columns:1fr}.decision-card,.content-slot{min-height:0}.detail-intro{grid-template-columns:1fr;gap:14px}.article-layout{grid-template-columns:1fr;gap:42px}.article-toc{position:static}.article-section table{display:block;overflow-x:auto}.contact-heading,.contact-grid{grid-template-columns:1fr;gap:40px}.two-col{grid-template-columns:1fr}.page-nav-grid{grid-template-columns:1fr}.page-nav a:last-child{text-align:left;border-top:1px solid var(--line-dark)}
}

@media(max-width:480px){.wrap{padding:0 20px}.hero h1{font-size:31px}.section-head h2{font-size:29px}}
