@font-face{font-family:'Montserrat';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/montserrat-italic-400.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/montserrat-normal-400.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/montserrat-normal-500.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/montserrat-normal-600.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/montserrat-normal-700.ttf') format('truetype')}
:root{--paper:#fff;--ink:#29382c;--muted:#737b71;--line:#dce0d8;--green:#455c39;--canvas:#1d1d1d;--rail:#323232;--gutter:4vw;--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--site-header-height,105px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.3}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #99ad83;outline-offset:4px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:fixed;top:-80px;left:20px;background:#fff;padding:15px;z-index:100}.skip:focus{top:10px}
header{position:sticky;top:0;z-index:40;background:#fffffff5;backdrop-filter:blur(16px);padding:26px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:16px;font-weight:700;letter-spacing:-.5px;line-height:1.02}.brand span{display:block;font-size:8px;font-weight:400;letter-spacing:1.8px;margin-top:10px}header nav{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500}header nav a{padding:10px 13px;border-radius:6px;white-space:nowrap;transition:background .18s}header nav a:hover,header nav a[aria-current]{background:#f1f4ed}header nav .compiled-portfolio-link{border:1px solid var(--line)}nav sup{font-size:8px;opacity:.6;margin-left:3px}header nav .contact{margin-left:8px;background:var(--ink);color:#fff}header nav .contact:hover{background:var(--green)}
.intro{padding:52px var(--gutter) 36px}.intro h1{font-size:clamp(30px,3.75vw,54px);line-height:1.1;letter-spacing:-1.9px;margin:0;font-weight:600}.eyebrow{display:block;text-transform:uppercase;font-size:10px;letter-spacing:1.5px;font-weight:500;margin-bottom:22px}.grid{display:flex;flex-direction:column;gap:4.5vw;margin:0 var(--gutter) 76px;padding:0}.project-card{position:relative;display:block;width:100%}.cover{position:relative;overflow:hidden;aspect-ratio:697/123;background:#f3f5ef}.cover img{display:block;width:100%;height:100%;object-fit:cover}.card-arrow{display:none}.card-meta{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:20px 24px;background:linear-gradient(transparent,rgba(17,30,20,.8));color:#fff;opacity:0;transition:opacity .2s}.project-card:hover .card-meta,.project-card:focus-visible .card-meta{opacity:1}.card-meta h2{font-size:clamp(16px,1.8vw,25px);font-weight:500;letter-spacing:-.6px;margin:0 0 7px}.index{font-size:10px;margin-right:15px;opacity:.7}.card-meta p{font-size:10px;margin:0;opacity:.8}.card-type{font-size:9px;text-transform:uppercase;letter-spacing:1px;text-align:right;opacity:.8}
.small-link{display:inline-block;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:5px}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:7vw;padding:76px var(--gutter);background:var(--rail);color:#f0f0eb}.about h2{font-size:clamp(32px,4vw,58px);font-weight:400;line-height:1.12;letter-spacing:-2px;margin:0}.about p{max-width:650px;font-size:15px;line-height:1.85;margin:0 0 24px}.about .eyebrow{color:#c2c8bd}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px;padding-top:24px;border-top:1px solid #595d56}.credentials h3{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:1.4px}.credentials p{font-size:12px;line-height:1.7}footer{display:flex;justify-content:space-between;gap:24px;padding:28px var(--gutter);border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.project-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px var(--gutter);font-size:11px;border-bottom:1px solid var(--line);min-height:56px}.project-toolbar a{white-space:nowrap}.project-toolbar a:hover{text-decoration:underline;text-underline-offset:4px}.toolbar-context{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.sheet{margin:0 0 40px}.sheet button{display:block;width:100%;border:0;padding:0;background:#fff;cursor:zoom-in}.sheet img{display:block;width:100%;height:auto}.sheet figcaption{display:none}.project-credit{font-size:10px;color:var(--muted);line-height:1.8;margin:0;padding:4px 0 30px;max-width:1000px}.individual-sheets{background:#fff;padding:var(--gutter) var(--gutter) 0}
.project-loop{padding:32px var(--gutter) 40px;border-top:1px solid var(--line)}.project-loop-row{display:grid;grid-template-columns:1fr auto;gap:24px}.project-step{display:flex;align-items:center;gap:14px;font-size:12px;line-height:1.5}.project-step small{display:block;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.round-arrow{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line);border-radius:50%;font-size:18px}.following-project{grid-column:1/-1;grid-row:1;justify-content:space-between;padding:26px 30px;border:1px solid var(--line);border-radius:var(--radius);background:#f3f5ef;transition:background .18s}.following-project:hover{background:#e9eee1}.following-project>span:first-child{font-size:clamp(22px,2.6vw,36px);letter-spacing:-.8px;font-weight:500}.following-project .round-arrow{width:52px;height:52px;flex-basis:52px;background:var(--ink);border-color:var(--ink);color:#fff;font-size:25px}.previous-project{grid-row:2;color:var(--muted)}.project-position{display:flex;align-items:center;gap:6px;grid-row:2;grid-column:2}.project-position a{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:10px;color:var(--muted)}.project-position a:hover{background:#f1f4ed}.project-position a[aria-current]{color:#fff;background:var(--ink)}.project-loop-options{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:28px;font-size:11px}.project-loop-options a{border-bottom:1px solid var(--line);padding-bottom:5px}
body.project-view{overflow:hidden}body.project-view footer{display:none}.project-workspace{display:grid;grid-template-columns:minmax(0,1fr) 104px;height:calc(100dvh - var(--site-header-height,105px) - var(--project-toolbar-height,56px));background:var(--canvas);color:#f0f0eb}.project-workspace .sheets{height:100%;min-width:0;overflow:auto;overscroll-behavior:contain;padding:var(--gutter) var(--gutter) 0;--page-scale:1;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#c4c4c4 var(--canvas)}.sheets::-webkit-scrollbar{width:12px;height:12px}.sheets::-webkit-scrollbar-track{background:var(--canvas)}.sheets::-webkit-scrollbar-thumb{background:#c4c4c4;border:3px solid var(--canvas);border-radius:8px}.project-workspace .sheet{width:calc(100% * var(--page-scale));margin:0 auto 40px}.project-workspace .project-credit{color:#aeb3aa}.portfolio-back{display:block;color:#eee;font-size:11px;padding:0 0 35px}.page-rail{background:var(--rail);border-left:1px solid #51554d;min-height:0}.rail-controls{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:20px 8px}.page-rail button,.page-rail summary,.project-download{color:#cbd0c5;transition:background .15s,color .15s;border-radius:6px}.page-rail button{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:42px;min-height:36px;padding:7px}.page-rail button:hover:not(:disabled),.project-jump summary:hover,.project-download:hover{background:#44483f;color:#fff}.page-rail button:disabled{opacity:.25}.page-rail svg{width:21px;height:21px;stroke-width:1.7}.page-controls,.rail-fit,.rail-zoom{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;padding-top:18px;border-top:1px solid #50544c}.page-controls label,.rail-label{font-size:9px;color:#aeb5a7;letter-spacing:.7px;text-transform:uppercase}.rail-pair{display:flex;align-items:center;justify-content:center;gap:0}.rail-pair button{width:36px;min-height:32px;padding:6px}.page-total{font-size:10px;color:#aeb5a7}#page-number{appearance:textfield;-moz-appearance:textfield;width:58px;height:46px;font-size:21px;font-weight:500;text-align:center;padding:4px;color:#f3f5ef;background:var(--canvas);border:1px solid #696e62;border-radius:6px}#page-number::-webkit-inner-spin-button,#page-number::-webkit-outer-spin-button{appearance:none;margin:0}.rail-fit{flex-direction:row;align-items:center;justify-content:center;gap:1px}.rail-fit button{width:42px;min-height:47px;font-size:8px}.rail-zoom output{font-size:10px;font-variant-numeric:tabular-nums;color:#d1d6ca}.project-download{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:9px 4px;width:80px;min-height:54px;background:none;border:0;box-shadow:none;text-align:center}.project-download span{font-size:9px}.project-jump{position:relative;z-index:5}.project-jump summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;padding:9px;width:76px;font-size:9px}.project-jump summary::-webkit-details-marker{display:none}.project-jump[open] summary{background:#44483f;color:#fff}.project-jump-menu{position:absolute;right:calc(100% + 17px);top:0;width:min(298px,calc(100vw - 120px));background:var(--rail);border:1px solid #686d61;border-radius:10px;padding:10px;box-shadow:0 14px 40px #0005;max-height:calc(100dvh - var(--site-header-height,105px) - 80px);overflow:auto}.jump-heading{display:block;font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:#afb7a6;padding:10px 10px 14px}.page-rail .project-jump-menu button{width:100%;flex-direction:row;justify-content:flex-start;gap:13px;text-align:left;padding:13px 10px;min-height:58px;line-height:1.4;font-size:11px}.jump-number{font-size:10px;color:#aab19f}.project-jump-menu small{display:block;font-size:9px;color:#aeb6a4;margin-top:4px}.project-jump-menu button.is-current{background:var(--canvas);color:#fff}
#viewer{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:var(--canvas);color:#f3f5ed;overflow:hidden}#viewer::backdrop{background:var(--canvas)}.viewer-bar,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 24px;height:68px;font-size:11px;background:var(--rail);border-bottom:1px solid #4d5246}.viewer-bar>div{display:flex;gap:6px;align-items:center}.viewer-bar button,.viewer-bar a,.viewer-bottom button{border:1px solid #626957;border-radius:6px;background:none;color:inherit;padding:9px 12px;font-size:11px}.viewer-bar button:hover,.viewer-bar a:hover,.viewer-bottom button:hover{background:#454c3c}.viewer-bottom{height:50px;font-size:10px;color:#bdc5b2;border-top:1px solid #4d5246;border-bottom:0}.viewer-bottom button{padding:6px 10px}#image-stage{height:calc(100dvh - 118px);overflow:auto;text-align:center;overscroll-behavior:contain}#large-image{display:block;margin:auto;max-width:none;height:auto}
:is(#contact-panel,#resume-panel){position:fixed;inset:0;margin:auto;width:min(540px,calc(100vw - 32px));height:fit-content;max-height:calc(100dvh - 40px);padding:48px 32px 30px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);overflow:auto;box-shadow:0 24px 100px #0003}:is(#contact-panel,#resume-panel)::backdrop{background:#1d251c80;backdrop-filter:blur(4px)}.contact-close{position:absolute;top:15px;right:17px;border:0;background:none;padding:7px;font-size:11px;color:var(--muted)}:is(#contact-panel,#resume-panel) h2{font-size:36px;font-weight:500;letter-spacing:-1.3px;line-height:1.15;margin:0 0 18px}:is(#contact-panel,#resume-panel) p{font-size:13px;line-height:1.8;margin:0 0 24px}:is(#contact-panel,#resume-panel) label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;margin-bottom:9px}#contact-email{width:100%;padding:14px 12px;border:1px solid var(--line);border-radius:6px;background:#f6f7f3;color:var(--ink);font-size:clamp(12px,3.4vw,18px)}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:20px;font-size:11px}.contact-actions a{border-bottom:1px solid var(--line);padding:9px 0}#copy-email,#resume-panel .resume-primary{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:6px;padding:12px 18px}#copy-status{min-height:18px;font-size:11px!important;margin:17px 0 0!important}
@media(max-width:1000px){header{flex-wrap:wrap;gap:18px;padding-top:20px;padding-bottom:18px}header nav{width:100%;justify-content:space-between;gap:4px}header nav a{padding:9px 10px;font-size:10px}header nav .contact{margin-left:0}.about{gap:40px}.toolbar-context{max-width:40%}}
@media(max-width:700px){:root{--gutter:5vw}header{gap:16px}.brand{font-size:14px}.brand span{font-size:7px}header nav{gap:3px;flex-wrap:wrap}header nav a{padding:8px;font-size:10px}.intro{padding-top:36px;padding-bottom:26px}.intro h1{font-size:33px;letter-spacing:-1.3px}.grid{margin-bottom:50px}.card-meta{padding:8px 12px}.card-meta h2{font-size:14px;margin:0}.card-meta p,.card-type,.index{display:none}.about{padding-top:45px;padding-bottom:45px;grid-template-columns:1fr;gap:30px}.about h2{font-size:36px;letter-spacing:-1.4px}.about p{font-size:13px}.credentials{gap:20px}.credentials p{font-size:11px}footer{flex-wrap:wrap;font-size:9px}footer span:nth-child(2){display:none}.project-toolbar{gap:14px;padding-top:15px;padding-bottom:15px;font-size:10px;min-height:50px}.toolbar-context{display:none}.sheet,.project-workspace .sheet{margin-bottom:32px}.project-loop{padding-top:24px}.project-loop-row{grid-template-columns:1fr;gap:20px}.following-project{grid-column:1;grid-row:1;padding:20px 16px}.following-project>span:first-child{font-size:22px;letter-spacing:-.5px}.following-project .round-arrow{width:42px;height:42px;flex-basis:42px}.project-position{grid-column:1;grid-row:2;justify-content:center}.previous-project{grid-row:3;justify-content:center}.project-loop-options{font-size:10px;gap:22px}.project-workspace{grid-template-columns:minmax(0,1fr) 72px}.rail-controls{padding:10px 3px;gap:13px}.page-controls,.rail-fit,.rail-zoom{padding-top:12px;gap:7px}.project-jump summary{width:62px;font-size:8px}.rail-pair button{width:30px}.rail-fit{flex-direction:column;gap:2px}.rail-fit button{width:52px;min-height:35px;flex-direction:row;font-size:8px;gap:5px;padding:5px}.page-rail svg{width:19px;height:19px}#page-number{width:48px;height:42px;font-size:19px}.project-download{width:60px;font-size:8px;padding:6px;min-height:48px}.project-download span{font-size:8px}.project-jump-menu{right:calc(100% + 8px);width:min(278px,calc(100vw - 95px))}.viewer-bar{height:106px;padding:12px;align-items:flex-start;flex-direction:column;gap:9px}.viewer-bar>div{gap:5px;flex-wrap:wrap}.viewer-bar button,.viewer-bar a{padding:7px 9px;font-size:10px}#image-stage{height:calc(100dvh - 156px)}.viewer-bottom{padding:10px}.viewer-bottom span:nth-child(2){display:none}:is(#contact-panel,#resume-panel){padding:46px 24px 26px}}
@media(max-height:760px){.rail-controls{gap:10px;padding-top:8px;padding-bottom:8px}.page-controls,.rail-fit,.rail-zoom{padding-top:10px;gap:5px}.page-rail button{min-height:30px;padding:5px}.rail-fit button{min-height:36px}.project-jump summary{padding:6px}.project-download{min-height:42px}#page-number{height:38px}.project-jump-menu{top:auto;bottom:0;max-height:calc(100dvh - var(--site-header-height,105px) - 30px)}}
@media(max-width:420px){header nav .compiled-portfolio-link{order:5;flex-basis:100%;text-align:center;margin-top:4px}header nav{justify-content:space-between}.rail-controls{justify-content:flex-start}.project-jump-menu{top:0;bottom:auto}}
@media(hover:none){.card-meta{opacity:1;background:linear-gradient(transparent 30%,rgba(17,30,20,.65))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.viewer-bar button,.viewer-bottom button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px}.viewer-bar svg,.viewer-bottom svg,.round-arrow svg{width:19px;height:19px}

.about-me-page{padding:52px var(--gutter) 64px;max-width:1900px;margin:auto}
.about-me-heading{padding-bottom:42px;border-bottom:1px solid var(--line);margin-bottom:42px}
.about-me-heading .eyebrow{margin-bottom:18px}
.about-me-heading h1{font-size:clamp(34px,4vw,62px);font-weight:500;letter-spacing:-2px;line-height:1.1;margin:0 0 16px}
.about-me-heading>p{font-size:12px;color:var(--muted);margin:0}
.about-me-intro,.about-me-field{display:grid;grid-template-columns:1.05fr 1fr;gap:6vw;align-items:center}
.about-me-page figure{margin:0;min-width:0}.about-me-page figure img{display:block;width:100%;height:auto}
.about-me-page figcaption{font-size:9px;color:var(--muted);line-height:1.6;margin-top:12px}
.about-me-copy h2,.about-me-background h2{font-size:clamp(25px,2.6vw,39px);font-weight:400;letter-spacing:-1.2px;line-height:1.2;margin:0 0 25px}
.about-me-page p{font-size:13px;line-height:1.9;max-width:620px;margin:0 0 20px}
.about-me-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}
.about-primary{display:inline-flex;gap:20px;align-items:center;justify-content:center;background:var(--ink);border:1px solid var(--ink);color:#fff;padding:13px 20px;border-radius:6px;font-size:11px;font-weight:500}
.about-primary:hover{background:var(--green);border-color:var(--green)}
.about-me-field{grid-template-columns:.85fr 1.15fr;padding:70px 0;margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-me-background{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:60px 0}
.about-me-background h2{font-size:27px}.about-me-background .eyebrow{margin-bottom:18px}
.about-me-next{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-top:30px;border-top:1px solid var(--line)}
@media(max-width:900px){.about-me-intro,.about-me-field{gap:35px}.about-me-copy h2{font-size:29px}.about-me-page p{font-size:12px}}
@media(max-width:700px){.about-me-page{padding-top:35px;padding-bottom:42px}.about-me-heading{margin-bottom:28px;padding-bottom:26px}.about-me-heading h1{font-size:35px;letter-spacing:-1.4px}.about-me-intro,.about-me-field,.about-me-background{grid-template-columns:1fr;gap:30px}.about-me-copy h2{font-size:29px}.about-me-field{padding:36px 0;margin-top:36px}.about-me-field figure{grid-row:1}.about-me-background{padding:38px 0;gap:35px}.about-me-next{align-items:flex-start;flex-direction:column}.about-me-page p{font-size:13px}}

.project-workspace .portfolio-bookend{width:calc(50% * var(--page-scale))}.project-download[hidden]{display:none}@media(max-width:700px){.project-workspace .portfolio-bookend{width:calc(100% * var(--page-scale))}}

.other-works{padding:0 var(--gutter) 80px}.other-works-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}.other-works-heading h2{font-size:26px;font-weight:500;letter-spacing:-.8px}.other-works-heading p{font-size:12px;color:var(--muted)}.other-works-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.other-work-card{position:relative;display:block;border-top:1px solid var(--line);padding:32px 60px 32px 0;transition:color .2s}.other-work-card:hover{color:#617154}.other-work-card h3{font-size:28px;font-weight:500;letter-spacing:-.8px;margin:18px 0 12px}.other-work-card p{font-size:12px;color:var(--muted)}.other-work-arrow{position:absolute;right:10px;top:50%;width:25px}.other-work-arrow svg,.other-work-next svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.5}.other-work-page{padding:45px var(--gutter) 70px}.other-work-heading{position:static;display:block;border:0;padding:65px 0 55px;background:none}.other-work-heading h1{font-size:clamp(36px,5vw,68px);font-weight:500;letter-spacing:-2px;margin:18px 0}.other-work-heading>p{font-size:15px;color:var(--muted)}.other-work-feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-block:1px solid var(--line);padding:50px 0}.other-work-page h2{font-weight:400;letter-spacing:-1px;font-size:32px;line-height:1.2}.other-work-page p{font-size:14px;line-height:1.9}.coverage{padding:45px 0}.coverage>h2{font-size:23px;margin-bottom:28px}.coverage>a{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:24px 0}.coverage h3{font-size:17px;font-weight:400;margin:10px 0 0;line-height:1.5}.external-arrow{font-size:25px}.coverage>a:hover{color:#617154}.other-work-next{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:35px}.research-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px}.research-intro figure{margin:0}.research-intro img{width:100%;height:auto;display:block}.research-intro figcaption{font-size:10px;color:var(--muted);margin-top:10px}.research-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:65px 0}.research-themes>div{border-top:1px solid var(--line);padding-top:22px}.research-themes h2{font-size:23px}@media(max-width:700px){.other-works{padding-bottom:45px}.other-works-grid,.other-work-feature,.research-intro,.research-themes{grid-template-columns:1fr;gap:25px}.other-works-heading{display:block}.other-work-heading{padding:40px 0}.other-work-page{padding-top:30px}.other-work-next{align-items:flex-start;flex-direction:column}.other-work-feature{padding:30px 0}.research-themes{margin:40px 0}.other-work-card{padding-top:25px;padding-bottom:25px}}

.protest-gallery{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:55px 0;border-bottom:1px solid var(--line);align-items:start}.protest-gallery figure{margin:0}.protest-gallery img{display:block;width:100%;height:auto}.protest-gallery figcaption{font-size:10px;color:var(--muted);line-height:1.7;margin-top:12px}.protest-art-pair{display:grid;grid-template-columns:1fr .42fr;gap:24px;align-items:start;margin-top:32px}.protest-originals h2{margin:15px 0}.protest-originals p{max-width:440px}.protest-gallery a{display:block;cursor:zoom-in}.protest-gallery a:hover{opacity:.9}@media(max-width:700px){.protest-gallery{grid-template-columns:1fr;gap:35px;padding:35px 0}.protest-art-pair{gap:18px}}



.about .home-about-title{grid-column:1/-1;font-size:clamp(30px,3.4vw,46px);letter-spacing:-1.5px;margin:0 0 -12px}.about{row-gap:40px}.home-about-photo{margin:0;min-width:0;align-self:start}.home-about-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:62% center}.home-about-photo figcaption{font-size:11px;line-height:1.8;color:#c2c8bd;margin-top:15px;max-width:440px}.home-about-links{display:flex;flex-wrap:wrap;gap:28px;align-items:center}@media(max-width:700px){.about{row-gap:28px}.about .home-about-title{margin-bottom:0}.home-about-photo{width:100%;max-width:480px}.home-about-links{gap:22px}}

.about{grid-template-columns:1fr 1.3fr;column-gap:6vw;padding-top:55px;padding-bottom:55px;row-gap:30px}.about .home-about-title{font-size:clamp(25px,2.4vw,34px);letter-spacing:-1px;margin:0;font-weight:400}.home-about-photo{width:min(100%,var(--copy-height,420px));justify-self:start}.home-about-photo figcaption{font-size:10px;line-height:1.7;color:#b9beb5;max-width:360px}.about .home-about-copy>p{font-size:14px;line-height:1.8;margin-bottom:20px}.about .credentials{margin-top:25px;padding-top:18px;gap:24px}.about .credentials h3{margin-top:0}.about .credentials p{font-size:11px;margin-bottom:20px}.home-about-links{gap:20px;padding-top:4px}.home-about-links a{font-size:11px}.footer-contact{display:inline-flex;padding:11px 15px;border:1px solid #92998c;border-radius:4px;transition:background .2s}.footer-contact:hover{background:#454b41}.home-about-links .small-link{border-bottom:1px solid #747b6e;padding-bottom:4px}@media(max-width:700px){.about{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;row-gap:24px}.home-about-photo{width:min(100%,360px)}.home-about-links{gap:18px}.about .home-about-title{font-size:28px}}

/* Measure the natural text height rather than the stretched grid row. */
.home-about-copy{align-self:start;min-width:0}.home-about-photo img{height:auto;max-width:100%;aspect-ratio:1}.home-about-photo{max-width:var(--copy-height,420px)}

/* Show the complete photograph in its original proportions. */
.home-about-photo{width:min(100%,calc(var(--copy-height,420px) * 1.3875));max-width:100%}.home-about-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}@media(max-width:700px){.home-about-photo{width:100%;max-width:480px}}

/* Natural photograph by default; a gentle crop only at intermediate desktop widths. */
@media(min-width:701px) and (max-width:1200px){.home-about-photo{width:100%;max-width:100%}.home-about-photo img{height:auto;aspect-ratio:1.12;object-fit:cover;object-position:64% center}}
.resume-about{max-width:1400px;margin:auto}.resume-about .about-me-heading{margin-bottom:35px;padding-bottom:30px}.resume-about .about-me-heading h1{font-size:clamp(34px,4vw,54px)}.resume-about .about-me-actions{margin-top:25px;flex-wrap:wrap}.resume-introduction{display:grid;grid-template-columns:300px 1fr;gap:45px;align-items:center;padding-bottom:40px}.resume-introduction figure,.resume-stewardship{margin:0}.resume-introduction img,.resume-stewardship img{width:100%;height:auto;display:block}.resume-about figcaption{font-size:10px;color:var(--muted);line-height:1.6;margin-top:10px}.resume-about .resume-introduction>p{max-width:620px;font-size:16px;line-height:1.9}.resume-section{display:grid;grid-template-columns:210px 1fr;gap:40px;border-top:1px solid var(--line);padding:32px 0}.resume-about .resume-section>h2{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;line-height:1.7;margin:0}.resume-entry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.resume-entry-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}.resume-about h3{font-size:15px;font-weight:500;margin:0 0 10px;line-height:1.6}.resume-about p,.resume-about li{font-size:13px;line-height:1.85}.resume-about .resume-role{color:var(--muted);font-size:12px;margin-bottom:12px}.resume-entry+.resume-entry{margin-top:30px}.resume-about ul{padding-left:18px;margin:10px 0 0}.resume-about li{padding-left:4px;margin-bottom:7px}.resume-stewardship{margin-top:28px;max-width:520px}.resume-about .about-me-next{padding-top:30px}.resume-about .resume-detail{font-size:12px;color:var(--muted)}@media(max-width:700px){.resume-introduction{grid-template-columns:1fr;gap:24px}.resume-introduction figure{max-width:380px}.resume-section{grid-template-columns:1fr;gap:20px;padding:26px 0}.resume-entry-heading{display:block}.resume-entry-heading>span{display:block;margin-bottom:10px}.resume-about .resume-introduction>p{font-size:14px}.resume-about .about-me-actions{gap:20px}}

.card-date{position:absolute;top:14px;right:16px;z-index:2;padding:6px 9px;border-radius:3px;background:rgba(26,32,27,.75);color:#fff;font-size:10px;font-weight:400;line-height:1.4;letter-spacing:.15px;pointer-events:none}@media(max-width:700px){.card-date{top:6px;right:7px;padding:3px 5px;font-size:8px}}

/* Compact PDF-style controls. */
.project-workspace{grid-template-columns:minmax(0,1fr) 76px}.page-rail{background:linear-gradient(90deg,#303030,#353535);border-left:1px solid #686868}.rail-controls{justify-content:center;gap:14px;padding:14px 8px;overflow:visible}.page-controls,.rail-view-tools{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.page-controls{border:0;padding:0}.rail-view-tools{border-top:1px solid #656565;padding-top:14px}.page-rail button,.page-rail summary,.page-rail .project-download{width:48px;min-height:42px;padding:8px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:4px;color:#d4d4d4;cursor:pointer}.page-rail svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.page-rail button:hover,.page-rail summary:hover,.page-rail .project-download:hover{background:#ffffff12;color:#fff}.page-rail button:disabled{opacity:.3}.page-rail .project-download[hidden]{display:none}#page-number{width:48px;height:46px;border:1px solid #777;border-radius:7px;background:#1d1d1d;font-size:20px;color:#eee}.page-total{font-size:18px;font-weight:500;color:#eee;padding:4px 0}.page-rail output{font-size:9px;color:#bbb}.project-jump summary{width:48px}.project-jump-menu{right:calc(100% + 17px)}.page-rail .project-jump-menu button{width:100%;justify-content:flex-start}.view-options{position:relative}.view-options summary{list-style:none;position:relative}.view-options summary::-webkit-details-marker{display:none}.menu-corner{position:absolute;bottom:4px;right:3px;border-bottom:6px solid #d4d4d4;border-left:6px solid transparent}.view-options-menu{position:absolute;z-index:20;right:calc(100% + 17px);top:0;width:250px;padding:9px;background:linear-gradient(#303030,#202020);border:1px solid #686868;border-radius:7px;box-shadow:0 8px 30px #0007}.page-rail .view-options-menu button{width:100%;display:flex;justify-content:flex-start;gap:12px;position:relative;padding:12px 10px 12px 28px;font:inherit;font-size:12px;text-align:left;white-space:nowrap}.view-options-menu button[aria-pressed=true]::before{content:'✓';position:absolute;left:8px;color:#36acff}.view-options-menu svg{width:22px;height:22px}.view-menu-divider{height:1px;background:#646464;margin:7px 3px}.project-workspace.two-page-view .sheets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-content:start;align-items:start}.project-workspace.two-page-view .sheet{width:calc(100% * var(--page-scale));margin-bottom:0}.project-workspace.two-page-view .portfolio-bookend{grid-column:1/-1;width:calc(25% * var(--page-scale))}.two-page-view .project-credit,.two-page-view .portfolio-back{grid-column:1/-1}.project-workspace.reader-view{position:fixed;inset:0;z-index:1000;width:100vw;height:100dvh;display:block;background:#1d1d1d}.reader-view .sheets{height:100%;padding-bottom:110px}.reader-view .page-rail{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);height:62px;width:max-content;max-width:calc(100vw - 24px);border:1px solid #626262;border-radius:12px;background:#303030ed;box-shadow:0 8px 30px #0007;backdrop-filter:blur(12px)}.reader-view .rail-controls,.reader-view .page-controls,.reader-view .rail-view-tools{height:100%;display:flex;flex-direction:row;gap:4px;width:auto;padding:5px}.reader-view .rail-view-tools{border-top:0;border-left:1px solid #686868;padding-left:8px}.reader-view .page-controls{padding:0}.reader-view #page-number{height:38px;width:44px;font-size:17px}.reader-view .page-total{font-size:14px;margin:0 7px}.reader-view .page-rail button,.reader-view .page-rail summary,.reader-view .project-download{width:38px;min-height:38px;padding:6px}.reader-view .page-rail svg{width:23px;height:23px}.reader-view .view-options-menu,.reader-view .project-jump-menu{top:auto;bottom:calc(100% + 18px);right:0}.reader-view #page-zoom-value{margin:0 4px}.reader-view .view-options-menu button,.reader-view .project-jump-menu button{width:100%;min-height:42px;padding:10px 10px 10px 28px}@media(max-height:760px) and (min-width:701px){.rail-controls{gap:5px;padding:6px}.page-controls,.rail-view-tools{gap:3px}.rail-view-tools{padding-top:8px}.page-rail button,.page-rail summary,.page-rail .project-download{min-height:34px;padding:5px}.page-rail svg{width:24px;height:24px}.view-options-menu{top:auto;bottom:0}}@media(max-width:700px){.project-workspace{grid-template-columns:minmax(0,1fr) 60px}.rail-controls{padding:8px 3px;gap:7px}.page-controls,.rail-view-tools{gap:5px}.page-rail button,.page-rail summary,.page-rail .project-download{width:42px;min-height:37px;padding:7px}.page-rail svg{width:24px;height:24px}#page-number{width:42px;height:42px;font-size:18px}.page-total{font-size:16px}.view-options-menu{right:calc(100% + 9px);width:235px;top:auto;bottom:0}.project-workspace.two-page-view .sheets{gap:14px;padding-inline:14px}.reader-view .page-rail{bottom:12px;height:54px}.reader-view .rail-controls{gap:0;padding:3px}.reader-view .page-controls,.reader-view .rail-view-tools{gap:0;padding:2px}.reader-view .page-rail button,.reader-view .page-rail summary,.reader-view .project-download{width:30px;min-height:34px;padding:5px}.reader-view .page-rail svg{width:20px;height:20px}.reader-view #page-number{width:34px;height:34px;font-size:15px}.reader-view .page-total{font-size:12px;margin:0 4px}.reader-view #page-zoom-value{display:none}.reader-view .view-options-menu{position:fixed;left:0;right:auto;bottom:70px;top:auto}.reader-view .project-jump-menu{left:0;right:auto}.reader-view .view-options-menu button{width:100%;padding-left:28px}}
.view-options-menu{top:auto;bottom:0;max-height:calc(100dvh - 180px);overflow-y:auto}.page-rail .view-options-menu button{flex-direction:row}.reader-view .view-options-menu{max-height:calc(100dvh - 110px)}

.project-workspace.two-page-view .sheets{grid-template-columns:repeat(2,minmax(0,calc((100% - 28px) * var(--page-scale) / 2)))}.project-workspace.two-page-view .sheet{width:100%}.project-workspace.two-page-view .portfolio-bookend{width:25%}@media(max-width:700px){.project-workspace.two-page-view .sheets{grid-template-columns:repeat(2,minmax(0,calc((100% - 14px) * var(--page-scale) / 2)))}}

.project-workspace.two-page-view .sheets{grid-template-columns:repeat(2,minmax(0,var(--spread-column,50%)))}
.project-workspace.two-page-view .sheets{grid-template-columns:repeat(2,var(--spread-column,50%))}

.rail-drag-handle{display:none!important}.reader-view .page-rail .rail-drag-handle{display:flex!important;cursor:grab;touch-action:none}.rail-drag-handle svg{stroke-width:4;stroke-linecap:round}.reader-view .page-rail{backdrop-filter:none}.reader-view .page-rail.is-dragging{cursor:grabbing;opacity:.85;user-select:none}.reader-view .page-rail.dock-vertical{width:64px;height:max-content;max-height:calc(100dvh - 24px);border-radius:10px}.reader-view .dock-vertical .rail-controls,.reader-view .dock-vertical .page-controls,.reader-view .dock-vertical .rail-view-tools{flex-direction:column;height:auto;width:100%;gap:3px}.reader-view .dock-vertical .rail-controls{padding:7px 4px}.reader-view .dock-vertical .rail-view-tools{border-left:0;border-top:1px solid #686868;padding:8px 0 0}.reader-view .dock-vertical .page-total{margin:4px 0}.reader-view .dock-vertical #page-zoom-value{display:block}.reader-view .page-rail .view-options-menu,.reader-view .page-rail .project-jump-menu{position:fixed;max-height:calc(100dvh - 32px)}
#project-export{border:1px solid #d6dbd2;border-radius:12px;padding:32px;max-width:520px;width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;color:var(--ink);background:#fff;box-shadow:0 20px 70px #0005;font-family:Montserrat,sans-serif}#project-export::backdrop{background:#0009;backdrop-filter:blur(3px)}#project-export form{position:relative}#project-export h2{font-size:25px;font-weight:500;letter-spacing:-.7px;margin:12px 28px 14px 0}#project-export .eyebrow{font-size:9px;margin-bottom:10px}#project-export p{font-size:12px;line-height:1.8;color:var(--muted)}#project-export fieldset{padding:0;margin:24px 0;border:0;display:grid;gap:8px}.export-project{display:flex;align-items:center;gap:13px;border:1px solid #e1e5dd;border-radius:6px;padding:13px;cursor:pointer}.export-project:has(input:checked){background:#f1f4ed;border-color:#8d9c83}.export-project input{width:17px;height:17px;accent-color:#283d2c;flex-shrink:0}.export-project span{font-size:12px;font-weight:500}.export-project small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:5px}.export-actions{display:flex;justify-content:space-between;align-items:center;gap:14px}#project-export button{font:inherit;font-size:11px;cursor:pointer;border:0;padding:11px 15px;border-radius:5px;background:#edf0e9;color:var(--ink)}#project-export #export-pdf{background:#293c2c;color:#fff}#project-export button:disabled{opacity:.5;cursor:default}#project-export .export-close{position:absolute;right:-8px;top:-8px;background:none;padding:8px}#project-export .export-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}#project-export #export-status{min-height:20px;font-size:11px;margin:15px 0 0}@media(max-width:700px){#project-export{padding:24px}.reader-view .page-rail.dock-vertical{width:52px}.reader-view .dock-vertical .rail-controls{gap:0;padding:4px}.reader-view .dock-vertical .rail-view-tools{padding-top:5px}.reader-view .dock-vertical .page-controls{gap:1px}.reader-view .dock-vertical .page-rail button{min-height:30px}}

#project-export .export-quality{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 24px}#project-export .export-quality legend{font-size:11px;font-weight:500;margin-bottom:12px}.export-quality label{display:flex;gap:10px;align-items:center;border:1px solid #e1e5dd;border-radius:6px;padding:12px;cursor:pointer}.export-quality label:has(input:checked){background:#f1f4ed;border-color:#8d9c83}.export-quality input{accent-color:#283d2c}.export-quality span{font-size:12px;font-weight:500}.export-quality small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:5px;line-height:1.5}
