/* Solar-Betriebsrat: local fonts, shared components, then responsive rules. */
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-normal-400.woff2) format("woff2");
  unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-normal-400.woff2) format("woff2");
  unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/newsreader-italic-400-600.woff2) format("woff2");
  unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/newsreader-normal-400-600.woff2) format("woff2");
  unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {
  --paper: #fffdf6;
  --ink: #263753;
  --muted: #536078;
  --line: #c5cee0;
  --rust: #3756bd;
  --green: #e8efff;
  --display: clamp(64px,7vw,96px);
  --title: clamp(42px,5.1vw,70px);
  --heading: clamp(32px,3.4vw,46px);
  --body: 17px;
  --small: 13px;
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 32px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "IBM Plex Sans",Arial,sans-serif;
  font-size: var(--body);
  line-height: 1.65;
}

.wrap {
  width: min(1320px,calc(100% - 112px));
  margin-inline: auto;
}

a {
  color: inherit;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

a:hover {
  color: var(--rust);
}

a:focus-visible,summary:focus-visible {
  outline: 2px solid var(--rust);
  outline-offset: 6px;
}

p {
  max-width: 65ch;
  text-wrap: pretty;
}

h1,h2,h3 {
  font-family: Nunito,system-ui,sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  line-height: 1.06;
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: break-word;
  hyphens: auto;
  margin: 0 0 24px;
}

h1 {
  font-size: var(--display);
}

h2 {
  font-size: var(--title);
}

h3 {
  font-size: var(--heading);
}

em {
  font-weight: 400;
}

::selection {
  background: #decaa3;
  color: var(--ink);
}

.eyebrow,.number,.meta {
  font-size: var(--small);
  line-height: 1.5;
  letter-spacing: .09em;
  text-transform: uppercase;
  font-weight: 600;
}

.eyebrow {
  margin: 0 0 28px;
  color: var(--rust);
}

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding-block: 28px;
  border-bottom: 1px solid var(--ink);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 20px;
  line-height: 1.05;
  letter-spacing: -.035em;
  font-weight: 600;
  text-decoration: none;
}

.brand svg {
  width: 37px;
  height: 37px;
  flex-shrink: 0;
}

.brand small {
  display: block;
  font-weight: 400;
  font-size: 13px;
  letter-spacing: .04em;
  margin-top: 5px;
}

.nav {
  display: flex;
  gap: 30px;
  font-size: 14px;
}

.nav a {
  text-decoration: none;
}

.nav a:hover {
  text-decoration: underline;
}

.edition {
  font-size: 12px;
  color: var(--muted);
}

.hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 35px;
  align-items: center;
  padding-block: 54px 32px;
}

.hero .eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hero .eyebrow:before {
  content: "";
  width: 22px;
  height: 1px;
  background: var(--rust);
}

h1 em {
  display: block;
  color: var(--rust);
}

.intro {
  font-size: 18px;
  max-width: 43ch;
  margin: 28px 0 25px;
  color: var(--muted);
}

.button {
  display: inline-flex;
  align-items: center;
  gap: 34px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  padding: 13px 0;
  border-bottom: 1px solid var(--ink);
  min-height: 48px;
}

.button span {
  font-size: 24px;
  font-weight: 400;
}

.hero-note {
  font-size: 12px;
  color: var(--muted);
  margin-top: 18px;
}

.hero-art {
  margin: 0;
  position: relative;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero-art img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 550px;
  object-fit: contain;
}

.hero-art figcaption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 13px;
  font-size: 12px;
  color: var(--muted);
  gap: 30px;
}

.art-index {
  font-family: Nunito,system-ui,sans-serif;
  font-size: 27px;
  color: var(--rust);
}

.hero-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid var(--line);
  padding-block: 18px 24px;
  font-size: 12px;
  color: var(--muted);
}

.section {
  padding-block: 100px;
}

.section-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 65px;
  align-items: end;
  margin-bottom: 55px;
}

.section-heading h2 {
  margin-bottom: 0;
}

.section-heading>p {
  color: var(--muted);
  margin: 0;
  font-size: 16px;
  max-width: 49ch;
}

.benefit-grid {
  border-top: 1px solid var(--ink);
}

.benefit {
  display: grid;
  grid-template-columns: 90px 1fr 1.1fr;
  gap: 45px;
  padding: 42px 0;
  border-bottom: 1px solid var(--line);
  position: relative;
}

.benefit .number {
  font-family: Nunito,system-ui,sans-serif;
  font-size: 64px;
  font-weight: 400;
  letter-spacing: -.06em;
  color: #9d9f8e;
  line-height: 1;
}

.benefit-title h3 {
  margin: 13px 0 0;
  max-width: 15ch;
}

.benefit-title .eyebrow {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

.benefit-body>p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 16px;
}

.example {
  padding-left: 17px;
  border-left: 2px solid var(--rust);
  margin-bottom: 15px;
}

.example span {
  font-size: 12px;
  font-weight: 600;
}

.example p {
  margin: 3px 0;
  font-size: 14px;
  line-height: 1.65;
}

.source {
  font-size: 12px;
  display: inline-block;
}

.second {
  margin-left: 12px;
}

.deeper {
  display: block;
  font-size: 14px;
  margin-top: 17px;
  font-weight: 600;
}

.law-note {
  font-size: 13px;
  color: var(--muted);
  max-width: 88ch;
  margin-top: 24px;
}

.collaboration {
  background: var(--green);
  color: var(--paper);
  padding-block: 100px;
  position: relative;
}

.collaboration-grid>* {
  min-width: 0;
}

.collaboration-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 110px;
  align-items: center;
}

.collaboration .eyebrow {
  color: #263753;
}

.collaboration h2 {
  font-size: clamp(46px,5vw,68px);
}

