/* ==========================================================================
   CMS Ing. Dr. Schreder GmbH – Website Stylesheet
   Bereinigte und klar gegliederte Fassung auf Basis von v294.

   Leitlinie: Scientific Engineering & Measurement Systems
   Hinweis: Die Reihenfolge der CSS-Regeln bleibt bewusst erhalten, damit die
   bestehende Kaskade und das sichtbare Layout unverändert bleiben.
   ========================================================================== */

/* ==========================================================================
   01 DESIGN TOKENS, BASE ELEMENTS AND GENERIC COMPONENTS
   ========================================================================== */

:root {
  --blue:#0b3a66;
  --blue2:#0f5f9c;
  --cyan:#1aa6c8;
  --dark:#14212b;
  --muted:#617181;
  --light:#f5f8fb;
  --line:#dce6ee;
  --white:#fff;
  --shadow:0 18px 40px rgba(11,58,102,.12);
  --radius:18px;
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--dark);
  background:#fff;
  line-height:1.55
}

a {
  color:inherit;
  text-decoration:none
}

img {
  max-width:100%;
  height:auto
}

.container {
  width:min(1180px,92%);
  margin:0 auto
}

.topbar {
  background:#071f36;
  color:#d7e8f5;
  font-size:14px
}

.topbar .container {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:8px 0
}

.header {
  position:sticky;
  top:0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  z-index:50
}

.nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:78px
}

.brand {
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:700;
  color:var(--blue)
}

.brand img {
  width:54px;
  height:auto
}

.brand small {
  display:block;
  color:var(--muted);
  font-weight:500;
  font-size:12px
}

.menu {
  display:flex;
  align-items:center;
  gap:22px;
  font-size:15px
}

.menu a:hover {
  color:var(--blue2)
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  padding:12px 20px;
  font-weight:700;
  cursor:pointer;
  background:var(--blue);
  color:white;
  box-shadow:0 8px 22px rgba(11,58,102,.18)
}

.btn.secondary {
  background:white;
  color:var(--blue);
  border:1px solid var(--line);
  box-shadow:none
}

.btn.cyan {
  background:var(--cyan)
}

.hamb {
  display:none;
  background:none;
  border:0;
  font-size:28px
}

.hero {
  background:linear-gradient(120deg,rgba(7,31,54,.94),rgba(15,95,156,.82)),url('../assets/hero-pattern.svg');
  color:white;
  padding:86px 0 74px;
  overflow:hidden
}

.hero-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:48px;
  align-items:center
}

.eyebrow {
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:13px;
  color:#aee8f5;
  font-weight:700
}

.hero h1 {
  font-size:clamp(38px,5vw,64px);
  line-height:1.05;
  margin:14px 0 18px
}

.hero p {
  font-size:19px;
  color:#d9eef8;
  max-width:720px
}

.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px
}

.hero-card {
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  border-radius:26px;
  padding:28px;
  box-shadow:0 20px 60px rgba(0,0,0,.16)
}

.hero-card h3 {
  margin-top:0
}

.check {
  display:flex;
  gap:12px;
  margin:14px 0
}

.check span {
  color:#8ce7ff;
  font-weight:900
}

.section {
  padding:78px 0
}

.section.light {
  background:var(--light)
}

.section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:34px
}

.section-head h2 {
  font-size:clamp(30px,3.4vw,44px);
  line-height:1.08;
  margin:0;
  color:var(--blue)
}

.section-head p {
  max-width:680px;
  color:var(--muted);
  margin:10px 0 0
}

.grid-3 {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px
}

.grid-2 {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px
}

.card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:var(--shadow)
}

.card h3 {
  margin:0 0 10px;
  color:var(--blue);
  font-size:22px
}

.card p {
  color:var(--muted)
}

.icon {
  width:44px;
  height:44px;
  border-radius:14px;
  background:#e8f7fb;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue2);
  font-weight:900;
  margin-bottom:18px
}

.product {
  padding:0;
  overflow:hidden
}

.product .image {
  height:190px;
  background:linear-gradient(135deg,#eaf2f8,#fff);
  display:flex;
  align-items:center;
  justify-content:center
}

.product .body {
  padding:24px
}

.tag {
  display:inline-flex;
  background:#e9f6fb;
  color:var(--blue2);
  font-size:12px;
  font-weight:700;
  border-radius:999px;
  padding:6px 10px;
  margin-bottom:12px;
  text-transform:uppercase;
  letter-spacing:.05em
}

.split {
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:48px;
  align-items:center
}

.panel {
  background:white;
  border:1px solid var(--line);
  border-radius:28px;
  padding:34px;
  box-shadow:var(--shadow)
}

.list {
  padding-left:0;
  list-style:none
}

.list li {
  padding:10px 0 10px 30px;
  position:relative;
  border-bottom:1px solid #edf2f6
}

.list li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--cyan);
  font-weight:900
}

.cta {
  background:linear-gradient(120deg,var(--blue),var(--blue2));
  color:white;
  border-radius:30px;
  padding:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px
}

.cta h2 {
  margin:0 0 8px;
  font-size:34px
}

.cta p {
  margin:0;
  color:#d9eef8
}

.footer {
  background:#071f36;
  color:#d7e8f5;
  padding:54px 0 22px
}

.footer-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:28px
}

.footer h4 {
  color:white;
  margin:0 0 14px
}

.footer a {
  display:block;
  color:#d7e8f5;
  margin:7px 0
}

.subfooter {
  border-top:1px solid rgba(255,255,255,.14);
  margin-top:34px;
  padding-top:18px;
  color:#a9bdca;
  font-size:14px
}

.page-hero {
  background:var(--light);
  padding:54px 0;
  border-bottom:1px solid var(--line)
}

.page-hero h1 {
  font-size:46px;
  color:var(--blue);
  margin:0 0 12px
}

.form {
  display:grid;
  gap:14px
}

.form input,.form textarea,.form select {
  width:100%;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  font:inherit
}

.form textarea {
  min-height:130px
}

.notice {
  background:#fff8e7;
  border:1px solid #ffe0a3;
  border-radius:14px;
  padding:16px;
  color:#694800
}

.mobile-only {
  display:none
}

@media(max-width:900px) {
  .hamb {
    display:block
  }
  .menu {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:78px;
    background:white;
    border-bottom:1px solid var(--line);
    padding:18px 4%;
    flex-direction:column;
    align-items:flex-start
  }
  .menu.open {
    display:flex
  }
  .hero-grid,.split,.grid-2,.grid-3,.footer-grid {
    grid-template-columns:1fr
  }
  .section-head {
    display:block
  }
  .cta {
    display:block
  }
  .hero {
    padding:60px 0
  }
  .mobile-only {
    display:block
  }
  .topbar .container {
    display:block
  }
  .menu .btn {
    width:100%
  }
}

.product-category .mini-list {
  padding-left:18px;
  color:var(--muted);
  margin:14px 0 0
}

.product-category .mini-list li {
  margin:6px 0
}

.products-grid .card {
  min-height:330px
}

.product-category a {
  display:inline-block;
  margin-top:12px;
  color:var(--blue2);
  font-weight:700
}

.feature-banner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:center;
  background:white;
  border:1px solid var(--line);
  border-radius:28px;
  padding:20px;
  margin:0 0 30px;
  box-shadow:var(--shadow)
}

.feature-banner img {
  border-radius:22px;
  background:#eef7fb
}

.feature-banner h3 {
  font-size:30px;
  line-height:1.15;
  margin:0 0 10px;
  color:var(--blue)
}

.feature-banner p {
  color:var(--muted);
  margin:0
}

.product-img {
  width:100%;
  border-radius:16px;
  margin-bottom:18px;
  background:#f5f8fb;
  border:1px solid var(--line)
}

@media(max-width:900px) {
  .feature-banner {
    grid-template-columns:1fr
  }
}

.hero-claim {
  font-size:20px!important;
  color:#ffffff!important;
  font-weight:700;
  max-width:820px;
  margin:0 0 12px!important
}

.hero-bridge {
  font-size:18px!important;
  color:#c9eaf6!important;
  max-width:820px;
  margin-top:0!important;
  border-left:4px solid var(--cyan);
  padding-left:18px
}

.brand small {
  letter-spacing:.02em
}

/* ==========================================================================
   02 HEADER, NAVIGATION AND HOME HERO
   ========================================================================== */

.site-header {
  background:#fff;
  border-bottom:1px solid #e9eef3;
  position:sticky;
  top:0;
  z-index:100;
  box-shadow:0 2px 20px rgba(15,45,75,.04)
}

.top-contact {
  height:34px;
  display:flex;
  justify-content:flex-end;
  gap:22px;
  align-items:center;
  font-size:14px;
  color:#1f3448;
  border-bottom:1px solid #eef2f6
}

.newnav {
  min-height:96px
}

.brand-logo img {
  width:190px;
  max-height:78px;
  object-fit:contain
}

.menu-modern {
  gap:34px;
  text-transform:uppercase;
  font-weight:700;
  font-size:14px;
  letter-spacing:.03em
}

.menu-modern a {
  padding:33px 0 22px;
  border-bottom:3px solid transparent
}

.menu-modern a.active,.menu-modern a:hover {
  color:#0068c9;
  border-bottom-color:#0068c9
}

.hero-visual {
  position:relative;
  min-height:560px;
  background-image:url('../assets/hero-asi16-mountain.jpg');
  background-size:cover;
  background-position:center top;
  color:#fff;
  display:flex;
  align-items:center;
  overflow:hidden
}

.hero-visual-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,24,43,.96) 0%,rgba(8,41,70,.88) 34%,rgba(8,41,70,.43) 58%,rgba(8,41,70,.05) 100%)
}

.hero-visual-content {
  position:relative;
  z-index:2
}

.hero-copy {
  max-width:760px
}

.hero-copy h1 {
  font-size:clamp(42px,5vw,72px);
  line-height:1.08;
  margin:0 0 24px;
  font-weight:800;
  letter-spacing:-.03em;
  text-shadow:0 2px 18px rgba(0,0,0,.22)
}

.hero-copy .hero-claim {
  font-size:22px!important;
  line-height:1.35!important;
  color:#fff!important;
  font-weight:700;
  margin:0 0 24px!important
}

.accent-line {
  width:84px;
  height:3px;
  background:#0a9fe8;
  margin:26px 0
}

.hero-copy .hero-bridge {
  border:0;
  padding:0;
  font-size:20px!important;
  line-height:1.35!important;
  color:#eef8ff!important;
  margin:0 0 30px!important
}

.bluebtn {
  background:#0071d8;
  border-radius:3px;
  padding:15px 26px;
  text-transform:uppercase;
  gap:18px
}

.outlinebtn {
  background:rgba(255,255,255,.08);
  border:2px solid rgba(255,255,255,.85);
  border-radius:3px;
  color:#fff;
  padding:13px 26px;
  text-transform:uppercase;
  gap:18px;
  box-shadow:none
}

.trustbar {
  background:#fff;
  border-bottom:1px solid #e9eef3;
  box-shadow:0 18px 45px rgba(35,65,95,.08)
}

.trustgrid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0
}

.trustitem {
  display:grid;
  grid-template-columns:44px 1fr;
  column-gap:14px;
  align-items:center;
  padding:22px 18px;
  border-right:1px solid #d7e0e8
}

.trustitem:last-child {
  border-right:0
}

.trusticon {
  grid-row:span 2;
  width:38px;
  height:38px;
  border:2px solid #0068c9;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0068c9;
  font-weight:800
}

.trustitem strong {
  font-size:14px;
  text-transform:uppercase;
  color:#14212b;
  line-height:1.2
}

.trustitem span {
  font-size:13px;
  color:#3d4d5c;
  line-height:1.25
}

.solutions-section {
  padding-top:36px
}

.center-head {
  text-align:center;
  margin-bottom:22px
}

.center-head h2 {
  text-transform:uppercase;
  color:#0b3a66;
  letter-spacing:.05em;
  font-size:34px;
  margin:0
}

.center-head span {
  display:block;
  width:70px;
  height:3px;
  background:#0a9fe8;
  margin:10px auto 0
}

.solution-cards {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px
}

.solution-card {
  background:#fff;
  border:1px solid #dfe7ee;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(21,57,86,.08);
  display:flex;
  flex-direction:column;
  min-height:330px
}

.solution-img {
  height:136px;
  background-size:cover;
  background-position:center
}

