:root {
  color-scheme: light;
  --ink: #17362e; --text: #263932; --muted: #50655b; --green: #2b6955;
  --paper: #fffdfa; --sand: #f4eddf; --saffron: #f3cb73; --light: #eaf1e9;
  --line: #cdd8ce; --serif: Georgia, "Liberation Serif", serif;
  --sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#e8eee7;color:var(--text);font:17px/1.58 var(--sans)}
a{color:inherit;text-underline-offset:.2em}
a:focus-visible,article:focus-visible{outline:3px solid #94650b;outline-offset:4px}
.symbols{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.skip{position:absolute;z-index:3;left:12px;top:-150px;background:var(--paper);color:var(--ink);padding:8px 14px}
.skip:focus{top:8px}
.site-head{background:var(--ink);color:#fffaf0}
.head-inner{width:min(1120px,100% - 44px);margin:auto;min-height:81px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.masthead{display:flex;align-items:center;gap:14px;text-decoration:none;line-height:1.25}
.masthead strong{display:block;font:700 20px/1.2 var(--serif)}
.masthead small{display:block;margin-top:5px;color:#d8e6dc;font-size:12px}
.mark{width:42px;height:42px;display:grid;place-items:center;background:#31594b;border-radius:12px;color:#f7d78f;flex:none}
.mark .icon{width:24px;height:24px}
.pager{display:flex;align-items:center;gap:14px;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.pager-link{display:grid;place-items:center;border:1px solid #6e8c7e;border-radius:50%;width:37px;height:37px;text-decoration:none;font-size:21px}
.pager-link:hover:not([aria-disabled="true"]){background:#31594b}
[aria-disabled="true"]{opacity:.42;pointer-events:none}
.reader{max-width:1090px;margin:0 auto;padding:24px 25px 38px}
.index{margin:0 auto 22px;width:min(100%,1000px)}
.index ol{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.index a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:45px;padding:5px;color:#314c40;border-radius:7px;font-size:11.5px;font-weight:650;text-decoration:none;white-space:nowrap}
.index a span{font-size:10px;font-weight:800;color:#52705f}
.index a:hover{background:#d6e4d8}
.index a[aria-current="page"]{background:var(--ink);color:#fffaf0}
.index a[aria-current="page"] span{color:#f5d189}
.sheet{position:relative;display:flex;flex-direction:column;max-width:870px;min-height:935px;margin:0 auto 24px;padding:45px 58px 26px;background:var(--paper);box-shadow:0 12px 48px #24382a19;border:1px solid #d6ded3;border-radius:3px}
.sheet[hidden]{display:none}
.running,.folio{display:flex;justify-content:space-between;align-items:center;gap:16px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;line-height:1.3;font-weight:800;color:var(--muted)}
.running{padding-bottom:15px;border-bottom:1px solid var(--line)}
.running span:last-child,.folio span:last-child{text-align:right}
.folio{padding-top:14px;border-top:1px solid var(--line);margin-top:auto;font-variant-numeric:tabular-nums}
.sheet h1,.sheet h2,.sheet h3{color:var(--ink)}
h1,h2,h3,p,figure{margin:0}
.sheet h2{font:700 clamp(33px,5.1vw,58px)/1.03 var(--serif);letter-spacing:-.036em;margin:33px 0 16px;max-width:740px;overflow-wrap:break-word}
.sheet h3{line-height:1.23;font-size:20px}
.dek{font:400 clamp(18px,2.5vw,23px)/1.42 var(--serif);color:#3d5c50;max-width:700px;margin-bottom:25px}
.prose p+p{margin-top:15px}
.prose h3{margin-bottom:10px;font:700 25px/1.18 var(--serif)}
.sources{font-size:12px;line-height:1.46;color:var(--muted);padding-top:22px;padding-bottom:15px;margin-top:auto}
.sources a{text-decoration-thickness:1px}
.sources+.folio,.review-note+.folio{margin-top:0}
.label{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--green)}
.cover{background:var(--ink);color:#fff9eb;border-color:var(--ink);padding-top:42px}
.cover .running,.cover .folio{color:#e5ead9;border-color:#739181}
.cover h1{font:700 clamp(37px,7.1vw,81px)/.97 var(--serif);letter-spacing:-.047em;color:#fff9e9;margin:43px 0 15px;overflow-wrap:normal}
.cover-deck{color:#e2ecd9;font-size:18px;max-width:530px}
.cover-figure{margin:27px 0 20px}
.cover-figure img{display:block;width:100%;height:auto;aspect-ratio:800/465;border-radius:3px}
.cover-credit{display:flex;justify-content:space-between;gap:18px;margin:7px 0 25px}
.cover-credit span{display:block;color:#f6d283;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:750;margin-bottom:3px}
.cover-credit strong,.cover-credit time{font-size:15px}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(170px,1fr);gap:30px;align-items:start}
.intro-aside{background:#f1e6cf;border-top:5px solid #dcae55;padding:25px 22px;color:var(--ink)}
.intro-aside .icon{width:43px;height:43px;color:var(--green);margin-bottom:13px}
.intro-aside p{font:400 24px/1.26 var(--serif)}
.intro-aside strong{display:block;margin-top:8px}
.article .dek{max-width:645px}
.sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:3px 0 27px;padding:0;background:#eaf1e9;border-radius:6px}
.sequence li{padding:16px 17px;min-width:0;border-right:1px solid #cadbd0}
.sequence li:last-child{border-right:0}
.sequence span{display:block;color:var(--green);font-size:11px;letter-spacing:.15em;font-weight:800}
.sequence strong{font:700 25px/1.2 var(--serif);display:block;color:var(--ink);margin:3px 0}
.sequence small{display:block;font-size:13px;line-height:1.35}
.article-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(190px,1fr);gap:24px;align-items:start}
.field-note{background:#183e34;color:#fff9ed;padding:22px;border-radius:5px;font-size:15px;line-height:1.5}
.field-note .label{color:#f6d283;margin-bottom:10px}
.mindmap{padding:10px 0 12px;margin:0}
.map-center{width:min(315px,100%);text-align:center;border-radius:50px 50px 10px 10px;margin:auto;background:var(--ink);color:#fff9eb;padding:18px 20px}
.map-center span{display:block;font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:#f3ce7d}
.map-center strong{font:700 31px/1.05 var(--serif);display:block;margin-top:7px}
.map-connect{height:48px;background:linear-gradient(#7f9b88,#7f9b88) center top/2px 100% no-repeat;position:relative;margin:0}
.map-connect::after{content:"";position:absolute;top:24px;left:16.666%;right:16.666%;height:24px;border:2px solid #7f9b88;border-bottom:0;border-radius:12px 12px 0 0}
.map-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.branch{position:relative;border-top:5px solid #7aab92;padding:17px 12px 12px;background:#e8f1e9;border-radius:0 0 8px 8px}
.branch-two{background:#f7edda;border-color:#d7af62}
.branch-three{background:#e9eee5;border-color:#899d78}
.branch h3{font:700 21px/1.17 var(--serif);min-height:50px;margin:0 0 12px}
.branch ul{list-style:none;padding:0 0 0 9px;margin:0;border-left:2px solid #9ab3a1}
.branch li{position:relative;font-size:14px;line-height:1.32;padding:9px 9px;background:#ffffffb0;border-radius:5px}
.branch li+li{margin-top:8px}
.branch li::before{content:"";position:absolute;left:-10px;top:50%;width:10px;border-top:2px solid #9ab3a1}
.review-note{font-size:12px;background:#faebcd;border-left:3px solid #b27e22;color:#523e1c;padding:8px 10px;margin:0 0 12px}
.case-context{border-left:5px solid #d4a951;background:#f4ecdf;padding:16px 19px;margin-bottom:22px}
.case-context h3{font:700 23px/1.15 var(--serif);margin-bottom:7px}
.case-context p{font-size:15px;line-height:1.5}
.case-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.case-actions section{padding-top:12px;border-top:2px solid #a4bca9}
.case-actions .label{margin-bottom:8px}
.case-actions h3{font:700 24px/1.12 var(--serif);margin-bottom:9px}
.case-actions p{font-size:15px;line-height:1.55}
.case-conclusion{margin-top:21px;padding-top:15px;border-top:1px solid var(--line);font-weight:650;font-size:16px}
.infographic{background:#f7f8f1}
.practices{list-style:none;margin:15px 0 5px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.practices li{display:flex;align-items:flex-start;gap:13px;min-width:0;padding:20px 16px;background:#e6efe4;border-left:4px solid #8aae97;border-radius:6px}
.practices li:nth-child(2),.practices li:nth-child(5){background:#f4e8cd;border-color:#d1a65a}
.practices li:nth-child(3),.practices li:nth-child(6){background:#e7ede2;border-color:#93a484}
.practices .icon{width:31px;height:31px;flex:none;color:var(--green)}
.practices h3{font:700 21px/1.14 var(--serif);margin-bottom:6px}
.practices p{font-size:14px;line-height:1.47}
.opinion{background:#f8f1e5}
.opinion h2{font-size:clamp(38px,6vw,68px)}
.opinion-body{max-width:655px;font:400 20px/1.58 var(--serif);border-top:3px solid #d1aa61;padding-top:23px}
.opinion-body strong{color:var(--ink)}
.opinion-body p:first-child::first-letter{float:left;font:700 63px/.83 var(--serif);color:var(--green);margin:4px 8px 0 0}
.commitments{list-style:none;counter-reset:principio;columns:2;column-gap:27px;margin:12px 0 4px;padding:0}
.commitments li{counter-increment:principio;position:relative;break-inside:avoid;padding:10px 0 12px 38px;border-bottom:1px solid #d9e3d9;min-height:76px;font-size:14px;line-height:1.43}
.commitments li::before{content:counter(principio, decimal-leading-zero);position:absolute;left:0;top:11px;font:700 20px/1 var(--serif);color:var(--green)}
.commitments strong{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}
.bottom-pager{display:flex;max-width:870px;justify-content:space-between;margin:auto}
.bottom-pager a{padding:8px 14px;border:1px solid #93ad9c;border-radius:6px;font-size:14px;font-weight:650;color:var(--ink);text-decoration:none}
.bottom-pager a:hover:not([aria-disabled="true"]){background:#d9e8dc}
@media(max-width:870px){
  .index ol{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sheet{padding-left:clamp(20px,5.6vw,58px);padding-right:clamp(20px,5.6vw,58px);min-height:880px}
}
@media(max-width:600px){
  body{font-size:16px;line-height:1.55}
  .head-inner{width:calc(100% - 24px);min-height:70px;gap:8px}
  .masthead{gap:8px}
  .masthead strong{font-size:15px}
  .masthead small{font-size:10px}
  .mark{width:30px;height:32px;border-radius:7px}
  .mark .icon{width:19px;height:19px}
  .pager{gap:6px;font-size:11px}
  .pager-link{width:29px;height:29px;font-size:17px}
  .reader{padding:10px 10px 22px}
  .index{margin-bottom:12px}
  .index ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
  .index a{min-height:48px;flex-direction:column;gap:0;line-height:1.25;font-size:10px;white-space:normal;text-align:center}
  .index a span{font-size:9px}
  .sheet{min-height:0;padding:23px 19px 18px;margin-bottom:14px}
  .running,.folio{font-size:9px;letter-spacing:.09em}
  .running{gap:8px}
  .sheet h2{margin-top:24px}
  .cover h1{margin-top:30px;font-size:clamp(28px,8.05vw,53px)}
  .cover-deck{font-size:16px}
  .cover-figure{margin:19px 0 14px}
  .cover-credit{flex-direction:column;gap:9px;margin-bottom:20px}
  .intro-grid,.article-grid,.case-actions,.practices{grid-template-columns:1fr;gap:14px}
  .intro-aside{padding:16px 18px}
  .intro-aside .icon{width:27px;height:27px;margin-bottom:5px}
  .intro-aside p{font-size:21px}
  .sequence li{padding:10px 8px}
  .sequence strong{font-size:18px}
  .sequence small{font-size:11px}
  .map-center strong{font-size:clamp(20px,6.5vw,28px);overflow-wrap:anywhere}
  .map-connect{height:20px;background-size:2px 20px}
  .map-connect::after{display:none}
  .map-branches{display:flex;flex-direction:column;gap:11px;padding-left:13px;border-left:2px solid #7f9b88}
  .branch{padding:13px 13px 10px}
  .branch::before{content:"";position:absolute;left:-15px;top:16px;width:14px;border-top:2px solid #7f9b88}
  .branch h3{min-height:0;margin-bottom:9px}
  .opinion-body{font-size:18px}
  .commitments{columns:1}
  .commitments li{min-height:0}
  .sources{margin-top:10px}
}
@page{size:A4;margin:0}
@media print{
  html,body{width:210mm;background:white;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .site-head,.index,.bottom-pager,.skip{display:none!important}
  .reader{padding:0;margin:0;max-width:none}
  .sheet,.sheet[hidden]{display:flex!important;width:210mm;max-width:none;min-height:297mm;padding:13mm 16mm 8mm;margin:0;border:0;border-radius:0;box-shadow:none;break-after:page;break-inside:avoid}
  .sheet:last-child{break-after:auto}
  .cover h1{font-size:58px}
  .sheet h2{font-size:44px}
  .sources{margin-top:auto}
}

