@import url("https://api.fontshare.com/v2/css?f[]=switzer@1,2&f[]=clash-display@1&display=swap");

:root {
	--bg: #c4ccd5;
	--ink: #0b0f12;
	--ink-soft: rgba(11, 15, 18, .74);
	--muted: rgba(11, 15, 18, .6);
	--ink-line: rgba(11, 15, 18, .16);
	--ink-line-soft: rgba(11, 15, 18, .09);
	--paper: rgba(255, 255, 255, .93);
	--panel: #111719;
	--panel-raised: #1a2226;
	--panel-glass: rgba(17, 23, 25, .86);
	--line: rgba(228, 239, 232, .14);
	--line-soft: rgba(228, 239, 232, .07);
	--text: #edf3ef;
	--dim: #9aa8a0;
	--mute: #7b8a81;
	--accent: #45f0c0;
	--accent-rgb: 69, 240, 192;
	--accent-ink: #04150f;
	--orange: #ff6118;
	--warm: #f2b873;
	--danger: #ff7d6b;
	--mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
	--display: "Clash Display", "Obviously Narrow", sans-serif;
	--body: "Switzer", Arial, sans-serif;
	--radius: 26px;
	--radius-sm: 14px;
}

html { scroll-behavior: smooth; }
body.arms-page { min-width: 320px; background: var(--bg); color: var(--ink); font-family: var(--body); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.arms-page .main-page-wrapper { background: var(--bg); overflow-x: clip; }

.arms-main { position: relative; isolation: isolate; }
.arms-main::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0 119px, rgba(0, 0, 0, .05) 119px 120px), repeating-linear-gradient(90deg, transparent 0 119px, rgba(0, 0, 0, .05) 119px 120px); mask-image: linear-gradient(to bottom, #000 0, #000 70%, transparent 100%); -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 70%, transparent 100%); }
.arms-main *, .arms-main *::before, .arms-main *::after { box-sizing: border-box; }
.arms-main :is(h1, h2, h3, h4, p, ul, ol, figure, details, summary, table) { margin: 0; padding: 0; }
.arms-main ul { list-style: none; }
.arms-main a { color: inherit; text-decoration: none; }
.arms-main button, .arms-main input, .arms-main select { font: inherit; }
.arms-main button { color: inherit; cursor: pointer; }
.arms-main img { display: block; max-width: 100%; }
.arms-main ::selection { color: var(--accent-ink); background: var(--accent); }

.wrap { position: relative; z-index: 1; width: min(1480px, 100%); margin: 0 auto; padding-inline: clamp(20px, 4vw, 62px); }
.mono { font-family: var(--mono); }
.label { font-family: var(--mono); font-size: 10.5px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; color: var(--orange); }
.accent { color: var(--accent); }
.rv { opacity: 0; transform: translateY(22px); transition: opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1); }
.rv.on { opacity: 1; transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.arms-boot { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: #020403; transition: opacity .45s ease; cursor: pointer; }
.arms-boot.done { opacity: 0; pointer-events: none; }
.arms-boot .terminal { width: min(620px, 86vw); color: var(--accent); font: 12px/1.9 var(--mono); letter-spacing: .08em; }
.arms-boot .line { opacity: 0; animation: bootLine .18s forwards; white-space: nowrap; overflow: hidden; }
.arms-boot .line span { float: right; color: var(--dim); }
.arms-boot .line:nth-child(1) { animation-delay: .1s; }
.arms-boot .line:nth-child(2) { animation-delay: .38s; }
.arms-boot .line:nth-child(3) { animation-delay: .72s; }
.arms-boot .line:nth-child(4) { animation-delay: 1.06s; }
.arms-boot .line:nth-child(5) { animation-delay: 1.4s; }
.arms-boot .boot-progress { height: 2px; margin-top: 18px; background: rgba(255,255,255,.09); overflow: hidden; }
.arms-boot .boot-progress i { display: block; height: 100%; width: 0; background: var(--accent); animation: bootProgress 1.75s .12s cubic-bezier(.2,.7,.3,1) forwards; }
.arms-boot .skip { margin-top: 11px; color: var(--mute); text-align: right; font-size: 9px; letter-spacing: .2em; }
@keyframes bootLine { to { opacity: 1; } }
@keyframes bootProgress { to { width: 100%; } }
.boot-seen .arms-boot { display: none; }

.product-hero { padding: 196px 0 70px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); gap: clamp(50px, 7vw, 110px); align-items: center; }
.type-line { min-height: 18px; color: var(--orange); font: 700 10.5px/1.5 var(--mono); letter-spacing: .22em; text-transform: uppercase; }
.type-line .caret { display: inline-block; width: 7px; height: 13px; margin-left: 6px; vertical-align: -2px; background: var(--orange); animation: caret 1s steps(1) infinite; }
@keyframes caret { 50% { opacity: 0; } }
.product-hero h1 { max-width: 790px; margin: 22px 0 15px; color: var(--ink); font-family: var(--display); font-size: clamp(58px, 8.2vw, 126px); font-weight: 600; letter-spacing: -.045em; line-height: .84; text-transform: uppercase; }
.product-hero h1 em { display: block; color: transparent; font-style: normal; -webkit-text-stroke: 1.5px var(--ink); }
.hero-role { color: var(--muted); font: 700 10.5px/1.4 var(--mono); letter-spacing: .23em; text-transform: uppercase; }
.hero-lede { max-width: 610px; margin-top: 26px; color: var(--ink-soft); font-size: 18px; line-height: 1.72; }
.chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.chip { padding: 10px 15px; border: 1px solid rgba(11, 15, 18, .22); border-radius: 40px; background: rgba(255,255,255,.55); color: var(--ink-soft); font: 700 10.5px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.chip.active { color: var(--accent); border-color: var(--ink); background: var(--ink); }
.chip.warm { color: #8a4a00; border-color: rgba(255, 97, 24, .45); background: rgba(255, 97, 24, .08); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.qd-btn, .qd-btn-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 56px;
	padding: 0 30px;
	border-radius: 9px;
	font: 700 11px/1 var(--mono);
	letter-spacing: .17em;
	text-transform: uppercase;
	transition: .25s ease;
}
.qd-btn { color: #fff; background: var(--ink); border: 1px solid var(--ink); cursor: pointer; }
.arms-main a.qd-btn { color: #fff; }
.arms-main a.qd-btn:hover { color: #fff; }
.arms-main a.qd-btn-ghost { color: var(--ink); }
.arms-main a.qd-btn-ghost:hover { color: var(--accent); }
.arms-main .window a.qd-btn { color: var(--accent-ink); }
.arms-main .window a.qd-btn:hover { color: var(--ink); }
.arms-main .window a.qd-btn-ghost { color: var(--text); }
.arms-main .window a.qd-btn-ghost:hover { color: var(--accent); }
.qd-btn[disabled], .qd-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none; }
.qd-btn[disabled]:hover, .qd-btn[aria-disabled="true"]:hover { background: var(--ink); border-color: var(--ink); transform: none; }
.qd-btn:hover { color: #fff; background: var(--orange); border-color: var(--orange); transform: translateY(-2px); }
.qd-btn-ghost { color: var(--ink); background: rgba(255,255,255,.35); border: 1px solid rgba(11, 15, 18, .35); }
.qd-btn-ghost:hover { color: var(--accent); background: var(--ink); border-color: var(--ink); }
.window .qd-btn { color: var(--accent-ink); background: var(--accent); border-color: var(--accent); }
.window .qd-btn:hover { color: var(--ink); background: #fff; border-color: #fff; }
.window .qd-btn-ghost { color: var(--text); background: transparent; border-color: var(--line); }
.window .qd-btn-ghost:hover { color: var(--accent); background: transparent; border-color: var(--accent); }

.config-field { margin-top: 26px; max-width: 480px; }
.config-field label { display: block; margin-bottom: 8px; color: var(--muted); font: 700 10px/1.4 var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.config-select { width: 100%; appearance: none; -webkit-appearance: none; padding: 15px 52px 15px 18px; border: 1.5px solid var(--ink); border-radius: 12px; background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'><path d='M1 1l7 7 7-7' fill='none' stroke='%230b0f12' stroke-width='2'/></svg>") no-repeat right 18px center; color: var(--ink); font: 600 13px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: box-shadow .2s ease; }
.config-select:focus { outline: none; box-shadow: 0 0 0 3px rgba(255, 97, 24, .35); }
.config-summary { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; color: var(--muted); font: 700 10px/1.5 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.config-summary b { color: var(--ink); font-weight: 700; }
.config-summary .ok { color: #0c8a68; }
.config-summary .soon { color: #b34400; }
.window .config-select { border-color: rgba(255,255,255,.28); background-color: var(--panel-raised); background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'><path d='M1 1l7 7 7-7' fill='none' stroke='%2345f0c0' stroke-width='2'/></svg>"); color: var(--text); }
.window .config-field label { color: var(--mute); }
.window .config-summary { color: var(--dim); }
.arms-main select.config-select { font: 600 13px/1.3 var(--mono); }
.config-shell { position: relative; display: grid; }
.config-shell > select.config-select, .config-shell > .config-face { grid-area: 1 / 1; min-width: 0; }
.config-shell > select.config-select { height: 100%; color: transparent; -webkit-text-fill-color: transparent; }
.config-shell > select.config-select option { color: var(--ink); -webkit-text-fill-color: var(--ink); background: #fff; }
.config-face { display: flex; align-items: center; box-sizing: border-box; width: 100%; padding: 15px 52px 15px 18px; border: 1.5px solid transparent; border-radius: 12px; color: var(--ink); font: 600 13px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; white-space: normal; overflow-wrap: anywhere; pointer-events: none; }
.window .config-face { color: var(--text); }
.window .config-shell > select.config-select option { color: var(--text); -webkit-text-fill-color: var(--text); background: var(--panel-raised); }
.window .config-summary b { color: var(--text); }
.window .config-summary .ok { color: var(--accent); }
.window .config-summary .soon { color: var(--warm); }

.ballistics { position: relative; border-radius: var(--radius); background: var(--panel); color: var(--text); box-shadow: 0 35px 75px -45px rgba(11, 15, 18, .8); overflow: hidden; }
.chart-head { display:flex; justify-content:space-between; gap:20px; padding:13px 17px; border-bottom:1px solid var(--line); color:var(--mute); font:10.5px/1.3 var(--mono); letter-spacing:.16em; text-transform:uppercase; }
.chart-head b { color:var(--accent); font-weight:500; }
.chart-legend { display:flex; flex-wrap:wrap; gap:8px 18px; padding:12px 17px 3px; color:var(--dim); font:9.5px/1.35 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.chart-legend span { display:inline-flex; align-items:center; gap:7px; }
.chart-legend i { display:block; width:17px; height:0; border-top:2px solid; }
.chart-legend .arc { color:var(--accent); }
.chart-legend .arc i { border-color:var(--accent); }
.chart-legend .win308 i { border-color:var(--warm); }
.chart-legend .rem223 i { border-color:var(--dim); border-top-style:dashed; }
.window-bar { display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 10px 16px; border-bottom: 1px solid var(--line); color: var(--mute); font: 9px/1.3 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.window-dots { display: flex; gap: 5px; }
.window-dots i { width: 7px; height: 7px; display: block; background: var(--accent); }
.window-dots i:nth-child(2) { background: var(--warm); }
.window-dots i:nth-child(3) { background: rgba(255,255,255,.28); }
.window-title { flex: 1; }
.trajectory-shell { position:relative; padding:3px 13px 5px; }
.trajectory-canvas { display:block; width:100%; height:345px; cursor:crosshair; }
.chart-readout { display:flex; justify-content:space-between; gap:10px; overflow:hidden; padding:11px 17px; border-top:1px solid var(--line); color:var(--dim); font:10px/1.35 var(--mono); letter-spacing:.065em; text-transform:uppercase; white-space:nowrap; }
.chart-readout b { color:var(--accent); font-weight:500; }
.chart-readout .alt { color:var(--mute); }
.chart-fine { padding:8px 17px 10px; border-top:1px solid var(--line-soft); color:var(--mute); font:8.8px/1.5 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.telemetry { margin-top:18px; border-top:1px solid var(--line); }
.telemetry-head { display:flex; justify-content:space-between; gap:20px; padding:10px 17px; border-bottom:1px solid var(--line-soft); color:var(--mute); font:10px/1.3 var(--mono); letter-spacing:.16em; text-transform:uppercase; }
.metric-grid { display:block; }
.metric { display:flex; align-items:baseline; justify-content:space-between; gap:18px; min-height:0; padding:12px 17px; border-bottom:1px solid var(--line-soft); }
.metric:last-child { border-bottom:0; }
.metric strong { order:2; flex:0 0 auto; color:var(--accent); font:500 14px/1 var(--mono); letter-spacing:.05em; text-shadow:0 0 16px rgba(var(--accent-rgb),.24); }
.metric span { color:var(--dim); font:10.5px/1.45 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.telemetry-note { padding:8px 17px 10px; border-top:1px solid var(--line-soft); color:var(--mute); font:9px/1.5 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.methodology { border-top: 1px solid var(--line); }
.methodology summary { display: flex; justify-content: space-between; padding: 12px 17px; list-style: none; color: var(--dim); cursor: pointer; font: 9.5px/1.4 var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.methodology summary::-webkit-details-marker { display: none; }
.methodology summary::after { content: "+"; color: var(--accent); }
.methodology[open] summary::after { content: "−"; }
.methodology p { padding: 0 17px 16px; color: var(--mute); font-size: 12px; line-height: 1.6; }
.methodology a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }

.section { padding-top: 112px; }
.stage { position: relative; min-height: 390px; display: grid; place-items: center; padding: clamp(30px, 5vw, 72px); border-radius: var(--radius); background: var(--panel); color: var(--text); overflow: hidden; box-shadow: 0 35px 75px -50px rgba(11, 15, 18, .7); }
.stage::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, rgba(var(--accent-rgb), .08), transparent 48%), repeating-linear-gradient(0deg, transparent 0 49px, rgba(255,255,255,.04) 49px 50px), repeating-linear-gradient(90deg, transparent 0 49px, rgba(255,255,255,.04) 49px 50px); }
.stage .scan { position: absolute; left: 0; right: 0; top: -22%; height: 140px; background: linear-gradient(180deg, transparent, rgba(var(--accent-rgb), .07), transparent); animation: scan 6s linear infinite; }
@keyframes scan { to { top: 110%; } }
.stage img { position: relative; z-index: 1; width: min(760px, 100%); opacity: .62; filter: grayscale(1) hue-rotate(80deg); transition:opacity .18s ease, transform .35s cubic-bezier(.16,1,.3,1); }
.stage img.photo { opacity: 1; filter: none; }
.stage img.switching { opacity:.08; transform:scale(.985); }
.stage .readout { position: absolute; z-index: 2; color: var(--mute); font: 8.5px/1.5 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.stage .tl { top: 16px; left: 20px; }
.stage .tr { top: 16px; right: 20px; color: var(--accent); text-align: right; }
.stage .bl { bottom: 16px; left: 20px; }
.stage .br { bottom: 16px; right: 20px; text-align: right; }
.stage-placeholder { position: absolute; z-index: 3; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(-5deg); padding: 9px 14px; color: var(--warm); background: rgba(5,8,6,.88); border: 1px solid rgba(242,184,115,.4); font: 9px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; }
.stage-thumbs { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:18px; }
.stage-thumbs button { width:84px; min-height:64px; padding:0; overflow:hidden; border:1.5px solid rgba(11, 15, 18, .14); border-radius:12px; background:#fff; transition:border-color .25s ease, transform .25s ease; }
.stage-thumbs button img { width:100%; opacity:.55; transition:opacity .25s ease; }
.stage-thumbs button:hover, .stage-thumbs button.active { border-color:var(--orange); transform:translateY(-2px); }
.stage-thumbs button:hover img, .stage-thumbs button.active img { opacity:1; }

.section-head { display: flex; align-items: center; gap: 20px; margin-bottom: 42px; }
.section-head h2 { color: var(--ink); font-family: var(--display); font-size: clamp(30px, 4vw, 50px); font-weight: 600; letter-spacing: -.025em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.section-head .rule { flex: 1; height: 1px; background: rgba(11, 15, 18, .2); }
.window { border-radius: var(--radius); background: var(--panel); color: var(--text); overflow: hidden; box-shadow: 0 35px 75px -50px rgba(11, 15, 18, .7); }

.doctrine-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.doctrine-card { min-height: 350px; display: flex; flex-direction: column; border-radius: 24px; background: var(--paper); color: var(--ink); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.doctrine-card:hover { transform: translateY(-5px); box-shadow: 0 28px 60px -38px rgba(11,15,18,.55); }
.doctrine-card .window-bar { border-bottom: 1px solid var(--ink-line); color: var(--muted); }
.doctrine-card .window-dots i { background: var(--accent); }
.doctrine-card .window-dots i:nth-child(2) { background: var(--orange); }
.doctrine-card .window-dots i:nth-child(3) { background: rgba(11,15,18,.3); }
.doctrine-card .body { display: flex; flex: 1; flex-direction: column; padding: 27px 26px 25px; }
.doctrine-card .index { margin-bottom:0; color: var(--orange); font: 700 10px/1 var(--mono); letter-spacing: .18em; }
.doctrine-card h3 { margin:22px 0 14px; color: var(--ink); font-family: var(--display); font-size:26px; font-weight:600; line-height:1.02; text-transform:uppercase; }
.doctrine-card p { color: var(--muted); font-size: 14.5px; line-height: 1.65; }
.doctrine-card .status { margin-top: auto; padding-top: 20px; color: var(--ink); font: 700 8.5px/1.45 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.doctrine-card details { margin-top: 16px; border-top: 1px solid var(--ink-line); }
.doctrine-card summary { padding-top: 13px; color: var(--ink); cursor: pointer; font: 700 8.5px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; list-style: none; }
.doctrine-card summary::-webkit-details-marker { display: none; }
.doctrine-card summary::after { content: " +"; color: var(--orange); }
.doctrine-card details[open] summary::after { content: " −"; }
.doctrine-card details p { margin-top: 10px; color: var(--muted); font-size: 12px; }

.config-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.config-card { position: relative; display: flex; flex-direction: column; min-height: 420px; border-radius: 24px; padding: 28px 26px 26px; background: var(--panel); color: var(--text); overflow: hidden; box-shadow: 0 35px 75px -50px rgba(11, 15, 18, .7); transition: transform .3s ease; }
.config-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0 49px, rgba(255,255,255,.045) 49px 50px), repeating-linear-gradient(90deg, transparent 0 49px, rgba(255,255,255,.045) 49px 50px); }
.config-card > * { position: relative; z-index: 1; }
.config-card:hover { transform: translateY(-5px); }
.config-card.paper { background: var(--paper); color: var(--ink); }
.config-card.paper::before { display: none; }
.config-card .kicker { display: flex; justify-content: space-between; gap: 12px; color: var(--accent); font: 700 10px/1.4 var(--mono); letter-spacing: .18em; text-transform: uppercase; }
.config-card.paper .kicker { color: var(--orange); }
.config-card h3 { margin: 22px 0 6px; font-family: var(--display); font-size: clamp(26px, 2.4vw, 34px); font-weight: 600; line-height: 1; text-transform: uppercase; }
.config-card .cfg-price { font-family: var(--display); font-size: 30px; font-weight: 600; line-height: 1; }
.config-card .cfg-price small { display: block; margin-top: 6px; font: 700 9px/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--dim); }
.config-card.paper .cfg-price small { color: var(--muted); }
.config-card p { margin-top: 18px; color: var(--dim); font-size: 14.5px; line-height: 1.65; }
.config-card.paper p { color: var(--muted); }
.config-card ul { margin-top: 18px; display: grid; gap: 9px; }
.config-card li { position: relative; padding-left: 18px; color: var(--text); font-size: 13.5px; line-height: 1.5; }
.config-card.paper li { color: var(--ink-soft); }
.config-card li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.config-card.paper li::before { background: var(--orange); }
.config-card .cfg-foot { margin-top: auto; padding-top: 22px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.config-card .stock { display: inline-flex; align-items: center; gap: 8px; font: 700 9.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.config-card .stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.config-card .stock.soon { color: var(--warm); }
.config-card.paper .stock { color: #0c8a68; }
.config-card.paper .stock.soon { color: #b34400; }
.config-card .cfg-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; border-radius: 8px; border: 1px solid rgba(255,255,255,.22); color: var(--text); font: 700 9.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; background: transparent; transition: .2s ease; }
.config-card .cfg-btn:hover { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.config-card.paper .cfg-btn { border-color: var(--ink); color: var(--ink); }
.config-card.paper .cfg-btn:hover { background: var(--ink); color: var(--accent); }

.sheet { border-radius: 24px; background: var(--paper); color: var(--ink); overflow: hidden; }
.sheet-head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 22px 30px; border-bottom: 1px solid var(--ink-line); }
.sheet-head h3 { font-family: var(--display); font-size: clamp(22px, 2.2vw, 30px); font-weight: 600; text-transform: uppercase; line-height: 1; }
.sheet-head span { color: var(--muted); font: 700 9px/1.4 var(--mono); letter-spacing: .17em; text-transform: uppercase; }
.sheet-body { padding: 26px 30px 30px; }
.sheet-body p { color: var(--ink-soft); font-size: 16px; line-height: 1.75; }
.sheet-body p + p { margin-top: 16px; }
.sheet-body h4 { margin: 26px 0 10px; color: var(--ink); font-family: var(--display); font-size: 19px; font-weight: 600; text-transform: uppercase; }
.sheet-body .note { margin-top: 20px; padding: 14px 16px; border-left: 3px solid var(--orange); background: rgba(255, 97, 24, .06); color: var(--ink-soft); font-size: 14.5px; line-height: 1.6; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.interface-track { position: relative; padding-top: 34px; }
.interface-track::before { content: ""; position: absolute; top: 39px; left: 0; right: 0; height: 1px; background: rgba(11, 15, 18, .2); }
.interface-progress { position: absolute; top: 39px; left: 0; width: 0; height: 1px; background: var(--orange); transition: width 1.8s cubic-bezier(.16,1,.3,1); }
.interface-track.on .interface-progress { width: 100%; }
.interfaces { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.interface { position: relative; padding-top: 34px; }
.interface::before { content: ""; position: absolute; top: 0; left: 0; width: 9px; height: 9px; border: 2px solid var(--orange); border-radius: 50%; background: var(--bg); }
.interface .num { color: var(--orange); font: 700 10px/1 var(--mono); letter-spacing: .12em; }
.interface h3 { margin: 10px 0 8px; color: var(--ink); font-family: var(--display); font-size: 20px; font-weight: 600; text-transform: uppercase; }
.interface p { color: var(--muted); font-size: 13.5px; line-height: 1.6; }

.spec-console .body { display: grid; grid-template-columns: 225px 1fr; min-height: 390px; }
.spec-menu { display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.spec-menu button { position: relative; padding: 20px; background: none; border: 0; border-bottom: 1px solid var(--line-soft); color: var(--dim); text-align: left; font: 10.5px/1.3 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.spec-menu button:hover { color: #fff; background: rgba(255,255,255,.02); }
.spec-menu button.active { color: var(--accent); background: rgba(var(--accent-rgb), .05); }
.spec-menu button.active::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--accent); }
.spec-pane { padding: 24px clamp(20px, 4vw, 38px); }
.spec-row { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding: 15px 0; border-bottom: 1px solid var(--line-soft); }
.spec-row:last-child { border: 0; }
.spec-key { color: var(--mute); font: 9.5px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.spec-value { max-width: 65%; color: var(--text); text-align: right; font: 12.5px/1.5 var(--mono); }
.spec-value.cfg { color: var(--accent); }

.acquisition .body { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: center; padding: clamp(28px, 4.5vw, 55px); }
.price { color:var(--accent); font-family:var(--mono); font-size:clamp(44px,6vw,82px); font-weight:500; letter-spacing:-.055em; line-height:.9; text-shadow:0 0 25px rgba(var(--accent-rgb),.38); }
.price-note { margin-top: 13px; color: var(--mute); }
.acq-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; min-width: min(330px, 100%); }
.purchase-controls { display:flex; flex-wrap:wrap; align-items:stretch; justify-content:flex-end; gap:10px; }
.qty { display:grid; grid-template-columns:38px 46px 38px; min-height:56px; border:1px solid var(--line); border-radius: 9px; overflow: hidden; }
.qty button, .qty input { min-width:0; border:0; background:transparent; color:var(--text); text-align:center; font:11px/1 var(--mono); }
.qty button:hover { color:var(--accent); background:rgba(var(--accent-rgb),.05); }
.qty input { width:46px; border-inline:1px solid var(--line-soft); outline:0; -moz-appearance: textfield; }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.statusline { grid-column:1 / -1; padding-top:18px; border-top:1px dashed var(--line); color:var(--mute); font:9px/1.45 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.statusline b { color: var(--accent); font-weight: 500; }
.statusline .cursor { display:inline-block; width:7px; height:12px; margin-left:5px; vertical-align:-2px; background:var(--accent); animation:caret 1.05s steps(1) infinite; box-shadow:0 0 10px rgba(var(--accent-rgb),.28); }
.bc-mount { display: contents; }
.bc-mount[data-bc-active="true"] > .bc-fallback { display: none; }
.bc-mount .bc-embed { display: block; }
.support-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; border-radius: 24px; background: var(--paper); color: var(--ink); overflow: hidden; }
.support-cell { min-height: 225px; padding: 25px 23px; border-right: 1px solid var(--ink-line); }
.support-cell:last-child { border: 0; }
.support-cell i { color: var(--orange); font-size: 21px; }
.support-cell h3 { margin: 25px 0 9px; color: var(--ink); font-family: var(--display); font-size: 18px; font-weight: 600; text-transform: uppercase; }
.support-cell p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.support-cell .micro { display: block; margin-top: 14px; color: var(--ink); font: 700 8px/1.45 var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.compliance-note { margin-top: 18px; padding: 18px 20px; border: 1px solid rgba(11, 15, 18, .16); background: rgba(255, 255, 255, .5); color: rgba(11, 15, 18, .68); font-size: 12.5px; line-height: 1.65; border-radius: 6px; }
.compliance-note b { display: block; margin-bottom: 6px; color: var(--orange); font: 700 9px/1.4 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.arms-main p.compliance-note { margin-top: 18px; padding: 18px 20px; }

.data-instrument { min-height:520px; border-radius: var(--radius); background:linear-gradient(155deg,rgba(var(--accent-rgb),.065),transparent 42%),var(--panel); color: var(--text); overflow:hidden; }
.instrument-body { padding:18px; }
.instrument-label { display:flex;justify-content:space-between;gap:18px;color:var(--mute);font:8px/1.4 var(--mono);letter-spacing:.11em;text-transform:uppercase; }
@keyframes instrumentFill { from { transform:scaleX(0); } }
.instrument-metrics { margin-top:17px;border:1px solid var(--line-soft); }
.instrument-metric { display:flex;justify-content:space-between;gap:18px;padding:10px 13px;border-bottom:1px solid var(--line-soft);color:var(--dim);font:8px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase; }
.instrument-metric:last-child { border-bottom:0; }
.instrument-metric b { color:var(--accent);font-weight:600;text-align:right; }
.instrument-note { padding:8px 13px;border-top:1px solid var(--line);color:var(--mute);font:7.4px/1.45 var(--mono);letter-spacing:.1em;text-transform:uppercase; }

.sound-console { position:relative;margin-top:17px;padding:20px 12px 29px; }
.sound-scale { position:relative;height:90px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(var(--accent-rgb),.07) 0 75%,rgba(242,184,115,.08) 75% 80.35%,rgba(255,125,107,.08) 80.35% 100%); }
.sound-scale::before { content:"0";position:absolute;left:0;bottom:-20px;color:var(--mute);font:7px/1 var(--mono); }
.sound-scale::after { content:"1,400 FPS";position:absolute;right:0;bottom:-20px;color:var(--mute);font:7px/1 var(--mono); }
.sound-band { position:absolute;top:0;bottom:0;left:75%;width:5.35%;border-inline:1px solid rgba(242,184,115,.35);background:repeating-linear-gradient(45deg,rgba(242,184,115,.07) 0 4px,transparent 4px 8px); }
.sound-band span { position:absolute;top:5px;left:50%;color:var(--warm);font:6.7px/1.2 var(--mono);letter-spacing:.06em;text-align:center;text-transform:uppercase;transform:translateX(-50%); }
.sound-marker { position:absolute;left:72.14%;bottom:0;width:2px;height:70px;background:var(--accent);box-shadow:0 0 14px rgba(var(--accent-rgb),.55); }
.sound-marker::before { content:"";position:absolute;top:-2px;left:50%;width:9px;height:9px;border-radius:50%;background:var(--accent);transform:translateX(-50%); }
.sound-marker b { position:absolute;top:14px;right:8px;color:var(--accent);font:700 8px/1.25 var(--mono);letter-spacing:.08em;text-align:right;white-space:nowrap;transform:translateX(-2px); }
.sound-threshold { position:absolute;left:80.35%;bottom:-19px;color:var(--warm);font:7px/1 var(--mono);white-space:nowrap;transform:translateX(-50%); }
.energy-compare { display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid var(--line-soft); }
.energy-row { display:grid;grid-template-columns:150px 1fr 86px;gap:12px;align-items:center; }
.energy-row > span { color:var(--mute);font:7.5px/1.35 var(--mono);letter-spacing:.09em;text-transform:uppercase; }
.energy-row strong { color:var(--accent);font:700 9px/1 var(--mono);text-align:right; }
.energy-row.ref strong { color:var(--warm); }
.energy-track { height:8px;overflow:hidden;background:rgba(255,255,255,.055); }
.energy-track i { display:block;width:var(--fill);height:100%;background:linear-gradient(90deg,rgba(var(--accent-rgb),.3),var(--accent));transform-origin:left;animation:instrumentFill 1.25s .12s cubic-bezier(.16,1,.3,1) both; }
.energy-row.ref .energy-track i { background:linear-gradient(90deg,rgba(242,184,115,.22),var(--warm)); }

.catalog-instrument { min-height:0;border:0;background:none;overflow:visible;box-shadow:none; }
.instrument-chart,
.instrument-telemetry { border-radius: var(--radius); background:var(--panel); color: var(--text); overflow:hidden; box-shadow: 0 35px 75px -50px rgba(11, 15, 18, .7); }
.instrument-telemetry { margin-top:22px; }
.instrument-chart-head,
.instrument-telemetry-head { display:flex;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line);color:var(--mute);font:12px/1.35 var(--mono);letter-spacing:.18em;text-transform:uppercase; }
.instrument-chart-head b { color:var(--accent);font-weight:500; }
.velocity-bars { display:grid;gap:28px;padding:27px 20px 23px; }
.velocity-row { min-width:0; }
.velocity-label { display:block;margin-bottom:10px;color:var(--mute);font:12px/1.35 var(--mono);letter-spacing:.14em;text-transform:uppercase; }
.velocity-line { display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:center; }
.velocity-track { display:block;height:16px;overflow:hidden;background:rgba(255,255,255,.055); }
.velocity-track i { display:block;width:var(--fill);height:100%;background:var(--accent);box-shadow:0 0 17px rgba(var(--accent-rgb),.2);transform-origin:left;animation:instrumentFill 1.3s cubic-bezier(.2,.7,.3,1) both; }
.velocity-row.reference .velocity-track i { background:#8b9998;box-shadow:none;opacity:.78; }
.velocity-row.mid .velocity-track i { background:var(--warm);box-shadow:none;opacity:.76; }
.velocity-line output { display:grid;justify-items:start;color:var(--accent);font-family:var(--mono);line-height:1;white-space:nowrap; }
.velocity-line output strong { font-size:14px;font-weight:500;letter-spacing:.025em; }
.velocity-line output small { margin-top:7px;color:var(--mute);font-size:9px;letter-spacing:.08em; }
.velocity-row.reference output { color:var(--dim); }
.velocity-row.mid output { color:var(--warm); }
.instrument-readout { display:flex;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid var(--line);color:var(--dim);font:12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase; }
.instrument-readout b { color:var(--accent);font-weight:500;text-align:right;white-space:nowrap; }
.instrument-fine,
.instrument-telemetry-note { padding:10px 20px 12px;border-top:1px solid var(--line-soft);color:var(--mute);font:9.5px/1.55 var(--mono);letter-spacing:.11em;text-transform:uppercase; }
.catalog-instrument .instrument-metrics { margin:0;border:0; }
.catalog-instrument .instrument-metric { display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:14px 20px;border-bottom:1px solid var(--line-soft);color:var(--dim);font:12px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase; }
.catalog-instrument .instrument-metric:last-child { border-bottom:0; }
.catalog-instrument .instrument-metric b { color:var(--accent);font-size:14px;font-weight:500;line-height:1.4;text-align:right; }
html:not(.boot-seen) .arms-boot:not(.done):not([hidden]) ~ .main-page-wrapper .energy-track i,
html:not(.boot-seen) .arms-boot:not(.done):not([hidden]) ~ .main-page-wrapper .velocity-track i { animation-play-state:paused; }
.boot-seen .energy-track i,
.boot-seen .velocity-track i,
.arms-boot.done ~ .main-page-wrapper .energy-track i,
.arms-boot.done ~ .main-page-wrapper .velocity-track i { animation-play-state:running; }

.signature-console { padding:22px 20px 20px; }
.signature-console .instrument-label { color:var(--mute);font-size:10px;letter-spacing:.13em; }
.ammo-instrument .sound-console { margin-top:20px;padding:22px 12px 49px; }
.ammo-instrument .sound-scale { height:112px; }
.ammo-instrument .sound-scale::before,
.ammo-instrument .sound-scale::after { bottom:-23px;font-size:9px; }
.ammo-instrument .sound-scale::after { bottom:-40px; }
.ammo-instrument .sound-band span { top:8px;font-size:8px;line-height:1.3; }
.ammo-instrument .sound-marker { height:88px; }
.ammo-instrument .sound-marker b { top:17px;right:10px;font-size:10.5px;line-height:1.3; }
.ammo-instrument .sound-threshold { bottom:-22px;font-size:9px;transform:translateX(-95%); }
.ammo-instrument .energy-compare { gap:15px;margin-top:18px;padding:17px 16px; }
.ammo-instrument .energy-row { grid-template-columns:175px minmax(90px,1fr) 104px;gap:14px; }
.ammo-instrument .energy-row > span { font-size:9.5px;line-height:1.4; }
.ammo-instrument .energy-row strong { font-size:11.5px; }
.ammo-instrument .energy-track { height:12px; }

.barrel-page .acquisition .body,
.ammo-page .acquisition .body { grid-template-columns:minmax(250px,1fr) auto;gap:40px;padding:clamp(32px,4vw,52px); }
.barrel-page .purchase-controls,
.ammo-page .purchase-controls { flex-wrap:nowrap;justify-content:flex-end;gap:14px;min-width:0; }
.barrel-page .qty,
.ammo-page .qty { flex:0 0 auto;grid-template-columns:48px 52px 48px;min-height:62px; }
.barrel-page .qty input,
.ammo-page .qty input { width:52px; }
.barrel-page .qty button,
.barrel-page .qty input,
.ammo-page .qty button,
.ammo-page .qty input { font-size:14px; }
.barrel-page .acq-actions,
.ammo-page .acq-actions { flex:0 1 auto;flex-direction:row;gap:14px;min-width:0; }
.barrel-page .acq-actions .qd-btn,
.barrel-page .acq-actions .qd-btn-ghost,
.ammo-page .acq-actions .qd-btn,
.ammo-page .acq-actions .qd-btn-ghost { min-width:180px;min-height:62px;padding-inline:26px;white-space:nowrap; }

.media-section .stage { min-height:430px; }
.ammo-page .media-section .wrap { width:min(1000px,100%); }
.ammo-page .media-section .stage { min-height:300px;padding:28px; }
.ammo-page .media-section .stage img { width:min(470px,78%); }
.ammo-page .stage-thumbs button { width:72px;min-height:56px; }

.arms-legal { margin-top: 110px; padding-top: 22px; border-top: 1px solid rgba(11, 15, 18, .2); display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; color: var(--muted); font: 700 8.5px/1.5 var(--mono); letter-spacing: .13em; text-transform: uppercase; }

@media (max-width:1100px) {
	.barrel-page .acquisition .body,
	.ammo-page .acquisition .body { grid-template-columns:1fr; }
	.barrel-page .purchase-controls,
	.ammo-page .purchase-controls { justify-content:flex-start; }
}

@media (max-width: 1120px) {
	.hero-grid { grid-template-columns: 1fr; }
	.hero-grid > .section.is-mobile-moved { padding-top: 0; }
	.hero-grid > .section.is-mobile-moved > .wrap { width: 100%; padding-inline: 0; }
	.ballistics { width: min(660px, 100%); }
	.doctrine-grid, .config-grid { grid-template-columns: 1fr; }
	.doctrine-card, .config-card { min-height: 0; }
	.doctrine-card .index { margin: 0; }
	.doctrine-card h3 { margin-top: 32px; }
	.support-grid { grid-template-columns: 1fr 1fr; }
	.support-cell { border-bottom: 1px solid var(--ink-line); }
	.support-cell:nth-child(2) { border-right: 0; }
	.support-cell:nth-last-child(-n+2) { border-bottom: 0; }
	.two-col { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	.product-hero { padding-top: 150px; }
}

@media (max-width: 760px) {
	.product-hero h1 { font-size: clamp(52px, 20vw, 82px); }
	.hero-lede { font-size: 16px; }
	.chart-readout { flex-direction:column; white-space:normal; }
	.stage .readout.tl, .stage .readout.bl { max-width: 52%; white-space: normal; line-height: 1.45; }
	.stage .readout.tr, .stage .readout.br { max-width: 42%; white-space: normal; line-height: 1.45; text-align: right; }
	.metric { align-items:flex-start; }
	.section { padding-top: 88px; }
	.section-head { align-items: flex-start; }
	.section-head h2 { white-space: normal; }
	.section-head .rule { margin-top: 16px; }
	.interfaces { grid-template-columns: 1fr; gap: 30px; }
	.interface-track::before, .interface-progress { display: none; }
	.interface { padding: 0 0 0 25px; }
	.interface::before { top: 5px; }
	.spec-console .body { grid-template-columns: 1fr; }
	.spec-menu { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
	.spec-menu button { flex: 0 0 auto; border-bottom: 0; border-right: 1px solid var(--line-soft); white-space: nowrap; }
	.spec-menu button.active::before { inset: auto 0 0; width: auto; height: 2px; }
	.spec-row { align-items: flex-start; flex-direction: column; gap: 6px; }
	.spec-value { max-width: none; text-align: left; }
	.acquisition .body { grid-template-columns: 1fr; }
	.acq-actions { min-width: 0; }
	.purchase-controls { justify-content:flex-start; }
	.statusline { grid-column: auto; }
	.support-grid { grid-template-columns: 1fr; }
	.support-cell, .support-cell:nth-child(2), .support-cell:nth-last-child(-n+2) { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ink-line); }
	.support-cell:last-child { border-bottom: 0; }
	.sheet-head { flex-direction: column; gap: 6px; align-items: flex-start; padding: 20px 22px; }
	.sheet-body { padding: 22px; }
	.length-row { grid-template-columns:108px 1fr 84px;gap:9px; }
	.data-instrument { min-height:0; }
	.energy-row { grid-template-columns:1fr;gap:7px; }
	.energy-row strong { text-align:left; }
}

@media (max-width:680px) {
	.catalog-instrument .instrument-metric { align-items:flex-start;flex-direction:column;gap:5px; }
	.catalog-instrument .instrument-metric b { text-align:left; }
	.barrel-page .purchase-controls,
	.ammo-page .purchase-controls { align-items:stretch;flex-direction:column; }
	.barrel-page .qty,
	.ammo-page .qty { width:152px; }
	.barrel-page .acq-actions,
	.ammo-page .acq-actions { display:grid;grid-template-columns:1fr; }
	.barrel-page .acq-actions .qd-btn,
	.barrel-page .acq-actions .qd-btn-ghost,
	.ammo-page .acq-actions .qd-btn,
	.ammo-page .acq-actions .qd-btn-ghost { width:100%;min-width:0; }
	.ammo-instrument .energy-row { grid-template-columns:1fr;gap:7px; }
	.ammo-instrument .energy-row strong { text-align:left; }
}

@media (max-width:520px) {
	.instrument-chart-head,
	.instrument-telemetry-head,
	.instrument-readout { align-items:flex-start;flex-direction:column;gap:5px; }
	.instrument-readout b { text-align:left;white-space:normal; }
	.velocity-bars { gap:21px;padding-inline:13px; }
	.velocity-line { grid-template-columns:minmax(0,1fr) 100px;gap:9px; }
	.velocity-line output strong { font-size:10px; }
}

@media (max-width: 480px) {
	.hero-actions .qd-btn, .hero-actions .qd-btn-ghost { width: 100%; }
	.chip { font-size: 9px; }
	.trajectory-canvas { height: 230px; }
	.stage { min-height: 310px; }
	.stage-placeholder { white-space: normal; text-align: center; }
	.arms-legal { flex-direction: column; gap: 8px; }
}

@media (max-width: 360px) {
	.chart-head,
	.telemetry-head { align-items:flex-start;flex-direction:column;gap:5px; }
}

.trajectory-canvas:focus-visible,
.qty input:focus-visible,
.config-select:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }

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