:root{--ink:#1c1d20;--paper:#f5f5f0;--accent:#b33423;--dark:#191a1c;--on-dark:#f3f3ec;--muted:#585b5d;--rule:#d3d4cd;--tint:#e8e9e1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}html[data-palette=blue]{--accent:#365da0;--dark:#152236;--tint:#e6eaf0}html[data-palette=olive]{--accent:#52643b;--dark:#29332b;--tint:#e3e8db}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,summary,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{width:100%;height:auto;display:block}figure,p,h1,h2,h3{margin:0}p+p{margin-top:20px}.site-header{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--rule)}.wordmark{font-family:Georgia,serif;font-size:28px;line-height:1.25}.wordmark span{display:block;font:11px/1.5 Arial,sans-serif;letter-spacing:.15em;margin-top:9px}.site-header nav{display:flex;gap:32px;font-size:14px;align-items:center}.site-header nav a:hover{color:var(--accent)}.contact-link{border-bottom:1px solid currentColor;padding-bottom:4px}.hero{display:grid;grid-template-columns:1.15fr 1fr;position:relative;background:var(--dark);color:var(--on-dark);padding:0 5%;gap:5%}.hero-type{padding:64px 0 54px;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{font-size:12px;line-height:1.7;letter-spacing:.14em}.hero h1{font:400 clamp(65px,7.8vw,120px)/1.02 Georgia,'Times New Roman',serif;letter-spacing:-.055em;padding:38px 0 48px}.hero em{color:var(--on-dark)}em{font-weight:400;color:var(--accent)}.hero-bottom{display:flex;align-items:flex-start;gap:36px}.index{font-size:12px;letter-spacing:.12em;padding-top:7px;color:#bdbfbf}.hero-bottom p{font-family:Georgia,serif;font-size:23px;line-height:1.45}.line-link{display:inline-block;border-bottom:1px solid currentColor;font-size:14px;line-height:1.6;padding-bottom:4px;margin-top:26px}.line-link:hover{color:var(--accent)}.hero-photo{position:relative}.hero-photo img{height:100%;max-height:700px;min-height:580px;object-fit:cover;object-position:center 30%;filter:saturate(.68)}.hero-photo figcaption{position:absolute;bottom:20px;left:22px;background:var(--paper);color:var(--ink);padding:7px 12px;font-size:11px;letter-spacing:.11em}.hero-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;letter-spacing:.13em;font-size:11px;border-top:1px solid #ffffff30;padding:21px 0}.section{padding:90px 5%}.section-label{display:flex;justify-content:space-between;gap:25px;letter-spacing:.13em;font-size:12px;border-top:1px solid var(--rule);padding:20px 0 50px;line-height:1.5}h2{font:400 clamp(40px,4.4vw,66px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.04em}h3{font:400 34px/1.15 Georgia,serif;letter-spacing:-.025em}.practice-grid,.teaching-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.lead{font:26px/1.45 Georgia,serif;margin-bottom:26px}.practice-copy{max-width:600px}.practice-copy p:not(.lead){color:var(--muted)}.credentials{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--rule);margin-top:58px;padding-top:26px;gap:40px}.credentials span{font-size:11px;letter-spacing:.11em}.credentials p{font:23px/1.3 Georgia,serif;margin:15px 0 8px}.credentials small{font-size:14px;color:var(--muted)}.performance{background:var(--tint)}.performance-grid{display:grid;grid-template-columns:.85fr 1fr;gap:12%;align-items:start}.second-photo{padding:0 8% 0 0}.second-photo img{max-height:720px;object-fit:cover}.second-photo figcaption{font-size:11px;letter-spacing:.12em;margin-top:14px}.performance h2{margin-bottom:28px}.work-list{margin-top:42px}.work-list a{display:block;border-top:1px solid #bcbfb3;padding:22px 0;position:relative}.work-meta{font-size:11px;letter-spacing:.12em;color:var(--muted)}.work-list h3{margin:9px 0}.work-list p{font-size:15px}.work-more{display:block;font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-top:16px}.work-list a:hover h3{color:var(--accent)}.credits{margin-top:46px;border-top:1px solid #bcbfb3;border-bottom:1px solid #bcbfb3}.credits summary{cursor:pointer;font-size:16px;padding:22px 0}.credits div{padding:0 0 26px}.credits p{font-size:16px}.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.research h2{margin:26px 0}.research-grid>div p:last-child{color:var(--muted);max-width:510px}.thesis{border:1px solid var(--rule);padding:46px 38px;background:#fff}.thesis-tag{font-size:11px;letter-spacing:.13em;line-height:1.6}.thesis h3{font-size:35px;line-height:1.22;margin:36px 0 24px}.thesis p{font-size:15px;color:var(--muted)}.thesis-topics{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.thesis-topics span{border:1px solid var(--rule);padding:4px 9px;font-size:12px}.solid-link{display:inline-block;background:var(--accent);color:white;font-size:14px;padding:14px 24px;border:0;cursor:pointer;line-height:1.5}.solid-link:hover{filter:brightness(.9)}.teaching{padding-top:20px}.teaching h2{margin-bottom:50px}.teaching-grid p:not(.lead){color:var(--muted)}.teaching-topics{display:flex;justify-content:space-between;font:clamp(37px,5.5vw,85px)/1.2 Georgia,serif;letter-spacing:-.045em;border-top:1px solid var(--rule);padding-top:32px;margin-top:60px;gap:30px}.contact{background:var(--dark);color:var(--on-dark)}.contact .section-label{border-color:#ffffff36}.contact .section-label span{color:#c1c3c0}.contact-grid{display:grid;grid-template-columns:.85fr 1fr;gap:12%}.contact h2{font-size:clamp(50px,5.5vw,80px)}.contact em{color:#db9d90}html[data-palette=blue] .contact em{color:#a8c4ed}html[data-palette=olive] .contact em{color:#c3d7a4}.contact-grid>div>p{margin-top:30px;max-width:390px;color:#c8cbc8}.contact form label{display:block;font-size:14px;margin-bottom:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,textarea{display:block;width:100%;color:var(--on-dark);background:#ffffff07;border:1px solid #ffffff45;border-radius:0;margin-top:8px;padding:12px;font-size:16px}input:focus,textarea:focus{outline:2px solid #eee;outline-offset:3px}textarea{resize:vertical}.form-note{font-size:12px;color:#c1c3c0;margin-top:18px}#preview-status{margin-top:20px}footer{padding:36px 5%;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:11px;letter-spacing:.1em}.footer-name{font:25px Georgia,serif;letter-spacing:-.02em}footer a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.skip{position:absolute;top:-100px;left:10px;padding:10px;background:#fff;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.section,.site-header,footer{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}}@media(max-width:1000px){.site-header nav{gap:20px}.hero h1{font-size:clamp(56px,7.9vw,90px)}.hero-photo img{min-height:540px}.hero-type{padding:45px 0}.hero-bottom{gap:18px}.hero-bottom p{font-size:21px}.section{padding-top:65px;padding-bottom:65px}.performance-grid,.research-grid,.contact-grid{gap:7%}.thesis{padding:30px 25px}.thesis h3{font-size:30px}.second-photo{padding:0}.credentials{gap:22px}}@media(max-width:660px){body{font-size:16px}.site-header{padding:24px 6%;flex-direction:column;align-items:flex-start;gap:24px}.wordmark{font-size:26px}.site-header nav{width:100%;justify-content:space-between;gap:10px;font-size:14px}.hero{grid-template-columns:1fr;padding:0 6%;gap:0}.hero-type{padding:35px 0 38px}.hero h1{font-size:clamp(57px,13vw,82px);padding:32px 0}.eyebrow{font-size:11px}.hero-photo{margin:0 -6.82%}.hero-photo img{min-height:0;height:440px;object-position:center 29%}.hero-photo figcaption{left:22px}.hero-footer{padding:20px 0;display:grid;grid-template-columns:1fr 1fr;font-size:10px;gap:12px 20px}.section{padding:55px 6%}.section-label{padding-bottom:32px;font-size:10px;gap:16px}.section-label span:last-child{text-align:right}h2{font-size:42px;line-height:1.15}.practice-grid,.performance-grid,.research-grid,.teaching-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.lead{font-size:24px}.credentials{grid-template-columns:1fr;margin-top:38px;gap:24px}.credentials div{border-bottom:1px solid var(--rule);padding-bottom:20px}.credentials p{margin-top:8px}.performance-grid>div{order:-1}.second-photo img{max-height:540px}.thesis h3{font-size:31px}.thesis{padding:30px 24px}.teaching h2{margin-bottom:32px}.teaching-topics{flex-direction:column;font-size:47px;gap:12px;margin-top:38px}.contact-grid{gap:40px}.contact h2{font-size:56px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:28px 6%;flex-wrap:wrap}footer>span:nth-child(2){width:100%;order:3;font-size:10px}.hero h1 em{white-space:nowrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

html[data-style] .contact em{color:var(--contact-accent,#db9d90)}
/* 09 Opening night: a cinematic full-width portrait with an inset title plate. */
html[data-style=theatre]{--paper:#141312;--ink:#f7f0e4;--dark:#141312;--on-dark:#f7f0e4;--accent:#d6b478;--muted:#c6bfb2;--rule:#554d41;--tint:#201d19;--contact-accent:#d6b478}
html[data-style=theatre] .site-header{padding:30px 5%;border-color:#554d41}html[data-style=theatre] .hero{display:block;padding:0;min-height:730px;overflow:hidden}html[data-style=theatre] .hero-photo{position:absolute;right:0;top:0;bottom:66px;width:55%}html[data-style=theatre] .hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#141312,transparent 35%)}html[data-style=theatre] .hero-photo img{height:100%;max-height:none;object-position:center 28%;filter:grayscale(.5)}html[data-style=theatre] .hero-photo figcaption{z-index:2;left:auto;right:20px;background:#141312;color:#d6b478}html[data-style=theatre] .hero-type{position:relative;z-index:3;width:66%;min-height:664px;padding:70px 0 60px 5%;background:linear-gradient(90deg,#141312 35%,#141312ba 70%,transparent)}html[data-style=theatre] .hero h1{font-size:clamp(65px,7.6vw,115px);font-style:normal}html[data-style=theatre] .hero h1 em{color:#d6b478}html[data-style=theatre] .hero-footer{position:relative;z-index:4;padding:21px 5%;border-color:#554d41}html[data-style=theatre] .thesis{background:#201d19;border-color:#d6b478;padding:40px}html[data-style=theatre] .solid-link{color:#141312}html[data-style=theatre] .second-photo img{filter:grayscale(.8)}html[data-style=theatre] .credentials span,html[data-style=theatre] .section-label{color:#d6b478}

/* Direction-specific mobile compositions. */
@media(max-width:660px){
html[data-style] .hero{grid-template-columns:1fr;padding:30px 6%;gap:25px;margin-left:0;margin-right:0;border-radius:0}html[data-style] .hero-type{padding:10px 0;border-right:0;border-left:0}html[data-style] .hero h1{font-size:clamp(48px,12vw,72px);line-height:1.08;letter-spacing:-.045em}html[data-style] .hero-photo{padding:0;margin:0;transform:none}html[data-style] .hero-photo img{height:440px;min-height:0}html[data-style] .hero-photo figcaption{bottom:16px;left:16px;right:auto;transform:none}html[data-style] .hero-footer{margin:0;padding:20px 0;gap:12px;font-size:10px}html[data-style] .section{padding:50px 6%}html[data-style] .hero h1 em{white-space:normal}html[data-style] h2{font-size:40px}html[data-style] .thesis{transform:none;box-shadow:none;padding:30px 24px}html[data-style] .teaching-topics{font-size:43px}html[data-style] .contact h2{font-size:52px}
html[data-style=theatre] .hero{display:flex;flex-direction:column;min-height:0}html[data-style=theatre] .hero-photo{position:relative;width:100%;inset:auto}html[data-style=theatre] .hero-photo:after{background:none}html[data-style=theatre] .hero-type{width:100%;min-height:0;background:none}html[data-style=theatre] .hero-photo figcaption{right:16px;left:auto}
}
.honeypot{position:absolute;left:-9999px}button:disabled{opacity:.6;cursor:wait}#form-status{margin-top:20px}

.contact-map{margin:28px 0 0;max-width:430px;width:100%}.contact-map img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}@media(max-width:660px){.contact-map{max-width:360px;margin:24px auto 0}}

@media(min-width:661px) and (max-width:1366px){.contact-map{margin-top:64px}}

.credit-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.credits .credit-group{min-width:0}.credits .credit-group h3{font-size:26px;line-height:1.25;letter-spacing:-.02em;margin:8px 0 24px}.credit-list{list-style:none;padding:0;margin:0}.credit-list li{padding:18px 0;border-top:1px solid var(--rule)}.credits .credit-title{padding:0;display:flex;gap:12px;align-items:baseline;justify-content:space-between;font-size:16px;line-height:1.45}.credit-title strong{font-weight:600;overflow-wrap:anywhere}.credit-year{font-size:14px;color:var(--muted);flex-shrink:0}.credits .credit-list p{font-size:15px;line-height:1.6;margin:9px 0 0;color:var(--muted)}@media(max-width:1100px){.credit-groups{grid-template-columns:1fr;gap:28px}.credits .credit-group h3{margin-bottom:16px}}

/* Performance: portrait, vocal profile and browsable credits. */
.performance-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8%;align-items:center}
.performance .second-photo{padding:0;max-width:420px}.performance .second-photo img{height:460px;object-fit:cover;object-position:center 25%}
.performance-intro>p{max-width:620px;color:var(--muted)}
.performance .credits{margin-top:64px;border:0}.credits .credits-heading{font-size:36px;margin:0 0 26px}.credit-category{border-top:1px solid var(--rule)}.credit-category:last-child{border-bottom:1px solid var(--rule)}
.credits .credit-category summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:24px 0;font:400 26px/1.3 Georgia,serif;color:var(--ink)}.credit-category summary::-webkit-details-marker{display:none}.credit-category summary:after{content:'+';font:400 28px/1 Arial,sans-serif;color:var(--accent);flex-shrink:0}.credit-category[open] summary:after{content:'−'}.credit-category summary:hover{color:var(--accent)}
.credit-category .credit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;padding:0 0 28px}.credit-list li{min-width:0;padding:20px 0}.credits .credit-title{padding:0;gap:16px}.credit-title a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.credit-title a:hover{color:var(--accent)}.credit-year{white-space:normal;text-align:right}.credits .credit-list p{font-size:16px}
@media(max-width:1000px){.performance-grid{gap:6%}.performance .second-photo img{height:420px}.credit-category .credit-list{column-gap:28px}}
@media(max-width:660px){.performance-grid{grid-template-columns:1fr;gap:32px}.performance .second-photo{max-width:none}.performance .second-photo img{height:360px;object-position:center 22%}.performance-intro{order:-1}.performance .credits{margin-top:40px}.credits .credits-heading{font-size:30px}.credits .credit-category summary{font-size:23px;padding:22px 0}.credit-category .credit-list{grid-template-columns:1fr;padding-bottom:20px}}

/* Keep vocal information secondary to performance and direction. */
.performance .second-photo img{height:400px}.performance-intro .vocal-note{font-size:14px;line-height:1.6;color:var(--muted);margin-top:24px}.performance .credits{margin-top:48px}
@media(max-width:660px){.performance .second-photo img{height:320px}.performance .credits{margin-top:36px}}