.collaboration p:not(.eyebrow) {
  color: #d7dece;
  font-size: 16px;
  max-width: 54ch;
}

.collaboration a:hover {
  color: #263753;
}

.sources {
  font-size: 12px;
  display: flex;
  gap: 25px;
  color: #263753;
  margin-top: 25px;
}

.agreement {
  margin: 0;
}

.agreement-top {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-top: 1px solid #b1baa2;
  padding-top: 18px;
}

.party {
  padding: 20px 0;
  border-bottom: 1px solid #728877;
  font-family: Nunito,system-ui,sans-serif;
  font-size: 40px;
  line-height: 1.1;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
}

.party small {
  font-family: "IBM Plex Sans",Arial,sans-serif;
  font-size: 13px;
  font-weight: 400;
  max-width: 13ch;
  line-height: 1.5;
  color: #d7dece;
}

.party.elected {
  color: #263753;
}

.connection {
  font-size: 24px;
  color: #263753;
  text-align: center;
  line-height: 1.3;
}

.agreement figcaption {
  font-size: 13px;
  line-height: 1.7;
  color: #d7dece;
  margin-top: 26px;
}

.agreement figcaption a {
  display: block;
  margin-top: 9px;
}

.limits {
  border-bottom: 1px solid var(--line);
}

.limits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.limits p:not(.eyebrow) {
  color: var(--muted);
  font-size: 16px;
  margin-top: 0;
}

.faq {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 90px;
}

.questions details {
  padding-block: 23px;
  border-top: 1px solid var(--line);
}

.questions details:last-child {
  border-bottom: 1px solid var(--line);
}

summary {
  cursor: pointer;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 600;
  list-style: none;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 25px;
}

summary::-webkit-details-marker {
  display: none;
}

summary:after {
  content: "+";
  font-size: 26px;
  line-height: 1;
  font-weight: 400;
  color: var(--rust);
}

details[open]>summary:after {
  content: "−";
}

.questions details p {
  font-size: 15px;
  color: var(--muted);
}

.questions details a {
  font-size: 12px;
}

.knowledge {
  border-top: 1px solid var(--ink);
}

.knowledge-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 30px;
}

.knowledge-heading h2 {
  font-size: 48px;
}

.reading-list {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 35px;
}

.reading-list a {
  display: block;
  border-top: 1px solid var(--line);
  padding-top: 22px;
  text-decoration: none;
}

.reading-list a h3 {
  font-size: 28px;
  line-height: 1.15;
  margin: 13px 0;
}

.reading-list a p {
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 20px;
}

.reading-list a>span:last-child {
  font-size: 23px;
  color: var(--rust);
}

.reading-list .meta {
  font-size: 11px;
  color: var(--muted);
}

.closing {
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding-block: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 50px;
  margin-block: 0 35px;
}

.closing h2 {
  font-size: 40px;
  margin-bottom: 0;
}

.closing .eyebrow {
  margin-bottom: 14px;
}

.closing .button {
  flex-shrink: 0;
}

.editorial-note {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 42px;
}

footer {
  border-top: 1px solid var(--line);
  padding-block: 30px 40px;
  display: flex;
  justify-content: space-between;
  gap: 35px;
  color: var(--muted);
}

footer p {
  font-size: 12px;
}

footer .brand {
  font-size: 18px;
  color: var(--ink);
}

footer nav {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  font-size: 13px;
}

footer nav a {
  padding-block: 7px;
}

.skip {
  position: absolute;
  top: -100px;
  left: 20px;
  background: var(--paper);
  padding: 12px;
  z-index: 9;
}

.skip:focus {
  top: 12px;
}

.legal {
  max-width: 760px;
  padding-block: 65px 90px;
  min-height: 70vh;
}

.legal h1 {
  font-size: 64px;
  margin-bottom: 36px;
}

.legal h2 {
  font-family: "IBM Plex Sans",Arial,sans-serif;
  font-size: 20px;
  font-weight: 600;
  margin: 32px 0 14px;
  letter-spacing: 0;
}

.legal p {
  color: var(--muted);
}

.legal address {
  font-style: normal;
  line-height: 1.8;
}

.legal a {
  overflow-wrap: anywhere;
}

.article-header {
  padding-block: 55px 65px;
  border-bottom: 1px solid var(--line);
  max-width: 980px;
}

.breadcrumbs {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 45px;
}

.article-header h1 {
  font-size: clamp(48px,6.4vw,82px);
  max-width: 18ch;
}

.article-header .intro {
  max-width: 58ch;
  font-size: 20px;
}

.article-meta {
  font-size: 12px;
  color: var(--muted);
}

.article-layout {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 85px;
  padding-block: 65px 90px;
  align-items: start;
}

.article-nav {
  font-size: 13px;
  border-top: 1px solid var(--ink);
  padding-top: 18px;
  position: sticky;
  top: 30px;
}

.article-nav ol {
  padding-left: 18px;
  line-height: 1.6;
}

.article-nav li {
  padding-block: 7px;
}

.prose {
  max-width: 720px;
  min-width: 0;
}

.prose h2 {
  font-size: 36px;
  margin: 50px 0 20px;
  scroll-margin-top: 25px;
}

.prose h2:first-child {
  margin-top: 0;
}

.prose h3 {
  font-family: "IBM Plex Sans",Arial,sans-serif;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  margin: 25px 0 12px;
}

.prose p {
  color: var(--muted);
}

.prose li {
  padding-block: 4px;
  color: var(--muted);
}

.prose .source {
  margin-top: 4px;
}

.prose .sources {
  flex-wrap: wrap;
  gap: 6px 16px;
  color: var(--muted);
}

.prose .sources a {
  min-width: 0;
  max-width: 100%;
}

.prose .case {
  margin-block: 30px;
  padding: 26px 30px;
  border-top: 1px solid var(--rust);
  border-bottom: 1px solid var(--line);
  background: #eee9dc;
}

