*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}:root{--bg-0:#11161f;--bg-1:#171e2a;--surface:#1d2634;--surface-strong:#222e3f;--line:#314156;--text:#edf2fb;--text-soft:#b4c2d8;--brand:#c34848;--brand-2:#3f8f56;--brand-3:#3e69b4;--shadow:0 10px 26px #00000038}.app-container{min-height:100vh;color:var(--text);background:var(--bg-0)}.site-header{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#11161ff0;position:sticky;top:0}.header-content{width:min(1220px,100% - 2rem);margin:0 auto;padding:1rem 0 .95rem}.header-brand{justify-content:center;align-items:center;gap:.9rem;margin-bottom:.9rem;display:flex}.logo-placeholder{border:1px solid var(--line);background:#121923;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:4px;width:52px;height:52px;padding:5px;display:grid}.logo-cell-red{background:var(--brand);grid-area:1/1/span 2}.logo-cell-green{background:var(--brand-2);grid-area:1/2}.logo-cell-blue{background:var(--brand-3);grid-area:2/2}.brand-logo{object-fit:contain;width:52px;height:52px}.brand-copy{text-align:left}.header-content h1{color:var(--text);letter-spacing:.01em;margin:0;font-size:clamp(1.45rem,2.2vw,2.2rem);font-weight:700}.subtitle{color:var(--text-soft);letter-spacing:.08em;margin:.28rem 0 0;font-size:clamp(.84rem,1.15vw,.95rem)}.mobile-menu-btn{display:none}.site-nav{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.site-nav button{border:1px solid var(--line);color:var(--text-soft);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:#233144;padding:.5rem .9rem;font-size:.8rem;transition:background-color .18s,color .18s,border-color .18s}.site-nav button:hover{color:var(--text);background:#283851;border-color:#4e678e}.site-nav button.active{color:#fff;background:var(--brand);border-color:#d35d5d;font-weight:600}.site-main{width:min(1240px,100% - 2rem);margin:1.5rem auto 2.8rem}.site-main h2{color:var(--text);margin:0 0 1rem;font-size:clamp(1.35rem,2vw,1.8rem)}.site-main h3{color:var(--text)}.home-section,.data-section,.composer-card,.quote-card,.service-card,.team-card,.stat-item,.job-card,.photo-item,.video-item,.media-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.home-section,.data-section{padding:clamp(1rem,2.1vw,1.8rem)}.data-section h2,.home-section h2{letter-spacing:.03em}.bio-card{color:var(--text-soft);max-width:90ch;margin:0 auto}.bio-card p{margin:0 0 1rem;line-height:1.75}.bio-card p:last-child{margin-bottom:0}.section-intro{color:var(--text-soft);max-width:80ch;margin:.25rem 0 0;line-height:1.7}.hero-section{text-align:center;margin-bottom:1.5rem;padding:clamp(2.2rem,5vw,4rem) clamp(1rem,4vw,3rem)}.hero-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--text-soft);margin-bottom:.9rem;font-size:.85rem;font-weight:600}.hero-headline{color:var(--text);margin:0 0 1.2rem;font-size:clamp(1.9rem,4.2vw,3.2rem);font-weight:800;line-height:1.15}.hero-accent{color:var(--brand)}.hero-sub{color:var(--text-soft);max-width:62ch;margin:0 auto 1.8rem;font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7}.hero-cta-row{flex-wrap:wrap;justify-content:center;gap:.85rem;display:flex}.hero-cta-primary,.hero-cta-secondary,.contact-form button,.job-apply-btn,.upload-form button,.admin-tabs button,.auth-btn{border:1px solid var(--line);cursor:pointer;padding:.65rem 1.25rem;font-size:.9rem;font-weight:700}.hero-cta-primary,.contact-form button,.job-apply-btn,.upload-form button,.admin-tabs button.active{background:var(--brand);color:#fff;border-color:#d35d5d}.hero-cta-primary:hover,.contact-form button:hover,.job-apply-btn:hover,.upload-form button:hover{background:#d15858}.hero-cta-secondary,.admin-tabs button,.auth-btn{color:var(--text-soft);background:#233144}.hero-cta-secondary:hover,.admin-tabs button:hover,.auth-btn:hover{color:var(--text);background:#283851;border-color:#4e678e}.stats-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-item{text-align:center;padding:1.2rem 1rem}.stat-number{color:var(--brand);font-size:clamp(1.8rem,3.5vw,2.3rem);font-weight:800;line-height:1.1;display:block}.stat-label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;margin-top:.35rem;font-size:.82rem;display:block}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.service-card,.team-card{padding:clamp(1rem,2vw,1.5rem);transition:border-color .2s}.service-card:hover,.team-card:hover,.photo-item:hover,.video-item:hover,.job-card-open,.drop-target{border-color:#4e678e}.service-icon{margin-bottom:.75rem;font-size:2rem}.service-title{color:var(--text);margin:0 0 .6rem;font-size:1.1rem}.service-desc{color:var(--text-soft);margin:0 0 .9rem;font-size:.9rem;line-height:1.65}.service-bullets,.job-req-list,.composer-card ul{margin:0;padding:0;list-style:none}.service-bullets{flex-direction:column;gap:.4rem;display:flex}.service-bullets li,.job-req-list li{color:var(--text-soft);padding-left:1.2em;font-size:.86rem;position:relative}.service-bullets li:before{content:"›";color:var(--brand);font-weight:700;position:absolute;left:0}.team-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.team-avatar{border:1px solid var(--line);width:56px;height:56px;color:var(--text);background:#273247;justify-content:center;align-items:center;margin-bottom:.85rem;font-size:1.1rem;font-weight:800;display:flex}.team-name{color:var(--text);margin:0 0 .2rem;font-size:1.05rem}.team-title{color:#8aa2c8;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.75rem;font-size:.82rem}.team-bio{color:var(--text-soft);margin:0 0 .9rem;font-size:.88rem;line-height:1.65}.team-skills{flex-wrap:wrap;gap:.35rem;display:flex}.skill-tag,.job-tag{color:#c5d4ee;background:#233144;border:1px solid #435977;padding:.22rem .55rem;font-size:.74rem;font-weight:500}.clients-grid,.press-grid{grid-template-columns:1fr;gap:1rem;display:grid}.client-card,.quote-card{font-style:italic}.client-industry{color:var(--text-soft);font-size:.88rem;font-weight:400}.jobs-list{flex-direction:column;gap:.75rem;display:flex}.job-card{transition:border-color .2s;overflow:hidden}.job-header{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.job-header:hover{background:#233144}.job-header-left{flex-direction:column;gap:.25rem;display:flex}.job-title{color:var(--text);font-size:1rem;font-weight:700}.job-dept{color:var(--text-soft);letter-spacing:.05em;font-size:.8rem}.job-header-right{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.job-tag-location{color:#7dc193;background:#22362a;border-color:#3f8f56}.job-chevron{color:var(--text-soft);min-width:1rem;font-size:.7rem}.job-body{border-top:1px solid var(--line);padding:0 1.25rem 1.25rem}.job-desc{color:var(--text-soft);margin:1rem 0 .75rem;line-height:1.7}.job-req-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin:0 0 .5rem;font-size:.85rem}.job-req-list{flex-direction:column;gap:.35rem;margin:0 0 1.1rem;display:flex}.job-req-list li:before{content:"✓";color:var(--brand-2);font-size:.8rem;font-weight:700;position:absolute;left:0}.year-group{margin-top:1.25rem}.year-title{border-bottom:1px solid var(--line);margin:0 0 .75rem;padding-bottom:.4rem;font-size:1.1rem}.data-table{border-collapse:collapse;width:100%;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #a7b8e329;padding:.66rem .7rem}.data-table th{color:#d9e4ff;background:#25364d;font-weight:600}.data-table td{color:var(--text-soft)}.data-table tr:hover td{background:#233144}.repertoire-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.composer-card{padding:1rem}.composer-card h3{border-bottom:1px solid var(--line);margin:0 0 .65rem;padding-bottom:.45rem}.composer-card li{border-bottom:1px dashed #a7b8e338;grid-template-columns:1fr;gap:.08rem;padding:.45rem 0;display:grid}.composer-card li:last-child{border-bottom:0}.role{color:var(--text);font-weight:600}.opera{color:var(--text-soft);font-style:italic}.quote-card{color:var(--text-soft);padding:1rem 1rem 1rem 1.25rem;position:relative}.quote-card:before{content:"\"";color:#c348484d;font-size:2.9rem;position:absolute;top:-.6rem;left:.5rem}.quote-citation{color:#d7e4ff;text-align:right;margin-top:.7rem;font-style:normal;font-weight:600}.contact-form{gap:.8rem;max-width:740px;margin:0 auto;display:grid}.contact-form input,.contact-form textarea,.media-title-input{box-sizing:border-box;width:100%;color:var(--text);font:inherit;background:#161f2e;border:1px solid #4a5f7f;padding:.75rem .85rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#93a3c9}.site-footer{text-align:center;width:100%;color:var(--text-soft);border-top:1px solid var(--line);background:#121923;padding:1.3rem 1rem}.footer-admin-link{color:#9bb1d6;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin-top:.35rem;font-size:.78rem;text-decoration:underline}.footer-admin-link:hover{color:var(--text)}.login-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020614bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-modal{background:var(--surface-strong);border:1px solid var(--line);box-shadow:var(--shadow);width:min(420px,100vw - 2rem);padding:2rem 2.25rem 2.25rem;position:relative}.login-modal h2{text-align:center;margin:0 0 1.25rem;font-size:1.4rem}.login-close{color:var(--text-soft);cursor:pointer;background:0 0;border:none;font-size:1.1rem;line-height:1;position:absolute;top:.8rem;right:1rem}.login-close:hover{color:var(--text)}.login-error{color:#ff8080;background:#ff505026;border:1px solid #ff505066;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.9rem}.admin-panel{margin-top:0}.admin-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-tabs button{letter-spacing:.06em;padding:.42rem 1rem;font-size:.82rem}.admin-btn{border:1px solid var(--line);color:var(--text-soft);cursor:pointer;background:#233144;padding:.28rem .6rem;font-size:.78rem;transition:all .15s}.admin-btn:hover:not(:disabled){color:var(--text);background:#2d405d}.admin-btn:disabled{opacity:.35;cursor:not-allowed}.admin-btn.active{color:var(--text);background:#314969;border-color:#5f7aa2}.admin-btn.danger{color:#ff7070;background:#ff505014;border-color:#ff505059}.admin-btn.danger:hover{color:#ff5050;background:#ff505033}.admin-msg{color:#8bd2a0;background:#3f8f562e;border:1px solid #3f8f565c;margin-bottom:.75rem;padding:.45rem .75rem;font-size:.88rem}.admin-hint{color:var(--text-soft);margin-bottom:.75rem;font-size:.85rem}.admin-form{max-width:440px}.page-visibility-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;max-width:720px;display:grid}.page-visibility-item{border:1px solid var(--line);color:var(--text-soft);background:#233144;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.page-visibility-item input{accent-color:var(--brand)}.upload-form{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.upload-form input[type=file]{color:var(--text-soft);font-size:.85rem}.upload-form button:disabled{opacity:.5;cursor:not-allowed}.media-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:.5rem;display:grid}.media-card{transition:opacity .2s,border-color .2s;overflow:hidden}.media-card.active{border-color:#4e678e}.media-card.inactive{opacity:.48}.media-card img{object-fit:cover;width:100%;height:160px;display:block}.media-card-info{padding:.6rem}.media-title-input{margin-bottom:.5rem;padding:.3rem .5rem;font-size:.82rem}.media-card-info textarea{box-sizing:border-box;width:100%;color:var(--text);font:inherit;background:#161f2e;border:1px solid #4a5f7f;margin-bottom:.5rem;padding:.45rem .55rem}.media-card-actions{flex-wrap:wrap;gap:.35rem;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:.75rem;display:grid}.photo-item,.video-item{transition:border-color .2s;position:relative;overflow:hidden}.photo-item img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.photo-title{color:var(--text-soft);padding:.5rem .75rem;font-size:.85rem}.video-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-top:.75rem;display:grid}.video-item video{aspect-ratio:16/9;background:#000;width:100%;display:block}.layout-note{color:#89a3cc;margin:-.2rem 0 .8rem;font-size:.86rem}.is-draggable{cursor:grab}.is-draggable:active{cursor:grabbing}.is-dragging{opacity:.48}.drop-target{box-shadow:0 0 0 2px #c348484d,0 10px 24px #0000003d}.is-hidden{opacity:.72}.hidden-badge{color:#ff9b9b;background:#00000094;border:1px solid #ff70708c;padding:.2rem .5rem;font-size:.72rem;font-weight:600;position:absolute;top:.55rem;right:.55rem}@media (width<=900px){.header-content{width:calc(100% - 1rem);padding:.9rem 0 .75rem}.header-brand{margin-bottom:.7rem}.mobile-menu-btn{cursor:pointer;background:#233144;border:1px solid #4e678e;align-content:center;gap:5px;width:44px;height:38px;margin:0 auto;padding:0 10px;display:grid}.mobile-menu-btn span{background:var(--text);width:100%;height:2px;transition:transform .2s,opacity .2s}.mobile-menu-btn.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-btn.is-open span:nth-child(2){opacity:0}.mobile-menu-btn.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.site-nav{border:1px solid var(--line);background:#1a2332;flex-direction:column;gap:.42rem;margin-top:.75rem;padding:.55rem;display:none}.site-nav.open{display:flex}.site-nav button{text-align:center;letter-spacing:.09em;width:100%;padding:.64rem .8rem;font-size:.76rem}.data-table{white-space:nowrap;display:block;overflow-x:auto}}@media (width<=640px){.site-main{width:calc(100% - 1rem);margin-top:.9rem}.home-section,.data-section{padding:.95rem}.site-footer{padding:1.1rem .8rem}}
