:root {
  --paper:#f8f6f2;--paper-2:#f0ece6;--ink:#1e1d1b;--muted:#77716a;--line:rgba(30,29,27,.16);
  --accent:#8b6d57;--night:#171513;--white:#fffdfa;--shell:min(1240px,calc(100vw - 64px));
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:var(--paper) url('assets/paper.jpg') repeat;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased} img{display:block;width:100%;height:100%;object-fit:cover} a{color:inherit} button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:12px;z-index:1000;padding:10px 14px;background:var(--night);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{width:var(--shell);margin:0 auto;height:108px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.brand{display:grid;line-height:.86;gap:3px;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:17px;letter-spacing:.06em}.site-nav{display:flex;gap:clamp(14px,2.2vw,32px);align-items:center}.site-nav a{text-decoration:none;text-transform:uppercase;font-size:9px;letter-spacing:.12em;position:relative;padding:8px 0}.site-nav a:not(.nav-cv)::after{content:'';position:absolute;left:0;right:100%;bottom:3px;height:1px;background:currentColor;transition:right .25s ease}.site-nav a:hover::after,.site-nav a:focus-visible::after{right:0}.nav-cv{border:1px solid var(--ink);padding:8px 12px!important}.menu-button{display:none;background:none;border:0;padding:12px}
.section-shell{width:var(--shell);margin-inline:auto}.eyebrow{margin:0 0 22px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700;color:var(--muted)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin-top:0}h1{font-size:clamp(62px,7.1vw,112px);line-height:.91;letter-spacing:-.045em}h2{font-size:clamp(43px,4.6vw,72px);line-height:.99;letter-spacing:-.035em}h3{font-size:25px;line-height:1.16}.text-link{display:inline-flex;gap:20px;align-items:center;color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:6px}.text-link span{font-size:16px;transition:transform .2s ease}.text-link:hover span{transform:translate(3px,3px)}
.button-primary,.button-light{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;padding:16px 20px;border:1px solid var(--ink);transition:background .25s,color .25s}.button-primary:hover{background:var(--ink);color:var(--white)}.button-primary span,.button-light span{font-size:15px}
.hero{min-height:calc(100vh - 108px);display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(38px,6vw,100px);align-items:center;padding:50px 0 82px;position:relative}.hero-copy{padding-left:2vw}.hero-role{font-family:Georgia,serif;font-size:20px;margin:-20px 0 20px}.hero-role strong{font-weight:400;color:var(--accent)}.hero-subtitle{max-width:570px;color:#56514c;font-family:Georgia,serif;font-size:17px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}.hero-figure{margin:0;height:min(72vh,760px);position:relative;overflow:hidden;background:#d8d6d3}.hero-figure img{object-position:50% 48%;filter:contrast(1.03);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.hero-figure:hover img{transform:scale(1.025)}.hero-figure figcaption{position:absolute;right:12px;bottom:10px;color:rgba(255,255,255,.8);font-size:9px;text-transform:uppercase;letter-spacing:.14em}.hero-mark{position:absolute;left:0;bottom:30px;font-family:Georgia,serif;font-size:11px;color:var(--muted);writing-mode:vertical-rl}
.stats{border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);min-height:132px;background:rgba(255,255,255,.2)}.stats>div{display:grid;place-content:center;text-align:center;border-right:1px solid var(--line);padding:16px}.stats>div:last-child{border-right:0}.stats strong{font:400 27px/1 Georgia,serif;margin-bottom:9px}.stats span{font-size:10px;color:var(--muted);letter-spacing:.04em}
.about{padding:145px 0 120px;display:grid;grid-template-columns:1fr 1.1fr;gap:65px 9vw;align-items:start;position:relative}.section-index{position:absolute;right:0;top:78px;font:400 11px Georgia,serif;color:var(--muted)}.about-copy{max-width:550px}.about-copy .lead{font-family:Georgia,serif;font-size:20px;line-height:1.62}.about-copy>p:not(.eyebrow):not(.lead){color:#5e5953}.about-figure{margin:30px 0 0;aspect-ratio:1.22;overflow:hidden}.about-figure img{filter:grayscale(1);object-position:center 40%}.about-quote{grid-column:1/-1;margin:25px auto 0;border:0;max-width:920px;text-align:center;font:italic 400 clamp(27px,3vw,45px)/1.35 Georgia,serif;color:#4f4943}
.section-heading{max-width:760px;margin:0 auto 70px;text-align:center}.section-heading p:last-child{color:var(--muted);max-width:610px;margin-inline:auto}
.profile{padding:25px 0 135px}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.profile-grid>div{min-height:122px;padding:24px 22px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.profile-grid span{text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:var(--muted)}.profile-grid strong{font:400 24px Georgia,serif}
.career{background:var(--night);color:var(--white)}.career-inner{padding:125px 0 135px;display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;align-items:center}.career-image{height:730px;overflow:hidden}.career-image img{object-position:47% 50%;filter:saturate(.85)}.career-copy .eyebrow{color:#a99d93}.timeline{margin-top:45px;border-top:1px solid rgba(255,255,255,.18)}.timeline article{display:grid;grid-template-columns:105px 1fr;gap:26px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.16)}.timeline time{font:400 16px Georgia,serif;color:#c5b2a3}.timeline h3{font-size:23px;margin:0 0 6px}.timeline p{color:#b9b2ab;margin:0}
.teaching{padding:125px 0 145px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{position:relative;padding-bottom:25px;border-bottom:1px solid var(--line)}.card-image{aspect-ratio:.86;overflow:hidden;margin-bottom:28px}.card-image img{filter:saturate(.83);transition:transform .8s ease,filter .8s ease}.service-card:hover .card-image img{transform:scale(1.035);filter:saturate(1)}.card-number{position:absolute;right:0;top:calc((100% - 145px)*.69);font:400 11px Georgia,serif;color:#fff;background:rgba(15,15,15,.58);padding:8px 10px}.service-card p{color:var(--muted);margin-bottom:0}
.repertoire{background:var(--night);color:var(--white)}.repertoire-inner{padding:125px 0 135px}.section-heading.light .eyebrow{color:#aa9f95}.section-heading.light p:last-child{color:#aaa39d}.repertoire-columns{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.18)}.rep-group{padding:42px 44px 35px 0}.rep-group+ .rep-group{border-left:1px solid rgba(255,255,255,.18);padding-left:44px}.rep-group h3{font-size:31px;margin-bottom:28px}.rep-group ul{list-style:none;padding:0;margin:0}.rep-group li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#bbb4ad}.rep-group li strong{color:#fff;font-weight:400}.collab{border:1px solid rgba(255,255,255,.18);padding:25px 28px;margin-top:42px;display:flex;justify-content:space-between;gap:30px;align-items:center}.collab span{text-transform:uppercase;font-size:9px;letter-spacing:.15em;color:#a99d93}.collab strong{font:400 22px Georgia,serif;text-align:right}
.gallery{padding:130px 0 145px}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-auto-rows:300px;gap:18px}.gallery-item{margin:0;overflow:hidden;background:#ddd}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:2/4}.gallery-item img{filter:saturate(.82);transition:transform .9s ease,filter .9s ease}.gallery-item:hover img{transform:scale(1.025);filter:saturate(1)}
.cv-band{background:#8b6d57;color:#fff}.cv-band-inner{padding:82px 0;display:flex;align-items:center;justify-content:space-between;gap:70px}.cv-band .eyebrow{color:rgba(255,255,255,.65)}.cv-band h2{font-size:clamp(40px,4vw,62px);margin-bottom:14px}.cv-band p:last-child{max-width:630px;color:rgba(255,255,255,.78)}.button-light{border-color:#fff;color:#fff;white-space:nowrap}.button-light:hover{background:#fff;color:#6f5644}
.contacts{border-top:1px solid var(--line);padding:120px 0 100px;display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;position:relative}.contact-copy h2{max-width:760px}.contact-copy>p:last-child{color:var(--muted)}.contact-links{display:flex;flex-direction:column;justify-content:flex-end}.contact-links a{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;font:400 22px Georgia,serif}.contact-links small{font:400 10px Arial,sans-serif;color:var(--muted);letter-spacing:.04em}.contact-links a>span{font-family:Arial,sans-serif;font-size:15px;transition:transform .2s ease}.contact-links a:hover>span{transform:translate(4px,-4px)}
.site-footer{width:var(--shell);margin:0 auto;border-top:1px solid var(--line);min-height:90px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.site-footer a{text-decoration:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.09s}.delay-2{transition-delay:.18s}.delay-3{transition-delay:.27s}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:980px){:root{--shell:min(100% - 36px,780px)}.site-header{height:82px}.menu-button{display:inline-grid;gap:6px;cursor:pointer}.menu-button>span:not(.sr-only){display:block;width:26px;height:1px;background:var(--ink)}.site-nav{position:fixed;inset:82px 0 auto 0;background:rgba(248,246,242,.99);border-bottom:1px solid var(--line);padding:28px 24px 34px;display:grid;gap:8px;transform:translateY(-140%);opacity:0;transition:transform .3s ease,opacity .3s ease}.site-nav.open{transform:none;opacity:1}.site-nav a{font-size:12px;padding:10px 0}.nav-cv{border:0!important;padding:10px 0!important}.hero{grid-template-columns:1fr;min-height:auto;padding-top:35px}.hero-copy{padding-left:0}.hero-figure{height:64vh;min-height:500px}.hero-mark{display:none}.stats{grid-template-columns:repeat(2,1fr)}.stats>div{min-height:110px;border-bottom:1px solid var(--line)}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(3),.stats>div:nth-child(4){border-bottom:0}.about{grid-template-columns:1fr;padding:100px 0;gap:35px}.section-index{top:50px}.about-figure{margin-top:0}.profile-grid{grid-template-columns:repeat(2,1fr)}.career-inner{grid-template-columns:1fr}.career-image{height:560px}.cards{grid-template-columns:1fr;gap:52px}.card-image{aspect-ratio:1.25}.repertoire-columns{grid-template-columns:1fr}.rep-group,.rep-group+.rep-group{padding:35px 0;border-left:0}.rep-group+.rep-group{border-top:1px solid rgba(255,255,255,.18)}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:280px}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:1/3}.cv-band-inner{align-items:flex-start;flex-direction:column}.contacts{grid-template-columns:1fr}}
@media(max-width:560px){:root{--shell:calc(100% - 28px)}body{font-size:15px}h1{font-size:clamp(55px,16vw,78px)}h2{font-size:42px}.hero{padding-bottom:58px;gap:38px}.hero-role{font-size:17px;margin-top:-10px}.hero-subtitle{font-size:16px}.hero-figure{min-height:420px;height:56vh}.hero-actions{align-items:flex-start;flex-direction:column}.stats strong{font-size:23px}.section-heading{margin-bottom:50px;text-align:left}.section-heading p:last-child{margin-left:0}.profile{padding-bottom:95px}.profile-grid{grid-template-columns:1fr 1fr}.profile-grid>div{min-height:105px;padding:18px 16px}.profile-grid strong{font-size:20px}.career-inner,.teaching,.gallery,.repertoire-inner{padding-block:90px}.career-image{height:470px}.timeline article{grid-template-columns:1fr;gap:8px}.card-image{aspect-ratio:1}.collab{align-items:flex-start;flex-direction:column}.collab strong{text-align:left}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:410px}.gallery-item.tall{grid-row:auto}.gallery-item.wide{grid-column:auto}.cv-band-inner{padding-block:68px}.contacts{padding-block:90px 70px}.contact-links a{font-size:19px;grid-template-columns:1fr auto}.contact-links small{display:none}.site-footer{min-height:80px}}
