/* QAGC refined homepage — restrained, image-led and concise. */
:root{
  --refined-navy:#052b43;
  --refined-ink:#0b3854;
  --refined-orange:#f99d1b;
  --refined-warm:#f4f1eb;
  --refined-line:rgba(5,43,67,.14);
}

/* A quiet header that lets the work lead. */
.nav{height:78px!important}
.nav-inner{min-height:78px!important;height:78px!important}
.nav-links{gap:23px!important}
.nav-links a{font-size:13px!important}
.brand-mark{width:54px!important;height:54px!important}
.brand-ar{font-size:16px!important}
.quote{height:42px!important;padding-inline:20px!important}

/* Horizontal image movement modelled on the approved reference video. */
.hero{height:min(900px,100svh)!important;min-height:700px!important}
.hero-slider:after{
  background:
    linear-gradient(90deg,rgba(2,24,39,.93) 0%,rgba(2,24,39,.66) 37%,rgba(2,24,39,.13) 72%),
    linear-gradient(0deg,rgba(2,24,39,.77),transparent 58%)!important;
}
[dir=rtl] .hero-slider:after{
  background:
    linear-gradient(270deg,rgba(2,24,39,.93) 0%,rgba(2,24,39,.66) 37%,rgba(2,24,39,.13) 72%),
    linear-gradient(0deg,rgba(2,24,39,.77),transparent 58%)!important;
}
.hero-slide{
  opacity:1!important;
  transform:translate3d(100%,0,0)!important;
  transition:transform .78s cubic-bezier(.72,0,.22,1)!important;
  will-change:transform;
  z-index:1;
}
.hero-slide.active{transform:translate3d(0,0,0)!important;z-index:2}
.hero-slide.leaving{transform:translate3d(-100%,0,0)!important;z-index:2}
.hero-slide.is-resetting{transition:none!important}
.hero-slide img{object-position:center 47%!important;filter:saturate(.78) contrast(1.06)!important}
.hero-slide:nth-child(2) img{object-position:center 52%!important}
.hero-slide:nth-child(3) img{object-position:center 50%!important}
.hero-content,[dir=rtl] .hero-content,[dir=ltr] .hero-content{bottom:10vh!important;width:min(760px,68vw)!important}
.hero-content>h1{font-size:clamp(48px,5.15vw,78px)!important;max-width:740px!important}
.hero-content>.hero-copy{max-width:590px!important}
.hero-controls{bottom:28px!important}

/* Compact evidence strip. */
.trust-strip .wrap>div{min-height:58px!important;padding-block:8px!important}
.trust-strip strong{font-size:17px!important;font-weight:650!important}

/* Less vertical drift and a clearer reading rhythm. */
#about{padding:76px 0!important}
.intro-grid{grid-template-columns:.92fr 1.08fr!important;gap:68px!important}
.intro-grid .lead{font-size:clamp(18px,1.7vw,23px)!important;margin-bottom:18px!important}
.intro-grid .body-copy{font-size:15px!important;line-height:1.85!important}
.signature{margin-top:24px!important}
.display-title{color:var(--refined-ink)!important}

