:root {
  --navy-950: #061427;
  --navy-900: #0b1e34;
  --navy-850: #102942;
  --navy-800: #173754;
  --navy-700: #24516f;
  --gold-500: #d7b45a;
  --gold-400: #e6ca7a;
  --gold-200: #f2e4b6;
  --teal-600: #087d83;
  --teal-500: #0e969b;
  --ink: #10243f;
  --muted: #5d7083;
  --line: #d8e1e8;
  --mist: #eef3f7;
  --paper: #f8fafc;
  --white: #ffffff;
  --success: #147a56;
  --danger: #a64d47;
  --shadow-sm: 0 10px 30px rgba(7, 24, 44, 0.08);
  --shadow-lg: 0 32px 80px rgba(4, 15, 29, 0.22);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 30px;
  --container: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 86px; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, Aptos, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body.menu-open { overflow: hidden; }

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

:focus-visible {
  outline: 3px solid var(--gold-400);
  outline-offset: 4px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  transform: translateY(-160%);
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--gold-400);
  color: var(--navy-950);
  font-weight: 800;
}

.skip-link:focus { transform: translateY(0); }

.container {
  width: min(calc(100% - 40px), var(--container));
  margin-inline: auto;
}

.section { padding: 110px 0; }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: var(--gold-400);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.eyebrow > span {
  width: 34px;
  height: 2px;
  flex: 0 0 auto;
  background: currentColor;
}

.eyebrow.dark { color: var(--teal-600); }
.eyebrow.light { color: var(--gold-400); }
.eyebrow.gold { color: var(--gold-400); }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.12; letter-spacing: -0.035em; }
h1 { margin-bottom: 26px; font-size: clamp(3rem, 6vw, 5.9rem); }
h2 { margin-bottom: 22px; font-size: clamp(2.25rem, 4vw, 4.15rem); }
h3 { margin-bottom: 12px; font-size: 1.3rem; }
p { color: var(--muted); }

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 14px 23px;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--teal-500); color: var(--white); box-shadow: 0 14px 35px rgba(5, 143, 149, 0.25); }
.button-primary:hover { background: #10a5a9; }
.button-secondary { border-color: rgba(255, 255, 255, 0.28); background: rgba(255, 255, 255, 0.06); color: var(--white); }
.button-secondary:hover { border-color: var(--gold-400); background: rgba(255, 255, 255, 0.1); }
.button-gold { background: var(--gold-500); color: var(--navy-950); box-shadow: 0 12px 28px rgba(215, 180, 90, 0.2); }
.button-gold:hover { background: var(--gold-400); }

.site-header {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--white);
  transition: background-color 220ms ease, box-shadow 220ms ease;
}

.site-header.is-scrolled {
  position: fixed;
  background: rgba(6, 20, 39, 0.96);
  box-shadow: 0 12px 34px rgba(2, 12, 25, 0.25);
  backdrop-filter: blur(14px);
}

.nav-shell { display: flex; min-height: 84px; align-items: center; justify-content: space-between; gap: 30px; }

