:root{
  --ink:#131b27;
  --paper:#f4eddf;
  --white:#fffaf2;
  --blue:#3158ff;
  --orange:#ff6244;
  --mint:#c7f2dd;
  --sand:#e8d8bf;
  --line:#202939;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Manrope",system-ui,sans-serif;
  line-height:1.5;
}
a{text-decoration:none;color:inherit}
.header{
  position:sticky;top:0;z-index:70;
  min-height:82px;
  display:grid;
  grid-template-columns:300px 1fr 230px;
  align-items:center;
  border-bottom:2px solid var(--ink);
  background:rgba(244,237,223,.94);
  backdrop-filter:blur(16px);
}
.brand{
  height:82px;
  display:flex;flex-direction:column;
  justify-content:center;
  padding:0 28px;
  border-right:2px solid var(--ink);
}
.brand strong{
  font-family:"Unbounded",sans-serif;
  font-size:1.55rem;
  letter-spacing:-.07em;
}
.brand span,.header nav a,.header-call,.kicker,.eyebrow,.hero-meta span,.number,.contact-label{
  font-family:"DM Mono",monospace;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.brand span{font-size:.52rem;margin-top:2px}
.header nav{display:flex;justify-content:center;gap:30px}
.header nav a{font-size:.61rem}
.header-call{
  height:82px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ink);color:white;
  font-size:.64rem;
}
.hero{
  min-height:calc(100vh - 82px);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  grid-template-rows:1fr auto;
  border-bottom:2px solid var(--ink);
}
.hero-copy{
  padding:86px 5vw 62px;
  border-right:2px solid var(--ink);
}
.kicker,.eyebrow{font-size:.61rem;font-weight:500}
.hero-copy h1{
  font-family:"Unbounded",sans-serif;
  font-size:clamp(4.4rem,8vw,8.7rem);
  line-height:.84;
  letter-spacing:-.075em;
  margin:24px 0 30px;
}
.hero-copy h1 span{color:var(--blue)}
.hero-copy>p{max-width:690px;font-size:1.04rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 19px;
  border:2px solid var(--ink);
  font-family:"DM Mono",monospace;
  font-size:.62rem;font-weight:500;text-transform:uppercase;
}
.button-dark{background:var(--ink);color:white}
.button-outline{background:transparent}
.audiences{
  margin-top:48px;
  display:flex;gap:9px;flex-wrap:wrap;
}
.audiences span{
  padding:8px 11px;
  border:1px solid var(--ink);
  border-radius:999px;
  font-family:"DM Mono";font-size:.53rem;
}
.hero-graphic{
  position:relative;
  min-height:680px;
  background:var(--blue);
  overflow:hidden;
}
.radar{
  position:absolute;
  width:min(70%,560px);
  aspect-ratio:1;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border:2px solid var(--white);
  border-radius:50%;
  box-shadow:
    inset 0 0 0 72px transparent,
    0 0 0 72px rgba(255,255,255,.08),
    0 0 0 144px rgba(255,255,255,.06);
}
.radar::before,.radar::after{
  content:"";position:absolute;background:rgba(255,255,255,.6)
}
.radar::before{width:1px;top:-22%;bottom:-22%;left:50%}
.radar::after{height:1px;left:-22%;right:-22%;top:50%}
.radar-line{
  position:absolute;
  width:50%;height:2px;
  left:50%;top:50%;
  transform-origin:left center;
  transform:rotate(-28deg);
  background:linear-gradient(90deg,var(--white),transparent);
}
.radar-dot{
  position:absolute;width:15px;height:15px;border-radius:50%;
  background:var(--orange);border:2px solid var(--ink)
}
.dot-1{left:25%;top:30%}.dot-2{right:16%;top:55%}.dot-3{left:43%;bottom:12%}
.radar-label{
  position:absolute;
  font-family:"DM Mono";font-size:.52rem;
  background:var(--paper);color:var(--ink);
  padding:6px 9px;border:2px solid var(--ink)
}
.label-1{left:-10%;top:18%}.label-2{right:-12%;top:35%}.label-3{right:4%;bottom:7%}
.hero-badge{
  position:absolute;right:26px;bottom:25px;
  background:var(--mint);color:var(--ink);
  padding:18px;border:2px solid var(--ink);
  display:flex;gap:16px;align-items:center;
}
.hero-badge strong{font-family:"Unbounded";font-size:3rem;line-height:.9}
.hero-badge span{font-family:"DM Mono";font-size:.5rem}
.hero-meta{
  grid-column:1/-1;
  display:grid;grid-template-columns:repeat(3,1fr);
  background:var(--white);
  border-top:2px solid var(--ink);
}
.hero-meta>div{
  padding:18px 28px;border-right:2px solid var(--ink)
}
.hero-meta>div:last-child{border-right:0}
.hero-meta span{display:block;font-size:.5rem;color:#6a6d72}
.hero-meta strong,.hero-meta a{display:block;margin-top:6px;font-size:.86rem}
.signal{
  overflow:hidden;white-space:nowrap;
  background:var(--orange);
  border-bottom:2px solid var(--ink);
}
.signal div{
  padding:18px 0;
  transform:translateX(-2%);
  font-family:"Unbounded";font-size:clamp(1.3rem,2.5vw,2.6rem);
  letter-spacing:-.05em;
}
.section{padding:100px 5vw}
.section-head{max-width:900px;margin-bottom:48px}
.section-head.compact{max-width:1080px}
.section-head h2,.process-title h2,.zone h2,.company h2,.contact h2{
  font-family:"Unbounded";
  font-size:clamp(3rem,5.6vw,6.2rem);
  line-height:.9;
  letter-spacing:-.065em;
  margin:16px 0 20px;
}
.section-head p{max-width:760px;color:#4f5762}
.services-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:16px;
}
.service{
  position:relative;overflow:hidden;
  min-height:310px;
  padding:24px;
  border:2px solid var(--ink);
  background:var(--white);
}
.service-feature{
  grid-row:span 2;min-height:636px;
  background:var(--sand);
}
.service.blue{background:var(--blue);color:white}
.service.orange{background:var(--orange)}
.service.mint{background:var(--mint)}
.service.dark{background:var(--ink);color:white}
.number{font-size:.55rem}
.service h3{
  font-family:"Unbounded";
  font-size:clamp(1.7rem,3.2vw,3.2rem);
  line-height:.92;letter-spacing:-.055em;
  margin:88px 0 14px;
}
.service p{max-width:390px;margin:0}
.rat-icon{
  position:absolute;right:22px;bottom:38px;width:64%;height:260px;
}
.rat-icon .body{
  position:absolute;right:0;bottom:0;width:76%;height:58%;
  background:var(--ink);border-radius:56% 48% 36% 50%;
}
.rat-icon .ear{
  position:absolute;right:8%;bottom:49%;width:48px;height:48px;
  border-radius:50%;background:var(--orange);border:8px solid var(--ink);
}
.rat-icon .tail{
  position:absolute;left:0;bottom:15%;width:48%;height:55%;
  border:13px solid var(--ink);border-right:0;border-bottom:0;border-radius:100% 0 0 0;
}
.bug-symbol{
  position:absolute;right:24px;top:24px;
  font-family:"Unbounded";font-size:4.4rem;line-height:1
}
.bird-mark{
  position:absolute;right:24px;top:28px;width:86px;height:50px;
  border-top:7px solid var(--blue);
  border-radius:50% 50% 0 0;
  transform:rotate(-9deg)
}
.bird-mark::after{
  content:"";position:absolute;right:-48px;top:-7px;width:86px;height:50px;
  border-top:7px solid var(--blue);border-radius:50% 50% 0 0;
  transform:rotate(18deg)
}
.spray-mark{
  position:absolute;right:24px;top:34px;
  color:var(--mint);font-family:"Unbounded";font-size:3rem;letter-spacing:.2em
}
.process{
  display:grid;grid-template-columns:.82fr 1.18fr;
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  background:var(--ink);color:white;
}
.process-title{padding:100px 5vw;border-right:2px solid white}
.process-title p{max-width:600px;color:#ced4db}
.eyebrow.light{color:var(--mint)}
.process-steps{display:grid;grid-template-columns:1fr 1fr}
.process-steps article{padding:36px;border-right:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4)}
.process-steps article:nth-child(2n){border-right:0}
.process-steps article:nth-child(n+3){border-bottom:0}
.process-steps span{font-family:"DM Mono";font-size:.56rem;color:var(--orange)}
.process-steps h3{font-family:"Unbounded";font-size:2rem;letter-spacing:-.05em;margin:70px 0 12px}
.process-steps p{color:#ced4db}
.clients-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  border:2px solid var(--ink)
}
.clients-grid>div{padding:30px;border-right:2px solid var(--ink)}
.clients-grid>div:last-child{border-right:0}
.clients-grid strong{font-family:"Unbounded";font-size:1.3rem}
.clients-grid p{margin:12px 0 0;color:#59616a}
.zone{
  display:grid;grid-template-columns:.85fr 1.15fr;
  background:var(--blue);color:white;
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)
}
.zone-copy{padding:100px 5vw;border-right:2px solid var(--ink)}
.zone-copy p{max-width:540px;color:#dce3ff}
.zone-list{display:grid;grid-template-columns:1fr 1fr;align-content:start}
.zone-list span{
  min-height:72px;display:flex;align-items:center;padding:0 24px;
  border-right:1px solid rgba(255,255,255,.6);
  border-bottom:1px solid rgba(255,255,255,.6);
  font-family:"DM Mono";font-size:.64rem;
}
.zone-list span:nth-child(2n){border-right:0}
.company{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px}
.company-copy>p{max-width:760px;font-size:1.05rem;margin-top:38px}
.facts{margin-top:40px;border-top:2px solid var(--ink)}
.facts div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:17px 0;border-bottom:2px solid var(--ink)}
.facts span{font-family:"DM Mono";font-size:.55rem}
.facts strong{text-align:right}
.contact{
  padding:100px 5vw;
  display:grid;grid-template-columns:1fr 500px;gap:80px;
  background:var(--orange);
}
.contact-copy p{max-width:620px}
.contact-card{
  background:var(--white);border:2px solid var(--ink);padding:28px;align-self:start;
}
.contact-label{display:block;font-size:.52rem;color:#6b6e72;margin-top:20px}
.contact-label:first-child{margin-top:0}
.contact-phone{
  display:block;
  font-family:"Unbounded";font-size:clamp(2.2rem,4vw,4rem);
  line-height:1;letter-spacing:-.055em;
  margin:8px 0 25px;color:var(--blue)
}
.contact-card strong{font-size:.9rem}
.contact-button{
  display:flex;align-items:center;justify-content:center;
  min-height:52px;margin-top:28px;
  background:var(--ink);color:white;
  font-family:"DM Mono";font-size:.62rem;
}
footer{
  min-height:100px;
  display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;
  padding:0 28px;background:var(--white);
  border-top:2px solid var(--ink);
}
.footer-brand{display:flex;flex-direction:column}
.footer-brand strong{font-family:"Unbounded";font-size:1.5rem}
.footer-brand span,footer>span,footer>a{font-family:"DM Mono";font-size:.56rem;text-transform:uppercase}
footer>span{text-align:center}
footer>a{text-align:right}
.mobile-call{display:none}

@media(max-width:1000px){
  .header{grid-template-columns:250px 1fr}
  .header nav{display:none}
  .hero{grid-template-columns:1fr}
  .hero-copy{border-right:0;border-bottom:2px solid var(--ink)}
  .hero-graphic{min-height:560px}
  .process,.zone,.company,.contact{grid-template-columns:1fr}
  .process-title,.zone-copy{border-right:0;border-bottom:2px solid var(--ink)}
  .clients-grid{grid-template-columns:1fr}
  .clients-grid>div{border-right:0;border-bottom:2px solid var(--ink)}
  .clients-grid>div:last-child{border-bottom:0}
}
@media(max-width:820px){
  .services-grid{grid-template-columns:1fr 1fr}
  .service-feature{grid-row:auto;min-height:400px}
  .hero-meta{grid-template-columns:1fr}
  .hero-meta>div{border-right:0;border-bottom:2px solid var(--ink)}
  .hero-meta>div:last-child{border-bottom:0}
}
@media(max-width:640px){
  .header{min-height:70px;grid-template-columns:1fr auto}
  .brand{height:70px;padding:0 15px}
  .brand strong{font-size:1.25rem}
  .header-call{height:70px;padding:0 14px;font-size:.55rem}
  .hero-copy{padding:58px 18px 44px}
  .hero-copy h1{font-size:3.55rem}
  .hero-graphic{min-height:400px}
  .radar{width:66%}
  .radar-label{font-size:.43rem}
  .hero-badge{right:12px;bottom:12px;padding:12px}
  .hero-badge strong{font-size:2rem}
  .hero-badge span{font-size:.43rem}
  .hero-meta>div{padding:15px 18px}
  .section{padding:72px 18px}
  .section-head h2,.process-title h2,.zone h2,.company h2,.contact h2{font-size:3rem}
  .services-grid{grid-template-columns:1fr}
  .service,.service-feature{min-height:300px}
  .service-feature{min-height:430px}
  .rat-icon{height:190px;width:62%}
  .process-title,.zone-copy{padding:72px 18px}
  .process-steps{grid-template-columns:1fr}
  .process-steps article{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.4)!important}
  .process-steps article:last-child{border-bottom:0!important}
  .process-steps h3{margin-top:42px}
  .zone-list{grid-template-columns:1fr}
  .zone-list span{border-right:0}
  .company{padding:72px 18px;gap:26px}
  .facts div{grid-template-columns:1fr}
  .facts strong{text-align:left}
  .contact{padding:72px 18px;gap:35px}
  .contact-card{padding:20px}
  .contact-phone{font-size:2rem}
  footer{grid-template-columns:1fr;padding:26px 18px;gap:10px}
  footer>span,footer>a{text-align:left}
  .mobile-call{
    display:block;position:fixed;left:10px;right:10px;bottom:10px;z-index:90;
    background:var(--blue);color:white;border:2px solid var(--ink)
  }
  .mobile-call a{display:block;padding:12px;text-align:center;font-family:"DM Mono";font-size:.62rem}
}
