


@font-face {
  font-family: "Staatliches"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(/fonts/staatliches-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Staatliches"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(/fonts/staatliches-latinext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  
  --sws-oxblood: #211C17;       
  --sws-oxblood-deep: #14100C;  
  --sws-green: #1E3A2F;         
  --sws-brass: #8C6A32;         
  --sws-brass-label: #785B2B;   
  --sws-brass-lite: #B08A4F;    
  --sws-paper: #E4DBC6;         
  --sws-paper-2: #EFE7D5;       
  --sws-ink: #241C13;           
  --sws-chalk: #EDE6D6;         
  --sws-vig: #B23A25;           
  --sws-vig-deep: #8F2C1A;
  --sws-vig-readable: #E06B55;  
  --sws-ink-dim: #635A48;       

  --sws-display: "Staatliches", "Arial Narrow", "Haettenschweiler", "Impact", sans-serif;
  --sws-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --sws-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Consolas, monospace;

  --sws-ease: cubic-bezier(0.2, 0.9, 0.25, 1);
  --sws-dur: 0.32s;
  --sws-maxw: 1120px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }
body { overflow-x: hidden; }

body {
  margin: 0;
  font-family: var(--sws-body);
  background-color: var(--sws-paper);
  
  background-image:
    repeating-linear-gradient(transparent 0 33px, rgba(36, 28, 19, 0.05) 33px 34px),
    radial-gradient(120% 80% at 50% 0%, transparent 60%, rgba(36, 28, 19, 0.055) 100%);
  background-attachment: fixed;
  color: var(--sws-ink);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}


h1, h2, h3, h4, .sws-display {
  font-family: var(--sws-display);
  letter-spacing: 0.02em;
  word-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 0.9;
  font-weight: 400;
  margin: 0;
}

a { color: inherit; }

.sws-wrap { max-width: var(--sws-maxw); margin: 0 auto; padding: 0 1rem; }

::selection { background: var(--sws-brass-lite); color: var(--sws-oxblood-deep); }
:focus-visible { outline: 3px solid var(--sws-brass); outline-offset: 2px; }


.sws-panel { border: 2px solid var(--sws-ink); background: var(--sws-paper-2); }

.sws-panel--green { background: var(--sws-green); color: var(--sws-chalk); border-color: var(--sws-green); }
.sws-panel--oxblood { background: var(--sws-oxblood); color: var(--sws-chalk); border-color: var(--sws-brass); }


.sws-mast {
  background: var(--sws-oxblood);
  color: var(--sws-chalk);
  border-bottom: 1px solid var(--sws-brass);
}
.sws-mast__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: 0.85rem 1rem; flex-wrap: wrap;
  max-width: var(--sws-maxw); margin: 0 auto;
}
.sws-brand { display: flex; align-items: center; gap: 0.7rem; text-decoration: none; color: var(--sws-chalk); }
.sws-brand__mark { width: 46px; height: 46px; display: block; flex: none; }
.sws-brand__name { font-family: var(--sws-display); font-size: 1.7rem; letter-spacing: 0.03em; }
.sws-brand__name b { color: var(--sws-brass-lite); font-weight: 400; }

.sws-nav { display: flex; gap: 1.4rem; flex-wrap: wrap; }
.sws-nav a {
  font-family: var(--sws-mono); font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase;
  color: #A9A08C; text-decoration: none; position: relative; padding-bottom: 3px;
}

.sws-nav a::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 1.5px; width: 100%;
  background: var(--sws-brass-lite);
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--sws-dur) var(--sws-ease);
}
.sws-nav a:hover, .sws-nav a:focus-visible { color: var(--sws-chalk); }
.sws-nav a:hover::after, .sws-nav a:focus-visible::after { transform: scaleX(1); }