.case .eyebrow {
  margin-bottom: 10px;
}

.case p:last-child {
  margin-bottom: 0;
}

.prose .next-read {
  margin-top: 50px;
  border-top: 1px solid var(--ink);
  padding-top: 22px;
}

.prose .next-read p {
  font-size: 14px;
}

.prose .next-read a {
  font-size: 16px;
  font-weight: 600;
}

.prose table {
  width: 100%;
  border-collapse: collapse;
  margin-block: 28px;
  font-size: 14px;
}

.prose th,.prose td {
  text-align: left;
  vertical-align: top;
  padding: 16px 12px;
  border-bottom: 1px solid var(--line);
}

.prose th {
  font-weight: 600;
  border-top: 1px solid var(--ink);
}

.prose table {
  table-layout: fixed;
}

.prose caption {
  text-align: left;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 14px;
}

.prose th,.prose td {
  overflow-wrap: anywhere;
  hyphens: auto;
}

.prose thead th:first-child {
  width: 34%;
}

.prose tbody th {
  border-top: 0;
  color: var(--ink);
}

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

.prose p a {
  color: var(--rust);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.fact-list {
  margin-block: 28px;
}

.fact-list>div {
  display: grid;
  grid-template-columns: 155px 1fr;
  gap: 22px;
  padding-block: 18px;
  border-top: 1px solid var(--line);
}

.fact-list dt {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.5;
}

.fact-list dd {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

.knowledge-heading {
  align-items: center;
  margin-bottom: 35px;
}

.reading-list.expanded {
  grid-template-columns: repeat(3,1fr);
  row-gap: 35px;
}

.hub-header {
  padding-block: 55px 75px;
  position: relative;
  border-bottom: 1px solid var(--ink);
  isolation: isolate;
}

.hub-header h1 {
  max-width: 15ch;
  font-size: clamp(64px,7.5vw,102px);
}

.hub-header .intro {
  max-width: 51ch;
  font-size: 20px;
}

.hub-header:after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 50px;
  top: 80px;
  width: 245px;
  height: 310px;
  border: 1px solid var(--rust);
  border-radius: 150px 150px 0 0;
  background: repeating-linear-gradient(0deg,transparent,transparent 17px,#c5cee0 18px,transparent 19px);
  opacity: .65;
}

.hub-jump {
  display: flex;
  gap: 20px 30px;
  flex-wrap: wrap;
  margin-top: 35px;
  font-size: 14px;
}

.hub-jump a {
  padding-block: 8px;
}

.hub-group {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 85px;
  padding-block: 70px;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 30px;
}

.hub-group-heading {
  max-width: 33ch;
}

.hub-group-heading h2 {
  font-size: clamp(36px,4.1vw,56px);
}

.hub-group-heading>p:not(.eyebrow) {
  color: var(--muted);
  font-size: 16px;
}

.hub-list>a {
  display: block;
  position: relative;
  border-top: 1px solid var(--line);
  padding: 25px 35px 24px 0;
  text-decoration: none;
}

.hub-list>a:first-child {
  border-color: var(--ink);
}

.hub-list h3 {
  font-size: 29px;
  line-height: 1.15;
  margin-bottom: 13px;
}

.hub-list p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--muted);
  margin: 0;
  max-width: 55ch;
}

.hub-list span {
  position: absolute;
  right: 0;
  top: 25px;
  font-size: 23px;
  color: var(--rust);
}

.hub-group+.editorial-note {
  margin-top: 35px;
}

.hub-group-heading .eyebrow {
  font-size: 12px;
}

.next-read ul {
  padding-left: 20px;
}

.next-read li {
  margin-block: 10px;
}

.next-read li a {
  font-size: 15px;
  font-weight: 400;
}


