@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/BarlowCondensed-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--paper:#f1ebdd;--white:#fbf8ef;--ink:#252923;--muted:#596054;--line:#aaa996;--accent:#a94030;--dark:#243b32;--darkline:#617166;--light:#f1ebdd;--gold:#e0d0ae;--max:1320px;--display:'Barlow Condensed','Arial Narrow',sans-serif;--body:Georgia,'Times New Roman',serif;--paper-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' fill='%23f1ebdd'/%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.035'/%3E%3C/svg%3E")}
html{scroll-behavior:auto}
body{font:17px/1.55 var(--body);color:var(--ink);background:var(--paper);background-image:var(--paper-texture)}
body.no-paper-grain{--paper-texture:none}
.wrap{width:calc(100% - 96px);max-width:var(--max)}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:0;line-height:1.02;text-wrap:balance}
h1{font-size:72px;text-transform:uppercase}h2{font-size:47px}h3{font-size:30px}
button,summary{font-family:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.masthead{height:65px;gap:28px;border-bottom:3px double var(--ink)}
.brand{font:600 27px/1 var(--display);letter-spacing:.015em;text-transform:uppercase;white-space:nowrap}
.masthead-note{font:600 12px/1.25 var(--display);letter-spacing:.13em;text-transform:uppercase;margin-right:auto;border-left:1px solid var(--line);padding-left:28px}
.nav{gap:27px;font-size:14px}.nav a{font-size:14px;padding:13px 0}.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}
.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.eyebrow,.section-label,.figure-id,.caption .type,.card-index,.hero-label span,.poster-tools{font-family:var(--display);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.eyebrow{font-size:13px;color:var(--accent);margin-bottom:13px;line-height:1.4}
.home-intro{padding:23px 0 22px;gap:58px;grid-template-columns:1.15fr 1fr;align-items:center}
.home-intro h1{font-size:60px;line-height:.95}.home-role{font:22px/1.25 var(--body);margin-top:8px;letter-spacing:-.015em}
.home-specialty{font:600 14px/1.4 var(--display);letter-spacing:.045em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.home-intro .practice{font:italic 17px/1.5 var(--body);max-width:45ch;padding:9px 0 9px 30px;border-left:1px solid var(--line)}
.section-label{font-size:13px;letter-spacing:.1em;border-top:1px solid var(--ink);padding:10px 0}
.featured{grid-template-columns:1.9fr 1fr;align-items:stretch;background:var(--paper);background-image:var(--paper-texture);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.featured .card-image{aspect-ratio:16/9;align-self:center;background:#111b1a}
.featured .card-info{display:flex;flex-direction:column;justify-content:center;padding:29px 30px;border-left:1px solid var(--ink);background:none}
.card-index{font-size:13px;color:var(--accent);padding-bottom:11px;line-height:1.3}
.featured .card-index{padding-bottom:25px}.featured .card-title h2{font-size:52px;line-height:.97;text-transform:uppercase}
.featured .card-title{gap:10px}.card-arrow{font:30px/1 var(--display)}
.featured .card-sub{font-size:17px;line-height:1.4;margin-top:19px;color:var(--ink)}
.featured .card-meta{font-size:13px;margin-top:29px;color:var(--muted);max-width:26ch}
.project-card .card-image img,.project-card:hover .card-image img{filter:none;transform:none;transition:none}
.project-card:hover .card-title{color:var(--accent)}.project-card:hover .card-arrow{transform:translate(3px,-3px)}
.secondary-cards{gap:40px;margin-top:29px}.secondary-cards .project-card+.project-card:before{content:'';position:absolute;top:0;bottom:0;left:-20px;width:1px;background:var(--line)}
.secondary-cards .card-info{padding:15px 0 17px;border-bottom:1px solid var(--ink)}
.secondary-cards .card-title h2{font-size:33px;line-height:1.05;text-transform:uppercase}
.secondary-cards .card-sub{font-size:15px;line-height:1.45;color:var(--ink);margin-top:9px}
.secondary-cards .card-meta{font-size:13px;line-height:1.4;margin-top:10px}
.secondary-cards .card-index{padding:0 0 10px}.secondary-cards .card-image{aspect-ratio:1.6}
.home-work{padding-bottom:42px}.about{padding:38px 0;border-top:3px double var(--ink);gap:70px}.about h2{font-size:38px}.about p{font-size:16px}
.about .education{border-left:1px solid var(--line);padding-left:35px;font-size:15px;gap:21px}.education strong{font-weight:bold}.education span{font-size:14px}
.contact-actions{font-size:14px;gap:25px}.contact-actions a{color:var(--accent);border-color:var(--accent)}
.footer{font-size:13px;padding:24px 0;border-top:3px double var(--ink)}.footer a{color:var(--ink)}
.project-intro{padding:29px 0 25px}.intro-grid{gap:60px;align-items:center}.intro-copy{font-size:17px;line-height:1.55}
.meta-row{font:14px/1.5 var(--body);gap:60px;margin-top:23px;padding-top:16px;border-color:var(--line)}
.meta-row>div+div{border-left:1px solid var(--line);padding-left:28px}.meta-row strong{font-family:var(--body);font-weight:bold}
.project-hero{background:#182c25}.hero-caption{font-size:14px;line-height:1.5;padding:12px 0 14px}
.jump-nav{font:600 15px/1.25 var(--display);text-transform:uppercase;letter-spacing:.035em;gap:28px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:13px 0}
.persistent-menu{background:var(--paper);background-image:var(--paper-texture);box-shadow:none}.persistent-menu a{font-size:15px}
.section{padding:52px 0}.section-head{gap:65px;margin-bottom:28px;align-items:end}.section-head h2{font-size:47px;line-height:1.04}.section-head p{font-size:17px;line-height:1.5;max-width:48ch}
.section+.section{border-color:var(--line)}.dark{background:var(--dark);color:var(--light);--line:#617166;--muted:#d2d7c8;--accent:#e0d0ae}
.dark .eyebrow{color:var(--gold)}.dark .caption,.dark figcaption,.dark .credit-note,.dark .micro{color:#d6dbce}
.caption,.interaction-grid .caption,.sketch-stack .caption,.poster-art .caption,.visual-comparison .caption{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;font:14px/1.45 var(--body);color:var(--muted);margin-top:11px;align-items:start}
.figure-id{font-size:13px;line-height:1.6;white-space:nowrap;color:var(--accent)}.caption .type{font-size:12px;line-height:1.7;white-space:normal;text-align:right;max-width:12ch;color:var(--muted)}
.interaction-grid>div>.caption{grid-template-columns:minmax(0,1fr) auto}
.caption .caption-copy{min-width:0}.media{min-width:0}.image-button{isolation:isolate}
.sketch-stack .caption{font-size:14px}.sketch-stack .image-button img{height:144px}.sketch-stack{gap:20px}
.space-pair{gap:32px}.space-pair img{aspect-ratio:1.36}.space-pair .image-button{background:#d5d8d2}
.missing{background:#e5ddc9;color:#735031;border-left:2px solid #9c7950;font:12px/1.4 var(--body);margin-top:10px;padding:8px 10px}
.dark .missing{background:#33463a;color:#e5d6b5;border-color:#d5bc86}
.accordion{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.accordion summary{font:600 19px/1.2 var(--display);letter-spacing:.015em;padding:18px 0}.accordion summary:hover{color:var(--accent)}
.accordion summary:after{font-size:24px}.body-note,.micro{font-size:14px;line-height:1.5}
.credit-block{border-top:1px solid var(--line);padding-top:25px;margin-top:36px;gap:36px;font-size:14px}.credit-block h3{font-size:27px;line-height:1.1}.credit-block strong,.credit-block p{font:14px/1.5 var(--body)}.credit-block strong{font-weight:bold}
.next-project{padding:30px 0;gap:50px}.next-project h2{font-size:38px;line-height:1.05}.next-project .eyebrow{font-size:13px}.next-links{font-size:14px;gap:23px}.next-links a:hover{color:var(--accent)}
.pair-hero .hero-label{font:600 28px/1.1 var(--display);padding:13px 22px 17px;color:var(--light)}.pair-hero .hero-label span{font-size:13px;letter-spacing:.03em}
.realized.dust-realized{background:var(--dark);padding:26px;gap:30px}.dust-realized .caption{color:#d6dbce}.dust-realized .figure-id{color:#e0d0ae}.dust-realized .caption .type{color:#d6dbce}.dust-realized .missing{background:#33463a;color:#e5d6b5}
.visual-comparison{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:23px 0;gap:50px}.visual-comparison>div+div{border-left:1px solid var(--line);padding-left:25px}.visual-comparison>div{grid-template-columns:1fr 1fr;gap:22px}.visual-comparison p{font-size:15px}.visual-comparison strong{font:600 25px/1.2 var(--display);color:var(--ink)}
.comparison-title-row h2{font-size:35px}.comparison-title-row{margin-bottom:19px}.cockpit-row p{font-size:17px}.design-callouts text{font-family:Georgia,serif;font-weight:bold}
.poster-opening{grid-template-columns:minmax(0,360px) minmax(0,1fr);padding:29px 0 24px;gap:75px}
.poster-heading h1{font-size:75px;line-height:1;margin:16px 0 22px}.poster-heading .intro-copy{font-size:17px;max-width:47ch}
.poster-scope{font-size:14px;margin-top:27px;padding-top:21px}.poster-scope>div+div{border:0;padding-left:0;margin-top:17px}.poster-scope .poster-tools{font-size:13px}
.desk-evidence-pair{grid-template-columns:1.6fr 1fr;gap:32px}.stamp-secondary{border-top:1px solid var(--line);max-width:none;grid-template-columns:240px 1fr;margin:30px 0 0;padding-top:26px;gap:36px}.stamp-secondary h3{font-size:30px}.stamp-secondary p{font-size:16px}
.video-label{font:600 14px/1.2 var(--display);letter-spacing:.05em;background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:8px 11px}
.bell-grid{grid-template-columns:2.1fr 1fr;gap:32px}.bell-detail .caption{grid-template-columns:auto 1fr}.bell-detail .caption .type{display:none}
.contact-page,.resume-page{padding:43px 0 65px}.contact-page h1{font-size:75px;line-height:1}.email-link{font:27px/1.5 var(--body);color:var(--accent);letter-spacing:-.02em}.availability{margin-top:35px}.availability h3{font-size:34px}.availability p{font-size:17px}
.resume-role{font:22px/1.5 var(--body)}.resume-role span{font:600 15px/1.5 var(--display);letter-spacing:.04em;text-transform:uppercase}.resume-page>a{color:var(--accent);font-size:16px}.resume-grid{gap:65px;margin-top:31px}.resume-grid h2{font-size:36px;border-color:var(--ink);padding-top:18px}.resume-grid h3{font:600 27px/1.2 var(--display)}.resume-grid p{font:16px/1.5 var(--body)}.resume-note{font-size:14px}.resume-grid>div+div{border-left:1px solid var(--line);padding-left:33px}
.dialog{background:#182c25;border:1px solid #758679;padding:19px}.dialog .dialog-top{font:600 17px/1.2 var(--display);letter-spacing:.04em;text-transform:uppercase}.dialog p{font-size:14px}.dialog button{font:15px/1.2 var(--body)}
.system-page{padding:30px 0 50px}.system-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:28px}.system-intro h1{font-size:66px}.system-intro p{max-width:46ch;font-size:16px}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;border-top:3px double var(--ink);padding-top:28px}.system-grid>div+div{border-left:1px solid var(--line);padding-left:30px}.type-specimen{font:600 61px/.98 var(--display);text-transform:uppercase;margin:15px 0 20px}.type-notes{font-size:14px;line-height:1.6}.type-body{font-size:17px;max-width:41ch;margin:18px 0}.system-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0;border-top:1px solid var(--line);padding-top:23px}.swatch{height:74px;border:1px solid var(--line);margin-bottom:8px}.system-swatches p{font:600 15px/1.4 var(--display)}.system-swatches small{font-size:12px}.system-bottom{display:grid;grid-template-columns:1fr 1fr;gap:42px;border-top:1px solid var(--ink);padding-top:22px}.system-bottom h2{font-size:29px;margin-bottom:12px}.system-bottom p{font-size:14px;margin-top:9px}.system-bottom a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.texture-control{font-size:14px;display:flex;gap:10px;align-items:center;margin-top:18px}.texture-control input{accent-color:var(--accent);width:17px;height:17px}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.masthead-note{display:none}.featured .card-info{padding:23px}.featured .card-title h2{font-size:45px}.secondary-cards .card-title h2{font-size:29px}.section-head{gap:40px}.poster-opening{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px}.poster-heading h1{font-size:61px}.meta-row{gap:35px}.home-intro{gap:30px}.home-intro .practice{padding-left:24px}.caption .type{max-width:9ch}}
@media(max-width:700px){
 body{font-size:16px}.wrap{width:calc(100% - 36px)}.masthead{height:auto;min-height:87px;flex-wrap:wrap;gap:5px;padding:13px 0 10px;align-content:center}.brand{font-size:26px}.nav{width:100%;justify-content:space-between;gap:14px}.nav a,.nav .about-link{display:block;font-size:13px;padding:5px 0}
 h1{font-size:51px}h2{font-size:36px}h3{font-size:27px}.eyebrow{font-size:12px}.home-intro{padding:21px 0 20px;display:block}.home-intro h1{font-size:54px}.home-role{font-size:20px}.home-specialty{font-size:13px}.home-intro .practice{font-size:16px;line-height:1.5;margin-top:17px;padding:0;border:0;max-width:34ch}
 .section-label{font-size:12px;padding:9px 0}.featured{display:block}.featured .card-info{border:0;padding:21px 18px 22px}.featured .card-index{padding-bottom:12px}.featured .card-title h2{font-size:40px}.featured .card-title{align-items:center}.featured .card-sub{font-size:16px;margin-top:11px}.featured .card-meta{font-size:13px;margin-top:18px;max-width:none}.card-index{font-size:12px}
 .secondary-cards{display:block;margin-top:27px}.secondary-cards .project-card+.project-card{margin-top:25px}.secondary-cards .project-card+.project-card:before{display:none}.secondary-cards .card-image{aspect-ratio:1.8}.secondary-cards .card-title h2{font-size:32px}.secondary-cards .card-sub{font-size:15px}.secondary-cards .card-meta{font-size:13px}.secondary-cards .card-info{padding:15px 0 19px}
 .about{display:block;padding:30px 0}.about h2{font-size:34px}.about p{font-size:16px}.about .education{border-left:0;padding-left:0;margin-top:28px;font-size:14px}.education span{font-size:13px}.contact-actions{font-size:14px;gap:23px}.footer{font-size:12px;align-items:start;padding:22px 0}.footer span{max-width:24ch}
 .project-intro{padding:27px 0 24px}.intro-grid{display:block}.intro-copy{font-size:16px;margin-top:19px}.meta-row{display:block;font-size:14px;margin-top:22px;padding-top:17px}.meta-row>div+div{border:0;padding-left:0;margin-top:15px}.hero-caption{font-size:14px;line-height:1.5}
 .jump-nav{gap:8px 18px;font-size:14px;padding:12px 0;line-height:1.45}.persistent-menu{width:100%;padding:12px 18px}.persistent-menu a{font-size:14px}.section,.credit-block{scroll-margin-top:100px}.section{padding:37px 0}.section-head{display:block;margin-bottom:25px}.section-head h2{font-size:38px}.section-head p{font-size:16px;margin-top:17px}
 .caption,.interaction-grid .caption,.sketch-stack .caption,.poster-art .caption,.visual-comparison .caption{font-size:14px;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:10px}.caption .type{display:none}.figure-id{font-size:13px;line-height:1.6}.sketch-stack .image-button img{height:124px}.sketch-stack figure:last-child img{height:175px}
 .space-pair img{aspect-ratio:auto}.missing{font-size:12px;line-height:1.5}.accordion summary{font-size:19px;padding:17px 0}.body-note,.micro{font-size:14px}.credit-block{display:block;gap:0;margin-top:30px;padding-top:23px}.credit-block h3{font-size:28px}.credit-block p,.credit-block strong{font-size:14px}.credit-block>div{margin-top:20px}
 .next-project{grid-template-columns:1fr 95px;gap:18px;padding:28px 0}.next-project h2{font-size:32px}.next-project .eyebrow{font-size:12px}.next-links{font-size:13px;gap:20px}
 .pair-hero .hero-label{font-size:26px;padding:12px 16px 16px}.pair-hero .hero-label span{font-size:12px}.realized.dust-realized{padding:16px}.cockpit-row p{font-size:16px}.visual-comparison{display:block;padding:21px 0}.visual-comparison>div+div{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:21px}.visual-comparison p{font-size:14px}.comparison-title-row h2{font-size:32px}.visual-comparison strong{font-size:25px}
 .poster-opening{display:flex;gap:0;padding:26px 0 24px}.poster-heading h1{font-size:57px;margin:13px 0 19px}.poster-heading .intro-copy{font-size:16px}.poster-scope{font-size:14px;margin-top:24px;padding-top:20px}.poster-scope .poster-tools{font-size:13px}.desk-evidence-pair{display:block}.stamp-secondary{grid-template-columns:1fr;gap:23px;margin-top:29px}.stamp-secondary h3{font-size:29px}.stamp-secondary p{font-size:16px}.video-label{font-size:12px;padding:7px 9px}.bell-grid{display:block}
 .contact-page,.resume-page{padding:33px 0 48px}.contact-page h1{font-size:56px}.email-link{font-size:21px;overflow-wrap:anywhere}.availability h3{font-size:32px}.availability p{font-size:16px}.resume-role{font-size:20px}.resume-role span{font-size:14px}.resume-grid{display:block;margin-top:20px}.resume-grid>div+div{border:0;padding-left:0}.resume-grid h2{font-size:33px}.resume-grid h3{font-size:26px}.resume-grid p{font-size:16px}.resume-note{font-size:14px}.dialog p{font-size:14px}
 .system-intro{display:block}.system-intro h1{font-size:50px}.system-intro p{margin-top:18px}.system-grid{display:block}.system-grid>div+div{border:0;padding:27px 0 0;margin-top:24px;border-top:1px solid var(--line)}.type-specimen{font-size:51px}.system-swatches{grid-template-columns:1fr 1fr}.system-bottom{display:block}.system-bottom>div+div{margin-top:24px}.system-bottom p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
