:root {
  --ink: #14213d;
  --blue: #075985;
  --sky: #e0f2fe;
  --gold: #f59e0b;
  --paper: #ffffff;
  --muted: #526274;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #f8fafc;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}
a { color: var(--blue); }
img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.25rem auto;
  border-radius: .8rem;
}
.recovered-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}
.recovered-gallery img {
  width: 100%;
  height: 230px;
  margin: 0;
  object-fit: cover;
}
.site-header {
  position: sticky;
  z-index: 10;
  top: 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: .85rem max(1rem, calc((100vw - 1180px) / 2));
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 1px 12px rgba(15, 23, 42, .12);
}
.brand {
  margin-right: auto;
  color: var(--ink);
  font-size: 1.35rem;
  font-weight: 850;
  text-decoration: none;
}
.brand span { color: var(--blue); }
nav { display: flex; gap: 1.1rem; }
nav a { color: var(--ink); font-weight: 700; text-decoration: none; }
.call-button {
  padding: .7rem 1rem;
  color: #111827;
  background: var(--gold);
  border-radius: .55rem;
  font-weight: 850;
  text-decoration: none;
}
.page-shell {
  width: min(1120px, calc(100% - 2rem));
  min-height: 60vh;
  margin: 0 auto;
  padding: clamp(2rem, 6vw, 5rem) 0;
}
.page-shell > div,
.page-shell > section,
.page-shell > article {
  margin-bottom: 1.5rem;
}
h1, h2, h3 { line-height: 1.15; }
h1 { max-width: 20ch; font-size: clamp(2.35rem, 7vw, 5rem); }
h2 { margin-top: 2.5rem; font-size: clamp(1.65rem, 4vw, 2.5rem); }
h3 { font-size: 1.3rem; }
p, li { max-width: 78ch; }
blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  background: var(--sky);
  border-left: .35rem solid var(--blue);
}
.trust-band {
  padding: 2.2rem max(1rem, calc((100vw - 1120px) / 2));
  color: white;
  background: var(--blue);
}
.trust-band h2 { margin: 0 0 .4rem; }
.trust-band p { margin: 0; }
.site-footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  padding: 2.5rem max(1rem, calc((100vw - 1120px) / 2));
  color: #dbeafe;
  background: #0f172a;
}
.site-footer a { color: white; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .7rem; border: 1px solid #cbd5e1; text-align: left; }

@media (max-width: 800px) {
  .site-header { flex-wrap: wrap; }
  nav { order: 3; width: 100%; overflow-x: auto; }
  .call-button { white-space: nowrap; }
  .site-footer { grid-template-columns: 1fr; }
}

.project-gallery{margin:2.5rem 0}.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.image-grid figure{margin:0}.image-grid img,.page-shell>figure img{width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:10px}.image-grid figcaption{font-size:.9rem;color:#555;margin-top:.4rem}.seo-support{margin-top:2.5rem}.seo-support h2{margin-top:1.75rem}
/* Navigation, blog, and homepage visual layout */
.menu-toggle{display:none;border:1px solid #cbd5e1;background:#fff;border-radius:.55rem;padding:.65rem .85rem;font-weight:800;color:var(--ink)}
.primary-nav{display:flex;align-items:center;gap:1rem}.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;cursor:pointer;font-weight:700;color:var(--ink)}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:after{content:' ▾';font-size:.8em}.dropdown-panel{position:absolute;top:calc(100% + .8rem);left:0;display:grid;min-width:260px;padding:.65rem;background:#fff;border:1px solid #dbe3ec;border-radius:.75rem;box-shadow:0 14px 35px rgba(15,23,42,.16)}.dropdown-panel a{padding:.65rem .75rem;border-radius:.45rem}.dropdown-panel a:hover{background:var(--sky)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:850;color:var(--blue)}.blog-hero{max-width:760px;margin-bottom:2.5rem}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.blog-card{overflow:hidden;background:#fff;border:1px solid #dbe3ec;border-radius:1rem;box-shadow:0 10px 25px rgba(15,23,42,.07)}.blog-card img{width:100%;height:245px;object-fit:cover;margin:0;border-radius:0}.blog-card div{padding:1.25rem}.blog-card h2{margin:.2rem 0 .65rem;font-size:1.45rem}.blog-card h2 a{text-decoration:none;color:var(--ink)}.text-link{font-weight:800;text-decoration:none}.article-page{max-width:850px}.article-intro{font-size:1.18rem;color:var(--muted)}.article-hero img{width:100%;max-height:480px;object-fit:cover}.article-cta{margin-top:3rem;padding:1.5rem;background:var(--sky);border-radius:1rem}.article-cta h2{margin-top:0}
.home-projects{margin:3rem 0}.section-heading{max-width:760px}.home-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.project-card{overflow:hidden;background:#fff;border-radius:1rem;box-shadow:0 12px 28px rgba(15,23,42,.09);border:1px solid #dbe3ec}.project-card img{width:100%;height:240px;object-fit:cover;margin:0;border-radius:0}.project-card div{padding:1rem 1.1rem}.project-card h3{margin:0 0 .35rem}.project-card p{margin:0;color:var(--muted)}
@media(max-width:900px){.menu-toggle{display:inline-flex}.primary-nav{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;padding:.75rem 0}.primary-nav.is-open{display:flex}.primary-nav>a,.nav-dropdown summary{padding:.7rem .2rem}.nav-dropdown{width:100%}.dropdown-panel{position:static;box-shadow:none;margin-top:.4rem;min-width:0}.blog-grid,.home-project-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.blog-grid,.home-project-grid{grid-template-columns:1fr}.site-header{gap:.75rem}.call-button{font-size:.85rem;padding:.6rem .75rem}.project-card img,.blog-card img{height:220px}}
/* SEO silo navigation */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:0 0 1.25rem;font-size:.92rem;color:var(--muted)}.breadcrumbs a{text-decoration:none;font-weight:700}.silo-related{margin-top:3rem;padding:1.5rem;background:#fff;border:1px solid #dbe3ec;border-radius:1rem}.silo-related h2{margin:.2rem 0 1rem}.silo-related ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem 1rem;padding-left:1.2rem}.silo-related a{font-weight:750;text-decoration:none}
.location-services{margin-top:3rem}.location-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.location-service-grid a{display:block;padding:1rem;background:#fff;border:1px solid #dbe3ec;border-radius:.75rem;font-weight:800;text-decoration:none}.location-service-grid a:hover{background:var(--sky)}