.solution-img.electrical {
  background-image:linear-gradient(135deg,#f4f6f7,#dce7f0)
}

.solution-img.atmosphere {
  background-image:url('../assets/img-products-atmosphere.svg')
}

.solution-img.optical {
  background-image:linear-gradient(135deg,#e8f2ff,#9cc8e8)
}

.solution-img.optics {
  background-image:url('../assets/img-optics.svg')
}

.solution-img.standards {
  background-image:url('../assets/img-radiometry.svg')
}

.solution-img.radiometer {
  background-image:url('../assets/img-light.svg')
}

.solution-body {
  padding:16px 15px 18px;
  display:flex;
  flex-direction:column;
  flex:1
}

.solution-body h3 {
  font-size:16px;
  text-transform:uppercase;
  line-height:1.05;
  margin:0 0 10px;
  color:#09356a
}

.solution-body p {
  font-size:14px;
  color:#344453;
  margin:0;
  line-height:1.45
}

.solution-body a {
  margin-top:auto;
  align-self:flex-end;
  color:#0068c9;
  font-size:28px;
  line-height:1
}

.image-panel {
  padding:12px
}

.image-panel img {
  display:block;
  border-radius:20px
}

.footer-logo {
  width:170px;
  background:#fff;
  border-radius:10px;
  padding:8px;
  margin-bottom:12px
}

@media(max-width:1100px) {
  .solution-cards {
    grid-template-columns:repeat(3,1fr)
  }
  .trustgrid {
    grid-template-columns:repeat(2,1fr)
  }
  .trustitem {
    border-right:0;
    border-bottom:1px solid #d7e0e8
  }
  .menu-modern {
    gap:18px
  }
  .brand-logo img {
    width:160px
  }
}

@media(max-width:760px) {
  .top-contact {
    display:none
  }
  .newnav {
    min-height:78px
  }
  .brand-logo img {
    width:150px
  }
  .hero-visual {
    min-height:600px;
    background-position:62% top
  }
  .hero-visual-overlay {
    background:linear-gradient(90deg,rgba(6,24,43,.96),rgba(6,24,43,.76))
  }
  .solution-cards,.trustgrid {
    grid-template-columns:1fr
  }
  .trustitem {
    border-bottom:1px solid #d7e0e8
  }
  .menu-modern a {
    padding:8px 0
  }
  .menu {
    top:78px
  }
  .hero-copy h1 {
    font-size:40px
  }
  .hero-copy .hero-claim,.hero-copy .hero-bridge {
    font-size:17px!important
  }
}

.footer-contact,.legal-mini {
  font-size:14px;
  line-height:1.65;
  color:rgba(255,255,255,.78)
}

.footer-contact a,.legal-mini a {
  color:rgba(255,255,255,.9)
}

.legal-card h2 {
  margin-top:0
}

.legal-card h3 {
  margin-top:24px;
  color:#0b3976
}

.muted {
  color:#667085;
  font-size:14px
}

.hero-kicker {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(2,26,49,.28);
  color:#d9f2ff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:999px;
}

.hero-visual {
  background-image:url('../assets/hero-asi16-mountain.jpg') !important;
}

.hero-visual-overlay {
  background: radial-gradient(circle at 73% 20%, rgba(255,205,95,.18) 0%, rgba(255,205,95,0) 27%), linear-gradient(90deg,rgba(5,22,40,.98) 0%,rgba(7,38,66,.90) 34%,rgba(7,38,66,.46) 58%,rgba(7,38,66,.05) 100%) !important;
}

.hero-copy h1 {
  letter-spacing:-.04em;
  margin-bottom:20px;
}

.hero-bridge-de {
  margin: -12px 0 30px !important;
  color:#d7ecf7;
  font-size:17px;
  max-width:700px;
}

.bluebtn,.outlinebtn {
  letter-spacing:.04em;
}

.competence-section {
  background:linear-gradient(120deg,#071f36,#0b3a66);
  color:#fff;
  padding:64px 0;
}

.competence-grid {
  display:grid;
  grid-template-columns:1.05fr 1.35fr;
  gap:42px;
  align-items:start;
}

.competence-copy h2 {
  color:#fff;
  font-size:clamp(30px,3.4vw,46px);
  line-height:1.1;
  margin:8px 0 18px;
}

.lead-left {
  color:#d9edf8;
  font-size:18px;
  margin:0 0 14px;
}

.lead-left.en {
  color:#b8d6e7;
}

.competence-facts {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

.competence-facts div {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:22px;
}

.competence-facts strong {
  display:block;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:8px;
}

.competence-facts span {
  color:#d1e5f3;
}

.en-subtitle {
  display:block;
  color:#406074;
  font-size:20px;
  margin-top:10px;
  font-weight:600;
}

.en-text {
  color:#506273;
}

.footer-de {
  display:block;
  color:#a9bdca;
  margin-top:8px;
}

@media(max-width:900px) {
  .competence-grid,.competence-facts {
    grid-template-columns:1fr
  }
  .hero-bridge-de {
    font-size:16px
  }
}

/* ==========================================================================
   03 SERVICES PAGE – BASE STYLES
   ========================================================================== */

.services-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.74),rgba(5,48,82,.28)), url('../assets/hero-asi16-mountain.jpg') center right/cover no-repeat;
}

.page-hero-sub {
  color:#d7eaf6;
  font-size:18px;
  max-width:760px;
  margin-top:12px;
}

.service-highlight {
  background:linear-gradient(135deg,#08294a,#0b4f9f);
  color:#fff;
  border-radius:22px;
  padding:34px;
  box-shadow:0 14px 36px rgba(8,41,74,.22);
}

.service-highlight strong {
  display:block;
  font-size:42px;
  line-height:1;
  margin-bottom:12px;
}

.service-highlight span {
  display:block;
  color:#bfe9ff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:18px;
}

.service-highlight p {
  color:#e4f3fb;
  margin:0;
}

.service-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
}

.service-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  padding:30px;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
  display:flex;
  flex-direction:column;
}

.service-number {
  width:46px;
  height:46px;
  border-radius:50%;
  background:#e6f2ff;
  color:#0b4f9f;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  margin-bottom:18px;
}

.service-card h3 {
  color:#0b2d63;
  font-size:25px;
  margin:0 0 6px;
}

.service-sub {
  color:#0b72c9;
  font-weight:800;
  margin:0 0 14px;
}

.service-card p {
  color:#526176;
}

.service-card ul {
  margin:14px 0 22px;
  padding-left:20px;
  color:#405167;
}

.service-card li {
  margin-bottom:8px;
}

.service-cta {
  margin-top:auto;
  color:#006fd1;
  font-weight:900;
}

.trust-panel {
  background:linear-gradient(120deg,#071f36,#0b3a66);
  color:#fff;
  border-radius:26px;
  padding:42px;
}

.trust-panel h2 {
  color:#fff;
  max-width:850px;
}

.trust-panel p {
  color:#d9edf8;
  max-width:900px;
}

.trust-mini-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:28px;
}

.trust-mini-grid div {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  padding:20px;
}

.trust-mini-grid strong {
  display:block;
  margin-bottom:6px;
  text-transform:uppercase;
}

.trust-mini-grid span {
  color:#d2e7f4;
}

.final-cta {
  text-align:center;
  background:#f5f8fb;
}

.final-cta p {
  max-width:650px;
  margin:0 auto 24px;
  color:#526176;
  font-size:18px;
}

@media(max-width:900px) {
  .service-grid,.trust-mini-grid {
    grid-template-columns:1fr
  }
  .service-highlight strong {
    font-size:34px
  }
}

/* ==========================================================================
   04 E-CHECK PAGE – BASE STYLES
   ========================================================================== */

.echeck-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.96),rgba(5,48,82,.78),rgba(5,48,82,.30)), url('../assets/hero-asi16-mountain.jpg') center right/cover no-repeat;
}

.echeck-intro .split {
  align-items:stretch;
}

.echeck-panel, .echeck-instruments {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  padding:30px;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
}

.echeck-panel h3, .echeck-instruments h3 {
  margin-top:0;
  color:#0b2d63;
}

.echeck-panel ul, .echeck-instruments ul {
  padding-left:20px;
  color:#405167;
}

.echeck-panel li, .echeck-instruments li {
  margin-bottom:8px;
}

.echeck-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.echeck-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  padding:30px;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
}

.echeck-icon {
  width:46px;
  height:46px;
  border-radius:50%;
  background:#e6f2ff;
  color:#0b4f9f;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  margin-bottom:18px;
}

.echeck-card h3 {
  margin:0 0 6px;
  color:#0b2d63;
  font-size:24px;
}

.echeck-card ul {
  margin:16px 0 0;
  padding-left:20px;
  color:#405167;
}

.echeck-card li {
  margin-bottom:8px;
}

.process-list {
  display:grid;
  gap:14px;
}

.process-list div {
  background:#f5f8fb;
  border:1px solid #dfe7f0;
  border-radius:16px;
  padding:18px 20px;
}

.process-list strong {
  display:block;
  color:#0b2d63;
  margin-bottom:6px;
}

.process-list span {
  color:#526176;
}

.small-note {
  color:#64748b;
  font-size:14px;
}

.benefit-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.benefit-grid div {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:18px;
  padding:22px;
}

.benefit-grid strong {
  color:#0b2d63;
  display:block;
  margin-bottom:8px;
}

.benefit-grid p {
  margin:0;
  color:#526176;
}

.echeck-cta {
  background:linear-gradient(120deg,#071f36,#0b3a66);
  color:#fff;
}

.echeck-cta h2 {
  color:#fff;
}

.echeck-cta p {
  color:#d9edf8;
}

@media(max-width:1000px) {
  .echeck-grid,.benefit-grid {
    grid-template-columns:1fr 1fr
  }
}

@media(max-width:700px) {
  .echeck-grid,.benefit-grid {
    grid-template-columns:1fr
  }
}

/* ==========================================================================
   05 ACTIVE NAVIGATION STATE
   ========================================================================== */

nav a.active, .nav a.active {
  color: #0b4f9f;
  border-bottom: 2px solid #0b4f9f;
}

/* ==========================================================================
   06 PRODUCTS PAGE – BASE STYLES
   ========================================================================== */

.products-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.72),rgba(5,48,82,.22)), url('../assets/hero-asi16-mountain.jpg') center right/cover no-repeat;
}

.products-intro .split {
  align-items:stretch;
}

.product-highlight {
  background:linear-gradient(135deg,#08294a,#0b4f9f);
  color:#fff;
  border-radius:22px;
  padding:34px;
  box-shadow:0 14px 36px rgba(8,41,74,.22);
}

.product-highlight strong {
  display:block;
  font-size:34px;
  line-height:1.08;
  margin-bottom:12px;
}

.product-highlight span {
  display:block;
  color:#bfe9ff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:18px;
}

.product-highlight p {
  color:#e4f3fb;
  margin:0;
}

.product-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

.product-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
  display:flex;
  flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease;
}

.product-card:hover {
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(18,40,70,.14);
}

.product-card-feature {
  grid-column:span 2;
}

.product-img {
  min-height:215px;
  background:#edf4fb;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
}

.product-img.asi {
  background-image: linear-gradient(0deg,rgba(5,22,40,.38),rgba(5,22,40,.02)), url('../assets/hero-asi16-mountain.jpg');
}

.product-img.optical {
  background-image: url('../assets/products-optical-measurement.jpg');
  background-size: cover;
  background-position: center;
}

.product-img.standards {
  background-image: url('../assets/products-transfer-standards.jpg');
  background-size: cover;
  background-position: center;
}

.product-img.optics {
  background-image: url('../assets/products-optics-lightguides.jpg');
  background-size: cover;
  background-position: center;
}

.product-img.radiometer {
  background-image: url('../assets/products-radiometer-uv.jpg');
  background-size: cover;
  background-position: center;
}

.product-img.domes {
  background-image: url('../assets/products-domes-lab-equipment.jpg');
  background-size: cover;
  background-position: center;
}

.product-img.lights {
  background-image: url('../assets/products-light-sources.jpg');
  background-size: cover;
  background-position: center;
}

.product-img.software {
  background-image: url('../assets/products-software.jpg');
  background-size: cover;
  background-position: center;
}

.product-body {
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.product-kicker {
  color:#006cbf;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.product-body h3 {
  margin:0;
  color:#0b2d63;
  font-size:23px;
  line-height:1.18;
}

.product-body p {
  color:#526176;
  margin:0;
}

.product-cta {
  margin-top:auto;
  color:#006fd1;
  font-weight:900;
}

.product-list {
  padding-left:20px;
  color:#405167;
}

.product-list li {
  margin-bottom:8px;
}

.custom-panel {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  padding:30px;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
}

.custom-panel h3 {
  color:#0b2d63;
  margin-top:0;
}

.custom-steps {
  display:grid;
  gap:14px;
}

.custom-steps div {
  background:#f5f8fb;
  border:1px solid #dfe7f0;
  border-radius:16px;
  padding:18px 20px;
}

.custom-steps strong {
  display:block;
  color:#0b2d63;
  margin-bottom:6px;
}

.custom-steps span {
  color:#526176;
}

.product-trust {
  background:#fff;
}

@media(max-width:1050px) {
  .product-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .product-card-feature {
    grid-column:span 2
  }
}

@media(max-width:720px) {
  .product-grid {
    grid-template-columns:1fr
  }
  .product-card-feature {
    grid-column:span 1
  }
}

/* ==========================================================================
   07 APPLICATIONS PAGE – BASE STYLES
   ========================================================================== */

.applications-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.72),rgba(5,48,82,.22)), url('../assets/hero-asi16-mountain.jpg') center right/cover no-repeat;
}

