:root {
  --ink: #101010; --muted: #656565; --paper: #fff; --soft: #f2f2ef; --line: #d8d8d3;
  --hero-image: url("https://images.pexels.com/photos/32958964/pexels-photo-32958964/free-photo-of-full-moon-over-industrial-power-plant-at-night.jpeg?auto=compress&cs=tinysrgb&w=2400");
  --max: 1440px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.skip-link { position: fixed; left: 18px; top: -80px; z-index: 100; padding: 12px 16px; background: #fff; }
.skip-link:focus { top: 18px; }

.site-header { width: min(calc(100% - 48px), var(--max)); min-height: 88px; margin-inline: auto; display: flex; align-items: center; gap: 38px; position: relative; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-sign { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #111; border-radius: 50%; font-weight: 900; }
.brand > span:last-child { display: grid; line-height: 1.05; }
.brand strong { font-size: 17px; text-transform: uppercase; letter-spacing: .02em; }
.brand small { margin-top: 5px; color: var(--muted); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.desktop-nav { display: flex; gap: 30px; margin-left: auto; }
.desktop-nav a, .header-link { text-decoration: none; font-size: 14px; font-weight: 650; }
.desktop-nav a { color: #424242; }
.header-link { padding-bottom: 4px; border-bottom: 1px solid #111; }
.menu-button, .mobile-nav { display: none; }

.opening { width: min(calc(100% - 48px), var(--max)); margin: 24px auto 42px; }
.kicker, .section-label { margin: 0; font-size: 13px; line-height: 1.2; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.opening-row { display: grid; grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: end; margin-top: 22px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { letter-spacing: -.045em; line-height: .98; }
h1 { max-width: 950px; margin-bottom: 0; font-size: clamp(50px, 6.5vw, 94px); font-weight: 690; }
.opening-row > p { max-width: 520px; margin: 0 0 8px; color: #3e3e3e; font-size: 18px; }

.hero-stage { position: relative; width: min(calc(100% - 48px), var(--max)); min-height: min(760px, calc(100vh - 90px)); margin: 0 auto; overflow: hidden; border-radius: 24px; color: #fff; background: #101718 var(--hero-image) center 54% / cover no-repeat; isolation: isolate; }
.hero-shade { position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 50% 42%, rgba(7,15,14,.02), rgba(2,8,9,.32) 55%, rgba(2,7,8,.75)), linear-gradient(90deg, rgba(4,8,8,.5), transparent 28%, transparent 72%, rgba(4,8,8,.55)); }
.hero-topline { position: absolute; inset: 26px 30px auto; display: flex; justify-content: space-between; color: rgba(255,255,255,.78); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.hero-copy { position: absolute; inset: 64px auto auto 50%; width: min(75%, 760px); text-align: center; transform: translateX(-50%); text-shadow: 0 6px 28px rgba(0,0,0,.35); }
.hero-copy p { margin-bottom: 12px; font-size: 12px; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; }
.hero-copy h2 { margin-bottom: 7px; font-size: clamp(54px, 6.4vw, 92px); font-weight: 680; }
.hero-copy > span { color: rgba(255,255,255,.78); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.hero-bottom { position: absolute; inset: auto 30px 28px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.hero-bottom p { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.hero-bottom a { min-height: 48px; display: inline-flex; align-items: center; padding: 0 22px; border: 1px solid rgba(255,255,255,.74); border-radius: 999px; text-decoration: none; font-size: 14px; font-weight: 700; backdrop-filter: blur(8px); transition: .2s; }
.hero-bottom a:hover { color: #111; background: #fff; }

.protection-demo { position: absolute; left: 50%; bottom: 76px; width: min(90%, 1120px); height: 430px; transform: translateX(-50%); }
.protection-demo svg { width: 100%; height: 100%; overflow: visible; }
.demo-status { position: absolute; left: 50%; top: 40px; z-index: 3; display: flex; align-items: center; gap: 10px; transform: translateX(-50%); padding: 10px 15px; border: 1px solid rgba(255,255,255,.48); border-radius: 999px; background: rgba(5,12,11,.72); box-shadow:0 10px 35px rgba(0,0,0,.25); backdrop-filter: blur(14px); white-space: nowrap; }
.demo-status span { width: 8px; height: 8px; border-radius: 50%; background: #d8efe1; box-shadow: 0 0 12px #d8efe1; animation: statusPulse 8s infinite; }
.demo-status b { font-size: 12px; font-weight: 700; letter-spacing: .025em; }
.demo-steps { position:absolute; inset:auto 1% 0; z-index:3; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(255,255,255,.28); border-radius:14px; overflow:hidden; background:rgba(4,10,9,.62); backdrop-filter:blur(12px); }
.demo-steps span { min-width:0; display:grid; grid-template-columns:27px 1fr; gap:2px 9px; padding:10px 13px; border-right:1px solid rgba(255,255,255,.2); }
.demo-steps span:last-child { border-right:0; }.demo-steps strong { grid-row:1/3; color:#b7e7ca; font-size:10px; }.demo-steps b { font-size:11px; line-height:1.2; }.demo-steps small { color:rgba(255,255,255,.64); font-size:9px; line-height:1.2; }
.approach-route,.blocked-route,.diverted-route,.scan-line,.shield-dome { fill:none; stroke-linecap:round; }
.approach-route { stroke:#f0cf82; stroke-width:2.2; stroke-dasharray:520; stroke-dashoffset:520; filter:url(#glow); animation:approachTrace 8s infinite; }
.blocked-route { stroke:rgba(255,142,126,.78); stroke-width:2; stroke-dasharray:7 8; opacity:0; animation:blockedRoute 8s infinite; }
.diverted-route { stroke:#b9f1d0; stroke-width:2.6; stroke-dasharray:520; stroke-dashoffset:520; filter:url(#glow); animation:divertTrace 8s infinite; }
.scan-line { stroke:rgba(216,239,225,.34); stroke-width:1.4; stroke-dasharray:6 10; animation:scan 8s infinite; }
.shield-dome { stroke:url(#domeGradient); stroke-width:4; filter:url(#glow); stroke-dasharray:820; stroke-dashoffset:820; animation:dome 8s cubic-bezier(.5,0,.25,1) infinite; }
.shield-fill { fill:url(#shieldFillGradient); stroke:none; opacity:0; animation:shieldFill 8s infinite; }
.protected-area ellipse { fill: rgba(4,12,11,.26); stroke: rgba(235,255,244,.7); stroke-width: 1; }
.protected-area circle { fill: #effff6; stroke: rgba(4,12,11,.8); stroke-width: 3; filter: url(#glow); }
.protected-area path { fill: none; stroke: rgba(235,255,244,.48); stroke-width: 1; stroke-dasharray: 3 7; }
.sensor-pulse circle { fill: none; stroke: rgba(223,248,234,.78); stroke-width: 1.5; transform-origin: 325px 274px; opacity: 0; animation: sensor 8s infinite; }
.sensor-pulse circle:nth-child(2) { animation-delay: .18s; }.sensor-pulse circle:nth-child(3) { animation-delay: .36s; }
.confirm-ring { fill:none; stroke:#ffe09a; stroke-width:2; filter:url(#glow); opacity:0; animation:confirmTarget 8s infinite; }
.blocked-mark { fill:rgba(32,10,8,.72); stroke:#ff9d8e; stroke-width:2; filter:url(#glow); opacity:0; animation:blockedMark 8s infinite; }
.target-craft { fill:rgba(7,12,12,.92); stroke:#fff; stroke-width:2; filter:url(#glow); offset-path:path("M28 72 C150 78 242 112 356 176 C460 196 542 118 772 54"); offset-distance:0%; animation:targetFlight 8s cubic-bezier(.42,0,.22,1) infinite; }

@keyframes targetFlight { 0%,5%{offset-distance:0%;opacity:0} 10%{opacity:1} 34%{offset-distance:46%;opacity:1} 50%{offset-distance:46%;opacity:1} 79%{offset-distance:100%;opacity:1} 86%,100%{offset-distance:100%;opacity:0} }
@keyframes approachTrace { 0%,6%{stroke-dashoffset:520;opacity:0} 12%{opacity:1} 34%,82%{stroke-dashoffset:0;opacity:1} 92%,100%{opacity:0} }
@keyframes blockedRoute { 0%,38%{opacity:0} 45%,68%{opacity:1} 82%,100%{opacity:0} }
@keyframes divertTrace { 0%,48%{stroke-dashoffset:520;opacity:0} 55%{opacity:1} 78%,88%{stroke-dashoffset:0;opacity:1} 100%{opacity:0} }
@keyframes dome { 0%,38%{stroke-dashoffset:820;opacity:0} 47%{opacity:1} 62%,88%{stroke-dashoffset:0;opacity:1} 100%{stroke-dashoffset:0;opacity:0} }
@keyframes shieldFill { 0%,45%{opacity:0} 58%,88%{opacity:1} 100%{opacity:0} }
@keyframes sensor { 0%,13%{opacity:0;transform:scale(.2)} 22%{opacity:.95} 38%,100%{opacity:0;transform:scale(1.3)} }
@keyframes scan { 0%,8%{opacity:0;stroke-dashoffset:90} 16%,38%{opacity:1} 52%,100%{opacity:0;stroke-dashoffset:-90} }
@keyframes confirmTarget { 0%,27%{opacity:0} 34%,47%{opacity:1} 56%,100%{opacity:0} }
@keyframes blockedMark { 0%,45%{opacity:0} 52%,72%{opacity:1} 84%,100%{opacity:0} }
@keyframes statusPulse { 0%,18%,100%{background:#d8efe1;box-shadow:0 0 12px #d8efe1} 24%,45%{background:#f3d596;box-shadow:0 0 14px #f3d596} 52%,88%{background:#bde7cc;box-shadow:0 0 15px #bde7cc} }

.section { width: min(calc(100% - 48px), 1280px); margin-inline: auto; padding: 132px 0; }
.statement-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 110px; margin-top: 30px; }
.statement h2, .section-head h2, .process h2, .request h2 { margin-bottom: 0; font-size: clamp(44px, 5vw, 72px); font-weight: 650; }
.statement-grid .lead { color: #171717; font-size: 24px; line-height: 1.45; }
.statement-grid p:not(.lead) { color: var(--muted); font-size: 17px; }
.facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 86px 0 0; border-top: 1px solid var(--line); }
.facts div { display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding: 24px 28px 0 0; border-right: 1px solid var(--line); }
.facts div + div { padding-left: 28px; }.facts div:last-child { border-right: 0; }
.facts dt { color: var(--muted); font-size: 12px; }.facts dd { margin: 0; font-weight: 630; }
.solutions { border-top: 1px solid var(--line); }
.section-head { display: grid; grid-template-columns: .5fr 1.5fr; gap: 70px; margin-bottom: 70px; }
.section-head h2 { max-width: 900px; }
.solution-list { border-top: 1px solid #111; }
.solution-card { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 34px; padding: 32px 0; border-bottom: 1px solid var(--line); outline: 0; cursor: default; transition: padding .35s ease, background .35s ease; }
.solution-number { color: var(--muted); font-size: 12px; }
.solution-card h3 { margin: 0; font-size: 27px; line-height: 1.2; }
.solution-short { max-width: 520px; margin: 0; color: var(--muted); font-size: 17px; }
.solution-extra { grid-column: 2 / -1; display: grid; grid-template-columns: .82fr 1.18fr; gap: 46px; max-height: 0; overflow: hidden; opacity: 0; transform: translateY(-10px); transition: max-height .5s ease, opacity .3s ease, transform .4s ease, margin .4s ease; }
.solution-card:hover .solution-extra, .solution-card:focus .solution-extra, .solution-card.is-open .solution-extra { max-height: 380px; margin-top: 10px; opacity: 1; transform: translateY(0); }
.solution-extra b { display: block; margin-bottom: 12px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.solution-extra p { margin-bottom: 18px; color: #4e4e4e; font-size: 16px; }
.solution-extra ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.solution-extra li { padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.solution-extra figure { position: relative; min-height: 260px; margin: 0; overflow: hidden; border-radius: 16px; background: #ddd; }
.solution-extra figure:after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(4,9,8,.12),rgba(4,9,8,.05) 45%,rgba(4,9,8,.48)); pointer-events:none; }
.solution-extra img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; filter: saturate(.8) contrast(1.02); transition: transform .6s ease; }
.solution-card:hover .solution-extra img, .solution-card:focus .solution-extra img, .solution-card.is-open .solution-extra img { transform: scale(1.025); }
.solution-extra figcaption { position:absolute; z-index:4; left:12px; bottom:10px; color:rgba(255,255,255,.64); font-size:9px; text-shadow:0 1px 8px rgba(0,0,0,.9); }
.solution-scheme { position:absolute; inset:0; z-index:3; color:#fff; pointer-events:none; }
.solution-scheme svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.solution-scheme svg path { fill:none; stroke:rgba(226,255,239,.9); stroke-width:1.4; stroke-dasharray:5 7; filter:drop-shadow(0 1px 4px rgba(0,0,0,.65)); }
.solution-scheme svg circle { fill:#e4fff0; stroke:rgba(8,19,15,.9); stroke-width:3; filter:drop-shadow(0 0 6px #d9ffea); }
.solution-scheme .scheme-dome { stroke-width:2; stroke-dasharray:none; }
.solution-scheme .scheme-zone { fill:rgba(211,255,230,.08); stroke-dasharray:none; }
.solution-scheme .scheme-arc { stroke-width:2; stroke-dasharray:none; }
.solution-scheme .scheme-scan { stroke-dasharray:3 8; }
.scheme-tag,.scheme-status { position:absolute; padding:6px 9px; border:1px solid rgba(255,255,255,.58); border-radius:999px; background:rgba(6,12,10,.68); box-shadow:0 5px 18px rgba(0,0,0,.24); color:#fff; font-size:10px; font-weight:700; line-height:1; letter-spacing:.02em; white-space:nowrap; backdrop-filter:blur(8px); }
.scheme-tag:before { content:""; display:inline-block; width:5px; height:5px; margin-right:6px; border-radius:50%; background:#dfffea; box-shadow:0 0 7px #dfffea; vertical-align:1px; }
.solution-scheme .tag-a { left:8%; top:54%; }
.solution-scheme .tag-b { left:43%; top:35%; }
.solution-scheme .tag-c { right:6%; top:57%; }
.scheme-status { top:7%; left:50%; transform:translateX(-50%); padding:8px 12px; background:rgba(12,18,16,.78); text-transform:uppercase; letter-spacing:.08em; }
.scheme-wide .tag-a { left:4%; top:61%; }.scheme-wide .tag-b { left:36%; top:35%; }.scheme-wide .tag-c { right:3%; top:62%; }
.scheme-zones .tag-a { left:4%; top:65%; }.scheme-zones .tag-b { left:37%; top:34%; }.scheme-zones .tag-c { right:4%; top:64%; }
.scheme-mobile .tag-a { left:5%; top:23%; }.scheme-mobile .tag-b { right:5%; top:20%; }.scheme-mobile .tag-c { left:38%; top:66%; }

.catalog { width: 100%; max-width: none; padding-inline: max(24px, calc((100% - 1280px) / 2)); background: var(--soft); }
.catalog-head { grid-template-columns: 1fr .7fr; align-items: end; }.catalog-head > p { max-width: 520px; margin-bottom: 5px; color: var(--muted); font-size: 17px; }
.catalog-list { border-top: 1px solid #111; }.catalog-list details { border-bottom: 1px solid #c6c6c0; }
.catalog-list summary { list-style: none; display: grid; grid-template-columns: 70px 1fr 30px; gap: 28px; align-items: center; padding: 27px 0; cursor: pointer; }.catalog-list summary::-webkit-details-marker { display: none; }
.catalog-list summary span { color: var(--muted); font-size: 12px; }.catalog-list summary strong { font-size: 23px; font-weight: 650; }
.catalog-list summary i { position: relative; width: 26px; height: 26px; border: 1px solid #777; border-radius: 50%; }
.catalog-list summary i:before, .catalog-list summary i:after { content:""; position:absolute; inset:50% auto auto 50%; width:10px; height:1px; background:#333; transform:translate(-50%,-50%); }.catalog-list summary i:after { transform:translate(-50%,-50%) rotate(90deg); transition:.2s; }.catalog-list details[open] summary i:after { transform:translate(-50%,-50%); }
.catalog-content { display:grid; grid-template-columns:70px 1fr auto; gap:28px; padding:0 0 36px; }
.catalog-description { grid-column:2; max-width:780px; margin:0; color:#555; font-size:17px; }
.catalog-request { grid-column:3; align-self:start; padding-bottom:2px; border-bottom:1px solid #111; text-decoration:none; font-size:14px; font-weight:650; }
.product-grid { grid-column:2 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:6px; }
.product-card { position:relative; min-height:460px; display:flex; flex-direction:column; overflow:hidden; border:1px solid #cbcfc9; border-radius:18px; background:#fff; }
.product-card img { width:100%; aspect-ratio:16/9; object-fit:cover; background:#e7e7e3; }
.product-card > div:last-child { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:24px; }
.product-card small { color:#71756f; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.product-card h3 { margin:10px 0 12px; font-size:23px; line-height:1.1; }
.product-card p { margin:0 0 22px; color:#5d615c; font-size:14px; }
.product-card a { margin-top:auto; padding-bottom:2px; border-bottom:1px solid #111; text-decoration:none; font-size:13px; font-weight:700; }
.product-badge { position:absolute; z-index:2; top:14px; left:14px; padding:7px 10px; border-radius:999px; background:#111; color:#fff; font-size:10px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.product-card-accent { border-color:#9aaa9b; box-shadow:inset 0 0 0 1px #9aaa9b; }
.selection-note { grid-column:2/-1; display:grid; grid-template-columns:.55fr 1.45fr; gap:24px; padding:22px 24px; border-radius:14px; background:#e5e8e2; }
.selection-note b { font-size:14px; }.selection-note span { color:#5e625c; font-size:14px; }
.kit-showcase { grid-column:2/-1; display:grid; grid-template-columns:1.18fr .82fr; overflow:hidden; border:1px solid #cbcfc9; border-radius:18px; background:#fff; }
.kit-showcase figure { position:relative; min-height:430px; margin:0; overflow:hidden; background:#e7e7e3; }
.kit-showcase figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kit-showcase figcaption { position:absolute; left:14px; bottom:14px; padding:7px 10px; border-radius:999px; background:rgba(0,0,0,.58); color:#fff; font-size:10px; }
.kit-info { padding:32px; }
.kit-info small { color:#71756f; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.kit-info h3 { margin:10px 0 22px; font-size:28px; line-height:1.1; }
.kit-info ol { list-style:none; margin:0 0 26px; padding:0; border-top:1px solid var(--line); }
.kit-info li { display:grid; grid-template-columns:32px 1fr; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); color:#444; font-size:14px; }
.kit-info li span { color:#8a8e88; font-size:11px; }
.kit-info > a { padding-bottom:2px; border-bottom:1px solid #111; text-decoration:none; font-size:13px; font-weight:700; }
.category-showcase { grid-column:2/-1; display:grid; grid-template-columns:1.08fr .92fr; overflow:hidden; border:1px solid #cbcfc9; border-radius:18px; background:#fff; }
.category-showcase figure { position:relative; min-height:380px; margin:0; overflow:hidden; background:#e7e7e3; }
.category-showcase figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.category-showcase figcaption { position:absolute; left:14px; bottom:14px; padding:7px 10px; border-radius:999px; background:rgba(0,0,0,.58); color:#fff; font-size:10px; }
.category-info { display:flex; flex-direction:column; padding:30px; }
.category-info small { color:#71756f; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.category-info h3 { margin:10px 0 20px; font-size:27px; line-height:1.1; }
.category-info ul { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.category-info li { padding:10px 0; border-bottom:1px solid var(--line); color:#444; font-size:14px; }
.category-info p { margin:auto 0 0; padding-top:20px; color:#70746e; font-size:13px; }

.process { border-bottom: 1px solid var(--line); }.process-intro { display:grid; grid-template-columns:1.15fr .85fr; gap:90px; align-items:end; margin:28px 0 80px; }.process-intro > p { max-width:520px; margin:0 0 5px; color:var(--muted); font-size:18px; }
.process-list { list-style:none; margin:0; padding:0; }.process-list li { display:grid; grid-template-columns:70px 1fr; gap:28px; padding:25px 0; border-top:1px solid var(--line); }.process-list li > span { color:var(--muted); font-size:12px; }.process-list li > div { display:grid; grid-template-columns:1fr 1fr; gap:60px; }.process-list h3 { margin:0; font-size:25px; }.process-list p { max-width:520px; margin:0; color:var(--muted); }

.request { display:grid; grid-template-columns:.82fr 1.18fr; gap:100px; width:min(calc(100% - 48px), 1380px); margin:80px auto; padding:82px; border-radius:24px; background:#141716; color:#fff; }.request-copy h2 { margin:28px 0; }.request-copy > p:last-child { max-width:520px; color:#b9c0bb; font-size:17px; }
.request-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.request-form label { display:grid; gap:8px; }.request-form label span { color:#c7ccc8; font-size:13px; }.request-form .wide { grid-column:1/-1; }
.request-form input, .request-form select, .request-form textarea { width:100%; min-height:52px; padding:14px 0; border:0; border-bottom:1px solid #5b625d; border-radius:0; outline:0; background:transparent; color:#fff; }.request-form option { color:#111; }.request-form textarea { resize:vertical; }.request-form input:focus, .request-form select:focus, .request-form textarea:focus { border-color:#fff; }.request-form textarea::placeholder { color:#777e79; }
.form-button { min-height:54px; margin-top:10px; border:0; border-radius:999px; background:#fff; color:#111; cursor:pointer; font-weight:750; }.form-status { min-height:24px; margin:0; color:#c7d7c9; font-size:14px; }.request-result { grid-column:2; border:1px solid #5b625d; }.request-result > div { display:flex; justify-content:space-between; padding:12px 15px; border-bottom:1px solid #5b625d; font-size:13px; }.request-result button { border:0; background:none; color:#fff; cursor:pointer; text-decoration:underline; }.request-result pre { margin:0; padding:16px; white-space:pre-wrap; font:13px/1.6 ui-monospace,monospace; }
.site-footer { width:min(calc(100% - 48px), var(--max)); margin:0 auto; padding:38px 0 48px; display:grid; grid-template-columns:1fr 1.4fr 1fr auto; gap:50px; align-items:end; border-top:1px solid var(--line); }.footer-brand { display:grid; line-height:1.2; }.footer-brand strong { text-transform:uppercase; }.footer-brand span, .site-footer p { color:var(--muted); font-size:12px; }.site-footer p { margin:0; }.photo-credit a { color:inherit; }.site-footer > a { font-size:13px; font-weight:650; }

@media (max-width: 1000px) {
  .site-header { min-height:74px; }.desktop-nav,.header-link { display:none; }.menu-button { display:grid; margin-left:auto; width:42px; height:42px; place-content:center; gap:7px; border:1px solid #111; border-radius:50%; background:#fff; }.menu-button span { width:18px; height:1px; background:#111; }
  .mobile-nav { position:absolute; inset:70px 0 auto; display:none; padding:12px 18px; border:1px solid var(--line); background:#fff; box-shadow:0 18px 45px rgba(0,0,0,.12); }.mobile-nav.open { display:grid; }.mobile-nav a { padding:12px 0; border-bottom:1px solid var(--line); text-decoration:none; font-weight:650; }
  .opening-row,.statement-grid,.section-head,.process-intro,.request { grid-template-columns:1fr; gap:38px; }.hero-stage { min-height:720px; }.protection-demo { width:94%; }.solution-card { grid-template-columns:55px 1fr; }.solution-short { grid-column:2; }.solution-extra { grid-column:2; }.catalog-head { grid-template-columns:1fr; }.product-grid { grid-template-columns:1fr; }.kit-showcase,.category-showcase { grid-template-columns:1fr; }.kit-showcase figure,.category-showcase figure { min-height:360px; }.request { padding:60px; }.request-result { grid-column:1; }.site-footer { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .site-header,.opening,.hero-stage,.section,.request,.site-footer { width:min(calc(100% - 28px), var(--max)); }.brand small { display:none; }.opening { margin:20px auto 28px; }.opening-row { margin-top:16px; gap:22px; }h1 { font-size:46px; }.opening-row > p { font-size:16px; }
  .hero-stage { min-height:720px; border-radius:16px; background-position:58% center; }.hero-topline { inset:20px 20px auto; }.hero-copy { top:70px; width:92%; }.hero-copy h2 { font-size:54px; }.hero-copy > span { font-size:10px; }.protection-demo { width:118%; height:430px; bottom:104px; }.demo-status { top:64px; padding:8px 11px; }.demo-status b { font-size:9px; }.demo-steps { inset:auto 10% 0; grid-template-columns:1fr 1fr; }.demo-steps span { padding:7px 9px; }.demo-steps span:nth-child(2) { border-right:0; }.demo-steps span:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.2); }.demo-steps b { font-size:9px; }.demo-steps small { display:none; }.hero-bottom { inset:auto 20px 20px; display:grid; }.hero-bottom p { line-height:1.6; }.hero-bottom a { justify-content:center; }
  .section { padding:88px 0; }.statement h2,.section-head h2,.process h2,.request h2 { font-size:42px; }.statement-grid { gap:30px; }.statement-grid .lead { font-size:20px; }.facts { grid-template-columns:1fr; margin-top:52px; }.facts div,.facts div+div { padding:18px 0; border-right:0; border-bottom:1px solid var(--line); }.section-head { margin-bottom:48px; }
  .solution-card { grid-template-columns:40px 1fr; gap:16px; padding:24px 0; }.solution-card h3 { font-size:22px; }.solution-extra { grid-column:1/-1; grid-template-columns:1fr; gap:20px; }.solution-card:hover .solution-extra,.solution-card:focus .solution-extra,.solution-card.is-open .solution-extra { max-height:720px; margin-top:14px; }.solution-extra figure { min-height:240px; }.scheme-tag,.scheme-status { font-size:8px; padding:5px 7px; }.scheme-status { top:6%; padding:6px 8px; }.solution-scheme .tag-a { left:4%; }.solution-scheme .tag-b { left:38%; }.solution-scheme .tag-c { right:3%; }.scheme-mobile .tag-a { top:24%; }.scheme-mobile .tag-b { top:20%; }.scheme-mobile .tag-c { left:35%; top:68%; }.catalog { width:100%; padding-inline:14px; }.catalog-list summary { grid-template-columns:36px 1fr 26px; gap:12px; }.catalog-list summary strong { font-size:18px; }.catalog-content { grid-template-columns:36px 1fr; gap:12px; }.catalog-description,.product-grid,.selection-note,.kit-showcase,.category-showcase,.catalog-request { grid-column:2; }.product-card { min-height:0; }.product-card img { height:auto; min-height:0; }.selection-note { grid-template-columns:1fr; gap:8px; }.kit-showcase figure,.category-showcase figure { min-height:230px; }.kit-info,.category-info { padding:22px; }.kit-info h3,.category-info h3 { font-size:23px; }
  .process-list li { grid-template-columns:40px 1fr; gap:16px; }.process-list li > div { grid-template-columns:1fr; gap:10px; }.request { margin-block:14px 70px; padding:40px 22px; border-radius:16px; }.request-form { grid-template-columns:1fr; }.request-form .wide { grid-column:1; }.site-footer { grid-template-columns:1fr; gap:20px; }
}
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.target-craft,.approach-route,.blocked-route,.diverted-route,.shield-dome,.shield-fill,.sensor-pulse circle,.scan-line,.confirm-ring,.blocked-mark,.demo-status span{animation:none!important}.shield-dome,.diverted-route,.approach-route{stroke-dashoffset:0;opacity:1}.shield-fill{opacity:1}.target-craft{offset-distance:100%;opacity:1}.blocked-route,.blocked-mark{opacity:.65} }

/* Главная сцена: четыре типа объектов под защитой */
.hero-stage { min-height:840px; }
.hero-shade { background:radial-gradient(circle at 50% 38%,rgba(6,13,12,.2),rgba(2,8,9,.62) 64%,rgba(2,7,8,.88)),linear-gradient(90deg,rgba(4,8,8,.64),transparent 30%,transparent 70%,rgba(4,8,8,.68)); }
.protected-portfolio { position:absolute; left:50%; bottom:82px; width:min(92%,1240px); height:500px; transform:translateX(-50%); }
.portfolio-status { position:absolute; z-index:5; top:0; left:50%; display:flex; align-items:center; gap:10px; transform:translateX(-50%); padding:10px 15px; border:1px solid rgba(255,255,255,.5); border-radius:999px; background:rgba(5,12,11,.78); box-shadow:0 10px 35px rgba(0,0,0,.3); white-space:nowrap; backdrop-filter:blur(14px); }
.portfolio-status span { width:8px; height:8px; border-radius:50%; background:#bff2d2; box-shadow:0 0 13px #bff2d2; }
.portfolio-status b { font-size:12px; letter-spacing:.025em; }
.portfolio-route { position:absolute; z-index:4; top:31px; left:2%; width:96%; height:118px; overflow:visible; pointer-events:none; }
.portfolio-route path { fill:none; stroke-linecap:round; }
.portfolio-route-in { stroke:#f0cf82; stroke-width:2.2; stroke-dasharray:520; animation:portfolioIn 8s infinite; filter:drop-shadow(0 0 5px rgba(240,207,130,.8)); }
.portfolio-route-blocked { stroke:#ff9d8e; stroke-width:2; stroke-dasharray:6 7; opacity:.8; }
.portfolio-route-out { stroke:#b9f1d0; stroke-width:2.8; stroke-dasharray:680; animation:portfolioOut 8s infinite; filter:drop-shadow(0 0 5px rgba(185,241,208,.9)); }
.portfolio-craft { fill:rgba(6,13,12,.95); stroke:#fff; stroke-width:1.8; offset-path:path("M16 78 C180 76 300 91 430 78 C560 76 700 40 982 18"); offset-distance:0%; animation:portfolioFlight 8s cubic-bezier(.42,0,.22,1) infinite; filter:drop-shadow(0 0 6px rgba(255,255,255,.9)); }
.portfolio-block { fill:rgba(34,8,6,.82); stroke:#ff9d8e; stroke-width:2; filter:drop-shadow(0 0 6px rgba(255,157,142,.8)); animation:portfolioBlock 8s infinite; }
.protected-grid { position:absolute; z-index:2; inset:126px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.protected-card { position:relative; min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.38); border-radius:17px; background:#101615; box-shadow:0 18px 38px rgba(0,0,0,.28); isolation:isolate; }
.protected-card:before { content:""; position:absolute; inset:0; z-index:-2; background-image:var(--object-image); background-position:center; background-size:cover; filter:saturate(.76) contrast(1.05); transform:scale(1.03); }
.protected-card:after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(2,8,8,.16),rgba(2,8,8,.06) 35%,rgba(2,8,8,.9) 100%); }
.protected-number { position:absolute; z-index:4; top:12px; left:12px; min-width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(4,10,9,.56); font-size:9px; backdrop-filter:blur(8px); }
.mini-shield { position:absolute; z-index:2; inset:18px 5% auto; height:170px; }
.mini-shield svg { width:100%; height:100%; overflow:visible; }
.mini-shield-line { fill:none; stroke:#d9ffea; stroke-width:2.6; stroke-linecap:round; filter:drop-shadow(0 0 5px rgba(217,255,234,.9)); animation:miniShield 3.4s ease-in-out infinite; }
.mini-shield-fill { fill:rgba(197,247,217,.11); stroke:none; animation:miniShieldFill 3.4s ease-in-out infinite; }
.mini-shield circle { fill:#e9fff1; stroke:#132019; stroke-width:2.5; filter:drop-shadow(0 0 5px rgba(217,255,234,.9)); }
.protected-card:nth-child(2) .mini-shield-line,.protected-card:nth-child(2) .mini-shield-fill { animation-delay:.3s; }.protected-card:nth-child(3) .mini-shield-line,.protected-card:nth-child(3) .mini-shield-fill { animation-delay:.6s; }.protected-card:nth-child(4) .mini-shield-line,.protected-card:nth-child(4) .mini-shield-fill { animation-delay:.9s; }
.protected-copy { position:absolute; z-index:4; inset:auto 14px 14px; display:grid; }
.protected-copy b { font-size:16px; line-height:1.2; }.protected-copy small { margin-top:3px; color:rgba(255,255,255,.68); font-size:10px; }.protected-copy em { width:max-content; display:inline-flex; align-items:center; gap:6px; margin-top:9px; padding:5px 8px; border:1px solid rgba(202,255,222,.44); border-radius:999px; background:rgba(6,15,12,.68); color:#d9ffea; font-size:9px; font-style:normal; font-weight:700; letter-spacing:.05em; text-transform:uppercase; backdrop-filter:blur(8px); }
.protected-copy em:before { content:""; width:5px; height:5px; border-radius:50%; background:#bff2d2; box-shadow:0 0 8px #bff2d2; }
@keyframes portfolioFlight { 0%,5%{offset-distance:0%;opacity:0} 10%{opacity:1} 42%{offset-distance:44%;opacity:1} 54%{offset-distance:44%;opacity:1} 82%{offset-distance:100%;opacity:1} 90%,100%{offset-distance:100%;opacity:0} }
@keyframes portfolioIn { 0%,5%{stroke-dashoffset:520;opacity:0} 12%{opacity:1} 42%,84%{stroke-dashoffset:0;opacity:1} 94%,100%{opacity:0} }
@keyframes portfolioOut { 0%,48%{stroke-dashoffset:680;opacity:0} 56%{opacity:1} 82%,90%{stroke-dashoffset:0;opacity:1} 100%{opacity:0} }
@keyframes portfolioBlock { 0%,43%{opacity:0} 51%,76%{opacity:1} 88%,100%{opacity:0} }
@keyframes miniShield { 0%,100%{opacity:.72} 50%{opacity:1} } @keyframes miniShieldFill { 0%,100%{opacity:.5} 50%{opacity:1} }
@media (max-width:760px) {
  .hero-stage { min-height:980px; }.hero-copy { top:70px; }.protected-portfolio { bottom:86px; height:680px; width:92%; }.portfolio-route { top:32px; }.protected-grid { inset:125px 0 0; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }.mini-shield { height:150px; }.protected-copy b { font-size:15px; }
}
@media (max-width:640px) {
  .hero-stage { min-height:1010px; }.hero-copy h2 { font-size:50px; }.protected-portfolio { bottom:105px; width:94%; height:710px; }.portfolio-status { top:0; padding:8px 11px; }.portfolio-status b { font-size:9px; }.portfolio-route { top:28px; height:90px; }.protected-grid { inset:112px 0 0; gap:8px; }.protected-card { border-radius:13px; }.protected-number { top:8px; left:8px; min-width:24px; height:24px; }.mini-shield { inset:18px 1% auto; height:130px; }.protected-copy { inset:auto 9px 10px; }.protected-copy b { font-size:13px; }.protected-copy small { font-size:8px; }.protected-copy em { padding:4px 6px; font-size:7px; }.hero-bottom { z-index:6; }
}
@media (prefers-reduced-motion:reduce) { .portfolio-craft,.portfolio-route-in,.portfolio-route-out,.portfolio-block,.mini-shield-line,.mini-shield-fill{animation:none!important}.portfolio-craft{offset-distance:82%;opacity:1}.portfolio-route-in,.portfolio-route-out{stroke-dashoffset:0;opacity:1}.portfolio-block{opacity:1} }

/* Выбранные концепт-иллюстрации: одна сцена за раз */
.hero-scenes { position:absolute; inset:0; z-index:-3; }
.hero-scene { position:absolute; inset:0; opacity:0; background-color:#07121c; background-position:center 60%; background-repeat:no-repeat; background-size:92% auto; transform:scale(1.02); transition:opacity .9s ease; }
.hero-scene.is-active { opacity:1; animation:sceneDrift 8s ease-out both; }
.hero-shade { z-index:-2; background:linear-gradient(180deg,rgba(2,7,12,.64) 0,rgba(2,7,12,.12) 36%,rgba(2,7,12,.13) 62%,rgba(2,7,12,.82) 100%),linear-gradient(90deg,rgba(1,6,10,.5),transparent 34%,transparent 70%,rgba(1,6,10,.35)); }
.single-protection { position:absolute; z-index:3; inset:185px 24px 82px; }
.scene-title { position:absolute; z-index:5; top:0; left:1%; display:flex; align-items:flex-start; gap:13px; max-width:440px; padding:12px 15px; border:1px solid rgba(255,255,255,.34); border-radius:14px; background:rgba(3,10,14,.6); box-shadow:0 12px 36px rgba(0,0,0,.22); backdrop-filter:blur(12px); }
.scene-title > span { width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.42); border-radius:50%; color:#c8f4dd; font-size:10px; }
.scene-title h3 { margin:1px 0 3px; font-size:18px; line-height:1.15; }
.scene-title p { margin:0; color:rgba(255,255,255,.66); font-size:11px; }
.scene-status { position:absolute; z-index:5; top:8px; right:1%; display:flex; align-items:center; gap:9px; padding:10px 13px; border:1px solid rgba(255,255,255,.38); border-radius:999px; background:rgba(3,10,14,.62); backdrop-filter:blur(12px); }
.scene-status span { width:7px; height:7px; border-radius:50%; background:#c7f7db; box-shadow:0 0 13px #c7f7db; }
.scene-status b { font-size:10px; letter-spacing:.04em; text-transform:uppercase; }
.single-route { position:absolute; z-index:3; inset:42px 3% 42px; width:94%; height:calc(100% - 84px); overflow:visible; pointer-events:none; }
.single-route path { fill:none; stroke-linecap:round; }
.single-route-in { stroke:#f4d48f; stroke-width:2; stroke-dasharray:650; filter:drop-shadow(0 0 5px rgba(244,212,143,.9)); }
.single-route-blocked { stroke:#ff9d8e; stroke-width:2; stroke-dasharray:7 8; }
.single-route-out { stroke:#bff6d5; stroke-width:3; stroke-dasharray:700; filter:drop-shadow(0 0 6px rgba(191,246,213,.95)); }
.single-dome { stroke:url(#singleDome); stroke-width:4; stroke-dasharray:900; filter:url(#singleGlow); }
.single-dome-fill { fill:rgba(172,239,199,.07); stroke:none; }
.single-craft { fill:#07100f; stroke:#fff; stroke-width:1.7; filter:url(#singleGlow); offset-path:path("M24 54 C168 44 286 46 404 62 C540 24 690 24 874 48"); }
.single-block { fill:rgba(45,9,6,.82); stroke:#ff9d8e; stroke-width:2; filter:url(#singleGlow); }
.route-label { position:absolute; z-index:5; padding:7px 10px; border:1px solid rgba(255,255,255,.32); border-radius:999px; background:rgba(2,8,12,.64); color:rgba(255,255,255,.82); font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; backdrop-filter:blur(10px); }
.route-label-in { left:2%; top:22%; }.route-label-out { right:2%; top:20%; }
.scene-tabs { position:absolute; z-index:6; left:50%; bottom:0; width:min(96%,840px); display:grid; grid-template-columns:repeat(4,1fr); transform:translateX(-50%); overflow:hidden; border:1px solid rgba(255,255,255,.32); border-radius:14px; background:rgba(3,10,13,.66); backdrop-filter:blur(14px); }
.scene-tabs button { min-width:0; min-height:48px; display:flex; align-items:center; justify-content:center; gap:8px; padding:8px 10px; border:0; border-right:1px solid rgba(255,255,255,.2); background:transparent; color:rgba(255,255,255,.62); cursor:pointer; font-size:10px; font-weight:700; }
.scene-tabs button:last-child { border-right:0; }.scene-tabs button span { color:#aebbb6; font-size:9px; }.scene-tabs button.is-active { background:rgba(214,255,231,.13); color:#fff; box-shadow:inset 0 -2px #c9f4dc; }
.scene-tabs button:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
.single-protection.is-animating .single-route-in { animation:singleTraceIn 8s ease-in-out both; }
.single-protection.is-animating .single-route-blocked { animation:singleBlocked 8s ease-in-out both; }
.single-protection.is-animating .single-route-out { animation:singleTraceOut 8s ease-in-out both; }
.single-protection.is-animating .single-dome { animation:singleDome 8s ease-in-out both; }
.single-protection.is-animating .single-dome-fill { animation:singleDomeFill 8s ease-in-out both; }
.single-protection.is-animating .single-craft { animation:singleFlight 8s cubic-bezier(.42,0,.22,1) both; }
.single-protection.is-animating .single-block { animation:singleBlock 8s ease-in-out both; }
.solution-card:hover .solution-scheme svg path,.solution-card:focus .solution-scheme svg path,.solution-card.is-open .solution-scheme svg path { animation:solutionTrace 2.8s linear infinite; }
.solution-card:hover .scheme-status,.solution-card:focus .scheme-status,.solution-card.is-open .scheme-status { animation:solutionStatus 1.8s ease-in-out infinite; }
@keyframes sceneDrift { from{transform:scale(1.02)} to{transform:scale(.99)} }
@keyframes singleTraceIn { 0%,5%{stroke-dashoffset:650;opacity:0} 12%{opacity:1} 42%,88%{stroke-dashoffset:0;opacity:1} 100%{opacity:0} }
@keyframes singleBlocked { 0%,38%{opacity:0} 47%,68%{opacity:.85} 80%,100%{opacity:0} }
@keyframes singleTraceOut { 0%,46%{stroke-dashoffset:700;opacity:0} 55%{opacity:1} 82%,92%{stroke-dashoffset:0;opacity:1} 100%{opacity:0} }
@keyframes singleDome { 0%,28%{stroke-dashoffset:900;opacity:0} 40%{opacity:1} 58%,90%{stroke-dashoffset:0;opacity:1} 100%{opacity:0} }
@keyframes singleDomeFill { 0%,38%{opacity:0} 52%,90%{opacity:1} 100%{opacity:0} }
@keyframes singleFlight { 0%,5%{offset-distance:0%;opacity:0} 12%{opacity:1} 40%{offset-distance:48%;opacity:1} 52%{offset-distance:48%;opacity:1} 82%{offset-distance:100%;opacity:1} 92%,100%{offset-distance:100%;opacity:0} }
@keyframes singleBlock { 0%,42%{opacity:0;transform:scale(.55)} 50%,70%{opacity:1;transform:scale(1)} 84%,100%{opacity:0;transform:scale(.75)} }
@keyframes solutionTrace { to{stroke-dashoffset:-48} }
@keyframes solutionStatus { 50%{box-shadow:0 0 24px rgba(217,255,234,.38)} }
@media (max-width:760px) {
  .hero-stage { min-height:850px; }.hero-scene { background-position:center 66%; background-size:94% auto; }.single-protection { inset:205px 10px 92px; }.scene-title { left:0; max-width:78%; }.scene-status { top:84px; right:auto; left:0; }.single-route { inset:112px -18% 88px; width:136%; height:calc(100% - 200px); }.route-label { display:none; }.scene-tabs { width:100%; grid-template-columns:1fr 1fr; }.scene-tabs button { min-height:42px; }.scene-tabs button:nth-child(2) { border-right:0; }.scene-tabs button:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.2); }
}
@media (max-width:640px) {
  .hero-stage { min-height:900px; }.hero-scene { background-position:center 66%; background-size:96% auto; }.single-protection { inset:195px 10px 106px; }.scene-title h3 { font-size:15px; }.scene-title p { font-size:9px; }.single-route { inset:125px -28% 98px; width:156%; height:calc(100% - 223px); }.hero-bottom { z-index:7; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-scene.is-active,.single-route-in,.single-route-blocked,.single-route-out,.single-dome,.single-dome-fill,.single-craft,.single-block,.single-nodes circle,.solution-scheme svg path,.scheme-status { animation:none!important; }
  .hero-scene { transform:none; }.single-route-in,.single-route-out,.single-dome { stroke-dashoffset:0;opacity:1 }.single-route-blocked,.single-dome-fill,.single-block { opacity:.7 }.single-craft { offset-distance:100%;opacity:1 }
}

/* Компактная мобильная главная сцена */
@media (max-width:640px) {
  .hero-stage { min-height:720px; border-radius:16px; }
  .hero-topline { inset:16px 16px auto; }
  .hero-topline span:last-child { display:none; }
  .hero-copy { top:52px; width:92%; }
  .hero-copy p { display:none; }
  .hero-copy h2 { margin-bottom:5px; font-size:44px; }
  .hero-copy > span { font-size:8px; letter-spacing:.12em; }
  .hero-scene { background-position:center 60%; background-size:125% auto; }
  .single-protection { inset:138px 10px 94px; }
  .scene-title { top:0; right:0; left:0; max-width:none; padding:10px 12px; }
  .scene-title > span { width:28px; height:28px; }
  .scene-title h3 { margin-top:0; font-size:16px; }
  .scene-title p { display:none; }
  .scene-status { top:64px; right:auto; left:0; padding:8px 11px; }
  .single-route { inset:94px -38% 100px; width:176%; height:calc(100% - 194px); }
  .scene-tabs { bottom:0; width:100%; }
  .scene-tabs button { min-height:42px; padding:7px 5px; font-size:8px; }
  .scene-tabs button span { font-size:8px; }
  .hero-bottom { inset:auto 18px 16px; display:block; }
  .hero-bottom p { display:none; }
  .hero-bottom a { width:100%; min-height:46px; justify-content:center; }
}
