/*
MIT License

Copyright (c) 2023 Uiverse.io

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Component by mamyapro123: https://uiverse.io/mamyapro123/curvy-snake-6
*/

:root{color-scheme:light;--paper:#f7f7f0;--ink:#1e231e;--muted:#50584b;--rule:#d4d9cb;--lime:#dededa;--deep:#111;--mono:Consolas,"Courier New",monospace;--sans:"Inter","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.62 var(--sans)}
a{color:inherit;text-underline-offset:.2em}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid #4c671c;outline-offset:4px}
[hidden]{display:none!important}
.skip{position:fixed;z-index:5;top:.5rem;left:.5rem;transform:translateY(-150%);background:var(--lime);padding:.5rem 1rem}
.skip:focus{transform:none}
.mono,.edition,.workflow,.audio-tile,.fair span{font-family:var(--mono);letter-spacing:.07em}
.site-header{position:sticky;top:0;z-index:4;background:var(--paper);border-bottom:1px solid var(--rule)}
.topbar{max-width:1540px;padding:0 clamp(16px,3vw,48px);margin:auto;min-height:72px;display:flex;gap:18px;align-items:center;justify-content:space-between}
.wordmark{font-weight:850;letter-spacing:-.045em;font-size:15px;white-space:nowrap;text-decoration:none}
.wordmark span{display:inline-grid;place-items:center;background:var(--lime);width:27px;height:27px;margin-right:5px;border:1px solid var(--ink);font-size:18px;line-height:1}
#top-nav{display:flex;align-items:center;gap:clamp(4px,1vw,15px)}
#top-nav a{font-size:13px;font-weight:650;text-decoration:none;padding:6px 9px;white-space:nowrap}
#top-nav a:hover,#top-nav a[aria-current]{background:var(--lime)}
.print-btn,#menu-toggle{background:none;border:1px solid var(--rule);padding:6px 10px;font-weight:700;font-size:13px;white-space:nowrap}
.print-btn:hover,#menu-toggle:hover{border-color:var(--ink)}
.read-track{height:2px;background:var(--rule)}
.read-track div{height:100%;background:#68843b;transition:width .2s ease}
#menu-toggle,.print-cover{display:none}
main,.site-footer{width:min(1260px,calc(100% - clamp(32px,10vw,160px)));margin:auto}
.module-head{padding:clamp(42px,6vw,90px) 0 34px;border-bottom:1px solid var(--rule)}
.module-0 .module-head{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);align-items:center;gap:clamp(25px,6vw,90px);border-bottom:0;padding-bottom:44px}
.edition{font-size:12px;font-weight:700;color:var(--muted);margin:0 0 22px}
h1{font-size:clamp(42px,7.2vw,108px);font-weight:900;letter-spacing:-.075em;line-height:.94;margin:0;max-width:16ch;text-wrap:balance}
.module-0 h1{font-size:clamp(44px,7.25vw,110px);text-wrap:initial}
.module-0 h1 span{display:block}
.deck{font-size:clamp(18px,2vw,24px);line-height:1.3;margin:23px 0 0;color:var(--muted);max-width:65ch}
.cta{display:inline-block;padding:12px 18px;margin-top:25px;font:700 13px/1.4 var(--mono);letter-spacing:.04em;background:var(--lime);border:1px solid var(--ink);text-decoration:none;transition:background .2s,color .2s}
.cta:hover{background:var(--ink);color:var(--lime)}
.workflow,.fair,.timeline,.references,.checklist,.licences{list-style:none;padding:0}
.workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--rule);margin:0;font-size:12px;font-weight:700}
.workflow li{padding:13px clamp(7px,2vw,20px);border-right:1px solid var(--rule)}
.workflow li:last-child{border:0}
.workflow li:nth-child(2){background:#e7eccd}
.workflow.in-view li:nth-child(2){animation:signal .6s ease}
@keyframes signal{from{background:var(--paper)}to{background:#e7eccd}}
.workflow span{color:var(--muted);margin-right:5px}
.chapter-body{max-width:830px;padding:2px 0 24px}
.module-0 .chapter-body{max-width:100%}
.module-0 .chapter-body>p{max-width:65ch}
.chapter-body h2{font-size:clamp(24px,3.2vw,36px);letter-spacing:-.044em;line-height:1.13;margin:44px 0 14px}
.chapter-body h3{font-size:clamp(19px,2vw,24px);line-height:1.2;letter-spacing:-.025em;margin:23px 0 12px}
.chapter-body p{margin:0 0 14px}
.chapter-body .cite{font:700 .83em var(--mono);color:#39521d;white-space:nowrap}
.outcomes{padding-left:1.25em}
.outcomes li::marker{color:#516e2a}
blockquote{margin:26px 0 0;padding:12px 16px;border-left:1px solid #111;background:#eaeddf;font-size:1.07em;font-weight:720}
.rights-grid,.licences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:start}
details{border:1px solid var(--rule);background:#f0f1e8}
summary{cursor:pointer;padding:13px 15px;font-weight:750}
details>div{padding:0 15px}
.rights{transition:transform .2s,border-color .2s}
.rights:hover,.rights:focus-within{border-color:#7a8e5f;transform:translateY(-4px)}
.rights summary span{font:700 13px var(--mono);color:#475f2b}
.rights summary h3{display:block;margin:7px 0 0;font-size:19px}
.notice{margin-top:30px;padding:18px 20px;background:#e8edda;border-top:2px solid #779249}
.notice h2{margin-top:0}
.notice p:last-child{margin-bottom:0}
.audio-tile{max-width:430px;background:var(--deep);color:var(--lime);padding:12px 16px;font-size:11px}
.audio-tile svg{display:block;width:100%;height:54px;fill:currentColor;margin:8px 0;border-block:1px solid #586a4f}
.scenario{margin:28px 0;padding:18px 20px;background:#edf0e0;border-left:1px solid #111}
.scenario h3{margin-top:0}
.scenario-actions{display:flex;flex-wrap:wrap;gap:8px}
.scenario button,.pager button,#reset{background:var(--paper);border:1px solid #828f76;padding:6px 11px;font-size:14px;font-weight:700}
.scenario button:hover,.scenario button[aria-pressed=true],.pager button:hover,#reset:hover{background:var(--lime)}
.scenario-feedback{margin-top:14px}
.scenario-feedback p{margin:2px 0 0}
.fair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fair li{padding:12px 14px;background:#e9edda;border-top:1px solid #92a477;font-weight:700;position:relative}
.fair span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.fair li:first-child:after{content:'→';position:absolute;right:-15px;top:45%}
.timeline{border-left:1px solid #8c9d75;margin:20px 0 24px 7px}
.timeline li{position:relative;display:grid;grid-template-columns:64px 1fr;gap:8px;padding:8px 0 14px 18px}
.timeline li::before{content:'';position:absolute;top:16px;left:-5px;width:9px;height:9px;border:1px solid #43572f;background:var(--lime);border-radius:50%}
.timeline li.in-view{animation:timeline-in .5s ease both}
@keyframes timeline-in{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:none}}
.timeline li .mono{color:var(--muted);font-size:13px;padding-top:2px}
.timeline strong,.timeline div span{display:block}
.timeline div span{color:var(--muted)}
.case-marker{display:inline-block;padding:2px 7px;background:var(--lime);font-weight:750}
.progress-panel{background:var(--deep);color:#f6f8ef;padding:13px 17px}
.progress-panel>div{display:flex;justify-content:space-between;align-items:center}
#count{font:700 14px var(--mono)}
#reset{color:var(--ink)}
progress{display:block;width:100%;height:7px;margin-top:12px;appearance:none;border:0;background:#50614b;color:var(--lime)}
progress::-webkit-progress-bar{background:#50614b}
progress::-webkit-progress-value{background:var(--lime);transition:width .2s ease}
progress::-moz-progress-bar{background:var(--lime)}
.checklist{margin:0 0 14px;border-top:1px solid var(--rule)}
.checklist li{border-bottom:1px solid var(--rule)}
.checklist label{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:13px;padding:12px 10px;cursor:pointer}
.checklist label:hover,.checklist label:has(:checked){background:#e8edd7}
.checklist input{accent-color:#4d6834;width:19px;height:19px;margin:3px 0 0}
.checklist strong{font:700 13px var(--mono)}
.complete{background:var(--lime);padding:8px 12px;font-weight:750}
.report-flow{display:grid;justify-items:center;gap:5px;background:#eff1e6;padding:12px;margin:0 0 15px;font-size:14px;text-align:center}
.report-flow>span,.report-flow div span{padding:2px 9px;border:1px solid var(--rule)}
.report-flow>span:nth-child(2){background:#e0ebc6}
.report-flow>span::after{content:' ↓';font-weight:700}
.report-flow div{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}
.answer{max-width:650px}
.references{margin:20px 0}
.references li{padding:16px 0;border-bottom:1px solid var(--rule);scroll-margin-top:108px}
.references li:target{background:#e9edda}
.references p{margin-bottom:6px}
.source-url{display:block;overflow-wrap:anywhere;color:#39521d;font-size:.9em}
.pager{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:14px;margin:16px 0 30px;border-top:1px solid var(--rule);padding-top:17px}
.pager a{text-decoration:none;font-weight:730;line-height:1.4}
.pager a:hover{text-decoration:underline}
.pager a span{display:block;color:var(--muted);font-size:12px}
.pager>:last-child{justify-self:end;text-align:right}
.site-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--rule);padding:15px 0 23px;font-size:12px;color:var(--muted)}
@media(max-width:1100px){
  #menu-toggle{display:block;margin-left:auto}
  #top-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--rule);padding:12px clamp(16px,5vw,56px)}
  #menu-toggle[aria-expanded=true]+#top-nav{display:flex;flex-wrap:wrap}
}
@media(max-width:710px){
  .topbar{gap:7px;min-height:60px}
  .wordmark{font-size:12px;white-space:normal;line-height:1.15}
  .wordmark span{display:none}
  .print-btn,#menu-toggle{padding:5px 6px;font-size:11px}
  #menu-toggle[aria-expanded=true]+#top-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px}
  #top-nav a{white-space:normal}
  .module-0 .module-head{grid-template-columns:1fr;padding-bottom:24px}
  .module-0 h1{font-size:clamp(42px,11vw,75px)}
  h1{font-size:clamp(34px,9vw,58px);overflow-wrap:break-word}
  .workflow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow li{border-bottom:1px solid var(--rule)}
  .rights-grid,.licences{grid-template-columns:1fr}
  .fair{gap:12px}.fair li{padding:8px;font-size:14px}
  .fair li:first-child:after{right:-12px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  progress::-webkit-progress-value{transition:none}
}
@page{size:A4;margin:15mm 16mm}
@media print{
  :root{--ink:#151515;--muted:#333;--paper:white;--rule:#ccc}
  body{background:white;font:10.5pt/1.38 var(--sans)}
  main,.site-footer{width:auto}
  .no-print,.skip,.audio-tile,.read-track{display:none!important}
  .print-cover{display:flex;flex-direction:column;justify-content:center;height:240mm;border-block:1px solid #111}
  .print-cover h1{font-size:60pt}
  .print-cover>p:not(.mono){font-size:17pt}
  .print-cover>div{margin-top:24mm}
  .module,.module[hidden]{display:block!important;break-before:page}
  .module-head,.module-0 .module-head{display:block;padding:0 0 12px}
  h1,.module-0 h1{font-size:32pt;max-width:none;text-wrap:initial}
  .print-cover h1{max-width:16ch}
  .module-0 h1 span{display:inline}
  .edition{font-size:8pt;margin-bottom:10px}
  .deck{font-size:13pt;margin-top:8px}
  .workflow{margin:8px 0;font-size:8pt}
  .workflow li{padding:5px}
  .chapter-body{max-width:none;padding:0}
  .chapter-body h2{font-size:15pt;margin:15px 0 6px}
  .chapter-body h3,.rights summary h3{font-size:11pt;margin:9px 0 4px}
  .chapter-body p{margin:0 0 7px}
  h1,h2,h3,summary{break-after:avoid}
  p{orphans:3;widows:3}
  blockquote,.notice,.scenario,.fair,.report-flow,details,.timeline li,.checklist li,.references li{break-inside:avoid;background:none!important}
  blockquote,.notice,.scenario{margin:9px 0;padding:6px 9px}
  .notice h2{margin:0 0 5px}
  details>div,details::details-content{content-visibility:visible!important;display:block!important}
  summary{padding:5px 8px;list-style:none}
  summary::-webkit-details-marker{display:none}
  details>div{padding:0 8px}
  .scenario-feedback[hidden]{display:block!important;margin-top:4px}
  .timeline{margin:7px 0 9px 7px}
  .timeline li{padding:2px 0 3px 14px}
  .timeline li::before{top:6px}
  .fair,.report-flow,.licences{margin:7px 0}
  .fair li,.report-flow{padding:4px 7px}
  .checklist label{padding:4px 3px}
  .checklist input{appearance:none;border:1px solid #555;width:11px;height:11px;margin:2px 0 0}
  .references li{padding:8px 0}
  .source-url,.chapter-body .cite{color:#111}
  .site-footer{margin-top:12px;padding:8px 0 0}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Swiss editorial grid */
:root {
  --paper:#f7f7f4;
  --ink:#111;
  --muted:#51514d;
  --rule:#dededa;
  --signal:#e52521;
  --red-text:#ae1d1a;
  --sans:Inter,"Helvetica Neue",Arial,sans-serif;
  --display:"Arial Black","Helvetica Neue",Arial,sans-serif;
}
:focus-visible {outline-color:var(--red-text)}
h1 {font-family:var(--display);font-weight:900;letter-spacing:-.055em}
.wordmark span {color:var(--signal);border:0;background:none;font-size:24px}
#top-nav a {transition:color .18s,transform .18s;position:relative}
#top-nav a:hover,#top-nav a[aria-current] {background:none;color:var(--red-text)}
#top-nav a:hover {transform:translateY(-2px)}
#top-nav a[aria-current]::after {content:"";position:absolute;inset:auto 9px 0;height:2px;background:var(--signal)}
.read-track div {background:var(--signal)}
.module-0 .module-head {grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4.8vw,70px);padding-block:clamp(40px,6vw,84px) 48px}
.module-0 h1 {font-size:clamp(39px,6.35vw,98px);line-height:.91}
.module-0 h1 span {animation:none}
.module-0 h1 span:last-child {color:var(--ink)}
.cta {background:var(--ink);color:white;border-color:var(--ink);margin-top:22px}
.cta:hover {background:white;color:var(--ink)}
.workflow {border-top:0}
.workflow li:nth-child(2),.workflow.in-view li:nth-child(2) {color:var(--red-text);background:#eeeeea;animation:none}
.chapter-body .cite,.source-url {color:var(--red-text)}
.outcomes li::marker {color:var(--signal)}
blockquote {border-left-color:var(--signal);background:#eeeeea}
.rights,.licences details {border:0;border-top:2px solid var(--ink);background:#eeeee9}
.rights:hover,.rights:focus-within {border-color:var(--signal)}
.rights summary span {color:var(--red-text);font-size:clamp(14px,2vw,25px);letter-spacing:-.055em}
.notice,.scenario,.fair li {background:#eeeee9;border-color:var(--signal)}
.audio-tile,.progress-panel {background:var(--ink);color:white}
.audio-tile svg {fill:#d6d6d2;border-color:#4d4d4a}
.scenario button,.pager button,#reset {border-color:#777}
.scenario button:hover,.scenario button[aria-pressed=true],.pager button:hover,#reset:hover {background:#dededa}
.timeline {border-color:#aaa}
.timeline li::before {border-color:var(--signal);background:var(--signal)}
.timeline li .mono {font-weight:700;color:var(--red-text)}
.timeline li:last-child strong {font-size:clamp(17px,2vw,23px);letter-spacing:-.025em}
@media screen {
  :root {--panel:#eeeee9;--accent-panel:#f4e7e4}
  .timeline li:last-child div span {font-size:clamp(23px,4vw,42px);font-weight:900;letter-spacing:-.055em;color:var(--ink);line-height:1.15;margin-top:5px}
}
.case-marker,.complete {background:#eeeeea;border-left:1px solid var(--signal)}
.report-flow,.report-flow>span:nth-child(2),.references li:target {background:#eeeee9}
progress,progress::-webkit-progress-bar {background:#53534f}
progress::-webkit-progress-value {background:var(--signal)}
progress::-moz-progress-bar {background:var(--signal)}
.checklist label:hover,.checklist label:has(:checked) {background:#eaeae6}
.checklist label:has(:checked) strong {color:var(--red-text)}
.checklist input {accent-color:var(--red-text)}
.inspector {margin:32px 0 42px;border-block:1px solid var(--ink);padding:13px 0 18px}
.inspector .inspector-kicker {color:var(--red-text);font-size:11px;margin:0 0 8px}
.inspector h2 {margin:0 0 8px}
.asset-select {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--rule)}
.asset-select button {border:0;border-right:1px solid var(--rule);text-align:left;background:none;padding:10px;font-weight:800;transition:color .18s,box-shadow .18s}
.asset-select button:last-child {border-right:0}
.asset-select button span,.asset-record dt {font:700 11px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.asset-select button span {margin-right:.3em}
.asset-select button:hover,.asset-select button[aria-pressed=true] {color:var(--red-text);box-shadow:inset 0 -3px var(--signal)}
.asset-record:not([hidden]) {animation:asset-reveal .28s cubic-bezier(.7,0,.2,1)}
@keyframes asset-reveal {from{clip-path:inset(0 0 16% 0);transform:translateY(3px)}to{clip-path:inset(0);transform:none}}
.asset-record dl {margin:0 0 12px;border-top:1px solid var(--rule)}
.asset-record dl div {display:grid;grid-template-columns:minmax(62px,20%) 1fr;gap:8px;align-items:baseline;border-bottom:1px solid var(--rule);padding:5px 0}
.asset-record dd {margin:0}
.asset-actions {display:flex;flex-wrap:wrap;gap:7px}
.asset-actions button {text-align:left;border:1px solid #777;background:none;padding:6px 9px;font-weight:700;font-size:14px}
.asset-actions button:hover,.asset-actions button[aria-pressed=true] {background:var(--ink);color:white}
.asset-feedback:not(:empty) {border-left:1px solid var(--signal);padding:8px 10px;margin:12px 0 0;background:#eeeee9}
.asset-print-answer {display:none}
@media screen and (min-width:711px) {
  .module:not(.module-0) .chapter-body {max-width:780px;margin-left:clamp(0px,8vw - 45px,84px)}
}
@media screen and (max-width:710px) {
  .module-0 .module-head {grid-template-columns:1fr;padding-block:34px 25px;gap:28px}
  .module-0 h1 {font-size:clamp(39px,11vw,75px)}
  .asset-select button {padding:8px 5px;font-size:14px}
}
@media print {
  .module-0 .module-head {display:grid;grid-template-columns:1.6fr 1fr;gap:16px;padding:0 0 8px}
  .module-0 h1 {font-size:28pt}
  .inspector {margin:10px 0 0;padding:6px 0;break-after:page}
  .inspector h2 {margin:0 0 4px}
  .asset-record,.asset-record[hidden] {display:block!important;break-inside:avoid}
  .asset-record dl {margin:0 0 4px}
  .asset-record dl div {padding:1px 0}
  .asset-print-answer {display:block}
  .chapter-body .cite,.source-url {color:#111}
}

/* Chapter index and editorial spreads. */
#top-nav a {display:grid;gap:2px;line-height:1.18}
.index-no {font:10px var(--mono);color:var(--muted);transition:transform .24s cubic-bezier(.7,0,.2,1)}
#top-nav a[aria-current] .index-no {color:var(--red-text);transform:translateX(5px)}
#top-nav a[aria-current]::after {animation:index-rule .28s cubic-bezier(.7,0,.2,1) both;transform-origin:left}
@keyframes index-rule {from{transform:scaleX(0)}to{transform:scaleX(1)}}

.award {margin:0;border-block:1px solid var(--ink);padding:14px 0 8px}
.award figcaption {font:700 12px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.award>strong {display:block;font-size:clamp(28px,4.4vw,66px);font-weight:900;line-height:.95;letter-spacing:-.04em;margin:13px 0;color:var(--ink)}
.award dl {margin:0}
.award dl div {display:grid;grid-template-columns:7em 1fr;align-items:baseline;gap:10px;border-top:1px solid var(--rule);padding:6px 0}
.award dt {font-weight:800;font-variant-numeric:tabular-nums}
.award dd {margin:0;color:var(--muted);line-height:1.4}

@media screen {
  ::selection {background:#f5d4d0;color:var(--ink)}
  .module-head h1[tabindex="-1"]:focus {outline:none}
  .read-track,#top-nav .index-no,.module .edition {display:none}
  #top-nav a {padding-block:10px}
  #top-nav a:hover {transform:none}
  #top-nav a[aria-current]::after {height:1px;animation:none}
  .print-btn {border-color:transparent}
  .module-0 .module-head {padding-bottom:clamp(34px,5vw,70px)}
  .workflow {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--ink);padding:0;font:800 clamp(15px,2.2vw,28px)/1.07 var(--sans);letter-spacing:-.035em}
  .workflow li,.workflow li:nth-child(2),.workflow.in-view li:nth-child(2) {position:relative;padding:clamp(13px,2.4vw,26px) clamp(9px,2vw,22px);border:0;background:none}
  .workflow li+li {border-left:1px solid var(--rule)}
  .workflow li:not(:last-child)::after {content:"→";position:absolute;right:10px;top:14px;font-size:12px;color:var(--muted)}
  .workflow li>span {display:block;margin:0 0 9px;color:inherit;font:700 11px var(--mono);letter-spacing:.08em}
  .workflow li:nth-child(2),.workflow.in-view li:nth-child(2) {background:var(--signal);color:#111}
  .module:not(.module-0) .module-head {padding-block:clamp(44px,6vw,84px) 25px;border-bottom:1px solid var(--rule)}
  .module:not(.module-0) .module-head h1 {font-size:clamp(34px,5vw,70px);max-width:22ch;letter-spacing:-.04em;text-wrap:initial}
  .module:not(.module-0) .deck {font-size:clamp(16px,1.6vw,21px);margin-top:14px}
  .chapter-body h2 {font-size:clamp(23px,2.45vw,34px)}
  .chapter-body h3 {font-size:clamp(18px,1.6vw,23px)}
  .chapter-body p {max-width:72ch}
  .chapter-body .source-url {color:var(--ink);text-decoration-color:#8b8b85}
  .chapter-body .source-url:hover {color:var(--red-text);text-decoration-color:currentColor}
  .site-footer {border:0;padding-top:0}
  .site-footer a {color:var(--muted)}
  .pager {display:flex;justify-content:flex-end;gap:clamp(14px,4vw,42px);align-items:flex-start;margin:36px 0 28px}
  .pager a {padding:4px 0 4px 10px;text-align:right}
  .pager .pager-previous {margin-right:auto;text-align:left;padding-left:0}
  .module:is(.module-1,.module-2,.module-3,.module-4) .chapter-body {max-width:1110px;margin:0;padding-top:30px}
  .chapter-section {min-width:0;padding:0 0 clamp(24px,3vw,42px)}
  .chapter-section>h2:first-child {margin-top:0}
  .chapter-section>p {max-width:72ch}
  .chapter-body blockquote {background:none;border-left:1px solid var(--rule);padding-block:3px;font-size:1em}
  .module-1 .rights-grid {display:block;background:var(--panel);padding-inline:clamp(12px,2vw,20px);border:0}
  .rights-grid .rights {background:none;border-top:1px solid var(--rule);transform:none}
  .rights-grid .rights:first-child {border-top:0}
  .rights-grid .rights summary {display:grid;grid-template-columns:minmax(95px,27%) 1fr auto;gap:10px;align-items:center;padding:12px 0}
  .rights-grid .rights summary::-webkit-details-marker {display:none}
  .rights-grid .rights summary::after {content:"+";font-size:22px;line-height:1}
  .rights-grid .rights[open] summary::after {content:"−"}
  .rights-grid .rights summary span {font:700 11px/1 var(--mono);white-space:nowrap;color:var(--muted)}
  .rights-grid .rights summary b {font:800 clamp(24px,2.8vw,39px)/1 var(--sans);letter-spacing:-.04em;color:var(--ink)}
  .rights-grid .rights[open] summary b {color:var(--red-text)}
  .rights-grid .rights summary h3 {margin:0}
  .rights-grid .rights[open]>div {animation:asset-reveal .25s cubic-bezier(.7,0,.2,1)}
  .rights-grid .rights>div {padding:0 14px 0 calc(max(95px, 27%) + 10px)}
  .notice {margin:0;border:0;border-left:2px solid var(--red-text);background:var(--accent-panel);padding:clamp(14px,2.5vw,24px)}
  .inspector {margin:0 0 56px;padding:clamp(14px,3vw,30px);border:0;background:var(--panel)}
  .inspector .inspector-kicker {display:none}
  .asset-select {display:flex;flex-wrap:wrap;gap:6px clamp(12px,3vw,40px);border-top:0}
  .asset-select button {min-height:44px;padding:10px 2px;border-right:0}
  .asset-select button:hover,.asset-select button[aria-pressed=true] {box-shadow:inset 0 -1px var(--signal)}
  .inspector .asset-step {font-size:13px;font-weight:750;line-height:1.4;margin:0 0 4px;color:var(--muted)}
  .inspector > .asset-step {margin-top:18px}
  .asset-record {padding:0 0 10px}
  .asset-record:not([hidden]) {animation-duration:.38s}
  .asset-record dd {overflow-wrap:anywhere}
  .asset-actions {display:grid;gap:8px}
  .asset-actions button {display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:baseline;min-height:46px;padding:10px 12px;font-weight:650;background:var(--paper);border-color:#a9a9a2;transition:background-color .2s,border-color .2s,transform .2s}
  .asset-actions button span:first-child {color:var(--muted);font:700 12px var(--mono)}
  .asset-actions button:hover {background:#eeeee9;color:var(--ink);border-color:var(--ink)}
  .asset-actions button:active {transform:translateY(1px)}
  .asset-actions button[aria-pressed=true] {background:#f5e5e2;color:var(--ink);border-color:var(--red-text)}
  .asset-actions button[aria-pressed=true] span:first-child {color:var(--red-text)}
  .asset-feedback:not(:empty) {border-left-width:1px;background:var(--paper);padding:12px}
  .licences details {background:none;border-top-color:var(--rule)}
  .module-2 .audio-tile {display:none}
  .module-2 .chapter-section {max-width:770px}
  .case-spread .timeline {margin-top:14px}
  .case-spread .timeline li:not(:last-child)::before {border-color:#8b8b85;background:var(--paper)}
  .case-spread .timeline li:not(:last-child) .mono {color:var(--muted)}
  .case-spread .timeline li:last-child strong {font-size:inherit}
  .fair li {background:var(--panel);border-color:var(--rule);padding:clamp(10px,2vw,18px)}
  .award {border:0;padding:0}
  .award>strong {font-size:clamp(28px,3.6vw,53px)}
  .module-3 .part-2 {border-block:1px solid var(--rule);padding-block:30px}
  .module-3 .part-3 {padding-top:30px}
  .chapter-body .case-takeaway {max-width:68ch;margin:26px 0 0;padding:12px 16px;background:var(--accent-panel);border:0;font-weight:400}
  .case-takeaway strong {display:block;font-size:14px;margin-bottom:4px}
  .case-resources {display:grid;gap:6px 24px;margin-top:18px;max-width:680px}
  .case-resources p {margin:0;font-size:13px;color:var(--muted)}
  .case-resources .source-url {width:fit-content;line-height:1.5}
  .module-3 .case-marker {border-left-width:1px}
  .module-4 .progress-panel {background:var(--ink);color:white;padding:13px 14px}
  .module-4 #count {color:inherit;font-size:15px}
  .module-4 progress {height:3px}
  .module-4 progress::-webkit-progress-bar {background:#53534f}
  .checklist label {padding:12px 14px;transition:background-color .2s}
  .checklist label:has(:checked):not(:hover) {background:var(--panel)}
  .checklist input {border-radius:0}
  .module-4 .complete {border-left-width:1px}
  .report-flow {width:min(100%,36rem);padding:16px 12px;justify-items:center;gap:22px;background:var(--panel);line-height:1.35}
  .report-flow>span,.report-flow div span {position:relative;border:0;padding:7px 10px;background:var(--paper)}
  .report-flow>span:nth-child(2) {background:var(--accent-panel);font-weight:700}
  .report-flow>span::after {content:"↓";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:18px;line-height:22px;color:var(--muted)}
  .report-flow>span:nth-child(2)::after {content:"";width:1px;height:11px;background:#a9a9a2}
  .report-flow div {position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px}
  .report-flow div::before {content:"";position:absolute;left:calc(25% - 3px);right:calc(25% - 3px);top:-11px;border-top:1px solid #a9a9a2}
  .report-flow div span::before {content:"↓";position:absolute;left:50%;bottom:100%;transform:translateX(-50%);line-height:12px;color:var(--muted)}
  .module-4 .answer {border:0;background:var(--panel)}
}

/* Adapted from the Uiverse poster's diagonal tape and paired marquee tracks. */
.editorial-poster {margin:0;min-width:0;width:100%;max-width:390px;justify-self:center}
.poster-sheet {position:relative;container-type:inline-size;aspect-ratio:25/36;isolation:isolate;overflow:hidden;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);background:#fdfdfa}
.poster-grid {position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.poster-title {position:absolute;top:10%;left:5.5%;font:900 23cqw/.79 var(--display);letter-spacing:-.09em;transform:scaleX(.73);transform-origin:left}
.poster-title span {display:block}
.poster-title span+span {margin:.055em 0 0 .21em;color:#fdfdfa;-webkit-text-stroke:clamp(1px,.56cqw,2.4px) var(--ink)}
.poster-ribbon {position:absolute;top:51%;left:-16%;width:132%;transform:rotate(-12deg);overflow:hidden;background:#ff2a00;color:#fff;padding:4.7cqw 0;box-shadow:0 7px 13px #0004;font:800 clamp(11px,3.3cqw,16px)/1.2 var(--mono);text-shadow:0 1px 1px #0007;white-space:nowrap}
.poster-track {display:flex;width:max-content}
.poster-track span {padding-right:1ch}
.poster-accessible {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.poster-footer {position:absolute;inset:auto 5.5% 5.5%;display:grid;grid-template-columns:22% minmax(0,1fr);align-items:end;gap:12px;border-top:1px solid var(--ink);padding-top:10px;text-align:right}
.poster-footer strong {display:block;font:800 clamp(9px,2.65cqw,13px)/1.25 var(--mono)}
.poster-footer p {font-size:clamp(10px,2.8cqw,14px);line-height:1.3;margin:5px 0 0 auto;max-width:29ch}
.poster-footer svg {display:block;width:100%;fill:var(--ink)}
.poster-pause {display:block;margin:0 0 14px auto;border:0;background:var(--ink);color:white;padding:4px 9px;min-height:26px;box-shadow:2px 2px 0 #ff2a00;font:700 11px/1.3 var(--mono)}
@media screen and (prefers-reduced-motion:no-preference) {
  .editorial-poster[data-motion] .poster-track {animation:poster-scroll 18s linear infinite}
  .editorial-poster[data-motion="paused"] .poster-track {animation-play-state:paused}
  .editorial-poster[data-motion] .poster-title span {animation:poster-type .48s cubic-bezier(.7,0,.2,1) both}
  .editorial-poster[data-motion] .poster-title span+span {animation-delay:70ms}
  @keyframes poster-scroll {to{transform:translateX(-50%)}}
  @keyframes poster-type {from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
}
@media screen and (prefers-reduced-motion:reduce) {.poster-pause{display:none}}
@media screen and (min-width:641px) and (max-width:710px) {
  .module-0 .module-head {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .module-0 h1 {font-size:clamp(35px,6.35vw,46px)}
}
@media screen and (max-width:640px) {.editorial-poster{justify-self:start;width:calc(100% - 8px)}}
@media screen and (max-width:520px) {
  .workflow {grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow li:nth-child(3) {border-left:0}
  .workflow li:nth-child(n+3) {border-top:1px solid var(--rule)}
}
@media print {
  .editorial-poster {align-self:start}
  .poster-sheet {print-color-adjust:exact;box-shadow:none}
  .poster-ribbon {display:grid;place-items:center}
  .poster-accessible {position:static;width:auto;height:auto;clip-path:none;text-transform:uppercase;font-size:clamp(9px,4cqw,12px)}
  .poster-track {display:none}
  .poster-footer p {font-size:7pt}
  .poster-track span+span {display:none}
}

@media screen and (prefers-reduced-motion:no-preference) {
  .chapter-enter .headline {animation:chapter-heading-in .28s cubic-bezier(.22,1,.36,1) both}
  .chapter-enter > .chapter-body {animation:chapter-content-in .24s ease-out both}
  @keyframes chapter-heading-in {
    from {clip-path:inset(0 0 18% 0);transform:translateY(7px)}
    to {clip-path:inset(0);transform:none}
  }
  @keyframes chapter-content-in {from{opacity:.6}to{opacity:1}}
}

@media screen and (min-width:600px) {
  .case-resources {grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-resources p {grid-column:1/-1}
}

@media screen and (min-width:850px) {
  .module-1 .chapter-body,.module-4 .chapter-body {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px clamp(30px,6vw,85px);align-items:start}
  .module-1 .part-1 {grid-column:1}
  .module-1 .part-2 {grid-column:1;grid-row:2/4}
  .module-1 .part-3 {grid-column:2;grid-row:2}
  .module-1 .part-4 {grid-column:2;grid-row:3}
  .asset-record {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:38px;align-items:start}
  .asset-record h3 {grid-column:1/-1}
  .asset-record dl {grid-column:1;grid-row:2/4;margin:0}
  .asset-actions {grid-column:2;display:grid}
  .asset-feedback {grid-column:2}
  .case-spread {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;margin:18px 0 22px}
  .case-spread .timeline {margin:0 0 0 6px}
  .module-3 .part-1 {max-width:770px}
  .module-4 .part-1 {grid-column:1;grid-row:1/3}
  .module-4 .part-2 {grid-column:2;grid-row:1}
  .module-4 .part-3 {grid-column:2;grid-row:2}
  .module-4 .part-4 {grid-column:1/-1;border-top:1px solid var(--rule);padding-top:24px}
}

@media print {
  .award {padding:4px 0;margin:5px 0;break-inside:avoid}
  .award figcaption {font-size:8pt}
  .award>strong {font-size:21pt;margin:4px 0}
  .award dl div {padding:2px 0}
  .case-spread {display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:14px;break-inside:avoid}
  .module-3 .module-head {padding-bottom:7px}
  .module-3 .chapter-section h2 {margin-top:8px}
  .module-3 .chapter-section h3 {margin-top:5px}
  .module-3 .chapter-section blockquote {margin-block:6px}
  .module-3 .chapter-section p {margin-bottom:5px}
  .case-spread .timeline {margin-block:4px}
  .case-spread .timeline li:last-child strong {font-size:inherit}
}
