@charset "UTF-8";
:root{color-scheme:dark;--bg:#080c11;--panel:#101720;--panel2:#0c121a;--ink:#f1f4f8;--muted:#98a5b5;--blue:#579bff;--line:#26313d;--cyan:#87d3e8;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}button{color:inherit}::selection{color:var(--bg);background:var(--cyan)}.page-width{width:min(1280px,calc(100% - 96px));margin-inline:auto}.mono,.eyebrow{font-family:var(--mono)}.mono{font-size:.75rem;letter-spacing:.05em}.eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.11em;color:var(--blue);margin:0 0 25px;font-weight:500}.muted{color:var(--muted)}.skip-link{position:absolute;left:24px;top:-90px;background:var(--blue);color:var(--bg);padding:12px;z-index:100}.skip-link:focus{top:12px}.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;width:min(1400px,calc(100% - 96px));margin:auto;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:14px;font-size:.95rem;font-weight:600}.monogram{font-size:1.8rem;font-weight:700;color:var(--blue);letter-spacing:-.09em;line-height:1}.site-header nav{display:flex;gap:36px;font-size:.875rem}.site-header nav a{color:#b6c0cd;padding:8px 0}.site-header nav a:hover{color:var(--ink)}.header-note{color:var(--muted);font-size:.75rem;line-height:1.6;text-align:right}.hero{position:relative;padding-top:62px;display:grid;grid-template-columns:1.02fr 1fr;gap:18px;min-height:760px}.hero-copy{position:relative;z-index:1;padding-top:7px}.hero .eyebrow{display:flex;align-items:center;gap:11px;font-size:.6875rem;letter-spacing:.09em;white-space:nowrap}.small-line{width:18px;height:1px;background:var(--blue);display:inline-block;flex-shrink:0}h1{font-size:clamp(3.7rem,6vw,5.7rem);font-weight:500;line-height:1.02;letter-spacing:-.065em;margin:34px 0 28px}h1 span{color:var(--blue)}.hero-intro{font-size:1.0625rem;color:#a9b6c5;max-width:430px;line-height:1.65;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 22px;border:1px solid transparent;font-size:.875rem;font-weight:600;border-radius:3px}.primary{background:var(--blue);color:#071320}.primary:hover{background:#7bb3ff}.text-link{font-size:.875rem;font-weight:500;display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid #4c5b6c;padding-block:5px}.text-link:hover{color:var(--blue)}.text-link span{display:none}.hero-figure{min-width:0;margin:40px 0 0;position:relative;display:flex;flex-direction:column;align-self:start;height:470px}.figure-top{display:flex;justify-content:space-between;position:absolute;top:0;width:100%;z-index:1;color:#7f8da0;padding:0 9px}.figure-coordinate{color:#527ba4}#hero-wave{width:100%;height:430px;display:block}.hero-figure figcaption{display:flex;justify-content:space-between;gap:15px;font-size:.8125rem;color:#aab8c9;border-top:1px solid var(--line);padding:16px 9px}.hero-figure figcaption .mono{font-size:.6875rem;color:#71859c;white-space:nowrap}.hero-bottom{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;align-self:end;padding-bottom:31px;padding-top:45px;color:#94a2b2;font-size:.8125rem}.hero-bottom>span:last-child{text-align:right;font-size:.6875rem}.scroll-note{font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;display:flex;gap:22px;color:#d1d9e3;align-items:center}.scroll-note span{font-size:1.25rem;color:var(--blue)}.discipline-strip{border-block:1px solid var(--line);background:#0b1017}.discipline-strip>div{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-block:23px;font-size:.875rem;color:#b8c3d1}.strip-plus{color:#46627f;font-size:1rem}.section-space{padding-block:104px}.section-heading{display:grid;grid-template-columns:1.6fr 1fr;column-gap:60px;align-items:end;margin-bottom:45px}.section-heading>.eyebrow{grid-column:1/-1;margin-bottom:24px}.section-heading>h2{margin:0}.section-heading>p:last-child:not(.eyebrow){max-width:380px;justify-self:end;color:var(--muted);margin:0 0 3px;font-size:1rem}h2{font-size:clamp(2.15rem,3.5vw,3.25rem);line-height:1.12;letter-spacing:-.045em;font-weight:500;margin:0}h3{font-weight:500;letter-spacing:-.025em;line-height:1.2}.project-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:20px}.project{background:var(--panel);border:1px solid var(--line);padding:30px 31px;display:flex;flex-direction:column;min-width:0;position:relative;transition:border-color .2s}.project:hover{border-color:#4c6481}.project-featured{background:#101b29;border-top:2px solid var(--blue);padding-top:29px}.project-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:38px}.project-top>.mono{color:#899eb8;font-size:.6875rem}.badge{font-size:.6875rem;border:1px solid #314158;color:#b7c8db;line-height:1.5;padding:4px 8px;border-radius:2px;white-space:nowrap}.project h3{font-size:2rem;margin:0 0 13px}.project-lead{color:#d3dce7;font-size:1.0625rem;line-height:1.45;margin:0 0 14px}.project>p:not(.project-lead){font-size:.9375rem;line-height:1.65;color:#a8b5c5;margin:0;max-width:465px}.equation-block{padding:29px 0 32px;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;min-height:137px}.equation-block>span{font-family:Georgia,serif;font-size:2.1rem;font-style:italic;color:#91bdff;letter-spacing:.015em}.equation-block sub{font-size:.9rem}.equation-block>small{font-family:var(--mono);font-size:.625rem;letter-spacing:.07em;color:#839bb9}.project-foot{margin-top:auto;border-top:1px solid #2a3848;padding-top:20px;display:flex;flex-wrap:wrap;gap:17px;justify-content:space-between;align-items:center}.project-tags{font-family:var(--mono);font-size:.6875rem;color:#8da0b8;line-height:1.5}.brief-link{display:flex;align-items:center;justify-content:space-between;gap:17px;background:none;border:0;padding:4px 0;font-size:.875rem;color:#cbd8e8}.brief-link span{font-size:1.1rem;color:var(--blue)}.brief-link:hover{color:var(--blue)}.relation-visual{display:flex;align-items:center;justify-content:center;gap:23px;min-height:137px;padding:25px 0}.relation-visual>span{border:1px solid #35465c;display:flex;min-width:64px;height:58px;align-items:center;justify-content:center;background:#111e2d;font-family:Georgia,serif;font-style:italic;font-size:1.6rem;color:#a6c8f8}.relation-visual>i{font-style:normal;color:#557392}.relation-visual>.checked{background:#142631;color:var(--cyan);font-style:normal;font-family:var(--sans)}.project-ai,.project-systems{background:#0f151e}.project-ai>.project-top,.project-systems>.project-top{margin-bottom:28px}.code-line{font-family:var(--mono);font-size:.8125rem;border-left:2px solid #355b8b;background:#0a1018;padding:18px 17px;margin:26px 0;color:#8295ab}.code-blue{color:#79b0ff}.code-white{color:#d0dae7}.system-chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 27px}.system-chips>span{border:1px solid #2b3745;font-size:.75rem;padding:6px 9px;color:#b5c2d2}.wave-section{background:#0c121a;border-block:1px solid var(--line)}.lab-heading{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;margin-bottom:40px;align-items:end}.lab-heading>p{color:var(--muted);margin:0 0 2px;max-width:390px;justify-self:end}.lab-panel{border:1px solid #2a3a4d;border-radius:4px;overflow:hidden;background:#080f18}.lab-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #253448;padding:18px 24px}.lab-toolbar>.mono{color:#92a9c7;font-size:.6875rem}.play-button{background:none;border:1px solid #30465e;border-radius:3px;padding:6px 12px;font-size:.8125rem;display:flex;align-items:center;gap:9px}.play-button>span:first-child{font-size:.875rem;color:var(--blue);width:12px}.play-button:hover{background:#192635}.lab-main{display:grid;grid-template-columns:1fr 290px}.lab-plot{min-width:0;position:relative;min-height:380px;display:flex;align-items:center}.lab-plot canvas{width:100%;height:100%;min-height:380px;display:block}.plot-axis{position:absolute;left:24px;bottom:22px;color:#6e839e}.lab-controls{padding:25px 26px;border-left:1px solid #253448;background:#111b28}.control-kicker{color:#879bb5;font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;margin:0 0 20px}.range-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;margin-bottom:10px}.range-heading output{font-family:var(--mono);color:var(--blue);font-size:.875rem}.range-heading label{font-weight:500}.lab-controls input[type=range]{display:block;width:100%;accent-color:var(--blue);margin:0;min-height:27px;cursor:pointer}.range-extents{display:flex;justify-content:space-between;font-size:.6875rem;color:#8fa0b5;margin-top:5px}.mix-heading{margin-top:24px}.view-control{margin-top:23px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.875rem}.view-control select{color:#cbd7e7;background:#0b131e;border:1px solid #3a4d65;max-width:135px;padding:6px 5px;border-radius:2px;font-size:.8125rem}.lab-readout{border-top:1px solid #304057;margin-top:23px;padding-top:18px}.lab-readout>.mono{font-size:.625rem;color:#91a6c2;letter-spacing:.03em}.unit{color:#758ba7}.lab-readout output{display:block;font-family:var(--mono);font-size:1.7rem;color:#d3e4fc;margin-top:4px}.lab-readout p{font-size:.75rem;color:#8fa4be;line-height:1.5;margin:4px 0 18px}.reset-button{background:none;border:0;border-bottom:1px solid #495f7b;color:#a9bdd6;font-size:.8125rem;padding:3px 0}.reset-button:hover{color:#e0edff}.lab-caption{padding:22px 24px;border-top:1px solid #253448;display:flex;align-items:start;justify-content:space-between;gap:40px}.lab-caption code{color:#9bc6ff;font-size:.8125rem;line-height:1.8;flex-basis:50%}.lab-caption p{font-size:.8125rem;color:#8fa2bb;line-height:1.6;max-width:430px;flex-basis:50%;margin:0}.approach .section-heading{margin-bottom:49px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.approach-grid article{border-top:1px solid #344051;padding-top:24px}.step-number{color:var(--blue)}.approach-grid h3{font-size:1.35rem;margin:18px 0 14px}.approach-grid p{color:var(--muted);font-size:.9375rem;line-height:1.7;margin:0}.about-section{background:#111820;border-block:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-grid h2{font-size:clamp(3.5rem,5.5vw,5rem)}.about-descriptor{display:block;margin-top:27px;color:#90a1b5;font-size:.875rem}.about-copy{padding-top:30px}.about-copy p{font-size:1rem;line-height:1.8;color:#a5b3c4;margin:0 0 24px}.about-copy .large-copy{font-size:1.6rem;line-height:1.45;color:#e1e7ee;letter-spacing:-.025em}.about-facts{display:flex;flex-wrap:wrap;gap:12px 24px;font-family:var(--mono);font-size:.6875rem;color:#8da4c0;margin-top:31px;margin-bottom:31px}.about-copy .text-link{color:#b8d3f4}.site-footer{padding-block:35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer>.identity{font-size:.8125rem}.site-footer .monogram{font-size:1.5rem}.site-footer>span{color:#8192a6;font-size:.75rem}.site-footer>.mono{font-size:.6875rem}dialog{background:#111b27;color:var(--ink);border:1px solid #3d516c;border-radius:5px;width:min(700px,calc(100% - 32px));max-height:calc(100dvh - 50px);padding:0}dialog::backdrop{background:rgba(0,5,12,.8);backdrop-filter:blur(6px)}.dialog-inner{padding:32px 38px}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.dialog-top .mono{color:var(--blue);font-size:.6875rem}.close-button{border:1px solid #344a63;min-width:40px;min-height:40px;background:#0d1723;border-radius:3px;font-size:1.6rem;line-height:1}.close-button:hover{background:#293d54}dialog h2{font-size:2.3rem;line-height:1.2;margin:0 0 20px}.dialog-intro{color:#c6d6eb;font-size:1.1rem;line-height:1.6;margin:0 0 26px}.brief-section{border-top:1px solid #2b4059;padding-top:22px;margin-top:23px}.brief-section h3{color:#e0eaf8;font-size:1rem;margin:0 0 10px}.brief-section p{color:#a5b8d0;font-size:.9375rem;line-height:1.7;margin:0 0 12px}.brief-section .source{font-family:var(--mono);font-size:.6875rem;overflow-wrap:anywhere;color:#859bb7}.dialog-done{background:#20344f;color:#d1e4fc;border:1px solid #3a5474;margin-top:27px}.dialog-done:hover{background:#2c486b}
@media(min-width:1500px){.hero{min-height:800px;padding-top:75px}.hero-figure{height:510px;margin-top:37px}#hero-wave{height:470px}}
@media(max-width:1100px){.page-width,.site-header{width:calc(100% - 64px)}.header-note{display:none}.hero{min-height:705px;padding-top:50px;grid-template-columns:1.1fr 1fr}.hero .eyebrow{font-size:.625rem;letter-spacing:.045em}h1{font-size:4.3rem}.hero-figure{height:430px}#hero-wave{height:389px}.hero-actions{gap:20px}.project{padding:25px}.project-top{margin-bottom:25px}.project h3{font-size:1.75rem}.project-foot{align-items:start;flex-direction:column;gap:10px}.section-heading,.lab-heading{gap:35px}.lab-main{grid-template-columns:1fr 270px}.about-grid{gap:60px}}
@media(max-width:800px){.page-width,.site-header{width:calc(100% - 40px)}.site-header{min-height:88px}.site-header nav{gap:20px}.hero{grid-template-columns:1fr;padding-top:40px;min-height:auto;gap:0}.hero-copy{padding-top:0}.hero .eyebrow{font-size:.6875rem;letter-spacing:.06em}h1{font-size:clamp(3.8rem,10vw,5.5rem);margin-top:28px}.hero-intro{max-width:490px}.hero-figure{margin-top:48px;height:375px}#hero-wave{height:334px}.hero-bottom{padding-top:20px}.hero-bottom>span:first-child{display:none}.hero-bottom>span:last-child{font-size:.625rem}.discipline-strip>div{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;justify-content:start;padding-block:21px;font-size:.8125rem}.strip-plus{display:none}.section-space{padding-block:70px}.section-heading,.lab-heading{display:block;margin-bottom:32px}.section-heading>.eyebrow{margin-bottom:22px}.section-heading>p:last-child:not(.eyebrow),.lab-heading>p{margin-top:22px;max-width:530px}.project-grid{grid-template-columns:1fr;gap:16px}.project{padding:27px}.project-top{margin-bottom:26px}.project h3{font-size:1.85rem}.project>p:not(.project-lead){max-width:550px}.project-foot{flex-direction:row;align-items:center;gap:12px}.equation-block{min-height:140px}.lab-main{grid-template-columns:1fr}.lab-controls{border-left:0;border-top:1px solid #253448;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;position:relative}.control-kicker{grid-column:1/-1}.range-heading{grid-column:1;grid-row:2}.lab-controls #phase{grid-column:1;grid-row:3}.range-extents{grid-column:1;grid-row:4}.mix-heading{grid-column:2;grid-row:2;margin-top:0}.lab-controls #mix{grid-column:2;grid-row:3}.lab-controls #mix+.range-extents{grid-column:2;grid-row:4}.view-control{grid-column:1;grid-row:5;align-self:start}.lab-readout{grid-column:2;grid-row:5 / span 2;border-top:0;padding-top:0;margin-top:22px}.reset-button{grid-column:1;grid-row:6;justify-self:start;align-self:start;margin-top:20px}.lab-caption{display:block;padding:20px}.lab-caption code{font-size:.75rem;display:block;overflow-wrap:anywhere}.lab-caption p{max-width:none;margin-top:12px}.approach-grid{gap:26px}.approach-grid h3{font-size:1.15rem}.about-grid{grid-template-columns:1fr;gap:22px}.about-copy{padding-top:0}.about-grid h2{font-size:4rem}.about-descriptor{margin-top:22px}.site-footer{flex-wrap:wrap}.site-footer>span:nth-child(2){order:3;flex-basis:100%}}
@media(max-width:480px){.site-header>.identity{gap:10px;font-size:.8125rem}.monogram{font-size:1.55rem}.site-header nav{font-size:.75rem;gap:14px}.hero .eyebrow{font-size:.625rem;letter-spacing:.025em}.hero-actions{gap:19px;flex-wrap:wrap}.hero .button{padding-inline:17px}.hero-figure{height:315px;margin-top:40px}#hero-wave{height:274px}.hero-figure figcaption{padding-inline:0;font-size:.75rem}.hero-figure figcaption .mono{font-size:.625rem}.hero-bottom{padding-bottom:25px}.project{padding:24px}.project-top{gap:10px}.project-top>.mono{font-size:.625rem}.project h3{font-size:1.65rem}.project-foot{align-items:start;flex-direction:column}.equation-block>small{font-size:.56rem;letter-spacing:.01em}.lab-toolbar{padding:15px;gap:10px}.lab-toolbar>.mono{font-size:.625rem;max-width:150px}.play-button{padding:6px 8px;font-size:.75rem}.lab-plot{min-height:285px}.lab-plot canvas{min-height:285px}.lab-controls{padding:22px 19px;column-gap:20px}.view-control{flex-direction:column;align-items:start;gap:8px}.view-control select{max-width:100%;width:100%}.range-extents{font-size:.625rem}.range-heading{font-size:.8125rem;gap:8px}.range-heading output{font-size:.8125rem}.lab-readout>.mono{font-size:.625rem}.unit{display:block}.lab-readout output{font-size:1.5rem}.lab-readout p{font-size:.6875rem}.reset-button{margin-top:16px}.approach-grid{grid-template-columns:1fr;gap:29px}.approach-grid h3{font-size:1.3rem;margin-top:11px}.dialog-inner{padding:23px}.dialog-top{margin-bottom:22px}.dialog-top .mono{font-size:.625rem}dialog h2{font-size:1.85rem}.dialog-intro{font-size:1rem}.about-copy .large-copy{font-size:1.5rem}}
h1,h2,h3{overflow-wrap:anywhere}.hero-figure figcaption{flex-wrap:wrap}.hero .eyebrow{white-space:normal}.site-header{flex-wrap:wrap;gap:18px;padding-block:22px}.hero-copy,.section-heading>*{min-width:0}
.hero .eyebrow,.hero-bottom>span:last-child,.scroll-note,.hero-figure figcaption .mono,.project-top>.mono,.badge,.project-tags,.equation-block>small,.lab-toolbar>.mono,.control-kicker,.range-extents,.lab-readout>.mono,.lab-readout p,.about-facts,.site-footer>.mono,.dialog-top .mono,.brief-section .source{font-size:.75rem}.project>p:not(.project-lead),.approach-grid p,.brief-section p{font-size:1rem}.play-button,.reset-button,.range-heading,.range-heading output,.view-control select{font-size:.875rem}
@media(max-width:360px){h1{font-size:3.35rem}.site-header{column-gap:14px}.site-header nav{gap:12px}.site-header>.identity{font-size:.75rem}.lab-controls{column-gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:480px){.hero .eyebrow{font-size:.75rem}.project-top>.mono,.dialog-top .mono{font-size:.75rem}.site-header nav{font-size:.875rem}.site-header>.identity{font-size:.875rem}.equation-block>small{font-size:.75rem;text-align:center}.header-note{font-size:.75rem}.hero-figure figcaption{font-size:.75rem}.hero-bottom>span:last-child{font-size:.75rem}}
