
:root{--red:#e51c23;--black:#050505;--charcoal:#111214;--soft:#f3f3f1;--white:#fff;--ink:#151515;--muted:#5b6065;--line:#d7d8d5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:inherit}.site-header{height:82px;background:#050505;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);position:sticky;top:0;z-index:100;border-bottom:1px solid #1c1c1c}.brand{display:flex;height:64px;align-items:center;overflow:hidden}.brand img{height:60px;width:auto;display:block}.nav{display:flex;align-items:center;gap:25px}.nav>a,.drop>button{color:#fff;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.6px;background:none;border:0;padding:0;cursor:pointer}.nav>a:hover,.drop>button:hover{color:var(--red)}.contact-nav{background:var(--red)!important;padding:14px 20px!important}.drop{position:relative}.mega{display:none;position:absolute;top:28px;right:-150px;width:690px;background:#fff;color:#111;grid-template-columns:repeat(3,1fr);gap:26px;padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.35);border-top:3px solid var(--red)}.drop:hover .mega{display:grid}.mega b{display:block;text-transform:uppercase;font-size:12px;margin-bottom:10px}.mega a{display:block;text-decoration:none;padding:6px 0;font-size:13px;color:#4c5053}.menu-button{display:none;border:0;background:none;width:34px;padding:0}.menu-button span{display:block;height:2px;background:#fff;margin:6px 0}
.hero{position:relative;background:#050505;color:#fff}.hero-background{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.98),rgba(0,0,0,.86) 52%,rgba(0,0,0,.34)),url('assets/hero.jpg') center/cover no-repeat}.hero-content{position:relative;max-width:1440px;margin:auto;min-height:640px;padding:82px clamp(24px,6vw,88px);display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:center}.hero-copy{border-left:5px solid var(--red);padding-left:28px;max-width:780px}.eyebrow{color:var(--red);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1.8px}.hero h1,.page-hero h1{font-size:clamp(44px,5.4vw,78px);line-height:.94;letter-spacing:-2px;text-transform:uppercase;margin:12px 0 24px}.connection-tag{font-size:clamp(21px,2.5vw,34px);font-weight:700;margin:0 0 20px}.process{font-size:10px;letter-spacing:1.2px;color:#c8c8c8}.process i{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--red);margin:0 10px 2px}.hero-intro{font-size:16px;line-height:1.7;color:#d0d0d0;max-width:700px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:15px 22px;text-transform:uppercase;font-size:10px;letter-spacing:.7px;font-weight:900;text-decoration:none;cursor:pointer}.button.primary{background:var(--red);color:#fff}.button.secondary{border-color:#fff;color:#fff;background:transparent}.hero-visual{height:390px;border:1px solid #363636;background:rgba(16,17,18,.82);padding:22px;display:flex;align-items:flex-end}.hero-visual span{color:#8e9296;font-size:9px;letter-spacing:.6px}.credentials{position:relative;background:#121212;padding:21px clamp(24px,6vw,88px);display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.credentials span{color:#eee;text-transform:uppercase;font-size:9px;font-weight:900}
.section{padding:76px clamp(24px,6vw,88px)}.container{max-width:1280px;margin:auto}.soft{background:var(--soft)}.white{background:#fff}.dark{background:#050505;color:#fff}.section h2,.cta h2{font-size:clamp(29px,3.8vw,49px);line-height:1.06;letter-spacing:-1.2px;text-transform:uppercase;margin:10px 0 28px}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:end}.large-copy{font-size:20px;line-height:1.65;color:#44494e;margin:0}.discipline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.discipline-grid article{border:1px solid var(--line);padding:30px;min-height:315px;position:relative}.discipline-grid article:first-child{border-left:4px solid var(--red)}.discipline-grid article:nth-child(2){border-left:4px solid #111}.discipline-grid article:nth-child(3){border-left:4px solid #777}.discipline-grid span{color:var(--red);font-size:10px;font-weight:900}.discipline-grid h3{font-size:20px;text-transform:uppercase;margin:24px 0 18px}.discipline-grid p{line-height:1.7;color:#54595d}.discipline-grid a,.feature-copy>a{position:absolute;bottom:28px;text-transform:uppercase;text-decoration:none;font-size:10px;font-weight:900;color:var(--red)}.feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center}.feature-copy{border-left:5px solid var(--red);padding-left:28px;position:relative;padding-bottom:40px}.feature-copy p{color:#c8c8c8;line-height:1.7}.feature-panel{min-height:300px;border:1px solid #333;background:#111;padding:34px;display:flex;flex-direction:column;justify-content:flex-end}.feature-panel div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feature-panel b{border:1px solid #333;padding:13px;color:#aaa;font-size:9px}.feature-panel p{color:#fff;font-size:18px}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sector-grid div{background:#fff;border:1px solid var(--line);padding:22px;min-height:92px}.sector-grid small{display:block;color:var(--red);font-weight:900;margin-bottom:12px}.sector-grid b{font-size:10px;text-transform:uppercase}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.review-grid article{background:var(--soft);border:1px solid #e0e0dd;padding:27px;min-height:255px;display:flex;flex-direction:column}.stars{color:#f2b500;letter-spacing:3px}.review-grid p{font-size:14px;line-height:1.65}.review-grid small{margin-top:auto;color:#777;text-transform:uppercase;font-size:9px}.cta{background:#080808;color:#fff;padding:55px clamp(24px,6vw,88px);display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin:0 0 10px}.cta p{color:#c8c8c8}.page-hero{background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.62)),url('assets/hero.jpg') center/cover;color:#fff;padding:95px clamp(24px,6vw,88px)}.page-hero .container{border-left:5px solid var(--red);padding-left:28px}.page-hero p{font-size:18px;line-height:1.65;max-width:800px;color:#d3d3d3}.connection-strip{margin-top:28px;color:#fff;font-weight:700;font-size:20px}.content-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.content-cards article{border:1px solid var(--line);border-left:4px solid var(--red);padding:30px;min-height:220px}.content-cards h3{text-transform:uppercase;font-size:21px}.content-cards p{line-height:1.7;color:#555b60}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.contact-card{background:var(--soft);border-top:4px solid var(--red);padding:34px}.contact-card h2{font-size:36px;text-transform:uppercase;margin:10px 0 28px}.contact-method{display:flex;gap:16px;align-items:flex-start;text-decoration:none;padding:18px 0;border-top:1px solid #d4d5d2;min-width:0}.method-icon{flex:0 0 38px;height:38px;border:1px solid var(--red);color:var(--red);font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center}.contact-method span:last-child{min-width:0}.contact-method b{display:block;font-size:16px;overflow-wrap:anywhere}.contact-method small{display:block;color:#686d71;margin-top:5px}.coverage{text-transform:uppercase;font-size:11px;font-weight:900;margin-top:28px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-form label{font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.5px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #cfd0cd;background:#f7f7f5;padding:15px;font:inherit;border-radius:0}.quote-form textarea{min-height:150px;resize:vertical}.quote-form .full{grid-column:1/-1}.file-label{border:1px dashed #aaa;padding:16px}.honeypot{display:none}.legal{max-width:850px;font-size:17px;line-height:1.8}.footer{background:#050505;color:#c9c9c9;padding:58px clamp(24px,6vw,88px) 24px}.footer-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:55px}.footer-brand img{height:72px;width:auto}.footer-brand strong{display:block;color:var(--red);margin:12px 0}.footer h3{color:#fff;text-transform:uppercase}.footer a{display:block;text-decoration:none;padding:6px 0}.footer-bottom{max-width:1280px;margin:36px auto 0;padding-top:18px;border-top:1px solid #252525;display:flex;justify-content:space-between;font-size:11px}.footer-bottom a{display:inline}.floating-call{position:fixed;right:16px;bottom:16px;background:var(--red);color:#fff;text-decoration:none;padding:15px 22px;border-radius:40px;font-size:12px;font-weight:900;letter-spacing:.3px;z-index:50;box-shadow:0 10px 30px rgba(229,28,35,.28)}
@media(max-width:900px){.site-header{height:76px}.brand{height:52px}.brand img{height:48px}.menu-button{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:#050505;padding:17px 24px;max-height:calc(100vh - 76px);overflow:auto}.nav.open{display:block}.nav>a,.drop>button{display:block;padding:12px 0;width:100%;text-align:left;border-bottom:1px solid #222}.contact-nav{background:none!important;padding:12px 0!important;color:var(--red)!important}.drop:hover .mega,.mega{display:none}.hero-content{grid-template-columns:1fr;padding:64px 24px}.hero-copy{padding-left:20px}.hero-visual{height:180px}.credentials{grid-template-columns:1fr 1fr;padding:20px 24px}.intro-grid,.discipline-grid,.feature-grid,.content-cards,.contact-layout,.footer-grid{grid-template-columns:1fr}.discipline-grid article{min-height:280px}.sector-grid{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr}.section{padding:58px 24px}.cta{padding:46px 24px;flex-direction:column;align-items:flex-start}.page-hero{padding:70px 24px}.contact-card{padding:25px}.quote-form{grid-template-columns:1fr}.quote-form .full{grid-column:auto}.footer-bottom{flex-direction:column;gap:10px}.floating-call{font-size:11px}.hero h1,.page-hero h1{letter-spacing:-1px}}
@media(max-width:520px){.hero h1{font-size:42px}.connection-tag{font-size:22px}.process{line-height:2}.button-row{flex-direction:column}.button-row .button{width:100%}.credentials{grid-template-columns:1fr 1fr}.sector-grid{grid-template-columns:1fr}.contact-card h2{font-size:31px}.contact-method b{font-size:14px}.footer-brand img{height:60px}}

/* Premium engineering refinement */
.technical-grid{
  position:relative;
  overflow:hidden;
}
.technical-grid:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(rgba(0,0,0,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,0,0,.045) 1px,transparent 1px);
  background-size:34px 34px;
}
.technical-grid>.container{position:relative}
.technical-dark{
  position:relative;
  overflow:hidden;
}
.technical-dark:after{
  content:"";
  position:absolute;
  right:-80px;
  top:45px;
  width:310px;
  height:310px;
  border:1px solid rgba(229,28,35,.16);
  transform:rotate(45deg);
  pointer-events:none;
}
.engineering-lines article:before{
  content:"";
  position:absolute;
  left:26px;
  right:26px;
  top:61px;
  height:1px;
  background:linear-gradient(90deg,var(--red),rgba(229,28,35,0));
}
.engineering-lines article{
  overflow:hidden;
}
.discipline-grid article span{
  position:relative;
  z-index:1;
  display:inline-block;
  background:#fff;
  padding-right:10px;
}
.content-cards article{
  position:relative;
}
.content-cards article:after{
  content:"";
  position:absolute;
  right:20px;
  top:20px;
  width:18px;
  height:18px;
  border-top:1px solid rgba(229,28,35,.55);
  border-right:1px solid rgba(229,28,35,.55);
}
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease,transform .65s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}
.discipline-grid article,.sector-grid div,.review-grid article,.content-cards article{
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.discipline-grid article:hover,.sector-grid div:hover,.review-grid article:hover,.content-cards article:hover{
  transform:translateY(-4px);
  border-color:#bfc0bd;
  box-shadow:0 14px 32px rgba(0,0,0,.06);
}
.hero-copy:after{
  content:"";
  display:block;
  width:88px;
  height:2px;
  margin-top:28px;
  background:var(--red);
}
@media(max-width:900px){
  .brand img{height:54px}
  .brand{height:58px}
  .engineering-lines article:before{left:24px;right:24px}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .discipline-grid article,.sector-grid div,.review-grid article,.content-cards article{transition:none}
}

/* v2 contact and transparent-logo refinements */
.brand,
.footer-brand {
  background: transparent !important;
}
.brand img,
.footer-brand img {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  object-fit: contain;
}
.contact-method b {
  color: #151515;
}
.footer a[href^="tel:"],
.contact-method[href^="tel:"] {
  font-weight: 800;
}
