:root{
  --navy:#061725;
  --navy-2:#0b2233;
  --lime:#62bd2c;
  --lime-bright:#52d85b;
  --white:#fff;
  --ink:#111d29;
  --muted:#66717b;
  --paper:#f3f3f0;
  --border:rgba(7,24,38,.15);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.8rem;z-index:9999}

/* Header */
.header{
  position:fixed;z-index:1000;inset:0 0 auto 0;
  min-height:88px;display:grid;grid-template-columns:260px 1fr 330px;
  align-items:center;gap:2rem;padding:0 clamp(1.2rem,4vw,4rem);
  background:rgba(5,18,29,.98);border-bottom:1px solid rgba(255,255,255,.08);color:#fff
}
.brand{width:225px;text-decoration:none}
.brand img{width:100%;height:auto}
.nav{display:flex;justify-content:center;gap:clamp(1rem,2vw,2.1rem)}
.nav a{text-decoration:none;text-transform:uppercase;font-size:.77rem;font-weight:850;letter-spacing:.035em}
.nav a:hover,.nav a.active{color:var(--lime)}
.header-contact{display:grid;gap:.35rem;justify-content:end}
.header-contact a{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-size:.83rem;white-space:nowrap}
.header-contact svg{width:18px;fill:var(--lime)}
.menu-button{display:none}

/* Hero */
.hero{position:relative;height:min(790px,82vh);min-height:680px;margin-top:88px;overflow:hidden;color:#fff;background:var(--navy)}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(1.04) contrast(1.03)}
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(4,17,28,.83) 0%,rgba(4,17,28,.52) 42%,rgba(4,17,28,.08) 72%),
  linear-gradient(to top,rgba(3,15,25,.76),transparent 50%)}
