/* Springer Advisory — site styles. Same token system as before. */
:root{
  --paper:#F4F4F1; --paper-2:#E9E9E4; --ink:#1B1C1B; --muted:#5A5D5C;
  --pine:#1F4E46; --pine-deep:#143A33; --pine-lift:#4E9184;
  --brass:#8A6A28; --sage:#C6D2CF; --rag-red:#9A3B2C;
  --rule:#DCDCD6; --rule-2:#C8C8C1; --numeral:#868A88;
  --on-dark:rgba(244,244,241,.88); --rule-dark:rgba(244,244,241,.22);
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --t-label:12px; --t-small:15px; --t-body:17px; --t-lede:21px;
  --t-h4:24px; --t-h3:28px; --t-numeral:40px;
  --t-h2:clamp(30px,4.4vw,44px); --t-h1:clamp(40px,6.6vw,74px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:var(--t-body);line-height:1.62;-webkit-font-smoothing:antialiased}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
a{color:var(--pine);text-decoration:none}
a:hover{color:var(--pine-deep)}
:focus-visible{outline:2px solid var(--pine);outline-offset:3px}
.hero-dark :focus-visible,.dark :focus-visible,
.ai-band :focus-visible,.spine :focus-visible{outline-color:var(--sage)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:32px;top:12px;position:fixed;z-index:99;background:var(--pine);
  color:var(--paper);padding:12px 18px}
.eyebrow{font-size:var(--t-label);font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:var(--brass)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:300;letter-spacing:-.02em;text-wrap:balance}
h2{font-size:var(--t-h2);line-height:1.1;margin-top:16px;max-width:17em}
h2 i,h1 i{font-style:italic;color:var(--pine)}
.lede{font-size:var(--t-lede);font-family:var(--serif);font-weight:300;
  line-height:1.5;color:var(--muted);margin-top:22px;max-width:38em;text-wrap:pretty}
.section{padding:112px 0}
.section-sm{padding:88px 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- header ---------- */
header.top{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--rule);
  background:rgba(244,244,241,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:background .4s ease,border-color .4s ease}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;padding-block:20px}
.brand{font-size:var(--t-label);font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink);min-height:44px;display:flex;align-items:center}
.nav ul{display:flex;gap:4px;list-style:none;flex-wrap:wrap}
.nav ul a{display:flex;align-items:center;min-height:44px;padding:0 14px;
  font-size:var(--t-label);font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted)}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--pine)}
.nav .lang-on{color:var(--ink)}
header.top.over-hero{background:rgba(20,58,51,.86);border-bottom-color:var(--rule-dark)}
header.top.over-hero .brand{color:var(--paper)}
header.top.over-hero .nav ul a{color:var(--sage)}
header.top.over-hero .nav ul a:hover{color:var(--paper)}
header.top.over-hero .nav .lang-on{color:var(--paper)}
main[id],section[id],div[id]{scroll-margin-top:84px}

