/* Blue Wine Jazz / lokale Vorschau / CD v1.0 / 16.10.2026.
   Aktuelle Seitenstruktur bleibt erhalten. Nur diese Datei gestaltet neu. */
:root {
  --bg:#EFE9DC; --bg-2:#E6DFD1; --bg-3:#E9E2D5;
  --bg-card:transparent; --bg-card-2:#F6F2E9;
  --text:#071D32; --text-muted:#3D4A53; --text-dim:#52606A;
  --gold:#071D32; --gold-light:#183C58; --brand-gold:#071D32;
  --gold-dim:rgba(7,29,50,.045); --gold-border:rgba(7,29,50,.25);
  --border:rgba(7,29,50,.16); --border-gold:rgba(7,29,50,.25);
  --font-display:'Inter',sans-serif; --font-body:'Inter',sans-serif;
  --r-sm:2px; --r-md:0px; --r-lg:0px;
  --shadow-card:none; --shadow-hover:none; --gold-glow:none;
  --max-w:1320px; --px:40px; --gap-2xl:100px;
}
html {font-size:16px;scroll-padding-top:100px;}
body {background:var(--bg);color:var(--text);}
h1,h2,h3,h4 {font-family:var(--font-body);font-weight:600;letter-spacing:-.035em;}
p {line-height:1.7;}
em {font-family:inherit;font-style:normal;color:inherit;}
a:hover {text-shadow:none!important;}
:focus-visible {outline:2px solid #071D32;outline-offset:5px;}
.section {border-top:1px solid var(--border);}
.section-header {text-align:left;max-width:760px;margin:0 0 48px;}
.section-title,.contact-title {font-size:clamp(30px,3.25vw,46px);line-height:1.14;max-width:20ch;}
.section-description {margin-inline:0;font-size:17px;max-width:64ch;}
.section-label {font-size:11px;letter-spacing:.16em;font-weight:600;color:var(--text-dim);margin-bottom:16px;}
.btn {font-weight:600;letter-spacing:0;padding:15px 23px;min-height:48px;border-radius:2px;}
.btn-primary,.nav-menu .nav-cta {background:#071D32;color:#EFE9DC!important;border:1px solid #071D32;}
.btn-primary:hover,.nav-menu .nav-cta:hover {background:#183C58;border-color:#183C58;transform:none;box-shadow:none;}
.btn-outline {color:var(--text);border:1px solid var(--gold-border);background:none;}
.btn-outline:hover {background:var(--gold-dim);color:var(--text);}
.site-header,.site-header:not(.scrolled),.site-header.scrolled {background:#EFE9DC;backdrop-filter:none;box-shadow:none;border-bottom:1px solid var(--border);padding:0;}
.nav {height:83px;gap:24px;}
.nav-home {display:flex;flex-direction:column;font-size:11px;line-height:1.7;letter-spacing:.12em;text-transform:uppercase;flex-shrink:0;}
.nav-location {letter-spacing:0;text-transform:none;color:var(--text-dim);font-size:12px;}
.nav-menu {gap:18px;}
.nav-link {padding:10px 0;font-size:13px;font-weight:400;letter-spacing:0;}
.nav-link.active {text-decoration:underline;text-underline-offset:7px;}
.nav-menu .nav-cta {padding:12px 18px;border-radius:2px;}
.lang-switcher {border:0;background:none;border-radius:0;padding:0;gap:0;}
.lang-btn {font-size:11px;border-radius:0;color:var(--text-dim);padding:8px;min-width:32px;}
.lang-btn.active {background:none;color:var(--text);text-decoration:underline;text-underline-offset:5px;}
.nav-toggle {z-index:1100;}
.nav-toggle-bar {background:var(--text);}
.hero {min-height:0;display:block;background:var(--bg);padding:134px 0 49px;overflow:visible;}
.hero::before,.hero::after {display:none;}
.hero .container {position:relative;}
.hero-main {display:grid;grid-template-columns:.36fr .64fr;gap:60px;align-items:center;}
.hero-brand {padding:0 10px;}
.hero-wordmark {width:min(100%,330px);height:auto;}
.hero-image {position:relative;margin:0;isolation:isolate;background:#071D32;overflow:hidden;}
.hero-image img {width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;}
/* Approved garden export already contains the image look. No second colour veil. */
.hero-image::after {display:none;}
.hero-bottom {display:grid;grid-template-columns:1fr auto;gap:38px;align-items:center;margin-top:42px;}
.hero-title {font-size:28px;line-height:1.25;margin-bottom:12px;letter-spacing:-.03em;max-width:none;}
.hero-title br {display:none;}
.hero-title em {background:none;-webkit-text-fill-color:currentColor;color:inherit;}
.hero-description {font-size:16px;line-height:1.6;max-width:66ch;color:var(--text-muted);text-shadow:none;margin:0;}
.hero-actions {text-align:right;}
.hero-cta-group {display:flex;gap:10px;margin:0;flex-wrap:wrap;}
.hero-cta-group .btn {font-size:13px;}
.hero-cta-phone {font-size:11px;justify-content:flex-end;margin-top:12px;gap:7px;}
.hero-cta-phone a {font-size:12px;}
.hero-cta-phone,.hero-description,.hero-title {opacity:1;transform:none;animation:none;}
.trust-bar {background:transparent;border-top:1px solid var(--border);border-bottom:0;padding:27px 0;}
.trust-list {justify-content:space-between;gap:24px;}
.trust-item {text-align:left;align-items:flex-start;}
.trust-number {font-family:var(--font-body);font-size:21px;font-weight:600;letter-spacing:-.025em;}
.trust-label {font-size:12px;color:var(--text-dim);}
.trust-divider {display:none;}
.repertoire {background:var(--bg);}
.repertoire-inner {display:grid;grid-template-columns:.32fr .68fr;gap:60px;align-items:start;}
.repertoire-left {position:sticky;top:120px;max-width:none;margin-bottom:0;}
.repertoire-left .section-title {font-size:37px;}
.repertoire-left .section-description {font-size:16px;}
.video-card {border:0;border-radius:0;box-shadow:none;background:none;overflow:visible;}
.video-card:hover {transform:none;box-shadow:none;}
.video-thumbnail {border-radius:0;overflow:hidden;}
.repertoire .video-info,.repertoire .video-archive .video-info {padding:12px 0 8px;}
.repertoire .video-featured .video-title {font-size:18px;color:var(--text);}
.video-label {color:var(--text-dim);font-size:10px;letter-spacing:.11em;}
.repertoire .video-archive {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.repertoire .video-archive .video-title {font-size:14px;color:var(--text);}
.video-play-btn svg {background:var(--bg)!important;color:var(--text)!important;box-shadow:none!important;}
.repertoire .video-play-btn {transform:none!important;}
.video-archive-title {font-size:13px;font-weight:600;letter-spacing:0;margin:30px 0 18px;}
.repertoire-note {background:none;border:0;border-radius:0;padding:0;max-width:none;}
.repertoire-styles {gap:20px;}
.repertoire-style-title {font-size:16px;letter-spacing:-.02em;}
.services {background:var(--bg);}
.services-grid {gap:50px 36px;}
.service-card,.formation-card {background:none;box-shadow:none;border:0;border-radius:0;}
.service-card:hover,.formation-card:hover {transform:none;box-shadow:none;}
.service-card-img {aspect-ratio:3/2;height:auto;border-radius:0;}
.service-card-img img {filter:none!important;object-fit:cover;}
.service-card:hover .service-card-img img {transform:none;}
.service-card-body {padding:24px 0 0;}
.service-card-title {font-size:25px;font-weight:600;}
.service-card-text {font-size:15px;line-height:1.7;}
.service-card-list {margin:18px 0;}
.service-card-list li {font-size:13px;}
.service-card-list li::before {background:var(--brand-gold);}
.service-card-link {font-size:13px;font-weight:600;display:inline-block;min-height:40px;text-decoration:underline;text-underline-offset:5px;}
.formations {background:var(--bg-2);}
.formations-grid {max-width:none;gap:36px;}
.formation-card-img {aspect-ratio:3/2;height:auto;overflow:hidden;}
.formation-card-img img {filter:none!important;object-fit:cover;}
.formation-card:hover img {transform:none;}
.formation-card-body {padding:24px 0 0;}
.formation-title {font-size:30px;font-weight:600;}
.formation-badge {display:none;}
.formation-popular {font-size:10px;color:var(--text);background:none;border:1px solid var(--gold-border);border-radius:0;font-weight:400;}
.formation-instruments {font-size:14px;}
.formation-text {font-size:15px;}
.formation-specs {border-color:var(--border);}
.formation-specs dt,.formation-specs dd {font-size:13px;}
.testimonials {background:var(--bg);}
.testimonials-grid {gap:40px;}
.testimonial-card {background:none;border:0;border-radius:0;padding:0;box-shadow:none;}
.testimonial-card:hover {transform:none;}
.testimonial-quote-mark {font-family:Georgia,serif;color:var(--text-dim);font-size:65px;line-height:1;margin-bottom:10px;}
.testimonial-text {font-family:var(--font-body);font-style:normal;font-size:16px;line-height:1.75;}
.testimonial-name {font-size:13px;font-weight:600;font-style:normal;}
.testimonial-event {font-size:12px;}
.reviews-source {text-align:left;}
.clients {background:var(--bg);padding:32px 0 60px;border:0;}
.clients-label {text-align:left;font-size:11px;letter-spacing:.12em;}
.marquee-wrapper {mask-image:none;-webkit-mask-image:none;max-width:1320px;padding-inline:40px;margin:auto;overflow:visible;}
.marquee-track {animation:none!important;width:auto;display:block;transform:none;}
.marquee-group {display:flex;flex-wrap:wrap;gap:20px 35px;padding:0;justify-content:flex-start;}
.marquee-group[aria-hidden=true] {display:none;}
.client-name {font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--text-muted);letter-spacing:-.02em;}
.about-inner {gap:60px;align-items:start;}
.about-image {aspect-ratio:3/2;border-radius:0;}
.about-image img {filter:none!important;object-fit:cover;}
.about-content .section-title {font-size:34px;}
.about-content p {font-size:15px;}
.about-members {padding:22px 0;border:0;border-block:1px solid var(--border);background:none;gap:20px;}
.member-name {font-size:14px;font-weight:600;letter-spacing:-.02em;}
.about .member-link .member-name {text-decoration:none;}
.member-role {font-size:12px;}
.about-values {gap:20px;}
.about-values li {border-color:var(--border);}
.about-values strong {font-family:var(--font-body);font-size:16px;font-weight:600;}
.about-values span {font-size:14px;}
.faq {background:var(--bg);}
.faq-list {max-width:960px;margin-left:0;}
.faq-question {font-family:var(--font-body);font-size:18px;font-weight:400;letter-spacing:-.02em;}
.faq-question:hover {background:none;}
@media (hover:hover) and (pointer:fine) {
 .faq-question:hover {color:var(--accent);}
}
.faq-answer>p {font-size:15px;}
.faq-icon {border-color:var(--border);}
.faq-question[aria-expanded="true"] .faq-icon {transform:none;}
.faq-icon::after {transition:opacity 180ms ease,transform 220ms ease;}
.faq-question[aria-expanded="true"] .faq-icon::after {opacity:0;transform:translate(-50%,-50%) scaleY(0);}
.faq-answer {transition:grid-template-rows 280ms ease;}
.faq-answer>p {min-height:0;padding-bottom:0;transform:none;transition:opacity 180ms ease,padding-bottom 280ms ease;}
.faq-answer.open>p {padding-bottom:24px;transform:none;transition:opacity 220ms ease 50ms,padding-bottom 280ms ease;}
html:not(.js) .faq-answer>p {padding-bottom:24px;}
@media(prefers-reduced-motion:reduce){.faq-icon::after,.faq-answer,.faq-answer>p,.faq-answer.open>p {transition:none;}}
.contact {background:var(--bg-2);}
.contact-inner {gap:70px;}
.contact-title {font-size:40px;}
.contact-subtitle {font-size:16px;}
.contact-detail {font-size:14px;}
.contact-detail-icon {background:none;border:0;border-radius:0;color:var(--text);}
.contact-form-wrapper {background:none;border:0;border-radius:0;box-shadow:none;padding:0;}
.contact-form input,.contact-form select,.contact-form textarea,#contact-form input,#contact-form select,#contact-form textarea {background:#F5F0E6;color:var(--text);border:1px solid var(--gold-border);border-radius:2px;font-size:15px;}
.form-label {font-size:12px;color:var(--text);}
.form-input::placeholder,.form-textarea::placeholder,input::placeholder,textarea::placeholder {color:#606B72;}
.form-note,.preview-form-note {font-size:12px;line-height:1.5;}
.contact .form-note {text-align:left;margin:12px 0 0;}
.preview-form-note {margin-top:15px;color:var(--text-dim);}
.site-footer {background:var(--bg);border-top:1px solid var(--border);padding-top:70px;}
.footer-inner {gap:45px;}
.footer-wordmark {width:125px;height:auto;margin-bottom:26px;}
.footer-tagline {font-size:13px;max-width:28ch;}
.footer-nav-title {font-size:13px;font-weight:600;letter-spacing:0;}
.footer-nav a,.footer-contact-links a,.footer-cta-box p {font-size:13px;}
.footer-bottom p,.footer-legal a {font-size:11px;}
.video-modal-close {color:white;}
.js .animate-up {opacity:1!important;transform:none!important;transition:none!important;}
@media (min-width:1000px) and (max-width:1199px) {
 .nav-menu {gap:12px;} .nav-link {font-size:12px;} .nav-home {font-size:10px;}
 .hero-main {gap:40px;} .hero-cta-group .btn {padding:14px 16px;}
}
@media (max-width:999px) {
 :root {--px:28px;--gap-2xl:75px;}
 .nav {height:70px;} .nav-home {position:relative;z-index:1100;}
 .nav-menu {background:var(--bg);padding:110px 28px 32px;gap:8px;}
 .nav-link {font-size:24px;padding:9px 0;}
 .nav-menu .nav-cta {font-size:19px;padding:14px 22px;margin-top:15px;}
 .nav-menu .lang-btn {font-size:16px;}
 .hero {padding-top:110px;}
 .hero-main {grid-template-columns:.36fr .64fr;gap:35px;}
 .hero-brand {padding:0;}
 .hero-bottom {grid-template-columns:1fr;gap:24px;margin-top:30px;}
 .hero-actions {text-align:left;}.hero-cta-phone {justify-content:flex-start;}
 .repertoire-inner {grid-template-columns:1fr;gap:32px;}.repertoire-left {position:static;max-width:650px;}
 .testimonials-grid {gap:28px;}
 .about-inner,.contact-inner {gap:36px;}
 .marquee-wrapper {padding-inline:28px;}
 .footer-inner {gap:32px;}
}
@media (max-width:760px) {
 :root {--px:22px;--gap-2xl:60px;}
 .site-header,.site-header.scrolled {padding:0;}
 .nav {height:64px;}
 .hero {padding:98px 0 32px;min-height:0;}
 .hero-main {grid-template-columns:1fr;gap:30px;}
 .hero-brand {text-align:center;}
 .hero-wordmark {width:210px;max-width:65%;display:block;margin-inline:auto;}
 .hero-image {width:100%;}
 .hero-bottom {margin-top:26px;gap:22px;}
 .hero-title {font-size:25px;max-width:24ch;line-height:1.22;}
 .hero-description {font-size:15px;max-width:38ch;}
 .hero-cta-group {flex-wrap:wrap;justify-content:flex-start;gap:10px;}
 .hero-cta-group .btn {font-size:12px;min-height:46px;padding:13px 17px;flex:initial;}
 .hero-cta-phone {font-size:11px;flex-wrap:wrap;line-height:1.5;margin-top:14px;}
 .trust-bar {padding:24px 0;}
 .trust-list {display:grid;grid-template-columns:1fr 1fr;gap:22px;}
 .trust-number {font-size:19px;}.trust-label {font-size:11px;}
 .section-title,.repertoire-left .section-title,.about-content .section-title,.contact-title {font-size:31px;}
 .section-description {font-size:16px;}
 .section-header {margin-bottom:30px;}
 .services-grid,.formations-grid,.testimonials-grid,.about-inner,.contact-inner {grid-template-columns:1fr;}
 .services-grid {gap:42px;}.formations-grid {gap:40px;}.testimonials-grid {gap:36px;}
 .service-card-title {font-size:23px;}.service-card-body,.formation-card-body {padding-top:20px;}
 .testimonial-text {font-size:16px;}
 .clients {padding:15px 0 45px;}.marquee-wrapper {padding-inline:22px;}
 .marquee-group {justify-content:flex-start;gap:14px 24px;}.client-name {font-size:14px;}
 .repertoire .video-archive {gap:18px;}.repertoire .video-archive .video-title {font-size:13px;}
 .repertoire-styles {grid-template-columns:1fr;}
 .about-members {gap:22px;}
 .contact-details {margin-block:25px;}.contact-detail {font-size:14px;overflow-wrap:anywhere;}
 .contact-title {max-width:19ch;}
 .faq-question {font-size:16px;}.faq-answer>p {font-size:14px;}
 .footer-inner {grid-template-columns:1fr 1fr;gap:30px;}.footer-brand {grid-column:1/-1;}
 .footer-wordmark {width:110px;}.footer-cta-box {grid-column:1/-1;}
 .footer-bottom {align-items:flex-start;text-align:left;}.footer-legal {justify-content:flex-start;}
}
@media (max-width:359px) {
 :root {--px:18px;}.hero-wordmark {width:175px;}.hero-cta-group .btn {padding:12px;font-size:11px;}
 .trust-number {font-size:17px;}.repertoire .video-archive {gap:12px;}
}

/* Shared framing and broad, continuous edge colour. No hard-edged mask. */
.service-card-img,.formation-card-img,.about-image {position:relative;isolation:isolate;}
.service-card-img::after,.formation-card-img::after,.about-image::after {
 content:'';position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(105deg,rgba(14,34,64,.224),rgba(14,34,64,.035) 45%,rgba(239,233,220,.075));
 mask-image:radial-gradient(ellipse at 50% 35%,rgba(0,0,0,.2) 0%,rgba(0,0,0,.35) 32%,#000 85%);
}
.trust-item {min-width:0;padding-inline:0;}
.trust-label {white-space:normal;letter-spacing:.025em;}
@media(max-width:760px){.trust-list {grid-template-columns:repeat(2,minmax(0,1fr));}.trust-number {white-space:normal;}}

/* Dark chapters for music and musicians; cream remains the main reading surface. */
.repertoire,.about,.site-footer {
 --bg:#071D32; --text:#EFE9DC; --text-muted:#CECFC9; --text-dim:#AEBBBF;
 --gold:#EFE9DC; --gold-light:#EFE9DC;
 --gold-border:rgba(239,233,220,.4); --gold-dim:rgba(239,233,220,.08);
 --border:rgba(239,233,220,.22); --border-gold:rgba(239,233,220,.4);
 background:var(--bg);color:var(--text);
}
.repertoire :focus-visible,.about :focus-visible {outline-color:#EFE9DC;}
.repertoire .video-play-btn svg {background:#EFE9DC!important;color:#071D32!important;}
.about .btn-primary {background:#EFE9DC;color:#071D32!important;border-color:#EFE9DC;}
.about .btn-primary:hover {background:#E6DFD1;border-color:#E6DFD1;}

@media(min-width:761px){.about-values li {grid-template-columns:8rem 1fr;}}

/* Editorial refinement: fewer images, concise offerings, clear client voices. */
.formation-card-img::after,.about-image::after {display:none;}
.formation-card-img,.about-image {aspect-ratio:auto;height:auto;}
.formation-card-img img,.about-image img {display:block;width:100%;height:auto;object-fit:contain;}
.services-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px;}
.service-card {border-top:1px solid var(--gold-border);padding:30px 0 28px;}
.service-card-body {padding:0;}
.service-card-title {margin:0 0 14px;font-size:28px;}
.service-card-text {max-width:45ch;min-height:5.1em;margin:0 0 18px;}
.service-card-link {padding:5px 0;text-decoration-thickness:1px;transition:color .2s,text-underline-offset .2s;}
.service-card-link:hover {color:#456076;text-underline-offset:8px;}
.service-card {transition:background-color .25s;}
@media(hover:hover){.service-card:hover {background:rgba(7,29,50,.025);}}
.formations-grid {align-items:start;}
.formation-specs {margin-top:16px;padding-block:14px;}
.formation-text {max-width:47ch;}
.video-disclosure {margin-top:24px;border-block:1px solid var(--border);}
.video-disclosure summary {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;min-height:60px;cursor:pointer;font-size:14px;font-weight:600;list-style:none;}
.video-disclosure summary::-webkit-details-marker {display:none;}
.video-disclosure summary::after {content:'+';font-size:24px;font-weight:400;line-height:1;color:var(--gold);}
.video-disclosure[open] summary::after {content:'−';}
.video-disclosure .video-archive {padding-bottom:22px;}
.video-disclosure summary:hover {color:var(--gold);}
.repertoire-details {margin-top:0;border-top:0;}
/* Archive stills remain tied to their actual films; only a subtle edge tint. */
.video-archive .video-thumbnail::after {content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(14,34,64,.175),transparent 45%,rgba(239,233,220,.075));}
.video-archive .video-play-btn {z-index:2;}
.testimonials-grid {display:grid;grid-template-columns:1.15fr 1fr;gap:38px 90px;max-width:none;margin:0;}
.testimonial-card {position:relative;border-top:1px solid var(--gold-border);padding-top:24px;}
.testimonial-card:first-child {grid-row:span 2;}
.testimonial-quote-mark {position:static;opacity:1;margin:0 0 8px;font-size:54px;height:35px;color:var(--accent);}
.testimonial-card:not(:first-child) .testimonial-quote-mark {display:none;}
.testimonial-text {font-size:22px;line-height:1.45;letter-spacing:-.025em;color:var(--text);margin-bottom:22px;}
.testimonial-card:first-child .testimonial-text {font-size:clamp(28px,3.2vw,43px);line-height:1.22;letter-spacing:-.04em;}
.testimonial-footer {border:0;padding:0;}
.review-excerpts {font-size:11px;color:var(--text-dim);margin-top:36px;}
.reviews-source {margin-top:8px;font-size:13px;}
.clients {pointer-events:auto;padding:32px 0 65px;}
.clients-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px;}
.clients-label {margin:0;}
.marquee-toggle {font-family:var(--font-body);font-size:11px;color:var(--text-dim);border:0;background:none;padding:10px 0;min-height:44px;cursor:pointer;white-space:nowrap;text-decoration:underline;text-underline-offset:4px;}
.marquee-wrapper {max-width:none;margin:0;padding:0;overflow:hidden;pointer-events:auto;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);}
.marquee-track {display:flex;width:max-content;gap:0;transform:none;animation:marquee 70s linear infinite!important;animation-play-state:paused!important;}
.marquee-group,.marquee-group[aria-hidden=true] {display:flex;flex-wrap:nowrap;gap:48px;padding:0 48px 0 0;flex:none;}
.client-name {font-size:23px;color:var(--text);font-weight:400;letter-spacing:-.035em;}
.clients.is-in-view .marquee-track {animation-play-state:running!important;}
@media(max-width:760px){
 .services-grid {grid-template-columns:1fr;gap:0;}
 .service-card {padding:25px 0;}.service-card-title {font-size:24px;}
 .service-card-text {min-height:0;max-width:42ch;}
 .testimonials-grid {grid-template-columns:1fr;gap:28px;}
 .testimonial-card:first-child {grid-row:auto;}.testimonial-text {font-size:20px;}
 .testimonial-card:first-child .testimonial-text {font-size:30px;}
 .clients-heading {align-items:flex-start;gap:15px;}.clients-label {line-height:1.6;max-width:24ch;font-size:10px;}
 .clients {padding:15px 0 45px;}.client-name {font-size:21px;}
 .marquee-group {gap:32px;padding-right:32px;}
}
/* A small, one-time fade; keyboard focus and reduced motion stay immediate. */
@media(prefers-reduced-motion:no-preference){
 html.motion-ready .animate-up {opacity:0!important;transform:translateY(8px)!important;transition:opacity .55s ease,transform .55s ease!important;transition-delay:0s!important;}
 html.motion-ready .animate-up.visible,html.motion-ready .animate-up:focus-within {opacity:1!important;transform:none!important;}
}
@media(prefers-reduced-motion:reduce){
 .marquee-track {display:block;width:auto;animation:none!important;transform:none!important;}
 .marquee-wrapper {mask-image:none;-webkit-mask-image:none;padding-inline:var(--px);}
 .marquee-group {flex-wrap:wrap;gap:18px 30px;padding:0;}
 .marquee-group[aria-hidden=true],.marquee-toggle {display:none;}
 .service-card,.service-card-link,.video-thumbnail img {transition:none!important;}
}
@media print {html.motion-ready .animate-up{opacity:1!important;transform:none!important;} .marquee-track{animation:none!important;}}

/* Repertoire stays visible; only the extra films collapse. */
.repertoire-visible {margin-top:28px;padding:28px 0;border-top:1px solid var(--border);border-bottom:0;}
.repertoire-heading {font-size:20px;line-height:1.3;letter-spacing:-.02em;color:var(--text);margin-bottom:22px;}
.repertoire-visible .repertoire-styles {grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:0 0 28px;}
.repertoire-visible .repertoire-style-title {color:var(--text);margin-bottom:8px;}
.repertoire-visible .songs-list {margin-top:0;}
.repertoire-visible .songs-note {margin-bottom:0;}
.repertoire-visible + .video-disclosure {margin-top:0;}
.video-disclosure + .repertoire-note {margin-top:22px;}
.nav-home {display:grid;width:170px;min-height:44px;align-items:center;}
.nav-wordmark {grid-area:1/1;transition:opacity .2s ease;}
.nav-wordmark {width:170px;height:auto;opacity:0;}
.site-header.brand-visible .nav-wordmark {opacity:1;}
.site-header:not(.brand-visible) .nav-home {visibility:hidden;pointer-events:none;}
@media(min-width:1000px) and (max-width:1199px){.nav-home,.nav-wordmark{width:145px;}}
@media(max-width:760px){
 .repertoire-visible .repertoire-styles {grid-template-columns:1fr;gap:20px;}
 .nav-home,.nav-wordmark {width:155px;}
}
@media(prefers-reduced-motion:reduce){.nav-wordmark{transition:none;}}

/* Opposite header colour follows the section immediately below its lower edge. */
.site-header,.site-header.scrolled {transition:background-color .22s ease,color .22s ease,border-color .22s ease;}
.site-header .nav-wordmark-light {display:none;}
.site-header.header-on-light {
 --bg:#071D32;--text:#EFE9DC;--text-muted:#D6D8D3;--text-dim:#BAC4C5;
 --gold:#EFE9DC;--gold-light:#EFE9DC;--border:rgba(239,233,220,.2);
 background:#071D32;color:#EFE9DC;border-bottom-color:var(--border);
}
.site-header.header-on-light .nav-wordmark:not(.nav-wordmark-light) {display:none;}
.site-header.header-on-light .nav-wordmark-light {display:block;}
.site-header.header-on-light .nav-menu .nav-cta {background:#EFE9DC;color:#071D32!important;border-color:#EFE9DC;}
.site-header.header-on-light .nav-menu .nav-cta:hover {background:#E6DFD1;border-color:#E6DFD1;}
.site-header.header-on-light :focus-visible {outline-color:#EFE9DC;}
/* A light working surface for enquiries; the navy footer closes the page. */
.contact {background:#EFE9DC;color-scheme:light;}
.contact #contact-form input,.contact #contact-form select,.contact #contact-form textarea {background:#F8F4EB;color:#071D32;border-color:rgba(7,29,50,.4);}
.contact #contact-form input::placeholder,.contact #contact-form textarea::placeholder {color:#52606A;}
.contact #contact-form select {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23071D32' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;}
.contact .form-select option {background:#F8F4EB;color:#071D32;}
/* One fine focus line; avoid the base outline and shadow stacking up. */
.contact #contact-form .form-control:focus {border-color:var(--accent);box-shadow:none;outline:none;}
/* Keep the system date picker, including the native iPhone controls. */
.contact #contact-form input[type="date"] {
 appearance:auto;-webkit-appearance:auto;color-scheme:light;
 color:#071D32;-webkit-text-fill-color:#071D32;accent-color:var(--accent);
 display:block;width:min(100%,18rem);min-width:0;min-height:48px;
 border-radius:6px;padding:.75rem 1rem;line-height:1.5;
}
.contact #contact-form input[type="date"]::-webkit-date-and-time-value {text-align:left;color:#071D32;-webkit-text-fill-color:#071D32;}
.contact #contact-form input[type="date"]::-webkit-datetime-edit {color:#071D32;}
.contact #contact-form input[type="date"]::-webkit-calendar-picker-indicator {opacity:.65;cursor:pointer;}
.contact .planning-note {background:none;border-color:var(--border);}
@media(prefers-reduced-motion:reduce){.site-header,.site-header.scrolled{transition:none;}}

.hero-experience {margin:16px 0 0;font-size:12px;line-height:1.5;color:var(--text-dim);letter-spacing:.02em;}
.about .member-role {color:var(--text-dim);}
.repertoire .repertoire-style-title {color:var(--text);}
.site-footer {padding-top:52px;}
.site-footer :focus-visible {outline-color:#EFE9DC;}
.site-footer .footer-inner {grid-template-columns:1fr 1.3fr 1fr;gap:60px;align-items:start;margin-bottom:36px;}
.site-footer .footer-wordmark {width:112px;margin:0;}
.site-footer .footer-nav-title {color:var(--text);margin-bottom:16px;}
.site-footer .footer-contact-links a,.site-footer .footer-nav a {font-size:14px;min-height:32px;display:inline-flex;align-items:center;}
.footer-contact address {font-style:normal;font-size:13px;color:var(--text-dim);margin-top:8px;}
.site-footer .footer-bottom {padding-block:22px;border-color:var(--border);}
@media(max-width:760px){
 .site-footer {padding-top:40px;}
 .site-footer .footer-inner {grid-template-columns:1fr 1fr;gap:32px 24px;}
 .site-footer .footer-brand {grid-column:1/-1;}
 .site-footer .footer-contact-links a {overflow-wrap:anywhere;}
}
@media(max-width:450px){.site-footer .footer-inner {grid-template-columns:1fr;}.site-footer .footer-nav ul {display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 22px;}}

/* Balance the introduction and film; shared repertoire sits beneath both. */
.repertoire-inner {row-gap:36px;}
.repertoire-left {position:static;}
.repertoire-intro {font-size:15px;line-height:1.7;color:var(--text-muted);margin-top:20px;}
.repertoire-inner>.repertoire-visible,.repertoire-inner>.video-disclosure,.repertoire-inner>.repertoire-note {grid-column:1/-1;}
.repertoire-inner>.repertoire-visible {margin-top:0;padding-bottom:0;}
.repertoire-inner>.video-disclosure {margin-top:0;}
.repertoire-inner>.repertoire-note {margin-top:0;}
@media(min-width:1000px){.repertoire-visible .songs-list {grid-template-columns:repeat(3,minmax(0,1fr));}}

/* Mobile refinement: the film leads; readable, compact content follows. */
.repertoire .video-featured .video-thumbnail img {filter:brightness(1.2) contrast(.96)!important;}
.contact-subtitle,.form-intro,.planning-note p {font-size:15px;line-height:1.7;}
.planning-note h3 {font-size:22px;line-height:1.3;}
.contact #contact-form input,.contact #contact-form select,.contact #contact-form textarea {font-size:16px;}
.reviews-swipe-hint {display:none;}
.planning-steps {list-style:none;counter-reset:enquiry-step;margin:24px 0 0;padding:0;}
.planning-steps li {counter-increment:enquiry-step;display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--border);font-size:15px;line-height:1.55;color:var(--text);}
.planning-steps li::before {content:counter(enquiry-step,decimal-leading-zero);font-size:12px;line-height:1.5;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums;}
@media(max-width:760px){
 .repertoire-inner {gap:24px;}
 .repertoire-left .section-title {margin-bottom:0;}
 .repertoire-inner>.repertoire-copy {grid-column:1/-1;}
 .repertoire-copy .section-description,.repertoire-copy .repertoire-intro {font-size:15px;line-height:1.7;}
 .repertoire-copy .section-description {margin-bottom:0;}
 .repertoire-copy .repertoire-intro {margin-top:14px;margin-bottom:0;}
 .section-description,.contact-subtitle,.form-intro,.planning-note p,.about-content p,.formation-text {font-size:15px;line-height:1.7;}
 .contact-inner {gap:28px;}
 .contact-inner>.planning-note {margin-top:4px;padding-top:24px;}
 .planning-note h3 {font-size:22px;}
 .form-intro {margin-top:0;}
 .form-label {font-size:13px;}
 .services-grid {grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;}
 .service-card {padding:20px 0 12px;}
 .service-card-body {height:100%;display:flex;flex-direction:column;}
 .service-card-title {font-size:20px;line-height:1.25;margin-bottom:10px;overflow-wrap:break-word;}
 .service-card-text {font-size:14px;line-height:1.6;margin-bottom:12px;}
 .service-card-link {font-size:12px;margin-top:auto;min-height:44px;display:flex;align-items:center;}
 .testimonials-grid {display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--gold-border) transparent;}
 .testimonials-grid .testimonial-card {flex:0 0 88%;min-width:0;scroll-snap-align:start;padding-top:20px;}
 html.motion-ready .testimonials-grid .testimonial-card {opacity:1!important;transform:none!important;}
 .testimonial-card .testimonial-text,.testimonial-card:first-child .testimonial-text {font-size:23px;line-height:1.4;letter-spacing:-.025em;margin-bottom:20px;}
 .testimonial-quote-mark {display:none;}
 .testimonial-name {font-size:13px;}
 .testimonial-event {font-size:12px;}
 .reviews-swipe-hint {display:block;font-size:12px;color:var(--text-muted);margin-top:16px;}
 .review-excerpts {margin-top:10px;}
}
@media(max-width:359px){
 .services-grid {column-gap:16px;}
 .service-card-title {font-size:18px;}
 .testimonial-card .testimonial-text,.testimonial-card:first-child .testimonial-text {font-size:21px;}
}

/* The moving client band stays on every screen size; only the heading changes. */
@media(max-width:999px){
 .clients-heading {margin-bottom:24px;}
 .clients-label {max-width:none;font-size:20px;line-height:1.35;text-transform:none;letter-spacing:-.025em;font-weight:600;}
}
.testimonial-card:first-child .testimonial-text {font-size:clamp(26px,2.5vw,34px);line-height:1.35;}
.testimonial-card:not(:first-child) .testimonial-text {font-size:20px;line-height:1.5;}
@media(max-width:760px){
 .testimonial-card .testimonial-text,.testimonial-card:first-child .testimonial-text {font-size:20px;line-height:1.5;}
}

@media(min-width:761px) and (max-width:999px){
 .contact-inner {grid-template-columns:1fr;gap:32px;}
 .contact-inner>.planning-note {margin-top:0;}
 .repertoire-left .section-title {margin-bottom:0;}
 .repertoire-copy .section-description {margin-bottom:0;}
}
@media(max-width:999px){
 .nav-menu {top:70px;height:calc(100dvh - 70px);padding:24px 28px max(28px,env(safe-area-inset-bottom));}
}
@media(max-width:760px){
 .nav-menu {top:64px;height:calc(100dvh - 64px);padding-inline:22px;}
}
@media(max-width:999px) and (max-height:500px){
 .nav-menu {display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:6px 28px;padding-top:14px;}
 .nav-menu .nav-link {font-size:18px;min-height:44px;padding:10px 0;}
 .nav-menu .nav-cta {font-size:16px;margin-top:0;padding:10px 16px;}
 .nav-menu .lang-switcher {justify-self:start;align-self:center;}
}


/* Agreed refinement, 16.10.2026: readable repertoire, calm cards, shared actions. */
.repertoire-visible .repertoire-heading {font-size:24px;line-height:1.3;}
.repertoire-visible .repertoire-style-title {font-size:20px;line-height:1.35;}
.repertoire-visible .repertoire-style p,.repertoire-visible .songs-list li {font-size:16px;line-height:1.65;}
.repertoire-visible .songs-list {row-gap:10px;}
.repertoire-visible .songs-note {font-size:14px;line-height:1.6;}
.repertoire .video-thumbnail {aspect-ratio:16/9;}
.repertoire .video-card .video-play-btn {inset:0;width:auto;height:auto;display:flex;align-items:center;justify-content:center;background:transparent;z-index:2;}
.repertoire .video-card .video-play-btn svg {width:56px;height:56px;padding:12px;box-shadow:0 2px 16px rgba(7,29,50,.18)!important;}
.repertoire .video-card:hover .video-thumbnail img {transform:none;opacity:1;}
/* Keep natural exposure differences; give older recordings a gentle lift. */
.repertoire .video-archive .video-thumbnail img {filter:brightness(1.06) contrast(.98)!important;}
.service-card-link {display:inline-flex;align-items:center;gap:14px;font-size:15px;line-height:1.45;min-height:48px;padding:10px 0;text-decoration:none;transition:color .2s;}
.service-card-link::after {content:'→';flex:none;transition:transform .2s;}
.service-card-link:hover::after {transform:translateX(3px);}
.formation-card-body .service-card-link {font-size:15px;padding:12px 0;}
.repertoire-note .btn {display:inline-flex;align-items:center;gap:14px;}
.repertoire-note .btn::after {content:'→';}
.btn {font-size:15px;line-height:1.4;min-height:48px;}
.hero-cta-group .btn {font-size:14px;}
.nav-menu .nav-cta {font-weight:600;font-size:13px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
.about .btn-primary:hover,.site-header.header-on-light .nav-menu .nav-cta:hover {background:#E6DFD1;border-color:#E6DFD1;color:#071D32!important;}
@media(min-width:761px){
 .services-grid {gap:24px;}
 .service-card {padding:30px;border:1px solid rgba(7,29,50,.17);background:rgba(255,255,255,.10);}
 .service-card-body {height:100%;display:flex;flex-direction:column;align-items:flex-start;}
 .service-card-text {min-height:0;margin-bottom:24px;}
 .service-card-link {margin-top:auto;}
}
@media(hover:hover){.service-card:hover {background:rgba(7,29,50,.035);border-color:rgba(7,29,50,.3);}}
@media(max-width:760px){
 .service-card-link {font-size:14px;gap:8px;align-items:center;}
 .service-card-link::after {display:none;}
 .repertoire .video-card .video-play-btn svg {width:44px;height:44px;padding:9px;}
 .hero-cta-group {gap:10px;}
 .hero-cta-group .btn {font-size:13px;min-height:48px;padding:13px 16px;}
 .nav-menu .nav-cta {font-size:16px;}
}
@media(max-width:359px){.hero-cta-group .btn {padding-inline:12px;font-size:12px;}}
@media(prefers-reduced-motion:reduce){.service-card-link::after {transition:none;}}


/* Phone-only reference band: stronger names, quieter label, closer to quotes. */
@media(max-width:760px), (max-width:999px) and (max-height:500px){
 .testimonials {padding-bottom:28px;}
 .clients {padding:0 0 38px;}
 .clients-heading {margin-bottom:18px;padding-top:24px;border-top:1px solid var(--border);}
 .clients-label {font-size:13px;line-height:1.5;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-muted);}
 .clients .marquee-wrapper {padding-block:5px;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);}
 .clients .marquee-group {gap:0;padding-right:0;align-items:center;}
 .clients .client-name {display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-size:26px;line-height:1.35;letter-spacing:-.025em;font-weight:600;color:var(--text);}
 .clients .client-name::after {content:'';width:4px;height:4px;flex:none;border-radius:50%;background:currentColor;opacity:.35;}
 .clients .marquee-track {animation-duration:140s!important;}
}
@media(prefers-reduced-motion:reduce) and (max-width:760px){
 .clients .marquee-wrapper {mask-image:none;-webkit-mask-image:none;}
 .clients .marquee-group {gap:14px 24px;}
 .clients .client-name {padding:0;font-size:22px;}
 .clients .client-name::after {display:none;}
}

/* Binding action-button component: identical on desktop and mobile. */
:root {
 --accent:#A34F3E;
 --action-bg:#071D32;--action-fg:#EFE9DC;--action-hover:#183C58;
 --action-line:rgba(7,29,50,.4);--action-soft:rgba(7,29,50,.055);
}
.repertoire,.about,.site-footer,.site-header.header-on-light {
 --accent:#D68D78;
 --action-bg:#EFE9DC;--action-fg:#071D32;--action-hover:#DCD2C0;
 --action-line:rgba(239,233,220,.5);--action-soft:rgba(239,233,220,.09);
}
body .action-button,body .nav-link.action-button {
 display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
 width:fit-content;max-width:100%;min-width:0;min-height:44px;box-sizing:border-box;
 padding:10px 16px;border:1px solid var(--action-bg);border-radius:2px;
 background:var(--action-bg);color:var(--action-fg);
 font-family:var(--font-body);font-size:14px;font-weight:600;line-height:20px;
 letter-spacing:0;text-align:center;text-decoration:none;white-space:nowrap;
 cursor:pointer;box-shadow:none;text-shadow:none;transform:none;
 transition:background-color .16s ease,border-color .16s ease;
}
body .action-button:hover,body .action-button:active {
 background:var(--action-hover);border-color:var(--action-hover);color:var(--action-fg);
 text-decoration:none;transform:none;box-shadow:none;
}
body .action-button::before,body .action-button::after {content:none;display:none;}
body .action-button:focus-visible {outline:2px solid var(--action-bg);outline-offset:4px;}
body .action-button:disabled {opacity:.55;cursor:default;}
body .action-button--secondary {background:transparent;color:var(--action-bg);border-color:var(--action-line);}
body .action-button--secondary:hover,body .action-button--secondary:active {background:var(--action-soft);color:var(--action-bg);border-color:var(--action-bg);}
.service-card-body .action-button,body .nav-link.action-button {align-self:flex-start;margin-top:auto;}
.formation-card-body .action-button,body .nav-link.action-button {margin-top:16px;}
@media(prefers-reduced-motion:reduce){body .action-button,body .nav-link.action-button {transition:none;}}

/* Mobile review, 16.10.2026: reading rhythm and touch spacing. */
@media(max-width:760px){
 .hero {padding-top:88px;}
 .hero-wordmark {width:170px;}
 .hero-main {gap:24px;}
 .hero-bottom {margin-top:24px;gap:20px;}
 .hero-cta-group {flex-direction:row;align-items:center;}
 .section-header {margin-bottom:28px;}
 .section-label {margin-bottom:12px;}
 .repertoire-visible .repertoire-heading {font-size:22px;}
 .repertoire-visible .repertoire-style-title {font-size:18px;}
 .repertoire-visible .repertoire-style p,.repertoire-visible .songs-list li {font-size:15px;line-height:1.65;}
 .faq-question {gap:16px;padding-block:20px;line-height:1.45;}
 .faq-answer>p {font-size:15px;line-height:1.7;}
 .contact .form-group {margin-bottom:20px;}
 .contact #contact-form .form-control {min-height:48px;line-height:22px;}
 .contact #contact-form textarea {line-height:1.5;}
 .contact .form-checkbox {min-height:44px;font-size:13px;line-height:1.6;align-items:flex-start;}
 .contact #contact-form input[type="checkbox"] {width:20px;height:20px;padding:0;}
 .form-note {text-align:left;}
 .site-footer .footer-nav a,.site-footer .footer-contact-links a,.site-footer .footer-legal a {min-height:44px;display:inline-flex;align-items:center;}
}
@media(max-width:599px){
 .services-grid {grid-template-columns:1fr;gap:0;}
 .service-card {padding:24px 0;}
 .service-card-body {height:auto;}
 .service-card-title {font-size:22px;line-height:1.25;margin-bottom:12px;}
 .service-card-text {font-size:15px;line-height:1.65;max-width:44ch;margin-bottom:18px;}
 .service-card-body .action-button {margin-top:0;}
}

/* The base form stacks fields up to 900 px; avoid doubled row spacing there. */
@media(max-width:900px){.contact .form-row {row-gap:0;}}

/* Phone content: less repetition; desktop content and layout stay intact. */
.copy-mobile,.services-mobile-action {display:none;}
.song-disclosure {display:contents;}
.song-disclosure>summary {display:none;}
@media(max-width:760px), (max-width:999px) and (max-height:500px){
 .copy-desktop {display:none;}
 .copy-mobile {display:inline;}
 .services-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;}
 .service-card {padding:20px 0;border:0;border-top:1px solid var(--border);background:none;}
 .service-card-body {height:auto;padding:0;}
 .service-card-title {font-size:20px;line-height:1.25;margin-bottom:10px;}
 .service-card-text {font-size:15px;line-height:1.6;margin:0;min-height:0;}
 body .service-card .action-button {display:none;}
 .services-mobile-action {display:flex;justify-content:center;margin-top:24px;}
 .testimonial-card .testimonial-text,.testimonial-card:first-child .testimonial-text,.testimonial-card:not(:first-child) .testimonial-text {font-size:18px;line-height:1.5;}
 .planning-note .planning-steps {display:none;}
 .repertoire-visible>.repertoire-heading {display:none;}
 .repertoire-visible .repertoire-styles {display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:22px;}
 .repertoire-visible .repertoire-style-title {font-size:15px;line-height:1.5;margin:0;letter-spacing:0;}
 .repertoire-visible .repertoire-style p {display:none;}
 .song-disclosure {display:block;border-top:1px solid var(--border);}
 .song-disclosure>summary {color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;padding:18px 0;list-style:none;cursor:pointer;font-size:15px;font-weight:600;}
 .song-disclosure>summary:hover,.song-disclosure>summary::after {color:var(--text);}
 .song-disclosure>summary::-webkit-details-marker {display:none;}
 .song-disclosure>summary::after {content:'+';font-size:24px;font-weight:400;line-height:1;}
 .song-disclosure[open]>summary::after {content:'−';}
 .song-disclosure .songs-note {padding-bottom:20px;}
 .repertoire-inner {row-gap:24px;}
 .repertoire-inner>.video-disclosure {margin-top:-24px;}
}
@media(max-width:359px){
 .services-grid {column-gap:16px;}
 .service-card-title {font-size:18px;}
}

/* Phone hierarchy: explanatory copy, shared disclosure treatment, no rule stack. */
@media(max-width:760px), (max-width:999px) and (max-height:500px){
 .section .section-label {font-size:11px;line-height:1.7;font-weight:600;letter-spacing:.16em;margin:0 0 12px;}
 .section .section-title,.section .contact-title {font-size:31px;line-height:1.14;font-weight:600;letter-spacing:-.035em;}
 .contact-title {margin-bottom:24px;}
 .repertoire-inner>.repertoire-visible {border:0;padding:0;}
 .repertoire-visible .repertoire-styles {display:none;}
 .repertoire {--mobile-disclosure-bg:rgba(239,233,220,.065);}
 .section .mobile-disclosure {border:0;background:var(--mobile-disclosure-bg,rgba(7,29,50,.065));border-radius:2px;padding:0 16px;}
 .repertoire-inner>.video-disclosure {margin-top:-16px;}
 .section .mobile-disclosure>summary {font-family:var(--font-body);font-size:15px;font-weight:600;line-height:1.45;color:var(--text);min-height:56px;padding:16px 0;gap:16px;}
 .section .mobile-disclosure>summary:hover {color:var(--text);}
 .section .mobile-disclosure>summary::after {font-size:24px;line-height:1;font-weight:400;color:var(--text);flex:none;}
 .repertoire .song-disclosure .songs-list {padding-top:8px;}
 .repertoire .video-disclosure .video-archive {padding-top:8px;}
 .section .mobile-disclosure .home-event-content {padding-top:8px;}
}

/* Production consent panel uses the approved cream/blue palette. */
.privacy-choice {--text:#071D32;--text-muted:#344C5B;--text-dim:#52606A;--gold:#071D32;--gold-light:#183C58;--border-gold:rgba(7,29,50,.3);background:#EFE9DC;color:#071D32;border-color:rgba(7,29,50,.3);border-radius:2px;}
.privacy-choice p,.privacy-choice p a,.privacy-choice .btn {color:#071D32;}
.privacy-choice .btn {border-color:rgba(7,29,50,.4);}
.privacy-choice .btn:hover {background:#E6DFD1;color:#071D32;}

/* Terracotta appears only on interaction; lighter on navy surfaces. */
.hero-cta-phone a:hover,.contact a.contact-detail:hover,.contact .form-checkbox a:hover,
.site-header .nav-link:not(.action-button):hover,
.site-footer .footer-nav a:hover,.site-footer .footer-contact-links a:hover,
.site-footer .footer-legal a:hover,.site-footer .privacy-settings:hover {color:var(--accent);}
body .action-button--secondary:hover,body .action-button--secondary:active {
 background:var(--action-soft);color:var(--accent);border-color:var(--accent);
}

.about .member-link:hover .member-name {color:var(--accent);}

/* Phone service cards: reserve the same two-line title area before body copy. */
@media(max-width:760px), (max-width:999px) and (max-height:500px){
 .service-card-title {min-height:2.5em;margin:0 0 12px;}
}

@supports(grid-template-rows:subgrid){
 @media(max-width:760px), (max-width:999px) and (max-height:500px){
  .service-card {display:grid;grid-template-rows:subgrid;grid-row:span 2;}
  .service-card-body {display:contents;}
  .service-card-title {min-height:0;}
 }
}

/* Mobile header approved on iPhone; desktop rules stay unchanged. */
.nav-mobile-mark {display:none;}
@media(max-width:760px){
 .nav {height:104px;position:relative;justify-content:flex-end;}
 .site-header .nav-home {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;visibility:visible;pointer-events:auto;}
 .site-header .nav-wordmark {display:none!important;}
 .site-header .nav-mobile-mark {display:block;grid-area:1/1;width:66px;height:auto;}
 .site-header .nav-mobile-mark--light {display:none;}
 .site-header.header-on-light .nav-mobile-mark {display:none;}
 .site-header.header-on-light .nav-mobile-mark--light {display:block;}
 .hero {padding-top:124px;}
 .hero-brand {display:none;}
 .hero-main {display:block;}
 .hero-image {width:100%;margin:0;}
 .hero-bottom {margin-top:24px;}
 .nav-menu {padding-top:124px;}
}

/* Fixed layout; only composited layers move during the first mobile transition. */
@media(max-width:760px){
 .site-header,.site-header.scrolled,.site-header.header-on-light {height:104px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:none;pointer-events:none;}
 .site-header::before,.site-header::after {content:"";position:absolute;inset:0;pointer-events:none;transform-origin:top;transform:scaleY(calc(1 - .3846153846 * var(--header-progress,0)));will-change:transform,opacity;}
 .site-header::before {background:#071D32;}
 .site-header::after {background:#EFE9DC;opacity:var(--header-cream-opacity,0);}
 .site-header .nav {height:104px;position:relative;z-index:1;transition:none;}
 .site-header .nav-home {inset:0;width:100%;height:100%;transform:none;pointer-events:none;}
 .site-header .nav-home .nav-mobile-mark,.site-header .nav-home .nav-wordmark {display:block!important;position:absolute;top:52px;opacity:0;pointer-events:none;transition:none;will-change:transform,opacity;}
 .site-header .nav-home .nav-mobile-mark {left:50%;transform:translate(-50%,-50%) translate3d(0,calc(-20px * var(--header-progress,0)),0);width:66px;}
 .site-header .nav-home .nav-wordmark {left:0;transform:translateY(-50%) translate3d(0,calc(-20px * var(--header-progress,0)),0);width:155px;}
 .site-header .nav-home .nav-wordmark-light,
 .site-header.header-on-light .nav-home .nav-wordmark:not(.nav-wordmark-light) {display:block!important;}
 .site-header .nav-home .nav-mobile-mark--light {opacity:var(--mark-opacity,1);pointer-events:auto;}
 .site-header .nav-home .nav-wordmark:not(.nav-wordmark-light) {opacity:var(--line-dark-opacity,0);}
 .site-header .nav-home .nav-wordmark-light {opacity:var(--line-light-opacity,0);}
 .site-header.mobile-header-compact .nav-home .nav-mobile-mark {pointer-events:none;}
 .site-header.mobile-header-compact .nav-home .nav-wordmark {pointer-events:auto;}
 .site-header .nav-toggle {pointer-events:auto;transform:translate3d(0,calc(-20px * var(--header-progress,0)),0);will-change:transform;}
 .site-header .nav-toggle-bar {background:var(--header-ink,#EFE9DC);}
 .site-header .nav-menu {pointer-events:auto;padding-top:124px;}
 .site-header .nav-home:focus-visible {outline:none;}
 .site-header .nav-home:focus-visible img {outline:2px solid currentColor;outline-offset:4px;}
}


/* Subsequent section changes: a brief fade, without resizing the header. */
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .site-header.mobile-header-sections::after {transition:opacity 220ms ease-out;}
 .site-header.mobile-header-sections .nav-home .nav-wordmark {transition:opacity 220ms ease-out;}
 .site-header.mobile-header-sections .nav-toggle-bar {transition:transform var(--t-base),opacity var(--t-base),background-color 220ms ease-out;}
}

/* Additional live recordings: compact grid with the existing stronger blue/cream artwork. */
.repertoire .video-archive {grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.repertoire .video-archive .video-info {padding:9px 0 4px;}
.repertoire .video-archive .video-title {line-height:1.4;}
.repertoire .video-archive .video-play-btn svg {width:44px;height:44px;padding:10px;}
.video-archive .video-thumbnail::after {background-image:var(--live-preview-overlay);background-size:100% 100%;background-repeat:no-repeat;}
.video-archive [data-video-id="h6WLo_Gh740"] {--live-preview-overlay:url('../images/still-up-tempo-verlauf-creme.svg');}
.video-archive [data-video-id="eZyZMgNS97c"] {--live-preview-overlay:url('../images/still-ballade-verlauf-creme.svg');}
.video-archive [data-video-id="AHfvgAVmb-U"] {--live-preview-overlay:url('../images/still-love-verlauf-creme.svg');}
.video-archive [data-video-id="giESB9ExpBc"] {--live-preview-overlay:url('../images/still-duo-verlauf-creme.svg');}
@media(max-width:999px){
 .repertoire .video-archive {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
}
@media(max-width:760px){
 .repertoire .video-archive {gap:14px 12px;}
 .repertoire .video-archive .video-play-btn svg {width:40px;height:40px;padding:9px;}
}

/* Reference film: labelled on desktop/tablet; the original round control on phones. */
.featured-film-player {position:relative;}
.featured-film-start {position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#071D32;cursor:pointer;}
.featured-film-start[hidden] {display:none;}
.featured-film-start>img {display:block;width:100%;height:100%;object-fit:contain;}
.featured-film-start-control {position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px 0 12px;border-radius:2px;background:#EFE9DC;color:#071D32;box-shadow:0 2px 12px rgba(7,29,50,.25);font:600 14px/1.3 var(--font-body);white-space:nowrap;}
.featured-film-start-icon {display:flex;align-items:center;justify-content:center;flex:none;}
.featured-film-start-icon svg {display:block;}
.featured-film-start:hover .featured-film-start-control {background:#fff8eb;}
.featured-film-start:focus-visible {outline:3px solid #EFE9DC;outline-offset:4px;}
@media(max-width:760px), (max-width:999px) and (max-height:500px){
 .featured-film-start-control {width:48px;height:48px;padding:0;gap:0;justify-content:center;border-radius:50%;}
 .featured-film-start-icon svg {width:24px;height:24px;}
 .featured-film-start-label {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
}

/* Compact FAQ: five questions first, remaining questions in a native disclosure. */
.faq-more-toggle {display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:24px;padding:10px 16px;border:1px solid var(--border);color:var(--text);font:500 14px/1.5 var(--font-body);list-style:none;cursor:pointer;}
.faq-more-toggle::-webkit-details-marker {display:none;}
.faq-more-toggle::after {content:'+';font-size:22px;font-weight:400;line-height:1;}
.faq-more[open]>.faq-more-toggle::after {content:'−';}
.faq-more-toggle:hover {border-color:var(--accent);color:var(--accent);}
.faq-more-toggle:focus-visible {outline:2px solid var(--accent);outline-offset:4px;}
.faq-more-toggle .faq-less-label,.faq-more[open]>.faq-more-toggle .faq-more-label {display:none;}
.faq-more[open]>.faq-more-toggle .faq-less-label {display:inline;}
.faq-more[open]>.faq-more-toggle {margin-bottom:24px;}

/* Shared visual speed, measured from the homepage's existing 70/140-second loops. */
.clients,.offer-proof-places { --bwj-reference-speed:39.0978; }
.clients .marquee-track { animation-duration:var(--bwj-reference-duration,70s)!important; }
@media(max-width:760px), (max-width:999px) and (max-height:500px) {
 .clients,.offer-proof-places { --bwj-reference-speed:23.3605; }
 .clients .marquee-track { animation-duration:var(--bwj-reference-duration,140s)!important; }
}

/* Approved desktop repertoire: generous spacing and a separate song selection.
   Below 1000 px, retain the existing content and layout. */
.song-selection-heading,.song-note-desktop {display:none;}
@media(min-width:1000px) {
 .repertoire-inner {grid-template-columns:.68fr .32fr;}
 .repertoire-inner>.repertoire-right {grid-column:1;grid-row:1;}
 .repertoire-inner>.repertoire-left {grid-column:2;grid-row:1;}
 .repertoire-inner>.repertoire-visible {padding-top:44px;padding-bottom:12px;}
 .repertoire-visible .repertoire-heading {margin-bottom:36px;}
 .repertoire-visible .repertoire-styles {margin-bottom:48px;}
 .song-selection-heading {display:block;color:var(--text);font-size:16px;line-height:1.5;font-weight:600;letter-spacing:0;margin:0 0 22px;}
 .song-note-original {display:none;}
 .song-note-desktop {display:inline;}
 .repertoire-visible .songs-list {grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin-bottom:24px;}
}
@media(min-width:1200px) {
 .repertoire-visible .songs-list {grid-template-columns:repeat(4,minmax(0,1fr));}
}