.brand { display: inline-flex; align-items: center; gap: 13px; flex: 0 0 auto; }
.brand-mark {
  display: grid;
  width: 78px;
  height: 58px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(215, 180, 90, 0.42);
  border-radius: 10px;
  background: var(--white);
}
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-copy { display: grid; line-height: 1.2; }
.brand-copy strong { font-size: 0.94rem; letter-spacing: 0.01em; }
.brand-copy small { margin-top: 5px; color: #a9bfd0; font-size: 0.74rem; }

.main-nav { display: flex; align-items: center; gap: 28px; }
.main-nav > a { position: relative; color: #d8e4ed; font-size: 0.9rem; font-weight: 650; }
.main-nav > a:not(.nav-cta)::after {
  position: absolute;
  right: 0;
  bottom: -10px;
  left: 0;
  height: 2px;
  background: var(--gold-400);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}
.main-nav > a:hover::after { transform: scaleX(1); }
.main-nav .nav-cta { padding: 11px 17px; border: 1px solid rgba(215, 180, 90, 0.58); border-radius: 8px; color: var(--gold-400); }
.main-nav .nav-cta:hover { background: var(--gold-500); color: var(--navy-950); }
.menu-toggle { display: none; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: transparent; }
.menu-toggle > span:not(.sr-only) { display: block; width: 22px; height: 2px; margin: 5px auto; background: white; transition: transform 180ms ease, opacity 180ms ease; }

.hero {
  position: relative;
  min-height: 850px;
  overflow: hidden;
  padding: 170px 0 110px;
  background:
    radial-gradient(circle at 80% 24%, rgba(215, 180, 90, 0.14), transparent 27%),
    radial-gradient(circle at 12% 72%, rgba(14, 150, 155, 0.13), transparent 30%),
    linear-gradient(135deg, var(--navy-950), var(--navy-900) 53%, #102b47);
  color: var(--white);
}

.hero::before {
  position: absolute;
  top: 112px;
  right: -145px;
  width: 480px;
  height: 480px;
  border: 1px solid rgba(215, 180, 90, 0.19);
  border-radius: 50%;
  content: "";
}

.hero::after {
  position: absolute;
  top: 180px;
  right: -80px;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(215, 180, 90, 0.11);
  border-radius: 50%;
  content: "";
}

.hero-gridlines {
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 62px 62px;
  mask-image: linear-gradient(to bottom, transparent, #000 30%, transparent 95%);
}

.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.02fr 0.98fr; align-items: center; gap: 70px; }
.hero-copy h1 { max-width: 760px; }
.hero-copy h1 em { display: block; color: var(--gold-400); font-style: normal; font-weight: 500; }
.hero-lead { max-width: 680px; margin-bottom: 34px; color: #bed0dc; font-size: 1.15rem; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 29px; color: #b5c7d4; font-size: 0.86rem; }
.hero-proof span { display: inline-flex; align-items: center; gap: 8px; }
.hero-proof i { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid rgba(215,180,90,.4); border-radius: 50%; color: var(--gold-400); font-style: normal; font-size: .7rem; }

.hero-visual { position: relative; width: min(100%, 570px); min-width: 0; justify-self: end; }
.halo { position: absolute; inset: 15% 4% -12%; border-radius: 50%; background: rgba(11, 126, 133, 0.2); filter: blur(54px); }
.control-panel {
  position: relative;
  overflow: hidden;
  padding: 24px;
  border: 1px solid rgba(215, 180, 90, 0.35);
  border-radius: 26px;
  background: rgba(248, 251, 253, 0.96);
  box-shadow: var(--shadow-lg);
  color: var(--ink);
  transform: none;
}

.control-panel::after { position: absolute; top: -100px; right: -100px; width: 260px; height: 260px; border: 1px solid rgba(215,180,90,.35); border-radius: 50%; content: ""; }
.panel-topbar { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.panel-topbar > div { display: flex; align-items: center; gap: 9px; color: var(--navy-900); }
.panel-brand-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--gold-500); box-shadow: 0 0 0 5px rgba(215,180,90,.17); }
.secure-label { padding: 5px 9px; border-radius: 6px; background: #e6f4f3; color: #16706f; font-size: 0.7rem; font-weight: 800; }
.panel-context { display: flex; align-items: center; gap: 10px; padding: 17px 4px; color: #718394; font-size: 0.73rem; }
.panel-context b { color: #b4c0ca; }
.panel-context strong { color: var(--navy-800); }
.equipment-card { position: relative; z-index: 2; padding: 20px; border: 1px solid #dbe4eb; border-radius: 16px; background: white; box-shadow: var(--shadow-sm); }
.equipment-heading { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; }
.equipment-heading small { color: #6d8092; font-size: 0.63rem; font-weight: 800; letter-spacing: .12em; }
.equipment-heading h2 { margin: 4px 0 0; font-size: 1.12rem; letter-spacing: -.02em; }
.chair-symbol { position: relative; width: 46px; height: 46px; border-radius: 12px; background: #e7f2f3; }
.chair-back { position: absolute; top: 9px; left: 12px; width: 8px; height: 20px; border: 3px solid var(--teal-600); border-radius: 7px; transform: rotate(-18deg); }
.chair-seat { position: absolute; top: 25px; left: 16px; width: 19px; height: 7px; border: 3px solid var(--teal-600); border-top: 0; border-radius: 0 0 7px 7px; }
.chair-base { position: absolute; top: 31px; left: 25px; width: 3px; height: 8px; background: var(--teal-600); box-shadow: -7px 8px 0 -1px var(--teal-600), 7px 8px 0 -1px var(--teal-600); }
.status-pill { padding: 7px 10px; border-radius: 7px; font-size: .68rem; font-weight: 850; }
.status-ok { border: 1px solid #b9decf; background: #eaf7f1; color: var(--success); }
.equipment-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 19px; padding-top: 16px; border-top: 1px solid #e4eaf0; }
.equipment-metrics div { display: grid; gap: 3px; }
.equipment-metrics span { color: #7d8d9c; font-size: .66rem; }
.equipment-metrics strong { color: var(--navy-800); font-size: .76rem; }
.timeline-card { position: relative; z-index: 2; margin-top: 14px; padding: 18px; border-radius: 15px; background: var(--navy-900); color: white; }
.timeline-head { display: flex; justify-content: space-between; gap: 15px; font-size: .76rem; }
.timeline-head span { color: var(--gold-400); }
.timeline-track { display: grid; grid-template-columns: repeat(4,1fr); margin: 20px 9px 7px; border-top: 2px solid #31516d; }
.timeline-track i { width: 10px; height: 10px; margin-top: -6px; border: 2px solid var(--navy-900); border-radius: 50%; background: var(--gold-500); }
.timeline-track i:last-child { background: #80c8c7; }
.timeline-labels { display: grid; grid-template-columns: repeat(4,1fr); color: #a7bccb; font-size: .55rem; text-align: left; }
.panel-caption { position: relative; z-index: 2; margin: 16px 0 0; color: #6a7c8e; font-size: .74rem; text-align: center; }

.trust-strip { position: relative; z-index: 5; margin-top: -1px; border-bottom: 1px solid #dce4e9; background: white; }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-grid > div { display: flex; min-height: 108px; align-items: center; gap: 13px; padding: 24px 25px; border-right: 1px solid #e0e7ec; }
.trust-grid > div:first-child { border-left: 1px solid #e0e7ec; }
.trust-grid strong { color: var(--gold-500); font-family: Georgia, serif; font-size: 1.4rem; font-weight: 500; }
.trust-grid span { color: var(--navy-800); font-size: .86rem; font-weight: 750; line-height: 1.35; }

.problem-section { background: white; }
.split-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: start; }
.section-heading h2 { max-width: 640px; }
.statement > p:first-child { margin-bottom: 30px; color: #445b70; font-size: 1.18rem; line-height: 1.85; }
.statement-line { width: 100%; height: 1px; margin-bottom: 23px; background: linear-gradient(90deg, var(--gold-500), transparent); }
.statement-note { margin: 0; color: var(--navy-800); font-weight: 750; }

.plan-section { background: var(--mist); }
.section-intro { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 80px; margin-bottom: 50px; }
.section-intro h2 { max-width: 760px; margin-bottom: 0; }
.section-intro > p { margin: 0 0 8px; font-size: 1.05rem; }
.section-intro.compact { margin-bottom: 42px; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.service-card { position: relative; min-height: 430px; overflow: hidden; padding: 34px 30px; border: 1px solid #d8e2e9; border-radius: var(--radius-md); background: white; box-shadow: 0 9px 25px rgba(15,38,62,.05); }
.service-card.featured { border-color: #2b6275; background: var(--navy-900); color: white; transform: translateY(-12px); }
.service-card::after { position: absolute; top: -65px; right: -65px; width: 150px; height: 150px; border: 1px solid rgba(215,180,90,.25); border-radius: 50%; content: ""; }
.service-number { position: absolute; top: 22px; right: 24px; color: #c4cdd4; font-family: Georgia, serif; font-size: 1rem; }
.service-icon { display: grid; width: 52px; height: 52px; margin-bottom: 28px; place-items: center; border-radius: 12px; background: #eaf3f4; color: var(--teal-600); font-size: 1.35rem; font-weight: 900; }
.service-card.featured .service-icon { background: rgba(215,180,90,.13); color: var(--gold-400); }
.service-card h3 { font-size: 1.45rem; }
.service-card p { min-height: 84px; margin-bottom: 22px; line-height: 1.7; }
.service-card.featured p { color: #b9cbd8; }
.service-card ul { display: grid; gap: 11px; margin: 0; padding: 19px 0 0; border-top: 1px solid #e1e7eb; list-style: none; }
.service-card.featured ul { border-color: #28435a; }
.service-card li { display: flex; align-items: center; gap: 9px; color: #53697b; font-size: .88rem; }
.service-card.featured li { color: #d4e0e8; }
.service-card li::before { width: 6px; height: 6px; border-radius: 50%; background: var(--gold-500); content: ""; }

.volume-card { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; margin-top: 64px; padding: 54px; border-radius: var(--radius-lg); background: linear-gradient(125deg, var(--navy-950), var(--navy-800)); box-shadow: var(--shadow-lg); color: white; }
.volume-copy h2 { max-width: 590px; font-size: clamp(2.3rem,4vw,3.8rem); }
.volume-copy > p { color: #b9cbd8; }
.volume-note { margin-top: 30px; padding: 17px 19px; border-left: 3px solid var(--gold-500); background: rgba(255,255,255,.05); color: #bcd0dd; font-size: .86rem; }
.volume-note b { display: block; color: white; }
.estimator { padding: 28px; border: 1px solid rgba(215,180,90,.28); border-radius: 20px; background: rgba(255,255,255,.07); backdrop-filter: blur(9px); }
.estimator-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.estimator-head small { color: var(--gold-400); font-size: .66rem; font-weight: 850; letter-spacing: .14em; }
.estimator-head h3 { margin: 7px 0 0; font-size: 1.15rem; }
.estimator output { display: grid; min-width: 58px; height: 58px; place-items: center; border-radius: 13px; background: var(--gold-500); color: var(--navy-950); font-family: Georgia, serif; font-size: 1.9rem; font-weight: 800; }
.estimator input[type="range"] { width: 100%; margin: 34px 0 5px; accent-color: var(--gold-500); cursor: pointer; }
.range-labels { display: flex; justify-content: space-between; color: #94adbf; font-size: .67rem; }
.plan-result { display: grid; gap: 5px; margin: 24px 0; padding: 20px; border-radius: 13px; background: rgba(5,17,32,.58); }
.plan-result > span { color: var(--gold-400); font-size: .65rem; font-weight: 850; letter-spacing: .13em; }
.plan-result > strong { font-size: 1.05rem; }
.plan-result p { margin: 3px 0 0; color: #a9becc; font-size: .8rem; line-height: 1.55; }
.estimator .button { width: 100%; }

.warranty-section { overflow: hidden; background: var(--navy-900); color: white; }
.warranty-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 85px; }
.warranty-lead { position: relative; }
.warranty-lead::before { position: absolute; top: -110px; left: -190px; width: 380px; height: 380px; border: 1px solid rgba(215,180,90,.13); border-radius: 50%; content: ""; }
.warranty-lead h2 { position: relative; max-width: 530px; }
.warranty-lead > p { position: relative; color: #b8cad6; font-size: 1.03rem; }
.warranty-formula { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 35px; }
.warranty-formula span { padding: 9px 12px; border: 1px solid #35516a; border-radius: 8px; background: rgba(255,255,255,.04); color: #d6e2e9; font-size: .76rem; font-weight: 750; }
.warranty-formula b { color: var(--gold-400); }
.warranty-details { overflow: hidden; border: 1px solid #2b4660; border-radius: var(--radius-md); background: rgba(255,255,255,.04); }
.warranty-details article { display: grid; grid-template-columns: auto 1fr; gap: 17px; padding: 25px 28px; border-bottom: 1px solid #294158; }
.warranty-details h3 { margin-bottom: 6px; color: white; font-size: 1rem; letter-spacing: -.01em; }
.warranty-details p { margin: 0; color: #aebfcb; font-size: .86rem; }
.detail-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; font-size: .85rem; font-weight: 900; }
.detail-mark.included { background: #1a604c; color: #bce8d4; }
.detail-mark.defined { background: #315372; color: #cde2f0; }
.detail-mark.excluded { background: #603f45; color: #f4c9c5; }
.legal-note { margin: 0; padding: 20px 28px; background: rgba(4,17,32,.34); color: #8fa5b5 !important; font-size: .72rem !important; }

.dmms-section { background: white; }
.dmms-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: center; }
.dmms-copy > p:not(.eyebrow) { font-size: 1.02rem; }
.feature-list { display: grid; gap: 0; margin-top: 32px; border-top: 1px solid var(--line); }
.feature-list > div { display: grid; grid-template-columns: 38px 1fr; gap: 13px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.feature-list > div > span { color: var(--gold-500); font-family: Georgia, serif; }
.feature-list p { margin: 0; color: #5b6e80; font-size: .83rem; }
.feature-list b { display: block; margin-bottom: 2px; color: var(--navy-800); font-size: .92rem; }
.software-window { overflow: hidden; border: 1px solid #d0dbe3; border-radius: 22px; background: #eef3f7; box-shadow: 0 30px 70px rgba(12,39,64,.15); }
.software-bar { display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; background: var(--navy-950); color: white; }
.software-logo { display: flex; align-items: center; gap: 9px; font-size: .73rem; }
.software-logo span { padding: 5px 7px; border-radius: 5px; background: white; color: var(--navy-950); font-weight: 900; }
.window-dots { display: flex; gap: 5px; }
.window-dots i { width: 7px; height: 7px; border-radius: 50%; background: #5e7184; }
.window-dots i:first-child { background: var(--gold-500); }
.software-body { display: grid; grid-template-columns: 135px 1fr; min-height: 430px; }
.software-body aside { display: grid; align-content: start; gap: 4px; padding: 23px 12px; background: var(--navy-900); }
.software-body aside span { padding: 0 9px 10px; color: #7fa1b8; font-size: .52rem; font-weight: 850; letter-spacing: .14em; }
.software-body aside b { padding: 9px; border-radius: 6px; color: #a9c0d0; font-size: .63rem; font-weight: 650; }
.software-body aside b.active { background: #214d60; color: white; }
.software-content { padding: 25px; }
.software-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.software-heading small { color: #647a8e; font-size: .55rem; font-weight: 850; letter-spacing: .13em; }
.software-heading h3 { margin: 4px 0 0; color: var(--navy-900); font-size: 1.3rem; }
.software-heading > span { padding: 5px 8px; border-radius: 5px; background: #e1f0ef; color: #187474; font-size: .55rem; font-weight: 800; }
.software-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 22px 0 13px; }
.software-stats article { display: grid; min-height: 102px; align-content: start; gap: 6px; padding: 14px; border: 1px solid #d7e0e7; border-radius: 10px; background: white; }
.software-stats small { color: #708496; font-size: .48rem; letter-spacing: .09em; }
.software-stats strong { color: var(--navy-800); font-size: .68rem; }
.software-stats .bar { display: block; width: 70%; height: 4px; margin-top: 13px; border-radius: 4px; background: var(--teal-500); }
.software-stats .bar-two { width: 52%; background: var(--gold-500); }
.software-stats .bar-three { width: 36%; background: #7e95b8; }
.software-lower { display: grid; grid-template-columns: 1.35fr .65fr; gap: 10px; }
.maintenance-list, .trace-card { padding: 15px; border: 1px solid #d7e0e7; border-radius: 10px; background: white; }
.maintenance-list > div { display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid #e2e8ed; color: var(--navy-800); font-size: .62rem; }
.maintenance-list > div span { color: #748697; }
.maintenance-list p { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; margin: 0; padding: 9px 0; border-bottom: 1px solid #edf0f3; color: #607488; font-size: .54rem; }
.maintenance-list p:last-child { border-bottom: 0; }
.maintenance-list p i { width: 6px; height: 6px; border-radius: 50%; background: var(--teal-500); }
.maintenance-list p b { color: var(--navy-800); font-size: .5rem; }
.trace-card { display: grid; align-content: center; background: var(--navy-800); color: white; }
.trace-card small { color: var(--gold-400); font-size: .48rem; font-weight: 850; letter-spacing: .12em; }
.trace-card strong { margin: 9px 0 18px; font-size: .78rem; line-height: 1.45; }
.trace-card span { color: #a5bccb; font-size: .48rem; }
.dmms-disclaimer { grid-column: 2; margin: -42px 0 0; color: #748697; font-size: .73rem; text-align: center; }

.process-section { background: var(--mist); }
.process-list { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; list-style: none; }
.process-list li { position: relative; min-height: 250px; padding: 27px 25px; border-top: 2px solid #c9d6df; }
.process-list li::before { position: absolute; top: -7px; left: 25px; width: 12px; height: 12px; border: 3px solid var(--mist); border-radius: 50%; background: var(--teal-600); content: ""; }
.process-list li:last-child::before { background: var(--gold-500); }
.process-list > li > span { display: block; margin: 18px 0 52px; color: #9eacb8; font-family: Georgia, serif; font-size: 1.4rem; }
.process-list h3 { color: var(--navy-800); }
.process-list p { margin: 0; font-size: .87rem; }

.founder-section { overflow: hidden; background: linear-gradient(125deg, var(--navy-950), var(--navy-800)); color: white; }
.founder-grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 80px; }
.founder-portrait { display: grid; justify-items: center; }
.portrait-ring { display: grid; width: min(340px, 76vw); aspect-ratio: 1; place-items: center; border: 1px solid rgba(215,180,90,.44); border-radius: 50%; background: radial-gradient(circle, rgba(215,180,90,.12), transparent 62%); box-shadow: inset 0 0 0 28px rgba(255,255,255,.025); }
.portrait-ring span { color: var(--gold-400); font-family: Georgia, serif; font-size: clamp(4rem, 9vw, 7rem); letter-spacing: -.08em; }
.founder-portrait small { margin-top: 22px; color: #8fa9bb; font-size: .68rem; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.founder-copy h2 { max-width: 700px; }
.founder-copy > p:not(.eyebrow) { max-width: 720px; color: #b7cad7; font-size: 1rem; }
.founder-copy strong { color: white; }
.credential-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 31px; }
.credential-row span { padding: 8px 10px; border: 1px solid #365269; border-radius: 7px; color: #c9d8e2; font-size: .73rem; }
.mission-vision { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 12px; }
.mission-vision article { position: relative; overflow: hidden; padding: 34px; border: 1px solid #365269; border-radius: 18px; background: rgba(255,255,255,.045); }
.mission-vision article::after { position: absolute; right: -54px; bottom: -74px; width: 170px; height: 170px; border: 1px solid rgba(215,180,90,.14); border-radius: 50%; content: ""; }
.mission-vision h3 { max-width: 470px; margin: 0 0 17px; color: var(--gold-400); font-size: 1.75rem; letter-spacing: -.02em; }
.mission-vision p { position: relative; z-index: 1; margin: 0; color: #aec2d0; font-size: .88rem; line-height: 1.72; }

.faq-section { background: white; }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; align-items: start; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 23px 48px 23px 0; color: var(--navy-800); cursor: pointer; font-size: 1.02rem; font-weight: 800; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; top: 20px; right: 3px; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #cfdbe3; border-radius: 50%; color: var(--teal-600); content: "+"; font-size: 1.2rem; font-weight: 500; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: -5px 50px 23px 0; font-size: .9rem; }

.contact-section { position: relative; overflow: hidden; padding: 110px 0; background: var(--navy-900); color: white; }
.contact-section::after { position: absolute; right: -130px; bottom: -220px; width: 500px; height: 500px; border: 1px solid rgba(215,180,90,.15); border-radius: 50%; content: ""; }
.contact-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; align-items: start; }
.contact-copy h2 { max-width: 590px; }
.contact-copy > p:not(.eyebrow) { max-width: 580px; color: #b7c9d6; }
.contact-direct { display: grid; gap: 0; margin-top: 38px; border-top: 1px solid #2e475e; }
.contact-direct > * { display: grid; gap: 2px; padding: 15px 0; border-bottom: 1px solid #2e475e; }
.contact-direct a:hover strong { color: var(--gold-400); }
.contact-direct small { color: #7894a9; font-size: .62rem; font-weight: 850; letter-spacing: .13em; }
.contact-direct strong { color: white; font-size: .94rem; transition: color 180ms ease; }
.contact-form { padding: 33px; border: 1px solid rgba(215,180,90,.26); border-radius: var(--radius-md); background: white; box-shadow: var(--shadow-lg); color: var(--ink); }
.form-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.form-heading span { color: var(--navy-800); font-size: 1.23rem; font-weight: 850; }
.form-heading small { color: #758696; font-size: .72rem; text-align: right; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-form label { display: grid; gap: 7px; margin-bottom: 15px; color: #324d63; font-size: .76rem; font-weight: 800; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid #cfdae2; border-radius: 9px; background: #f9fbfc; color: var(--ink); font-size: .9rem; outline: 0; transition: border-color 160ms ease, box-shadow 160ms ease; }
.contact-form input { height: 49px; padding: 0 13px; }
.contact-form textarea { min-height: 110px; padding: 12px 13px; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--teal-500); box-shadow: 0 0 0 3px rgba(14,150,155,.13); }
.contact-choice { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 1px 0 18px; padding: 0; border: 0; }
.contact-choice legend { grid-column: 1 / -1; margin-bottom: 8px; color: #324d63; font-size: .76rem; font-weight: 800; }
.contact-choice .choice-card { position: relative; display: block; margin: 0; cursor: pointer; }
.choice-card input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.choice-card span { display: grid; min-height: 76px; align-content: center; gap: 3px; padding: 12px 14px; border: 1px solid #cfdae2; border-radius: 10px; background: #f9fbfc; transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease; }
.choice-card b { color: var(--navy-800); font-size: .84rem; }
.choice-card small { color: #738494; font-size: .68rem; font-weight: 500; }
.choice-card input:checked + span { border-color: var(--teal-500); background: #eaf6f6; box-shadow: inset 0 0 0 1px var(--teal-500); }
.choice-card input:focus-visible + span { outline: 3px solid var(--gold-400); outline-offset: 3px; }
.form-submit { width: 100%; border: 0; }
.field-hint { display: block; margin: -7px 0 16px; color: #66798a; font-size: .72rem; line-height: 1.5; }
.privacy-note { margin: 14px 0 0; color: #66798a; font-size: .76rem; line-height: 1.55; text-align: left; }
.privacy-note a { color: var(--teal-600); font-weight: 850; text-decoration: underline; text-underline-offset: 2px; }

.site-footer { padding: 38px 0; border-top: 1px solid #203a51; background: var(--navy-950); color: white; }
.footer-grid { display: grid; grid-template-columns: 1.1fr .9fr auto; align-items: center; gap: 35px; }
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer-brand .brand-mark { width: 70px; height: 52px; }
.footer-brand strong { font-size: .9rem; }
.footer-brand p { margin: 3px 0 0; color: #829bae; font-size: .69rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: 17px; color: #a7bdcc; font-size: .75rem; }
.footer-links a:hover { color: var(--gold-400); }
.footer-meta { display: grid; gap: 3px; color: #708a9d; font-size: .65rem; text-align: right; }

.floating-contact { position: fixed; z-index: 80; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 9px; min-height: 50px; padding: 10px 15px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: #137c61; color: white; box-shadow: 0 14px 32px rgba(4,30,25,.28); font-size: .82rem; }
.floating-contact span { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; }
.floating-contact:hover { background: #0e8d6b; }

.privacy-page { background: #f2f6f9; }
.privacy-page .site-header { position: relative; background: var(--navy-950); }
.privacy-page .nav-shell { min-height: 92px; }
.privacy-back { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-400); font-size: .86rem; font-weight: 800; }
.privacy-back:hover { color: var(--white); }
.privacy-hero { position: relative; overflow: hidden; padding: 74px 0 66px; background: linear-gradient(135deg, var(--navy-900), var(--navy-800)); color: var(--white); }
.privacy-hero::after { position: absolute; right: -120px; bottom: -235px; width: 470px; height: 470px; border: 1px solid rgba(215,180,90,.18); border-radius: 50%; content: ""; }
.privacy-hero .container { position: relative; z-index: 1; }
.privacy-hero h1 { max-width: 920px; margin-bottom: 20px; font-size: clamp(2.55rem, 5vw, 4.6rem); }
.privacy-hero p { max-width: 810px; margin-bottom: 0; color: #c2d1dc; font-size: 1.03rem; }
.privacy-version { display: inline-flex; margin-top: 25px; padding: 8px 12px; border: 1px solid rgba(215,180,90,.36); border-radius: 999px; color: var(--gold-400); font-size: .74rem; font-weight: 800; letter-spacing: .04em; }
.privacy-main { padding: 68px 0 95px; }
.privacy-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 38px; align-items: start; }
.privacy-content { display: grid; gap: 18px; }
.privacy-section { padding: 31px 34px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: var(--shadow-sm); }
.privacy-section h2 { margin-bottom: 15px; color: var(--navy-800); font-size: 1.55rem; }
.privacy-section h3 { margin: 23px 0 10px; color: var(--navy-800); font-size: 1.02rem; letter-spacing: -.01em; }
.privacy-section p:last-child { margin-bottom: 0; }
.privacy-section ul { margin: 13px 0 0; padding-left: 20px; color: var(--muted); }
.privacy-section li + li { margin-top: 8px; }
.privacy-summary { position: sticky; top: 25px; padding: 26px; border-radius: 18px; background: var(--navy-900); color: var(--white); box-shadow: var(--shadow-lg); }
.privacy-summary h2 { margin-bottom: 17px; color: var(--gold-400); font-size: 1.2rem; }
.privacy-summary p { color: #b8cad6; font-size: .84rem; }
.privacy-summary a { display: block; overflow-wrap: anywhere; color: var(--white); font-weight: 800; }
.privacy-summary a:hover { color: var(--gold-400); }
.privacy-summary .button { margin-top: 9px; color: var(--navy-950); }
.privacy-scope { padding: 20px 23px; border-left: 4px solid var(--gold-500); border-radius: 0 12px 12px 0; background: #fff9e9; color: #5d5541; }
.privacy-scope strong { color: var(--navy-800); }
.legal-contact { display: grid; gap: 6px; margin-top: 18px; padding: 18px; border: 1px solid #d5e0e7; border-radius: 12px; background: #f7fafc; }
.legal-contact strong { color: var(--navy-800); }
.legal-contact a { color: var(--teal-600); font-weight: 800; text-decoration: underline; }

.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity 650ms ease, transform 650ms ease; }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1050px) {
  .main-nav { gap: 18px; }
  .main-nav > a { font-size: .82rem; }
  .hero-grid { gap: 40px; }
  .hero { min-height: auto; }
  .volume-card { padding: 40px; gap: 34px; }
  .dmms-grid { grid-template-columns: 1fr; }
  .dmms-copy { max-width: 760px; }
  .software-window { width: min(100%, 760px); margin-inline: auto; }
  .dmms-disclaimer { grid-column: auto; margin: -48px auto 0; }
}

@media (max-width: 880px) {
  .section { padding: 82px 0; }
  .brand-copy small { display: none; }
  .menu-toggle { display: block; }
  .main-nav { position: fixed; top: 84px; right: 0; left: 0; display: grid; max-height: 0; overflow: hidden; padding: 0 20px; background: rgba(6,20,39,.98); opacity: 0; transition: max-height 260ms ease, opacity 180ms ease, padding 260ms ease; }
  .main-nav.is-open { max-height: calc(100vh - 84px); padding: 25px 20px 34px; opacity: 1; }
  .main-nav > a { padding: 10px; font-size: 1rem; }
  .main-nav > a:not(.nav-cta)::after { display: none; }
  .main-nav .nav-cta { margin-top: 6px; text-align: center; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .hero { padding-top: 145px; }
  .hero-grid, .split-grid, .section-intro, .volume-card, .warranty-grid, .founder-grid, .faq-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero-grid { gap: 60px; }
  .hero-copy { max-width: 760px; }
  .hero-visual { width: min(100%, 620px); margin-inline: auto; justify-self: center; }
  .trust-grid { grid-template-columns: repeat(2,1fr); }
  .trust-grid > div:nth-child(3) { border-left: 1px solid #e0e7ec; }
  .split-grid, .section-intro, .warranty-grid, .founder-grid, .faq-grid, .contact-grid { gap: 44px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: auto; }
  .service-card p { min-height: auto; }
  .service-card.featured { transform: none; }
  .volume-card { padding: 36px; }
  .process-list { grid-template-columns: repeat(2,1fr); }
  .founder-portrait { order: 2; }
  .founder-copy { order: 1; }
  .mission-vision { order: 3; grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-meta { grid-column: 1 / -1; text-align: left; }
  .privacy-layout { grid-template-columns: 1fr; }
  .privacy-summary { position: static; order: -1; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 68px 0; }
  h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
  h2 { font-size: clamp(2rem, 9.5vw, 3rem); }
  .nav-shell { min-height: 76px; }
  .site-header.is-scrolled .nav-shell { min-height: 70px; }
  .brand-mark { width: 66px; height: 50px; }
  .brand-copy strong { font-size: .79rem; }
  .main-nav { top: 76px; }
  .hero { padding: 130px 0 78px; }
  .hero-lead { font-size: 1rem; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero-proof { display: grid; gap: 10px; }
  .control-panel { padding: 15px; border-radius: 19px; transform: none; }
  .equipment-heading { grid-template-columns: auto 1fr; }
  .equipment-heading .status-pill { grid-column: 1 / -1; justify-self: start; }
  .equipment-metrics { grid-template-columns: 1fr; }
  .equipment-metrics div { grid-template-columns: 1fr 1fr; }
  .timeline-labels { font-size: .46rem; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid > div, .trust-grid > div:nth-child(3) { min-height: 77px; border-left: 1px solid #e0e7ec; }
  .section-intro { margin-bottom: 35px; }
  .service-card { padding: 29px 24px; }
  .volume-card { margin-inline: -2px; padding: 28px 20px; border-radius: 21px; }
  .estimator { padding: 21px 17px; }
  .estimator-head { display: grid; grid-template-columns: 1fr auto; }
  .warranty-details article { padding: 21px 18px; }
  .legal-note { padding: 18px !important; }
  .software-body { grid-template-columns: 1fr; }
  .software-body aside { display: none; }
  .software-content { padding: 17px; }
  .software-stats { grid-template-columns: 1fr; }
  .software-stats article { min-height: 76px; }
  .software-lower { grid-template-columns: 1fr; }
  .dmms-disclaimer { margin-top: -26px; }
  .process-list { grid-template-columns: 1fr; }
  .process-list li { min-height: auto; padding-bottom: 44px; }
  .process-list > li > span { margin-bottom: 24px; }
  .portrait-ring { max-width: 270px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .contact-choice { grid-template-columns: 1fr; }
  .contact-form { padding: 25px 19px; }
  .form-heading { display: grid; }
  .form-heading small { text-align: left; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-links { padding: 18px 0; border-top: 1px solid #233b50; border-bottom: 1px solid #233b50; }
  .footer-meta { grid-column: auto; }
  .floating-contact { right: 14px; bottom: 14px; }
  .privacy-page .nav-shell { min-height: 78px; }
  .privacy-back { font-size: .78rem; }
  .privacy-hero { padding: 55px 0 49px; }
  .privacy-main { padding: 44px 0 70px; }
  .privacy-section { padding: 24px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  .js .reveal { opacity: 1; transform: none; }
}
