/* Civis Media — the brochure front (template: civis).
   A communications shop, not a paper: quiet slate ink on warm bone, one
   copper accent, and the network's two house rules kept — the horizon rule
   (4px ink + 1px hairline) and zero border radius everywhere. */

@import url('/assets/css/fonts.css');  /* self-hosted; was fonts.googleapis.com */

:root{
  --cv-ink:#1B2A41; --cv-deep:#131F31; --cv-paper:#F6F5F2; --cv-panel:#FFFFFF;
  --cv-board:#C8C9C7; --cv-copper:#A65B2A; --cv-copper-deep:#8A4E24;
  --cv-muted:#5C6672; --cv-sky:#8FA8C2;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.t-civis{
  background:var(--cv-paper); color:var(--cv-ink);
  font-family:'Newsreader',Georgia,serif; font-size:18px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.cv-wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.cv-horizon{height:4px;background:var(--cv-ink);position:relative}
.cv-horizon::after{content:'';position:absolute;left:0;right:0;top:6px;height:1px;background:var(--cv-board)}
.cv-mono{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase}

/* --- Top bar ------------------------------------------------------------- */
.cv-top{background:var(--cv-paper)}
.cv-top .cv-wrap{display:flex;align-items:center;justify-content:space-between;padding-top:26px;padding-bottom:18px;gap:24px}
.cv-top .logo img{display:block;height:34px;width:auto}
.cv-top nav{display:flex;gap:26px}
.cv-top nav a{font-family:'Archivo',sans-serif;font-weight:600;font-size:14px;letter-spacing:.02em;color:var(--cv-ink);text-decoration:none}
.cv-top nav a:hover{color:var(--cv-copper-deep)}

/* --- Hero ---------------------------------------------------------------- */
.cv-hero{background:var(--cv-ink);color:var(--cv-paper)}
.cv-hero .cv-wrap{padding-top:88px;padding-bottom:96px}
.cv-hero .kicker{color:var(--cv-sky);margin-bottom:22px}
.cv-hero h1{font-family:'Archivo',sans-serif;font-weight:700;font-size:clamp(38px,6vw,64px);line-height:1.04;letter-spacing:-.015em;max-width:15ch}
.cv-hero p{margin-top:26px;max-width:56ch;font-size:20px;color:#D9DCE1}
.cv-hero .act{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}
.cv-btn{display:inline-block;font-family:'Archivo',sans-serif;font-weight:600;font-size:15px;
  padding:13px 26px;text-decoration:none;border:1px solid transparent;cursor:pointer}
.cv-btn--copper{background:var(--cv-copper);color:#fff}
.cv-btn--copper:hover{background:var(--cv-copper-deep)}
.cv-btn--ghost{border-color:var(--cv-sky);color:var(--cv-paper);background:transparent}
.cv-btn--ghost:hover{border-color:#fff}

/* --- Section scaffolding -------------------------------------------------- */
.cv-section .cv-wrap{padding-top:78px;padding-bottom:78px}
.cv-section .kicker{color:var(--cv-copper-deep);margin-bottom:14px}
.cv-section h2{font-family:'Archivo',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,36px);letter-spacing:-.01em;max-width:24ch}

/* --- Services ------------------------------------------------------------- */
.cv-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--cv-board);border:1px solid var(--cv-board);margin-top:36px}
.cv-service{background:var(--cv-panel);padding:28px 26px 32px}
.cv-service h3{font-family:'Archivo',sans-serif;font-weight:600;font-size:19px;margin-bottom:12px}
.cv-service h3::before{content:'';display:block;width:34px;height:4px;background:var(--cv-copper);margin-bottom:16px}
.cv-service p{font-size:16px;color:var(--cv-muted)}

/* --- Approach ------------------------------------------------------------- */
.cv-band{background:#ECEAE4}
.cv-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:40px;margin-top:36px}
.cv-step .n{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:44px;color:var(--cv-copper);line-height:1}
.cv-step h3{font-family:'Archivo',sans-serif;font-weight:600;font-size:19px;margin:12px 0 10px}
.cv-step p{font-size:16px;color:var(--cv-muted)}

/* --- Contact -------------------------------------------------------------- */
.cv-contact .cv-wrap{display:grid;grid-template-columns:minmax(260px,5fr) minmax(300px,7fr);gap:56px}
@media (max-width:820px){.cv-contact .cv-wrap{grid-template-columns:1fr;gap:32px}}
.cv-contact .lede{margin-top:18px;color:var(--cv-muted);max-width:44ch}
.cv-contact .direct{margin-top:26px;font-size:16px}
.cv-contact .direct a{color:var(--cv-copper-deep)}
.cv-form{background:var(--cv-panel);border:1px solid var(--cv-board);padding:30px 28px 34px}
.cv-form label{display:block;font-family:'Archivo',sans-serif;font-weight:600;font-size:13px;letter-spacing:.03em;margin:18px 0 6px}
.cv-form label:first-of-type{margin-top:0}
.cv-form input[type=text],.cv-form input[type=email],.cv-form textarea{
  width:100%;font-family:'Newsreader',Georgia,serif;font-size:17px;color:var(--cv-ink);
  background:var(--cv-paper);border:1px solid var(--cv-board);padding:11px 12px}
.cv-form input:focus,.cv-form textarea:focus{outline:2px solid var(--cv-sky);outline-offset:0}
.cv-form textarea{min-height:140px;resize:vertical}
.cv-form .send{margin-top:24px}
.cv-note{border:1px solid var(--cv-board);border-left:4px solid var(--cv-copper);background:var(--cv-panel);padding:16px 18px;margin-bottom:22px;font-size:16px}
.cv-note--ok{border-left-color:#3F6C4B}

/* --- Footer ---------------------------------------------------------------- */
.cv-foot{background:var(--cv-deep);color:#B9BEC7}
.cv-foot .cv-wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:34px;padding-bottom:38px;font-size:15px}
.cv-foot img{display:block;height:26px;width:auto}
.cv-foot a{color:#D9DCE1;text-decoration:none}
.cv-foot a:hover{color:#fff}
