/* SqFtCalc — shared shell for the legal pages.
   The tool page keeps its CSS inline (one render-blocking request less on the
   page that matters); these four share a file because four copies of a
   stylesheet is four places to forget to change something. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url('fonts/archivo-caps.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url('fonts/plex-sans-var.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/plex-mono-400.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/plex-mono-500.woff2') format('woff2')}

:root{
  --paper:#EDF0F1;--card:#F8FAFA;--card2:#FFFFFF;--grid-fine:#E1E8EA;
  --rule:#C1CBCE;--ink:#141D1F;--ink2:#48565A;--ink3:#7C8B8F;
  --chalk:#2A5BD7;--chalk-deep:#1C3E97;--chalk-wash:rgba(42,91,215,.12);
  --mark:#E4530F;--mark-wash:rgba(228,83,15,.10);--ok:#0F7A52;
  --disp:"Archivo","Archivo Narrow","Helvetica Neue",Arial,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--body);
  background-image:linear-gradient(to right,var(--grid-fine) 1px,transparent 1px),
                   linear-gradient(to bottom,var(--grid-fine) 1px,transparent 1px);
  background-size:28px 28px}
a{color:var(--chalk-deep)}
a:focus-visible,button:focus-visible{outline:2px solid var(--chalk);outline-offset:2px;border-radius:2px}
.mono{font-family:var(--mono)}

.tb{background:var(--card2);border-bottom:1.5px solid var(--ink)}
.tb-in{max-width:1120px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:12px}
.tb-name{font:700 20px/1 var(--disp);font-stretch:75%;text-transform:uppercase;letter-spacing:.01em}
.tb-name a{color:inherit;text-decoration:none}
.tb-name i{font-style:normal;color:var(--chalk)}
.tb-tag{margin-left:auto;font:500 10px/1 var(--disp);font-stretch:75%;text-transform:uppercase;
  letter-spacing:.16em;color:var(--ink3)}

main{max-width:720px;margin:0 auto;padding:44px 20px 60px}
.stamp{font:500 10.5px/1 var(--disp);font-stretch:75%;text-transform:uppercase;letter-spacing:.2em;
  color:var(--mark);margin:0 0 14px}
h1{font-family:var(--disp);font-stretch:75%;text-transform:uppercase;
  font-size:clamp(27px,5vw,42px);font-weight:700;line-height:.98;letter-spacing:.005em;margin:0 0 12px}
h1 span{color:var(--chalk)}
.lede{font-size:18px;color:var(--ink2);margin:0 0 30px}
hr{border:0;border-top:1.5px solid var(--ink);margin:0 0 34px}
h2{font-family:var(--disp);font-stretch:75%;text-transform:uppercase;font-size:19px;font-weight:700;
  letter-spacing:.04em;margin:34px 0 8px}
h2:first-of-type{margin-top:0}
p,li{color:var(--ink2);margin:0 0 14px}
b,strong{color:var(--ink)}
ul{padding-left:20px;margin:0 0 14px}
li{margin:0 0 7px}

.callout{border-left:3px solid var(--chalk);background:var(--chalk-wash);
  padding:13px 15px;border-radius:0 2px 2px 0;margin:0 0 20px}
.callout.good{border-left-color:var(--ok);background:rgba(15,122,82,.08)}
.callout.todo{border-left-color:var(--mark);background:var(--mark-wash)}
.callout p:last-child{margin:0}

table{width:100%;border-collapse:collapse;margin:0 0 20px;background:var(--card2);border:1px solid var(--rule)}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--grid-fine);font-size:14px;
  color:var(--ink2);vertical-align:top}
th{font:600 9.5px/1.3 var(--disp);font-stretch:75%;text-transform:uppercase;letter-spacing:.13em;
  color:var(--ink3);background:var(--card)}
td:first-child{color:var(--ink);font-weight:500}
tr:last-child td{border-bottom:none}

.backlink{margin-top:32px;padding-top:18px;border-top:1px solid var(--rule);font-size:13px}
footer{border-top:1.5px solid var(--ink);background:var(--card2)}
.foot-in{max-width:1120px;margin:0 auto;padding:18px 20px 30px;font-size:12px;color:var(--ink3);
  display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.foot-in nav{display:flex;gap:14px;flex-wrap:wrap}
.foot-in a{color:var(--ink2)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
@media print{body{background:#fff;background-image:none;font-size:11pt}}
