
:root{--ink:#060a0d;--ink2:#0b1116;--gold:#f2b705;--paper:#f7f5f0;--paper2:#efede7;--white:#fff;--line:#d8d6d0;--text:#11161b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--paper);line-height:1.55}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:40;background:rgba(6,10,13,.95);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between}.brand img{width:190px}.primary-nav{display:flex;align-items:center;gap:28px;color:#fff;font-size:13px;font-weight:700;text-transform:uppercase}.primary-nav a:not(.btn):hover{color:var(--gold)}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:28px;height:2px;background:#fff;margin:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:6px;border:1px solid transparent;text-transform:uppercase;font-weight:800;font-size:12px;cursor:pointer;transition:.2s}.btn svg{width:17px}.btn-gold{background:var(--gold);color:#070707}.btn-gold:hover{background:#ffca25;transform:translateY(-1px)}.btn-outline{border-color:rgba(255,255,255,.6);color:#fff;background:transparent}.btn-outline:hover{border-color:var(--gold);color:var(--gold)}.btn-dark{background:var(--ink);color:#fff}
.hero{position:relative;min-height:520px;background:#03070a;overflow:hidden}.hero-media{position:absolute;inset:0 0 0 43%;background:url('hero.jpg') center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#03070a 0,#03070a 35%,rgba(3,7,10,.88) 53%,rgba(3,7,10,.16) 76%)}.hero-inner{position:relative;z-index:2;min-height:520px;display:flex;align-items:center}.hero-copy{max-width:580px;color:#fff;padding:60px 0}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:13px;font-weight:800;color:var(--gold);margin:0 0 14px}.eyebrow.dark{color:#9f6a17}.hero h1,.section h2,.emergency h2,.final-cta h2,.contact-section h2{font-family:"Arial Narrow",Impact,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.02em}.hero h1{font-size:clamp(44px,5.6vw,76px);line-height:.99;margin:0 0 24px}.hero h1 span{color:var(--gold)}.hero-lede{font-size:18px;max-width:500px;color:#e1e6e9}.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.trust-strip{background:#070b0e;color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid article{display:flex;gap:14px;align-items:center;padding:24px 22px;border-right:1px solid rgba(255,255,255,.1)}.trust-grid article:last-child{border-right:0}.trust-grid svg{width:38px;color:var(--gold)}.trust-grid strong{display:block;font-size:13px;text-transform:uppercase}.trust-grid span{display:block;color:#bfc6cc;font-size:12px}
.section{padding:78px 0}.light{background:var(--paper)}.soft{background:var(--paper2)}.dark{background:linear-gradient(135deg,#05090c,#0b1218);color:#fff}.section-heading{max-width:760px;margin-bottom:42px}.section-heading.center{text-align:center;margin-inline:auto}.section-heading.compact{margin-bottom:34px}.section-heading h2,.projects-head h2{font-size:clamp(31px,3vw,44px);line-height:1.05;margin:0 0 10px}.section-heading p:last-child{color:#5b6165;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.service-card{padding:28px 18px;text-align:center;border-right:1px solid var(--line);min-height:245px}.service-card:last-child{border-right:0}.service-card svg{width:48px;margin:0 auto 18px;color:#c98616}.service-card h3{font-size:15px;line-height:1.2;text-transform:uppercase;margin:0 0 10px}.service-card p{font-size:13px;color:#5f6367;margin:0}
.emergency{position:relative;background:#05090d;color:#fff;overflow:hidden}.emergency-media{position:absolute;inset:0 0 0 48%;background:url('emergency-van.jpg') center/cover;opacity:.9}.emergency:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05090d 0,#05090d 41%,rgba(5,9,13,.85) 60%,rgba(5,9,13,.2) 100%)}.emergency-inner{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:205px}.emergency-icon{width:74px;height:74px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.emergency-icon svg{width:38px}.emergency h2{font-size:38px;margin:0 0 4px}.emergency p{margin:0;color:#d7dde1;max-width:520px}.emergency-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.phone-link{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800}.phone-link svg{width:25px;color:var(--gold)}.phone-link small{display:block;color:#c8ced3;text-transform:uppercase;font-size:10px}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.value-grid article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}.value-grid svg{width:38px;color:#c98616}.value-grid h3{text-transform:uppercase;font-size:14px;margin:14px 0 8px}.value-grid p{font-size:13px;color:#62676a;margin:0}
.projects-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:30px}.projects-head>div{max-width:650px}.projects-head p:last-child{color:#b7bfc5}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-grid article{background:#0d141a;border:1px solid rgba(255,255,255,.12);border-radius:10px;overflow:hidden}.project-grid img{width:100%;height:175px;object-fit:cover}.project-grid div{padding:18px}.project-grid h3{margin:0 0 4px;font-size:15px;text-transform:uppercase}.project-grid p{margin:0;color:#b9c0c6;font-size:12px}
.financing{padding:52px 0}.financing-grid{display:grid;grid-template-columns:1.4fr 1.2fr auto;gap:36px;align-items:center}.finance-title{display:flex;gap:20px}.finance-title>svg{width:56px;flex:none}.finance-title h2{font-size:32px;margin:0 0 6px}.finance-title p{margin:0;color:#5f6367}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;list-style:none;margin:0;padding:0;font-size:13px}.check-list li:before{content:"✓";margin-right:8px;font-weight:900}
.industry-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.industry-list span{background:#fff;border:1px solid var(--line);padding:16px;text-align:center;border-radius:9px;font-size:13px;font-weight:700}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.experience-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px}.experience-grid span{color:#c98616;font-size:13px;font-weight:800}.experience-grid h3{font-size:20px;margin:10px 0}.experience-grid p{font-size:14px;color:#62676a;margin:0}
.final-cta{background:linear-gradient(100deg,#06101a,#0a1218 54%,#111820);color:#fff;padding:62px 0;border-top:1px solid rgba(242,183,5,.35)}.final-cta-inner{display:flex;justify-content:space-between;gap:34px;align-items:center}.final-cta-inner>div{max-width:720px}.final-cta h2{font-size:38px;margin:0 0 8px}.final-cta p:last-child{color:#c4cbd0;margin:0}
.contact-section{background:#0a0f13;color:#fff;padding:72px 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-grid h2{font-size:42px;margin:0 0 10px}.contact-grid>div>p:last-child{color:#b8c0c5}.request-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.request-form label{display:grid;gap:7px;font-size:12px;text-transform:uppercase;font-weight:800;color:#c8cfd4}.request-form label:nth-child(3),.request-form label:nth-child(4){grid-column:1/-1}.request-form input,.request-form select,.request-form textarea{width:100%;background:#11191f;color:#fff;border:1px solid #27323a;border-radius:7px;padding:14px}.request-form button{justify-self:start}.form-note{grid-column:1/-1;margin:0;color:#9fc997;font-size:13px;text-transform:none}
.site-footer{background:#05080b;color:#fff;padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.2fr;gap:44px}.footer-brand img{width:200px;margin-bottom:18px}.footer-brand p{color:#aeb7bd}.site-footer h3{text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin:0 0 15px}.site-footer a{display:flex;align-items:center;gap:7px;color:#b5bdc3;font-size:13px;margin:8px 0}.site-footer a svg{width:16px}.footer-accent{color:var(--gold);font-size:13px;display:block;margin-top:14px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:18px;color:#88939b;font-size:11px}
.modal{position:fixed;inset:0;display:none;place-items:center;z-index:99}.modal.is-open{display:grid}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}.modal-card{position:relative;z-index:2;width:min(520px,calc(100% - 36px));background:#fff;border-radius:14px;padding:34px}.modal-card h2{font-size:32px;margin:0 0 12px}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}
@media(max-width:980px){.primary-nav{position:absolute;left:0;right:0;top:86px;background:#070b0e;display:none;flex-direction:column;align-items:stretch;padding:24px 28px}.primary-nav.is-open{display:flex}.menu-toggle{display:block}.hero{min-height:600px}.hero-media{inset:0;background-position:62% center}.hero-overlay{background:linear-gradient(90deg,rgba(3,7,10,.97),rgba(3,7,10,.9) 55%,rgba(3,7,10,.5))}.hero-inner{min-height:600px}.trust-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:repeat(3,1fr)}.emergency-inner{grid-template-columns:auto 1fr}.emergency-actions{grid-column:1/-1;padding-bottom:28px}.value-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr 1fr}.financing-grid{grid-template-columns:1fr}.industry-list{grid-template-columns:repeat(2,1fr)}.final-cta-inner{flex-direction:column;align-items:flex-start}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.nav-wrap{height:76px}.brand img{width:170px}.primary-nav{top:76px}.hero,.hero-inner{min-height:640px}.hero-media{inset:0;background-position:68% center}.hero-overlay{background:linear-gradient(180deg,rgba(3,7,10,.58),rgba(3,7,10,.88) 43%,#03070a 84%)}.hero-inner{align-items:end}.hero-copy{padding:80px 0 52px}.hero h1{font-size:47px}.button-row .btn{flex:1}.trust-grid{grid-template-columns:1fr}.section{padding:58px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.emergency-media{inset:0;opacity:.28}.emergency:after{background:rgba(5,9,13,.72)}.emergency-inner{grid-template-columns:1fr;padding:42px 0}.emergency-actions{grid-column:auto;padding-bottom:0}.value-grid,.project-grid,.experience-grid{grid-template-columns:1fr}.projects-head{flex-direction:column;align-items:flex-start}.project-grid img{height:220px}.check-list{grid-template-columns:1fr}.industry-list{grid-template-columns:1fr 1fr}.request-form{grid-template-columns:1fr}.request-form label:nth-child(3),.request-form label:nth-child(4){grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}}


/* =========================
   v1.0.2 PREMIUM POLISH
   ========================= */

/* Readability: dark sections use true high-contrast copy */
.dark p,
.emergency p,
.final-cta p,
.contact-section p,
.site-footer p,
.site-footer a,
.trust-strip span {
  color: #e5e9ec;
}

.dark .projects-head p:last-child,
.emergency p,
.final-cta p:last-child,
.contact-grid > div > p:last-child,
.site-footer .footer-brand p {
  color: #d6dce0;
}

.dark h2,
.dark h3,
.emergency h2,
.final-cta h2,
.contact-section h2,
.site-footer h3,
.trust-strip strong {
  color: #ffffff;
}

/* Stronger premium separation between sections */
.section.light,
.section.soft {
  position: relative;
}
.section.light::before,
.section.soft::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(1180px, calc(100% - 40px));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(17,22,27,.12), transparent);
}

.dark.projects {
  position: relative;
  overflow: hidden;
}
.dark.projects::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 15%, rgba(242,183,5,.07), transparent 28%),
    radial-gradient(circle at 82% 75%, rgba(255,255,255,.035), transparent 26%);
}

/* Header scroll state */
.site-header {
  transition: background .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.site-header.is-scrolled {
  background: rgba(3,7,10,.985);
  border-bottom-color: rgba(242,183,5,.18);
  box-shadow: 0 12px 40px rgba(0,0,0,.26);
}

/* Hero cinematic treatment */
.hero-media {
  transform: scale(1.035);
  animation: igniteHeroDrift 14s ease-out both;
  will-change: transform;
}
@keyframes igniteHeroDrift {
  from { transform: scale(1.075); }
  to { transform: scale(1.02); }
}

.hero-copy > * {
  opacity: 0;
  transform: translateY(20px);
  animation: igniteHeroIn .68s cubic-bezier(.2,.75,.2,1) forwards;
}
.hero-copy > *:nth-child(1){animation-delay:.12s}
.hero-copy > *:nth-child(2){animation-delay:.22s}
.hero-copy > *:nth-child(3){animation-delay:.34s}
.hero-copy > *:nth-child(4){animation-delay:.46s}
@keyframes igniteHeroIn {
  to { opacity: 1; transform: translateY(0); }
}

/* Scroll reveals */
.motion-reveal,
.motion-stagger > * {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .58s cubic-bezier(.2,.7,.2,1),
    transform .58s cubic-bezier(.2,.7,.2,1);
}
.motion-reveal.is-visible,
.motion-stagger.is-visible > * {
  opacity: 1;
  transform: translateY(0);
}
.motion-stagger.is-visible > *:nth-child(2){transition-delay:.06s}
.motion-stagger.is-visible > *:nth-child(3){transition-delay:.12s}
.motion-stagger.is-visible > *:nth-child(4){transition-delay:.18s}
.motion-stagger.is-visible > *:nth-child(5){transition-delay:.24s}
.motion-stagger.is-visible > *:nth-child(6){transition-delay:.30s}
.motion-stagger.is-visible > *:nth-child(7){transition-delay:.36s}
.motion-stagger.is-visible > *:nth-child(8){transition-delay:.42s}

/* Premium card hover language */
.service-card,
.value-grid article,
.project-grid article,
.experience-grid article,
.industry-list span {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.service-card:hover,
.value-grid article:hover,
.experience-grid article:hover {
  transform: translateY(-6px);
  border-color: rgba(201,134,22,.38);
  box-shadow: 0 16px 36px rgba(16,20,24,.09);
}
.service-card svg,
.value-grid svg {
  transition: transform .28s ease, color .28s ease;
}
.service-card:hover svg,
.value-grid article:hover svg {
  transform: translateY(-2px) scale(1.055);
  color: var(--gold);
}
.industry-list span:hover {
  transform: translateY(-3px);
  border-color: rgba(201,134,22,.32);
  background: #fffdfa;
}

/* Project image zoom */
.project-grid article {
  position: relative;
}
.project-grid img {
  transition: transform .65s cubic-bezier(.2,.65,.2,1), filter .35s ease;
}
.project-grid article:hover {
  transform: translateY(-7px);
  border-color: rgba(242,183,5,.45);
  box-shadow: 0 20px 45px rgba(0,0,0,.32);
}
.project-grid article:hover img {
  transform: scale(1.055);
  filter: brightness(1.05);
}

/* Buttons get a small polished lift; arrows slide */
.btn {
  overflow: hidden;
}
.btn svg {
  transition: transform .22s ease;
}
.btn:hover svg {
  transform: translateX(4px);
}

/* Trust strip reveal feels more premium */
.trust-grid article {
  transition: background .25s ease, transform .25s ease;
}
.trust-grid article:hover {
  background: rgba(255,255,255,.025);
}

/* Emergency image motion, restrained */
.emergency-media {
  transform: scale(1.03);
  transition: transform 1.2s ease-out;
}
.emergency.in-view .emergency-media {
  transform: scale(1.0) translateX(-6px);
}

/* Gold edge detail */
.final-cta {
  position: relative;
  overflow: hidden;
}
.final-cta::after {
  content: "";
  position: absolute;
  top: 0;
  left: -30%;
  width: 24%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  animation: igniteSweep 6.5s ease-in-out infinite;
}
@keyframes igniteSweep {
  0%,35% { left:-30%; opacity:0; }
  45% { opacity:.9; }
  75% { left:106%; opacity:.35; }
  100% { left:106%; opacity:0; }
}

/* Form focus polish */
.request-form input,
.request-form select,
.request-form textarea {
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.request-form input:focus,
.request-form select:focus,
.request-form textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(242,183,5,.11);
  background: #151e25;
  outline: none;
}

/* Mobile motion is intentionally lighter */
@media(max-width:640px){
  .hero-media { animation-duration: 10s; }
  .motion-reveal,
  .motion-stagger > * { transform: translateY(14px); }
  .service-card:hover,
  .value-grid article:hover,
  .experience-grid article:hover,
  .project-grid article:hover,
  .industry-list span:hover {
    transform: none;
    box-shadow: none;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .motion-reveal,
  .motion-stagger > *,
  .hero-copy > * {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* v1.0.3 visual correction */
.hero h1 {
  color: #f6f6f3 !important;
}
.hero h1 span {
  color: var(--gold) !important;
}

/* Project imagery must read as true full-bleed media inside each card */
.project-grid article {
  overflow: hidden !important;
}
.project-grid article > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform-origin: center center;
}
.project-grid article > div {
  position: relative;
  z-index: 2;
}


/* v1.0.4 Industries animation consistency fix */
.industry-list.motion-stagger > * {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity .5s cubic-bezier(.2,.7,.2,1),
    transform .5s cubic-bezier(.2,.7,.2,1),
    border-color .25s ease,
    background .25s ease;
  transition-delay: 0s !important;
}

.industry-list.motion-stagger.is-visible > * {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s !important;
}

.industry-list span:hover {
  transform: translateY(-3px);
  border-color: rgba(201,134,22,.32);
  background: #fffdfa;
}

@media(max-width:640px){
  .industry-list.motion-stagger > * {
    transform: translateY(10px);
  }

  .industry-list.motion-stagger.is-visible > * {
    transform: translateY(0);
  }

  .industry-list span:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .industry-list.motion-stagger > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* =========================================================
   v1.0.5 REFERENCE POLISH PASS
   Visual benchmark: approved full-page Ignite concept
   ========================================================= */

/* Stronger heading hierarchy */
.section-heading h2,
.projects-intro h2,
.financing-grid h2,
.final-cta h2,
.emergency h2 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  line-height: 1.02 !important;
}

.section-heading h2 {
  font-size: clamp(30px, 2.9vw, 43px) !important;
}

.service-card h3,
.value-grid h3,
.project-grid h3,
.site-footer h3 {
  font-weight: 800 !important;
}

/* Services section closer to the approved reference */
#services {
  padding-top: 62px;
  padding-bottom: 60px;
}
#services .section-heading {
  margin-bottom: 28px;
}
.service-grid {
  border-radius: 9px;
}
.service-card {
  min-height: 220px;
  padding: 24px 15px;
}
.service-card svg {
  width: 44px;
  height: 44px;
}
.services-action {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}
.services-action .btn {
  min-height: 42px;
  padding-inline: 26px;
}

/* Emergency band: compact, cinematic, reference-driven */
.emergency {
  min-height: 190px;
}
.emergency-media {
  inset: 0 0 0 47% !important;
  background-position: center 52% !important;
  opacity: .95 !important;
}
.emergency::after {
  background:
    linear-gradient(90deg,#05090d 0%,#05090d 39%,rgba(5,9,13,.91) 54%,rgba(5,9,13,.30) 77%,rgba(5,9,13,.12) 100%) !important;
}
.emergency-inner {
  grid-template-columns: 76px minmax(0, 560px) 1fr !important;
  min-height: 190px !important;
  gap: 22px !important;
  padding-block: 24px;
}
.emergency-icon {
  width: 72px !important;
  height: 72px !important;
}
.emergency-copy {
  max-width: 600px;
}
.emergency-copy h2 {
  font-size: clamp(28px, 3vw, 40px) !important;
  margin: 0 0 6px !important;
}
.emergency-copy > p:last-of-type {
  max-width: 540px;
  font-size: 14px;
  line-height: 1.5;
}
.emergency-actions {
  display: flex !important;
  gap: 18px !important;
  align-items: center;
  margin-top: 17px;
  padding: 0 !important;
}
.emergency-actions .btn {
  min-height: 44px;
}
.emergency-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-weight: 800;
}
.emergency-secondary small {
  display: block;
  color: #c8ced3;
  text-transform: uppercase;
  font-size: 9px;
  letter-spacing: .06em;
}
.emergency-secondary-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(242,183,5,.5);
  border-radius: 50%;
  color: var(--gold);
}
.emergency-secondary svg {
  width: 17px;
}

/* Why Ignite: tighter, cleaner band */
#about {
  padding-top: 48px;
  padding-bottom: 48px;
}
#about .section-heading {
  margin-bottom: 22px;
}
.value-grid article {
  padding: 20px 20px 18px;
}
.value-grid h3 {
  margin-top: 11px;
}

/* Projects: intro on left, cards on right like reference */
.projects {
  padding-top: 54px;
  padding-bottom: 54px;
}
.projects-layout {
  display: grid;
  grid-template-columns: minmax(190px, .8fr) minmax(0, 3.2fr);
  gap: 28px;
  align-items: stretch;
}
.projects-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px 0;
}
.projects-intro h2 {
  font-size: clamp(28px, 2.8vw, 40px);
  margin: 0 0 12px;
  color: #fff;
}
.projects-intro p:not(.eyebrow) {
  color: #e0e5e8;
  font-size: 14px;
  margin: 0 0 22px;
}
.projects-intro .btn {
  align-self: flex-start;
}
.project-grid {
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 12px !important;
}
.project-grid article {
  border-radius: 7px;
}
.project-grid article > img {
  aspect-ratio: 16 / 11 !important;
}
.project-grid article > div {
  padding: 12px 12px 14px !important;
}
.project-grid h3 {
  font-size: 13px !important;
}
.project-grid p {
  font-size: 11px !important;
}

/* Financing = one tight premium strip */
.financing {
  padding-top: 38px !important;
  padding-bottom: 38px !important;
}
.financing-grid {
  grid-template-columns: 1.4fr 1.35fr auto !important;
  gap: 30px !important;
}
.finance-title > svg {
  width: 48px !important;
  height: 48px !important;
}
.finance-title h2 {
  font-size: clamp(24px, 2.3vw, 34px) !important;
}
.check-list {
  gap: 8px 22px !important;
}

/* Industries kept, but cleaner and less oversized */
#industries {
  padding-top: 54px;
  padding-bottom: 58px;
}
#industries .section-heading {
  margin-bottom: 26px;
}
.industry-list {
  gap: 10px !important;
}
.industry-list span {
  padding: 14px 10px !important;
  border-radius: 8px !important;
}

/* One clean CTA before footer instead of two bulky end sections */
.final-cta {
  padding: 46px 0 !important;
  background:
    radial-gradient(circle at 85% 50%, rgba(242,183,5,.07), transparent 32%),
    linear-gradient(100deg,#06101a,#0a1218 54%,#111820) !important;
}
.final-cta-inner {
  gap: 34px !important;
}
.final-cta h2 {
  font-size: clamp(31px, 3.1vw, 44px) !important;
}
.final-cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Footer closer to the approved reference */
.site-footer {
  padding-top: 42px !important;
}
.footer-grid {
  grid-template-columns: 1.25fr .9fr .85fr 1fr 1.2fr !important;
  gap: 30px !important;
  align-items: start;
}
.footer-brand img {
  width: 185px !important;
}
.footer-brand p,
.footer-assurance p {
  font-size: 12px;
  line-height: 1.5;
}
.footer-assurance {
  display: flex;
  gap: 12px;
  padding-left: 22px;
  border-left: 1px solid rgba(255,255,255,.13);
}
.footer-assurance-icon {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(242,183,5,.45);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--gold);
  flex: none;
}
.footer-assurance-icon svg {
  width: 21px;
}
.footer-assurance h3 {
  margin-bottom: 6px !important;
}
.footer-bottom {
  margin-top: 28px !important;
}

/* Better rhythm between light and dark bands */
#about,
#industries {
  background: #f7f5f0;
}
#services,
.financing {
  background: #fbfaf7;
}

/* Tablet */
@media(max-width:980px){
  .projects-layout {
    grid-template-columns: 1fr;
  }
  .projects-intro {
    max-width: 650px;
  }
  .project-grid {
    grid-template-columns: repeat(2,1fr) !important;
  }
  .emergency-inner {
    grid-template-columns: 68px 1fr !important;
  }
  .emergency-media {
    inset: 0 0 0 38% !important;
    opacity: .55 !important;
  }
  .financing-grid {
    grid-template-columns: 1fr !important;
  }
  .footer-grid {
    grid-template-columns: 1.3fr 1fr 1fr !important;
  }
  .footer-assurance {
    grid-column: 1 / -1;
    padding-left: 0;
    padding-top: 18px;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.13);
  }
}

/* Mobile */
@media(max-width:640px){
  .emergency {
    min-height: auto;
  }
  .emergency-media {
    inset: 0 !important;
    opacity: .22 !important;
  }
  .emergency-inner {
    grid-template-columns: 1fr !important;
    padding-block: 38px !important;
  }
  .emergency-icon {
    width: 60px !important;
    height: 60px !important;
  }
  .emergency-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .emergency-actions .btn,
  .emergency-secondary {
    width: 100%;
    justify-content: center;
  }
  .project-grid {
    grid-template-columns: 1fr !important;
  }
  .final-cta-actions {
    width: 100%;
    justify-content: stretch;
  }
  .final-cta-actions .btn {
    flex: 1 1 100%;
  }
  .footer-grid {
    grid-template-columns: 1fr !important;
  }
  .footer-assurance {
    grid-column: auto;
  }
}


/* =========================================================
   v1.0.6 PROJECT CAPABILITIES LAYOUT FIX
   ========================================================= */

/* Give the intro enough width so the heading reads naturally */
.projects-layout {
  grid-template-columns: minmax(250px, 300px) minmax(0, 1fr) !important;
  gap: 34px !important;
  align-items: start !important;
}

.projects-intro {
  align-self: start !important;
  justify-content: flex-start !important;
  padding: 14px 0 0 !important;
  min-width: 0;
}

.projects-intro h2 {
  font-size: clamp(30px, 2.55vw, 40px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  max-width: 285px !important;
  margin: 0 0 18px !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.projects-intro p:not(.eyebrow) {
  max-width: 280px !important;
  margin-bottom: 24px !important;
  line-height: 1.6 !important;
}

/* Cards should fit their content, not stretch to the section height */
.project-grid {
  align-items: start !important;
  grid-auto-rows: auto !important;
}

.project-grid article {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
}

.project-grid article > img {
  flex: none !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  object-fit: cover !important;
}

.project-grid article > div {
  flex: none !important;
  min-height: 84px !important;
  padding: 14px 13px 15px !important;
}

.project-grid h3 {
  margin: 0 0 8px !important;
  line-height: 1.12 !important;
}

.project-grid p {
  margin: 0 !important;
  line-height: 1.35 !important;
}

/* Keep the whole band compact like the approved reference */
.projects {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/* Large desktop: preserve all four cards in one row */
@media (min-width: 981px) {
  .project-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Tablet: intro becomes full width, cards become 2-up */
@media (max-width: 980px) {
  .projects-layout {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .projects-intro h2,
  .projects-intro p:not(.eyebrow) {
    max-width: 650px !important;
  }

  .project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile: single column, natural card height */
@media (max-width: 640px) {
  .projects-intro h2 {
    font-size: 34px !important;
    max-width: 100% !important;
  }

  .projects-intro p:not(.eyebrow) {
    max-width: 100% !important;
  }

  .project-grid {
    grid-template-columns: 1fr !important;
  }

  .project-grid article > div {
    min-height: 0 !important;
  }
}


/* =========================================================
   v1.0.7 PROJECT CAPABILITIES 2x2 GRID
   ========================================================= */

/* Keep intro on the left, but give the project area more presence */
.projects-layout {
  grid-template-columns: minmax(250px, 300px) minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: start !important;
}

/* Two-by-two project cards on desktop */
.project-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}

/* Every card is the same height */
.project-grid article {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  align-self: stretch !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

/* Slightly larger imagery */
.project-grid article > img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Equal text zones keep bottoms aligned */
.project-grid article > div {
  min-height: 102px !important;
  height: 100% !important;
  padding: 16px 16px 17px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.project-grid h3 {
  font-size: 14px !important;
  line-height: 1.12 !important;
  min-height: 32px !important;
  margin: 0 0 9px !important;
}

.project-grid p {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* Slightly wider project section content */
.projects .container {
  width: min(1220px, calc(100% - 40px)) !important;
}

/* Tablet remains 2-up, intro moves above */
@media (max-width: 980px) {
  .projects-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .project-grid article > div {
    min-height: 96px !important;
  }
}

/* Mobile becomes single column */
@media (max-width: 640px) {
  .project-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .project-grid article > div {
    min-height: 0 !important;
  }

  .project-grid h3 {
    min-height: 0 !important;
  }
}


/* =========================================================
   v1.0.8 PROJECT CAPABILITIES BALANCE / SHARPNESS FIX
   ========================================================= */

/* Bring the overall section back to a tighter premium proportion */
.projects .container {
  width: min(1180px, calc(100% - 40px)) !important;
}

.projects-layout {
  grid-template-columns: 285px minmax(0, 720px) !important;
  gap: 46px !important;
  justify-content: center !important;
  align-items: start !important;
}

/* Keep the intro compact and intentional */
.projects-intro {
  padding-top: 10px !important;
}

.projects-intro h2 {
  max-width: 280px !important;
}

/* Drop the card grid so it visually aligns with the main heading,
   not with the small eyebrow label */
.project-grid {
  width: 100% !important;
  max-width: 720px !important;
  padding-top: 54px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

/* Smaller cards = sharper source imagery */
.project-grid article {
  height: auto !important;
  min-height: 0 !important;
  border-radius: 8px !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
}

.project-grid article > img {
  width: 100% !important;
  height: 176px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  image-rendering: auto !important;
}

/* Equal, compact content zones */
.project-grid article > div {
  min-height: 86px !important;
  height: auto !important;
  padding: 14px 14px 15px !important;
}

.project-grid h3 {
  min-height: 31px !important;
  font-size: 13px !important;
  line-height: 1.12 !important;
  margin: 0 0 8px !important;
}

.project-grid p {
  font-size: 11px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

/* Tablet: intro above, cards centered and still 2-up */
@media (max-width: 980px) {
  .projects-layout {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .project-grid {
    max-width: 760px !important;
    padding-top: 0 !important;
    justify-self: start !important;
  }

  .project-grid article > img {
    height: 190px !important;
  }
}

/* Mobile: single-column cards, natural image ratio */
@media (max-width: 640px) {
  .project-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  .project-grid article > img {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }

  .project-grid article > div,
  .project-grid h3 {
    min-height: 0 !important;
  }
}


/* =========================================================
   v1.0.9 PROJECT CTA / SHARPNESS REFINEMENT
   ========================================================= */

/* Make the left intro column feel intentionally top-anchored and cleaner */
.projects-layout {
  grid-template-columns: 280px minmax(0, 680px) !important;
  gap: 38px !important;
}

.projects-intro {
  padding-top: 6px !important;
  align-self: start !important;
}

.projects-intro .btn {
  align-self: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  min-width: 186px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Slightly smaller, sharper 2x2 cards */
.project-grid {
  max-width: 680px !important;
  padding-top: 42px !important;
  gap: 14px !important;
}

.project-grid article {
  border-radius: 8px !important;
}

.project-grid article > img {
  height: 162px !important;
  width: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.project-grid article > div {
  min-height: 78px !important;
  padding: 13px 14px 14px !important;
}

.project-grid h3 {
  font-size: 12px !important;
  min-height: 28px !important;
  margin: 0 0 8px !important;
}

.project-grid p {
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}

/* Keep the whole section controlled */
.projects .container {
  width: min(1140px, calc(100% - 40px)) !important;
}

/* Tablet */
@media (max-width: 980px) {
  .projects-layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .projects-intro .btn {
    justify-content: center !important;
    text-align: center !important;
  }

  .project-grid {
    max-width: 720px !important;
    padding-top: 0 !important;
    gap: 14px !important;
  }

  .project-grid article > img {
    height: 180px !important;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .project-grid {
    max-width: 100% !important;
  }

  .project-grid article > img {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }

  .project-grid article > div,
  .project-grid h3 {
    min-height: 0 !important;
  }
}


/* =========================================================
   v1.1.0 PROJECT MEDIA + BOTTOM-OF-PAGE POLISH
   ========================================================= */

/* Project section: true full-bleed media and cleaner proportion */
.projects-layout {
  grid-template-columns: 280px minmax(0, 680px) !important;
  gap: 40px !important;
  align-items: start !important;
}

.projects-intro {
  align-self: start !important;
  padding-top: 4px !important;
}

.projects-intro .btn {
  align-self: flex-start !important;
  min-width: 188px !important;
}

.project-grid {
  max-width: 680px !important;
  padding-top: 44px !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.project-grid article {
  overflow: hidden !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  display: grid !important;
  grid-template-rows: 168px auto !important;
  background: #07111a !important;
}

.project-media {
  width: 100% !important;
  height: 168px !important;
  overflow: hidden !important;
  background: #09121b !important;
}

.project-media img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.02) !important;
}

.project-grid article > div {
  min-height: 82px !important;
  padding: 13px 14px 14px !important;
}

.project-grid h3 {
  font-size: 12px !important;
  min-height: 28px !important;
  margin: 0 0 8px !important;
}

.project-grid p {
  font-size: 10.5px !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

/* Industries section: more intentional spacing */
.industries-band {
  background: #f7f4ee !important;
  padding-top: 46px !important;
  padding-bottom: 50px !important;
}

.industries-band .section-heading {
  margin-bottom: 22px !important;
}

.industries-band .section-heading p:last-child {
  max-width: 760px;
  margin: 10px auto 0;
  color: #49535b;
}

.industries-band .industry-list {
  gap: 10px !important;
}

.industries-band .industry-list span {
  background: #fff !important;
}

/* Testimonials section inspired by the approved reference */
.testimonials {
  background: #fcfaf6 !important;
  padding-top: 52px !important;
  padding-bottom: 52px !important;
}

.testimonials .section-heading {
  margin-bottom: 26px !important;
}

.testimonials .section-heading p:last-child {
  color: #55606a;
}

.testimonials-shell {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 16px !important;
}

.quote-nav {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(10,18,24,.18);
  background: #fff;
  color: #0b141b;
  display: grid;
  place-items: center;
  box-shadow: 0 6px 20px rgba(0,0,0,.04);
}

.quote-nav svg { width: 18px; height: 18px; }

.testimonial-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.testimonial-card {
  background: #fff !important;
  border: 1px solid rgba(10,18,24,.1) !important;
  border-radius: 10px !important;
  padding: 22px 20px 18px !important;
  box-shadow: 0 10px 30px rgba(10,18,24,.04);
}

.testimonial-card .stars {
  color: var(--gold);
  letter-spacing: .16em;
  font-size: 14px;
  margin-bottom: 12px;
}

.testimonial-card p {
  color: #24313b !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 0 18px !important;
}

.byline {
  display: grid;
  gap: 4px;
}

.byline strong {
  font-size: 12px;
  color: #0f1922;
}

.byline span {
  font-size: 11px;
  color: #64707a;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.testimonial-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
}

.testimonial-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(10,18,24,.2);
}

.testimonial-dots .active {
  background: var(--gold);
}

/* Final CTA and footer transition */
.final-cta {
  padding: 42px 0 !important;
  background: linear-gradient(100deg,#061019,#0b141c 58%,#121b23) !important;
  border-top: 1px solid rgba(255,255,255,.06);
}

.final-cta-inner {
  align-items: center !important;
  gap: 28px !important;
}

.final-cta h2 {
  font-size: clamp(30px, 3vw, 42px) !important;
}

.final-cta p:last-child {
  max-width: 640px;
}

.final-cta-actions .btn {
  min-width: 200px;
}

/* Responsive adjustments */
@media (max-width: 980px) {
  .project-grid {
    max-width: 100% !important;
    padding-top: 0 !important;
  }

  .testimonials-shell {
    grid-template-columns: 1fr !important;
  }

  .quote-nav {
    display: none !important;
  }

  .testimonial-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .project-grid {
    grid-template-columns: 1fr !important;
  }

  .project-grid article {
    grid-template-rows: auto auto !important;
  }

  .project-media,
  .project-media img {
    height: auto !important;
    aspect-ratio: 16/10 !important;
  }
}


/* =========================================================
   v1.1.1 PROJECT IMAGE TRUE-FILL FIX
   ========================================================= */

.project-grid article {
  overflow: hidden !important;
}

.project-media {
  width: 100% !important;
  height: 168px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #09121b !important;
  border-radius: 8px 8px 0 0 !important;
}

.project-media img {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.08) !important;
  transform-origin: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.project-grid article:hover .project-media img {
  transform: scale(1.12) !important;
}

@media (max-width: 640px) {
  .project-media {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }

  .project-media img {
    height: 100% !important;
    aspect-ratio: 16 / 10 !important;
  }
}


/* =========================================================
   v1.1.2 TRUE INDIVIDUAL PROJECT IMAGE FIX
   ========================================================= */

/* The card itself */
.project-grid article {
  display: grid !important;
  grid-template-rows: 168px auto !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 8px !important;
  background: #07111a !important;
}

/* Image wrapper: completely separate from text wrapper */
.project-grid article > .project-media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 168px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* One independent image per card, forced edge-to-edge */
.project-grid article > .project-media > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Text wrapper only */
.project-grid article > .project-copy {
  display: block !important;
  min-height: 82px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 13px 14px 14px !important;
  background: #07111a !important;
}

/* Hover only zooms the actual image, not the wrapper */
.project-grid article:hover > .project-media > img {
  transform: scale(1.035) !important;
  transition: transform .45s ease !important;
}

/* Override any older generic child-div rules */
.project-grid article > div:not(.project-copy):not(.project-media) {
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  .project-grid article {
    grid-template-rows: auto auto !important;
  }

  .project-grid article > .project-media {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }

  .project-grid article > .project-media > img {
    position: absolute !important;
    inset: 0 !important;
  }

  .project-grid article > .project-copy {
    min-height: 0 !important;
  }
}


/* =========================================================
   v1.1.3 SMALLER / EXACT-RATIO PROJECT CARDS
   ========================================================= */

/* Smaller overall project composition */
.projects .container {
  width: min(1080px, calc(100% - 40px)) !important;
}

.projects-layout {
  grid-template-columns: 270px minmax(0, 600px) !important;
  gap: 44px !important;
  justify-content: center !important;
  align-items: stretch !important;
}

/* Center the left block vertically, but keep the strong left alignment */
.projects-intro {
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 0 !important;
}

.projects-intro h2,
.projects-intro p,
.projects-intro .eyebrow {
  text-align: left !important;
}

.projects-intro .btn {
  align-self: flex-start !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Compact 2x2 grid */
.project-grid {
  width: 100% !important;
  max-width: 600px !important;
  padding-top: 0 !important;
  gap: 14px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
}

/* Every card gets the same exact structure */
.project-grid article {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto 86px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

/* Match the actual independent project files: 16:9.
   No crop, no empty framing, no fixed mismatched height. */
.project-grid article > .project-media {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #07111a !important;
}

.project-grid article > .project-media > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Equal text panels */
.project-grid article > .project-copy {
  height: 86px !important;
  min-height: 86px !important;
  padding: 12px 13px 13px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.project-grid h3 {
  min-height: 28px !important;
  font-size: 12px !important;
  line-height: 1.12 !important;
  margin: 0 0 7px !important;
}

.project-grid p {
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

/* Keep hover subtle and never crop the source */
.project-grid article:hover > .project-media > img {
  transform: scale(1.015) !important;
}

/* Tablet */
@media (max-width: 980px) {
  .projects-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .projects-intro {
    display: block !important;
    max-width: 650px !important;
  }

  .project-grid {
    max-width: 620px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .project-grid {
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  .project-grid article {
    grid-template-rows: auto auto !important;
  }

  .project-grid article > .project-copy {
    height: auto !important;
    min-height: 0 !important;
  }

  .project-grid h3 {
    min-height: 0 !important;
  }
}


/* =========================================================
   v1.2.0 PROJECT CAPABILITIES REBUILD
   ========================================================= */
.projects.projects-centered {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 18%, rgba(242,183,5,.08), transparent 28%),
    linear-gradient(135deg, #04080c 0%, #08111a 52%, #09121a 100%) !important;
}

.projects.projects-centered .container {
  width: min(1500px, calc(100% - 56px)) !important;
}

.projects-stage {
  display: grid;
  gap: 34px;
}

.projects-top {
  max-width: 980px !important;
  margin: 0 auto 2px !important;
}

.projects-top .eyebrow {
  color: var(--gold) !important;
  letter-spacing: .22em;
  margin-bottom: 14px !important;
}

.projects-top h2 {
  font-size: clamp(40px, 5vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -.04em;
  margin: 0 0 18px !important;
  color: #fff !important;
}

.projects-top h2 span {
  color: var(--gold);
}

.projects-top p:last-child {
  max-width: 760px;
  margin: 0 auto;
  color: #c7d0d7 !important;
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.55;
}

.project-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.project-card {
  background: rgba(10,16,23,.88) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 38px rgba(0,0,0,.22);
  transform: translateY(0);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
  border-color: rgba(242,183,5,.38) !important;
}

.projects.projects-centered .project-media {
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
  width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
  background: #09111a !important;
}

.projects.projects-centered .project-media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  transform: scale(1.01);
  transition: transform .45s ease;
}

.project-card:hover .project-media img {
  transform: scale(1.06);
}

.project-card-copy {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  align-items: center;
  padding: 20px 18px 22px !important;
  min-height: 114px;
  background: linear-gradient(180deg, rgba(8,13,20,.96), rgba(7,12,18,.98));
}

.project-card-icon {
  width: 48px;
  height: 48px;
  border: 1.5px solid rgba(242,183,5,.85);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--gold);
  background: rgba(242,183,5,.05);
  box-shadow: inset 0 0 0 1px rgba(242,183,5,.08);
}

.project-card-icon svg {
  width: 24px;
  height: 24px;
}

.project-card-text h3 {
  margin: 0 0 7px !important;
  color: #fff !important;
  font-size: clamp(18px, 1.28vw, 24px) !important;
  line-height: 1.08 !important;
  text-transform: uppercase;
}

.project-card-text p {
  margin: 0 !important;
  color: #c8d1d7 !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  line-height: 1.4 !important;
}

.projects-action {
  display: flex;
  justify-content: center;
  margin-top: 8px;
}

.project-discuss-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px;
  min-width: 308px;
  justify-content: center;
  border-color: rgba(242,183,5,.72) !important;
  color: var(--gold) !important;
  background: rgba(7,11,16,.4) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

.project-discuss-btn svg {
  width: 21px;
  height: 21px;
}

.project-discuss-btn:hover {
  background: rgba(242,183,5,.12) !important;
  transform: translateY(-2px);
}

@media (max-width: 1280px) {
  .projects.projects-centered .container {
    width: min(1280px, calc(100% - 40px)) !important;
  }

  .project-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    max-width: 980px;
    margin: 0 auto;
  }
}

@media (max-width: 980px) {
  .projects-top h2 {
    font-size: clamp(34px, 7vw, 56px) !important;
  }

  .projects-top p:last-child {
    font-size: 17px;
  }

  .project-card-copy {
    min-height: 102px;
    padding: 18px 16px 18px !important;
  }

  .project-card-text h3 {
    font-size: 18px !important;
  }

  .project-card-text p {
    font-size: 14px !important;
  }
}

@media (max-width: 640px) {
  .projects.projects-centered .container {
    width: calc(100% - 28px) !important;
  }

  .projects-stage {
    gap: 24px;
  }

  .project-row {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .project-card-copy {
    grid-template-columns: 44px 1fr;
    gap: 12px;
    min-height: 0;
  }

  .project-card-icon {
    width: 42px;
    height: 42px;
  }

  .project-card-icon svg {
    width: 21px;
    height: 21px;
  }

  .project-discuss-btn {
    min-width: 100%;
  }
}


/* =========================================================
   v1.2.1 THREE PROJECT CARD CORRECTIONS
   1) Commercial copy panel fills card bottom
   2) Industrial image nudged left only
   3) Exterior image nudged left only
   ========================================================= */

/* Make every project card a column so the copy panel can fill
   any remaining vertical space in the equal-height row. */
.projects-centered .project-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Image area remains unchanged in size. */
.projects-centered .project-card > .project-media {
  flex: 0 0 auto !important;
}

/* Copy panel fills the remainder of the card.
   This removes the unfinished lower strip on Commercial Office. */
.projects-centered .project-card > .project-card-copy {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: auto !important;
  align-content: center !important;
  box-sizing: border-box !important;
  background: linear-gradient(180deg, rgba(8,13,20,.98), rgba(7,12,18,1)) !important;
}

/* Industrial Facility: move ONLY the image slightly left
   and enlarge it just enough to maintain full coverage. */
.projects-centered .project-row .project-card:nth-child(2) .project-media img {
  width: 103% !important;
  max-width: none !important;
  left: -3% !important;
  right: auto !important;
  transform: scale(1.015) !important;
  transform-origin: center center !important;
}

/* Exterior & Security Lighting: same controlled image-only correction. */
.projects-centered .project-row .project-card:nth-child(4) .project-media img {
  width: 103% !important;
  max-width: none !important;
  left: -3% !important;
  right: auto !important;
  transform: scale(1.015) !important;
  transform-origin: center center !important;
}

/* Keep the intended hover effect without losing the left adjustment. */
.projects-centered .project-row .project-card:nth-child(2):hover .project-media img,
.projects-centered .project-row .project-card:nth-child(4):hover .project-media img {
  transform: scale(1.055) !important;
}