.applications-intro .split {
  align-items:stretch;
}

.application-highlight {
  background:linear-gradient(135deg,#071f36,#0068c9 58%,#00a3d7);
}

.application-grid .product-card-feature {
  grid-column:span 2;
}

.product-img.app-atmosphere {
  background-image: linear-gradient(0deg,rgba(5,22,40,.38),rgba(5,22,40,.02)), url('../assets/hero-asi16-mountain.jpg');
}

.product-img.app-uvindex {
  background: radial-gradient(circle at 74% 22%,rgba(255,245,170,.72),transparent 24%), linear-gradient(135deg,#073b66,#0a8fd1 58%,#f6c443);
}

.product-img.app-photobio {
  background: radial-gradient(circle at 70% 24%,rgba(255,255,255,.44),transparent 26%), linear-gradient(135deg,#102a43,#486581 58%,#9fb3c8);
}

.product-img.app-transmission {
  background-image:url('../assets/img-transmission.svg');
  background-color:#eaf4fb;
}

.product-img.app-reflection {
  background-image:url('../assets/img-reflexion.svg');
  background-color:#eaf4fb;
}

.product-img.app-calibration {
  background-image:url('../assets/img-radiometry.svg');
  background-color:#eaf4fb;
}

.product-img.app-nir {
  background: radial-gradient(circle at 72% 23%,rgba(255,70,40,.45),transparent 24%), linear-gradient(135deg,#111827,#3b1d59 55%,#ef4444);
}

.product-img.app-software {
  background: radial-gradient(circle at 24% 22%,rgba(0,163,215,.35),transparent 25%), linear-gradient(135deg,#071f36,#0b4f9f 54%,#00a3d7);
}

.application-trust {
  background:#fff;
}

@media(max-width:1050px) {
  .application-grid .product-card-feature {
    grid-column:span 2
  }
}

@media(max-width:720px) {
  .application-grid .product-card-feature {
    grid-column:span 1
  }
}

/* ==========================================================================
   08 ASI-16 PRODUCT PAGE – BASE STYLES
   ========================================================================== */

.asi16-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.72),rgba(5,48,82,.22)), url('../assets/hero-asi16-mountain.jpg') center right/cover no-repeat;
}

.asi16-intro .split {
  align-items:stretch;
}

.asi16-product-panel {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  padding:18px;
  box-shadow:0 14px 36px rgba(18,40,70,.12);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.asi16-product-panel img {
  width:100%;
  min-height:330px;
  object-fit:cover;
  border-radius:16px;
  background:#edf4fb;
}

.asi16-panel-caption {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:18px 6px 4px;
}

.asi16-panel-caption strong {
  color:#0b2d63;
  font-size:26px;
}

.asi16-panel-caption span {
  color:#526176;
  font-weight:700;
  text-align:right;
}

.asi16-actions {
  margin-top:24px;
}

.asi16-grid .product-card-feature {
  grid-column:span 2;
}

.product-img.asi16-sky {
  background-image: linear-gradient(0deg,rgba(5,22,40,.38),rgba(5,22,40,.02)), url('../assets/hero-asi16-mountain.jpg');
}

.product-img.asi16-solar {
  background: radial-gradient(circle at 74% 22%,rgba(255,245,170,.72),transparent 24%), linear-gradient(135deg,#073b66,#0a8fd1 58%,#f6c443);
}

.product-img.asi16-monitoring {
  background: radial-gradient(circle at 24% 22%,rgba(0,163,215,.35),transparent 25%), linear-gradient(135deg,#071f36,#0b4f9f 54%,#00a3d7);
}

.product-img.asi16-software {
  background: radial-gradient(circle at 22% 24%,rgba(255,255,255,.28),transparent 24%), linear-gradient(135deg,#0f172a,#1d4ed8 55%,#38bdf8);
}

.product-img.asi16-outdoor {
  background: radial-gradient(circle at 68% 22%,rgba(255,255,255,.55),transparent 25%), linear-gradient(135deg,#0f172a,#3b82f6 55%,#e2e8f0);
}

.product-img.asi16-custom {
  background: radial-gradient(circle at 72% 20%,rgba(255,255,255,.34),transparent 25%), linear-gradient(135deg,#101828,#0b4f9f 55%,#78b82a);
}

.asi16-spec-panel {
  border-top:5px solid #0068c9;
}

.asi16-trust {
  background:#fff;
}

@media(max-width:1050px) {
  .asi16-grid .product-card-feature {
    grid-column:span 2;
  }
}

@media(max-width:720px) {
  .asi16-grid .product-card-feature {
    grid-column:span 1;
  }
  .asi16-panel-caption {
    display:block;
  }
  .asi16-panel-caption span {
    text-align:left;
    display:block;
    margin-top:4px;
  }
  .asi16-product-panel img {
    min-height:240px;
  }
}

/* ==========================================================================
   09 DOWNLOADS PAGE – BASE STYLES
   ========================================================================== */

.downloads-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.72),rgba(5,48,82,.22)), url('../assets/hero-asi16-mountain.jpg') center right/cover no-repeat;
}

.downloads-intro .split {
  align-items:stretch;
}

.download-highlight {
  background:linear-gradient(135deg,#071f36,#0b4f9f 58%,#00a3d7);
  color:#fff;
  border-radius:22px;
  padding:34px;
  box-shadow:0 14px 36px rgba(8,41,74,.22);
}

.download-highlight strong {
  display:block;
  font-size:34px;
  line-height:1.08;
  margin-bottom:12px;
}

.download-highlight span {
  display:block;
  color:#bfe9ff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:18px;
}

.download-highlight p {
  color:#e4f3fb;
  margin:0;
}

.download-grid .product-card-feature {
  grid-column:span 2;
}

.product-img.download-asi16 {
  background-image: linear-gradient(0deg,rgba(5,22,40,.38),rgba(5,22,40,.02)), url('../assets/hero-asi16-mountain.jpg');
}

.product-img.download-echeck {
  background: radial-gradient(circle at 72% 22%,rgba(255,255,255,.42),transparent 26%), linear-gradient(135deg,#0b2d63,#0b4f9f 55%,#78b82a);
}

.product-img.download-reports {
  background: radial-gradient(circle at 72% 22%,rgba(255,255,255,.5),transparent 24%), linear-gradient(135deg,#1e293b,#475569 55%,#e2e8f0);
}

.product-img.download-uvnir {
  background: radial-gradient(circle at 74% 22%,rgba(255,245,170,.72),transparent 24%), linear-gradient(135deg,#073b66,#0a8fd1 58%,#f6c443);
}

.product-img.download-calibration {
  background: radial-gradient(circle at 74% 18%,rgba(255,255,255,.36),transparent 28%), linear-gradient(135deg,#101828,#0b4f9f 55%,#78b82a);
}

.product-img.download-software {
  background: radial-gradient(circle at 24% 22%,rgba(0,163,215,.35),transparent 25%), linear-gradient(135deg,#071f36,#0b4f9f 54%,#00a3d7);
}

.download-request-panel {
  border-top:5px solid #0068c9;
}

.download-trust {
  background:#fff;
}

@media(max-width:1050px) {
  .download-grid .product-card-feature {
    grid-column:span 2;
  }
}

@media(max-width:720px) {
  .download-grid .product-card-feature {
    grid-column:span 1;
  }
}

/* ==========================================================================
   10 CONTACT PAGE – BASE STYLES
   ========================================================================== */

.contact-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.72),rgba(5,48,82,.22)), url('../assets/hero-asi16-mountain.jpg') center right/cover no-repeat;
}

.contact-intro .split {
  align-items:stretch;
}

.contact-highlight {
  background:linear-gradient(135deg,#071f36,#0b4f9f 58%,#00a3d7);
  color:#fff;
  border-radius:22px;
  padding:34px;
  box-shadow:0 14px 36px rgba(8,41,74,.22);
}

.contact-highlight strong {
  display:block;
  font-size:34px;
  line-height:1.08;
  margin-bottom:12px;
}

.contact-highlight span {
  display:block;
  color:#bfe9ff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:18px;
}

.contact-highlight p {
  color:#e4f3fb;
  margin:0;
}

.contact-grid {
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:28px;
  align-items:start;
}

.contact-form-panel,.contact-info-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
}

.contact-form-panel {
  padding:34px;
}

.contact-form-panel h2 {
  margin:6px 0 8px;
  color:#0b2d63;
  font-size:34px;
}

.form-note {
  color:#526176;
  margin:0 0 22px;
}

.contact-form .form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.contact-form textarea {
  min-height:190px;
}

.contact-info-panel {
  display:grid;
  gap:18px;
}

.contact-info-card {
  padding:26px;
}

.contact-info-card.primary {
  border-top:5px solid #0068c9;
}

.contact-info-card h3 {
  margin:6px 0 12px;
  color:#0b2d63;
  font-size:24px;
}

.contact-info-card p {
  color:#526176;
  line-height:1.65;
}

.contact-info-card a {
  color:#0068c9;
  font-weight:800;
}

.contact-topic-grid .product-card-feature {
  grid-column:span 2;
}

.product-img.contact-asi {
  background-image:linear-gradient(0deg,rgba(5,22,40,.38),rgba(5,22,40,.02)),url('../assets/hero-asi16-mountain.jpg');
}

.product-img.contact-products {
  background:radial-gradient(circle at 76% 22%,rgba(255,255,255,.42),transparent 26%),linear-gradient(135deg,#0a5fa8,#0ba3c9 55%,#f6b23a);
}

.product-img.contact-services {
  background:radial-gradient(circle at 72% 22%,rgba(255,255,255,.42),transparent 26%),linear-gradient(135deg,#0b2d63,#0b4f9f 55%,#78b82a);
}

.contact-trust {
  background:#fff;
}

@media(max-width:1050px) {
  .contact-grid {
    grid-template-columns:1fr
  }
  .contact-topic-grid .product-card-feature {
    grid-column:span 2;
  }
}

@media(max-width:720px) {
  .contact-form .form-row {
    grid-template-columns:1fr
  }
  .contact-topic-grid .product-card-feature {
    grid-column:span 1;
  }
  .contact-form-panel {
    padding:24px;
  }
}

/* ==========================================================================
   11 GLOBAL TYPOGRAPHY, HERO AND SHARED REFINEMENTS
   ========================================================================== */

.home-hero-optimized {
  min-height:620px;
  background-position:center center;
}

.home-hero-copy {
  max-width:860px;
}

.home-hero-copy h1 {
  font-size:clamp(42px,5.2vw,76px);
  line-height:1.03;
  max-width:980px;
}

.home-hero-copy .hero-claim {
  max-width:820px;
}

.home-focus-section {
  padding-top:48px;
}

.home-focus-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.home-focus-card {
  background:#fff;
  border:1px solid #dfe7ee;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 14px 32px rgba(21,57,86,.08);
  display:flex;
  flex-direction:column;
  min-height:410px;
  transition:transform .18s ease, box-shadow .18s ease;
}

.home-focus-card:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(21,57,86,.14);
}

.home-focus-card.flagship {
  grid-column:span 2;
}

.home-focus-img {
  height:170px;
  background-size:cover;
  background-position:center;
}

.home-focus-card.flagship .home-focus-img {
  height:210px;
}

.home-focus-img.focus-asi {
  background-image:linear-gradient(0deg,rgba(5,22,40,.36),rgba(5,22,40,.02)),url('../assets/hero-asi16-mountain.jpg');
}

.home-focus-img.focus-products {
  background:radial-gradient(circle at 76% 22%,rgba(255,255,255,.42),transparent 26%),linear-gradient(135deg,#0a5fa8,#0ba3c9 55%,#f6b23a);
}

.home-focus-img.focus-applications {
  background:radial-gradient(circle at 74% 22%,rgba(255,245,170,.72),transparent 24%),linear-gradient(135deg,#073b66,#0a8fd1 58%,#f6c443);
}

.home-focus-img.focus-services {
  background:radial-gradient(circle at 72% 22%,rgba(255,255,255,.42),transparent 26%),linear-gradient(135deg,#0b2d63,#0b4f9f 55%,#78b82a);
}

.home-focus-body {
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.home-focus-body h3 {
  font-size:24px;
  line-height:1.12;
  color:#0b2d63;
  margin:8px 0 12px;
}

.home-focus-body p {
  color:#526176;
  line-height:1.6;
  margin:0 0 18px;
}

.home-focus-body a {
  margin-top:auto;
  color:#0068c9;
  font-weight:900;
  text-transform:uppercase;
  font-size:14px;
  letter-spacing:.03em;
}

.home-asi-section .split {
  align-items:center;
}

.home-asi-panel img {
  width:100%;
  max-height:430px;
  object-fit:cover;
}

.home-inline-actions {
  margin-top:22px;
}

.home-inline-actions .secondary {
  background:#eef5fb;
  color:#0b2d63;
  border:1px solid #d7e5f3;
}

.home-final-cta {
  background:linear-gradient(135deg,#071f36,#0b4f9f);
  color:#fff;
}

.home-final-cta h2,.home-final-cta p {
  color:#fff;
}

@media(max-width:1100px) {
  .home-focus-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .home-focus-card.flagship {
    grid-column:span 2;
  }
}

@media(max-width:720px) {
  .home-focus-grid {
    grid-template-columns:1fr;
  }
  .home-focus-card.flagship {
    grid-column:span 1;
  }
  .home-hero-optimized {
    min-height:620px;
  }
  .home-focus-img,.home-focus-card.flagship .home-focus-img {
    height:180px;
  }
}

.page-hero > .container > p:not(.page-hero-sub) {
  color:#ffffff !important;
  font-size:22px;
  line-height:1.42;
  font-weight:600;
  max-width:760px;
  margin:0 0 10px;
  text-shadow:0 2px 14px rgba(0,0,0,.38);
}

.page-hero > .container > p:not(.page-hero-sub)::before {
  content:"";
  display:block;
  width:56px;
  height:3px;
  background:rgba(255,255,255,.9);
  margin:0 0 14px;
  border-radius:999px;
}

.page-hero-sub {
  color:#eef8ff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.32);
}

body {
  margin: 0;
}

.page-hero {
  margin-top: 0 !important;
}

header.site-header {
  margin-bottom: 0 !important;
}

.nav.newnav {
  margin-bottom: 0 !important;
}

.page-hero {
  margin-top:0 !important;
  padding:78px 0 82px !important;
  min-height:520px;
  display:flex;
  align-items:center;
  border-bottom:0 !important;
}

.page-hero h1 {
  color:#ffffff !important;
  font-size:clamp(44px,5vw,72px) !important;
  line-height:1.08 !important;
  margin:18px 0 26px !important;
  font-weight:800 !important;
  letter-spacing:-.03em;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}

.page-hero > .container > p:not(.page-hero-sub) {
  color:#ffffff !important;
  font-size:clamp(22px,2.1vw,32px) !important;
  line-height:1.42 !important;
  font-weight:650 !important;
  max-width:860px;
  margin:0 0 22px !important;
  text-shadow:0 2px 16px rgba(0,0,0,.46);
}

.page-hero-sub {
  color:#eaf7ff !important;
  font-size:clamp(17px,1.35vw,22px) !important;
  line-height:1.45 !important;
  max-width:760px;
  margin:0 !important;
  text-shadow:0 2px 16px rgba(0,0,0,.46);
  opacity:.95;
}

.page-hero > .container > p:not(.page-hero-sub)::before {
  background:rgba(255,255,255,.92) !important;
}

.services-hero,.products-hero,.applications-hero,.asi16-hero,.downloads-hero,.contact-hero {
  background-position:center center !important;
}

.page-hero h1 {
  font-size: 48px !important;
  line-height: 1.1;
}

.home .page-hero h1, .home-hero h1 {
  font-size: 48px !important;
  line-height: 1.1;
}

.home-hero-optimized .home-hero-copy h1, .home-hero-copy h1, .hero-visual.home-hero-optimized h1 {
  font-size: 48px !important;
  line-height: 1.1 !important;
  max-width: 980px;
}

@media(max-width:760px) {
  .home-hero-optimized .home-hero-copy h1, .home-hero-copy h1, .hero-visual.home-hero-optimized h1 {
    font-size: 36px !important;
    line-height: 1.12 !important;
  }
}

:root {
  --cms-text:#1f2937;
  --cms-muted:#526176;
  --cms-blue:#0b2d63;
  --cms-accent:#0068c9;
}

body {
  color:var(--cms-text);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

p {
  line-height:1.72;
}

.section h2, .center-head h2 {
  letter-spacing:-0.025em;
  line-height:1.14;
}

.section h3, .product-body h3, .custom-panel h3, .trust-panel h2 {
  letter-spacing:-0.018em;
  line-height:1.18;
}

.tag, .product-kicker {
  letter-spacing:.085em;
  font-size:12px;
  font-weight:800;
}

.page-hero h1, .home-hero-copy h1, .home-hero h1 {
  font-size:clamp(34px, 4.1vw, 48px) !important;
  line-height:1.08 !important;
  letter-spacing:-0.045em;
  font-weight:800;
  max-width:980px;
  margin-bottom:18px;
}

.page-hero p, .home-hero-copy p, .home-hero p {
  font-size:clamp(17px, 1.45vw, 21px);
  line-height:1.55;
  max-width:850px;
}

.page-hero-sub, .en-text {
  font-size:clamp(15px, 1.1vw, 17px) !important;
  line-height:1.65 !important;
  opacity:.92;
}

.en-text, .page-hero-sub {
  font-weight:500;
}

.menu-modern a, .menu a {
  font-size:14px;
  font-weight:800;
  letter-spacing:.018em;
}

.product-body h3 {
  font-size:24px;
  margin-bottom:10px;
}

.product-body p {
  font-size:15.5px;
  line-height:1.68;
}

.product-cta {
  font-size:14px;
  font-weight:800;
}

.trust-panel h2 {
  font-size:clamp(30px, 3vw, 42px);
}

.trust-panel p {
  font-size:17px;
  line-height:1.72;
}

.final-cta h2 {
  font-size:clamp(30px, 3vw, 42px);
  letter-spacing:-0.03em;
  line-height:1.12;
}

.final-cta p {
  font-size:17px;
  line-height:1.68;
}

.footer {
  font-size:14.5px;
  line-height:1.6;
}

.footer h4 {
  font-size:15px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

@media(max-width:720px) {
  .page-hero h1, .home-hero-copy h1, .home-hero h1 {
    font-size:34px !important;
    line-height:1.1 !important;
    letter-spacing:-0.035em;
  }
  .page-hero p, .home-hero-copy p, .home-hero p {
    font-size:17px;
    line-height:1.55;
  }
  .section h2, .center-head h2 {
    font-size:30px;
    line-height:1.16;
  }
  .product-body h3 {
    font-size:22px;
  }
}

.home-hero, .hero.home-hero, section.home-hero {
  min-height: 560px !important;
  height: 560px !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.home-hero .container, .home-hero-copy {
  min-height: auto !important;
}

@media(max-width: 900px) {
  .home-hero, .hero.home-hero, section.home-hero {
    min-height: 520px !important;
    height: auto !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
}

@media(max-width: 720px) {
  .home-hero, .hero.home-hero, section.home-hero {
    min-height: 480px !important;
    height: auto !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}

.hero-visual.home-hero-optimized, section.hero-visual.home-hero-optimized {
  min-height: 520px !important;
  height: 520px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-position: center center !important;
}

.hero-visual.home-hero-optimized .hero-visual-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.hero-visual.home-hero-optimized .home-hero-copy {
  max-width: 900px !important;
}

.hero-visual.home-hero-optimized .home-hero-copy h1 {
  font-size: 48px !important;
  line-height: 1.08 !important;
  margin-bottom: 18px !important;
}

.hero-visual.home-hero-optimized .hero-claim {
  font-size: 20px !important;
  line-height: 1.42 !important;
  margin-bottom: 18px !important;
}

.hero-visual.home-hero-optimized .accent-line {
  margin: 18px 0 !important;
}

.hero-visual.home-hero-optimized .hero-bridge, .hero-visual.home-hero-optimized .hero-bridge-de {
  font-size: 18px !important;
  line-height: 1.45 !important;
}

@media(max-width: 900px) {
  .hero-visual.home-hero-optimized, section.hero-visual.home-hero-optimized {
    min-height: 500px !important;
    height: auto !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}

@media(max-width: 720px) {
  .hero-visual.home-hero-optimized, section.hero-visual.home-hero-optimized {
    min-height: 460px !important;
    height: auto !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}

.since-panel, .custom-panel, .product-highlight, .application-highlight {
  background: linear-gradient(135deg, #071f36, #0b4f9f 60%, #00a3d7) !important;
  color: #fff !important;
}

.since-panel *, .custom-panel *, .product-highlight *, .application-highlight * {
  color: #fff !important;
}

.center-head span {
  display:block !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  margin:12px auto 0 !important;
  color:#1f2937 !important;
  font-size:18px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
  max-width:780px !important;
  overflow:visible !important;
}

.center-head span::before {
  content:"";
  display:block;
  width:70px;
  height:3px;
  background:#0a9fe8;
  margin:0 auto 10px;
  border-radius:999px;
}

.center-head span:empty {
  font-size:0 !important;
  line-height:0 !important;
}

.center-head span:empty::before {
  margin-bottom:0;
}

.expert-position-section .center-head, .echeck-benefits .center-head {
  margin-bottom:34px !important;
}

.expert-position-section .benefit-grid, .echeck-benefits .benefit-grid {
  position:relative;
  z-index:2;
}

/* ==========================================================================
   12 E-CHECK, PDF AND READABILITY FIXES
   ========================================================================== */

.echeck-conversion-hero h1 {
  max-width:820px;
}

.echeck-conversion-hero p {
  max-width:780px;
}

.proofbar-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.proofbar-grid div {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:18px;
  padding:20px;
  box-shadow:0 10px 24px rgba(18,40,70,.06);
}

.proofbar-grid strong {
  display:block;
  color:#0b2d63;
  font-size:18px;
  margin-bottom:6px;
}

.proofbar-grid span {
  display:block;
  color:#526176;
  font-size:14px;
}

.inline-cta {
  margin-top:22px;
  padding:18px 20px;
  background:#eef7ff;
  border-left:4px solid #0a9fe8;
  border-radius:14px;
  color:#0b2d63;
}

.conversion-panel .panel-btn {
  margin-top:14px;
  box-shadow:none;
}

.offer-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch;
}

.offer-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:24px;
  padding:30px;
  box-shadow:0 14px 34px rgba(18,40,70,.07);
  display:flex;
  flex-direction:column;
}

.offer-card.featured {
  border:2px solid #0a9fe8;
  transform:translateY(-8px);
  box-shadow:0 20px 46px rgba(10,159,232,.16);
}

.offer-kicker {
  display:inline-flex;
  align-self:flex-start;
  background:#e9f6fb;
  color:#0b4f9f;
  border-radius:999px;
  padding:6px 10px;
  font-weight:800;
  font-size:12px;
  letter-spacing:.08em;
  margin-bottom:14px;
}

.offer-card h3 {
  color:#0b2d63;
  font-size:24px;
  line-height:1.15;
  margin:0 0 10px;
}

.offer-price {
  font-size:28px;
  font-weight:900;
  color:#071f36;
  margin:0 0 14px;
}

.offer-card p {
  color:#526176;
}

.offer-card ul {
  padding-left:20px;
  color:#405167;
  margin:16px 0 24px;
}

.offer-card li {
  margin-bottom:8px;
}

.offer-link {
  margin-top:auto;
  color:#0b4f9f;
  font-weight:900;
}

.price-note {
  margin:24px auto 0;
  max-width:880px;
  color:#526176;
  text-align:center;
  font-size:14px;
}

@media(max-width:1000px) {
  .offer-grid,.proofbar-grid {
    grid-template-columns:1fr 1fr
  }
  .offer-card.featured {
    transform:none
  }
}

@media(max-width:700px) {
  .offer-grid,.proofbar-grid {
    grid-template-columns:1fr
  }
}

.product-cta {
  display:block;
  margin-top:4px !important;
  margin-bottom:4px !important;
  line-height:1.15 !important;
}

.product-body p[style*="Technical Overview"] {
  margin-top:2px !important;
}

.custom-steps div, .custom-steps div *, .custom-steps strong, .custom-steps span {
  color: #111827 !important;
  opacity: 1 !important;
}

.custom-steps div {
  background: #f8fafc !important;
}

.custom-panel {
  overflow:hidden;
}

.custom-panel {
  padding-top:0 !important;
  border-top:none !important;
}

.custom-panel h3 {
  margin-top:0 !important;
  padding-top:28px !important;
}

.core-card, .core-card *, .solution-card, .solution-card *, .area-card, .area-card *, .highlight-card, .highlight-card * {
  overflow: visible;
}

.core-card h3, .solution-card h3, .area-card h3, .highlight-card h3 {
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  line-height: 1.15;
}

.long-card-title {
  display:inline-block;
  font-size:0.92em;
  line-height:1.15;
}

.long-card-title {
  display:block !important;
  white-space:normal !important;
  overflow:visible !important;
  font-size:0.86em !important;
  line-height:1.08 !important;
  max-width:100% !important;
}

.home-card h3, .core-grid h3, .card h3 {
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.home-focus-card .home-focus-body {
  min-width:0 !important;
  overflow:hidden !important;
}

.home-focus-card h3 {
  max-width:100% !important;
  overflow:visible !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:auto !important;
}

.home-focus-card h3 .long-card-title {
  display:block !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:auto !important;
  font-size:0.78em !important;
  line-height:1.08 !important;
}

@media (max-width: 1200px) {
  .home-focus-card h3 .long-card-title {
    font-size:0.68em !important;
    line-height:1.05 !important;
  }
}

/* ==========================================================================
   13 HOME CORE AREAS IMAGE SYSTEM
   ========================================================================== */

.home-focus-img.focus-products, .focus-products, .home-focus-card .focus-products {
  background-image:url('../assets/home-core-products.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.home-focus-img.focus-applications, .focus-applications, .home-focus-card .focus-applications {
  background-image:url('../assets/home-core-applications.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.home-focus-img.focus-services, .focus-services, .home-focus-card .focus-services {
  background-image:url('../assets/home-core-services.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.home-focus-grid {
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}

.home-focus-card, .home-focus-card.flagship {
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}

.home-focus-img, .home-focus-card.flagship .home-focus-img {
  width:100% !important;
  height:190px !important;
  min-height:190px !important;
  max-height:190px !important;
  background-size:cover !important;
  background-position:center center !important;
}

.home-focus-body {
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
}

.home-focus-body p {
  flex:1 1 auto !important;
}

.home-focus-body h3 {
  font-size:clamp(1.35rem, 1.6vw, 1.8rem) !important;
  line-height:1.08 !important;
  overflow-wrap:break-word !important;
  hyphens:auto !important;
}

.home-focus-card.flagship .home-focus-body h3 {
  font-size:clamp(1.35rem, 1.6vw, 1.8rem) !important;
}

.home-focus-card .product-cta, .home-focus-card a {
  margin-top:auto !important;
}

@media (max-width: 1200px) {
  .home-focus-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .home-focus-grid {
    grid-template-columns:1fr !important;
  }
  .home-focus-img, .home-focus-card.flagship .home-focus-img {
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
}

.home-focus-img.focus-asi, .home-focus-card.flagship .home-focus-img.focus-asi {
  background-position: 72% center !important;
  background-size: cover !important;
}

@media (max-width: 1200px) {
  .home-focus-img.focus-asi, .home-focus-card.flagship .home-focus-img.focus-asi {
    background-position: 70% center !important;
  }
}

@media (max-width: 700px) {
  .home-focus-img.focus-asi, .home-focus-card.flagship .home-focus-img.focus-asi {
    background-position: 68% center !important;
  }
}

/* ==========================================================================
   14 IMPRESSUM AND DATENSCHUTZ CLEANUP
   ========================================================================== */

.topbar, .top-bar, .header-top, .top-header, .utility-bar, .eyebrow-bar {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.topbar, .top-bar, .header-top, .top-header, .utility-bar, .eyebrow-bar {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* ==========================================================================
   15 APPLICATIONS FINAL STRUCTURE
   ========================================================================== */

.applications-industries {
  background: #f5f8fb;
  border-top: 1px solid rgba(10, 45, 82, 0.08);
  border-bottom: 1px solid rgba(10, 45, 82, 0.08);
}

.application-field-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 42px;
}

.application-field-card {
  background: #ffffff;
  border: 1px solid rgba(10, 45, 82, 0.10);
  border-radius: 22px;
  padding: 30px;
  box-shadow: 0 14px 34px rgba(11, 45, 82, 0.08);
  min-height: 360px;
}

.application-field-card .field-kicker {
  display: block;
  margin-bottom: 12px;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0f76b7;
  font-weight: 700;
}

.application-field-card h3 {
  margin: 0 0 14px 0;
  color: #0b2d52;
  font-size: 1.25rem;
}

.application-field-card p {
  margin: 0 0 18px 0;
  color: #536273;
  line-height: 1.65;
}

.application-field-card ul {
  margin: 0;
  padding-left: 18px;
  color: #243447;
}

.application-field-card li {
  margin-bottom: 8px;
}

@media (max-width: 1100px) {
  .application-field-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .application-field-grid {
    grid-template-columns: 1fr;
  }
}

.applications-grid-layout {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:36px;
  margin-top:42px;
}

.applications-grid-layout .service-card {
  min-height:620px;
}

@media(max-width:900px) {
  .applications-grid-layout {
    grid-template-columns:1fr;
  }
}

.applications-grid-layout .service-link {
  display:inline-block;
  margin-top:22px;
  color:#0070d9;
  font-weight:800;
  font-family:inherit;
  text-decoration:none;
  letter-spacing:0.01em;
}

.applications-grid-layout .service-link:hover {
  color:#005bb5;
  text-decoration:none;
}

.applications-center-head {
  margin-bottom:42px;
}

/* ==========================================================================
   16 NAVIGATION AND UNIFIED FINAL CTA
   ========================================================================== */

.newnav {
  gap: 26px !important;
}

.menu-modern {
  display:flex !important;
  align-items:center !important;
  gap: 28px !important;
  flex-wrap: nowrap !important;
}

.menu-modern a {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  display:inline-flex !important;
  align-items:center !important;
}

.menu-modern a[href="e-check.html"] {
  min-width: max-content !important;
}

.unified-light-cta {
  background:#eef2f6 !important;
  color:#1f2b3d !important;
  text-align:center;
  padding:86px 0;
}

.unified-light-cta h2 {
  color:#1f2b3d !important;
  font-size:42px;
  line-height:1.15;
  margin:0 0 28px 0;
  font-weight:800;
}

.unified-light-cta p {
  color:#55657d !important;
  font-size:20px;
  line-height:1.65;
  max-width:860px;
  margin:0 auto 34px auto;
}

.unified-light-cta .btn {
  display:inline-block;
}

/* ==========================================================================
   17 UNIFIED PAGE HERO SYSTEM
   ========================================================================== */

.page-hero, .hero, .hero-section, .subpage-hero, .service-hero, .product-hero, .applications-hero, .asi-hero, .echeck-hero, .expertise-hero, .downloads-hero, .contact-hero {
  position:relative;
  min-height:420px;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.page-hero .container, .hero .container, .hero-section .container, .subpage-hero .container, .service-hero .container, .product-hero .container, .applications-hero .container, .asi-hero .container, .echeck-hero .container, .expertise-hero .container, .downloads-hero .container, .contact-hero .container {
  position:relative;
  z-index:2;
}

.page-hero::before, .hero::before, .hero-section::before, .subpage-hero::before, .service-hero::before, .product-hero::before, .applications-hero::before, .asi-hero::before, .echeck-hero::before, .expertise-hero::before, .downloads-hero::before, .contact-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient( 90deg, rgba(4,22,48,0.82) 0%, rgba(4,22,48,0.58) 42%, rgba(4,22,48,0.14) 100% );
}

.page-hero h1, .hero h1, .hero-section h1, .subpage-hero h1, .service-hero h1, .product-hero h1, .applications-hero h1, .asi-hero h1, .echeck-hero h1, .expertise-hero h1, .downloads-hero h1, .contact-hero h1 {
  font-size:52px;
  line-height:1.08;
  font-weight:800;
  color:#ffffff;
  margin:0 0 22px 0;
  max-width:820px;
}

.page-hero h1::after, .hero h1::after, .hero-section h1::after, .subpage-hero h1::after, .service-hero h1::after, .product-hero h1::after, .applications-hero h1::after, .asi-hero h1::after, .echeck-hero h1::after, .expertise-hero h1::after, .downloads-hero h1::after, .contact-hero h1::after {
  content:none !important;
  display:none !important;
}

.hero-line, .hero-divider, .title-line, .section-line, .divider, .page-hero .line, .hero .line, .hero-section .line {
  display:block;
  width:64px;
  height:3px;
  background:#ffffff;
  border-radius:3px;
  margin:22px 0 24px 0;
}

.hero-line + .hero-line, .hero-divider + .hero-divider, .title-line + .title-line, .section-line + .section-line, .divider + .divider, .line + .line {
  display:none !important;
}

.page-hero .tag, .hero .tag, .hero-section .tag, .subpage-hero .tag, .service-hero .tag, .product-hero .tag, .applications-hero .tag, .asi-hero .tag, .echeck-hero .tag, .expertise-hero .tag, .downloads-hero .tag, .contact-hero .tag, .hero-kicker, .hero-badge {
  display:inline-block;
  margin-bottom:22px;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(255,255,255,0.92);
  color:#0b5fa5;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-size:0.86rem;
}

.page-hero p, .hero p, .hero-section p, .subpage-hero p, .service-hero p, .product-hero p, .applications-hero p, .asi-hero p, .echeck-hero p, .expertise-hero p, .downloads-hero p, .contact-hero p {
  font-size:19px;
  line-height:1.7;
  color:rgba(255,255,255,0.92);
  max-width:760px;
}

@media(max-width:900px) {
  .page-hero, .hero, .hero-section, .subpage-hero, .service-hero, .product-hero, .applications-hero, .asi-hero, .echeck-hero, .expertise-hero, .downloads-hero, .contact-hero {
    min-height:360px;
    padding:60px 0;
  }
  .page-hero h1, .hero h1, .hero-section h1, .subpage-hero h1, .service-hero h1, .product-hero h1, .applications-hero h1, .asi-hero h1, .echeck-hero h1, .expertise-hero h1, .downloads-hero h1, .contact-hero h1 {
    font-size:36px;
  }
  .page-hero p, .hero p, .hero-section p, .subpage-hero p, .service-hero p, .product-hero p, .applications-hero p, .asi-hero p, .echeck-hero p, .expertise-hero p, .downloads-hero p, .contact-hero p {
    font-size:16px;
  }
}

/* ==========================================================================
   18 CTA ACTION SYSTEM
   ========================================================================== */

.cta-primary, a.cta-primary, .btn.cta-primary, .bluebtn.cta-primary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:14px 26px;
  border-radius:8px;
  background:#0876d8 !important;
  color:#ffffff !important;
  font-weight:800;
  letter-spacing:0.06em;
  text-transform:uppercase;
  text-decoration:none !important;
  box-shadow:0 16px 34px rgba(0,69,140,0.22);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.cta-primary:hover, a.cta-primary:hover, .btn.cta-primary:hover, .bluebtn.cta-primary:hover {
  background:#005fb8 !important;
  transform:translateY(-1px);
  box-shadow:0 20px 40px rgba(0,69,140,0.28);
}

.cta-secondary, a.cta-secondary {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#0070d8 !important;
  font-weight:800;
  letter-spacing:0.01em;
  text-decoration:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0;
}

.cta-secondary:hover, a.cta-secondary:hover {
  color:#004f9f !important;
  text-decoration:none !important;
}

.product-card .cta-secondary, .card .cta-secondary, .solution-card .cta-secondary, .service-card .cta-secondary {
  margin-top:18px;
}

.cta-row, .hero-actions, .actions {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}

a.cta-secondary.btn, a.cta-secondary.bluebtn {
  min-height:auto;
  border-radius:0;
}

@media(max-width:700px) {
  .cta-primary, a.cta-primary {
    width:100%;
    max-width:360px;
  }
}

/* ==========================================================================
   19 UNIFIED PRODUCT AND CARD SYSTEM
   ========================================================================== */

.product-card, .service-card, .application-card, .expertise-card, .download-card, .contact-card, .solution-card, .card {
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  border-radius:18px;
  overflow:hidden;
  background:#ffffff;
  border:1px solid rgba(10,35,65,0.06);
  box-shadow:0 10px 28px rgba(12,32,58,0.08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.product-card:hover, .service-card:hover, .application-card:hover, .expertise-card:hover, .download-card:hover, .contact-card:hover, .solution-card:hover, .card:hover {
  transform:translateY(-4px);
  border-color:rgba(11,95,165,0.18);
  box-shadow:0 18px 42px rgba(12,32,58,0.14);
}

.product-img, .service-img, .application-img, .card-img {
  width:100%;
  height:250px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.product-body, .service-body, .application-body, .card-body {
  display:flex;
  flex-direction:column;
  flex:1;
  padding:28px 30px 30px 30px;
}

.product-card h3, .service-card h3, .application-card h3, .expertise-card h3, .download-card h3, .contact-card h3, .solution-card h3, .card h3 {
  margin:0 0 16px 0;
  font-size:1.42rem;
  line-height:1.25;
  font-weight:800;
  color:#0a2d52;
}

.product-card p, .service-card p, .application-card p, .expertise-card p, .download-card p, .contact-card p, .solution-card p, .card p {
  margin:0;
  font-size:1rem;
  line-height:1.72;
  color:#556575;
}

.product-kicker, .service-kicker, .application-kicker, .card-kicker {
  display:inline-block;
  margin-bottom:14px;
  color:#0b5fa5;
  font-size:0.84rem;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.product-cta, .service-cta, .application-cta, .card-cta, .cta-primary, .cta-secondary {
  margin-top:22px;
}

.product-body p[style], .service-body p[style], .application-body p[style] {
  margin-top:auto !important;
  padding-top:14px;
}

.products-grid, .services-grid, .applications-grid, .cards-grid {
  display:grid;
  gap:30px;
  align-items:stretch;
}

@media(max-width:900px) {
  .product-img, .service-img, .application-img, .card-img {
    height:220px;
  }
  .product-body, .service-body, .application-body, .card-body {
    padding:24px;
  }
  .product-card h3, .service-card h3, .application-card h3, .card h3 {
    font-size:1.26rem;
  }
}

/* ==========================================================================
   20 PREMIUM SCIENTIFIC FOOTER
   ========================================================================== */

.premium-footer {
  position:relative;
  overflow:hidden;
  padding:0 0 24px;
  background: radial-gradient(circle at 78% 10%, rgba(72,142,210,.16) 0%, rgba(72,142,210,0) 32%), linear-gradient(180deg,#121a24 0%,#0b1118 100%);
  color:#d7e0ea;
  border-top:1px solid rgba(127,179,255,.18);
  box-shadow:0 -1px 0 rgba(120,180,255,.12),0 -10px 40px rgba(80,140,255,.05);
}

.premium-footer:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image: linear-gradient(rgba(127,179,255,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(127,179,255,.10) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.75),rgba(0,0,0,.08));
}

.footer-techline {
  position:relative;
  height:3px;
  background:linear-gradient(90deg,rgba(127,179,255,0),rgba(127,179,255,.65),rgba(26,166,200,.42),rgba(127,179,255,0));
  box-shadow:0 0 24px rgba(80,150,255,.22);
}

.premium-footer .container {
  position:relative;
  z-index:1;
}

.premium-footer-grid {
  grid-template-columns:1.35fr .9fr 1.05fr 1.05fr;
  gap:44px;
  padding-top:58px;
}

.premium-footer .footer-logo {
  width:178px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:10px 12px;
  margin-bottom:22px;
  box-shadow:0 18px 46px rgba(0,0,0,.28);
}

.footer-claim {
  margin:0 0 16px;
  color:#ffffff;
  font-size:1.15rem;
  line-height:1.35;
  font-weight:800;
  letter-spacing:-.01em;
}

.footer-description {
  max-width:360px;
  margin:0;
  color:#9fb0c0;
  font-size:.96rem;
  line-height:1.72;
}

.premium-footer h4 {
  margin:6px 0 20px;
  color:#ffffff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.premium-footer a {
  display:block;
  margin:9px 0;
  color:#aebdcb;
  font-size:.95rem;
  line-height:1.35;
  transition:color .18s ease, transform .18s ease;
}

.premium-footer a:hover {
  color:#7fb3ff;
  transform:translateX(2px);
}

.premium-footer .footer-contact, .premium-footer .legal-mini {
  color:#aebdcb;
  font-size:.95rem;
  line-height:1.72;
  margin:0 0 15px;
}

.premium-footer .footer-contact strong {
  color:#ffffff;
  font-weight:800;
}

.premium-footer .footer-contact a {
  display:inline;
  color:#d7e0ea;
  margin:0;
}

.premium-footer .footer-contact a:hover {
  color:#7fb3ff;
  transform:none;
}

.premium-subfooter {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid rgba(255,255,255,.13);
  margin-top:48px;
  padding-top:20px;
  color:#8c9bab;
  font-size:.88rem;
}

.footer-legal-links {
  display:flex;
  gap:22px;
  white-space:nowrap;
}

.footer-legal-links a {
  display:inline-block;
  margin:0;
  color:#8c9bab;
  font-size:.88rem;
}

@media(max-width:1000px) {
  .premium-footer-grid {
    grid-template-columns:1fr 1fr;
    gap:34px;
  }
}

@media(max-width:700px) {
  .premium-footer-grid {
    grid-template-columns:1fr;
    padding-top:42px;
  }
  .premium-subfooter {
    display:block;
  }
  .footer-legal-links {
    margin-top:14px;
  }
}

/* ==========================================================================
   21 HOME SCIENTIFIC MONITORING AND EXPERTISE
   ========================================================================== */

.scientific-monitoring-section {
  padding:82px 0;
  background: radial-gradient(circle at 20% 0%, rgba(88,154,220,.12), transparent 34%), linear-gradient(180deg,#f7fafc 0%,#eef4f8 100%);
  border-top:1px solid #dfe8ef;
  border-bottom:1px solid #dfe8ef;
}

.scientific-monitoring-card {
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(170,190,210,.42);
  border-radius:26px;
  padding:42px;
  box-shadow:0 26px 70px rgba(31,67,100,.10);
  position:relative;
  overflow:hidden;
}

.scientific-monitoring-card:before {
  content:"";
  position:absolute;
  inset:0;
  background-image: linear-gradient(rgba(6,70,120,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(6,70,120,.045) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg, transparent 0%, #000 32%, #000 100%);
  pointer-events:none;
}

.scientific-monitoring-copy,.uv-monitoring-visual {
  position:relative;
  z-index:1;
}

.scientific-monitoring-copy h2 {
  margin:0 0 18px;
  color:#0b3a66;
  font-size:clamp(30px,3.2vw,44px);
  line-height:1.08;
  letter-spacing:-.02em;
}

.scientific-monitoring-copy p {
  margin:0;
  max-width:720px;
  color:#34495d;
  font-size:17px;
  line-height:1.72;
}

.uv-monitoring-visual {
  background:linear-gradient(180deg,rgba(13,32,48,.97),rgba(10,19,31,.98));
  border:1px solid rgba(127,179,255,.24);
  border-radius:22px;
  padding:22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 60px rgba(7,24,40,.18);
  color:#d9e8f5;
}

.uv-visual-header,.uv-visual-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:rgba(217,232,245,.64);
}

.uv-visual-header strong {
  color:#9ee8ff;
  font-weight:800;
}

.uv-curve {
  width:100%;
  height:auto;
  margin:16px 0 8px;
  display:block;
}

.uv-grid path {
  fill:none;
  stroke:rgba(180,215,245,.14);
  stroke-width:1;
}

.uv-fill {
  fill:url(#uvFillGradient);
}

.uv-line {
  fill:none;
  stroke:url(#uvLineGradient);
  stroke-width:4;
  stroke-linecap:round;
}

.uv-points circle {
  fill:#9ee8ff;
  stroke:rgba(255,255,255,.75);
  stroke-width:1.5;
}

.uv-visual-footer {
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:14px;
  justify-content:flex-start;
  flex-wrap:wrap;
}

.uv-visual-footer span {
  padding-right:18px;
}

@media(max-width:900px) {
  .scientific-monitoring-card {
    grid-template-columns:1fr;
    padding:28px;
  }
  .scientific-monitoring-section {
    padding:56px 0;
  }
}

.home-competence {
  background:#fff !important;
  padding:82px 0 !important;
}

.home-competence .competence-grid {
  background:linear-gradient(120deg,#071f36,#0b3a66);
  color:#fff;
  border-radius:26px;
  padding:48px 52px;
  box-shadow:0 26px 70px rgba(31,67,100,.10);
  border:1px solid rgba(170,190,210,.18);
}

.home-competence .competence-copy h2 {
  color:#fff;
  max-width:820px;
}

.home-competence .lead-left {
  color:#d9edf8;
  max-width:720px;
}

.home-competence .competence-facts div {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:24px;
}

.home-competence .competence-facts strong {
  color:#fff;
  letter-spacing:.07em;
}

.home-competence .competence-facts span {
  color:#d2e7f4;
}

@media(max-width:900px) {
  .home-competence .competence-grid {
    padding:36px 28px;
  }
}

.home-request-cta h2 {
  font-size:clamp(34px,3.4vw,48px) !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:-.03em !important;
  color:#1f2937 !important;
  margin:0 0 24px !important;
}

.home-request-cta p {
  max-width:650px !important;
  margin:0 auto 24px !important;
  color:#526176 !important;
  font-size:18px !important;
  line-height:1.65 !important;
}

.home-request-cta h2 {
  font-weight:700 !important;
  font-size:clamp(32px,3.2vw,44px) !important;
  letter-spacing:-.025em !important;
}

.home-request-cta p {
  font-size:18px !important;
  font-weight:400 !important;
  line-height:1.65 !important;
  color:#526176 !important;
  max-width:650px !important;
  margin:0 auto 24px !important;
  letter-spacing:0 !important;
}

.home-focus-card {
  overflow:hidden !important;
  border-radius:24px !important;
}

.home-focus-img {
  border-radius:18px !important;
  overflow:hidden !important;
  clip-path:inset(0 round 18px) !important;
  margin:0 !important;
  background-clip:padding-box !important;
}

/* ==========================================================================
   22 ASI-16 PARTNER AND APPLICATION CARDS
   ========================================================================== */

.asi-global-availability {
  padding-top: 24px;
  padding-bottom: 34px;
  background: #f7f8fa;
}

.global-availability-card {
  border-top: 1px solid rgba(15, 31, 48, 0.12);
  border-bottom: 1px solid rgba(15, 31, 48, 0.08);
  padding: 22px 0 20px;
  max-width: 980px;
}

.global-availability-card .eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 0.76rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #5f6f7f;
  font-weight: 700;
}

.global-availability-card p {
  margin: 0;
  color: #263544;
  font-size: 1.02rem;
  line-height: 1.75;
}

.eko-partner {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 18px;
}

.eko-partner-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.eko-partner img {
  display: block;
  width: 118px;
  height: auto;
  opacity: 0.92;
}

.eko-partner img:hover {
  opacity: 1;
}

.eko-partner span {
  font-size: 0.78rem;
  line-height: 1.2;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #667789;
  font-weight: 650;
}

.asi-applications-intro {
  margin-bottom:30px;
}

.asi-applications-intro > p {
  margin:0 0 26px;
  color:#263544;
  font-size:1.04rem;
  line-height:1.65;
}

.asi-app-title-line {
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:34px;
  margin-bottom:28px;
}

.asi-app-title-line h2 {
  margin:0;
  color:#071f36;
  font-size:clamp(34px,4vw,48px);
  line-height:1.05;
  letter-spacing:-0.02em;
}

.asi-app-title-line span {
  height:2px;
  background:#0b61c9;
  opacity:.95;
}

.asi-app-atmospheric {
  display:flex;
  align-items:flex-start;
  gap:15px;
  margin-bottom:30px;
}

.asi-app-icon {
  width:36px;
  height:36px;
  border:2px solid #0b61c9;
  color:#0b61c9;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
}

.asi-app-atmospheric strong {
  display:block;
  color:#0b61c9;
  font-size:1.28rem;
  margin-bottom:4px;
}

.asi-app-atmospheric p {
  margin:0;
  color:#536274;
  line-height:1.5;
}

.asi-app-card-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}

.asi-app-card {
  min-height:410px;
}

.asi-app-image {
  height:196px;
  background:#e8eef5;
  border-bottom:1px solid #dfe7f0;
  overflow:hidden;
}

.asi-app-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.asi-app-card .product-body {
  display:flex;
  flex-direction:column;
  flex:1;
}

.asi-app-card .product-body h3 {
  color:#0b61c9;
  font-size:1.18rem;
}

.asi-app-card .product-body p {
  flex:1;
}

@media(max-width:1180px) {
  .asi-app-card-grid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:680px) {
  .asi-app-title-line {
    grid-template-columns:1fr;
    gap:16px;
  }
  .asi-app-card-grid {
    grid-template-columns:1fr;
  }
  .asi-app-card {
    min-height:auto;
  }
}

#asi16-applications .center-head.asi16-clean-head {
  text-align:center !important;
  margin:0 auto 46px !important;
}

#asi16-applications .center-head.asi16-clean-head h2 {
  margin:0 !important;
  color:#0b3a66 !important;
  font-size:34px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}

#asi16-applications .center-head.asi16-clean-head span {
  display:block !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  margin:10px auto 0 !important;
  color:#1f2c3a !important;
  font-size:1.08rem !important;
  line-height:1.4 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

#asi16-applications .center-head.asi16-clean-head span::before {
  content:"" !important;
  display:block !important;
  width:70px !important;
  height:3px !important;
  background:#0a9fe8 !important;
  border-radius:2px !important;
  margin:0 auto 16px !important;
}

#asi16-applications .asi-app-card {
  border-radius:22px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #dfe7f0 !important;
  box-shadow:0 12px 30px rgba(18,40,70,.07) !important;
}

#asi16-applications .asi-app-card:hover {
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(18,40,70,.14) !important;
}

#asi16-applications .asi-app-image-wrap {
  padding:14px 14px 0 !important;
  background:#fff !important;
}

#asi16-applications .asi-app-image {
  height:205px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  border:1px solid #dfe7f0 !important;
  background:#edf4fb !important;
}

#asi16-applications .asi-app-image img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:18px !important;
  filter:saturate(.96) contrast(.98);
}

#asi16-applications .asi-app-card .product-body {
  padding:22px 26px 26px !important;
}

#asi16-applications .asi-app-card .product-body h3 {
  color:#0b3a66 !important;
  font-size:1.2rem !important;
  line-height:1.24 !important;
  margin-bottom:14px !important;
}

#asi16-applications .asi-app-card .product-body p {
  color:#526173 !important;
  line-height:1.65 !important;
}

#asi16-applications .asi-app-card .product-cta {
  margin-top:8px;
}

/* ==========================================================================
   23 UV MONITORING AND ASI-16 CONTENT REFINEMENTS
   ========================================================================== */

.uv-monitoring-expertise {
  background:linear-gradient(180deg,#ffffff,#f6f9fc);
}

.uv-monitoring-expertise .section-head {
  align-items:flex-start;
  margin-bottom:34px;
}

.uv-monitoring-expertise .section-head p {
  max-width:920px;
  font-size:1.04rem;
  line-height:1.75;
}

.uv-expertise-grid {
  display:grid;
  grid-template-columns:1.2fr repeat(3,1fr);
  gap:22px;
}

.uv-expertise-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  padding:26px;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
}

.uv-expertise-card h3 {
  margin:0 0 12px;
  color:#0b3a66;
  font-size:1.18rem;
  line-height:1.25;
}

.uv-expertise-card p {
  margin:0;
  color:#526173;
  line-height:1.65;
}

.uv-expertise-main {
  background: radial-gradient(circle at 82% 18%,rgba(10,159,232,.14),transparent 32%), linear-gradient(135deg,#ffffff,#f7fbff);
}

@media(max-width:1150px) {
  .uv-expertise-grid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:680px) {
  .uv-expertise-grid {
    grid-template-columns:1fr;
  }
}

.home-scientific-line {
  margin:16px 0 0;
  color:rgba(255,255,255,.76);
  font-size:.96rem;
  line-height:1.6;
  letter-spacing:.025em;
  max-width:760px;
}

@media(max-width:720px) {
  .home-scientific-line {
    font-size:.9rem;
  }
}

.home-scientific-line {
  margin:16px 0 0;
  color:rgba(255,255,255,.72);
  font-size:.95rem;
  line-height:1.6;
  letter-spacing:.02em;
  max-width:760px;
  font-weight:400;
}

#asi16-applications .asi-app-card {
  min-height:395px;
}

#asi16-applications .asi-app-card .product-body {
  padding:22px 24px 24px;
}

#asi16-applications .asi-app-card .product-body p {
  line-height:1.58;
}

#asi16-applications .asi-app-card:nth-child(8) {
  opacity:.94;
}

#asi16-applications .asi-app-card:nth-child(8) .product-kicker {
  opacity:.72;
}

#asi16-applications .asi-app-card:nth-child(8) h3 {
  color:#476179 !important;
}

#asi16-applications .asi-app-card:nth-child(8) p {
  color:#66788a !important;
}

.uv-monitoring-expertise .section-head {
  margin-bottom:24px;
}

.uv-monitoring-expertise .section-head p {
  max-width:820px;
  font-size:1rem;
  line-height:1.68;
}

.uv-expertise-grid {
  gap:18px;
}

.uv-expertise-card {
  padding:22px;
  border-radius:20px;
}

.uv-expertise-card h3 {
  font-size:1.1rem;
  margin-bottom:10px;
}

.uv-expertise-card p {
  font-size:.97rem;
  line-height:1.58;
}

.uv-monitoring-expertise {
  padding-top:58px !important;
  padding-bottom:58px !important;
  background:linear-gradient(180deg,#fbfdff,#f7fafc) !important;
}

.uv-monitoring-expertise .container {
  max-width:1220px;
}

.uv-monitoring-expertise .section-head {
  margin-bottom:18px !important;
}

.uv-monitoring-expertise .section-head .tag {
  margin-bottom:10px !important;
  opacity:.82;
}

.uv-monitoring-expertise .section-head h2 {
  font-size:clamp(30px,3.2vw,42px) !important;
  margin-bottom:12px !important;
  letter-spacing:-0.015em;
}

.uv-monitoring-expertise .section-head p {
  max-width:760px !important;
  font-size:.98rem !important;
  line-height:1.62 !important;
  color:#5b6b7b !important;
}

.uv-expertise-grid {
  gap:16px !important;
  margin-top:8px;
}

.uv-expertise-card {
  padding:20px 22px !important;
  border-radius:18px !important;
  box-shadow:0 8px 22px rgba(18,40,70,.05) !important;
}

.uv-expertise-card h3 {
  font-size:1.04rem !important;
  margin-bottom:8px !important;
  line-height:1.28 !important;
}

.uv-expertise-card p {
  font-size:.95rem !important;
  line-height:1.55 !important;
  color:#5a6a79 !important;
}

.uv-expertise-main {
  background: radial-gradient(circle at 84% 18%,rgba(10,159,232,.08),transparent 28%), linear-gradient(135deg,#ffffff,#fbfdff) !important;
}

#asi16-applications .asi-app-card {
  background:#ffffff !important;
  border-radius:22px !important;
  overflow:hidden !important;
}

#asi16-applications .asi-app-image {
  height:215px !important;
  min-height:215px !important;
  box-sizing:border-box !important;
  padding:10px 10px 0 10px !important;
  margin:0 !important;
  background:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

#asi16-applications .asi-app-image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  border-radius:18px !important;
  background:transparent !important;
}

/* ==========================================================================
   24 FOOTER, LEGAL AND PRIVACY PAGES
   ========================================================================== */

.footer-scientific {
  background:linear-gradient(180deg,#0b1623,#101c2b);
  color:rgba(255,255,255,.78);
  padding:72px 0 0;
  margin-top:80px;
}

.footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:48px;
}

.footer-logo {
  width:150px;
  height:auto;
  margin-bottom:22px;
}

.footer-brand p {
  color:rgba(255,255,255,.68);
  line-height:1.7;
  font-size:.98rem;
}

.footer-col h4 {
  color:#ffffff;
  font-size:1rem;
  margin:0 0 18px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.footer-col ul {
  list-style:none;
  padding:0;
  margin:0;
}

.footer-col li {
  margin-bottom:12px;
}

.footer-col a {
  color:rgba(255,255,255,.66);
  text-decoration:none;
  transition:color .18s ease;
}

.footer-col a:hover {
  color:#4db6ff;
}

.footer-bottom {
  margin-top:54px;
  border-top:1px solid rgba(255,255,255,.08);
  padding:22px 0;
  text-align:center;
  color:rgba(255,255,255,.46);
  font-size:.9rem;
}

@media(max-width:980px) {
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:38px;
  }
}

@media(max-width:680px) {
  .footer-grid {
    grid-template-columns:1fr;
  }
  .footer-scientific {
    padding-top:54px;
  }
}

.legal-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.72),rgba(5,48,82,.20)), url('../assets/hero-pattern.svg') center/cover no-repeat;
}

.legal-section {
  background:linear-gradient(180deg,#f7f9fc,#ffffff);
}

.legal-container {
  max-width:1120px;
}

.legal-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  padding:32px;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
  margin-bottom:24px;
}

.legal-card h2 {
  margin:0 0 22px;
  color:#0b3a66;
  font-size:clamp(24px,2.6vw,34px);
  line-height:1.15;
}

.legal-card h3 {
  margin:0 0 10px;
  color:#0b3a66;
  font-size:1.02rem;
  line-height:1.25;
}

.legal-card p {
  color:#526173;
  line-height:1.72;
  margin:0 0 16px;
}

.legal-card p:last-child {
  margin-bottom:0;
}

.legal-card a {
  color:#0068c9;
  font-weight:700;
  text-decoration:none;
}

.legal-card a:hover {
  text-decoration:underline;
}

.legal-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px 34px;
}

@media(max-width:760px) {
  .legal-grid {
    grid-template-columns:1fr;
  }
  .legal-card {
    padding:24px;
  }
}

.legal-list {
  margin:0 0 18px 20px;
  padding:0;
  color:#526173;
  line-height:1.75;
}

.legal-list li {
  margin-bottom:6px;
}

/* ==========================================================================
   25 CONTACT, DOWNLOADS AND E-CHECK REFINEMENTS
   ========================================================================== */

.technical-support-note {
  margin-top:22px;
  color:#66788a;
  font-size:.95rem;
  line-height:1.7;
  max-width:760px;
}

.downloads-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.74),rgba(5,48,82,.22)), url('../assets/hero-pattern.svg') center/cover no-repeat;
}

.documentation-section {
  background:linear-gradient(180deg,#f7f9fc,#ffffff);
}

.documentation-container {
  max-width:1100px;
}

.documentation-group {
  margin-bottom:62px;
}

.documentation-heading {
  margin-bottom:24px;
}

.documentation-label {
  display:inline-block;
  margin-bottom:10px;
  color:#0a9fe8;
  font-size:.82rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
}

.documentation-heading h2 {
  margin:0;
  color:#0b3a66;
  font-size:clamp(28px,3vw,42px);
  line-height:1.12;
}

.documentation-list {
  display:flex;
  flex-direction:column;
  gap:14px;
}

.documentation-item {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:26px 28px;
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:20px;
  text-decoration:none;
  transition:all .18s ease;
  box-shadow:0 10px 26px rgba(18,40,70,.05);
}

.documentation-item:hover {
  border-color:#bfdcff;
  transform:translateY(-2px);
}

.documentation-type {
  display:inline-block;
  margin-bottom:10px;
  color:#0a9fe8;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.12em;
}

.documentation-item h3 {
  margin:0 0 8px;
  color:#0b3a66;
  font-size:1.15rem;
}

.documentation-item p {
  margin:0;
  color:#5c6d7d;
  line-height:1.65;
}

.documentation-link {
  color:#0068c9;
  font-weight:700;
  white-space:nowrap;
}

@media(max-width:760px) {
  .documentation-item {
    flex-direction:column;
    align-items:flex-start;
  }
}

.echeck-trust {
  background:#fff;
}

.echeck-trust .trust-panel {
  border-top:0;
}

.echeck-trust .trust-mini-grid {
  grid-template-columns:repeat(3,1fr);
}

@media(max-width:900px) {
  .echeck-trust .trust-mini-grid {
    grid-template-columns:1fr;
  }
}

.echeck-download-note-section {
  background:#fff;
  padding-top:42px;
  padding-bottom:42px;
}

.echeck-download-note {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  background:linear-gradient(135deg,#f7fbff,#ffffff);
  border:1px solid #dfe7f0;
  border-radius:22px;
  padding:30px 34px;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
}

.echeck-download-note h2 {
  margin:0 0 10px;
  color:#0b3a66;
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.15;
}

.echeck-download-note p {
  margin:0;
  color:#526173;
  max-width:740px;
  line-height:1.65;
}

.echeck-download-note .btn {
  white-space:nowrap;
}

@media(max-width:820px) {
  .echeck-download-note {
    flex-direction:column;
    align-items:flex-start;
  }
}

.echeck-intro-refined {
  background:linear-gradient(180deg,#ffffff,#f7f9fc);
}

.echeck-intro-split {
  align-items:stretch;
}

.echeck-intro-copy {
  align-self:center;
}

.echeck-intro-copy h2 {
  max-width:760px;
}

.echeck-intro-copy p {
  max-width:760px;
  color:#526173;
  line-height:1.72;
}

.echeck-application-panel {
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(135deg,#071f36,#0068c9 58%,#00a3d7) !important;
  border-radius:22px;
  padding:34px;
  box-shadow:0 14px 36px rgba(8,41,74,.22);
}

.echeck-application-panel strong {
  display:block;
  color:#ffffff;
  font-size:34px;
  line-height:1.08;
  margin-bottom:12px;
}

.echeck-application-panel span {
  display:block;
  color:#bfe9ff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:18px;
}

.echeck-application-panel ul {
  margin:0;
  padding-left:18px;
  color:#e4f3fb;
  line-height:1.65;
}

.echeck-application-panel li {
  margin-bottom:8px;
  color:#e4f3fb;
}

.echeck-application-panel li::marker {
  color:#bfe9ff;
}

@media(max-width:900px) {
  .echeck-application-panel {
    padding:28px;
  }
  .echeck-application-panel strong {
    font-size:28px;
  }
}

/* ==========================================================================
   26 PRODUCTS AND SERVICES REFINEMENTS
   ========================================================================== */

.product-download-note {
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #dfe7f0;
}

.product-download-note a {
  display:inline-block;
  color:#0068c9;
  font-weight:800;
  text-decoration:none;
  margin-bottom:5px;
}

.product-download-note a:hover {
  color:#0a9fe8;
}

.product-download-note span {
  display:block;
  color:#66788a;
  font-size:.92rem;
  line-height:1.45;
}

.product-download-note {
  border-top:none !important;
  padding-top:10px !important;
  margin-top:14px !important;
}

.services-refined {
  background:linear-gradient(180deg,#f7f9fc,#ffffff);
}

.refined-service-grid {
  gap:28px;
}

.refined-service-card {
  border-radius:24px;
  padding:32px;
  box-shadow:0 12px 30px rgba(18,40,70,.065);
  transition:transform .18s ease, box-shadow .18s ease;
}

.refined-service-card:hover {
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(18,40,70,.12);
}

.refined-service-card .service-number {
  background:#eef7ff;
  color:#0b4f9f;
}

.refined-service-card h3 {
  color:#0b3a66;
  font-size:24px;
  line-height:1.2;
}

.refined-service-card .service-sub {
  color:#0a75c9;
  letter-spacing:.01em;
}

.refined-service-card p {
  line-height:1.66;
}

.refined-service-card ul {
  margin-bottom:0;
}

.refined-service-card li {
  line-height:1.5;
}

.services-trust {
  background:#fff;
}

.services-final-cta {
  margin-top:0;
}

.pdf-note {
  margin-top:8px;
  margin-bottom:0;
  font-size:.9rem;
  color:#6c7a89;
  line-height:1.45;
  font-weight:400;
}

.optical-download-list {
  display:flex;
  flex-direction:column;
  gap:6px;
}

.optical-download-list .pdf-note {
  margin-top:4px;
}

.product-download-note.optical-download-list {
  margin-top:8px !important;
  padding-top:0 !important;
  border-top:none !important;
}

.product-download-note.optical-download-list a:first-child {
  margin-top:0;
}

.optical-download-list a.product-cta {
  display:inline-block;
  align-self:flex-start;
  font-size:inherit;
  line-height:inherit;
  margin-bottom:0;
}

.optical-download-list {
  gap:4px;
}

.product-trust-note {
  margin:12px 0 10px;
  color:#405167;
  font-size:.94rem;
  line-height:1.58;
  background:#f7fbff;
  border-left:3px solid #0a9fe8;
  border-radius:10px;
  padding:12px 14px;
}

/* ==========================================================================
   27 REFERENCES AND HOME TRUST NOTES
   ========================================================================== */

.technical-expertise-note {
  margin:14px 0 0;
  color:#526173;
  font-size:.96rem;
  line-height:1.6;
  background:#f8fbff;
  border:1px solid #e4edf5;
  border-radius:10px;
  padding:11px 14px;
}

.references-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.72),rgba(5,48,82,.24)), url('../assets/hero-asi16-mountain.jpg') center right/cover no-repeat;
}

.references-highlight {
  align-self:stretch;
}

.references-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.reference-card {
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  padding:26px;
  box-shadow:0 12px 30px rgba(18,40,70,.07);
}

.reference-kicker {
  display:inline-block;
  color:#0a9fe8;
  font-size:.78rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:14px;
}

.reference-card h3 {
  margin:0 0 12px;
  color:#0b3a66;
  font-size:1.16rem;
  line-height:1.25;
}

.reference-card p {
  margin:0;
  color:#526173;
  line-height:1.62;
}

.references-panel .tag {
  color:#bfe9ff;
}

.scientific-reference-link {
  display:inline-block;
  margin-top:14px;
  color:#0068c9;
  font-weight:800;
  text-decoration:none;
}

.scientific-reference-link:hover {
  color:#0a9fe8;
}

@media(max-width:1100px) {
  .references-grid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:680px) {
  .references-grid {
    grid-template-columns:1fr;
  }
}

.references-publications-section {
  background:#ffffff;
}

.reference-category-block {
  max-width:1040px;
  margin:0 auto;
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:22px;
  box-shadow:0 12px 30px rgba(18,40,70,.06);
  overflow:hidden;
}

.reference-category-block > h3 {
  margin:0;
  padding:20px 24px;
  color:#0b3a66;
  font-size:1.18rem;
  border-bottom:1px solid #e5edf5;
  background:#f8fbff;
}

.reference-list {
  display:flex;
  flex-direction:column;
}

.reference-list-item {
  display:grid;
  grid-template-columns:1fr auto;
  gap:22px;
  align-items:start;
  padding:22px 24px;
  border-bottom:1px solid #e9eef5;
}

.reference-list-item:last-child {
  border-bottom:none;
}

.reference-list-main h4 {
  margin:0 0 8px;
  color:#0b3a66;
  font-size:1.04rem;
  line-height:1.35;
}

.reference-list-main p {
  margin:0 0 6px;
  color:#526173;
  line-height:1.55;
}

.reference-list-main .reference-relevance {
  color:#405167;
  font-size:.93rem;
}

.reference-list-action {
  min-width:190px;
  text-align:right;
}

.reference-list-action a {
  display:inline-block;
  color:#0068c9;
  font-weight:800;
  text-decoration:none;
  margin-bottom:6px;
}

.reference-list-action a:hover {
  color:#0a9fe8;
}

.reference-list-action span {
  display:block;
  color:#6c7a89;
  font-size:.86rem;
  line-height:1.35;
}

@media(max-width:760px) {
  .reference-list-item {
    grid-template-columns:1fr;
    gap:10px;
  }
  .reference-list-action {
    min-width:0;
    text-align:left;
  }
}

.references-publications-section .reference-category-block + .reference-category-block {
  margin-top:26px;
}

/* ==========================================================================
   28 CONTACT HERO FINAL CORRECTION
   ========================================================================== */

.contact-hero .page-hero-sub.contact-hero-sub {
  position:static !important;
  margin-top:10px !important;
  margin-left:0 !important;
  padding-left:0 !important;
  border:0 !important;
  border-left:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.contact-hero .page-hero-sub.contact-hero-sub::before, .contact-hero .page-hero-sub.contact-hero-sub::after {
  display:none !important;
  content:none !important;
}

/* ==========================================================================
   31 PRODUCTS CTA CONSISTENCY
   ========================================================================== */

/* Keep all product card CTA links visually consistent with the
   Transfer / Calibration Standards link style. */
.product-card a.product-cta,
.product-card a.product-cta.cta-secondary,
.product-card .optical-download-list a.product-cta,
.product-card .optical-download-list a.product-cta.cta-secondary {
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  align-self:flex-start !important;
  font-family:inherit !important;
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  letter-spacing:0.01em !important;
  color:#0070d8 !important;
  text-decoration:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  margin-top:4px !important;
  margin-bottom:4px !important;
}

.product-card a.product-cta:hover,
.product-card a.product-cta.cta-secondary:hover,
.product-card .optical-download-list a.product-cta:hover,
.product-card .optical-download-list a.product-cta.cta-secondary:hover {
  color:#004f9f !important;
  text-decoration:none !important;
}

/* ==========================================================================
   32 HEADER LOGO HOME NAVIGATION
   ========================================================================== */

/* The CMS logo acts as the home link. The main navigation starts with Services. */
.brand,
.brand-logo {
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

.brand-logo img,
.brand img {
  width:160px !important;
  max-width:160px !important;
  max-height:52px !important;
  height:auto !important;
  object-fit:contain;
}

@media (max-width: 700px) {
  .brand-logo img,
  .brand img {
    width:135px !important;
    max-width:135px !important;
    max-height:42px !important;
  }
}

/* ==========================================================================
   33 HEADER CONTACT CTA
   ========================================================================== */

/* Three-zone header: logo left, primary navigation centered, contact CTA right. */
.newnav {
  display:grid !important;
  grid-template-columns:auto minmax(0, 1fr) auto auto;
  align-items:center;
  column-gap:28px;
}

.menu-modern {
  justify-content:center;
  justify-self:center;
}

.header-contact-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 18px;
  border-radius:999px;
  background:#0068c9;
  color:#ffffff !important;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:0.05em;
  text-transform:uppercase;
  text-decoration:none !important;
  box-shadow:0 10px 24px rgba(0,104,201,0.22);
  border:1px solid rgba(255,255,255,0.18);
  white-space:nowrap;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.header-contact-btn:hover {
  background:#0059ad;
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(0,104,201,0.30);
}

@media (max-width: 980px) {
  .newnav {
    grid-template-columns:auto auto auto;
    column-gap:14px;
  }

  .menu-modern {
    grid-column:1 / -1;
    justify-self:stretch;
    justify-content:flex-start;
  }

  .header-contact-btn {
    min-height:38px;
    padding:9px 15px;
    font-size:12px;
  }
}

@media (max-width: 700px) {
  .newnav {
    grid-template-columns:auto auto;
  }

  .header-contact-btn {
    grid-column:1 / -1;
    justify-self:stretch;
    width:100%;
    margin-top:8px;
  }
}

/* ==========================================================================
   34 CALIBRATION PAGE
   ========================================================================== */

.calibration-hero {
  background: linear-gradient(90deg,rgba(5,22,40,.94),rgba(5,48,82,.72),rgba(5,48,82,.22)), url('../assets/products-transfer-standards.jpg') center right/cover no-repeat;
}

.calibration-highlight {
  background:linear-gradient(135deg,#071f36,#0b5fa5 58%,#00a3d7);
}

.calibration-grid .product-card {
  min-height:100%;
}

.product-img.calibration-uv {
  background-image:linear-gradient(0deg,rgba(5,22,40,.22),rgba(5,22,40,.03)), url('../assets/products-radiometer-uv.jpg');
}

.product-img.calibration-standards {
  background-image:linear-gradient(0deg,rgba(5,22,40,.20),rgba(5,22,40,.02)), url('../assets/calibration-services-collage.jpg');
}

.product-img.calibration-monitoring {
  background-image:linear-gradient(0deg,rgba(5,22,40,.30),rgba(5,22,40,.05)), url('../assets/calibration-long-term-programs.jpg');
  background-position:center right;
}

.calibration-process {
  background:linear-gradient(180deg,#ffffff,#f6f9fc);
}

.calibration-service-highlight {
  background:linear-gradient(135deg,#08294a,#0b4f9f);
  color:#ffffff;
}

/* ==========================================================================
   35 CALIBRATION TRUST PANEL
   ========================================================================== */

.calibration-trust .trust-panel {
  background:linear-gradient(120deg,#071f36,#0b3a66);
}

/* ==========================================================================
   36 CALIBRATION AREAS
   ========================================================================== */

.calibration-areas .center-head {
  text-align:center;
  margin-bottom:34px;
}

.product-img.calibration-broadband {
  background-image:linear-gradient(0deg,rgba(5,22,40,.22),rgba(5,22,40,.03)), url('../assets/calibration-uv-monitoring-detectors.jpg');
}

.product-img.calibration-response {
  background-image:linear-gradient(0deg,rgba(5,22,40,.25),rgba(5,22,40,.04)), url('../assets/calibration-rsr-response-functions.jpg');
}

.calibration-grid {
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

@media(max-width:1100px) {
  .calibration-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:700px) {
  .calibration-grid {
    grid-template-columns:1fr;
  }
}

/* Angular response card image for Calibration Areas. */
.product-img.calibration-angular-response {
  background-image:linear-gradient(0deg,rgba(5,22,40,.25),rgba(5,22,40,.04)), url('../assets/calibration-angular-response.jpg');
  background-position:center;
}

/* Industrial calibration card image for Calibration Areas. */
.product-img.calibration-industry {
  background-image:linear-gradient(0deg,rgba(5,22,40,.24),rgba(5,22,40,.04)), url('../assets/calibration-industrial-photostability.jpg');
  background-position:center;
}

/* ==========================================================================
   37 CONTACT DIRECT BLOCK
   ========================================================================== */

.contact-direct-section {
  background:#f6f9fc;
}

.contact-direct-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
}

.contact-direct-card {
  background:#ffffff;
  border:1px solid rgba(10,35,60,.10);
  border-radius:26px;
  padding:34px;
  box-shadow:0 18px 45px rgba(6,25,44,.08);
}

.contact-direct-card h2 {
  margin-top:10px;
  margin-bottom:18px;
}

.contact-direct-card p {
  color:#41546a;
  font-size:17px;
  line-height:1.75;
}

.contact-direct-card a {
  color:#006fd1;
  font-weight:800;
  text-decoration:none;
}

.contact-request-card {
  background:linear-gradient(135deg,#ffffff,#f3f8fc);
}

@media(max-width:900px) {
  .contact-direct-grid {
    grid-template-columns:1fr;
  }
}

/* Contact request button contrast fix */
.contact-request-card .btn,
.contact-request-card .bluebtn,
.contact-request-card a.btn,
.contact-request-card a.bluebtn {
  color:#ffffff !important;
}

.contact-request-card .btn:hover,
.contact-request-card .bluebtn:hover,
.contact-request-card a.btn:hover,
.contact-request-card a.bluebtn:hover {
  color:#ffffff !important;
}

/* Service card heading links */
.service-card h3 a,
.product-card h3 a {
  color:inherit;
  text-decoration:none;
}

.service-card h3 a:hover,
.product-card h3 a:hover {
  color:#006fd1;
}

/* Services section heading */
.services-center-head {
  margin-bottom:34px;
}

/* HOME Core Areas: Calibration image */
.home-focus-img.focus-calibration {
  background-image:linear-gradient(0deg,rgba(5,22,40,.22),rgba(5,22,40,.03)), url('../assets/calibration-uv-monitoring-detectors.jpg');
}

/* E-Check service overview CTA alignment */
.echeck-download-note .product-cta {
  white-space:nowrap;
  align-self:center;
}
