/* Industry Results — Trades Marketing Theme (additive to option-a.css) */
:root{
  --ir-red:#ED2B32;
  --ir-red-dark:#C9242A;
  --ir-ink:#0E0E10;
  --ir-ink-2:#1E1E22;
  --ir-muted:#5B5F66;
  --ir-line:#E6E6E8;
  --ir-bg:#FFFFFF;
  --ir-bg-soft:#F7F7F8;
  --ir-shadow:0 12px 40px -16px rgba(14,14,16,.18);
  --ir-radius:10px;
  --ir-radius-lg:18px;
  --ir-container:1200px;
  --ir-font-display:'Poppins',system-ui,sans-serif;
  --ir-font-body:'Manrope',system-ui,sans-serif;
}

/* ---------- Resets & base ---------- */
body.ir-trades{ font-family:var(--ir-font-body); color:var(--ir-ink); background:#fff; -webkit-font-smoothing:antialiased; }
.ir-trades h1,.ir-trades h2,.ir-trades h3,.ir-trades h4{ font-family:var(--ir-font-display); letter-spacing:-0.01em; }
.ir-trades .container{ max-width:var(--ir-container); margin:0 auto; padding:0 24px; }
.ir-trades img{ max-width:100%; height:auto; display:block; }
.ir-trades a{ color:inherit; }

/* ---------- Header ---------- */
.ir-site-header{ position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--ir-line); }
.ir-utility-bar{ background:var(--ir-ink); color:#fff; font-size:13px; }
.ir-utility-bar__inner{ display:flex; gap:24px; align-items:center; justify-content:flex-end; padding:8px 0; }
.ir-utility-bar__item{ color:#fff; text-decoration:none; opacity:.85; }
.ir-utility-bar__item:hover{ opacity:1; color:var(--ir-red); }
.ir-utility-bar__item--addr{ margin-right:auto; opacity:.65; }
.ir-utility-bar__phone{ font-weight:700; }

.ir-nav__inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 0; }
.ir-nav__logo img{ height:42px; width:auto; }
.ir-nav__menu ul{ display:flex; gap:32px; list-style:none; margin:0; padding:0; }
.ir-nav__menu a{ text-decoration:none; color:var(--ir-ink); font-weight:600; font-size:14.5px; letter-spacing:.02em; padding:6px 0; border-bottom:2px solid transparent; transition:.18s; }
.ir-nav__menu a:hover,.ir-nav__menu a.is-active{ color:var(--ir-red); border-bottom-color:var(--ir-red); }
.ir-nav__cta{ display:flex; align-items:center; gap:14px; }
.ir-nav__phone{ font-weight:700; color:var(--ir-ink); text-decoration:none; font-size:14.5px; }
.ir-nav__phone i{ color:var(--ir-red); margin-right:6px; }
.ir-nav__book{ background:var(--ir-red); color:#fff; padding:10px 18px; border-radius:8px; font-weight:700; text-decoration:none; font-size:14px; transition:.18s; }
.ir-nav__book:hover{ background:var(--ir-red-dark); color:#fff; transform:translateY(-1px); }
.ir-nav__toggle{ display:none; background:none; border:0; padding:8px; cursor:pointer; }
.ir-nav__toggle span{ display:block; width:24px; height:2px; background:var(--ir-ink); margin:5px 0; }
.ir-mobile-panel{ display:none; flex-direction:column; background:#fff; padding:16px 24px; border-top:1px solid var(--ir-line); }
.ir-mobile-panel a{ padding:14px 0; border-bottom:1px solid var(--ir-line); text-decoration:none; color:var(--ir-ink); font-weight:600; }
.ir-mobile-panel__cta{ color:var(--ir-red) !important; }

@media (max-width: 991px){
  .ir-nav__menu, .ir-nav__cta{ display:none; }
  .ir-nav__toggle{ display:block; }
  .ir-mobile-panel:not([hidden]){ display:flex; }
}

/* ---------- Trust band ---------- */
.ir-trust-band{ background:#fff; border-top:1px solid var(--ir-line); border-bottom:1px solid var(--ir-line); }
.ir-trust-band p{ margin:0; padding:14px 0; text-align:center; font-size:13px; letter-spacing:.04em; color:var(--ir-muted); text-transform:uppercase; font-weight:600; }
.ir-trust-band__dot{ color:var(--ir-red); margin:0 12px; font-weight:900; }
@media (max-width:600px){ .ir-trust-band p{ font-size:11.5px; } .ir-trust-band__dot{ margin:0 6px; } }

/* ---------- Sticky mobile call bar ---------- */
.ir-call-bar{ display:none; }
@media (max-width: 991px){
  .ir-call-bar{
    display:flex; align-items:center; gap:12px;
    position:fixed; left:12px; right:12px; bottom:12px; z-index:100;
    background:var(--ir-red); color:#fff !important; text-decoration:none;
    padding:12px 16px; border-radius:14px; box-shadow:0 12px 28px -8px rgba(237,43,50,.55);
  }
  .ir-call-bar__icon{ position:relative; width:40px; height:40px; flex:0 0 40px; border-radius:50%; background:#fff; color:var(--ir-red); display:grid; place-items:center; font-size:16px; }
  .ir-call-bar__pulse{ position:absolute; inset:0; border-radius:50%; box-shadow:0 0 0 0 rgba(255,255,255,.7); animation:ir-pulse 1.6s infinite; }
  @keyframes ir-pulse{ 70%{ box-shadow:0 0 0 14px rgba(255,255,255,0); } 100%{ box-shadow:0 0 0 0 rgba(255,255,255,0); } }
  .ir-call-bar__text{ display:flex; flex-direction:column; line-height:1.15; flex:1; }
  .ir-call-bar__text strong{ font-size:13.5px; font-weight:700; }
  .ir-call-bar__text small{ font-size:11px; opacity:.85; margin-top:2px; }
  .ir-call-bar__arrow{ font-size:18px; }
  main, body { padding-bottom:0; }
  body { padding-bottom:92px; }
}

/* ---------- Hero ---------- */
.ir-hero{ position:relative; padding:96px 0 80px; background:#0E0E10 url('/assets/img/stock/trades-electric-w1920.jpg') center/cover no-repeat; color:#fff; overflow:hidden; }
.ir-hero::before{ content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(14,14,16,.92) 0%, rgba(14,14,16,.78) 50%, rgba(14,14,16,.55) 100%); }
.ir-hero__inner{ position:relative; z-index:2; max-width:880px; }
.ir-hero__eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#fff; padding:8px 14px; border:1px solid rgba(255,255,255,.25); border-radius:99px; background:rgba(237,43,50,.15); }
.ir-hero__eyebrow::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--ir-red); box-shadow:0 0 0 4px rgba(237,43,50,.3); }
.ir-hero__title{ font-size:clamp(2.25rem, 4.5vw, 3.75rem); line-height:1.1; font-weight:400; margin:20px 0 18px; letter-spacing:-.02em; }
.ir-hero__title .rot{ position:relative; display:inline-block; min-width:7ch; color:var(--ir-red); font-weight:500; }
.ir-hero__title .rot em{ font-style:normal; position:absolute; left:0; top:0; opacity:0; transform:translateY(10px); transition:opacity .5s, transform .5s; white-space:nowrap; }
.ir-hero__title .rot em.is-active{ opacity:1; transform:translateY(0); position:relative; }
.ir-hero__sub{ font-size:clamp(1rem,1.4vw,1.125rem); line-height:1.6; color:#D4D4D8; max-width:680px; font-weight:400; }
.ir-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.ir-hero__proof{ display:flex; align-items:center; gap:14px; margin-top:28px; font-size:13.5px; color:#C8C8CC; }
.ir-hero__proof .stars{ color:#F5B83A; letter-spacing:2px; }

/* Buttons — always-legible, never blend into bg */
.ir-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 26px; border-radius:10px; font-weight:600; text-decoration:none !important; font-size:15px; line-height:1; letter-spacing:.01em; transition:transform .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease; border:0; cursor:pointer; white-space:nowrap; }
.ir-btn--primary{ background:var(--ir-red) !important; color:#fff !important; box-shadow:0 8px 22px -8px rgba(237,43,50,.7); }
.ir-btn--primary:hover{ background:var(--ir-red-dark) !important; color:#fff !important; transform:translateY(-1px); box-shadow:0 12px 28px -10px rgba(237,43,50,.85); }
.ir-btn--ghost{ background:transparent; color:#fff !important; border:1.5px solid rgba(255,255,255,.55); }
.ir-btn--ghost:hover{ border-color:#fff; background:rgba(255,255,255,.12); color:#fff !important; }
.ir-btn--ink{ background:var(--ir-ink) !important; color:#fff !important; border:1.5px solid var(--ir-ink); }
.ir-btn--ink:hover{ background:#000 !important; color:#fff !important; transform:translateY(-1px); }
.ir-btn--white{ background:#fff !important; color:var(--ir-ink) !important; box-shadow:0 8px 22px -10px rgba(0,0,0,.35); }
.ir-btn--white:hover{ background:#f4f4f5 !important; color:#000 !important; transform:translateY(-1px); }
.ir-btn--outline-ink{ background:transparent; color:var(--ir-ink) !important; border:1.5px solid var(--ir-ink); }
.ir-btn--outline-ink:hover{ background:var(--ir-ink) !important; color:#fff !important; }
.ir-btn--lg{ padding:18px 34px; font-size:16px; }
.ir-btn--full{ width:100%; justify-content:center; }

/* ---------- Footer ---------- */
.ir-footer{ background:var(--ir-ink); color:#bdbdc2; padding:64px 0 24px; margin-top:0; }
.ir-footer .container{ max-width:var(--ir-container); margin:0 auto; padding:0 24px; }
.ir-footer__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:48px; align-items:start; }
@media (max-width:900px){ .ir-footer__grid{ grid-template-columns:1fr 1fr; gap:36px; } }
@media (max-width:560px){ .ir-footer__grid{ grid-template-columns:1fr; gap:32px; } }
.ir-footer__brand img{ max-width:170px; height:auto; margin-bottom:18px; filter:brightness(0) invert(1); }
.ir-footer__tag{ font-size:14px; line-height:1.6; color:#a8a8b0; margin:0 0 18px; }
.ir-footer__addr{ font-size:13.5px; line-height:1.6; color:#9a9aa2; margin:0 0 14px; }
.ir-footer__contact{ font-size:14px; line-height:1.8; margin:0; }
.ir-footer__contact a{ color:#e6e6ea !important; text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.ir-footer__contact a:hover{ color:var(--ir-red) !important; }
.ir-footer__col h3{ color:#fff; font-family:var(--ir-font-display); font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.14em; margin:0 0 18px; }
.ir-footer__col ul{ list-style:none; padding:0; margin:0; }
.ir-footer__col li{ margin:0 0 10px; }
.ir-footer__col a{ color:#a8a8b0 !important; text-decoration:none; font-size:14px; line-height:1.5; transition:color .15s ease; }
.ir-footer__col a:hover{ color:#fff !important; }
.ir-footer__social a{ display:inline-flex; align-items:center; gap:8px; }
.ir-footer__bottom{ max-width:var(--ir-container); margin:48px auto 0; padding:22px 24px 0; border-top:1px solid rgba(255,255,255,.08); display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; font-size:13px; color:#7a7a82; }
.ir-footer__legal{ margin:0; color:#7a7a82; }
.ir-footer__bottom p{ margin:0; }

/* ---------- Industries chip row ---------- */
.ir-industries{ padding:48px 0; background:var(--ir-bg-soft); border-bottom:1px solid var(--ir-line); }
.ir-industries__head{ text-align:center; margin-bottom:24px; }
.ir-industries__eyebrow{ font-size:11px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--ir-red); }
.ir-industries__title{ font-size:clamp(22px,3vw,30px); font-weight:800; margin:8px 0 0; }
.ir-industries__chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; list-style:none; padding:0; margin:0; }
.ir-industries__chips a{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 20px; background:#fff; color:var(--ir-ink);
  border:1.5px solid var(--ir-line); border-radius:99px;
  text-decoration:none; font-weight:600; font-size:14px;
  transition:.18s;
}
.ir-industries__chips a:hover{ border-color:var(--ir-red); color:var(--ir-red); transform:translateY(-2px); box-shadow:0 8px 24px -12px rgba(237,43,50,.4); }
.ir-industries__chips a::before{ content:"→"; color:var(--ir-red); font-weight:800; }

/* ---------- Section primitives ---------- */
.ir-section{ padding:96px 0; }
.ir-section--soft{ background:var(--ir-bg-soft); }
.ir-section--dark{ background:var(--ir-ink); color:#fff; }
.ir-section__head{ max-width:760px; margin:0 auto 56px; text-align:center; }
.ir-section__eyebrow{ font-size:11px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--ir-red); display:block; margin-bottom:12px; }
.ir-section__title{ font-size:clamp(1.75rem,3vw,2.5rem); font-weight:500; line-height:1.15; margin:0; letter-spacing:-.02em; }
.ir-section__sub{ font-size:17px; color:var(--ir-muted); line-height:1.55; margin:16px auto 0; max-width:620px; }
.ir-section--dark .ir-section__sub{ color:#B0B0B5; }

/* ---------- Services grid (home) ---------- */
.ir-services-grid{ display:grid; gap:24px; grid-template-columns:repeat(2,1fr); }
@media (max-width:768px){ .ir-services-grid{ grid-template-columns:1fr; } }
.ir-service{ background:#fff; border:1px solid var(--ir-line); border-radius:var(--ir-radius-lg); padding:40px; transition:.22s; position:relative; overflow:hidden; }
.ir-service::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--ir-red); transform:scaleY(0); transform-origin:top; transition:.22s; }
.ir-service:hover{ transform:translateY(-4px); box-shadow:var(--ir-shadow); border-color:transparent; }
.ir-service:hover::before{ transform:scaleY(1); }
.ir-service__num{ font-family:var(--ir-font-display); font-weight:600; font-size:13px; color:var(--ir-red); letter-spacing:.14em; }
.ir-service h3{ font-size:20px; font-weight:600; margin:12px 0 12px; line-height:1.25; letter-spacing:-.01em; }
.ir-service p{ color:var(--ir-muted); font-size:15px; line-height:1.65; margin:0 0 18px; font-weight:400; }
.ir-service__tags{ display:flex; flex-wrap:wrap; gap:6px; }
.ir-service__tags span{ font-size:11px; font-weight:500; letter-spacing:.08em; color:var(--ir-muted); background:var(--ir-bg-soft); padding:5px 11px; border-radius:99px; text-transform:uppercase; }

/* ---------- Proof / Metric tiles ---------- */
.ir-proof-grid{ display:grid; gap:22px; grid-template-columns:repeat(3,1fr); }
@media (max-width:860px){ .ir-proof-grid{ grid-template-columns:1fr; } }
.ir-proof{ background:#fff; border:1px solid var(--ir-line); border-radius:var(--ir-radius-lg); overflow:hidden; transition:.22s; }
.ir-proof:hover{ transform:translateY(-4px); box-shadow:var(--ir-shadow); }
.ir-proof__img{ aspect-ratio:16/10; background:#222 center/cover no-repeat; }
.ir-proof__body{ padding:28px 30px 30px; }
.ir-proof__tag{ font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--ir-red); }
.ir-proof__metric{ font-family:var(--ir-font-display); font-size:36px; font-weight:600; line-height:1; margin:12px 0 10px; letter-spacing:-.025em; }
.ir-proof__title{ font-size:16px; font-weight:500; margin:0 0 8px; letter-spacing:-.005em; }
.ir-proof__desc{ font-size:14px; color:var(--ir-muted); margin:0; line-height:1.6; font-weight:400; }

/* ---------- FAQ ---------- */
.ir-faq__list{ max-width:820px; margin:0 auto; display:grid; gap:14px; }
.ir-faq__item{ border:1px solid var(--ir-line); border-radius:var(--ir-radius); background:#fff; padding:0; }
.ir-faq__item h3{
  margin:0; padding:22px 56px 22px 26px; font-size:16px; font-weight:500;
  position:relative; cursor:pointer; line-height:1.4; user-select:none; letter-spacing:-.005em;
}
.ir-faq__item h3::after{ content:"+"; position:absolute; right:24px; top:50%; transform:translateY(-50%); font-size:22px; color:var(--ir-red); font-weight:300; transition:.18s; }
.ir-faq__item.is-open h3::after{ content:"−"; }
.ir-faq__item p{ margin:0; padding:0 26px 26px; color:var(--ir-muted); font-size:15px; line-height:1.65; display:none; font-weight:400; }
.ir-faq__item.is-open p{ display:block; }
.ir-faq__item:hover{ border-color:#D0D0D4; }

/* ---------- Forms ---------- */
.ir-form{ background:#fff; border:1px solid var(--ir-line); border-radius:var(--ir-radius-lg); padding:32px; }
.ir-form--dark{ background:var(--ir-ink-2); border-color:rgba(255,255,255,.08); color:#fff; }
.ir-form__row{ display:grid; gap:14px; grid-template-columns:1fr 1fr; }
@media (max-width:600px){ .ir-form__row{ grid-template-columns:1fr; } }
.ir-form label{ display:block; margin-bottom:14px; font-size:13px; font-weight:600; }
.ir-form label > span{ display:block; margin-bottom:6px; color:var(--ir-ink); }
.ir-form--dark label > span{ color:#fff; }
.ir-form input, .ir-form select, .ir-form textarea{
  width:100%; padding:12px 14px; font-size:15px; font-family:inherit;
  border:1.5px solid var(--ir-line); border-radius:8px; background:#fff; color:var(--ir-ink);
  transition:.18s;
}
.ir-form--dark input, .ir-form--dark select, .ir-form--dark textarea{ background:#0E0E10; border-color:rgba(255,255,255,.12); color:#fff; }
.ir-form input:focus, .ir-form select:focus, .ir-form textarea:focus{ outline:0; border-color:var(--ir-red); box-shadow:0 0 0 3px rgba(237,43,50,.15); }
.ir-form .ir-error{ color:var(--ir-red); font-size:12.5px; margin-top:4px; display:none; font-weight:600; }
.ir-form .has-error input, .ir-form .has-error select, .ir-form .has-error textarea{ border-color:var(--ir-red); }
.ir-form .has-error .ir-error{ display:block; }
.ir-form button[type="submit"]{ margin-top:8px; position:relative; }
.ir-form button[type="submit"][data-loading]{ color:transparent; pointer-events:none; }
.ir-form button[type="submit"][data-loading]::after{
  content:""; position:absolute; left:50%; top:50%; width:18px; height:18px; margin:-9px 0 0 -9px;
  border:2px solid #fff; border-top-color:transparent; border-radius:50%; animation:ir-spin .7s linear infinite;
}
@keyframes ir-spin{ to { transform:rotate(360deg); } }
.ir-form__success{ background:#fff; border:1px solid var(--ir-line); border-radius:var(--ir-radius-lg); padding:36px; text-align:center; }
.ir-form__success h3{ margin:0 0 8px; font-size:22px; font-weight:800; }
.ir-form__success p{ color:var(--ir-muted); margin:0; }
.ir-form__success.is-error h3{ color:var(--ir-red); }
.ir-form__submit-error{ color:var(--ir-red); font-size:13px; font-weight:600; margin-top:12px; }
.ir-form__submit-error a{ color:var(--ir-red); text-decoration:underline; }
.ir-form__hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

/* ---------- Lead magnet ---------- */
.ir-magnet{ background:linear-gradient(135deg, #0E0E10 0%, #1E1E22 100%); color:#fff; padding:96px 0; }
.ir-magnet__grid{ display:grid; gap:56px; grid-template-columns:1fr 1fr; align-items:center; }
@media (max-width:900px){ .ir-magnet__grid{ grid-template-columns:1fr; gap:32px; } }
.ir-magnet__list{ list-style:none; padding:0; margin:24px 0 0; display:grid; gap:10px; }
.ir-magnet__list li{ display:flex; gap:10px; font-size:15px; }
.ir-magnet__list li::before{ content:"✓"; color:var(--ir-red); font-weight:900; }

/* ---------- CTA banner ---------- */
.ir-cta-banner{ background:var(--ir-red); color:#fff; padding:72px 0; text-align:center; position:relative; overflow:hidden; }
.ir-cta-banner h2{ font-size:clamp(28px,4vw,44px); font-weight:900; margin:0 0 12px; }
.ir-cta-banner p{ max-width:560px; margin:0 auto 24px; opacity:.95; font-size:17px; }

/* ---------- Landing page extras ---------- */
.ir-lp-hero{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; padding:80px 0; }
@media (max-width:900px){ .ir-lp-hero{ grid-template-columns:1fr; padding:56px 0; } }
.ir-lp-hero__img{ aspect-ratio:4/3; border-radius:var(--ir-radius-lg); overflow:hidden; background:#222 center/cover no-repeat; box-shadow:var(--ir-shadow); position:relative; }
.ir-lp-hero__metric{ position:absolute; left:24px; bottom:24px; background:#fff; padding:16px 20px; border-radius:12px; box-shadow:0 18px 40px -12px rgba(0,0,0,.35); max-width:280px; }
.ir-lp-hero__metric .v{ font-family:var(--ir-font-display); font-size:28px; font-weight:900; color:var(--ir-red); line-height:1; }
.ir-lp-hero__metric .l{ font-size:12.5px; color:var(--ir-muted); margin-top:6px; font-weight:600; }

.ir-focus-grid{ display:grid; gap:22px; grid-template-columns:repeat(3,1fr); margin-top:40px; }
@media (max-width:860px){ .ir-focus-grid{ grid-template-columns:1fr; } }
.ir-focus{ background:#fff; border:1px solid var(--ir-line); border-radius:var(--ir-radius); padding:32px; }
.ir-focus__num{ width:36px; height:36px; border-radius:50%; background:var(--ir-red); color:#fff; display:grid; place-items:center; font-weight:600; font-size:14px; }
.ir-focus h3{ font-size:17px; font-weight:600; margin:18px 0 10px; letter-spacing:-.005em; }
.ir-focus p{ margin:0; color:var(--ir-muted); font-size:14.5px; line-height:1.65; font-weight:400; }

.ir-stack{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.ir-stack span{ background:#fff; border:1.5px solid var(--ir-line); padding:8px 14px; border-radius:8px; font-size:13px; font-weight:600; }

.ir-neighborhoods{ background:var(--ir-bg-soft); padding:64px 0; }
.ir-neighborhoods ul{ list-style:none; padding:0; margin:24px 0 0; display:flex; flex-wrap:wrap; gap:10px; }
.ir-neighborhoods li{ background:#fff; border:1px solid var(--ir-line); padding:10px 16px; border-radius:99px; font-size:14px; font-weight:600; }

/* ---------- Work grid ---------- */
.ir-work-filter{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 auto 40px; }
.ir-work-filter button{ background:transparent; border:1.5px solid var(--ir-line); padding:8px 18px; border-radius:99px; font-weight:600; font-size:13px; cursor:pointer; color:var(--ir-ink); transition:.18s; }
.ir-work-filter button.is-active, .ir-work-filter button:hover{ background:var(--ir-red); border-color:var(--ir-red); color:#fff; }

.ir-work-grid{ display:grid; gap:24px; grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .ir-work-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .ir-work-grid{ grid-template-columns:1fr; } }
.ir-work-card{ background:#fff; border:1px solid var(--ir-line); border-radius:var(--ir-radius-lg); overflow:hidden; transition:.22s; }
.ir-work-card:hover{ transform:translateY(-4px); box-shadow:var(--ir-shadow); }
.ir-work-card__img{ aspect-ratio:4/3; background:#222 center/cover no-repeat; }
.ir-work-card__body{ padding:26px 28px 28px; }
.ir-work-card__tag{ font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--ir-red); }
.ir-work-card__metric{ font-family:var(--ir-font-display); font-size:28px; font-weight:600; margin:10px 0 6px; letter-spacing:-.02em; }
.ir-work-card__desc{ color:var(--ir-muted); font-size:14.5px; margin:0; line-height:1.6; font-weight:400; }

/* ---------- Contact ---------- */
.ir-contact-grid{ display:grid; gap:56px; grid-template-columns:1.1fr .9fr; align-items:start; }
@media (max-width:900px){ .ir-contact-grid{ grid-template-columns:1fr; } }
.ir-contact-info h3{ font-size:14px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ir-red); margin:0 0 8px; }
.ir-contact-info p{ font-size:18px; font-weight:600; margin:0 0 28px; }
.ir-contact-info a{ color:var(--ir-ink); text-decoration:none; }
.ir-contact-info a:hover{ color:var(--ir-red); }

/* ---------- Utility ---------- */
.ir-center{ text-align:center; }
.ir-mt-lg{ margin-top:48px; }
.ir-text-red{ color:var(--ir-red); }

/* ============================================================
   Emergency production overrides — shared static/trade layout
   ============================================================ */
/* Force Footer Grid Realignment */
footer, .site-footer {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 2rem !important;
  padding: 4rem 2rem !important;
  background-color: #0a0a0a !important;
  align-items: start !important;
  color:#fff !important;
}
@media (max-width: 992px) {
  footer, .site-footer { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 576px) {
  footer, .site-footer { grid-template-columns: 1fr !important; }
}

/* Force Footer Column Text Stacking */
footer .footer-column, footer div > ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
footer a {
  display: inline-block !important;
  color: #a3a3a3 !important;
  text-decoration: none !important;
}
footer a:hover { color: #ffffff !important; }
footer h3{ color:#fff !important; font-weight:700 !important; }
footer p, footer li{ color:#a3a3a3 !important; font-weight:400 !important; line-height:1.65 !important; }
.footer-bottom, .ir-footer__bottom{ grid-column:1 / -1 !important; border-top:1px solid rgba(255,255,255,.12) !important; padding-top:1.25rem !important; margin-top:1rem !important; }

/* Force Primary Button Text Contrast */
.btn-primary, button[type="submit"], .cta-button, .btn, .ir-btn {
  background-color: var(--ir-red, #dc2626) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 0.375rem !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ir-btn--white{ background-color:#ffffff !important; color:#0e0e10 !important; }
.ir-btn--outline-ink{ background-color:transparent !important; color:var(--ir-ink) !important; border:1px solid var(--ir-ink) !important; }

/* Card typography and spacing hierarchy */
.ir-service, .ir-focus, .ir-proof, .ir-work-card__body, .ir-faq__item, .ir-form{ padding:1.5rem !important; }
.ir-service h3, .ir-focus h3, .ir-proof__title, .ir-work-card__metric, .ir-faq__item h3{ font-weight:700 !important; }
.ir-service p, .ir-focus p, .ir-proof__desc, .ir-work-card__desc, .ir-faq__item p, .ir-section__sub, .ir-form__success p{ color:#6b7280 !important; font-weight:400 !important; line-height:1.65 !important; }
.ir-section--dark p, .ir-cta-banner p{ color:#d4d4d8 !important; font-weight:400 !important; }
.ir-faq__item p{ display:block !important; }
.ir-nav__has-sub{ position:relative; }
.ir-nav__submenu{ position:absolute; left:0; top:100%; min-width:250px; display:none !important; flex-direction:column !important; gap:0 !important; padding:10px !important; margin:0 !important; background:#fff; border:1px solid var(--ir-line); box-shadow:var(--ir-shadow); border-radius:10px; z-index:60; }
.ir-nav__has-sub:hover .ir-nav__submenu, .ir-nav__has-sub:focus-within .ir-nav__submenu{ display:flex !important; }
.ir-nav__submenu a{ display:block !important; padding:10px 12px !important; border-bottom:0 !important; color:var(--ir-ink) !important; }
.ir-nav__submenu a:hover{ color:var(--ir-red) !important; }

/* ---------- Shared site header/footer (includes/header.html + footer.html) ----------
   These pages load the shared fragments via loadIncludes(); the styles below
   mirror the essential ir-main.css rules so the fragments render correctly
   without pulling in the whole main design system. */
.ir-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--ir-line)}
.ir-header .ir-container{max-width:var(--ir-container);margin:0 auto;padding:0 24px}
.ir-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}
.ir-header__logo img{height:38px;width:auto;display:block}
.ir-header__nav{display:flex;align-items:center;gap:8px}
.ir-header__nav a{font-family:var(--ir-font-display);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ir-ink);text-decoration:none;padding:10px 12px;transition:color .18s}
.ir-header__nav a:hover,.ir-header__nav a.is-active{color:var(--ir-red)}
.ir-header__cta{display:flex;align-items:center;gap:14px}
.ir-header__phone{font-family:var(--ir-font-display);font-weight:700;font-size:.92rem;color:var(--ir-ink);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.ir-header__phone svg{width:15px;height:15px;color:var(--ir-red)}
.ir-header__phone:hover{color:var(--ir-red)}
.ir-header .ir-btn--primary{background:var(--ir-red);color:#fff !important;padding:10px 18px;border-radius:99px;font-family:var(--ir-font-display);font-weight:700;font-size:.85rem;text-decoration:none;display:inline-flex;align-items:center;transition:background .18s}
.ir-header .ir-btn--primary:hover{background:var(--ir-red-dark)}
.ir-header__toggle{display:none;background:none;border:0;width:42px;height:42px;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.ir-header__toggle span{width:22px;height:2px;background:var(--ir-ink);border-radius:2px}
.ir-mobile{display:none;background:#fff;border-top:1px solid var(--ir-line);padding:14px 0}
.ir-mobile a{display:block;padding:12px 24px;color:var(--ir-ink);text-decoration:none;font-weight:600}
.ir-mobile a.is-active{color:var(--ir-red)}
.ir-mobile .ir-btn--primary{background:var(--ir-red);color:#fff !important;padding:12px 18px;border-radius:99px;font-weight:700;text-decoration:none;display:flex;justify-content:center;margin:14px 24px 0}
.ir-mobile.is-open{display:block}
@media (max-width:960px){.ir-header__nav,.ir-header__phone{display:none}.ir-header__toggle{display:flex}}

.ir-footer{background:#0c0c0e;color:rgba(255,255,255,.7);padding:64px 0 32px;font-size:.95rem}
.ir-footer .ir-container{max-width:var(--ir-container);margin:0 auto;padding:0 24px}
.ir-footer a{text-decoration:none}
.ir-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
@media (max-width:960px){.ir-footer__grid{grid-template-columns:1fr 1fr;gap:28px}}
@media (max-width:560px){.ir-footer__grid{grid-template-columns:1fr}}
.ir-footer__brand img{height:38px;width:auto;filter:brightness(0) invert(1);margin-bottom:14px}
.ir-footer__brand p{color:rgba(255,255,255,.65)}
.ir-footer h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
.ir-footer__col ul{list-style:none;margin:0;padding:0}
.ir-footer__col li{margin-bottom:9px}
.ir-footer__col a{color:rgba(255,255,255,.7)}
.ir-footer__col a:hover{color:#fff}
.ir-footer__contact{margin-top:12px}
.ir-footer__contact a,.ir-footer__location{color:rgba(255,255,255,.8);display:block;margin-bottom:6px}
.ir-footer__bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;color:rgba(255,255,255,.5)}
