.subpage { padding-top:106px; }
.sub-hero { min-height:650px; padding:64px max(32px,calc((100vw - 1440px)/2)) 70px; display:grid; grid-template-columns:minmax(0,1fr) minmax(440px,.85fr); gap:7vw; align-items:center; background:var(--paper); }
.sub-hero.is-dark { color:#fff; background:var(--ink); }
.breadcrumb { margin:0 0 60px; display:flex; gap:10px; color:#879097; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.breadcrumb a:hover { color:var(--blue); }
.sub-hero .eyebrow { margin-bottom:25px; }
.sub-hero h1 { max-width:780px; margin:0; font-size:clamp(55px,6.6vw,96px); line-height:1.03; letter-spacing:-.07em; font-weight:620; }
.sub-hero h1 span { color:var(--blue); }
.sub-hero.is-dark h1 span { color:#73aee0; }
.sub-hero-lead { max-width:650px; margin:35px 0 0; color:var(--muted); font-size:17px; line-height:1.85; }
.sub-hero.is-dark .sub-hero-lead { color:#aeb8bd; }
.sub-hero-media { position:relative; min-height:470px; display:grid; place-items:center; overflow:hidden; background:#edf0ef; }
.sub-hero-media img { width:100%; height:100%; max-height:520px; object-fit:contain; filter:drop-shadow(0 28px 28px rgba(21,29,34,.12)); }
.sub-hero-media.is-cover img { position:absolute; inset:0; max-height:none; object-fit:cover; }
.sub-hero-media-caption { position:absolute; right:22px; bottom:20px; left:22px; display:flex; justify-content:space-between; color:#586268; font-size:8px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.sub-hero-actions { margin-top:34px; display:flex; flex-wrap:wrap; gap:20px; align-items:center; }

.page-strip { min-height:82px; padding:0 max(32px,calc((100vw - 1440px)/2)); display:flex; align-items:center; gap:35px; overflow:auto; background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.page-strip a { white-space:nowrap; color:var(--muted); font-size:12px; font-weight:650; }
.page-strip a:hover { color:var(--blue); }

.content-section { padding:130px max(32px,calc((100vw - 1440px)/2)); }
.content-section.is-white { background:var(--paper); }
.content-section.is-dark { color:#fff; background:var(--ink); }
.section-lead { margin-bottom:70px; display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:8vw; }
.section-lead h2 { max-width:850px; margin:0; font-size:clamp(39px,4.3vw,66px); line-height:1.18; letter-spacing:-.055em; font-weight:590; }
.section-lead > p { max-width:480px; margin:0 0 8px; color:var(--muted); font-size:15px; line-height:1.85; }
.is-dark .section-lead > p { color:#9ba6ac; }

.filter-bar { margin-bottom:45px; display:flex; gap:8px; flex-wrap:wrap; }
.filter-button { min-height:44px; padding:11px 17px; color:var(--muted); background:transparent; border:1px solid var(--line); cursor:pointer; font-size:12px; font-weight:650; }
.filter-button:hover,.filter-button.is-active { color:#fff; background:var(--blue); border-color:var(--blue); }
.product-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--ink); }
.product-card { min-height:570px; padding:34px; display:grid; grid-template-rows:1fr auto; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper); }
.product-card:nth-child(odd) { border-left:1px solid var(--line); }
.product-card[hidden] { display:none; }
.product-card-media { min-height:350px; display:grid; place-items:center; overflow:hidden; background:#edf0ef; }
.product-card-media img { width:90%; height:330px; object-fit:contain; transition:transform .35s ease; }
.product-card:hover img { transform:scale(1.035); }
.product-card-copy { padding-top:26px; display:grid; grid-template-columns:1fr auto; gap:10px 28px; }
.product-card-copy p { grid-column:1/3; margin:0; color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.15em; }
.product-card-copy h2 { margin:0; font-size:29px; letter-spacing:-.04em; font-weight:580; }
.product-card-copy span { align-self:end; font-size:22px; }
.product-card-copy small { grid-column:1/3; max-width:560px; color:var(--muted); font-size:13px; line-height:1.7; }

.comparison { width:100%; border-collapse:collapse; text-align:left; }
.comparison th,.comparison td { padding:22px 18px; border-bottom:1px solid var(--line); font-size:13px; }
.comparison thead th { color:var(--muted); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.comparison tbody th { font-size:16px; font-weight:600; }
.comparison a { color:var(--blue); font-weight:700; }

.detail-hero { grid-template-columns:minmax(440px,.85fr) minmax(0,1.15fr); }
.detail-facts { margin-top:42px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.detail-facts div { min-height:105px; padding:20px 18px 0 0; border-right:1px solid var(--line); }
.detail-facts div + div { padding-left:18px; }
.detail-facts span { display:block; color:var(--muted); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.detail-facts strong { display:block; margin-top:13px; font-size:15px; font-weight:600; }
.spec-layout { display:grid; grid-template-columns:320px 1fr; gap:7vw; }
.spec-nav { align-self:start; position:sticky; top:135px; border-top:1px solid var(--ink); }
.spec-nav a { min-height:62px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); color:var(--muted); font-size:13px; }
.spec-nav a:hover { color:var(--blue); }
.spec-content > section { padding:0 0 85px; scroll-margin-top:135px; }
.spec-content h2 { margin:0 0 28px; font-size:clamp(32px,3.2vw,48px); letter-spacing:-.045em; font-weight:590; }
.spec-content > section > p { max-width:780px; color:var(--muted); line-height:1.85; }
.spec-table { margin-top:34px; border-top:1px solid var(--ink); }
.spec-row { min-height:66px; display:grid; grid-template-columns:1fr 1.3fr; align-items:center; border-bottom:1px solid var(--line); font-size:13px; }
.spec-row span { color:var(--muted); }
.spec-row strong { font-weight:570; }
.feature-list { margin:35px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--ink); list-style:none; }
.feature-list li { min-height:125px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.feature-list li:nth-child(odd) { border-left:1px solid var(--line); }
.feature-list strong { display:block; margin-bottom:10px; font-size:17px; }
.feature-list span { color:var(--muted); font-size:12px; line-height:1.7; }

.application-cases { border-top:1px solid var(--ink); }
.application-case { min-height:410px; display:grid; grid-template-columns:260px 1fr 1fr; gap:5vw; padding:55px 0; border-bottom:1px solid var(--line); scroll-margin-top:130px; }
.application-case-label p { margin:0 0 16px; color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.15em; }
.application-case-label h2 { margin:0; font-size:34px; font-weight:580; }
.application-case-copy h3 { margin:0 0 25px; font-size:24px; font-weight:570; }
.application-case-copy p { color:var(--muted); font-size:14px; line-height:1.85; }
.requirement-list { margin:0; padding:0; list-style:none; }
.requirement-list li { min-height:52px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); font-size:13px; }
.requirement-list span { color:var(--blue); font-size:10px; }

.process-line { margin:80px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); list-style:none; border-top:1px solid #4b5256; }
.process-line li { min-height:230px; padding:25px; display:flex; flex-direction:column; border-right:1px solid #343a3e; }
.process-line li:first-child { border-left:1px solid #343a3e; }
.process-line span { color:#78848a; font-size:10px; }
.process-line strong { margin-top:auto; font-size:23px; font-weight:560; }
.process-line p { margin:12px 0 0; color:#8e9aa0; font-size:12px; line-height:1.65; }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }
.capability-item { min-height:290px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.capability-item:first-child,.capability-item:nth-child(4) { border-left:1px solid var(--line); }
.capability-item small { color:var(--blue); font-size:9px; font-weight:800; letter-spacing:.14em; }
.capability-item h3 { margin:55px 0 18px; font-size:25px; font-weight:570; }
.capability-item p { color:var(--muted); font-size:13px; line-height:1.75; }

.about-statement { max-width:1120px; margin:0; font-size:clamp(36px,5vw,76px); line-height:1.2; letter-spacing:-.055em; font-weight:570; }
.about-statement span { color:var(--blue); }
.principle-grid { margin-top:85px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }
.principle { min-height:300px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.principle:first-child { border-left:1px solid var(--line); }
.principle small { color:var(--blue); font-size:9px; letter-spacing:.14em; }
.principle h3 { margin:95px 0 16px; font-size:25px; font-weight:570; }
.principle p { color:var(--muted); font-size:13px; line-height:1.75; }
.contact-band { display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
.contact-band h2 { margin:0; font-size:clamp(40px,5vw,72px); line-height:1.1; letter-spacing:-.055em; font-weight:580; }
.contact-list { border-top:1px solid var(--ink); }
.contact-list a,.contact-list p { min-height:68px; margin:0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); font-size:13px; }

.rfq-page { padding:170px max(32px,calc((100vw - 1440px)/2)) 130px; display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; }
.rfq-aside { align-self:start; position:sticky; top:140px; }
.rfq-aside h1 { margin:0; font-size:clamp(52px,6vw,86px); line-height:1.05; letter-spacing:-.065em; font-weight:610; }
.rfq-aside > p { margin:32px 0; color:var(--muted); font-size:15px; line-height:1.8; }
.rfq-checklist { margin:40px 0 0; padding:0; list-style:none; border-top:1px solid var(--ink); }
.rfq-checklist li { min-height:52px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); color:var(--muted); font-size:12px; }
.rfq-checklist span { color:var(--blue); }
.rfq-form { padding:42px; background:#fff; border-top:3px solid var(--blue); }
.form-section { margin:0 0 48px; padding:0; border:0; }
.form-section legend { width:100%; margin-bottom:25px; padding-bottom:15px; border-bottom:1px solid var(--ink); font-size:18px; font-weight:650; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.field { display:flex; flex-direction:column; gap:9px; }
.field.is-full { grid-column:1 / 3; }
.field label { font-size:11px; font-weight:700; }
.field input,.field select,.field textarea { width:100%; min-height:48px; padding:13px 14px; color:var(--ink); background:var(--porcelain); border:1px solid #d6dcdd; border-radius:0; font:14px var(--font); }
.field textarea { min-height:130px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--blue); outline:2px solid rgba(11,76,140,.12); }
.field small { color:var(--muted); line-height:1.55; }
.choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.choice { min-height:58px; position:relative; }
.choice input { position:absolute; opacity:0; }
.choice label { height:100%; padding:13px; display:flex; align-items:center; justify-content:center; text-align:center; border:1px solid var(--line); cursor:pointer; font-size:12px; font-weight:650; }
.choice input:checked + label { color:#fff; background:var(--blue); border-color:var(--blue); }
.form-submit { width:100%; min-height:58px; border:0; cursor:pointer; }
.form-note { margin:18px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }
.form-status { margin-top:20px; padding:15px; color:var(--blue); background:#edf4f9; border-left:3px solid var(--blue); font-size:13px; }
.form-status[hidden] { display:none; }

.page-cta { padding:100px max(32px,calc((100vw - 1440px)/2)); display:grid; grid-template-columns:1fr auto; align-items:end; gap:40px; color:#fff; background:var(--blue); }
.page-cta h2 { max-width:850px; margin:0; font-size:clamp(40px,5vw,72px); line-height:1.1; letter-spacing:-.055em; font-weight:580; }
.page-cta .button { color:var(--ink); background:#fff; }

@media (max-width: 900px) {
  .sub-hero { grid-template-columns:1fr; }
  .sub-hero-media { min-height:440px; }
  .section-lead,.contact-band { grid-template-columns:1fr; gap:28px; }
  .spec-layout { grid-template-columns:1fr; }
  .spec-nav { position:static; display:flex; gap:25px; overflow:auto; border-bottom:1px solid var(--line); }
  .spec-nav a { flex:0 0 auto; border:0; }
  .application-case { grid-template-columns:180px 1fr; }
  .application-case > :last-child { grid-column:2; }
  .capability-grid,.principle-grid { grid-template-columns:1fr 1fr; }
  .capability-item:nth-child(odd),.principle:nth-child(odd) { border-left:1px solid var(--line); }
  .rfq-page { grid-template-columns:1fr; padding-top:130px; }
  .rfq-aside { position:static; }
}

@media (max-width: 820px) {
  .subpage { padding-top:68px; }
  .sub-hero { padding-top:55px; }
}

@media (max-width: 600px) {
  .sub-hero { min-height:0; padding:44px 16px 60px; grid-template-columns:1fr; }
  .breadcrumb { margin-bottom:42px; }
  .sub-hero h1 { font-size:51px; }
  .sub-hero-lead { font-size:15px; }
  .sub-hero-media { min-height:330px; }
  .page-strip { padding:0 16px; }
  .content-section { padding:90px 16px; }
  .section-lead { margin-bottom:50px; }
  .section-lead h2 { font-size:37px; }
  .product-grid { grid-template-columns:1fr; }
  .product-card { min-height:480px; padding:16px; border-left:1px solid var(--line); }
  .product-card-media { min-height:300px; }
  .product-card-media img { height:270px; }
  .comparison { min-width:720px; }
  .table-scroll { overflow:auto; }
  .detail-facts { grid-template-columns:1fr; }
  .detail-facts div,.detail-facts div + div { min-height:75px; padding:16px 0; border-right:0; border-bottom:1px solid var(--line); }
  .feature-list { grid-template-columns:1fr; }
  .feature-list li { border-left:1px solid var(--line); }
  .application-case { grid-template-columns:1fr; gap:28px; }
  .application-case > :last-child { grid-column:1; }
  .process-line { grid-template-columns:1fr; }
  .process-line li { min-height:160px; border-left:1px solid #343a3e; border-bottom:1px solid #343a3e; }
  .capability-grid,.principle-grid { grid-template-columns:1fr; }
  .capability-item,.principle { border-left:1px solid var(--line); }
  .rfq-page { padding:115px 16px 80px; }
  .rfq-aside h1 { font-size:50px; }
  .rfq-form { padding:26px 18px; }
  .form-grid { grid-template-columns:1fr; }
  .field.is-full { grid-column:1; }
  .choice-grid { grid-template-columns:1fr 1fr; }
  .page-cta { padding:80px 16px; grid-template-columns:1fr; }
}

