/* Subject-specific workspaces: software on the left page, physical systems on the right. */
.builder-main { --builder-mono:ui-monospace,'Cascadia Code',Consolas,monospace; }
.builder-main * { box-sizing:border-box; }
.builder-main :is(h1,h2,h3,h4,p,figure,dl,dd) { margin:0; }
.builder-main :is(h1,h2,h3,h4) { font-family:var(--heading-font); line-height:1.12; letter-spacing:-.045em; }
.builder-main h2 { font-size:clamp(30px,3.4vw,48px); }
.builder-main h3 { font-size:clamp(23px,2.2vw,30px); }
.builder-main p { color:var(--muted); line-height:1.75; }
.builder-main [hidden] { display:none!important; }
.builder-hero { --text:#f0f7f4; --muted:#c4d9e1; --accent-text:#83dfef; --surface:#153746; --surface-raised:#244857; --line:#5a8192; position:relative; padding:90px var(--page-pad) 82px; color:var(--text); border-bottom:1px solid var(--line); background:radial-gradient(ellipse at 84% 32%,#208aa555,transparent 60%),radial-gradient(ellipse at 6% 5%,#65519a38,transparent 48%),linear-gradient(125deg,#101b32 0%,#123b54 54%,#12424b 100%); isolation:isolate; }
.builder-hero::before { content:''; position:absolute; inset:0; pointer-events:none; z-index:-1; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:68px 68px; opacity:.12; mask-image:linear-gradient(90deg,transparent,black); }
.builder-hero::after { content:''; position:absolute; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(ellipse at 56% 100%,#2ac5d415,transparent 60%); }
.builder-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:55px; align-items:center; max-width:1320px; margin:auto; }
.builder-hero-copy { position:relative; z-index:2; }
.builder-hero h1 { font-size:clamp(46px,5.7vw,84px); letter-spacing:-.065em; line-height:1.02; }
.builder-hero h1 span { color:var(--accent-text); }
.builder-hero-copy > p { font-size:clamp(16px,1.3vw,19px); margin-top:24px; max-width:48ch; }
.builder-actions { margin-top:30px; display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.builder-text-link { font-size:12px; font-weight:700; color:var(--text); text-decoration:none; padding:12px 0; min-height:44px; border-bottom:1px solid var(--line); }
.builder-text-link:hover { color:var(--accent-text); border-color:var(--accent-text); }
.hero-footnote { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:40px; }
.hero-footnote > span { font:9px/1.5 var(--builder-mono); letter-spacing:.07em; color:var(--muted); }
.hero-footnote .ambient-toggle { margin:0; padding:7px 10px; font:10px/1.4 var(--builder-mono); min-height:35px; }
.development-workspace { position:relative; padding-top:90px; padding-bottom:20px; min-width:0; }
.workspace-file { position:absolute; top:0; right:15px; width:87%; min-height:200px; padding:16px 22px; background:var(--surface-raised); border:1px solid var(--line); transform:rotate(3deg); box-shadow:10px 12px 0 color-mix(in srgb,var(--text) 8%,transparent); }
.workspace-file > span { font:10px/1.5 var(--builder-mono); color:var(--muted); }
.workspace-file > span:nth-child(2) { float:right; font-size:8px; }
.workspace-file code { display:block; margin-top:17px; font:12px/1.8 var(--builder-mono); }
.code-line { display:block; white-space:pre; color:var(--text); }
.code-line i { display:inline-block; min-width:25px; font-style:normal; opacity:.35; }
.code-line b { color:var(--accent-text); font-weight:400; }
.code-line em { color:var(--muted); font-style:normal; }
.live-terminal { position:relative; overflow:hidden; background:#09202d; color:#e3f0f1; border:1px solid #526f7e; border-radius:7px; box-shadow:0 25px 55px #00182330,8px 8px 0 color-mix(in srgb,var(--accent) 12%,transparent); }
.terminal-titlebar { display:flex; align-items:center; gap:13px; padding:15px 18px; background:#1a3442; border-bottom:1px solid #395866; font:10px/1.3 var(--builder-mono); color:#c2d5dd; }
.terminal-lights { display:flex; gap:5px; flex-shrink:0; }
.terminal-lights i { width:7px; height:7px; border-radius:50%; background:#ed9b53; }
.terminal-lights i:nth-child(2) { background:#7e9fa5; }
.terminal-lights i:nth-child(3) { background:#58c6d5; }
.terminal-local { margin-left:auto; font-size:8px; opacity:.65; }
.terminal-screen { padding:25px 22px 24px; min-height:245px; background:radial-gradient(ellipse at 15% 10%,#1b486149,transparent 65%),#081d29; font:12px/1.9 var(--builder-mono); }
.terminal-output { min-height:160px; overflow-wrap:anywhere; }
.terminal-line { display:block; margin-bottom:6px; }
.terminal-command { color:#5ad9f2; }
.terminal-success { color:#99debd; }
.terminal-comment { color:#83a3b4; }
.terminal-prompt { margin-top:15px; color:#b9d0db; }
.terminal-prompt b { color:#ef9b53; font-weight:400; }
.terminal-cursor { display:inline-block; width:7px; height:14px; margin-left:5px; background:#6de0ed; vertical-align:middle; animation:terminal-blink 1.2s steps(2,end) infinite; animation-play-state:paused; }
.terminal-commands { display:flex; flex-wrap:wrap; gap:7px; padding:14px 18px 0; }
.terminal-commands button { background:#193645; border:1px solid #3e6475; color:#bfdae2; border-radius:3px; padding:8px 10px; min-height:40px; font:10px/1.3 var(--builder-mono); cursor:pointer; transition:background .2s,border-color .2s; }
.terminal-commands button:hover,.terminal-commands button[aria-pressed=true] { color:#d6fcff; border-color:#4cb3c7; background:#204c5d; }
.builder-main :is(.live-terminal,.engineering-bench) :focus-visible { outline:3px solid #69d8ef; outline-offset:3px; }
.builder-main .terminal-disclaimer { padding:12px 18px 16px; font:9px/1.6 var(--builder-mono); color:#9cb8c7; }
.workspace-tab { position:relative; display:flex; align-items:center; gap:10px; padding:14px 8px 0; font:9px/1.5 var(--builder-mono); color:var(--muted); }
.workspace-tab > span:last-child { margin-left:auto; }
.workspace-indicator { width:6px; height:6px; border-radius:50%; background:var(--accent-text); animation:board-pulse 3s ease-in-out infinite; animation-play-state:paused; }
.builder-section { max-width:1440px; margin:auto; padding:78px var(--page-pad); }
.builder-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:35px; }
.builder-section-heading p { max-width:66ch; margin-top:17px; font-size:15px; }
.index-count { display:flex; flex-direction:column; flex-shrink:0; color:var(--muted); font:10px/1.5 var(--builder-mono); }
.index-count b { color:var(--accent-text); font:600 58px/1 var(--heading-font); letter-spacing:-.05em; }
.builder-filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:18px; padding:23px; background:var(--surface-raised); border:1px solid var(--line); border-left:3px solid var(--accent); }
.builder-filters > div:first-child { flex:1 1 320px; }
.builder-filters > div:nth-child(2) { flex:0 1 230px; }
.builder-filters label { display:block; margin-bottom:8px; font:10px/1.4 var(--builder-mono); color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.builder-filters :is(input,select) { width:100%; min-height:48px; padding:11px 13px; font:14px/1.5 var(--body-font); border:1px solid var(--line); border-radius:3px; background:var(--surface); color:var(--text); }
.builder-filters input::placeholder { color:var(--muted); opacity:1; }
.builder-filter-result { margin:17px 0 25px!important; font:10px/1.6 var(--builder-mono); }
.builder-empty { padding:45px 20px; border:1px dashed var(--line); }
.builder-empty p { margin-top:15px; }
.builder-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.build-project { position:relative; display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line); box-shadow:5px 6px 0 color-mix(in srgb,var(--line) 30%,transparent); transition:transform .25s,box-shadow .25s; min-width:0; }
.build-project:hover { transform:translateY(-4px); box-shadow:7px 10px 0 color-mix(in srgb,var(--line) 30%,transparent); }
.build-project-body { padding:27px 28px 30px; flex:1; display:flex; flex-direction:column; }
.project-title-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.project-number { color:var(--muted); font:10px var(--builder-mono); }
.project-status { display:inline-block; padding:5px 9px; border:1px solid var(--line); font:9px/1.4 var(--builder-mono); text-transform:uppercase; letter-spacing:.07em; background:var(--surface-raised); color:var(--accent-text); }
.build-project-body > p { margin-top:14px; font-size:14px; }
.project-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:22px 0; margin-top:auto!important; }
.project-specs div { padding-top:9px; border-top:1px solid var(--line); min-width:0; }
.project-specs dt { font:9px/1.5 var(--builder-mono); text-transform:uppercase; color:var(--muted); }
.project-specs dd { margin-top:5px!important; font-size:12px; font-weight:600; }
.project-cta { align-self:flex-start; margin-top:5px; min-width:160px; }
.project-preview { position:relative; overflow:hidden; height:250px; padding:19px; border-bottom:1px solid var(--line); background:var(--surface-raised); }
.instrument-label { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); font:8px/1.4 var(--builder-mono); letter-spacing:.04em; }
.instrument-label > span:last-child { text-align:right; }
.study-stack { position:relative; max-width:320px; margin:20px auto 0; padding:0 5px; }
.study-back { position:absolute; inset:-4px 4px 8px; background:var(--accent); border:1px solid var(--accent-text); transform:rotate(-4deg); opacity:.5; }
.study-front { position:relative; background:var(--surface); padding:20px 25px; border:1px solid var(--line); box-shadow:0 8px 15px #102a3615; }
.study-front > span { font:8px var(--builder-mono); color:var(--accent-text); }
.study-front strong { display:block; margin:10px 0; font:600 24px/1.1 var(--heading-font); letter-spacing:-.04em; }
.study-front small { font-size:9px; color:var(--muted); }
.study-progress { height:3px; background:var(--surface-raised); margin-bottom:12px; overflow:hidden; }
.study-progress i { display:block; height:100%; width:40%; background:var(--accent); animation:study-progress 6s ease-in-out infinite; animation-play-state:paused; }
.preview-note { display:block; position:relative; text-align:right; font:8px var(--builder-mono); color:var(--muted); padding-top:8px; }
.browser-mini { margin:25px auto 0; max-width:380px; background:#0b2434; border:1px solid #557281; box-shadow:8px 8px 0 #183e5425; transform:rotate(-2deg); }
.browser-mini-top { display:flex; align-items:center; gap:5px; padding:10px; border-bottom:1px solid #46616e; color:#acc8d8; font:8px var(--builder-mono); }
.browser-mini-top i { width:5px; height:5px; background:#90b2c2; border-radius:50%; }
.browser-mini-top span { margin-left:10px; }
.browser-mini img { display:block; max-width:70%; max-height:55px; object-fit:contain; margin:25px auto; }
.site-mini-links { display:flex; gap:20px; justify-content:center; padding:0 10px 15px; color:#abd5e5; font-size:8px; }
.client-preview-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:13px; margin-top:24px; }
.client-preview-grid img { width:100%; height:90px; object-fit:contain; background:#0b2434; border:1px solid #355d71; }
.client-preview-grid img:last-child { width:42%; height:75px; grid-column:1/-1; justify-self:center; object-fit:contain; background:transparent; border:0; }
.dashboard-sketch { display:flex; max-width:400px; margin:28px auto 0; height:160px; background:var(--surface); border:1px solid var(--line); box-shadow:8px 8px 0 #102a3615; transform:rotate(2deg); }
.sketch-rail { width:35px; display:flex; flex-direction:column; gap:12px; padding:16px 10px; background:var(--text); }
.sketch-rail i { width:10px; height:10px; border:1px solid var(--bg); opacity:.7; }
.sketch-work { flex:1; min-width:0; padding:15px; }
.sketch-work > strong { font-size:10px; }
.sketch-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:16px; }
.sketch-columns > span { font:8px var(--builder-mono); color:var(--muted); }
.sketch-columns i { display:block; height:23px; background:var(--surface-raised); border-left:2px solid var(--accent-text); margin-top:7px; }
.preview-games { background:#061324; padding:0; }
.preview-games .instrument-label { position:absolute; inset:0 0 auto; z-index:1; padding:14px 19px; background:#061324e6; color:#c3dbea; }
.preview-games img { display:block; width:100%; height:100%; object-fit:cover; }
.schema-sketch { display:flex; flex-direction:column; align-items:center; max-width:350px; margin:19px auto 0; }
.schema-sketch > span { padding:8px 15px; border:1px solid var(--line); background:var(--surface); font:9px var(--builder-mono); }
.schema-sketch > div { display:flex; flex-direction:column; padding:14px 20px; border:1px solid var(--accent-text); width:85%; background:var(--surface); }
.schema-sketch b { font:12px var(--builder-mono); color:var(--accent-text); }
.schema-sketch small { font:9px var(--builder-mono); color:var(--muted); margin-top:8px; }
.schema-wire { display:block; height:17px; width:2px; background:var(--accent-text); }
.preview-security svg { height:210px; width:100%; color:var(--muted); }
.security-orbit { animation:schematic-flow 4s linear infinite; animation-play-state:paused; }
.builder-band { padding:75px var(--page-pad); border-block:1px solid var(--line); background:var(--surface-raised); }
.builder-band-inner { max-width:1268px; margin:auto; }
.builder-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:40px 0 0; gap:30px; }
.builder-process li { border-top:2px solid var(--line); padding-top:19px; }
.builder-process li > span { color:var(--accent-text); font:10px var(--builder-mono); }
.builder-process h3 { margin:13px 0!important; font-size:25px; }
.builder-process p { font-size:13px; }
.workflow-signal { display:flex; gap:6px; }
.workflow-signal span { width:12px; height:12px; border:1px solid var(--accent-text); background:var(--accent); animation:workflow-step 5s ease-in-out infinite; animation-play-state:paused; }
.workflow-signal span:nth-child(2) { animation-delay:1.25s; }.workflow-signal span:nth-child(3) { animation-delay:2.5s; }.workflow-signal span:nth-child(4) { animation-delay:3.75s; }
.focus-section { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:center; }
.focus-section p { max-width:52ch; margin:24px 0!important; }
.focus-stack { display:flex; flex-wrap:wrap; gap:12px; padding:25px 0; }
.focus-stack span { padding:12px 17px; color:var(--text); background:var(--surface); border:1px solid var(--line); font:12px var(--builder-mono); box-shadow:3px 3px 0 var(--surface-raised); }
.engineering-hero { padding-top:65px; padding-bottom:65px; background:radial-gradient(ellipse at 7% 38%,#b6754547,transparent 53%),radial-gradient(ellipse at 91% 25%,#2473913d,transparent 55%),linear-gradient(120deg,#332b27 0%,#153744 52%,#154756 100%); }
.engineering-hero::after { background:radial-gradient(ellipse at 60% 100%,#dc98451a,transparent 56%); }
.engineering-hero h1 span { color:#f3bc84; }
.engineering-bench { position:relative; overflow:hidden; background:#102b3a; color:#cce0e8; border:1px solid #587887; box-shadow:12px 14px 0 color-mix(in srgb,var(--warm) 22%,transparent),0 18px 45px #102a3620; border-radius:3px; }
.bench-top { position:relative; padding:17px 19px; border-bottom:1px solid #355665; }
.bench-top .instrument-label { color:#a6c1cf; font-size:9px; }
.bench-register { position:absolute; bottom:-4px; left:20px; width:22px; height:7px; background:#ef9b53; }
.drone-drawing { width:100%; height:auto; max-height:430px; display:block; padding:8px 9px 0; }
.drone-drawing :is(.drone-mechanical,.drone-board,.drone-electrical,.drone-guides,.drone-rotors) { transition:opacity .4s; }
.rotor-ring { stroke-dasharray:3 5; opacity:.65; }
.rotor-blades { transform-origin:0 0; animation:rotor-turn 7s linear infinite; animation-play-state:paused; }
.drone-board { animation:board-float 6s ease-in-out infinite; animation-play-state:paused; }
.drone-electrical { animation:schematic-flow 3s linear infinite; animation-play-state:paused; }
.board-pulse { animation:board-pulse 3s ease-in-out infinite; animation-play-state:paused; }
[data-workbench-view=electrical] :is(.drone-mechanical,.drone-rotors,.drone-dimensions) { opacity:.25; }
[data-workbench-view=electrical] .drone-electrical { stroke-width:3; }
[data-workbench-view=mechanical] :is(.drone-board,.drone-electrical,.board-pulse) { opacity:.13; }
[data-workbench-view=mechanical] .drone-guides { opacity:1; stroke:#b8d2d9; }
.bench-controls { display:flex; gap:7px; padding:7px 19px 15px; border-bottom:1px solid #355665; }
.bench-controls button { flex:1; min-height:42px; padding:8px 6px; border:1px solid #496d7c; color:#bfd8e4; background:#193847; border-radius:2px; cursor:pointer; font:10px/1.4 var(--builder-mono); }
.bench-controls button:hover,.bench-controls button[aria-pressed=true] { border-color:#ef9b53; background:#254856; color:#fff; }
.engineering-bench figcaption { display:flex; flex-direction:column; gap:5px; padding:13px 19px 17px; color:#9ebdcd; font:9px/1.6 var(--builder-mono); }
.engineering-bench figcaption strong { font-weight:400; color:#d1e6ee; }
.builder-subnav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; max-width:1440px; padding:26px var(--page-pad); margin:auto; border-bottom:1px solid var(--line); }
.builder-subnav a { display:flex; gap:12px; align-items:center; font-size:12px; font-weight:600; text-decoration:none; color:var(--text); min-height:44px; }
.builder-subnav a span { font:9px var(--builder-mono); color:var(--accent-text); }
.builder-subnav a:hover { color:var(--accent-text); }
.engineering-feature { padding-bottom:85px; }
.feature-status { color:var(--muted); }
.drone-project { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr); gap:40px; padding:42px; background:var(--surface); border:1px solid var(--line); border-top:4px solid var(--warm); box-shadow:8px 8px 0 var(--surface-raised); }
.project-kicker { font:10px/1.6 var(--builder-mono); color:var(--accent-text); }
.drone-project-story h3 { font-size:clamp(28px,3vw,42px); margin-top:22px!important; max-width:16ch; }
.drone-project-story p { margin:24px 0!important; font-size:15px; max-width:60ch; }
.project-lead { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; border-left:1px solid var(--line); padding-left:35px; }
.project-lead .section-label { font-size:9px; margin-bottom:18px; }
.project-lead img { width:112px; height:138px; object-fit:cover; object-position:center 20%; border:1px solid var(--line); filter:saturate(.82); box-shadow:5px 5px 0 var(--surface-raised); }
.project-lead h4 { font-size:21px; margin-top:22px!important; }
.project-lead p { font-size:11px; margin-top:8px!important; }
.project-lead a { display:block; padding:12px 0; margin-top:9px; min-height:44px; font-size:11px; font-weight:700; color:var(--accent-text); }
.project-build-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin-top:35px; }
.project-build-notes > div { border-left:2px solid var(--warm); padding:2px 18px; }
.project-build-notes span { font:9px/1.5 var(--builder-mono); color:var(--text); }
.project-build-notes p { margin-top:9px!important; font-size:12px; }
.discipline-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.discipline-plate { display:grid; grid-template-columns:140px minmax(0,1fr); gap:25px; padding:28px 28px 32px; border:1px solid var(--line); background:var(--surface); box-shadow:4px 4px 0 color-mix(in srgb,var(--line) 25%,transparent); }
.discipline-visual { color:var(--accent-text); align-self:start; }
.discipline-visual svg { width:100%; display:block; background:linear-gradient(90deg,color-mix(in srgb,var(--line) 15%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--line) 15%,transparent) 1px,transparent 1px); background-size:18px 18px; }
.discipline-visual > span { display:block; padding-top:12px; font:8px/1.6 var(--builder-mono); color:var(--muted); }
.discipline-copy h3 { font-size:23px; }
.discipline-copy p { margin-top:14px!important; font-size:12px; }
.discipline-copy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 14px; padding:18px 0 0; margin:0; list-style:none; }
.discipline-copy li { font:9px/1.5 var(--builder-mono); color:var(--muted); border-top:1px solid var(--line); padding-top:7px; }
.schematic-flow { animation:schematic-flow 4s linear infinite; animation-play-state:paused; }
.hardware-layer { animation:hardware-lift 6s ease-in-out infinite; animation-play-state:paused; }
.discipline-gear { transform-origin:65px 55px; animation:rotor-turn 22s linear infinite; animation-play-state:paused; }
.test-sweep { animation:test-sweep 5s ease-in-out infinite; animation-play-state:paused; }
.diagram-legend { margin-top:25px!important; font:9px/1.5 var(--builder-mono); }
.engineering-process { display:grid; grid-template-columns:1fr 1.25fr; gap:80px; align-items:center; }
.process-intro p { max-width:48ch; font-size:14px; margin-top:24px!important; }
.process-loop { width:200px; color:var(--line); margin-top:27px; position:relative; }
.process-loop svg { display:block; width:100%; }
.process-loop span { position:absolute; inset:50% 0 auto; transform:translateY(-50%); font:9px var(--builder-mono); color:var(--muted); text-align:center; }
.process-flow { animation:process-flow 8s linear infinite; animation-play-state:paused; }
.engineering-steps { list-style:none; margin:0; padding:0; counter-reset:process; }
.engineering-steps li { position:relative; display:flex; gap:27px; padding:24px 0; border-bottom:1px solid var(--line); }
.engineering-steps li:first-child { border-top:1px solid var(--line); }
.engineering-steps li > span { font:11px/1.5 var(--builder-mono); padding-top:5px; color:var(--accent-text); }
.engineering-steps h3 { font-size:26px; }
.engineering-steps p { font-size:13px; margin-top:8px!important; max-width:53ch; }
.engineering-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.engineering-resource-grid article { display:flex; flex-direction:column; padding-top:22px; border-top:2px solid var(--line); }
.engineering-resource-grid article > span { font:9px var(--builder-mono); color:var(--accent-text); }
.engineering-resource-grid h3 { font-size:25px; margin-top:20px!important; }
.engineering-resource-grid p { margin:17px 0 25px!important; font-size:13px; }
.engineering-resource-grid a { margin-top:auto; align-self:flex-start; }
.builder-final-cta { display:flex; align-items:center; justify-content:space-between; gap:55px; }
.builder-final-cta p { max-width:65ch; margin-top:20px!important; font-size:14px; }
.builder-final-cta > .btn { flex-shrink:0; }
/* All continuous subject motion shares the site's manual, visibility, and reduced-motion gate. */
html[data-circuit-motion=running] [data-site-motion][data-motion-active=true] :is(.terminal-cursor,.workspace-indicator,.study-progress i,.security-orbit,.workflow-signal span,.rotor-blades,.drone-board,.drone-electrical,.board-pulse,.schematic-flow,.hardware-layer,.discipline-gear,.test-sweep,.process-flow) { animation-play-state:running; }
@keyframes terminal-blink { 50% { opacity:0; } }
@keyframes board-pulse { 50% { opacity:.3; } }
@keyframes board-float { 50% { transform:translateY(-8px); } }
@keyframes rotor-turn { to { transform:rotate(360deg); } }
@keyframes schematic-flow { to { stroke-dashoffset:-44; } }
@keyframes process-flow { to { stroke-dashoffset:-434; } }
@keyframes hardware-lift { 50% { transform:translateY(-5px); } }
@keyframes test-sweep { 50% { transform:translateX(64px); } }
@keyframes study-progress { 50% { width:85%; } }
@keyframes workflow-step { 30%,70% { opacity:.3; transform:translateY(3px); } }
@media (max-width:1180px) {
  .builder-hero-inner { gap:35px; }
  .terminal-local { display:none; }
  .discipline-plate { grid-template-columns:105px minmax(0,1fr); gap:20px; padding:25px; }
  .discipline-copy ul { grid-template-columns:1fr; }
}
@media (max-width:1050px) {
  .builder-hero { padding-top:65px; padding-bottom:60px; }
  .builder-hero-inner { grid-template-columns:1fr; gap:45px; }
  .builder-hero h1 { font-size:clamp(49px,8vw,76px); }
  .builder-hero-copy > p { max-width:60ch; }
  .development-workspace { width:100%; max-width:670px; justify-self:center; }
  .engineering-bench { width:100%; max-width:630px; justify-self:center; }
  .drone-drawing { max-height:430px; }
  .engineering-process { gap:50px; }
  .drone-project { padding:32px; gap:30px; }
  .project-lead { padding-left:28px; }
  .engineering-resource-grid { gap:20px; }
  .engineering-resource-grid .btn { font-size:11px; padding-inline:14px; }
}
@media (max-width:800px) {
  .builder-section,.builder-band { padding-top:58px; padding-bottom:58px; }
  .builder-project-grid { gap:22px; }
  .build-project-body { padding:23px; }
  .project-preview { height:235px; padding:15px; }
  .preview-games { padding:0; }
  .instrument-label { font-size:7px; }
  .study-front { padding:20px 16px; }
  .study-front strong { font-size:22px; }
  .builder-process { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
  .focus-section { grid-template-columns:1fr; gap:15px; }
  .builder-subnav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 25px; }
  .discipline-grid { grid-template-columns:1fr; }
  .discipline-plate { grid-template-columns:140px minmax(0,1fr); gap:30px; }
  .discipline-copy ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .drone-project { grid-template-columns:1fr; }
  .project-lead { display:grid; grid-template-columns:88px minmax(0,1fr); grid-template-rows:auto auto auto; column-gap:22px; border-left:0; border-top:1px solid var(--line); padding:25px 0 0; }
  .project-lead .section-label { grid-column:1/-1; }
  .project-lead img { width:88px; height:112px; grid-row:2/5; }
  .project-lead h4 { margin-top:0!important; align-self:end; }
  .project-lead p { margin-top:4px!important; }
  .project-lead a { margin-top:0; padding:8px 0; }
  .engineering-process { grid-template-columns:1fr; gap:30px; }
  .process-intro { position:relative; }
  .process-intro p { max-width:65ch; }
  .process-loop { display:none; }
  .engineering-resource-grid { grid-template-columns:1fr; gap:28px; }
  .engineering-resource-grid article { display:grid; grid-template-columns:1fr auto; gap:13px 25px; }
  .engineering-resource-grid article > span { grid-column:1/-1; }
  .engineering-resource-grid h3 { margin-top:0!important; }
  .engineering-resource-grid p { grid-column:1; margin:0!important; }
  .engineering-resource-grid a { grid-column:2; grid-row:2/4; align-self:center; }
  .builder-final-cta { flex-direction:column; align-items:flex-start; gap:28px; }
}
@media (max-width:600px) {
  .builder-hero { padding-top:43px; padding-bottom:45px; }
  .builder-hero-inner { gap:35px; }
  .builder-hero h1 { font-size:clamp(41px,11.5vw,63px); }
  .builder-hero-copy > p { font-size:15px; margin-top:21px; }
  .builder-main .section-label { font-size:9px; }
  .builder-actions { gap:12px 18px; margin-top:24px; }
  .builder-actions > .btn { font-size:12px; padding-inline:17px; }
  .hero-footnote { gap:10px; margin-top:25px; }
  .hero-footnote > span { font-size:8px; }
  .hero-footnote .ambient-toggle { font-size:9px; }
  .development-workspace { padding-top:60px; }
  .workspace-file { width:93%; right:3px; padding:14px 14px; }
  .workspace-file > span:nth-child(2) { font-size:7px; }
  .workspace-file code { font-size:9px; }
  .terminal-titlebar { padding:12px; gap:9px; font-size:8px; }
  .terminal-lights i { width:6px; height:6px; }
  .terminal-screen { padding:19px 14px; font-size:10px; min-height:225px; }
  .terminal-output { min-height:154px; }
  .terminal-commands { padding:12px 12px 0; gap:6px; }
  .terminal-commands button { font-size:9px; padding:8px; }
  .builder-main .terminal-disclaimer { padding:11px 12px 14px; font-size:8px; }
  .workspace-tab { gap:8px; font-size:8px; }
  .workspace-tab > span:last-child { max-width:100px; text-align:right; }
  .builder-section-heading { gap:17px; align-items:flex-start; }
  .builder-section-heading p { font-size:13px; }
  .index-count { font-size:8px; text-align:right; }
  .index-count b { font-size:42px; }
  .builder-filters { padding:16px; gap:14px; }
  .builder-filters > div { flex:1 1 100%!important; min-width:0; }
  .builder-filters :is(input,select) { font-size:16px; }
  .builder-filters .btn { font-size:12px; width:100%; }
  .builder-project-grid { grid-template-columns:1fr; }
  .project-preview { height:242px; }
  .instrument-label { font-size:7px; }
  .build-project-body { padding:23px 20px; }
  .build-project-body h3 { font-size:26px; }
  .build-project-body > p { font-size:13px; }
  .project-specs { gap:14px; }
  .project-specs dd { font-size:11px; }
  .builder-process { gap:25px 20px; }
  .builder-process p { font-size:12px; }
  .workflow-signal { display:none; }
  .focus-stack { gap:8px; }
  .focus-stack span { font-size:10px; padding:10px 12px; }
  .engineering-bench { box-shadow:6px 7px 0 color-mix(in srgb,var(--warm) 22%,transparent); }
  .bench-top { padding:14px; }
  .bench-top .instrument-label { font-size:8px; }
  .drone-drawing { padding:7px 0 0; }
  .bench-controls { padding:10px 12px 12px; gap:6px; }
  .bench-controls button { font-size:9px; }
  .engineering-bench figcaption { padding:12px; font-size:8px; }
  .builder-subnav { padding-block:19px; gap:0 13px; }
  .builder-subnav a { font-size:10px; gap:9px; }
  .feature-status { display:none; }
  .drone-project { padding:24px 20px; }
  .project-kicker { font-size:8px; }
  .drone-project-story h3 { font-size:29px; margin-top:18px!important; }
  .drone-project-story p { font-size:13px; }
  .project-lead { column-gap:17px; }
  .project-lead h4 { font-size:19px; }
  .project-build-notes { grid-template-columns:1fr; gap:19px; }
  .discipline-plate { grid-template-columns:1fr; padding:24px; gap:20px; }
  .discipline-visual { display:flex; align-items:center; gap:25px; }
  .discipline-visual svg { width:98px; }
  .discipline-visual > span { padding-top:0; }
  .discipline-copy h3 { font-size:25px; }
  .discipline-copy ul { gap:10px; }
  .engineering-resource-grid article { display:flex; gap:0; }
  .engineering-resource-grid h3 { margin:17px 0!important; }
  .engineering-resource-grid p { margin:0 0 22px!important; }
  .engineering-resource-grid a { align-self:flex-start; font-size:12px; padding-inline:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .builder-main *, .builder-main *::before, .builder-main *::after { animation:none!important; transition:none!important; }
}