/* Service mosaic: demolition dominates; all core services remain available. */
.services{padding:78px 0!important;background:var(--refined-warm)!important;color:var(--refined-ink)!important}
.services-head{align-items:flex-end!important;margin-bottom:28px!important}
.services-head .display-title{color:var(--refined-ink)!important}
.services-head p{color:#61737f!important;margin:0!important}
.service-list{gap:8px!important}
.service{border-radius:0!important;min-height:230px!important}
.service:nth-child(1){grid-column:span 2!important;min-height:320px!important}
.service:nth-child(2){grid-column:span 4!important;min-height:320px!important}
.service:nth-child(n+3){min-height:230px!important}
.service:focus-visible{outline:3px solid var(--refined-orange)!important;outline-offset:4px!important}

/* Three specialist proof points replace the repeated editorial feed. */
.specialist-visuals{padding:78px 0!important}
.specialist-head{margin-bottom:28px!important}
.specialist-head .display-title{color:#fff!important;text-shadow:0 2px 20px rgba(0,0,0,.18)!important}
.specialist-grid{grid-template-columns:1.35fr .65fr!important;grid-template-rows:repeat(2,255px)!important;gap:8px!important}
.specialist-card{padding:24px!important}

/* Work areas stay general: no client, project or location claims. */
.showcase{padding-top:76px!important;background:#fff!important}
.showcase-top{margin-bottom:24px!important}
.project-lab{padding:24px 0 76px!important}
.project-lab-head{margin-bottom:18px!important}
.filters{margin-bottom:18px!important}
.project-grid{grid-template-rows:310px!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
.project-card,
.project-card:nth-child(1),
.project-card:nth-child(2),
.project-card:nth-child(3){
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%;
  min-height:310px!important;
  margin:0;
}
.project-info{padding:22px!important}
.project-info h3{font-size:21px!important}

/* Client proof: quiet wordmarks that can later be replaced with approved logo files. */
.clients{padding:76px 0;background:#fff;border-top:1px solid var(--refined-line);border-bottom:1px solid var(--refined-line)}
.clients-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:30px}
.clients-head .display-title{margin-bottom:0;color:var(--refined-ink)!important}
.clients-head p{max-width:430px;margin:0;color:#687984;line-height:1.8}
.clients-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none}
.client-card{position:relative;min-height:245px;padding:24px 20px;border:1px solid var(--refined-line);background:#fafbfb;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;overflow:hidden;transition:border-color .25s ease,background .25s ease,transform .25s ease}
.client-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--refined-orange);transform:scaleX(0);transform-origin:inline-start;transition:transform .25s ease}
.client-card:hover{border-color:rgba(5,43,67,.28);background:#fff;transform:translateY(-3px)}
.client-card:hover:before{transform:scaleX(1)}
.client-logo{display:block;width:100%;height:106px;margin:0 0 auto;object-fit:contain;object-position:center}
.client-logo--wide{height:92px}
.client-logo--seal{height:108px}
.client-card strong{color:var(--refined-ink);font-size:18px;line-height:1.45}
.client-card small{margin-top:5px;color:#7a8992;font-size:12px;line-height:1.5}

/* Process reads in one glance. */
.method{padding:76px 0!important;background:var(--refined-warm)!important}
.method-grid>div:first-child{margin-bottom:28px!important}
.step{min-height:155px!important;padding:25px 20px!important}

/* A short, high-contrast conversion close. */
.contact{padding:76px 0!important}
.footer{padding:44px 0 30px!important}

@media(max-width:980px){
  .nav{height:72px!important}.nav-inner{height:72px!important;min-height:72px!important}
  .hero{height:92svh!important;min-height:720px!important}
  .hero-content,[dir=rtl] .hero-content,[dir=ltr] .hero-content{bottom:70px!important;width:100%!important}
  .intro-grid{grid-template-columns:1fr!important;gap:30px!important}
  .service:nth-child(n){grid-column:span 1!important}
  .service:nth-child(2){grid-column:span 2!important}
  .specialist-grid{grid-template-columns:1fr 1fr!important;grid-template-rows:330px 250px!important}
  .project-grid{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:none!important}
  .project-card{min-height:300px!important}
  .clients-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:600px){
  .hero{height:88svh!important;min-height:680px!important}
  .hero-slider:after,[dir=rtl] .hero-slider:after{
    background:linear-gradient(0deg,rgba(2,24,39,.94),rgba(2,24,39,.2) 78%)!important;
  }
  .hero-slide img{object-position:56% center!important}
  .hero-content,[dir=rtl] .hero-content,[dir=ltr] .hero-content{bottom:42px!important}
  .hero-content>h1{font-size:clamp(38px,11.5vw,52px)!important}
  .trust-strip .wrap>div{min-height:48px!important}
  #about,.services,.specialist-visuals,.showcase,.method,.contact{padding-top:60px!important;padding-bottom:60px!important}
  .service:nth-child(n){grid-column:span 1!important;min-height:235px!important}
  .specialist-grid{grid-template-columns:1fr!important;grid-template-rows:none!important}
  .specialist-card,.specialist-card:first-child{min-height:290px!important}
  .project-grid{grid-template-columns:1fr!important}
  .project-card{min-height:310px!important}
  .clients{padding:60px 0}
  .clients-head{display:block;margin-bottom:24px}
  .clients-head p{margin-top:14px}
  .clients-grid{grid-template-columns:1fr}
  .client-card{min-height:220px}
  .client-logo{height:96px}
}

@media(prefers-reduced-motion:reduce){
  .hero-slide{transition:none!important}
  .hero-slide:not(.active){visibility:hidden}
}
