:root{
  --bg: #faf8f5;           /* Warmer, creamy background */
  --text: #1a1612;         /* Warm dark brown */
  --muted: #6b5d4f;        /* Coffee brown */
  --line: #e8e2da;         /* Warm line color */
  --card: #ffffff;
  --brand: #0b3a6a;        /* Keep: Dark blue */
  --accent: #c9a45c;       /* New: Warm gold/copper */
  --brand-rgb: 11,58,106;
  --accent-rgb: 201,164,92;
  --accent-light: #6bd3ff; /* Secondary accent (kept) */
  --radius: 18px;
  --shadow: 0 16px 40px rgba(26,22,18,.08);
  --shadow-soft: 0 10px 26px rgba(26,22,18,.06);
}

/* Visually hidden (accessible) */
.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}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

/* Enforce HTML boolean hidden attribute (prevents stuck modals on some browsers) */
[hidden]{display:none !important}

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(1200px circle at 20% -10%, rgba(var(--accent-rgb),.12), transparent 46%),
    radial-gradient(900px circle at 90% 0%, rgba(var(--brand-rgb),.10), transparent 54%),
    linear-gradient(180deg, var(--bg) 0%, #fffcf8 45%, var(--bg) 100%);
}

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

.container{max-width:1120px;margin:0 auto;padding:0 20px}
.main{padding:28px 0 40px}

/* Consistent vertical rhythm between page sections */
.section{margin-top:26px}
.section + .section{margin-top:34px}

/* Header */
.header{
  position:sticky;top:0;z-index:10;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.header__inner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 0}

.nav-stack{display:flex;flex-direction:column;gap:10px;align-items:flex-end;flex:1}

