:root{--paper:#faf9f4;--line:#dce1d6;--green:#284738;--lime:#deecb3}body{background:var(--paper)}.site-header{gap:28px;height:auto;min-height:95px;padding-top:22px;padding-bottom:22px}.site-header nav{gap:23px;flex-wrap:wrap}.site-header .edition{max-width:150px;font-size:8px}.site-header nav a{white-space:nowrap}.site-header nav a[aria-current]{color:#38572d;border-bottom:2px solid #88a15a}.site-header nav a:hover{color:#53783d}.page-container{max-width:1500px}.physics-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center;padding-top:65px;padding-bottom:65px}.physics-hero h1{font-size:clamp(45px,5.3vw,83px)}.physics-hero .button{margin-top:28px}.physics-poster{background:#edf1e4;min-height:360px;border-radius:4px;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;overflow:hidden}.physics-poster>span{font-size:9px;letter-spacing:.16em}.poster-slab{height:130px;width:220px;background:linear-gradient(130deg,#f9f8ef 20%,#d0d5bf 21%,#f0f0e6 22%,#faf9ed 75%,#c9cfb6 76%,#efeee4 78%);transform:rotateX(50deg) rotateZ(-20deg);box-shadow:-8px 12px 0 #b6bfa5,0 30px 25px #50644525;display:grid;place-items:center;border:1px solid #d2d6c5}.poster-slab b{font:500 46px Manrope,sans-serif;color:#476237}.poster-equation{font:500 27px Manrope,sans-serif;letter-spacing:-.03em}.poster-equation em{display:block;text-align:center;font:14px 'DM Sans',sans-serif;color:var(--muted);margin-top:8px}.physics-poster small{font-size:10px;color:var(--muted)}.library-section,.gallery-section{padding-top:50px;padding-bottom:70px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:22px}.section-title h2{font-size:34px}.section-title .eyebrow{margin-bottom:9px}.project-search{font-size:11px;min-width:280px}.project-search input{margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:3px;background:#fff;width:100%}.project-library{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:22px}.project-card{background:#fff;border:1px solid var(--line);padding:20px;transition:transform .18s,border-color .18s}.project-card:hover{transform:translateY(-4px);border-color:#789864}.project-card-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:var(--muted)}.project-card svg{width:100%;margin:20px 0}.project-card h3{font-size:19px;letter-spacing:-.03em;margin-bottom:8px}.project-card p{font-size:12px;color:var(--muted)}.project-card small{display:block;margin-top:20px;font-size:10px;color:#5d7153}.material-research{border-top:1px solid var(--line);margin-top:65px;padding-top:40px}.material-research h2{margin-bottom:20px}.material-research>p{max-width:850px;font-size:13px}.table-scroll{overflow-x:auto}.table-scroll table{width:100%;border-collapse:collapse;min-width:490px;font-size:12px;margin:20px 0}.table-scroll th,.table-scroll td{padding:16px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.table-scroll th{font-size:10px;letter-spacing:.05em;background:#eef0e7}.table-scroll td a{font-size:10px;color:#45683a;text-decoration:underline}.table-scroll td p{margin-bottom:10px}.table-scroll small{font-size:10px;color:var(--muted)}.project-heading{padding-top:27px;padding-bottom:28px}.project-breadcrumb{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:30px}.project-breadcrumb label{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px}.project-breadcrumb select{padding:8px;border:1px solid var(--line);background:#fff;max-width:240px;font:12px 'DM Sans',sans-serif}.project-title{display:flex;justify-content:space-between;align-items:center;gap:30px}.project-title .eyebrow{margin-bottom:12px}.project-title h1{font-size:65px;margin-bottom:0}.project-title h1 span{display:block;font-size:22px;letter-spacing:-.025em;margin-top:15px;color:var(--muted)}.status-card{padding:20px 25px;background:#eff3e6;border:1px solid #dce5cc;border-radius:3px}.status-card p{font-size:11px;color:var(--muted);margin-top:12px}.project-workspace{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);gap:25px;align-items:start;padding-top:10px;padding-bottom:35px}.project-main{min-width:0}.project-scene{height:440px;background:#e9ede2}.project-controls{border:1px solid var(--line);background:#fff;padding:27px;min-width:0}.project-controls h2{font-size:26px}.project-controls .control-head{gap:15px}.project-controls label{display:block;font-size:11px;color:var(--muted);margin:12px 0}.project-controls input:not([type=checkbox]):not([type=range]),.project-controls select{display:block;width:100%;border:1px solid #d4dbce;background:#fafbf7;color:var(--ink);padding:10px;margin-top:6px;font-size:13px;border-radius:2px;min-width:0}.project-controls .fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.project-controls .check{display:flex;align-items:flex-start;gap:8px}.project-controls .check input{margin-top:5px}.project-controls details{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.project-controls details a{font-size:10px;text-decoration:underline;color:#46633e}.project-controls summary{font-size:12px}.project-controls .range-label{display:flex;justify-content:space-between}.project-controls .small-note{font-size:10px;line-height:1.7}.basis-note{font-size:11px;padding:13px;background:#f0f3e9;color:#53664b;margin:16px 0}.unit-toggle{display:flex;gap:0;border:1px solid var(--line);width:fit-content;margin-top:18px}.unit-toggle button{background:#fff;border:0;padding:6px 13px;font-size:10px;color:#53664b}.unit-toggle button[aria-pressed=true]{background:#e5edd9;color:#28482e}.control-section{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.control-section>.eyebrow{margin-bottom:6px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.quick-actions button{background:#f0f3e9;color:#3e5a30;border:1px solid #d4dfc7;padding:7px 12px;font-size:10px;border-radius:2px}.quick-actions button:hover{background:#dfebce}.scene-note{padding:12px 3px}.scene-help{flex-wrap:wrap;gap:15px}.scene-help label{white-space:nowrap}.physics-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-top:17px}.physics-tabs button{border:1px solid var(--line);background:#fff;padding:12px 15px;flex:1;font-size:11px;white-space:nowrap}.physics-tabs button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.physics-explanation{background:#eef3e4;padding:27px;margin-top:10px;min-height:230px}.physics-explanation .eyebrow{font-size:9px}.physics-explanation h2{font-size:27px;margin:8px 0 18px}.physics-explanation p{font-size:12px;max-width:650px;margin:12px 0}.physics-explanation small{font-size:10px;color:var(--muted)}.live-equation{display:block;font:500 clamp(14px,1.6vw,21px)/1.6 Manrope,sans-serif;font-variant-numeric:tabular-nums}.piece-inventory{padding:28px 0}.piece-inventory h2{font-size:29px}.piece-row{display:flex;align-items:center;border-bottom:1px solid var(--line);gap:12px;padding:14px 10px;background:#fff}.piece-row.active{background:#eef3e4;border-left:3px solid #738e51}.piece-row>label{padding:5px;display:flex}.piece-row button{display:flex;align-items:center;gap:17px;flex:1;min-width:0;text-align:left;border:0;background:transparent;color:var(--ink);padding:4px}.piece-row .piece-index{font-size:11px;color:#769063}.piece-row b{display:block;font-size:12px;font-weight:500}.piece-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.piece-mass{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.partial-summary{background:var(--green);color:white;padding:30px;display:grid;grid-template-columns:1fr 1.4fr;gap:25px;margin:0 0 35px}.partial-summary .eyebrow{color:#baccae;margin-bottom:13px}.partial-summary h2{font-size:25px}.partial-summary .small-note{color:#ccdac3;margin-top:12px}.partial-metrics{display:grid;grid-template-columns:1fr 1fr;gap:23px}.partial-metrics span{display:block;font-size:10px;color:#c0d2b5}.partial-metrics strong{font:500 26px/1.4 Manrope,sans-serif;letter-spacing:-.025em}.scenario-comparison{border-top:1px solid var(--line);margin-top:23px;padding-top:18px}.scenario-comparison h3{font-size:15px;margin-bottom:16px}.scenario-comparison p{font-size:11px}.comparison-row{display:flex;justify-content:space-between;font-size:11px;margin:8px 0}.comparison-track{height:8px;background:#edf1e6;margin-bottom:13px}.comparison-track i{display:block;height:8px;background:#a6bd7c}.equation-list{font-size:11px;display:grid;grid-template-columns:1fr;gap:5px}.equation-list dt{margin-top:12px;color:var(--muted)}.equation-list dd{margin:0;border-bottom:1px solid var(--line);padding-bottom:9px;text-align:left;color:var(--ink);overflow-wrap:anywhere}.drawing-excerpts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.drawing-excerpts button{border:1px solid var(--line);background:white;padding:8px;text-align:left}.drawing-excerpts img{width:100%;height:210px;object-fit:contain;background:#eeeee9}.drawing-excerpts span{font-size:10px;display:block;margin:9px 2px;color:var(--muted)}.drawing-dialog{width:min(1000px,94vw);max-height:94vh;padding:22px;background:#fff;border:1px solid var(--line)}.drawing-dialog img{width:100%;height:auto;object-fit:contain}.dialog-close{position:sticky;float:right;top:0;z-index:3;background:#fff;border:1px solid var(--line);height:36px;width:36px;font-size:24px;color:#284738}.sources ul{padding-left:20px}.sources details{padding:12px 0;border-bottom:1px solid var(--line)}.sources details p{padding:10px 12px}.project-pagination{display:flex;justify-content:space-between;margin:35px 0 55px}.project-pagination a{border-bottom:1px solid var(--line);padding-bottom:5px}.gallery-hero{position:relative;height:550px}.gallery-hero>img{height:100%;width:100%;object-fit:cover;object-position:center 62%}.gallery-hero>div{position:absolute;bottom:35px;left:5vw;background:#faf9f4ed;padding:28px 34px;max-width:620px}.gallery-hero h1{font-size:55px;margin-bottom:18px}.gallery-hero .eyebrow{margin-bottom:15px}.gallery-hero p:last-child{font-size:13px;max-width:460px;color:#55614e}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.filter-pills button{border:1px solid var(--line);background:#fff;padding:8px 14px;border-radius:24px;font-size:11px;color:#47613a}.filter-pills button[aria-pressed=true]{background:#dfeabf;border-color:#c1d69b}.job-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:28px}.job-photo{border:1px solid var(--line);padding:0;background:#fff;text-align:left;color:var(--ink);overflow:hidden}.job-photo img{aspect-ratio:4/3;object-fit:cover;transition:transform .25s}.job-photo:hover img{transform:scale(1.025)}.job-photo>span{padding:18px 20px;display:block;font-size:15px;line-height:1.5}.job-photo small{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.job-photo b{display:block;font-size:10px;font-weight:500;color:#5a7542;margin-top:16px}.home-job-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px}.home-job-gallery .job-photo>span{font-size:12px}.home-projects{padding-top:65px;padding-bottom:65px;display:grid;grid-template-columns:1fr 1fr;gap:65px;background:#f1f4e9}.home-projects h2{font-size:48px;line-height:1.15}.home-projects p:not(.eyebrow){font-size:13px;max-width:500px;margin:22px 0}.home-projects .button{font-size:12px}.home-study-preview{background:#e1e9cd;padding:35px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #cddab8;min-height:330px}.home-study-preview>span{font-size:10px;letter-spacing:.1em}.home-study-preview>strong{font:500 42px/1.15 Manrope,sans-serif;letter-spacing:-.04em}.home-study-preview>small{font-size:11px}.photo-dialog{width:min(1100px,95vw);padding:18px;border:0;background:#faf9f4;max-height:95vh}.photo-dialog>img{height:65vh;object-fit:contain;background:#e6e7de}.photo-description{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 5px 8px}.photo-description h2{font-size:20px;margin-bottom:8px}.photo-description p{font-size:10px;max-width:710px;color:var(--muted)}.photo-navigation{display:flex;gap:13px;align-items:center;font-size:11px;white-space:nowrap}.photo-navigation button{border:1px solid var(--line);background:white;width:34px;height:34px}.modal-open{overflow:hidden}dialog::backdrop{background:#162b24cf}.lab-project-entry{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#eaf0db;border:1px solid #dce5c8;padding:25px 30px;margin-bottom:20px}.lab-project-entry .eyebrow{margin-bottom:8px}.lab-project-entry h2{font-size:25px}.lab-project-entry p{font-size:11px;margin-top:8px}.lab-project-entry label{font-size:10px;min-width:270px}.lab-project-entry select{display:block;width:100%;padding:10px;border:1px solid #ccd9b7;margin-top:6px;background:white;font-size:12px}.body-note{max-width:1000px}.sources h3{margin:25px 0 12px}
@media(max-width:1150px){.site-header .edition{display:none}.site-header nav{gap:17px;font-size:11px}.project-library{grid-template-columns:repeat(3,1fr)}.project-workspace{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.home-job-gallery{grid-template-columns:repeat(2,1fr)}.partial-summary{grid-template-columns:1fr 1fr}.physics-tabs button{padding:10px 8px;font-size:10px}.physics-hero{gap:35px}.physics-poster{padding:28px}}
@media(max-width:800px){.site-header{display:block;padding:18px 5vw}.site-header nav{margin-top:16px;gap:15px;display:flex;font-size:10px}.site-header nav a:nth-child(n){display:block}.physics-hero{grid-template-columns:1fr;padding-top:42px}.physics-poster{min-height:310px}.project-library{grid-template-columns:repeat(2,1fr)}.section-title{align-items:flex-start;flex-direction:column}.project-workspace{grid-template-columns:1fr}.project-controls{order:0}.project-scene{height:380px}.project-title{align-items:flex-start;flex-direction:column;gap:22px}.project-title h1{font-size:51px}.status-card{padding:14px 20px;width:100%}.project-breadcrumb{align-items:flex-start;gap:17px}.project-breadcrumb label{display:block}.project-breadcrumb select{display:block;margin-top:7px;max-width:190px}.partial-summary{grid-template-columns:1fr}.partial-metrics{gap:20px}.gallery-hero{height:480px}.gallery-hero>div{left:5vw;right:5vw;bottom:20px;padding:23px}.gallery-hero h1{font-size:39px}.job-gallery{grid-template-columns:1fr 1fr;gap:17px}.home-projects{grid-template-columns:1fr;gap:30px}.home-projects h2{font-size:41px}.lab-project-entry{display:block;padding:22px}.lab-project-entry label{display:block;margin-top:20px}.physics-explanation{padding:23px}.photo-description{display:block}.photo-navigation{margin-top:15px}.photo-dialog>img{height:55vh}.project-pagination{font-size:12px}.drawing-excerpts{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.project-library{gap:12px}.project-card{padding:13px}.project-card h3{font-size:16px}.project-card p{font-size:11px}.project-card small{font-size:9px}.project-card svg{margin:12px 0}.project-search{min-width:100%;width:100%}.project-card-top{font-size:8px}.project-scene{height:310px}.project-controls{padding:20px}.scene-toolbar{flex-wrap:wrap}.scene-help{font-size:9px}.piece-row{gap:6px}.piece-row button{gap:9px}.piece-row b{font-size:11px}.piece-row small{font-size:9px}.piece-mass{font-size:10px}.partial-summary{padding:23px}.partial-metrics strong{font-size:23px}.job-gallery,.home-job-gallery{grid-template-columns:1fr}.job-photo img{max-height:310px}.gallery-hero h1{font-size:33px}.gallery-hero>div{padding:20px}.physics-tabs{gap:4px}.physics-tabs button{font-size:9px}.live-equation{font-size:14px}.drawing-excerpts img{height:150px}}
@media(prefers-reduced-motion:reduce){.project-card,.job-photo img{transition:none}}
@media print{.site-header,.project-controls,.scene-card,.scene-note,.physics-tabs,.piece-inventory,.project-pagination,.project-breadcrumb,.drawing-excerpts button,.quick-actions{display:none!important}.project-workspace{display:block}.page-container{padding:12px 20px!important}.project-heading h1{font-size:36px}.status-card{background:white}.project-title{display:block}.project-title h1 span{font-size:16px}.partial-summary{background:white;color:black;border:1px solid #bbb;break-inside:avoid}.partial-summary .small-note,.partial-summary .eyebrow,.partial-metrics span{color:#555}.study-grid{display:block}.study-card{break-inside:avoid}.sources details{display:block}.sources details>*{display:block}footer{display:none}.physics-explanation{background:white;border:1px solid #ccc}.table-scroll{overflow:visible}.table-scroll table{min-width:0}}
