/* SAS Consulting unified visual layer — matches the modern scaffolding/Finisher design system. */
:root {
  --ink: #111827;
  --muted: #596273;
  --line: #e3e8ef;
  --paper: #f6f7f8;
  --white: #ffffff;
  --coal: #151719;
  --steel: #31404f;
  --signal: #d92d20;
  --signal-dark: #a81f17;
  --gold: #f2b705;
  --shadow: 0 18px 42px rgba(17,24,39,.10);
  --radius: 8px;
  --red: #d92d20;
  --dark: #111827;
}

html { scroll-behavior: smooth; }
body {
  margin: 0 !important;
  color: var(--ink) !important;
  background: var(--paper) !important;
  font-family: Inter, Arial, sans-serif !important;
  line-height: 1.5;
  overflow-x: hidden;
}
a { color: inherit; }
img { max-width: 100%; }

h1,h2,h3,h4,.page-hero h1,.models-hero-copy h1,.product-copy h1,.collection-hero h1 {
  font-family: "Space Grotesk", Inter, Arial, sans-serif !important;
  letter-spacing: -.035em !important;
}

.section-inner,
.models-hero-inner,
.models-filter-inner,
.models-grid,
.footer-grid,
.footer-bottom,
.page-hero,
.collection-hero-inner,
.product-detail-inner {
  width: min(1180px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Header / navigation */
.navbar-wrap {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 1000 !important;
  padding: 0 !important;
  color: #fff !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
  transition: background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}
.navbar-wrap.sas-scrolled {
  color: var(--ink) !important;
  background: rgba(255,255,255,.95) !important;
  border-color: var(--line) !important;
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 34px rgba(17,24,39,.08) !important;
}
.navbar.sas-site-nav {
  width: min(1180px, calc(100% - 32px)) !important;
  min-height: 76px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.navbar .brand { display:flex !important; align-items:center !important; padding:0 !important; }
.navbar .brand-logo {
  width: auto !important;
  height: 54px !important;
  max-width: 190px !important;
  object-fit: contain !important;
  filter: none !important;
}
.nav-panel { display:flex !important; align-items:center !important; gap:22px !important; margin-left:auto !important; }
.nav-links {
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  font-size:14px !important;
  font-weight:700 !important;
}
.nav-links > li { position:relative !important; }
.nav-links > li > a {
  display:flex !important;
  align-items:center !important;
  min-height:76px !important;
  padding:0 !important;
  color:inherit !important;
  opacity:.88 !important;
  background:transparent !important;
}
.nav-links > li > a:hover { color:var(--gold) !important; opacity:1 !important; }
.navbar-wrap.sas-scrolled .nav-links > li > a:hover { color:var(--signal) !important; }
.nav-links .dropdown {
  top: calc(100% - 5px) !important;
  min-width: 270px !important;
  padding: 10px !important;
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.99) !important;
  box-shadow:0 24px 60px rgba(15,23,42,.16) !important;
}
.nav-links .dropdown a {
  display:block !important;
  padding:11px 12px !important;
  color:var(--ink) !important;
  border-radius:6px !important;
  font-size:13px !important;
  font-weight:750 !important;
}
.nav-links .dropdown a:hover { color:var(--signal) !important; background:#f6f8fb !important; }
.nav-actions { display:flex !important; align-items:center !important; gap:10px !important; }
.nav-phone { color:inherit !important; font-size:13px !important; font-weight:800 !important; white-space:nowrap; }
.nav-cta,
.dark-button,
.light-button,
.primary-button,
.footer-button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:46px !important;
  padding:0 20px !important;
  border:1px solid transparent !important;
  border-radius:8px !important;
  color:#fff !important;
  background:var(--signal) !important;
  box-shadow:0 14px 28px rgba(217,45,32,.20) !important;
  font-size:13px !important;
  font-weight:800 !important;
  transition:transform .2s ease,background .2s ease !important;
}
.nav-cta:hover,.dark-button:hover,.light-button:hover,.primary-button:hover,.footer-button:hover { background:var(--signal-dark) !important; transform:translateY(-1px); }
.menu-toggle {
  width:42px !important; height:42px !important; padding:9px !important;
  border:1px solid rgba(255,255,255,.30) !important; border-radius:8px !important;
  background:rgba(255,255,255,.08) !important; box-shadow:none !important;
}
.navbar-wrap.sas-scrolled .menu-toggle { border-color:var(--line) !important; background:#fff !important; }
.menu-toggle span { background:currentColor !important; }

/* Hero areas */
.inner-header,
.models-catalog-hero {
  position:relative !important;
  min-height:520px !important;
  color:#fff !important;
  overflow:hidden !important;
  background-color:#151719 !important;
}
.inner-header::before,
.models-catalog-hero::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background:linear-gradient(90deg,rgba(7,9,14,.88),rgba(7,9,14,.44),rgba(7,9,14,.28)) !important;
  pointer-events:none !important;
}
.inner-header > *, .models-catalog-hero > * { position:relative; z-index:1; }
.page-hero,
.models-hero-inner {
  min-height:520px !important;
  padding:160px 0 86px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
}
.page-hero > span,
.page-hero > p:first-child,
.models-hero-copy > span,
.models-hero-copy > p:first-child {
  margin:0 0 14px !important;
  color:#f2b705 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
}
.page-hero h1,
.models-hero-copy h1 {
  max-width:900px !important;
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(44px,6vw,76px) !important;
  line-height:.98 !important;
  text-wrap:balance;
}
.page-hero p,
.models-hero-copy p {
  max-width:700px !important;
  margin:20px 0 0 !important;
  color:rgba(255,255,255,.78) !important;
  font-size:18px !important;
  line-height:1.65 !important;
}
.models-hero-board { border-radius:8px !important; overflow:hidden !important; box-shadow:var(--shadow) !important; }

/* Sections and cards */
.page-section,
.products-section,
.collections-section,
.models-grid-section,
.models-filter-bar,
.news-section,
.catalogs-section,
.contact-section,
.manufacturing-section {
  background:var(--paper) !important;
}
.page-section,
.products-section,
.collections-section,
.models-grid-section,
.news-section,
.catalogs-section,
.contact-section,
.manufacturing-section { padding-top:84px !important; padding-bottom:84px !important; }
.page-grid { gap:28px !important; align-items:stretch !important; }
.page-card,
.product-card,
.collection-card,
.news-card,
.catalog-card,
.model-card,
.contact-card,
.info-card,
.feature-card {
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 18px 42px rgba(17,24,39,.08) !important;
  overflow:hidden !important;
}
.page-card { padding:clamp(28px,4vw,52px) !important; }
.page-card h2,.section-title h2,.spc-related-head h2 { color:var(--ink) !important; }
.page-card p,.section-title p,.spc-related-head p { color:var(--muted) !important; }
.page-media { border-radius:8px !important; overflow:hidden !important; box-shadow:var(--shadow) !important; }
.page-media img { width:100% !important; height:100% !important; object-fit:cover !important; }

.models-filter-bar { position:relative !important; top:auto !important; z-index:1 !important; padding:24px 0 !important; border-bottom:1px solid var(--line) !important; }
.models-filter-inner { gap:12px !important; }
.models-filter-inner button,
.filter-button {
  border:1px solid var(--line) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--steel) !important;
  font-weight:800 !important;
}
.models-filter-inner button:hover,.models-filter-inner button.active,.filter-button.active { color:#fff !important; background:var(--signal) !important; border-color:var(--signal) !important; }
.models-grid { gap:18px !important; }
.model-card { transition:transform .2s ease,box-shadow .2s ease !important; }
.model-card:hover { transform:translateY(-3px) !important; box-shadow:0 24px 52px rgba(17,24,39,.14) !important; }
.model-card img { aspect-ratio:4/3 !important; width:100% !important; object-fit:cover !important; }
.model-card > div { padding:20px !important; }
.model-card h2 { margin:6px 0 8px !important; font-size:22px !important; }
.model-card p { color:var(--muted) !important; }

.page-cta {
  padding:76px 0 !important;
  color:#fff !important;
  background:#111418 !important;
}
.page-cta h2 { max-width:820px !important; color:#fff !important; font-size:clamp(34px,4.5vw,56px) !important; line-height:1.02 !important; }

/* Related content, visually matched to the modern cards */
.spc-related-section { padding:72px 0 82px !important; background:#f4f1ed !important; }
.spc-related-card { border-radius:8px !important; border:1px solid rgba(18,21,25,.08) !important; box-shadow:0 16px 34px rgba(18,21,25,.07) !important; }
.spc-related-card strong { color:var(--ink) !important; }
.spc-related-card small { color:var(--muted) !important; }

/* Footer */
.footer {
  padding:68px 0 30px !important;
  color:rgba(255,255,255,.86) !important;
  background:#111418 !important;
  font-size:15px !important;
}
.footer-grid { display:grid !important; grid-template-columns:minmax(240px,1.3fr) repeat(3,minmax(150px,1fr)) !important; gap:56px !important; }
.footer h3,.footer h4 { color:#fff !important; }
.footer p { color:rgba(255,255,255,.72) !important; }
.footer a { color:rgba(255,255,255,.86) !important; }
.footer a:hover { color:#fff !important; }
.footer-bottom { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:24px !important; margin-top:48px !important; padding-top:22px !important; border-top:1px solid rgba(255,255,255,.12) !important; }

.whatsapp-float { box-shadow:0 16px 34px rgba(17,24,39,.18) !important; }

@media (max-width: 1050px) {
  .nav-phone { display:none !important; }
  .nav-links { gap:13px !important; font-size:13px !important; }
}
@media (max-width: 900px) {
  .navbar.sas-site-nav { min-height:72px !important; }
  .menu-toggle { display:flex !important; color:inherit !important; }
  .nav-panel {
    position:absolute !important;
    left:16px !important; right:16px !important; top:78px !important;
    display:none !important; flex-direction:column !important; align-items:stretch !important;
    gap:8px !important; padding:10px !important;
    color:var(--ink) !important; background:#fff !important;
    border:1px solid var(--line) !important; border-radius:8px !important;
    box-shadow:var(--shadow) !important;
  }
  .nav-panel.is-open,.nav-panel.open { display:flex !important; }
  .nav-links { display:block !important; }
  .nav-links > li > a { min-height:0 !important; padding:13px 14px !important; color:var(--ink) !important; }
  .nav-links .dropdown { position:static !important; display:none; width:auto !important; min-width:0 !important; box-shadow:none !important; margin:0 8px 8px !important; }
  .nav-links .has-menu.open > .dropdown,.nav-links .has-menu:hover > .dropdown { display:block !important; }
  .nav-actions { padding:4px !important; }
  .nav-cta { width:100% !important; }
  .page-hero,.models-hero-inner { min-height:480px !important; padding:140px 0 70px !important; }
  .footer-grid { grid-template-columns:1fr 1fr !important; gap:36px !important; }
}
@media (max-width: 600px) {
  .section-inner,.models-hero-inner,.models-filter-inner,.models-grid,.footer-grid,.footer-bottom,.page-hero { width:min(100% - 28px,1180px) !important; }
  .navbar.sas-site-nav { width:min(100% - 28px,1180px) !important; }
  .navbar .brand-logo { height:46px !important; max-width:160px !important; }
  .page-hero h1,.models-hero-copy h1 { font-size:clamp(38px,12vw,54px) !important; }
  .page-section,.products-section,.collections-section,.models-grid-section,.news-section,.catalogs-section,.contact-section,.manufacturing-section { padding-top:58px !important; padding-bottom:58px !important; }
  .footer-grid { grid-template-columns:1fr !important; }
  .footer-bottom { align-items:flex-start !important; flex-direction:column !important; }
}
