/*
  DESIGN V2 — domain-independent visual theme
  Keeps the SEO/content architecture intact while giving the site a clearly different identity.
*/
:root{
  --v2-ink:#101820;
  --v2-ink-2:#17232d;
  --v2-paper:#f5f3ee;
  --v2-white:#ffffff;
  --v2-line:#d8d7d2;
  --v2-hot:#f05a28;
  --v2-hot-dark:#cb4218;
  --v2-muted:#66727d;
  --v2-shadow:0 18px 55px rgba(16,24,32,.10);
  --v2-radius:20px;
}

html{scroll-behavior:smooth}
body{
  background:var(--v2-paper)!important;
  color:var(--v2-ink)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:-.01em;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 15% 0%,rgba(240,90,40,.08),transparent 32%),
    linear-gradient(90deg,rgba(16,24,32,.025) 1px,transparent 1px),
    linear-gradient(rgba(16,24,32,.025) 1px,transparent 1px);
  background-size:auto,44px 44px,44px 44px;
}

.shell{max-width:1220px!important;padding-left:28px!important;padding-right:28px!important}
.section-pad{padding-top:96px!important;padding-bottom:96px!important}

/* Header */
.site-header{
  background:rgba(245,243,238,.94)!important;
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(16,24,32,.08)!important;
  box-shadow:0 8px 30px rgba(16,24,32,.04);
}
.topline{
  background:var(--v2-ink)!important;
  color:#dfe6ea!important;
  border:0!important;
}
.topline a,.topline span{color:#f3f5f6!important}
.status-dot{background:var(--v2-hot)!important;box-shadow:0 0 0 5px rgba(240,90,40,.16)}
.nav-row{min-height:86px!important;gap:26px!important}
.brand-mark{gap:13px!important;text-decoration:none!important}
.brand-symbol{
  width:48px!important;height:48px!important;min-width:48px!important;
  border-radius:14px!important;background:var(--v2-hot)!important;
  box-shadow:0 9px 25px rgba(240,90,40,.24)!important;
  transform:rotate(-3deg);
}
.brand-symbol span{background:#fff!important}
.brand-type{line-height:1!important}
.brand-type strong{
  display:block!important;color:var(--v2-ink)!important;font-size:17px!important;
  letter-spacing:.12em!important;font-weight:900!important;
}
.brand-type em{
  display:block!important;color:var(--v2-hot)!important;font-style:normal!important;
  font-size:12px!important;letter-spacing:.08em!important;font-weight:800!important;margin-top:5px!important;
}
.brand-type small{display:block!important;color:#74808a!important;margin-top:5px!important;font-size:9px!important;letter-spacing:.13em!important}
.desktop-nav{gap:7px!important}
.desktop-nav a{
  color:#27333d!important;font-weight:700!important;font-size:14px!important;
  padding:10px 12px!important;border-radius:10px!important;text-decoration:none!important;
}
.desktop-nav a:hover{background:#fff!important;color:var(--v2-hot)!important}
.button{
  border-radius:12px!important;font-weight:800!important;letter-spacing:-.01em!important;
  box-shadow:none!important;transition:.2s ease!important;
}
.button:hover{transform:translateY(-2px)}
.button--hot{background:var(--v2-hot)!important;border-color:var(--v2-hot)!important;color:#fff!important;box-shadow:0 10px 25px rgba(240,90,40,.22)!important}
.button--hot:hover{background:var(--v2-hot-dark)!important}

/* Hero becomes a contemporary split industrial panel */
.hero{
  position:relative!important;overflow:hidden!important;
  background:linear-gradient(135deg,#111b23 0%,#182733 58%,#0f171e 100%)!important;
  color:#fff!important;
  border-bottom:0!important;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 84% 28%,rgba(240,90,40,.24),transparent 24%),
    linear-gradient(120deg,transparent 0 63%,rgba(255,255,255,.035) 63% 64%,transparent 64% 100%);
}
.hero .shell{position:relative;z-index:1}
.hero h1{color:#fff!important;font-size:clamp(42px,6vw,78px)!important;line-height:.98!important;letter-spacing:-.055em!important;max-width:900px!important}
.hero h1 em,.hero h1 i{color:var(--v2-hot)!important}
.hero p{color:#c8d2d9!important;font-size:18px!important;line-height:1.75!important;max-width:780px!important}
.hero .eyebrow{color:#ffb298!important}
.hero .button:not(.button--hot){border-color:rgba(255,255,255,.22)!important;color:#fff!important;background:rgba(255,255,255,.06)!important}
.hero .button:not(.button--hot):hover{background:rgba(255,255,255,.12)!important}
.hero-card,.hero-panel,.hero-stats,.machine-card{
  border-radius:var(--v2-radius)!important;border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.07)!important;box-shadow:0 30px 80px rgba(0,0,0,.18)!important;
}

/* General typography */
.eyebrow{
  color:var(--v2-hot)!important;font-size:12px!important;font-weight:900!important;
  letter-spacing:.16em!important;text-transform:uppercase!important;
}
h1,h2,h3{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important}
h2{font-size:clamp(34px,4vw,54px)!important;line-height:1.05!important;letter-spacing:-.045em!important;color:var(--v2-ink)!important}
h3{letter-spacing:-.025em!important}
p{line-height:1.75}

/* Cards / sections */
.material-card,.service-card,.region-card,.feature-card,.stat-card,.process-card,.content-card,.faq-list details,
[class*="card"]{
  border-radius:var(--v2-radius)!important;
}
.material-card,.service-card,.region-card,.feature-card,.stat-card,.process-card,.content-card{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(16,24,32,.09)!important;
  box-shadow:0 12px 35px rgba(16,24,32,.055)!important;
  transition:.22s ease!important;
}
.material-card:hover,.service-card:hover,.region-card:hover,.feature-card:hover,.process-card:hover{
  transform:translateY(-5px)!important;border-color:rgba(240,90,40,.36)!important;box-shadow:var(--v2-shadow)!important;
}
.material-card a,.service-card a,.region-card a{color:var(--v2-hot)!important;font-weight:800!important}

/* Distinct horizontal accent */
section:not(.hero):not(.quote-cta):not(.site-footer){position:relative}
section:not(.hero):not(.quote-cta):not(.site-footer) > .shell:first-child::before{
  content:"";display:block;width:54px;height:5px;border-radius:99px;background:var(--v2-hot);margin-bottom:22px;
}

/* Stats */
.stats-strip,.metrics,.facts-row{
  background:#fff!important;border-top:1px solid var(--v2-line)!important;border-bottom:1px solid var(--v2-line)!important;
}
.stat-number,.metric-value{color:var(--v2-hot)!important;font-weight:900!important}

/* FAQ */
.faq-list details{background:#fff!important;border:1px solid rgba(16,24,32,.09)!important;margin-bottom:12px!important;overflow:hidden!important}
.faq-list summary{padding:21px 22px!important;font-weight:800!important;color:var(--v2-ink)!important}
.faq-list details[open]{box-shadow:0 12px 35px rgba(16,24,32,.06)!important;border-color:rgba(240,90,40,.28)!important}
.faq-list details p{padding:0 22px 22px!important;color:#59656f!important}

/* CTA */
.quote-cta{
  background:linear-gradient(130deg,#f05a28 0%,#db491c 52%,#b83813 100%)!important;
  color:#fff!important;position:relative!important;overflow:hidden!important;
}
.quote-cta::after{
  content:"";position:absolute;width:480px;height:480px;border-radius:50%;right:-180px;top:-210px;border:80px solid rgba(255,255,255,.06);
}
.quote-cta h2,.quote-cta p,.quote-cta .eyebrow{color:#fff!important}
.quote-cta .button--hot{background:#fff!important;color:var(--v2-ink)!important;border-color:#fff!important;box-shadow:0 12px 30px rgba(0,0,0,.14)!important}
.quote-cta .button--ghost-light{border-color:rgba(255,255,255,.55)!important;color:#fff!important;background:transparent!important}

/* Footer */
.site-footer{background:#0d151c!important;color:#aeb8bf!important;border-top:0!important}
.site-footer h2{color:#fff!important;font-size:14px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.site-footer a{color:#c9d0d5!important;text-decoration:none!important}
.site-footer a:hover{color:#fff!important}
.site-footer .brand-type strong{color:#fff!important}
.site-footer .brand-type em{color:#ff916e!important}
.footer-bottom{border-color:rgba(255,255,255,.08)!important}

/* Mobile */
.mobile-actions{background:#0e171e!important;border-top:1px solid rgba(255,255,255,.08)!important}
.mobile-actions a:last-child{background:var(--v2-hot)!important;color:#fff!important}
.mobile-menu nav{background:#fff!important;border-radius:16px!important;box-shadow:0 20px 60px rgba(16,24,32,.14)!important}

/* Utility polish */
img{border-radius:16px}
::selection{background:rgba(240,90,40,.22)}

@media(max-width:860px){
  .shell{padding-left:18px!important;padding-right:18px!important}
  .section-pad{padding-top:70px!important;padding-bottom:70px!important}
  .hero h1{font-size:clamp(38px,12vw,58px)!important}
  .brand-symbol{width:42px!important;height:42px!important;min-width:42px!important}
  .brand-type strong{font-size:15px!important}
  .brand-type em{font-size:10px!important}
}

/* ===== Interior pages — unified V2 repair ===== */
.page-hero{
  position:relative!important;
  overflow:hidden!important;
  padding:78px 0 68px!important;
  background:linear-gradient(135deg,#111b23 0%,#182733 62%,#0f171e 100%)!important;
  color:#fff!important;
  border:0!important;
}
.page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 82% 24%,rgba(240,90,40,.23),transparent 26%),linear-gradient(120deg,transparent 0 66%,rgba(255,255,255,.035) 66% 67%,transparent 67% 100%);
}
.page-hero .shell{position:relative;z-index:1}
.page-hero .eyebrow{color:#ffb298!important}
.page-hero h1{
  color:#fff!important;
  font-size:clamp(40px,5.3vw,68px)!important;
  line-height:1.01!important;
  letter-spacing:-.05em!important;
  max-width:960px!important;
  margin:14px 0 18px!important;
  font-weight:900!important;
}
.page-hero p{color:#c8d2d9!important;max-width:820px!important;font-size:17px!important;line-height:1.75!important}
.page-hero a{color:#fff!important}

.page-content{background:var(--v2-paper)!important;color:var(--v2-ink)!important}
.page-content>.shell{max-width:1120px!important}
.page-content h2{margin:0 0 20px!important}
.page-content h3{font-size:clamp(22px,2.4vw,30px)!important;line-height:1.15!important;margin:34px 0 12px!important;color:var(--v2-ink)!important;font-weight:850!important}
.page-content p,.page-content li{color:#56636d!important;font-size:16px!important;line-height:1.8!important}
.page-content p+p{margin-top:14px!important}
.page-content ul,.page-content ol{margin:18px 0 26px 1.2rem!important;padding:0!important}
.page-content ul{list-style:disc!important}
.page-content ol{list-style:decimal!important}
.page-content a{color:var(--v2-hot)!important;font-weight:750!important;text-decoration:none!important}
.page-content a:hover{text-decoration:underline!important}
.page-content img{box-shadow:0 18px 50px rgba(16,24,32,.12)!important}

/* Existing inner-page grids/cards can vary by page; normalize them without altering markup. */
.page-content [class*="grid"]{gap:22px!important}
.page-content [class*="card"],
.page-content article,
.page-content .content-block,
.page-content .info-box,
.page-content .region-list a{
  border-radius:18px!important;
}
.page-content article,
.page-content .content-card,
.page-content .info-box{
  background:#fff!important;
  border:1px solid rgba(16,24,32,.09)!important;
  box-shadow:0 10px 30px rgba(16,24,32,.045)!important;
}

.legal-page>.shell{max-width:940px!important}
.legal-page h2{font-size:clamp(27px,3vw,38px)!important;margin-top:42px!important}
.legal-page h3{font-size:21px!important}

/* Contact page */
.page-content form,.contact-form,.contact-card{
  background:#fff!important;border:1px solid rgba(16,24,32,.09)!important;border-radius:20px!important;box-shadow:var(--v2-shadow)!important;
}
.page-content input,.page-content textarea,.page-content select{
  background:#fff!important;color:var(--v2-ink)!important;border:1px solid #cfd4d7!important;border-radius:10px!important;
}
.page-content input:focus,.page-content textarea:focus,.page-content select:focus{outline:2px solid rgba(240,90,40,.18)!important;border-color:var(--v2-hot)!important}

/* 404 page */
main.error-page,.error-page{background:var(--v2-paper)!important;color:var(--v2-ink)!important}
.error-page h1{color:var(--v2-ink)!important}

/* Make any old blue/teal accents follow the new domain identity on inner pages. */
.page-hero svg,.page-content svg{color:var(--v2-hot)}
.page-content hr{border-color:var(--v2-line)!important}

@media(max-width:860px){
  .page-hero{padding:58px 0 52px!important}
  .page-hero h1{font-size:clamp(36px,11vw,52px)!important}
  .page-hero p{font-size:16px!important}
  .page-content [class*="grid"]{grid-template-columns:1fr!important}
}

/* v3 inner-page layout repair
   Keeps the editorial/content pages from collapsing into the sidebar column. */
.page-content .content-layout{
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:72px!important;
  align-items:start!important;
  width:100%!important;
}
.page-content .content-layout>aside{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  max-width:260px!important;
  margin:0!important;
  align-self:start!important;
}
.page-content .content-layout>.article-copy{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
.page-content .article-copy>article{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  background:transparent!important;
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:1px solid #d1d6d9!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:8px 0 68px 65px!important;
  margin:0!important;
  position:relative!important;
}
.page-content .article-copy>article h2{
  max-width:760px!important;
  width:auto!important;
  margin:0 0 22px!important;
  font-size:clamp(1.8rem,3.2vw,3.1rem)!important;
  line-height:1.06!important;
}
.page-content .article-copy>article p{
  max-width:760px!important;
  width:auto!important;
  margin:0!important;
}
.page-content .article-copy .section-index{
  position:absolute!important;
  top:2px!important;
  left:-18px!important;
  width:36px!important;
  height:36px!important;
  border-radius:0!important;
}
.page-content .article-copy .inline-services{
  width:auto!important;
  margin-left:65px!important;
}

@media(max-width:900px){
  .page-content .content-layout{
    grid-template-columns:1fr!important;
    gap:38px!important;
  }
  .page-content .content-layout>aside{
    grid-column:1!important;
    grid-row:1!important;
    position:static!important;
    top:auto!important;
    max-width:none!important;
  }
  .page-content .content-layout>.article-copy{
    grid-column:1!important;
    grid-row:2!important;
  }
}
@media(max-width:620px){
  .page-content .article-copy>article{
    padding:6px 0 52px 38px!important;
  }
  .page-content .article-copy .section-index{
    width:32px!important;
    height:32px!important;
    left:-16px!important;
  }
  .page-content .article-copy .inline-services{
    margin-left:38px!important;
    grid-template-columns:1fr!important;
  }
}
