/* Retained component layouts; shared presentation is defined in theme.css. */
@layer ceb-legacy {
/* CEB palette: charcoal, warm ivory and the original logo's purple.
   Gold is reserved for the record label; berry echoes the logo's red. */
:root {
  --ink: #27222d;
  --dark: #19171d;
  --dark-raised: #2a2431;
  --footer-bg: #121015;
  --paper: #f6f3ed;
  --paper-deep: #eae4ed;
  --muted: #69616f;
  --purple: #77428c;
  --accent: #cfacdf;
  --accent-2: #e9d2f2;
  --button-bg: #804594;
  --button-hover: #683579;
  --button-text: #ffffff;
  --focus: #ad78c3;
  --gold: #d5b668;
  --gold-edge: #ead598;
  --berry: #95364f;
  --sessions-bg: #573647;
  --text-on-dark: #c9c1ce;
  --muted-on-dark: #b4a9bc;
  --line: #35253f26;
  --orbit-line: #cfacdf50;
  --orbit-faint: #cfacdf20;
  --accent-glow: #cfacdf18;
  --record-base: #25212a;
  --record-groove: #39313f;
  --photo-fallback: #c9c0ce;
  --hero-overlay-start: #19171df7;
  --hero-overlay-end: #19171ddb;
  --image-overlay: #151019dc;
  --header-h: 94px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}figure{margin:0}p{margin:0 0 20px}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.055em;line-height:1.04}h1{font-size:clamp(3.5rem,6.4vw,6.6rem)}h2{font-size:clamp(2.7rem,4.5vw,4.8rem)}h1 em,h2 em{font-weight:400;color:var(--purple)}h3{font-size:1.35rem;line-height:1.25;letter-spacing:-.02em}.eyebrow{font-size:.66rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--purple);margin-bottom:22px}.lead{font-size:1.25rem;line-height:1.5}.section-pad{padding:100px 6vw}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:5vw;margin-bottom:48px}.section-heading>div:last-child:not(:first-child){max-width:410px}.section-heading p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-block;padding:6px 0;border-bottom:1px solid currentColor;font-size:.85rem;font-weight:600;line-height:1.5}.button{min-height:50px;display:inline-flex;gap:35px;align-items:center;justify-content:space-between;padding:13px 23px;border:1px solid transparent;font-size:.82rem;font-weight:600;line-height:1.4;border-radius:3px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--button-bg);color:var(--button-text)}.button-primary:hover{background:var(--button-hover);color:var(--button-text)}.button-dark{background:var(--ink);color:var(--paper)}.button-outline{border-color:var(--line)}.section-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.section-note{font-size:.75rem;color:var(--muted);margin:30px 0 0}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:12px}.skip-link:focus{top:15px}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button:disabled{cursor:wait}a:hover{color:var(--purple)}section[id],article[id]{scroll-margin-top:30px}
