:root{--paper:#f4f2ec;--paper-strong:#ebe8df;--surface:#fff;--ink:#151a1c;--muted:#5d6b6f;--teal:#0b6870;--teal-dark:#074c52;--teal-soft:#dbe9e8;--rule:#cfd6d3;--warm:#b76445;--max:92rem;--reading:46rem;--radius:.35rem;--shadow:0 1.25rem 4rem #121e1f17;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);scroll-padding-top:9rem}body{color:var(--ink);background:var(--paper);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(1rem,.96rem + .16vw,1.12rem);line-height:1.58}body.menu-open{overflow:hidden}img,video{max-width:100%;display:block}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.08em}a:hover{color:var(--teal)}:focus-visible{outline-offset:4px;outline:3px solid #e0a258}::selection{color:var(--ink);background:#b8ddda}h1,h2,h3,h4,p,figure{margin-top:0}h1,h2,h3,h4{letter-spacing:-.035em;font-family:Manrope,Inter,ui-sans-serif,sans-serif;font-weight:610;line-height:1.04}h1{font-size:clamp(3.15rem,8vw,8.6rem)}h2{font-size:clamp(2.2rem,4.8vw,5.2rem)}h3{font-size:clamp(1.5rem,2.2vw,2.25rem)}.skip-link{z-index:1000;color:#fff;background:var(--ink);padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-shell{width:min(calc(100% - clamp(2rem, 6vw, 7rem)), var(--max));margin-inline:auto}.site-header{z-index:100;background:color-mix(in srgb, var(--paper) 92%, transparent);backdrop-filter:blur(16px);border-bottom:1px solid #cfd6d3b8;position:sticky;top:0}.header-inner{grid-template-columns:minmax(12rem,1fr) auto;align-items:center;min-height:5.4rem;display:grid}.brand{width:fit-content;color:var(--ink);align-items:baseline;gap:.8rem;text-decoration:none;display:inline-flex}.brand-name{letter-spacing:-.02em;font-family:Manrope,Inter,sans-serif;font-size:1.03rem;font-weight:700}.brand-role{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem}.primary-nav{align-items:center;gap:clamp(1rem,2.3vw,2.5rem);display:flex}.primary-nav a{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;font-size:.78rem;font-weight:680;text-decoration:none;position:relative}.primary-nav a[aria-current=page],.primary-nav a:hover{color:var(--ink)}.primary-nav a[aria-current=page]:after{background:var(--teal);content:"";height:2px;position:absolute;bottom:-.7rem;left:0;right:0}.menu-toggle{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;display:none}.eyebrow,.mono-label{color:var(--teal);letter-spacing:.095em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-weight:650;line-height:1.4}.eyebrow:before{content:"[ "}.eyebrow:after{content:" ]"}.profile-hero{color:var(--ink);background:#cf918f;border-bottom:1px solid #151a1c38}.profile-hero-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:clamp(2rem,5vw,6rem);min-height:calc(100svh - 5.4rem);padding-block:clamp(2.5rem,6vw,6rem);display:grid}.profile-portrait{background:#cf918f;grid-column:1/span 5;align-self:stretch;min-height:34rem;overflow:hidden}.profile-portrait img{object-fit:cover;object-position:52% center;mix-blend-mode:multiply;width:100%;height:100%}.profile-intro{grid-column:6/-1;padding-block:2rem}.profile-intro .eyebrow{color:var(--teal-dark)}.profile-intro h1{max-width:9ch;margin:1.1rem 0 .65rem;font-size:clamp(4.4rem,9vw,9.5rem)}.profile-title{letter-spacing:-.03em;max-width:28ch;margin-bottom:1.7rem;font-family:Manrope,Inter,sans-serif;font-size:clamp(1.35rem,2.4vw,2.25rem);font-weight:610;line-height:1.16}.profile-bio{color:#151a1cc7;max-width:46rem;margin:0;font-size:clamp(1.02rem,1.25vw,1.3rem);line-height:1.52}.hero{border-bottom:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;min-height:calc(100svh - 5.4rem);padding-block:clamp(4rem,9vw,9rem) clamp(3rem,6vw,6rem);display:grid}.hero-copy{grid-column:1/span 9}.hero-title{max-width:11.5ch;margin:clamp(1.4rem,3vw,3rem) 0 2rem}.hero-title span{color:var(--teal)}.hero-intro{max-width:52rem;color:var(--muted);letter-spacing:-.02em;margin:0;font-size:clamp(1.28rem,2vw,1.9rem);line-height:1.36}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.3rem;display:flex}.hero-index{border-left:1px solid var(--rule);grid-column:10/-1;align-self:end;padding-left:2rem}.hero-index p{margin-bottom:.85rem}.hero-index a{border-top:1px solid var(--rule);color:var(--ink);justify-content:space-between;gap:1rem;padding-block:.8rem;text-decoration:none;display:flex}.button{border:1px solid var(--ink);min-height:3rem;color:var(--paper);background:var(--ink);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.1rem;font-size:.78rem;font-weight:720;line-height:1;text-decoration:none;transition:color .18s,background .18s,transform .18s;display:inline-flex}.button:hover{color:#fff;background:var(--teal);transform:translateY(-2px)}.button.secondary{color:var(--ink);background:0 0}.button.secondary:hover{color:var(--paper);background:var(--ink)}.button.text{min-height:auto;color:var(--teal);background:0 0;border:0;border-radius:0;padding:0}.button.text:hover{color:var(--ink);background:0 0;transform:none}.section{padding-block:clamp(5rem,9vw,10rem)}.section+.section{border-top:1px solid var(--rule)}.section-heading{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:1.5rem;margin-bottom:clamp(2.5rem,5vw,5rem);display:grid}.section-heading>div{grid-column:1/span 8}.section-heading h2{max-width:11ch;margin:1rem 0 0}.section-heading>p,.section-heading>a{grid-column:10/-1;margin:0}.section-heading>p{color:var(--muted)}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.2rem,2.2vw,2.2rem);display:grid}.project-view-toggle{border:1px solid var(--rule);background:color-mix(in srgb, var(--paper-strong) 88%, transparent);border-radius:999px;align-items:center;gap:.35rem;width:fit-content;margin:0 0 1.25rem auto;padding:.3rem;display:flex}.project-view-toggle .mono-label{color:var(--muted);margin:0 .45rem 0 .55rem}.project-view-toggle button{min-height:2.2rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.project-view-toggle button[aria-pressed=true]{color:#fff;background:var(--teal)}.project-view-toggle button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.project-collection[data-project-view=list]{border-top:1px solid var(--rule);padding-top:0;display:block}.project-collection[data-project-view=list] .project-card,.project-collection[data-project-view=list] .project-card.wide{border-bottom:1px solid var(--rule);margin:0;display:block}.project-collection[data-project-view=list] .project-card[hidden]{display:none}.project-collection[data-project-view=list] .project-card-link{--list-thumb-width:clamp(12rem, 22vw, 18rem);--list-thumb-height:clamp(7.5rem, 13.75vw, 11.25rem);grid-template-columns:var(--list-thumb-width) minmax(0, 1fr);align-items:center;gap:clamp(1.25rem,2.5vw,2.75rem);padding-block:1.15rem;display:grid}.project-collection[data-project-view=list] .card-media,.project-collection[data-project-view=list] .project-card.wide .card-media{width:var(--list-thumb-width);height:var(--list-thumb-height);aspect-ratio:16/10;min-height:0}.project-collection[data-project-view=list] .card-media img,.project-collection[data-project-view=list] .card-media img.contain{object-fit:cover;padding:0}.project-collection[data-project-view=list] .card-body{border-bottom:0;align-items:center;padding:0}.project-collection[data-project-view=list] .card-body h3{margin-bottom:.45rem;font-size:clamp(1.45rem,2.2vw,2.35rem)}.project-collection[data-project-view=list] .card-body p{max-width:58rem}.project-collection[data-project-view=list] .card-meta{margin-bottom:.55rem}.project-collection[data-project-view=list] .card-evidence{margin-top:.7rem}.project-collection[data-project-view=list] .card-arrow{align-self:center}.project-card{flex-direction:column;grid-column:span 6;min-width:0;display:flex}.project-card.wide{grid-column:span 12}.project-card-link{color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.card-media{aspect-ratio:16/10;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-strong);position:relative;overflow:hidden}.project-card.wide .card-media{aspect-ratio:2.25}.card-media img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease), filter .4s ease}.card-media img.contain{object-fit:contain;padding:1rem}.project-card-link:hover .card-media img{transform:scale(1.025)}.card-placeholder{width:100%;height:100%;color:var(--teal-dark);background:linear-gradient(135deg,#0b68701f,#0000 55%),repeating-linear-gradient(90deg,#0000 0 11.5%,#0b68701f 11.5% calc(11.5% + 1px));place-items:center;padding:2rem;display:grid;position:relative}.card-placeholder span{letter-spacing:-.06em;text-align:center;max-width:10ch;font-family:Manrope,sans-serif;font-size:clamp(2rem,5vw,5.5rem);font-weight:650;line-height:.95}.card-number{color:var(--ink);background:#f4f2eceb;padding:.25rem .45rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;position:absolute;top:.85rem;left:.9rem}.card-body{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1.35rem 0 2rem;display:grid}.card-body h3{margin-bottom:.65rem;font-size:clamp(1.55rem,2.6vw,2.65rem)}.card-body p{max-width:42rem;color:var(--muted);margin:0;font-size:.95rem}.card-arrow{color:var(--teal);font-size:1.5rem;transition:transform .22s}.project-card-link:hover .card-arrow{transform:translate(.25rem,-.25rem)}.card-evidence{flex-wrap:wrap;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.card-evidence li{border-left:2px solid var(--teal);color:#344145;background:color-mix(in srgb, var(--teal-soft) 45%, transparent);padding:.35rem .55rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;line-height:1.35}.card-meta{flex-wrap:wrap;gap:.45rem;margin-bottom:.8rem;display:flex}.tag{border:1px solid var(--rule);min-height:1.7rem;color:var(--muted);background:color-mix(in srgb, var(--surface) 50%, transparent);letter-spacing:.055em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.25rem .55rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;display:inline-flex}.discipline-grid{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,1fr);display:grid}.discipline-card{min-height:25rem;color:var(--ink);padding:clamp(1.5rem,3vw,3rem);text-decoration:none;transition:color .25s,background .25s}.discipline-card+.discipline-card{border-left:1px solid var(--rule)}.discipline-card:hover{color:#fff;background:var(--teal)}.discipline-card .index{margin-bottom:8rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;display:block}.discipline-card h3{font-size:clamp(2rem,3vw,3.25rem)}.discipline-card p{max-width:28rem;color:var(--muted)}.discipline-card:hover p{color:#ffffffc7}.page-intro{border-bottom:1px solid var(--rule);padding-block:clamp(5rem,10vw,10rem) clamp(3rem,7vw,7rem)}.page-intro h1{max-width:10ch;margin:1.1rem 0 1.8rem}.page-intro .lede{max-width:56rem;color:var(--muted);letter-spacing:-.02em;margin:0;font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.35}.audience-hero h1,.publications-intro h1{max-width:12ch}.audience-hero .hero-actions,.publications-intro .hero-actions{margin-top:2.2rem}.proof-strip{border:1px solid var(--rule);background:var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(2rem,4vw,4rem);display:grid}.proof-item{background:var(--paper);flex-direction:column;justify-content:space-between;min-height:11rem;padding:clamp(1.25rem,2.4vw,2.2rem);display:flex}.proof-item strong{color:var(--teal);letter-spacing:-.055em;font-family:Manrope,Inter,sans-serif;font-size:clamp(2rem,3.8vw,4.4rem);font-weight:620;line-height:.95}.proof-item span{max-width:17rem;color:var(--muted);font-size:.86rem;line-height:1.45}.compact-project-grid .project-card.wide{grid-column:span 6}.editorial-callout{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;padding-block:clamp(4rem,7vw,7rem);display:grid}.editorial-callout>:first-child{grid-column:1/span 8}.editorial-callout>:last-child{grid-column:10/-1}.editorial-callout h2{max-width:13ch;margin-bottom:0;font-size:clamp(2rem,4vw,4.5rem)}.editorial-callout p{color:var(--muted)}.filter-bar{z-index:40;border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--paper) 94%, transparent);backdrop-filter:blur(14px);flex-wrap:wrap;gap:.55rem;padding-block:1rem;display:flex;position:sticky;top:5.4rem}.filter-bar .project-view-toggle{margin:0 0 0 auto}.filter-button{border:1px solid var(--rule);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;padding:.6rem .8rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.filter-button[aria-pressed=true],.filter-button:hover{border-color:var(--teal);color:#fff;background:var(--teal)}.work-list{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.4rem;padding-block:3rem 8rem;display:grid}.work-list .project-card{grid-column:span 4}.work-list .project-card[hidden]{display:none}.project-hero{padding-block:clamp(4rem,8vw,8rem) 2.5rem}.project-title-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:1.5rem;display:grid}.project-title-grid>div:first-child{grid-column:1/span 9}.project-title-grid h1{max-width:12ch;margin:1rem 0 1.4rem;font-size:clamp(3.6rem,8vw,8.2rem)}.project-subtitle{max-width:55rem;color:var(--muted);letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,2.2vw,1.9rem);line-height:1.35}.project-status{border-left:1px solid var(--rule);grid-column:10/-1;padding-left:1.5rem}.project-status dt,.project-status dd{margin:0}.project-status dt{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-top:1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.project-status dd{margin-top:.15rem;font-size:.9rem}.hero-figure{margin-top:clamp(3rem,6vw,6rem)}.project-top-links{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:clamp(2rem,4vw,3.5rem);padding-block:1.25rem}.project-top-links .project-links{margin-top:.9rem}.project-evidence{border-bottom:1px solid var(--rule);grid-template-columns:minmax(10rem,1fr) 3fr;gap:1.5rem;margin-top:1rem;padding:1.25rem 0;display:grid}.project-evidence p{margin:0}.project-evidence ul{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.project-evidence li{border:1px solid var(--rule);background:var(--paper-strong);border-radius:999px;padding:.55rem .7rem;font-size:.78rem}.hero-figure .visual-frame{min-height:min(70svh,52rem)}.project-nav-wrap{z-index:35;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--paper) 95%, transparent);backdrop-filter:blur(14px);position:sticky;top:5.4rem}.project-nav{scrollbar-width:thin;gap:.35rem;padding-block:.7rem;display:flex;overflow-x:auto}.project-nav a{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;padding:.55rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none}.project-nav a:hover,.project-nav a.active{color:#fff;background:var(--teal)}.project-facts{border:1px solid var(--rule);background:var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;margin-top:2.5rem;display:grid}.project-facts-wrap{margin-top:2.5rem}.project-facts-wrap .project-facts{margin-top:.8rem}.fact{background:var(--paper);grid-column:span 4;min-height:8.5rem;padding:1.2rem}.fact dt{color:var(--teal);letter-spacing:.07em;text-transform:uppercase;margin-bottom:1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.fact dd{margin:0;font-size:.95rem}.project-section{border-bottom:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;padding-block:clamp(5rem,9vw,9rem);display:grid}.project-section-header{grid-column:1/span 4}.project-section-number{color:var(--teal);margin-bottom:1.2rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;display:inline-block}.project-section h2{max-width:8ch;font-size:clamp(2.1rem,4vw,4.5rem)}.project-section-content{grid-column:5/-1}.project-copy{max-width:var(--reading)}.project-copy p{color:#2f3739;font-size:clamp(1.1rem,1.45vw,1.32rem);line-height:1.65}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:3rem;display:grid}.media-grid>:only-child{grid-column:1/-1}.visual{min-width:0;margin:0}.visual-button{width:100%;color:inherit;text-align:left;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.visual-frame{border:1px solid var(--rule);border-radius:var(--radius);background:#fff;place-items:center;min-height:23rem;display:grid;overflow:hidden}.visual-frame img{object-fit:cover;width:100%;height:100%;transition:transform .65s var(--ease)}.visual-frame img.contain{object-fit:contain;padding:clamp(.8rem,2vw,2rem)}.visual-button:hover img{transform:scale(1.015)}.visual figcaption{color:var(--muted);grid-template-columns:auto minmax(0,1fr);gap:.8rem;padding-top:.75rem;font-size:.78rem;line-height:1.45;display:grid}.visual figcaption:before{color:var(--teal);content:"↳"}.visual-button{position:relative}.back-to-nav{color:var(--teal);letter-spacing:.05em;text-transform:uppercase;margin-top:2rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;display:inline-flex}.video-block{border:1px solid var(--rule);background:var(--paper-strong);grid-template-columns:minmax(15rem,25rem) minmax(0,1fr);align-items:center;gap:2rem;margin-top:3rem;padding:clamp(1rem,3vw,2rem);display:grid}.video-block video{background:var(--ink);width:100%;max-height:36rem}.video-copy p{max-width:36rem;color:var(--muted)}.project-links{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.project-links .button{text-align:center;max-width:100%;line-height:1.3}.next-projects{border-bottom:1px solid var(--rule);grid-template-columns:repeat(2,1fr);display:grid}.next-projects a{min-height:17rem;color:var(--ink);padding:clamp(1.5rem,4vw,4rem);text-decoration:none;transition:color .2s,background .2s}.next-projects a+a{border-left:1px solid var(--rule);text-align:right}.next-projects a:hover{color:#fff;background:var(--teal)}.next-projects strong{letter-spacing:-.04em;margin-top:4rem;font-family:Manrope,sans-serif;font-size:clamp(1.5rem,3vw,3rem);line-height:1.05;display:block}.about-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;display:grid}.about-lead{letter-spacing:-.03em;grid-column:1/span 8;font-size:clamp(1.5rem,3vw,2.8rem);line-height:1.28}.about-side{grid-column:10/-1}.about-side p{color:var(--muted)}.capability-grid{border:1px solid var(--rule);background:var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.capability{background:var(--paper);min-height:14rem;padding:clamp(1.5rem,3vw,3rem)}.capability p{color:var(--muted)}.timeline{border-top:1px solid var(--rule)}.timeline-item{border-bottom:1px solid var(--rule);grid-template-columns:1fr 2fr;gap:1.5rem;padding-block:1.5rem;display:grid}.timeline-item .year{color:var(--teal);font-family:IBM Plex Mono,monospace;font-size:.75rem}.timeline-item h3{margin-bottom:.35rem;font-size:1.2rem}.timeline-item p{color:var(--muted);margin:0}.publication-list{border-top:1px solid var(--rule)}.publication-item{border-bottom:1px solid var(--rule);grid-template-columns:minmax(10rem,1fr) 3fr;gap:clamp(1.5rem,4vw,5rem);padding-block:clamp(1.8rem,3.5vw,3rem);display:grid}.publication-meta{color:var(--teal);letter-spacing:.05em;text-transform:uppercase;flex-direction:column;gap:.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;display:flex}.publication-citation{color:var(--ink);margin-bottom:.9rem;font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.55}.publication-contribution{max-width:54rem;color:var(--muted);margin-bottom:.5rem;font-size:.9rem}.cta{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;padding-block:clamp(5rem,10vw,10rem);display:grid}.cta h2{grid-column:1/span 9;max-width:11ch;margin:0}.cta-actions{grid-column:10/-1;align-self:end}.cta-actions .button{width:100%;margin-top:.65rem}.site-footer{color:#ffffffb3;background:var(--ink);padding-block:2rem}.footer-grid{grid-template-columns:1fr auto;align-items:end;gap:2rem;display:grid}.footer-grid p{margin:0;font-size:.78rem}.footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-links a{font-size:.75rem;text-decoration:none}.lightbox{color:#fff;width:min(94vw,92rem);max-width:none;height:min(92vh,72rem);max-height:none;box-shadow:var(--shadow);background:#111718;border:0;padding:0}.lightbox::backdrop{backdrop-filter:blur(7px);background:#070c0de0}.lightbox-inner{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.lightbox-toolbar{border-bottom:1px solid #ffffff2e;justify-content:space-between;padding:.75rem 1rem;display:flex}.lightbox-toolbar button{color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;font-family:IBM Plex Mono,monospace;font-size:.75rem}.lightbox-image-wrap{place-items:center;padding:1rem;display:grid;overflow:auto}.lightbox img{object-fit:contain;max-width:100%;max-height:100%}.lightbox-caption{color:#ffffffbf;max-width:60rem;margin:0;padding:1rem;font-size:.82rem}.not-found{text-align:center;place-items:center;min-height:calc(100svh - 5.4rem);display:grid}.not-found h1{margin-bottom:1rem}[data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(1.25rem)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (width<=64rem){.brand-role{display:none}.hero-copy,.section-heading>div,.project-title-grid>div:first-child{grid-column:1/span 8}.hero-index,.section-heading>p,.section-heading>a,.project-status{grid-column:9/-1}.work-list .project-card{grid-column:span 6}.project-section-header{grid-column:1/span 4}.project-section-content{grid-column:5/-1}.fact{grid-column:span 6}.proof-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=48rem){html{scroll-padding-top:7.8rem}.site-shell{width:min(calc(100% - 2rem), var(--max))}.header-inner{min-height:4.5rem}.menu-toggle{display:inline-flex}.primary-nav{z-index:1000;isolation:isolate;flex-direction:column;align-items:stretch;gap:0;height:calc(100dvh - 4.5rem);padding:1.5rem 1rem;display:none;position:fixed;inset:4.5rem 0 0;overflow-y:auto;box-shadow:0 2rem 4rem #151a1c2e;background:#f4f2ec!important}.primary-nav.open{display:flex}.primary-nav a{border-bottom:1px solid var(--rule);padding:1.1rem 0;font-size:1rem}.primary-nav a[aria-current=page]:after{display:none}.profile-hero-grid{flex-direction:column;gap:2rem;min-height:auto;padding-block:1rem 4rem;display:flex}.profile-portrait{aspect-ratio:1;width:100%;min-height:0}.profile-intro{width:100%;padding:0}.profile-intro h1{font-size:clamp(4rem,20vw,6rem)}.hero{min-height:auto;padding-block:5rem 3rem;display:block}.hero-title{max-width:12ch;font-size:clamp(3.2rem,16vw,5rem)}.hero-index{border-top:1px solid var(--rule);border-left:0;margin-top:4rem;padding:1.25rem 0 0}.section-heading,.project-title-grid,.about-grid,.cta{display:block}.section-heading>p,.section-heading>a{margin-top:1.5rem;display:inline-block}.project-grid,.work-list{display:block}.project-card{margin-bottom:2rem}.project-card.wide .card-media,.card-media{aspect-ratio:4/3}.project-view-toggle{margin-bottom:1rem}.filter-bar .project-view-toggle{justify-content:flex-end;width:100%;margin:.45rem 0 0}.project-collection[data-project-view=list] .project-card-link{--list-thumb-width:7.5rem;--list-thumb-height:7.5rem;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding-block:1rem}.project-collection[data-project-view=list] .card-media,.project-collection[data-project-view=list] .project-card.wide .card-media{width:var(--list-thumb-width);height:var(--list-thumb-height);aspect-ratio:1;min-height:0}.project-collection[data-project-view=list] .card-number{font-size:.65rem;top:.45rem;left:.45rem}.project-collection[data-project-view=list] .card-body{grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.project-collection[data-project-view=list] .card-body h3{font-size:1.18rem;line-height:1.08}.project-collection[data-project-view=list] .card-body p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.45;display:-webkit-box;overflow:hidden}.project-collection[data-project-view=list] .card-evidence{display:none}.project-collection[data-project-view=list] .card-meta{gap:.3rem}.project-collection[data-project-view=list] .tag{min-height:1.45rem;padding:.18rem .38rem;font-size:.75rem}.project-collection[data-project-view=list] .card-arrow{font-size:1.05rem}.discipline-grid{grid-template-columns:1fr}.discipline-card{min-height:18rem}.discipline-card+.discipline-card{border-top:1px solid var(--rule);border-left:0}.discipline-card .index{margin-bottom:4rem}.filter-bar,.project-nav-wrap{top:4.5rem}.project-status{border-top:1px solid var(--rule);border-left:0;margin-top:2rem;padding:1.25rem 0 0}.hero-figure .visual-frame{min-height:24rem}.project-facts,.project-evidence,.project-section,.media-grid,.video-block,.next-projects,.capability-grid,.timeline-item,.editorial-callout,.publication-item{display:block}.proof-strip{grid-template-columns:1fr}.proof-item{min-height:8.5rem}.project-evidence ul{justify-content:flex-start;margin-top:1rem}.editorial-callout>:last-child{margin-top:2rem}.publication-meta{margin-bottom:1.2rem}.fact{min-height:auto;margin-bottom:1px}.project-section-header,.project-section-content{grid-column:auto}.project-section-header{margin-bottom:2rem}.project-section h2{max-width:12ch}.media-grid .visual{margin-bottom:2rem}.visual-frame{min-height:18rem}.video-copy{margin-top:1.5rem}.next-projects a{min-height:13rem;display:block}.next-projects a+a{border-top:1px solid var(--rule);text-align:left;border-left:0}.about-side,.cta-actions{margin-top:2rem}.capability+.capability,.timeline-item+.timeline-item{border-top:1px solid var(--rule)}.timeline-item .year{margin-bottom:.6rem;display:block}.footer-grid{display:block}.footer-links{margin-top:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}@media print{.site-header,.project-nav-wrap,.site-footer,.button,.lightbox{display:none!important}body{color:#000;background:#fff}.site-shell{width:100%}.project-section{break-inside:avoid}}.link-icon{width:var(--icon-size,1.1rem);height:var(--icon-size,1.1rem);flex:none;place-items:center;display:inline-grid}.link-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:100%;height:100%}.link-icon svg.icon-fill{fill:currentColor;stroke:none}.primary-nav{gap:clamp(.75rem,1.35vw,1.4rem)}.primary-nav>a,.nav-group>summary{color:var(--muted);letter-spacing:.052em;text-transform:uppercase;font-size:.73rem;font-weight:680}.nav-group{position:relative}.nav-group summary{cursor:pointer;align-items:center;gap:.4rem;list-style:none;display:flex}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:"+";color:var(--teal);font-size:1rem;line-height:1}.nav-group[open] summary:after{content:"−"}.nav-group.current summary,.nav-group summary:hover{color:var(--ink)}.nav-submenu{border:1px solid var(--rule);min-width:13.5rem;box-shadow:var(--shadow);background:#f4f2ecfa;padding:.6rem 1rem;display:grid;position:absolute;top:calc(100% + 1rem);left:-1rem}.nav-submenu a{border-bottom:1px solid var(--rule);padding-block:.8rem}.nav-submenu a:last-child{border-bottom:0}.nav-submenu a[aria-current=page]:after{display:none}.nav-cv{align-items:center;gap:.35rem;display:inline-flex}html.home-page{scroll-snap-type:y proximity}.home-panel,.home-page .hire-cta,.home-page .site-footer{scroll-snap-align:start;scroll-margin-top:5.4rem}.home-opening{background:var(--paper)}.home-portrait-stage{min-height:calc(100svh - 5.4rem);color:var(--ink);background:#cf918f}.home-portrait-layout{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:clamp(2rem,4.6vw,5.5rem);min-height:calc(100svh - 5.4rem);padding-block:clamp(2.5rem,5vw,5.5rem);display:grid}.home-portrait-frame{background:#cf918f;grid-column:1/span 5;align-self:stretch;min-height:34rem;overflow:hidden}.home-portrait-frame img{object-fit:cover;object-position:52% center;mix-blend-mode:multiply;width:100%;height:100%;display:block}.home-portrait-copy{grid-column:6/-1}.home-overline,.home-display{color:var(--ink)}.home-overline{letter-spacing:.12em;margin:0;font-family:IBM Plex Mono,monospace;font-size:clamp(.7rem,1vw,.88rem);font-weight:700}.home-display{letter-spacing:-.065em;text-wrap:balance;width:min(10ch,100%);margin:clamp(2rem,5vh,4.5rem) 0 0;font-size:clamp(4.2rem,9.4vw,10.2rem);line-height:.88}.home-display span{color:var(--ink)}.home-intro-band{grid-template-columns:3fr 5fr 4fr;align-items:start;gap:clamp(2rem,4vw,5rem);padding-block:clamp(3.5rem,7vw,7rem);display:grid}.home-intro-band h2{margin:.5rem 0 0;font-size:clamp(2.6rem,4vw,4.6rem)}.home-bio{color:var(--muted);margin:0;font-size:clamp(1.18rem,1.8vw,1.65rem);line-height:1.45}.home-links{align-self:center;margin:0}.home-process,.home-close{min-height:calc(100svh - 5.4rem);color:var(--paper);background:var(--ink);align-items:center;padding-block:clamp(5rem,9vw,9rem);display:grid}.home-process .eyebrow,.home-close .eyebrow,.home-process .home-panel-label,.home-close .home-panel-label{color:#8ff1e7}.home-panel-label{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid;justify-content:space-between;gap:2rem;margin-bottom:clamp(3rem,7vw,7rem);padding-bottom:.8rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:flex}.process-intro{grid-template-columns:2fr 7fr 3fr;align-items:end;gap:2rem;display:grid}.process-intro h2{max-width:10ch;margin:0;font-size:clamp(3.2rem,7vw,8rem)}.process-intro>p:last-child{color:#f4f2ecad;margin:0}.process-grid{border-top:1px solid #f4f2ec40;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(4rem,9vw,9rem) 0 0;padding:0;list-style:none;display:grid}.process-grid li{border-right:1px solid #f4f2ec40;min-height:16rem;padding:1.4rem}.process-grid li:last-child{border-right:0}.process-grid span{color:#8ff1e7;margin-bottom:4rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;display:block}.process-grid strong{font-family:Manrope,sans-serif;font-size:clamp(1.6rem,2.3vw,2.5rem);display:block}.process-grid p{color:#f4f2eca8;margin:.8rem 0 0;font-size:.95rem}.home-work,.home-perspectives,.home-close{padding-block:clamp(5rem,9vw,9rem)}.home-perspectives{background:var(--teal-soft);min-height:calc(100svh - 5.4rem)}.home-section-action{justify-content:center;margin-top:3rem;display:flex}.home-close-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem;display:grid}.home-close-grid .home-panel-label{grid-column:1/-1}.home-close-grid>div:nth-child(2){grid-column:1/span 8}.home-close-grid>div:last-child{grid-column:9/-1;align-self:end}.home-close-grid h2{max-width:12ch;margin:0}.home-close-grid>div:last-child>p{color:#f4f2ecad}.home-close .button.secondary{border-color:var(--paper);color:var(--paper)}.hire-cta{border-top:1px solid var(--rule);background:var(--paper-strong);align-items:center;min-height:55vh;display:grid}.hire-cta-inner{justify-content:space-between;align-items:flex-end;gap:3rem;padding-block:clamp(5rem,9vw,9rem);display:flex}.hire-cta h2{max-width:10ch;margin:.7rem 0 0}.hire-cta .cta-actions{flex-wrap:wrap;gap:.75rem;display:flex}.case-scan{border:1px solid var(--rule);background:var(--surface);margin-block:clamp(2.5rem,5vw,5rem);padding:clamp(1.5rem,3vw,3rem)}.case-scan-heading{justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:1.5rem;display:flex}.case-scan-heading p,.case-scan-heading h2{margin:0}.case-scan-heading h2{font-size:clamp(1.6rem,2.5vw,2.5rem)}.case-scan dl{border-top:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.case-scan dl>div{border-right:1px solid var(--rule);padding:1.3rem}.case-scan dl>div:last-child{border-right:0}.case-scan dt,.interactive-detail dt{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:700}.case-scan dd{color:var(--muted);margin:.65rem 0 0;font-size:.93rem;line-height:1.5}.interactive-tool{background:#dcecf0;border:1px solid #a8cbd2;margin-top:clamp(3rem,6vw,6rem);padding:clamp(1.4rem,3vw,3rem);box-shadow:0 1.5rem 4rem #2d586121}.interactive-heading{border-bottom:1px solid #07737c4d;grid-template-columns:2fr 1fr;align-items:end;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(1.5rem,3vw,2.5rem);display:grid}.interactive-heading h3{letter-spacing:-.055em;max-width:14ch;margin:.75rem 0 0;font-size:clamp(2.6rem,5.2vw,5.8rem);line-height:.94}.interactive-heading>p{color:var(--muted);margin:0;font-size:.92rem}.luxrest-system{border:1px solid var(--rule);grid-template-columns:repeat(6,minmax(0,1fr));gap:0;display:grid}.system-node{border:0;border-right:1px solid var(--rule);min-height:7rem;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;padding:.9rem}.system-node:last-child{border-right:0}.system-node span{color:var(--teal);margin-bottom:1.5rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:block}.system-node.active{color:var(--paper);background:var(--teal)}.system-node.active span{color:#aef5ee}.interactive-detail{color:var(--paper);background:var(--ink);padding:clamp(1.5rem,3vw,3rem)}.interactive-detail h4{max-width:25ch;margin:.7rem 0;font-size:clamp(1.7rem,3vw,3rem)}.interactive-detail>p:not(.mono-label){color:#f4f2ecb8;max-width:58rem}.interactive-detail dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0 0;display:grid}.interactive-detail dl>div{border-top:1px solid #f4f2ec33;padding-top:1rem}.interactive-detail dd{color:#f4f2ecbf;margin:.5rem 0 0;font-size:.9rem}.shading-layout{grid-template-columns:minmax(16rem,.8fr) minmax(20rem,1.5fr);gap:2rem;display:grid}.shading-controls{align-content:center;gap:1.4rem;display:grid}.shading-controls label{color:var(--muted);grid-template-columns:1fr auto;gap:.7rem;font-size:.9rem;display:grid}.shading-controls output{color:var(--teal);font-family:IBM Plex Mono,monospace}.shading-controls input{width:100%;accent-color:var(--teal);grid-column:1/-1}.facade-demo{background:linear-gradient(#83c8e7 0 55%,#e8d4b7 55%);place-items:center;min-height:30rem;display:grid;position:relative;overflow:hidden}.sun-disc{aspect-ratio:1;background:#ffd96b;border-radius:50%;width:5rem;position:absolute;top:2rem;right:2rem;box-shadow:0 0 4rem #ffd96bcc}.facade-window{z-index:1;background:#216f976b;border:.8rem solid #d9ddd8;align-content:stretch;width:min(56%,20rem);height:22rem;display:grid;position:relative;box-shadow:1rem 1.2rem #151a1c21}.facade-window span{transform:perspective(10rem) rotateX(var(--louver-angle));transform-origin:top;background:linear-gradient(#14454af0 0 48%,#0b6870a6 49% 100%);border-bottom:1px solid #151a1c5c;transition:transform .22s;display:block}.shading-result{z-index:2;min-width:12rem;color:var(--paper);background:#151a1ce6;padding:1rem;position:absolute;bottom:1rem;right:1rem}.shading-result strong{font-family:Manrope,sans-serif;font-size:2.8rem;display:block}.shading-result p{margin:0;font-size:.82rem}.lazy-demo-stage{border:1px solid var(--rule);background:var(--paper-strong);min-height:32rem;position:relative;overflow:hidden}.lazy-demo-stage>img{object-fit:cover;filter:saturate(.75)contrast(.95);width:100%;height:32rem}.lazy-demo-prompt{backdrop-filter:blur(5px);text-align:center;background:#f4f2ecc2;place-content:center;justify-items:center;padding:2rem;display:grid;position:absolute;inset:0}.lazy-demo-stage iframe{background:#fff;border:0;width:100%;min-height:42rem}.engineering-value-band{color:var(--paper);background:var(--ink);padding-block:clamp(5rem,9vw,9rem)}.engineering-value-grid{grid-template-columns:4fr 8fr;gap:clamp(3rem,7vw,8rem);display:grid}.engineering-value-grid h2{max-width:9ch;margin:1rem 0 0}.engineering-deliverables{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.engineering-deliverables article{border:1px solid #f4f2ec2e;min-height:14rem;padding:1.5rem}.engineering-deliverables span{color:#8ff1e7;font-family:IBM Plex Mono,monospace;font-size:.7rem}.engineering-deliverables h3{margin:2.5rem 0 .7rem;font-size:1.5rem}.engineering-deliverables p{color:#f4f2ecad;margin:0;font-size:.9rem}.contact-layout{grid-template-columns:8fr 4fr;gap:clamp(2rem,5vw,6rem);padding-bottom:clamp(6rem,10vw,10rem);display:grid}.contact-form{border:1px solid var(--rule);background:var(--surface);padding:clamp(1.5rem,3vw,3rem)}.form-section{border:1px solid var(--rule);background:var(--paper);min-width:0;margin:0 0 1.5rem;padding:clamp(1.2rem,2.5vw,2rem)}.form-section legend{color:var(--ink);letter-spacing:-.025em;padding:0 .65rem;font-family:Manrope,Inter,sans-serif;font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:720}.form-section legend span{color:var(--teal);letter-spacing:.08em;margin-right:.65rem;font-family:IBM Plex Mono,monospace;font-size:.68rem}.form-section-intro{color:var(--muted);margin:0 0 1.4rem;font-size:.84rem;line-height:1.55}.form-section .form-grid label:last-child,.message-information label:last-child{margin-bottom:0}.message-information{margin-top:2rem}.message-information>.mono-label{margin-bottom:1.2rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.contact-form label{color:var(--ink);gap:.45rem;margin-bottom:1.2rem;font-size:.88rem;font-weight:700;display:grid}.contact-form small{color:var(--muted);font-weight:400}.contact-form input,.contact-form textarea{border:1px solid var(--rule);width:100%;color:var(--ink);background:var(--paper);font:inherit;border-radius:0;padding:.9rem 1rem}.contact-form textarea{resize:vertical}.contact-submit-row{align-items:center;gap:1.5rem;display:flex}.contact-submit-row p{max-width:34rem;color:var(--muted);margin:0;font-size:.82rem}.form-status{color:var(--teal);margin:1rem 0 0;font-size:.86rem}.contact-direct{align-content:start;display:grid}.contact-direct h2{margin:.8rem 0 2rem;font-size:clamp(2rem,3.5vw,3.8rem)}.contact-direct a{border-top:1px solid var(--rule);color:var(--ink);align-items:center;gap:.7rem;padding-block:1rem;text-decoration:none;display:flex}@media (width<=70rem){.header-inner{grid-template-columns:auto auto}.brand-role{display:none}.home-intro-band{grid-template-columns:repeat(2,minmax(0,1fr))}.home-intro-band .home-links{grid-column:1/-1}.case-scan dl,.luxrest-system{grid-template-columns:repeat(2,minmax(0,1fr))}.case-scan dl>div,.system-node{border-bottom:1px solid var(--rule)}.engineering-value-grid{grid-template-columns:1fr}}@media (width<=48rem){html.home-page{scroll-snap-type:none}.primary-nav .nav-group{border-bottom:1px solid var(--rule)}.nav-group summary{padding:1.1rem 0;font-size:1rem}.nav-submenu{min-width:0;box-shadow:none;background:0 0;border:0;padding:0 0 .6rem 1rem;position:static}.nav-submenu a{padding-block:.8rem;font-size:.82rem}.home-portrait-stage{min-height:auto}.home-portrait-layout{flex-direction:column;gap:2rem;min-height:auto;padding-block:1rem 4rem;display:flex}.home-portrait-frame{aspect-ratio:1;width:100%;min-height:0}.home-portrait-frame img{object-position:52% center}.home-display{width:100%;margin-top:1.4rem;font-size:clamp(3.15rem,15vw,5.4rem)}.home-intro-band,.process-intro,.home-close-grid,.interactive-heading,.shading-layout,.engineering-value-grid,.contact-layout,.form-grid{display:block}.home-bio,.home-links{margin-top:2rem}.home-process,.home-perspectives,.home-close{min-height:auto}.process-intro h2{margin-block:1rem}.process-grid{grid-template-columns:1fr;margin-top:3rem}.process-grid li{border-bottom:1px solid #f4f2ec40;border-right:0;min-height:0;padding:1.5rem 0}.process-grid span{margin-bottom:1rem}.home-close-grid>div:nth-child(2),.home-close-grid>div:last-child{grid-column:auto}.home-close-grid>div:last-child{margin-top:2rem}.hire-cta-inner,.case-scan-heading,.contact-submit-row{display:block}.hire-cta .cta-actions,.contact-submit-row p{margin-top:2rem}.case-scan dl,.luxrest-system,.interactive-detail dl,.engineering-deliverables{grid-template-columns:1fr}.case-scan dl>div,.system-node{border-right:0}.interactive-heading>p{margin-top:1rem}.system-node{min-height:0}.system-node span{margin-right:1rem;display:inline}.facade-demo,.lazy-demo-stage,.lazy-demo-stage>img{height:25rem;min-height:25rem}.facade-window{height:18rem}.contact-direct{margin-top:3rem}}.link-icon.official-brand-mark{width:var(--icon-size,1.4rem);height:var(--icon-size,1.4rem)}.link-icon.official-brand-mark img{object-fit:contain;filter:none;width:100%;height:100%;display:block}.button,.primary-nav a,.nav-group summary{text-wrap:nowrap}.home-overline,.home-display,.home-display span{color:var(--ink)}.home-overline{opacity:.92}.home-display{letter-spacing:-.052em;width:min(13ch,100%);font-size:clamp(3.15rem,6.2vw,6.8rem);font-weight:560;line-height:.92}.project-copy p,.about-grid p,.home-bio,.section-heading>p,.capability p,.engineering-deliverables p,.case-scan dd,.interactive-heading>p,.interactive-detail p,.interactive-detail dd,.contact-submit-row p{hyphens:auto;overflow-wrap:break-word;text-wrap:pretty}.project-copy p,.about-grid p{text-align:justify;text-justify:inter-word}.proof-item strong{overflow-wrap:normal;text-wrap:nowrap;font-size:clamp(1.65rem,2.7vw,3.25rem);line-height:1}.proof-item span,.capability p,.engineering-deliverables p{max-width:100%}.interactive-tool{margin-top:clamp(2.2rem,4.5vw,4.5rem);position:relative;overflow:hidden}.interactive-badge{border:1px solid var(--teal);min-height:1.8rem;color:var(--teal);letter-spacing:.08em;text-transform:uppercase;background:#07737c0f;align-items:center;margin:0;padding:.35rem .55rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:700;display:inline-flex}.interactive-tool button,.interactive-tool input{font:inherit}.tool-note{color:var(--muted);margin:1.3rem 0 0;font-size:.76rem;line-height:1.5}.shading-explorer{--sun-x:59%;--sun-y:26%;--sun-intensity:.7;--louver-angle:35deg;--venetian-opacity:.64;--roller-coverage:47%;--roller-opacity:.54;--room-light:.72}.shading-controls label,.ruru-controls>label,.iaq-controls label,.roadmap-slider{color:var(--ink);grid-template-columns:minmax(0,1fr) auto;gap:.65rem;font-size:.86rem;font-weight:650;display:grid}.shading-controls output,.ruru-controls output,.iaq-controls output,.roadmap-slider output{color:var(--teal);font-family:IBM Plex Mono,monospace;font-weight:700}.shading-controls input,.ruru-controls input[type=range],.iaq-controls input,.roadmap-slider input{width:100%;accent-color:var(--teal);grid-column:1/-1}.control-reading{color:var(--paper);background:var(--ink);margin-top:1rem;padding:1.2rem}.control-reading strong{margin:.45rem 0;font-size:clamp(1.25rem,2vw,1.75rem);display:block}.control-reading p{color:#f4f2ecb3;margin:0;font-size:.78rem}.room-scene{background:rgba(227, 218, 207, var(--room-light));isolation:isolate;min-height:34rem;transition:background .18s;position:relative;overflow:hidden;box-shadow:inset 0 0 7rem #151a1c33}.room-ceiling,.room-floor,.room-wall{z-index:2;pointer-events:none;position:absolute}.room-ceiling{clip-path:polygon(0 0,100% 0,86% 100%,14% 100%);background:linear-gradient(#dad4ca,#eee8dd);height:14%;inset:0 0 auto}.room-floor{clip-path:polygon(13% 0,87% 0,100% 100%,0 100%);background:linear-gradient(165deg,#c5ab90,#8d7562);height:22%;inset:auto 0 0}.room-wall{background:#d8d1c7;width:19%;top:0;bottom:0}.room-wall-left{clip-path:polygon(0 0,100% 14%,70% 78%,0 100%);left:0}.room-wall-right{clip-path:polygon(0 14%,100% 0,100% 100%,30% 78%);right:0}.window-assembly{z-index:1;background:#9ac8df;border:.7rem solid #2d3738;border-radius:.1rem;position:absolute;inset:10% 13% 18%;overflow:hidden;box-shadow:0 0 0 .4rem #d6d0c6,0 1.5rem 3rem #151a1c33}.outdoor-view{background:linear-gradient(#74bde1 0 68%,#c9d4c5 68% 100%);position:absolute;inset:0;overflow:hidden}.room-scene .sun-disc{top:var(--sun-y);left:var(--sun-x);width:4.5rem;opacity:var(--sun-intensity);transition:inset .22s,opacity .22s;right:auto;transform:translate(-50%,-50%)}.skyline{align-items:end;gap:3%;height:29%;padding-inline:5%;display:flex;position:absolute;inset:auto 0 0}.skyline i{background:#53696d;width:15%;height:65%;display:block}.skyline i:nth-child(2){height:100%}.skyline i:nth-child(3){height:48%}.skyline i:nth-child(4){height:82%}.skyline i:nth-child(5){height:58%}.skyline i:nth-child(6){height:72%}.sun-beam{z-index:2;opacity:var(--sun-intensity);background:radial-gradient(circle at var(--sun-x) var(--sun-y), #fff4b885, transparent 43%);pointer-events:none;transition:opacity .18s;position:absolute;inset:0}.venetian-zone{z-index:4;perspective:12rem;grid-template-rows:repeat(7,1fr);height:33.333%;display:grid;position:absolute;inset:0 0 auto}.venetian-zone span{background:rgba(239, 232, 218, var(--venetian-opacity));transform:rotateX(var(--louver-angle));transform-origin:top;border-bottom:1px solid #151a1c73;transition:transform .18s,background .18s;display:block;box-shadow:0 2px 3px #151a1c33}.roller-zone{z-index:4;position:absolute;inset:33.333% 0 0;overflow:hidden}.roller-cassette,.roller-bar{z-index:2;background:#3f494a;height:.48rem;position:absolute;left:0;right:0}.roller-cassette{top:0}.roller-fabric{height:var(--roller-coverage);background:rgba(231, 225, 209, var(--roller-opacity));backdrop-filter:blur(1.5px);border-bottom:1px solid #151a1c73;transition:height .22s,background .18s;position:absolute;inset:0 0 auto}.roller-bar{top:var(--roller-coverage);transition:top .22s;transform:translateY(-100%)}.window-divider{z-index:5;background:#2d3738;height:.55rem;position:absolute;top:33.333%;left:0;right:0}.desk-silhouette{z-index:3;background:#252c2e;width:36%;height:.9rem;position:absolute;bottom:12%;right:6%}.desk-silhouette:before,.desk-silhouette:after{content:"";background:#252c2e;width:.7rem;height:7rem;position:absolute;top:100%}.desk-silhouette:before{left:8%}.desk-silhouette:after{right:8%}.desk-silhouette span{background:#77959b;border:.35rem solid #252c2e;width:25%;height:4.2rem;position:absolute;bottom:100%;right:14%}.scene-caption{z-index:6;color:var(--paper);background:#151a1cdb;padding:.7rem .85rem;display:grid;position:absolute;bottom:1rem;left:1rem}.scene-caption span{color:#9ae6de;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.62rem}.scene-caption strong{font-size:.84rem}.ruru-layout,.iaq-layout,.triad-layout{grid-template-columns:minmax(16rem,.8fr) minmax(24rem,1.4fr);gap:clamp(1.5rem,4vw,4rem);display:grid}.ruru-controls,.iaq-controls{align-content:start;gap:1.15rem;display:grid}.ruru-controls .entry-name{grid-template-columns:1fr;display:grid}.ruru-controls input[type=text]{border:1px solid var(--rule);width:100%;color:var(--ink);background:var(--paper);padding:.75rem .85rem}.ruru-entry-actions{flex-wrap:wrap;gap:.75rem;display:flex}.ruru-entry-actions .button{min-height:2.5rem;padding:.65rem .9rem}.ruru-map{border-bottom:2px solid var(--ink);border-left:2px solid var(--ink);background:linear-gradient(90deg, transparent 49.8%, var(--rule) 50%, transparent 50.2%), linear-gradient(transparent 49.8%, var(--rule) 50%, transparent 50.2%), var(--paper);min-height:29rem;margin:0 0 1.5rem 2.2rem;position:relative}.ruru-grid-lines{opacity:.46;background-image:linear-gradient(var(--rule) 1px, transparent 1px), linear-gradient(90deg, var(--rule) 1px, transparent 1px);background-size:20% 20%;position:absolute;inset:0}.ruru-axis{z-index:2;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;font-size:.64rem;font-weight:700;display:flex;position:absolute}.axis-x{bottom:-1.8rem;left:0;right:0}.axis-y{flex-direction:column;top:0;bottom:0;left:-2rem}.axis-y b{writing-mode:vertical-rl;transform:rotate(180deg)}.ruru-point{z-index:3;width:var(--point-size);height:var(--point-size);border:var(--point-border) solid var(--ink);color:var(--paper);background:hsl(184 84% var(--point-tone));cursor:pointer;border-radius:50%;font-family:IBM Plex Mono,monospace;font-size:.64rem;font-weight:700;position:absolute;transform:translate(-50%,50%);box-shadow:0 0 0 .2rem #f4f2eccc}.ruru-point.active{z-index:4;box-shadow:0 0 0 .28rem #e6a25e,0 0 0 .48rem #f4f2ece6}.ruru-legend{color:var(--muted);flex-wrap:wrap;gap:.75rem 1.3rem;font-size:.7rem;display:flex}.ruru-legend span{align-items:center;gap:.35rem;display:inline-flex}.ruru-legend i{background:var(--teal);border-radius:50%;width:.7rem;height:.7rem}.ruru-legend span:nth-child(2) i{background:#79d9cf}.ruru-entry-list{background:var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:1.3rem;display:grid}.ruru-entry-list button{color:var(--muted);background:var(--paper);text-align:left;cursor:pointer;border:0;padding:.65rem;font-size:.72rem}.ruru-entry-list button.active{color:var(--paper);background:var(--teal)}.triad-map{min-height:26rem;position:relative}.triad-circle{aspect-ratio:1;border:2px solid var(--teal);width:64%;color:var(--ink);cursor:pointer;background:#07737c12;border-radius:50%;transition:opacity .18s,background .18s,transform .18s;position:absolute}.triad-circle strong,.triad-circle span{display:block}.triad-circle strong{font-size:1rem}.triad-circle span{color:var(--muted);margin-top:.3rem;font-size:.68rem}.triad-circle:not(.active){opacity:.28;background:0 0;transform:scale(.96)}.triad-circle.biology{padding-bottom:27%;top:0;left:18%}.triad-circle.systems{padding:24% 20% 0 0;top:30%;bottom:auto;left:0}.triad-circle.people{padding:24% 0 0 20%;top:30%;bottom:auto;right:0}.triad-center{z-index:5;aspect-ratio:1;width:7.2rem;color:var(--paper);background:var(--ink);text-align:center;pointer-events:none;border-radius:50%;place-content:center;display:grid;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.triad-center span{color:#9ae6de;font-family:IBM Plex Mono,monospace;font-size:.68rem}.triad-center strong{font-size:.86rem}.triad-output,.iaq-planner-output{color:var(--paper);background:var(--ink);align-content:center;padding:clamp(1.5rem,3vw,3rem);display:grid}.triad-output h4,.iaq-planner-output h4{margin:.7rem 0;font-size:clamp(1.6rem,2.7vw,2.7rem);line-height:1.1}.triad-output>p:not(.mono-label),.iaq-planner-output p{color:#f4f2ecb8}.triad-evidence-note{border-top:1px solid #f4f2ec33;gap:.3rem;margin-top:1.5rem;padding-top:1rem;display:grid}.triad-evidence-note strong{color:#9ae6de;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.68rem}.triad-evidence-note span{color:#f4f2ecd1}.triad-output .tool-note{color:#f4f2ec85}.iaq-planner-output{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2rem}.iaq-readiness{aspect-ratio:1;text-align:center;width:10rem;transform:rotate(var(--iaq-angle,0deg));border:.75rem solid #9ae6de;border-color:#9ae6de #9ae6de #f4f2ec29 #f4f2ec29;border-radius:50%;place-content:center;display:grid;position:relative}.iaq-readiness>*{transform:rotate(calc(-1 * var(--iaq-angle,0deg)))}.iaq-readiness span{color:#f4f2ec9e;text-transform:uppercase;font-size:.66rem}.iaq-readiness strong{font-size:3rem;line-height:1}.iaq-readiness small{color:#f4f2ec9e}.iaq-evidence-flow{border:1px solid var(--rule);background:var(--paper);grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:1rem;margin-top:2rem;padding:1.2rem;display:grid}.iaq-evidence-flow div{gap:.25rem;display:grid}.iaq-evidence-flow strong{color:var(--teal);font-size:2rem}.iaq-evidence-flow span{color:var(--muted);font-size:.78rem}.iaq-evidence-flow i{color:var(--teal);font-style:normal}.roadmap-focus,.roadmap-track{background:var(--rule);gap:1px;display:grid}.roadmap-focus{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.2rem}.roadmap-track{grid-template-columns:repeat(5,minmax(0,1fr))}.roadmap-focus button,.roadmap-track button{color:var(--ink);background:var(--paper);cursor:pointer;border:0}.roadmap-focus button{min-height:3.4rem;padding:.7rem;font-size:.78rem;font-weight:700}.roadmap-track button{text-align:left;min-height:7rem;padding:.9rem}.roadmap-track span{color:var(--teal);margin-bottom:1.7rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:block}.roadmap-focus button.active,.roadmap-track button.active{color:var(--paper);background:var(--teal)}.roadmap-track button.active span{color:#b8f4ee}.roadmap-slider{margin:1.6rem 0}.roadmap-output{background:#f4f2ec33;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.roadmap-output>div{min-height:12rem;color:var(--paper);background:var(--ink);padding:1.4rem}.roadmap-output span{color:#9ae6de;text-transform:uppercase;margin-bottom:2.2rem;font-family:IBM Plex Mono,monospace;font-size:.65rem;font-weight:700;display:block}.roadmap-output strong{font-size:.94rem;line-height:1.45}@media (width<=70rem){.proof-item strong{font-size:clamp(1.75rem,4vw,3rem)}.triad-layout,.ruru-layout,.iaq-layout{grid-template-columns:1fr}.triad-map{width:min(100%,34rem);margin-inline:auto}}@media (width<=48rem){.home-display{width:min(13ch,100%);font-size:clamp(2.5rem,11vw,4.2rem)}.button{white-space:normal;text-align:center}.proof-item strong{font-size:clamp(2rem,10vw,3.2rem)}.room-scene{min-height:27rem;margin-top:2rem}.window-assembly{inset:9% 9% 18%}.ruru-map{min-height:23rem}.ruru-entry-list,.roadmap-focus,.roadmap-track,.roadmap-output{grid-template-columns:1fr}.roadmap-track button{min-height:0}.roadmap-track span{margin:0 .7rem 0 0;display:inline}.roadmap-output>div{min-height:0}.roadmap-output span{margin-bottom:.8rem}.triad-map{min-height:25rem}.triad-circle{width:61%}.triad-circle.biology{left:19.5%}.iaq-planner-output{grid-template-columns:1fr}.iaq-readiness{width:8rem}.iaq-evidence-flow{grid-template-columns:1fr}.iaq-evidence-flow i{transform:rotate(90deg)}}
