:root{color-scheme:light;--paper: #f7f8f4;--surface: #ffffff;--surface-strong: #eef3ef;--ink: #17211f;--ink-soft: #273431;--muted: #64716d;--line: #d9dfd7;--line-strong: #aeb9b1;--accent: #087a67;--accent-dark: #055345;--accent-warm: #c6532d;--accent-blue: #255f99;--accent-yellow: #e4b74f;--shadow: 0 18px 48px rgba(26, 42, 37, .11);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(90deg,rgba(23,33,31,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.035) 1px,transparent 1px),var(--paper);background-size:44px 44px;color:var(--ink)}body.lightbox-open,body.system-focus-open{overflow:hidden}body,button,input,textarea{letter-spacing:0}a{color:inherit;text-decoration:none}p{color:var(--muted);line-height:1.7}img,svg{max-width:100%}::selection{background:#087a672e}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.85rem max(1.25rem,calc((100vw - 1180px)/2));background:#f7f8f4e6;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.75rem;min-width:0}.brand-mark{display:grid;flex:0 0 auto;place-items:center;width:2.65rem;height:2.65rem;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:#fff;font-size:.8rem;font-weight:850}.brand-copy{display:grid;gap:.05rem}.brand-copy strong{font-size:.95rem}.brand-copy small{color:var(--muted);font-size:.78rem}nav{display:flex;align-items:center;gap:.4rem}nav a{min-height:2.35rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .8rem;border-radius:8px;color:var(--ink-soft);font-size:.92rem;font-weight:700}nav a:hover{background:var(--surface-strong);color:var(--ink)}.nav-button{border:1px solid var(--line-strong);background:var(--surface)}.section-pad{width:min(100% - 2.5rem,1180px);margin:0 auto;padding:5rem 0}.hero{min-height:760px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(22rem,1.08fr);gap:4rem;align-items:center;padding-top:4.5rem}.eyebrow{margin:0 0 .9rem;color:var(--accent);font-size:.82rem;font-weight:850;text-transform:uppercase}h1,h2,h3{margin:0;color:var(--ink);line-height:1.05;text-wrap:balance}h1{font-size:5rem;font-weight:850}h2{font-size:3.15rem;font-weight:820}h3{font-size:1.2rem}.hero-text{max-width:42rem;margin:1.35rem 0 0;color:var(--ink-soft);font-size:1.18rem}.hero-actions,.contact-links{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;max-width:100%;padding:0 1.1rem;border-radius:8px;font-weight:780;text-align:center}.primary-button{border:1px solid var(--accent-dark);background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark)}.secondary-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.secondary-button:hover{border-color:var(--ink)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:2.6rem 0 0}.hero-stats div,.instrument-readouts div,.project-facts div{min-width:0}.hero-stats div{padding:1rem;border-left:3px solid var(--accent);background:#ffffffad}.hero-stats dt{color:var(--ink);font-size:1.3rem;font-weight:850}.hero-stats dd{margin:.15rem 0 0;color:var(--muted);font-size:.85rem}.hero-instrument{position:relative;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.hero-instrument:before{content:"";display:block;height:.45rem;background:linear-gradient(90deg,var(--accent),var(--accent-warm),var(--accent-blue))}.instrument-header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}.instrument-header span,.instrument-readouts span,.card-topline,.technical-visual text.small-text{color:var(--muted);font-size:.82rem}.instrument-header strong{text-align:right}.hero-project-showcase{display:grid}.hero-showcase-media{display:block;background:var(--image-bg, #dbe6f4)}.hero-showcase-media img{display:block;width:100%;aspect-ratio:16 / 10;background:var(--image-bg, #dbe6f4);object-fit:contain;object-position:center}.hero-showcase-copy{display:grid;gap:.35rem;padding:1rem 1.1rem;border-top:1px solid var(--line)}.hero-showcase-copy strong{color:var(--ink)}.hero-showcase-copy span{color:var(--muted);font-size:.92rem;line-height:1.55}.instrument-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.instrument-readouts div{padding:1rem;border-right:1px solid var(--line)}.instrument-readouts div:last-child{border-right:0}.instrument-readouts strong{display:block;margin-top:.25rem;color:var(--ink);font-size:.95rem}.statement-band{padding-top:0}.statement-band p{margin:0;padding:1.4rem 0 1.4rem 1.4rem;border-left:4px solid var(--accent-warm);color:var(--ink-soft);font-size:1.15rem}.experience-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem;align-items:start;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-panel p:last-child{margin:0;color:var(--ink-soft);font-size:1.08rem}.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.experience-card{min-height:25rem;display:flex;flex-direction:column;justify-content:space-between;gap:2.4rem;padding:1.45rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 1px #17211f0a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.experience-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}.experience-card span{color:var(--accent-dark);font-size:.82rem;font-weight:850;text-transform:uppercase}.experience-card h3{margin:.75rem 0 .35rem;font-size:2rem;line-height:1.08}.experience-meta{margin:0 0 1.35rem;color:var(--ink-soft);font-size:.9rem;font-weight:760;line-height:1.55}.experience-card>div:first-child>p:not(.experience-meta){max-width:97%;margin:0;line-height:1.78}.experience-card-bottom{display:grid;gap:1.1rem}.experience-card-bottom strong{color:var(--accent-dark);font-size:.92rem}.experience-card .tags span{text-transform:none}.experience-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.experience-link-grid a{min-height:3.25rem;display:flex;align-items:center;padding:.85rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent-dark);font-weight:850}.experience-link-grid a:hover{border-color:var(--accent)}.experience-hero-card{margin:0;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.experience-hero-card .placeholder-visual{aspect-ratio:16 / 9}.experience-summary-card{display:grid;gap:.65rem;margin:0;padding:1.35rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.experience-summary-card span{color:var(--accent-dark);font-size:.8rem;font-weight:850;text-transform:uppercase}.experience-summary-card strong{color:var(--ink);font-size:2rem;line-height:1.05}.experience-summary-card p{margin:0}.related-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.related-project-grid .project-card{min-height:0}.section-heading{max-width:760px;margin-bottom:2rem}.section-heading.narrow{max-width:700px}.section-heading p:last-child{margin-bottom:0}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.project-card{display:flex;min-width:0;min-height:31rem;flex-direction:column;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#ffffffe0;box-shadow:0 1px #17211f0a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.project-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}.project-card-media{width:100%;margin:0;aspect-ratio:420 / 260;border:1px solid var(--line);border-radius:8px;background:var(--image-bg, var(--surface-strong));overflow:hidden}.project-card-media img{display:block;width:100%;height:100%;background:var(--image-bg, var(--surface-strong));object-fit:contain}.card-topline{display:flex;justify-content:space-between;gap:.8rem;color:var(--accent-blue);font-weight:750}.project-card h3{min-height:2.6rem}.project-card p{flex:1;margin:0;font-size:.94rem}.card-result{display:block;margin-top:.2rem;color:var(--ink-soft);font-size:.9rem;line-height:1.45}.tags,.skill-list{display:flex;flex-wrap:wrap;gap:.5rem}.tags{margin-top:auto}.tags span,.skill-list span{display:inline-flex;align-items:center;min-height:2rem;padding:.38rem .58rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--ink-soft);font-size:.82rem;font-weight:700}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.capability-card{padding:1.2rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.capability-card span{display:block;width:2.5rem;height:.32rem;margin-bottom:1rem;background:var(--accent-warm)}.capability-card:nth-child(2) span{background:var(--accent-blue)}.capability-card:nth-child(3) span{background:var(--accent)}.capability-card:nth-child(4) span{background:var(--accent-yellow)}.capability-card p{margin-bottom:0}.split-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:3.5rem;align-items:start;border-top:1px solid var(--line)}.split-section p{margin-bottom:0}.about-section{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:3rem;align-items:start;border-top:1px solid var(--line)}.about-section p:last-child{margin:0;color:var(--ink-soft);font-size:1.08rem}.contact-panel{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;margin-top:3rem;padding:4.5rem max(1.25rem,calc((100vw - 1180px)/2));background:var(--ink)}.contact-panel h2,.contact-panel .eyebrow{color:#fff}.contact-panel p{max-width:700px;color:#ffffffbd}.contact-panel .primary-button{background:#fff;color:var(--ink);border-color:#fff}.contact-panel .contact-links{justify-content:flex-end;margin-top:0}.contact-panel .secondary-button{border-color:#ffffff6b;background:transparent;color:#fff}.contact-panel .secondary-button:hover{border-color:#fff;background:#ffffff1a}.back-link{display:inline-flex;margin-bottom:2rem;color:var(--accent-dark);font-size:.92rem;font-weight:800}.project-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(22rem,1.08fr);gap:4rem;align-items:center;padding-top:4.5rem;padding-bottom:4rem}.project-hero h1{font-size:4.3rem}.project-hero .long-project-title{font-size:3.65rem}.project-hero p:not(.eyebrow){max-width:48rem;color:var(--ink-soft);font-size:1.12rem}.project-hero-media{grid-template-columns:minmax(0,.82fr) minmax(24rem,1.18fr)}.project-tags{margin-top:1.4rem}.project-image{margin:0;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.project-image img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.project-image img[data-lightbox-ready],.gallery-card img[data-lightbox-ready]{cursor:zoom-in}.project-image img[data-lightbox-ready]:focus-visible,.gallery-card img[data-lightbox-ready]:focus-visible{outline:3px solid var(--accent-yellow);outline-offset:4px}.project-image.hero-image img{background:var(--image-bg, #dbe6f4);object-fit:contain}.project-image.hero-image.spintron-hero-image img{background:#fff}.project-image figcaption{padding:.85rem 1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:4rem;align-items:start;padding-top:2rem}.project-layout-single{grid-template-columns:minmax(0,760px);justify-content:center}.project-article{max-width:760px}.project-article h2{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line);font-size:2rem}.project-article h2:first-child{margin-top:0;padding-top:0;border-top:0}.project-article h3{margin:1.7rem 0 .7rem;color:var(--ink);font-size:1.15rem}.project-article p{color:var(--ink-soft)}.confidentiality-note{display:grid;gap:.45rem;margin:1.5rem 0 0;padding:1rem;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:#ffffffb8}.confidentiality-note strong{color:var(--accent-dark);font-size:.84rem;font-weight:900;text-transform:uppercase}.confidentiality-note p{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.6}.project-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.35rem 0 0}.project-snapshot-grid div{min-height:8rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.project-snapshot-grid dt{margin-bottom:.45rem;color:var(--accent-dark);font-size:.76rem;font-weight:900;text-transform:uppercase}.project-snapshot-grid dd{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.55}.camshaft-primer-section{padding-top:1rem;padding-bottom:2rem}.camshaft-primer-card{display:grid;grid-template-columns:minmax(18rem,.95fr) minmax(0,1.05fr);gap:1.4rem;align-items:center;margin-top:1.35rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#ffffffe6;box-shadow:var(--shadow)}.camshaft-primer-visuals{display:grid;gap:.85rem}.camshaft-analysis-layout{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(14rem,.42fr);gap:.85rem;align-items:start}.camshaft-primer-card figure{margin:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.camshaft-primer-card img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:contain;background:#fff}.motion-plot-figure img{aspect-ratio:178 / 57;min-height:0;object-fit:contain;background:#fff}.camshaft-analysis-layout>figure:not(.motion-plot-figure) img{aspect-ratio:1 / 1;background:#fff}.camshaft-primer-card figcaption{padding:.65rem .8rem;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;line-height:1.45}.motion-data-guide{grid-column:1 / -1;padding:1.1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.motion-data-guide h3{margin:0 0 .8rem;color:var(--ink);font-size:1rem}.motion-data-guide dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0}.motion-data-guide dl div{padding:.95rem;border:1px solid var(--line);border-radius:8px;background:#ffffffc2}.motion-data-guide dt{margin-bottom:.35rem;color:var(--accent-dark);font-size:.76rem;font-weight:900;text-transform:uppercase}.motion-data-guide dd{margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.45}.motion-data-guide p{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.95rem;line-height:1.55}.camshaft-primer-card p{margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.65}.camshaft-measurement-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0 0}.camshaft-measurement-list div{min-height:6rem;padding:.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.camshaft-measurement-list dt{margin-bottom:.35rem;color:var(--accent-dark);font-size:.76rem;font-weight:900;text-transform:uppercase}.camshaft-measurement-list dd{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.45}.system-overview-section{padding-top:2rem}.spintron-system-overview{border:1px solid var(--line);border-radius:8px;background:#ffffffe0;box-shadow:var(--shadow);overflow:hidden}.system-map-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.55fr);gap:1rem;align-items:start;padding:1rem;border-bottom:1px solid var(--line);background:#eef3efc2}.system-map-top span,.system-component span,.system-focus-header span,.signal-card span{display:block;color:var(--accent-dark);font-size:.74rem;font-weight:900;text-transform:uppercase}.system-map-top strong{display:block;margin-top:.3rem;color:var(--ink);font-size:1.08rem}.system-map-top p{margin:0;color:var(--ink-soft);font-size:.95rem}.system-map-scroll{overflow-x:auto}.system-map-canvas{position:relative;width:100%;min-width:1240px;min-height:41rem;background:linear-gradient(90deg,rgba(23,33,31,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.045) 1px,transparent 1px),var(--surface-strong);background-size:22px 22px}.system-map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.system-map-lines path{fill:none;stroke:var(--accent-dark);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.1;opacity:.86;vector-effect:non-scaling-stroke}#system-arrow-default path{fill:var(--accent-dark)}#system-arrow-power path{fill:var(--accent-warm)}#system-arrow-feedback path{fill:var(--accent-blue)}#system-arrow-analog path{fill:var(--accent)}#system-arrow-safety path{fill:var(--accent-yellow)}.system-map-lines path.is-end,.system-map-lines path.is-both{marker-end:url(#system-arrow-default)}.system-map-lines path.is-start,.system-map-lines path.is-both{marker-start:url(#system-arrow-default)}.system-map-lines path.is-power.is-end,.system-map-lines path.is-power.is-both{marker-end:url(#system-arrow-power)}.system-map-lines path.is-power.is-start,.system-map-lines path.is-power.is-both{marker-start:url(#system-arrow-power)}.system-map-lines path.is-feedback.is-end,.system-map-lines path.is-feedback.is-both{marker-end:url(#system-arrow-feedback)}.system-map-lines path.is-feedback.is-start,.system-map-lines path.is-feedback.is-both{marker-start:url(#system-arrow-feedback)}.system-map-lines path.is-analog.is-end,.system-map-lines path.is-analog.is-both,.system-map-lines path.is-measurement.is-end,.system-map-lines path.is-measurement.is-both{marker-end:url(#system-arrow-analog)}.system-map-lines path.is-analog.is-start,.system-map-lines path.is-analog.is-both,.system-map-lines path.is-measurement.is-start,.system-map-lines path.is-measurement.is-both{marker-start:url(#system-arrow-analog)}.system-map-lines path.is-safety.is-end,.system-map-lines path.is-safety.is-both{marker-end:url(#system-arrow-safety)}.system-map-lines path.is-safety.is-start,.system-map-lines path.is-safety.is-both{marker-start:url(#system-arrow-safety)}.system-map-lines path.is-power{stroke:var(--accent-warm)}.system-map-lines path.is-feedback{stroke:var(--accent-blue)}.system-map-lines path.is-analog,.system-map-lines path.is-measurement{stroke:var(--accent)}.system-map-lines path.is-safety{stroke:var(--accent-yellow);stroke-dasharray:3 3}.system-component{position:absolute;left:var(--x);top:var(--y);z-index:2;display:grid;width:11rem;min-height:9.25rem;gap:.4rem;transform:translate(-50%,-50%);padding:.55rem;border:1px solid var(--line-strong);border-radius:8px;background:#fffffff0;box-shadow:0 12px 32px #1a2a251a;color:var(--ink);cursor:pointer;font:inherit;text-align:left;transition:transform .18s ease,opacity .18s ease,border-color .18s ease,box-shadow .18s ease}.system-wire-marker{position:absolute;left:var(--x);top:var(--y);z-index:3;display:grid;place-items:center;width:1.55rem;height:1.55rem;transform:translate(-50%,-50%);border:2px solid var(--accent-dark);border-radius:999px;background:var(--surface);box-shadow:0 8px 22px #1a2a252e;color:var(--accent-dark);cursor:pointer;font:inherit;font-size:.78rem;font-weight:950;line-height:1;transition:transform .18s ease,opacity .18s ease,border-color .18s ease,box-shadow .18s ease}.system-wire-marker:after{content:attr(data-wire-label);position:absolute;left:50%;top:calc(100% + .35rem);min-width:max-content;max-width:14rem;padding:.32rem .5rem;transform:translate(-50%) translateY(-.15rem);border:1px solid var(--line);border-radius:999px;background:#fffffff5;box-shadow:0 10px 24px #1a2a251f;color:var(--ink-soft);font-size:.72rem;font-weight:850;opacity:0;pointer-events:none;text-align:center;white-space:nowrap;transition:opacity .16s ease,transform .16s ease}.system-wire-marker:hover,.system-wire-marker:focus-visible{border-color:var(--ink);box-shadow:0 12px 30px #1a2a253d;outline:0;transform:translate(-50%,-50%) scale(1.15)}.system-wire-marker:hover:after,.system-wire-marker:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.system-wire-marker.is-power{border-color:var(--accent-warm);color:var(--accent-warm)}.system-wire-marker.is-feedback{border-color:var(--accent-blue);color:var(--accent-blue)}.system-wire-marker.is-analog,.system-wire-marker.is-measurement{border-color:var(--accent);color:var(--accent)}.system-wire-marker.is-safety{border-color:var(--accent-yellow);color:#7d5b11}.system-component:hover,.system-component:focus-visible{border-color:var(--accent);box-shadow:0 16px 42px #1a2a2529;outline:0;transform:translate(-50%,-50%) scale(1.04)}.system-component strong{display:block;margin:0;color:var(--ink);font-size:.9rem;line-height:1.15;text-align:center}.system-component-media{display:grid;place-items:center;min-height:6.6rem;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,rgba(23,33,31,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.045) 1px,transparent 1px),var(--surface-strong);background-size:14px 14px;overflow:hidden}.system-component-media img{display:block;width:100%;height:6.6rem;object-fit:contain;background:#fff}.system-component-media span{display:inline-block;padding:.35rem .5rem;border:1px solid var(--line);border-radius:999px;background:#ffffffd1;color:var(--muted);font-size:.72rem;font-weight:850;text-transform:none}.system-component.is-controller{border-color:#087a6785;box-shadow:inset 4px 0 0 var(--accent),0 12px 32px #1a2a251a}.system-component.is-drive{box-shadow:inset 4px 0 0 var(--accent-warm),0 12px 32px #1a2a251a}.system-component.is-feedback{box-shadow:inset 4px 0 0 var(--accent-blue),0 12px 32px #1a2a251a}.system-component.is-interface{border-color:#255f9973;box-shadow:inset 4px 0 0 var(--accent-blue),0 12px 32px #1a2a251a}.system-component.is-analog,.system-component.is-measurement{box-shadow:inset 4px 0 0 var(--accent),0 12px 32px #1a2a251a}.system-component.is-safety{border-color:#e4b74fb8;box-shadow:inset 4px 0 0 var(--accent-yellow),0 12px 32px #1a2a251a}.system-map-canvas.is-focused .system-component:not(.is-active),.system-map-canvas.is-focused .system-wire-marker:not(.is-active){opacity:.42;transform:translate(-50%,-50%) scale(.96)}.system-component.is-active{z-index:4;border-color:var(--accent-dark);box-shadow:0 18px 48px #087a673b;transform:translate(-50%,-50%) scale(1.09)}.system-wire-marker.is-active{z-index:5;border-color:var(--ink);box-shadow:0 18px 42px #087a673d;transform:translate(-50%,-50%) scale(1.22)}.system-focus-view[hidden]{display:none}.system-focus-view{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:1rem}.system-focus-backdrop{position:absolute;inset:0;border:0;background:#0a1110b8;cursor:zoom-out}.system-focus-panel{position:relative;width:min(1080px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:1.1rem;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:linear-gradient(90deg,rgba(23,33,31,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.035) 1px,transparent 1px),var(--paper);background-size:36px 36px;box-shadow:0 32px 90px #00000057;overflow:auto}.system-focus-close{position:sticky;top:0;z-index:3;float:right;min-height:2.2rem;padding:0 .8rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;font-size:.82rem;font-weight:850}.system-focus-close:hover,.system-focus-close:focus-visible{border-color:var(--accent);color:var(--accent-dark);outline:0}.system-focus-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;margin-bottom:1rem;padding-right:4rem}.system-focus-header h3{margin:.3rem 0 .35rem;color:var(--ink);font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.system-focus-header p{max-width:56rem;margin:0;color:var(--ink-soft)}.system-focus-header>strong{align-self:start;padding:.45rem .65rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--accent-dark);font-size:.78rem;text-transform:uppercase;white-space:nowrap}.system-focus-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(18rem,.7fr);gap:1rem}.system-focus-card,.signal-comparison,.system-spec-panel{border:1px solid var(--line);border-radius:8px;background:#ffffffe6}.system-focus-card{padding:1rem}.system-focus-card.is-full{grid-column:1 / -1}.system-focus-card h4{margin:0 0 .75rem;color:var(--ink);font-size:1.05rem}.system-focus-card ul{display:grid;gap:.55rem;margin:0;padding-left:1.2rem}.system-focus-card li{color:var(--ink-soft);line-height:1.55}.system-wire-visual{border:1px solid var(--line);border-radius:8px;background:#ffffffe6;overflow:hidden}.system-wire-visual figure{display:grid;margin:0}.system-wire-visual img{display:block;width:100%;min-height:11rem;max-height:16rem;object-fit:contain;background:#fff}.system-wire-visual figcaption{padding:.75rem .85rem;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.9rem;line-height:1.5}.system-compact-flow{grid-column:1 / -1;display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#ffffffe6}.system-compact-flow>span{width:fit-content;padding:.28rem .65rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-muted);color:var(--accent);font-size:.76rem;font-weight:900;text-transform:uppercase}.system-compact-flow>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.system-compact-flow article{min-width:0;padding:.9rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.system-compact-flow h4{margin:0 0 .45rem;color:var(--accent);font-size:.82rem;font-weight:900;text-transform:uppercase}.system-compact-flow p{margin:0;color:var(--ink-soft);line-height:1.5}.signal-comparison{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:stretch;padding:1rem}.signal-card{display:grid;gap:.45rem;padding:.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.signal-card strong{color:var(--ink);font-size:.98rem;line-height:1.45}.signal-card small{color:var(--muted);line-height:1.45}.signal-card svg{width:100%;min-height:5rem;margin-top:.3rem}.signal-card .signal-axis{fill:none;stroke:var(--line-strong);stroke-width:2}.signal-card polyline{fill:none;stroke:var(--accent-blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.signal-transfer-label{align-self:center;padding:.4rem .65rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--accent-dark);font-size:.78rem;font-weight:900;text-align:center;text-transform:uppercase;white-space:nowrap}.system-spec-panel{padding:1rem}.system-spec-panel.is-wide{grid-column:1 / -1}.system-spec-panel.is-wide dl{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.system-spec-panel h4{margin:0 0 .85rem;color:var(--ink);font-size:1.05rem}.system-spec-panel dl{display:grid;grid-template-columns:1fr;gap:.75rem;margin:0}.system-spec-panel div{min-width:0;padding:.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.system-spec-panel dt{margin-bottom:.28rem;color:var(--accent-dark);font-size:.76rem;font-weight:900;text-transform:uppercase}.system-spec-panel dd{margin:0;color:var(--ink-soft);font-size:.94rem;line-height:1.5}.requirement-list,.workflow-list{padding-left:1.25rem}.workflow-list li::marker{color:var(--accent);font-weight:850}.spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.4rem 0 0}.spec-grid div{padding:.9rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.spec-grid dt{margin-bottom:.2rem;color:var(--accent-dark);font-size:.78rem;font-weight:850;text-transform:uppercase}.spec-grid dd{margin:0;color:var(--ink);font-size:1.05rem;font-weight:820}.wide-spec-grid dd{font-size:.95rem;line-height:1.45}.visual-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.priority-gallery{margin-bottom:.5rem}.visual-proof-group{display:grid;gap:.85rem;margin-top:1.5rem}.visual-proof-group+.visual-proof-group{margin-top:1.85rem;padding-top:1.5rem;border-top:1px solid var(--line)}.visual-proof-group h3{margin:0;color:var(--ink);font-size:1.08rem}.visual-proof-group p{max-width:68rem;margin:.35rem 0 0;color:var(--muted)}.gallery-card{margin:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.gallery-card img,.gallery-card video,.placeholder-visual{display:block;width:100%;aspect-ratio:16 / 10}.gallery-card img,.gallery-card video{object-fit:contain;background:var(--image-bg, var(--surface-strong))}.placeholder-visual{display:grid;place-items:center;border-bottom:1px dashed var(--line-strong);background:linear-gradient(90deg,rgba(23,33,31,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.055) 1px,transparent 1px),var(--surface-strong);background-size:18px 18px}.placeholder-visual span{padding:.45rem .7rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.gallery-card figcaption{display:grid;gap:.35rem;padding:.9rem}.gallery-card figcaption strong{color:var(--ink)}.gallery-card figcaption span{color:var(--muted);font-size:.9rem;line-height:1.55}.control-system-diagram{display:grid;gap:.85rem;margin:1.35rem 0 1.6rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,rgba(23,33,31,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.045) 1px,transparent 1px),var(--surface-strong);background-size:18px 18px}.control-node,.control-device-grid div,.control-safety-rail{border:1px solid var(--line);border-radius:8px;background:#ffffffd6}.control-node{padding:1rem}.control-node.is-controller{border-color:#5b9e978c;box-shadow:inset 4px 0 0 var(--accent)}.control-node span,.control-device-grid span,.control-safety-rail span,.io-signal-list span{display:block;color:var(--accent-dark);font-size:.74rem;font-weight:900;text-transform:uppercase}.control-node strong,.control-device-grid strong,.control-safety-rail strong{display:block;margin-top:.25rem;color:var(--ink);font-size:1rem}.control-node p,.control-device-grid p{margin:.45rem 0 0;color:var(--ink-soft);font-size:.92rem;line-height:1.5}.control-link{justify-self:center;padding:.35rem .7rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.78rem;font-weight:850}.control-device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.control-device-grid div{padding:.9rem}.control-safety-rail{padding:.9rem 1rem;border-color:#c64c2b61;box-shadow:inset 4px 0 0 var(--accent-warm)}.control-safety-rail strong{color:var(--ink-soft);font-size:.95rem;line-height:1.45}.io-signal-list,.state-sequence{display:grid;gap:.75rem;margin:1.2rem 0 0;padding:0}.io-signal-list div{display:grid;grid-template-columns:minmax(7rem,.8fr) minmax(0,2fr) minmax(7rem,.8fr);gap:.8rem;align-items:start;padding:.9rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.io-signal-list dt{color:var(--ink);font-weight:900}.io-signal-list dd{margin:0;color:var(--ink-soft);font-size:.94rem;line-height:1.5}.io-signal-list span{justify-self:end;padding:.25rem .5rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);text-align:right}.state-sequence{list-style:none;counter-reset:state-step}.state-sequence li{counter-increment:state-step;display:grid;grid-template-columns:auto minmax(5rem,.4fr) minmax(0,1.6fr);gap:.75rem;align-items:start;padding:.9rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.state-sequence li:before{content:counter(state-step);display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:900}.state-sequence strong{color:var(--ink)}.state-sequence span{color:var(--ink-soft);font-size:.94rem;line-height:1.5}.course-sim{margin-top:1.2rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.course-sim-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--line)}.course-sim-top span,.course-panel span{color:var(--accent-dark);font-size:.76rem;font-weight:900;text-transform:uppercase}.course-sim-top strong{display:block;margin-top:.25rem;color:var(--ink);font-size:1rem}.course-controls{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.course-controls button{min-height:2.35rem;padding:0 .8rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.course-controls button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-dark)}.course-controls button:disabled{cursor:wait;opacity:.62}.course-controls .course-run-button{border-color:var(--accent-dark);background:var(--accent);color:#fff}.course-controls .course-run-button:hover:not(:disabled){background:var(--accent-dark);color:#fff}.course-sim-body{display:grid;grid-template-columns:minmax(0,1fr) 15.5rem;gap:1rem;padding:1rem}.course-board-shell{min-width:0;padding:.85rem;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,rgba(23,33,31,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.045) 1px,transparent 1px),var(--surface-strong);background-size:18px 18px}.course-board{position:relative;display:grid;width:100%;aspect-ratio:var(--course-cols, 6) / var(--course-rows, 4);border:1px solid rgba(23,33,31,.18);border-radius:8px;background:#b9d58d;overflow:hidden}.course-cell{position:relative;min-width:0;min-height:0;border:1px solid rgba(23,33,31,.1);background:#b9d58d;overflow:hidden}.course-cell img{display:block;width:100%;height:100%;object-fit:cover;transform:rotate(var(--tile-rotation, 0deg))}.course-bin,.course-obstacle,.course-deposit,.course-robot{position:absolute;z-index:3;transform:translate(-50%,-50%)}.course-bin{display:grid;place-items:center;width:clamp(1.25rem,3.4vw,1.85rem);height:clamp(1.55rem,4.1vw,2.25rem);border:2px solid var(--ink);border-radius:6px 6px 4px 4px;background:#2d7f5c;color:var(--ink);font-size:clamp(.62rem,1.5vw,.82rem);font-weight:950;box-shadow:0 3px #00000029}.course-bin:before{content:"";position:absolute;top:-.38rem;left:-.2rem;right:-.2rem;height:.38rem;border:2px solid var(--ink);border-bottom:0;border-radius:5px 5px 0 0;background:var(--accent-yellow)}.course-bin.is-red:before{background:#d35649}.course-bin.is-known{box-shadow:0 0 0 3px #5b9e976b,0 3px #00000029}.course-bin.is-collected{background:#ffffffe0;color:var(--accent-dark);opacity:.72}.course-obstacle{width:clamp(1rem,2.8vw,1.6rem);height:clamp(1rem,2.8vw,1.6rem);border:2px solid var(--ink);background:var(--accent-warm);clip-path:polygon(50% 0,100% 100%,0 100%)}.course-deposit{z-index:4;display:grid;place-items:center;width:clamp(1.45rem,3.5vw,2.1rem);height:clamp(1.45rem,3.5vw,2.1rem);border:2px solid var(--ink);border-radius:5px;color:var(--ink);font-size:clamp(.72rem,1.8vw,.95rem);font-weight:950}.course-deposit.is-yellow{background:var(--accent-yellow)}.course-deposit.is-red{background:#d35649}.course-robot{z-index:6;display:block;width:clamp(1.85rem,4.5vw,2.7rem);height:clamp(1.45rem,3.4vw,2rem);border:2px solid var(--accent-dark);border-radius:8px;background:#fff;box-shadow:0 7px 16px #00000042;transition-property:left,top,transform;transition-timing-function:ease-in-out}.course-robot:before,.course-robot:after{content:"";position:absolute;bottom:-.34rem;width:.48rem;height:.48rem;border-radius:50%;background:var(--ink)}.course-robot:before{left:.28rem}.course-robot:after{right:.28rem}.course-robot i,.course-robot b{position:absolute;left:.38rem;right:.38rem;height:.18rem;border-radius:999px;background:var(--accent)}.course-robot i{top:.42rem}.course-robot b{top:.82rem}.course-panel{display:grid;align-content:start;gap:.85rem}.course-state,.course-score-grid div,.course-log{border:1px solid var(--line);border-radius:8px;background:#ffffffc7}.course-state{padding:.9rem}.course-state strong{display:block;margin-top:.28rem;color:var(--ink);font-size:1.05rem}.course-state p{margin:.5rem 0 0;font-size:.88rem;line-height:1.45}.course-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.course-score-grid div{padding:.7rem}.course-score-grid strong{display:block;margin-top:.2rem;color:var(--ink);font-size:1.05rem}.course-log{display:grid;gap:.45rem;min-height:9rem;max-height:14rem;margin:0;padding:.85rem .85rem .85rem 1.9rem;overflow:auto}.course-log li{margin:0;color:var(--ink-soft);font-size:.86rem;line-height:1.45}.detail-stack{display:grid;gap:.85rem;margin-top:1.2rem}.technical-detail{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.technical-detail summary{min-height:3.25rem;display:flex;align-items:center;padding:.9rem 1rem;color:var(--ink);font-weight:850;cursor:pointer}.technical-detail summary::marker{color:var(--accent)}.technical-detail[open] summary{border-bottom:1px solid var(--line);color:var(--accent-dark)}.technical-detail>div{padding:1rem}.technical-detail>div>*:first-child{margin-top:0}.technical-detail>div>*:last-child{margin-bottom:0}.image-lightbox[hidden]{display:none}.image-lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:clamp(1rem,4vw,2.5rem)}.image-lightbox-backdrop{position:absolute;inset:0;border:0;background:#060c0bd1;cursor:zoom-out}.image-lightbox-panel{position:relative;z-index:1;display:grid;grid-template-rows:minmax(0,1fr) auto;width:min(96vw,1440px);max-height:92vh;margin:0;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:var(--surface);box-shadow:0 28px 80px #00000061;overflow:hidden}.image-lightbox-panel img{display:block;width:100%;max-height:82vh;object-fit:contain;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 1px),#101817;background-size:28px 28px}.image-lightbox-panel figcaption{max-height:6.5rem;padding:.85rem 1rem;overflow:auto;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.92rem;line-height:1.55}.image-lightbox-original,.image-lightbox-close{position:absolute;top:.75rem;z-index:2;min-height:2.25rem;padding:0 .8rem;border:1px solid rgba(255,255,255,.56);border-radius:8px;background:#0e1615d1;color:#fff;font:inherit;font-size:.84rem;font-weight:850;cursor:pointer}.image-lightbox-original{left:.75rem;display:inline-flex;align-items:center}.image-lightbox-close{right:.75rem}.image-lightbox-original:hover,.image-lightbox-original:focus-visible,.image-lightbox-close:hover,.image-lightbox-close:focus-visible{background:#fff;color:var(--ink)}li{margin:.6rem 0;color:var(--muted);line-height:1.65}.project-facts{position:sticky;top:6.4rem;padding:1.1rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 8px 26px #1a2a2514}.project-facts h3{margin-bottom:1rem}.project-facts dl{display:grid;gap:.9rem;margin:0}.project-facts div{padding-top:.9rem;border-top:1px solid var(--line)}.project-facts div:first-child{padding-top:0;border-top:0}.project-facts dt{margin-bottom:.25rem;color:var(--accent-dark);font-size:.78rem;font-weight:850;text-transform:uppercase}.project-facts dd{margin:0;color:var(--ink-soft);line-height:1.5}.technical-visual{width:100%;margin:0;aspect-ratio:420 / 260;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,rgba(23,33,31,.05) 1px,transparent 1px),linear-gradient(180deg,rgba(23,33,31,.05) 1px,transparent 1px),#fbfcf9;background-size:20px 20px;overflow:hidden}.technical-visual.compact{flex:0 0 auto}.technical-visual svg{display:block;width:100%;height:100%}.technical-visual text{font:700 14px Inter,ui-sans-serif,system-ui,sans-serif;fill:var(--ink-soft)}.technical-visual .grid-line,.technical-visual .plot-grid{fill:none;stroke:#17211f1f;stroke-width:1.2}.technical-visual .unit,.technical-visual .board,.technical-visual .readout{fill:#fff;stroke:var(--ink);stroke-width:2}.technical-visual .fill-1{fill:#e9f4ef}.technical-visual .fill-2{fill:#edf3fb}.technical-visual .shaft,.technical-visual .link,.technical-visual .axis,.technical-visual .tool,.technical-visual .target,.technical-visual .signal,.technical-visual .copper,.technical-visual .pin-row{fill:none;stroke:var(--ink);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.technical-visual .link.thin,.technical-visual .axis,.technical-visual .target,.technical-visual .signal,.technical-visual .pin-row{stroke-width:3}.technical-visual .rotor,.technical-visual .joint,.technical-visual .sensor{fill:#fff;stroke:var(--accent);stroke-width:5}.technical-visual .joint.small{stroke-width:4}.technical-visual .cam,.technical-visual .magnet{fill:var(--accent-warm);stroke:var(--ink);stroke-width:2}.technical-visual .encoder,.technical-visual .node{fill:none;stroke:var(--accent-blue);stroke-width:4;stroke-linecap:round}.technical-visual .node{fill:var(--accent-blue)}.technical-visual .trace{fill:none;stroke:var(--accent-warm);stroke-width:5;stroke-linecap:round}.technical-visual .trace.secondary{stroke:var(--accent);stroke-width:4}.technical-visual .reach,.technical-visual .polar{fill:#087a6714;stroke:var(--accent);stroke-width:3}.technical-visual .reach.muted{fill:none;stroke:#255f9959}.technical-visual .board{fill:#dfeee8;stroke:var(--accent-dark)}.technical-visual .mount{fill:var(--surface);stroke:var(--accent-dark);stroke-width:3}.technical-visual .chip{fill:var(--ink);stroke:var(--accent-yellow);stroke-width:3}.technical-visual .chip.driver{stroke:var(--accent-warm)}.technical-visual .chip text,.technical-visual .chip+text{fill:#fff}.technical-visual .copper{stroke:var(--accent-warm);stroke-width:4}@media(max-width:1120px){.hero,.project-hero,.split-section,.about-section,.experience-panel,.project-layout{grid-template-columns:1fr}.hero{min-height:auto}.system-map-top,.camshaft-primer-card,.camshaft-analysis-layout{grid-template-columns:1fr}.motion-data-guide dl,.project-grid,.experience-grid,.capability-grid,.visual-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-facts{position:static}}@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column}nav{width:100%;overflow-x:auto;padding-bottom:.1rem}nav a{flex:0 0 auto}.section-pad{width:min(100% - 1.5rem,1180px);padding:3.5rem 0}.hero,.project-hero{gap:2rem;padding-top:3rem}h1{font-size:3.25rem}h2{font-size:2.25rem}.project-hero h1{font-size:3rem}.project-hero .long-project-title{font-size:2.7rem}.hero-text,.project-hero p:not(.eyebrow),.statement-band p,.about-section p:last-child{font-size:1rem}.motion-plot-figure img{min-height:0;aspect-ratio:178 / 57}.hero-stats,.instrument-readouts,.project-grid,.experience-grid,.experience-link-grid,.related-project-grid,.project-snapshot-grid,.camshaft-measurement-list,.motion-data-guide dl,.spec-grid,.visual-gallery,.control-device-grid,.io-signal-list div,.state-sequence li,.capability-grid,.contact-panel{grid-template-columns:1fr}.instrument-header{flex-direction:column}.instrument-header strong{text-align:left}.instrument-readouts div{border-right:0;border-bottom:1px solid var(--line)}.instrument-readouts div:last-child{border-bottom:0}.project-card,.experience-card{min-height:0}.contact-panel{gap:1rem;margin-top:1rem;padding-top:3.5rem;padding-bottom:3.5rem}.contact-panel .contact-links{justify-content:flex-start}.course-sim-top,.course-sim-body{grid-template-columns:1fr}.course-sim-top{align-items:stretch;flex-direction:column}.system-map-scroll{margin-inline:-1rem;padding-inline:1rem}.system-focus-header,.system-focus-grid,.signal-comparison,.system-compact-flow>div{grid-template-columns:1fr}.system-spec-panel dl{grid-template-columns:1fr}.system-focus-header{padding-right:0}.system-focus-header>strong{justify-self:start;white-space:normal}.signal-transfer-label{justify-self:start;white-space:normal}.course-controls{justify-content:flex-start}.course-controls button{flex:1 1 8rem}.course-board-shell{padding:.55rem}.io-signal-list span{justify-self:start;text-align:left}}@media(max-width:460px){.brand-copy{display:none}h1{font-size:2.7rem}h2{font-size:2rem}.project-hero h1{font-size:2.45rem}.project-hero .long-project-title{font-size:2.25rem}.primary-button,.secondary-button{width:100%}.technical-visual text{font-size:12px}}
