:root{font-family:Segoe UI Variable,Segoe UI,system-ui,-apple-system,sans-serif;color:#17233b;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.55;--bg: #fff;--bg-alt: #f5f8fc;--bg-subtle: #eaf2ff;--text: #17233b;--text-muted: #5d6d83;--muted: #5d6d83;--primary: #101b32;--accent: #2563c9;--accent-hover: #194c9f;--accent-light: #eaf2ff;--gold: #e4ad19;--link: #2563c9;--border: #dce4ef;--border-strong: #b8c8df;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 2px 6px #101b3208;--shadow-md: 0 8px 24px #101b3212;--shadow-lg: 0 12px 32px #101b321a;--page-padding: clamp(24px, 5vw, 88px)}:root[data-theme=dark]{color-scheme:dark;--bg: #131d2c;--bg-alt: #182537;--bg-subtle: #243751;--text: #e8eef8;--text-muted: #b0c0d5;--muted: #b0c0d5;--primary: #d8e7ff;--accent: #90baff;--accent-hover: #bed7ff;--accent-light: #243751;--link: #90baff;--border: #34445a;--border-strong: #617a9a;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px}#root{min-height:100vh}a{color:var(--link);text-underline-offset:4px}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{color:inherit}img,svg{max-width:100%}img{height:auto}h1,h2,h3,h4{line-height:1.2;color:var(--text)}h1,h2{letter-spacing:-.035em}h2{font-size:clamp(1.65rem,2.3vw,2.2rem);font-weight:650}h3{font-size:1.05rem;font-weight:650}p{margin:.65em 0}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[id]{scroll-margin-top:88px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.corporate-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.main-content-area{flex:1;min-width:0;outline:none}.main-header{position:sticky;top:0;z-index:1000;min-height:72px;padding:0 var(--page-padding);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--bg);border-bottom:1px solid var(--border)}.monogram{font-size:2.2rem;line-height:1;font-weight:750;letter-spacing:-.09em;text-decoration:none;color:var(--text)}.monogram span{color:var(--accent)}.skip-link{position:fixed;top:-80px;left:24px;background:var(--bg);padding:12px;z-index:2000}.skip-link:focus{top:8px}.about-page-content,.projects-page-content,.main-content{background:var(--bg)}.about-inner{padding:40px var(--page-padding)}.header-nav,.header-actions{display:flex;align-items:center;gap:12px}.header-nav>a{display:flex;gap:8px;align-items:center;min-height:72px;padding:0 18px;text-decoration:none;background:none;border:0;border-bottom:2px solid transparent;color:var(--text);font-size:.9rem}.header-nav>a:hover{color:var(--accent);background:var(--bg-alt)}.header-nav .active{border-bottom-color:var(--gold)}.language-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--border);border-radius:5px;background:var(--bg-alt)}.language-switch button{min-width:38px;min-height:36px;border:0;border-radius:3px;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:650}.language-switch button[aria-pressed=true]{background:var(--bg);color:var(--accent);box-shadow:0 1px 3px #101b3214}.language-switch button:hover:not([aria-pressed=true]){color:var(--text);background:var(--bg-subtle)}.theme-toggle,.mobile-menu-button{border:1px solid var(--border);border-radius:5px;background:var(--bg-alt);min-width:42px;min-height:42px;padding:6px;color:var(--text)}.theme-toggle{font-size:1.5rem;line-height:1}.mobile-menu-button{display:none}.main-footer{display:flex;gap:32px;align-items:center;padding:28px var(--page-padding);border-top:1px solid var(--border);background:var(--bg-alt);font-size:.85rem}.main-footer p{margin:2px 0}.footer-note{color:var(--text-muted)}.main-footer nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:24px}.main-footer nav a{text-decoration:none;color:var(--text)}.main-footer nav a:hover{color:var(--accent)}.hero-shared{background:var(--bg-alt);padding:44px var(--page-padding);border-bottom:1px solid var(--border)}.hero-inner{max-width:100%}.hero-badge{display:block;font-size:.85rem;color:var(--accent);font-weight:600;margin-bottom:12px}.hero-title-main{font-size:clamp(2rem,3.5vw,3.4rem);font-weight:650;margin:0 0 16px;max-width:30ch;overflow-wrap:anywhere}.hero-divider{display:none}.hero-subtitle{max-width:75ch;color:var(--text-muted);margin:0;font-size:1.05rem}.hero-cta-group,.home-cta-group,.about-hero-actions,.about-cta-group{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:24px}.hero-cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:var(--bg);border:1px solid var(--primary);padding:10px 22px;font-size:.9rem;font-weight:600;text-decoration:none;border-radius:5px;transition:background .18s,border-color .18s}.hero-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.hero-cta-secondary,.hero-cta-neutral,.hero-cta-secondary-light{color:var(--text);background:transparent;border-color:var(--border-strong)}.hero-cta-secondary:hover,.hero-cta-neutral:hover{color:var(--text);background:var(--bg-subtle);border-color:var(--accent)}.hero-cta.button-gold{background:#f8c641;border-color:#f8c641;color:#101b32}.hero-cta.button-gold:hover{background:#ffdb72;border-color:#ffdb72}.hero-cta.button-outline{color:#fff;border-color:#a6bfdf;background:#12356950}.hero-cta.button-outline:hover{background:#ffffff20;border-color:#fff}.cards-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}.card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg)}.card-header,.card-body{padding:20px}.card-header{background:var(--bg-alt)}.card-title{font-size:1.2rem;margin:0}.card-desc{color:var(--text-muted);font-size:.95rem}.page-section{margin-bottom:32px}.section-action-center{margin-top:28px}.image-dialog{width:min(94vw,1400px);max-height:94dvh;padding:50px 16px 20px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.image-dialog::backdrop{background:#081322d9}.image-dialog-close{position:absolute;right:12px;top:8px}.image-dialog button{border:1px solid var(--border);border-radius:4px;background:var(--bg-alt);color:var(--text);min-width:44px;min-height:44px;font-size:1.4rem}.image-dialog-body{display:flex;gap:8px;align-items:center}.image-dialog figure{margin:0;flex:1;min-width:0}.image-dialog img{width:100%;max-height:72dvh;object-fit:contain}.image-dialog figcaption{font-size:.85rem;text-align:center}.image-dialog figcaption span{display:block;color:var(--text-muted);margin-top:6px}.image-dialog-long{max-height:76dvh;overflow-y:auto;overscroll-behavior:contain}.image-dialog-long img{max-height:none;height:auto;object-fit:initial}.image-dialog-long figcaption{padding:10px 0 4px}.image-dialog-long figcaption a{display:inline-block;margin-top:5px}.route-loading{padding:48px var(--page-padding)}.editorial-home{background:var(--bg)}.overline{margin:0;color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.075em}.editorial-hero{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr);gap:clamp(36px,5vw,90px);align-items:center;min-height:560px;padding:64px var(--page-padding) 70px;border-bottom:1px solid var(--border)}.editorial-hero-copy{max-width:620px}.editorial-hero h1{font-size:clamp(3.2rem,4.6vw,4.6rem);line-height:1.02;margin:20px 0 18px;font-weight:660;letter-spacing:-.055em}.editorial-role{margin:0 0 26px;font-size:clamp(1.25rem,1.7vw,1.65rem);color:var(--text);font-weight:550}.editorial-lead{max-width:57ch;color:var(--text-muted);font-size:1.08rem;line-height:1.7}.editorial-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:30px}.text-action{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:620;font-size:.94rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.text-action:hover{color:var(--accent-hover)}.editorial-facts{margin:42px 0 0;color:var(--text-muted);font-size:.89rem}.editorial-facts span{padding:0 7px;color:var(--gold)}.editorial-hero-visual{margin:0;min-width:0}.screen-frame{border:1px solid var(--border-strong);border-radius:7px;overflow:hidden;background:var(--bg-alt);box-shadow:0 16px 40px #101b3214}.screen-bar{height:29px;background:var(--bg-alt);border-bottom:1px solid var(--border);display:flex;gap:5px;align-items:center;padding-left:11px}.screen-bar span{width:6px;height:6px;border-radius:50%;background:var(--border-strong)}.screen-frame img{display:block;width:100%;aspect-ratio:1.63;object-fit:cover;object-position:top left}.editorial-hero-visual figcaption{color:var(--text-muted);font-size:.78rem;margin-top:11px}.selected-work,.capabilities-section,.experience-section,.profile-note,.contact-line{padding:65px var(--page-padding)}.editorial-section-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 40px;align-items:end;margin-bottom:32px}.editorial-section-intro .overline{grid-column:1 / -1}.editorial-section-intro h2{max-width:21ch;margin:0;font-size:clamp(2rem,2.8vw,2.8rem);line-height:1.15;font-weight:630}.featured-case{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);border-block:1px solid var(--border)}.featured-case-image{min-width:0;padding:30px 42px 30px 0;display:block}.featured-case-image img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover;object-position:top left;border:1px solid var(--border)}.featured-case-copy{padding:38px 0 32px 38px;border-left:1px solid var(--border);align-self:stretch;display:flex;flex-direction:column;align-items:start}.case-index{margin:0 0 14px;color:var(--text-muted);font-size:.78rem;font-variant-numeric:tabular-nums}.featured-case h3{margin:0 0 20px;font-size:clamp(1.7rem,2.2vw,2.3rem);letter-spacing:-.035em}.featured-case-copy>p:not(.case-index):not(.technology-line){color:var(--text-muted);max-width:54ch;line-height:1.63;font-size:.98rem}.featured-case-copy>p:not(.case-index):not(.technology-line)+p:not(.technology-line){margin-top:2px}.technology-line{color:var(--text-muted);font-size:.83rem;line-height:1.5}.featured-case-copy .text-action{margin-top:auto}.secondary-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.secondary-case{display:grid;grid-template-columns:minmax(120px,36%) minmax(0,1fr);gap:20px;padding:28px 0;border-bottom:1px solid var(--border)}.secondary-case>a{display:block;min-width:0;align-self:start}.secondary-case img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top left;border:1px solid var(--border)}.secondary-case h3{margin:0 0 12px;font-size:1.18rem}.secondary-case h3 a{color:var(--text);text-decoration:none}.secondary-case h3 a:hover{color:var(--accent);text-decoration:underline}.secondary-case p:not(.case-index):not(.technology-line){margin:0 0 12px;max-width:58ch;color:var(--text-muted);font-size:.9rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.capabilities-section{display:grid;grid-template-columns:minmax(240px,.54fr) minmax(0,1fr);gap:0 7vw;background:var(--bg-alt);border-block:1px solid var(--border)}.capabilities-section .editorial-section-intro{display:block;margin:0}.capabilities-section .editorial-section-intro h2{margin-top:16px}.capability-list{border-top:1px solid var(--border-strong)}.capability-list>div{display:grid;grid-template-columns:42px minmax(150px,.7fr) minmax(0,1fr);gap:12px 18px;padding:20px 0;border-bottom:1px solid var(--border);align-items:baseline}.capability-index{color:var(--accent);font-size:.78rem;font-variant-numeric:tabular-nums}.capability-list h3{margin:0;font-size:1rem}.capability-list p{margin:0;color:var(--text-muted);font-size:.9rem}.capabilities-section>.text-action{grid-column:2;margin-top:23px;justify-self:start}.experience-section .editorial-section-intro h2{max-width:30ch}.career-list{border-top:1px solid var(--border-strong)}.career-list article{display:grid;grid-template-columns:minmax(150px,.46fr) minmax(240px,.9fr) minmax(0,1.2fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--border)}.career-list h3{margin:0 0 4px;font-size:1.02rem}.career-list p{margin:0;color:var(--text-muted);font-size:.91rem;line-height:1.55}.career-period{font-variant-numeric:tabular-nums}.profile-note{display:grid;grid-template-columns:.6fr 1fr;gap:50px;background:var(--bg-alt);border-block:1px solid var(--border)}.profile-note h2{margin:12px 0;font-size:clamp(2rem,2.8vw,2.8rem)}.profile-note>div:last-child{max-width:74ch}.profile-note p:not(.overline){margin:0 0 16px;color:var(--text-muted);line-height:1.7}.contact-line{display:flex;justify-content:space-between;align-items:end;gap:24px}.contact-line h2{margin:12px 0 0;max-width:24ch;font-size:clamp(1.7rem,2.4vw,2.4rem)}.contact-line .text-action{font-size:1.05rem}.protocol-page{background:var(--bg)}.protocol-main{padding-bottom:4rem}.protocol-content{max-width:900px;margin:0 auto;padding:4rem 2rem}.protocol-breadcrumb{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;font-size:.85rem;font-weight:600;color:var(--muted)}.protocol-breadcrumb a{text-decoration:none;color:var(--muted);transition:color .2s}.protocol-breadcrumb a:hover{color:var(--accent)}.protocol-page-title{font-size:2.5rem;font-weight:800;margin:0 0 1.5rem;letter-spacing:-.02em;color:var(--text);line-height:1.2}.protocol-lead{font-size:1.15rem;line-height:1.6;color:var(--muted);margin-bottom:3rem;max-width:700px}.ot-lesson-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.ot-lesson-card{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.ot-lesson-card:hover{border-color:var(--accent);background:var(--bg);transform:translateY(-4px);box-shadow:var(--shadow-md)}.ot-lesson-id{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.ot-lesson-title{font-size:1rem;font-weight:700;color:var(--text)}.ot-lesson-objectives{background:var(--accent-light);border:1px solid var(--border);padding:2rem;border-radius:var(--radius-md);margin-bottom:3rem}.ot-lesson-objectives h3{font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:1rem}.ot-lesson-objectives ul{list-style:none;padding:0;display:grid;gap:.75rem}.ot-lesson-objectives li{font-size:.95rem;color:var(--text);padding-left:1.5rem;position:relative}.ot-lesson-objectives li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}.ot-section{margin-bottom:4rem}.ot-section-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--text);display:flex;align-items:center;gap:1rem}.ot-section-title:after{content:"";flex:1;height:1px;background:var(--border);opacity:.5}.ot-section-body{font-size:1.05rem;line-height:1.8;color:var(--text);opacity:.9}.ot-section-body>*:first-child{margin-top:0}.ot-section-body>*:last-child{margin-bottom:0}.ot-section-body p{margin:0 0 1rem}.ot-section-body ul,.ot-section-body ol{margin:0 0 1.25rem;padding-left:1.25rem}.ot-section-body li{margin-bottom:.45rem}.ot-section-body h3,.ot-section-body h4{margin:1.25rem 0 .85rem;color:var(--text)}.ot-section-body blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:3px solid var(--accent);background:var(--bg-alt);border-radius:8px}.ot-section-body table{display:block;max-width:100%;overflow-x:auto;width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.95rem}.ot-section-body th,.ot-section-body td{text-align:left;padding:.65rem .75rem;border:1px solid var(--border)}.ot-section-body th{background:var(--bg-alt);font-weight:700}.inline-code{background:var(--bg-alt);padding:.2rem .4rem;border-radius:4px;font-family:inherit;font-weight:600;color:var(--accent);font-size:.9em}.code-block{background:#1e293b;color:#f8fafc;padding:1.5rem;border-radius:var(--radius-md);margin:1.5rem 0;overflow-x:auto;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:1.5}.purdue-toc{background:var(--bg-alt);padding:2rem;border-radius:var(--radius-md);margin-bottom:3rem}.purdue-toc-title{font-size:.8rem;font-weight:800;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}.purdue-toc-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.purdue-toc-link{font-size:.9rem;color:var(--text);text-decoration:none;opacity:.7;transition:all .2s}.purdue-toc-link:hover{opacity:1;color:var(--accent);padding-left:.25rem}.purdue-checklist{list-style:none;padding:0;display:grid;gap:1rem}.purdue-checklist li{display:flex;gap:1rem;padding:1rem;border-radius:var(--radius-sm);background:var(--bg-alt);border:1px solid var(--border)}.purdue-checklist--correct{border-left:4px solid var(--accent)!important}.purdue-checklist--wrong{border-left:4px solid #ef4444!important}.purdue-checklist-icon{font-weight:800;font-size:1.2rem}.purdue-checklist--correct .purdue-checklist-icon{color:var(--accent)}.purdue-checklist--wrong .purdue-checklist-icon{color:#ef4444}.purdue-checklist-label{font-size:.7rem;font-weight:800;text-transform:uppercase;padding:.2rem .4rem;border-radius:4px;background:#0000000d;height:fit-content}.protocol-layout-container{display:flex;gap:3rem;max-width:1300px;margin:0 auto;padding:0 2rem 5rem}.protocol-article{flex:1;min-width:0}.protocol-article-title{font-size:3rem;font-weight:800;margin-bottom:2rem;color:var(--text);letter-spacing:-.03em}.protocol-article-lead{font-size:1.25rem;color:var(--muted);line-height:1.6;margin-bottom:4rem}.protocol-sidebar{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:2rem;position:sticky;top:100px;height:fit-content}.protocol-quick-facts{background:var(--bg-alt);padding:1.5rem;border-radius:var(--radius-md);border:1px solid var(--border)}.protocol-facts-title{font-size:.8rem;font-weight:800;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem;letter-spacing:.05em}.protocol-facts-grid{display:grid;gap:1rem}.fact-item{display:flex;flex-direction:column;gap:.25rem}.fact-label{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase}.fact-value{font-size:.95rem;font-weight:700;color:var(--text)}.protocol-toc-link{width:100%;text-align:left;background:transparent;border:none;padding:.75rem .5rem;font-size:.9rem;color:var(--text);opacity:.7;cursor:pointer;transition:all .2s;display:flex;gap:.75rem;border-radius:var(--radius-sm)}.protocol-toc-link:hover{opacity:1;background:var(--accent-light);color:var(--accent)}.protocol-toc-num{font-weight:800;color:var(--accent);opacity:.5;width:1.5rem}.knowledge-minimal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.knowledge-minimal-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.knowledge-minimal-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--accent);opacity:0;transition:opacity .3s}.knowledge-minimal-item:hover{transform:translate(5px);border-color:var(--accent);box-shadow:var(--shadow-md)}.knowledge-minimal-item:hover:before{opacity:1}.km-content{display:flex;flex-direction:column;gap:.25rem}.km-category{font-size:.65rem;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.1em}.km-title{font-size:1rem;font-weight:700;color:var(--text);margin:0}.km-arrow{color:var(--accent);font-size:1.25rem;opacity:0;transform:translate(-10px);transition:all .3s}.knowledge-minimal-item:hover .km-arrow{opacity:1;transform:translate(0)}.editorial-page-header{padding:58px var(--page-padding) 50px;border-bottom:1px solid var(--border);background:var(--bg-alt)}.editorial-page-header h1{max-width:20ch;font-size:clamp(2.7rem,4vw,4.2rem);font-weight:650;line-height:1.1;margin:15px 0 18px}.editorial-page-header>p:last-child{max-width:70ch;color:var(--text-muted);font-size:1.06rem;margin:0}.back-link{display:inline-block;color:var(--accent);text-decoration:none;font-size:.92rem;margin-bottom:28px}.projects-inner{padding:38px var(--page-padding) 65px;max-width:none}.project-filters{display:flex;gap:4px 20px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.project-filters button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 0;background:none;color:var(--text-muted);font-size:.88rem;min-height:44px}.project-filters button[aria-pressed=true]{color:var(--text);background:none;border-color:var(--accent)}.company-work-section{margin:48px 0 20px}.company-work-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:18px}.company-work-heading h2{font-size:clamp(1.6rem,2.25vw,2.35rem);margin:0}.company-work-heading p{margin:0 0 5px;color:var(--text-muted);font-size:.85rem}.project-record-list{border-top:1px solid var(--border-strong)}.project-record{display:grid;grid-template-columns:minmax(210px,.4fr) minmax(0,1fr);gap:clamp(24px,4vw,65px);padding:28px 0;border-bottom:1px solid var(--border);align-items:start}.project-record-image{min-width:0;display:block}.project-record-image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left;border:1px solid var(--border)}.project-record-copy{min-width:0;max-width:85ch}.project-record-company{color:var(--accent);font-size:.82rem;margin:0 0 7px}.project-record h3{font-size:clamp(1.2rem,1.6vw,1.55rem);margin:0 0 12px}.project-record h3 a{color:var(--text);text-decoration:none}.project-record h3 a:hover{color:var(--accent);text-decoration:underline}.project-record-copy>p:not(.technology-line):not(.project-record-company){color:var(--text-muted);font-size:.96rem;line-height:1.65;margin:0 0 11px;max-width:73ch}.project-record-copy .text-action{margin-top:12px}.project-record-text{grid-template-columns:minmax(0,1fr)}.company-contribution{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1fr);gap:clamp(35px,5vw,90px);padding-bottom:32px;border-bottom:1px solid var(--border)}.company-contribution h2{margin:0 0 16px;font-size:clamp(1.7rem,2.2vw,2.25rem)}.company-contribution p,.company-contribution li{max-width:72ch;color:var(--text-muted);line-height:1.65;font-size:.96rem}.company-contribution ul{margin:0;padding-left:20px}.company-contribution li+li{margin-top:10px}.project-detail-hero{padding:58px var(--page-padding) 50px;background:var(--bg-alt);border-bottom:1px solid var(--border)}.project-detail-title{max-width:26ch;font-size:clamp(2.7rem,4vw,4.2rem);font-weight:650;margin:13px 0 16px}.project-detail-meta{color:var(--text-muted);font-size:1rem}.project-detail-content{padding:38px var(--page-padding) 44px}.project-detail-block{margin:0 0 38px;padding:0 0 32px;border-bottom:1px solid var(--border)}.project-detail-block h2{font-size:clamp(1.6rem,2vw,2.1rem);margin:0 0 16px}.project-detail-block p{max-width:78ch;font-size:1rem;line-height:1.7}.project-detail-rich-text{padding:0;background:none;border:0}.project-detail-role-list{max-width:80ch;padding:0 0 0 20px;border:0;background:none;border-radius:0}.project-detail-role-list li{line-height:1.65}.project-detail-tags{display:flex;flex-wrap:wrap;gap:0}.project-detail-tag{padding:0;margin:0 12px 8px 0;background:none;border:0;border-radius:0;font-size:.9rem;color:var(--text-muted)}.project-detail-tag:not(:last-child):after{content:"·";margin-left:12px;color:var(--accent)}.project-detail-subprojects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 38px}.project-detail-subproject-card{background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:20px 0;box-shadow:none}.project-detail-subproject-card:hover{border-color:var(--border-strong);box-shadow:none}.project-detail-footer-cta{text-align:left;padding:0 var(--page-padding) 60px}.spd-groups{display:grid;gap:36px}.spd-group{border-bottom:1px solid var(--border);padding-bottom:28px}.spd-group-title{font-size:1.25rem;margin:0 0 10px}.spd-group-desc{max-width:75ch;color:var(--text-muted)}.spd-subgroups{display:grid;gap:28px}.spd-subgroup-title{font-size:1.08rem;margin:0 0 10px}.spd-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.spd-gallery-item{display:block;width:100%;min-width:0;padding:0;text-align:left;background:none;border:0;box-shadow:none}.spd-gallery-item:hover{transform:none;box-shadow:none}.spd-gallery-item img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left;border:1px solid var(--border)}.spd-gallery-caption{color:var(--text-muted);font-size:.86rem;padding:7px 0 0;background:none}.project-not-found{padding:70px var(--page-padding);text-align:left}.project-detail-role{color:var(--accent);font-weight:600;font-size:.95rem}.project-detail-back-wrap{margin:0 0 30px}.project-detail-back-link{text-decoration:none;font-size:.92rem}.project-detail-block>p{color:var(--text-muted)}.protocol-content{max-width:none;padding:36px var(--page-padding)}.protocol-layout-container{max-width:none;padding:28px var(--page-padding) 48px}.protocol-main{min-width:0}.ot-section-body{max-width:85ch}.protocol-page pre,.code-block{max-width:100%;overflow-x:auto}.protocol-page table{display:block;max-width:100%;overflow-x:auto}.protocol-sidebar{position:sticky;top:96px;align-self:start}.knowledge-minimal-grid{gap:16px}.ot-lesson-list,.protocol-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}@media(min-width:1800px){.editorial-hero{min-height:650px}.editorial-hero-visual{max-width:1100px}}@media(max-width:1100px){.header-nav{gap:0}.header-nav>a{padding:0 12px}.editorial-hero{grid-template-columns:1fr 1fr;gap:28px;min-height:0}.editorial-hero h1{font-size:clamp(2.8rem,5vw,4rem)}.featured-case{grid-template-columns:1.25fr 1fr}.secondary-work{grid-template-columns:1fr}.capabilities-section{grid-template-columns:1fr;gap:26px}.capabilities-section>.text-action{grid-column:1;margin-top:0}.profile-job{grid-template-columns:150px minmax(200px,.8fr) minmax(0,1.2fr)}.protocol-layout-container{flex-direction:column}.protocol-sidebar{width:100%;position:static}}@media(max-width:760px){.main-header{min-height:64px;gap:12px}.header-actions{gap:6px}.mobile-menu-button{display:block}.header-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);padding:12px var(--page-padding);box-shadow:var(--shadow-md)}.header-nav.is-open{display:block}.header-nav>a{min-height:48px;width:100%;padding:10px 12px}.editorial-hero{display:block;padding-top:45px;padding-bottom:40px}.editorial-hero-copy{max-width:620px}.editorial-hero h1{font-size:clamp(3rem,10vw,4rem)}.editorial-hero-visual{margin-top:44px}.editorial-facts{margin-top:29px}.selected-work,.capabilities-section,.experience-section,.profile-note,.contact-line{padding-top:44px;padding-bottom:44px}.editorial-section-intro{grid-template-columns:1fr}.editorial-section-intro .overline{grid-column:1}.featured-case{display:block}.featured-case-image{padding:20px 0 0}.featured-case-copy{border-left:0;padding:22px 0 25px}.featured-case-copy .text-action{margin-top:14px}.capability-list>div{grid-template-columns:34px minmax(0,1fr)}.capability-list p{grid-column:2}.career-list article,.profile-job{grid-template-columns:1fr;gap:8px;padding:20px 0}.profile-note{grid-template-columns:1fr;gap:16px}.contact-line{display:block}.contact-line .text-action{margin-top:24px;overflow-wrap:anywhere}.profile-header{padding-top:45px}.profile-summary,.profile-end{grid-template-columns:1fr;gap:22px}.profile-section-heading{display:block}.profile-section-heading>p{margin-top:15px}.profile-credential-grid,.profile-tech-list{grid-template-columns:1fr;gap:24px}.profile-tech-list{gap:0}.company-contribution{grid-template-columns:1fr;gap:20px}.project-record{grid-template-columns:minmax(0,1fr);gap:16px}.project-record-image img{max-height:330px}.company-work-heading{align-items:start;flex-direction:column;gap:14px}.project-detail-subprojects,.spd-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.main-footer{flex-wrap:wrap;gap:20px}.main-footer nav{margin-left:0;width:100%;gap:20px}.protocol-breadcrumb{flex-wrap:wrap}}@media(max-width:480px){.editorial-hero-visual{margin-left:calc(-1 * var(--page-padding));margin-right:calc(-1 * var(--page-padding))}.editorial-hero-visual figcaption{padding:0 var(--page-padding)}.screen-frame{border-left:0;border-right:0;border-radius:0}.secondary-case{grid-template-columns:1fr}.secondary-case img{aspect-ratio:16/9}.profile-tech-list>div{grid-template-columns:1fr;gap:5px}.project-detail-subprojects,.spd-gallery{grid-template-columns:1fr}}:root{--page-padding: clamp(22px, 4.3vw, 92px);--text: #102247;--text-muted: #526587;--accent: #075fd0;--accent-hover: #004aa9;--gold: #eeb30b;--border: #dce7f5;--border-strong: #bbcee8;--bg-alt: #f6faff}:root[data-theme=dark]{--text: #e9f1ff;--text-muted: #b5c6e1;--accent: #8bbaff;--accent-hover: #bed7ff;--border: #354963;--border-strong: #5b7191;--bg-alt: #17253b}.main-header{min-height:60px}.header-nav>a{min-height:60px}.main-footer{padding-top:18px;padding-bottom:18px}.fluent-home{background:var(--bg);color:var(--text)}.fluent-hero{display:grid;grid-template-columns:minmax(400px,42%) minmax(0,58%);min-height:398px;overflow:hidden;background:linear-gradient(105deg,#fff,#f1f8ff 47%,#bbdfff);border-bottom:1px solid var(--border)}:root[data-theme=dark] .fluent-hero{background:linear-gradient(105deg,#131d2c,#162b49 52%,#214c84)}.fluent-hero-copy{position:relative;z-index:2;padding:44px 0 25px var(--page-padding);max-width:670px}.fluent-eyebrow{margin:0 0 7px;color:var(--accent);font-size:.77rem;font-weight:750;letter-spacing:.08em}.fluent-hero h1{font-size:clamp(3rem,4.1vw,5.15rem);letter-spacing:-.055em;line-height:1;margin:0 0 7px;font-weight:720}.fluent-role{color:var(--accent);font-size:clamp(1.12rem,1.5vw,1.45rem);font-weight:650;margin:0 0 10px}.fluent-intro{color:var(--text-muted);font-size:clamp(.95rem,1.05vw,1.08rem);line-height:1.5;margin:0;max-width:63ch}.fluent-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:21px}.fluent-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:39px;padding:8px 16px;border:1px solid var(--border-strong);border-radius:4px;text-decoration:none;color:var(--text);background:var(--bg);font-size:.84rem;font-weight:650;white-space:nowrap;transition:background .18s,border-color .18s,transform .18s}.fluent-button:hover{transform:translateY(-1px);border-color:var(--accent)}.fluent-button.primary{background:#0d2145;border-color:#0d2145;color:#fff}.fluent-button.primary:hover{background:#183967;color:#fff}.fluent-button.secondary{background:transparent}.fluent-button.gold{background:#ffc630;border-color:#ffc630;color:#0b2141}.fluent-button.outline{color:#fff;background:transparent;border-color:#8da9ce}.fluent-stats{display:flex;flex-wrap:wrap;gap:4px 11px;align-items:baseline;margin:19px 0 0;color:var(--text-muted);font-size:.82rem}.fluent-stats strong{color:var(--text);font-size:1.05rem}.fluent-stats i{font-style:normal;color:#5179b3}.fluent-hero-art{position:relative;min-height:398px;isolation:isolate;overflow:hidden}.art-ribbon{position:absolute;inset:-55% -15% -30% 0;background:linear-gradient(135deg,transparent 25%,#559fff36 25% 43%,transparent 43% 53%,#146ee84a 53% 66%,transparent 66%),linear-gradient(30deg,transparent 38%,#d3eaff 38% 55%,transparent 55%);transform:skew(-9deg)}.art-window{position:absolute;overflow:hidden;border:1px solid #80addd;border-radius:7px;background:#f7fbff;box-shadow:0 13px 28px #0c3d7d38,0 3px 8px #0d30503a}.art-window img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}.fluent-hero-art .art-window img{object-position:center 58%}.art-window-back{width:45%;height:45%;left:3%;top:26%;transform:rotate(-2deg)}.art-window-side{width:42%;height:48%;right:8%;top:19%;transform:rotate(4deg)}.art-window-front{width:54%;height:66%;left:23%;top:13%;border:5px solid #112746;border-top-width:16px;z-index:2;box-shadow:0 20px 40px #03295566}.art-window-right{width:36%;height:39%;right:-3%;bottom:5%;transform:rotate(-3deg)}.fluent-content{padding:16px var(--page-padding) 0}.fluent-profile-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(280px,.94fr);gap:18px;align-items:stretch}.fluent-panel{border:1px solid var(--border);border-radius:5px;background:var(--bg);padding:14px 17px;box-shadow:0 2px 7px #14457309}.fluent-section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 10px}.fluent-section-label{display:flex;align-items:center;gap:11px;min-width:0}.fluent-section-label svg{color:var(--accent);flex:none}.fluent-section-title h2{font-size:1.02rem;letter-spacing:-.02em;margin:0;font-weight:700}.fluent-section-title h2:after{content:"";display:block;width:25px;height:2px;background:var(--gold);margin-top:5px}.fluent-inline-link{font-size:.78rem;font-weight:650;text-decoration:none;white-space:nowrap}.fluent-timeline{padding-left:3px}.fluent-timeline-item{display:grid;grid-template-columns:105px 16px minmax(0,1fr);gap:9px;position:relative;padding:7px 0 8px;border-bottom:1px solid var(--border)}.fluent-timeline-item:last-child{border-bottom:0}.fluent-period{margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.35}.fluent-timeline-dot{display:block;width:10px;height:10px;margin:3px auto 0;border:2px solid #fff;border-radius:50%;background:var(--gold);box-shadow:0 0 0 1px #d29900;z-index:1}.fluent-timeline-item:not(:last-child):before{content:"";position:absolute;left:122px;top:19px;bottom:-9px;width:1px;background:#c9dcf4}.fluent-timeline-item h3,.fluent-sidebar h3{font-size:.83rem;margin:0 0 1px}.fluent-job-role,.fluent-sidebar p{color:var(--text-muted);font-size:.78rem;margin:0;line-height:1.4}.fluent-timeline-item ul{margin:5px 0 0;padding-left:15px;color:var(--text-muted);font-size:.75rem;line-height:1.4}.fluent-timeline-item>div{min-width:0}.fluent-experience-highlights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:8px 0 3px -15px}.fluent-experience-highlight{display:block;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);text-decoration:none;transition:border-color .18s,box-shadow .18s}.fluent-experience-highlight:hover{border-color:var(--accent);box-shadow:0 3px 10px #0b4b8d1d}.fluent-experience-highlight img{display:block;width:100%;height:78px;object-fit:cover;object-position:top left;background:var(--bg-alt)}.fluent-experience-highlight span{display:block;padding:6px 7px 7px}.fluent-experience-highlight strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.4em;font-size:.7rem;line-height:1.2}.fluent-experience-highlight small{display:block;margin-top:3px;color:var(--text-muted);font-size:.64rem}@media(max-width:1100px){.fluent-experience-highlights{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:0 0 5px}.fluent-experience-highlight{flex:0 0 155px;scroll-snap-align:start}}.fluent-sidebar{display:grid;grid-template-rows:auto auto 1fr;gap:9px}.fluent-sidebar .fluent-panel{padding:12px 15px}.fluent-sidebar .fluent-section-title{margin-bottom:6px}.fluent-sidebar .fluent-meta{margin-top:3px}.fluent-publications>div{padding:5px 0}.fluent-publications>div+div{border-top:1px solid var(--border)}.fluent-publications span{color:var(--accent);font-size:.72rem}.fluent-publications p{color:var(--text);font-size:.76rem;line-height:1.35}.fluent-languages{margin:0}.fluent-languages div{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px solid var(--border);font-size:.78rem}.fluent-languages div:last-child{border:0}.fluent-languages dd{margin:0;color:var(--text-muted)}.fluent-projects,.fluent-stack{margin-top:15px}.fluent-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fluent-project-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:5px;background:var(--bg)}.fluent-project-image{display:block;position:relative;aspect-ratio:1.78;overflow:hidden;background:var(--bg-alt)}.fluent-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .25s}.fluent-project-image:hover img{transform:scale(1.025)}.fluent-project-copy{padding:9px 11px 10px}.fluent-project-copy h3{margin:0 0 4px;font-size:.87rem;line-height:1.2}.fluent-project-copy h3 a{text-decoration:none;color:var(--text)}.fluent-project-copy h3 a:hover{color:var(--accent);text-decoration:underline}.fluent-project-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:3.8em;margin:0 0 7px;color:var(--text-muted);font-size:.75rem;line-height:1.28}.fluent-tags{display:flex;flex-wrap:wrap;gap:4px}.fluent-tags span{display:inline-block;padding:3px 7px;background:var(--bg-alt);color:var(--text-muted);border-radius:3px;font-size:.69rem;line-height:1.2}.fluent-stack-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.fluent-stack-grid>div{min-width:0;padding:8px 0 3px;border-top:1px solid var(--border)}.fluent-stack-grid h3{margin:0 0 7px;font-size:.78rem}.fluent-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:20px 0 14px;padding:19px 24px;border-radius:5px;background:#0c2347;color:#fff}.fluent-contact .fluent-eyebrow{color:#ffc630;font-size:.67rem}.fluent-contact h2{margin:0 0 3px;color:#fff;font-size:1.42rem}.fluent-contact p:not(.fluent-eyebrow){max-width:74ch;margin:0;color:#d6e5fa;font-size:.82rem;line-height:1.4}.fluent-contact-actions{display:flex;flex-wrap:wrap;gap:8px}.profile-page{background:var(--bg)}.profile-header{padding-top:34px;padding-bottom:30px;background:linear-gradient(105deg,var(--bg) 40%,var(--bg-subtle))}.profile-header h1{font-size:clamp(2.5rem,3.6vw,4rem)}.profile-page>section{padding-top:30px;padding-bottom:30px}.profile-page section h2{font-size:clamp(1.45rem,2vw,2rem)}.profile-job{padding:15px 0}.profile-credential-grid{gap:25px}.profile-tech-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px}.profile-tech-list>div{grid-template-columns:1fr;gap:4px;padding:12px 0}.editorial-page-header,.project-detail-hero{padding-top:34px;padding-bottom:30px;background:var(--bg-alt)}.editorial-page-header h1,.project-detail-title{font-size:clamp(2.3rem,3.3vw,3.6rem)}.project-record{gap:24px;padding:17px 0}.projects-inner,.project-detail-content{padding-top:25px}@media(max-width:1100px){.fluent-hero{grid-template-columns:48% 52%}.fluent-hero-copy{padding-top:35px}.fluent-hero-art{min-height:360px}.fluent-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fluent-stack-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.main-header{min-height:60px}.header-nav{top:60px}.fluent-hero{display:block}.fluent-hero-copy{padding:32px var(--page-padding) 10px}.fluent-hero h1{font-size:clamp(2.6rem,10vw,4rem)}.fluent-hero-art{min-height:290px}.fluent-profile-grid{grid-template-columns:1fr}.fluent-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.fluent-sidebar .fluent-panel:last-child{grid-column:1/-1}.fluent-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fluent-contact{align-items:flex-start;flex-direction:column}.profile-tech-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.fluent-hero-art{min-height:230px}.fluent-profile-grid{gap:10px}.fluent-sidebar{grid-template-columns:1fr}.fluent-sidebar .fluent-panel:last-child{grid-column:auto}.fluent-project-grid{grid-template-columns:1fr}.fluent-project-image{aspect-ratio:1.9}.fluent-project-copy p{min-height:0}.fluent-stack-grid{grid-template-columns:1fr 1fr;gap:7px}.fluent-timeline-item{grid-template-columns:77px 14px minmax(0,1fr);gap:7px}.fluent-timeline-item:not(:last-child):before{left:94px}.fluent-stats{font-size:.76rem;gap:2px 7px}.fluent-contact{padding:18px}.profile-tech-list{grid-template-columns:1fr}}@media(min-width:1200px){.fluent-stats{flex-wrap:nowrap;white-space:nowrap;font-size:.76rem;gap:6px}.fluent-stats strong{font-size:1rem}}.profile-header{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(28px,5vw,80px)}.profile-header-copy{max-width:730px}.profile-header-intro{max-width:58ch;color:var(--text-muted);line-height:1.55}.profile-header-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}.profile-header-visual{min-width:0;padding:9px;background:var(--bg);border:1px solid var(--border);border-radius:7px;box-shadow:0 12px 28px #0e3e7d18}.profile-header-visual img{display:block;width:100%;aspect-ratio:1.85;object-fit:cover;object-position:top left;border:1px solid var(--border)}.profile-header-visual span{display:block;padding:7px 3px 1px;color:var(--text-muted);font-size:.75rem}.profile-page>section{scroll-margin-top:72px}.profile-summary{grid-template-columns:minmax(170px,.25fr) minmax(0,1fr)}.profile-prose{max-width:95ch;columns:2;column-gap:38px}.profile-prose p{break-inside:avoid;font-size:.92rem;line-height:1.6}.profile-end{background:#0c2347;color:#e8f1ff}.profile-end h2,.profile-end dt{color:#fff}.profile-end .profile-section-number,.profile-end .text-action{color:#8bbaff}.profile-end .profile-languages{border-top-color:#5a7298}.profile-end .profile-languages>div{border-bottom-color:#3a547b}.profile-end .profile-languages dd{color:#d7e4f6}@media(max-width:760px){.profile-header{grid-template-columns:1fr}.profile-header-visual{max-width:650px}.profile-prose{columns:1}}.fluent-about{margin-top:15px;padding:17px 20px 18px;border:1px solid var(--border);border-radius:5px;background:var(--bg-alt)}.fluent-about-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.9fr);gap:32px}.fluent-about-copy{columns:2;column-gap:25px}.fluent-about-copy p{break-inside:avoid;margin:0 0 10px;color:var(--text-muted);font-size:.79rem;line-height:1.52}.fluent-about-study{padding-left:22px;border-left:1px solid var(--border-strong)}.fluent-about-study h3{margin:0 0 7px;font-size:.86rem}.fluent-about-study p{margin:0 0 10px;color:var(--text-muted);font-size:.78rem;line-height:1.5}.fluent-about-study strong{color:var(--text)}.fluent-stack-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 22px}@media(max-width:760px){.fluent-about-grid{grid-template-columns:1fr;gap:14px}.fluent-about-study{border-left:0;border-top:1px solid var(--border-strong);padding:12px 0 0}}@media(max-width:520px){.fluent-about{padding:14px}.fluent-about-copy{columns:1}.fluent-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fluent-featured-project{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);min-height:235px;margin-bottom:12px;overflow:hidden;border:1px solid var(--border);border-radius:5px;background:var(--bg-alt)}.fluent-featured-gallery{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;min-width:0;height:278px;background:var(--border)}.fluent-featured-shot{position:relative;display:block;min-width:0;overflow:hidden;background:var(--bg)}.fluent-featured-shot.main{grid-row:span 2}.fluent-featured-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .25s}.fluent-featured-shot.field img{object-position:center 60%}.fluent-featured-shot:hover img{transform:scale(1.025)}.fluent-featured-shot span{position:absolute;bottom:0;left:0;right:0;padding:7px 10px;background:#0c2347dc;color:#fff;font-size:.73rem;font-weight:600}.fluent-featured-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:20px clamp(20px,2.3vw,38px)}.fluent-featured-copy h3{margin:3px 0 7px;font-size:clamp(1.35rem,1.8vw,1.85rem);line-height:1.2}.fluent-featured-copy h3 a{color:var(--text);text-decoration:none}.fluent-featured-copy h3 a:hover{color:var(--accent);text-decoration:underline}.fluent-featured-copy>p:not(.fluent-eyebrow){margin:0 0 7px;color:var(--text-muted);font-size:.89rem;line-height:1.48}.fluent-featured-copy .fluent-featured-note{font-size:.78rem!important}.fluent-featured-copy .fluent-inline-link{margin-top:13px}@media(max-width:760px){.fluent-featured-project{grid-template-columns:1fr}.fluent-featured-gallery{height:300px}}@media(max-width:520px){.fluent-featured-gallery{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:210px 125px}.fluent-featured-shot.main{grid-column:1/-1;grid-row:auto}}@media(min-width:1101px){.fluent-stack-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.projects-gallery-page{width:100%}.gallery-header{width:100%;overflow:hidden;background:linear-gradient(105deg,var(--bg) 0%,var(--bg-alt) 46%,#c6e1ff 100%);border-bottom:1px solid var(--border)}:root[data-theme=dark] .gallery-header{background:linear-gradient(105deg,#131d2c,#162b49 55%,#214c84)}.gallery-header-inner{min-height:310px;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);align-items:center;width:100%;padding-left:clamp(20px,3.2vw,64px)}.gallery-hero-copy{z-index:1;padding:27px 16px 26px 0}.gallery-hero-copy .overline{margin:0 0 8px;color:var(--accent);font-size:.73rem;font-weight:750;letter-spacing:.08em}.gallery-hero-copy h1{max-width:23ch;margin:0 0 10px;font-size:clamp(2.2rem,3vw,2.95rem);line-height:1.08;letter-spacing:-.045em}.gallery-hero-copy p:last-child{max-width:64ch;margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.48}.gallery-hero-art{position:relative;height:310px;overflow:hidden}.gallery-hero-window{position:absolute;overflow:hidden;border:1px solid #88aeda;border-radius:6px;background:#fff;box-shadow:0 12px 25px #0b33603b}.gallery-hero-window img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}.gallery-hero-window-1{width:40%;height:53%;left:2%;top:26%;transform:rotate(-3deg)}.gallery-hero-window-2{width:57%;height:75%;left:19%;top:11%;z-index:2;border:5px solid #132b4e;border-top-width:13px;box-shadow:0 16px 30px #0b336055}.gallery-hero-window-3{width:39%;height:58%;right:-3%;top:26%;transform:rotate(3deg)}.gallery-inner{width:100%;max-width:none;box-sizing:border-box;margin:0;padding:18px clamp(20px,3.2vw,64px) 55px}.gallery-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 25px}.gallery-filters button{min-height:36px;padding:7px 13px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.gallery-filters button:hover{border-color:var(--accent);color:var(--accent)}.gallery-filters button[aria-pressed=true]{color:#fff;background:#075fd0;border-color:#075fd0}.gallery-filters button:focus-visible,.gallery-card a:focus-visible,.gallery-company-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.gallery-company+.gallery-company{margin-top:35px}.gallery-company-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid var(--border-strong)}.gallery-company-title{display:flex;align-items:start;gap:13px;min-width:0}.gallery-company-title h2{margin:0 0 4px;font-size:clamp(1.3rem,1.55vw,1.6rem);line-height:1.16;letter-spacing:-.02em}.gallery-company-title p{margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.4}.gallery-company-link{color:var(--accent);font-size:.78rem;font-weight:650;text-decoration:none;white-space:nowrap}.gallery-company-link:hover,.gallery-card-link:hover{text-decoration:underline}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.gallery-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:7px;background:var(--bg);box-shadow:0 2px 8px #1b467408;transition:transform .18s,box-shadow .18s,border-color .18s}.gallery-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 7px 18px #1b467418}.gallery-media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt);border-bottom:1px solid var(--border)}.gallery-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .25s}.gallery-card:hover .gallery-media img{transform:scale(1.02)}.gallery-media-empty{display:flex;align-items:center;justify-content:center;padding:16px;background:var(--bg-alt)}.gallery-placeholder{display:flex;flex-direction:column;gap:7px;max-width:23ch;text-align:center}.gallery-placeholder span{color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.gallery-placeholder strong{font-size:clamp(.92rem,1.1vw,1.1rem);line-height:1.25}.gallery-card-body{display:flex;flex:1;flex-direction:column;align-items:start;padding:12px 14px 14px}.gallery-card-body h3{margin:0 0 5px;font-size:.94rem;line-height:1.25}.gallery-card-body h3 a{color:var(--text);text-decoration:none}.gallery-card-body h3 a:hover{color:var(--accent);text-decoration:underline}.gallery-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0 0 9px;color:var(--text-muted);font-size:.79rem;line-height:1.4}.gallery-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.gallery-tags span{padding:3px 6px;border-radius:3px;background:var(--bg-alt);color:var(--text-muted);font-size:.67rem;line-height:1.2}.gallery-card-link{display:inline-flex;gap:6px;margin-top:11px;color:var(--accent);font-size:.78rem;font-weight:700;text-decoration:none}.gallery-grid-horizontal{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid-horizontal .gallery-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.gallery-grid-horizontal .gallery-media{height:100%;aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--border)}.gallery-grid-horizontal .gallery-placeholder strong{font-size:.9rem}.gallery-grid-academic{grid-template-columns:minmax(0,1fr)}.gallery-grid-academic .gallery-card{max-width:850px;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1fr)}.gallery-grid-academic .gallery-media{height:100%;min-height:180px;aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--border)}@media(max-width:1250px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid-academic{grid-template-columns:minmax(0,1fr)}}@media(max-width:850px){.gallery-header-inner{grid-template-columns:minmax(0,55%) minmax(0,45%)}.gallery-company-heading{grid-template-columns:minmax(0,1fr) auto}.gallery-grid,.gallery-grid-three,.gallery-grid-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.gallery-header-inner{display:block;padding:0}.gallery-hero-copy{padding:25px 20px 6px}.gallery-hero-copy h1{font-size:clamp(2rem,8vw,2.6rem)}.gallery-hero-copy p:last-child{font-size:.87rem}.gallery-hero-art{height:165px}.gallery-hero-window-1{left:8%}.gallery-hero-window-2{left:22%}.gallery-hero-window-3{right:4%}.gallery-inner{padding:15px 20px 45px}.gallery-filters{margin-bottom:21px}.gallery-company-heading{grid-template-columns:minmax(0,1fr);gap:7px}.gallery-grid,.gallery-grid-three,.gallery-grid-horizontal{grid-template-columns:minmax(0,1fr);gap:12px}.gallery-grid-horizontal .gallery-card,.gallery-grid-academic .gallery-card{display:flex;max-width:none}.gallery-grid-horizontal .gallery-media,.gallery-grid-academic .gallery-media{height:auto;min-height:0;aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--border)}.gallery-company+.gallery-company{margin-top:30px}}@media(prefers-reduced-motion:reduce){.gallery-card,.gallery-media img,.gallery-filters button{transition:none}}.what-else-lab{width:100%;min-width:0;background:#f5f9fd}.what-else-lab iframe{display:block;width:100%;height:calc(100dvh - 60px);min-height:560px;border:0}@media(max-width:1150px){.what-else-lab iframe{min-height:480px}}.fluent-tools{margin-top:26px;padding:0 0 36px}.fluent-tools-heading:before{content:"";display:block;width:30px;height:2px;margin-bottom:12px;background:var(--accent)}.fluent-tools-heading h2{margin:0 0 5px;color:var(--text);font-size:1.02rem;font-weight:700;letter-spacing:-.02em;line-height:1.3}.fluent-tools-heading p{max-width:62ch;margin:0 0 17px;color:var(--text-muted);font-size:.79rem;line-height:1.5}.fluent-tools-list{border-top:1px solid var(--border)}.fluent-tools-row{display:grid;grid-template-columns:34px minmax(190px,.4fr) minmax(0,1fr);align-items:center;gap:12px;min-height:49px;padding:7px 10px;border-bottom:1px solid var(--border)}.fluent-tools-row svg{color:var(--text-muted);width:21px;height:21px}.fluent-tools-row h3{margin:0;color:var(--text);font-size:.83rem;font-weight:650}.fluent-tools-row p{min-width:0;margin:0;color:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.78rem;line-height:1.4;overflow-wrap:anywhere}.main-footer{gap:34px;min-height:142px;padding-top:26px;padding-bottom:26px}.main-footer>.monogram{flex:0 0 auto;font-size:2.2rem}.footer-identity{padding-left:32px;border-left:1px solid var(--border-strong)}.footer-identity p:first-child{color:var(--text);font-weight:650}.main-footer nav{align-items:center}.main-footer nav a{display:inline-flex;align-items:center;min-height:44px}.main-footer nav .footer-linkedin{gap:8px;color:var(--accent)}@media(max-width:900px){.fluent-tools-row{grid-template-columns:28px minmax(160px,.7fr) minmax(0,1fr);gap:10px;padding-inline:6px}.main-footer{flex-wrap:wrap}.main-footer nav{width:100%;margin-left:0}}@media(max-width:620px){.fluent-tools{margin-top:25px;padding-bottom:35px}.fluent-tools-heading p{margin-bottom:15px}.fluent-tools-row{grid-template-columns:25px minmax(0,1fr);gap:2px 9px;min-height:0;padding:10px 0}.fluent-tools-row svg{grid-row:span 2;width:20px;height:20px;align-self:start}.fluent-tools-row p{grid-column:2;font-size:.76rem}.main-footer{gap:18px;min-height:0}.footer-identity{padding-left:18px}.main-footer nav{gap:4px 18px}}
