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

  :root {
    --ink:       #ffffff;
    --ink-2:     #f4f5f7;
    --ink-3:     #eaecf0;
    --silver:    #5c6475;
    --silver-lt: #8b95a8;
    --rule:      #dde0e8;
    --rule-lt:   #c8ccd6;
    --accent:    #9e7e44;
    --accent-dk: #7a5f2e;
    --white:     #1a1f2e;
    --white-off: #2b3147;
    --ff-head:    serif;
    --ff-body:   'Helvetica Neue', 'Arial', sans-serif;
    --ff-mono:   'Courier New', monospace;
    --radius:    3px;
    --max:       1240px;
  }

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

  body {
    background: var(--ink);
    color: var(--white);
    font-family: var(--ff-body);
    font-size: 15px;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
  }

  /* ── SCROLL BAR ─────────────────────────────── */
  ::-webkit-scrollbar { width: 6px; }
  ::-webkit-scrollbar-track { background: var(--ink-3); }
  ::-webkit-scrollbar-thumb { background: var(--rule-lt); border-radius: 3px; }

  /* ── TOPBAR ─────────────────────────────────── */
  .topbar {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    height: 64px;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--rule);
    display: flex; align-items: center;
    padding: 0 48px;
    gap: 40px;
  }
  .topbar-brand {
    font-family: var(--ff-head);
    font-size: 18px;
    letter-spacing: .12em;
    color: var(--accent);
    text-decoration: none;
    flex-shrink: 0;
  }
  .topbar-nav {
    display: flex; gap: 32px; list-style: none;
    margin-left: auto;
  }
  .topbar-nav a {
    color: var(--silver);
    text-decoration: none;
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: color .2s;
  }
  .topbar-nav a:hover { color: var(--white); }
  .topbar-cta {
    margin-left: 32px;
    padding: 9px 22px;
    border: 1px solid var(--accent);
    color: var(--accent);
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s, color .2s;
    flex-shrink: 0;
  }
  .topbar-cta:hover { background: var(--accent); color: #fff; }

  /* ── HERO ───────────────────────────────────── */
  .hero {
    min-height: 65vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
    
    position: relative;
    overflow: hidden;
  }
  .hero-bg {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #ffffff 40%, #f0f2f7 100%);
    z-index: 0;
  }
  /* SVG engineering blueprint grid */
  .hero-grid {
    position: absolute; inset: 0;
    background-image:
      linear-gradient(var(--rule) 1px, transparent 1px),
      linear-gradient(90deg, var(--rule) 1px, transparent 1px);
     
    opacity: .5;
    z-index: 0;
  }
  .hero-left {
    position: relative; z-index: 1;
    display: flex; flex-direction: column;  
    padding: 50px 64px 10px 80px;
  }
  .hero-eyebrow {
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 24px;
    display: flex; align-items: center; gap: 12px;
  }
  .hero-eyebrow::before {
    content: '';
    display: block; width: 32px; height: 1px;
    background: var(--accent);
  }
  .hero-title {
    font-family: var(--ff-head);
    font-size: clamp(36px, 4vw, 36px);
    font-weight: 400;
    line-height: 1.15;
    color: #1a1f2e;
    margin-bottom: 8px;
  }
  .hero-title span { color: var(--accent); }
  .hero-subtitle {
    font-family: var(--ff-head);
    font-size: clamp(14px, 1.4vw, 18px);
    font-weight: 400;
    color: #4a5060;
    margin-bottom: 36px;
    letter-spacing: .04em;
  }
  .hero-desc {
    font-size: 15px;
    color: var(--silver);
    /*max-width: 480px;*/
    margin-bottom: 48px;
    line-height: 1.85;
  }
  .hero-stats {
    display: flex; gap: 40px; margin-bottom: 48px;
  }
  .hero-stat-value {
    font-family: var(--ff-head);
    font-size: 32px;
    color: #1a1f2e;
    line-height: 1;
  }
  .hero-stat-value sup { font-size: 14px; vertical-align: super; }
  .hero-stat-label {
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--silver);
    margin-top: 6px;
  }
  .hero-stat-sep {
    width: 1px; background: var(--rule-lt); align-self: stretch;
  }
  .hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
  .btn-primary {border-color:var(--accent);
    padding: 14px 32px;
    background-color: var(--accent);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .10em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s, transform .15s;
    display: inline-block;
  }
  .btn-primary:hover { background: var(--accent-dk); transform: translateY(-1px); }
  .btn-outline {
    padding: 13px 32px;
    border: 1px solid var(--rule-lt);
    color: var(--silver);
    font-size: 13px;
    letter-spacing: .10em;
    text-transform: uppercase;
    text-decoration: none;
    transition: border-color .2s, color .2s;
    display: inline-block;line-height: 35px;
  }
  .btn-outline:hover { border-color: var(--accent); color: var(--accent); }

  .hero-right {
    position: relative; z-index: 1;
    display: flex; align-items: center;  
    padding: 0px 80px 10px 0;
  }
  /* Engineering schematic illustration */
  .schematic {
    width: 100%; max-width: 600px;
    aspect-ratio: 4/3;
    position: relative;
  }
  .schematic img { width: 100%; height: 100%; }

  /* ── SECTION COMMON ─────────────────────────── */
  section { padding:50px 0; }
  .container { max-width: var(--max); margin: 0 auto; padding: 0 48px; }

  .section-tag {
    font-size: 10px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 16px;
    display: flex; align-items: center; gap: 10px;
  }
  .section-tag::after {
    content: '';
    flex: 1; height: 1px;
    background: linear-gradient(90deg, var(--rule-lt), transparent);
    max-width: 120px;
  }
  .section-title {
    font-family: var(--ff-head);
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 400;
    line-height: 1.2;
    color: #1a1f2e;
    margin-bottom: 16px;
  }
  .section-lead {
    font-size: 15px;
    color: var(--silver);
    max-width: 600px;
    line-height: 1.85;
  }

  /* ── PARAMS BAND ────────────────────────────── */
  .params-band {
    background: #1a1f2e;
    border-top: 1px solid #2b3147;
    border-bottom: 1px solid #2b3147;
    padding: 0;
  }
  .params-band .container { padding: 0 48px; }
  .params-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-left: 1px solid #2b3147;
  }
  .param-cell {
    padding: 20px 16px;
    border-right: 1px solid #2b3147;
    border-bottom: 1px solid #2b3147;
  }
  .param-cell:nth-child(n+6) {   }
  .param-label {
    font-size: 14px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #8b95a8;
    margin-bottom: 10px;
  }
  .param-value {
    font-family: var(--ff-head);
    font-size: 17px;
    color: #f5f6f8;
    line-height: 1.3;
  }
  .param-value sup { font-size: 10px; vertical-align: super; }
  .param-note {
    font-size: 16px;
    color: #6b7585;
    margin-top: 6px;
  }
