:root{color-scheme:dark;--bg:#171918;--surface:#1d201e;--text:#f0f0e9;--secondary:#babeb8;--muted:#969d95;--line:#343a35;--accent:#bdc9b7;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}::selection{background:#465442;color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}h1,h2,h3,h4,p{margin:0}.shell{width:min(1120px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;z-index:20;padding:10px 18px;background:var(--text);color:var(--bg)}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:10}.header-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{display:inline-flex;align-items:center;gap:15px;font-size:15px;line-height:1.4;font-weight:500;letter-spacing:.01em}.wordmark-sub{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em;margin-top:3px}.brand-mark{width:27px;height:30px;fill:none;stroke:var(--accent);stroke-width:1.3}nav{display:flex;gap:34px}nav a{font-size:13px;color:var(--secondary);padding:10px 0;position:relative}nav a::after{content:'';position:absolute;bottom:1px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}nav a:hover,nav a[aria-current]{color:var(--text)}nav a:hover::after,nav a[aria-current]::after{transform:scaleX(1)}.intro{padding-block:92px 86px;display:grid;grid-template-columns:1.55fr 1fr;gap:56px;align-items:end}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:var(--secondary);font-weight:500;display:flex;align-items:center;gap:12px}.small-line{height:1px;width:26px;background:var(--accent)}h1{font-family:var(--serif);font-weight:400;font-size:clamp(65px,7.7vw,104px);line-height:1.06;letter-spacing:-.055em;overflow-wrap:break-word;margin-top:25px}.title-period{color:var(--accent)}.instrument{font-size:17px;letter-spacing:.015em;color:var(--secondary);margin-top:19px}.intro-statement{font-size:15px;line-height:1.9;color:var(--secondary);margin-top:26px}.text-link{font-size:12px;display:inline-flex;gap:22px;align-items:center;font-weight:500}.text-link span{font-size:19px;font-weight:400;transition:transform .2s}.text-link:hover span{transform:translate(2px,-2px)}.intro-link{margin-top:30px;border-bottom:1px solid #65715f;padding-bottom:8px;gap:40px}.intro-aside{padding:0 0 9px 42px;border-left:1px solid var(--line);max-width:350px;justify-self:end}.intro-aside p{font-family:var(--serif);font-style:italic;font-size:27px;line-height:1.4;color:#d3d7cf;letter-spacing:-.025em}.aside-caption{display:block;font-size:10px;color:var(--muted);margin-top:17px;letter-spacing:.035em}.score-motif{height:94px;width:215px;position:relative;margin-bottom:34px;padding-top:24px;opacity:.65}.score-motif>span{display:block;width:100%;height:1px;background:var(--line);margin-bottom:10px}.note{position:absolute;width:15px;height:10px;border-radius:50%;transform:rotate(-20deg);background:var(--muted)}.note::after{position:absolute;content:'';height:35px;width:1px;background:var(--muted);right:1px;bottom:5px;transform:rotate(20deg);transform-origin:bottom}.note-one{left:48px;top:50px}.note-two{left:112px;top:39px}.note-three{left:174px;top:60px}.section{border-top:1px solid var(--line);padding-block:55px 78px}.section-heading{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:32px}.section-index{font-size:10px;color:var(--muted);margin-bottom:13px}h2{font-family:var(--serif);font-weight:400;font-size:42px;line-height:1.2;letter-spacing:-.035em}.section-description{color:var(--muted);font-size:13px;line-height:1.8;max-width:250px}.journal-meta{display:flex;justify-content:space-between;gap:20px;margin:36px 0 26px;color:var(--muted);font-size:10px;letter-spacing:.025em}.journal-meta>span:last-child{white-space:nowrap}.journal-meta>span:last-child span{margin-left:8px}.performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.performance-card{min-width:0}.entry-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px}.entry-date{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.015em}.timeline-dot{width:5px;height:5px;background:var(--accent);border-radius:50%}.entry-number{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.context{font-size:11px;color:var(--muted);margin:5px 0 19px 15px}.video-frame{overflow:hidden;background:var(--surface);border:1px solid var(--line);aspect-ratio:16/10}.video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#1b1e1c}.entry-content{padding-top:21px}.piece-heading{display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap}h3{font-size:18px;font-weight:400;line-height:1.5}.piece-heading h3{font-family:var(--serif);font-size:25px;letter-spacing:-.025em}.media-status{color:var(--muted);font-size:10px;line-height:1.5}.composer{color:var(--muted);font-size:12px;margin-top:6px}.composer span,.track-info p span{padding-inline:5px}.program-notes{margin-top:23px;padding-top:19px;border-top:1px solid var(--line)}.program-notes h4,.program-notes h5{margin-top:0;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:9px;color:var(--secondary);margin-bottom:9px}.program-notes p{color:var(--secondary);font-size:14px;line-height:1.9;max-width:60ch}.audio-list{border-top:1px solid var(--line);margin-top:36px}.audio-row{display:grid;grid-template-columns:28px minmax(0,1fr) 130px 280px;gap:20px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.track-number{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.track-info h3{font-size:15px}.track-info p{font-size:12px;color:var(--muted);margin-top:5px}.recording-kind{font-size:10px;color:var(--muted)}.audio-player{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:0}.audio-player audio{height:34px;max-width:100%;width:280px}.audio-player .media-status{font-size:9px;padding-right:11px}.resume-section{padding-bottom:66px}.print-button{background:none;border:none;padding:0 0 4px;color:var(--secondary)}.print-identity{display:none}.cv-group{display:grid;grid-template-columns:265px 1fr;gap:40px;border-top:1px solid var(--line);padding:27px 0}.cv-group>h3{color:var(--secondary);font-size:12px;font-weight:500;padding-top:2px}.cv-entry{display:flex;justify-content:space-between;gap:24px}.cv-entry+.cv-entry{margin-top:23px}.cv-entry h4{font-size:14px;font-weight:400;color:var(--text)}.cv-entry p{font-size:12px;color:var(--muted);margin-top:4px}.cv-date{color:var(--muted);font-size:10px;white-space:nowrap;padding-top:3px}.site-footer{border-top:1px solid var(--line);padding-block:30px 38px;display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-name{font-family:var(--serif);font-size:20px;display:block}.footer-caption{color:var(--muted);font-size:10px;display:block;margin-top:3px}.site-footer .text-link{color:var(--secondary);font-size:11px}[hidden]{display:none!important}
@media(min-width:1450px){.intro{padding-block:105px 96px}}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.intro{gap:30px;grid-template-columns:1.7fr 1fr}.intro-aside{padding-left:26px}.intro-aside p{font-size:24px}.score-motif{width:185px}.note-three{left:154px}.audio-row{grid-template-columns:24px minmax(0,1fr) 270px;gap:15px}.recording-kind{display:none}.cv-group{grid-template-columns:210px 1fr;gap:24px}.performance-grid{gap:26px}}
@media(max-width:720px){html{scroll-padding-top:135px}.shell{width:calc(100% - 40px)}.header-inner{min-height:110px;align-items:flex-start;justify-content:center;flex-direction:column;gap:10px;padding-block:15px}.wordmark{font-size:13px;gap:10px}.wordmark-sub{display:none}.brand-mark{height:22px;width:22px}nav{width:100%;justify-content:space-between;gap:18px}nav a{font-size:12px;padding-block:4px}.intro{padding-block:54px 55px;display:block}.eyebrow{font-size:9px;letter-spacing:.13em;gap:9px}.small-line{width:18px}h1{font-size:70px;margin-top:22px}.instrument{font-size:15px;margin-top:17px}.intro-statement{font-size:13px;margin-top:22px}.intro-link{margin-top:24px}.intro-aside{display:none}.section{padding-block:38px 52px}.section-heading{align-items:start;gap:18px;margin-bottom:25px}.section-description{display:none}h2{font-size:34px}.section-index{margin-bottom:10px;font-size:9px}.journal-meta{margin:26px 0 20px;font-size:9px;gap:16px}.journal-meta>span:first-child{max-width:205px}.performance-grid{grid-template-columns:1fr;gap:35px}.video-frame{aspect-ratio:16/10}.entry-content{padding-top:18px}.program-notes{margin-top:19px}.program-notes p{font-size:14px}.program-notes h4,.program-notes h5{margin-top:0;font-size:10px}.context{font-size:12px}.composer{font-size:12px}.audio-list{margin-top:25px}.audio-row{grid-template-columns:20px 1fr;gap:13px;padding-block:22px}.audio-player{grid-column:2;align-items:flex-start;gap:6px}.audio-player audio{width:100%}.audio-player .media-status{padding-left:12px}.track-info h3{font-size:15px}.track-info p{font-size:12px}.cv-group{grid-template-columns:1fr;gap:17px;padding-block:25px}.cv-group>h3{font-size:12px}.cv-entry{gap:14px}.cv-entry h4{font-size:14px}.cv-entry p{font-size:12px}.cv-date{font-size:10px}.resume-section .section-heading{align-items:end}.print-button{font-size:10px;gap:6px;white-space:nowrap}.site-footer{padding-block:25px 30px}.footer-caption{font-size:9px}}
@media(max-width:370px){h1{font-size:60px}h2{font-size:30px}.shell{width:calc(100% - 32px)}.cv-entry{flex-direction:column;gap:3px}.resume-section .section-heading{flex-wrap:wrap}.journal-meta{font-size:9px}.piece-heading{gap:5px}.footer-caption{max-width:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{@page{margin:18mm}*{color:#111!important;background:transparent!important;box-shadow:none!important}body{font-size:11pt}.site-header,.intro,#journal,#repertoire,.site-footer,.skip-link,.print-button{display:none!important}.shell{width:100%;margin:0}.resume-section{border:0;padding:0}.section-heading{margin-bottom:12px}.section-index{display:none}h2{font-size:30pt}.print-identity{display:block;font-size:12pt;margin-bottom:25px}.cv-group{grid-template-columns:170px 1fr;gap:25px;border-color:#bbb;padding-block:20px;break-inside:avoid}.cv-group>h3{font-size:10pt}.cv-entry h4{font-size:10pt}.cv-entry p,.cv-date{font-size:9pt}.cv-entry{flex-direction:row}.cv-entry+.cv-entry{margin-top:16px}}

/* Loechin's biography and completed profile. */
.intro{align-items:center;padding-bottom:58px}
h1{font-size:clamp(64px,7.2vw,96px);line-height:1.02}
.name-line{display:block}
.intro-statement{max-width:410px}
.intro-school{font-size:11px;line-height:1.8;color:var(--muted);margin-top:13px}
.intro-aside{align-self:center}
.profile-overview{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;gap:72px;border-top:1px solid var(--line);padding-top:34px;margin-top:8px}
.profile-story h2{font-family:var(--sans);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.11em;line-height:1.6;margin-bottom:16px;color:var(--text)}
.profile-story p{font-size:14px;line-height:1.9;color:var(--secondary)}
.profile-story p+p{margin-top:17px}
.profile-story .influences{font-size:12px;color:var(--muted)}
.influences span{display:block;color:var(--secondary);font-weight:500;margin-bottom:5px}
.practice-details{margin:0}
.practice-details>div+div{margin-top:23px}
.practice-details dt{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-bottom:7px}
.practice-details dd{margin:0;font-size:13px;line-height:1.9;color:var(--secondary)}
.performance-grid{row-gap:45px}
.piece-heading h3{font-size:24px}
.section-pending{font-size:12px;color:var(--muted);margin-bottom:-14px}
.cv-entry p{max-width:64ch;line-height:1.85}
.leadership-note{border-top:1px solid var(--line);padding-top:25px;display:grid;grid-template-columns:265px 1fr;gap:40px}
.leadership-note h3{font-size:12px;font-weight:500;color:var(--secondary)}
.leadership-note p{font-size:13px;color:var(--secondary);line-height:1.9}
@media(max-width:1000px){.profile-overview{gap:35px}.leadership-note{grid-template-columns:210px 1fr;gap:24px}}
@media(max-width:720px){h1{font-size:clamp(55px,14.7vw,76px)}.intro{padding-bottom:44px}.intro-school{font-size:11px;max-width:290px}.profile-overview{display:block;margin-top:38px;padding-top:27px}.profile-story p{font-size:14px}.practice-details{margin-top:28px;border-top:1px solid var(--line);padding-top:25px}.practice-details dd{font-size:14px}.journal-meta{font-size:9px;flex-wrap:wrap;gap:7px 18px}.journal-meta>span:first-child{max-width:none}.piece-heading h3{font-size:24px}.leadership-note{display:block}.leadership-note h3{margin-bottom:12px}.leadership-note p{font-size:14px}.site-footer .footer-name{font-size:18px}}
@media print{.leadership-note{grid-template-columns:170px 1fr;gap:25px;break-inside:avoid}.leadership-note h3{font-size:10pt}.leadership-note p{font-size:9pt}.cv-entry p{font-size:9pt}.print-identity{line-height:1.7}}

/* Credits for collaborative recordings. */
.recording-credits{margin-top:17px;font-size:12px;line-height:1.8;color:var(--secondary)}
.recording-credits p+p{margin-top:6px}
.recording-credits p>span{display:block;font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1px}
@media(max-width:720px){.recording-credits{font-size:13px}.recording-credits p>span{font-size:10px}}

/* Full photographs from Evening Blues; both preserve their original proportions. */
.performance-card--photos{grid-column:1/-1}
.performance-card--photos .piece-heading h3{font-size:32px}
.event-photos{display:grid;grid-template-columns:1.25fr .85fr;gap:30px;align-items:center;margin-top:28px}
.event-photos figure{margin:0;min-width:0}
.event-photo-link{display:block;border:1px solid var(--line);background:var(--surface)}
.event-photo-link img{display:block;width:100%;height:auto}
.event-photo-link:hover{border-color:var(--muted)}
.event-photos figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:11px;color:var(--muted);font-size:10px;line-height:1.6}
.event-photos figcaption>:last-child{white-space:nowrap;color:var(--secondary)}
.performance-card--photos .program-notes{border:0;padding-top:0;margin-top:23px}
@media(max-width:720px){.event-photos{grid-template-columns:1fr;gap:26px;margin-top:21px}.event-photos figcaption{font-size:10px}.performance-card--photos .piece-heading h3{font-size:27px}}

.event-photos figcaption a:hover{text-decoration:underline;text-underline-offset:4px}

/* Two portrait performances grouped under the same Evening Blues event. */
.event-recordings{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:28px}
.event-recording{min-width:0}
.event-recording>h4{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.4;letter-spacing:-.025em}
.event-recording .composer{margin-top:6px}
.event-recording-video{width:100%;max-width:340px;aspect-ratio:9/16;margin:18px auto 0}
.event-recording .program-notes{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}
.event-photo-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;border-top:1px solid var(--line);padding-top:26px;margin-top:35px}
.event-photo-heading h4{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:var(--secondary)}
.event-photo-heading>span{font-size:10px;color:var(--muted)}
.performance-card--photos .event-photos{max-width:900px;margin-inline:auto;margin-top:22px}
@media(max-width:720px){.event-recordings{grid-template-columns:1fr;gap:35px;margin-top:23px}.event-recording>h4{font-size:24px}.event-photo-heading{flex-wrap:wrap}.event-photo-heading>span{font-size:10px}}

/* Additional journal recordings preserve the supplied picture proportions. */
.video-frame--portrait{width:100%;max-width:340px;aspect-ratio:9/16;margin-inline:auto}
.performance-card--wide{grid-column:1/-1}
.medley-introduction{font-size:14px;line-height:1.9;color:var(--secondary);max-width:75ch;margin-top:18px}
.medley-recording-video{aspect-ratio:3/2;margin-top:18px}
@media(max-width:720px){.video-frame--portrait{aspect-ratio:9/16}.medley-recording-video{aspect-ratio:3/2}}

/* Three DSMUN excerpts and a full-size event photograph. */
.event-recordings--three{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.event-photo-single{width:100%;max-width:360px;margin:24px auto 0}
.event-photo-single img{display:block;width:100%;height:auto}
.event-photo-single figcaption{display:flex;justify-content:space-between;gap:14px;margin-top:11px;color:var(--muted);font-size:10px;line-height:1.6}
.event-photo-single figcaption a{color:var(--secondary);white-space:nowrap}
.event-photo-single figcaption a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.event-recordings--three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.event-recordings--three{grid-template-columns:1fr;gap:35px}}

/* Undated recordings remain distinct from the chronological journal. */
.journal-archive-heading{grid-column:1/-1;border-top:1px solid var(--line);padding-top:30px;margin-top:5px}
.journal-archive-heading h3{font-family:var(--serif);font-size:28px;letter-spacing:-.025em}
.journal-archive-heading p{font-size:12px;color:var(--muted);margin-top:7px}
