
/* Consolidated internal-page refinements — Aug 2026 */
.links{gap:20px!important;font-size:.69rem!important;white-space:nowrap}
.nav-dropdown-menu{min-width:235px}
.quiet-hero .hero-copy{max-width:820px}
.quiet-hero h1{max-width:760px}
.prose-narrow{max-width:780px;margin:0 auto}
.prose-narrow p{font-size:1.03rem;line-height:1.85;margin:0 0 1.3rem}
.prose-narrow .lead{font-family:var(--serif);font-size:1.65rem;line-height:1.3}
.subtle-heading{font-family:var(--serif);font-weight:500;font-size:clamp(1.85rem,3vw,2.75rem);margin:0 0 24px}
.text-section{padding:86px 0;border-top:1px solid var(--line)}
.text-section:first-of-type{border-top:0}
.page-note{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.media-placeholder{min-height:340px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:var(--soft);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.event-list{display:grid;gap:60px;margin-top:48px}
.event-card{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.event-copy h3{font-family:var(--serif);font-size:2rem;font-weight:500;margin:0 0 8px}.event-meta{color:var(--grey);font-size:.82rem;letter-spacing:.04em}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:42px}.review-card{padding:34px;border:1px solid var(--line);background:var(--paper)}.review-card blockquote{font-family:var(--serif);font-size:1.35rem;line-height:1.5;margin:0 0 22px}.review-card small{color:var(--grey)}
.faq-list{max-width:850px;margin:0 auto}.faq-item{padding:34px 0;border-bottom:1px solid var(--line)}.faq-item h2{font-family:var(--serif);font-size:1.7rem;font-weight:500;margin:0 0 12px}.faq-item p{line-height:1.8;max-width:760px}
.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:42px}.staff-card{padding:34px;border:1px solid var(--line);min-height:220px;display:flex;flex-direction:column;justify-content:flex-end}.staff-card h2{font-family:var(--serif);font-size:2rem;font-weight:500;margin:0}.staff-card p{margin:6px 0 20px;color:var(--grey)}
.studio-grid-simple{display:grid;grid-template-columns:1fr 1fr;gap:32px}.studio-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.studio-item h2{font-family:var(--serif);font-size:1.45rem;font-weight:500;margin:12px 0 0}
@media(max-width:1180px){.links{gap:13px!important;font-size:.64rem!important}.header-actions .book{padding-left:12px;padding-right:12px}}
@media(max-width:900px){.links{display:none!important}.menu{display:block!important}.links.open{display:flex!important}.nav{display:flex!important}.brand-logo{margin-right:auto}.header-actions{margin-left:auto}}
@media(max-width:700px){.event-card,.review-grid,.staff-grid,.studio-grid-simple{grid-template-columns:1fr}.event-card{gap:20px}.text-section{padding:60px 0}.media-placeholder{min-height:230px}}

/* Get a Quote */
.quote-layout{max-width:900px;margin:0 auto}.quote-form{padding:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px;margin-bottom:32px}.quote-form label{display:flex;flex-direction:column;gap:9px}.quote-form label span{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--grey)}.quote-form input,.quote-form select,.quote-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;padding:14px 15px;border-radius:0}.quote-form textarea{resize:vertical}.form-wide{grid-column:1/-1}.visiting-note{padding:24px;border:1px solid var(--line);background:var(--soft)}.visiting-note p{margin:8px 0 18px;line-height:1.7}.form-note,.form-success{font-size:.78rem;color:var(--grey);margin-top:14px}.visiting-profile-note{margin:0 0 34px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.visiting-profile-note p{margin:8px 0 10px}.consultation-section{background:var(--soft)}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}}