::selection { background: #98549b; color: #fff; text-shadow: none; }
/* A fixed plum-to-crimson gradient is revealed as reading progresses. */
.scroll-progress {
  position: fixed;
  inset: 0 0 auto;
  height: 4px;
  z-index: 1000;
  pointer-events: none;
  background: linear-gradient(90deg, #98549b 0%, #b92f32 100%);
  clip-path: inset(0 calc(100% - var(--scroll-progress, 0%)) 0 0);
}
@media print {
  .scroll-progress { display: none; }
}
/* Shared navigation. */
.site-header{height:var(--header-h);padding:0 4vw;display:flex;align-items:center;gap:30px;background:var(--dark);color:var(--paper);position:relative;z-index:50;border-bottom:1px solid #ffffff1c}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{font-size:3.15rem;font-weight:800;letter-spacing:-.09em;line-height:1}.brand-dot{color:var(--accent)}.brand-copy{font-size:.49rem;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;border-left:1px solid #ffffff40;padding-left:13px}.desktop-nav{display:flex;gap:22px;margin-left:auto;align-items:center;font-size:.73rem}.desktop-nav a{white-space:nowrap}.desktop-nav a[aria-current=page]{color:var(--accent)}.header-enquire{border:1px solid #ffffff50;border-radius:3px;padding:9px 14px;font-size:.73rem;white-space:nowrap;display:flex;gap:25px}.site-header a:hover{color:var(--accent)}.menu-toggle{display:flex;width:36px;height:40px;border:0;background:transparent;flex-direction:column;gap:5px;justify-content:center;padding:7px;flex-shrink:0}.menu-toggle span{height:1px;width:22px;background:var(--paper);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}.main-nav{display:none;position:absolute;right:4vw;top:calc(100% - 1px);width:min(360px,92vw);padding:22px 30px;background:var(--dark-raised);border:1px solid #ffffff30;box-shadow:0 20px 50px #0005;max-height:calc(100dvh - var(--header-h));overflow-y:auto}.main-nav.is-open{display:flex;flex-direction:column}.main-nav a{padding:10px 0;font-size:.9rem;border-bottom:1px solid #ffffff12}
/* The service wheel: a record at the heart of six ways into CEB. */
.hero{position:relative;isolation:isolate;background:var(--dark);color:var(--paper);padding:50px 5vw 0;display:grid;grid-template-columns:1fr 1.06fr;column-gap:5vw;min-height:800px;overflow:hidden}.hero-atmosphere{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--dark) 0%,var(--hero-overlay-start) 40%,var(--hero-overlay-end) 100%),url('images/live-atmosphere.jpg') center/cover;opacity:.9}.hero-copy{align-self:center;padding:20px 0 65px}.hero-copy .eyebrow{color:var(--accent);font-size:.6rem;letter-spacing:.13em;display:flex;align-items:center;gap:10px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.hero h1{font-size:clamp(3.5rem,6.3vw,6.3rem);line-height:1.02}.hero h1 em{color:var(--accent)}.hero-intro{font-size:1rem;max-width:410px;color:var(--text-on-dark);margin:28px 0;line-height:1.75}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.hero-text-link{font-size:.77rem;color:var(--text-on-dark);border-bottom:1px solid #ffffff50;padding:8px 0}.hero-footnote{font:italic 1rem Georgia,serif;color:var(--muted-on-dark);margin:40px 0 0}.service-carousel{min-width:0;width:100%;max-width:650px;justify-self:center;align-self:center;padding:0 0 32px}.wheel-heading{display:flex;justify-content:space-between;gap:15px;color:var(--muted-on-dark);font-size:.62rem;letter-spacing:.05em}.wheel-heading span:last-child{font-size:.55rem;letter-spacing:.12em;color:var(--accent)}.wheel-face{position:relative;aspect-ratio:1;width:100%;margin:9px 0}.wheel-orbit{position:absolute;inset:14%;border:1px solid var(--orbit-line);border-radius:50%;pointer-events:none}.wheel-orbit::before{content:'';position:absolute;inset:-12%;border:1px dashed var(--orbit-faint);border-radius:50%}.wheel-orbit::after{content:'';position:absolute;inset:16%;border:1px solid var(--orbit-faint);border-radius:50%}.carousel-stage{position:absolute;inset:0;touch-action:pan-y;user-select:none;cursor:grab;border-radius:50%}.carousel-stage:active{cursor:grabbing}.service-panel{position:absolute;left:50%;top:50%;width:24%;height:24%;border:1px solid var(--orbit-line);border-radius:50%;padding:0;overflow:hidden;background:var(--dark-raised);color:white;transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .3s,border-color .3s;box-shadow:0 7px 25px #0004;display:flex;align-items:flex-end;justify-content:center;cursor:pointer}.service-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.6);pointer-events:none}.service-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 20%,var(--image-overlay) 100%)}.service-panel.is-selected{border:2px solid var(--accent);box-shadow:0 0 0 5px var(--accent-glow),0 10px 30px #0005}.service-panel.is-selected img{filter:saturate(.9)}.panel-bottom{position:relative;z-index:1;display:block;text-align:center;padding:0 7px 20%;width:100%}.panel-title{font-size:clamp(.65rem,1vw,.88rem);font-weight:600;line-height:1.1;display:block;text-shadow:0 1px 4px #000}.panel-number{display:block;font-size:.5rem;letter-spacing:.15em;color:var(--accent-2);margin-bottom:5px}.hero-spin-link{position:absolute;inset:32%;z-index:12;border-radius:50%;border:1px solid var(--orbit-line);background:repeating-radial-gradient(circle at center,var(--record-base) 0px,var(--record-base) 2px,var(--record-groove) 3px,var(--dark) 4px);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 8px 30px #0006;transition:transform .3s}.hero-spin-link::before{content:'';position:absolute;inset:17%;border-radius:50%;background:var(--gold);border:1px solid var(--gold-edge);z-index:-1}.hero-spin-link .record-brand{font-size:clamp(1.5rem,3.2vw,3rem);line-height:1;font-weight:800;letter-spacing:-.08em;color:var(--ink)}.spin-label{font-size:clamp(.45rem,.7vw,.62rem);text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}.hero-spin-link b{color:var(--ink);font-size:1.2rem;line-height:1}.hero-spin-link:hover{transform:rotate(-8deg)}.hero-spin-link:disabled{opacity:.85}.carousel-detail{margin:0 6%;}.carousel-controls{display:flex;align-items:center;gap:10px;border-bottom:1px solid #ffffff25;padding-bottom:10px}.carousel-controls button{height:32px;width:36px;color:var(--paper);border:1px solid #ffffff35;border-radius:2px;background:transparent}.carousel-controls button:hover{background:#ffffff15}#serviceCount{font-size:.65rem;letter-spacing:.13em;color:var(--accent);font-variant-numeric:tabular-nums}.carousel-hint{font-size:.6rem;color:var(--muted-on-dark);margin-left:auto;margin-right:10px}.service-description{font-size:.8rem;color:var(--text-on-dark);margin:13px 0 8px;min-height:2.6em;max-width:360px}.service-explore{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.service-explore span{font-size:1.4rem}.service-explore[aria-disabled=true]{opacity:.5}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid #ffffff22;font-size:.55rem;letter-spacing:.11em;color:var(--muted-on-dark);gap:24px}.hero-bottom a{color:var(--accent)}.back-to-services{position:fixed;right:22px;bottom:22px;z-index:35;display:flex;gap:10px;align-items:center;border:1px solid var(--orbit-line);background:var(--dark);color:var(--accent);padding:12px 18px;font-size:.72rem;opacity:0;pointer-events:none;transform:translateY(15px);transition:opacity .2s,transform .2s;box-shadow:0 6px 20px #0002}.back-to-services.is-visible{opacity:1;pointer-events:auto;transform:none}
/* A shorter homepage, with different rhythms for each part of the business. */
.welcome-section{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;padding:100px 6vw 70px}.welcome-section h2{font-size:clamp(2.5rem,3.7vw,4rem)}.welcome-section p:not(.eyebrow):not(.lead){color:var(--muted);font-size:.9rem}.venue-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:5vw}.venue-image{position:relative;min-height:490px}.venue-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.venue-image::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009)}.venue-image figcaption{position:absolute;bottom:28px;left:30px;right:30px;font:italic 2rem/1.15 Georgia,serif;color:white;z-index:1}.venue-notes{padding:10px 0}.venue-notes article{display:flex;gap:25px;padding:22px 0;border-top:1px solid var(--line)}.venue-notes article>span{font-size:.65rem;color:var(--purple)}.venue-notes h3{font-size:1.2rem;font-weight:500;margin-bottom:9px}.venue-notes p:not(.eyebrow){font-size:.88rem;color:var(--muted);margin:0}.venue-notes .button{margin-top:15px}.acts-section{background:var(--paper-deep)}.act-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 26px}.act-photo{display:block;aspect-ratio:1.18;position:relative;overflow:hidden;background:var(--photo-fallback)}.act-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.6);transition:transform .4s,filter .4s}.act-photo:hover img{transform:scale(1.04);filter:saturate(1)}.photo-arrow{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:40px;height:40px;background:var(--paper);border-radius:50%;color:var(--ink)}.act-meta{display:flex;justify-content:space-between;gap:8px;font-size:.55rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:20px}.act-card h3{font:2rem Georgia,serif;letter-spacing:-.04em;margin:8px 0 12px}.act-card p{font-size:.85rem;color:var(--muted);margin-bottom:10px}.act-card .text-link{font-size:.73rem}.act-card[hidden]{display:none}.feature-section{background:var(--dark);color:var(--paper)}.feature-section .eyebrow{color:var(--accent)}.feature-section h2 em{color:var(--accent)}.feature-section .section-heading p:not(.eyebrow){color:var(--text-on-dark)}.feature-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:20px;align-items:start}.feature-grid figure:nth-child(2){margin-top:40px}.feature-grid img{aspect-ratio:1.15;width:100%;object-fit:cover;filter:grayscale(1)}.feature-grid figcaption{display:flex;flex-direction:column;gap:5px;padding-top:16px;font-family:Georgia,serif;font-size:1.3rem}.feature-grid small{font: .56rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-on-dark)}.feature-section blockquote{text-align:center;padding:70px 20px 50px;margin:0}.feature-section blockquote p{font:italic clamp(1.7rem,2.7vw,2.8rem)/1.25 Georgia,serif;max-width:780px;margin:0 auto 22px}.feature-section blockquote footer{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.feature-section blockquote footer span{color:var(--muted-on-dark)}.client-line{border-top:1px solid #ffffff24;padding-top:35px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.client-line>span{font-size:.62rem;color:var(--muted-on-dark);max-width:120px;line-height:1.5}.client-line strong{font-size:1.1rem;color:var(--text-on-dark);font-family:Georgia,serif;font-weight:400}.event-section{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.event-art{position:relative;padding:10px 35px 35px 0}.event-art img{aspect-ratio:.95;width:100%;object-fit:cover;filter:saturate(.55)}.image-stamp{position:absolute;right:0;bottom:0;border-radius:50%;background:var(--berry);color:var(--paper);width:155px;height:155px;display:grid;place-content:center;transform:rotate(12deg);font:italic 2rem/1 Georgia,serif;text-align:center;box-shadow:0 0 0 8px var(--paper)}.event-copy .lead{margin:25px 0 20px}.event-copy>p:not(.lead):not(.eyebrow){color:var(--muted);font-size:.9rem}.occasion-list{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 30px}.occasion-list span{border:1px solid var(--line);padding:5px 12px;font-size:.68rem;border-radius:25px}.studio-section{background:var(--dark-raised);color:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:7vw}.studio-photo{position:relative;height:590px}.studio-photo img{width:100%;height:100%;object-fit:cover}.photo-credit{position:absolute;bottom:18px;left:20px;background:var(--image-overlay);padding:8px 12px;font-size:.55rem;letter-spacing:.1em}.studio-copy .eyebrow{color:var(--accent)}.studio-copy h2 em{color:var(--accent)}.studio-copy>p:not(.eyebrow){font-size:.91rem;color:var(--text-on-dark);margin:28px 0}.studio-services{border-top:1px solid #ffffff25;margin-bottom:22px}.studio-services a{display:flex;align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid #ffffff25;font-size:1.1rem}.studio-services span{font-size:.6rem;color:var(--muted-on-dark)}.studio-services b{margin-left:auto;font-weight:400}.studio-copy .text-link{color:var(--accent)}.sessions-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9vw}.sessions-art{position:relative;aspect-ratio:1;isolation:isolate;background:var(--sessions-bg);color:var(--paper);overflow:hidden}.sessions-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.45}.sessions-art>div{position:relative;padding:40px;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.sessions-art .eyebrow{color:var(--paper)}.sessions-art p{font-weight:800;font-size:clamp(2rem,3.8vw,4rem);letter-spacing:-.065em;line-height:1;margin:25px 0}.sessions-art em{font:italic 1.8rem Georgia,serif;display:block;line-height:.8;letter-spacing:-.06em}.sessions-art p>span{color:var(--paper);font-size:.65em;margin-left:6px}.sessions-art small{font-size:.6rem;letter-spacing:.16em}.sessions-section .lead{margin:25px 0}.sessions-section>div:last-child>p:not(.lead):not(.eyebrow){color:var(--muted);font-size:.9rem}.sessions-section .button{margin-top:10px}.working-section{background:var(--paper-deep);display:grid;grid-template-columns:1fr 1fr;gap:8vw}.working-section h2{font-size:clamp(2.5rem,3.8vw,4rem)}.working-options>a{display:flex;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.working-options>a:first-child{border-top:1px solid var(--line)}.working-options>a>span{display:flex;flex-direction:column;gap:8px}.working-options small{font-size:.55rem;letter-spacing:.1em;color:var(--muted)}.working-options strong{font:2rem Georgia,serif;letter-spacing:-.04em}.working-options span span{font-size:.78rem;color:var(--muted)}.working-options b{font-size:1.6rem;font-weight:400;align-self:center}.contact-section{background:var(--dark);color:var(--paper);text-align:center;padding:95px 6vw 110px}.contact-section .eyebrow{color:var(--accent)}.contact-section h2{font-size:clamp(3.5rem,6.7vw,7rem)}.contact-section h2 em{color:var(--accent)}.contact-section>p:not(.eyebrow){font-size:.95rem;color:var(--text-on-dark);margin:28px auto;max-width:580px}.contact-actions{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}.contact-phone{font-size:.9rem}
/* Footer and detailed pages. */
.site-footer{background:var(--footer-bg);color:var(--text-on-dark);padding:60px 6vw 22px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:45px;font-size:.76rem}.site-footer .brand-mark{color:var(--paper);font-size:4rem;display:inline-block}.footer-brand p{font-size:.8rem;margin:22px 0}.site-footer>div:not(.footer-brand):not(.footer-bottom)>a{display:block;margin:7px 0}.footer-label{font-size:.57rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}.site-footer address{font-style:normal;font-size:.7rem;line-height:1.8;margin-top:20px}.footer-bottom{grid-column:1/-1;display:flex;gap:25px;justify-content:space-between;border-top:1px solid #ffffff20;margin-top:20px;padding-top:22px;font-size:.6rem;color:var(--muted-on-dark)}.page-hero{padding:80px 6vw 85px;background:var(--dark);color:var(--paper)}.page-hero .eyebrow{color:var(--accent)}.page-hero h1{max-width:15ch;font-size:clamp(3.7rem,6.5vw,6rem)}.page-hero h1 em{color:var(--accent)}.page-hero>p:not(.eyebrow){max-width:640px;color:var(--text-on-dark);font-size:1.05rem;margin:28px 0 0}.page-photo{position:relative;height:360px;background:var(--dark)}.page-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.65)}.page-photo::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000a)}.page-photo figcaption{position:absolute;bottom:24px;left:6vw;color:white;z-index:1;font-size:.68rem;letter-spacing:.06em}.detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;padding:80px 6vw;border-bottom:1px solid var(--line)}.detail-grid h2{font-size:clamp(2.5rem,3.9vw,4rem);max-width:13ch}.detail-grid>div{min-width:0}.detail-grid p:not(.eyebrow),.detail-grid li{color:var(--muted);font-size:.95rem}.detail-grid ul{padding-left:22px}.detail-grid li{padding-bottom:8px}.detail-grid a:not(.button){color:var(--ink)}.name-cloud{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}.name-cloud span{padding:8px 15px;border:1px solid var(--line);border-radius:30px;font-size:.8rem}.team-links{display:flex;flex-wrap:wrap;gap:10px 22px;padding:35px 6vw 0}.team-links a{font-size:.8rem;border-bottom:1px solid var(--line);padding:6px 0}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 6vw;padding:50px 6vw 90px;align-items:start}.profile{border-top:1px solid var(--line);padding-top:24px}.profile-portrait{width:100%;height:290px;object-fit:cover;object-position:center 30%;filter:grayscale(.75);margin-bottom:24px}.profile-initials{width:100%;height:180px;display:grid;place-items:center;background:var(--paper-deep);font:italic 4rem Georgia,serif;color:var(--purple);margin-bottom:24px}.profile h2{font-size:2.1rem}.profile .role{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);margin:15px 0 20px}.profile p:not(.role):not(.profile-initials){font-size:.91rem;color:var(--muted)}.profile summary{padding:10px 0;font-size:.83rem;cursor:pointer;border-bottom:1px solid var(--line);margin-bottom:20px}.roster-toolbar{display:flex;gap:25px;justify-content:space-between;align-items:center;margin-bottom:45px}.roster-filters{display:flex;flex-wrap:wrap;gap:8px}.roster-filters button{padding:8px 16px;border:1px solid var(--line);border-radius:30px;background:transparent;font-size:.75rem;color:var(--ink)}.roster-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}#rosterCount{font-size:.7rem;white-space:nowrap;color:var(--muted);margin:0}
@media(min-width:1600px){.hero{padding-left:8vw;padding-right:8vw}.service-carousel{max-width:680px}.hero-copy{max-width:650px}}
@media(max-width:1150px){.desktop-nav{gap:14px;font-size:.64rem}.site-header{gap:20px}.brand-copy{display:none}.hero{gap:3vw;padding-top:40px}.hero-actions{gap:16px}.hero-actions .button{padding:12px 15px;font-size:.72rem;gap:18px}.hero-copy .eyebrow{font-size:.52rem;letter-spacing:.1em}.studio-photo{height:520px}.client-line strong{font-size:.95rem}}
@media(max-width:900px){.desktop-nav{display:none}.header-enquire{margin-left:auto}.site-header{height:80px}.hero{min-height:700px}.hero h1{font-size:5.9vw}.hero-intro{font-size:.87rem}.hero-copy{padding-bottom:35px}.hero-copy .eyebrow{line-height:1.6;max-width:230px}.hero-bottom{font-size:.46rem}.hero-bottom span:last-child{display:none}.wheel-heading{font-size:.48rem}.wheel-heading span:last-child{font-size:.44rem}.hero-spin-link{gap:4px}.hero-spin-link b{font-size:.9rem}.panel-bottom{padding-bottom:20%}.panel-title{font-size:.6rem}.panel-number{font-size:.44rem;margin-bottom:3px}.section-pad{padding:70px 6vw}.welcome-section{padding:70px 6vw 50px;gap:6vw}.welcome-section h2{font-size:2.6rem}.section-heading{gap:5vw;align-items:flex-start}.section-heading>div{flex:1}.section-heading h2{font-size:2.6rem}.section-heading p:not(.eyebrow){font-size:.88rem}.venue-layout{grid-template-columns:1fr 1fr;gap:4vw}.venue-image{min-height:440px}.venue-notes article{padding:16px 0;gap:15px}.act-grid{gap:28px 18px}.act-meta>span:last-child{display:none}.act-card h3{font-size:1.7rem}.act-card p{font-size:.8rem}.event-section,.sessions-section{gap:6vw}.image-stamp{width:115px;height:115px;font-size:1.6rem}.studio-photo{height:480px}.studio-section{gap:5vw}.sessions-art>div{padding:25px}.site-footer{grid-template-columns:1fr 1fr;gap:35px}.detail-grid{gap:6vw}.page-photo{height:300px}}
@media(max-width:650px){:root{--header-h:76px}.site-header{height:76px;padding:0 6vw;gap:18px}.brand-mark{font-size:2.7rem}.brand-copy{display:block;font-size:.4rem;padding-left:10px}.brand{gap:10px}.header-enquire{font-size:.65rem;gap:12px;padding:7px 10px}.menu-toggle{width:27px;padding:3px}.main-nav{right:6vw;width:88vw}.hero{display:flex;flex-direction:column;padding:48px 6vw 0;gap:30px;min-height:0}.hero-copy{padding:0;align-self:stretch}.hero-copy .eyebrow{max-width:none;font-size:.52rem;margin-bottom:24px}.hero h1{font-size:clamp(3.2rem,12.2vw,5rem)}.hero-intro{font-size:.91rem;margin:24px 0;max-width:380px}.hero-actions{gap:22px}.hero-actions .button{font-size:.75rem;padding:13px 16px;min-height:46px}.hero-text-link{font-size:.66rem}.hero-footnote{margin-top:24px;font-size:.85rem}.service-carousel{padding:12px 0 0;width:100%;max-width:460px}.wheel-heading{font-size:.55rem}.wheel-heading span:last-child{font-size:.49rem}.wheel-face{margin:14px 0}.hero-spin-link .record-brand{font-size:2.2rem}.spin-label{font-size:.5rem;letter-spacing:.05em}.hero-spin-link b{font-size:1.1rem}.panel-title{font-size:clamp(.58rem,2.5vw,.85rem)}.panel-number{font-size:.45rem}.carousel-detail{margin:8px 1% 0}.service-description{font-size:.82rem;min-height:2.5em;max-width:none}.service-explore{font-size:.7rem}.carousel-hint{font-size:.59rem}.hero-bottom{font-size:.48rem;width:100%;padding:22px 0;margin-top:4px;gap:15px}.hero-bottom>span{max-width:130px}.welcome-section{grid-template-columns:1fr;gap:30px;padding:60px 6vw 45px}.welcome-section h2{font-size:2.7rem}.welcome-section .lead{font-size:1.18rem}.section-pad{padding:60px 6vw}.section-heading{display:block;margin-bottom:30px}.section-heading>div:last-child:not(:first-child){margin-top:24px;max-width:none}.section-heading>.text-link{margin-top:25px}.section-heading h2{font-size:2.8rem}.venue-layout{grid-template-columns:1fr;gap:30px}.venue-image{min-height:340px}.venue-image figcaption{font-size:1.8rem;left:22px;bottom:24px}.venue-notes{padding:0}.venue-notes article{padding:20px 0}.venue-notes h3{font-size:1.2rem}.venue-notes p:not(.eyebrow){font-size:.9rem}.act-grid{grid-template-columns:1fr;gap:40px}.act-photo{aspect-ratio:1.2}.act-meta{font-size:.56rem}.act-meta>span:last-child{display:block}.act-card h3{font-size:2rem}.act-card p{font-size:.88rem}.feature-grid{grid-template-columns:1fr 1fr;gap:25px 15px}.feature-grid figure:nth-child(2){margin-top:0}.feature-grid figure:first-child{grid-column:1/-1}.feature-grid figure:first-child img{aspect-ratio:1.5}.feature-grid figcaption{font-size:1.03rem}.feature-grid small{font-size:.46rem}.feature-section blockquote{padding:45px 0}.feature-section blockquote p{font-size:1.8rem}.client-line{gap:22px;justify-content:flex-start;padding-top:25px}.client-line>span{max-width:none;flex-basis:100%}.client-line strong{font-size:1rem}.event-section,.studio-section,.sessions-section,.working-section{grid-template-columns:1fr;gap:40px}.event-copy h2,.studio-copy h2,.sessions-section h2{font-size:3.2rem}.event-art{padding:0 25px 25px 0}.event-art img{aspect-ratio:1.1}.image-stamp{width:130px;height:130px}.studio-photo{height:370px}.photo-credit{font-size:.46rem;left:15px;bottom:15px}.studio-copy>p:not(.eyebrow){font-size:.93rem}.sessions-art{aspect-ratio:1.15}.sessions-art>div{padding:30px}.sessions-art p{font-size:2.8rem}.sessions-art em{font-size:1.5rem}.working-section{gap:28px}.working-section h2{font-size:2.7rem}.working-options>a{padding:24px 0}.contact-section{padding:65px 6vw 80px}.contact-section h2{font-size:3.7rem}.contact-actions{gap:24px}.contact-section>p:not(.eyebrow){font-size:.9rem}.site-footer{padding:45px 6vw 25px;gap:35px 24px;font-size:.73rem}.footer-brand{grid-column:1/-1;display:flex;gap:40px;align-items:center}.footer-brand p{margin:0}.site-footer>div:nth-child(4){grid-column:1/-1}.footer-label{margin-bottom:15px}.footer-bottom{flex-wrap:wrap;gap:10px 25px}.footer-bottom>span:first-child{flex-basis:100%}.back-to-services{right:12px;bottom:12px;padding:10px 13px;font-size:.63rem}.page-hero{padding:55px 6vw}.page-hero h1{font-size:clamp(3rem,11vw,4.5rem);overflow-wrap:break-word}.page-hero>p:not(.eyebrow){font-size:.95rem}.page-photo{height:240px}.page-photo figcaption{font-size:.58rem;right:6vw;bottom:18px}.detail-grid{grid-template-columns:1fr;gap:27px;padding:50px 6vw}.detail-grid h2{font-size:2.7rem;max-width:none}.detail-grid .eyebrow{margin-bottom:15px}.detail-grid p:not(.eyebrow),.detail-grid li{font-size:.92rem}.profile-grid{grid-template-columns:1fr;gap:45px;padding:35px 6vw 60px}.team-links{padding-top:25px;gap:8px 18px}.profile-portrait{height:300px}.roster-toolbar{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.roster-filters button{font-size:.7rem;padding:7px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

.event-stages{margin:28px 0}.event-stages article{border-top:1px solid var(--line);padding:22px 0 5px}.event-stages article>span{font-size:.59rem;letter-spacing:.1em;color:var(--purple)}.event-stages h3{margin:9px 0 12px}.event-stages p{margin-bottom:10px}
@media(max-width:360px){.brand-copy{display:none}.hero-actions{gap:12px}.hero-spin-link .record-brand{font-size:1.7rem}.spin-label{font-size:.42rem}.hero-spin-link b{font-size:.9rem}}

/* Refined original identity: crisp interlocking arcs and a readable wordmark. */
.site-header .brand { display: block; flex: 0 0 auto; }
.brand-logo { width: 240px; height: auto; filter: drop-shadow(0 2px 5px #0002); }
.footer-logo { display: block; width: 220px; max-width: 100%; flex-shrink: 0; }
.footer-logo img { width: 100%; height: auto; }
@media (max-width: 1150px) {
  .desktop-nav { display: none; }
  .header-enquire { margin-left: auto; }
}
@media (max-width: 650px) {
  .site-header { gap: 14px; }
  .brand-logo { width: 178px; }
  .footer-brand { flex-wrap: wrap; gap: 22px; }
  .footer-logo { width: 200px; }
}
@media (max-width: 360px) {
  .site-header { gap: 10px; }
  .brand-logo { width: 150px; }
  .header-enquire { gap: 8px; padding: 7px 8px; }
}

/* Keep the homepage opening comfortable on wide monitors. */
@media (min-width: 1151px) {
  .home-page { --intro-frame-width: 1600px; }
  .home-page .site-header {
    padding-inline: max(4vw, calc((100% - var(--intro-frame-width)) / 2));
  }
  .home-page .main-nav {
    right: max(4vw, calc((100% - var(--intro-frame-width)) / 2));
  }
  .home-page .hero {
    padding-inline: max(5vw, calc((100% - var(--intro-frame-width)) / 2));
    column-gap: min(5vw, 64px);
  }
}

/* Purple changes shade with its background; the record label keeps its gold. */
.hero-text-link:hover,
.service-explore:hover,
.feature-section .text-link:hover,
.studio-copy .text-link:hover,
.contact-phone:hover,
.site-footer a:hover,
.back-to-services:hover { color: var(--accent-2); }
.button-dark:hover { color: var(--paper); background: var(--purple); }
.button-outline:hover { color: var(--purple); border-color: var(--purple); }
.studio-services a:hover { color: var(--accent-2); }
.hero-spin-link:focus-visible { outline-color: var(--accent-2); }

/* Give the company introduction room alongside the service wheel. */
.hero-socials { display: flex; align-items: center; justify-content: flex-start; column-gap: min(80px, max(0px, calc((100% - 3 * clamp(44px, 5vw, 64px)) / 2))); margin-top: 28px; }
.hero-socials button {
  display: grid;
  place-items: center;
  width: auto;
  min-height: 88px;
  padding: 12px 0;
  border: 0;
  background: transparent;
}
.hero-socials button:disabled { cursor: default; }
.hero-socials img {
  width: clamp(44px, 5vw, 64px);
  height: auto;
  filter: grayscale(1);
  opacity: .6;
  transition: filter 180ms ease, opacity 180ms ease;
}
@media (hover: hover) {
  .hero-socials button:hover img { filter: grayscale(0); opacity: 1; }
}
.hero-copy h1 { font-size: clamp(3.2rem, 5.3vw, 5.2rem); }
.hero-copy .hero-intro { max-width: 480px; font-size: .97rem; line-height: 1.7; margin: 26px 0; }
.hero-copy .hero-intro p { margin: 0 0 16px; }
.hero-copy .hero-intro p:last-child { margin-bottom: 0; }
.hero-copy .hero-footnote { margin-top: 28px; font-size: .86rem; line-height: 1.6; }
.welcome-enquiries { margin-top: 32px; max-width: 390px; }
.welcome-enquiries > p { margin-bottom: 16px; }
.welcome-enquiries .welcome-wheel-prompt { margin-top: 18px; font-size: .8rem; }
.welcome-wheel-prompt a { color: var(--purple); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 651px) and (max-width: 900px) {
  .hero-copy h1 { font-size: 5.7vw; }
  .hero-copy .hero-intro { font-size: .86rem; }
}
@media (max-width: 650px) {
  .hero-copy h1 { font-size: clamp(3rem, 11.8vw, 4.8rem); }
  .hero-copy .hero-intro { font-size: .93rem; margin: 24px 0; }
  .hero-copy .hero-footnote { font-size: .8rem; margin-top: 24px; }
}

/* One continuous welcome block, followed by large monochrome social icons. */
.featured-roster-copy { max-width: 1080px; margin: 0 0 38px; color: var(--text-on-dark); font-size: 1rem; line-height: 1.8; }
.studio-actions { align-items: center; gap: 16px 24px; }
.featured-clients { margin-top: 48px; padding-top: 32px; border-top: 1px solid #ffffff25; }
.featured-clients > p { max-width: 1000px; color: var(--text-on-dark); font-size: .95rem; }
.featured-client-names { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 22px 32px; margin: 30px 0 0; padding: 0; list-style: none; color: var(--paper); }
.featured-client-names li { font: 400 clamp(1.1rem, 1.7vw, 1.6rem)/1.4 Georgia, serif; }
.featured-agent { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5vw; align-items: center; margin-top: 45px; padding: 32px 38px; background: var(--dark-raised); border-left: 3px solid var(--accent); }
.featured-agent .eyebrow { margin-bottom: 14px; }
.featured-agent h3 { font: 400 clamp(1.8rem, 3vw, 3rem)/1.1 Georgia, serif; letter-spacing: -.04em; }
.featured-agent p:not(.eyebrow) { color: var(--text-on-dark); font-size: .93rem; margin-bottom: 14px; }
.featured-agent .text-link { color: var(--accent-2); }
@media (max-width: 650px) {
  .featured-roster-copy { font-size: .93rem; margin-bottom: 28px; }
  .featured-clients { margin-top: 32px; padding-top: 26px; }
  .featured-clients > p { font-size: .91rem; }
  .featured-client-names { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .featured-agent { grid-template-columns: 1fr; gap: 22px; padding: 28px 24px; margin-top: 32px; }
}
.venue-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 6vw;
  margin-bottom: 48px;
}
.venue-opening { color: var(--muted); font-size: 1.03rem; line-height: 1.75; margin: 0; }
.venue-opening strong { color: var(--ink); font-weight: 600; }
.venue-story { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 6vw; }
.venue-photo { position: relative; min-height: 430px; height: 100%; isolation: isolate; overflow: hidden; background: var(--dark); }
.venue-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.venue-photo::after { content: ''; position: absolute; inset: 25% 0 0; background: linear-gradient(transparent, #19171df2); z-index: 1; }
.venue-photo figcaption { position: absolute; bottom: 32px; left: 32px; right: 24px; z-index: 2; display: flex; flex-direction: column; gap: 8px; color: var(--paper); }
.venue-photo figcaption strong { font: 400 clamp(3.4rem, 5.7vw, 6rem)/1 Georgia, serif; letter-spacing: -.055em; }
.venue-photo figcaption strong span { color: var(--accent); }
.venue-photo figcaption > span { font-size: .65rem; letter-spacing: .16em; text-transform: uppercase; }
.venue-copy > p { color: var(--muted); font-size: 1rem; line-height: 1.75; margin-bottom: 22px; }
.venue-copy strong { color: var(--purple); font-weight: 600; }
.venue-copy .section-actions { align-items: center; gap: 16px 24px; margin-top: 28px; }
.venue-alist { display: grid; grid-template-columns: .65fr 1.35fr; gap: 5vw; align-items: center; padding: 38px 42px; margin-top: 44px; background: var(--paper-deep); border-left: 3px solid var(--purple); }
.venue-alist .eyebrow { margin-bottom: 14px; }
.venue-alist h3 { font: 400 clamp(2.5rem, 3.7vw, 4rem)/1 Georgia, serif; letter-spacing: -.045em; }
.venue-alist h3 em { color: var(--purple); }
.venue-alist > div > p:not(.eyebrow) { font-size: .93rem; color: var(--muted); margin-bottom: 14px; }
.venue-alist strong { color: var(--ink); }
@media (max-width: 900px) {
  .venue-heading, .venue-story { gap: 4vw; }
  .venue-heading h2 { font-size: 2.8rem; }
  .venue-opening, .venue-copy > p { font-size: .91rem; }
  .venue-alist { padding: 30px; gap: 4vw; grid-template-columns: .75fr 1.25fr; }
}
@media (max-width: 650px) {
  .venue-heading, .venue-story, .venue-alist { grid-template-columns: 1fr; gap: 26px; }
  .venue-heading { margin-bottom: 30px; }
  .venue-heading h2 { font-size: clamp(2.5rem, 10vw, 3.4rem); }
  .venue-photo { height: 340px; min-height: 0; }
  .venue-photo figcaption { bottom: 26px; left: 24px; }
  .venue-copy > p { font-size: .93rem; }
  .venue-alist { margin-top: 32px; padding: 28px 24px; }
}
.welcome-section {
  display: block;
  max-width: 1100px;
  margin: 0 auto;
  padding: 85px 6vw 65px;
}

/* Ivory editorial venue section: typography and texture echo the opening paper. */
.home-page .venue-editorial {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 110px max(4vw, calc((100% - 1600px) / 2)) 116px;
  background-color: #fbf9f2;
  background-image: radial-gradient(#6e583b09 .6px, transparent .8px), linear-gradient(115deg, #fffefb80, #eae3d72b);
  background-size: 4px 4px, auto;
  color: #343330;
}
.venue-editorial-copy {
  position: relative;
  z-index: 1;
  width: 49%;
  max-width: 740px;
}
.featured-editorial-copy { max-width: 900px; }
.venue-editorial-copy h2,
.featured-editorial-copy h2 {
  color: #171715;
  font-size: clamp(2rem, 2.7vw, 3rem);
  line-height: 1.02;
  letter-spacing: -.05em;
  white-space: nowrap;
  margin-bottom: 30px;
}
.venue-editorial-copy h2::after,
.featured-editorial-copy h2::after {
  content: '';
  display: block;
  width: 64px;
  height: 3px;
  margin-top: 29px;
  background: #b92f32;
}
.venue-editorial-copy p,
.featured-editorial-copy p {
  font: 400 clamp(1rem, 1.05vw, 1.125rem)/1.7 Arial, Helvetica, sans-serif;
  color: #343330;
  margin: 0 0 18px;
}
.venue-editorial-copy p:last-child,
.featured-editorial-copy p:last-child { margin-bottom: 0; }
.venue-editorial-copy strong,
.featured-editorial-copy strong { font-weight: 700; color: inherit; }
.venue-visual {
  position: absolute;
  inset: 0 0 0 auto;
  width: calc(50% + 100px);
  pointer-events: none;
}
.venue-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.venue-visual::after {
  content: '';
  position: absolute;
  inset: 0 0 0 -1px;
  background: linear-gradient(90deg, #fbf9f2 0%, #fbf9f2f7 7%, #fbf9f2bf 17%, #fbf9f22e 31%, #fbf9f200 43%);
}
@media (max-width: 1100px) {
  .home-page .venue-editorial { padding: 76px 0 0; }
  .venue-editorial-copy { width: auto; max-width: 740px; margin-inline: 4vw; }
  .venue-editorial-copy h2,
  .featured-editorial-copy h2 { font-size: clamp(2rem, 4.4vw, 3rem); }
  .venue-visual {
    position: relative;
    inset: auto;
    width: 100%;
    height: clamp(380px, 58vw, 600px);
    margin-top: 30px;
  }
  .venue-visual img { object-position: right 60%; }
  .venue-visual::after {
    background: linear-gradient(180deg, #fbf9f2 0%, #fbf9f2cc 7%, #fbf9f200 32%);
  }
}
@media (max-width: 650px) {
  .home-page .venue-editorial { padding-top: 60px; }
  .venue-editorial-copy { margin-inline: 6vw; }
  .venue-editorial-copy h2,
  .featured-editorial-copy h2 { font-size: clamp(1.4rem, 7.5vw, 2rem); }
  .venue-editorial-copy p,
  .featured-editorial-copy p { font-size: .97rem; }
  .venue-visual { height: clamp(320px, 90vw, 460px); margin-top: 20px; }
}

/* Black Featured Artists section, framed like the header and Pub & Venue copy. */
.home-page .featured-section {
  --featured-charcoal: 32, 32, 32;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 84px max(4vw, calc((100% - 1600px) / 2)) 58px;
  background: rgb(var(--featured-charcoal));
  color: #fbf9f2;
}
.featured-stage { position: relative; z-index: 1; display: grid; grid-template-columns: .63fr 1.37fr; column-gap: 64px; align-items: center; }
.featured-visual { position: absolute; z-index: 0; inset: 0 auto 0 0; width: calc(50% + 100px); pointer-events: none; }
.featured-visual img { width: 100%; height: 100%; object-fit: cover; object-position: left center; filter: brightness(.72) saturate(.7); }
.featured-visual::after {
  content: '';
  position: absolute;
  inset: -1px;
  background: radial-gradient(ellipse at bottom left, rgba(var(--featured-charcoal), 1) 0%, rgba(var(--featured-charcoal), .73) 18%, rgba(var(--featured-charcoal), 0) 58%), linear-gradient(270deg, rgba(var(--featured-charcoal), 1) 0%, rgba(var(--featured-charcoal), .97) 7%, rgba(var(--featured-charcoal), .75) 17%, rgba(var(--featured-charcoal), .18) 31%, rgba(var(--featured-charcoal), 0) 43%);
}
.featured-stage .featured-editorial-copy { position: relative; z-index: 1; grid-column: 2; max-width: none; }
.featured-stage .featured-kicker { margin: 0 0 20px; color: #b92f32; font: 600 .68rem/1.4 Arial, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.featured-stage h2 { color: #fbf9f2; font-size: clamp(2.25rem, 3.2vw, 3.7rem); line-height: 1.06; white-space: normal; margin-bottom: 28px; }
.featured-stage h2 em { color: #b92f32; }
.featured-stage h2::after { margin-top: 24px; }
.featured-stage .featured-editorial-copy > p:not(.featured-kicker) { color: #c9c5c0; }
@media (max-width: 1100px) {
  .home-page .featured-section { padding: 48px 4vw; }
  .featured-stage { display: flex; flex-direction: column; }
  .featured-visual { position: relative; inset: auto; width: calc(100% + 8vw); margin: -48px -4vw 0; height: clamp(360px, 54vw, 560px); }
  .featured-visual img { object-position: left 45%; }
  .featured-visual::after { background: radial-gradient(ellipse at bottom left, rgba(var(--featured-charcoal), 1) 0%, rgba(var(--featured-charcoal), .73) 18%, rgba(var(--featured-charcoal), 0) 58%), linear-gradient(0deg, rgba(var(--featured-charcoal), 1) 0%, rgba(var(--featured-charcoal), 0) 30%); }
  .featured-stage .featured-editorial-copy { align-self: center; width: 100%; max-width: 740px; margin-top: 12px; }
  .featured-stage h2 { font-size: clamp(2.5rem, 5.2vw, 3.7rem); }
}
@media (max-width: 650px) {
  .home-page .featured-section { padding: 30px 6vw 40px; }
  .featured-visual { width: calc(100% + 12vw); margin: -30px -6vw 0; height: clamp(310px, 90vw, 430px); }
  .featured-stage h2 { font-size: clamp(2rem, 8.2vw, 3rem); }
  .featured-stage .featured-kicker { font-size: .62rem; }
}

/* Smaller skewed ivory notes share the charcoal Featured Artists frame. */
.artist-feedback {
  --review-limit: 340px;
  --review-size: 340px;
  --review-gutter: 52px;
  --review-bleed: 12px;
  position: relative;
  z-index: 1;
  overflow-anchor: none;
  height: calc(var(--review-size) + 40px);
  width: 100%;
  margin-top: 34px;
  background: transparent;
  color: #343330;
  overflow: hidden;
}
.feedback-layout { height: 100%; width: 100%; }
.feedback-viewport { width: var(--review-window-width, 100%); max-width: 100%; height: 100%; min-width: 0; margin-inline: auto; overflow: hidden; padding-inline: var(--review-bleed); }
.feedback-track {
  position: relative;
  width: max-content;
  height: 100%;
  display: flex;
  gap: 24px;
  align-items: center;
  will-change: transform;
}
.feedback-card {
  position: relative;
  isolation: isolate;
  flex: 0 0 var(--review-size);
  width: var(--review-size);
  height: var(--review-size);
  --note-angle: -1.1deg;
}
.feedback-paper {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px 26px 26px;
  filter: drop-shadow(0 3px 2px #0005) drop-shadow(0 10px 12px #0007);
}
.feedback-paper::before, .feedback-paper::after {
  content: '';
  position: absolute;
  pointer-events: none;
  transform-origin: center;
}
.feedback-paper::after {
  z-index: -2;
  inset: 4px -2px -2px 3px;
  background: #e6ddce;
  transform: rotate(calc(var(--note-angle) + .45deg)) skewX(-.2deg);
}
.feedback-paper::before {
  z-index: -1;
  inset: 0;
  background-color: #fbf9f2;
  background-image: radial-gradient(#6e583b0c .6px, transparent .8px), linear-gradient(115deg, #fffefb80, #eae3d72b);
  background-size: 4px 4px, auto;
  box-shadow: inset 0 1px #ffffffd9;
  transform: rotate(var(--note-angle)) skewX(-.35deg);
  clip-path: polygon(0 .7%, 8% .2%, 19% .5%, 31% 0, 47% .5%, 62% .1%, 79% .4%, 91% 0, 100% .4%, 99.8% 20%, 100% 42%, 99.7% 64%, 100% 84%, 99.8% 99.5%, 92% 99.8%, 84% 99.3%, 75% 100%, 64% 99.5%, 53% 99.9%, 45% 99.3%, 35% 99.9%, 23% 99.4%, 12% 100%, .3% 99.6%, 0 78%, .3% 57%, 0 37%, .2% 17%);
}
.feedback-note-heading { display: flex; gap: 11px; align-items: center; margin-bottom: 12px; }
.feedback-quote-mark { flex-shrink: 0; height: 32px; color: #b92f32; font: 3.4rem/1 Georgia, serif; }
.feedback-note-heading h3 { margin: 0; color: #252523; font: 400 1.2rem/1.2 Georgia, serif; letter-spacing: -.035em; }
.feedback-note-scroll { min-height: 0; flex: 1; overflow-y: auto; padding-right: 7px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #b92f3266 transparent; }
.feedback-note-scroll blockquote { display: flex; flex-direction: column; min-height: 100%; margin: 0; padding: 0; }
.feedback-note-scroll blockquote p { margin: 0 0 16px; color: #3c3b37; font: 400 1rem/1.5 Georgia, 'Times New Roman', serif; letter-spacing: -.01em; }
.feedback-note-scroll blockquote footer { margin-top: auto; padding-top: 4px; color: #57534e; font: 400 .75rem/1.45 Arial, Helvetica, sans-serif; }
.feedback-nav {
  position: absolute;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 44px;
  height: 48px;
  border: 1px solid #ffffff70;
  background: #080b0dc9;
  color: #fff;
  font: 2rem/1 Georgia, serif;
  transition: background 180ms;
}
.feedback-prev { left: 0; }
.feedback-next { right: 0; }
.feedback-nav:hover { background: #b92f32; }
.feedback-copy { cursor: text; }
.feedback-note-scroll:focus-visible { outline: 2px solid #b92f32; outline-offset: 3px; }
.feedback-nav:focus-visible { outline: 2px solid #fff; outline-offset: -5px; }
@media (max-width: 650px) {
  .artist-feedback { --review-gutter: 8px; --review-bleed: 8px; height: calc(var(--review-size) + 88px); }
  .feedback-viewport { height: calc(100% - 48px); }
  .feedback-track { gap: 22px; }
  .feedback-nav { top: auto; bottom: 0; transform: none; width: 44px; height: 36px; }
  .feedback-prev { left: calc(50% - 50px); }
  .feedback-next { right: calc(50% - 50px); }
  .feedback-paper { padding: 20px; }
  .feedback-note-heading { gap: 8px; margin-bottom: 9px; }
  .feedback-note-heading h3 { font-size: 1.05rem; }
  .feedback-note-scroll blockquote p { font-size: .94rem; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) { .feedback-nav { transition: none; } }

/* Content navigation for the populated service pages. */
.page-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  padding: 24px 6vw;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.page-section-nav a {
  padding: 6px 0;
  color: var(--purple);
  font-size: .85rem;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.homepage-feature-note {
  max-width: 760px;
  margin: 30px 0 0;
  color: var(--text-on-dark);
}
.welcome-section h2 { margin-bottom: 32px; }
.welcome-section .welcome-copy .lead { font-size: 1.25rem; }
.welcome-section .welcome-copy p:not(.lead) { font-size: 1rem; }
.welcome-enquiries { max-width: none; margin-top: 30px; }
.social-icon-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0 6vw;
  padding: 38px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.social-icon-strip li { display: grid; place-items: center; }
.social-icon-strip li + li { border-left: 1px solid var(--line); }
.social-icon-strip img { width: 64px; height: 64px; filter: grayscale(1); opacity: .45; }
@media (max-width: 650px) {
  .welcome-section { padding: 55px 6vw 40px; }
  .welcome-section .welcome-copy .lead { font-size: 1.12rem; }
  .welcome-section .welcome-copy p:not(.lead) { font-size: .93rem; }
  .social-icon-strip { padding: 28px 0; }
  .social-icon-strip img { width: 48px; height: 48px; }
}

/* Studio: one introduction and a continuous white service area inside the header frame. */
.home-page .studio-statement {
  padding: clamp(40px, 4vw, 64px) max(4vw, calc((100% - 1600px) / 2));
}
.studio-editorial .studio-intro {
  margin: 0 0 32px;
  color: #343330;
  font: 400 clamp(1rem, 1.05vw, 1.125rem)/1.7 Arial, Helvetica, sans-serif;
}
.studio-editorial .studio-intro p { margin: 0; }
.home-page .studio-editorial {
  position: relative;
  isolation: isolate;
  overflow: clip;
  display: block;
  padding: 0 max(4vw, calc((100% - 1600px) / 2));
  background: #202020;
  color: #343330;
}
.studio-frame { padding: 40px 44px 44px; background: #fff; }
.studio-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; align-items: start; }
.studio-service-panel { min-width: 0; }
.studio-service-image { width: 100%; height: 220px; object-fit: cover; filter: saturate(.65) brightness(.85); }
.studio-service-image--rehearsal { filter: none; object-position: center 65%; }
.studio-service-content { padding-top: 26px; font: 400 clamp(1rem, 1.05vw, 1.125rem)/1.7 Arial, Helvetica, sans-serif; color: #55514d; }
.studio-service-content h3 { margin: 0 0 20px; color: #171715; font: 400 clamp(1.7rem, 2vw, 2.2rem)/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; }
.studio-service-content h3::after { content: ''; display: block; width: 42px; height: 2px; margin-top: 18px; background: #b92f32; }
.studio-service-content p { margin: 0 0 18px; }
.studio-service-content p:last-child { margin-bottom: 0; }
.studio-service-content ul { margin: 0; padding-left: 18px; }
.studio-service-content li { padding-left: 3px; margin-bottom: 8px; }
.studio-service-content li::marker { color: #b92f32; }
.studio-editorial .studio-actions { margin: 32px 0 0; gap: 28px; align-items: center; }
.studio-editorial .button-primary { background: #b92f32; color: #fffef8; box-shadow: inset 0 1px #ffffff30, 0 3px 8px #0002; }
.studio-editorial .button-primary:hover { background: #9f272a; }
.studio-editorial .text-link { color: #343330; }
.studio-editorial .text-link:hover { color: #98549b; }
.studio-editorial :focus-visible { outline-color: #98549b; }
@media (max-width: 1100px) {
  .studio-frame { padding: 30px; }
  .studio-service-grid { gap: 24px; }
}
@media (max-width: 850px) {
  .studio-service-grid { grid-template-columns: 1fr; gap: 36px; }
  .studio-service-image { height: 260px; }
}
@media (max-width: 650px) {
  .home-page .studio-statement,
  .home-page .studio-editorial { padding-inline: 6vw; }
  .studio-frame { padding: 24px; }
  .studio-service-content { padding-top: 22px; }
  .studio-service-image { height: 220px; }
}

/* Homepage chapters share the header frame and the established crimson/ivory palette. */
.home-editorial,
.home-partners {
  padding: 76px max(4vw, calc((100% - 1600px) / 2)) 84px;
  font: 400 clamp(1rem, 1.05vw, 1.125rem)/1.7 Arial, Helvetica, sans-serif;
}
.home-editorial {
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: clamp(36px, 5vw, 80px);
  align-items: start;
  background: #fbf9f2;
  color: #343330;
}
.home-editorial-heading { min-width: 0; }
.home-editorial h2,
.home-partners h2 {
  color: #171715;
  font: 400 clamp(2rem, 2.7vw, 3rem)/1.1 Georgia, 'Times New Roman', serif;
  letter-spacing: -.045em;
  text-wrap: balance;
  margin: 0 0 30px;
}
.home-editorial h2::after,
.home-partners h2::after {
  content: '';
  display: block;
  width: 64px;
  height: 3px;
  background: #b92f32;
  margin-top: 26px;
}
.home-editorial-copy { min-width: 0; }
.home-editorial-copy p,
.home-partners p { margin: 0 0 20px; }
.home-editorial-copy p:last-child,
.home-partners p:last-child { margin-bottom: 0; }
.home-editorial .text-link { color: #b92f32; }
.home-editorial-photo { width: 100%; aspect-ratio: 1.15; object-fit: cover; margin-top: 34px; }
.home-enquire,
.home-partner-actions .button {
  background: #b92f32;
  color: #fffef8;
  border: 0;
  margin-top: 12px;
}
.home-enquire:hover,
.home-partner-actions .button:hover { color: #fff; background: #9f272a; }
.home-editorial :focus-visible,
.home-partners :focus-visible { outline-color: #98549b; }
.home-partners { background: #202020; color: #d5d1cb; }
.home-partners h2 { color: #fbf9f2; }
.home-partners-intro { max-width: 1000px; margin-bottom: 42px; }
.home-partner-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(32px, 5vw, 80px); }
.home-partners h3 {
  font: 400 clamp(1.6rem, 2vw, 2.1rem)/1.15 Georgia, 'Times New Roman', serif;
  letter-spacing: -.025em;
  color: #fbf9f2;
  margin: 0 0 22px;
}
.home-partner-columns h3::after { content: ''; display: block; width: 42px; height: 2px; background: #b92f32; margin-top: 18px; }
.home-payments { margin-top: 36px; padding-top: 30px; border-top: 1px solid #ffffff26; }
.home-partner-actions { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: 28px; }
.home-partner-actions .button { min-width: 220px; margin-top: 0; }
.home-sessions { background: #202020; color: #d5d1cb; }
.home-sessions h2 { color: #fbf9f2; }
.home-sessions .sessions-art { background: #17383b; }
.home-sessions .sessions-art img { mix-blend-mode: luminosity; opacity: .4; }
.home-sessions .sessions-art p > span { color: #b92f32; }
@media (max-width: 1000px) {
  .home-editorial { grid-template-columns: 1fr; gap: 32px; }
  .home-editorial-heading .home-editorial-photo,
  .home-sessions .sessions-art { max-width: 520px; }
  .home-editorial h2 { margin-bottom: 24px; }
}
@media (max-width: 650px) {
  .home-editorial,
  .home-partners { padding: 48px 6vw 54px; }
  .home-partner-columns { grid-template-columns: 1fr; gap: 32px; }
  .home-partner-actions { gap: 16px; }
  .home-partner-actions .button { width: 100%; }
  .home-payments { margin-top: 30px; padding-top: 26px; }
}

/* Contact and footer carry the same palette as the homepage chapters. */
.contact-section {
  background: #202020;
  color: #fbf9f2;
  padding-inline: max(4vw, calc((100% - 1600px) / 2));
}
.contact-section .eyebrow { color: #fbf9f2; }
.contact-section h2 em { color: #b92f32; }
.contact-section > p:not(.eyebrow) { color: #d5d1cb; }
.contact-section .button-primary { background: #b92f32; color: #fffef8; }
.contact-section .button-primary:hover { background: #9f272a; color: #fffef8; }
.contact-section .contact-phone { color: #fbf9f2; }
.contact-section .contact-phone:hover,
.site-footer a:hover { color: #98549b; }
.contact-section :focus-visible,
.site-footer :focus-visible { outline-color: #98549b; }
.site-footer {
  background: #111;
  color: #d5d1cb;
  padding-inline: max(4vw, calc((100% - 1600px) / 2));
  border-top: 1px solid #fbf9f226;
}
.site-footer .footer-label { color: #fbf9f2; }
.site-footer .footer-label::after {
  content: '';
  display: block;
  width: 30px;
  height: 2px;
  background: #b92f32;
  margin-top: 12px;
}
.site-footer .footer-bottom { color: #bcb7b0; border-color: #fbf9f226; }
@media (max-width: 650px) {
  .contact-section,
  .site-footer { padding-inline: 6vw; }
}

/* About CEB: a backstage photograph and crimson sleeve beside an ivory editorial sheet. */
.home-editorial.home-about {
  display: block;
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: 0;
  background: #171715;
}
.about-visual { position: absolute; inset: 0 auto 0 0; width: 32%; overflow: hidden; background: #171715; }
.about-visual > img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; filter: saturate(.45) contrast(1.08); }
.about-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(#fbf9f224 .5px, transparent .9px), linear-gradient(0deg, #111b 0%, transparent 50%);
  background-size: 4px 5px, auto;
  mix-blend-mode: screen;
  opacity: .45;
}
.about-red-disc { position: absolute; width: 230px; height: 230px; left: -35px; top: -45px; border-radius: 50%; background: #b92f32c9; mix-blend-mode: screen; }
.about-red-disc::after { content: ''; position: absolute; top: 260px; left: 92px; width: 65px; height: 65px; border-radius: 50%; background: #b92f32; }
.about-spine {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 28px;
  padding: 36px 14px;
  background: #b92f32e8;
  color: #fbf9f2;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font: 400 .64rem/1 Arial, Helvetica, sans-serif;
  letter-spacing: .3em;
  text-transform: uppercase;
}
.about-spine b { font-size: 1.2rem; font-weight: 400; }







.about-paper {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: .42fr 1fr;
  gap: 32px clamp(24px, 3vw, 56px);
  margin-left: 32%;
  padding: 58px max(4vw, calc((100% - 1600px) / 2)) 46px 56px;
  background: #fbf9f2;
  background-image: radial-gradient(#725d3c0d .6px, transparent 1px), linear-gradient(110deg, #fffdf7, #f3eddf66);
  background-size: 4px 4px, auto;
}


.about-paper > .home-editorial-heading,
.about-paper > .home-editorial-copy,
.about-stats { position: relative; z-index: 1; }
.about-paper .about-kicker { color: #b92f32; margin: 0 0 20px; font: 700 .75rem/1.4 Arial, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.about-paper h2 { font-size: clamp(2rem, 2.6vw, 3rem); font-weight: 700; text-wrap: nowrap; }
.about-paper h2::after { width: 54px; margin-top: 24px; }
.about-paper .home-editorial-copy { font: 400 clamp(.95rem, .92vw, 1.0625rem)/1.6 Arial, Helvetica, sans-serif; }
.about-paper .home-editorial-copy p { margin-bottom: 18px; }
.about-paper .home-editorial-copy p:last-child { margin-bottom: 0; }
.about-paper .text-link { font-size: .82rem; }


.about-stats { grid-column: 1 / -1; display: grid; grid-template-columns: .8fr .9fr 1.15fr 1.25fr; list-style: none; margin: 0; padding: 28px 0 0; border-top: 1px solid #34333033; gap: 0; }
.about-stats li { display: flex; flex-direction: column; align-items: flex-start; padding: 0 22px; border-left: 1px solid #34333026; min-width: 0; }
.about-stats li:first-child { border-left: 0; padding-left: 0; }
.about-stats li:last-child { padding-right: 0; }
.about-stats svg { width: 30px; height: 30px; color: #b92f32; margin-bottom: 14px; }
.about-stats strong { color: #171715; font: 400 clamp(2rem, 2.4vw, 2.8rem)/1.05 Georgia, serif; letter-spacing: -.05em; }
.about-stats .about-stat-words { font-size: clamp(1rem, 1.12vw, 1.3rem); line-height: 1.12; letter-spacing: -.035em; text-transform: uppercase; margin-block: auto 0; }
.about-stats li > span { margin-top: 12px; color: #252522; font: 700 .55rem/1.5 Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 1450px) and (min-width: 1181px) {
  .about-paper { grid-template-columns: 1fr; padding-left: 42px; padding-right: 4vw; gap: 28px; }
  .about-paper .home-editorial-heading { display: grid; grid-template-columns: 1fr auto; align-items: center; }
  .about-paper .about-kicker { grid-column: 1 / -1; margin-bottom: 12px; }
  .about-paper h2 { margin-bottom: 0; }
  .about-paper .text-link { align-self: end; }
  .about-stats li { padding-inline: 14px; }
}
@media (max-width: 1180px) {
  .about-visual { position: relative; inset: auto; width: 100%; height: 440px; }
  .about-visual > img { object-position: center 38%; }
  .about-spine {
    inset: auto 0 0;
    writing-mode: horizontal-tb;
    transform: none;
    justify-content: center;
    padding: 14px 24px;
    gap: 20px;
    font-size: .55rem;
  }


  .about-paper { margin-left: 0; padding: 48px 6vw; grid-template-columns: .42fr 1fr; }


}
@media (max-width: 760px) {
  .about-visual { height: 350px; }
  .about-visual > img { object-position: 62% 30%; }
  .about-spine { font-size: .5rem; gap: 12px; }
  .about-red-disc { width: 170px; height: 170px; }
  .about-red-disc::after { top: 200px; width: 46px; height: 46px; }



  .about-paper { padding: 38px 6vw 42px; grid-template-columns: 1fr; gap: 30px; }
  .about-paper h2 { text-wrap: wrap; margin-bottom: 24px; }
  .about-paper .about-kicker { margin-bottom: 14px; }
  .about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  .about-stats li { padding-inline: 16px; }
  .about-stats li:nth-child(3) { border-left: 0; padding-left: 0; }
  .about-stats .about-stat-words { font-size: 1.1rem; }
  .about-stats svg { width: 27px; height: 27px; }

}

/* Useful contact details fill the About title column without adding another panel. */
.about-contact { grid-column: 1 / -1; margin-top: 32px; font: 400 .95rem/1.65 Arial, Helvetica, sans-serif; color: #343330; }
.about-contact .about-contact-label { margin: 0 0 12px; color: #b92f32; font: 700 .7rem/1.4 Arial, Helvetica, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.home-about .about-contact a { display: block; width: fit-content; color: #343330; margin-bottom: 4px; text-decoration: none; }
.home-about .about-contact a:hover { color: #98549b; text-decoration: underline; text-underline-offset: 3px; }
.about-contact address { margin-top: 18px; font-size: .88rem; font-style: normal; line-height: 1.7; }

/* Artists and clients share an ivory editorial spread, with a button for each audience. */
.home-page .home-partners {
  background-color: #fbf9f2;
  background-image: radial-gradient(#725d3c0d .6px, transparent 1px), linear-gradient(110deg, #fffdf7, #f3eddf66);
  background-size: 4px 4px, auto;
  color: #252522;
  font: 400 clamp(1rem, 1.05vw, 1.125rem)/1.5 Georgia, 'Times New Roman', serif;
}
.home-partners .home-partners-intro { max-width: 1180px; margin-bottom: 46px; }
.home-partners .home-partners-kicker { margin: 0 0 12px; color: #b92f32; font: 400 .72rem/1.4 Arial, Helvetica, sans-serif; letter-spacing: .25em; text-transform: uppercase; }
.home-partners .home-partners-intro h2 { color: #111; font-size: clamp(2.6rem, 3.6vw, 4rem); font-weight: 700; margin-bottom: 18px; }
.home-partners .home-partners-intro h2::after { width: 40px; height: 2px; margin-top: 14px; }
.home-partners .home-partners-intro > p:not(.home-partners-kicker) { font-size: clamp(1.1rem, 1.2vw, 1.35rem); line-height: 1.45; }
.home-partners .home-partner-columns { gap: 0; }
.home-partner-columns > article { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding-right: clamp(30px, 3vw, 56px); }
.home-partner-columns > article + article { padding-left: clamp(30px, 3vw, 56px); padding-right: 0; border-left: 1px solid #34333033; }
.partner-heading { display: flex; align-items: flex-start; gap: 22px; margin-bottom: 22px; }
.partner-heading > svg { flex: 0 0 42px; width: 42px; height: 42px; color: #b92f32; }
.home-partners .partner-heading h3 { color: #171715; font-size: clamp(1.6rem, 2vw, 2.1rem); font-weight: 700; margin: 0; }
.home-partners .partner-heading h3::after { width: 40px; margin-top: 12px; }
.home-partners .partner-button { background: #b92f32; color: #fffef8; font: 700 .95rem/1.4 Georgia, 'Times New Roman', serif; letter-spacing: .02em; border: 0; border-radius: 0; min-width: 235px; min-height: 48px; margin-top: auto; gap: 36px; }
.home-partners .partner-button:hover { color: #fff; background: #9f272a; }
.home-partners .home-payments { margin-top: 36px; padding-top: 24px; border-color: #34333033; }
.home-partners .home-payments h3 { color: #171715; font-size: clamp(1.4rem, 1.7vw, 1.8rem); font-weight: 700; margin-bottom: 16px; }
.home-partners .home-payments h3::after { content: ''; display: block; width: 32px; height: 2px; background: #b92f32; margin-top: 10px; }
.home-payment-copy { display: grid; grid-template-columns: 1.65fr 1fr; gap: 32px; font: 400 clamp(.85rem, .9vw, 1rem)/1.5 Georgia, 'Times New Roman', serif; }
.home-payment-copy > p { margin: 0; }
.home-payment-copy > p + p { padding-left: 32px; border-left: 1px solid #34333033; }
@media (max-width: 760px) {
  .home-partners .home-partner-columns { grid-template-columns: 1fr; gap: 32px; }
  .home-partner-columns > article { padding-right: 0; }
  .home-partner-columns > article + article { border-left: 0; border-top: 1px solid #34333033; padding: 30px 0 0; }
  .home-partners .home-partners-intro { margin-bottom: 32px; }
  .partner-heading { gap: 16px; }
  .partner-heading > svg { width: 34px; height: 34px; flex-basis: 34px; }
  .home-partners .partner-button { min-width: 220px; }
  .home-payment-copy { grid-template-columns: 1fr; gap: 18px; font-size: .9rem; }
  .home-payment-copy > p + p { padding-left: 0; border-left: 0; }
}

/* The corporate chapter mirrors Featured Bookings in white, with the photograph on the right. */
.home-page .home-corporate {
  display: block;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 84px max(4vw, calc((100% - 1600px) / 2)) 80px;
  background: #fff;
  color: #343330;
}
.corporate-editorial-copy { position: relative; z-index: 1; width: 58%; max-width: 960px; }
.home-corporate h2 { font: 400 clamp(2.25rem, 3.2vw, 3.7rem)/1.06 Georgia, 'Times New Roman', serif; letter-spacing: -.05em; color: #171715; margin-bottom: 28px; text-wrap: balance; }
.home-corporate h2::after { margin-top: 24px; }
.corporate-visual { position: absolute; z-index: 0; inset: 0 0 0 auto; width: 54%; pointer-events: none; }
.corporate-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.corporate-visual::after {
  content: '';
  position: absolute;
  inset: -1px;
  background: radial-gradient(ellipse at bottom right, #fff 0%, #ffffff80 12%, #ffffff00 46%), linear-gradient(90deg, #fff 0%, #fffffffA 20%, #ffffffe0 32%, #ffffff73 45%, #ffffff00 62%);
}
@media (max-width: 1100px) {
  .home-page .home-corporate { padding: 56px 4vw 0; }
  .corporate-editorial-copy { width: 100%; max-width: 740px; margin-inline: auto; }
  .corporate-visual { position: relative; inset: auto; width: calc(100% + 8vw); height: clamp(360px, 54vw, 560px); margin: 28px -4vw 0; }
  .corporate-visual img { object-position: 60% center; }
  .corporate-visual::after { background: linear-gradient(180deg, #fff 0%, #ffffff00 28%), linear-gradient(0deg, #fff 0%, #ffffff00 20%); }
}
@media (max-width: 650px) {
  .home-page .home-corporate { padding: 42px 6vw 0; }
  .home-corporate h2 { font-size: clamp(2rem, 8.2vw, 3rem); }
  .corporate-visual { width: calc(100% + 12vw); height: clamp(310px, 85vw, 430px); margin-inline: -6vw; }
}

/* Real Sessions From Oblivion performances: one player and a manually browsed archive. */
.sessions-showcase {
  --session-red: #b92f32;
  padding: 72px max(4vw, calc((100% - 1600px) / 2)) 76px;
  background-color: #202020;
  background-image: radial-gradient(#fbf9f209 .55px, transparent 1px), radial-gradient(ellipse at top left, #a17f4e0d, transparent 40%), linear-gradient(135deg, #202020, #191919);
  background-size: 4px 4px, auto, auto;
  color: #fbf9f2;
  font: 400 1rem/1.65 Arial, Helvetica, sans-serif;
}
.sessions-hero { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 4vw, 60px); align-items: start; }
.sessions-intro { min-width: 0; }
.sessions-intro h1,
.sessions-intro h2 { margin: 0 0 25px; font: 400 clamp(2rem, 2.6vw, 3rem)/1.08 Georgia, 'Times New Roman', serif; letter-spacing: -.045em; text-wrap: balance; color: #fbf9f2; }
.sessions-intro h1::after,
.sessions-intro h2::after { content: ''; display: block; width: 54px; height: 2px; background: var(--session-red); margin-top: 24px; }
.sessions-intro > p { margin: 0 0 20px; color: #ccc8c2; font-size: clamp(.94rem, 1vw, 1.05rem); }
.sessions-watch-button { background: var(--session-red); color: #fffef8; min-width: 200px; margin-top: 4px; font: 400 .95rem/1.4 Georgia, 'Times New Roman', serif; }
.sessions-watch-button:hover { background: #9f272a; color: #fff; }
.session-feature { min-width: 0; }
.session-player { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #111; border: 1px solid #ffffff26; overflow: hidden; scroll-margin-top: 24px; }
.session-player iframe { display: block; width: 100%; height: 100%; position: absolute; inset: 0; border: 0; }
.session-poster { position: absolute; inset: 0; display: block; color: #fffef8; }
.session-poster > img { width: 100%; height: 100%; object-fit: cover; }
.session-poster::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #000 0%, #000 20%, transparent 58%); pointer-events: none; }
.session-poster:hover,
.session-poster:visited { color: #fffef8; }
.session-play-icon { position: absolute; top: 43%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid #fff; border-radius: 50%; color: #fff; z-index: 1; background: #1114; transition: background 180ms ease, transform 180ms ease; }
.session-play-icon svg { width: 26px; height: 26px; margin-left: 3px; }
.session-poster > .session-play-icon { top: 48%; width: 72px; height: 72px; background: var(--session-red); border: 0; }
.session-poster > .session-play-icon svg { width: 34px; height: 34px; }
.session-poster:hover .session-play-icon,
.session-card:hover .session-play-icon { background: #9f272a; transform: translate(-50%, -50%) scale(1.06); }
.session-feature-copy { position: absolute; inset: auto 26px 24px; display: flex; flex-direction: column; gap: 3px; z-index: 1; color: #fffef8; }
.session-feature-artist { font: 400 clamp(1.5rem, 2vw, 2rem)/1.1 Georgia, 'Times New Roman', serif; }
.session-feature-song { font-size: .95rem; }
.session-feature-series { margin-top: 5px; color: #d4cfca; font-size: .75rem; }
.session-player-caption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; padding-top: 12px; color: #c5c0b9; font-size: .75rem; }
.session-player-caption > span { flex: 1 1 220px; }
.session-player-caption a { color: #fbf9f2; text-decoration: underline; text-underline-offset: 4px; }
.session-player-caption a:hover { color: #98549b; }
.session-gallery-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin: 38px 0 16px; }
.session-gallery-heading h2,
.session-production h2 { margin: 0; color: #fbf9f2; font: 400 clamp(1.6rem, 2vw, 2rem)/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; }
.session-gallery-heading h2::after { content: ''; display: block; width: 40px; height: 2px; margin-top: 12px; background: var(--session-red); }
.session-gallery-controls { display: flex; align-items: center; gap: 12px; }
.session-gallery-controls[hidden] { display: none; }
.session-gallery-controls button { display: grid; place-items: center; width: 44px; height: 42px; background: transparent; border: 1px solid #fbf9f259; color: #fbf9f2; border-radius: 2px; font-size: 1.3rem; }
.session-gallery-controls [data-session-next] { background: var(--session-red); border-color: var(--session-red); }
.session-gallery-controls button:hover:not(:disabled) { background: #9f272a; border-color: #9f272a; }
.session-gallery-controls button:disabled { opacity: .35; cursor: default; }
.session-gallery-count { min-width: 72px; color: #c5c0b9; font: 400 .75rem/1.4 Arial, sans-serif; text-align: right; font-variant-numeric: tabular-nums; margin-right: 5px; }
.session-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 60px) / 4); gap: 20px; list-style: none; padding: 0; margin: 0; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.session-track::-webkit-scrollbar { display: none; }
.session-track > li { min-width: 0; scroll-snap-align: start; }
.session-card { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: #111; border: 1px solid #fbf9f240; color: #fffef8; }
.session-card > img { width: 100%; height: 100%; object-fit: cover; }
.session-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #000 0%, #000 18%, #0000 70%); pointer-events: none; }
.session-card[aria-current="true"] { border-color: var(--session-red); box-shadow: inset 0 -3px var(--session-red); }
.session-card:hover { color: #fff; border-color: var(--session-red); }
.session-card .session-play-icon { width: 44px; height: 44px; top: 38%; }
.session-card .session-play-icon svg { width: 23px; height: 23px; }
.session-card-duration { position: absolute; top: 9px; right: 9px; z-index: 1; background: #000a; color: #fff; padding: 2px 5px; font: 400 .68rem/1.4 Arial, sans-serif; border-radius: 2px; }
.session-card-copy { position: absolute; inset: auto 15px 13px; z-index: 1; display: flex; flex-direction: column; gap: 4px; }
.session-card-copy::before { content: ''; display: block; width: 28px; height: 2px; margin-bottom: 3px; background: var(--session-red); }
.session-card-artist { font: 400 clamp(1.05rem, 1.3vw, 1.4rem)/1.1 Georgia, 'Times New Roman', serif; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.session-card-series { font: 400 .73rem/1.35 Arial, sans-serif; color: #d0cbc5; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.sessions-showcase :focus-visible { outline: 3px solid #98549b; outline-offset: 4px; }
.sessions-live-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.sessions-showcase .session-card:focus-visible,
.sessions-showcase .session-poster:focus-visible { outline-offset: -4px; }
.sessions-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; max-width: 1260px; list-style: none; margin: 34px auto 0; padding: 0; }
.sessions-facts li { display: flex; align-items: center; justify-content: center; gap: 25px; padding: 22px 30px; border-left: 1px solid #fbf9f233; min-width: 0; }
.sessions-facts li:first-child { border-left: 0; }
.sessions-facts svg { color: var(--session-red); width: 42px; height: 42px; flex-shrink: 0; }
.sessions-facts span { color: #fbf9f2; font: 400 .7rem/1.8 Arial, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.sessions-facts small { font-size: inherit; }
.session-production { display: grid; grid-template-columns: .55fr 1.45fr; gap: 50px; padding-top: 30px; margin-top: 30px; border-top: 1px solid #fbf9f226; }
.session-production > div { min-width: 0; }
.session-production p { color: #c5c0b9; margin: 0 0 16px; font-size: .9rem; }
.sessions-production-links { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 24px; font-size: .8rem; }
.sessions-production-links a { color: #fbf9f2; border-bottom: 1px solid #b92f32; padding-bottom: 5px; }
.sessions-production-links a:hover { color: #98549b; }
.sessions-page { --accent: #b92f32; --accent-2: #98549b; --dark: #202020; background: #202020; }
.sessions-page .site-header { background: #000; padding-inline: max(4vw, calc((100% - 1600px) / 2)); }
.sessions-page .site-header a:hover { color: #98549b; }
.sessions-page .header-enquire { background: #b92f32; border-color: #b92f32; color: #fbf9f2; }
.sessions-page .site-header .header-enquire:hover { color: #fff; background: #9f272a; }
.sessions-page .site-header :focus-visible { outline-color: #98549b; }
@media (max-width: 1200px) {
  .sessions-hero { grid-template-columns: 1fr 1.15fr; gap: 32px; }
  .sessions-facts li { gap: 18px; padding-inline: 18px; }
}
@media (max-width: 1000px) {
  .sessions-hero { grid-template-columns: 1fr; }
  .sessions-intro { max-width: 780px; }
  .session-feature { width: 100%; }
  .session-track { grid-auto-columns: calc((100% - 20px) / 2); }
  .session-production { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 650px) {
  .sessions-showcase { padding: 46px 6vw 52px; }
  .sessions-page .site-header { padding-inline: 6vw; }
  .sessions-intro h1,
  .sessions-intro h2 { font-size: clamp(2rem, 8vw, 2.7rem); }
  .session-feature-copy { inset: auto 16px 16px; }
  .session-feature-artist { font-size: 1.5rem; }
  .session-poster > .session-play-icon { width: 56px; height: 56px; top: 40%; }
  .session-poster > .session-play-icon svg { width: 28px; height: 28px; }
  .session-feature-song { font-size: .8rem; }
  .session-feature-series { display: none; }
  .session-gallery-heading { align-items: flex-start; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
  .session-gallery-controls { margin-left: auto; }
  .session-track { grid-auto-columns: 100%; gap: 16px; }
  .session-card-copy { inset-inline: 18px; bottom: 16px; }
  .session-card-artist { font-size: 1.35rem; }
  .session-card-series { font-size: .8rem; }
  .sessions-facts { grid-template-columns: 1fr; margin-top: 25px; }
  .sessions-facts li { border-left: 0; border-top: 1px solid #fbf9f226; padding: 22px 0; justify-content: flex-start; }
  .sessions-facts li:first-child { border-top: 0; }
  .sessions-facts span { font-size: .7rem; }
  .session-production { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .session-play-icon { transition: none; }
}

}