/* INTRO */
.intro{background:#fff}
.intro-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.intro-text h2{font-family:var(--ff-head);font-size:28px;font-weight:400;color:#1a1f2e;margin-bottom:24px;line-height:1.3}
.intro-text p{font-size:15px;color:var(--silver);line-height:1.85;margin-bottom:18px}
.intro-highlights{margin-top:24px}
.intro-highlights li{font-size:14px;color:var(--white);padding:8px 0;border-bottom:1px solid var(--rule);list-style:none;display:flex;align-items:flex-start;gap:10px}
.intro-highlights li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:9px}
.intro-card{background:#1a1f2e;color:#fff;padding:40px 36px}
.intro-card h3{font-family:var(--ff-head);font-size:20px;color:var(--accent);margin-bottom:18px;font-weight:400}
.intro-card p{font-size:14px;color:rgba(255,255,255,.78);line-height:1.8;margin-bottom:16px}
.scene-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.scene-tag{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.80);border:1px solid rgba(255,255,255,.18);padding:5px 12px}
  /* ── FEATURES ───────────────────────────────── */
  .features { background: #fff; }
  .features-header {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 64px;
    margin-bottom: 64px;
    align-items: end;
  }
  .features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
  }
  .feature-card {
    background: var(--ink-2);
    padding: 40px 30px;
    border-top: 2px solid transparent;
    transition: border-color .25s, background .25s;
    position: relative;
  }
  .feature-card::before {
    content: '';
    position: absolute; top: -2px; left: 0; right: 0; height: 2px;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
  }
  .feature-card:hover::before { transform: scaleX(1); }
  .feature-card:hover { background: #eceef3; }
  .feature-num {
    font-family: var(--ff-mono);
    font-size: 11px;
    letter-spacing: .12em;
    color: var(--accent);
    margin-bottom: 20px;
  }
  .feature-name {
    font-family: var(--ff-head);
    font-size: 18px;
    color: #1a1f2e;
    margin-bottom: 14px;
    line-height: 1.3;
  }
  .feature-desc {
    font-size: 14px;
    color: var(--silver);
    line-height: 1.8;
  }

  /* ── WORKFLOW ────────────────────────────────── */
  .workflow { background: var(--ink-2); }
  .workflow-header {
    margin-bottom: 64px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: end;
  }
  .workflow-track {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    margin-bottom: 2px;
  }
  .workflow-track + .workflow-track { }
  .wf-step {
    position: relative;
    padding: 28px 24px 28px 24px;
    background: #fff;
    border: 1px solid var(--rule);
    margin: 1px;
  }
  .wf-arrow {
    position: absolute;
    right: -13px; top: 50%;
    transform: translateY(-50%);
    width: 24px; height: 24px;
    background: var(--ink-2);
    border: 1px solid var(--rule-lt);
    display: flex; align-items: center; justify-content: center;
    z-index: 2;
    font-size: 11px;
    color: var(--accent);
  }
  .wf-step:last-child .wf-arrow { display: none; }
  .wf-num {
    font-family: var(--ff-mono);
    font-size: 10px;
    letter-spacing: .14em;
    color: var(--accent);
    margin-bottom: 10px;
  }
  .wf-title {
    font-size: 13px;
    font-weight: 600;
    color: #1a1f2e;
    margin-bottom: 6px;
    letter-spacing: .03em;
  }
  .wf-desc {
    font-size: 12px;
    color: var(--silver);
    line-height: 1.65;
  }

  /* ── SPECS TABLE ─────────────────────────────── */
  .specs { background: #fff; }
  .specs-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
  }
  .specs-header { margin-bottom: 48px; }
  .specs-table {
    width: 100%;
    border-collapse: collapse;
  }
  .specs-table tr { border-bottom: 1px solid var(--rule); }
  .specs-table tr:last-child { border-bottom: none; }
  .specs-table td {
    padding: 3px 0;
    font-size: 14px;
    vertical-align: top;
  }
  .specs-table td:first-child {
    width: 34%;
    color: var(--silver);
    padding-right: 24px;
    font-size: 13px;
    letter-spacing: .03em;
  }
  .specs-table td:last-child { color: #2b3147; }
  .specs-table tr:hover td { color: #1a1f2e; }

  /* system composition */
  .composition-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
  }
  .comp-item {
    background: var(--ink-2);
    padding: 20px 22px;
    border-left: 2px solid transparent;
    transition: border-color .2s;
  }
  .comp-item:hover { border-color: var(--accent); }
  .comp-name {
    font-size: 13px;
    font-weight: 600;
    color: #1a1f2e;
    margin-bottom: 5px;
  }
  .comp-func { font-size: 12px; color: var(--silver); }

  /* ── OPTIONS ─────────────────────────────────── */
  .options { background: var(--ink-3); }
  .options-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2px;
  }
  .option-item {
    background: #fff;
    padding: 20px 20px;
    border-bottom: 2px solid transparent;
    transition: border-color .25s, background .25s;
  }
  .option-item:hover { border-bottom-color: var(--accent); background: var(--ink-2); }
  .option-name {
    font-size: 16px;
    font-weight: 600;
    color: #1a1f2e;
    margin-bottom: 8px;
  }
  .option-desc { font-size: 14px; color: var(--silver); line-height: 1.7; }

  /* ── INQUIRY ─────────────────────────────────── */
  .inquiry { background: #fff; }
  .inquiry-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
  }
  .inquiry-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 32px;
  }
  .inquiry-table tr { border-bottom: 1px solid var(--rule); }
  .inquiry-table tr:last-child { border-bottom: none; }
  .inquiry-table td {
    padding: 10px 0;
    font-size: 14px;
    vertical-align: top;
  }
  .inquiry-table td:first-child {
    width: 30%;
    color: var(--silver);
    font-size: 14px;
    padding-right: 20px;
  }
  .inquiry-table td:last-child { color: #4a5060; }

  .inquiry-form { margin-top: 0; }
  .form-title {
    font-family: var(--ff-head);
    font-size: 22px;
    color: #1a1f2e;
    margin-bottom: 8px;
  }
  .form-sub { font-size: 14px; color: var(--silver); margin-bottom: 32px; line-height: 1.7; }
  .form-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 40px; }

  /* ── FAQ ─────────────────────────────────────── */
  .faq { background: var(--ink-2); }
  .faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 64px;
    margin-top: 48px;
  }
  .faq-item { border-top: 1px solid var(--rule); padding-top: 24px; }
  .faq-q {
    font-family: var(--ff-head);
    font-size: 16px;
    color: #1a1f2e;
    margin-bottom: 12px;
    line-height: 1.4;
  }
  .faq-a { font-size: 14px; color: var(--silver); line-height: 1.8; }

  /* ── CTA FOOTER ──────────────────────────────── */
  .cta-footer {
    background: #1a1f2e;
    padding: 96px 48px;
    text-align: center;
    border-top: 1px solid #2b3147;
    position: relative;
    overflow: hidden;
  }
  .cta-footer::before {
    
    position: absolute;
    font-family: var(--ff-head);
    font-size: 200px;
    color: rgba(255,255,255,.03);
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    white-space: nowrap;
    letter-spacing: .05em;
    pointer-events: none;
  }
  .cta-footer-inner { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; }
  .cta-footer .section-tag { justify-content: center; color: #c8a96e; }
  .cta-footer .section-tag::after { display: none; }
  .cta-footer .section-title { font-size: clamp(28px, 3.5vw, 46px); color: #f5f6f8; }
  .cta-footer .section-lead { margin: 0 auto 40px; text-align: center; color: #8b95a8; }
  .cta-footer .hero-actions { justify-content: center; }
  .cta-footer .btn-outline { color: #c4cad6; border-color: #3a4155; }
  .cta-footer .btn-outline:hover { border-color: #c8a96e; color: #c8a96e; }

  /* ── SITE FOOTER ─────────────────────────────── */
  .site-footer {
    background: var(--ink-3);
    border-top: 1px solid var(--rule);
    padding: 40px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }
  .site-footer-brand {
    font-family: var(--ff-head);
    font-size: 16px;
    color: var(--accent);
    text-decoration: none;
  }
  .site-footer-copy {
    font-size: 12px;
    color: var(--silver);
    letter-spacing: .05em;
  }

  /* ── DIVIDER ─────────────────────────────────── */
  .rule-line {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--rule-lt), transparent);
    margin: 0;
  }

  /* ── RESPONSIVE ──────────────────────────────── */
  @media (max-width: 1024px) {
    .hero { grid-template-columns: 1fr; min-height: auto; }
    .hero-right { /*display: none;*/padding:0px; }
    .hero-left { padding: 100px 48px 80px; }
    .params-grid { grid-template-columns: repeat(3, 1fr); }
    
    .features-header { grid-template-columns: 1fr; gap: 24px; }
    .features-grid { grid-template-columns: 1fr 1fr; }
    .workflow-header { grid-template-columns: 1fr; gap: 24px; }
    .workflow-track { grid-template-columns: 1fr 1fr; }
    .specs-inner { grid-template-columns: 1fr; }
    .options-grid { grid-template-columns: 1fr 1fr; }
    .inquiry-inner { grid-template-columns: 1fr; gap: 48px; }
    .faq-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 640px) {
    .container { padding: 0 24px; }
    .topbar { padding: 0 24px; }
    .topbar-nav, .topbar-cta { display: none; }
    .hero-left { padding: 88px 24px 64px; }
    .hero-stats { flex-direction: column; gap: 20px; }
    .hero-stat-sep { display: none; }
    .params-grid { grid-template-columns: 1fr 1fr; }
    .features-grid { grid-template-columns: 1fr; }
    .composition-grid { grid-template-columns: 1fr; }
    .options-grid { grid-template-columns: 1fr; }
    .cta-footer { padding: 64px 24px; }
    .site-footer { flex-direction: column; text-align: center; }
  }
  /* COMPARE */
.compare{background:#f8f9fb;padding:60px 0 80px}
.compare-header{margin-bottom:36px}
.compare-table-wrap{overflow-x:auto}
.compare-table{width:100%;border-collapse:collapse;background:#fff;font-size:15px;box-shadow:0 2px 12px rgba(0,0,0,.04);border-radius:4px;overflow:hidden}
.compare-table th,.compare-table td{padding:16px 20px;text-align:left;vertical-align:top;line-height:1.65}
.compare-table thead{background:#1a1f2e;color:#fff}
.compare-table thead th{font-weight:500;font-family:var(--ff-head);font-size:16px}
.compare-table tbody tr{border-bottom:1px solid #e8eaee}
.compare-table tbody tr:last-child{border-bottom:none}
.compare-table tbody td:first-child{font-weight:500;color:#1a1f2e; width:16%;white-space:nowrap}
.compare-table tbody td:nth-child(2){width:42%;color:#333}
.compare-table tbody td:nth-child(3){width:42%;color:#333}
@media (max-width:768px){
.compare-table th,.compare-table td{padding:12px 14px;font-size:14px}
.compare-table tbody td:first-child{white-space:normal}
}
/* ── METHODS ─────────────────────────────────── */
/* ── METHODS ─────────────────────────────────── */
.methods { background: #fff; }
.methods-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.method-card {
  background: #fff;
  border: 1px solid var(--rule);
  border-left: 3px solid transparent;
  border-radius: var(--radius);
  padding: 32px 30px;
  text-decoration: none;
  display: flex;
  gap: 22px;
  align-items: flex-start;
  transition: all .35s cubic-bezier(.4,0,.2,1);
  position: relative;
}
.method-card:hover {
  border-left-color: var(--accent);
  border-color: var(--rule-lt);
  box-shadow: 0 8px 32px rgba(0,0,0,.07);
  transform: translateY(-3px);
}
.method-card::after {
  content: '→';
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translate(-8px, -50%);
  font-size: 18px;
  color: var(--silver-lt);
  opacity: 0;
  transition: all .35s;
}
.method-card:hover::after {
  opacity: 1;
  transform: translate(0, -50%);
  color: var(--accent);
}
.method-card-icon {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #faf7f1;
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 700;
  font-family: var(--ff-head);
  line-height: 1;
  transition: background .3s;
}
.method-card:hover .method-card-icon {
  background: var(--accent);
  color: #fff;
}
.method-card-body { flex: 1; padding-right: 10px; }
.method-card-tag {
  display: inline-block;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 12px;
  opacity: .7;
}
.method-title {
  font-family: var(--ff-head);
  font-size: 18px;
  color: #1a1f2e;
  margin-bottom: 10px;
  line-height: 1.35;
}
.method-desc {
  font-size: 13px;
  color: var(--silver);
  line-height: 1.75;
}

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