/* Self-hosted webfonts — no third-party font CDN calls. */
@font-face{
  font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:100%;font-display:swap;
  src:url(/assets/webfonts/archivo-var-latin-ext.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;
}
@font-face{
  font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:100%;font-display:swap;
  src:url(/assets/webfonts/archivo-var-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:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/webfonts/ibm-plex-mono-400-latin-ext.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;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/webfonts/ibm-plex-mono-400-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:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/webfonts/ibm-plex-mono-500-latin-ext.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;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/webfonts/ibm-plex-mono-500-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:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url(/assets/webfonts/ibm-plex-mono-600-latin-ext.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;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url(/assets/webfonts/ibm-plex-mono-600-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;
}
:root{
  --paper:#f5f5f2;
  --ink:#141414;
  --accent:#d9481c;
  --accent-dark:#b23a15;
  --hair:#c9c9c2;
  --muted:#4a4a45;
  /* 5.4:1 on the white sheet — #77776f was a marginal 4.5:1 at 8.5px */
  --mono-muted:#6b6b63;
  /* small text uses the deeper accent; #d9481c is only 4.3:1 on white */
  --accent-text:#b23a15;
  --accent-deep:#8f2e10;
  --row-hair:#e2e2dc;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);font-family:'Archivo',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--accent-text);text-decoration:none}
a:hover{color:var(--accent-deep);text-decoration:underline}
h1,h2,h3,p,ul{margin:0}
.sheet{max-width:8.5in;margin:0 auto;background:#fff;padding:.5in;border:1px solid var(--hair);border-top:none;border-bottom:none;min-height:11in}

.doc-back{
  max-width:8.5in;margin:0 auto;padding:14px .5in 0;
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
}
.doc-back a{color:var(--accent-text);font-weight:600}
.doc-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:10px;border-bottom:3px solid var(--ink)}
.brand{display:flex;align-items:center;gap:14px}
.brand-tile{width:44px;height:44px;background:var(--ink);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
.brand-tile span{font-weight:900;font-size:52px;color:var(--accent);line-height:0;margin-top:21px}
h1{font-weight:800;font-size:26px;letter-spacing:-.02em;text-transform:uppercase;line-height:1}
h1 span{color:var(--accent)}
.doc-kicker{font-family:var(--mono);font-size:10.5px;color:var(--mono-muted);letter-spacing:.22em;margin-top:6px}
.doc-contact{font-family:var(--mono);font-size:10.5px;line-height:1.6;text-align:right;color:var(--muted)}

.doc-intro{margin-top:10px;font-size:13px;line-height:1.5;color:var(--muted)}
.doc-intro strong{color:var(--ink)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:10px;padding:8px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.stat-num{font-weight:800;font-size:17px;letter-spacing:-.02em}
.stat-label{font-family:var(--mono);font-size:8.5px;color:var(--mono-muted);letter-spacing:.1em}

h2{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.02em}
.comp-title{margin:12px 0 6px}
.comp-row{break-inside:avoid;display:grid;grid-template-columns:26px 190px 1fr;gap:12px;padding:6px 0;border-top:1px solid var(--hair);align-items:baseline}
.comp-row:first-of-type{border-top:2px solid var(--ink);orphans:3;widows:3}
.comp-row:last-of-type{border-bottom:2px solid var(--ink)}
.comp-num{font-weight:800;font-size:12px;color:var(--accent-text)}
.comp-name{font-weight:700;font-size:12px;text-transform:uppercase}
.comp-desc{font-size:12px;color:var(--muted)}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:12px}
.two-col>div{break-inside:avoid}
.two-col h2,.block h2{margin-bottom:6px}
.diff-list{padding-left:16px;font-size:12px;line-height:1.5;color:var(--muted)}
.diff-list strong{color:var(--ink)}
.creds{border:2px solid var(--ink);padding:10px 14px;font-family:var(--mono);font-size:10px;letter-spacing:.03em;line-height:1.65}
.creds span{color:var(--mono-muted)}

.block{break-inside:avoid;margin-top:12px}
.exp-list{padding-left:16px;font-size:12px;line-height:1.5;color:var(--muted)}

.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;font-size:11.5px;border-top:2px solid var(--ink);padding-top:8px}
.company-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--row-hair);padding-bottom:4px}
.company-row dt{font-family:var(--mono);font-size:9.5px;color:var(--mono-muted);letter-spacing:.08em}
.company-row dd{margin:0;font-weight:600;text-align:right}

.doc-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding-top:8px;border-top:3px solid var(--ink)}
.doc-footer .lanes{font-family:var(--mono);font-size:9.5px;color:var(--mono-muted);letter-spacing:.12em}
.doc-footer .email{font-weight:700;font-size:12px;text-transform:uppercase}
.doc-footer .email span{color:var(--accent-text)}

@media (max-width:720px){
  .sheet{padding:22px;min-height:0}
  .doc-back{padding:14px 22px 0}
  .stats,.two-col,.company-grid{grid-template-columns:1fr}
  .comp-row{grid-template-columns:26px 1fr}
  .comp-row .comp-desc{grid-column:1/-1}
  .doc-header{flex-wrap:wrap;align-items:flex-start}
  .doc-contact{text-align:left}
}

@page{size:Letter;margin:.5in}
@media print{
  body{background:#fff}
  .doc-back{display:none}
  .sheet{max-width:none;margin:0;padding:0;border:none;min-height:0}
  .comp-row{padding:5px 0}
  .two-col,.block{margin-top:10px}
  .stats{margin-top:8px;padding:7px 0}
  .doc-footer{margin-top:8px;padding-top:6px}
}