/* ---------- hero ---------- */
.hero-dark{position:relative;background:var(--pine-deep);color:var(--paper)}
.hero-top{position:relative;overflow:hidden}
.hero-glow{position:absolute;top:-260px;left:-160px;width:900px;height:900px;pointer-events:none;
  background:radial-gradient(circle at center,rgba(78,145,132,.34),rgba(78,145,132,0) 68%);
  animation:drift 22s ease-in-out infinite alternate;
  transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.hero-inner{position:relative;padding-block:104px 76px;min-height:520px}
.hero-inner .eyebrow{color:var(--sage);animation:up .8s cubic-bezier(.2,.7,.3,1) both}
.hero-rule{height:1px;width:180px;background:var(--brass);margin-top:22px;
  transform-origin:left;animation:line 1s cubic-bezier(.2,.7,.3,1) .25s both}
.hero-inner h1{font-size:var(--t-h1);line-height:1.02;margin-top:30px;max-width:11em;color:var(--paper)}
.hero-inner h1 span.m{display:block;overflow:hidden}
.hero-inner h1 span.m>span{display:block;animation:mask 1s cubic-bezier(.2,.7,.3,1) both}
.hero-inner h1 span.m:nth-child(2)>span{animation-delay:.12s}
.hero-inner h1 span.m:nth-child(3)>span{animation-delay:.32s;font-style:italic;color:var(--sage)}
.hero-inner .lede{color:var(--sage);max-width:26em;animation:up .9s cubic-bezier(.2,.7,.3,1) .6s both}
.cta{display:inline-flex;align-items:center;gap:12px;min-height:52px;
  margin-top:38px;padding:0 28px;background:var(--pine);color:var(--paper);
  font-size:var(--t-small);font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.cta:hover{background:var(--pine-deep);color:var(--paper)}
.cta svg{width:16px;height:16px;flex:none}
.cta-light{background:var(--paper);color:var(--pine-deep);animation:up .9s cubic-bezier(.2,.7,.3,1) .7s both}
.cta-light:hover{background:var(--sage);color:var(--pine-deep)}
@keyframes drift{from{transform:translate3d(-5%,-3%,0) scale(1)}to{transform:translate3d(7%,5%,0) scale(1.15)}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes mask{from{opacity:0;transform:translateY(108%)}to{opacity:1;transform:translateY(0)}}
@keyframes line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
  .hero-glow,.hero-inner .eyebrow,.hero-rule,
  .hero-inner h1 span.m>span,.hero-inner .lede,.cta-light{animation:none!important}
}

/* ---------- services register ---------- */
.reg{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);margin-top:52px;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.reg-tabs{display:flex;flex-direction:column;border-right:1px solid var(--rule)}
.reg-tab{display:grid;grid-template-columns:52px 1fr;gap:0 18px;align-items:center;
  text-align:left;padding:22px 24px 22px 0;border:0;border-bottom:1px solid var(--rule);
  background:transparent;cursor:pointer;font:inherit}
.reg-tab .n{font-family:var(--serif);font-weight:300;font-size:var(--t-h3);line-height:1;color:var(--numeral)}
.reg-tab .t{font-family:var(--serif);font-weight:300;font-size:var(--t-h4);line-height:1.2;
  letter-spacing:-.01em;color:var(--muted)}
.reg-tab:hover .t{color:var(--ink)}
.reg-tab[aria-selected="true"]{background:var(--paper-2)}
.reg-tab[aria-selected="true"] .n{color:var(--brass)}
.reg-tab[aria-selected="true"] .t{color:var(--ink)}
.reg-panel{padding:34px 0 40px 40px}
.reg-panel[hidden]{display:none}
.kicker{font-size:var(--t-label);font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--brass)}
.panel-lede{font-family:var(--serif);font-weight:300;font-size:var(--t-h3);line-height:1.25;
  margin-top:14px;max-width:24em;text-wrap:pretty}
.gets{display:grid;gap:1px;background:var(--rule);margin-top:28px;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.get{background:var(--paper);display:grid;grid-template-columns:120px 1fr;gap:20px;padding:14px 0}
.get b{font-size:var(--t-label);font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted)}
.get span{font-size:var(--t-small);line-height:1.55}
.proof{font-size:var(--t-small);color:var(--muted);margin-top:22px;line-height:1.6;max-width:44em}
.vendor{margin-top:26px;font-size:var(--t-small);color:var(--muted);max-width:46em}

.fwnote{margin-top:26px;font-size:var(--t-small);line-height:1.6;color:var(--muted);max-width:60em}
.fwnote b{color:var(--ink);font-weight:500}

/* ---------- approach: artefact ---------- */
.artefact{margin-top:44px;border:1px solid var(--rule);background:var(--paper)}
.art-head{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  padding:18px 22px;border-bottom:1px solid var(--rule);background:var(--paper-2)}
.art-head .ti{font-family:var(--serif);font-weight:300;font-size:var(--t-h4);line-height:1.2;margin-top:6px}
.prin{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);
  margin-top:56px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.prin>div{background:var(--paper);padding:26px 26px 30px}
.prin .n{font-size:var(--t-label);font-weight:500;letter-spacing:.16em;color:var(--brass)}
.prin h3{font-size:var(--t-h4);font-weight:300;line-height:1.18;margin-top:12px}
.prin p{font-size:var(--t-small);line-height:1.6;color:var(--muted);margin-top:12px}

/* ---------- track record (dark) ---------- */
.dark{background:var(--pine-deep);color:var(--paper)}
.dark .eyebrow{color:var(--sage)}
.dark h2{color:var(--paper)}
.dark h2 i{color:var(--sage)}
.reffilters{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.chip-d{min-height:44px;padding:0 16px;font:inherit;font-size:var(--t-label);font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(244,244,241,.32);
  background:transparent;color:var(--sage);cursor:pointer;white-space:nowrap}
.chip-d:hover{color:var(--paper);border-color:var(--paper)}
.chip-d[aria-pressed="true"]{background:var(--paper);border-color:var(--paper);color:var(--pine-deep)}
.reflist{margin-top:44px;border-top:1px solid var(--rule-dark)}
.refitem{border-bottom:1px solid var(--rule-dark)}
.refitem[hidden]{display:none}
.refrow{width:100%;display:grid;grid-template-columns:56px 1fr auto 28px;gap:24px;
  align-items:center;text-align:left;padding:22px 0;border:0;background:transparent;cursor:pointer;font:inherit}
.refrow .n{font-family:var(--serif);font-weight:300;font-size:var(--t-h4);line-height:1;color:var(--sage)}
.refrow .ti{display:block;font-size:var(--t-body);font-weight:500;line-height:1.4;color:var(--paper)}
.refrow .fd{display:block;font-size:var(--t-label);font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sage);margin-top:6px}
.refrow .me{font-size:var(--t-label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sage);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.refrow .mk{font-size:var(--t-body);color:var(--brass);text-align:right}
.dark .refrow .mk{color:#C79A3C} /* brass-light on ground, 4.82:1 */
.refdetail{padding:0 0 24px 80px;animation:fade .3s ease both}
.refdetail[hidden]{display:none}
.refdetail p{font-size:var(--t-small);line-height:1.65;color:var(--sage);max-width:58em}
.refsnote{font-size:var(--t-small);color:var(--sage);margin-top:32px}

/* ---------- profile ---------- */
.pgrid{display:grid;grid-template-columns:auto 1fr;gap:64px;align-items:start;margin-top:44px}
.portrait{width:180px;height:180px;object-fit:cover;filter:grayscale(100%) contrast(1.05)}
.pgrid h2{margin-top:0}
.pgrid .prose{margin-top:28px;max-width:58em}
.pgrid .prose p{font-size:var(--t-body);color:var(--muted);line-height:1.68;text-wrap:pretty}
.pgrid .prose p+p{margin-top:20px}
.cv{border-top:1px solid var(--rule);margin-top:56px}
.cvrow{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.6fr) 116px;
  gap:10px 32px;padding:15px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.cvrow .r{font-size:var(--t-small);font-weight:500;color:var(--ink);text-wrap:pretty}
.cvrow .m{font-size:var(--t-small);color:var(--muted);text-wrap:pretty}
.cvrow .y{font-size:var(--t-small);color:var(--muted);text-align:right;
  white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- contact + footer ---------- */
.contact{display:flex;gap:56px;flex-wrap:wrap;align-items:flex-start;
  justify-content:space-between;margin-top:36px}
.contact h2{margin-top:0}
.clinks{display:flex;flex-direction:column;gap:4px}
.clinks a,.clinks span{display:flex;align-items:center;min-height:44px;
  font-size:var(--t-small);color:var(--muted)}
.clinks a{color:var(--pine);font-weight:500}
footer{border-top:1px solid var(--rule);padding:28px 0 40px;margin-top:24px}
.frow{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.frow span,.frow a{font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
footer details{margin-top:22px;max-width:76ch;border-top:1px solid var(--rule)}
footer summary{cursor:pointer;min-height:44px;display:flex;align-items:center;
  font-size:var(--t-label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);list-style:none}
footer summary::-webkit-details-marker{display:none}
footer summary::after{content:'+';margin-left:10px;font-size:14px;color:var(--brass)}
footer details[open] summary::after{content:'\2212'}
footer summary:hover{color:var(--pine)}
footer .legal{padding-bottom:22px;font-size:var(--t-small);color:var(--muted);line-height:1.7}
footer .legal p{margin-top:10px;max-width:76ch}
footer .legal p:first-child{margin-top:0}
footer .legal h4{font-size:var(--t-small);font-weight:500;color:var(--ink);margin-top:16px}

/* ---------- scroll progress + reveal ---------- */
.progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--brass);
  transform:scaleX(0);transform-origin:left;z-index:30}
@media (prefers-reduced-motion: no-preference){
  body.js [data-reveal]{opacity:0;transform:translateY(16px);
    transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
  body.js [data-reveal].in{opacity:1;transform:none}
}

/* ---------- breakpoints ---------- */
@media(max-width:980px){
  .hero-inner{padding-block:88px 64px;min-height:440px}
  .hero-inner h1{max-width:14em}
  .reg{grid-template-columns:1fr}
  .reg-tabs{border-right:0}
  .reg-panel{grid-template-columns:1fr;padding:30px 0 34px}
  .prin{grid-template-columns:repeat(2,1fr)}
  .refrow{grid-template-columns:44px 1fr auto 28px;gap:16px}
}
@media(max-width:680px){
  .wrap{padding:0 20px}
  .nav ul li{display:none}
  .nav ul li.nav-keep{display:block}
  .section{padding:72px 0}
  .hero-inner{padding-block:64px 48px;min-height:0}
  .prin{grid-template-columns:1fr}
  .get{grid-template-columns:1fr;gap:4px}
  .refrow{grid-template-columns:1fr 28px;gap:10px 16px}
  .refrow .n{display:none}
  .refrow .body{grid-column:1;grid-row:1}
  .refrow .me{grid-column:1;grid-row:2;text-align:left}
  .refrow .mk{grid-column:2;grid-row:1}
  .refdetail{padding-left:0}
  .pgrid{grid-template-columns:1fr;gap:28px}
  .cvrow{grid-template-columns:1fr;gap:2px}
  .cvrow .y,.cvrow .m{text-align:left}
}

/* ---------- maturity framework (three stages) ---------- */
.hgrid{display:grid;gap:1px;background:var(--rule);margin-top:48px;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.hgrid>*{background:var(--paper);padding:30px 30px 34px}
.g3{grid-template-columns:repeat(3,1fr)}
.hgrid h3{font-size:var(--t-h3);font-weight:300;line-height:1.18;margin-top:14px;letter-spacing:-.01em}
.mark{display:block;width:100%;height:auto;margin-bottom:18px}
.mark .node{fill:var(--numeral)}
.mark .built,.mark .tool{fill:var(--pine)}
.mark .link{stroke:var(--rule-2);stroke-width:.7;fill:none}
.mark .link.dash{stroke-dasharray:2 2.4}
.lvl{font-size:var(--t-label);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.rows{margin-top:20px}
.row{border-top:1px solid var(--rule);padding:11px 0}
.row:first-child{border-top:0;padding-top:0}
.rk{font-size:var(--t-label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.rv{font-size:var(--t-small);line-height:1.55;margin-top:5px;color:var(--ink)}
.rv.dim{color:var(--muted)}
.rv b{font-weight:500}
.spine{background:var(--pine);color:var(--paper);padding:34px 36px;margin-top:36px}
.spine .k{font-size:var(--t-label);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.spine .t{font-family:var(--serif);font-weight:300;font-size:var(--t-h3);line-height:1.16;
  margin-top:10px;color:var(--paper);max-width:22em}
.spine3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-dark);
  margin-top:28px;border-top:1px solid var(--rule-dark)}
.sp{background:var(--pine);padding:20px 18px}
.sp .k2{font-size:var(--t-label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.sp .v2{font-size:var(--t-small);line-height:1.55;margin-top:7px;color:var(--on-dark)}
.spine5{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule-dark);
  margin-top:28px;border-top:1px solid var(--rule-dark)}
.rail{display:flex;align-items:center;gap:18px;margin-top:30px;flex-wrap:wrap}
.rail .cap{font-size:var(--t-label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rail .cap.on{color:var(--pine)}
.rail .ln{flex:1;min-width:80px;height:3px;
  background:linear-gradient(90deg,var(--rule-2) 0%,var(--pine-lift) 55%,var(--pine) 100%)}
@media(max-width:980px){
  .g3{grid-template-columns:repeat(2,1fr)}
  .spine3,.spine5{grid-template-columns:1fr}
}
@media(max-width:680px){
  .g3{grid-template-columns:1fr}
  .spine{padding:28px 22px}
}

/* ---------- hero: stations spine ---------- */
.hero-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:center}
.hspine .sts{position:relative}
.hspine .rail-line{position:absolute;left:7px;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg,rgba(244,244,241,0),rgba(244,244,241,.3) 12%,rgba(244,244,241,.3) 88%,rgba(244,244,241,0))}
.hspine .st{position:relative;display:grid;grid-template-columns:14px 1fr;gap:0 16px;align-items:center;
  padding:9px 0;color:rgba(198,210,207,.72)}
.hspine .st i{justify-self:center;width:5px;height:5px;background:currentColor}
.hspine .st span{font-size:var(--t-label);font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.hspine .cap{font-size:var(--t-label);font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--sage);margin-bottom:14px}
@media (prefers-reduced-motion: no-preference){
  .hspine .st{animation:station 7.2s steps(1,end) infinite}
  .hspine .st:nth-child(2){animation-delay:0s}
  .hspine .st:nth-child(3){animation-delay:1.2s}
  .hspine .st:nth-child(4){animation-delay:2.4s}
  .hspine .st:nth-child(5){animation-delay:3.6s}
  .hspine .st:nth-child(6){animation-delay:4.8s}
  .hspine .st:nth-child(7){animation-delay:6s}
}
@keyframes station{0%,15%{color:#F4F4F1}16%,100%{color:rgba(198,210,207,.72)}}

/* ---------- matrix (Einordnung) ---------- */
.mxwrap{margin-top:52px;overflow-x:auto}
.mx{display:grid;grid-template-columns:224px repeat(3,minmax(210px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);min-width:940px}
.mx>*{background:var(--paper);padding:16px 20px 18px 18px}
.mx .corner{background:var(--paper-2)}
.mx .ch,.mx .rh{background:var(--paper-2)}
.mx .n{font-size:var(--t-label);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.mx .t{font-family:var(--serif);font-weight:300;font-size:var(--t-h4);line-height:1.2;margin-top:6px;hyphens:auto}
.mx .cell .lab{font-size:var(--t-body);font-weight:500;line-height:1.35}
.mx .cell .d{font-size:var(--t-small);color:var(--muted);line-height:1.55;margin-top:8px}
.mx .cell .eff{display:flex;align-items:center;gap:9px;margin-top:14px}
.mx .dots{display:flex;gap:4px}
.mx .dots i{display:block;width:6px;height:6px;background:var(--rule-2)}
.mx .dots i.on{background:var(--pine)}
.mx .el{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.axcap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:14px}
.axcap span{font-size:var(--t-label);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mx .cell::before{content:attr(data-col);display:none;font-size:10px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:4px}
.ask{font-family:var(--serif);font-size:var(--t-h4);font-weight:300;color:var(--pine);margin-top:24px;display:block}

/* ---------- principle icons ---------- */
.ic{display:block;width:34px;height:34px;margin-bottom:16px}
.ic .g{fill:none;stroke:var(--rule-2);stroke-width:1.3;stroke-linecap:round}
.ic .gf{fill:var(--numeral)}
.ic .p{fill:var(--pine)}
.ic .pl{fill:none;stroke:var(--pine);stroke-width:1.7;stroke-linecap:round}
.close{margin-top:56px;padding-top:30px;border-top:1px solid var(--rule-2);
  display:flex;gap:48px;align-items:baseline;flex-wrap:wrap;justify-content:space-between}
.close p{font-size:var(--t-small);color:var(--muted);max-width:38em}
.close .ctat{font-family:var(--serif);font-size:var(--t-h4);font-weight:300;color:var(--pine)}
a.ctat:hover{color:var(--pine-deep)}

@media(max-width:980px){
  .hero-cols{grid-template-columns:1fr;gap:36px}
  .mx{grid-template-columns:200px repeat(3,minmax(180px,1fr))}
  .mx .t{font-size:var(--t-lede)}
}
@media(max-width:680px){
  .close{gap:20px}
}

/* ---------- AI band (services) ---------- */
.ai-band{background:var(--pine);color:var(--paper);padding:34px 36px 38px;margin-top:44px}
.ai-band .k{font-size:var(--t-label);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.ai-band .t{font-family:var(--serif);font-weight:300;font-size:var(--t-h3);line-height:1.16;margin-top:10px;color:var(--paper);max-width:30em;text-wrap:pretty}
.ai4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule-dark);margin-top:28px;border-top:1px solid var(--rule-dark)}
.ai-band .bridge{font-size:var(--t-small);line-height:1.6;color:var(--on-dark);margin-top:26px;padding-top:20px;border-top:1px solid var(--rule-dark);max-width:60em}
.ai-band .bridge a{color:var(--paper);text-decoration:underline;text-underline-offset:3px}
.ai-band .bridge a:hover{color:var(--sage)}

/* ---------- handover list (Vorgehen) ---------- */
.ho{display:grid;grid-template-columns:22px minmax(0,.85fr) minmax(0,1.5fr);gap:0 24px;align-items:start;padding:16px 22px;border-bottom:1px solid var(--rule)}
.ho:last-child{border-bottom:0}
.ho .sq{width:8px;height:8px;background:var(--pine);margin-top:8px}
.ho .it{font-size:var(--t-body);font-weight:500;color:var(--ink);line-height:1.45}
.ho .d{font-size:var(--t-small);color:var(--muted);line-height:1.55}

/* ---------- track record: provenance tag ---------- */
.refrow .prov{display:inline-block;margin-top:8px;padding:3px 9px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);border:1px solid rgba(244,244,241,.32)}

@media(max-width:980px){
  .ai4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .ai4{grid-template-columns:1fr}
  .ai-band{padding:28px 22px 30px}
  .reg-tab{padding:16px 16px 16px 0;grid-template-columns:40px 1fr}
  .reg-tab .t{font-size:var(--t-lede)}
  .ho{grid-template-columns:16px 1fr;gap:2px 14px}
  .ho .d{grid-column:2}
  .mxwrap{overflow-x:visible}
  .mx{display:block;min-width:0;border:0;background:none}
  .mx .corner,.mx .ch{display:none}
  .mx>*{padding:14px 0;background:none}
  .mx .rh{border-top:2px solid var(--pine);padding-top:16px;margin-top:8px}
  .mx .cell{border-top:1px solid var(--rule)}
  .mx .cell::before{display:block}
  .axcap span:last-child{display:none}
}

/* ---------- print ---------- */
@media print{
  header.top,.progress,.skip,.hero-glow,.cta,.reffilters{display:none!important}
  body{background:#fff;color:#000}
  body.js [data-reveal]{opacity:1!important;transform:none!important}
  .hero-dark,.dark,.spine,.sp,.spine3,.ai-band,.ai4,.reg-tab[aria-selected="true"],.art-head{background:#fff!important;color:#000!important}
  .hero-dark *,.dark *,.spine *,.ai-band *{color:#000!important}
  .hspine .st{color:#333!important}
  .reg-panel[hidden]{display:grid!important}
  .refdetail[hidden]{display:block!important}
  .refitem[hidden]{display:block!important}
  .section{padding:48px 0}
  .section-sm{padding:40px 0}
  .mx{min-width:0}
  a{color:#000}
}