/* Performance page — interactive editorial stories */
.performance-intro .lead{font:500 clamp(2rem,3.8vw,3.6rem)/1.04 var(--serif);letter-spacing:-.025em;margin-bottom:28px}
.section-head-inline{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:52px}.section-head-inline h2{margin:16px 0 0}.section-head-inline>p{max-width:520px;margin:0 0 6px;color:var(--grey)}
.concert-collage{display:grid;grid-template-columns:1.08fr .72fr .9fr;gap:14px;height:430px;overflow:hidden}.concert-collage img{width:100%;height:100%;object-fit:cover}.concert-collage img:nth-child(2){object-position:center 35%}
.concert-dates{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:28px}.concert-dates>div{padding:22px 24px 5px 0;border-right:1px solid var(--line)}.concert-dates>div+div{padding-left:24px}.concert-dates>div:last-child{border-right:0}.concert-dates span{display:block;font:.68rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:9px}.concert-dates strong{font:500 1.25rem/1.1 var(--serif)}
.performance-stories{padding-top:120px}.stories-intro{max-width:900px;margin-bottom:105px}.stories-intro h2{font:500 clamp(3.8rem,7.4vw,7.8rem)/.86 var(--serif);letter-spacing:-.045em;margin:20px 0 32px}.stories-intro h2 em{font-weight:400;color:var(--red)}.stories-intro p{max-width:560px;color:var(--grey)}
.performance-story{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:8vw;align-items:center;padding:78px 0;border-top:1px solid var(--line)}.performance-story.reverse{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)}.performance-story.reverse .performance-media{order:2}.performance-story.reverse .performance-copy{order:1}.performance-media{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}.performance-media video,.video-poster{position:absolute;inset:0;width:100%;height:100%;border:0}.performance-media video{object-fit:contain;background:#080808;opacity:0;pointer-events:none;transition:opacity .45s ease}.video-poster{padding:0;cursor:pointer;background:#111;color:white;overflow:hidden}.video-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.65,.2,1),filter .5s}.poster-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.48));transition:background .45s}.play-mark{position:absolute;left:32px;bottom:30px;width:48px;height:48px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;font-size:.8rem;padding-left:3px;transition:.35s}.play-copy{position:absolute;left:96px;bottom:45px;font:.64rem var(--sans);letter-spacing:.14em;text-transform:uppercase}.video-poster:hover img{transform:scale(1.025);filter:brightness(.84)}.video-poster:hover .play-mark{background:#f4efe6;color:#171717;border-color:#f4efe6}.performance-media.is-playing .video-poster{opacity:0;pointer-events:none}.performance-media.is-playing video{opacity:1;pointer-events:auto}
.story-index{font:.64rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:26px}.performance-copy h3{font:500 clamp(3.7rem,6vw,6.6rem)/.82 var(--serif);letter-spacing:-.045em;margin:0 0 32px}.repertoire{margin:0 0 12px}.repertoire span,.repertoire em{display:block}.repertoire span{font:500 1.15rem var(--serif)}.repertoire em{font:400 1.35rem/1.15 var(--serif)}.story-meta{font:.67rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin:0 0 28px}.performance-copy>p:last-of-type{max-width:490px}
.programme-detail,.testimonial-detail{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.programme-detail summary,.testimonial-detail summary{list-style:none;cursor:pointer}.programme-detail summary::-webkit-details-marker,.testimonial-detail summary::-webkit-details-marker{display:none}.programme-detail summary{display:flex;justify-content:space-between;align-items:center;padding:17px 0;font:.68rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.programme-detail summary span{font-size:1.1rem;transition:transform .25s}.programme-detail[open] summary span{transform:rotate(45deg)}.programme-panel{padding:4px 0 26px}.programme-panel img{width:100%;display:block;border:1px solid var(--line);margin-bottom:18px}.programme-panel p{font-size:.83rem;color:var(--grey)}
.testimonial-detail summary{padding:26px 0}.testimonial-detail summary q{display:block;font:500 clamp(1.55rem,2.5vw,2.35rem)/1.07 var(--serif);quotes:"“" "”";margin-bottom:18px}.testimonial-detail summary q:before{content:open-quote}.testimonial-detail summary q:after{content:close-quote}.testimonial-detail summary>span{font:.64rem var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--red)}.testimonial-panel{padding:4px 0 28px}.testimonial-panel p{font-size:.88rem;line-height:1.7;color:var(--grey)}.testimonial-signoff{font:500 1.3rem var(--serif);margin-top:22px}
.performance-close{padding:110px 0 40px;border-top:1px solid var(--line);margin-top:40px}.performance-close p{font:500 clamp(3.4rem,6vw,6.5rem)/.9 var(--serif);letter-spacing:-.04em;margin:0}.performance-close em{font-weight:400;color:var(--red)}
[data-theme="dark"] .performance-media{background:#050505}.performance-story{border-color:var(--line)}[data-theme="dark"] .concert-collage img{filter:brightness(.88)}
@media(max-width:900px){.section-head-inline{grid-template-columns:1fr;gap:22px}.concert-collage{height:340px}.performance-story,.performance-story.reverse{grid-template-columns:1fr;gap:36px}.performance-story.reverse .performance-media,.performance-story.reverse .performance-copy{order:initial}.performance-copy{max-width:680px}.stories-intro{margin-bottom:60px}}
@media(max-width:700px){.performance-stories{padding-top:78px}.stories-intro h2{font-size:clamp(3.6rem,15vw,5.5rem)}.concert-collage{grid-template-columns:1.25fr .75fr;height:280px}.concert-collage img:nth-child(3){display:none}.concert-dates{grid-template-columns:1fr}.concert-dates>div,.concert-dates>div+div{padding:17px 0;border-right:0;border-bottom:1px solid var(--line)}.concert-dates>div:last-child{border-bottom:0}.performance-story{padding:58px 0}.performance-copy h3{font-size:4.4rem}.play-mark{left:20px;bottom:20px;width:42px;height:42px}.play-copy{left:76px;bottom:34px}.performance-close{padding-top:72px}}

/* Method hero — soft-edged full portrait on desktop */
@media (min-width:851px){
  .page-hero.method-hero{
    overflow:hidden;
    isolation:isolate;
    background:#686463;
    background-image:none!important;
  }
  .method-hero-blur{
    position:absolute;
    inset:-24px;
    z-index:-3;
    background-image:url('images/method-hero-giacomo.jpg');
    background-size:cover;
    background-position:center 42%;
    filter:blur(22px) brightness(.68);
    transform:scale(1.045);
  }
  .method-hero-photo{
    position:absolute;
    inset:0 0 0 auto;
    height:100%;
    z-index:-2;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 5%,#000 16%,#000 100%);
    mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 5%,#000 16%,#000 100%);
  }
  .method-hero-photo img{height:100%;width:auto;display:block;object-fit:contain;object-position:right center}
  .page-hero.method-hero:after{
    content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:linear-gradient(90deg,rgba(8,8,7,.79) 0%,rgba(8,8,7,.48) 39%,rgba(8,8,7,.08) 70%),linear-gradient(0deg,rgba(8,8,7,.42),transparent 45%);
  }
  .page-hero.method-hero .wrap{position:relative;z-index:2}
}
@media (max-width:850px){.method-hero-blur,.method-hero-photo{display:none}}

/* Method closing — one conclusion, no image/aside placeholder */
.method-closing .wrap{display:block}
.method-closing-copy{max-width:900px}
.method-closing-copy h2{max-width:860px}
.method-closing-copy p{max-width:700px;line-height:1.75}
.method-closing-copy p+p{margin-top:18px}
.method-closing-copy .btn{margin-top:22px}

@media(max-width:980px) and (min-width:701px){.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v6.22 — dropdown menu containment */
.nav-dropdown-menu{
  width:340px;
  max-width:min(340px, calc(100vw - 32px));
  box-sizing:border-box;
}
.nav-dropdown-menu a{
  grid-template-columns:minmax(0, 1fr) minmax(90px, 145px) !important;
  gap:14px !important;
  width:100%;
  box-sizing:border-box;
}
.nav-dropdown-menu span,
.nav-dropdown-menu small{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
}
.nav-dropdown-menu span{
  line-height:1.08;
}
.nav-dropdown-menu small{
  white-space:normal !important;
  line-height:1.25;
  max-width:145px;
}
@media(max-width:700px){
  .nav-dropdown-menu{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box;
  }
  .nav-dropdown-menu a{
    grid-template-columns:minmax(0,1fr) !important;
    gap:5px !important;
  }
  .nav-dropdown-menu small{
    max-width:none;
    text-align:left;
  }
}




/* v6.27 — final global header/footer responsive polish */
@media(max-width:700px){
  .brand-logo{width:150px!important;min-width:150px!important}
  .brand-logo img{max-height:54px!important}
  .foot-nav a{display:inline-block;padding:7px 0}
}


/* v6.28 — smart disappearing header */
header{
  position:sticky;
  top:0;
  z-index:120;
  transform:translateY(0);
  transition:transform .34s cubic-bezier(.22,.61,.36,1),
             background-color .28s ease,
             backdrop-filter .28s ease,
             box-shadow .28s ease,
             border-color .28s ease;
  will-change:transform;
}
header.smart-hidden{
  transform:translateY(calc(-100% - 8px));
}
header.smart-scrolled{
  background:rgba(246,242,233,.88);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:0 8px 28px rgba(20,18,15,.07);
  border-bottom-color:rgba(20,18,15,.08);
}
html[data-theme="dark"] header.smart-scrolled{
  background:rgba(24,22,20,.88);
  box-shadow:0 8px 30px rgba(0,0,0,.22);
  border-bottom-color:rgba(246,242,233,.08);
}
header.menu-active,
header.dropdown-active{
  transform:translateY(0)!important;
}
@media (prefers-reduced-motion:reduce){
  header{transition:none}
}