/* Tab navigation (3 Bereiche) */
.nav-tabs{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.nav-tab{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  font-weight:900;
  font-size:16px; /* minimal größer */
  letter-spacing:.01em;
  text-decoration:none;
  border:1px solid rgba(var(--tab-brand-rgb),.22);
  background: linear-gradient(90deg,
    rgba(var(--tab-brand-rgb),.34) 0%,
    rgba(var(--tab-brand-rgb),.34) 12px,
    rgba(var(--tab-brand-rgb),.07) 12px,
    rgba(var(--tab-brand-rgb),.07) 100%
  );
  color: rgba(11,18,32,.86);
  transition: background .15s ease, transform .12s ease, box-shadow .15s ease, border-color .15s ease;
}
.nav-tab:hover{
  background: linear-gradient(90deg,
    rgba(var(--tab-brand-rgb),.42) 0%,
    rgba(var(--tab-brand-rgb),.42) 12px,
    rgba(var(--tab-brand-rgb),.12) 12px,
    rgba(var(--tab-brand-rgb),.12) 100%
  );
  text-decoration:none
}
.nav-tab.is-active{
  background: linear-gradient(90deg,
    rgba(var(--tab-brand-rgb),.52) 0%,
    rgba(var(--tab-brand-rgb),.52) 12px,
    rgba(var(--tab-brand-rgb),.18) 12px,
    rgba(var(--tab-brand-rgb),.18) 100%
  );
  border-color: rgba(var(--tab-brand-rgb),.34);
  box-shadow:0 10px 26px rgba(var(--tab-brand-rgb),.12)
}

.brand{display:flex;align-items:center;gap:12px;min-width:220px}
.brand__logo{
  height:32px;
  width:auto;
  max-width:240px;
  border-radius:12px;
  object-fit:contain;
  background: transparent;
}
.brand__name{font-weight:800;letter-spacing:.02em}

.nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.nav a{
  padding:10px 12px;
  border-radius:999px;
  color: rgba(11,18,32,.78);
  font-weight:650;
  text-decoration:none;
}

/* Submenu looks a bit tighter than tabs */
.nav.nav--sub a{padding:9px 10px;font-size:14px}

/* Slightly calmer desktop nav (reduces perceived "overload" without hiding items) */
@media (min-width: 1000px){
  .nav{gap:12px}
  .nav a{padding:9px 10px;font-size:14px}
}
.nav a:hover{background: rgba(var(--brand-rgb),.06);text-decoration:none}
.nav a.active{background: rgba(var(--brand-rgb),.10);color: var(--text)}

/* Mobile navigation dropdown (shown on small screens) */
.nav-mobile{display:none;padding:10px 0 12px}
.nav-mobile__select{width:100%;min-height:44px;font-size:16px}
.visually-hidden{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 22px;
  border-radius:999px;
  border:1px solid rgba(var(--brand-rgb),.18);
  background: var(--brand);
  color:#fff;
  font-weight:700;
  font-size:15px;
  box-shadow: var(--shadow-soft);
  text-decoration:none;
  min-height:48px;
}

/* Simple text links next to CTAs (used on home page to avoid duplicate button rows) */
.cta__links{display:inline-flex;flex-wrap:wrap;gap:10px;align-items:center;margin-left:6px}
.cta__links .dot{color: rgba(11,18,32,.45)}
.link{color: rgba(11,18,32,.78);text-decoration:none;font-weight:650}
.link:hover{text-decoration:underline}
.btn:hover{filter:brightness(1.05);text-decoration:none}
.btn--secondary{background:#fff;color:var(--text);border-color:rgba(var(--brand-rgb),.18);box-shadow:none}
.btn--ghost{background:transparent;color:var(--text);border-color:rgba(var(--brand-rgb),.12);box-shadow:none}
.btn--small{padding:10px 16px;font-size:14px;min-height:40px}
.btn--large{padding:16px 28px;font-size:16px;min-height:52px}
.btn--disabled{opacity:.65;pointer-events:none}

/* Hero */
.hero{
  border-radius: calc(var(--radius) + 10px);
  border:1px solid var(--line);
  background:
    radial-gradient(900px circle at 75% 35%, rgba(107,211,255,.20), transparent 50%),
    radial-gradient(900px circle at 20% 10%, rgba(var(--brand-rgb),.10), transparent 56%),
    linear-gradient(135deg, #ffffff 0%, #f4f8ff 100%);
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
}
.hero[style*="--hero-bg-image"]::before{
  content:"";
  position:absolute;inset:0;
  background-image: var(--hero-bg-image);
  background-size:cover;
  background-position:center;
  opacity:.14;
  filter:saturate(1.05) contrast(1.03);
}
.hero::after{
  content:"";
  position:absolute;inset:-35% -25%;
  background:
    radial-gradient(circle at 72% 44%, rgba(107,211,255,.18), transparent 55%),
    radial-gradient(circle at 28% 18%, rgba(var(--brand-rgb),.10), transparent 60%);
  pointer-events:none;
}
.hero__grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;padding:34px}
.eyebrow{margin:0 0 10px;color: rgba(11,18,32,.62);font-weight:750;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.lead{font-size:18px;line-height:1.5;margin:10px 0 0}
.muted{color:var(--muted)}
.tiny{font-size:12px;line-height:1.4}

.hero h1{margin:0;font-size:44px;line-height:1.08;letter-spacing:-.02em}

.hero__media{display:flex;align-items:center;justify-content:center}
.coverlink{display:block;max-width:340px;width:100%}
.cover{
  width:100%;
  border-radius: 14px;
  border:1px solid rgba(var(--brand-rgb),.14);
  box-shadow: 0 26px 60px rgba(2,10,30,.16);
  background:#fff;
}
.cover--hero{transform: translateY(2px)}

.cta{display:flex;gap:10px;flex-wrap:wrap}
.cta--wrap{align-items:center}

/* Home: intent strip (keep it light, coffee-forward) */
.home-intent{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-intent__item{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid rgba(var(--brand-rgb),.12);background:rgba(255,255,255,.70);border-radius:16px}
.home-intent__icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg, rgba(var(--brand-rgb),.10), rgba(107,211,255,.16));border:1px solid rgba(var(--brand-rgb),.12);font-size:16px;flex:0 0 auto}
.home-intent__title{font-weight:900;line-height:1.15;margin:0 0 2px 0;font-size:13px}
.home-intent__text{color:var(--muted);font-size:13px;line-height:1.4}
@media (max-width: 980px){
  .home-intent{grid-template-columns:1fr;}
}

.newsletter{
  margin-top:18px;
  padding:16px;
  border-radius: calc(var(--radius) + 2px);
  border:1px solid rgba(var(--brand-rgb),.12);
  background: rgba(255,255,255,.78);
}
.newsletter__label{display:block;font-weight:650;margin-bottom:10px}
.newsletter__row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.newsletter input[type="email"]{
  flex: 1 1 240px;
  padding:12px 14px;
  border-radius: 999px;
  border:1px solid var(--line);
  background:#fff;
  outline:none;
}
.newsletter input[type="email"]:focus{border-color: rgba(var(--brand-rgb),.30);box-shadow: 0 0 0 4px rgba(107,211,255,.20)}

/* Cards */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.card{
  display:block;
  padding:22px;
  border-radius: calc(var(--radius) + 4px);
  border:1px solid var(--line);
  background:#fff;
  box-shadow: 0 8px 18px rgba(2,10,30,.05);
  transition: transform .15s ease, box-shadow .15s ease;
}
.card:hover{transform: translateY(-2px);box-shadow: 0 14px 28px rgba(2,10,30,.08);text-decoration:none}
.card h2{margin:10px 0 8px;font-size:20px;letter-spacing:-.01em}
.card p{margin:0;color:var(--muted);line-height:1.55}
.card--icon{display:flex;flex-direction:column}
.card__icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  border-radius:16px;
  background: linear-gradient(135deg, rgba(var(--brand-rgb),.10), rgba(107,211,255,.16));
  border:1px solid rgba(var(--brand-rgb),.12);
}
.card__icon svg{width:24px;height:24px;stroke: var(--brand);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Split section */
.split{margin-top:22px;padding:22px;border-radius: calc(var(--radius) + 6px);border:1px dashed rgba(var(--brand-rgb),.18);background: rgba(255,255,255,.55)}
.split--compact{display:grid;grid-template-columns: 1.1fr .9fr;gap:18px}
.split h2{margin-top:0}
.disclaimer{margin-top:14px}

.authorcard{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius: calc(var(--radius) + 6px);padding:16px;box-shadow: 0 8px 18px rgba(2,10,30,.05)}
.authorcard__media{width:88px;height:88px;border-radius:22px;overflow:hidden;flex:0 0 88px;border:1px solid rgba(var(--brand-rgb),.12)}
.authorcard__media img{width:100%;height:100%;object-fit:cover}
.authorcard h3{margin:0 0 6px}

/* Forms */
input,textarea,select,button{font:inherit}
form label{display:block;margin:0 0 6px;font-weight:650}
input[type="text"],input[type="email"],textarea,select{
  width:100%;
  border:1px solid var(--line);
  border-radius: 14px;
  padding:12px 14px;
  background:#fff;
}
textarea{min-height:140px;resize:vertical}

/* Footer */
.footer{border-top:1px solid var(--line);padding:18px 0;background: rgba(255,255,255,.75)}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footer a{text-decoration:underline}

/* Tables (Admin + lists) */
table{width:100%;border-collapse:collapse}
th,td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color: rgba(11,18,32,.60)}

/* Page title hero (title-only) */
.hero__grid--simple{grid-template-columns:1fr;gap:0;padding:22px 28px}
.hero--page h1{font-size:34px;line-height:1.1}
.page-lead{margin:14px 0 0}
.page-lead + .filters{margin-top:14px}

/* Compact split for media + copy */
.split--media{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}
.card--static{cursor:default}
.card--static:hover{transform:none;box-shadow:0 8px 18px rgba(2,10,30,.05);text-decoration:none}

/* Two-column content inside a card */
.cols{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cols h3{margin:0 0 10px;font-size:16px}
.bullets{margin:0;padding-left:18px}
.bullets li{margin:6px 0}

/* Small meta line */
.meta-line{margin:12px 0 0;color:var(--muted);font-size:14px}
.meta-line a{color:inherit}

/* Lists (Tools/Blog/Gesetze) */
.list{display:grid;gap:14px;margin-top:18px}
.list__item{
  display:block;
  padding:18px 20px;
  border-radius: calc(var(--radius) + 4px);
  border:1px solid var(--line);
  background:#fff;
  box-shadow: 0 8px 18px rgba(2,10,30,.05);
  transition: transform .15s ease, box-shadow .15s ease;
  color: inherit;
  text-decoration:none;
}
.list__item:hover{transform: translateY(-2px);box-shadow: 0 14px 28px rgba(2,10,30,.08);text-decoration:none}
.list__meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.list__item h2{margin:0;font-size:18px;letter-spacing:-.01em}
.list__item p{margin:10px 0 0}
.badge{
  display:inline-flex;align-items:center;
  padding:4px 10px;border-radius:999px;
  background: rgba(var(--brand-rgb),.08);
  border:1px solid rgba(var(--brand-rgb),.14);
  font-size:12px;font-weight:750;color: rgba(11,18,32,.85);
}
.tags{font-size:12px;color: var(--muted)}

/* Tools cards */
.tool-card{
  padding:18px 20px;
  border-radius: calc(var(--radius) + 4px);
  border:1px solid var(--line);
  background:#fff;
  box-shadow: 0 8px 18px rgba(2,10,30,.05);
}
.tool-card__top{display:flex;gap:14px;align-items:flex-start}
.tool-card__logo{
  width:46px;height:46px;border-radius:12px;
  border:1px solid var(--line);
  background: rgba(var(--brand-rgb),.06);
  display:flex;align-items:center;justify-content:center;
  flex: 0 0 46px;
  overflow:hidden;
}
.tool-card__logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.tool-card__logo span{font-weight:800;color: rgba(11,18,32,.75)}
.tool-card__head{flex:1}
.tool-card__title{margin:0;font-size:18px;letter-spacing:-.01em}
.tool-card__meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px}
.tool-card__excerpt{margin:12px 0 0}
.tool-card__actions{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.tool-card__chapters{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.tool-more{margin-top:12px;padding:12px 12px;border:1px dashed var(--line);border-radius:12px;background: rgba(var(--brand-rgb),.04)}

.btn--small{padding:8px 12px;font-size:13px}

/* Laws index: internal links inside list cards */
.item-link{color:inherit;text-decoration:none}
.item-link:hover{text-decoration:underline}
.law-hits{margin-top:10px;font-size:12px;line-height:1.5}
.law-hit{color: var(--accent);text-decoration:none}
.law-hit:hover{text-decoration:underline}

/* Responsive */
@media (max-width: 980px){
  .hero__grid{grid-template-columns: 1fr;}
  .coverlink{max-width: 320px;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .split--compact{grid-template-columns:1fr;}
  .nav{gap:8px}
  .nav a{padding:9px 10px}
  .brand__name{display:none}
  .split--media{grid-template-columns:1fr;}
  .cols{grid-template-columns:1fr;}
}

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

@media (max-width: 860px){
  .nav{display:none}
  .nav-tabs{display:none}
  .nav-mobile{display:block}
  .header__inner{height:auto;padding:14px 0}
  .header{padding-bottom:0}
}


@media (max-width: 520px){
  .header__inner{height:auto;padding:12px 0;}
  .hero__grid{padding:22px}
  .hero h1{font-size:36px}
}
/* Step 1f: ensure search inputs look like other controls */
input[type="search"]{
  -webkit-appearance:none;
  appearance:none;
}

/* Step 1f: Filters as cards */
.filters-card{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 14px;
  margin: 14px 0 18px;
}
.filters-card .filters{ margin: 0; }
.filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:flex-end;
}
.filters label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  color: var(--muted);
  min-width: 220px;
  flex: 1 1 220px;
}
.filters input, .filters select{ width: 100%; }
.filters .btn{
  flex: 0 0 auto;
  height: 42px;
  padding: 10px 14px;
  margin-top: 2px;
}
@media (max-width: 860px){
  .filters label{ min-width: 100%; flex-basis:100%; }
  .filters .btn{ width: 100%; }
}

/* Step 1f: Empty states as cards */
.empty-card{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px;
  margin: 16px 0;
  color: var(--muted);
}


/* Step 2a: Structured laws (TOC + article blocks) */
.prose{line-height:1.65}
.prose p{margin:0 0 12px}
.prose p:last-child{margin-bottom:0}

/* Callouts (e.g. copyright notes, important guidance) */
.callout{
  border:1px solid var(--line);
  background: var(--card);
  border-radius: calc(var(--radius) + 4px);
  padding: 14px;
  margin: 0 0 14px;
  box-shadow: 0 8px 18px rgba(2,10,30,.04);
}
.callout strong{font-weight:700}

/* Media embedding standard (used in prose content) */
.figure{margin:0 0 14px}
.figure img{width:100%;height:auto;display:block;border-radius: calc(var(--radius) + 4px);border:1px solid var(--line);background: rgba(var(--brand-rgb),.02)}
.figcaption{font-size:13px;color:rgba(var(--brand-rgb),.72);margin-top:8px}

.embed{position:relative;width:100%;border-radius: calc(var(--radius) + 4px);overflow:hidden;border:1px solid var(--line);background:#000;margin:0}
.embed--16x9{aspect-ratio:16/9}
.embed__media{position:absolute;inset:0;width:100%;height:100%}
@supports not (aspect-ratio: 16/9){
  .embed--16x9{padding-top:56.25%}
  .embed__media{position:absolute;top:0;left:0;width:100%;height:100%}
}

.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 14px}
.media-grid .figure{margin:0}

.download-card{display:flex;gap:12px;align-items:flex-start;padding:14px 14px;border:1px solid var(--line);border-radius: calc(var(--radius) + 4px);background: rgba(var(--brand-rgb),.03);box-shadow: 0 8px 18px rgba(2,10,30,.05);margin:0 0 14px}
.download-card:hover{background: rgba(var(--accent-rgb),.06);border-color: rgba(var(--accent-rgb),.55);text-decoration:none}
.download-card__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:14px;background: rgba(var(--accent-rgb),.10);font-size:18px}
.download-card__icon svg{width:20px;height:20px;stroke: var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.download-card__body{display:flex;flex-direction:column;gap:4px}
.download-card__title{font-weight:800;letter-spacing:-.01em}
.download-card__meta{font-size:13px;color:var(--muted);font-weight:650}

.cols{display:grid;gap:16px;margin:0 0 14px}
.cols--2{grid-template-columns:repeat(2,1fr)}
@media (max-width: 820px){.cols--2{grid-template-columns:1fr}}


.law-layout{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start;margin-top:14px}
.law-aside{position:sticky;top:92px;align-self:start}
.law-toc__links{display:flex;flex-direction:column;gap:8px;max-height:70vh;overflow:auto;padding-right:6px}
.law-toc__link{padding:8px 10px;border-radius:14px;border:1px solid var(--line);background: rgba(var(--brand-rgb),.04);font-size:13px;line-height:1.35;text-decoration:none}
.law-toc__link:hover{text-decoration:none;filter:brightness(.98)}

.law-unit{scroll-margin-top:92px}
.law-unit__head{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.law-unit__title{margin:0;font-size:18px;letter-spacing:-.01em}

.law-original{margin-top:12px;border:1px solid var(--line);border-radius:16px;padding:10px 12px;background: rgba(var(--brand-rgb),.03)}
.law-original summary{cursor:pointer;font-weight:750;list-style:none}
.law-original summary::-webkit-details-marker{display:none}
.law-original summary:before{content:'▸';display:inline-block;margin-right:8px;color:rgba(11,18,32,.72)}
.law-original[open] summary:before{content:'▾'}
.law-original__body{margin-top:10px}

.law-toc--mobile{display:none}
@media (max-width: 980px){
  .law-layout{grid-template-columns:1fr}
  .law-aside{position:static;top:auto}
  .law-toc--desktop{display:none}
  .law-toc--mobile{display:block}
}


/* Step 2g: Quick tiles on laws index */
.tiles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0 18px}
.tile-card{padding:16px;border-radius:calc(var(--radius) + 4px);border:1px solid var(--line);background:#fff;box-shadow:0 8px 18px rgba(2,10,30,.04);text-decoration:none;color:inherit;display:block;transition:transform .15s ease, box-shadow .15s ease}
.tile-card:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(2,10,30,.08)}
.tile-kicker{font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.tile-title{font-weight:800;line-height:1.25}
.tile-sub{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.4}


/* Step 3a: Cookie consent banner + modal */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60}
.cookie-banner__inner{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.2) blur(10px);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);box-shadow:0 16px 36px rgba(2,10,30,.12);padding:14px}
.cookie-banner__text{max-width:720px}
.cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width: 780px){
  .cookie-banner__inner{flex-direction:column}
  .cookie-banner__actions{justify-content:flex-start}
}

