:root{--indigo:#241b4b;--violet:#7048a8;--plum:#48223f;--amber:#f2b26b;--coral:#d87d72;--lav:#d8c9ed;--blue:#172b42;--silver:#edf0f5;--ink:#182033;--white:#fff;--line:#d9dce5;--shadow:0 18px 45px #1b17301b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:#faf9fc}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.section{padding:92px 0}.eyebrow{margin:0 0 14px;color:var(--violet);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.site-header{position:relative;z-index:5;background:var(--indigo);color:var(--white);border-bottom:1px solid #ffffff1c}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-weight:850;letter-spacing:-.04em;font-size:1.2rem}.brand i{display:inline-block;width:9px;height:9px;background:var(--amber);border-radius:50%;margin-left:3px}.nav-links{display:flex;align-items:center;gap:25px;font-size:.9rem}.nav-links a{opacity:.84}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--amber);opacity:1}.menu-toggle{display:none;border:0;background:none;color:white;font-size:1.6rem}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:11px 19px;border-radius:3px;font-weight:750;font-size:.88rem;transition:.2s}.button-primary{background:var(--amber);color:var(--indigo)}.button-primary:hover{background:#ffd093}.button-outline{border-color:#ffffff7a;color:#fff}.button-outline:hover{background:#ffffff18}.button-dark{background:var(--indigo);color:#fff}.button-light{background:var(--silver);color:var(--indigo)}.button-outline-dark{background:transparent;border:1px solid var(--line);color:var(--indigo)}.button-outline-dark:hover{background:var(--violet);border-color:var(--violet);color:#fff}.hero{min-height:650px;position:relative;background:var(--indigo);color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,#16142dcc 0%,#241b4bba 43%,#241b4b18),url("images/professional-concert-stage-with-layered-amber-and-violet-lighting.jpg") center/cover}.hero-content{position:relative;padding-top:145px;max-width:1160px}.hero h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:1.02;letter-spacing:-.06em;max-width:720px;margin:0 0 26px}.hero-copy{max-width:570px;color:#ebe6f2;font-size:1.1rem}.actions{display:flex;gap:12px;margin-top:32px}.hero-note{position:absolute;right:7%;bottom:50px;width:190px;border-left:2px solid var(--amber);padding-left:15px}.hero-note span{color:var(--amber);font-size:.75rem}.hero-note strong,.hero-note small{display:block}.hero-note small{color:#d7d0e2}.intro,.split,.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.intro h2,.section-heading h2,.process h2,.tech h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.1;letter-spacing:-.045em;margin:0}.intro p:not(.eyebrow),.split p{max-width:580px}.text-link{display:inline-block;color:var(--violet);font-weight:800;margin-top:18px}.text-link span{color:var(--coral)}.services-preview{background:var(--lav)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.service-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.production-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.process{background:var(--blue);color:#fff}.process-layout{align-items:start}.process-layout>div>p:last-child{color:#cbd2df}.steps{list-style:none;padding:0;margin:0;border-top:1px solid #ffffff38}.steps li{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid #ffffff38}.steps b{color:var(--amber);min-width:55px}.steps h3{margin:0}.steps p{margin:3px 0;color:#cbd2df}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:40px}.cta-band{background:var(--coral);color:var(--indigo);padding:70px 0}.cta-band h2{font-size:clamp(2rem,4vw,4rem);line-height:1.05;max-width:650px;margin:0 0 25px}.page-hero{background:var(--indigo);color:#fff;padding:95px 0}.page-hero h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1.04;letter-spacing:-.06em;max-width:800px;margin:0 0 20px}.page-hero p:not(.eyebrow){max-width:650px;color:#dcd6e8;font-size:1.08rem}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}.filter{border:1px solid var(--line);background:#fff;padding:9px 14px;color:var(--indigo)}.filter.active,.filter:hover{background:var(--violet);color:#fff;border-color:var(--violet)}.directory-grid,.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.directory-card,.article-card,.service-card,.equipment-card,.approach-card,.showcase-card{background:#fff;border:1px solid var(--line);box-shadow:0 8px 25px #30204d0b;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;overflow:hidden}.directory-card:hover,.article-card:hover,.service-card:hover,.equipment-card:hover,.approach-card:hover,.showcase-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px #30204d15}.directory-card img,.article-card img,.service-card img,.equipment-card img,.showcase-card img{height:220px;width:100%;object-fit:cover}.card-content{padding:30px;display:flex;flex-direction:column;flex-grow:1}.card-content h3{margin:10px 0;font-size:1.35rem;line-height:1.25}.card-content h2{margin:10px 0;font-size:1.6rem;line-height:1.2}.card-content p{color:#596073;margin:0;font-size:.95rem}.card-content .button{margin-top:auto;align-self:flex-start}.card-details{list-style:none;padding:0;margin:22px 0;border-top:1px solid var(--line)}.card-details li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--violet);font-weight:650;display:flex}.card-details li::before{content:"→";margin-right:10px;color:var(--amber)}.service-card.featured{background:var(--plum);color:#fff;border-color:var(--plum)}.service-card.featured .card-content p{color:#eee0e7}.service-card.featured .card-details{border-color:#ffffff33}.service-card.featured .card-details li{border-color:#ffffff33;color:var(--amber)}.service-card.featured .card-details li::before{color:#fff}.approach-card{background:#ffffff0a;border:1px solid #ffffff1c;color:#fff}.approach-card .card-content p{color:#eadce6}.showcase-card.large{grid-column:1/-1;flex-direction:row}.showcase-card.large img{width:55%;height:auto;min-height:100%}.showcase-card.large .card-content{width:45%;padding:45px;justify-content:center}.production-row{display:grid;grid-template-columns:1fr 1fr;min-height:380px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 25px #30204d0b;overflow:hidden}.production-row .img-link img{min-height:100%;height:100%;object-fit:cover}.production-row .card-content{padding:45px;justify-content:center}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--coral);font-weight:800}.detail-hero{height:540px;position:relative;color:#fff;background-size:cover;background-position:center}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#17162bd9,#17162b44)}.detail-hero .wrap{position:relative;z-index:1;padding-top:150px}.detail-hero h1{font-size:clamp(2.7rem,5vw,5rem);line-height:1.05;max-width:750px;margin:0}.detail-body{display:grid;grid-template-columns:1.3fr .7fr;gap:80px}.detail-body h2{font-size:2.1rem;line-height:1.15}.info-box{background:var(--lav);padding:28px;height:max-content}.info-box h3{margin-top:0}.related{background:#f0edf7}.article-detail,.service-detail,.production-detail{min-height:400px}.article-copy{max-width:760px}.article-copy h2{margin-top:42px}.contact-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:70px}form{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-weight:700;color:var(--indigo)}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);padding:12px;background:#fff;border-radius:2px;color:var(--ink)}textarea{resize:vertical}.full{grid-column:1/-1}.contact-aside{background:var(--indigo);color:#fff;padding:35px;height:max-content}.contact-aside h2{font-size:2rem}.contact-aside p:not(.eyebrow){color:#dcd6e8}.colour-panel{background:var(--plum);color:#fff;padding:75px 0}.colour-panel .eyebrow{color:var(--amber)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.legal{max-width:850px}.legal-header{margin-bottom:50px;border-bottom:1px solid var(--line);padding-bottom:35px}.legal-header h1{font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.05;margin:0 0 20px;letter-spacing:-.04em}.legal-intro{font-size:1.15rem;color:#444b5c;max-width:680px;margin:0}.legal-content section{margin-bottom:45px}.legal-content h2{margin:0 0 18px;font-size:1.45rem;color:var(--violet);letter-spacing:-.02em}.legal-content p,.legal-content ul{margin:0 0 16px}.legal-content ul{padding-left:24px}.legal-content li{margin-bottom:8px}.legal-content a{color:var(--violet);font-weight:700;text-decoration:underline;text-underline-offset:3px}.legal-content a:hover{color:var(--amber)}.site-footer{background:#11152d;color:#fff;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}.site-footer h3{margin:0 0 14px}.site-footer p,.site-footer a{color:#d8d9e4}.site-footer a{display:block;margin:5px 0}.site-footer a:hover{color:var(--amber)}.footer-bottom{border-top:1px solid #ffffff2b;margin-top:45px;padding-top:18px;color:#c7c9d4;font-size:.85rem}.cookie{position:fixed;z-index:100;bottom:18px;left:18px;right:18px;background:#fff;color:var(--ink);box-shadow:0 8px 35px #08081755;border:1px solid var(--line);padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie p{margin:0;max-width:620px}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie button{border:1px solid var(--indigo);padding:9px 13px;background:#fff;color:var(--indigo)}.cookie button:first-child{background:var(--indigo);color:#fff}.modal-backdrop{position:fixed;z-index:110;inset:0;background:#11152dcc;display:grid;place-items:center;padding:20px}.preferences{background:#fff;max-width:500px;padding:30px}.preferences h2{margin-top:0}.related .production-grid{grid-template-columns:repeat(4,1fr)}@media(max-width:1000px){.related .production-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.wrap{width:min(100% - 32px,600px)}.nav{height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--indigo);padding:20px 16px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-cta{display:none}.hero{min-height:640px}.hero-content{padding-top:100px}.hero-note{display:none}.intro,.split,.process-layout,.detail-body,.contact-layout{grid-template-columns:1fr;gap:35px}.section{padding:65px 0}.section-heading{align-items:start;flex-direction:column}.service-grid,.directory-grid,.article-grid,.equipment-grid,.production-grid{grid-template-columns:1fr}.showcase-card.large{flex-direction:column}.showcase-card.large img,.showcase-card.large .card-content{width:100%}.showcase-card.large img{height:240px}.footer-grid{grid-template-columns:1fr 1fr}.detail-hero{height:440px}.detail-hero .wrap{padding-top:110px}.production-row{grid-template-columns:1fr}.production-row .img-link img{min-height:240px;height:240px}.principles{grid-template-columns:1fr}.cookie{left:10px;right:10px;bottom:10px;display:block}.cookie-actions{margin-top:15px}form{grid-template-columns:1fr}.full{grid-column:auto}}@media(max-width:600px){.related .production-grid{grid-template-columns:1fr}}@media(max-width:430px){.actions{flex-direction:column;align-items:stretch}.footer-grid{grid-template-columns:1fr}.hero h1{font-size:2.8rem}}.img-link{display:block}.card-content h3 a{color:inherit;transition:color .2s}.card-content h3 a:hover{color:var(--violet)}