:root{--navy:#0F2D5B;--dark:#061f3a;--blue:#2563EB;--orange:#F97316;--slate:#5d6b7d;--line:#dfe5eb;--off:#f7f9fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,'Helvetica Neue',sans-serif;color:var(--navy);background:#fff}.container{width:min(1180px,calc(100% - 48px));margin:auto}
.site-header{height:82px;background:#fff;display:flex;align-items:center}.header-inner{display:flex;align-items:center;gap:30px}.logo{margin-right:auto}.logo img{width:250px;display:block}nav{display:flex;gap:27px}nav a{font-size:13px;color:var(--navy);text-decoration:none;font-weight:600}.button{display:inline-block;padding:14px 25px;border-radius:5px;text-decoration:none;font-weight:700}.primary{background:var(--orange);color:#fff}.ghost{border:1px solid #fff;color:#fff}.header-cta{font-size:14px}
.hero{min-height:550px;background:url("assets/firehole-river-hero.jpg") center/cover no-repeat;position:relative;color:#fff}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,24,45,.92) 0%,rgba(3,24,45,.72) 50%,rgba(3,24,45,.10) 100%)}.hero-content{position:relative;padding-top:65px}.kicker{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:700;margin:0 0 20px}.kicker:before{content:"";display:inline-block;width:38px;height:3px;background:var(--orange);margin:0 14px 3px 0}.light{color:#e9f0f6}.hero h1{font-size:66px;line-height:1.02;letter-spacing:-.04em;margin:0 0 18px}.hero h1 span{color:var(--orange)}.hero-copy{font-size:17px;line-height:1.6;max-width:650px;color:#edf2f7}.button-row{display:flex;gap:18px;margin-top:27px}
.services{padding:24px 0;background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);border-radius:8px;padding:27px 24px;display:grid;grid-template-columns:58px 1fr;gap:16px;box-shadow:0 8px 24px rgba(15,45,91,.05)}.service-icon{font-size:38px;color:var(--navy)}.service-card h3{margin:0 0 8px;font-size:18px}.service-card p{color:var(--slate);font-size:14px;line-height:1.55;margin:0 0 18px}.service-card a{color:#0870dd;text-decoration:none;font-weight:700;font-size:13px}
.why{display:grid;grid-template-columns:1fr 1.15fr;min-height:410px}.why-copy{display:flex;justify-content:flex-end;padding:54px 46px 42px 24px}.why-inner{max-width:530px}.why h2,.contact h2{font-size:40px;line-height:1.08;letter-spacing:-.035em;margin:0 0 18px}.why-inner>p:not(.kicker){color:var(--slate);line-height:1.6}.why-image{background:url("assets/electronics-pcb-clean.jpg") center/cover no-repeat}.benefits{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px}.benefits div{text-align:center;border-right:1px solid var(--line);font-size:25px;color:var(--navy)}.benefits div:last-child{border:0}.benefits strong{display:block;font-size:12px;line-height:1.4;margin-top:8px}
.process{background:var(--dark) url("assets/circuit-pattern.svg") center/cover;color:#fff;padding:55px 0 64px}.process h2{font-size:38px;margin:0 0 12px}.process-intro{max-width:800px;line-height:1.55;color:#e1e8f0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:35px}.steps article{display:grid;grid-template-columns:46px 1fr;column-gap:14px}.steps b{width:42px;height:42px;border:2px solid #2e8cff;border-radius:50%;display:grid;place-items:center;font-size:18px;color:#fff;grid-row:1/3}.steps h3{margin:3px 0 6px;font-size:17px}.steps p{grid-column:2;color:#d6e0ea;font-size:13px;line-height:1.5;margin:0}
.contact{padding:55px 0;background:linear-gradient(90deg,#fff,#f7f9fb)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact>p,.contact-grid>div>p:not(.kicker){color:var(--slate)}.contact-points{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 28px}.contact-points p{display:flex;gap:18px;padding:17px 0;margin:0;border-bottom:1px solid var(--line);font-size:22px}.contact-points p:last-child{border:0}.contact-points span{font-size:14px;color:#34465a;align-self:center}footer{background:#06192e;color:#aebccc;padding:25px 0;font-size:12px}
@media(max-width:850px){nav{display:none}.logo img{width:210px}.hero h1{font-size:48px}.service-grid,.why,.contact-grid{grid-template-columns:1fr}.why-copy{justify-content:center;padding:50px 24px}.why-image{min-height:330px}.steps{grid-template-columns:1fr 1fr}.benefits{grid-template-columns:1fr 1fr;gap:20px}.benefits div{border:0}.header-cta{display:none}}
@media(max-width:520px){.container{width:min(100% - 30px,1180px)}.hero h1{font-size:39px}.steps{grid-template-columns:1fr}.service-card{grid-template-columns:45px 1fr}.hero{min-height:600px}.button-row{flex-wrap:wrap}}

/* V2 cleanup */
.hero{overflow:hidden}
.hero-content{isolation:isolate}
.hero-content::before,.hero-content::after,.why-image::before,.why-image::after{content:none!important}
.service-card,.why,.process,.contact{overflow:hidden}
section{scroll-margin-top:82px}
nav a:hover,.service-card a:hover{text-decoration:underline}
.button:hover{filter:brightness(.96)}
.button:focus-visible,nav a:focus-visible,.service-card a:focus-visible{outline:3px solid #2563EB;outline-offset:3px}
@media(max-width:850px){
  .site-header{height:72px}
  section{scroll-margin-top:72px}
  .hero-content{padding-top:52px;padding-bottom:52px}
  .hero-copy{max-width:100%}
  .service-grid{padding-top:12px;padding-bottom:12px}
  .why{display:flex;flex-direction:column}
  .why-image{order:2}
  .process{padding-top:48px}
}
@media(max-width:520px){
  .logo img{width:185px}
  .hero h1{font-size:40px}
  .hero-copy{font-size:16px}
  .why h2,.contact h2{font-size:34px}
  .process h2{font-size:32px}
}

.contact-email{margin-top:16px;font-size:.95rem;}
.contact-email a{color:inherit;text-decoration:underline;text-underline-offset:3px;}

/* V4 service specificity and experience */
.service-card{align-content:start}
.service-scope{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:7px}
.service-scope li{position:relative;padding-left:15px;color:#4d6074;font-size:12.5px;line-height:1.4}
.service-scope li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--orange)}
.experience{padding:64px 0;background:var(--off)}
.experience-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}
.experience h2{font-size:40px;line-height:1.08;letter-spacing:-.035em;margin:0 0 18px}
.experience-intro>p:not(.kicker){color:var(--slate);line-height:1.65;margin:0 0 14px}
.experience-points{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.experience-points article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:0 8px 24px rgba(15,45,91,.04)}
.experience-points strong{display:block;color:var(--navy);font-size:17px;margin-bottom:8px}
.experience-points span{display:block;color:var(--slate);font-size:13px;line-height:1.5}
@media(max-width:850px){.experience-grid{grid-template-columns:1fr;gap:32px}.experience{padding:50px 0}}
@media(max-width:520px){.experience h2{font-size:34px}.experience-points{grid-template-columns:1fr}}