/* Shared layout rhythm. */
header { gap: 24px; }
header .nav a { display: inline-flex; align-items: center; min-height: 44px; }
.hero, .section-heading, .benefit, .collaboration-grid, .limits-grid, .faq, .hub-group { min-width: 0; }
.hero > *, .section-heading > *, .benefit > *, .collaboration-grid > *, .limits-grid > *, .faq > *, .hub-group > * { min-width: 0; }
h1, h2, h3 { hyphens: manual; }
.source { line-height: 1.8; }
.knowledge { padding-block: 80px; }
.reading-list.expanded { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 36px 40px; }
.reading-list a { padding-block: 24px 20px; transition: border-color .2s; }
.reading-list a:hover { border-color: var(--rust); }
.reading-list a h3 { font-size: 31px; max-width: 19ch; }
.reading-list a p { font-size: 15px; line-height: 1.6; max-width: 34ch; }
.example { background: #eee8db; padding: 14px 18px; margin-block: 24px; }
.example span { text-transform: uppercase; font-size: 10px; letter-spacing: .08em; }
.example p { font-size: 15px; margin-top: 8px; }
.benefit-title h3 { max-width: 17ch; }
.article-header h1 { max-width: 21ch; }
.article-header .intro { line-height: 1.6; }
.prose { font-size: 18px; line-height: 1.8; }
.prose h2 { line-height: 1.13; max-width: 28ch; }
.article-nav li { padding-block: 8px; }
.hub-header h1 { max-width: 15ch; }
.hub-list h3 { max-width: 29ch; }
/* Book project: an illustrated editorial jacket, no simulated 3D book. */
.book-page { --book-red: #3756bd; }
.book-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-block: 44px 80px; align-items: center; }
.book-copy .breadcrumbs { margin-bottom: 42px; }
.book-copy .eyebrow { font-size: 12px; margin-bottom: 22px; }
.book-hero h1 { font-size: clamp(80px,8vw,116px); letter-spacing: -.04em; line-height: .99; margin-bottom: 30px; }
.book-hero h1 em { word-spacing: .13em; }
.book-subtitle { font-family: Nunito,system-ui,sans-serif; font-size: 31px; line-height: 1.2; }
.book-copy .intro { font-size: 17px; line-height: 1.7; max-width: 42ch; }
.book-status { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.8; color: var(--muted); max-width: 38ch; }
.book-art { width: min(100%,480px); justify-self: center; margin: 0; padding: 28px 34px 0; background: #e8e0ff; align-self: center; }
.book-art figcaption { font-size: 11px; letter-spacing: .05em; padding-block: 16px; color: var(--muted); }
.book-jacket { position: relative; width: 100%; aspect-ratio: 2/3; container-type: inline-size; overflow: hidden; background: #f4eedf; color: #171e1b; box-shadow: 0 8px 22px #39261918; }
.book-jacket > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jacket-type { position: absolute; inset: 0; padding: 6% 8%; }
.jacket-author { font-size: 3.1cqw; letter-spacing: .09em; text-transform: uppercase; font-weight: 600; margin: 0 0 4%; }
.jacket-title { font-family: Nunito,system-ui,sans-serif; font-weight: 600; font-size: 23cqw; line-height: .89; letter-spacing: -.055em; }
.jacket-title span { font-size: .74em; word-spacing: .16em; font-style: italic; }
.jacket-subtitle { font-size: 2.9cqw; line-height: 1.3; margin: 5% 0 0; font-weight: 600; }
.jacket-imprint { position: absolute; bottom: 3%; left: 8%; font-size: 2.5cqw; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; background: #f4eedfe8; padding: 1.2cqw 1.8cqw; }
.book-manifesto { padding-block: 75px; border-top: 1px solid var(--ink); }
.book-manifesto h2 { font-size: clamp(42px,4.8vw,62px); max-width: 25ch; }
.book-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; }
.book-two-column p { font-size: 17px; color: var(--muted); }
.book-tone { background: var(--green); color: var(--paper); padding: 55px 60px; display: grid; grid-template-columns: 1fr 1.25fr; gap: 70px; }
.book-tone .eyebrow { color: #263753; font-size: 11px; }
.book-tone h2 { font-size: 50px; }
.book-tone-note { font-size: 12px; color: #d1d9cf; max-width: 35ch; }
.book-tone-text { font-family: Nunito,system-ui,sans-serif; font-size: 25px; line-height: 1.55; }
.book-tone-text p:first-child { margin-top: 0; }
.book-tone-text p:last-child { margin-bottom: 0; }
.book-themes { padding-block: 80px; }
.book-theme-list { border-top: 1px solid var(--ink); }
.book-theme-list article { display: grid; grid-template-columns: 80px 1fr; gap: 40px; padding-block: 35px; border-bottom: 1px solid var(--line); }
.book-theme-list .number { font-family: Nunito,system-ui,sans-serif; font-size: 55px; font-weight: 400; color: var(--rust); }
.book-theme-list h3 { font-size: 35px; margin-bottom: 15px; }
.book-theme-list p { font-size: 17px; color: var(--muted); max-width: 72ch; }
.book-release { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; border-top: 1px solid var(--ink); padding-block: 60px 80px; }
.book-release h2 { font-size: 43px; }
.book-release p { font-size: 16px; color: var(--muted); }
.book-release strong { color: var(--ink); }
.book-teaser { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: center; padding: 48px; background: #e8e0ff; margin-block: 30px 60px; border-top: 1px solid var(--ink); }
.book-teaser h2 { font-size: 62px; margin-bottom: 14px; }
.book-teaser p:not(.eyebrow) { font-size: 16px; color: var(--muted); max-width: 50ch; }
.book-teaser .eyebrow { font-size: 11px; }
.book-index-link { padding-block: 35px; border-bottom: 1px solid var(--line); }
.book-index-link .eyebrow { margin-bottom: 12px; }
.book-index-link > a { font-family: Nunito,system-ui,sans-serif; font-size: 28px; line-height: 1.3; }


/* Responsive and output modes. */
@media (max-width:1100px) {
  .wrap {
    width: calc(100% - 72px);
  }

  .nav {
    gap: 20px;
  }

  .edition {
    display: none;
  }

  .hero {
    gap: 12px;
  }

  .benefit {
    gap: 25px;
    grid-template-columns: 65px 1fr 1.05fr;
  }

  .collaboration-grid {
    gap: 55px;
  }

  .party {
    font-size: 34px;
  }

  .article-layout {
    gap: 55px;
    grid-template-columns: 190px 1fr;
  }

  .reading-list {
    gap: 22px;
  }

  .hub-header:after {
    right: 0;
    width: 180px;
    height: 265px;
    top: 95px;
  }

  .hub-group {
    gap: 45px;
  }

  .hub-header .intro {
    max-width: 45ch;
  }

  .book-hero {
    gap: 40px;
  }

  .book-art {
    padding: 22px 24px 0;
  }



  .book-tone {
    gap: 35px;
    padding: 40px;
  }

  .book-teaser {
    padding: 35px;
  }
}

@media (max-width:760px) {
  .wrap {
    width: calc(100% - 40px);
  }

  header {
    padding-block: 22px;
    gap: 15px;
  }

  .brand {
    font-size: 17px;
  }

  .brand svg {
    width: 31px;
    height: 31px;
  }

  .brand small {
    font-size: 11px;
  }

  .nav {
    gap: 15px;
    font-size: 12px;
  }

  .nav a:nth-child(2) {
    display: none;
  }

  .hero {
    grid-template-columns: 1fr;
    padding-block: 43px 30px;
    gap: 30px;
  }

  .hero .eyebrow {
    font-size: 11px;
    margin-bottom: 25px;
  }

  h1 {
    font-size: clamp(59px,15vw,90px);
  }

  .intro {
    font-size: 17px;
    margin-top: 23px;
  }

  .hero-art {
    max-width: 470px;
    justify-self: center;
    width: 100%;
  }

  .hero-art img {
    max-height: 490px;
  }

  .hero-bottom {
    font-size: 11px;
    display: block;
  }

  .hero-bottom span {
    display: block;
    margin-block: 5px;
  }

  .section {
    padding-block: 65px;
  }

  .section-heading {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 35px;
  }

  h2 {
    font-size: 43px;
  }

  .benefit {
    grid-template-columns: 43px 1fr;
    gap: 10px 18px;
    padding-block: 30px;
  }

  .benefit .number {
    font-size: 43px;
    grid-row: 1/3;
  }

  .benefit-title h3 {
    font-size: 33px;
    max-width: 20ch;
    margin-top: 8px;
  }

  .benefit-body {
    grid-column: 2;
  }

  .benefit-body>p {
    font-size: 15px;
    margin-top: 10px;
  }

  .collaboration {
    padding-block: 65px;
  }

  .collaboration-grid,.limits-grid,.faq {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .collaboration h2 {
    font-size: 46px;
  }

  .party {
    font-size: 37px;
    display: block;
  }

  .party small {
    display: block;
    max-width: none;
    margin-top: 8px;
  }

  .limits-grid {
    gap: 10px;
  }

  .faq {
    gap: 20px;
  }

  .reading-list {
    grid-template-columns: 1fr 1fr;
    gap: 30px 22px;
  }

  .knowledge-heading {
    display: block;
  }

  .knowledge-heading h2 {
    font-size: 40px;
  }

  .reading-list a h3 {
    font-size: 28px;
  }

  .closing {
    display: block;
    padding-block: 30px;
  }

  .closing h2 {
    font-size: 35px;
  }

  .closing .button {
    margin-top: 18px;
  }

  footer {
    display: block;
  }

  footer nav {
    gap: 20px;
    margin-top: 22px;
  }

  .legal h1 {
    font-size: 48px;
  }

  .article-header {
    padding-block: 30px 35px;
  }

  .breadcrumbs {
    margin-bottom: 30px;
  }

  .article-header h1 {
    font-size: 49px;
  }

  .article-header .intro {
    font-size: 18px;
  }

  .article-layout {
    display: block;
    padding-block: 35px 60px;
  }

  .article-nav {
    position: static;
    margin-bottom: 40px;
  }

  .article-nav ol {
    columns: 2;
    column-gap: 30px;
  }

  .article-nav li {
    break-inside: avoid;
  }

  .prose h2 {
    font-size: 32px;
  }

  .prose .case {
    padding: 22px;
  }

  .prose table {
    font-size: 13px;
  }

  .prose th,.prose td {
    padding: 12px 6px;
  }

  .prose table {
    font-size: 13px;
    line-height: 1.55;
  }

  .prose th,.prose td {
    padding: 14px 8px;
  }

  .prose thead th:first-child {
    width: 38%;
  }

  .fact-list>div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .fact-list dd {
    font-size: 14px;
  }

  .article-header h1 {
    font-size: clamp(38px,10vw,49px);
  }

  .reading-list.expanded {
    grid-template-columns: repeat(2,1fr);
  }

  .hub-header {
    padding-block: 30px 45px;
  }

  .hub-header:after {
    display: none;
  }

  .hub-header h1 {
    font-size: clamp(52px,13vw,78px);
  }

  .hub-header .intro {
    font-size: 18px;
  }

  .hub-jump {
    gap: 12px 23px;
    font-size: 13px;
  }

  .hub-group {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-block: 45px;
  }

  .hub-group-heading {
    max-width: 40ch;
  }

  .hub-group-heading h2 {
    font-size: 40px;
  }

  .hub-list h3 {
    font-size: 28px;
  }

  header {
    flex-wrap: wrap;
    gap: 12px;
    padding-block: 20px;
  }

  .nav {
    margin-left: auto;
  }

  .nav a {
    min-height: 40px;
  }

  .hero {
    padding-top: 38px;
  }

  .hero h1 {
    font-size: clamp(51px,13vw,86px);
  }

  .section {
    padding-block: 55px;
  }

  .reading-list.expanded {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .reading-list a h3 {
    font-size: 27px;
  }

  .benefit {
    grid-template-columns: 30px minmax(0,1fr);
    gap: 12px 16px;
  }

  .benefit .number {
    font-size: 32px;
  }

  .benefit-title h3 {
    font-size: 34px;
  }

  .benefit-body > p {
    font-size: 16px;
  }

  .example {
    padding: 13px 14px;
  }

  .prose {
    font-size: 17px;
  }

  .book-hero {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-block: 30px 50px;
  }

  .book-hero h1 {
    font-size: clamp(78px,19vw,112px);
  }

  .book-copy .breadcrumbs {
    margin-bottom: 32px;
  }

  .book-copy .intro {
    max-width: 48ch;
  }

  .book-art {
    width: min(100%,460px);
    justify-self: center;
    padding: 22px 22px 0;
  }









  .book-manifesto {
    padding-block: 45px;
  }

  .book-manifesto h2 {
    font-size: 40px;
  }

  .book-two-column,.book-tone,.book-release {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .book-tone {
    padding: 30px 24px;
  }

  .book-tone h2 {
    font-size: 41px;
  }

  .book-tone-note {
    max-width: none;
  }

  .book-tone-text {
    font-size: 23px;
  }

  .book-themes {
    padding-block: 50px;
  }

  .book-theme-list article {
    grid-template-columns: 32px minmax(0,1fr);
    gap: 18px;
  }

  .book-theme-list .number {
    font-size: 34px;
  }

  .book-theme-list h3 {
    font-size: 31px;
  }

  .book-release {
    padding-block: 40px 55px;
  }

  .book-release h2 {
    font-size: 36px;
  }

  .book-teaser {
    grid-template-columns: 1fr;
    padding: 28px 24px;
    gap: 10px;
  }

  .book-teaser h2 {
    font-size: 50px;
  }

  .book-teaser .button {
    justify-self: start;
  }

  .book-index-link > a {
    font-size: 26px;
  }
}

@media (max-width:370px) {
  .wrap {
    width: calc(100% - 32px);
  }

  .nav {
    gap: 10px;
  }

  .brand {
    font-size: 15px;
  }

  h1 {
    font-size: 55px;
  }

  .reading-list {
    grid-template-columns: 1fr;
  }

  .article-nav ol {
    columns: 1;
  }

  .party {
    font-size: 31px;
  }

  .reading-list.expanded {
    grid-template-columns: 1fr;
  }

  .hub-group-heading h2 {
    font-size: 36px;
  }

  .hub-header h1 {
    font-size: 52px;
  }

  .reading-list.expanded {
    grid-template-columns: 1fr;
  }

  .benefit-title h3 {
    font-size: 30px;
  }

  .book-art {
    padding: 16px 14px 0;
  }







  .book-hero h1 {
    font-size: 78px;
  }
}

@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
}

@media print {
  .nav,.button,.skip,footer nav,.article-nav {
    display: none;
  }

  .wrap {
    width: 100%;
  }

  .hero {
    padding-block: 20px;
  }

  .section,.collaboration {
    padding-block: 30px;
  }

  .benefit {
    break-inside: avoid;
  }

  .collaboration {
    background: white;
    color: var(--ink);
  }

  .collaboration p:not(.eyebrow) {
    color: var(--muted);
  }

  .article-layout {
    display: block;
  }

  .prose {
    max-width: 100%;
  }
}

/* Contact and consumer guides: same paper, ink and editorial typography. */
.help-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:32px 0; }
.help-card { border-top:1px solid var(--ink); padding:24px 0; min-width:0; }
.help-card h3 { font-size:clamp(27px,3vw,36px); line-height:1.12; margin-bottom:16px; }
.help-card p { font-size:16px; }
.help-card .eyebrow { font-size:12px; }
.next-step { background:#e9e9db; padding:32px; margin:48px 0 24px; border-left:3px solid var(--rust); }
.next-step h2 { font-size:clamp(29px,3vw,39px); }
.contact-form { margin:32px 0; padding:32px; border:1px solid var(--line); background:#fbf8f0; }
.form-row { margin-bottom:24px; }
.form-row label { display:block; margin-bottom:8px; }
.form-row label span { color:var(--muted); font-size:14px; }
.form-row input,.form-row select { display:block; width:100%; min-height:48px; padding:12px; border:1px solid #7b8478; border-radius:0; background:var(--paper); font:inherit; color:var(--ink); }
input:focus-visible,select:focus-visible,button:focus-visible { outline:2px solid var(--rust); outline-offset:4px; }
.consent { display:flex; align-items:flex-start; gap:12px; font-size:15px; line-height:1.65; }
.consent input { flex:none; margin-top:6px; width:20px; height:20px; accent-color:var(--green); }
.consent span { min-width:0; }
.form-note { font-size:14px; color:var(--muted); }
.contact-form button { font:inherit; cursor:pointer; border:0; white-space:normal; text-align:left; }
.contact-form button:disabled { opacity:.6; cursor:default; }
#form-status { margin:24px 0 0; min-height:1.6em; overflow-wrap:anywhere; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.customer-teaser { border-top:1px solid var(--line); }
@media (max-width:650px) { .help-grid { grid-template-columns:1fr; gap:8px; } .contact-form,.next-step { padding:22px 18px; } .contact-form .button { width:100%; } }

/* Friendly comic design, based on the first blue/green draft. */
@font-face { font-family:Nunito; font-style:normal; font-weight:400; font-display:swap; src:url(/assets/fonts/nunito-400.woff2) format("woff2"); }
@font-face { font-family:Nunito; font-style:normal; font-weight:600; font-display:swap; src:url(/assets/fonts/nunito-600.woff2) format("woff2"); }
@font-face { font-family:Nunito; font-style:normal; font-weight:700; font-display:swap; src:url(/assets/fonts/nunito-700.woff2) format("woff2"); }
@font-face { font-family:Nunito; font-style:normal; font-weight:800; font-display:swap; src:url(/assets/fonts/nunito-800.woff2) format("woff2"); }
:root { --paper:#fffdf6; --ink:#263753; --muted:#536078; --line:#c5cee0; --rust:#3756bd; --green:#e8efff; --display:clamp(48px,5.4vw,72px); --title:clamp(32px,3.5vw,48px); --heading:clamp(25px,2.9vw,35px); }
body { font-family:Nunito,system-ui,sans-serif; font-size:17px; line-height:1.7; }
h1,h2,h3 { font-family:Nunito,system-ui,sans-serif; font-weight:800; letter-spacing:-.035em; line-height:1.13; }
h1 { font-size:var(--display); }
h1 em { font-style:normal; color:var(--rust); }
p { text-wrap:pretty; }
::selection { background:#d8cff8; color:var(--ink); }
header { padding-block:24px; border-bottom:2px solid var(--line); }
.brand { font-family:Nunito,system-ui,sans-serif; font-weight:800; letter-spacing:-.03em; }
.brand small { font-weight:600; letter-spacing:0; }
.nav a { padding:8px 12px; border-radius:999px; font-weight:700; }
.nav a:hover { background:#e8efff; text-decoration:none; }
.nav { gap:4px; }
.eyebrow { text-transform:none; letter-spacing:.025em; font-weight:800; }
.hero { grid-template-columns:1fr 1fr; padding-block:56px 38px; gap:45px; }
.hero h1 { font-size:clamp(48px,5.5vw,76px); line-height:1.08; max-width:13ch; }
.hero .eyebrow:before { width:12px; height:12px; border:2px solid var(--ink); border-radius:50%; background:#ffe779; }
.hero-art { background:#e7eeff; border:3px solid var(--ink); border-radius:32px 28px 35px 26px; padding:10px 16px 15px; box-shadow:6px 7px 0 #b9c9f7; transform:rotate(1deg); }
.hero-art img { width:100%; max-height:490px; }
.hero-art figcaption { border-top:2px solid #b1c0df; font-size:12px; color:var(--ink); gap:10px; }
.art-index { font-family:Nunito,sans-serif; font-weight:800; font-size:22px; }
.button { background:#3756bd; border:2px solid var(--ink); border-radius:14px; color:#fff; font-weight:800; padding:14px 20px; box-shadow:3px 4px 0 var(--ink); font-family:Nunito,sans-serif; }
.button:hover { background:#263f9a; color:#fff; box-shadow:1px 2px 0 var(--ink); }
.hero-bottom { border-top:0; border-bottom:2px dashed var(--line); }
.section { padding-block:75px; }
.section-heading { gap:50px; margin-bottom:36px; }
.benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; border:0; }
.benefit { display:block; padding:30px; border:2px solid var(--ink); border-radius:23px; box-shadow:4px 5px 0 #d2d9e7; }
.benefit:nth-child(1) { background:#fff0ac; }
.benefit:nth-child(2) { background:#d9f2e5; }
.benefit:nth-child(3) { background:#e8dfff; }
.benefit:nth-child(4) { background:#ffe2eb; }
.benefit .number { font-family:Nunito,sans-serif; font-size:18px; font-weight:800; letter-spacing:0; color:var(--ink); display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; background:#fffdf6; border:2px solid var(--ink); border-radius:50%; margin-bottom:19px; }
.benefit-title h3 { font-size:30px; max-width:22ch; margin:10px 0 20px; }
.benefit-title .eyebrow { color:#42516b; }
.benefit-body>p { color:#3d4d65; }
.example { background:#fff9e5; border:1px solid #d5c882; border-left:4px solid #3756bd; border-radius:12px; padding:18px; }
.benefit .example { background:#ffffffa8; }
.collaboration { background:#e8efff; color:var(--ink); border-block:2px solid var(--line); padding-block:72px; }
.collaboration h2 { font-size:clamp(35px,4vw,51px); }
.collaboration p:not(.eyebrow),.collaboration .eyebrow,.collaboration .sources,.agreement figcaption,.connection { color:var(--ink); }
.collaboration a:hover { color:var(--rust); }
.collaboration .button:hover { color:white; }
.collaboration-grid { gap:70px; }
.agreement { background:#fffdf6; border:2px solid var(--ink); border-radius:24px; padding:26px; box-shadow:5px 6px 0 #b8c8f4; }
.agreement-top { border:0; color:var(--muted); }
.party { background:#d9f2e5; color:var(--ink); border:2px solid var(--ink); border-radius:15px; }
.party.elected { background:#ffe779; color:var(--ink); }
.party small { color:var(--muted); }
.sources { color:var(--rust); }
.questions details { padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; margin-bottom:12px; }
.questions details:last-child { border:1px solid var(--line); }
summary { font-weight:800; }
.reading-list { gap:20px; }
.reading-list>a { border:2px solid var(--line); border-radius:18px; background:#fff; padding:24px; }
.reading-list h3 { font-size:26px; }
.book-teaser { background:#e8dfff; border:2px solid var(--ink); border-radius:24px; margin-inline:auto; width:min(1320px,calc(100% - 112px)); padding:36px; }
.book-teaser h2 { font-size:48px; }
.closing { background:#d9f2e5; padding:35px; border:2px solid var(--ink); border-radius:24px; margin-bottom:32px; }
footer { border-top:2px dashed var(--line); }
.article-header { padding-block:44px 32px; border-bottom:2px dashed var(--line); }
.article-header h1 { font-size:clamp(34px,4.5vw,60px); max-width:24ch; line-height:1.16; }
.article-header .intro { max-width:64ch; line-height:1.65; }
.article-nav { background:#e8efff; border:1px solid #b9c7e2; padding:20px; border-radius:18px; }
.article-nav strong { font-weight:800; }
.prose { font-size:18px; line-height:1.8; }
.prose h2 { font-size:clamp(27px,3vw,36px); line-height:1.2; }
.prose h3 { font-family:Nunito,sans-serif; font-weight:800; }
.prose th { background:#e8efff; color:var(--ink); }
.prose .example,.prose .case { background:#fff8dd; border-radius:16px; }
.hub-header h1 { font-size:clamp(43px,5vw,66px); max-width:19ch; }
.hub-header:after { border:0; background:url(/assets/solar-comic.svg) center/contain no-repeat; border-radius:0; }
.hub-list>a { background:#fff; border:1px solid var(--line); border-radius:17px; padding:22px 42px 22px 22px; margin-bottom:14px; }
.hub-list>a:first-child { border-color:var(--line); }
.hub-list h3 { font-size:26px; }
.hub-list span { right:16px; }
.help-card { background:#fff; padding:23px; border:2px solid var(--line); border-radius:18px; }
.help-card:nth-child(4n+1) { background:#fff7d6; }
.help-card:nth-child(4n+2) { background:#e3f4eb; }
.help-card:nth-child(4n+3) { background:#ede6ff; }
.help-card:nth-child(4n+4) { background:#fff0f5; }
.help-card h3 { font-size:27px; }
.contact-form { border:2px solid var(--ink); border-radius:22px; background:#eef3ff; box-shadow:4px 5px 0 #c2d0f0; }
.form-row input,.form-row select { background:#fff; border:2px solid #8494b2; border-radius:12px; font-size:17px; }
.consent { font-size:15px; }
.next-step { background:#e3f4eb; border:2px solid #a2c7b3; border-radius:20px; }
.next-step h2 { font-size:29px; }
.book-page { --book-red:#3756bd; }
.book-hero h1 { font-size:clamp(66px,7vw,100px); font-family:Nunito,sans-serif; }
.book-subtitle,.book-tone-text,.book-index-link>a { font-family:Nunito,sans-serif; }
.book-subtitle { font-size:27px; font-weight:700; }
.book-art { border:2px solid var(--ink); border-radius:25px; background:#e8dfff; }
.book-tone { background:#e8efff; color:var(--ink); border:2px solid #b9c7e2; border-radius:22px; }
.book-tone .eyebrow,.book-tone-note { color:var(--muted); }
.book-theme-list .number { font-family:Nunito,sans-serif; font-weight:800; font-size:40px; }
@media(max-width:1000px) { .edition { display:none; } .benefit-title h3 { font-size:28px; } .collaboration-grid { gap:40px; } }
@media(max-width:760px) { .hero { grid-template-columns:1fr; gap:30px; padding-block:35px; } .hero h1 { font-size:clamp(43px,11vw,65px); max-width:16ch; } .benefit-grid { grid-template-columns:1fr; gap:20px; } .benefit { padding:25px; } .benefit .number { font-size:18px; } .section { padding-block:50px; } h2 { font-size:34px; } .book-teaser { width:calc(100% - 40px); padding:27px; border-radius:20px; } .book-teaser h2 { font-size:38px; } .article-header h1 { font-size:clamp(32px,8.5vw,42px); } .article-nav { padding:18px; } .prose h2 { font-size:28px; } .nav a { padding:6px; } .nav { gap:0; } .closing { padding:25px; } .book-tone { padding:25px; } .book-hero h1 { font-size:64px; } }
@media(max-width:460px) { header { flex-wrap:wrap; gap:14px; } .brand { font-size:19px; } .nav { width:100%; justify-content:space-between; } .nav a:nth-child(2) { display:block; } .hero-art { transform:none; box-shadow:4px 5px 0 #b9c9f7; } .article-layout { gap:30px; } .help-card { padding:20px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

h1 em { font-weight:800; }

.book-tone > * { min-width:0; }
@media(max-width:760px) { .book-tone { grid-template-columns:minmax(0,1fr); } .book-tone h2 { font-size:32px; } .book-tone-text { font-size:20px; } }

/* Concrete everyday examples: friendly cards with readable legal limits. */
.everyday { border-top:2px dashed var(--line); }
.scenario-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.scenario-card { display:flex; flex-direction:column; min-width:0; padding:28px; background:#e8efff; border:2px solid var(--ink); border-radius:24px; box-shadow:4px 5px 0 #d2d9e7; }
.scenario-card:nth-child(4n+2) { background:#dff3e9; }
.scenario-card:nth-child(4n+3) { background:#fff3c7; }
.scenario-card:nth-child(4n+4) { background:#efe6ff; }
.scenario-tag { display:flex; align-items:center; gap:12px; margin:0 0 18px; font-size:14px; font-weight:800; }
.scenario-tag span { display:inline-flex; align-items:center; justify-content:center; flex:none; width:36px; height:36px; border:2px solid var(--ink); border-radius:50%; background:var(--paper); }
.scenario-card h3 { margin:0 0 16px; font-size:28px; line-height:1.2; }
.scenario-card p { font-size:16px; }
.scenario-card .scenario-tag { font-size:14px; }
.scenario-scene { margin:0 0 18px; font-weight:700; }
.scenario-card .scenario-limit { padding:13px 15px; border-radius:12px; background:#ffffffb8; font-size:14px; margin:4px 0 20px; }
.scenario-links { margin-top:auto; }
.scenario-links .deeper { margin:0 0 14px; }
.scenario-links .sources { display:flex; flex-wrap:wrap; gap:6px 15px; }
.scenario-links .sources a { font-size:12px; }
@media(max-width:760px) { .scenario-grid { grid-template-columns:minmax(0,1fr); gap:20px; } .scenario-card { padding:23px; } .scenario-card h3 { font-size:26px; } }

/* Equal choices for optional statistics, always editable from the footer. */
.statistik-choice[hidden],.statistik-settings[hidden], [data-statistik-browser][hidden] { display:none; }
.statistik-choice { position:fixed; z-index:100; bottom:18px; right:18px; width:min(660px,calc(100% - 36px)); max-height:calc(100dvh - 36px); overflow:auto; padding:23px; border:2px solid var(--ink); border-radius:22px; background:var(--paper); box-shadow:4px 5px 0 #b9c9f7; }
.statistik-choice h2 { font-size:24px; margin:0 0 12px; }
.statistik-choice p { font-size:14px; margin:0 0 13px; line-height:1.5; }
.statistik-actions { display:flex; flex-wrap:wrap; gap:12px; }
.statistik-actions button { flex:1; min-width:160px; padding:12px; font:700 15px Nunito,system-ui,sans-serif; color:var(--ink); background:#e8efff; border:2px solid var(--ink); border-radius:12px; cursor:pointer; }
.statistik-actions button:hover { background:#d8e3ff; }
.statistik-actions button:disabled { opacity:.5; cursor:default; }
.statistik-settings { font:inherit; color:inherit; border:0; background:transparent; padding:0; text-decoration:underline; cursor:pointer; }
@media(max-width:460px) { .statistik-choice { bottom:12px; right:12px; width:calc(100% - 24px); padding:18px; } .statistik-actions { gap:9px; } .statistik-actions button { min-width:0; flex-basis:100%; } }
@media print { .statistik-choice,.statistik-settings { display:none; } }
