:root{--bg:#f5f5f1;--ink:#151515;--muted:#65665f;--line:#d5d5ce;--panel:#ecece6;--max:1180px;--read:820px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit}.site-header{position:sticky;top:0;z-index:20;max-width:var(--max);margin:auto;padding:19px 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(245,245,241,.96);border-bottom:1px solid var(--line)}.brand,.label,nav a,.menu-toggle{font-family:"Courier New",monospace;letter-spacing:.08em}.brand{font-size:14px;text-decoration:none;font-weight:bold}.brand span{color:var(--muted);font-weight:normal}nav{display:flex;gap:22px}nav a{font-size:12px;text-decoration:none;color:var(--muted);padding:8px 0;border-bottom:1px solid transparent}nav a:hover,nav a.active{color:var(--ink);border-color:var(--ink)}.menu-toggle{display:none;border:0;background:none;font-size:12px}.page-hero{max-width:var(--max);min-height:62vh;margin:auto;padding:13vh 28px 10vh;display:flex;flex-direction:column;justify-content:center}.label{font-size:12px;color:var(--muted);text-transform:uppercase}.page-hero h1{max-width:980px;margin:24px 0;font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.055em}.page-hero p{max-width:720px;font-size:20px;color:var(--muted);margin:0}.section{max-width:var(--max);margin:auto;padding:105px 28px;border-top:1px solid var(--line);display:grid;grid-template-columns:180px minmax(0,1fr);gap:58px}.section.wide .section-body{max-width:none}.section-body{max-width:var(--read)}h2{font-size:clamp(32px,4.5vw,58px);line-height:1.05;letter-spacing:-.04em;margin:0 0 28px}h3{line-height:1.15}.section p{color:var(--muted);font-size:17px;max-width:760px}.section strong{color:var(--ink)}.principle{font-size:clamp(24px,3vw,38px);line-height:1.25;letter-spacing:-.025em;margin:52px 0;padding:30px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-weight:600}.cta{display:inline-block;margin-top:24px;text-decoration:none;border-bottom:1px solid var(--ink);padding:6px 0;font-family:"Courier New",monospace;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:42px}.cards article{padding:28px;min-height:210px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cards h3{font-size:23px;margin:42px 0 10px}.cards p{font-size:14px;margin:0}.flow{display:flex;align-items:stretch;gap:0;margin:44px 0;max-width:100%;overflow:hidden}.flow .node,.boundary-flow .node,.vertical-model .node{border:1px solid var(--ink);padding:18px 16px;display:flex;align-items:center;justify-content:center;text-align:center;min-height:72px;font-weight:600;background:var(--bg)}.flow .node{flex:1;min-width:0}.arrow{display:flex;align-items:center;justify-content:center;padding:0 12px;font-size:22px}.flow-long{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.flow-long .node{min-height:96px}.research-line{font-family:"Courier New",monospace;color:var(--ink)!important;line-height:2}.dark{max-width:none;background:var(--ink);color:var(--bg);padding-left:max(28px,calc((100vw - var(--max))/2 + 28px));padding-right:max(28px,calc((100vw - var(--max))/2 + 28px));border:0}.dark .label,.dark p{color:#bdbdb6}.dark .principle{border-color:var(--bg)}.dark .cta{border-color:var(--bg)}.not-imply{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:34px 0;margin:42px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:clamp(17px,2vw,24px)}.not-imply span{font-family:"Courier New",monospace;color:var(--muted);font-size:13px;text-align:center}.domain-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center;margin:45px 0}.domain-flow>div:not(.domain-cross){border:1px solid var(--line);padding:25px}.domain-flow .node{border-top:1px solid var(--line);padding:18px 0;margin-top:15px}.domain-cross{font-size:28px}.domain-boundary-mobile{display:none}.boundary-flow{display:flex;flex-direction:column;max-width:520px;margin:42px 0}.boundary-flow .arrow{padding:10px}.boundary{border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:12px;text-align:center;font:12px "Courier New",monospace;letter-spacing:.08em;margin:12px 0}.case-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;margin:40px 0}.case-flow article{border:1px solid var(--line);padding:25px}.case-flow h3{font-size:20px;margin:30px 0 0}.vertical-model{max-width:560px;margin:45px 0}.vertical-model .node{flex-direction:column}.vertical-model small{display:block;color:var(--muted);font-weight:normal;margin-top:6px}.vertical-model .arrow{padding:8px}.principles-list article{display:grid;grid-template-columns:55px 1fr;gap:0 20px;border-top:1px solid var(--line);padding:26px 0}.principles-list b{font-family:"Courier New",monospace}.principles-list h3{margin:0;font-size:24px}.principles-list p{grid-column:2;margin-bottom:0}.next{max-width:var(--max);margin:auto;padding:90px 28px;border-top:1px solid var(--line)}.next h2{margin-top:20px}.next p{max-width:600px;color:var(--muted)}footer{max-width:var(--max);margin:auto;border-top:1px solid var(--line);padding:48px 28px;display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:40px;color:var(--muted);font-size:13px}footer strong{color:var(--ink)}.footer-links{display:flex;flex-direction:column;gap:7px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}@media(max-width:900px){.site-header{padding:16px 22px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:16px 22px 24px;flex-direction:column;align-items:flex-start;gap:3px}.site-header nav.open{display:flex}.site-header nav a{width:100%;padding:14px 0}.page-hero{padding:10vh 22px 8vh;min-height:54vh}.section{grid-template-columns:1fr;gap:24px;padding:78px 22px}.cards{grid-template-columns:1fr 1fr}.flow{flex-direction:column}.flow .arrow{transform:none;padding:6px}.flow .arrow::first-letter{font-size:0}.flow .arrow{font-size:0}.flow .arrow:after{content:'↓';font-size:22px}.flow-long{grid-template-columns:1fr 1fr}.not-imply{flex-direction:column}.domain-flow{grid-template-columns:1fr}.domain-cross{transform:none;text-align:center}.domain-cross-wide{display:none}.domain-boundary-mobile{display:block;border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:12px;text-align:center;font:12px "Courier New",monospace;letter-spacing:.08em}.case-flow{grid-template-columns:1fr}.case-flow>.arrow{font-size:0;padding:6px}.case-flow>.arrow:after{content:'↓';font-size:22px}.dark{padding-left:22px;padding-right:22px}footer{grid-template-columns:1fr 1fr}}@media(max-width:600px){.page-hero h1{font-size:clamp(44px,15vw,68px)}.page-hero p{font-size:18px}.section{padding-top:64px;padding-bottom:64px}.cards{grid-template-columns:1fr}.cards article{min-height:0}.flow-long{grid-template-columns:1fr}.principle{font-size:25px;margin:38px 0}.not-imply strong{font-size:21px}.not-imply span{font-size:12px}.case-flow article{padding:22px}.domain-flow>div:not(.domain-cross){padding:20px}footer{grid-template-columns:1fr}.next{padding:70px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
/* W18 accessibility/readability refinements */
.skip-link{position:fixed;left:18px;top:12px;z-index:100;transform:translateY(-160%);background:var(--ink);color:var(--bg);padding:10px 14px;text-decoration:none;font:12px "Courier New",monospace;letter-spacing:.04em}
.skip-link:focus{transform:translateY(0)}
.menu-toggle{min-width:48px;min-height:44px;cursor:pointer}
nav a,.cta,.footer-links a{min-height:44px}
nav a{display:flex;align-items:center}
.cta{padding-top:10px;padding-bottom:10px}
.footer-links a{display:flex;align-items:center}
#main-content:focus{outline:none}
@media(max-width:900px){.site-header nav a{min-height:48px}.menu-toggle{padding:8px 6px}}

.dark .flow .node{background:var(--ink);color:var(--bg);border-color:var(--bg)}
.dark .flow .arrow{color:var(--bg)}

/* Governance section 12: long local-enforcement flow */
.local-enforcement-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:visible}
.local-enforcement-flow .node{min-width:0;overflow-wrap:anywhere}
.local-enforcement-flow .arrow{display:none}
@media(max-width:900px){.local-enforcement-flow{display:flex;flex-direction:column;gap:0}.local-enforcement-flow .arrow{display:flex}}


/* Governance Section 12 correction */
@media (min-width:901px){
  .section12-flow{
    display:grid;
    grid-template-columns:
      minmax(100px,1fr) auto
      minmax(88px,.9fr) auto
      minmax(105px,1fr) auto
      minmax(105px,1fr) auto
      minmax(135px,1.25fr) auto
      minmax(115px,1.05fr) auto
      minmax(105px,1fr);
    align-items:stretch;
    overflow:visible;
    width:100%;
  }
  .section12-flow .node{
    min-width:0;
    padding:14px 8px;
    font-size:13px;
    line-height:1.25;
    overflow-wrap:break-word;
  }
  .section12-flow .arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 4px;
    font-size:19px;
  }
}
