:root{--navy:#0f487f;--navy-deep:#0b3359;--blue:#1460a9;--blue-bright:#82aad8;--blue-soft:#a6c2e3;--silver:#cfcfcf;--paper:#fff;--mist:#f4f6f8;--mist-2:#eceff3;--border:#e7ebef;--ink:#16202b;--muted:#5a6b7b;--silver-dim:#b7c2cc;--slate:#7c8aa0;--green:#1f7a53;--green-soft:#e4f1ea;--amber:#b4472e;--amber-soft:#f7e8e3;--gold:#c39a3e;--blue-lift:#aacaee;--green-lift:#86d5ae;--amber-lift:#ebb2a2;--display:"Fraunces",Georgia,serif;--body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--pad:84px;--wrap:1140px;--radius:14px;--shadow-sm:0 8px 26px -16px #0f487f80;--shadow:0 18px 50px -24px #0f487f73}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}.section--paper{background:var(--paper)}h1,h2,h3{color:var(--navy);letter-spacing:-.01em;margin:0;font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.08}h1{font-size:clamp(2.5rem,5.4vw,4rem)}h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}h3{font-size:1.18rem;font-weight:600}em.accent{color:var(--blue);font-style:italic;font-weight:500}p{margin:0 0 1.05em}.lede{color:var(--muted);margin-top:22px;font-size:1.18rem}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin:0 0 18px;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600}.btn{color:#fff;background:var(--navy);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:9px;padding:14px 28px;font-family:Inter,sans-serif;font-size:.97rem;font-weight:600;text-decoration:none;transition:background .35s,transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 1px 2px #0b2e542e}.btn:hover{background:linear-gradient(100deg,var(--blue-bright),var(--navy));transform:translateY(-2px);box-shadow:0 10px 24px #103f7238}.btn .arrow{transition:transform .25s}.btn:hover .arrow{transform:translate(4px)}.btn-ghost{color:var(--navy);border:1.5px solid var(--border);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--mist);border-color:var(--blue);transform:translateY(-2px)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}.section--navy :focus-visible,.footer :focus-visible{outline-color:var(--blue-bright)}.hero{padding:72px 0 calc(var(--pad) - 8px);background:linear-gradient(180deg,var(--mist-2),var(--paper));border-bottom:1px solid var(--border)}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.hero p.lede{max-width:34ch}.instrument{background:linear-gradient(165deg,var(--navy),var(--navy-deep));color:#eaf1f9;border-radius:20px;padding:26px 26px 30px;box-shadow:0 24px 60px -28px #0b2e54a6}.inst-top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.inst-label{letter-spacing:.18em;text-transform:uppercase;color:#9fc0e6;font-family:IBM Plex Mono,monospace;font-size:.68rem}.inst-tag{letter-spacing:.16em;text-transform:uppercase;color:#6f93bf;border:1px solid #2b517f;border-radius:999px;padding:4px 9px;font-family:IBM Plex Mono,monospace;font-size:.6rem}.chips{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.chip{letter-spacing:.03em;color:#bcd4ee;cursor:pointer;background:#ffffff0d;border:1px solid #2b517f;border-radius:999px;padding:7px 12px;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:500;transition:all .25s}.chip:hover{background:#ffffff1a}.chip[aria-pressed=true]{background:var(--blue-bright);border-color:var(--blue-bright);color:#fff}.chart-shell{position:relative}.chart-shell svg{width:100%;height:auto;display:block}.gridline{stroke:#2b517f;stroke-width:1px;stroke-dasharray:3 5}.cushion-label{fill:#7fa3cf;letter-spacing:.08em;font-family:IBM Plex Mono,monospace;font-size:9px}.path-with{fill:none;stroke:var(--blue-bright);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.path-without{fill:none;stroke:var(--slate);stroke-width:2.25px;stroke-dasharray:5 5;stroke-linecap:round;stroke-linejoin:round}.inst-readout{border-top:1px solid #244873;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:18px;padding-top:18px;display:flex}.inst-readout .num{color:#fff;font-family:IBM Plex Mono,monospace;font-size:1.6rem;font-weight:600;line-height:1}.inst-readout .cap{letter-spacing:.12em;text-transform:uppercase;color:#9fc0e6;margin-top:7px;font-family:IBM Plex Mono,monospace;font-size:.62rem}.inst-note{color:#acc6e6;text-align:right;max-width:18ch;font-size:.82rem;line-height:1.45}.legend{letter-spacing:.05em;color:#9fc0e6;text-transform:uppercase;gap:16px;margin-top:14px;font-family:IBM Plex Mono,monospace;font-size:.64rem;display:flex}.legend span{align-items:center;gap:7px;display:inline-flex}.swatch{border-top:3px solid var(--blue-bright);border-radius:2px;width:16px;height:0}.swatch.dash{border-top:2px dashed var(--slate)}section{padding:var(--pad) 0}.tint{background:var(--mist-2)}.cover-head{max-width:60ch;margin-bottom:46px}.cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.card{background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:28px 26px;transition:transform .3s,box-shadow .3s,border-color .3s}.card:hover{border-color:var(--blue);transform:translateY(-5px);box-shadow:0 18px 40px -24px #103f7266}.cic{width:32px;height:32px;margin-bottom:16px;display:block}.cic path,.cic rect,.cic circle,.cic line{fill:none;stroke:var(--blue);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.card .knum{letter-spacing:.14em;color:var(--blue);text-transform:uppercase;margin-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:.66rem;display:block}.card h3{margin-bottom:9px}.card p{color:var(--muted);margin:0;font-size:.96rem}.deep{grid-template-columns:1fr 1fr;align-items:start;gap:60px;display:grid}.deep.flip .deep-body{order:2}.deep.flip .deep-aside{order:1}.deep-body h2{margin-bottom:22px}.deep-body p{color:var(--muted)}.textlink{text-transform:uppercase;letter-spacing:.12em;color:var(--blue);align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.textlink .arr{transition:transform .25s}.textlink:hover .arr{transform:translate(4px)}.deep-body .textlink{margin-top:6px}.illus{background:var(--mist);border:1px solid var(--border);border-radius:16px;padding:26px 26px 24px;position:sticky;top:32px}.illus .icap{letter-spacing:.13em;text-transform:uppercase;color:var(--navy);align-items:center;gap:10px;margin:0 0 20px;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:600;display:flex}.illus .icap:before{content:"";background:var(--blue);width:22px;height:2px;display:inline-block}.ill{width:100%;height:auto;display:block}.ill text{letter-spacing:.04em;font-family:IBM Plex Mono,monospace}.ill .lbl{fill:var(--navy);text-anchor:middle;font-size:11px}.ill .lbl-b{fill:var(--blue)}.ill .lbl-mut{fill:var(--slate)}.ill .lbl-w{fill:var(--paper)}.ill .lbl-sm{letter-spacing:.07em;font-size:9.5px}.ill .s-navy{fill:none;stroke:var(--navy);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.ill .s-blue{fill:none;stroke:var(--blue-bright);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.ill .s-slate{fill:none;stroke:var(--slate);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 5}.ill .s-line{fill:none;stroke:var(--border);stroke-width:1.5px}.ill .f-navy{fill:var(--navy)}.ill .f-blue{fill:var(--blue-bright)}.ill .f-soft{fill:var(--blue-soft)}.ill .f-white{fill:var(--paper)}.closing{background:linear-gradient(165deg,var(--navy),var(--navy-deep));color:#fff;text-align:center}.closing h2{color:#fff;margin-bottom:18px}.closing p{color:#bcd4ee;max-width:48ch;margin:0 auto 30px;font-size:1.1rem}.closing .btn{color:var(--navy);background:#fff}.closing .btn:hover{color:var(--navy);background:linear-gradient(100deg,#fff,#dbe8f6)}footer{background:var(--navy);color:var(--silver);border-top:0;padding:54px 0 44px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(22px)}.reveal.in{opacity:1;transform:none}@media (width<=900px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero p.lede{max-width:46ch}.cards{grid-template-columns:1fr}.deep{grid-template-columns:1fr;gap:30px}.deep.flip .deep-body{order:1}.deep.flip .deep-aside{order:2}.illus{max-width:420px;position:static}.inst-note{max-width:24ch}}@media (width<=560px){.wrap{padding:0 20px}:root{--rhythm:60px}.inst-readout{flex-direction:column;align-items:flex-start}.inst-note{text-align:left;max-width:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transition:none;transform:none}.btn,.card,.textlink{transition:none}}.nav{z-index:100;backdrop-filter:saturate(160%)blur(10px);border-bottom:1px solid var(--border);background:#ffffffdb;position:sticky;top:0}.nav-inner{align-items:center;gap:22px;height:68px;display:flex}.brand{font-family:var(--display);flex:none;align-items:center;gap:11px;margin-right:auto;font-size:1.18rem;font-weight:600;text-decoration:none;display:flex}.brand svg{display:block}.brand .mk-o{stroke:var(--blue)}.brand .mk-i{fill:var(--navy)}.nav-right{flex:none;align-items:center;gap:22px;display:flex}.nav-links{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-links>li{position:relative}.nav-links a,.nav-links .nav-parent{font-family:var(--body);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:9px 12px;font-size:.92rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s;display:inline-flex}.nav-links a:hover,.nav-links .nav-parent:hover{color:var(--blue);background:var(--mist)}.nav-links [aria-current=page]{color:var(--blue)}.dropdown{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);min-width:232px;box-shadow:var(--shadow);opacity:0;visibility:hidden;margin:0;padding:8px;list-style:none;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:100%;left:0;transform:translateY(-6px)}.nav-links>li:hover .dropdown,.nav-links>li:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown a{width:100%;font-size:.9rem;font-weight:400;display:block}.nav-parent svg{transition:transform .2s}.nav-toggle{cursor:pointer;background:0 0;border:0;flex:none;padding:8px;display:none}.nav-toggle span{background:var(--navy);border-radius:2px;width:24px;height:2px;margin:5px 0;transition:transform .2s,opacity .2s;display:block}.cta-band{padding:calc(var(--pad)/2) 0}.cta-band .wrap{justify-content:center;display:flex}@media (width<=1080px){.nav-toggle{display:block}.nav-links{display:none}.nav-links.open{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--paper);border-top:1px solid var(--border);max-height:calc(100vh - 68px);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:16px 28px 24px;display:flex;position:absolute;top:68px;left:0;right:0;overflow-y:auto}.nav-links.open .dropdown{opacity:1;visibility:visible;box-shadow:none;border:0;min-width:0;padding:0 0 6px 10px;display:none;position:static;transform:none}.nav-links.open .nav-parent[aria-expanded=true]+.dropdown{display:block}.nav-links.open .nav-parent[aria-expanded=true] svg{transform:rotate(180deg)}.nav-links.open .nav-parent{justify-content:space-between;width:100%}}@media (width<=560px){.nav-right{display:none}}html.nav-open,html.nav-open body{overflow:hidden}.footer{background:var(--navy);color:var(--silver);padding:70px 0 34px}.foot-top{border-bottom:1px solid #ffffff1f;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;display:grid}.foot-brand .brand{color:#fff;margin-bottom:14px}.foot-brand .foot-mark{color:#fff}.foot-brand .foot-mark .mk-o{stroke:var(--blue-lift)}.foot-brand .foot-mark .mk-i{fill:var(--blue-lift)}.foot-social a{color:var(--silver)}.foot-brand p{max-width:34ch;color:var(--silver);font-size:.92rem}.foot-social{gap:14px;margin-top:18px;display:flex}.foot-social a{border:1px solid #fff3;border-radius:50%;place-items:center;width:34px;height:34px;text-decoration:none;transition:background .2s,border-color .2s;display:grid}.foot-social a:hover{background:#ffffff1a;border-color:#fff6}.foot-col h4{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:16px;font-size:.68rem;font-weight:500}.foot-col a,.foot-col p{color:var(--silver);margin-bottom:10px;font-size:.9rem;text-decoration:none;display:block}.foot-col a:hover{color:#fff}.legal{color:var(--silver-dim);padding-top:26px;font-size:.76rem;line-height:1.6}.legal a{color:var(--silver);text-decoration:none}.legal-links{font-family:var(--mono);letter-spacing:.04em;flex-wrap:wrap;gap:18px;margin-bottom:16px;font-size:.74rem;display:flex}@media (width<=920px){.foot-top{grid-template-columns:1fr 1fr;gap:30px}}@media (width<=560px){.foot-top{grid-template-columns:1fr}}.skip{z-index:200;background:var(--navy);color:#fff;font-family:var(--mono);border-radius:0 0 10px;padding:12px 18px;font-size:.8rem;position:absolute;top:0;left:-999px}.skip:focus{left:0}.nav-right .btn-primary,.nav-right .btn.btn-primary{border-radius:999px;background:var(--navy)!important;padding:12px 22px!important;font-size:15px!important;font-weight:500!important}html.nav-open .nav{position:fixed;top:0;left:0;right:0}html.nav-open body{padding-top:68px}.btn.btn-primary:hover,.btn.btn-primary.mw-cta:hover{background:var(--navy-deep);transform:translateY(-1px)}.nav-right .btn.btn-primary:hover{transform:none;background:var(--navy-deep)!important}footer.site{color:#aebed2;background:#0b3962;border-top:1px solid #2b68a3;padding-block:60px 34px}footer.site .foot-grid{grid-template-columns:1.7fr 1fr 1.3fr;gap:36px;display:grid}@media (width<=820px){footer.site .foot-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){footer.site .foot-grid{grid-template-columns:1fr}}footer.site .foot-brand b{font-family:var(--display),"Fraunces",Georgia,serif;color:#fff;font-size:1.2rem}footer.site .foot-brand .foot-mark{color:#fff;align-items:center;gap:10px;display:flex}footer.site .foot-brand .foot-mark svg{flex:none}footer.site .foot-brand .foot-mark .mk-disc{fill:#cfcfcf}footer.site .foot-brand .foot-mark .mk-arrow{fill:#0f487f}footer.site .foot-brand p{max-width:34ch;margin-top:14px;font-size:.9rem}footer.site .socials{gap:11px;margin-top:22px;display:flex}footer.site .socials a{color:#aebed2;border:1px solid #2b68a3;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;margin:0;transition:color .18s,border-color .18s,background .18s;display:inline-flex}footer.site .socials a:hover{color:#fff;background:#1460a929;border-color:#1460a9}footer.site .socials svg{width:16px;height:16px}footer.site .foot-contact a{color:#ccd8ea}footer.site .foot-contact a:hover{color:#fff}footer.site h4{font-family:var(--body),"Inter",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#aacaee;margin-bottom:16px;font-size:.7rem;font-weight:600}footer.site a{color:#aebed2;margin-bottom:10px;font-size:.9rem;transition:color .18s;display:block}footer.site a:hover{color:#fff}footer.site .foot-legal{border-top:1px solid #2b68a3;flex-wrap:wrap;justify-content:space-evenly;gap:8px 22px;margin-top:38px;padding-top:24px;font-size:.78rem;display:flex}footer.site .foot-legal a{margin-bottom:0}@media (width<=560px){footer.site .foot-legal{flex-direction:column;align-items:flex-start;gap:14px}}footer.site .disclosure{color:#8095ad;margin-top:18px;font-size:.74rem;line-height:1.6}.cookie-consent{--cream:var(--paper);--line:var(--border);--f-display:var(--display);--ink-soft:var(--muted);--brand:var(--navy);--brand-2:var(--navy-deep);z-index:300;background:var(--cream);border:1px solid var(--line);border-radius:18px;max-width:380px;padding:26px 26px 22px;position:fixed;bottom:clamp(14px,3vw,28px);left:clamp(14px,3vw,28px);box-shadow:0 30px 60px -24px #0f487f66}.cookie-consent[hidden]{display:none}.cookie-consent .cc-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.cookie-consent .cc-head img{width:auto;height:26px}.cookie-consent .cc-head b{font-family:var(--f-display);color:var(--ink);flex:1;font-size:1.15rem;font-weight:500}.cookie-consent .cc-close{cursor:pointer;color:var(--ink-soft);background:0 0;border:0;border-radius:6px;padding:4px;line-height:0}.cookie-consent .cc-close:hover{color:var(--ink)}.cookie-consent .cc-close svg{width:18px;height:18px}.cookie-consent p{color:var(--ink-soft);margin-bottom:18px;font-size:.92rem;line-height:1.6}.cookie-consent .cc-accept{justify-content:center;width:100%;padding:.95em 1.5em;font-size:1rem}.cookie-consent .cc-links{justify-content:center;gap:24px;margin-top:14px;display:flex}.cookie-consent .cc-links a{color:var(--brand);font-size:.9rem;font-weight:600}.cookie-consent .cc-links a:hover{color:var(--brand-2)}@media (width<=480px){.cookie-consent{max-width:none;left:12px;right:12px}}.hero-photo,.about-photo,.gallery figure img,.figure .frame,.portrait-photo{transition:transform .45s cubic-bezier(.2,.6,.2,1),box-shadow .45s}.hero-media:hover .hero-photo,.about-photo:hover,.gallery figure:hover img,.figure:hover .frame,.portrait:hover .portrait-photo{transform:translateY(-6px)scale(1.03)!important;box-shadow:0 28px 56px -24px #0f487f73!important}.btn{transition:transform .18s cubic-bezier(.2,.6,.2,1),background .2s,box-shadow .2s,color .2s,border-color .2s}.btn.btn-primary:hover,.btn-primary:hover,.btn.btn-primary.mw-cta:hover,.mw-cta:hover{background:var(--navy-deep,#0b3359)!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 14px 30px -10px #0f487f73!important}.btn-ghost:hover,.btn.ghost:hover{transform:translateY(-2px)!important;box-shadow:0 14px 30px -12px #0f487f47!important}.btn-light:hover{background:var(--mist,#eef3f9)!important;transform:translateY(-2px)!important;box-shadow:0 14px 30px -12px #0f487f4d!important}@media (prefers-reduced-motion:reduce){.hero-media:hover .hero-photo,.about-photo:hover,.gallery figure:hover img,.figure:hover .frame,.portrait:hover .portrait-photo,.btn.btn-primary:hover,.btn-primary:hover,.mw-cta:hover,.btn-ghost:hover,.btn.ghost:hover,.btn-light:hover{transform:none!important}}.diagram,.data,.media,.dive-art,.illus,.viz,.illo{transition:transform .45s cubic-bezier(.2,.6,.2,1),box-shadow .45s}.diagram:hover,.data:hover,.media:hover,.dive-art:hover,.illus:hover,.viz:hover,.illo:hover{transform:translateY(-6px)scale(1.025)!important;box-shadow:0 28px 56px -24px #0f487f66!important}@media (prefers-reduced-motion:reduce){.diagram:hover,.data:hover,.media:hover,.dive-art:hover,.illus:hover,.viz:hover,.illo:hover{transform:none!important}}.cta-center{width:fit-content;margin-top:26px;margin-left:auto;margin-right:auto;display:flex}@media (width<=640px){.hero-cta,.hero-actions,.cta-row{text-align:center;justify-content:center}}.glide,.rail-card,.instr,.meter-card,.instrument,.cf-inst,.readout{transition:transform .45s cubic-bezier(.2,.6,.2,1),box-shadow .45s}.glide:hover,.rail-card:hover,.instr:hover,.meter-card:hover,.instrument:hover,.cf-inst:hover,.readout:hover{transform:translateY(-6px)scale(1.025)!important;box-shadow:0 28px 56px -24px #0f487f66!important}@media (prefers-reduced-motion:reduce){.glide:hover,.rail-card:hover,.instr:hover,.meter-card:hover,.instrument:hover,.cf-inst:hover,.readout:hover{transform:none!important}}.cta-row .btn-primary,.hero-cta .btn-primary,.hero-ctas .btn-primary,.hero-actions .btn-primary{background:var(--navy)!important;color:#fff!important;border:1px solid var(--navy)!important;box-shadow:none!important}.cta-row .btn-primary:hover,.hero-cta .btn-primary:hover,.hero-ctas .btn-primary:hover,.hero-actions .btn-primary:hover{background:var(--navy-deep)!important;color:#fff!important;border-color:var(--navy-deep)!important;box-shadow:none!important;transform:none!important}.cta-row .btn-ghost,.hero-cta .btn-ghost,.hero-ctas .btn-ghost,.hero-actions .btn-ghost{color:var(--navy)!important;border:1px solid var(--border)!important;box-shadow:none!important;background:0 0!important}.cta-row .btn-ghost:hover,.hero-cta .btn-ghost:hover,.hero-ctas .btn-ghost:hover,.hero-actions .btn-ghost:hover{color:var(--blue)!important;border-color:var(--blue)!important;box-shadow:none!important;background:0 0!important;transform:none!important}