.hero-copy{position:absolute;z-index:2;left:clamp(2rem,4.8vw,5rem);top:45%;transform:translateY(-50%);width:min(650px,45vw)}
.hero h1{margin:0 0 1.2rem;font-size:clamp(3.4rem,5vw,5.8rem);line-height:.98;letter-spacing:-.035em;text-transform:uppercase}
.hero-copy p{max-width:560px;margin:0 0 1.9rem;font-size:clamp(1.03rem,1.4vw,1.3rem);color:rgba(255,255,255,.9)}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:.8rem 1.35rem;border-radius:4px;text-decoration:none;text-transform:uppercase;letter-spacing:.035em;font-size:.75rem;font-weight:850;border:0}
.button.primary{background:var(--lime);color:#fff}
.button.secondary{background:rgba(6,23,37,.58);border:1px solid rgba(255,255,255,.62);color:#fff}
.service-strip{position:absolute;z-index:4;inset:auto 0 0 0;display:grid;grid-template-columns:repeat(6,1fr);min-height:104px;background:rgba(5,18,29,.9);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.08)}
.service-strip a{display:flex;align-items:center;justify-content:center;gap:.85rem;padding:.9rem;color:#fff;text-decoration:none;border-right:1px solid rgba(255,255,255,.07)}
.service-strip a:hover{background:rgba(98,189,44,.12)}
.service-strip svg{width:43px;height:43px;fill:var(--lime)}
.service-strip span{text-transform:uppercase;font-size:.72rem;font-weight:850;line-height:1.35}

/* Split overview */
.overview{display:grid;grid-template-columns:1.08fr .92fr}
.overview>div{padding:clamp(2.8rem,4.5vw,4.8rem)}
.overview-projects{background:#f3f3f0}
.overview-about{background:linear-gradient(135deg,#061725,#0a2a40);color:#fff}
.kicker{margin:0 0 .65rem;text-transform:uppercase;color:var(--lime);font-size:.73rem;font-weight:850;letter-spacing:.04em}
.overview-projects .kicker{color:#4d9d27}
.overview h2,.section-heading h2,.technology h2{margin:.3rem 0 .85rem;font-size:clamp(2rem,3vw,3.2rem);line-height:1.05;letter-spacing:-.03em;text-transform:uppercase}
.overview p:not(.kicker){max-width:650px;margin:0 0 1.2rem}
.overview-about p:not(.kicker){color:rgba(255,255,255,.83)}
.project-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:1rem}
.project-thumbs img{width:100%;height:135px;object-fit:cover}
.project-controls{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-top:1.25rem}
.project-controls button{width:36px;height:36px;border:1px solid var(--border);background:#fff;font-size:1.2rem}
.dot{width:7px;height:7px;border-radius:50%;background:#c9ced1}
.dot.active{background:var(--lime)}

/* Before after */
.results{padding:clamp(4.7rem,7vw,7rem) clamp(1.4rem,5vw,5rem);background:var(--navy);color:#fff}
.section-heading.centered{text-align:center;margin-bottom:2.3rem}
.section-heading.centered p:not(.kicker){margin:.4rem auto 0;max-width:650px}
.comparison{position:relative;height:min(49vw,650px);overflow:hidden;max-width:1400px;margin:0 auto;border-radius:3px;box-shadow:0 22px 60px rgba(0,0,0,.3)}
.comparison img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.comparison-top{position:absolute;inset:0;width:50%;overflow:hidden}
.comparison-top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.comparison-line{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff}
.comparison-line:after{content:"↔";position:absolute;top:50%;left:50%;translate:-50% -50%;width:50px;height:50px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:1.25rem}
.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.compare-label{position:absolute;top:1rem;background:var(--lime);color:#fff;text-transform:uppercase;padding:.45rem .8rem;border-radius:3px;font-size:.68rem;font-weight:850}
.compare-label.before{left:1rem}.compare-label.after{right:1rem}

/* Process */
.process{padding:clamp(4.7rem,7vw,7rem) clamp(1.4rem,5vw,5rem);background:#f6f6f4}
.light-text{color:var(--ink)}
.process-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:1rem;align-items:center;text-align:center}
.process-grid article{min-width:0}
.process-icon{width:78px;height:78px;margin:0 auto 1rem;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 10px 35px rgba(6,23,37,.08)}
.process-icon svg{width:38px;fill:var(--lime)}
.process-grid h3{margin:.4rem 0;color:#4d9d27;text-transform:uppercase;font-size:.88rem}
.process-grid p{margin:0;color:#39434d;font-size:.9rem}
.arrow{font-size:1.8rem;color:#202a32}

/* Technology */
.technology{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:clamp(5rem,8vw,8rem) clamp(1.4rem,6vw,6rem);background:#fff}
.technology-copy p:not(.kicker){font-size:1.06rem;color:var(--muted);max-width:650px}
.technology>img{max-height:650px;margin:auto;filter:drop-shadow(0 28px 48px rgba(6,23,37,.18))}
.tech-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.tech-tags span{padding:.55rem .75rem;border:1px solid var(--border);text-transform:uppercase;font-size:.7rem;font-weight:800}

/* Team */
.team{padding:clamp(4.8rem,7vw,7rem) clamp(1.4rem,6vw,6rem);background:var(--navy);color:#fff}
.team-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.team-grid article{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:center;padding:1.4rem;border:1px solid rgba(255,255,255,.1)}
.team-grid img{width:220px;height:280px;object-fit:cover;object-position:center top;background:#fff}
.team-grid h3{margin:0 0 .35rem;font-size:1.4rem;text-transform:uppercase}
.role{margin:0 0 1rem;color:var(--lime);font-size:.82rem;text-transform:uppercase;font-weight:850}
.team-grid article p:last-child{color:rgba(255,255,255,.76)}
.team-note{text-align:center;margin:1.5rem 0 0;color:rgba(255,255,255,.72)}

/* Footer */
.footer{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:3rem;padding:3.5rem clamp(1.4rem,6vw,6rem) 1.2rem;background:#04121e;color:#fff;border-top:1px solid rgba(255,255,255,.1)}
.footer-brand img{width:220px;background:#fff}
.footer-brand p{max-width:350px;color:rgba(255,255,255,.7)}
.footer-column{display:flex;flex-direction:column;gap:.65rem;border-left:1px solid rgba(255,255,255,.12);padding-left:2rem}
.footer-column h3{margin:0 0 .4rem;color:var(--lime);text-transform:uppercase;font-size:.85rem}
.footer-column a{text-decoration:none;color:#fff}
.footer-column p{margin:0;color:rgba(255,255,255,.78)}
.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;color:rgba(255,255,255,.45);font-size:.73rem}
.footer-bottom a{text-decoration:none}

/* Responsive */
@media(max-width:1100px){
  .header{grid-template-columns:220px 1fr}
  .header-contact{display:none}
  .team-grid article{grid-template-columns:170px 1fr}
  .team-grid img{width:170px;height:230px}
}
@media(max-width:900px){
  .header{min-height:74px;grid-template-columns:190px auto;padding:.35rem 1rem}
  .brand{width:185px}
  .menu-button{display:block;justify-self:end;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);padding:.55rem .75rem}
  .nav{position:fixed;inset:74px 0 auto;background:var(--navy);display:none;flex-direction:column;align-items:flex-start;padding:1.5rem}
  .nav-open .nav{display:flex}
  .hero{margin-top:74px;height:760px;min-height:760px}
  .hero-copy{left:1.4rem;top:39%;width:88vw}
  .hero h1{font-size:clamp(3rem,10vw,5rem)}
  .service-strip{grid-template-columns:repeat(3,1fr)}
  .service-strip a{min-height:82px}
  .overview,.technology,.team-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr;gap:1.5rem}
  .process-grid .arrow{transform:rotate(90deg)}
  .technology>img{order:-1}
  .team-grid article{grid-template-columns:180px 1fr}
  .footer{grid-template-columns:1fr}
  .footer-column{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding-left:0;padding-top:1.5rem}
}
@media(max-width:560px){
  .hero{height:840px;min-height:840px}
  .hero-copy{top:33%}
  .hero h1{font-size:2.9rem}
  .hero-actions .button{width:100%}
  .service-strip{grid-template-columns:repeat(2,1fr)}
  .service-strip a{justify-content:flex-start;padding:.75rem}
  .service-strip svg{width:32px}
  .project-thumbs{grid-template-columns:1fr}
  .project-thumbs img{height:190px}
  .comparison{height:86vw}
  .team-grid article{grid-template-columns:1fr}
  .team-grid img{width:100%;height:360px}
  .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* V7 updates: user's ChatGPT Image 2 hero and uploaded service icons */
.hero-image{
  object-position:center center;
}

.service-strip a{
  gap:.85rem;
}
.service-strip img{
  width:52px;
  height:52px;
  object-fit:contain;
  display:block;
  filter: drop-shadow(0 0 10px rgba(130, 255, 0, 0.18));
}
.service-strip a:hover img,
.service-strip a:focus-visible img{
  transform:translateY(-2px) scale(1.03);
}
.service-strip img,
.service-card-icon{
  transition:transform .2s ease;
}

.services-showcase{
  padding:5.5rem clamp(1.2rem, 4vw, 4rem);
  background:
    radial-gradient(circle at top right, rgba(40,116,156,.16), transparent 30%),
    linear-gradient(180deg,#07131e 0%, #0c1b2a 100%);
  color:#fff;
}
.services-grid{
  max-width:1280px;
  margin:2.2rem auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;
}
.service-card{
  background:rgba(8,20,30,.78);
  border:1px solid rgba(141, 255, 37, .14);
  border-radius:14px;
  padding:1.6rem 1.35rem;
  box-shadow:0 18px 35px rgba(0,0,0,.18);
}
.service-card:hover,
.service-card:focus-within{
  border-color:rgba(141,255,37,.34);
  transform:translateY(-2px);
}
.service-card-icon{
  width:90px;
  height:90px;
  object-fit:contain;
  display:block;
  margin-bottom:1rem;
}
.service-card h3{
  margin:0 0 .7rem;
  color:#fff;
  font-size:1.15rem;
  line-height:1.2;
}
.service-card p{
  margin:0;
  color:rgba(255,255,255,.8);
  line-height:1.65;
}

@media (max-width: 980px){
  .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 700px){
  .service-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .services-grid{
    grid-template-columns:1fr;
  }
  .service-card-icon{
    width:78px;
    height:78px;
  }
}


/* V8 readability and navigation refinements */
.brand img{
  border-radius:12px;
}

.services-showcase .section-heading h2{
  color:#ffffff;
  text-shadow:0 2px 14px rgba(0,0,0,.35);
}
.services-showcase .section-heading > p:not(.kicker){
  color:rgba(255,255,255,.92);
  font-size:1.06rem;
  font-weight:500;
  text-shadow:0 1px 10px rgba(0,0,0,.28);
}
.services-showcase .section-heading .kicker{
  color:#8dda39;
}

.service-card{
  display:block;
  color:inherit;
  text-decoration:none;
}
.service-card-link{
  display:inline-block;
  margin-top:1rem;
  color:#91dc3d;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.72rem;
  font-weight:850;
}

/* Dedicated service pages */
.service-page{
  background:#f4f5f3;
  color:#12202c;
}
.service-page .header{
  position:relative;
}
.service-page-main{
  margin-top:0;
}
.service-page-hero{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
  background:#071725;
}
.service-page-hero > img.service-background{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.service-page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,17,28,.94),rgba(4,17,28,.61) 52%,rgba(4,17,28,.15)),
    linear-gradient(to top,rgba(4,17,28,.75),transparent 55%);
}
.service-page-hero-content{
  position:relative;
  z-index:2;
  width:min(780px,90vw);
  padding:clamp(3rem,7vw,7rem) clamp(1.4rem,6vw,6rem);
}
.service-page-icon{
  width:110px;
  height:110px;
  object-fit:contain;
  margin-bottom:1rem;
}
.service-page-hero h1{
  margin:.2rem 0 1rem;
  max-width:800px;
  font-size:clamp(3rem,6vw,6rem);
  line-height:.95;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.service-page-hero p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:clamp(1.05rem,1.55vw,1.35rem);
}
.service-content{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:6vw;
  padding:clamp(4rem,7vw,7rem) clamp(1.4rem,6vw,6rem);
}
.service-content h2{
  margin:0 0 1.2rem;
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:1;
  letter-spacing:-.035em;
}
.service-content p{
  color:#596673;
  font-size:1.05rem;
}
.service-deliverables{
  background:#071725;
  color:#fff;
  padding:clamp(2rem,4vw,3.5rem);
  border-top:5px solid #76c52f;
}
.service-deliverables h2{
  font-size:1.7rem;
}
.service-deliverables ul{
  margin:1.4rem 0 0;
  padding:0;
  list-style:none;
}
.service-deliverables li{
  position:relative;
  padding:.7rem 0 .7rem 1.8rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.service-deliverables li::before{
  content:"";
  position:absolute;
  left:0;
  top:1.15rem;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#82d534;
}
.service-outcome{
  padding:0 clamp(1.4rem,6vw,6rem) clamp(4rem,7vw,7rem);
}
.service-outcome-inner{
  max-width:1200px;
  padding:clamp(2rem,4vw,4rem);
  background:#fff;
  border-left:6px solid #76c52f;
  box-shadow:0 20px 50px rgba(7,23,37,.09);
}
.service-outcome h2{
  margin:0 0 .8rem;
  font-size:clamp(1.8rem,3vw,3rem);
}
.service-page-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:clamp(3rem,5vw,5rem) clamp(1.4rem,6vw,6rem);
  background:linear-gradient(120deg,#061725,#0d3450);
  color:#fff;
}
.service-page-cta h2{
  margin:0 0 .5rem;
  font-size:clamp(2rem,4vw,4rem);
  line-height:1;
}
.service-page-cta p{
  margin:0;
  color:rgba(255,255,255,.75);
}
.back-services{
  display:inline-flex;
  margin-top:1.5rem;
  color:#99df45;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.76rem;
  font-weight:850;
}
@media(max-width:900px){
  .service-content{
    grid-template-columns:1fr;
  }
  .service-page-cta{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:600px){
  .service-page-hero{
    min-height:560px;
  }
  .service-page-icon{
    width:84px;
    height:84px;
  }
}


/* V9 refinements */
.footer-brand img,.footer img{border-radius:16px;}
.comparison{background:#0d1620;}


/* V10 — six-stage orthophoto progress and rebuilt comparison */
.project-progress-link{
  display:inline-flex;
  margin-top:1.1rem;
  color:#4d9d27;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-size:.72rem;
  font-weight:850;
}

.results-intro{
  max-width:760px;
  margin:.7rem auto 0;
  color:rgba(255,255,255,.78);
  font-size:1rem;
}

.progress-gallery{
  max-width:1400px;
  margin:0 auto 4.5rem;
}

.progress-frame{
  position:relative;
  aspect-ratio:2/1;
  overflow:hidden;
  border-radius:5px;
  background:#02070b;
  box-shadow:0 24px 65px rgba(0,0,0,.34);
}

.progress-image{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#02070b;
}

.progress-status{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.75rem 1rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:4px;
  background:rgba(4,17,28,.82);
  backdrop-filter:blur(10px);
}

.progress-stage{
  color:#91dd42;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.progress-description{
  color:rgba(255,255,255,.75);
  font-size:.8rem;
}

.progress-navigation{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:1rem;
  margin-top:1.25rem;
}

.progress-button{
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:1.35rem;
  cursor:pointer;
}

.progress-button:hover,
.progress-button:focus-visible{
  border-color:#83d437;
  color:#83d437;
}

.progress-range{
  width:100%;
  accent-color:#76c52f;
  cursor:pointer;
}

.progress-ticks{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:.55rem;
  margin-top:.85rem;
}

.progress-ticks button{
  min-height:38px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:3px;
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.66);
  font-weight:800;
  cursor:pointer;
}

.progress-ticks button.active,
.progress-ticks button:hover,
.progress-ticks button:focus-visible{
  border-color:#78c932;
  background:#78c932;
  color:#071725;
}

.comparison-heading{
  max-width:920px;
  margin:0 auto 2rem;
  text-align:center;
}

.comparison-heading h2{
  margin:.25rem 0 .8rem;
  font-size:clamp(2rem,4vw,4rem);
  line-height:1;
  letter-spacing:-.035em;
  text-transform:uppercase;
}

.comparison-heading p:not(.kicker){
  margin:0 auto;
  color:rgba(255,255,255,.75);
}

.comparison{
  position:relative;
  aspect-ratio:2/1;
  height:auto;
  max-height:none;
  overflow:hidden;
  background:#02070b;
  touch-action:none;
}

.comparison img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#02070b;
  pointer-events:none;
  user-select:none;
}

.comparison-top{
  position:absolute;
  inset:0;
  width:100%;
  overflow:hidden;
  clip-path:inset(0 50% 0 0);
  will-change:clip-path;
}

.comparison-top img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
}

.comparison-line{
  z-index:3;
}

.comparison input{
  z-index:5;
  margin:0;
}

.compare-label{
  z-index:4;
}

@media(max-width:700px){
  .progress-frame,
  .comparison{
    aspect-ratio:4/3;
  }

  .progress-status{
    align-items:flex-start;
    flex-direction:column;
    gap:.15rem;
  }

  .progress-description{
    display:none;
  }
}
/* Private review refinements */
:focus-visible{outline:3px solid #a9f35d;outline-offset:4px}
.button.primary{color:#071725;background:#8ddc43}
.contact-pending{color:#d6e1e3;font-size:.78rem;text-align:right}
.services-showcase .section-heading h2{max-width:1000px;margin-left:auto;margin-right:auto}
.services-showcase .section-heading p:not(.kicker){color:#e8f0f2}
.service-card{background:#10293a;border:1px solid #315064;padding:1.8rem;transition:transform .2s,border-color .2s}
.service-card p{color:#e1e9eb}
.service-card:hover,.service-card:focus-visible{border-color:#a3e659}
.comparison,.progress-frame{aspect-ratio:2/1}
.comparison{touch-action:pan-y}
.compare-label{pointer-events:none;color:#071725;background:#a2e358}
.progress-frame img,.comparison img{object-fit:contain}
section[id],footer[id]{scroll-margin-top:90px}
@media(max-width:700px){.comparison,.progress-frame{aspect-ratio:2/1}.progress-status{padding:.35rem .55rem;bottom:.4rem;left:.4rem;right:.4rem}.progress-stage{font-size:.65rem}.comparison-line:after{width:38px;height:38px}.compare-label{font-size:.6rem;padding:.3rem .5rem}.hero{height:830px;min-height:830px}.hero h1{font-size:clamp(2.45rem,10vw,3rem)}}
.service-deliverables .kicker{color:#a6ed62}

.team-grid article.team-text-only{display:flex;align-items:center;padding:clamp(1.5rem,3vw,3rem)}

/* V11 — genuine field image and Wacol project video */
.field-story{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  min-height:620px;
  background:#f4f5f2;
}

.field-story-image{
  min-height:620px;
  overflow:hidden;
  background:#071725;
}

.field-story-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.field-story-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(3rem,6vw,6rem);
}

.field-story-copy h2{
  margin:.3rem 0 1.2rem;
  max-width:650px;
  font-size:clamp(2.5rem,4.8vw,5rem);
  line-height:.96;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.field-story-copy > p:not(.kicker){
  max-width:650px;
  margin:0 0 1.5rem;
  color:#5d6974;
  font-size:1.05rem;
}

.field-story-points{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-bottom:1.8rem;
}

.field-story-points span{
  padding:.5rem .75rem;
  border:1px solid rgba(7,24,38,.14);
  background:#fff;
  color:#27343f;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.field-story-copy .button{
  align-self:flex-start;
}

.project-video-section{
  padding:clamp(4.5rem,7vw,7rem) clamp(1.4rem,6vw,6rem);
  background:#f3f4f1;
}

.project-video-heading{
  max-width:900px;
  margin:0 auto 2.2rem;
  text-align:center;
}

.project-video-heading h2{
  margin:.3rem 0 .9rem;
  font-size:clamp(2.4rem,4.8vw,4.8rem);
  line-height:.98;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.project-video-heading p:not(.kicker){
  margin:0 auto;
  max-width:760px;
  color:#62707b;
}

.project-video-frame{
  max-width:1380px;
  margin:0 auto;
  overflow:hidden;
  border-radius:6px;
  background:#06121d;
  box-shadow:0 24px 65px rgba(6,23,37,.18);
}

.project-video-frame video{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  background:#06121d;
}

.project-video-action{
  display:flex;
  justify-content:center;
  margin-top:1.6rem;
}

.service-video-block{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:4vw;
  align-items:center;
  padding:clamp(4rem,7vw,7rem) clamp(1.4rem,6vw,6rem);
  background:#071725;
  color:#fff;
}

.service-video-copy h2{
  margin:.3rem 0 1rem;
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:1;
  letter-spacing:-.035em;
}

.service-video-copy p:not(.kicker){
  color:rgba(255,255,255,.75);
  font-size:1.03rem;
}

.service-video-media{
  overflow:hidden;
  border-radius:5px;
  background:#02070b;
  box-shadow:0 22px 55px rgba(0,0,0,.3);
}

.service-video-media video{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  background:#02070b;
}

@media(max-width:900px){
  .field-story,
  .service-video-block{
    grid-template-columns:1fr;
  }

  .field-story-image{
    min-height:460px;
  }

  .field-story-copy{
    padding:3rem 1.4rem;
  }
}

@media(max-width:600px){
  .field-story-image{
    min-height:360px;
  }

  .project-video-section{
    padding-left:1rem;
    padding-right:1rem;
  }
}
.survey-team{max-width:1320px;margin:2.5rem auto 0}
.survey-team .kicker{margin-bottom:1rem;color:#a6ed62}
.survey-team-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.survey-team-list article{border:1px solid rgba(255,255,255,.14);padding:1.3rem;background:rgba(255,255,255,.025)}
.survey-team-list h3{margin:0 0 .35rem;font-size:1rem;color:#fff}
.survey-team-list p{margin:0;color:#c7d4dc;font-size:.85rem}
@media(max-width:900px){.survey-team-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.survey-team-list{grid-template-columns:1fr}}
.enquiry{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);padding:clamp(4rem,7vw,7rem) clamp(1.4rem,6vw,6rem);background:#f3f5f1;color:#12202c}
.enquiry-copy h2{font-size:clamp(2.4rem,4.5vw,4.7rem);line-height:1;letter-spacing:-.04em;text-transform:uppercase;margin:.4rem 0 1.3rem}
.enquiry-copy p:not(.kicker){max-width:32rem;font-size:1.04rem;line-height:1.7;color:#465460}
.enquiry-copy a{color:#143f2f;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.enquiry-form{background:#fff;border:1px solid #d7dedc;padding:clamp(1.4rem,3vw,2.4rem);border-radius:10px;box-shadow:0 16px 40px rgba(6,23,37,.07)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.3rem}.form-full{grid-column:1/-1}
.enquiry-form label{display:block;margin-bottom:.45rem;font-size:.86rem;font-weight:700;color:#1a303d}.enquiry-form label span:not(.optional){color:#398121}.optional{font-weight:400;color:#596974}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{display:block;width:100%;border:1px solid #aab8b8;border-radius:4px;background:#fff;color:#12202c;font:inherit;padding:.75rem;min-height:48px}.enquiry-form textarea{resize:vertical}
.enquiry-form .button{cursor:pointer}.form-note{margin:.9rem 0 0;color:#52636c;font-size:.88rem;line-height:1.5}
@media(max-width:900px){.enquiry{grid-template-columns:1fr}}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.enquiry-form .button{width:100%}}

.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
