@font-face{font-family:Portfolio Sans;src:url('/body-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Portfolio Sans;src:url('/body-medium.ttf') format('truetype');font-weight:500 600;font-display:swap}
@font-face{font-family:Portfolio Sans;src:url('/body-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
@font-face{font-family:Portfolio Display;src:url('/editorial.ttf') format('truetype');font-weight:400 900;font-display:swap}
:root{--body:'Portfolio Sans',Arial,sans-serif;--display:'Portfolio Display',Arial,sans-serif;--ink:#161713}
body,button,input,textarea{font-family:var(--body);font-synthesis:none}body{font-size:1rem}p{line-height:1.65}h1,h2,h3{overflow-wrap:break-word}
header{gap:25px;padding-block:22px}header nav{gap:30px}header nav a,#edit-link{font:500 1.1rem/1.3 var(--body);letter-spacing:0}header nav a{position:relative;padding:10px 0}header nav a span{font-size:.75rem;margin-right:8px;color:var(--green)}header nav a:hover,header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}#about-link{font-weight:700}#sound{font:500 .875rem/1.3 var(--body);border-radius:0;border:0;padding:10px 0 10px 20px;border-left:1px solid #16171344}#sound[aria-pressed=true]{background:transparent;color:var(--green)}.wordmark{font:700 1rem/1.3 var(--body);letter-spacing:.03em}.wordmark span{font-size:.75rem}
.cover-type h1{font:400 clamp(2.5rem,7.7vw,7.25rem)/1.05 var(--display);letter-spacing:-.04em}.cover-type p{font:500 .875rem/1.5 var(--body);letter-spacing:.07em}.cover-type strong{font-family:var(--body)}
.entrance-actions{align-items:center;padding:30px 2%;border-top:1px solid var(--ink);margin-top:22px}.entrance-actions p{font-size:1.125rem}.entrance-actions p span{font-size:1rem;color:#54574d}.cover-navigation{display:flex;gap:45px}.cover-navigation small{display:block;font:500 .75rem/1.5 var(--body);letter-spacing:.05em;margin-bottom:8px;color:#55584c}#enter,.cover-about{font:700 clamp(1.125rem,2vw,1.5rem)/1.4 var(--body);display:block;padding:0 0 8px;background:transparent;border:0;border-bottom:2px solid var(--ink);box-shadow:none;text-align:left;min-height:64px}.cover-about:hover,#enter:hover{color:var(--green);border-color:var(--green)}
#map-view{padding-top:30px}.how-to{grid-template-columns:1.25fr 1fr 1fr;gap:24px}.how-to h2{font:700 1.125rem/1.3 var(--body);letter-spacing:0}.how-to p{font-size:1rem}.how-to .step-number{border-radius:0;background:transparent;color:var(--green);font:700 1.25rem/1 var(--body);border-bottom:2px solid var(--green)}
#map-view .map-copy{left:9%;top:17%;width:31%}#map-view .map-copy h1{font:400 clamp(1.8rem,4.3vw,3.8rem)/1.06 var(--display);letter-spacing:-.015em}#map-view .map-copy p{font:400 clamp(.875rem,1.5vw,1.1rem)/1.5 var(--body)}#map-view .landmark{padding:0;box-shadow:none;min-width:0;border-radius:0}#map-view .landmark strong{font:700 clamp(1.125rem,2.8vw,2.3rem)/1.2 var(--body);letter-spacing:0}#map-view .landmark .number{font:500 .875rem/1.2 var(--body);letter-spacing:.05em;margin-bottom:6px}#map-view .landmark .open-label{font:400 .875rem/1.2 var(--body);letter-spacing:0;padding-top:6px}#map-view .landmark:hover,#map-view .landmark.hit{box-shadow:none;background:transparent;transform:none}#map-view .landmark:hover strong,#map-view .landmark.hit strong{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:6px}
.direct-projects{gap:24px}.direct-projects button{font:500 1rem/1.5 var(--body);padding:8px 0;border:0;border-bottom:1px solid var(--ink);box-shadow:none;background:transparent}.direct-projects button:hover{background:transparent;color:var(--green)}.direct-projects>span{font-size:.875rem;color:#5e6156}.actions button{font-size:.875rem;border-radius:0}.status{font-size:1rem}#explore{background:transparent;border:0;border-bottom:1px solid var(--ink);font-size:1rem}.eyebrow{font:500 .8rem/1.5 var(--body);letter-spacing:.1em}
#about-view{display:block;padding:55px 4% 65px;max-width:1300px}.about-intro{grid-template-columns:1fr 1fr;gap:8%;align-items:start}#about-view .about-heading h1{font:400 clamp(2.25rem,5.2vw,4.5rem)/1.08 var(--display);letter-spacing:-.025em;margin:18px 0 30px}.about-portrait{width:100%;aspect-ratio:1.65;transform:none;margin:0;overflow:hidden}.about-portrait img{width:145%;max-width:none;left:-40%;top:0}.about-portrait.custom{aspect-ratio:4/3}.about-portrait.custom img{width:100%;height:100%;position:static;object-fit:cover}.about-bio{border:0;padding-top:0}.about-bio>.eyebrow{margin-top:0}#about-view .about-bio h2{font:700 clamp(1.7rem,3vw,2.75rem)/1.15 var(--body);letter-spacing:-.025em;margin:17px 0}#about-role{font:500 1rem/1.5 var(--body);color:var(--green)}#about-bio{font:400 1.125rem/1.85 var(--body);white-space:pre-wrap;max-width:54ch}
.toolkit-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;margin-top:75px;padding-top:50px;border-top:1px solid var(--ink)}.toolkit-copy h2{font:400 clamp(1.8rem,3.4vw,3rem)/1.14 var(--display);letter-spacing:-.025em;margin:17px 0 22px}.toolkit-intro{font-size:1.1rem;max-width:36ch}.machine-instruction{font-size:.9375rem;margin-top:26px}.tool-controls{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.tool-control{display:flex;align-items:center;justify-content:center;min-width:52px;height:52px;background:var(--tool-bg,var(--green));color:var(--tool-fg,white);border:2px solid var(--ink);font:700 1.5rem/1 var(--body);border-radius:0;padding:8px}.tool-control[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:4px}.tool-control:hover{transform:translateY(-3px)}.tool-detail{min-height:110px;padding-top:10px;max-width:40ch}.tool-detail h3{font:700 1.125rem/1.4 var(--body);letter-spacing:0;margin:0 0 8px}.tool-detail p{font-size:1rem;line-height:1.6;margin:0}.text-button{font:500 .9375rem/1.4 var(--body);padding:8px 0;border:0;border-bottom:1px solid var(--ink);background:transparent}.machine-wrap{position:relative;width:100%;max-width:500px;margin:auto}.machine-art{position:relative}.machine-art>img{display:block;width:100%;height:auto;mix-blend-mode:multiply}.machine-pieces{position:absolute;inset:0 0 auto;height:100%;pointer-events:none;overflow:hidden}.tool-piece{position:absolute;display:grid;place-items:center;width:15%;aspect-ratio:1;background:var(--tool-bg);color:var(--tool-fg);border:2px solid var(--ink);font:700 clamp(1.3rem,3vw,2rem)/1 var(--body);transform:translate(-50%,-50%) rotate(var(--tilt));border-radius:0}.machine-caption{font-size:.875rem;text-align:center;margin:12px 0 0}.machine-wrap .machine-pieces{inset:0;height:100%}
.skills-section{margin-top:70px;padding-top:32px}.skills-heading{display:block;margin-bottom:26px}.skills-heading h2{font:400 clamp(1.5rem,3vw,2.4rem)/1.2 var(--display);letter-spacing:-.02em;margin:14px 0}.skill-list{display:grid;grid-template-columns:1fr 1fr;gap:0 8%}.skill-entry{padding:23px 0;border-top:1px solid #16171355;display:grid;grid-template-columns:35px 1fr;gap:15px}.skill-entry>span{font-size:.875rem;color:var(--green);padding-top:4px}.skill-entry h3{font:700 1.15rem/1.35 var(--body);letter-spacing:0;margin:0 0 10px}.skill-entry p{font-size:1rem;line-height:1.7;margin:0;max-width:44ch}.about-end{border-top:1px solid var(--ink);padding-top:28px;margin-top:45px;display:flex;align-items:center;justify-content:space-between;gap:25px}.about-end p{font-size:1.125rem;line-height:1.5;margin:0}.about-end a{font:700 1.125rem/1.5 var(--body);border-bottom:2px solid var(--ink);padding:10px 0}
#project-title{font:400 clamp(1.8rem,4vw,3.3rem)/1.16 var(--display);letter-spacing:-.025em}.case-grid p{font:400 1rem/1.75 var(--body)}.case-grid h3{font:700 .875rem/1.4 var(--body);letter-spacing:.04em}.editor-aside h1{font-family:var(--display)}.editor-layout h2{font-family:var(--body);letter-spacing:-.02em}.editor-body input,.editor-body textarea{font-family:var(--body)}.editor-layout .tool-edit-item{border-top:1px solid #999;padding:20px 0}.tool-edit-item button,#add-tool{background:transparent;border:1px solid var(--ink);padding:10px;font:500 .875rem/1.4 var(--body)}.tool-edit-item label{margin-bottom:15px}.editor-layout .skill-edit-item{background:transparent;border:0;border-top:1px solid #999;padding:20px 0}.editor-actions button{box-shadow:none}footer #edit-link{font:400 .875rem/1.4 var(--body);text-decoration:underline}footer{font:400 .75rem/1.5 var(--body);letter-spacing:.05em}
@media(max-width:950px){header{flex-wrap:wrap}header nav{gap:24px}.entrance-actions{gap:30px;align-items:start;flex-direction:column}.cover-navigation{width:100%;justify-content:space-between;gap:25px}.about-intro{gap:5%}.toolkit-section{gap:4%}.toolkit-copy h2{font-size:2rem}}
@media(max-width:650px){header{padding:18px 5%;gap:12px}header nav{width:100%;display:grid;grid-template-columns:1fr 1fr auto;gap:10px}header nav a{font-size:1rem}header nav a span{font-size:.75rem;margin-right:5px}#sound{font-size:.875rem;padding-left:12px}.wordmark{font-size:1rem}.wordmark span{font-size:.75rem}.cover-type{gap:16px}.cover-type h1{font-size:clamp(2rem,9vw,3.5rem)}.cover-type strong{font-size:1rem}.cover-type p{font-size:.75rem}.entrance-actions{padding:22px 2%}.entrance-actions p{font-size:1rem}.cover-navigation{gap:20px}.cover-navigation small{font-size:.6875rem;letter-spacing:0;max-width:16ch}#enter,.cover-about{font-size:1.125rem;min-width:0}.how-to{display:block;margin-bottom:20px}.how-to>li{padding-block:14px}.how-to h2{font-size:1rem}.how-to p{font-size:.9375rem}.how-to .palette{gap:24px}#map-view .map-copy h1{font-size:clamp(1.2rem,5.2vw,2rem);letter-spacing:0}#map-view .map-copy{top:21%;left:9%;width:31%}#map-view .landmark .number{display:block;font:700 1.25rem/1 var(--body);margin:0}#map-view .landmark strong,#map-view .landmark .open-label{display:none}.direct-projects{gap:16px;display:grid;grid-template-columns:repeat(3,1fr)}.direct-projects>span{grid-column:1/-1}.direct-projects button{font-size:1rem;min-width:0;text-align:left}.direct-projects button::before{display:block;font-size:.75rem;color:var(--green);margin-bottom:3px}.direct-projects button:nth-of-type(1)::before{content:'01'}.direct-projects button:nth-of-type(2)::before{content:'02'}.direct-projects button:nth-of-type(3)::before{content:'03'}.toolbar .actions{margin-top:22px}.status{font-size:.9375rem}#mode{font-size:.75rem;letter-spacing:.02em}.board-top{flex-wrap:wrap}.board-top button{font-size:.875rem}#about-view{padding:30px 5% 40px}.about-intro{display:block}#about-view .about-heading h1{font-size:clamp(2rem,8vw,3rem)}.about-portrait{max-width:480px;aspect-ratio:1.8}.about-bio{margin-top:30px}#about-view .about-bio h2{font-size:2rem}#about-bio{font-size:1rem;line-height:1.8}.toolkit-section{grid-template-columns:1fr;margin-top:45px;padding-top:28px;gap:30px}.toolkit-copy h2{font-size:clamp(1.65rem,7vw,2.6rem)}.toolkit-intro{font-size:1rem}.machine-wrap{max-width:360px}.tool-piece{font-size:1.6rem}.tool-detail{min-height:90px}.machine-instruction{margin-top:18px}.tool-control{width:48px;height:48px;min-width:44px;font-size:1.35rem}.tool-controls{gap:12px}.skill-list{grid-template-columns:1fr}.skills-section{margin-top:45px}.skills-heading h2{font-size:1.7rem}.about-end{align-items:start;flex-direction:column}.about-end p,.about-end a{font-size:1rem}footer{gap:20px;flex-wrap:wrap}.editor-layout{padding-inline:5%}}
@media(prefers-reduced-motion:reduce){.tool-control:hover{transform:none}}
@media(max-width:650px){.toolkit-section{gap:12px}.toolkit-copy{display:contents}.toolkit-copy>.eyebrow{order:0}.toolkit-copy>h2{order:1;margin:0 0 8px}.toolkit-intro{order:2;margin:0 0 12px}.machine-wrap{order:3;max-width:300px}.machine-instruction{order:4;margin:16px 0 0}.tool-controls{order:5;margin:8px 0 12px}.tool-detail{order:6;padding-top:0;min-height:80px}.toolkit-copy>.text-button{order:7;justify-self:start;margin-bottom:12px}}
