:root{
  --bg:#030806;--bg2:#08130d;--green:#65c52a;--orange:#ff8c18;--text:#fff;--muted:#aebbb4;
  --line:rgba(255,255,255,.12);--radius:22px;--container:min(1180px,calc(100% - 36px))
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit}.progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--orange),var(--green));z-index:3000}
.header{position:fixed;inset:0 0 auto 0;z-index:2000;height:86px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;padding:8px max(20px,calc((100vw - 1500px)/2));background:rgba(2,8,5,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand img{width:clamp(250px,18vw,345px);max-height:72px;object-fit:contain;filter:drop-shadow(0 0 2px rgba(255,255,255,.4)) drop-shadow(0 0 11px rgba(96,210,36,.28)) drop-shadow(0 7px 15px rgba(0,0,0,.65))}
.nav{display:flex;justify-content:flex-end;gap:clamp(12px,1.4vw,24px)}.nav a{text-decoration:none;text-transform:uppercase;font-weight:800;font-size:clamp(.7rem,.78vw,.86rem);letter-spacing:.04em}.nav a.active{color:var(--green)}
.nav-toggle{display:none;background:none;border:0}.nav-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px}
main{padding-top:86px}.container{width:var(--container);margin:auto}.hero{position:relative;min-height:calc(100svh - 86px);display:grid;align-items:center;overflow:hidden}.hero-bg,.section-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-bg img{width:100%;height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,5,.95),rgba(2,8,5,.75) 52%,rgba(2,8,5,.22))}
.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr .7fr;gap:60px;align-items:center;padding:90px 0 140px}.hero-copy{max-width:700px}.eyebrow{margin:0 0 16px;color:var(--green);text-transform:uppercase;font-weight:900;letter-spacing:.09em}.eyebrow.orange{color:var(--orange)}
h1,h2{font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;line-height:.92;letter-spacing:-.04em;margin:0}h1{font-size:clamp(3.4rem,7.6vw,7rem)}h2{font-size:clamp(2.6rem,5vw,4.8rem)}h1 span,h2 span{color:var(--green)}.lead,.heading p,.copy>p{font-size:clamp(1rem,1.25vw,1.2rem);color:var(--muted)}
.btn{display:inline-flex;margin-top:28px;padding:15px 22px;border-radius:999px;background:var(--green);color:#061004;text-decoration:none;font-weight:900;text-transform:uppercase}
.quality-panel{background:rgba(3,13,8,.78);border:1px solid rgba(102,197,42,.42);border-radius:var(--radius);padding:28px;backdrop-filter:blur(12px)}.quality-panel h2{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:20px}.quality-panel a{display:grid;text-decoration:none;padding:14px 0;border-top:1px solid var(--line)}.quality-panel span{color:var(--muted);font-size:.9rem}
.stats{position:absolute;z-index:2;left:50%;bottom:28px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(4,14,9,.85);border:1px solid rgba(102,197,42,.4);border-radius:18px;padding:18px 24px;backdrop-filter:blur(10px)}.stats div{text-align:center;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats b{display:block;color:var(--green);font-size:1.8rem}.stats span{font-size:.8rem;text-transform:uppercase;color:#dce4df}
.section{padding:clamp(90px,9vw,140px) 0;position:relative}.dark{background:linear-gradient(180deg,#030806,#07110c)}.light{background:#f4f6f2;color:#101713}.heading{max-width:1000px;margin-bottom:46px}.heading.inline{display:grid;grid-template-columns:auto 1fr;gap:50px}.heading.inline .eyebrow{font-size:clamp(1.7rem,3vw,3rem);letter-spacing:-.02em;line-height:.95}.continuity-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.photo-card,.contact-image{border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}.photo-card img,.contact-image>img{width:100%;height:100%;object-fit:cover}.step-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.step{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;padding:22px;text-decoration:none}.step b,.service b,.process b{font-size:3rem;color:var(--orange)}.step h3,.service h3,.process h3{margin:8px 0;text-transform:uppercase}.step p,.service p,.process p{margin:0;color:var(--muted)}
.values{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.values span{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:999px;padding:11px 15px;font-weight:800}.services{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.service{background:#0c1811;border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;padding-bottom:20px}.service img{width:100%;aspect-ratio:4/3;object-fit:cover}.service b,.service h3,.service p{display:block;margin-left:18px;margin-right:18px}.service b{margin-top:16px}.industries{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.industries span{min-height:160px;background:linear-gradient(145deg,#102419,#09140d);color:#fff;border-top:4px solid var(--green);border-radius:16px;padding:18px;display:flex;align-items:end;font-weight:900;text-transform:uppercase}.clients{margin-top:50px;background:#fff;border-radius:20px;padding:28px;box-shadow:0 18px 45px rgba(0,0,0,.12)}.clients strong{text-transform:uppercase}.clients div{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.clients span{border:1px solid #dce3de;border-radius:999px;padding:9px 13px;font-size:.8rem;font-weight:800}.process{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.process article{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:16px;padding:18px}.image-section{min-height:720px;display:grid;align-items:center}.image-section .overlay{background:linear-gradient(90deg,rgba(2,8,5,.96),rgba(2,8,5,.72),rgba(2,8,5,.3))}.trust{position:relative;z-index:1;max-width:760px}.trust blockquote{border-left:4px solid var(--green);padding-left:18px;margin:28px 0;font-size:1.4rem}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trust-grid span{border:1px solid var(--line);border-radius:12px;padding:13px;font-weight:800}.contact-line{display:grid;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0}.contact-line small{color:var(--orange);text-transform:uppercase;font-weight:900}address{font-style:normal;color:var(--muted);margin-top:20px}.contact-image{position:relative}.qr{position:absolute;right:18px;bottom:18px;background:#fff;color:#111;border-radius:14px;padding:10px;text-align:center}.qr img{width:125px}.qr span{font-weight:800}
.phone,.top{position:fixed;z-index:2500;border:0;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#071006;box-shadow:0 14px 35px rgba(0,0,0,.35);cursor:pointer}.phone{right:18px;bottom:18px;width:58px;height:58px;font-size:24px}.top{right:86px;bottom:23px;width:48px;height:48px;opacity:0;pointer-events:none}.top.show{opacity:1;pointer-events:auto}.phone-popup{position:fixed;right:16px;bottom:90px;z-index:2499;width:min(350px,calc(100vw - 32px));background:rgba(3,13,8,.97);border:1px solid rgba(102,197,42,.5);border-radius:18px;padding:16px;backdrop-filter:blur(15px);box-shadow:0 20px 60px rgba(0,0,0,.45);opacity:0;transform:translateY(12px);visibility:hidden;pointer-events:none;transition:.2s}.phone-popup.open{opacity:1;transform:none;visibility:visible;pointer-events:auto}.popup-brand img{width:240px;margin:auto;filter:drop-shadow(0 0 2px rgba(255,255,255,.5)) drop-shadow(0 0 11px rgba(92,220,35,.35))}.phone-popup>a{display:grid;text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px}.phone-popup small{color:var(--orange);text-transform:uppercase;font-weight:900}.popup-qr{display:flex;align-items:center;gap:12px;margin-top:12px}.popup-qr img{width:90px;background:#fff;padding:4px;border-radius:8px}.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.nav-toggle{display:block;justify-self:end}.nav{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);background:rgba(2,9,5,.98);padding:100px 28px;display:flex;flex-direction:column;transform:translateX(105%);transition:.25s}.nav.open{transform:none}.hero-layout,.continuity-grid,.split{grid-template-columns:1fr}.services{grid-template-columns:repeat(2,1fr)}.industries{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:repeat(2,1fr)}.heading.inline{grid-template-columns:1fr}.quality-panel{max-width:680px}.hero{min-height:auto}.hero-layout{padding:110px 0 170px}.stats{grid-template-columns:repeat(2,1fr);position:relative;left:auto;bottom:auto;transform:none;margin-bottom:30px}.stats div:nth-child(2){border-right:0}}
@media(max-width:650px){.header{height:66px;padding:6px 12px}.brand img{width:170px;max-height:52px}main{padding-top:66px}.hero-layout{padding-top:90px}.services,.industries,.process,.step-grid,.trust-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid var(--line);padding:10px}.stats div:last-child{border:0}.heading.inline .eyebrow{font-size:2rem}.phone{right:12px;bottom:12px}.top{right:76px;bottom:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* V3.1 — Selected Logo: OPTION 1 Premium Glow */
.brand{
  display:flex;
  align-items:center;
  min-width:330px;
}
.brand img{
  width:330px!important;
  height:72px!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important; /* glow is already built into approved Option 1 artwork */
}
.popup-brand{
  padding:4px 0 10px;
  text-align:center;
}
.popup-brand img{
  width:275px!important;
  height:auto!important;
  margin:auto!important;
  filter:none!important;
}
@media(max-width:1050px){
  .brand{min-width:245px}
  .brand img{width:240px!important;height:62px!important}
}
@media(max-width:650px){
  .brand{min-width:155px}
  .brand img{width:160px!important;height:48px!important}
  .popup-brand img{width:225px!important}
}

/* V3.2 — Approved composite header logo and final hero balance */
.header{
  height:112px!important;
  grid-template-columns:minmax(520px,650px) 1fr!important;
  gap:28px!important;
  padding:8px max(22px,calc((100vw - 1540px)/2))!important;
}
.brand{
  width:100%;
  min-width:0!important;
  height:94px;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:hidden;
}
.brand img{
  width:100%!important;
  max-width:625px!important;
  height:92px!important;
  max-height:92px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}
main{padding-top:112px!important}
.hero{min-height:calc(100svh - 112px)!important}
.hero-layout{padding-top:58px!important;padding-bottom:142px!important}
.hero-copy{align-self:start}
.popup-brand img{
  width:300px!important;
  max-height:100px!important;
  object-fit:contain!important;
  filter:none!important;
}
@media(max-width:1250px){
  .header{grid-template-columns:minmax(400px,520px) 1fr!important;height:100px!important}
  .brand{height:84px}
  .brand img{height:82px!important;max-height:82px!important}
  main{padding-top:100px!important}
  .hero{min-height:calc(100svh - 100px)!important}
  .nav{gap:12px!important}
}
@media(max-width:1050px){
  .header{height:82px!important;grid-template-columns:1fr auto!important}
  .brand{height:68px;max-width:560px}
  .brand img{height:66px!important;max-height:66px!important}
  main{padding-top:82px!important}
  .hero{min-height:auto!important}
  .hero-layout{padding-top:72px!important}
}
@media(max-width:650px){
  .header{height:66px!important;padding:5px 10px!important}
  .brand{height:54px;max-width:300px}
  .brand img{height:52px!important;max-height:52px!important}
  main{padding-top:66px!important}
  .hero-layout{padding-top:56px!important}
  .popup-brand img{width:245px!important}
}

/* V3.3 — Approved Pages 04, 05 and 06 + single-row Page 01 navigation */

/* Keep all desktop navigation labels on one row. */
.header{
  grid-template-columns:minmax(480px,610px) minmax(0,1fr)!important;
  column-gap:18px!important;
}
.nav{
  display:flex!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:clamp(9px,1vw,17px)!important;
  min-width:0;
}
.nav a{
  white-space:nowrap!important;
  font-size:clamp(.62rem,.7vw,.78rem)!important;
  letter-spacing:.02em!important;
}

/* Exact approved artwork for Pages 04–06. */
.approved-art-section{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#020806;
  line-height:0;
  scroll-margin-top:112px;
}
.approved-art-section>img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
  margin:0;
}
.art-links{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.art-hotspot{
  position:absolute;
  pointer-events:auto;
  border-radius:10px;
}
.art-hotspot:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
  background:rgba(101,197,42,.16);
}
.services-art-links .s1{left:2.2%;top:22%;width:31.8%;height:44%}
.services-art-links .s2{left:35.5%;top:22%;width:31.8%;height:44%}
.services-art-links .s3{left:68.7%;top:22%;width:29.3%;height:44%}
.services-art-links .s4{left:2.2%;top:67%;width:44.3%;height:31%}
.services-art-links .s5{left:48%;top:67%;width:49.8%;height:31%}

@media(max-width:1350px){
  .header{
    grid-template-columns:minmax(400px,520px) minmax(0,1fr)!important;
  }
  .nav{
    gap:8px!important;
  }
  .nav a{
    font-size:.61rem!important;
  }
  .brand img{
    max-width:510px!important;
  }
}

@media(max-width:1050px){
  /* Mobile/tablet retains hamburger navigation from the existing website. */
  .nav{
    white-space:normal!important;
  }
  .nav a{
    font-size:1rem!important;
    white-space:normal!important;
  }
  .approved-art-section{
    scroll-margin-top:82px;
  }
}

@media(max-width:650px){
  .approved-art-section{
    scroll-margin-top:66px;
  }
  .approved-art-section>img{
    width:170%;
    transform:translateX(-35%);
    max-width:none;
  }
  .art-links{
    display:none;
  }
}


/* =========================================================
   V3.4 — RESPONSIVE LAYOUT & TYPOGRAPHY POLISH
   Content, wording, colors, logos and images are unchanged.
   ========================================================= */

:root{
  --header-desktop:108px;
  --header-tablet:82px;
  --header-mobile:66px;
  --container:min(1240px,calc(100% - clamp(28px,5vw,76px)));
}

html{
  scroll-padding-top:var(--header-desktop);
  -webkit-text-size-adjust:100%;
}

body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.container{
  width:var(--container)!important;
}

/* ---------- Header / navigation ---------- */
.header{
  height:var(--header-desktop)!important;
  grid-template-columns:minmax(430px,590px) minmax(0,1fr)!important;
  gap:clamp(14px,1.5vw,26px)!important;
  padding-inline:max(20px,calc((100vw - 1540px)/2))!important;
}

.brand{
  height:90px!important;
  min-width:0!important;
  overflow:visible!important;
}

.brand img{
  width:100%!important;
  max-width:575px!important;
  height:88px!important;
  max-height:88px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

.nav{
  gap:clamp(8px,.9vw,16px)!important;
  justify-content:flex-end!important;
  overflow:visible!important;
}

.nav a{
  font-size:clamp(.63rem,.68vw,.76rem)!important;
  line-height:1!important;
  letter-spacing:.018em!important;
  padding-block:16px;
  position:relative;
}

.nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:7px;
  height:2px;
  background:var(--green);
  transition:right .2s ease;
}

.nav a:hover::after,
.nav a.active::after{
  right:0;
}

main{
  padding-top:var(--header-desktop)!important;
}

/* ---------- Hero ---------- */
.hero{
  min-height:calc(100svh - var(--header-desktop))!important;
}

.hero-layout{
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr)!important;
  gap:clamp(34px,4vw,68px)!important;
  align-items:center!important;
  padding-top:clamp(42px,5vh,72px)!important;
  padding-bottom:clamp(142px,18vh,185px)!important;
}

.hero-copy{
  max-width:730px!important;
}

.hero-copy h1{
  font-size:clamp(3.7rem,6.8vw,7rem)!important;
  line-height:.91!important;
  letter-spacing:-.045em!important;
  text-wrap:balance;
}

.lead{
  max-width:680px;
  margin-top:clamp(18px,2.3vw,28px);
  line-height:1.55;
  font-size:clamp(1rem,1.1vw,1.18rem)!important;
}

.btn{
  margin-top:clamp(22px,3vw,34px)!important;
  padding:15px 24px!important;
  line-height:1;
}

.quality-panel{
  padding:clamp(22px,2.1vw,30px)!important;
  border-radius:20px!important;
}

.quality-panel h2{
  font-size:clamp(2rem,2.75vw,3rem)!important;
  line-height:.98!important;
}

.quality-panel a{
  gap:4px;
  padding:15px 0!important;
}

.quality-panel strong{
  font-size:clamp(.94rem,1vw,1.08rem);
}

.quality-panel span{
  line-height:1.4;
}

.stats{
  width:var(--container)!important;
  bottom:24px!important;
  padding:17px 20px!important;
  gap:0;
}

.stats div{
  min-width:0;
  padding-inline:14px;
}

.stats b{
  font-size:clamp(1.65rem,2.2vw,2rem)!important;
}

.stats span{
  font-size:clamp(.68rem,.72vw,.8rem)!important;
  line-height:1.25;
}

/* ---------- Shared editorial sections ---------- */
.section{
  padding-block:clamp(76px,8vw,128px)!important;
  scroll-margin-top:var(--header-desktop);
}

h2{
  font-size:clamp(2.45rem,4.6vw,4.55rem)!important;
  line-height:.95!important;
  text-wrap:balance;
}

.heading{
  margin-bottom:clamp(34px,4vw,52px)!important;
}

.heading>p:last-child,
.copy>p,
.step p,
.contact-line,
address{
  line-height:1.58;
}

.continuity-grid,
.split{
  gap:clamp(32px,4.2vw,62px)!important;
}

.photo-card,
.contact-image{
  min-height:0;
}

.photo-card img,
.contact-image>img{
  aspect-ratio:4/3;
}

.step-grid{
  gap:clamp(12px,1.5vw,18px)!important;
}

.step{
  padding:clamp(18px,2vw,26px)!important;
  min-height:210px;
  display:flex;
  flex-direction:column;
}

.step b{
  font-size:clamp(2.3rem,3vw,3rem)!important;
}

.step h3{
  font-size:clamp(1.05rem,1.35vw,1.3rem);
}

.step p{
  margin-top:auto!important;
}

.values{
  gap:10px 12px!important;
}

.values span{
  line-height:1.15;
}

/* ---------- Approved artwork: Pages 04–06 ---------- */
.approved-art-section{
  scroll-margin-top:var(--header-desktop)!important;
  background:#020806!important;
}

.approved-art-section>img{
  width:100%!important;
  height:auto!important;
  transform:none!important;
}

/* ---------- Why CHAI ---------- */
.image-section{
  min-height:clamp(620px,75vw,760px)!important;
}

.trust{
  max-width:780px!important;
}

.trust blockquote{
  font-size:clamp(1.15rem,1.7vw,1.45rem)!important;
  line-height:1.45;
}

.trust-grid{
  gap:12px!important;
}

.trust-grid span{
  padding:14px 16px!important;
  line-height:1.25;
}

/* ---------- Contact ---------- */
.contact-line{
  transition:transform .18s ease,border-color .18s ease;
}

.contact-line:hover{
  transform:translateY(-2px);
  border-color:rgba(101,197,42,.55);
}

.qr{
  right:16px!important;
  bottom:16px!important;
}

.phone-popup{
  width:min(360px,calc(100vw - 28px))!important;
}

/* ---------- Laptop ---------- */
@media(max-width:1350px){
  .header{
    grid-template-columns:minmax(380px,485px) minmax(0,1fr)!important;
  }

  .brand img{
    max-width:475px!important;
  }

  .nav{
    gap:7px!important;
  }

  .nav a{
    font-size:.61rem!important;
  }

  .hero-layout{
    grid-template-columns:minmax(0,1fr) minmax(320px,.68fr)!important;
    gap:34px!important;
  }

  .hero-copy h1{
    font-size:clamp(3.55rem,6.5vw,6.2rem)!important;
  }
}

/* Switch to mobile navigation before labels become cramped. */
@media(max-width:1120px){
  html{
    scroll-padding-top:var(--header-tablet);
  }

  .header{
    height:var(--header-tablet)!important;
    grid-template-columns:1fr auto!important;
    padding:7px 16px!important;
  }

  .brand{
    height:68px!important;
    max-width:min(610px,calc(100vw - 90px))!important;
  }

  .brand img{
    height:66px!important;
    max-height:66px!important;
    max-width:100%!important;
  }

  .nav-toggle{
    display:block!important;
    position:relative;
    z-index:2100;
    width:48px;
    height:48px;
    border:1px solid rgba(101,197,42,.5)!important;
    border-radius:50%;
    padding:9px!important;
  }

  .nav{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:min(380px,88vw)!important;
    padding:102px 30px 30px!important;
    background:rgba(2,9,5,.985)!important;
    backdrop-filter:blur(18px);
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    gap:0!important;
    transform:translateX(105%);
    transition:transform .25s ease;
    box-shadow:-22px 0 60px rgba(0,0,0,.45);
  }

  .nav.open{
    transform:none!important;
  }

  .nav a{
    font-size:1rem!important;
    line-height:1.2!important;
    padding:13px 0!important;
    border-bottom:1px solid rgba(255,255,255,.09);
  }

  .nav a::after{
    display:none;
  }

  main{
    padding-top:var(--header-tablet)!important;
  }

  .hero{
    min-height:auto!important;
  }

  .hero-layout{
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding-top:clamp(52px,8vw,78px)!important;
    padding-bottom:42px!important;
  }

  .hero-copy{
    max-width:780px!important;
  }

  .hero-copy h1{
    max-width:780px;
  }

  .quality-panel{
    max-width:720px!important;
  }

  .stats{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    grid-template-columns:repeat(4,1fr)!important;
    margin:0 auto 30px!important;
  }

  .section,
  .approved-art-section{
    scroll-margin-top:var(--header-tablet)!important;
  }
}

/* ---------- Tablet ---------- */
@media(max-width:820px){
  :root{
    --container:min(100% - 28px,720px);
  }

  .hero-copy h1{
    font-size:clamp(3.15rem,11vw,5.2rem)!important;
  }

  h2{
    font-size:clamp(2.3rem,8vw,3.9rem)!important;
  }

  .continuity-grid,
  .split{
    grid-template-columns:1fr!important;
  }

  .copy{
    max-width:680px;
  }

  .photo-card img,
  .contact-image>img{
    aspect-ratio:16/10;
  }

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

  .stats div:nth-child(2){
    border-right:0!important;
  }

  .stats div:nth-child(-n+2){
    border-bottom:1px solid var(--line);
    padding-bottom:14px;
    margin-bottom:14px;
  }

  /* Preserve full approved layout while allowing comfortable horizontal review. */
  .approved-art-section{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--green) #07110c;
  }

  .approved-art-section>img{
    width:max(100%,980px)!important;
    min-width:980px!important;
    max-width:none!important;
    transform:none!important;
  }

  .approved-art-section::after{
    content:"Swipe horizontally to view the complete approved layout";
    position:sticky;
    left:14px;
    bottom:10px;
    z-index:8;
    display:inline-block;
    margin:0 0 10px 14px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(2,8,6,.86);
    border:1px solid rgba(101,197,42,.45);
    color:#fff;
    font:700 .72rem/1 Arial,sans-serif;
    letter-spacing:.02em;
    line-height:1;
  }

  .art-links{
    min-width:980px;
  }
}

/* ---------- Mobile ---------- */
@media(max-width:650px){
  html{
    scroll-padding-top:var(--header-mobile);
  }

  .header{
    height:var(--header-mobile)!important;
    padding:5px 10px!important;
  }

  .brand{
    height:54px!important;
    max-width:calc(100vw - 76px)!important;
  }

  .brand img{
    width:100%!important;
    height:52px!important;
    max-height:52px!important;
  }

  .nav-toggle{
    width:44px;
    height:44px;
  }

  main{
    padding-top:var(--header-mobile)!important;
  }

  .hero-layout{
    padding-top:42px!important;
  }

  .hero-copy h1{
    font-size:clamp(2.8rem,15vw,4.3rem)!important;
    line-height:.9!important;
  }

  .lead{
    font-size:.98rem!important;
  }

  .btn{
    width:100%;
    max-width:330px;
    justify-content:center;
  }

  .quality-panel h2{
    font-size:clamp(1.8rem,9vw,2.45rem)!important;
  }

  .stats{
    grid-template-columns:1fr!important;
    padding:12px 18px!important;
  }

  .stats div{
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
    margin:0!important;
    padding:11px 0!important;
  }

  .stats div:last-child{
    border-bottom:0!important;
  }

  .section{
    padding-block:68px!important;
    scroll-margin-top:var(--header-mobile)!important;
  }

  .step-grid,
  .trust-grid{
    grid-template-columns:1fr!important;
  }

  .step{
    min-height:190px;
  }

  .approved-art-section{
    scroll-margin-top:var(--header-mobile)!important;
  }

  .approved-art-section>img{
    width:900px!important;
    min-width:900px!important;
  }

  .art-links{
    display:none!important;
  }

  .qr{
    position:static!important;
    width:max-content;
    margin:14px;
  }

  .phone{
    right:12px!important;
    bottom:12px!important;
    width:56px!important;
    height:56px!important;
  }

  .top{
    right:76px!important;
    bottom:16px!important;
  }
}

@media(max-width:420px){
  :root{
    --container:min(100% - 22px,390px);
  }

  .hero-copy h1{
    font-size:clamp(2.55rem,14.5vw,3.75rem)!important;
  }

  .phone-popup{
    right:10px!important;
    bottom:78px!important;
    width:calc(100vw - 20px)!important;
  }
}



/* =========================================================
   V5 — FINAL POLISH
   Locked: content, wording, images, logo, colors, page order.
   Adjusted only: typography, spacing, alignment, responsive
   behavior, hover/focus polish and motion refinement.
   ========================================================= */

:root{
  --shadow-soft:0 14px 34px rgba(0,0,0,.20);
  --shadow-deep:0 24px 64px rgba(0,0,0,.34);
  --focus-ring:0 0 0 3px rgba(101,197,42,.28);
}

/* Global rhythm */
body{
  letter-spacing:.001em;
}

p{
  orphans:3;
  widows:3;
}

a,
button{
  -webkit-tap-highlight-color:transparent;
}

a:focus-visible,
button:focus-visible{
  outline:none;
  box-shadow:var(--focus-ring);
}

/* Header refinement */
.header{
  box-shadow:0 8px 26px rgba(0,0,0,.24);
}

.brand img{
  image-rendering:auto;
  transform:translateZ(0);
}

.nav a{
  transition:color .2s ease,opacity .2s ease;
}

.nav a:hover{
  color:var(--green);
}

.nav-toggle{
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.nav-toggle:hover{
  transform:translateY(-1px);
  border-color:rgba(101,197,42,.72)!important;
  background:rgba(101,197,42,.08)!important;
}

/* Hero balance */
.hero-bg img{
  object-position:center center;
}

.hero-copy,
.quality-panel{
  will-change:transform;
}

.hero-copy h1{
  max-width:12ch;
}

.lead{
  max-width:58ch;
}

.btn{
  min-height:50px;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
  box-shadow:0 10px 24px rgba(101,197,42,.18);
}

.btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
  box-shadow:0 15px 32px rgba(101,197,42,.26);
}

.quality-panel{
  box-shadow:var(--shadow-deep);
}

.quality-panel a{
  transition:padding-left .18s ease,color .18s ease;
}

.quality-panel a:hover{
  padding-left:6px!important;
  color:var(--green);
}

.stats{
  box-shadow:var(--shadow-soft);
}

.stats b{
  letter-spacing:-.02em;
}

/* Shared section precision */
.heading.inline{
  align-items:start;
}

.heading.inline .eyebrow{
  margin-top:.08em;
}

.copy{
  max-width:66ch;
}

.photo-card,
.contact-image{
  box-shadow:var(--shadow-soft)!important;
  transition:transform .28s ease,box-shadow .28s ease;
}

.photo-card:hover,
.contact-image:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-deep)!important;
}

/* Cards */
.step,
.service,
.process article,
.trust-grid span,
.values span{
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.step:hover,
.service:hover,
.process article:hover,
.trust-grid span:hover{
  transform:translateY(-3px);
  border-color:rgba(101,197,42,.48);
  box-shadow:0 14px 30px rgba(0,0,0,.20);
}

.service img{
  transition:transform .35s ease;
}

.service:hover img{
  transform:scale(1.018);
}

.step h3,
.service h3,
.process h3{
  line-height:1.15;
}

.values span:hover{
  transform:translateY(-1px);
  border-color:rgba(101,197,42,.36);
}

/* Approved-art pages */
.approved-art-section{
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.04);
}

.approved-art-section>img{
  image-rendering:auto;
}

/* Contact popup and floating controls */
.phone{
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.phone:hover{
  transform:translateY(-2px) scale(1.035);
  filter:brightness(1.05);
  box-shadow:0 18px 40px rgba(0,0,0,.42);
}

.phone-popup{
  transform-origin:bottom right;
  box-shadow:var(--shadow-deep)!important;
}

.phone-popup.open{
  animation:popup-in .18s ease both;
}

@keyframes popup-in{
  from{opacity:0;transform:translateY(10px) scale(.985)}
  to{opacity:1;transform:none}
}

.phone-popup>a{
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.phone-popup>a:hover{
  transform:translateX(2px);
  border-color:rgba(101,197,42,.52);
  background:rgba(101,197,42,.05);
}

.top{
  transition:opacity .2s ease,transform .18s ease,box-shadow .18s ease;
}

.top:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.36);
}

/* Reveal tuning */
.reveal{
  transform:translateY(18px);
  transition:opacity .58s ease,transform .58s ease;
}

.reveal.visible{
  opacity:1;
  transform:none;
}

/* Better large-screen balance */
@media(min-width:1600px){
  :root{
    --container:min(1320px,calc(100% - 96px));
  }

  .hero-layout{
    gap:72px!important;
  }

  .quality-panel{
    max-width:560px;
    justify-self:end;
  }
}

/* Better laptop fit */
@media(min-width:1121px) and (max-width:1366px){
  .header{
    grid-template-columns:minmax(360px,455px) minmax(0,1fr)!important;
  }

  .brand img{
    max-width:445px!important;
  }

  .hero-layout{
    gap:30px!important;
  }

  .quality-panel{
    padding:22px!important;
  }

  .stats{
    width:min(1180px,calc(100% - 34px))!important;
  }
}

/* Tablet spacing */
@media(max-width:820px){
  .heading.inline{
    gap:20px!important;
  }

  .quality-panel{
    width:100%;
  }

  .phone-popup{
    bottom:84px!important;
  }
}

/* Mobile polish */
@media(max-width:650px){
  .hero-copy h1{
    max-width:10ch;
  }

  .quality-panel{
    border-radius:16px!important;
  }

  .quality-panel a{
    padding-block:13px!important;
  }

  .heading,
  .copy{
    max-width:100%;
  }

  .phone-popup{
    border-radius:16px;
  }

  .approved-art-section::after{
    font-size:.67rem!important;
  }
}

/* Motion/accessibility */
@media(prefers-reduced-motion:reduce){
  .btn,
  .photo-card,
  .contact-image,
  .step,
  .service,
  .process article,
  .trust-grid span,
  .values span,
  .phone,
  .top,
  .phone-popup,
  .quality-panel a,
  .service img{
    transition:none!important;
    animation:none!important;
    transform:none!important;
  }
}


/* =========================================================
   FINAL — APPROVED PAGE 1
   Uses the exact approved Page 1 artwork.
   Pages 2–9 remain unchanged.
   ========================================================= */

.page01-final{
  position:relative;
  width:100%;
  background:#020806;
  overflow:hidden;
  line-height:0;
  scroll-margin-top:var(--header-desktop);
}

.page01-final>img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
}

.page01-actions{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.page01-hotspot{
  position:absolute;
  pointer-events:auto;
  border:0;
  background:transparent;
  border-radius:8px;
  cursor:pointer;
}

.page01-hotspot:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
  background:rgba(101,197,42,.16);
}

/* Coordinates match the approved Page 1 artwork. */
.services-hotspot{
  left:4.5%;
  top:68.0%;
  width:16.0%;
  height:7.2%;
}
.video-hotspot{
  left:22.0%;
  top:68.0%;
  width:15.0%;
  height:7.2%;
}

/* The approved artwork already contains its own header.
   The live sticky header appears after leaving Page 1. */
body.page1-at-top .header{
  transform:translateY(-110%);
  opacity:0;
  pointer-events:none;
}

.header{
  transition:transform .24s ease,opacity .24s ease;
}

body.page1-at-top main{
  padding-top:0!important;
}

@media(max-width:1120px){
  .page01-final{
    scroll-margin-top:var(--header-tablet);
  }
}

@media(max-width:820px){
  .page01-final{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
    scrollbar-color:var(--green) #07110c;
  }
  .page01-final>img{
    width:1180px;
    min-width:1180px;
  }
  .page01-actions{
    width:1180px;
    min-width:1180px;
  }
}

@media(max-width:650px){
  .page01-final{
    scroll-margin-top:var(--header-mobile);
  }
  .page01-final>img{
    width:980px;
    min-width:980px;
  }
  .page01-actions{
    width:980px;
    min-width:980px;
  }
}


/* FINAL popup telephone logo correction */
.popup-brand{
  padding:2px 0 10px!important;
  text-align:center!important;
  overflow:hidden!important;
}
.popup-brand img{
  display:block!important;
  width:270px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:110px!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
}


/* FINAL — Freeze top header row on all pages */
.header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:3000!important;
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Keep page content below the frozen header. */
body.page1-at-top main,
main{
  padding-top:var(--header-desktop)!important;
}

/* Disable the prior hide-on-Page-1 behavior. */
body.page1-at-top .header{
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
}

@media(max-width:1120px){
  body.page1-at-top main,
  main{
    padding-top:var(--header-tablet)!important;
  }
}

@media(max-width:650px){
  body.page1-at-top main,
  main{
    padding-top:var(--header-mobile)!important;
  }
}


/* =========================================================
   FINAL V7 — APPROVED TOP ROW + PAGE 1
   Removes old top row and replaces it with the exact approved
   new version. Header stays frozen on every section.
   ========================================================= */

:root{
  --v7-header-height:clamp(66px,8.25vw,132px);
}

/* Hide obsolete header elements from previous builds. */
.header>.brand,
.header>.nav,
.header>.nav-toggle{
  display:none!important;
}

/* Frozen approved top row. */
.final-v7-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:5000!important;
  width:100%!important;
  height:var(--v7-header-height)!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  background:#020806!important;
  border:0!important;
  box-shadow:0 8px 24px rgba(0,0,0,.34)!important;
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
  overflow:hidden!important;
}

.final-v7-header-art{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#020806!important;
}

.final-v7-header-links{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  pointer-events:none!important;
}

.final-v7-header-links a{
  position:absolute!important;
  top:0!important;
  height:100%!important;
  display:block!important;
  pointer-events:auto!important;
  background:transparent!important;
  border:0!important;
}

/* Click zones aligned to approved header artwork (1600px wide). */
.final-v7-header-links .h-home{left:40.7%;width:5.2%}
.final-v7-header-links .h-continuity{left:45.9%;width:7.2%}
.final-v7-header-links .h-about{left:53.2%;width:6.3%}
.final-v7-header-links .h-services{left:59.5%;width:8.0%}
.final-v7-header-links .h-industries{left:67.5%;width:6.8%}
.final-v7-header-links .h-process{left:74.3%;width:5.7%}
.final-v7-header-links .h-why{left:80.0%;width:5.8%}
.final-v7-header-links .h-commitment{left:85.8%;width:7.6%}
.final-v7-header-links .h-contact{left:93.4%;width:6.2%}

.final-v7-header-links a:focus-visible{
  outline:2px solid #fff!important;
  outline-offset:-5px!important;
  background:rgba(101,197,42,.10)!important;
}

/* Keep all page content below the frozen header. */
main,
body.page1-at-top main{
  padding-top:var(--v7-header-height)!important;
}

/* Final approved Page 1 body. */
.page01-final-v7{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#020806;
  line-height:0;
  scroll-margin-top:var(--v7-header-height);
}

.page01-final-v7>img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
}

.page01-v7-actions{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.page01-v7-hotspot{
  position:absolute;
  pointer-events:auto;
  border:0;
  background:transparent;
  border-radius:8px;
  cursor:pointer;
}

.page01-v7-hotspot:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
  background:rgba(101,197,42,.16);
}

/* Coordinates after removing the 132px header from the approved image. */
.services-hotspot-v7{
  left:4.9%;
  top:69.8%;
  width:15.6%;
  height:8.0%;
}

.video-hotspot-v7{
  left:21.5%;
  top:69.8%;
  width:14.2%;
  height:8.0%;
}

/* Exact new popup logo. */
.popup-brand{
  padding:3px 0 10px!important;
  overflow:hidden!important;
  text-align:center!important;
}

.popup-brand img{
  display:block!important;
  width:300px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:104px!important;
  margin:0 auto!important;
  object-fit:contain!important;
  filter:none!important;
}

/* Prevent any legacy hide/show header rule from overriding V7. */
body.page1-at-top .header{
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Tablet/mobile preserve the complete approved artwork. */
@media(max-width:820px){
  .page01-final-v7{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
    scrollbar-color:var(--green) #07110c;
  }

  .page01-final-v7>img{
    width:1180px;
    min-width:1180px;
  }

  .page01-v7-actions{
    width:1180px;
    min-width:1180px;
  }

  .final-v7-header-art{
    width:1180px!important;
    min-width:1180px!important;
    object-position:left center!important;
  }

  .final-v7-header{
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }

  .final-v7-header-links{
    width:1180px!important;
    min-width:1180px!important;
  }
}

@media(max-width:650px){
  .page01-final-v7>img{
    width:980px;
    min-width:980px;
  }

  .page01-v7-actions{
    width:980px;
    min-width:980px;
  }

  .final-v7-header-art{
    width:980px!important;
    min-width:980px!important;
  }

  .final-v7-header-links{
    width:980px!important;
    min-width:980px!important;
  }
}


/* FINAL V7 popup restoration */
.phone{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:6000!important;
}

.phone-popup{
  display:block!important;
  z-index:5999!important;
}

.phone-popup:not(.open){
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.phone-popup.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
