:root{color-scheme:dark;--bg:#182438;--surface:#1e2d43;--raised:#25364e;--text:#f1f4f8;--muted:#b4c1d1;--line:#3b4c65;--accent:#b7d6f2;--blue:#8cb7dd;--max:1240px;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%}button:disabled{opacity:.4;cursor:default}.container{width:min(var(--max),calc(100% - 96px));margin:auto}.skip-link{position:fixed;z-index:100;top:10px;left:16px;transform:translateY(-160%);background:var(--text);color:var(--bg);padding:10px 18px;border-radius:8px}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid #46566c6b;background:#182438f5;backdrop-filter:blur(16px)}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:650;letter-spacing:.08em}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid #6b86a5;border-radius:11px;color:var(--accent);font-size:14px;letter-spacing:-.06em}.nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:550}.nav>a:not(.nav-resume){color:var(--muted)}.nav>a:hover{color:white}.nav-resume{border:1px solid #6a819e;border-radius:8px;padding:9px 17px}.nav-resume span{margin-left:10px}.menu-button{display:none;color:var(--text);background:none;border:1px solid var(--line);border-radius:8px;padding:7px 12px}.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:75px;padding:78px 0 88px}.eyebrow{margin:0 0 24px;color:var(--accent);font-size:11px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow-dot{width:7px;height:7px;background:var(--accent);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.14;font-weight:550}h1{font-size:clamp(42px,4.35vw,64px);letter-spacing:-.045em;margin-bottom:25px}h1 .soft{color:var(--accent)}.hero-description{color:var(--muted);font-size:16px;line-height:1.8;max-width:495px;margin-bottom:29px}.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:46px;padding:11px 21px;border-radius:8px;border:1px solid #7288a3;font-size:13px;font-weight:600;transition:background .2s,transform .2s;background:transparent;color:var(--text)}.button:hover{background:#334962;transform:translateY(-1px)}.button.primary{background:var(--accent);border-color:var(--accent);color:#17273b}.button.primary:hover{background:#d0e6f9}.hero-footnote{margin:27px 0 0;color:#a0b2c8;font-size:12px;display:flex;gap:12px;flex-wrap:wrap}.hero-footnote i{color:#637c99;font-style:normal}.hero-visual{position:relative;align-self:stretch;display:flex;align-items:center}.board-frame{width:100%;background:#223248;border:1px solid #405572;border-radius:var(--radius);overflow:hidden;box-shadow:0 22px 55px #0d162433}.frame-top{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #43546b;font-family:"SFMono-Regular",Consolas,monospace;font-size:10px;color:#b8cce2;letter-spacing:.08em}.frame-top .live-label{display:flex;align-items:center;gap:7px}.frame-top .live-label:before{content:"";width:5px;height:5px;border-radius:50%;background:#b7d6f2}.board-stage{position:relative;background:#d2d0eb;min-height:330px;display:grid;place-items:center;padding:18px 45px}.board-stage img{height:320px;width:auto;max-width:100%;object-fit:contain}.frame-bottom{display:flex;justify-content:space-between;gap:16px;padding:17px 20px}.frame-bottom strong{display:block;font-size:12px;font-weight:550}.frame-bottom span{font-size:10px;color:var(--muted)}.frame-arrow{display:flex;align-items:center;font-size:21px;color:var(--accent)}.discipline-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;color:#c6d1df;font-size:12px;letter-spacing:.03em}.discipline-bar span:first-child{font-size:10px;color:#8fa5bf;letter-spacing:.1em;text-transform:uppercase}.section{padding:84px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:31px}.section-label{font-size:11px;color:#94b1d0;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}.section-heading h2,.about-copy h2,.contact h2{font-size:36px;letter-spacing:-.035em;margin:0}.section-intro{max-width:340px;color:var(--muted);font-size:13px;margin:0}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-card{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s,border-color .2s}.project-card:hover{transform:translateY(-4px);border-color:#839fbf}.project-image{height:294px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#253650;padding:24px;position:relative}.project-image.rf{background:#d2d0eb}.project-image.rf img{height:260px;object-fit:contain}.project-image.buck{background:#1a293e}.project-image.buck img{width:100%;height:100%;object-fit:contain}.image-label{position:absolute;top:18px;left:18px;border:1px solid #657b98;background:#19273be8;color:#e3edf7;border-radius:5px;font-family:Consolas,monospace;font-size:10px;letter-spacing:.04em;padding:4px 8px}.project-info{padding:26px}.project-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;color:#abc3df;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.project-info h3{font-size:25px;letter-spacing:-.025em;margin-bottom:12px}.project-info p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:23px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tag{border:1px solid #4a5e78;border-radius:5px;padding:3px 8px;font-size:10px;color:#c7d5e6}.card-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;color:var(--accent);font-size:12px;font-weight:600}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:.95fr 1.05fr;gap:90px}.about-copy h2{margin-bottom:26px}.about-copy p{font-size:14px;color:var(--muted);line-height:1.9}.about-copy .text-link{color:var(--accent);font-size:12px;font-weight:550;border-bottom:1px solid #6f88a5;padding-bottom:5px}.skills{display:grid;gap:0}.skill-row{padding:20px 0;border-bottom:1px solid var(--line)}.skill-row:first-child{padding-top:0}.skill-number{color:#89a8c9;font-family:Consolas,monospace;font-size:10px;margin-right:12px}.skill-row h3{font-size:17px;margin-bottom:10px}.skill-row p{font-size:12px;line-height:1.8;color:var(--muted);margin:0;padding-left:28px}.contact{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:55px;border-top:1px solid var(--line);padding:62px 0 67px}.contact h2{font-size:37px;margin-bottom:16px}.contact p{color:var(--muted);font-size:13px;max-width:390px}.contact-links{display:flex;flex-direction:column;align-items:stretch;gap:0}.contact-link{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);color:var(--accent);font-size:14px}.contact-link:first-child{padding-top:0}.contact-link span:first-child small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#99afc9;margin-bottom:3px}.site-footer{border-top:1px solid var(--line);padding:23px 0 27px;color:#94a8c1;font-size:11px}.footer-inner{display:flex;justify-content:space-between;gap:20px}.breadcrumb{display:inline-flex;gap:11px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:33px}.breadcrumb:hover{color:white}.project-hero{padding:44px 0 50px}.project-hero h1{max-width:960px;font-size:clamp(38px,4.5vw,60px)}.project-hero .eyebrow{margin-bottom:18px}.project-lead{max-width:760px;color:var(--muted);font-size:16px;line-height:1.8;margin-bottom:26px}.project-hero .button-row{margin-bottom:28px}.status-note{display:flex;gap:9px;align-items:center;font-size:11px;color:#b5c5d8}.status-note:before{content:"";height:5px;width:5px;border-radius:50%;background:var(--accent)}.project-banner{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-bottom:38px}.project-banner .visual{background:#d2d0eb;min-height:420px;border-radius:var(--radius);overflow:hidden;display:grid;place-items:center;border:1px solid var(--line);padding:25px}.project-banner .visual img{max-height:390px;width:100%;object-fit:contain}.project-banner.buck .visual{background:#253a55}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.spec{padding:26px;background:var(--surface);display:flex;flex-direction:column;justify-content:center;gap:10px}.spec strong{font-size:29px;font-weight:500;line-height:1.15;letter-spacing:-.025em}.spec span{font-size:11px;color:var(--muted);line-height:1.6}.project-body{display:grid;grid-template-columns:205px minmax(0,1fr);gap:65px;padding:8px 0 80px}.project-toc{position:sticky;top:116px;align-self:start;display:flex;flex-direction:column;gap:16px;padding-top:19px}.project-toc p{color:#90aac8;font-size:10px;letter-spacing:.1em;margin:0 0 7px}.project-toc a{font-size:12px;color:var(--muted);padding-left:13px;border-left:1px solid var(--line)}.project-toc a:hover{color:var(--accent);border-color:var(--accent)}.article-section{padding:28px 0 38px;border-bottom:1px solid var(--line)}.article-section:first-child{padding-top:16px}.article-section:last-child{border-bottom:0}.article-section h2{font-size:28px;letter-spacing:-.025em;margin-bottom:20px}.article-section h3{font-size:17px;margin:26px 0 13px}.article-section p,.article-section li{color:var(--muted);font-size:14px;line-height:1.9}.article-section ul{padding-left:19px}.article-section li{margin-bottom:9px}.article-section strong{color:#dce7f2;font-weight:600}.signal-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:26px 0}.signal-flow div{background:var(--raised);border:1px solid var(--line);padding:17px 10px;border-radius:7px;font-size:11px;line-height:1.55;position:relative}.signal-flow div small{display:block;color:#8ca9c8;margin-bottom:8px;font-family:Consolas,monospace;font-size:10px}.figure{margin:25px 0}.figure button{display:block;width:100%;border:1px solid #62768c;background:#e5e6e8;border-radius:10px;padding:14px;overflow:hidden}.figure button:hover{border-color:var(--accent)}.figure img{width:100%;max-height:560px;object-fit:contain}.figure figcaption{font-size:11px;color:#a8bdd4;line-height:1.7;margin-top:10px}.figure-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.figure-pair .figure img{height:300px;object-fit:contain}.spec-table{border-collapse:collapse;width:100%;font-size:12px;margin:24px 0}.spec-table th,.spec-table td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.7}.spec-table th{color:#d8e7f5;font-weight:550;background:var(--surface)}.spec-table td{color:var(--muted)}.spec-table td:first-child{color:#d6e2ef}.table-scroll{overflow:auto}.result-note{padding:20px 23px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:25px 0}.result-note p{margin:0;font-size:13px}.project-next{border-top:1px solid var(--line);padding:35px 0 50px}.project-next a{display:flex;align-items:center;justify-content:space-between;gap:20px}.project-next small{display:block;color:#8faaca;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.project-next strong{font-size:21px;font-weight:500}.lightbox{border:1px solid #7891af;background:#182438;color:white;padding:18px;border-radius:13px;width:min(1200px,95vw);max-height:94vh}.lightbox::backdrop{background:#08111be6}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:14px;font-size:12px;color:#d2e1f2}.lightbox button{border:1px solid #7891af;background:transparent;color:white;border-radius:6px;padding:5px 13px}.lightbox img{width:100%;max-height:78vh;object-fit:contain;background:#e9e9ec}.report-header{padding:38px 0 26px}.report-header .breadcrumb{margin-bottom:20px}.report-header h1{font-size:34px;letter-spacing:-.03em;margin-bottom:12px}.report-header p{font-size:13px;color:var(--muted);margin-bottom:20px}.report-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;align-items:start;margin-bottom:70px}.report-chapters{position:sticky;top:114px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:19px}.report-chapters h2{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#b2c9e2;margin-bottom:18px}.report-chapters a{display:block;font-size:11px;color:var(--muted);padding:9px 0;border-bottom:1px solid #3b4c658c}.report-chapters a:last-child{border:0}.report-chapters a:hover{color:white}.viewer-toolbar{position:sticky;top:84px;z-index:10;background:#213249fa;border:1px solid var(--line);border-radius:9px 9px 0 0;padding:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.viewer-page-controls,.viewer-zoom-controls{display:flex;align-items:center;gap:8px}.viewer-toolbar button,.viewer-toolbar select{background:#18273c;color:#deebf8;border:1px solid #6d829d;padding:6px 10px;border-radius:5px;font-size:11px;height:33px}.viewer-toolbar select{width:160px}.viewer-toolbar label{font-size:11px;white-space:nowrap;color:#bdcee1}.viewer-status{font-family:Consolas,monospace;font-size:10px;color:#a7c1de}.report-canvas{overflow:auto;background:#101c2b;padding:24px;border:1px solid var(--line);border-top:0;min-height:420px;scrollbar-color:#7087a3 #182438}.report-page{display:block;width:100%;max-width:none;height:auto;margin:0 auto;background:white;transition:opacity .15s}.page-loading{opacity:.45}.viewer-caption{font-size:11px;color:var(--muted);margin-top:13px}.viewer-nojs{background:#30435c;padding:17px;border-radius:8px;margin-bottom:20px}.viewer-nojs a{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.error-main{padding:100px 0;max-width:670px}.error-main h1{font-size:54px}.error-main p{color:var(--muted)}
@media(min-width:1500px){.hero{padding-top:95px;padding-bottom:100px}.board-stage{min-height:370px}.board-stage img{height:350px}}@media(max-width:1050px){.container{width:calc(100% - 60px)}.hero{gap:36px;padding-top:58px;padding-bottom:65px}.hero h1{font-size:48px}.board-stage{padding:18px;min-height:300px}.board-stage img{height:280px}.discipline-bar{font-size:10px;gap:14px}.about{gap:45px}.project-body{gap:36px;grid-template-columns:170px minmax(0,1fr)}.report-layout{grid-template-columns:175px minmax(0,1fr);gap:20px}.viewer-toolbar select{width:134px}.viewer-status{display:none}.project-banner .visual{min-height:350px}.spec{padding:20px}.spec strong{font-size:25px}}@media(max-width:760px){.container{width:calc(100% - 40px)}.header-inner{height:70px}.brand{font-size:12px}.brand-mark{width:34px;height:34px}.menu-button{display:block;font-size:12px}.nav{display:none;position:fixed;top:70px;left:0;right:0;height:calc(100dvh - 70px);background:#182438;flex-direction:column;align-items:stretch;gap:0;padding:28px 25px}.nav.open{display:flex}.nav a{font-size:22px;padding:18px;border-bottom:1px solid var(--line)}.nav .nav-resume{font-size:16px;margin-top:24px;align-self:flex-start}.hero{grid-template-columns:1fr;gap:39px;padding:45px 0}.hero h1{font-size:clamp(42px,10vw,61px);max-width:540px;margin-bottom:23px}.hero .eyebrow{font-size:10px;margin-bottom:19px}.hero-description{font-size:15px;max-width:550px}.hero-footnote{margin-top:23px;font-size:11px}.board-stage{min-height:295px;padding:15px}.board-stage img{height:285px}.frame-top{font-size:9px;padding:13px 16px}.frame-bottom{padding:15px 16px}.discipline-bar{justify-content:flex-start;gap:12px 25px;flex-wrap:wrap;padding:17px 0;font-size:11px}.discipline-bar span:first-child{width:100%;font-size:9px}.section{padding:54px 0}.section-heading{align-items:start;flex-direction:column;gap:17px;margin-bottom:24px}.section-heading h2,.about-copy h2{font-size:31px}.section-intro{max-width:500px}.projects-grid{grid-template-columns:1fr;gap:22px}.project-image{height:270px}.project-image.rf img{height:240px}.project-info{padding:23px}.project-info h3{font-size:24px}.about{grid-template-columns:1fr;gap:34px}.about-copy h2{margin-bottom:21px}.contact{grid-template-columns:1fr;gap:30px;padding:46px 0}.contact h2{font-size:31px}.contact-links{max-width:100%}.contact-link{font-size:14px}.footer-inner{flex-wrap:wrap;font-size:10px;gap:9px}.project-hero{padding:28px 0 30px}.breadcrumb{font-size:11px;margin-bottom:28px}.project-hero h1{font-size:clamp(35px,8vw,48px)}.project-lead{font-size:14px}.project-banner{grid-template-columns:1fr;gap:16px;margin-bottom:25px}.project-banner .visual{min-height:330px;padding:20px}.project-banner .visual img{max-height:330px}.spec{padding:22px}.spec strong{font-size:27px}.spec span{font-size:11px}.project-body{grid-template-columns:1fr;gap:10px;padding-bottom:40px}.project-toc{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 20px;padding:18px 0 25px;border-bottom:1px solid var(--line)}.project-toc p{width:100%;margin-bottom:0}.project-toc a{font-size:11px}.article-section h2{font-size:25px}.article-section p,.article-section li{font-size:13px}.article-section{padding:26px 0}.signal-flow{grid-template-columns:1fr 1fr;gap:9px}.signal-flow div{padding:16px;font-size:11px}.figure-pair{grid-template-columns:1fr;gap:0}.figure-pair .figure img{height:auto;max-height:500px}.figure button{padding:10px}.project-next strong{font-size:18px}.report-header{padding-top:28px}.report-header h1{font-size:29px}.report-layout{grid-template-columns:1fr;gap:18px}.report-chapters{position:static;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.report-chapters h2{grid-column:1/-1;margin-bottom:6px}.report-chapters a{font-size:10px;padding:8px 0}.viewer-toolbar{top:70px;padding:9px;gap:8px}.viewer-toolbar select{width:132px}.viewer-toolbar label{font-size:10px}.viewer-toolbar button{padding:5px 8px}.viewer-zoom-controls{gap:6px}.report-canvas{padding:8px}.viewer-status{display:block;font-size:9px}.viewer-page-controls{width:100%;justify-content:space-between}.viewer-toolbar select{flex:1;width:auto;max-width:210px}.viewer-page-controls label{flex:0 0 auto}.viewer-zoom-controls{width:100%;justify-content:center}.viewer-caption{font-size:10px}.lightbox{padding:10px}.lightbox-top{font-size:11px}.button{padding:11px 17px;font-size:12px}.status-note{line-height:1.65}.error-main h1{font-size:43px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.icon{display:inline-block;width:14px;height:14px;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.frame-arrow .icon{width:19px;height:19px}.contact-link>.icon{width:17px;height:17px}.project-next>a>.icon{width:22px;height:22px}
@media(max-width:760px){.nav{overflow-y:auto}}

.hero-specialties{color:var(--accent);font-size:17px;font-weight:500;line-height:1.6;margin:0 0 18px;letter-spacing:-.01em}@media(max-width:760px){.hero-specialties{font-size:15px}}
.feedback-equation{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px!important;overflow-wrap:anywhere}.feedback-equation span{display:block}.feedback-equation span+span{margin-top:9px}.component-reference{font-size:12px!important}.component-reference a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
