/* Shared refinements preserve the original palette, typography and page structure. */
header .nav { gap: 18px 28px; flex-wrap: wrap; }
.primary-nav { flex: 1 1 650px; gap: 8px 22px; }
.language-switch { display: inline-flex; flex: 0 0 auto; gap: 0; align-items: center; }
.language-switch a { font-size: 14px; min-height: 44px; padding: 4px 10px; text-decoration: none; }
.language-switch a + a::before { content: '|'; color: #96968f; margin-right: 20px; }
.language-switch [aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.footer-top { gap: 40px; align-items: flex-start; }
.footer-groups { display: grid; grid-template-columns: 1.2fr 1.2fr .7fr; gap: 24px 48px; }
.footer-groups nav { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-groups a { font-size: 14px; text-decoration: none; min-height: 36px; }
.footer-groups a:hover { text-decoration: underline; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 38px; }
.footer-bottom .copyright { border: 0; margin: 0; padding: 0; }
.portrait-layout { align-items: center; }
.portrait-layout .profile-portrait { width: min(100%, 420px); height: auto; aspect-ratio: auto; object-fit: contain; margin-left: auto; }
#standard-biography, #artist-photos, #awards, #performances, #broadcasts, #jury { scroll-margin-top: 30px; }
.photo-grid .photo-item:first-child { max-width: 440px; margin: 0 auto 45px; }
.contact-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 44px; }
.contact-choice { border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 28px 0; text-decoration: none; }
.contact-choice h2 { font: 400 clamp(23px, 2.5vw, 32px)/1.7 var(--serif); margin: 0 0 14px; }
.contact-choice p { margin: 0; font-size: 16px; color: var(--muted); }
.contact-choice > span { font-size: 24px; }
.contact-choice:hover { color: var(--gold); }
.enquiry-page { max-width: 1000px; }
.enquiry-page section { padding: 44px 0; }
.enquiry-page h2 { font-size: 26px; font-weight: 400; }
.consultation-flow ol { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.consultation-flow li { border-top: 1px solid var(--line); padding-top: 20px; }
.consultation-flow li > span { color: var(--gold); font: 18px/1.8 Georgia,serif; }
.consultation-flow h3 { font-size: 19px; font-weight: 400; margin: 10px 0; }
.consultation-flow p, .lesson-locations p { font-size: 16px; }
.enquiry-page .email-contact { padding: 32px; margin: 24px 0; }
.general-contact { max-width: 720px; margin: 40px auto 0; }
.general-contact .email-contact { padding: 30px; }
.lesson-locations { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin: 35px 0; }
.lesson-locations article { border-top: 1px solid var(--line); padding-top: 20px; }
.lesson-locations h2 { font-size: 22px; }
.resource-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 35px; }
.resource-links a { display: block; padding: 14px 0; border-bottom: 1px solid var(--line); text-underline-offset: 5px; }
.media-date { overflow-wrap: anywhere; }
.press-article-body { overflow-wrap: anywhere; }
@media(max-width:760px) {
 .primary-nav { flex-basis:100%; justify-content:flex-start; gap:4px 20px; }
 header .language-switch { margin-left:auto; }
 header .nav { position:relative; padding-top:22px; }
 .primary-nav a { min-height:44px; }
 .footer-top { flex-direction:column; }
 .footer-groups { grid-template-columns:1fr 1fr; gap:28px; width:100%; }
 .footer-groups nav:last-child { flex-direction:row; gap:24px; grid-column:1/-1; }
 .footer-groups a { min-height:44px; }
 .portrait-layout .profile-portrait { width:min(100%,380px); height:auto; margin:24px auto 0; object-fit:contain; }
 .contact-choices, .consultation-flow ol, .lesson-locations, .resource-links { grid-template-columns:1fr; gap:22px; }
 .contact-choice { padding:22px 0; }
 .enquiry-page .email-contact { padding:24px; }
 .enquiry-page section { padding:30px 0; }
 .photo-grid .photo-item:first-child { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Compact mobile header: language controls stay visible; pages open on demand. */
.menu-toggle { display:none; }
@media(max-width:760px) {
 header .wrap.nav, html[lang=en] header .wrap.nav { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:0 6px; min-height:72px; padding:10px 0; }
 header .brand, html[lang=en] header .brand { grid-column:1; grid-row:1; font-size:18px; letter-spacing:.07em; line-height:1.5; }
 header .brand small { font-size:10px; letter-spacing:.09em; line-height:1.5; }
 html[lang=en] header .brand { font-size:16px; letter-spacing:0; }
 header .language-switch, html[lang=en] header .language-switch { grid-column:2; grid-row:1; margin:0; gap:0; flex-wrap:nowrap; }
 header .language-switch a { min-width:36px; min-height:44px; padding:0 4px; justify-content:center; font-size:14px; }
 header .language-switch a + a::before { margin:0 6px 0 0; }
 header .menu-toggle:not([hidden]) { grid-column:3; grid-row:1; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:12px; background:transparent; color:inherit; border:0; cursor:pointer; }
 .menu-icon { width:20px; height:12px; border-top:1px solid currentColor; border-bottom:1px solid currentColor; position:relative; }
 .menu-icon::after { content:''; position:absolute; top:5px; left:0; right:0; border-top:1px solid currentColor; }
 .menu-toggle[aria-expanded=true] .menu-icon { border-bottom:0; transform:translateY(5px) rotate(45deg); }
 .menu-toggle[aria-expanded=true] .menu-icon::after { top:-1px; transform:rotate(90deg); }
 header .primary-nav, html[lang=en] header .primary-nav { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin:10px 0 2px; padding-top:10px; border-top:1px solid #41444a; }
 header .primary-nav a { min-height:44px; padding:6px 0; font-size:14px; line-height:1.5; }
 header .primary-nav[hidden] { display:none; }
 header a:focus-visible, header button:focus-visible { outline:2px solid #ddd4bb; outline-offset:2px; }
}

/* Language controls use the same compact geometry in both locales. */
html[lang] header nav.language-switch,
html[lang] footer nav.language-switch {
 display:inline-flex; flex-wrap:nowrap; align-items:center; justify-content:center;
 gap:0; margin:0; padding:0; width:88px; min-width:88px; height:44px;
}
html[lang] nav.language-switch a {
 position:relative; display:flex; align-items:center; justify-content:center;
 width:44px; min-width:44px; height:44px; min-height:44px;
 padding:0; font-size:14px; line-height:1; letter-spacing:.025em;
}
html[lang] nav.language-switch a + a::before {
 content:'|'; position:absolute; left:0; top:50%; transform:translate(-50%,-50%);
 margin:0; color:#96968f; font-weight:400;
}
html[lang] nav.language-switch a[aria-current=page] {
 font-weight:600; text-decoration:underline; text-underline-offset:6px;
}
@media(min-width:761px) {
 html[lang=en] header .wrap.nav { display:flex; gap:18px 28px; }
}
@media(max-width:760px) {
 html[lang] header nav.language-switch { grid-column:2; grid-row:1; }
 html[lang] footer .footer-bottom { flex-wrap:wrap; gap:12px 20px; }
}
