/* Shared, framework-independent interface components. */
:root{--et-bg:#100614;--et-panel:#201525;--et-green:#7cb896;--et-text:#fff}
[hidden]{display:none!important}
html{scroll-padding-top:6rem}
.et-header{position:relative;z-index:1000;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:16px max(20px,calc((100% - 1200px)/2));background:var(--et-bg);color:white;box-sizing:border-box;width:100%;font-family:"Libre Franklin",sans-serif}
.et-brand{display:flex;align-items:center;gap:10px;color:white!important;text-decoration:none!important;font-size:24px;font-weight:700;letter-spacing:0;white-space:nowrap}
.et-brand span{font-size:48px;line-height:1}
.et-header nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.et-header nav a{color:white;font-size:16px;text-decoration:none;letter-spacing:.03em;padding:10px 0}
.et-header nav a[aria-current="page"]{color:var(--et-green);text-decoration:underline;text-underline-offset:6px}
.et-button,.et-header button{display:inline-block;background:var(--et-green);color:#100614!important;border:1px solid transparent;border-radius:4px;font:600 16px/1.4 Poppins,sans-serif;padding:12px 18px;cursor:pointer;text-decoration:none!important;text-align:center;letter-spacing:0;text-transform:none;min-height:44px}
.et-header nav .et-button{padding:10px 16px;color:#100614}
.et-header button{background:transparent;border-color:#7cb896;color:white!important}
.skip-link{position:fixed;top:-100px;left:16px;z-index:2147483647;padding:12px;background:white;color:#100614}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #a7e4c2!important;outline-offset:4px!important}
.et-footer-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;padding:24px;background:var(--et-bg);color:white;font:15px/1.5 Lato,sans-serif}
.et-footer-links a{color:white;text-decoration:underline}
.et-footer-links button{color:white;background:none;border:0;padding:0;text-decoration:underline;font:inherit;cursor:pointer;min-height:44px}
@media(max-width:900px){.et-header{padding:12px 20px;gap:12px}.et-brand{font-size:21px}.et-brand span{font-size:40px}.et-header nav{width:100%;flex-direction:column;align-items:stretch;gap:4px}.et-header nav a{padding:12px}.et-header nav a:last-child{margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.elementor-invisible{visibility:visible!important}}
.et-talent-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none!important;padding:0!important;margin:32px 0!important;width:100%;box-sizing:border-box}
.et-talent-card{display:block;min-width:0;background:var(--et-panel);border:1px solid #493c4d;border-radius:6px;overflow:hidden;padding:0!important;margin:0!important;position:relative!important;transform:none!important;text-align:left}
.et-talent-card a{display:block;color:white;text-decoration:none}
.et-talent-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.et-talent-card h2{font:600 clamp(20px,2vw,26px)/1.25 "Libre Franklin",sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:white!important;margin:20px 18px 10px!important;overflow-wrap:anywhere}
.et-card-topics{display:flex;flex-wrap:wrap;gap:8px;list-style:none!important;margin:0 18px 22px!important;padding:0!important}.et-card-topics li{font:400 16px/1.5 Lato,sans-serif;color:#e2f6ea;background:#283b32;border:1px solid #6d9c80;border-radius:4px;padding:5px 9px!important;margin:0!important;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.et-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:24px 0;font:16px/1.5 Lato,sans-serif;color:white}
.et-filters label{flex:1 1 220px;text-align:left;letter-spacing:0;text-transform:none}
.et-filters input,.et-filters select{display:block;width:100%;box-sizing:border-box;background:#fff;color:#100614;border:1px solid #aaa;border-radius:4px;padding:12px;min-height:46px;margin-top:8px;font:16px/1.4 Lato,sans-serif}
.et-topic-links{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 40px}.et-topic-links a{padding:10px 14px;border:1px solid #7cb896;border-radius:4px;color:#b9e8cc;font-size:16px;text-decoration:none}
.et-category-content{max-width:1200px;margin:24px auto 64px;padding:0 20px;box-sizing:border-box}.et-category-content>.et-talent-grid{margin-top:24px!important}
@media(max-width:900px){.et-talent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:480px){.et-talent-grid{grid-template-columns:1fr}.et-filters{gap:12px}.et-filters label{flex-basis:100%}}
.et-header nav a{line-height:1.4}
.et-profile-cta{margin:24px 0!important;font-size:16px!important;letter-spacing:0!important;text-transform:none!important}
.et-form-note,.static-form-status{font:15px/1.6 Lato,sans-serif!important;text-align:left;color:#f1e9f4!important;margin:16px 0!important;width:100%}
.et-form-note a{color:#b9e8cc;text-decoration:underline}
.static-form-status:empty{display:none}
form[aria-busy="true"] button{opacity:.65;cursor:wait}
#et-cookie-panel{position:fixed;z-index:2147483000;bottom:16px;left:16px;right:16px;max-width:600px;margin:0 auto;padding:22px;background:#201525;color:white;border:1px solid #6b5c70;border-radius:8px;box-shadow:0 8px 30px #0008;font:15px/1.6 Lato,sans-serif;box-sizing:border-box}
#et-cookie-panel h2{font:600 20px/1.3 Lato,sans-serif;letter-spacing:0;text-transform:none;color:white;margin:0 0 10px}
#et-cookie-panel p{font:15px/1.6 Lato,sans-serif;color:white;margin:0 0 16px}
#et-cookie-panel a{color:white;text-decoration:underline}
#et-cookie-panel>div{display:flex;gap:12px;flex-wrap:wrap}
#et-cookie-panel button{background:#7cb896;color:#100614;border:1px solid #7cb896;border-radius:4px;padding:12px;font:600 15px/1.4 Poppins,sans-serif;min-height:44px;cursor:pointer;text-transform:none;letter-spacing:0}
#et-cookie-panel button:last-child{background:transparent;color:white}
/* Legacy layout CSS remains during migration; runtime animation is unnecessary. */
.elementor-invisible{visibility:visible!important}.elementor-element{animation:none!important}
.et-logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:center;gap:28px;padding:24px}
.et-logo-grid img{width:100%;max-height:100px;object-fit:contain}
.et-video{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:180px;padding:24px;background:#201525;border:1px solid #493c4d;box-sizing:border-box}
.et-video iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}.et-video p{font-size:14px!important;margin:0!important}.et-video a{color:#b9e8cc;text-decoration:underline}
.et-archive-note{font:16px/1.6 Lato,sans-serif;max-width:70ch;margin:20px auto;padding:0 20px;color:#dcd2e0}
/* Profile names remain complete at narrow widths; existing photography is retained. */
.et-profile-name{font-size:clamp(2.5rem,5.5vw,5.8rem)!important;line-height:1.08!important;text-transform:none!important;overflow-wrap:normal;hyphens:none;letter-spacing:-.02em!important}
.et-profile-topics{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;font:15px/1.5 Lato,sans-serif}
.et-profile-topics a{color:white!important;border:1px solid #a2bcae;padding:8px 12px;border-radius:4px;text-decoration:underline;text-underline-offset:3px;min-height:44px;box-sizing:border-box}
.et-topic-intro,.et-booking-guidance{max-width:850px;margin:24px 0;font-size:18px;line-height:1.65;color:inherit}
.et-booking-guidance h2{font-size:28px!important;line-height:1.3!important;text-transform:none!important}
.et-header nav .et-button{line-height:1.4;min-height:44px;box-sizing:border-box}
.et-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.et-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.et-media-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.et-media-list article{padding:24px;background:var(--et-panel);border:1px solid #66576b}
.et-media-list h3{font-size:22px!important;line-height:1.4!important}
.et-media-list a{display:inline-block;padding:10px 0;text-decoration:underline;color:white}
.et-profile-name{display:inline-block;background:rgba(16,6,20,.82);padding:.1em .18em;border-radius:4px}
.et-profile-topics a{background:#201525}
.et-profile-summary{font-size:clamp(1.35rem,2.6vw,2rem)!important;line-height:1.5!important;text-transform:none!important;letter-spacing:0!important}
.et-home-intro{max-width:500px;margin:0 0 24px;color:white;font-size:19px;line-height:1.55}
.et-home-intro p{margin:0}
.elementor-3050 .elementor-element.elementor-element-2af315a{padding-bottom:40px}
.elementor-3050 .elementor-element.elementor-element-aa2bb36{margin-top:0}
@media(max-width:600px){.et-photo-grid,.et-media-list{grid-template-columns:1fr}.et-profile-topics{gap:6px}.et-profile-topics a{font-size:14px}.et-home-intro{font-size:17px}}
.et-table-scroll{max-width:100%;overflow-x:auto;margin:20px 0}
.et-table-scroll table{min-width:440px;margin:0}
footer#footer h3{font-size:28px!important;line-height:1.3!important;letter-spacing:.02em!important;text-transform:none!important}
.et-optional-details{box-sizing:border-box;width:calc(100% - 20px);margin:12px 10px 24px;color:white;border:1px solid #8d7e92;padding:12px;border-radius:4px}
.et-optional-details summary{cursor:pointer;min-height:44px;display:list-item;padding:10px;font-size:17px;box-sizing:border-box}
.et-optional-fields{display:flex;flex-wrap:wrap;padding-top:16px}
@media(max-width:767px){.et-optional-fields .elementor-field-group{width:100%!important}}
/* Keep profile photography and identity readable on small screens. */
@media(max-width:767px){
 .elementor .elementor-element.et-profile-hero{background-image:none!important;padding:0!important;background-color:#100614!important}
 .et-profile-hero:before{content:"";display:block;width:100%;aspect-ratio:4/3;background-image:var(--et-profile-mobile-image);background-size:cover;background-position:center 30%}
 .et-profile-hero>.elementor-background-overlay{display:none}
 .et-profile-hero>.elementor-container{padding:24px 20px!important}
 .et-profile-hero .elementor-widget-wrap{padding:0!important}
 .et-profile-hero .et-profile-identity{width:100%!important;max-width:100%!important}
 .et-profile-hero .et-profile-name{background:none;padding:0;font-size:40px!important}
 .et-profile-hero .et-profile-topics{margin-bottom:0}
}
.single-event .event-wrapper a.button{background:#7cb896!important;color:#100614!important;font:600 16px/1.5 Poppins,sans-serif!important;padding:12px 24px!important;min-height:48px;box-sizing:border-box;display:inline-block;letter-spacing:0;text-transform:none}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}
.single-event .back-btn{display:inline-block;min-height:44px;padding:10px 24px!important;color:#d7f3e2!important;border:1px solid #7cb896!important;font:16px/1.5 Lato,sans-serif!important;box-sizing:border-box;text-decoration:underline}
/* Remove heavy legacy frames and give long copy a comfortable reading rhythm. */
.elementor-element-751c3cc>.elementor-widget-wrap,.elementor-element-d8b3321>.elementor-widget-wrap,.elementor-element-e51aac8>.elementor-widget-wrap,.elementor-element-92a1a12>.elementor-widget-wrap{border:0!important;padding:32px!important;background:#201525!important}
.elementor-element-cb911a6 .elementor-heading-title,.elementor-element-d8b3321 p{font-size:20px!important;line-height:1.65!important;text-transform:none!important;letter-spacing:0!important}
.elementor-element-e51aac8 .elementor-background-overlay{display:none!important}
.elementor-element-e51aac8 a{color:#c6ebd5!important;text-decoration:underline}
.elementor-element-92a1a12 label{font-size:16px!important;letter-spacing:0!important;text-transform:none!important}
.elementor-element-92a1a12 input,.elementor-element-92a1a12 textarea{font-size:16px!important;color:#100614!important;background:#fff!important}
@media(max-width:767px){.elementor-element-751c3cc>.elementor-widget-wrap,.elementor-element-d8b3321>.elementor-widget-wrap,.elementor-element-e51aac8>.elementor-widget-wrap,.elementor-element-92a1a12>.elementor-widget-wrap{padding:24px!important}}
.elementor-element-92a1a12 label{color:#fff!important}
.elementor-element-92a1a12 input[type=submit]{background:#7cb896!important;color:#100614!important}
.elementor-3050 .elementor-element.elementor-element-838305c,.elementor-3050 .elementor-element.elementor-element-c07613f{background-image:none!important;background-color:#201525!important}
@media(max-width:600px){.et-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:16px}.et-logo-grid img{max-height:80px}}
/* Talent portrait as a real image, so search engines can show it beside profile results. */
.et-profile-hero img.et-profile-portrait{display:block;width:clamp(96px,9vw,136px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;border:3px solid #fff;margin:0 0 18px;box-shadow:0 4px 24px rgba(0,0,0,.35)}
@media(max-width:767px){
 .et-profile-hero:before{display:none}
 .et-profile-hero img.et-profile-portrait{width:calc(100% + 40px);max-width:none;aspect-ratio:4/3;margin:-24px -20px 20px;border:0;border-radius:0;box-shadow:none;object-position:center 30%}
}
/* Appearances: profile lists, archive and generated event pages. */
.et-talent-events .et-events-sub{font:600 20px/1.3 Poppins,sans-serif;color:#fff;margin:28px 0 8px;text-transform:none;letter-spacing:0}
.et-talent-events .nothing-found{font:17px/1.6 Lato,sans-serif;color:#dcd2e0}
.et-talent-events .nothing-found a{color:#d7f3e2;text-decoration:underline}
.single-event .et-event-lede{font:18px/1.6 Lato,sans-serif;color:#efe8f2;max-width:70ch}
.single-event .et-event-source{font:15px/1.6 Lato,sans-serif;color:#c5bbcb}
.single-event .et-event-source a,.single-event .righthalf p a{color:#d7f3e2;text-decoration:underline}
.single-event .et-event-h2{font:600 22px/1.3 Poppins,sans-serif;color:#fff;margin:32px 0 10px;text-transform:none;letter-spacing:0}
.single-event .et-event-more{list-style:none;padding:0;margin:0;font:16px/1.6 Lato,sans-serif}
.single-event .et-event-more li{padding:8px 0;border-bottom:1px solid #36233e}
.single-event .et-event-more a{color:#d7f3e2}
.single-event .et-event-more span{color:#c5bbcb;margin-left:8px;white-space:nowrap}
.single-event .lefthalf img{border-radius:4px;width:100%;max-width:500px;height:auto}
/* Long appearance titles wrap beside the date instead of dropping below it. */
.concerts-list .et-event-card .event-link{display:flex;align-items:center;gap:20px;padding-right:96px;box-sizing:border-box}
.concerts-list .et-event-card .sr-it-event-date{flex:0 0 auto}
.concerts-list .et-event-card .sr_it-event-main{flex:1 1 auto;min-width:0;width:auto}
.concerts-list .et-event-card .sr_it-event-title{display:block;font-size:clamp(18px,2.1vw,28px);overflow-wrap:anywhere}
@media(max-width:600px){.concerts-list .et-event-card .event-link{gap:12px;padding-right:0}.concerts-list .et-event-card .sr_it-event-buttons{display:none}}
.et-events-more summary{cursor:pointer;min-height:44px;padding:10px 0;font:600 17px/1.5 Lato,sans-serif;color:#d7f3e2;text-decoration:underline}
/* Portrait photos in landscape gallery frames: keep faces in view. */
.et-photo-grid img{object-position:center 22%}
