/* ============================================================
   Tech Evolvers - "Drafting Room" design system
   Light editorial-technical. Newsreader (serif display) +
   Mona Sans (grotesque body) + IBM Plex Mono (labels/data),
   self-hosted. Monochrome instrument-teal. Titleblock-rail layout.
   ============================================================ */

/* ---- Self-hosted fonts (OFL) ---- */
@font-face { font-family:"Newsreader"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/fonts/newsreader-400.woff2") format("woff2"); }
@font-face { font-family:"Newsreader"; font-style:italic; font-weight:400; font-display:swap;
  src:url("/fonts/newsreader-400-italic.woff2") format("woff2"); }
@font-face { font-family:"Newsreader"; font-style:normal; font-weight:600; font-display:swap;
  src:url("/fonts/newsreader-600.woff2") format("woff2"); }
@font-face { font-family:"Mona Sans"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/fonts/mona-sans-400.woff2") format("woff2"); }
@font-face { font-family:"Mona Sans"; font-style:normal; font-weight:600; font-display:swap;
  src:url("/fonts/mona-sans-600.woff2") format("woff2"); }
@font-face { font-family:"IBM Plex Mono"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/fonts/ibm-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/ibm-plex-mono-500.woff2") format("woff2"); }

/* ---- Tokens ---- */
:root {
  --paper:#F5F4EF; --surface:#FFFFFF; --surface-2:#FBFAF5;
  --ink:#181713; --muted:#57544D; --hairline:#E6E3D9; --grid:#0E4C4A;
  --teal:#0E4C4A; --teal-deep:#0A3B39; --teal-bright:#56C2B6;
  --band:#111310; --band-ink:#E9E8E2; --band-muted:#9DA099; --band-line:#2C302A;

  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Mona Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --maxw:1200px; --rail:190px; --measure:66ch;
  --radius:2px;
  --ease:cubic-bezier(0.16,1,0.3,1); --dur:.56s; --micro:.14s;
}

/* ---- Reset / base ---- */
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:18px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img { max-width:100%; height:auto; display:block; }
a { color:var(--teal); text-decoration:none; }
h1,h2,h3,h4 { margin:0; color:var(--ink); }
h1,h2 { font-family:var(--serif); font-weight:600; line-height:1.05; letter-spacing:-0.022em; }
h3,h4 { font-family:var(--sans); font-weight:600; line-height:1.25; letter-spacing:-0.01em; }
strong { font-weight:600; }
::selection { background:var(--teal); color:#fff; }
:focus-visible { outline:2px solid var(--teal); outline-offset:3px; border-radius:2px; }

.wrap { max-width:var(--maxw); margin-inline:auto; padding-inline:24px; }
.container { max-width:var(--maxw); margin-inline:auto; padding-inline:24px; } /* alias: keeps not-yet-rebuilt Phase-2 pages readable */

/* ---- Skip link ---- */
.skip-link {
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--ink); color:var(--paper); padding:10px 16px;
  font-family:var(--mono); font-size:13px; border-radius:0 0 var(--radius) 0;
}
.skip-link:focus { left:0; }

/* ---- Mono utility register (eyebrows, indices, labels) ---- */
.eyebrow, .rail, .kicker {
  font-family:var(--mono); text-transform:uppercase; letter-spacing:.12em;
}

/* ---- Header ---- */
.site-header {
  position:sticky; top:0; z-index:50; background:var(--paper);
  border-bottom:1px solid var(--hairline);
}
.header-inner {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-block:20px; transition:padding-block var(--micro) linear;
}
.site-header.scrolled .header-inner { padding-block:11px; }
.brand { display:inline-flex; align-items:center; gap:11px; }
.brand-logo { height:26px; width:auto; }
.brand-mark { width:29px; height:15px; color:var(--teal); flex:none; }
.brand-word { font-family:var(--sans); font-weight:600; font-size:19px; letter-spacing:-0.012em; color:var(--ink); }
.site-footer .brand-mark { color:var(--teal-bright); }
.site-footer .brand-word { color:var(--band-ink); }
.nav { display:flex; align-items:center; gap:30px; }
.nav a {
  font-family:var(--mono); font-size:13px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink); position:relative; transition:color var(--micro);
}
.nav a:not(.nav-cta)::after {
  content:""; position:absolute; left:0; right:100%; bottom:-5px; height:1px;
  background:var(--teal); transition:right var(--micro) var(--ease);
}
.nav a:not(.nav-cta):hover::after,
.nav a[aria-current="page"]:not(.nav-cta)::after { right:0; }
.nav a:not(.nav-cta):hover, .nav a[aria-current="page"]:not(.nav-cta) { color:var(--teal); }
.nav-cta {
  border:1px solid var(--ink); padding:9px 16px; border-radius:var(--radius);
  transition:background var(--micro), color var(--micro);
}
.nav-cta:hover { background:var(--ink); color:var(--paper); }

/* Hamburger */
.nav-toggle {
  display:none; position:relative; z-index:70; width:44px; height:44px;
  margin-right:-10px; background:none; border:0; cursor:pointer; color:var(--ink);
  align-items:center; justify-content:center;
}
.nav-toggle-icon, .nav-toggle-icon::before, .nav-toggle-icon::after {
  content:""; display:block; width:22px; height:1.6px; background:currentColor;
  transition:transform var(--micro) var(--ease), opacity var(--micro);
}
.nav-toggle-icon { position:relative; }
.nav-toggle-icon::before { position:absolute; left:0; top:-7px; }
.nav-toggle-icon::after  { position:absolute; left:0; top:7px; }
html.nav-open .nav-toggle-icon { background:transparent; }
html.nav-open .nav-toggle-icon::before { transform:translateY(7px) rotate(45deg); }
html.nav-open .nav-toggle-icon::after  { transform:translateY(-7px) rotate(-45deg); }

/* ---- Buttons ---- */
.btn {
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:13px; letter-spacing:.05em; text-transform:uppercase;
  padding:13px 22px; border:1px solid transparent; border-radius:var(--radius);
  cursor:pointer; transition:background var(--micro), color var(--micro), border-color var(--micro), transform var(--micro);
}
.btn:active { transform:translateY(1px); }
.btn-primary { background:var(--teal); color:#fff; border-color:var(--teal); }
.btn-primary:hover { background:var(--teal-deep); border-color:var(--teal-deep); }
.btn-ghost { background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-ghost:hover { background:var(--ink); color:var(--paper); }
.btn-ghost-light { background:transparent; color:var(--band-ink); border-color:rgba(255,255,255,.34); }
.btn-ghost-light:hover { background:var(--band-ink); color:var(--band); border-color:var(--band-ink); }

/* ---- Hero ---- */
.hero { position:relative; overflow:hidden; border-bottom:1px solid var(--hairline); padding-block:clamp(56px,8vw,112px); }
/* faint blueprint-grid texture, masked toward the panel so it never fights the headline */
.hero::before {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(14,76,74,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(14,76,74,.07) 1px, transparent 1px);
  background-size:30px 30px; background-position:right center;
  -webkit-mask-image:radial-gradient(135% 125% at 84% 44%, #000 0%, transparent 66%);
  mask-image:radial-gradient(135% 125% at 84% 44%, #000 0%, transparent 66%);
}
.hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:44px; }
@media (min-width:960px) {
  .hero-inner { grid-template-columns:minmax(0,1.14fr) minmax(310px,.86fr); gap:64px; align-items:center; }
}
.hero-main { min-width:0; }
.eyebrow { font-size:13px; color:var(--teal); margin:0 0 24px; }
/* Motto, given a bit more presence in the hero */
.hero .eyebrow { font-size:15px; font-weight:500; letter-spacing:.11em; color:var(--teal); margin:0 0 26px; }
.hero-title { font-family:var(--serif); font-weight:600; font-size:clamp(48px,7vw,86px); line-height:1.0; letter-spacing:-0.033em; }
.hero-keyline { margin:28px 0 32px; max-width:540px; }
.hero-sub { font-size:clamp(19px,2.2vw,22px); color:var(--muted); max-width:50ch; margin:0 0 32px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.hero-foot { font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:32px 0 0; }

/* Instrument panel (Platform Stack) */
.panel { border:1px solid var(--hairline); background:var(--surface); border-radius:var(--radius); padding:24px; box-shadow:0 18px 40px -24px rgba(14,76,74,.28); }
.panel-head {
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.13em;
  color:var(--muted); padding-bottom:14px; margin-bottom:6px; border-bottom:1px solid var(--hairline);
}
.panel-head .on { color:var(--teal); }
/* Platform stack: the layers you own */
.stack { list-style:none; margin:0; padding:0; }
.stack-row { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:baseline; padding:12px 0; border-bottom:1px solid var(--hairline); }
.stack-layer { font-family:var(--sans); font-weight:600; font-size:14.5px; letter-spacing:-0.006em; color:var(--ink); }
.stack-detail { font-family:var(--mono); font-size:12px; letter-spacing:.01em; color:var(--muted); text-align:right; }
.panel-sig { width:100%; height:30px; color:var(--teal); margin:14px 0 0; }
.panel-readout { display:flex; align-items:center; gap:10px; padding-top:14px; border-top:1px solid var(--hairline); margin-top:2px; }
.readout-num { font-family:var(--mono); font-weight:500; font-variant-numeric:tabular-nums; font-size:24px; letter-spacing:-0.01em; color:var(--ink); }
.readout-label { font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.status-dot { width:8px; height:8px; border-radius:50%; background:var(--teal); flex:none; position:relative; }
.status-dot::after { content:""; position:absolute; inset:-3px; border-radius:50%; border:1px solid var(--teal); opacity:0; }
@media (prefers-reduced-motion:no-preference) { .status-dot::after { animation:ping 2.6s var(--ease) infinite; } }
@keyframes ping { 0% { transform:scale(.55); opacity:.55; } 70%,100% { transform:scale(1.7); opacity:0; } }

/* ---- Sections + titleblock rail ---- */
.section { padding-block:clamp(60px,8vw,120px); border-top:1px solid var(--hairline); }
.section:first-of-type { border-top:0; }
.rail-grid { display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:1024px) {
  .rail-grid { grid-template-columns:var(--rail) minmax(0,1fr); gap:56px; align-items:start; }
  .rail { position:sticky; top:100px; }
}
.rail { font-size:12px; color:var(--muted); }
.rail-index { display:block; color:var(--teal); margin-bottom:6px; }
.rail-label { display:block; color:var(--teal); font-weight:500; font-size:14px; letter-spacing:.14em; }
.section-body { min-width:0; }
.section-title { font-family:var(--serif); font-weight:600; font-size:clamp(31px,3.9vw,47px); letter-spacing:-0.023em; margin:0 0 12px; }
.section-intro { color:var(--muted); font-size:19px; max-width:58ch; margin:0 0 34px; }
.overview-lead { font-size:clamp(20px,2.4vw,24px); line-height:1.5; color:var(--ink); max-width:64ch; margin:0 0 18px; }
.overview-by { max-width:64ch; }

/* Interior page hero */
.page-hero { border-bottom:1px solid var(--hairline); padding-block:clamp(46px,7vw,86px); }
.page-hero .eyebrow { color:var(--teal); font-size:13px; margin:0 0 16px; }
.page-hero h1 { font-family:var(--serif); font-weight:600; font-size:clamp(34px,5vw,58px); line-height:1.04; letter-spacing:-0.025em; }

/* About - founder */
.founder { display:grid; grid-template-columns:1fr; gap:30px; align-items:start; }
@media (min-width:640px) { .founder { grid-template-columns:minmax(200px,268px) 1fr; gap:46px; } }
.founder-photo { width:100%; max-width:300px; aspect-ratio:4/5; object-fit:cover; border:1px solid var(--hairline); border-radius:var(--radius); box-shadow:0 20px 44px -26px rgba(14,76,74,.32); }
.founder-role { font-family:var(--mono); font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--teal); margin:4px 0 20px; }
.founder-bio p { margin:0 0 16px; color:var(--ink); font-size:18px; max-width:60ch; }
.founder-bio .btn { margin-top:6px; }

/* ---- Ledger (services) ---- */
.ledger-group { font-family:var(--mono); font-size:12.5px; text-transform:uppercase; letter-spacing:.13em; color:var(--teal); margin:38px 0 12px; }
.section-body > .ledger-group:first-of-type { margin-top:16px; }
.ledger { list-style:none; margin:0; padding:0; border-top:1px solid var(--hairline); }
.ledger-row {
  display:grid; grid-template-columns:1fr; gap:5px 18px; align-items:baseline;
  padding:18px 4px 18px 0; border-bottom:1px solid var(--hairline);
  color:inherit; transition:padding-left var(--micro) var(--ease);
}
@media (min-width:680px) { .ledger-row { grid-template-columns:16rem 1fr; gap:30px; } }
a.ledger-row:hover { padding-left:8px; }
.ledger-term { font-family:var(--sans); font-weight:600; font-size:18px; color:var(--ink); display:flex; align-items:center; gap:9px; }
.ledger-go { color:var(--teal); opacity:0; transform:translateX(-4px); transition:opacity var(--micro), transform var(--micro) var(--ease); }
a.ledger-row:hover .ledger-term { color:var(--teal); }
a.ledger-row:hover .ledger-go { opacity:1; transform:none; }
.ledger-desc { color:var(--muted); font-size:16px; grid-column:1 / -1; }
@media (min-width:680px) { .ledger-desc { grid-column:2; } }
.ledger-note { color:var(--muted); font-size:16px; margin:26px 0 0; }

/* ---- Prose (service pages) ---- */
.prose { max-width:var(--measure); }
.prose h3 { font-family:var(--sans); font-weight:600; font-size:20px; margin:38px 0 12px; }
.prose h3:first-child { margin-top:0; }
.prose p { margin:0 0 18px; color:var(--ink); }
.prose ul { margin:0 0 20px; padding:0; list-style:none; }
.prose li { position:relative; padding-left:22px; margin:0 0 11px; color:var(--ink); }
.prose li::before { content:""; position:absolute; left:0; top:.66em; width:9px; height:1px; background:var(--teal); }
.prose em { font-family:var(--serif); font-style:italic; color:var(--muted); }
.crumb { font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin:0 0 18px; }
.crumb a { color:var(--muted); }
.crumb a:hover { color:var(--teal); }
.page-sub { font-size:clamp(18px,2.1vw,21px); color:var(--muted); max-width:56ch; margin:16px 0 0; }

/* ---- Signal line (the signature) ---- */
.sigline { display:block; width:100%; height:40px; color:var(--teal); }
.sigline path { fill:none; stroke:currentColor; stroke-width:2.25; vector-effect:non-scaling-stroke; stroke-linejoin:round; }
.sig-divider { padding-block:8px; }
.sig-divider + .section { border-top:0; }   /* divider replaces the section hairline (no double line) */
.sig-divider .sigline { opacity:.5; }        /* softer than the hero keyline / panel signal */
.sig-divider .sigline path { stroke-width:1.75; }

/* ---- Dark "Control Plane" bands ---- */
.band { background:var(--band); color:var(--band-ink); border-top:1px solid var(--band-line); }
.band .section-title, .band h2, .band h3 { color:var(--band-ink); }
.band .rail-index { color:var(--teal-bright); }
.band .rail-label { color:var(--teal-bright); }
.band .section-intro, .band p { color:var(--band-muted); }
.band .sigline { color:var(--teal-bright); }
.band .btn-primary { background:var(--teal-bright); color:#08211f; border-color:var(--teal-bright); }
.band .btn-primary:hover { background:#7fd3c9; border-color:#7fd3c9; }

.stat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px 32px; margin:8px 0 0; }
@media (min-width:820px) { .stat-grid { grid-template-columns:repeat(3,1fr); } }
.stat { border-left:1px solid var(--teal-bright); padding-left:18px; }
.stat-num { display:block; font-family:var(--mono); font-weight:500; font-variant-numeric:tabular-nums; font-size:clamp(34px,5vw,50px); line-height:1; letter-spacing:-0.02em; color:var(--band-ink); }
.stat-label { display:block; font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.07em; color:var(--band-muted); margin-top:11px; }
.band-foot { font-family:var(--mono); font-size:12.5px; color:var(--band-muted); margin:34px 0 0; max-width:70ch; }

/* How-I-work steps (dark band) */
.steps { list-style:none; margin:8px 0 0; padding:0; display:grid; grid-template-columns:1fr; gap:26px; }
@media (min-width:760px) { .steps { grid-template-columns:repeat(3,1fr); gap:38px; } }
.step { border-top:1px solid var(--hairline); padding-top:16px; }
.step-num { font-family:var(--mono); font-size:13px; letter-spacing:.04em; color:var(--teal); }
.step-title { font-family:var(--serif); font-weight:600; font-size:23px; letter-spacing:-0.015em; margin:10px 0 9px; color:var(--ink); }
.step p { margin:0; font-size:16px; color:var(--muted); max-width:34ch; }
/* dark-band variant (e.g. the services-hub 'How we work' band) */
.band .step { border-top-color:var(--band-line); }
.band .step-num { color:var(--teal-bright); }
.band .step-title { color:var(--band-ink); }
.band .step p { color:var(--band-muted); }

/* Why list */
.why-list { list-style:none; margin:6px 0 0; padding:0; }
.why-list li { position:relative; padding-left:26px; margin:0 0 18px; max-width:64ch; color:var(--ink); }
.why-list li::before { content:""; position:absolute; left:0; top:.62em; width:14px; height:1px; background:var(--teal); }

/* Contact band inner */
.cta-lead { font-size:clamp(18px,2vw,21px); color:var(--muted); max-width:56ch; margin:12px 0 30px; }
/* Costly-gap standalone dark band */
.gap-statement { font-family:var(--serif); font-weight:600; font-size:clamp(24px,3vw,36px); line-height:1.26; letter-spacing:-0.016em; color:var(--band-ink); max-width:34ch; margin:0; }
.gap-accent { color:var(--teal-bright); }
.cta-actions { display:flex; gap:14px; flex-wrap:wrap; }
.contact-methods { list-style:none; margin:14px 0 0; padding:0; }
.contact-methods li { margin:0 0 14px; font-size:18px; }
.contact-methods .label { font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); display:block; margin-bottom:3px; }

/* ---- Footer ---- */
.site-footer { background:var(--band); color:var(--band-muted); border-top:1px solid var(--band-line); padding-block:54px; }
.footer-logo { height:22px; width:auto; opacity:.92; }
.footer-nav { display:flex; gap:26px; flex-wrap:wrap; margin:26px 0 22px; }
.footer-nav a { font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--band-muted); }
.footer-nav a:hover { color:var(--teal-bright); }
.footer-meta, .footer-copy { font-family:var(--mono); font-size:12px; letter-spacing:.02em; color:var(--band-muted); margin:0; }
.footer-copy { margin-top:10px; }

/* ============================================================
   Motion - progressive enhancement, reduced-motion safe
   ============================================================ */

/* Hero entrance (pure CSS; runs with or without JS) */
@media (prefers-reduced-motion:no-preference) {
  .hero-main > *, .hero .panel { opacity:0; animation:rise .62s var(--ease) both; }
  .hero-main > *:nth-child(1) { animation-delay:.04s; }
  .hero-main > *:nth-child(2) { animation-delay:.12s; }
  .hero-main > *:nth-child(3) { animation-delay:.20s; }
  .hero-main > *:nth-child(4) { animation-delay:.28s; }
  .hero-main > *:nth-child(5) { animation-delay:.36s; }
  .hero-main > *:nth-child(6) { animation-delay:.44s; }
  .hero .panel { animation-delay:.30s; }
  .hero-keyline .sigline path { stroke-dasharray:1500; stroke-dashoffset:1500; animation:draw 1.05s var(--ease) .55s forwards; }
}
@keyframes rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes draw { to { stroke-dashoffset:0; } }

/* Scroll reveal for below-the-fold blocks (JS adds html.js-motion + .in) */
html.js-motion [data-reveal] { opacity:0; transform:translateY(16px); }
html.js-motion [data-reveal].in { opacity:1; transform:none; transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease); }
/* Signal-line dividers draw on reveal */
html.js-motion .sig-divider .sigline path { stroke-dasharray:1500; stroke-dashoffset:1500; }
html.js-motion .sig-divider.in .sigline path { animation:draw 1.05s var(--ease) forwards; }

/* ---- Reduced motion killswitch ---- */
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after {
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  [data-reveal] { opacity:1 !important; transform:none !important; }
  .sigline path { stroke-dasharray:none !important; stroke-dashoffset:0 !important; }
}

/* ============================================================
   Mobile navigation overlay
   ============================================================ */
@media (max-width:860px) {
  .nav-toggle { display:inline-flex; }
  .nav {
    position:fixed; inset:0; z-index:60; background:var(--paper);
    flex-direction:column; align-items:flex-start; justify-content:center; gap:4px;
    padding:0 28px; opacity:0; visibility:hidden; transition:opacity .2s var(--ease), visibility .2s;
  }
  html.nav-open .nav { opacity:1; visibility:visible; }
  .nav a { font-family:var(--serif); font-size:30px; text-transform:none; letter-spacing:-0.02em; padding:12px 0; }
  .nav a:not(.nav-cta)::after { display:none; }
  .nav-cta { border:0; padding:12px 0; color:var(--teal); }
  .nav-cta:hover { background:none; color:var(--teal-deep); }
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:680px) {
  body { font-size:17px; }
  .hero-actions .btn, .cta-actions .btn { width:100%; justify-content:center; }
}

/* ============================================================
   Print - dark bands to light; hide chrome (adjudicators print)
   ============================================================ */
@media print {
  .site-header, .nav-toggle, .skip-link, .hero-actions, .cta-actions, .panel { display:none !important; }
  body { background:#fff; color:#000; font-size:11.5pt; }
  a { color:#000; }
  .band, .site-footer { background:#fff !important; color:#000 !important; border-color:#ccc !important; }
  .band .section-title, .band h2, .band h3, .stat-num, .band p, .band-foot,
  .footer-meta, .footer-copy, .footer-nav a, .rail-index, .rail-label { color:#000 !important; }
  .stat { border-left-color:#000 !important; }
  .sigline { color:#000 !important; }
  .section { border-color:#ccc !important; }
}
