:root{--paper:#f4f1e9;--ink:#252922;--muted:#62665b;--line:#d6d7ca;--accent:#743e43}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:9}.skip:focus{top:10px}.wrap{max-width:1280px;margin:auto;padding:0 64px}header{border-bottom:1px solid var(--line)}.nav{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font:30px Georgia,serif;letter-spacing:-1px;text-decoration:none}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:3px;margin-top:8px;text-transform:uppercase}nav{display:flex;gap:32px}nav a{font-size:13px;text-decoration:none}nav a[aria-current=page]{border-bottom:1px solid var(--accent)}.eyebrow{font-size:10px;letter-spacing:2.8px;text-transform:uppercase;color:var(--muted);margin:0 0 24px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(62px,8vw,108px);letter-spacing:-5px}h2{font-size:clamp(38px,5vw,58px);letter-spacing:-2px}h3{font-size:28px;letter-spacing:-.5px}p{max-width:620px}p.lead{font:23px/1.55 Georgia,serif;color:#555b4e}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;gap:70px;align-items:center;padding-top:60px;padding-bottom:60px}.hero h1 em{color:var(--accent);font-weight:400}.hero .lead{max-width:390px;margin:27px 0 32px}.portrait{margin:0;position:relative}.portrait img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.portrait:after{content:'';position:absolute;inset:16px -16px -16px 16px;border:1px solid #b1b4a5;z-index:-1}.caption{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-top:22px;color:var(--muted)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--ink);color:var(--paper);text-decoration:none;padding:15px 23px;font-size:12px}.button:hover{background:var(--accent);color:white}.text-link{font-size:13px;display:inline-block}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.section{padding-top:90px;padding-bottom:90px;border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:40px}.recordings{display:grid;grid-template-columns:1.4fr 1fr;gap:48px}.featured{background:#283026;color:var(--paper);padding:42px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;position:relative;overflow:hidden}.featured:after{content:'';width:230px;height:230px;border:1px solid #7c8675;border-radius:50%;position:absolute;right:-80px;bottom:-70px;opacity:.5}.featured:hover{background:#354030;color:white}.featured .eyebrow{color:#c2c8b8}.featured h3{font-size:38px;max-width:350px}.play{font-size:12px;margin-top:35px;letter-spacing:1px}.record-list{display:flex;flex-direction:column;justify-content:center}.record-row{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:45px 1fr 20px;gap:15px;align-items:center;text-decoration:none}.record-row:first-child{border-top:1px solid var(--line)}.record-row h3{font-size:23px;line-height:1.2}.record-row small{font-size:11px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.split p:first-child{margin-top:0}.copy{color:#555b4e}.teaching-band{background:#e8e8dd}.teaching-band h2{max-width:470px}.footer{padding-top:35px;padding-bottom:35px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.page-intro{padding-top:80px;padding-bottom:65px}.page-intro h1{font-size:clamp(55px,7vw,85px);letter-spacing:-3px}.page-intro .lead{max-width:720px}.fee{border-top:1px solid var(--line);padding:28px 0;display:flex;justify-content:space-between;gap:25px}.fee h3{font-size:24px}.price{font:32px Georgia,serif;white-space:nowrap}.price small{display:block;font:11px Arial,sans-serif;line-height:2;color:var(--muted)}.note{font-size:13px;color:var(--muted)}.venue{padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.contact-choice{padding:32px;border:1px solid var(--line)}.contact-choice h2{font-size:35px}.contact-choice p{color:var(--muted)}.contact-email{font:clamp(20px,4vw,36px) Georgia,serif;overflow-wrap:anywhere}.bio-photo{max-width:420px;width:100%;display:block}::selection{background:#d5c4c0}@media(max-width:800px){.wrap{padding-left:26px;padding-right:26px}.nav{min-height:110px;flex-wrap:wrap;gap:15px;padding-top:20px;padding-bottom:20px}nav{gap:20px;flex-wrap:wrap}nav a{font-size:12px}.brand{font-size:26px}.brand small{font-size:8px}.hero{gap:35px;grid-template-columns:1fr;padding-top:48px;padding-bottom:56px}.hero h1{font-size:78px;letter-spacing:-4px}.hero .lead{font-size:21px}.hero .portrait{max-width:480px;width:100%}.section{padding-top:55px;padding-bottom:55px}.split,.recordings{grid-template-columns:1fr;gap:30px}.section-head{align-items:start;flex-direction:column}.featured{min-height:260px;padding:30px}.footer{flex-direction:column;gap:6px}.fee{flex-direction:column;gap:12px}.page-intro{padding-top:50px;padding-bottom:40px}.venue{font-size:14px}.portrait:after{inset:10px -10px -10px 10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Photographs supplied by Sean; responsive layout crops only. */
.hero .portrait img{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 65%}.bio-photo{height:auto}.performance-photo{margin:0 auto;padding-bottom:45px}.performance-photo img{display:block;width:100%;height:auto}.teaching-photo{display:block;width:100%;height:auto;margin-top:30px}@media(max-width:800px){.hero .portrait img{aspect-ratio:4/5}.hero{padding-top:36px}.performance-photo{padding-bottom:30px}}
.hero .portrait img{border:1px solid #b1b4a5}.hero .portrait:after{display:none}

.festival{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.festival h3{font-size:clamp(26px,3vw,36px);line-height:1.2}.festival-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}.festival-link{display:block;padding:22px 0;border-top:1px solid var(--line);text-decoration:none;font:23px Georgia,serif}.festival-hint{display:block;margin-top:12px;font:12px/1.5 Arial,sans-serif;color:var(--muted)}@media(max-width:800px){.festival-links{grid-template-columns:1fr;gap:12px}}
