/* TOP NOTCH GEAR — Industrial Power Transmission
   Design system: ABB / Beckhoff / Rockwell aesthetic
   Cinematic black, charcoal sections, orange accent, premium typography */

:root{
  --bg:#ffffff;
  --bg-2:#f6f6f3;
  --bg-3:#ececea;
  --bg-4:#1c1c1c;
  --line:rgba(10,10,10,.10);
  --line-2:rgba(10,10,10,.18);
  --line-3:rgba(10,10,10,.30);
  --text:#0a0a0a;
  --muted:#5a5a55;
  --muted-2:#8a8a85;
  --accent:#e2231a;
  --accent-2:#ff4033;
  --accent-glow:rgba(226,35,26,.55);
  --signal:#16a34a;
  /* dark-section overrides */
  --d-line:rgba(255,255,255,.10);
  --d-line-2:rgba(255,255,255,.18);
  --d-text:#ffffff;
  --d-muted:#b8b8b3;
  --d-muted-2:#8a8a85;

  --grotesk: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --container:1400px;
  --container-narrow:1180px;
  --gutter: clamp(24px, 4vw, 64px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  /* bright theme */
  font-family:var(--grotesk);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"ss01","ss02","cv11","kern";
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:#000}

/* ============ STATUS STRIP ============ */
.status-strip{
  background:#0a0a0a;
  color:#e2e2dd;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  padding:10px 0;
  position:relative;z-index:50;
}
.status-strip .row{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.status-strip .left{display:flex;gap:22px;align-items:center}
.status-dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--signal);box-shadow:0 0 0 0 rgba(34,197,94,.6);
  animation:dot 2s infinite;margin-right:10px;vertical-align:2px;
}
@keyframes dot{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.status-strip a.phone{color:var(--accent);font-weight:700;letter-spacing:.18em}
.status-strip a.phone:hover{color:var(--accent-2)}

/* ============ HEADER ============ */
.site-header{
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(160%) blur(12px);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:60;
}
.nav-wrap{
  max-width:var(--container);
  margin:0 auto;
  padding:20px var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}
.brand{display:flex;align-items:center;gap:14px;color:#0a0a0a;flex-shrink:0}
.brand-mark{
  width:42px;height:42px;
  background:linear-gradient(135deg,#0a0a0a 0%, #1a1a1a 100%);
  border:1px solid rgba(0,0,0,.18);
  display:grid;place-items:center;position:relative;
}
.brand-mark svg{width:24px;height:24px}
.brand-name{font-family:var(--grotesk);font-weight:800;font-size:14px;letter-spacing:.18em;line-height:1.1;white-space:nowrap}
.brand-name small{
  display:block;font-size:9px;font-weight:600;color:var(--muted);
  letter-spacing:.28em;margin-top:5px;white-space:nowrap;
}
.brand-logo{height:120px;width:auto;display:block}
.brand-logo-footer{height:140px}
.nav-links{display:flex;gap:30px;flex-wrap:nowrap}
.nav-links a{
  font-size:13px;font-weight:600;color:#2a2a26;
  letter-spacing:.02em;padding:6px 0;border-bottom:1px solid transparent;
  transition:color .15s, border-color .15s;
}
.nav-links a:hover{color:var(--accent);border-color:var(--accent)}
.nav-cta{display:flex;gap:10px;align-items:center;flex-shrink:0}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:15px 24px;
  font-family:var(--grotesk);
  font-weight:700;font-size:13px;
  letter-spacing:.12em;text-transform:uppercase;
  border:1px solid transparent;border-radius:0;
  cursor:pointer;transition:all .2s ease;
  text-decoration:none;line-height:1;
  white-space:nowrap;position:relative;
}
.btn:hover{text-decoration:none}
.btn .arrow{display:inline-block;transition:transform .25s}
.btn:hover .arrow{transform:translateX(6px)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{background:#0a0a0a;border-color:#0a0a0a;color:#fff}
.btn-dark{background:#0a0a0a;color:#fff;border-color:#0a0a0a}
.btn-dark:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-outline{background:transparent;color:#0a0a0a;border-color:rgba(10,10,10,.30)}
.btn-outline:hover{border-color:#0a0a0a;background:rgba(10,10,10,.04)}
/* dark-bg variant of outline (use in cinematic sections) */
.btn-outline-on-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn-outline-on-dark:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-ghost{background:transparent;color:#0a0a0a;border:0;padding:15px 0}
.btn-ghost:hover{color:var(--accent)}
.btn-ghost-on-dark{background:transparent;color:#fff;border:0;padding:15px 0}
.btn-ghost-on-dark:hover{color:var(--accent-2)}
/* Auto-flip outline/ghost when inside cinematic dark sections */
.hero .btn-outline,.cta-band .btn-outline,.page-hero .btn-outline,.downtime .btn-outline,.side-cta .btn-outline,.form .btn-outline{
  color:#fff;border-color:rgba(255,255,255,.35);
}
.hero .btn-outline:hover,.cta-band .btn-outline:hover,.page-hero .btn-outline:hover,.downtime .btn-outline:hover,.side-cta .btn-outline:hover,.form .btn-outline:hover{
  border-color:#fff;background:rgba(255,255,255,.07);
}
.hero .btn-ghost,.cta-band .btn-ghost,.page-hero .btn-ghost,.downtime .btn-ghost,.side-cta .btn-ghost{color:#fff}
.hero .btn-ghost:hover,.cta-band .btn-ghost:hover,.page-hero .btn-ghost:hover,.downtime .btn-ghost:hover,.side-cta .btn-ghost:hover{color:var(--accent-2)}
.btn-lg{padding:19px 30px;font-size:13px}
.btn-block{width:100%;justify-content:center}

/* ============ HERO ============ */
.hero{
  background:#000;
  color:#fff;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  min-height:calc(100vh - 96px);
  display:flex;flex-direction:column;justify-content:center;
}
/* CINEMATIC INDUSTRIAL BACKGROUND — layered gradients suggest steel-mill furnace glow */
.hero-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(1000px 700px at 85% 30%, rgba(226,35,26,.38), transparent 60%),
    radial-gradient(800px 500px at 110% 100%, rgba(180,10,0,.20), transparent 65%),
    radial-gradient(700px 500px at -10% 20%, rgba(255,120,110,.06), transparent 70%),
    linear-gradient(180deg, #000 0%, #0a0a0a 60%, #000 100%);
}
.hero-bg:after{
  content:"";position:absolute;inset:0;
  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:88px 88px;
  mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.hero-bg .glow{
  position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle, rgba(226,35,26,.22) 0%, transparent 60%);
  top:20%;right:-100px;filter:blur(40px);
  animation:pulse-glow 8s ease-in-out infinite;
}
@keyframes pulse-glow{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.hero-bg .noise{
  position:absolute;inset:0;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.6' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.hero-vignette{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.6) 30%, rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 80%),
    linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.55) 100%);
  z-index:1;
}
.hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:85% center;
  pointer-events:none;
  z-index:0;
  filter:contrast(1.08) saturate(1.08) brightness(1.05);
}

.hero-wrap{
  max-width:var(--container);margin:0 auto;
  padding:80px var(--gutter) 60px;
  position:relative;z-index:2;width:100%;
}
.hero-kicker{
  display:inline-flex;align-items:center;gap:14px;
  margin-bottom:36px;color:var(--muted);
  font-family:var(--mono);font-size:11px;
  letter-spacing:.28em;text-transform:uppercase;
}
.hero-kicker .bar{width:32px;height:1px;background:var(--accent)}
.hero h1{
  font-family:var(--grotesk);
  font-weight:900;
  font-size:clamp(48px, 8vw, 120px);
  line-height:.92;
  letter-spacing:-.045em;
  margin:0 0 36px;
  color:#fff;
  max-width:18ch;
}
.hero h1 .accent{color:var(--accent)}
.hero h1 .stack{display:block}
.hero .lead{
  font-size:clamp(18px, 1.4vw, 22px);
  line-height:1.5;
  color:#c9c9c4;
  max-width:680px;
  margin:0 0 48px;
  font-weight:400;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:0}

/* ============ HERO METRICS (overlay bottom) ============ */
.hero-metrics{
  position:relative;z-index:2;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg, rgba(0,0,0,.4) 0%, #000 100%);
  margin-top:60px;
}
.hero-metrics .row{
  max-width:var(--container);margin:0 auto;padding:0 var(--gutter);
  display:grid;grid-template-columns:repeat(4, 1fr);
}
.hero-metrics .m{
  padding:36px 32px;border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:6px;
}
.hero-metrics .m:last-child{border-right:0}
.hero-metrics .m .label{
  font-family:var(--mono);font-size:10px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--muted);
}
.hero-metrics .m .num{
  font-family:var(--grotesk);font-weight:800;font-size:54px;
  line-height:1;color:#fff;letter-spacing:-.04em;
}
.hero-metrics .m .num .small{font-size:18px;color:var(--accent);vertical-align:top;margin-left:4px;font-weight:700;letter-spacing:.05em}
.hero-metrics .m .desc{font-size:14px;color:#a8a8a3;margin-top:4px;font-weight:400}

/* ============ MARQUEE ============ */
.marquee{
  background:#000;color:#a6a6a0;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.marquee-inner{
  display:flex;gap:64px;
  padding:24px 0;
  animation:scroll 50s linear infinite;
  white-space:nowrap;
  font-family:var(--mono);font-size:12px;letter-spacing:.28em;
  text-transform:uppercase;color:#cfcfc9;
}
.marquee-inner span{display:inline-flex;align-items:center;gap:64px}
.marquee-inner span:after{content:"";color:var(--accent);font-size:8px;margin-left:64px;display:inline-block;width:4px;height:4px;background:var(--accent);border-radius:50%;align-self:center}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ============ SECTIONS ============ */
section{padding:160px 0;position:relative}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--gutter)}

.section-tag{
  display:flex;align-items:center;gap:14px;
  font-family:var(--mono);font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--muted);
  margin-bottom:32px;
}
.section-tag .bar{width:32px;height:1px;background:var(--accent)}
.section-head{max-width:1000px;margin-bottom:96px}
.section-head h2{
  font-family:var(--grotesk);font-weight:900;
  font-size:clamp(40px, 5.5vw, 80px);
  line-height:.98;letter-spacing:-.035em;
  margin:0 0 28px;color:#0a0a0a;
}
.section-head h2 .accent{color:var(--accent)}
.section-head .lead{
  font-size:clamp(18px,1.3vw,21px);line-height:1.55;color:#4a4a45;
  max-width:720px;margin:0;font-weight:400;
}
/* dark-section variant — auto-flip section-head text on cinematic dark sections */
.dark-section .section-head h2,
.industries-section .section-head h2,
.downtime .section-head h2{color:#fff}
.dark-section .section-head .lead,
.industries-section .section-head .lead,
.downtime .section-head .lead{color:#c8c8c2}
.dark-section .section-tag,
.industries-section .section-tag,
.downtime .section-tag{color:#9a9a96}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .section-tag{justify-content:center}
.section-head.center .lead{margin:0 auto}

/* ============ OUTCOMES (ABB-style outcome-first messaging) ============ */
.outcomes{background:#fff;border-bottom:1px solid var(--line)}
.outcome-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:0;
  border-top:1px solid var(--line);
}
.outcome{
  padding:64px 48px;
  border-right:1px solid var(--line);
  position:relative;overflow:hidden;
  transition:background .35s ease;
  min-height:380px;
  display:flex;flex-direction:column;background:#fff;
}
.outcome:last-child{border-right:0}
.outcome:hover{background:#fafaf7}
.outcome:hover .outcome-arrow{transform:translate(8px,-8px);color:var(--accent)}
.outcome .n{
  font-family:var(--mono);font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--muted);margin-bottom:80px;
}
.outcome h3{
  font-family:var(--grotesk);font-weight:900;
  font-size:42px;line-height:1;letter-spacing:-.03em;
  color:#0a0a0a;margin:0 0 18px;
}
.outcome h3 .accent{color:var(--accent)}
.outcome p{font-size:16px;color:#4a4a45;margin:0 0 32px;flex:1;line-height:1.55}
.outcome .link{
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:700;color:#0a0a0a;
  display:inline-flex;align-items:center;gap:10px;
}
.outcome .link .arrow{transition:transform .2s}
.outcome:hover .link .arrow{transform:translateX(4px);color:var(--accent)}
.outcome-arrow{
  position:absolute;top:48px;right:48px;color:rgba(10,10,10,.18);
  font-size:20px;transition:all .25s;
}

/* ============ DOWNTIME PAIN SECTION ============ */
.downtime{
  background:#0a0a0a;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
}
.downtime:before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(900px 500px at 100% 50%, rgba(226,35,26,.22), transparent 60%);
}
.downtime .container{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.downtime h2{
  font-family:var(--grotesk);font-weight:900;
  font-size:clamp(44px,6vw,92px);line-height:.96;letter-spacing:-.04em;
  margin:0 0 32px;color:#fff;max-width:14ch;
}
.downtime h2 .accent{color:var(--accent)}
.downtime p{font-size:19px;color:#bdbdb8;line-height:1.6;margin:0 0 32px;max-width:520px}
.downtime .ctas{display:flex;gap:12px;flex-wrap:wrap}
.downtime-numbers{display:flex;flex-direction:column;gap:0;border-left:1px solid var(--line)}
.dt-num{
  padding:36px 0 36px 40px;border-bottom:1px solid var(--line);
}
.dt-num:last-child{border-bottom:0}
.dt-num .v{
  font-family:var(--grotesk);font-weight:900;
  font-size:64px;line-height:1;color:#fff;letter-spacing:-.035em;
}
.dt-num .v .accent{color:var(--accent)}
.dt-num .l{
  font-family:var(--mono);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--muted);margin-top:14px;
}

/* ============ CAPABILITIES (clean grid with hover reveal) ============ */
.caps{background:#f6f6f3;border-bottom:1px solid var(--line)}
.cap-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  background:#fff;
}
.cap{
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:48px 40px 44px;
  min-height:320px;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  transition:background .3s ease;background:#fff;
}
.cap:hover{background:#fafaf7}
.cap:hover .cap-arrow{transform:translate(8px,-8px);color:var(--accent)}
.cap-num{
  font-family:var(--mono);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--muted);margin-bottom:32px;
}
.cap-num span{color:var(--accent)}
.cap h3{
  font-family:var(--grotesk);font-weight:800;
  font-size:26px;line-height:1.1;letter-spacing:-.02em;
  margin:0 0 14px;color:#0a0a0a;
}
.cap h3 a{color:inherit}
.cap p{color:#4a4a45;font-size:15px;margin:0 0 28px;flex:1;line-height:1.6}
.cap-link{
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:700;color:#0a0a0a;
  display:inline-flex;align-items:center;gap:8px;
}
.cap-arrow{
  position:absolute;top:40px;right:40px;color:rgba(10,10,10,.14);
  font-size:18px;transition:all .25s;
}

/* ============ INDUSTRIES (cinematic photo-style cards) ============ */
.industries-section{background:#000;border-bottom:1px solid var(--line)}
.ind-grid{
  display:grid;grid-template-columns:repeat(4, 1fr);gap:1px;
  background:var(--line);
}
.ind-card{
  background:#0a0a0a;
  aspect-ratio:1/1.15;
  padding:32px 28px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
  transition:transform .3s ease;
}
/* Each industry gets a unique "cinematic" CSS background suggesting that environment */
.ind-card:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.75) 100%);
  z-index:1;
}
.ind-card:after{
  content:"";position:absolute;inset:0;opacity:.5;
  transition:opacity .35s ease;
}
.ind-card:hover{transform:translateY(-4px)}
.ind-card:hover:after{opacity:.85}
.ind-cement:after{background:radial-gradient(circle at 30% 70%, rgba(255,140,40,.25), transparent 60%), linear-gradient(135deg, #2a1810 0%, #0a0604 100%)}
.ind-steel:after{background:radial-gradient(circle at 70% 60%, rgba(255,80,0,.45), rgba(255,30,0,.1) 40%, transparent 70%), linear-gradient(135deg, #1a0a06 0%, #000 100%)}
.ind-mining:after{background:radial-gradient(circle at 40% 80%, rgba(180,100,40,.25), transparent 60%), linear-gradient(180deg, #1a1208 0%, #050300 100%)}
.ind-power:after{background:radial-gradient(circle at 50% 50%, rgba(255,180,60,.18), transparent 65%), linear-gradient(135deg, #1f1408 0%, #0a0500 100%)}
.ind-water:after{background:radial-gradient(circle at 60% 40%, rgba(60,140,180,.22), transparent 60%), linear-gradient(135deg, #06121a 0%, #000 100%)}
.ind-paper:after{background:radial-gradient(circle at 30% 60%, rgba(220,180,120,.18), transparent 65%), linear-gradient(135deg, #1a1408 0%, #050300 100%)}
.ind-food:after{background:radial-gradient(circle at 60% 50%, rgba(240,220,180,.12), transparent 60%), linear-gradient(135deg, #16140c 0%, #050402 100%)}
.ind-refinery:after{background:radial-gradient(circle at 50% 70%, rgba(255,160,40,.22), transparent 60%), linear-gradient(135deg, #1c1206 0%, #060300 100%)}
.ind-oilgas:after{background:radial-gradient(circle at 70% 30%, rgba(220,140,30,.22), transparent 60%), linear-gradient(135deg, #1a1408 0%, #050300 100%)}
.ind-chem:after{background:radial-gradient(circle at 30% 50%, rgba(120,90,200,.18), transparent 60%), linear-gradient(135deg, #100a18 0%, #030206 100%)}
.ind-mfg:after{background:radial-gradient(circle at 50% 50%, rgba(180,180,180,.12), transparent 60%), linear-gradient(135deg, #141414 0%, #030303 100%)}
.ind-aggregate:after{background:radial-gradient(circle at 60% 70%, rgba(190,130,80,.2), transparent 60%), linear-gradient(135deg, #1a120a 0%, #050300 100%)}
.ind-lumber:after{background:radial-gradient(circle at 40% 60%, rgba(180,120,60,.22), transparent 60%), linear-gradient(135deg, #180f06 0%, #050300 100%)}
.ind-pharma:after{background:radial-gradient(circle at 60% 40%, rgba(120,180,200,.16), transparent 60%), linear-gradient(135deg, #08121a 0%, #020306 100%)}
.ind-plastics:after{background:radial-gradient(circle at 50% 60%, rgba(90,120,180,.18), transparent 60%), linear-gradient(135deg, #0a1018 0%, #020204 100%)}
.ind-card .n{
  font-family:var(--mono);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(255,255,255,.55);
  position:relative;z-index:2;
}
.ind-card h3{
  font-family:var(--grotesk);font-weight:800;font-size:24px;line-height:1.1;
  letter-spacing:-.015em;color:#fff;margin:0;position:relative;z-index:2;
}
.ind-card .arrow{
  font-family:var(--mono);color:var(--accent);font-size:18px;
  position:relative;z-index:2;align-self:flex-end;
  transition:transform .25s;
}
.ind-card:hover .arrow{transform:translateX(4px)}

/* ============ PROCESS (cinematic timeline) ============ */
.process-section{background:#fff;border-bottom:1px solid var(--line)}
.process-rail{
  display:grid;grid-template-columns:repeat(4, 1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
  background:#fafaf7;
}
.proc{
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:56px 36px;
  display:flex;flex-direction:column;gap:24px;
  position:relative;background:#fff;
}
.proc .step-num{
  font-family:var(--grotesk);font-weight:900;font-size:14px;
  letter-spacing:.18em;color:var(--accent);
}
.proc .step-num .slash{color:var(--muted-2);margin:0 4px}
.proc h3{
  font-family:var(--grotesk);font-weight:800;font-size:24px;line-height:1.15;
  letter-spacing:-.02em;color:#0a0a0a;margin:0;
}
.proc p{font-size:15px;color:#4a4a45;margin:0;line-height:1.6}

/* ============ TRUST / CERTIFICATIONS ============ */
.trust-section{background:#0a0a0a;color:#fff;padding:140px 0;border-bottom:1px solid var(--line)}
.trust-section .section-head h2{color:#fff}
.trust-section .section-tag{color:#bdbdb8}
.trust-section .lead{color:#bdbdb8}
.cert-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12);
  margin-top:60px;
}
.cert-card{
  padding:48px 32px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);
  background:#0a0a0a;transition:background .2s;
}
.cert-card:hover{background:#141414}
.cert-card.cert-warranty{background:linear-gradient(180deg, rgba(226,35,26,.08), transparent)}
.cert-badge{
  display:inline-block;font-family:var(--mono);font-size:11px;font-weight:700;
  letter-spacing:.15em;padding:8px 14px;border:1px solid rgba(255,255,255,.25);
  border-radius:3px;color:#fff;margin-bottom:24px;
}
.cert-badge.accent{background:var(--accent);border-color:var(--accent);color:#fff}
.cert-card h3{
  font-family:var(--grotesk);font-weight:800;font-size:22px;line-height:1.15;
  letter-spacing:-.02em;color:#fff;margin:0 0 16px;
}
.cert-card p{font-size:14px;color:#bdbdb8;margin:0;line-height:1.6}

/* ============ IN-HOUSE DIFFERENTIATOR ============ */
.in-house{background:#f6f6f3;padding:140px 0;border-bottom:1px solid var(--line)}
.in-house h2{
  font-family:var(--grotesk);font-weight:900;font-size:clamp(48px,6vw,88px);line-height:.95;
  letter-spacing:-.04em;margin:24px 0 60px;color:#0a0a0a;
}
.in-house-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:start}
.in-house-grid .lead{font-size:18px;color:#3a3a35;line-height:1.65;margin:0 0 22px}
.in-house-grid .ctas{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
.in-house-checks{display:flex;flex-direction:column;gap:20px;padding:36px;background:#fff;border:1px solid var(--line)}
.in-house-checks .check{display:grid;grid-template-columns:32px 1fr;gap:16px;align-items:start}
.in-house-checks .mark{
  display:flex;align-items:center;justify-content:center;width:28px;height:28px;
  background:var(--accent);color:#fff;font-weight:900;font-size:16px;border-radius:50%;
}
.in-house-checks strong{
  display:block;font-family:var(--grotesk);font-weight:800;font-size:15px;color:#0a0a0a;
  letter-spacing:-.01em;margin-bottom:2px;
}
.in-house-checks span{display:block;font-size:14px;color:#5a5a55;line-height:1.5}

/* ============ FREE SERVICES BAND ============ */
.free-band{background:var(--accent);color:#fff;padding:80px 0}
.free-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}
.free-item{
  padding:44px 32px;border-right:1px solid rgba(255,255,255,.2);
  border-bottom:1px solid rgba(255,255,255,.2);
}
.free-num{
  font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;
  color:#fff;opacity:.7;margin-bottom:16px;
}
.free-item h4{
  font-family:var(--grotesk);font-weight:900;font-size:32px;line-height:1;
  letter-spacing:-.02em;margin:0 0 14px;color:#fff;
}
.free-item p{font-size:15px;color:#fff;opacity:.9;margin:0;line-height:1.55}

/* ============ TIME QUOTE ============ */
.time-quote{
  background:#0a0a0a;color:#fff;padding:160px 0;position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
}
.time-quote:before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(800px 500px at 20% 50%, rgba(226,35,26,.15), transparent 60%);
}
.time-quote .container-narrow{position:relative;z-index:2;max-width:920px;margin:0 auto;padding:0 var(--gutter)}
.time-quote .label{color:#bdbdb8;font-family:var(--mono);font-size:11px;letter-spacing:.2em;margin-bottom:36px;display:flex;align-items:center;gap:14px}
.time-quote .label .bar{width:36px;height:2px;background:var(--accent);display:inline-block}
.time-quote blockquote{
  font-family:var(--grotesk);font-weight:900;font-size:clamp(40px,5.5vw,80px);line-height:1;
  letter-spacing:-.04em;margin:0 0 40px;color:#fff;
}
.time-sub{font-size:18px;color:#bdbdb8;line-height:1.65;margin:0;max-width:60ch}

/* ============ MASSIVE QUOTE / PROMISE ============ */
.promise{
  background:#f6f6f3;border-bottom:1px solid var(--line);
  padding:180px 0;position:relative;overflow:hidden;
}
.promise:before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(700px 400px at 80% 50%, rgba(226,35,26,.10), transparent 60%);
}
.promise .container-narrow{position:relative;z-index:2}
.promise .label{
  font-family:var(--mono);font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--muted);margin-bottom:36px;
  display:flex;align-items:center;gap:14px;
}
.promise .label .bar{width:32px;height:1px;background:var(--accent)}
.promise blockquote{
  margin:0;
  font-family:var(--grotesk);font-weight:800;
  font-size:clamp(34px,4.4vw,68px);line-height:1.1;
  letter-spacing:-.03em;color:#0a0a0a;max-width:22ch;
}
.promise blockquote .accent{color:var(--accent)}

/* ============ CTA BAND ============ */
.cta-band{
  background:#000;color:#fff;
  padding:160px 0;
  position:relative;overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.cta-band:before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 500px at 80% 50%, rgba(226,35,26,.38), transparent 60%),
    radial-gradient(600px 400px at 20% 100%, rgba(180,10,0,.18), transparent 60%);
}
.cta-band .container{position:relative;z-index:2}
.cta-band h2{
  font-family:var(--grotesk);font-weight:900;
  font-size:clamp(52px,7vw,108px);line-height:.94;letter-spacing:-.04em;
  margin:0 0 36px;max-width:14ch;color:#fff;
}
.cta-band h2 .accent{color:var(--accent)}
.cta-band p{font-size:20px;color:#bdbdb8;max-width:560px;margin:0 0 44px;line-height:1.5}
.cta-band .ctas{display:flex;gap:14px;flex-wrap:wrap}
.cta-band .phone-callout{
  display:flex;align-items:center;gap:18px;margin-top:48px;
  padding-top:36px;border-top:1px solid var(--line);
}
.cta-band .phone-callout .label{
  font-family:var(--mono);font-size:11px;letter-spacing:.28em;color:var(--muted);text-transform:uppercase;
}
.cta-band .phone-callout .num{
  font-family:var(--grotesk);font-weight:900;font-size:36px;color:#fff;letter-spacing:-.01em;
}
.cta-band .phone-callout .num .accent{color:var(--accent)}

/* ============ FAQ ============ */
.faq-section{background:#fff;border-bottom:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:.4fr .6fr;gap:80px}
.faq-list{border-top:1px solid var(--line)}
details{
  border-bottom:1px solid var(--line);
  padding:32px 0;
}
summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;
  font-family:var(--grotesk);font-weight:700;font-size:21px;letter-spacing:-.01em;color:#0a0a0a;line-height:1.3;
}
summary::-webkit-details-marker{display:none}
.sum-plus{
  font-family:var(--grotesk);font-size:24px;color:var(--accent);flex-shrink:0;
  transition:transform .25s;line-height:1;font-weight:300;
}
details[open] .sum-plus{transform:rotate(45deg)}
details p{margin:18px 0 0;color:#4a4a45;font-size:16px;line-height:1.65;max-width:62ch}

/* ============ PAGE HERO (service pages) ============ */
.page-hero{
  background:#000;color:#fff;
  border-bottom:1px solid var(--line);
  position:relative;overflow:hidden;
  min-height:560px;display:flex;align-items:end;
}
.page-hero .bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(900px 600px at 90% 30%, rgba(226,35,26,.32), transparent 60%),
    radial-gradient(700px 500px at -10% 100%, rgba(180,10,0,.14), transparent 65%),
    linear-gradient(180deg, #000 0%, #0a0a0a 100%);
}
.page-hero .bg:after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.page-hero .wrap{
  max-width:var(--container);margin:0 auto;padding:120px var(--gutter) 80px;
  display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end;
  position:relative;z-index:2;width:100%;
}
.crumbs{
  font-family:var(--mono);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--muted);margin-bottom:32px;
}
.crumbs a{color:var(--muted);border-bottom:1px solid transparent}
.crumbs a:hover{color:#fff;border-color:var(--accent)}
.page-hero h1{
  font-family:var(--grotesk);font-weight:900;
  font-size:clamp(44px,6vw,84px);line-height:.96;letter-spacing:-.04em;
  margin:0 0 28px;color:#fff;
}
.page-hero h1 .accent{color:var(--accent)}
.page-hero p{font-size:19px;line-height:1.55;color:#bdbdb8;max-width:620px;margin:0 0 40px}
.page-hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.callbox{
  border-left:1px solid var(--line);padding:8px 0 8px 40px;
}
.callbox .label{font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.callbox .num{font-family:var(--grotesk);font-weight:900;font-size:36px;color:#fff;letter-spacing:-.015em;line-height:1;margin-bottom:18px}
.callbox .num .accent{color:var(--accent)}
.callbox p{font-size:14px;color:#a8a8a3;margin:0 0 22px;line-height:1.55}

/* ============ LONG-FORM CONTENT (bright) ============ */
.content-section{background:#fff;padding:140px 0;border-bottom:1px solid var(--line)}
.content{display:grid;grid-template-columns:1fr 340px;gap:96px}
article h2{
  font-family:var(--grotesk);font-weight:800;
  font-size:clamp(30px,3.2vw,44px);line-height:1.05;letter-spacing:-.025em;
  margin:64px 0 24px;color:#0a0a0a;
}
article h2:first-child{margin-top:0}
article p, article li{color:#2a2a26;font-size:17px;line-height:1.75;font-family:var(--grotesk)}
article ul{padding-left:0;list-style:none}
article ul li{padding-left:32px;position:relative;margin-bottom:14px}
article ul li:before{content:"";position:absolute;left:0;top:14px;width:18px;height:2px;background:var(--accent)}
article strong{color:#0a0a0a;font-weight:700}
article a{color:var(--accent);border-bottom:1px solid var(--accent);font-weight:600}
article a:hover{color:#0a0a0a;border-color:#0a0a0a}

/* sidebar — dark card on white for contrast */
.sidebar{position:sticky;top:104px;align-self:start}
.side-cta{
  background:linear-gradient(180deg, #1a1a1a 0%, #050505 100%);
  border:1px solid #050505;
  padding:32px;margin-bottom:24px;color:#fff;
}
.side-cta .label{font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#b8b8b3;margin-bottom:12px}
.side-cta .num{font-family:var(--grotesk);font-weight:900;font-size:30px;color:#fff;letter-spacing:-.01em;line-height:1;margin-bottom:14px}
.side-cta .num .accent{color:var(--accent)}
.side-cta p{font-size:14px;color:#c8c8c2;margin:0 0 20px;line-height:1.55}
.side-links{padding:8px 0;border-top:1px solid var(--line);margin-top:24px}
.side-links .label{font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin:24px 0 14px}
.side-links a{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--line);
  font-family:var(--grotesk);font-weight:600;font-size:15px;color:#0a0a0a;letter-spacing:-.005em;
}
.side-links a:last-child{border-bottom:0}
.side-links a:hover{color:var(--accent)}
.side-links a:after{content:"→";color:var(--accent);font-family:var(--mono)}

/* ============ FOOTER ============ */
footer{
  background:#000;color:#a6a6a0;
  padding:120px 0 40px;
  border-top:1px solid var(--line);
}
.foot-top{
  max-width:var(--container);margin:0 auto;padding:0 var(--gutter);
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:64px;
  padding-bottom:80px;border-bottom:1px solid var(--line);
}
.foot-brand{display:flex;flex-direction:column;gap:28px}
.foot-brand p{font-size:14px;color:#a8a8a3;max-width:360px;margin:0;line-height:1.7}
.foot-col h5{
  font-family:var(--mono);font-size:10px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--muted);margin:0 0 20px;font-weight:700;
}
.foot-col a{display:block;padding:7px 0;color:#d4d4d0;font-size:14px;letter-spacing:-.005em}
.foot-col a:hover{color:var(--accent)}
.foot-bottom{
  max-width:var(--container);margin:36px auto 0;padding:0 var(--gutter);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted-2);
}

/* ============ FORM (bright) ============ */
.form{
  background:#fafaf7;border:1px solid var(--line);
  padding:40px;
}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.field{display:flex;flex-direction:column;gap:10px}
.field label{
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--muted);font-weight:700;
}
.field input,.field select,.field textarea{
  padding:16px 18px;border:1px solid var(--line-2);background:#fff;
  font-family:var(--grotesk);font-size:15px;color:#0a0a0a;
  transition:border-color .15s, background .15s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;border-color:var(--accent);background:#fff;
}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-2)}
.field textarea{min-height:140px;resize:vertical}
.urgent-toggle{
  display:flex;gap:12px;align-items:center;
  background:rgba(226,35,26,.10);border:1px solid rgba(226,35,26,.4);
  padding:16px 18px;margin-bottom:20px;
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:700;color:var(--accent);
}

/* ============ DARK-SECTION TOKEN OVERRIDES ============ */
/* Redeclare --line inside dark sections so hairline borders stay visible on black */
.hero, .hero-metrics, .marquee, .downtime, .industries-section, .ind-grid,
.cta-band, footer, .page-hero, .side-cta, .status-strip{
  --line: rgba(255,255,255,.10);
  --line-2: rgba(255,255,255,.18);
}


/* Restore light-muted color for mono labels inside cinematic dark sections */
.hero .hero-kicker,
.hero-metrics .m .label,
.page-hero .crumbs,
.page-hero .crumbs a,
.callbox .label,
.cta-band .phone-callout .label,
.downtime .dt-num .l,
footer .foot-col h5{
  color:#9a9a96;
}
.page-hero .crumbs a:hover{color:#fff}
.foot-bottom{color:#6a6a66}
.status-strip{color:#e2e2dd}
.status-strip .left,
.status-strip .left span{color:#e2e2dd}

/* ============ RESPONSIVE ============ */
@media (max-width: 1180px){
  .nav-links{gap:20px}
  .nav-links a{font-size:12px}
}
@media (max-width: 1024px){
  .nav-links{display:none}
  .hero{min-height:auto;padding:60px 0}
  .hero-image{opacity:.35;max-width:80%;height:70%}
  .cert-grid{grid-template-columns:repeat(2,1fr)}
  .in-house-grid{grid-template-columns:1fr;gap:48px}
  .free-grid{grid-template-columns:1fr}
  .hero-metrics .row{grid-template-columns:1fr 1fr}
  .hero-metrics .m:nth-child(2){border-right:0}
  .outcome-grid, .cap-grid, .process-rail{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .downtime .container{grid-template-columns:1fr;gap:48px}
  .page-hero .wrap{grid-template-columns:1fr;gap:48px}
  .callbox{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}
  .content{grid-template-columns:1fr;gap:64px}
  .sidebar{position:static}
  .foot-top{grid-template-columns:1fr 1fr;gap:48px}
  .faq-grid{grid-template-columns:1fr;gap:40px}
  section{padding:100px 0}
  .promise, .cta-band{padding:120px 0}
}
@media (max-width: 720px){
  .nav-cta .btn-ghost{display:none}
  .brand-logo{height:56px}
  .brand-logo-footer{height:80px}
  .nav-cta .btn-primary{padding:10px 14px;font-size:11px}
  .hero-image{display:none}
  .cert-grid{grid-template-columns:1fr}
  .cert-card{padding:36px 24px}
  .in-house-checks{padding:24px}
  .free-item{padding:32px 24px}
  .trust-section, .in-house, .time-quote{padding:80px 0}
  .free-band{padding:60px 0}
  .hero-metrics .row{grid-template-columns:1fr}
  .hero-metrics .m{border-right:0;border-bottom:1px solid var(--line)}
  .hero-metrics .m:last-child{border-bottom:0}
  .outcome-grid, .cap-grid, .process-rail{grid-template-columns:1fr}
  .ind-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr;gap:48px}
  .form .row{grid-template-columns:1fr}
  .status-strip .row{flex-direction:column;text-align:center;gap:10px}
  section{padding:80px 0}
  .hero-wrap{padding:48px var(--gutter) 40px}
  .downtime, .promise, .cta-band, .content-section{padding:80px 0}
}

/* ============ PROOF OF WORK — BEFORE & AFTER ============ */
.proof-work{
  background:#0a0a0a;
  color:#f5f5f5;
  padding:120px 0;
  position:relative;
  overflow:hidden;
}
.proof-work::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(1200px 600px at 15% -10%, rgba(220,38,38,.08), transparent 60%),
             radial-gradient(900px 500px at 100% 110%, rgba(220,38,38,.06), transparent 60%);
  pointer-events:none;
}
.proof-work > .container{position:relative; z-index:1}
.proof-work h2{
  font-size:clamp(36px, 5vw, 64px);
  line-height:1.02;
  letter-spacing:-.02em;
  margin:14px 0 56px;
  color:#fff;
}
.proof-work h2 .accent{color:#dc2626}
.proof-lead{
  max-width:720px;
  font-size:18px;
  line-height:1.6;
  color:#b8b8b8;
  margin:0 0 56px;
}
.cases{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:40px;
}
.case{
  background:#141414;
  border:1px solid #1f1f1f;
  border-radius:6px;
  overflow:hidden;
  transition:border-color .3s ease, transform .3s ease;
}
.case:hover{border-color:#333; transform:translateY(-2px)}
.ba{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:#0a0a0a;
}
.ba-side{
  position:relative;
  margin:0;
  aspect-ratio: 4 / 3;
  overflow:hidden;
  background:#0a0a0a;
}
.ba-side img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .6s ease;
}
.case:hover .ba-side img{transform:scale(1.03)}
.ba-side figcaption{
  position:absolute;
  top:14px; left:14px;
}
.ba-tag{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  padding:6px 12px;
  border-radius:3px;
  text-transform:uppercase;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.ba-before{
  background:rgba(0,0,0,.65);
  color:#fff;
  border:1px solid rgba(255,255,255,.15);
}
.ba-after{
  background:rgba(220,38,38,.92);
  color:#fff;
  border:1px solid rgba(255,255,255,.15);
}
.case-meta{
  padding:20px 24px;
  border-top:1px solid #1f1f1f;
}
.case-brand{
  font-size:14px;
  font-weight:700;
  letter-spacing:.24em;
  color:#dc2626;
}
.proof-cta{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:56px;
  align-items:center;
}
@media (max-width:1024px){
  .cases{grid-template-columns:1fr; gap:32px}
  .proof-work{padding:96px 0}
}
@media (max-width:720px){
  .proof-work{padding:72px 0}
  .proof-lead{margin-bottom:40px; font-size:16px}
  .ba{grid-template-columns:1fr 1fr; gap:1px}
  .ba-tag{font-size:10px; padding:4px 8px; letter-spacing:.1em}
  .ba-side figcaption{top:10px; left:10px}
  .case-meta{padding:18px 18px 20px}
  .proof-cta{margin-top:40px; flex-direction:column; align-items:stretch}
  .proof-cta .btn{width:100%; text-align:center; justify-content:center}
}
