:root{--bg:#09090b;--bg-soft:#111114;--panel:#151519;--text:#f6f6f7;--muted:#b8b8c0;--muted-2:#85858e;--red:#e2242b;--red-bright:#ff3038;--line:rgba(255,255,255,.10);--max:1180px;--radius:18px;--shadow:0 28px 70px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}button{color:inherit}::selection{background:var(--red);color:#fff}.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;background:#fff;color:#000;padding:10px 14px;border-radius:8px}.skip-link:focus{top:12px}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(9,9,11,.90);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-shell{width:min(calc(100% - 40px),1280px);margin-inline:auto;min-height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.brand-mark{color:var(--red-bright);font-size:32px;font-weight:1000;font-style:italic;letter-spacing:-3px;line-height:1}.brand-name{font-size:13px;font-weight:900;letter-spacing:.16em}.site-nav{margin-left:auto;display:flex;align-items:center;gap:22px}.site-nav a{color:#d6d6da;font-weight:700;font-size:14px}.site-nav a:hover,.site-nav a:focus-visible{color:#fff}.nav-toggle{display:none;margin-left:auto;border:0;background:transparent;width:44px;height:44px;padding:9px;cursor:pointer}.nav-toggle span{display:block;height:2px;background:#fff;margin:6px 0;transition:.2s ease}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--red);background:var(--red);color:#fff;font-weight:900;letter-spacing:.02em;border-radius:7px;cursor:pointer;transition:.2s ease;box-shadow:0 8px 22px rgba(226,36,43,.18)}.btn:hover,.btn:focus-visible{transform:translateY(-2px);background:var(--red-bright);border-color:var(--red-bright)}.btn-small{min-height:42px;padding-inline:16px;font-size:13px}.btn-ghost{background:transparent;border-color:rgba(255,255,255,.28);box-shadow:none}.btn-ghost:hover,.btn-ghost:focus-visible{background:#fff;color:#111;border-color:#fff}
.hero{position:relative;overflow:hidden;min-height:820px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 38%),radial-gradient(circle at 70% 15%,rgba(226,36,43,.10),transparent 30%),#09090b;border-bottom:1px solid var(--line)}.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 82%)}.hero-glow{position:absolute;border-radius:999px;filter:blur(80px);opacity:.12;pointer-events:none}.hero-glow-one{width:520px;height:520px;background:var(--red);right:-180px;top:100px}.hero-glow-two{width:400px;height:240px;background:#fff;left:-200px;bottom:60px;opacity:.04}.hero-inner{position:relative;z-index:1;padding:76px 0 84px;display:grid;gap:28px}
/* LOCKED LOGO PROPORTIONS: this prevents stretching on resize. */
.logo-panel{width:100%;display:flex;justify-content:center;align-items:center;padding:20px 0 14px;margin-inline:auto;overflow:visible}.logo-panel picture{display:flex;justify-content:center;align-items:center;width:100%;margin-inline:auto}.logo-panel img{display:block;width:min(100%,2172px);height:auto!important;max-height:none;aspect-ratio:2172/701;object-fit:contain;object-position:center center;margin-inline:auto;flex:none;filter:drop-shadow(0 24px 26px rgba(0,0,0,.35))}
.hero-copy{max-width:920px;text-align:center;margin-inline:auto}.eyebrow{color:var(--red-bright);margin:0 0 12px;font-size:12px;font-weight:1000;letter-spacing:.19em}h1,h2,h3{line-height:1.05;margin-top:0}h1{margin-bottom:18px;font-size:clamp(42px,6.4vw,78px);letter-spacing:-.045em;font-weight:1000;text-transform:uppercase}h1 span{color:var(--red-bright)}.hero-lead{color:#c5c5ca;max-width:820px;margin:0 auto 28px;font-size:clamp(17px,2vw,21px)}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.trust-row{margin:38px auto 0;max-width:820px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-row div{padding:18px 10px;display:grid;gap:2px}.trust-row div+div{border-left:1px solid var(--line)}.trust-row strong{font-size:18px;text-transform:uppercase}.trust-row span{color:var(--muted-2);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.quick-strip{background:var(--red);color:#fff;overflow:hidden}.quick-strip-inner{min-height:64px;display:flex;align-items:center;justify-content:center;gap:18px;font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}.quick-strip i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.7)}
.brands-section{padding:84px 0 78px;background:#f5f5f5;color:#111;border-bottom:1px solid #ddd}.brand-section-heading{max-width:800px;text-align:center;margin:0 auto 38px}.brand-section-heading h2{font-size:clamp(32px,4vw,52px);text-transform:uppercase;letter-spacing:-.035em;margin-bottom:14px}.brand-section-heading p:not(.eyebrow){color:#57575d;font-size:17px}.brand-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.brand-logo-card{min-height:150px;background:#fff;border:1px solid #dedee1;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:22px;box-shadow:0 14px 35px rgba(0,0,0,.06)}.brand-logo-card img{width:auto!important;height:auto!important;max-width:100%;max-height:84px;object-fit:contain;object-position:center center;margin:auto}
.section{padding:108px 0}.section-dark{background:#0e0e11;border-block:1px solid var(--line)}.section-heading{max-width:760px}.section-heading h2,.review-copy h2{margin-bottom:18px;font-size:clamp(34px,4.7vw,58px);letter-spacing:-.035em;text-transform:uppercase}.section-heading>p:not(.eyebrow),.review-copy>p{color:var(--muted);font-size:18px}.card-grid{margin-top:46px;display:grid;gap:14px}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-height:250px;padding:28px;position:relative;overflow:hidden;background:linear-gradient(145deg,#151519,#0f0f12);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.service-card::after{content:"";position:absolute;inset:auto -35px -55px auto;width:150px;height:150px;border:1px solid rgba(226,36,43,.18);transform:rotate(45deg)}.service-number{color:var(--red-bright);font-size:12px;font-weight:1000;letter-spacing:.14em}.service-card h3{margin:48px 0 12px;font-size:22px;text-transform:uppercase}.service-card p{margin:0;color:var(--muted);font-size:15px}.industry-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.text-link{display:inline-flex;margin-top:14px;color:#fff;font-weight:900;border-bottom:1px solid var(--red);padding-bottom:5px}.text-link span{color:var(--red-bright);margin-left:8px}.industry-list{border-top:1px solid var(--line)}.industry-list div{display:grid;grid-template-columns:58px 1fr;align-items:center;min-height:68px;border-bottom:1px solid var(--line)}.industry-list span{color:var(--red-bright);font-size:12px;font-weight:900}.industry-list strong{text-transform:uppercase;font-size:19px}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.about-stat{min-height:410px;display:flex;flex-direction:column;justify-content:center;padding:40px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#151519,#101012)}.big-ep{display:block;color:var(--red-bright);font-size:clamp(90px,14vw,180px);font-weight:1000;font-style:italic;letter-spacing:-.1em;line-height:.75}.red-line{margin:26px 0 18px;width:70%;height:8px;background:var(--red);transform:skew(-18deg)}.about-stat p{margin:0;text-transform:uppercase;font-size:22px;font-weight:900;letter-spacing:.05em}.pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.pill-row span{border:1px solid var(--line);color:#d6d6db;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.reviews{padding-top:30px}.review-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center;padding:48px;border-radius:24px;border:1px solid rgba(226,36,43,.35);background:linear-gradient(130deg,rgba(226,36,43,.12),rgba(255,255,255,.025) 55%,#111114)}.stars{color:#ffcc35;letter-spacing:.12em;font-size:30px;margin-bottom:10px}.score-line{display:flex;align-items:baseline;gap:13px}.score-line strong{font-size:74px;line-height:1;letter-spacing:-.06em}.score-line span{color:var(--muted)}.review-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 12px}.contact-section{background:linear-gradient(180deg,#09090b,#0f0f12)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.contact-cards{margin-top:34px;display:grid;gap:10px}.contact-card{padding:17px 18px;border:1px solid var(--line);border-radius:10px;display:grid;gap:3px;transition:.2s ease}a.contact-card:hover{border-color:rgba(226,36,43,.6);background:rgba(226,36,43,.06)}.contact-card span{color:var(--muted-2);text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.12em}.contact-card strong{font-size:17px;overflow-wrap:anywhere}.quote-form{padding:32px;border-radius:var(--radius);background:#151519;border:1px solid var(--line);box-shadow:var(--shadow)}.quote-form h3{margin-bottom:7px;font-size:29px;text-transform:uppercase}.form-note{color:var(--muted);margin:0 0 24px}.quote-form label{display:grid;gap:7px;margin-bottom:16px;color:#dddde1;font-size:13px;font-weight:800}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form input,.quote-form textarea{width:100%;color:#fff;background:#0c0c0f;border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:13px 14px;outline:none}.quote-form textarea{resize:vertical;min-height:128px}.quote-form input:focus,.quote-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(226,36,43,.12)}.form-submit{width:100%;border:0}.form-status{margin:12px 0 0;color:var(--muted);font-size:12px;min-height:18px}.site-footer{background:#050506;border-top:1px solid var(--line);padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:44px}.footer-grid strong{font-size:19px}.footer-grid p{color:var(--muted);max-width:450px}.footer-links,.footer-contact{display:grid;align-content:start;gap:10px}.footer-links a,.footer-contact a{color:#c8c8cd}.footer-links a:hover,.footer-contact a:hover{color:#fff}.footer-bottom{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--muted-2);font-size:12px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.in-view{opacity:1;transform:none}:focus-visible{outline:3px solid rgba(255,48,56,.75);outline-offset:3px}
@media(max-width:1000px){.desktop-cta{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.brand-logo-grid{grid-template-columns:repeat(2,1fr)}.industry-layout,.about-grid,.contact-grid{grid-template-columns:1fr;gap:54px}.about-stat{min-height:300px}.review-panel{grid-template-columns:1fr}}
@media(max-width:820px){.nav-shell{min-height:66px}.nav-toggle{display:block}.site-nav{position:fixed;inset:66px 0 auto 0;margin:0;padding:30px 24px 42px;background:rgba(9,9,11,.98);border-bottom:1px solid var(--line);display:grid;gap:8px;transform:translateY(-130%);transition:transform .25s ease}.site-nav.open{transform:translateY(0)}.site-nav a{font-size:20px;padding:12px 0;border-bottom:1px solid var(--line)}.hero{min-height:auto}.hero-inner{padding-top:42px}.quick-strip-inner{justify-content:flex-start;overflow-x:auto;padding-block:18px}.section{padding:82px 0}.services-grid{grid-template-columns:1fr}.review-panel{padding:30px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}
@media(max-width:600px){.container,.nav-shell{width:min(calc(100% - 28px),var(--max))}.brand-name{display:none}.hero-inner{padding:28px 0 58px}.hero-copy{text-align:left}h1{font-size:clamp(38px,13vw,58px)}.hero-lead{margin-left:0}.hero-actions{justify-content:flex-start}.hero-actions .btn{width:100%}.trust-row{grid-template-columns:1fr;margin-top:28px}.trust-row div{padding:13px 0}.trust-row div+div{border-left:0;border-top:1px solid var(--line)}.brand-logo-grid{grid-template-columns:1fr 1fr;gap:10px}.brand-logo-card{min-height:112px;padding:15px}.brand-logo-card img{max-height:60px}.field-row{grid-template-columns:1fr;gap:0}.section-heading h2,.review-copy h2{font-size:37px}.score-line{display:block}.review-actions .btn{width:100%}.quote-form{padding:22px}.footer-grid{grid-template-columns:1fr}.footer-grid>:first-child{grid-column:auto}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* ===== EP RESPONSIVE LOGO + SUPPLIED BRAND ASSETS (V2) ===== */
/* The hero logo uses its real intrinsic dimensions. It is never stretched, cropped or animated. */
.hero-inner{
  justify-items:center;
}
.logo-panel{
  position:relative;
  width:100%;
  max-width:2172px;
  margin:0 auto;
  padding:20px 0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  transform:none !important;
}
.logo-panel picture{
  display:block;
  width:100%;
  max-width:2172px;
  margin:0 auto;
  line-height:0;
  text-align:center;
}
.logo-panel img{
  display:block;
  width:100% !important;
  max-width:2172px !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:50% 50% !important;
  margin:0 auto !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  flex:0 1 auto;
  filter:drop-shadow(0 24px 26px rgba(0,0,0,.35));
}
/* Prevent any horizontal layout shift while resizing or scrolling. */
.hero,.hero-inner,.logo-panel,.logo-panel picture{min-width:0;max-inline-size:100%;}

.brand-logo-grid{align-items:stretch;}
.brand-logo-card{
  overflow:hidden;
  min-width:0;
}
.brand-logo-card img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:86px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:auto !important;
  flex:none;
}
@media (max-width:720px){
  .logo-panel{padding-top:10px;}
  .logo-panel picture{max-width:1400px;}
  .brand-logo-card img{max-height:64px !important;}
}


/* === v3 deployment hardening: keep logo proportional and use standard PNG assets === */
.logo-panel {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
}
.logo-panel .main-site-logo {
  display: block !important;
  width: 100% !important;
  max-width: 2172px !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  flex: 0 1 auto !important;
}
.hero-inner,
.logo-panel { min-width: 0 !important; }
.brand-logo-card img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 84px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
}
@media (max-width: 600px) {
  .logo-panel .main-site-logo { width: 100% !important; height: auto !important; }
  .brand-logo-card img { max-height: 60px !important; }
}