.cookie-modal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:18px}
.cookie-modal__backdrop{position:absolute;inset:0;background:rgba(2,10,30,.55)}
.cookie-modal__panel{position:relative;max-width:720px;width:100%}
.cookie-modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.cookie-opt{border:1px solid var(--line);background:rgba(var(--brand-rgb),.03);border-radius:16px;padding:12px}
.cookie-opt__label{display:flex;gap:10px;align-items:flex-start;margin:0 0 6px}
.cookie-opt__label input{margin-top:3px}

html.modal-open{overflow:hidden}

/* Prose: add basic headings for long-form pages */
.prose h2{margin:18px 0 8px;font-size:20px;letter-spacing:-.01em}
.prose h3{margin:14px 0 6px;font-size:16px;letter-spacing:-.01em}
.prose ul{margin:0 0 12px 18px}
.prose li{margin:6px 0}

/* --- KI-Reifegrad --- */
.maturity { display:block; }
.maturity__header { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:12px; }
.maturity__title { font-size:22px; font-weight:700; }
.maturity__meta { color:var(--muted); font-size:14px; }
.maturity__progress { height:10px; background:var(--line); border-radius:999px; overflow:hidden; margin-bottom:16px; }
.maturity__progressBar { height:100%; background:var(--brand); transition:width .3s ease; }
.maturity__stepIndicator { font-size:13px; color:var(--muted); text-align:right; margin-top:4px; margin-bottom:12px; }
.maturity__grid { display:grid; grid-template-columns: 1.1fr 0.9fr; gap:16px; align-items:start; }
.maturity__steps { position:sticky; top:18px; }
.maturity__stepsTitle { font-weight:700; margin-bottom:10px; }
.maturity__stepList { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.maturity__stepList li { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.maturity__stepDot { width:10px; height:10px; border-radius:999px; background:var(--line); margin-top:6px; }
.maturity__stepList li.is-active { border-color:rgba(var(--brand-rgb),0.35); }
.maturity__stepList li.is-active .maturity__stepDot { background:var(--brand); }
.maturity__stepLabel { font-size:14px; line-height:1.25; }
.maturity__main { min-width:0; }
.maturity__h2 { font-size:18px; margin:0 0 8px 0; }
.maturity__help { margin-top:6px; color:var(--muted); font-size:14px; }
.maturity__answers { margin-top:14px; display:flex; flex-direction:column; gap:10px; }
.maturity__option { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line); border-radius:14px; background:#fff; cursor:pointer; }
.maturity__option input { margin-top:3px; }
.maturity__option:hover { border-color:rgba(var(--brand-rgb),0.35); }
.maturity__nav { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:14px; }
.maturity__navLeft, .maturity__navRight { display:flex; gap:10px; align-items:center; }
.maturity__error { color:#b91c1c; background:rgba(185,28,28,0.08); border:1px solid rgba(185,28,28,0.25); padding:10px 12px; border-radius:14px; margin:10px 0; }
.maturity__errorBox { color:#b91c1c; }
.maturity__scoreRow { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:10px; }
.maturity__badge { display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border-radius:999px; border:1px solid var(--line); background:#fff; font-size:13px; }
.maturity__split { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.maturity__kpi { padding:12px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.maturity__kpiTitle { font-size:13px; color:var(--muted); margin-bottom:4px; }
.maturity__kpiValue { font-size:20px; font-weight:700; }
.maturity__list { margin:8px 0 0 18px; }
.maturity__formRow { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.maturity__consent { display:flex; gap:10px; align-items:flex-start; }
.maturity__checkbox{ display:flex; gap:10px; align-items:flex-start; }
.maturity__checkbox input{ width:20px; height:20px; margin-top:2px; }
.maturity__checkbox--prominent{ padding:12px 12px; border:1px solid var(--line); border-radius:16px; background:rgba(var(--brand-rgb),0.04); }
.maturity__consentCallout{ display:flex; gap:12px; align-items:flex-start; margin-top:10px; padding:12px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(180deg,#fff 0%, rgba(var(--brand-rgb),0.03) 100%); }
.maturity__consentIcon{ width:36px; height:36px; border-radius:16px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); background:#fff; color:var(--brand); flex:0 0 auto; }
.maturity__consentBody{ flex:1 1 auto; min-width:0; }
.maturity__small { color:var(--muted); font-size:13px; }

/* Consent / checkbox layout inside the email report form */
.maturity__form { display:flex; flex-direction:column; gap:12px; }
.maturity__row label { display:block; font-weight:600; margin-bottom:6px; }
.maturity__row input { width:100%; }
.maturity__consentBox { border:1px solid var(--line); background:rgba(var(--brand-rgb),0.03); border-radius:16px; padding:12px; }

/* Full email report card */
.maturity__emailHead{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; }
.maturity__emailBadges{ display:flex; gap:8px; flex-wrap:wrap; }
.maturity__emailGrid{ display:grid; grid-template-columns: 1.2fr 0.8fr; gap:14px; align-items:start; margin-top:12px; }
.maturity__emailAside .maturity__asideCard{ border:1px solid var(--line); border-radius:18px; background:#fff; padding:12px; }
.maturity__asideTitle{ font-weight:800; margin-bottom:8px; }
.maturity__asideList{ margin:0; padding-left:18px; }
.btn--lg{ padding:14px 18px; border-radius:999px; font-weight:800; }
.maturity__consentBox--prominent{ background:linear-gradient(180deg, rgba(var(--brand-rgb),0.04) 0%, #fff 80%); }

/* Email report card */
.maturity__emailCard .card__body{ padding:18px; }
.maturity__emailHead{ display:flex; flex-wrap:wrap; gap:12px; align-items:flex-start; justify-content:space-between; margin-bottom:10px; }
.maturity__emailBadges{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.maturity__emailGrid{ display:grid; grid-template-columns: 1.1fr 0.9fr; gap:14px; align-items:start; margin-top:12px; }
.maturity__emailAside .maturity__asideCard{ border:1px solid var(--line); border-radius:18px; background:#fff; padding:14px; }
.maturity__asideTitle{ font-weight:800; margin-bottom:8px; }
.maturity__asideList{ margin:0; padding-left:18px; color:var(--text); }

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

/* Maturity page layout (overview-first, no duplication) */
.hero--maturity { padding:42px 0 26px; }
.maturityHero { display:grid; grid-template-columns:1.2fr 0.8fr; gap:18px; align-items:stretch; }
.maturityHero__copy .lead { max-width: 56ch; }
.maturityHero__badges { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 12px; }
.maturityHero__cta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:10px 0 10px; }
.maturityHero__panel { height:100%; }
.maturityPanel__title { font-weight:800; margin-bottom:10px; }
.maturityPanel__list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.maturityPanel__list li { display:flex; gap:10px; align-items:flex-start; }
.maturityPanel__links { margin-top:12px; font-size:13px; color:var(--muted); }
.maturityPanel__links a { font-weight:700; }
.maturityPanel__links .sep { margin:0 8px; opacity:.6; }

.maturityIcon { width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:14px; border:1px solid var(--line); background:#fff; color:var(--brand); flex:0 0 auto; }
.maturityWhy__steps { margin-top:12px; display:flex; flex-direction:column; gap:10px; }
.maturityWhy__step { padding:10px 12px; border:1px solid var(--line); border-radius:16px; background:#fff; }

.maturityTop3 { display:flex; flex-direction:column; gap:12px; margin-top:12px; }
.maturityTop3__item { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.maturityTop3__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }

.maturityStart__head { margin-bottom:12px; }

/* Intro */
.maturity__introGrid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; margin:12px 0 14px; }
.maturity__introItem { padding:10px 12px; border:1px solid var(--line); border-radius:16px; background:#fff; }

/* Charts / progressive enhancement */
.maturity__viz { display:grid; grid-template-columns: 0.85fr 1.15fr; gap:14px; margin:14px 0 6px; }
.maturity__vizItem { border:1px solid var(--line); border-radius:18px; background:#fff; padding:12px; }
.maturity__vizTitle { font-weight:800; margin-bottom:10px; }
.maturity__vizCanvas { display:none; height:260px; }
.maturity__viz.has-chart .maturity__vizCanvas { display:block; }
.maturity__viz.has-chart .maturity__vizFallback { display:none; }
.maturity__vizCanvas canvas { width:100% !important; height:100% !important; }
.meter { height:12px; background:var(--line); border-radius:999px; overflow:hidden; }
.meter__bar { height:100%; background:var(--brand); }
.maturity__dimRow { display:grid; grid-template-columns: 1fr 1.2fr auto; gap:10px; align-items:center; padding:8px 0; border-top:1px solid rgba(0,0,0,.06); }
.maturity__dimRow:first-child { border-top:0; padding-top:0; }
.maturity__dimName { font-size:13px; font-weight:700; }
.maturity__dimBar { height:10px; background:rgba(var(--brand-rgb),0.08); border-radius:999px; overflow:hidden; }
.maturity__dimBar span { display:block; height:100%; background:var(--brand); }
.maturity__dimPct { font-size:13px; color:var(--muted); font-weight:700; }

/* Details (native accordion) */
.details { border:1px solid var(--line); border-radius:18px; background:#fff; overflow:hidden; }
.details summary { cursor:pointer; padding:12px 14px; list-style:none; display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.details summary::-webkit-details-marker { display:none; }
.details[open] summary { border-bottom:1px solid var(--line); }
.details__body { padding:12px 14px; }

/* Dashboard drawer (used for Branchen-Barometer details)
   Goal: feels like an "expandable dashboard panel" instead of a second article section. */
.drawer { border:1px solid var(--line); border-radius:22px; overflow:hidden; background:linear-gradient(180deg,#ffffff 0%, #fbfcff 100%); box-shadow:0 10px 30px rgba(15,23,42,.06); }
.drawer summary { list-style:none; }
.drawer summary::-webkit-details-marker { display:none; }
.drawer__summary { cursor:pointer; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:14px; background:rgba(15,23,42,.02); }
.drawer__left { display:flex; flex-direction:column; gap:2px; min-width:0; }
.drawer__title { font-weight:700; }
.drawer__hint { font-size:13px; line-height:1.35; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.drawer__chev { width:32px; height:32px; border-radius:999px; display:grid; place-items:center; border:1px solid var(--line); background:#fff; flex:0 0 auto; transition:transform .18s ease; }
.drawer[open] .drawer__chev { transform:rotate(180deg); }
.drawer__panel { border-top:1px solid var(--line); }
.drawer__panelInner { padding:14px 16px; }

@media (max-width: 640px){
  .drawer__hint { white-space:normal; }
}

.maturity__next { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }

@media (max-width: 900px) {
  .maturityHero { grid-template-columns: 1fr; }
  .maturity__viz { grid-template-columns: 1fr; }
  .maturity__introGrid { grid-template-columns: 1fr; }
}
.maturity__consentTitle { font-weight:700; margin-bottom:6px; }
.maturity__consentIntro { margin:0 0 10px 0; }
.maturity__checkItem { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line); background:#fff; border-radius:14px; }
.maturity__checkItem + .maturity__checkItem { margin-top:10px; }
.maturity__checkItem input { margin-top:3px; }
.maturity__checkText { display:flex; flex-direction:column; gap:2px; font-size:14px; line-height:1.35; }
.maturity__checkTitle { font-weight:600; }
.maturity__req { display:inline-flex; align-items:center; padding:2px 8px; margin-left:8px; border-radius:999px; border:1px solid rgba(var(--brand-rgb),0.18); background:rgba(var(--brand-rgb),0.08); font-size:12px; color:var(--brand); }
@media (max-width: 900px) {
  .maturity__grid { grid-template-columns: 1fr; }
  .maturity__steps { position:static; }
  .maturity__formRow { grid-template-columns: 1fr; }
  .maturity__split { grid-template-columns: 1fr; }
  .maturity__emailGrid{ grid-template-columns: 1fr; }
}

/* --- Public stats widget (KI-Barometer) --- */
/* The widget is rendered as .card to match the site's visual language.
   Keep .stats-widget focused on layout only (no competing borders/width). */
.stats-widget{padding:0;border:0;background:transparent}
.stats-widget__header{margin-bottom:12px}
.stats-note{border:1px dashed var(--line);background:rgba(0,0,0,.02);border-radius:16px;padding:12px;margin:10px 0 12px}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 14px}
.stats-kpi{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px}
.stats-kpi__label{font-size:13px;color:var(--muted);margin-bottom:4px}
.stats-kpi__value{font-size:20px;font-weight:800}
.stats-kpi__row{display:flex;align-items:center;gap:12px;margin-top:8px}
.stats-kpi__text{display:flex;flex-direction:column;gap:2px}

/* Simple donut chart (no JS) */
.donut{--size:56px;--thick:8px;width:var(--size);height:var(--size);border-radius:999px;display:grid;place-items:center;
  background:conic-gradient(var(--brand) calc(var(--p)*1%), rgba(0,0,0,.08) 0);
  position:relative;flex:0 0 auto}
.donut::before{content:"";position:absolute;inset:var(--thick);background:#fff;border-radius:999px;border:1px solid var(--line)}
.donut > span{position:relative;font-size:12px;font-weight:900;color:var(--brand)}

.badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(var(--brand-rgb),.18);background:rgba(var(--brand-rgb),.08);font-size:14px;font-weight:900;color:var(--brand)}
.stats-dist{margin-top:8px}
.stats-dist__head{font-weight:900;margin:10px 0 8px}
.stats-dist__bar{display:flex;height:12px;border-radius:999px;overflow:hidden;border:1px solid var(--line);background:var(--line)}
.stats-dist__seg{height:100%;background:var(--brand)}
.stats-dist__seg.seg--0{opacity:.9}
.stats-dist__seg.seg--1{opacity:.72}
.stats-dist__seg.seg--2{opacity:.56}
.stats-dist__seg.seg--3{opacity:.42}
.stats-dist__seg.seg--4{opacity:.28}
.stats-dist__legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.stats-dist__item{display:inline-flex;align-items:center;gap:8px;font-size:13px}
.stats-dist__item .dot{width:10px;height:10px;border-radius:999px;background:var(--brand)}
.stats-list{margin-top:14px}
.stats-list .list{margin:8px 0 0 18px}
@media (max-width: 1100px){
  .grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 700px){
  .grid{grid-template-columns:1fr;}
}

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

/* --- KI-Barometer (coffee-forward dashboard) --- */
.stats-widget--coffee .stats-widget__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.stats-widget--coffee .stats-widget__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(0,0,0,.55)}
.stats-widget--coffee .stats-widget__sub{margin:6px 0 0 0;color:var(--muted);font-size:14px;max-width:72ch}
.stats-widget--coffee .stats-widget__actions{display:flex;gap:10px;align-items:center}
.stats-widget--coffee .stats-widget__actions .btn{white-space:nowrap}
.stats-widget--coffee .stats-explain{margin-top:10px}
.stats-widget--coffee .stats-explain summary{cursor:pointer;font-weight:800}
.stats-widget--coffee .stats-explain__body{margin:8px 0 0 0;color:var(--muted);line-height:1.55}

/* Ring chart (SVG) */
.ring{--size:56px;position:relative;width:var(--size);height:var(--size);flex:0 0 auto;display:grid;place-items:center}
.ring svg{width:var(--size);height:var(--size);transform:rotate(-90deg)}
.ring__track{fill:none;stroke:rgba(0,0,0,.10);stroke-width:7}
.ring__value{fill:none;stroke:var(--brand);stroke-width:7;stroke-linecap:round}
.ring__text{position:absolute;font-size:12px;font-weight:900;color:var(--brand)}

/* Distribution bars */
.stats-bars{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.stats-bar{display:flex;flex-direction:column;gap:6px}
.stats-bar__meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.stats-bar__name{font-weight:900;font-size:13px}
.stats-bar__track{height:10px;border-radius:999px;overflow:hidden;border:1px solid var(--line);background:rgba(0,0,0,.06)}
.stats-bar__fill{display:block;height:100%;background:var(--brand)}
.stats-bar__fill.fill--0{opacity:.92}
.stats-bar__fill.fill--1{opacity:.78}
.stats-bar__fill.fill--2{opacity:.62}
.stats-bar__fill.fill--3{opacity:.48}
.stats-bar__fill.fill--4{opacity:.34}

/* Details toggle */
.stats-details{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.stats-details summary{cursor:pointer;font-weight:900;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.stats-details__body{margin-top:10px}

/* Badge variants */
.badge--fresh{border-color:rgba(14,116,144,.25);background:rgba(14,116,144,.10)}
.badge--growing{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.10)}
.badge--stable{border-color:rgba(34,197,94,.25);background:rgba(34,197,94,.10)}

.stats-alert{border:1px solid var(--line);background:rgba(0,0,0,.02);border-radius:16px;padding:12px;margin:10px 0 12px}
.stats-alert--warn{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.08)}
.stats-alert--info{border-color:rgba(59,130,246,.35);background:rgba(59,130,246,.08)}
.stats-alert strong{font-weight:800}

.stats-dimGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.stats-dimCard{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.stats-dimCard__title{font-size:14px;font-weight:800;line-height:1.2}
.stats-dimCard__value{font-size:16px;font-weight:900}
.stats-dimCard__meta{font-size:12px;color:var(--muted);margin-top:4px}
.stats-dimCard__right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.mini-bar{width:140px;height:8px;border-radius:999px;background:rgba(0,0,0,.08);overflow:hidden;border:1px solid var(--line)}
.mini-bar > span{display:block;height:100%;background:var(--brand);opacity:.85}

@media (max-width: 900px){
  .stats-widget--coffee .stats-widget__top{flex-direction:column;align-items:stretch}
  .stats-widget--coffee .stats-widget__actions{justify-content:flex-start}
  .stats-dimGrid{grid-template-columns:1fr}
}

.maturity__qList{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.maturity__question{border:1px solid var(--line);background:rgba(255,255,255,.7);border-radius:18px;padding:14px 14px 12px}
.maturity__qNum{font-size:12px;color:var(--muted);margin-bottom:6px}
.maturity__qText{font-size:15px;font-weight:900;line-height:1.35}
.maturity__question .maturity__help{margin-top:8px}
.maturity__question .maturity__answers{margin-top:10px}
.maturity__question--missing{border-color:rgba(185,28,28,.55);background:rgba(185,28,28,.06);box-shadow:0 0 0 2px rgba(185,28,28,.12) inset}
.stats-section{margin-top:16px}
.stats-weak{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.stats-weak__title{font-weight:800;margin-bottom:6px}
.dot--0{opacity:.85}
.dot--1{opacity:.7}
.dot--2{opacity:.55}
.dot--3{opacity:.4}
.dot--4{opacity:.25}

/* ------------------------------------------------------------
   Home: overview-first layout (less duplication, more clarity)
   ------------------------------------------------------------ */

.home-promise{margin-top:18px;display:grid;gap:12px}
.home-promise__item{display:flex;gap:12px;align-items:flex-start;padding:12px 12px;border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.55);border-radius:18px}
.home-promise__icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(var(--brand-rgb),.08);color:var(--brand)}
.home-promise__icon svg{width:20px;height:20px}
.home-promise__title{font-weight:900}
.home-promise__text{color:var(--muted);font-size:13px;line-height:1.35;margin-top:2px}

.home-overview{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
.home-overview__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

/* Inline link row used to avoid duplicate button CTAs */
.cta__links{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.cta__links .link{color: rgba(11,18,32,.76);text-decoration:underline;text-underline-offset:3px}
.cta__links .link:hover{text-decoration-thickness:2px}
.cta__links .dot{opacity:.7}

/* Home bullets (coffee-forward icons, no emojis) */
.home-overview__bullets{display:grid;gap:10px;margin-top:14px}
.bullet{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.55);border-radius:18px}
.bullet__icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(var(--brand-rgb),.08);color:var(--brand);flex:0 0 auto}
.bullet__icon svg{width:22px;height:22px}
.bullet__title{font-weight:950;line-height:1.15}
.bullet__text{color:var(--muted);font-size:13px;line-height:1.35;margin-top:4px}

.home-snapshot__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.home-snapshot__kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.kpi{border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.6);border-radius:16px;padding:10px 12px}
.kpi__label{font-size:12px;color:var(--muted)}
.kpi__value{font-weight:950;font-size:16px;margin-top:2px}
.home-snapshot__divider{height:1px;background:var(--line);margin:14px 0}
.home-snapshot__title{font-weight:900;margin-bottom:10px}

.home-challenges{display:grid;gap:10px}
.challenge{display:flex;gap:12px;align-items:stretch;border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.6);border-radius:18px;padding:12px}
.challenge__icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(var(--brand-rgb),.08);color:var(--brand);flex:0 0 auto}
.challenge__icon svg{width:22px;height:22px}
.challenge__title{font-weight:950}
.challenge__meta{display:flex;gap:10px;align-items:center;margin-top:4px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.7);font-size:12px;font-weight:800}
.challenge__hint{color:var(--muted);font-size:13px;line-height:1.35;margin-top:6px}
.bar{height:8px;background:rgba(0,0,0,.08);border-radius:999px;overflow:hidden;margin-top:10px}
.bar span{display:block;height:100%;background:var(--brand);border-radius:999px}

.home-details{margin-top:10px}
.home-details summary{cursor:pointer;font-weight:900}
.home-details__body{padding-top:10px}

/* Optional Chart.js enhanced visual (inserted by home-charts.js) */
.home-chart{margin:12px 0;border-style:dashed}
.home-chart__title{font-weight:950;margin:0 0 10px 0}

.grid--3{grid-template-columns:repeat(3,1fr)}

/* Explicit two-column grid helper (desktop default grid is 4 cols) */
.grid--2{grid-template-columns:repeat(2,1fr)}

/* Maturity page: make the barometer visible and readable without overwhelming the flow */
.barometerSection__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.barometerSection__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.barometerSection__body{display:flex;flex-direction:column;gap:12px}


@media (max-width: 980px){
  .home-overview{grid-template-columns:1fr}
  .home-snapshot__kpis{grid-template-columns:repeat(3,1fr)}
  .grid--2{grid-template-columns:1fr}
}
@media (max-width: 680px){
  .home-snapshot__kpis{grid-template-columns:1fr}
  .grid--3{grid-template-columns:1fr}
}

/* Testimonials */
.testimonials h2{margin:0 0 14px;font-size:22px}
.testimonial-card{display:flex;flex-direction:column;gap:12px}
.testimonial__quote{margin:0;font-size:15px;line-height:1.55;font-style:italic;color:var(--text)}
.testimonial__author{display:flex;flex-direction:column;gap:2px;font-size:14px}
.testimonial__author strong{font-weight:800}

/* Sample chapter */
.sample-chapter{margin-top:24px}
.sample-chapter__content{max-width:72ch;line-height:1.7}
.sample-chapter__content p:first-child{font-size:18px}

/* Tabs */
.tabs{display:flex;gap:4px;margin:14px 0}
.tab{padding:10px 16px;border-radius:999px;background:rgba(var(--brand-rgb),.06);color:var(--text);text-decoration:none;font-weight:700;font-size:14px;transition:background .15s ease}
.tab:hover{background:rgba(var(--brand-rgb),.12);text-decoration:none}
.tab--active{background:var(--brand);color:#fff}
.tab--active:hover{background:var(--brand)}

/* ==========================================================================
   NEW COMPONENTS (Design Overhaul)
   ========================================================================== */

/* Card with hover lift animation */
.card--hover-lift{transition:transform .2s ease, box-shadow .2s ease}
.card--hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(26,22,18,.12)}

/* Visual hero with split layout */
.hero--visual{
  background:
    radial-gradient(900px circle at 75% 35%, rgba(var(--accent-rgb),.15), transparent 50%),
    radial-gradient(900px circle at 20% 10%, rgba(var(--brand-rgb),.08), transparent 56%),
    linear-gradient(135deg, #fffcf8 0%, #fff9f0 100%);
}
.hero--visual .hero__grid{grid-template-columns:1.1fr .9fr;gap:32px;padding:42px}
@media (max-width: 980px){
  .hero--visual .hero__grid{grid-template-columns:1fr;padding:28px}
}

/* Highlighted CTA box */
.cta-highlight{
  margin:24px 0;
  padding:24px;
  background:linear-gradient(135deg, rgba(var(--brand-rgb),.05), rgba(var(--accent-rgb),.12));
  border:2px solid var(--accent);
  border-radius:var(--radius);
  box-shadow:0 12px 32px rgba(var(--brand-rgb),.10);
}
.cta-highlight__title{font-size:18px;font-weight:800;margin:0 0 8px}
.cta-highlight__text{color:var(--muted);margin:0 0 16px}
.cta-highlight__actions{display:flex;gap:12px;flex-wrap:wrap}

/* Animated stat counters */
.stat-counter{display:flex;flex-direction:column;gap:4px;text-align:center;padding:16px}
.stat-counter__value{font-size:32px;font-weight:900;color:var(--brand);line-height:1}
.stat-counter__label{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}

/* Social proof bar */
.social-proof{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
  padding:18px 24px;
  background:rgba(255,255,255,.8);
  border:1px solid var(--line);
  border-radius:calc(var(--radius) + 4px);
  margin-top:24px;
}
.social-proof__item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}
.social-proof__icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg, rgba(var(--brand-rgb),.08), rgba(var(--accent-rgb),.12));color:var(--brand)}
.social-proof__icon svg{width:18px;height:18px}
@media (max-width: 640px){
  .social-proof{flex-direction:column;gap:16px;text-align:center}
  .social-proof__item{flex-direction:column;gap:6px}
}

/* Section divider with decorative wave */
.section-divider{
  height:48px;
  margin:32px 0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 48'%3E%3Cpath d='M0 24 Q300 0 600 24 T1200 24' fill='none' stroke='%23e8e2da' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
}

/* Value cards (visual, with icons) */
.value-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}
.value-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:28px 20px;
  border:1px solid var(--line);
  border-radius:calc(var(--radius) + 6px);
  background:#fff;
  box-shadow:0 8px 24px rgba(26,22,18,.05);
  transition:transform .2s ease, box-shadow .2s ease;
}
.value-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(26,22,18,.10);text-decoration:none}
.value-card__icon{
  width:64px;height:64px;
  border-radius:20px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(var(--brand-rgb),.10), rgba(var(--accent-rgb),.15));
  margin-bottom:16px;
  color:var(--brand);
}
.value-card__icon svg{width:32px;height:32px}
.value-card__title{font-size:18px;font-weight:800;margin:0 0 8px}
.value-card__text{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 16px}
.value-card__link{font-weight:700;color:var(--brand);font-size:14px}
.value-card__link:hover{text-decoration:underline}
@media (max-width: 900px){
  .value-cards{grid-template-columns:1fr}
}

/* Prominent dashboard card */
.dashboard-card{
  padding:28px;
  border:1px solid var(--line);
  border-radius:calc(var(--radius) + 8px);
  background:linear-gradient(180deg, #fff 0%, #fffcf8 100%);
  box-shadow:0 16px 40px rgba(26,22,18,.08);
}
.dashboard-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.dashboard-card__title{font-size:22px;font-weight:800;margin:0}
.dashboard-card__sub{color:var(--muted);font-size:14px;margin:6px 0 0}

/* Book section (visual) */
.book-section{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:32px;
  align-items:center;
  padding:32px;
  border:1px solid var(--line);
  border-radius:calc(var(--radius) + 8px);
  background:linear-gradient(135deg, #fffcf8 0%, rgba(var(--accent-rgb),.06) 100%);
}
.book-section__cover{
  display:flex;
  justify-content:center;
  align-items:center;
}
.book-section__cover img{
  max-width:280px;
  width:100%;
  border-radius:14px;
  box-shadow:0 24px 60px rgba(26,22,18,.18);
}
.book-section__content h2{margin:0 0 16px;font-size:28px}
.book-section__bullets{margin:16px 0;padding-left:0;list-style:none}
.book-section__bullets li{display:flex;gap:12px;align-items:flex-start;margin:12px 0}
.book-section__bullets li::before{content:"";width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg, rgba(var(--brand-rgb),.10), rgba(var(--accent-rgb),.15));flex:0 0 auto;margin-top:2px}
@media (max-width: 900px){
  .book-section{grid-template-columns:1fr;text-align:center;padding:24px}
  .book-section__bullets{text-align:left}
}

/* Compact testimonial cards */
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.testimonial-compact{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:calc(var(--radius) + 4px);
  background:#fff;
}
.testimonial-compact__quote{font-style:italic;line-height:1.6;margin:0}
.testimonial-compact__author{display:flex;align-items:center;gap:12px}
.testimonial-compact__avatar{width:40px;height:40px;border-radius:12px;background:var(--line);overflow:hidden}
.testimonial-compact__avatar img{width:100%;height:100%;object-fit:cover}
.testimonial-compact__name{font-weight:700;font-size:14px}
.testimonial-compact__role{font-size:13px;color:var(--muted)}

/* ==========================================================================
   MATURITY MODAL SYSTEM
   ========================================================================== */

.maturity-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.maturity-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(26,22,18,.7);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.maturity-modal__panel{
  position:relative;
  max-width:720px;
  width:100%;
  max-height:90vh;
  overflow-y:auto;
  background:var(--card);
  border-radius:calc(var(--radius) + 8px);
  box-shadow:0 24px 60px rgba(26,22,18,.25);
}
.maturity-modal__header{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:16px 20px;
  background:var(--card);
  border-bottom:1px solid var(--line);
}
.maturity-modal__title{font-size:18px;font-weight:800;margin:0}
.maturity-modal__close{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  color:var(--text);
  transition:background .15s ease;
}
.maturity-modal__close:hover{background:rgba(0,0,0,.04)}
.maturity-modal__close svg{width:18px;height:18px}
.maturity-modal__progress{
  height:4px;
  background:var(--line);
  border-radius:999px;
  overflow:hidden;
  margin:0 20px 16px;
}
.maturity-modal__progressBar{
  height:100%;
  background:linear-gradient(90deg, var(--brand), var(--accent));
  transition:width .3s ease;
}
.maturity-modal__body{padding:0 20px 20px}

/* Scroll lock when modal is open */
html.maturity-modal-open{overflow:hidden}
html.maturity-modal-open body{overflow:hidden}

@media (max-width: 640px){
  .maturity-modal{padding:10px}
  .maturity-modal__panel{max-height:95vh;border-radius:calc(var(--radius) + 4px)}
  .maturity-modal__header{padding:12px 16px}
  .maturity-modal__body{padding:0 16px 16px}
}

/* ==========================================================================
   EMAIL CALLOUT (Post-Assessment)
   ========================================================================== */

.maturity__emailCallout{
  margin:24px 0;
  padding:24px;
  background:linear-gradient(135deg, rgba(var(--brand-rgb),.05), rgba(var(--accent-rgb),.12));
  border:2px solid var(--accent);
  border-radius:var(--radius);
  box-shadow:0 12px 32px rgba(var(--brand-rgb),.12);
}
.emailCallout__header{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:16px;
}
.emailCallout__icon{
  width:52px;height:52px;
  display:flex;align-items:center;justify-content:center;
  border-radius:16px;
  background:linear-gradient(135deg, var(--brand), rgba(var(--brand-rgb),.8));
  color:#fff;
  font-size:24px;
  flex:0 0 auto;
}
.emailCallout__title{font-size:20px;font-weight:800;margin:0 0 4px}
.emailCallout__sub{color:var(--muted);font-size:14px;margin:0}
.emailCallout__badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.emailCallout__badges .badge{font-size:12px;padding:4px 10px}
.emailCallout__benefits{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:12px;
  margin:16px 0;
  padding:0;
  list-style:none;
}
.emailCallout__benefit{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  font-size:14px;
}
.emailCallout__benefit::before{
  content:"";
  width:20px;height:20px;
  border-radius:6px;
  background:linear-gradient(135deg, rgba(var(--brand-rgb),.12), rgba(var(--accent-rgb),.15));
  flex:0 0 auto;
}
.emailCallout__form{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.emailCallout__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.emailCallout__field{display:flex;flex-direction:column;gap:6px}
.emailCallout__field label{font-weight:700;font-size:14px}
.emailCallout__field input{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font-size:15px;
}
.emailCallout__field input:focus{
  border-color:var(--brand);
  outline:none;
  box-shadow:0 0 0 3px rgba(var(--brand-rgb),.12);
}
.emailCallout__consent{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
}
.emailCallout__consent input{margin-top:3px;width:18px;height:18px}
.emailCallout__consent span{font-size:14px;line-height:1.4}
.emailCallout__submit{
  display:flex;
  justify-content:flex-start;
  gap:12px;
  align-items:center;
  margin-top:8px;
}
.emailCallout__submit .btn{min-width:200px}
.emailCallout__success{
  padding:16px;
  background:rgba(34,197,94,.1);
  border:1px solid rgba(34,197,94,.3);
  border-radius:12px;
  color:#166534;
  font-weight:700;
}
@media (max-width: 640px){
  .emailCallout__row{grid-template-columns:1fr}
  .emailCallout__header{flex-direction:column;gap:12px}
}


/* --- KI Quiz (Wissenstest) --- */
.ki-quiz { margin-top: 18px; }
.ki-quiz__top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin: 12px 0; }
.ki-quiz__progress { height:10px; background: rgba(0,0,0,0.06); border-radius: 999px; overflow:hidden; margin: 10px 0 16px; }
.ki-quiz__progressbar { height:100%; background: rgba(0,0,0,0.18); border-radius: 999px; }
.ki-quiz__qmeta { display:flex; align-items:center; gap:10px; }

.ki-quiz__options { display:grid; gap:10px; margin-top: 14px; }
.ki-quiz__opt { display:flex; gap:10px; align-items:flex-start; padding:12px 12px; border: 1px solid rgba(0,0,0,0.08); border-radius: 14px; cursor:pointer; transition: background .12s ease, border-color .12s ease; }
.ki-quiz__opt input { margin-top: 3px; }
.ki-quiz__opt:hover { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.14); }
.ki-quiz__opt.is-correct { border-color: rgba(0,0,0,0.18); background: rgba(0,0,0,0.02); }
.ki-quiz__opt.is-wrong { border-color: rgba(0,0,0,0.18); }

.ki-quiz__feedback { margin-top: 14px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(0,0,0,0.08); background: rgba(0,0,0,0.02); }
.ki-quiz__feedback.is-ok { }
.ki-quiz__feedback.is-bad { }
.ki-quiz__hint { margin-top: 12px; padding: 10px 0; }

.ki-quiz__nav { display:flex; justify-content:space-between; gap:10px; margin-top: 14px; }

.ki-quiz__startgrid { display:grid; grid-template-columns: 1fr; gap: 12px; margin-top: 14px; }
@media (min-width: 720px) { .ki-quiz__startgrid { grid-template-columns: 1fr 1fr; } }
.ki-quiz__startbtn { text-align:left; border: 1px solid rgba(0,0,0,0.08); border-radius: 18px; padding: 14px 14px; background: rgba(255,255,255,0.6); cursor:pointer; transition: transform .08s ease, border-color .12s ease; }
.ki-quiz__startbtn:hover { border-color: rgba(0,0,0,0.14); transform: translateY(-1px); }
.ki-quiz__starttitle { font-weight: 700; font-size: 1.05rem; margin-bottom: 4px; }

.ki-quiz__score { display:grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.ki-quiz__scorebig { font-size: 1.6rem; font-weight: 800; margin-top: 2px; }
.ki-quiz__cats { display:grid; gap: 12px; margin-top: 12px; }
.ki-quiz__catrow { display:flex; align-items:baseline; justify-content:space-between; gap: 10px; }
.ki-quiz__catbar { height:10px; background: rgba(0,0,0,0.06); border-radius: 999px; overflow:hidden; margin-top: 6px; }
.ki-quiz__catfill { height:100%; background: rgba(0,0,0,0.18); border-radius: 999px; }
/* --- end KI Quiz --- */

/* --- Playbook PDF Download Block --- */
.download-block{margin:18px 0 22px}
.download-block__inner{display:flex;gap:18px;align-items:stretch;padding:16px;border:1px solid rgba(0,0,0,.06);border-radius:18px;background:rgba(255,255,255,.55);box-shadow:0 12px 30px rgba(0,0,0,.06)}
.download-block__cover{flex:0 0 220px;display:block;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.8)}
.download-block__cover img{display:block;width:100%;height:auto}
.download-block__meta{flex:1;min-width:0}
.download-block__actions{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:720px){
  .download-block__inner{flex-direction:column}
  .download-block__cover{width:100%;max-width:360px}
}
/* --- end Playbook PDF Download Block --- */


/* --- Page extras (title image, graphics, documents, videos) --- */
.title-media{margin-top:18px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.title-media img{width:100%;height:auto;display:block}

.extras{margin-top:18px}
.media-stack{display:flex;flex-direction:column;gap:14px}
.media-stack__item{margin:0}
.media-stack__img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid rgba(255,255,255,.08)}

.download-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);margin-top:10px}
.download-item__title{font-weight:700}
.download-item__text{margin-top:6px;color:rgba(255,255,255,.78);font-size:.95rem}

.video-embed{position:relative;width:100%;padding-top:56.25%;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2);margin-top:14px}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.media-player{width:100%;margin-top:14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2)}

/* ══════════════════════════════════════════════════════════
   To-Go-Bar – Download Page  (.tgb-*)
   ══════════════════════════════════════════════════════════ */

/* Hero banner */
.tgb-hero{
  text-align:center;
  padding:48px 20px 36px;
}
.tgb-hero__title{
  margin:0 0 10px;
  font-size:clamp(2rem,5vw,3rem);
  font-weight:900;
  letter-spacing:-.02em;
}
.tgb-hero__sub{
  margin:0;
  font-size:1.1rem;
  color:var(--muted);
  max-width:560px;
  margin-inline:auto;
}

/* Category section */
.tgb-section{
  margin-bottom:48px;
}
.tgb-section__head{
  position:relative;
  border-radius:var(--radius) var(--radius) 0 0;
  overflow:hidden;
  min-height:72px;
  display:flex;
  align-items:flex-end;
  background:rgba(var(--brand-rgb),.08);
  --cat-color: var(--brand);
}
.tgb-section__header-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.tgb-section__head-inner{
  position:relative;
  z-index:1;
  padding:18px 24px;
  width:100%;
}
.tgb-section__head-inner--overlay{
  background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.12) 70%, transparent 100%);
}
.tgb-section__head-inner--overlay .tgb-section__title{
  color:#fff;
  text-shadow:0 1px 6px rgba(0,0,0,.35);
}
.tgb-section__title{
  margin:0;
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--cat-color);
}

/* Empty state */
.tgb-empty{
  padding:24px;
  color:var(--muted);
  font-style:italic;
  background:rgba(255,255,255,.5);
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 var(--radius) var(--radius);
}

/* Card grid */
.tgb-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:20px;
  padding:20px;
  background:rgba(255,255,255,.45);
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 var(--radius) var(--radius);
}
@media(max-width:560px){
  .tgb-grid{ grid-template-columns:1fr; }
}

/* Individual card */
.tgb-card{
  background:var(--card);
  border-radius:14px;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .12s ease, box-shadow .12s ease;
}
.tgb-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}

/* Card preview image */
.tgb-card__preview{
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#f4f0ea;
  flex-shrink:0;
}
.tgb-card__preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tgb-card__preview--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
}
.tgb-card__preview--placeholder svg{
  width:40%;
  height:40%;
  opacity:.2;
  color:var(--muted);
}

/* Card body */
.tgb-card__body{
  padding:16px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.tgb-card__meta{
  display:flex;
  gap:6px;
  margin-bottom:8px;
  flex-wrap:wrap;
}
.tgb-card__badge{
  display:inline-block;
  padding:2px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  background:rgba(var(--brand-rgb),.1);
  color:var(--brand);
  text-transform:uppercase;
}
.tgb-card__title{
  margin:0 0 6px;
  font-size:1rem;
  font-weight:700;
  line-height:1.35;
}
.tgb-card__teaser{
  margin:0;
  font-size:.9rem;
  color:var(--muted);
  line-height:1.5;
  flex:1;
}

/* Card actions */
.tgb-card__actions{
  margin-top:14px;
}
.tgb-card__dl-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:100%;
  justify-content:center;
}
.tgb-card__dl-btn svg{
  width:16px;
  height:16px;
  flex-shrink:0;
}
.tgb-card__no-file{
  font-size:.85rem;
  color:var(--muted);
  font-style:italic;
}
/* ══ end To-Go-Bar ══ */
