/* CITY EATS FOOD GROUP — "THE SPEC NEWSPAPER"
   Dense broadsheet: masthead, column rules, ledger tables as hero language,
   mono data type, burnt-orange accent, minimal imagery. */
:root{
  --black:#0D0D0D; --ink:#131313; --paper:#FAF6EF; --accent:#C8501E; --accent-soft:#E8875F;
  --hair:#DDD5C6; --hair-dark:#B9AF9A;
  --disp:"Archivo",system-ui,sans-serif; --mono:"IBM Plex Mono",monospace; --sans:"Inter",system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.55;font-size:16px}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
a{color:var(--accent)}
h1,h2{font-family:var(--disp);text-transform:uppercase;line-height:.98;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6.4vw,4.6rem);font-weight:900}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:800}
h3{font-family:var(--disp);font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em}
.kicker,.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.lead{font-size:1.12rem;max-width:64ch}
.btn{display:inline-block;font-family:var(--mono);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;padding:13px 24px;text-decoration:none;border:2px solid var(--black)}
.btn-primary,.btn-dark{background:var(--black);color:var(--paper)}
.btn-ghost,.btn-light{background:transparent;color:var(--black)}
.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.skip{position:absolute;left:-999px}
/* chrome: masthead */
.masthead-black{background:var(--black);color:var(--paper)}
.masthead-top{display:flex;justify-content:space-between;gap:14px;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:8px 0;border-bottom:1px solid #333;flex-wrap:wrap}
.masthead-top a{color:var(--accent-soft)}
.site-header{background:var(--paper);border-bottom:4px solid var(--black);position:sticky;top:0;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}
.brand{text-decoration:none;color:var(--black);line-height:1}
.brand-word{font-family:var(--disp);font-weight:900;font-size:1.7rem;text-transform:uppercase;display:block}
.brand-sub{font-family:var(--mono);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.main-nav{display:flex;gap:22px}
.main-nav a{font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.main-nav a:hover,.main-nav a[aria-current]{color:var(--accent)}
.nav-toggle{display:none;font:inherit;background:none;border:2px solid var(--black);padding:7px 12px;cursor:pointer;font-family:var(--mono);font-size:.8rem}
.site-footer{background:var(--black);color:#E8E2D4;padding:56px 0 30px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:38px}
.footer-mark{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.6rem;color:#fff}
.ft-label{font-family:var(--mono);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:12px}
.site-footer ul{list-style:none}.site-footer li{margin-bottom:8px}
.site-footer a{color:#E8E2D4;text-decoration:none}.site-footer a:hover{color:var(--accent-soft)}
.big-mail{font-family:var(--mono);color:var(--accent-soft)!important}
.footer-bottom{border-top:1px solid #333;margin-top:40px;padding-top:18px;font-family:var(--mono);font-size:.74rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#9a958a}
/* newspaper components */
.dateline{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--black);padding:10px 0;flex-wrap:wrap}
.headline-block{padding:44px 0 30px;border-bottom:1px solid var(--hair-dark)}
.headline-block .lead{margin-top:18px}
.headline-actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.ledger{width:100%;border-collapse:collapse;font-size:.94rem}
.ledger th{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;text-align:left;border-top:3px solid var(--black);border-bottom:1px solid var(--black);padding:10px 12px 8px 0}
.ledger td{border-bottom:1px solid var(--hair);padding:11px 12px 11px 0;vertical-align:top}
.ledger .pname{font-weight:600}
.ledger .pname small{display:block;font-weight:400;color:#555;margin-top:3px;font-size:.88rem}
.ledger .fmt,.ledger .pack{font-family:var(--mono);font-size:.82rem;white-space:nowrap}
.ledger-wrap{margin:34px 0 8px}
.cols3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-top:3px solid var(--black);margin-top:44px}
.cols3>.col{padding:26px 24px 30px;border-left:1px solid var(--hair-dark)}
.cols3>.col:first-child{border-left:none;padding-left:0}
.cols3 p{color:#3d3d3d;margin-top:10px;font-size:.96rem}
.sec-band{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:4px solid var(--black);border-bottom:1px solid var(--black);padding:12px 0 10px;margin:58px 0 6px}
.sec-band .sec-no{font-family:var(--mono);color:var(--accent);font-size:.8rem;letter-spacing:.2em}
.sec-note{font-family:var(--mono);font-size:.76rem;color:#555}
.checklist{list-style:none;margin-top:14px}
.checklist li{padding:8px 0;border-bottom:1px solid var(--hair);font-size:.96rem}
.checklist li::before{content:"— ";color:var(--accent);font-family:var(--mono)}
.form-card{border:3px solid var(--black);padding:36px;background:#fff;margin:36px 0}
.mailto-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:5px}
.field.full{grid-column:1/-1}
.field label{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
.field input,.field select,.field textarea{border:1px solid var(--hair-dark);padding:11px;font:inherit;background:var(--paper)}
.submit-row{grid-column:1/-1;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.form-note,.help{font-size:.86rem;color:#555}
/* legacy classes (remaining pages) */
.hero{padding:52px 0 10px}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}
.hero-actions{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap}
.page-head{padding:48px 0 8px}
.crumb{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#555;margin-bottom:14px}
.section{padding:20px 0 44px}
.sec-head{border-top:4px solid var(--black);padding-top:14px;margin:40px 0 18px}
.sec-no{font-family:var(--mono);color:var(--accent);font-size:.78rem;letter-spacing:.2em}
table.spec{width:100%;border-collapse:collapse;font-size:.94rem}
table.spec th{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--black);padding:9px 12px 7px 0}
table.spec td{border-bottom:1px solid var(--hair);padding:10px 12px 10px 0;vertical-align:top}
td.pname{font-weight:600} td.pname small{display:block;font-weight:400;color:#555;margin-top:3px}
td.fmt,td.pack{font-family:var(--mono);font-size:.82rem}
.spec-wrap{margin:18px 0}
.spec-note,.spec-more{font-family:var(--mono);font-size:.78rem;color:#555;margin-top:12px}
.spec-strip,.program-strip,.index-strip{display:flex;gap:26px;flex-wrap:wrap;border-top:1px solid var(--black);border-bottom:1px solid var(--black);padding:12px 0;font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:30px 0}
.feature{background:var(--black);color:var(--paper);padding:52px 0;margin:44px 0}
.feature h2{color:#fff}
.feature-grid,.feature-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}
.feature-tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-soft)}
.feature-specs{font-family:var(--mono);font-size:.85rem;line-height:2}
.feature-link{color:var(--accent-soft);font-family:var(--mono);font-size:.85rem}
.band{border-top:4px solid var(--black);padding:34px 0}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.band-actions{margin-top:18px;display:flex;gap:12px}
.ledger-row,.program-row,.info-row{display:flex;gap:18px;padding:14px 0;border-bottom:1px solid var(--hair)}
.lr-no{font-family:var(--mono);color:var(--accent)}
.ledger-row p,.program-row p,.info-row p{color:#3d3d3d}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.accent{color:var(--accent)}
.alt{background:#F1EADD}
.flush{margin:0}
.is-note{font-family:var(--mono);font-size:.78rem;color:#555}
.pr-no{font-family:var(--mono);color:var(--accent)}
.pr-name{font-weight:700;font-family:var(--disp);text-transform:uppercase}
.pr-desc{color:#3d3d3d}
.pr-arrow{color:var(--accent)}
.form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px}
.mail{font-family:var(--mono)}
.error-hero{text-align:center;padding:80px 0}
.err-no{font-family:var(--disp);font-weight:900;font-size:5rem;color:var(--accent)}
.error-actions{display:flex;gap:14px;justify-content:center;margin-top:24px}
.prose p{color:#3d3d3d;margin-bottom:14px;max-width:68ch}
@media(max-width:860px){
  .cols3,.hero-grid,.feature-grid,.band-grid,.split,.form-wrap,.footer-grid{grid-template-columns:1fr}
  .cols3>.col{border-left:none;padding-left:0;border-top:1px solid var(--hair-dark)}
  .mailto-form{grid-template-columns:1fr}
  .main-nav{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:16px 24px;border-bottom:3px solid var(--black)}
  .main-nav.open{display:flex}.nav-toggle{display:block}.site-header{position:relative}
  .ledger .fmt{display:none}
}