.sws-nav-toggle { display: none; background: none; border: 1px solid var(--sws-brass); color: var(--sws-chalk);
  font-family: var(--sws-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.4rem 0.7rem; cursor: pointer; }

@media (max-width: 640px) {
  .js .sws-nav-toggle { display: block; }
  .js .sws-nav { display: none; flex-basis: 100%; }
  .js .sws-nav.is-open { display: flex; flex-direction: column; gap: 0.9rem; padding-top: 0.6rem; }
}


.sws-wire {
  min-height: 38px; margin: 1.35rem 0 -1.15rem; padding: .55rem .75rem;
  display: flex; align-items: center; gap: .7rem 1.25rem; overflow-x: auto;
  border-block: 1px solid rgba(140,106,50,.58); color: var(--sws-ink-dim);
  font-family: var(--sws-mono); font-size: .67rem; letter-spacing: .08em;
  text-transform: uppercase; white-space: nowrap; scrollbar-width: thin;
}
.sws-wire span { display: inline-flex; align-items: baseline; gap: .42rem; }
.sws-wire span + span::before { content: "◆"; color: var(--sws-brass); font-size: .5rem; margin-right: .55rem; }
.sws-wire b { color: var(--sws-ink); font-weight: 700; }
.sws-wire__status { color: var(--sws-green); }
.sws-wire__status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #4E9B7A; box-shadow: 0 0 0 2px rgba(78,155,122,.18); }
.sws-wire__margin b { color: var(--sws-vig-deep); }

.sws-hero { display: grid; grid-template-columns: 1fr; gap: 2rem; margin: 3rem 0 2.5rem; align-items: center; }
@media (min-width: 900px) { .sws-hero { grid-template-columns: 1.15fr 0.85fr; gap: 3.2rem; } }

@media (min-width: 900px) { .sws-hero--single { grid-template-columns: 1fr; } }

.sws-hero__lead { position: relative; padding: clamp(1.8rem, 3.2vw, 3rem); }
.sws-hero__eyebrow { display: block; font-family: var(--sws-mono); font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: #D6CBB5; margin: 0 0 1.1rem; }
.sws-hero h1 { font-size: clamp(3rem, 7.4vw, 5.6rem); position: relative; color: var(--sws-chalk); }
.sws-hero h1 em, .sws-hero h1 .hl { color: var(--sws-chalk); font-style: normal; }

.sws-hero__h1sub { display: block; font-family: var(--sws-display); font-size: clamp(1.1rem, 2.6vw, 1.7rem); letter-spacing: 0.03em; color: var(--sws-chalk); opacity: 0.82; margin-top: 0.5rem; line-height: 1.1; }
.sws-hero__sub { position: relative; max-width: 48ch; margin: 1.4rem 0 1.9rem; font-size: 1.12rem; color: var(--sws-chalk); opacity: 0.9; }

.sws-hero--single h1 { font-size: clamp(1.9rem, 4.4vw, 2.7rem); }
.sws-hero--single .sws-hero__sub { max-width: 62ch; }

.sws-btn {
  display: inline-flex; align-items: center; gap: 0.6rem; font-family: var(--sws-mono); font-size: 0.86rem;
  letter-spacing: 0.08em; text-transform: uppercase; background: var(--sws-ink); color: var(--sws-paper-2);
  padding: 0.8rem 1.4rem; text-decoration: none; border: 2px solid var(--sws-ink);
  transition: background var(--sws-dur) var(--sws-ease), color var(--sws-dur) var(--sws-ease);
}
.sws-btn:hover { background: transparent; color: var(--sws-ink); }


.sws-tote { padding: 1.6rem 1.4rem; display: flex; flex-direction: column; gap: 0.6rem;
  background: var(--sws-oxblood); border: 1px solid var(--sws-brass); position: relative; }
.sws-tote__label {
  font-family: var(--sws-mono); color: #A9A08C;
  font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase;
  position: absolute; top: -9px; left: 20px; background: var(--sws-oxblood); padding: 0 8px;
}
.sws-tote__row { display: flex; align-items: baseline; gap: 0.9rem; }
.sws-tote__cell { text-align: left; }
.sws-tote__cap { font-family: var(--sws-mono); font-size: 0.72rem; letter-spacing: 0.14em; color: #A9A08C; display: block; margin-bottom: 0.2rem; text-transform: uppercase; }
.sws-tote__sep { display: none; }

.sws-bot3d { position: relative; height: clamp(150px, 22vw, 190px); margin: -0.35rem -0.5rem 0.35rem;
  overflow: hidden; border-bottom: 1px solid rgba(176,138,79,0.45);
  background: radial-gradient(circle at 50% 42%, rgba(30,58,47,0.72), transparent 58%); }
.sws-bot3d::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0 7px, rgba(237,230,214,0.025) 7px 8px); }
.sws-bot3d__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 0.25s ease; }
.sws-bot3d.is-ready .sws-bot3d__canvas { opacity: 1; }
.sws-bot3d.is-reacting { box-shadow: inset 0 0 0 2px var(--sws-brass), inset 0 0 28px rgba(176,138,79,.28); }
.sws-bot3d__fallback { position: absolute; left: 50%; top: 50%; width: 116px; height: 116px; transform: translate(-50%,-50%);
  filter: drop-shadow(0 10px 12px rgba(0,0,0,0.35)); }
.sws-bot3d.is-ready .sws-bot3d__fallback { display: none; }
@media (prefers-reduced-motion: reduce) { .sws-bot3d__canvas { transition: none; } .sws-bot3d.is-reacting { box-shadow: inset 0 0 0 2px var(--sws-brass); } }


.sws-flap {
  font-family: var(--sws-mono); font-size: 3.4rem; font-weight: 700; letter-spacing: 0.01em;
  color: var(--sws-chalk); font-variant-numeric: tabular-nums; line-height: 1; display: inline-block;
}
.sws-flap--brass { color: var(--sws-brass-lite); }


.sws-reveal-btn { margin-top: 0.9rem; width: 100%; font-family: var(--sws-mono); font-size: 0.82rem;
  letter-spacing: 0.1em; text-transform: uppercase; background: var(--sws-green); color: var(--sws-chalk);
  border: 1px solid rgba(237,230,214,0.25); padding: 0.7rem; cursor: pointer; transition: background 0.15s; }
