/* Shared portfolio interface. Artwork and brand specimen typography stay independent. */
:root{--ui-font:'Manrope',Arial,Helvetica,sans-serif;--ink:#242424;--muted:#707070;--quiet:#858585}
body{font-family:var(--ui-font);color:var(--ink);font-weight:400;line-height:1.5;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
button,input,textarea{font-family:inherit}
.br,.hp{font-family:var(--ui-font)}
.logo{font-family:var(--ui-font);font-weight:600;letter-spacing:-1.4px;line-height:1.07}
.menu button.portfolio-toggle,.secondary button{font-size:13px;font-weight:500;letter-spacing:-.015em;line-height:1.5}
.menu button.subcategory{font-size:12px;font-weight:400;line-height:1.55;letter-spacing:-.01em;color:var(--muted)}
.menu button.subcategory.active{font-weight:600;color:var(--ink)}
.crumb,.crumb button{font-family:var(--ui-font);font-size:11px;line-height:1.6;letter-spacing:.005em;color:var(--muted)}
.crumb button:last-child{color:var(--ink)}
.counter,.aside-bottom{font-size:10px;line-height:1.7;letter-spacing:.025em;color:var(--quiet)}
.caption{align-items:baseline;padding-top:15px;gap:14px}
.caption h2{font-family:var(--ui-font);font-size:13px;line-height:1.55;font-weight:500;letter-spacing:-.015em;text-wrap:pretty}
.caption span{font-size:15px;font-weight:400;line-height:1;color:#888}
.br .br-intro h1,.hp-intro h1,.detail h1,.project-heading{font-family:var(--ui-font);font-size:clamp(28px,3.1vw,44px);font-weight:500;letter-spacing:-.045em;line-height:1.16;text-wrap:balance;margin-top:14px}
.br-intro>div>span,.contact-label,.hp-section-title>span,.br-section-heading>span{font-family:var(--ui-font);font-size:10px;font-weight:500;line-height:1.6;letter-spacing:.11em;color:var(--quiet)}
.br-intro p,.hp-intro>p,.project-meta,.detail p{font-family:var(--ui-font);font-size:13px;line-height:1.85;font-weight:400;letter-spacing:-.005em;color:var(--muted);text-wrap:pretty}
.br-intro dl,.hp-intro dl{font-size:12px;line-height:1.75}
.br-intro dt,.hp-intro dt{font-size:10px;font-weight:500;line-height:1.6;letter-spacing:.04em;color:var(--quiet);margin-bottom:7px}
.br-intro dd,.hp-intro dd{font-size:12px;font-weight:400;line-height:1.75;color:#454545}
.br-section-heading h2,.br .br-section-heading h2,.hp-section-title h2{font-family:var(--ui-font);font-size:19px;font-weight:500;line-height:1.4;letter-spacing:-.025em;text-wrap:balance}
.retouch-index-section>h1{font-family:var(--ui-font);font-size:clamp(22px,2.2vw,29px);font-weight:500;letter-spacing:-.035em;line-height:1.3;margin-bottom:30px;padding-bottom:20px}
.br-note,.source-links,.external-links,.br-footer,.project-gallery figcaption,.video-gallery figcaption,.rt-editorial-grid figcaption,.comparison-grid figcaption{font-family:var(--ui-font);font-size:11px;line-height:1.75;font-weight:400;letter-spacing:.005em;color:var(--muted)}
.music-listen{font-family:var(--ui-font);font-size:11px;font-weight:500;letter-spacing:.015em}
.cv-header h1,.contact-page h1{font-family:var(--ui-font);font-weight:500;letter-spacing:-.055em;line-height:1.12;text-wrap:balance}
.cv-header p,.contact-page header p{font-size:14px;line-height:1.85;color:var(--muted)}
.cv-section h2{font-size:11px;font-weight:500;letter-spacing:.055em;color:var(--muted)}
.cv-row h3{font-size:14px;font-weight:500;letter-spacing:-.015em;line-height:1.55}
.cv-row p,.cv-skills{font-size:12px;line-height:1.8}
.contact-email{font-family:var(--ui-font);font-weight:400;letter-spacing:-.035em}
@media(max-width:700px){.br .br-intro h1,.hp-intro h1,.detail h1,.project-heading{font-size:clamp(27px,6.5vw,36px);letter-spacing:-.04em;line-height:1.18}.br-intro p,.hp-intro>p{font-size:13px;line-height:1.85}.br-section-heading h2,.br .br-section-heading h2,.hp-section-title h2{font-size:18px}.caption h2{font-size:12px;line-height:1.5}.caption{padding-top:12px}.retouch-index-section>h1{font-size:23px}.portfolio-row{grid-column:1;grid-row:2;align-self:center}.contact-page h1{letter-spacing:-.045em}}

/* Align the three primary navigation labels. */
.menu .portfolio-row .portfolio-toggle{margin:0;padding:0;text-align:left;align-self:center;font-size:13px;font-weight:500;line-height:1.5;letter-spacing:-.015em}.portfolio-row{justify-content:flex-start;width:100%;margin:0;padding:0}.menu .portfolio-row .portfolio-toggle::after{content:none}
.rt-efes .efes-angle-sheets{grid-template-columns:minmax(0,1fr);gap:38px}.rt-efes .efes-angle-sheets figure{width:100%;max-width:none}.rt-efes .efes-angle-sheets img{width:100%;height:auto}.rt-efes .efes-angle-sheets figcaption{margin-top:10px}.rt-efes .rt-editorial-grid:not(.efes-angle-sheets){gap:28px}

.youtube-watch{display:block;position:relative;aspect-ratio:16/9;background:#171717;overflow:hidden}.youtube-watch img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .2s}.youtube-watch:hover img{opacity:1}.youtube-watch-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:#222;padding:14px 22px;font-size:12px;font-weight:500;white-space:nowrap;border-radius:3px;box-shadow:0 3px 24px #0002}

button.youtube-watch{width:100%;border:0;padding:0;text-align:left;cursor:pointer}button.youtube-watch:focus-visible{outline:2px solid #222;outline-offset:4px}

.category-tile .caption{display:none}
