/* PITE TECH INC site stylesheet
   Optimized: normalized asset paths, accessible focus states, responsive layouts. */
:root {
  --yellow:#ffc20e;
  --yellow-2:#ffda61;
  --black:#050505;
  --ink:#151515;
  --muted:#60646c;
  --line:#e4e6ea;
  --soft:#f5f6f8;
  --white:#ffffff;
  --blue:#174ea6;
  --shadow:0 18px 50px rgba(0,0,0,.13);
  --radius:22px;
  --radius-sm:14px;
  --container:1180px;
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%
}
body {
  margin:0;
  -webkit-font-smoothing:antialiased;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  text-rendering:optimizeLegibility
}
img {
  max-width:100%;
  height:auto;
  display:block
}
a {
  color:inherit;
  text-decoration:none
}
a:hover {
  color:var(--blue)
}
:target {
  scroll-margin-top:96px
}
:where(a,button,input,select,textarea):focus-visible {
  outline:3px solid rgba(23,78,166,.35);
  outline-offset:3px
}
p {
  margin:0 0 1rem;
  color:var(--muted)
}
h1,h2,h3 {
  margin:0;
  color:#050505;
  line-height:1.05;
  letter-spacing:0
}
h1 {
  font-size:4rem;
  max-width:10.8ch
}
h2 {
  font-size:3rem
}
h3 {
  font-size:1.35rem;
  letter-spacing:0
}
.container {
  width:min(var(--container),calc(100% - 40px));
  margin-inline:auto
}
.skip-link {
  position:absolute;
  left:1rem;
  top:-100px;
  z-index:1000;
  padding:.75rem 1rem;
  background:var(--yellow);
  color:#000;
  font-weight:800;
  border-radius:999px
}
.skip-link:focus {
  top:1rem
}
.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:#fff;
  border-top:6px solid var(--yellow);
  box-shadow:0 1px 0 rgba(0,0,0,.08),0 10px 30px rgba(0,0,0,.04)
}
.nav-shell {
  background:#fff
}
.nav-shell__inner {
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem
}
.brand {
  display:inline-flex;
  align-items:center;
  width:150px;
  height:39px;
  flex:0 0 150px;
  min-width:150px
}
.brand__logo {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center
}
.primary-nav {
  display:flex;
  align-items:center;
  gap:.2rem;
  margin-left:auto
}
.nav-link {
  font-size:.92rem;
  font-weight:750;
  border-radius:999px;
  padding:.72rem .9rem;
  color:#171717
}
.nav-link:hover,.nav-link.active {
  background:#111;
  color:#fff
}
.nav-link--cta {
  background:var(--yellow);
  color:#050505
}
.nav-link--cta:hover,.nav-link--cta.active {
  background:#111;
  color:#fff
}
.menu-toggle {
  display:none;
  width:46px;
  height:46px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px
}
.menu-toggle span {
  width:20px;
  height:2px;
  background:#000;
  transition:.2s
}
.menu-open .menu-toggle span:nth-child(1) {
  transform:translateY(7px) rotate(45deg)
}
.menu-open .menu-toggle span:nth-child(2) {
  opacity:0
}
.menu-open .menu-toggle span:nth-child(3) {
  transform:translateY(-7px) rotate(-45deg)
}
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.15em;
  font-weight:900;
  color:#6b5900;
  margin-bottom:1rem
}
.eyebrow:before {
  content:"";
  width:26px;
  height:3px;
  background:var(--yellow);
  border-radius:99px
}
.eyebrow--dark {
  color:#171717
}
.eyebrow--dark:before {
  background:#171717
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:.95rem 1.28rem;
  font-weight:900;
  font-size:.95rem;
  border:2px solid transparent;
  transition:transform .18s ease,background .18s ease,color .18s ease,border .18s ease
}
.button:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 16px rgba(0,0,0,.15)
}
.button--yellow {
  background:var(--yellow);
  color:#050505
}
.button--yellow:hover {
  background:var(--yellow-2);
  color:#000
}
.button--dark {
  background:#000;
  color:#fff;
  border-color:#000
}
.button--dark:hover {
  background:#232323;
  color:#fff
}
.button--ghost {
  border-color:rgba(255,255,255,.35);
  color:#fff;
  background:rgba(255,255,255,.08)
}
.button--ghost:hover {
  background:#fff;
  color:#000
}
.button--outline-dark {
  border-color:#000;
  color:#000;
  background:transparent
}
.button--small {
  padding:.65rem .95rem;
  font-size:.85rem;
  background:#000;
  color:#fff
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-weight:900;
  color:#111
}
.text-link span {
  transition:.2s
}
.text-link:hover span {
  transform:translateX(4px)
}
.hero {
  background:#0d0d0d;
  background-size:cover;
  background-position:center;
  color:#fff;
  position:relative;
  overflow:hidden
}
.hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 48%,rgba(0,0,0,.22) 100%)
}
.hero--home {
  background-image:url("/assets/images/about/reception.jpg");
  background-position:center 42%
}
.hero__grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,820px);
  align-items:center;
  min-height:720px;
  padding:78px 0
}
.hero h1,.hero h2 {
  color:#fff;
  max-width:920px
}
.hero__lead {
  font-size:1.22rem;
  color:#e4e4e4;
  max-width:680px
}
.hero__actions {
  display:flex;
  gap:.85rem;
  flex-wrap:wrap;
  margin-top:2rem
}
.stat-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.75rem
}
.hero-stats {
  margin-top:2.6rem;
  max-width:760px
}
.stat {
  padding:1.1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff
}
.hero .stat {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.15)
}
.stat strong {
  display:block;
  font-size:1.75rem;
  line-height:1;
  color:#050505
}
.hero .stat strong {
  color:var(--yellow)
}
.stat span {
  display:block;
  margin-top:.42rem;
  color:var(--muted);
  font-size:.88rem
}
.hero .stat span {
  color:#d8d8d8
}
.section {
  padding:92px 0
}
.section--tight {
  padding:70px 0
}
.section--gray {
  background:var(--soft)
}
.section-head {
  max-width:780px;
  margin-bottom:2.4rem
}
.section-head p {
  font-size:1.05rem
}
.section-head--split {
  max-width:none;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:2rem
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.35rem
}
.product-grid--wide {
  grid-template-columns:1fr;
  gap:1.15rem
}
.product-card {
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
  transition:transform .18s ease,box-shadow .18s ease
}
.product-card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow)
}
.product-card__media {
  position:relative;
  display:block;
  overflow:hidden;
  background:#111
}
.product-card__media:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.5))
}
.product-card__media img {
  width:100%;
  height:330px;
  object-fit:cover;
  transition:transform .35s ease
}
.product-card:hover img {
  transform:scale(1.04)
}
.product-card__badge {
  position:absolute;
  left:1rem;
  bottom:1rem;
  z-index:2;
  background:var(--yellow);
  color:#000;
  padding:.45rem .7rem;
  border-radius:999px;
  font-weight:900;
  font-size:.85rem
}
.product-card__body {
  padding:1.35rem
}
.product-card h3 a {
  color:#050505
}
.product-card p {
  min-height:4.75rem
}
.quick-facts {
  padding:0;
  margin:1rem 0 1.2rem;
  list-style:none;
  display:grid;
  gap:.45rem
}
.quick-facts li {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  border-top:1px solid #eee;
  padding-top:.45rem;
  font-size:.88rem
}
.quick-facts strong {
  color:#222
}
.quick-facts span {
  color:var(--muted);
  text-align:right
}
.product-card--featured {
  display:grid;
  grid-template-columns:minmax(280px,.72fr) 1fr
}
.product-card--featured .product-card__media img {
  height:100%;
  min-height:280px
}
.product-card--featured .product-card__body {
  display:grid;
  align-content:center
}
.product-card--featured p {
  min-height:0
}
.feature-split {
  background:#fff
}
.feature-split__grid {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:1.35rem
}
.feature-panel {
  border-radius:var(--radius);
  padding:2.2rem;
  min-height:430px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between
}
.feature-panel--yellow {
  background:var(--yellow)
}
.feature-panel p {
  color:#2a2105;
  font-size:1.05rem
}
.advantage-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.35rem
}
.advantage-grid article,.application-grid article,.workflow-grid article {
  padding:1.55rem;
  border:1px solid var(--line);
  background:#fff;
  border-radius:var(--radius-sm)
}
.advantage-grid span,.workflow-grid span {
  font-weight:950;
  color:#9b7300
}
.application-grid article span {
  display:inline-block;
  color:#9b7300;
  font-weight:950;
  margin-bottom:.55rem
}
.application-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.1rem
}
.application-grid--contact {
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))
}
.software-band {
  background:#111;
  color:#fff
}
.software-band h2 {
  color:#fff
}
.software-band p {
  color:#dadada
}
.software-band__inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:center
}
.check-list {
  margin:1rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.8rem
}
.check-list li {
  position:relative;
  padding-left:1.7rem;
  color:#333
}
.software-band .check-list li {
  color:#f1f1f1
}
.check-list li:before {
  content:"";
  position:absolute;
  left:0;
  top:.35rem;
  width:.8rem;
  height:.8rem;
  border-radius:50%;
  background:var(--yellow);
  box-shadow:inset 0 0 0 3px #000
}
.software-band .check-list li:before {
  box-shadow:inset 0 0 0 3px #111
}
.check-list--columns {
  grid-template-columns:repeat(2,1fr)
}
.page-hero {
  background:#0d0d0d;
  background-size:cover;
  background-position:center;
  color:#fff;
  position:relative;
  overflow:hidden
}
.page-hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.52) 50%,rgba(0,0,0,.18) 100%)
}
.page-hero--about {
  background-image:url("/assets/images/about/reception.jpg");
  background-position:center 42%
}
.page-hero--contact {
  background-image:url("/assets/images/about/reception.jpg");
  background-position:center 44%
}
.page-hero--downloads {
  background-image:url("/assets/images/about/open-office.jpg");
  background-position:center 46%
}
.page-hero__inner {
  position:relative;
  z-index:1;
  padding:98px 0 86px
}
.page-hero h1 {
  color:#fff;
  max-width:980px
}
.page-hero p {
  max-width:760px;
  color:#e1e1e1;
  font-size:1.16rem
}
.page-hero code {
  background:rgba(255,255,255,.12);
  padding:.1rem .35rem;
  border-radius:6px
}
.download-hero__actions {
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  margin-top:2rem
}
.product-hero {
  background:#0d0d0d;
  background-size:cover;
  background-position:center;
  color:#fff;
  position:relative;
  overflow:hidden
}
.product-hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.62) 48%,rgba(0,0,0,.2) 100%)
}
.product-hero--pite3915 {
  background-image:url("/assets/images/pite3915-hero.jpg");
  background-position:center
}
.product-hero--field:before {
  background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.7) 44%,rgba(0,0,0,.28) 74%,rgba(0,0,0,.2) 100%)
}
.product-hero--pite3836 {
  background-image:url("/assets/images/pite3836/field-testing.jpg");
  background-position:center 46%
}
.product-hero--pite3980 {
  background-image:url("/assets/images/pite3980/field-units.jpg");
  background-position:center 50%
}
.product-hero__grid {
  display:grid;
  position:relative;
  z-index:1;
  grid-template-columns:minmax(0,840px);
  align-items:center;
  min-height:640px;
  padding:76px 0
}
.product-hero__grid--wide {
  grid-template-columns:minmax(0,720px) minmax(260px,360px);
  gap:clamp(1.4rem,4vw,4rem);
  justify-content:space-between
}
.product-hero h1 {
  color:#fff;
  max-width:900px
}
.product-hero h1 span {
  display:block;
  color:var(--yellow);
  font-size:.45em;
  letter-spacing:.02em;
  margin-top:.4rem
}
.product-hero p {
  color:#e1e1e1;
  max-width:740px
}
.hero-proof {
  align-self:end;
  padding:1.35rem;
  color:#fff;
  background:rgba(5,5,5,.76);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius-sm);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  backdrop-filter:blur(10px)
}
.hero-proof span {
  display:block;
  color:var(--yellow);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase
}
.hero-proof strong {
  display:block;
  margin:.55rem 0 .35rem;
  color:#fff;
  font-size:2.15rem;
  line-height:1
}
.hero-proof p {
  margin:0;
  color:#e6e6e6
}
.hero-proof ul {
  margin:1rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.45rem
}
.hero-proof li {
  position:relative;
  padding-left:1.15rem;
  color:#f5f5f5;
  font-weight:750;
  font-size:.92rem
}
.hero-proof li:before {
  content:"";
  position:absolute;
  left:0;
  top:.65em;
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:var(--yellow)
}
.spec-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem
}
.spec-grid--six {
  grid-template-columns:repeat(6,1fr)
}
.spec-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:1.25rem
}
.spec-card span {
  display:block;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#777;
  font-weight:900
}
.spec-card strong {
  display:block;
  font-size:1.4rem;
  line-height:1.2;
  margin-top:.45rem;
  color:#050505
}
.product-detail-grid,.history-grid {
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:3rem;
  align-items:start
}
.section-head--sticky {
  position:sticky;
  top:122px
}
.feature-list {
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem
}
.feature-list li {
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:1.2rem 1.2rem 1.2rem 3.25rem;
  font-weight:700
}
.feature-list li:before {
  content:"";
  position:absolute;
  left:1.2rem;
  top:1.25rem;
  width:1rem;
  height:1rem;
  background:var(--yellow);
  border-radius:50%;
  box-shadow:inset 0 0 0 4px #111
}
.feature-list--single {
  grid-template-columns:1fr;
  margin-top:1.4rem
}
.product-story-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:center
}
.story-copy p {
  font-size:1.05rem
}
.image-callout {
  margin:0
}
.image-callout img {
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:var(--radius);
  box-shadow:var(--shadow)
}
.image-callout--contained img {
  object-fit:contain;
  background:#fff
}
.image-callout--wide img {
  aspect-ratio:16/9
}
.image-callout figcaption {
  margin-top:.8rem;
  color:var(--muted);
  font-weight:750;
  font-size:.92rem
}
.technical-flow {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:1.2rem;
  align-items:stretch
}
.diagram-callout {
  margin:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 8px 24px rgba(0,0,0,.04)
}
.diagram-callout img {
  width:100%;
  padding:1rem;
  object-fit:contain;
  background:#fff
}
.diagram-callout figcaption {
  padding:1rem 1.2rem;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-weight:750;
  font-size:.92rem
}
.wiring-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  margin-top:1.25rem
}
.wiring-card {
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 8px 24px rgba(0,0,0,.04)
}
.wiring-card img {
  width:100%;
  aspect-ratio:2.8;
  object-fit:contain;
  background:#fff;
  border-bottom:1px solid var(--line)
}
.wiring-card div {
  padding:1.2rem
}
.wiring-card span {
  display:inline-block;
  color:#9b7300;
  font-weight:950;
  margin-bottom:.55rem
}
.flow-note {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:2rem;
  background:#111;
  color:#fff;
  border-radius:var(--radius)
}
.flow-note h2 {
  color:#fff
}
.flow-note .eyebrow {
  color:var(--yellow)
}
.flow-note .eyebrow:before {
  background:var(--yellow)
}
.flow-note p {
  color:#dfdfdf
}
.capability-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem
}
.capability-card {
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 8px 24px rgba(0,0,0,.04)
}
.capability-card img {
  width:100%;
  height:260px;
  object-fit:cover;
  background:#fff
}
.capability-card div {
  padding:1.3rem
}
.capability-card span {
  display:inline-block;
  color:#9b7300;
  font-weight:950;
  margin-bottom:.55rem
}
.software-band .eyebrow {
  color:var(--yellow)
}
.software-band .eyebrow:before {
  background:var(--yellow)
}
.software-band--screens {
  overflow:hidden
}
.software-showcase {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(2rem,4vw,3.8rem);
  align-items:center
}
.software-gallery {
  display:grid;
  grid-template-columns:1fr minmax(170px,.55fr);
  gap:.8rem
}
.software-gallery img {
  width:100%;
  object-fit:cover;
  object-position:left top;
  background:#fff;
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius-sm);
  box-shadow:0 20px 46px rgba(0,0,0,.28)
}
.software-gallery__main {
  height:460px
}
.software-gallery__stack {
  display:grid;
  gap:.8rem
}
.software-gallery__stack img {
  height:222px
}
.software-gallery--wide {
  grid-template-columns:1fr;
  gap:1rem
}
.software-gallery--wide img {
  height:auto;
  max-height:360px;
  object-fit:contain;
  object-position:center;
  background:#fff
}
.accessory-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem
}
.accessory-grid article {
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 8px 24px rgba(0,0,0,.04)
}
.accessory-grid img {
  width:100%;
  aspect-ratio:1.42;
  object-fit:cover;
  background:#fff
}
.accessory-grid h3 {
  padding:1.25rem 1.25rem 0
}
.accessory-grid p {
  padding:0 1.25rem 1.35rem
}
.kit-panel {
  margin-top:1rem;
  padding:1.45rem;
  background:#111;
  color:#fff;
  border-radius:var(--radius-sm)
}
.kit-panel h3 {
  color:#fff;
  margin-bottom:1rem
}
.compact-list {
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.7rem .9rem
}
.compact-list li {
  position:relative;
  padding-left:1.25rem;
  color:#f2f2f2;
  font-weight:800
}
.compact-list li:before {
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:.5rem;
  height:.5rem;
  border-radius:50%;
  background:var(--yellow)
}
.compliance-grid {
  display:grid;
  grid-template-columns:minmax(230px,.56fr) minmax(0,1fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:center
}
.certificate-card {
  margin:0;
  max-width:360px;
  justify-self:center
}
.certificate-card img {
  width:100%;
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow)
}
.document-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.6rem
}
.faq-grid {
  display:grid;
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:start
}
.faq-list {
  display:grid;
  gap:.75rem
}
.faq-list details {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 8px 24px rgba(0,0,0,.04)
}
.faq-list summary {
  position:relative;
  cursor:pointer;
  list-style:none;
  padding:1.05rem 3.2rem 1.05rem 1.2rem;
  color:#111;
  font-weight:900
}
.faq-list summary::-webkit-details-marker {
  display:none
}
.faq-list summary:after {
  content:"+";
  position:absolute;
  right:1.15rem;
  top:50%;
  width:1.65rem;
  height:1.65rem;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--yellow);
  color:#000;
  font-weight:950;
  transform:translateY(-50%)
}
.faq-list details[open] summary:after {
  content:"-"
}
.faq-list p {
  margin:0;
  padding:0 1.2rem 1.2rem
}
.table-wrap {
  overflow:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 8px 24px rgba(0,0,0,.04)
}
table {
  border-collapse:collapse;
  width:100%;
  min-width:700px
}
th,td {
  text-align:left;
  vertical-align:top;
  padding:1rem;
  border-bottom:1px solid var(--line)
}
tr:last-child th,tr:last-child td {
  border-bottom:0
}
th {
  font-weight:900;
  color:#111;
  background:#fafafa
}
.compare-table th span {
  display:block;
  color:#6b5900;
  font-size:.86rem;
  margin-top:.25rem
}
.spec-table th {
  width:36%
}
.workflow-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem
}
.workflow-grid--four {
  grid-template-columns:repeat(4,1fr)
}
.manufacturer-proof {
  background:#111;
  color:#fff
}
.manufacturer-proof h2 {
  color:#fff
}
.manufacturer-proof p {
  color:#dfdfdf
}
.manufacturer-proof .eyebrow {
  color:var(--yellow)
}
.manufacturer-proof .eyebrow:before {
  background:var(--yellow)
}
.manufacturer-proof .text-link {
  color:#fff
}
.manufacturer-proof-grid {
  display:grid;
  grid-template-columns:.96fr 1.04fr;
  gap:clamp(2rem,5vw,4rem);
  align-items:center
}
.manufacturer-proof__media {
  margin:0
}
.manufacturer-proof__media img {
  width:100%;
  aspect-ratio:1.5;
  object-fit:cover;
  border-radius:var(--radius-sm);
  box-shadow:0 18px 50px rgba(0,0,0,.28)
}
.proof-badges {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.75rem;
  margin:1.4rem 0
}
.proof-badges span {
  min-height:56px;
  display:flex;
  align-items:center;
  padding:.8rem .95rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius-sm);
  color:#f6f6f6;
  font-weight:900;
  background:rgba(255,255,255,.06)
}
.dual-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.3rem;
  align-items:stretch
}
.download-panel {
  background:#111;
  color:#fff;
  border-radius:var(--radius);
  padding:2rem
}
.download-panel h3 {
  color:#fff
}
.download-panel p {
  color:#dfdfdf
}
.mini-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem
}
.mini-product {
  position:relative;
  display:grid;
  grid-template-columns:160px 1fr;
  gap:1rem;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  overflow:hidden;
  font-weight:950
}
.mini-product img {
  height:130px;
  width:160px;
  object-fit:cover
}
.mini-product small {
  display:block;
  color:#6b5900;
  font-size:.85rem;
  margin-top:.25rem
}
.about-grid {
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:3rem;
  align-items:center
}
.about-grid--intro {
  grid-template-columns:1.04fr .96fr
}
.about-media-stack {
  position:relative;
  min-height:520px
}
.about-photo {
  margin:0
}
.about-photo img {
  width:100%;
  object-fit:cover;
  border-radius:var(--radius);
  box-shadow:var(--shadow)
}
.about-photo--wide img {
  aspect-ratio:1.42
}
.about-photo--offset {
  position:absolute;
  right:0;
  bottom:0;
  width:min(58%,430px);
  background:#fff;
  border:10px solid #fff;
  border-radius:calc(var(--radius) + 4px);
  box-shadow:0 18px 50px rgba(0,0,0,.18)
}
.about-photo--offset img {
  aspect-ratio:1.42;
  object-fit:cover;
  box-shadow:none
}
.about-photo--full img {
  aspect-ratio:1.5
}
.about-copy p {
  font-size:1.05rem
}
.about-stats {
  margin-top:1.6rem
}
.team-grid {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:clamp(2rem,5vw,4rem);
  align-items:center
}
.mini-facts {
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.4rem
}
.mini-facts span {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:.55rem .85rem;
  border:1px solid var(--line);
  border-radius:999px;
  font-weight:900;
  background:#fff
}
.history-grid .section-head {
  margin-bottom:0
}
.timeline {
  margin:0;
  padding:0;
  list-style:none;
  border-left:3px solid #111
}
.timeline li {
  display:grid;
  grid-template-columns:120px 1fr;
  gap:1rem;
  padding:0 0 1.3rem 1.6rem;
  position:relative
}
.timeline li:before {
  content:"";
  position:absolute;
  left:-10px;
  top:.1rem;
  width:17px;
  height:17px;
  border-radius:50%;
  background:var(--yellow);
  border:3px solid #111
}
.timeline time {
  font-weight:950;
  color:#6b5900
}
.cert-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.8rem
}
.cert-grid span {
  padding:1rem;
  border-radius:var(--radius-sm);
  background:#fff;
  border:1px solid var(--line);
  font-weight:950
}
.cert-summary {
  margin-bottom:1.2rem
}
.certificate-gallery {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:1rem
}
.certificate-tile {
  grid-column:span 2;
  display:flex;
  min-height:100%;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 8px 24px rgba(0,0,0,.04)
}
.certificate-tile--wide {
  grid-column:span 3
}
.certificate-tile img {
  width:100%;
  height:360px;
  object-fit:contain;
  background:#fff;
  padding:.8rem;
  border-bottom:1px solid var(--line)
}
.certificate-tile--wide img {
  height:320px
}
.certificate-tile h3 {
  padding:1rem 1.1rem 1.15rem;
  font-size:1rem
}
.resource-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem
}
.resource-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.4rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start
}
.resource-card span {
  background:var(--yellow);
  font-weight:950;
  padding:.35rem .6rem;
  border-radius:999px;
  font-size:.78rem;
  margin-bottom:1rem
}
.resource-card p {
  flex:1
}
.download-overview {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem
}
.download-feature {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:310px;
  padding:1.55rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 8px 24px rgba(0,0,0,.04)
}
.download-feature--dark {
  background:#111;
  color:#fff;
  border-color:#111
}
.download-feature h3 {
  font-size:1.75rem;
  max-width:14ch
}
.download-feature--dark h3 {
  color:#fff
}
.download-feature p {
  flex:1;
  margin-top:.8rem
}
.download-feature--dark p {
  color:#dfdfdf
}
.download-type {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.35rem .65rem;
  margin-bottom:1.1rem;
  border-radius:999px;
  background:var(--yellow);
  color:#000;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em
}
.download-meta {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:0 0 1.25rem
}
.download-meta span {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.32rem .6rem;
  border-radius:999px;
  background:#f3f4f6;
  color:#42464d;
  font-size:.82rem;
  font-weight:900
}
.download-feature--dark .download-meta span {
  background:rgba(255,255,255,.1);
  color:#f4f4f4
}
.download-section-list {
  display:grid;
  gap:0
}
.download-product {
  padding:2rem 0;
  border-top:1px solid #d9dde3
}
.download-product:last-child {
  border-bottom:1px solid #d9dde3
}
.download-product__head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:1.2rem
}
.download-product__head p {
  max-width:680px;
  margin:.55rem 0 0
}
.download-model {
  display:inline-block;
  margin-bottom:.55rem;
  color:#6b5900;
  font-size:.84rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase
}
.download-file-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:.85rem
}
.download-file {
  position:relative;
  display:grid;
  gap:.38rem;
  min-height:154px;
  align-content:start;
  padding:1.1rem 1.1rem 1.2rem;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 8px 24px rgba(0,0,0,.04);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.download-file:before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--yellow)
}
.download-file:hover {
  color:#111;
  border-color:#c8ccd4;
  box-shadow:0 16px 32px rgba(0,0,0,.09);
  transform:translateY(-3px)
}
.download-file__type {
  width:max-content;
  max-width:100%;
  padding:.25rem .55rem;
  border-radius:999px;
  background:#f3f4f6;
  color:#5b6068;
  font-size:.76rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em
}
.download-file strong {
  color:#111;
  font-size:1.05rem;
  line-height:1.22
}
.download-file small {
  margin-top:auto;
  color:#696f78;
  font-weight:850
}
.contact-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:1.4rem;
  align-items:start
}
.contact-panel,.quote-form {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.65rem;
  box-shadow:0 8px 24px rgba(0,0,0,.04)
}
.contact-list {
  display:grid;
  gap:.9rem;
  margin:1.3rem 0
}
.contact-list p {
  display:grid;
  gap:.15rem;
  margin:0;
  padding:1rem;
  background:#f7f8fa;
  border-radius:var(--radius-sm)
}
.contact-list strong {
  color:#111
}
.contact-list span,.contact-list a {
  color:#4b4f58
}
.support-box {
  background:#111;
  border-radius:var(--radius-sm);
  padding:1.25rem;
  color:#fff
}
.support-box h3 {
  color:#fff
}
.support-box .check-list li {
  color:#fff
}
.quote-form {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem
}
.quote-form label {
  display:grid;
  gap:.4rem;
  font-weight:800;
  color:#222
}
.quote-form input,.quote-form select,.quote-form textarea {
  width:100%;
  border:1px solid #cfd3da;
  border-radius:13px;
  padding:.95rem 1rem;
  font:inherit;
  background:#fff
}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus {
  outline:3px solid rgba(255,194,14,.34);
  border-color:#9f7400
}
.quote-form input[aria-invalid="true"],.quote-form select[aria-invalid="true"],.quote-form textarea[aria-invalid="true"] {
  border-color:#e74c3c;
  outline-color:rgba(231,76,60,.34)
}
.form-full {
  grid-column:1/-1
}
.form-note {
  font-size:.88rem;
  margin:0
}
.site-footer {
  background:linear-gradient(180deg,var(--yellow) 0,var(--yellow) 8px,#050505 8px,#050505 100%);
  color:#fff;
  margin-top:0;
  padding:84px 0 26px
}
.footer-grid {
  display:grid;
  grid-template-columns:minmax(260px,1.45fr) minmax(120px,.75fr) minmax(130px,.75fr) minmax(240px,1.15fr);
  gap:clamp(1.4rem,3vw,2.6rem);
  align-items:start
}
.footer-brand {
  display:inline-flex;
  align-items:center;
  width:150px;
  height:39px;
  margin-bottom:1rem
}
.footer-brand__logo {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center
}
.site-footer p,.site-footer address {
  color:#c7c7c7;
  font-style:normal
}
.site-footer h2 {
  color:#fff;
  font-size:1rem;
  letter-spacing:.02em;
  margin-bottom:1rem
}
.site-footer ul {
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.55rem
}
.site-footer a {
  color:#dcdcdc
}
.site-footer a:hover {
  color:var(--yellow)
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:3rem;
  padding-top:1.4rem;
  color:#aaa;
  font-size:.85rem
}
@media (max-width: 1050px) {
  h1 {
    font-size:3.25rem
  }
  h2 {
    font-size:2.45rem
  }
  .primary-nav {
    position:fixed;
    left:20px;
    right:20px;
    top:90px;
    max-height:calc(100dvh - 110px);
    overflow:auto;
    display:grid;
    gap:.3rem;
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:1rem;
    box-shadow:var(--shadow);
    transform:translateY(-12px);
    opacity:0;
    pointer-events:none;
    transition:.18s ease
  }
  .menu-open .primary-nav {
    opacity:1;
    pointer-events:auto;
    transform:translateY(0)
  }
  .menu-open {
    overflow:hidden
  }
  .menu-toggle {
    display:flex
  }
  .nav-link {
    display:block;
    width:100%;
    padding:1rem
  }
  .hero__grid,.product-hero__grid,.feature-split__grid,.about-grid,.team-grid,.product-detail-grid,.history-grid,.contact-grid,.dual-panel,.manufacturer-proof-grid,.software-band__inner,.product-hero__grid--wide,.product-story-grid,.software-showcase,.compliance-grid,.technical-flow,.faq-grid {
    grid-template-columns:1fr
  }
  .hero__grid,.product-hero__grid {
    min-height:560px;
    padding:72px 0
  }
  .section-head--sticky {
    position:static
  }
  .product-grid,.application-grid,.resource-grid,.footer-grid,.wiring-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .certificate-gallery {
    grid-template-columns:repeat(2,1fr)
  }
  .certificate-tile,.certificate-tile--wide {
    grid-column:auto
  }
  .spec-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .spec-grid--six {
    grid-template-columns:repeat(3,1fr)
  }
  .feature-list {
    grid-template-columns:1fr
  }
  .hero-proof {
    max-width:420px
  }
  .software-gallery {
    grid-template-columns:1fr .72fr
  }
  .compact-list {
    grid-template-columns:repeat(2,1fr)
  }
  .workflow-grid--four {
    grid-template-columns:repeat(2,1fr)
  }
  .footer-bottom {
    display:grid
  }
}
@media (max-width: 680px) {
  .container {
    width:min(100% - 28px,var(--container))
  }
  .nav-shell__inner {
    height:70px
  }
  .brand {
    width:128px;
    height:33px;
    flex-basis:128px;
    min-width:128px
  }
  .primary-nav {
    top:82px
  }
  .hero__actions {
    display:grid
  }
  .download-hero__actions {
    display:grid
  }
  .button {
    width:100%
  }
  .hero__grid,.product-hero__grid {
    min-height:520px;
    padding:58px 0
  }
  .hero:before,.page-hero:before,.product-hero:before {
    background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.66) 62%,rgba(0,0,0,.32) 100%)
  }
  h1 {
    font-size:2.55rem
  }
  h2 {
    font-size:2rem
  }
  h3 {
    font-size:1.2rem
  }
  .section {
    padding:68px 0
  }
  .section--tight {
    padding:52px 0
  }
  .section-head--split {
    display:grid
  }
  .product-grid,.application-grid,.resource-grid,.workflow-grid,.footer-grid,.stat-grid,.spec-grid,.spec-grid--six,.cert-grid,.certificate-gallery,.mini-grid,.capability-grid,.accessory-grid,.software-gallery,.software-gallery__stack,.wiring-grid,.proof-badges {
    grid-template-columns:1fr
  }
  .about-media-stack {
    min-height:0
  }
  .about-photo--offset {
    position:static;
    width:100%;
    margin-top:1rem
  }
  .certificate-tile img,.certificate-tile--wide img {
    height:auto;
    max-height:420px
  }
  .product-card--featured {
    grid-template-columns:1fr
  }
  .product-card__media img {
    height:280px
  }
  .quick-facts li {
    display:grid
  }
  .quote-form {
    grid-template-columns:1fr
  }
  .timeline li {
    grid-template-columns:76px 1fr;
    padding-left:1.2rem
  }
  .page-hero__inner {
    padding:72px 0 60px
  }
  .mini-product {
    grid-template-columns:120px 1fr
  }
  .mini-product img {
    width:120px;
    height:110px
  }
  .check-list--columns {
    grid-template-columns:1fr
  }
  .hero-proof {
    display:none
  }
  .capability-card img {
    height:220px
  }
  .software-gallery__main,.software-gallery__stack img {
    height:auto
  }
  .compact-list {
    grid-template-columns:1fr
  }
  .document-actions {
    display:grid
  }
  .download-overview {
    grid-template-columns:1fr
  }
  .download-feature {
    min-height:0
  }
  .download-product__head {
    display:grid;
    gap:1rem
  }
  .download-file {
    min-height:132px
  }
  table {
    min-width:620px
  }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important
  }
  .button:hover,.product-card:hover,.product-card:hover img,.text-link:hover span {
    transform:none!important
  }
}