.sws-reveal-btn:hover { background: #264a3b; }
.sws-tote__truth { display: block; color: #BEB5A2; font: .64rem/1.4 var(--sws-mono); letter-spacing: .035em; }


.sws-split { margin-top: 0.9rem; border-top: 1px dashed rgba(176,138,79,0.45); padding-top: 0.9rem; display: grid; gap: 0.5rem; }
.sws-split[hidden] { display: none; }
.sws-split__case { font: .62rem/1.2 var(--sws-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sws-brass-lite); }
.sws-split__row { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 0.8rem; font-family: var(--sws-mono); font-variant-numeric: tabular-nums; }
.sws-split__k { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: #A9A08C; }
.sws-split__v { font-size: 1.5rem; font-weight: 700; color: var(--sws-chalk); }
.sws-split__row--cut { border-top: 1px solid rgba(178,58,37,0.4); padding-top: 0.5rem; margin-top: 0.2rem; }
.sws-split__row--cut .sws-split__k { color: var(--sws-vig-readable); }
.sws-split__row--cut .sws-split__v { color: var(--sws-vig-readable); }
.sws-split__pct { font-size: 0.85rem; opacity: 0.85; margin-left: 0.4rem; }

.sws-split__row--cut .sws-split__k { max-width: 12ch; line-height: 1.15; }
.sws-tote__margin { font-family: var(--sws-mono); font-size: 1rem; color: var(--sws-vig); }
.sws-tote__note { font-family: var(--sws-body); font-size: 0.72rem; color: #A9A08C; line-height: 1.4; margin-top: 0.4rem; }


.sws-shead { display: flex; align-items: flex-end; gap: 1.1rem; margin: 4rem 0 1.4rem; }
.sws-shead h1, .sws-shead h2 { max-width: 24ch; font-size: clamp(2rem, 5vw, 2.9rem); color: var(--sws-ink); white-space: normal; }
.sws-shead .sws-rule { flex: 0 0 72px; height: 5px; margin-bottom: 0.2rem; border-top: 1px solid var(--sws-brass); border-bottom: 1px solid var(--sws-brass); background: transparent; opacity: 0.7; }
@media (max-width: 640px) {
  .sws-shead { flex-wrap: wrap; gap: 0.5rem; }
  .sws-shead .sws-rule { flex-basis: 72px; }
}


.sws-ledger { border-top: 1px solid rgba(36,28,19,0.28); }
.sws-ledger__row {
  display: grid; grid-template-columns: 220px 1fr auto; gap: 1rem 1.5rem;
  align-items: center; padding: 1.25rem 0.3rem;
  border-bottom: 1px solid rgba(36,28,19,0.14);
}
.sws-ledger__name { font-family: var(--sws-display); font-size: 1.6rem; color: var(--sws-ink); letter-spacing: 0.02em; }
.sws-ledger__brand { display: flex; align-items: center; gap: 0.65rem; }
.sws-ledger__logo {
  flex: none; width: 72px; height: 42px; object-fit: contain;
  background: #fdfaf3; border: 1px solid rgba(36,28,19,0.16); padding: 4px 6px;
}
.sws-ledger__tags { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.4rem; }
.sws-tag {
  font-family: var(--sws-mono); font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.06em;
  border: 1px solid rgba(140,106,50,0.5); color: var(--sws-ink-dim); padding: 0.12rem 0.4rem; border-radius: 0;
}
.sws-ledger__desc { font-size: 0.96rem; color: var(--sws-ink-dim); }
.sws-ledger__desc b { color: var(--sws-ink); font-weight: 600; }
.sws-ledger__link {
  font-family: var(--sws-mono); font-size: 0.8rem; letter-spacing: 0.05em; text-decoration: none;
  color: var(--sws-ink); white-space: nowrap; transition: color var(--sws-dur) var(--sws-ease);
}
.sws-ledger__link:hover { color: var(--sws-green); }
@media (max-width: 640px) {
  .sws-ledger__row { grid-template-columns: 1fr; gap: 0.4rem; }
  .sws-ledger__link { justify-self: start; }
}


.sws-engine { max-width: none; }
.sws-engine > p:first-child { max-width: 68ch; }
.sws-engine-tabs { display: none; }
.sws-engine-panels { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border: 1px solid var(--sws-brass); background: var(--sws-brass); gap: 1px; margin-top: 1.4rem; }
.sws-engine-panel { min-width: 0; padding: 1.25rem 1.2rem; background: rgba(239,231,213,.88); }
.sws-engine-panel p { margin: .65rem 0 0; }
.sws-engine-panel__code { color: var(--sws-brass-label); font: .66rem/1.2 var(--sws-mono); letter-spacing: .14em; text-transform: uppercase; }
.js .sws-engine-tabs { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 1.5rem; border: 1px solid var(--sws-brass); border-bottom: 0; }
.js .sws-engine-tab { min-height: 52px; padding: .7rem .8rem; border: 0; border-right: 1px solid var(--sws-brass); background: transparent; color: var(--sws-ink-dim); cursor: pointer; font: 1rem/1 var(--sws-display); letter-spacing: .05em; text-transform: uppercase; }
.js .sws-engine-tab:last-child { border-right: 0; }
.js .sws-engine-tab[aria-selected="true"] { background: var(--sws-oxblood); color: var(--sws-chalk); box-shadow: inset 0 -4px 0 var(--sws-brass-lite); }
.js .sws-engine-panels { display: block; margin-top: 0; background: transparent; }
.js .sws-engine-panel { min-height: 158px; border: 1px solid var(--sws-brass); background: var(--sws-paper-2); padding: 1.5rem; }
.js .sws-engine-panel[hidden] { display: none; }
@media (max-width: 700px) {
  .sws-engine-panels { grid-template-columns: 1fr; }
  .js .sws-engine-tabs { grid-template-columns: 1fr; }
  .js .sws-engine-tab { border-right: 0; border-bottom: 1px solid var(--sws-brass); }
  .js .sws-engine-tab:last-child { border-bottom: 0; }
}


.sws-tools { padding: 0; background: transparent; }
.sws-tools__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.4rem; flex-wrap: wrap; }
.sws-tools__head h2 { font-size: clamp(2rem, 5vw, 2.9rem); color: var(--sws-ink); }
.sws-stamp { font-family: var(--sws-mono); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; background: var(--sws-ink); color: var(--sws-paper-2); padding: 0.35rem 0.8rem; }
.sws-prog { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--sws-brass); border: 1px solid var(--sws-brass); }
.sws-prog__item {
  display: block; padding: 1.4rem 1.4rem 1.25rem; background: var(--sws-oxblood);
  text-decoration: none; color: var(--sws-chalk);
  transition: background var(--sws-dur) var(--sws-ease);
}
.sws-prog__item:hover { background: #2a241d; }
.sws-prog__num { font-family: var(--sws-mono); color: var(--sws-brass-lite); font-size: 0.7rem; letter-spacing: 0.1em; display: block; margin-bottom: 0.4rem; }
.sws-prog__name { font-family: var(--sws-display); font-size: 1.35rem; letter-spacing: 0.02em; display: block; margin-bottom: 0.3rem; }
.sws-prog__desc { font-size: 0.88rem; color: #A9A08C; display: block; }
@media (max-width: 640px) {
  .sws-prog { grid-template-columns: 1fr; }
}


.sws-reports { display: grid; grid-template-columns: 1fr; gap: 1.4rem; }
@media (min-width: 800px) { .sws-reports { grid-template-columns: 1fr 1fr; } }
.sws-report { padding: 1.7rem 1.5rem; background: var(--sws-paper-2); color: var(--sws-ink); border: 1px solid rgba(36,28,19,0.14); display: flex; flex-direction: column; }
.sws-report__kick { font-family: var(--sws-mono); font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sws-green); display: block; margin-bottom: 0.5rem; }
.sws-report h3 { font-size: 1.5rem; margin-bottom: 0.6rem; line-height: 1.05; word-spacing: 0.1em; }
.sws-report p { font-size: 0.95rem; margin: 0 0 1.1rem; color: #4a4238; }
.sws-report a { margin-top: auto; font-family: var(--sws-mono); font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sws-green); text-decoration: none; border-bottom: 2px solid var(--sws-brass); padding-bottom: 2px; }


.sws-callout { display: flex; gap: 1rem; align-items: flex-start; margin: 1.8rem 0; padding: 1.1rem 1.3rem; background: var(--sws-paper-2); border: 1px solid var(--sws-ink); border-left: 5px solid var(--sws-brass); }
.sws-callout__mark { width: 40px; height: 40px; flex: none; }
.sws-callout__body { font-size: 0.92rem; }
.sws-callout__body b { font-family: var(--sws-display); color: var(--sws-ink); font-size: 1.15rem; letter-spacing: 0.02em; display: block; font-weight: 400; margin-bottom: 0.2rem; }
.sws-callout--margin { position: relative; margin-block: 2.6rem; padding: 1.35rem 1.5rem 1.2rem; border: 0; border-block: 1px solid var(--sws-brass); background: rgba(239,231,213,.64); }
.sws-callout--margin::before { content: "Margenprotokoll"; position: absolute; top: -.62rem; left: 1.1rem; padding: 0 .55rem; background: var(--sws-paper); color: var(--sws-brass-label); font: .64rem/1.2 var(--sws-mono); letter-spacing: .16em; text-transform: uppercase; }


.sws-infographic { margin: 2rem 0; }
.sws-infographic img { display: block; width: 100%; height: auto; border: 1px solid var(--sws-ink); }
.sws-infographic figcaption { margin-top: 0.55rem; font: 0.8rem/1.45 var(--sws-mono); color: var(--sws-ink-dim); }


.sws-proto { display: flex; gap: 0.8rem; align-items: center; margin: 1.7rem 0; padding: 0.7rem 1rem; background: var(--sws-oxblood); color: var(--sws-chalk); border-top: 1px solid var(--sws-brass-lite); border-bottom: 1px solid var(--sws-brass-lite); }
.sws-proto__mark { width: 30px; height: 30px; flex: none; border-radius: 4px; }
.sws-proto__line { font-family: var(--sws-mono); font-size: 0.8rem; line-height: 1.45; margin: 0; }
.sws-proto__tag { color: var(--sws-brass-lite); text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.62rem; margin-right: 0.6rem; white-space: nowrap; }
.sws-proto__tag::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 0.45rem; border-radius: 1px; background: #4E9B7A; box-shadow: 0 0 0 1px rgba(237,230,214,0.35), 0 0 6px rgba(78,155,122,0.8); vertical-align: baseline; }
.sws-proto__val { color: var(--sws-chalk); }
.sws-proto__val b { color: var(--sws-brass-lite); font-weight: 400; }
.sws-home .sws-proto__mark { display: none; }
@media (max-width: 640px) { .sws-proto { align-items: flex-start; } .sws-proto__tag { display: block; margin-bottom: 0.3rem; } }


@media (min-width: 1080px) {
  .js .sws-proto {
    width: 340px; align-items: flex-start; flex-wrap: wrap;
    margin-left: auto;                                              
    margin-right: calc(-1 * max(0px, min(180px, (100vw - var(--sws-maxw)) / 2 - 14px))); 
    transform: translateX(30px); opacity: 0;
    transition: transform .55s cubic-bezier(.2,.7,.2,1), opacity .5s ease;
  }
  .js .sws-proto.is-in { transform: none; opacity: 1; }
  .js .sws-proto__mark { width: 38px; height: 38px; transform: scale(.7) rotate(-7deg); transform-origin: bottom left;
    transition: transform .5s cubic-bezier(.2,.9,.3,1.15) .06s; }  
  .js .sws-proto.is-in .sws-proto__mark { transform: none; }
  .js .sws-proto__tag { display: block; margin-bottom: 0.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .js .sws-proto { transform: none !important; opacity: 1 !important; transition: none !important; }
  .js .sws-proto__mark { transition: none !important; }
  .js .sws-proto.is-in .sws-proto__mark, .js .sws-proto__mark { transform: none !important; }
}


.sws-foot { margin-top: 4.5rem; padding: 2.4rem 1.6rem; background: var(--sws-oxblood); color: var(--sws-chalk); border-top: 2px solid var(--sws-ink); }
.sws-foot__grid { display: grid; grid-template-columns: 1fr; gap: 1.9rem; max-width: var(--sws-maxw); margin: 0 auto; }
@media (min-width: 760px) { .sws-foot__grid { grid-template-columns: 2fr 1fr 1fr; } }
.sws-foot h3 { font-family: var(--sws-mono); color: var(--sws-brass-lite); font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 0.7rem; }
.sws-foot a { display: block; color: #A9A08C; text-decoration: none; font-size: 0.88rem; padding: 0.2rem 0; }
.sws-foot a:hover { color: var(--sws-chalk); }
.sws-foot p { color: #A9A08C; font-size: 0.88rem; }
.sws-age { display: inline-flex; gap: 0.8rem; align-items: center; border: 1px solid var(--sws-brass); padding: 0.6rem 0.9rem; margin-top: 1.5rem; }
.sws-age__badge { font-family: var(--sws-mono); border: 1px solid var(--sws-brass-lite); color: var(--sws-brass-lite); padding: 0.15rem 0.5rem; font-size: 0.9rem; }
.sws-age__txt { font-size: 0.76rem; line-height: 1.35; color: #A9A08C; }
.sws-foot__legal { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid rgba(176,138,79,0.3); font-size: 0.72rem; color: #A9A08C; max-width: var(--sws-maxw); margin-left: auto; margin-right: auto; }


@media (prefers-reduced-motion: no-preference) {
  .sws-split .sws-split__row { opacity: 0; transform: translateY(-6px); animation: sws-settle 0.34s var(--sws-ease) forwards; }
  .sws-split .sws-split__row:nth-child(2) { animation-delay: 0.06s; }
  .sws-split .sws-split__row:nth-child(3) { animation-delay: 0.12s; }
}
@keyframes sws-settle { to { opacity: 1; transform: none; } }


.sws-crumb { font-family: var(--sws-mono); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; margin: 1.6rem 0 0.4rem; color: var(--sws-ink-dim); }
.sws-crumb a { color: var(--sws-green); text-decoration: none; }
.sws-crumb a:hover { text-decoration: underline; }
.sws-crumb span { color: var(--sws-ink); opacity: 0.6; }

.sws-lede { font-size: 1.12rem; line-height: 1.6; max-width: 62ch; margin: 0.6rem 0 1.8rem; color: var(--sws-ink-dim); }
.sws-wrap:not(.sws-home):not(.sws-legal) > .sws-lede::first-letter { float: left; margin: .05em .12em 0 0; color: var(--sws-green); font: 3.6rem/.78 var(--sws-display); }

.sws-prose { max-width: 68ch; }
.sws-prose h2 { font-family: var(--sws-display); font-size: 2rem; letter-spacing: 0.02em; color: var(--sws-ink); margin: 2.4rem 0 0.6rem; font-weight: 400; word-spacing: 0.08em; }
.sws-prose h3 { font-family: var(--sws-display); font-size: 1.4rem; letter-spacing: 0.02em; color: var(--sws-ink); margin: 1.6rem 0 0.4rem; font-weight: 400; word-spacing: 0.08em; }
.sws-prose p { margin: 0 0 1rem; }
.sws-prose ul, .sws-prose ol { margin: 0 0 1.2rem; padding-left: 1.3rem; }
.sws-prose li { margin-bottom: 0.4rem; }
.sws-prose strong, .sws-prose b { color: var(--sws-ink); }
.sws-prose a { color: var(--sws-green); text-decoration: none; border-bottom: 1px solid var(--sws-brass); }
.sws-prose a:hover { border-bottom-color: var(--sws-green); }


.sws-filter { border: 1px solid var(--sws-ink); background: var(--sws-paper-2); padding: 1.2rem; margin: 1.8rem 0; }
.sws-filter__head { font-family: var(--sws-display); font-size: 1.3rem; letter-spacing: 0.03em; color: var(--sws-ink); }
.sws-filter__note { font-family: var(--sws-mono); font-size: 0.72rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--sws-ink-dim); margin-top: 0.3rem; }


.sws-faq { margin: 1.6rem 0; max-width: 68ch; }
.sws-faq details { border-bottom: 1px solid rgba(36,28,19,0.2); }
.sws-faq summary { list-style: none; cursor: pointer; padding: 0.9rem 0; display: flex; align-items: baseline; gap: 0.6rem; }
.sws-faq summary::-webkit-details-marker { display: none; }
.sws-faq summary::before { content: "+"; font-family: var(--sws-mono); color: var(--sws-brass); font-size: 1.1rem; flex: none; }
.sws-faq details[open] summary::before { content: "\2013"; }
.sws-faq__q { font-family: var(--sws-display); font-size: 1.25rem; letter-spacing: 0.02em; color: var(--sws-ink); margin: 0; font-weight: 400; position: relative; }
.sws-faq__q::after { content: ""; position: absolute; left: 0; bottom: -2px; height: 2px; width: 0; background: var(--sws-brass); }
@media (prefers-reduced-motion: no-preference) { .sws-faq__q::after { transition: width 0.28s var(--sws-ease); } }
.sws-faq details[open] .sws-faq__q::after { width: 100%; }
.sws-faq__a { padding: 0 0 1rem; font-size: 0.96rem; }
.sws-faq__a p { margin: 0 0 0.6rem; }
.sws-intro { max-width: 74ch; margin: 1.8rem 0 0.4rem; color: var(--sws-ink-dim); }


.sws-article { display: grid; grid-template-columns: minmax(0,1fr) 288px; gap: 2.6rem; align-items: start; margin-top: 1.2rem; }
.sws-article__main { min-width: 0; }
.sws-rail { position: sticky; top: 1.2rem; display: grid; gap: 1.1rem; font-size: 0.9rem; }
.sws-rail__box { border: 1px solid rgba(154,123,63,0.4); background: var(--sws-paper); padding: 0.85rem 1rem 1rem; }
.sws-rail__h { display: block; font-family: var(--sws-display); font-weight: 400; letter-spacing: 0.04em; font-size: 1rem; color: var(--sws-ink); margin: 0 0 0.55rem; text-transform: uppercase; }
.sws-rail__toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3rem; }
.sws-rail__toc li { margin: 0; }
.sws-rail__toc a { display: block; color: var(--sws-ink-dim); text-decoration: none; border-left: 2px solid var(--sws-brass); padding: 0.12rem 0 0.12rem 0.6rem; line-height: 1.3; }
.sws-rail__toc a:hover, .sws-rail__toc a.is-active { color: var(--sws-green); border-left-color: var(--sws-green); }
.sws-rail__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.sws-rail__links a { color: var(--sws-green); text-decoration: none; border-bottom: 1px solid var(--sws-brass); }
.sws-rail__links a:hover { border-bottom-color: var(--sws-green); }
.sws-rail__cta { display: block; text-align: center; background: var(--sws-oxblood); color: var(--sws-chalk); padding: 0.7rem 0.8rem; text-decoration: none; font-family: var(--sws-display); letter-spacing: 0.03em; border: 1px solid var(--sws-brass); }
.sws-rail__cta:hover { background: var(--sws-green); }
@media (max-width: 900px) {
  .sws-article { grid-template-columns: 1fr; gap: 1.4rem; }
  .sws-rail { position: static; }
}



.sws-bot { display: none; position: fixed; left: 1.1rem; bottom: 0; z-index: 60; align-items: flex-end; gap: 0.4rem; pointer-events: none; }
.js .sws-bot { display: flex; }
.sws-bot__fig { flex: none; width: 74px; height: 74px; filter: drop-shadow(0 5px 9px rgba(0,0,0,0.4)); }
.sws-bot__bubble { position: relative; pointer-events: auto; max-width: 258px; margin-bottom: 30px; background: var(--sws-oxblood); color: var(--sws-chalk); border: 1px solid var(--sws-brass); border-radius: 12px 12px 3px 12px; padding: 0.68rem 1.7rem 0.7rem 0.85rem; font-size: 0.83rem; line-height: 1.46; box-shadow: 0 6px 20px rgba(0,0,0,0.24); }

.sws-bot__bubble::before { content: ""; position: absolute; right: -9px; bottom: 10px; border: 8px solid transparent; border-left-color: var(--sws-brass); }
.sws-bot__bubble::after { content: ""; position: absolute; right: -7px; bottom: 11px; border: 7px solid transparent; border-left-color: var(--sws-oxblood); }
.sws-bot__k { display: block; font-family: var(--sws-display); font-weight: 400; letter-spacing: 0.04em; font-size: 0.82rem; color: var(--sws-brass-lite); margin-bottom: 0.2rem; text-transform: uppercase; }
.sws-bot__x { position: absolute; top: 0.12rem; right: 0.3rem; background: none; border: none; color: var(--sws-chalk); opacity: 0.55; font-size: 0.9rem; cursor: pointer; line-height: 1; padding: 0.2rem; }
.sws-bot__x:hover, .sws-bot__x:focus-visible { opacity: 1; outline: none; }

.js .sws-bot { transform: translateY(118%); transition: transform 0.5s cubic-bezier(.2,.8,.2,1); }
.js .sws-bot.is-in { transform: translateY(0); }
.js .sws-bot__bubble { opacity: 0; transform: translateY(6px) scale(0.96); transform-origin: bottom left; transition: opacity 0.3s ease 0.26s, transform 0.35s cubic-bezier(.2,.9,.3,1.2) 0.26s; }
.js .sws-bot.is-in .sws-bot__bubble { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .sws-bot, .js .sws-bot__bubble { transition: none; }
  .js .sws-bot.is-in .sws-bot__bubble { opacity: 1; transform: none; }
}
@media (max-width: 640px) { .sws-bot__fig { width: 58px; height: 58px; } .sws-bot__bubble { max-width: 62vw; margin-bottom: 22px; } }


.sws-spec { margin: 1.8rem 0; border-top: 1px solid var(--sws-brass); }
.sws-spec__row { display: grid; grid-template-columns: minmax(9rem, 14rem) 1fr; gap: 0.35rem 1.4rem;
  padding: 0.62rem 0; border-bottom: 1px solid rgba(140, 106, 50, 0.32); }

.sws-spec__k { font-family: var(--sws-mono); font-size: 0.68rem; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--sws-brass-label); margin: 0; }
.sws-spec__v { font-family: var(--sws-mono); font-size: 0.9rem; line-height: 1.5; color: var(--sws-ink); margin: 0; }
.sws-spec__v b { font-weight: 600; }
@media (max-width: 560px) {
  .sws-spec__row { grid-template-columns: 1fr; gap: 0.15rem; padding: 0.72rem 0; }
}


.sws-mast { position: sticky; top: 0; z-index: 50; box-shadow: 0 5px 0 rgba(140,106,50,.13); }
.sws-home { position: relative; }
.sws-home::before {
  content: ""; position: absolute; inset: 0 1rem; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg,
    transparent 24.9%, rgba(140,106,50,.08) 25%, transparent 25.1%,
    transparent 49.9%, rgba(140,106,50,.08) 50%, transparent 50.1%,
    transparent 74.9%, rgba(140,106,50,.08) 75%, transparent 75.1%);
}

.sws-home .sws-wire { justify-content: center; }
.sws-home .sws-hero { align-items: stretch; gap: clamp(1.2rem, 3vw, 3rem); margin-top: 2.7rem; }
@media (min-width: 900px) { .sws-home .sws-hero { grid-template-columns: 1fr 1fr; } }
.sws-home .sws-hero__lead { display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; isolation: isolate; text-align: center; box-shadow: 10px 10px 0 rgba(140,106,50,.24); }
.sws-home .sws-hero__lead::before {
  content: ""; position: absolute; width: 210px; height: 210px; right: -105px; top: -105px; z-index: -1;
  border: 1px solid rgba(176,138,79,.5); border-radius: 50%; box-shadow: 0 0 0 22px rgba(176,138,79,.05), 0 0 0 44px rgba(176,138,79,.035);
}
.sws-home .sws-hero__sub { margin-inline: auto; text-wrap: balance; }
.sws-home .sws-btn { align-self: center; border-color: var(--sws-brass-lite); }
.sws-home .sws-btn:hover { background: var(--sws-brass-lite); color: var(--sws-oxblood-deep); }
.sws-home .sws-tote { box-shadow: -8px 8px 0 rgba(30,58,47,.2); }
.sws-home .sws-tote { justify-content: center; text-align: center; }
.sws-home .sws-tote__label { left: 50%; transform: translateX(-50%); white-space: nowrap; }
.sws-home .sws-tote__row { justify-content: center; }
.sws-home .sws-tote__cell { text-align: center; }

.sws-home .sws-intro { max-width: 68ch; display: block; margin-block: 3.2rem 2rem; padding-block: 0; border-block: 0; }
.sws-home .sws-intro p { margin: 0 0 1rem; text-align: left; text-wrap: pretty; hyphens: auto; }
.sws-home .sws-intro p:first-child::first-letter { float: left; margin: .05em .12em 0 0; color: var(--sws-green); font: 3.6rem/.78 var(--sws-display); }
.sws-home .sws-engine { max-width: none; }
.sws-home .sws-engine > p { max-width: 68ch; margin: 0 0 1.5rem; text-align: left; text-wrap: pretty; }

.sws-home .sws-shead { margin-top: clamp(4.5rem, 8vw, 7rem); text-align: left; }
.sws-home .sws-shead::before { content: none; }
.sws-home .sws-shead h2 { position: relative; max-width: 24ch; white-space: normal; }
.sws-home .sws-shead h2::before { content: attr(data-register); display: block; margin-bottom: .45rem; color: var(--sws-brass-label); font: .65rem/1 var(--sws-mono); letter-spacing: .18em; }

.sws-home .sws-ledger { counter-reset: vendor; border-top: 2px solid var(--sws-ink); border-bottom: 2px solid var(--sws-ink); }
.sws-home .sws-ledger__row { counter-increment: vendor; grid-template-columns: 38px 190px minmax(0,1fr) auto; position: relative; padding-block: 1.45rem; transition: background var(--sws-dur) var(--sws-ease), padding-inline var(--sws-dur) var(--sws-ease); }
.sws-home .sws-ledger__row::before { content: "0" counter(vendor); color: var(--sws-brass-label); font: .7rem/1 var(--sws-mono); letter-spacing: .08em; }
.sws-home .sws-ledger__row::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--sws-green); transform: scaleY(0); transform-origin: top; transition: transform var(--sws-dur) var(--sws-ease); }
.sws-home .sws-ledger__row:hover, .sws-home .sws-ledger__row:focus-within { background: rgba(239,231,213,.62); padding-inline: .75rem; }
.sws-home .sws-ledger__row:hover::after, .sws-home .sws-ledger__row:focus-within::after { transform: scaleY(1); }
.sws-home .sws-ledger__link::after { content: ""; display: inline-block; width: 22px; height: 1px; margin-left: .5rem; background: var(--sws-brass); vertical-align: middle; transition: width var(--sws-dur) var(--sws-ease); }
.sws-home .sws-ledger__link:hover::after, .sws-home .sws-ledger__link:focus-visible::after { width: 38px; }

.sws-home .sws-tools { margin-top: clamp(4.5rem, 8vw, 7rem); }
.sws-home .sws-tools__head { position: relative; justify-content: space-between; text-align: left; }
.sws-home .sws-tools__head .sws-stamp { position: static; }
.sws-home .sws-prog__item { min-height: 154px; position: relative; overflow: hidden; padding: 1.6rem; }
.sws-home .sws-prog__item::after { content: "→"; position: absolute; right: 1.25rem; bottom: .9rem; color: var(--sws-brass-lite); font: 1.4rem/1 var(--sws-mono); transform: translateX(-8px); opacity: .35; transition: transform var(--sws-dur) var(--sws-ease), opacity var(--sws-dur) var(--sws-ease); }
.sws-home .sws-prog__item:hover::after, .sws-home .sws-prog__item:focus-visible::after { transform: none; opacity: 1; }
.sws-home .sws-prog__num { font-size: .76rem; }
.sws-home .sws-prog__name { font-size: 1.65rem; }

.sws-home .sws-proto { width: auto !important; margin: 2.8rem 0 !important; padding: .75rem 1rem; transform: none !important; opacity: 1 !important; border: 1px solid var(--sws-brass); border-left: 7px solid var(--sws-green); }
.sws-home .sws-proto__line { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: .25rem .65rem; text-align: center; }
.sws-home .sws-callout--margin { text-align: center; }
.sws-home .sws-callout--margin .sws-callout__body { width: 100%; }

.sws-home .sws-reports { gap: 0; border-block: 2px solid var(--sws-ink); }
.sws-home .sws-report { position: relative; min-height: 255px; padding: 2rem 2rem 1.7rem; border: 0; background: transparent; align-items: center; text-align: center; }
.sws-home .sws-report + .sws-report { border-left: 1px solid rgba(36,28,19,.28); }
.sws-home .sws-report::before { content: "A"; position: absolute; right: 1.4rem; top: 1rem; color: rgba(140,106,50,.22); font: 5rem/1 var(--sws-display); }
.sws-home .sws-report + .sws-report::before { content: "B"; }
.sws-home .sws-report h3 { max-width: 19ch; margin-inline: auto; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.sws-home .sws-report a { align-self: center; }

@media (max-width: 760px) {
  .sws-mast { position: static; }
  .sws-home::before { display: none; }
  .sws-home .sws-intro { grid-template-columns: 1fr; }
  .sws-home .sws-intro p { text-align: left; hyphens: manual; }
  .sws-home .sws-shead .sws-rule { width: 72px; }
  .sws-home .sws-tools__head { display: flex; flex-direction: column; align-items: center; }
  .sws-home .sws-tools__head .sws-stamp { position: static; }
  .sws-home .sws-ledger__row { grid-template-columns: 32px 1fr; gap: .45rem .7rem; }
  .sws-home .sws-ledger__row > :first-of-type,
  .sws-home .sws-ledger__desc,
  .sws-home .sws-ledger__link { grid-column: 2; }
  .sws-home .sws-ledger__row::before { grid-column: 1; grid-row: 1; padding-top: .35rem; }
  .sws-home .sws-report + .sws-report { border-left: 0; border-top: 1px solid rgba(36,28,19,.28); }
}


.sws-locale { position: fixed; right: 1.1rem; bottom: 1.1rem; z-index: 61; display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.7rem; max-width: 21rem; padding: 0.8rem 0.95rem; background: var(--sws-oxblood); color: var(--sws-chalk); border: 1px solid var(--sws-brass); border-radius: 12px 12px 12px 3px; box-shadow: 0 8px 24px rgba(0,0,0,0.28); }
.sws-locale__txt { flex: 1 1 100%; margin: 0; font-size: 0.84rem; line-height: 1.45; }
.sws-locale__go { font-family: var(--sws-display); letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.8rem; padding: 0.34rem 0.7rem; border-radius: 5px; background: var(--sws-brass); color: var(--sws-ink, #14110E); text-decoration: none; }
.sws-locale__go:hover, .sws-locale__go:focus-visible { background: var(--sws-brass-lite); }
.sws-locale__x { background: none; border: none; padding: 0.34rem 0.2rem; color: var(--sws-chalk); opacity: 0.68; font-size: 0.8rem; cursor: pointer; text-decoration: underline; }
.sws-locale__x:hover, .sws-locale__x:focus-visible { opacity: 1; }


.sws-locale { transform: translateY(130%); transition: transform 0.42s cubic-bezier(.2,.8,.2,1); }
.sws-locale.is-in { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .sws-locale { transform: none; transition: none; }
}
@media (max-width: 760px) {
  
  .sws-locale { right: 0; left: 0; bottom: 0; max-width: none; border-radius: 0; border-left: 0; border-right: 0; border-bottom: 0; }
}
