/* v3 — Ops manifesto / facility | dials 8/5/4 | NOT roofing editorial ed-grid */
:root{
  --font:"Source Sans 3",system-ui,sans-serif;
  --display:"Newsreader",Georgia,serif;
  --radius:2px;
  --max:960px;
}
body{font-family:var(--font)}
.site-header{
  position:sticky;top:0;z-index:40;
  background:var(--color-bg);
  border-bottom:1px solid var(--color-line);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;min-height:56px}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:700;letter-spacing:-.02em;font-size:.95rem;text-transform:uppercase}
.brand img{width:28px;height:28px}
.brand b{color:var(--color-primary)}
.nav-links{display:none;gap:1.1rem;font-weight:600;font-size:.85rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}
.nav-links a:hover,.nav-links a.is-active{color:var(--color-ink)}
.nav-toggle{width:40px;height:40px;border:1px solid var(--color-line);border-radius:0;display:grid;place-items:center;background:var(--color-surface)}
.nav-toggle span{display:block;width:16px;height:2px;background:var(--color-ink);position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:16px;height:2px;background:var(--color-ink)}
.nav-toggle span::before{top:-5px}.nav-toggle span::after{top:5px}
.nav-drawer{display:none;border-top:1px solid var(--color-line);padding:.5rem 0 1rem}
.nav-drawer.is-open{display:grid}
.nav-drawer a{padding:.75rem 0;font-weight:700;border-bottom:1px solid var(--color-line)}
@media(min-width:860px){.nav-links{display:flex}.nav-toggle{display:none}.nav-drawer{display:none!important}}
.btn{border-radius:0;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;padding:.75rem 1rem}

/* Manifest board hero */
.hero{padding:2rem 0 1.5rem}
.manifest{
  border:2px solid var(--color-ink);
  background:var(--color-surface);
  padding:clamp(1.25rem,3vw,2rem);
}
.manifest-meta{
  display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--color-muted);margin-bottom:1rem;
  padding-bottom:.85rem;border-bottom:1px solid var(--color-line);
}
.manifest h1{
  font-family:var(--display);font-size:clamp(1.9rem,4.2vw,2.85rem);
  line-height:1.12;letter-spacing:-.02em;margin:0 0 .85rem;max-width:18ch;font-weight:700;
}
.manifest .lead{color:var(--color-muted);max-width:42ch;margin:0 0 1.25rem}
.manifest-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.manifest-facts{
  display:grid;gap:.75rem;margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid var(--color-line);
}
@media(min-width:640px){.manifest-facts{grid-template-columns:repeat(3,1fr)}}
.manifest-facts div{font-size:.88rem}
.manifest-facts b{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);margin-bottom:.25rem}

.section{padding:2.5rem 0}
.section h2{font-family:var(--display);font-size:clamp(1.35rem,2.5vw,1.75rem);margin:0 0 .35rem;font-weight:700}
.section .sub{color:var(--color-muted);margin:0 0 1.25rem;max-width:48ch;font-size:.95rem}

/* Route index table */
.route-table{width:100%;border-collapse:collapse;font-size:.92rem}
.route-table th,.route-table td{text-align:left;padding:.85rem .65rem;border-bottom:1px solid var(--color-line);vertical-align:top}
.route-table th{
  font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);font-weight:700;
  border-bottom:2px solid var(--color-ink);
}
.route-table td:first-child{font-weight:700}
@media(max-width:640px){
  .route-table,.route-table thead,.route-table tbody,.route-table th,.route-table td,.route-table tr{display:block}
  .route-table thead{display:none}
  .route-table tr{border:1px solid var(--color-line);margin-bottom:.75rem;padding:.5rem}
  .route-table td{border:0;padding:.35rem .25rem}
  .route-table td::before{content:attr(data-label);display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-weight:700}
}

/* Definition list services */
.svc-dl{margin:0;display:grid;gap:0;border-top:1px solid var(--color-line)}
.svc-dl > div{display:grid;gap:.35rem;padding:1.1rem 0;border-bottom:1px solid var(--color-line)}
@media(min-width:700px){.svc-dl > div{grid-template-columns:220px 1fr;gap:1.5rem;align-items:baseline}}
.svc-dl dt{font-weight:700;font-size:1.02rem}
.svc-dl dd{margin:0;color:var(--color-muted)}

.note-box{
  border:1px solid var(--color-ink);padding:1.25rem 1.35rem;
  background:color-mix(in srgb,var(--color-hero-wash) 70%,var(--color-surface));
}
.note-box .label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin:0 0 .5rem}
.note-box p{margin:0;font-family:var(--display);font-size:1.15rem;line-height:1.45}

.clip-cta{
  border:2px solid var(--color-ink);padding:clamp(1.25rem,3vw,1.75rem);
  display:grid;gap:1rem;align-items:center;
}
@media(min-width:700px){.clip-cta{grid-template-columns:1fr auto}}
.clip-cta h2{font-family:var(--display);margin:0;font-size:1.45rem}
.clip-cta p{margin:.35rem 0 0;color:var(--color-muted);max-width:42ch}

/* Work order contact */
.page-hero{padding:1.75rem 0 1rem}
.page-hero h1{font-family:var(--display);font-size:clamp(1.6rem,3.2vw,2.2rem);margin:0}
.crumbs{display:flex;flex-wrap:wrap;gap:.4rem;color:var(--color-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}

.work-order{
  border:2px solid var(--color-ink);background:var(--color-surface);
  padding:clamp(1.15rem,2.5vw,1.75rem);display:grid;gap:.9rem;
}
.wo-head{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;
  padding-bottom:.85rem;border-bottom:1px solid var(--color-line);
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
}
.work-order label{display:grid;gap:.25rem;font-weight:700;font-size:.85rem}
.work-order input,.work-order textarea,.work-order select{
  padding:.65rem .75rem;border:1px solid var(--color-line);border-radius:0;background:var(--color-bg);font:inherit;
}
.form-row{display:grid;gap:.85rem}
@media(min-width:560px){.form-row{grid-template-columns:1fr 1fr}}
.form-note{font-size:.85rem;color:var(--color-muted)}

.site-footer{border-top:2px solid var(--color-ink);padding:2rem 0 1.75rem;margin-top:1.5rem;color:var(--color-muted);font-size:.85rem}
.footer-grid{display:grid;gap:1.25rem}
@media(min-width:700px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.footer-bottom{margin-top:1.25rem;padding-top:.85rem;border-top:1px solid var(--color-line);display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:space-between;font-size:.8rem}
.credit a{color:var(--color-primary-dark);font-weight:700}
