/* ---------------------------------------------------------------------------
   site.css — additions layered on top of the compiled cool-tech.css.
   Header nav links, footer link columns, and the sub-page building blocks
   (hero, breadcrumbs, checklists, CTA band). Uses the same --ct-* tokens.
--------------------------------------------------------------------------- */

/* Header nav links (desktop only — mobile keeps brand + call button) */
.ct-nav-links{display:flex;align-items:center;gap:26px;margin-left:auto;margin-right:22px}
.ct-nav-links a{color:var(--ct-muted);font-size:.95rem;font-weight:600;text-decoration:none;
  padding:6px 2px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.ct-nav-links a:hover{color:var(--ct-ink);border-color:var(--ct-green)}
.ct-nav-links a:focus-visible{outline:2px solid var(--ct-green);outline-offset:3px;border-radius:4px}
.ct-nav-links a:active{transform:scale(.98)}
@media (width<=900px){.ct-nav-links{display:none}}

/* Sub-page hero: same navy world as the homepage, no film — a layered glow
   instead so it stays light to load. */
.ct-subhero{position:relative;overflow:hidden;background:var(--ct-navy-deep);
  padding:150px 0 64px}
.ct-subhero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(720px 420px at 82% -10%, #16a34a2e 0%, transparent 62%),
    radial-gradient(560px 380px at -6% 108%, #0a254099 0%, transparent 60%)}
.ct-subhero .ct-container{position:relative}
.ct-subhero h1{letter-spacing:-.035em;margin:0 0 16px;
  font-size:clamp(2.2rem,5.2vw,3.6rem);font-weight:700;line-height:1.04;max-width:22ch}
.ct-subhero .ct-hero-body{max-width:56ch}
.ct-subhero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.ct-subhero-media{position:relative;border-radius:var(--ct-radius);overflow:hidden;
  border:1px solid var(--ct-line)}
.ct-subhero-media img{display:block;width:100%;height:320px;object-fit:cover}
.ct-subhero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,#06182999 0%,transparent 55%),
    linear-gradient(120deg,#0a254059,transparent 60%)}
@media (width<=900px){
  .ct-subhero{padding:128px 0 52px}
  .ct-subhero-grid{grid-template-columns:1fr;gap:28px}
  .ct-subhero-media img{height:220px}
}

/* Breadcrumbs */
.ct-crumbs{font-family:var(--ct-mono);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ct-muted);margin:0 0 18px;display:flex;
  flex-wrap:wrap;gap:8px;align-items:center;list-style:none;padding:0}
.ct-crumbs a{color:var(--ct-muted);text-decoration:none;transition:color .15s}
.ct-crumbs a:hover{color:var(--ct-green)}
.ct-crumbs li:not(:last-child)::after{content:"/";margin-left:8px;color:var(--ct-line)}
.ct-crumbs li:last-child{color:var(--ct-green)}

/* Checkmark list */
.ct-checks{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;max-width:840px}
.ct-checks li{position:relative;padding:14px 16px 14px 44px;font-size:.98rem;
  color:var(--ct-ink);border:1px solid var(--ct-line);border-radius:10px;
  background:#f2f6f308}
.ct-checks li::before{content:"";position:absolute;left:16px;top:50%;
  width:16px;height:16px;transform:translateY(-50%);border-radius:50%;
  background:var(--ct-green);
  -webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="black" d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.6 5.6a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-2-2a.75.75 0 1 1 1.06-1.06l1.47 1.47 3.47-3.47a.75.75 0 0 1 1.06 0z"/></svg>') center/contain no-repeat;
  mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="black" d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.6 5.6a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-2-2a.75.75 0 1 1 1.06-1.06l1.47 1.47 3.47-3.47a.75.75 0 0 1 1.06 0z"/></svg>') center/contain no-repeat}
.ct-checks a{color:var(--ct-green);text-decoration:none}
.ct-checks a:hover{text-decoration:underline}
@media (width<=640px){.ct-checks{grid-template-columns:1fr}}

/* Linked city / service chips */
.ct-chips{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}
.ct-chips a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;
  border:1px solid var(--ct-line);border-radius:999px;background:#f2f6f308;
  color:var(--ct-ink);font-size:.9rem;font-weight:600;text-decoration:none;
  transition:border-color .15s,background .15s,transform .15s}
.ct-chips a::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--ct-green)}
.ct-chips a:hover{border-color:#16a34a8c;background:#16a34a1f;transform:translateY(-1px)}
.ct-chips a:focus-visible{outline:2px solid var(--ct-green);outline-offset:2px}
.ct-chips a:active{transform:scale(.98)}
.ct-chips a[aria-current="page"]{border-color:var(--ct-green);background:#16a34a24}

/* Learn-more link inside bento cells */
.ct-cell-link{margin-top:12px;font-size:.88rem;font-weight:600;color:var(--ct-green);
  text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.ct-cell-link::after{content:"\2192";transition:transform .15s}
.ct-cell-link:hover::after{transform:translateX(3px)}
.ct-cell-link:focus-visible{outline:2px solid var(--ct-green);outline-offset:2px}

/* Bottom CTA band */
.ct-cta-band{background:var(--ct-navy);border-top:1px solid var(--ct-line);
  padding:72px 0}
.ct-cta-band .ct-h2{margin-bottom:10px}
.ct-cta-band .ct-sub{margin-bottom:28px}

/* Footer link columns */
.ct-footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;
  padding-bottom:34px;margin-bottom:28px;border-bottom:1px solid var(--ct-line)}
.ct-fcol h3{font-family:var(--ct-mono);font-size:.7rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ct-ink);margin:0 0 14px}
.ct-fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ct-fcol a{color:var(--ct-muted);font-size:.92rem;text-decoration:none;transition:color .15s}
.ct-fcol a:hover{color:var(--ct-ink)}
.ct-fcol p{color:var(--ct-muted);font-size:.92rem;margin:0 0 10px;max-width:34ch}
.ct-fcol .ct-fphone{color:var(--ct-green);font-family:var(--ct-mono);font-size:.95rem;
  text-decoration:none;display:inline-block;margin-bottom:4px}
@media (width<=900px){.ct-footer-cols{grid-template-columns:1fr 1fr;gap:28px}}
@media (width<=560px){.ct-footer-cols{grid-template-columns:1fr}}

/* Directions link on location cards */
.ct-dir{display:inline-flex;align-items:center;gap:7px;margin-top:10px;
  font-size:.88rem;font-weight:600;color:var(--ct-ink);text-decoration:none;
  border-bottom:1px solid var(--ct-line);padding-bottom:2px;transition:color .15s,border-color .15s}
.ct-dir:hover{color:var(--ct-green);border-color:var(--ct-green)}
.ct-dir::before{content:"\2197";color:var(--ct-green)}
