@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700&family=Sora:wght@400;500;600;700&display=swap');

:root {
  --deep-circuit: #06142d;
  --midnight-panel: #0b1e3d;
  --panel-raised: #10294e;
  --photon-cyan: #43e6ff;
  --signal-blue: #4b6fff;
  --optic-white: #f5f8ff;
  --alloy-gray: #9aa9c0;
  --line: rgba(163, 191, 230, 0.18);
  --ink: #101c31;
  --paper: #f5f7fb;
  --paper-blue: #eaf0fa;
  --success: #55e2ae;
  --danger: #ff7d8a;
  --display: 'Sora', 'Arial Narrow', sans-serif;
  --body: 'Manrope', Arial, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
  --page: min(1180px, calc(100vw - 40px));
  --space: clamp(72px, 9vw, 132px);
  --shadow: 0 26px 70px rgba(4, 18, 43, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.nav-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }

.skip-link {
  position: fixed;
  z-index: 200;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  color: var(--deep-circuit);
  background: var(--photon-cyan);
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

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

.shell { width: var(--page); margin-inline: auto; }
.site-header {
  position: absolute;
  z-index: 50;
  top: 0;
  left: 0;
  right: 0;
  color: var(--optic-white);
}
.site-header.is-solid {
  position: relative;
  background: var(--deep-circuit);
  border-bottom: 1px solid var(--line);
}
.nav-wrap {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: inherit;
  font-family: var(--display);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -.02em;
  text-decoration: none;
}
.brand-mark {
  width: 29px;
  height: 29px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  transform: skewY(-10deg);
}
.brand-mark i { display:block; background:var(--photon-cyan); }
.brand-mark i:nth-child(2), .brand-mark i:nth-child(6), .brand-mark i:nth-child(8) { opacity:.33; }
.brand em { color: var(--photon-cyan); font-style: normal; }
.nav-links { display:flex; align-items:center; gap:31px; }
.nav-links a {
  color: rgba(245,248,255,.78);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s ease;
}
.nav-links a:hover, .nav-links a[aria-current='page'] { color: var(--optic-white); }
.nav-links .nav-cta {
  padding: 10px 17px;
  color: var(--deep-circuit);
  background: var(--photon-cyan);
  border: 1px solid var(--photon-cyan);
}
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 11px;
  border: 1px solid var(--line);
  background: transparent;
}
.nav-toggle span { display:block; height:2px; margin:5px 0; background:currentColor; }

.eyebrow {
  margin: 0 0 18px;
  color: var(--signal-blue);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.eyebrow.light { color: var(--photon-cyan); }
h1, h2, h3, h4 { margin-top:0; font-family:var(--display); line-height:1.12; letter-spacing:-.04em; }
h1 { font-size: clamp(50px, 7.2vw, 104px); font-weight: 600; }
h2 { font-size: clamp(36px, 4.4vw, 64px); font-weight: 600; }
h3 { font-size: clamp(22px, 2vw, 30px); }
p { margin-top: 0; }
.lede { max-width: 700px; color:#5e6b7f; font-size:clamp(18px,2vw,23px); line-height:1.55; }
.lede.light { color: rgba(245,248,255,.7); }
.section { padding-block: var(--space); }
.section-tight { padding-block: clamp(52px, 7vw, 88px); }
.section-dark { color:var(--optic-white); background:var(--deep-circuit); }
.section-panel { background:var(--paper-blue); }
.section-heading { display:flex; justify-content:space-between; gap:48px; align-items:end; margin-bottom:50px; }
.section-heading > * { margin-bottom:0; }
.section-heading h2 { max-width:750px; }
.section-heading .lede { max-width:450px; font-size:17px; }

.hero {
  position: relative;
  min-height: min(900px, 100vh);
  display: grid;
  align-items: center;
  overflow: hidden;
  color: var(--optic-white);
  background: var(--deep-circuit);
}
.hero::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(6,20,45,.98) 0%, rgba(6,20,45,.86) 46%, rgba(6,20,45,.26) 74%, rgba(6,20,45,.55) 100%);
  pointer-events:none;
}
.hero-media { position:absolute; inset:0 0 0 43%; }
.hero-media img { width:100%; height:100%; object-fit:cover; opacity:.82; }
.hero-content { position:relative; z-index:2; padding-top:120px; padding-bottom:80px; }
.hero h1 { max-width:800px; margin-bottom:28px; }
.hero h1 span { color:var(--photon-cyan); }
.hero-copy { max-width:620px; color:rgba(245,248,255,.72); font-size:clamp(17px,1.7vw,21px); }
.hero-actions, .button-row { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:34px; }
.button {
  min-height: 50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 20px;
  border:1px solid var(--ink);
  color:var(--optic-white);
  background:var(--deep-circuit);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.button:hover { transform:translateY(-2px); }
.button-primary { color:var(--deep-circuit); background:var(--photon-cyan); border-color:var(--photon-cyan); }
.button-outline { color:inherit; background:transparent; border-color:rgba(255,255,255,.38); }
.button-light { color:var(--deep-circuit); background:var(--optic-white); border-color:var(--optic-white); }
.button-block { width:100%; }
.button svg { width:16px; height:16px; }

.hero-tech {
  position:absolute;
  z-index:3;
  right:max(24px, calc((100vw - 1180px) / 2));
  bottom:54px;
  width:min(360px, 36vw);
  padding:19px 21px;
  border:1px solid rgba(67,230,255,.35);
  background:rgba(6,20,45,.75);
  backdrop-filter:blur(18px);
}
.tech-line { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.tech-line strong { color:var(--photon-cyan); font-family:var(--mono); font-size:13px; }
.pitch-options { display:flex; gap:6px; }
.pitch-options button {
  padding:5px 8px;
  border:1px solid var(--line);
  color:var(--alloy-gray);
  background:transparent;
  font-family:var(--mono);
  font-size:11px;
  cursor:pointer;
}
.pitch-options button[aria-pressed='true'] { color:var(--deep-circuit); background:var(--photon-cyan); border-color:var(--photon-cyan); }
.density-preview {
  height:60px;
  margin-top:14px;
  background-image:radial-gradient(circle, rgba(67,230,255,.9) 1px, transparent 1.4px);
  background-size:var(--pixel-size, 9px) var(--pixel-size, 9px);
  mask-image:linear-gradient(90deg,#000,transparent);
  transition:background-size .35s ease;
}

.signal-strip { color:var(--optic-white); background:#0a1933; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.signal-row { min-height:74px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.signal-item { display:flex; align-items:center; gap:10px; color:rgba(245,248,255,.68); font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.signal-dot { width:6px; height:6px; background:var(--photon-cyan); box-shadow:0 0 18px var(--photon-cyan); }

.family-grid, .product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#cdd5e2; border:1px solid #cdd5e2; }
.family-card, .product-card { position:relative; min-width:0; background:#fff; overflow:hidden; }
.family-card { min-height:570px; display:flex; flex-direction:column; }
.family-card img { width:100%; height:270px; object-fit:cover; filter:saturate(.8) contrast(1.04); }
.family-card-content { flex:1; padding:31px; display:flex; flex-direction:column; }
.family-card .eyebrow { margin-bottom:12px; }
.family-card p { color:#647187; }
.family-card a { margin-top:auto; color:var(--signal-blue); font-weight:700; text-decoration:none; }

.tech-layout { display:grid; grid-template-columns:.85fr 1.15fr; min-height:630px; }
.tech-intro { padding:clamp(42px,6vw,78px); color:var(--optic-white); background:var(--deep-circuit); }
.tech-intro h2 { max-width:500px; }
.tech-intro p { color:rgba(245,248,255,.68); }
.tech-tabs { display:grid; grid-template-rows:repeat(3,1fr); background:var(--photon-cyan); gap:1px; }
.tech-tab { display:grid; grid-template-columns:120px 1fr; gap:28px; align-items:center; padding:32px 42px; background:#fff; }
.tech-code { color:var(--signal-blue); font-family:var(--mono); font-size:38px; letter-spacing:-.08em; }
.tech-tab h3 { margin-bottom:8px; }
.tech-tab p { margin:0; color:#657187; }

.advantage-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.advantage { min-height:315px; padding:34px 28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.advantage-icon { width:52px; height:52px; display:grid; place-items:center; margin-bottom:70px; border:1px solid rgba(67,230,255,.3); color:var(--photon-cyan); font-family:var(--mono); font-size:13px; }
.advantage h3 { font-size:21px; }
.advantage p { color:rgba(245,248,255,.62); font-size:14px; }

.application-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.application-card { position:relative; min-height:440px; overflow:hidden; color:#fff; background:var(--deep-circuit); }
.application-card:nth-child(1), .application-card:nth-child(4) { grid-column:span 7; }
.application-card:nth-child(2), .application-card:nth-child(3) { grid-column:span 5; }
.application-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.application-card:hover img { transform:scale(1.035); }
.application-card::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,20,45,.94),transparent 65%); }
.application-copy { position:absolute; z-index:1; left:27px; right:27px; bottom:22px; }
.application-copy .eyebrow { margin-bottom:8px; }
.application-copy h3 { margin:0; }
.visualization-label { position:absolute; z-index:2; top:16px; right:16px; padding:6px 9px; color:rgba(255,255,255,.72); background:rgba(6,20,45,.65); font-family:var(--mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; backdrop-filter:blur(8px); }

.process-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid #cad3e1; }
.process-step { padding:28px 20px 12px 0; border-right:1px solid #cad3e1; }
.process-step:last-child { border-right:0; }
.process-step .step-label { color:var(--signal-blue); font-family:var(--mono); font-size:12px; }
.process-step h3 { margin:42px 0 10px; font-size:20px; }
.process-step p { color:#647187; font-size:14px; }

.cta-band { position:relative; overflow:hidden; color:var(--optic-white); background:var(--signal-blue); }
.cta-band::before {
  content:'';
  position:absolute;
  inset:0;
  opacity:.25;
  background-image:radial-gradient(circle, #fff 1px, transparent 1.5px);
  background-size:10px 10px;
  mask-image:linear-gradient(90deg,transparent,#000);
}
.cta-inner { position:relative; display:grid; grid-template-columns:1.25fr .75fr; gap:50px; align-items:end; }
.cta-band h2 { max-width:800px; margin-bottom:0; }
.cta-band p { color:rgba(255,255,255,.78); }

.faq-list { border-top:1px solid #cbd5e3; }
.faq-list details { border-bottom:1px solid #cbd5e3; }
.faq-list summary { padding:25px 46px 25px 0; position:relative; cursor:pointer; list-style:none; font-family:var(--display); font-size:20px; font-weight:600; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:4px; top:20px; color:var(--signal-blue); font-family:var(--mono); font-size:28px; font-weight:400; }
.faq-list details[open] summary::after { content:'–'; }
.faq-list details p { max-width:760px; padding-bottom:25px; color:#5e6b7f; }

.page-hero { position:relative; overflow:hidden; padding:155px 0 90px; color:var(--optic-white); background:var(--deep-circuit); }
.page-hero::after { content:''; position:absolute; width:560px; height:560px; right:-120px; top:-260px; border:1px solid rgba(67,230,255,.19); border-radius:50%; box-shadow:0 0 0 70px rgba(67,230,255,.035), 0 0 0 140px rgba(67,230,255,.02); }
.page-hero h1 { max-width:1000px; margin-bottom:24px; font-size:clamp(48px,6vw,84px); }
.page-hero .lede { margin-bottom:0; }
.breadcrumb { margin-bottom:30px; color:rgba(245,248,255,.52); font-family:var(--mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.breadcrumb a { color:var(--photon-cyan); text-decoration:none; }

.filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:38px; }
.filter-button { padding:10px 15px; border:1px solid #bdc9db; color:#4e5c71; background:transparent; font-size:13px; font-weight:700; cursor:pointer; }
.filter-button[aria-pressed='true'] { color:var(--optic-white); background:var(--deep-circuit); border-color:var(--deep-circuit); }
.product-grid { grid-template-columns:repeat(3,1fr); }
.product-card { display:flex; flex-direction:column; min-height:530px; }
.product-card-media { height:235px; overflow:hidden; background:var(--deep-circuit); }
.product-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.product-card:hover img { transform:scale(1.03); }
.product-card-body { flex:1; padding:28px; display:flex; flex-direction:column; }
.product-card h3 { margin-bottom:9px; font-size:24px; }
.product-card p { color:#647187; font-size:14px; }
.pitch-list { display:flex; flex-wrap:wrap; gap:6px; margin:5px 0 22px; }
.pitch { padding:4px 8px; color:#33435e; background:var(--paper-blue); font-family:var(--mono); font-size:10px; }
.text-link { margin-top:auto; color:var(--signal-blue); font-weight:700; text-decoration:none; }
.text-link::after { content:' ↗'; }

.product-detail-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(38px,7vw,90px); align-items:start; }
.product-visual { position:sticky; top:30px; min-height:540px; background:var(--deep-circuit); }
.product-visual img { width:100%; height:540px; object-fit:cover; opacity:.85; }
.product-visual::after { content:''; position:absolute; inset:0; box-shadow:inset 0 0 0 1px var(--line); pointer-events:none; }
.product-meta h1 { margin-bottom:20px; font-size:clamp(44px,5vw,72px); }
.product-meta .lede { font-size:18px; }
.feature-list { display:grid; grid-template-columns:1fr 1fr; gap:1px; padding:1px; margin:33px 0; background:#cad4e2; }
.feature-list span { padding:14px 15px; background:#fff; font-size:13px; font-weight:600; }
.spec-table { width:100%; border-collapse:collapse; margin:25px 0; }
.spec-table th, .spec-table td { padding:13px 8px; border-bottom:1px solid #cbd5e3; text-align:left; font-size:13px; }
.spec-table th { width:42%; color:#667489; font-weight:500; }
.spec-table td { font-weight:700; }
.disclaimer { padding:14px 16px; border-left:3px solid var(--signal-blue); color:#657187; background:var(--paper-blue); font-size:12px; }

.solution-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #cbd5e3; border-left:1px solid #cbd5e3; }
.solution { min-height:340px; padding:38px; border-right:1px solid #cbd5e3; border-bottom:1px solid #cbd5e3; }
.solution .solution-index { display:block; margin-bottom:75px; color:var(--signal-blue); font-family:var(--mono); font-size:12px; }
.solution p { color:#647187; }
.solution ul { padding-left:18px; color:#4d5b71; font-size:14px; }

.split-feature { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.split-feature-media img { width:100%; height:100%; min-height:580px; object-fit:cover; }
.split-feature-copy { padding:clamp(45px,7vw,90px); background:#fff; }
.split-feature-copy .lede { font-size:17px; }
.principles { margin-top:40px; }
.principle { display:grid; grid-template-columns:52px 1fr; gap:18px; padding:20px 0; border-top:1px solid #ccd6e4; }
.principle strong { color:var(--signal-blue); font-family:var(--mono); font-size:12px; }
.principle p { margin:0; color:#5e6b7f; }

.contact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(40px,8vw,110px); }
.contact-aside { padding-right:28px; }
.contact-points { margin-top:44px; border-top:1px solid #cbd5e3; }
.contact-point { padding:18px 0; border-bottom:1px solid #cbd5e3; }
.contact-point strong { display:block; margin-bottom:4px; font-size:14px; }
.contact-point span { color:#667489; font-size:14px; }
.lead-form { padding:clamp(28px,4vw,48px); color:var(--optic-white); background:var(--deep-circuit); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field-full { grid-column:1 / -1; }
.field label, .field-label { color:rgba(245,248,255,.72); font-size:12px; font-weight:700; }
.field input, .field select, .field textarea {
  width:100%;
  min-height:49px;
  padding:11px 12px;
  border:1px solid rgba(154,169,192,.38);
  border-radius:0;
  color:var(--optic-white);
  background:rgba(255,255,255,.045);
}
.field textarea { min-height:120px; resize:vertical; }
.field input::placeholder, .field textarea::placeholder { color:rgba(245,248,255,.37); }
.field select { color-scheme:dark; }
.checkbox { display:flex; gap:10px; align-items:flex-start; margin:20px 0; color:rgba(245,248,255,.67); font-size:12px; }
.checkbox input { width:17px; height:17px; margin-top:2px; accent-color:var(--photon-cyan); }
.checkbox a { color:var(--photon-cyan); }
.form-status { min-height:26px; margin:14px 0 0; font-size:13px; }
.form-status.is-error { color:var(--danger); }
.form-status.is-success { color:var(--success); }
.honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

dialog.catalog-dialog { width:min(880px, calc(100vw - 24px)); max-height:calc(100vh - 24px); padding:0; border:1px solid var(--line); color:var(--optic-white); background:var(--deep-circuit); box-shadow:var(--shadow); }
dialog.catalog-dialog::backdrop { background:rgba(3,11,26,.82); backdrop-filter:blur(8px); }
.dialog-grid { display:grid; grid-template-columns:.75fr 1.25fr; }
.dialog-intro { position:relative; padding:38px; overflow:hidden; background:var(--signal-blue); }
.dialog-intro::after { content:''; position:absolute; inset:40% -40% -20% 10%; transform:rotate(-15deg); background-image:radial-gradient(circle,#fff 1px,transparent 1.5px); background-size:9px 9px; opacity:.24; }
.dialog-intro > * { position:relative; z-index:1; }
.dialog-form { padding:36px; }
.dialog-close { position:absolute; z-index:2; top:14px; right:14px; width:39px; height:39px; border:1px solid rgba(255,255,255,.35); color:#fff; background:rgba(6,20,45,.55); cursor:pointer; }

.privacy-copy { max-width:780px; }
.privacy-copy h2 { margin-top:50px; font-size:30px; }
.privacy-copy h3 { margin-top:30px; font-size:20px; }
.privacy-copy p, .privacy-copy li { color:#59677c; }
.privacy-copy code { font-family:var(--mono); font-size:12px; }

.site-footer { color:rgba(245,248,255,.68); background:#040e20; }
.footer-main { display:grid; grid-template-columns:1.35fr .65fr .65fr .8fr; gap:50px; padding:70px 0 55px; }
.footer-brand p { max-width:350px; margin-top:20px; font-size:14px; }
.footer-col h2 { margin-bottom:18px; color:var(--optic-white); font-family:var(--mono); font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
.footer-col a { display:block; margin:10px 0; color:inherit; font-size:13px; text-decoration:none; }
.footer-col a:hover { color:var(--photon-cyan); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:22px 0; border-top:1px solid var(--line); font-family:var(--mono); font-size:10px; letter-spacing:.04em; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  .nav-toggle { display:block; }
  .nav-links {
    position:fixed;
    inset:0;
    z-index:-1;
    padding:110px 30px 40px;
    flex-direction:column;
    align-items:flex-start;
    background:var(--deep-circuit);
    opacity:0;
    visibility:hidden;
    transform:translateY(-12px);
    transition:opacity .2s ease, transform .2s ease;
  }
  .nav-links.is-open { z-index:40; opacity:1; visibility:visible; transform:none; }
  .nav-links a { font-family:var(--display); font-size:26px; }
  .nav-links .nav-cta { font-family:var(--body); font-size:14px; }
  .nav-toggle { position:relative; z-index:45; }
  .hero { min-height:860px; }
  .hero-media { inset:0; }
  .hero::after { background:linear-gradient(90deg,rgba(6,20,45,.98),rgba(6,20,45,.72)); }
  .hero-tech { right:20px; left:20px; bottom:30px; width:auto; }
  .family-grid, .product-grid { grid-template-columns:repeat(2,1fr); }
  .tech-layout, .split-feature, .contact-layout, .product-detail-layout { grid-template-columns:1fr; }
  .advantage-grid { grid-template-columns:repeat(2,1fr); }
  .process-grid { grid-template-columns:repeat(3,1fr); }
  .process-step { border-bottom:1px solid #cad3e1; }
  .cta-inner { grid-template-columns:1fr; }
  .footer-main { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-brand { grid-column:1 / -1; }
  .product-visual { position:relative; top:0; }
}

@media (max-width: 680px) {
  :root { --page:min(100% - 28px, 1180px); --space:68px; }
  .nav-wrap { min-height:70px; }
  .hero { min-height:820px; }
  .hero-content { padding-top:115px; padding-bottom:190px; }
  .hero h1 { font-size:48px; }
  .hero-media { left:0; opacity:.62; }
  .hero-tech { bottom:20px; }
  .signal-row { min-height:auto; padding:20px 0; flex-direction:column; align-items:flex-start; gap:10px; }
  .section-heading { display:block; }
  .section-heading .lede { margin-top:20px; }
  .family-grid, .product-grid { grid-template-columns:1fr; }
  .family-card { min-height:auto; }
  .tech-tabs { grid-template-rows:auto; }
  .tech-tab { grid-template-columns:70px 1fr; padding:25px 22px; }
  .tech-code { font-size:27px; }
  .advantage-grid { grid-template-columns:1fr; }
  .advantage { min-height:auto; }
  .advantage-icon { margin-bottom:38px; }
  .application-grid { display:block; }
  .application-card { min-height:360px; margin-bottom:14px; }
  .process-grid { grid-template-columns:1fr; }
  .process-step { border-right:0; }
  .process-step h3 { margin-top:24px; }
  .solution-grid { grid-template-columns:1fr; }
  .solution { min-height:auto; }
  .solution .solution-index { margin-bottom:45px; }
  .feature-list, .form-grid { grid-template-columns:1fr; }
  .field-full { grid-column:auto; }
  .page-hero { padding:125px 0 70px; }
  .page-hero h1 { font-size:44px; }
  .dialog-grid { grid-template-columns:1fr; }
  .dialog-intro { padding:28px; }
  .dialog-intro p { display:none; }
  .dialog-form { padding:25px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:30px; }
  .footer-brand { grid-column:1 / -1; }
  .footer-bottom { flex-direction:column; }
}

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