/* ============================================================================
   Image Cleaning Systems — "Legacy Trust" theme
   Deep navy (from the real 1976 logo) + warm brass on crisp ivory paper.
   Fraunces display serif for the "legacy" feel, Inter body. Loaded AFTER
   styles.css so brand tokens win over base.css :root defaults.
   ============================================================================ */

:root {
  --brand-primary:   #1E4D8F;   /* logo navy-blue */
  --brand-primary-d: #163C70;   /* deeper navy for gradients/hover */
  --brand-secondary: #0B2340;   /* near-black navy — dark sections / footer */
  --brand-text:      #182233;
  --brand-text-muted:#5C6B80;
  --brand-bg:        #FCFBF7;   /* warm ivory paper */
  --brand-bg-alt:    #F3F1E9;
  --brand-border:    #E4E1D6;
  --font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --gold: #C9992E;
  --gold-d: #A87C1E;
}

body { background: var(--brand-bg); }
.section-alt { background: var(--brand-bg-alt); }
h1, h2, h3 { font-family: var(--font-heading); }
em.acc { font-style: italic; color: var(--brand-primary); }
.section-dark em.acc, .ics-bigcta em.acc { color: #8FB2E8; }

/* Eyebrow with brass tick */
.k-shield { display:inline-flex; align-items:center; gap:9px; text-transform:uppercase; letter-spacing:.2em; font-size:.78rem; font-weight:700; color:var(--gold-d); margin-bottom:14px; }
.k-shield::before {
  content:''; width:14px; height:14px; flex:none;
  background: var(--gold);
  -webkit-mask: var(--shield) center/contain no-repeat; mask: var(--shield) center/contain no-repeat;
}
:root { --shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1l8 4v6c0 5.2-3.4 9.6-8 11-4.6-1.4-8-5.8-8-11V5z'/%3E%3C/svg%3E"); }

/* ============================================================================
   NAV
   ============================================================================ */
.nav-logo img { height: 46px; max-width: 240px; }
.site-header { border-bottom: 1px solid var(--brand-border); background: rgba(252,251,247,.96); }

/* ============================================================================
   HERO / BANNER — full-bleed photo with navy scrim + brass badge
   ============================================================================ */
.x-banner, .x-hero { background: var(--brand-secondary); }
.x-banner .x-hero-scrim { background: linear-gradient(180deg, rgba(11,35,64,.55) 0%, rgba(11,35,64,.72) 55%, rgba(11,35,64,.94) 100%); }
.x-hero .x-hero-scrim { background: linear-gradient(180deg, rgba(11,35,64,.35) 0%, rgba(11,35,64,.55) 45%, rgba(11,35,64,.95) 100%); }
.x-hero h1, .x-banner h1 { font-weight: 600; letter-spacing: -.015em; }
.ics-crumbs-wrap { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; }
.ics-badge {
  display:inline-flex; flex-direction:column; align-items:flex-start; gap:2px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.28); border-radius:12px;
  padding:12px 18px; backdrop-filter: blur(2px);
}
.ics-badge .big { font-family:var(--font-heading); font-size:1.5rem; font-weight:600; color:#fff; line-height:1; }
.ics-badge .sm { font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; color:#B9CBE8; font-weight:600; }

/* ============================================================================
   Section heads
   ============================================================================ */
.ics-head { max-width:700px; margin:0 0 44px; }
.ics-head.center { margin-left:auto; margin-right:auto; text-align:center; }
.ics-head h2 { font-size: clamp(1.9rem,3.6vw,2.9rem); font-weight:600; letter-spacing:-.016em; line-height:1.12; margin:0 0 14px; }
.ics-head p { font-size:1.08rem; color:var(--brand-text-muted); margin:0; line-height:1.6; }

/* ============================================================================
   Trust strip
   ============================================================================ */
.ics-trust { border-top:1px solid var(--brand-border); border-bottom:1px solid var(--brand-border); background:#fff; }
.ics-trust .container { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:26px var(--container-pad); }
.ics-trust-item { display:flex; gap:13px; align-items:center; }
.ics-trust-item svg { width:28px; height:28px; color:var(--gold); flex:none; }
.ics-trust-item strong { display:block; font-family:var(--font-heading); font-weight:600; font-size:1rem; color:var(--brand-text); letter-spacing:-.01em; }
.ics-trust-item span { color:var(--brand-text-muted); font-size:.85rem; }
@media (max-width:820px){ .ics-trust .container { grid-template-columns:1fr 1fr; gap:22px; } }
@media (max-width:480px){ .ics-trust .container { grid-template-columns:1fr; } }

/* ============================================================================
   Process steps
   ============================================================================ */
.ics-process { display:grid; grid-template-columns:repeat(3,1fr); gap:34px; counter-reset:step; }
.ics-step { position:relative; padding-left:56px; }
.ics-step::before {
  counter-increment:step; content:counter(step);
  position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%;
  background:var(--brand-primary); color:#fff; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-heading); font-weight:600; font-size:1.15rem;
}
.ics-step h3 { margin:2px 0 8px; font-size:1.15rem; font-weight:600; }
.ics-step p { margin:0; color:var(--brand-text-muted); line-height:1.6; }
@media (max-width:820px){ .ics-process { grid-template-columns:1fr; gap:26px; } }

/* ============================================================================
   Why-us cards
   ============================================================================ */
.ics-why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.ics-why { background:#fff; border:1px solid var(--brand-border); border-radius:12px; padding:28px 24px; }
.ics-why svg { width:30px; height:30px; color:var(--brand-primary); margin-bottom:14px; }
.ics-why h3 { font-size:1.08rem; font-weight:600; margin:0 0 8px; }
.ics-why p { margin:0; color:var(--brand-text-muted); font-size:.94rem; line-height:1.6; }
@media (max-width:920px){ .ics-why-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .ics-why-grid { grid-template-columns:1fr; } }

/* ============================================================================
   Testimonials
   ============================================================================ */
.ics-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ics-testi { background:#fff; border:1px solid var(--brand-border); border-radius:12px; padding:28px; }
.ics-testi .stars { color:var(--gold); letter-spacing:2px; margin-bottom:14px; font-size:1rem; }
.ics-testi p { font-size:1.02rem; line-height:1.65; color:var(--brand-text); margin:0 0 18px; }
.ics-testi .who strong { display:block; font-family:var(--font-heading); font-weight:600; }
.ics-testi .who span { color:var(--brand-text-muted); font-size:.86rem; }
@media (max-width:920px){ .ics-testi-grid { grid-template-columns:1fr; } }

/* ============================================================================
   Areas grid (service-areas index)
   ============================================================================ */
.ics-areas-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ics-area-card { background:#fff; border:1px solid var(--brand-border); border-radius:10px; padding:20px 22px; display:flex; align-items:center; justify-content:space-between; color:var(--brand-text); }
.ics-area-card:hover { border-color:var(--brand-primary); text-decoration:none; }
.ics-area-card strong { font-family:var(--font-heading); font-weight:600; font-size:1.05rem; }
.ics-area-card span { color:var(--brand-text-muted); font-size:.82rem; display:block; margin-top:2px; }
.ics-area-card svg { width:18px; height:18px; color:var(--brand-primary); flex:none; }
@media (max-width:820px){ .ics-areas-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .ics-areas-grid { grid-template-columns:1fr; } }

/* Big CTA */
.ics-bigcta { background:linear-gradient(135deg, var(--brand-secondary), var(--brand-primary-d)); color:#fff; text-align:center; }
.ics-bigcta .container { padding:64px var(--container-pad); }
.ics-bigcta h2 { color:#fff; font-size:clamp(1.8rem,4vw,2.6rem); font-weight:600; margin:0 0 14px; }
.ics-bigcta p { color:rgba(255,255,255,.88); font-size:1.08rem; margin:0 0 26px; }

/* Footer logo tweak (white plate) */
.foot-logo { display:inline-block; background:#fff; border-radius:8px; padding:10px 14px; margin-bottom:16px; }
.foot-logo img { height:34px; display:block; }
