.elementor-146 .elementor-element.elementor-element-95abc4d5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:14px;--padding-bottom:14px;--padding-left:40px;--padding-right:40px;}.elementor-146 .elementor-element.elementor-element-95abc4d5:not(.elementor-motion-effects-element-type-background), .elementor-146 .elementor-element.elementor-element-95abc4d5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#01486D;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-146 .elementor-element.elementor-element-1fe1878c img{width:175px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-menu-toggle{margin:0 auto;}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu .elementor-item{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:14px;font-weight:600;line-height:1.4em;letter-spacing:0.4px;}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;padding-left:12px;padding-right:12px;}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-f2fc744 );fill:var( --e-global-color-f2fc744 );}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-secondary );}.elementor-146 .elementor-element.elementor-element-0a2f6557 .e--pointer-framed .elementor-item:before,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-secondary );}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-cfd4356 );}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:var( --e-global-color-secondary );}.elementor-146 .elementor-element.elementor-element-0a2f6557 .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:var( --e-global-color-secondary );}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown a, .elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-menu-toggle{color:#25302E;fill:#25302E;}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown{background-color:#FFFFFF;}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown a:hover,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown a:focus,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-menu-toggle:hover,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-menu-toggle:focus{color:#01486D;}.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown a:hover,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown a:focus,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-146 .elementor-element.elementor-element-0a2f6557 .elementor-nav-menu--dropdown a.highlighted{background-color:#F4F6F5;}.elementor-146 .elementor-element.elementor-element-0a2f6557 div.elementor-menu-toggle{color:#FFFFFF;}.elementor-146 .elementor-element.elementor-element-0a2f6557 div.elementor-menu-toggle svg{fill:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-146 .elementor-element.elementor-element-5a674c2c .elementor-button{background-color:var( --e-global-color-ceddf69 );font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:15px;font-weight:600;line-height:1.2em;letter-spacing:0.3px;fill:#FFFFFF;color:#FFFFFF;border-radius:2px 2px 2px 2px;padding:14px 26px 14px 26px;}.elementor-146 .elementor-element.elementor-element-5a674c2c .elementor-button:hover, .elementor-146 .elementor-element.elementor-element-5a674c2c .elementor-button:focus{background-color:var( --e-global-color-primary );color:#FFFFFF;}.elementor-146 .elementor-element.elementor-element-5a674c2c .elementor-button:hover svg, .elementor-146 .elementor-element.elementor-element-5a674c2c .elementor-button:focus svg{fill:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-146 .elementor-element.elementor-element-1fe1878c{width:var( --container-widget-width, 160px );max-width:160px;--container-widget-width:160px;--container-widget-flex-grow:0;text-align:start;}.elementor-146 .elementor-element.elementor-element-1fe1878c img{width:100%;}}@media(min-width:768px){.elementor-146 .elementor-element.elementor-element-95abc4d5{--content-width:1400px;}}@media(max-width:767px){.elementor-146 .elementor-element.elementor-element-95abc4d5{--justify-content:space-between;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-146 .elementor-element.elementor-element-1fe1878c{width:var( --container-widget-width, 114px );max-width:114px;--container-widget-width:114px;--container-widget-flex-grow:0;}.elementor-146 .elementor-element.elementor-element-1fe1878c img{width:100%;}.elementor-146 .elementor-element.elementor-element-0a2f6557{width:var( --container-widget-width, 30px );max-width:30px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:30px;--container-widget-flex-grow:0;}}
.elementor-149 .elementor-element.elementor-element-fef13e54{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:64px;--padding-bottom:26px;--padding-left:40px;--padding-right:40px;}.elementor-149 .elementor-element.elementor-element-fef13e54:not(.elementor-motion-effects-element-type-background), .elementor-149 .elementor-element.elementor-element-fef13e54 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#01486D;}.elementor-149 .elementor-element.elementor-element-734468d8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:36px 36px;--row-gap:36px;--column-gap:36px;--flex-wrap:wrap;}.elementor-149 .elementor-element.elementor-element-158861c2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-149 .elementor-element.elementor-element-b4b6108c{text-align:start;}.elementor-149 .elementor-element.elementor-element-b4b6108c img{width:160px;}.elementor-149 .elementor-element.elementor-element-6e637844{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-149 .elementor-element.elementor-element-425bb34f .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;text-decoration:underline;line-height:1.4em;letter-spacing:2px;-webkit-text-stroke-color:#000;stroke:#000;color:#FFFFFF;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(11px/2);}.elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(11px/2);}.elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(11px/2);}.elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-11px/2);}.elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-11px/2);}.elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-149 .elementor-element.elementor-element-dbc26675{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-item > a{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:400;line-height:1.5em;}.elementor-149 .elementor-element.elementor-element-dbc26675 .elementor-icon-list-text{color:#CFE0E8;transition:color 0.3s;}.elementor-149 .elementor-element.elementor-element-23068b94{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-149 .elementor-element.elementor-element-e6790e8f .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;text-decoration:underline;line-height:1.4em;letter-spacing:2px;-webkit-text-stroke-color:#000;stroke:#000;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-149 .elementor-element.elementor-element-85dbaafa{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:400;line-height:1.6em;color:#CFE0E8;}.elementor-149 .elementor-element.elementor-element-164f3e16{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-149 .elementor-element.elementor-element-572664ce .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;text-decoration:underline;line-height:1.4em;letter-spacing:2px;-webkit-text-stroke-color:#000;stroke:#000;color:#FFFFFF;}.elementor-149 .elementor-element.elementor-element-bd8d7cb2{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:400;line-height:1.6em;color:#CFE0E8;}.elementor-149 .elementor-element.elementor-element-09f3eb7e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-149 .elementor-element.elementor-element-3c6766da .elementor-heading-title{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;text-decoration:underline;line-height:1.4em;letter-spacing:2px;-webkit-text-stroke-color:#000;stroke:#000;color:#FFFFFF;}.elementor-149 .elementor-element.elementor-element-2ea385ee{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:400;line-height:1.6em;color:#CFE0E8;}.elementor-149 .elementor-element.elementor-element-ac0da8d9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--flex-wrap:wrap;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:rgba(255,255,255,0.16);--border-color:rgba(255,255,255,0.16);--margin-top:34px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:22px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-149 .elementor-element.elementor-element-6cee868e{font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:400;line-height:1.5em;color:#9FC0CD;}.elementor-149 .elementor-element.elementor-element-77539632{text-align:end;font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:400;line-height:1.5em;color:#9FC0CD;}.elementor-149 .elementor-element.elementor-element-7caadf9{text-align:end;font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:13px;font-weight:400;line-height:1.5em;color:#9FC0CD;}.elementor-149 .elementor-element.elementor-element-15187c33{text-align:center;font-family:"Poppins","Poppins Fallback", Sans-serif;font-size:10px;font-weight:400;line-height:1.5em;color:#9FC0CD;}.elementor-149 .elementor-element.elementor-element-15187c33 a{color:var( --e-global-color-cfd4356 );}.elementor-149 .elementor-element.elementor-element-15187c33 a:hover, .elementor-149 .elementor-element.elementor-element-15187c33 a:focus{color:var( --e-global-color-f2fc744 );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-149 .elementor-element.elementor-element-fef13e54{--content-width:1400px;}.elementor-149 .elementor-element.elementor-element-158861c2{--width:20%;}.elementor-149 .elementor-element.elementor-element-6e637844{--width:15%;}.elementor-149 .elementor-element.elementor-element-23068b94{--width:18%;}.elementor-149 .elementor-element.elementor-element-164f3e16{--width:18%;}.elementor-149 .elementor-element.elementor-element-09f3eb7e{--width:14%;}}@media(max-width:1024px) and (min-width:768px){.elementor-149 .elementor-element.elementor-element-158861c2{--width:100%;}.elementor-149 .elementor-element.elementor-element-6e637844{--width:48%;}.elementor-149 .elementor-element.elementor-element-23068b94{--width:48%;}.elementor-149 .elementor-element.elementor-element-164f3e16{--width:48%;}.elementor-149 .elementor-element.elementor-element-09f3eb7e{--width:48%;}}@media(max-width:767px){.elementor-149 .elementor-element.elementor-element-fef13e54{--padding-top:64px;--padding-bottom:48px;--padding-left:20px;--padding-right:20px;}.elementor-149 .elementor-element.elementor-element-6e637844{--width:100%;}.elementor-149 .elementor-element.elementor-element-23068b94{--width:100%;}.elementor-149 .elementor-element.elementor-element-164f3e16{--width:100%;}.elementor-149 .elementor-element.elementor-element-09f3eb7e{--width:100%;}.elementor-149 .elementor-element.elementor-element-ac0da8d9{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:5px;--padding-right:0px;}}
/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* =========================================================================
   ACO — COMPLETE SITE STYLESHEET
   Paste ONCE into Site Settings → Custom CSS. Single source for all custom /
   HTML-widget styling. Widgets hold clean class-based HTML only — no <style>
   blocks, no inline styles. Native widgets use the Global Colors/Fonts panel.
   Page-specific IMAGES (hero slides, band layers, banner photo) stay on their
   own widget/page as noted; everything else lives here.
   ========================================================================= */

/* ============================ 1 · BRAND TOKENS ============================ */
:root{
  --aco-navy:#01486D;
  --aco-navy-deep:#013250;
  --aco-teal:#3CA9A6;
  --aco-accent:#2C7E7B;
  --aco-ink:#25302E;
  --aco-white:#FFFFFF;
  --aco-pearl:#F4F6F5;
  --aco-line:#D6E1DD;
  --aco-light-blue:#c7e2f6;              /* confirmed by Syd 2026-07-15 */
  --aco-display:"Playfair Display", Georgia, "Times New Roman", serif;   /* Kim: serif sub-heads, Garamond-style */
  --aco-body:"Poppins", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;  /* Kim: sans body (brand font) */
  --aco-radius:2px;
  --aco-ease:cubic-bezier(0.22,0.61,0.36,1);
}

/* ============================ 2 · BUTTONS ================================ */
.aco-btn{ display:inline-block; font-family:var(--aco-body); font-weight:600; font-size:14px;
  letter-spacing:.8px; text-transform:uppercase; text-decoration:none; padding:14px 26px;
  border-radius:var(--aco-radius); transition:background .25s ease,color .25s ease; cursor:pointer; }
.aco-btn--primary,
.aco-btn--solid{ background:var(--aco-navy); color:#fff !important; }        /* primary = navy */
.aco-btn--primary:hover,
.aco-btn--solid:hover{ background:var(--aco-navy-deep); color:#fff !important; }
.aco-btn--teal{ background:var(--aco-teal); color:#fff !important; }         /* e.g. Buy Tickets */
.aco-btn--teal:hover{ background:var(--aco-accent); color:#fff !important; }
.aco-btn--ghost{ background:transparent; color:#fff !important; border:1px solid #fff; }
.aco-btn--ghost:hover{ background:#fff; color:var(--aco-navy) !important; }

/* ============================ 3 · HOME HERO ============================== */
/* Images + focal now live HERE (widget is clean HTML only). To swap an image,
   copy the Media Library URL into the matching s1..s4 rule. To re-frame, change
   the background-position X% Y% (X=left/right, Y=up/down) per breakpoint.        */
.aco-hero .s1{ }
.aco-hero .s2{ }
.aco-hero .s3{ }
.aco-hero .s4{ }
/* focal — desktop */
.aco-hero .s1{ background-position:50% 22%; }
.aco-hero .s2{ background-position:50% 37%; }
.aco-hero .s3{ background-position:70% 70%; }
.aco-hero .s4{ background-position:80% 35%; }
/* focal — tablet */
@media (max-width:1024px){
  .aco-hero .s1{ background-position:55% 15%; }
  .aco-hero .s2{ background-position:50% 75%; }
  .aco-hero .s3{ background-position:80% 20%; }
  .aco-hero .s4{ background-position:70% 60%; }
}
/* focal — mobile */
@media (max-width:760px){
  .aco-hero .s1{ background-position:67% 35%; }
  .aco-hero .s2{ background-position:20% 35%; }
  .aco-hero .s3{ background-position:64% 12%; }
  .aco-hero .s4{ background-position:30% 30%; }
}
.aco-hero{ position:relative; min-height:58vh; overflow:hidden; display:grid; align-items:end; }
@media (max-width:760px){ .aco-hero{ min-height:74vh; } }
.aco-hero__stage{ position:absolute; inset:0; }
.aco-hero__slide{ position:absolute; inset:0; background-size:cover; background-repeat:no-repeat;
  background-color:var(--aco-navy-deep); opacity:0; animation:aco-fade 32s infinite; }
.aco-hero__slide.s1{ animation-delay:0s; }
.aco-hero__slide.s2{ animation-delay:8s; }
.aco-hero__slide.s3{ animation-delay:16s; }
.aco-hero__slide.s4{ animation-delay:24s; }
@keyframes aco-fade{ 0%{opacity:0} 4%{opacity:1} 22%{opacity:1} 28%{opacity:0} 100%{opacity:0} }
.aco-hero__scrim{ position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(1,50,80,.28) 0%, rgba(1,50,80,.42) 45%, rgba(1,40,64,.86) 100%); }
.aco-hero__inner{ position:relative; z-index:2; max-width:64rem;
  padding:clamp(2.5rem,5vw,5rem) clamp(1.25rem,5vw,4rem); }
.aco-hero__inner h1{ font-family:var(--aco-display); font-weight:600; font-size:clamp(2rem,5vw,3.6rem);
  line-height:1.1; color:#fff; margin:0 0 1rem; text-shadow:0 2px 24px rgba(0,0,0,.35); }
.aco-hero__inner p{ font-family:var(--aco-body); font-weight:500; font-size:clamp(1.05rem,2vw,1.35rem);
  line-height:1.7; color:#fff; max-width:46ch; margin:0 0 2rem; text-shadow:0 1px 12px rgba(0,0,0,.45); }
.aco-hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; }
@media (prefers-reduced-motion:reduce){ .aco-hero__slide{ animation:none; } .aco-hero__slide.s1{ opacity:1; } }

/* ======================= 4 · MASTERWORKS BAND (home) ==================== */
/* PAGE-SPECIFIC: put the layer images + focal on the band widget, e.g.
   .mw-layer.l0{ background-image:url('/wp-content/themes/hello-theme-child-master/assets/…david-amado-grayscale.jpg'); background-position:50% 32%; }
   .mw-layer.l1..l4{ background-image:url('/wp-content/themes/hello-theme-child-master/assets/…masterworks-N.jpg'); }                */
.mw-band{ background:var(--aco-navy-deep);
  width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); overflow:hidden; }
.mw-head{ text-align:center; padding:64px 20px 36px; }
.mw-head .mw-eyebrow-top{ font-family:var(--aco-body); font-weight:600; font-size:13px; letter-spacing:2px;
  text-transform:uppercase; color:var(--aco-teal); margin:0 0 10px; }
.mw-head h2{ font-family:var(--aco-display); font-weight:600; font-size:clamp(1.8rem,4vw,2.6rem); color:#fff; margin:0; }
.mw-grid{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:0; overflow:hidden; }
.mw-stage{ position:absolute; inset:0; z-index:0; }
.mw-layer{ position:absolute; inset:0; background-size:cover; background-repeat:no-repeat; opacity:0;
  transform:scale(1); transition:opacity .6s ease, transform 6s ease; }
.mw-layer.l0{ opacity:1; }
.mw-grid:has(a.mw-card:nth-of-type(1):hover) .l0{ opacity:0; }
.mw-grid:has(a.mw-card:nth-of-type(1):hover) .l1{ opacity:1; transform:scale(1.07); }
.mw-grid:has(a.mw-card:nth-of-type(2):hover) .l0{ opacity:0; }
.mw-grid:has(a.mw-card:nth-of-type(2):hover) .l2{ opacity:1; transform:scale(1.07); }
.mw-grid:has(a.mw-card:nth-of-type(3):hover) .l0{ opacity:0; }
.mw-grid:has(a.mw-card:nth-of-type(3):hover) .l3{ opacity:1; transform:scale(1.07); }
.mw-grid:has(a.mw-card:nth-of-type(4):hover) .l0{ opacity:0; }
.mw-grid:has(a.mw-card:nth-of-type(4):hover) .l4{ opacity:1; transform:scale(1.07); }
.mw-card{ position:relative; z-index:1; display:flex; flex-direction:column; justify-content:flex-start;
  min-height:720px; text-decoration:none; overflow:hidden; background:transparent; }
.mw-card + .mw-card{ border-left:1px solid rgba(255,255,255,.28); }
.mw-card::before{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(1,50,80,.10) 0%, rgba(1,40,64,.52) 100%); }
.mw-card__text{ position:relative; z-index:2; padding:26px 26px 20px; }
.mw-card__text::before{ content:""; position:absolute; inset:0; z-index:-1; background:#fff;
  transform:scaleY(0); transform-origin:top; transition:transform .45s var(--aco-ease); }
.mw-card:hover .mw-card__text::before{ transform:scaleY(1); }
.mw-eyebrow{ display:block; font-family:var(--aco-body); font-weight:600; font-size:12px; letter-spacing:1.8px;
  text-transform:uppercase; color:#fff; margin-bottom:8px; transition:color .35s ease .08s; }
.mw-title{ display:block; font-family:var(--aco-display); font-weight:600; font-size:1.35rem; line-height:1.25;
  color:#fff; transition:color .35s ease .08s; }
.mw-card:hover .mw-eyebrow{ color:var(--aco-teal); }
.mw-card:hover .mw-title{ color:var(--aco-navy); }
.mw-cue{ position:absolute; right:22px; bottom:20px; z-index:3; font-family:var(--aco-body); font-weight:500;
  font-size:12px; letter-spacing:1.2px; text-transform:uppercase; color:#fff; opacity:0; transform:translateY(4px);
  transition:opacity .3s ease .05s, transform .3s ease .05s; }
.mw-card:hover .mw-cue{ opacity:1; transform:translateY(0); }
@media (max-width:1024px){ .mw-grid{ grid-template-columns:repeat(2,1fr); } .mw-card{ min-height:520px; } }
@media (max-width:600px){  .mw-grid{ grid-template-columns:1fr; }        .mw-card{ min-height:440px; } }

/* ======================= 5 · INNER-PAGE BANNER ========================== */
/* PAGE-SPECIFIC: set the photo per page — either the page Featured Image via
   Theme Builder, or on the banner widget: .aco-banner{ background-image:url('/wp-content/themes/hello-theme-child-master/assets/…'); } */
.aco-banner{ position:relative; width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  min-height:38vh; display:flex; align-items:flex-end; overflow:hidden;
  background-size:cover; background-position:50% 40%; background-color:var(--aco-navy-deep); }
.aco-banner__scrim{ position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(1,50,80,.25) 0%, rgba(1,40,64,.80) 100%); }
.aco-banner__inner{ position:relative; z-index:2; width:100%; max-width:1100px; margin:0 auto;
  padding:0 clamp(1.25rem,5vw,4rem) clamp(2rem,4vw,3.25rem); }
.aco-crumb{ font-family:var(--aco-body); font-size:12px; font-weight:600; letter-spacing:1.4px;
  text-transform:uppercase; color:#cfe0e8; margin-bottom:14px; }
.aco-crumb i{ color:var(--aco-teal); font-style:normal; margin:0 6px; }
.aco-banner h1{ font-family:var(--aco-display); font-weight:600; font-size:clamp(2rem,5vw,3.2rem);
  line-height:1.08; color:#fff; margin:0; text-shadow:0 2px 20px rgba(0,0,0,.3); }
.aco-banner__sub{ font-family:var(--aco-display); font-style:italic; font-size:clamp(1.1rem,2vw,1.4rem);
  color:var(--aco-pearl); margin:.5rem 0 0; }

/* ======================= 6 · INNER-PAGE CONTENT ========================= */
.aco-content{ max-width:1000px; margin:0 auto; padding:clamp(2rem,4vw,3.5rem) clamp(1.25rem,4vw,2rem); }
.aco-lead{ font-family:var(--aco-body); font-weight:300; font-size:1.05rem; line-height:1.65;
  color:var(--aco-ink); max-width:62ch; margin:0 0 2rem; }
.aco-body{ font-family:var(--aco-body); font-weight:400; font-size:1rem; line-height:1.7; color:var(--aco-ink); }
.aco-body p{ margin:0 0 1.1rem; }

/* ======================= 7 · CONCERT LIST (series pages) ================ */
.aco-concerts{ border-top:1px solid var(--aco-line); }
.aco-concert{ display:grid; grid-template-columns:140px 1fr auto; align-items:center; gap:24px;
  padding:26px 16px; text-decoration:none; border-bottom:1px solid var(--aco-line); transition:background-color .3s ease; }
.aco-concert:hover{ background:var(--aco-light-blue); }
.aco-concert__month{ font-family:var(--aco-body); font-weight:600; font-size:13px; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--aco-teal); }
.aco-concert__title{ display:block; font-family:var(--aco-display); font-weight:600; font-size:1.5rem;
  line-height:1.2; color:var(--aco-navy); margin-bottom:4px; }
.aco-concert__desc{ display:block; font-family:var(--aco-body); font-weight:300; font-size:1rem;
  line-height:1.6; color:var(--aco-ink); }
.aco-concert__link{ font-family:var(--aco-body); font-weight:600; font-size:13px; letter-spacing:.6px;
  text-transform:uppercase; color:var(--aco-accent); white-space:nowrap; transition:transform .3s ease, color .3s ease; }
.aco-concert:hover .aco-concert__link{ color:var(--aco-navy); transform:translateX(3px); }
@media (max-width:640px){ .aco-concert{ grid-template-columns:1fr; gap:6px; padding:22px 10px; }
  .aco-concert__link{ margin-top:8px; } }

/* ======================= 8 · REPERTOIRE / PROGRAM ====================== */
.aco-program{ list-style:none; margin:0; padding:0; }
.aco-program li{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:.8rem 0; border-bottom:1px solid var(--aco-line); }
.aco-program li:first-child{ border-top:1px solid var(--aco-line); }
.aco-program__work{ font-family:var(--aco-display); font-size:1rem; line-height:1.4; color:var(--aco-navy); }
.aco-program__work em{ font-style:italic; }
.aco-program__composer{ display:block; margin-bottom:3px; font-family:var(--aco-body); font-weight:600;
  font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--aco-teal); }
.aco-program__dur{ flex:none; font-family:var(--aco-body); font-size:.8rem; font-weight:600;
  letter-spacing:.5px; color:var(--aco-teal); }
/* compact: tighter rows for long programs in a narrow column (e.g. Holiday) */
.aco-program--compact li{ padding:.38rem 0; }
.aco-program--compact .aco-program__composer{ margin-bottom:1px; }
.aco-program--compact .aco-program__work{ line-height:1.25; }
/* long programs at full width: two columns on desktop, one on mobile */
@media (min-width:768px){
  .aco-program--2col{ columns:2; column-gap:2.75rem; }
  .aco-program--2col li{ break-inside:avoid; }
  .aco-program--2col li:first-child{ border-top:0; }
}

/* ======================= 9 · INFO BLOCKS =============================== */
.aco-label{ font-family:var(--aco-body); font-size:.8rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--aco-teal); margin:0 0 .5rem; }
.aco-label--encore{ color:var(--aco-accent); margin-top:1.6rem; }   /* deep green + breathing room above */
.aco-stack{ font-family:var(--aco-body); font-size:.95rem; line-height:1.6; color:var(--aco-ink); margin:0 0 1.1rem; }
.aco-stack + .aco-label{ margin-top:1.4rem; }

/* On-Sale / key-dates list — clean lines, no markers */
.aco-keydates{ list-style:none; margin:0 0 1.25rem; padding:0; }
.aco-keydates li{ font-family:var(--aco-body); font-size:.95rem; line-height:1.55;
  color:var(--aco-ink); padding:.3rem 0; }
.aco-keydates + .aco-btn{ margin-top:.5rem; }

/* Dates & Locations — one elegant block per performance */
.aco-perf{ padding:1rem 0 1.15rem; border-bottom:1px solid var(--aco-line); }
.aco-perf:first-of-type{ border-top:1px solid var(--aco-line); }
.aco-perf__date{ font-family:var(--aco-body); font-weight:600; font-size:.78rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--aco-teal); margin:0 0 .25rem; }
.aco-perf__venue{ font-family:var(--aco-display); font-size:1.1rem; line-height:1.3;
  color:var(--aco-navy); margin:0 0 .7rem; }
.aco-perf__venue:empty{ display:none; }   /* collapse the line when no venue name is set */
.aco-perf:has(.aco-perf__time) .aco-perf__venue{ margin-bottom:.15rem; }
.aco-perf__time{ font-family:var(--aco-body); font-size:.9rem; line-height:1.4;
  color:var(--aco-ink); margin:0 0 .8rem; }
.aco-perf .aco-btn{ margin:0; }
.aco-perf + .aco-label{ margin-top:1.75rem; }

/* small button (sidebar) */
.aco-btn--sm{ padding:10px 18px; font-size:12px; }

/* ======================= 10 · ON-DARK HELPERS ========================== */
/* Add class="aco-on-dark" to any content block sitting on a navy/dark panel
   so its headings, labels and body text flip to white/pearl for legibility.  */
.aco-on-dark h1, .aco-on-dark h2, .aco-on-dark h3,
.aco-on-dark .aco-section-title,
.aco-on-dark .aco-program__work,
.aco-on-dark .aco-card__title{ color:#fff !important; }
.aco-on-dark .aco-label,
.aco-on-dark .aco-program__composer,
.aco-on-dark .aco-program__dur{ color:#fff !important; }
.aco-on-dark .aco-lead,
.aco-on-dark .aco-stack,
.aco-on-dark .aco-body{ color:var(--aco-pearl) !important; }

/* ======================= 11 · CARDS & LINKS ============================ */
.aco-card__link{ display:inline-block; text-decoration:none; }

/* inline arrow link (Concert details →, Read →, Explore →, Join →) — no box */
.aco-link{ display:inline-block; font-family:var(--aco-body); font-weight:600; font-size:.9rem;
  letter-spacing:.02em; color:var(--aco-accent); text-decoration:none;
  transition:color .25s ease; }
.aco-link:hover{ color:var(--aco-navy); }

/* ======================= 12 · MENU / DROPDOWN FIX ====================== */
/* Page sections use CSS transforms (hero/band) which create stacking contexts
   that can float above the dropdown. Header must win with a high z-index and
   the dropdown needs continuous hover (no dead zones).                        */
.elementor-location-header,
header.elementor-location-header,
.elementor-location-header > .elementor{ position:relative; z-index:999 !important; }
.elementor-nav-menu .sub-menu,
.elementor-nav-menu--main .elementor-nav-menu--dropdown{ z-index:1000 !important; }
.elementor-location-header,
.elementor-location-header .elementor-nav-menu,
.elementor-location-header .elementor-widget-container{ overflow:visible !important; }
.elementor-nav-menu .sub-menu{ overflow:visible !important; transition-delay:0s !important; padding:6px 0 !important; }
.elementor-nav-menu .sub-menu li{ margin:0 !important; }
.elementor-nav-menu .sub-menu li a{ margin:0 !important; padding:12px 22px !important; line-height:1.3 !important; }
.elementor-nav-menu > li{ position:relative; }
.elementor-nav-menu > li.menu-item-has-children:hover::after{
  content:""; position:absolute; left:0; right:0; top:100%; height:26px; }

/* ======================= 13 · FIGURES (Legacy etc.) =================== */
.aco-figure{ max-width:840px; margin:2rem auto; text-align:center; }
.aco-figure img{ width:100%; height:auto; display:block; border-radius:var(--aco-radius); }
.aco-figure figcaption{ font-family:var(--aco-body); font-style:italic; font-size:.85rem;
  color:var(--aco-teal); margin-top:.75rem; }

/* ======================= 14 · EDITORIAL LAYOUT ======================== */
/* Magazine-style body: a captioned photo floats and the text wraps around it.
   Add class="aco-editorial__figure--left" on the <figure> to float it left.    */
.aco-editorial{ max-width:1600px; margin:0 auto;
  padding:clamp(1.5rem,4vw,2.75rem) clamp(1.25rem,4vw,2rem);
  font-family:var(--aco-body); color:var(--aco-ink); }
.aco-editorial::after{ content:""; display:block; clear:both; }   /* contain the float */

.aco-editorial__title{ font-family:var(--aco-display); font-weight:600;
  font-size:clamp(1.35rem,2.4vw,1.7rem); line-height:1.2; color:var(--aco-navy); margin:0 0 .6rem; }
.aco-editorial__lead{ font-family:var(--aco-display); font-style:italic;
  font-size:clamp(1.05rem,1.6vw,1.2rem); line-height:1.5; color:var(--aco-accent); margin:0 0 1.5rem; }

.aco-editorial__figure{ float:right; width:38%; max-width:440px; margin:.3rem 0 1.2rem 2.4rem; }
.aco-editorial__figure--left{ float:left; margin:.3rem 2.4rem 1.2rem 0; }
.aco-editorial__figure img{ width:100%; height:auto; display:block; border-radius:var(--aco-radius); }
.aco-editorial__figure figcaption{ font-family:var(--aco-display); font-style:italic;
  font-size:.9rem; line-height:1.45; color:var(--aco-accent);
  margin-top:.7rem; padding-left:.9rem; border-left:2px solid var(--aco-line); }

.aco-editorial p{ font-size:1rem; line-height:1.75; margin:0 0 1.2rem; }

/* editorial sub-heads, group labels, notes, lists, links */
.aco-editorial__subhead{ font-family:var(--aco-display); font-weight:600; font-size:1.35rem;
  line-height:1.2; color:var(--aco-navy); margin:2rem 0 .5rem; }
.aco-editorial__note{ font-style:italic; color:var(--aco-ink); opacity:.85; margin:0 0 1rem; }
.aco-editorial__grouplabel{ font-family:var(--aco-body); font-weight:600; font-size:.8rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--aco-teal); margin:1.4rem 0 .55rem; }
.aco-editorial ul{ list-style:none; margin:0 0 1.3rem; padding:0; }
.aco-editorial li{ position:relative; padding:.28rem 0 .28rem 1.5rem; line-height:1.6; }
.aco-editorial li::before{ content:"\2014"; position:absolute; left:0; color:var(--aco-teal); }
.aco-editorial a{ color:var(--aco-accent); text-decoration:underline; text-underline-offset:2px;
  transition:color .2s ease; }
.aco-editorial a:hover{ color:var(--aco-navy); }

@media (max-width:640px){
  .aco-editorial__figure,
  .aco-editorial__figure--left{ float:none; width:100%; max-width:none; margin:0 0 1.5rem; }
}

/* ======================= 15 · GUEST ARTISTS (body list) =============== */
/* Clean, no-bullet list for guest artists on concert detail pages.
   Name in serif navy, instrument in italic accent. Reusable on Masterworks. */
ul.aco-artists{ list-style:none; margin:0 0 1.75rem; padding:0; }
ul.aco-artists li{ padding:.6rem 0; border-bottom:1px solid var(--aco-line); line-height:1.35; }
ul.aco-artists li:first-child{ border-top:1px solid var(--aco-line); }
.aco-artists__name{ font-family:var(--aco-display); font-size:1.15rem; color:var(--aco-navy); }
.aco-artists__inst{ font-family:var(--aco-body); font-style:italic; font-size:.9rem;
  color:var(--aco-accent); margin-left:.4rem; }

/* ======================= 16 · PROSE / TEXT PAGES ===================== */
/* FAQ, Privacy, Cookie policy, and any long text page. Em-dash list marker
   (no dots). Wrap the page content in <div class="aco-prose"> … </div>.       */
.aco-prose{ max-width:820px; margin:0 auto;
  padding:clamp(1.5rem,4vw,2.75rem) clamp(1.25rem,4vw,2rem);
  font-family:var(--aco-body); color:var(--aco-ink); }
.aco-prose > p{ font-size:1rem; line-height:1.75; margin:0 0 1.2rem; }
.aco-prose__intro{ font-size:1.08rem; line-height:1.7; color:var(--aco-ink); margin:0 0 1.75rem; }
.aco-prose h2{ font-family:var(--aco-display); font-weight:600; font-size:clamp(1.5rem,3vw,2rem);
  line-height:1.2; color:var(--aco-navy); margin:0 0 1rem; }
.aco-prose h3{ font-family:var(--aco-display); font-weight:600; font-size:1.25rem;
  line-height:1.3; color:var(--aco-navy); margin:2rem 0 .55rem; }
.aco-prose ul{ list-style:none; margin:0 0 1.3rem; padding:0; }
.aco-prose li{ position:relative; padding:.3rem 0 .3rem 1.4rem; line-height:1.6; }
.aco-prose li::before{ content:"\2014"; position:absolute; left:0; color:var(--aco-teal); }
.aco-prose a{ color:var(--aco-accent); text-decoration:underline; text-underline-offset:2px;
  transition:color .2s ease; }
.aco-prose a:hover{ color:var(--aco-navy); }
.aco-prose__updated{ font-size:.85rem; font-style:italic; color:var(--aco-ink);
  opacity:.75; margin:2.5rem 0 0; }
  /* ======================= 17 · ADVERTISING ============================== */
/* Rate card, advertiser perks, and PDF download row. The table is semantic
   on purpose: these prices previously existed only inside a PDF, where
   search engines and AI assistants could not reach them.                   */

.aco-rates{ width:100%; border-collapse:collapse; margin:0 0 1rem;
  font-family:var(--aco-body); color:var(--aco-ink); }
.aco-rates caption{ text-align:left; font-family:var(--aco-body); font-weight:600;
  font-size:.8rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--aco-teal); padding:0 0 .75rem; }
.aco-rates th, .aco-rates td{ text-align:left; padding:.85rem .9rem;
  border-bottom:1px solid var(--aco-line); font-size:.95rem; line-height:1.5; }
.aco-rates thead th{ font-weight:600; font-size:.75rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--aco-teal); }
.aco-rates tbody th{ font-family:var(--aco-display); font-weight:600;
  font-size:1.05rem; color:var(--aco-navy); }
.aco-rates__price{ font-weight:600; color:var(--aco-navy); white-space:nowrap; }
.aco-rates__dim{ opacity:.85; }
.aco-rates tbody tr:hover{ background:var(--aco-light-blue); }
.aco-rates__note{ font-size:.85rem; font-style:italic; opacity:.8; margin:0 0 2rem; }

@media (max-width:680px){
  .aco-rates thead{ position:absolute; width:1px; height:1px;
    overflow:hidden; clip-path:inset(50%); }
  .aco-rates tbody tr{ display:block; padding:.9rem 0;
    border-bottom:1px solid var(--aco-line); }
  .aco-rates tbody th, .aco-rates td{ display:block; border:0; padding:.15rem 0; }
  .aco-rates td::before{ content:attr(data-label) " "; display:block;
    font-weight:600; font-size:.7rem; letter-spacing:.1em;
    text-transform:uppercase; color:var(--aco-teal); }
}

/* advertiser perks — three short blocks */
.aco-perks{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; margin:0 0 2rem; }
.aco-perks__item{ border-top:2px solid var(--aco-teal); padding-top:1rem; }
.aco-perks__title{ font-family:var(--aco-display); font-weight:600; font-size:1.15rem;
  line-height:1.25; color:var(--aco-navy); margin:0 0 .5rem; }
.aco-perks__item p{ font-family:var(--aco-body); font-size:.95rem; line-height:1.65;
  color:var(--aco-ink); margin:0; }
@media (max-width:860px){ .aco-perks{ grid-template-columns:1fr; gap:1.5rem; } }

/* PDF download row */
.aco-downloads{ display:flex; flex-wrap:wrap; gap:1rem; margin:.5rem 0 1.25rem; }
.aco-downloads .aco-btn{ margin:0; }

/* ======================= 18 · EDITORIAL SPLIT ========================= */
/* For portrait artwork (book covers, posters) where a float would leave a
   tall dead column. Title and lead span the full width; figure and copy sit
   side by side and stack on small screens.                                 */
.aco-editorial--split{ display:grid;
  grid-template-columns:minmax(220px,330px) 1fr;
  gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.aco-editorial--split .aco-editorial__title,
.aco-editorial--split .aco-editorial__lead{ grid-column:1 / -1; }
.aco-editorial--split .aco-editorial__figure,
.aco-editorial--split .aco-editorial__figure--left{ float:none; width:100%;
  max-width:none; margin:0; }
.aco-editorial--split .aco-editorial__copy > p:first-child{ margin-top:0; }
@media (max-width:760px){
  .aco-editorial--split{ grid-template-columns:1fr; }
  .aco-editorial--split .aco-editorial__figure{ max-width:330px; }
}
/* 18b · stacked editorial blocks ---------------------------------------- */
/* The float-clearing ::after becomes a stray grid item in --split, adding a
   phantom row. Kill it there, and collapse the doubled padding where two
   editorial blocks sit in consecutive widgets.                            */
.aco-editorial--split::after{ content:none; }
.aco-editorial--split{ padding-bottom:0; }
.aco-editorial--split .aco-editorial__figure{ max-width:220px; }
.aco-editorial--flush{ padding-top:1.5rem; }
.aco-editorial--flush > :first-child{ margin-top:0; }

/* 18b · stacked editorial blocks ---------------------------------------- */
/* The float-clearing ::after becomes a stray grid item in --split, adding a
   phantom row. Kill it there, and collapse the doubled padding where two
   editorial blocks sit in consecutive widgets.                            */
.aco-editorial--split::after{ content:none; }
.aco-editorial--split{ padding-bottom:0; }
.aco-editorial--split .aco-editorial__figure{ max-width:220px; }
.aco-editorial--flush{ padding-top:1.5rem; }
.aco-editorial--flush > :first-child{ margin-top:0; }
.aco-editorial--split .aco-editorial__copy{ max-width:62ch; }

/* 18c · Kim's layout for Advertising: cover left, entire copy block right */
.aco-editorial--split{ grid-template-columns:minmax(260px,340px) 1fr; }
.aco-editorial--split .aco-editorial__figure{ max-width:340px; }
.aco-editorial--split .aco-editorial__copy{ max-width:none; }
.aco-editorial--split .aco-editorial__copy > p{ max-width:70ch; }
.aco-editorial--split .aco-editorial__copy > .aco-editorial__title{ margin-top:0; }
@media (max-width:1200px){
  .aco-editorial--split .aco-perks{ grid-template-columns:1fr; }
}

/* buttons inside editorial/prose blocks must not inherit the link underline */
.aco-editorial a.aco-btn,
.aco-prose a.aco-btn{ text-decoration:none; }
.aco-editorial a.aco-btn:hover,
.aco-prose a.aco-btn:hover{ text-decoration:none; }

/* ======================= 19 · POST LIST =============================== */
/* Output of [aco_posts]. Used on Inside the Score and News.              */
.aco-postlist{ display:grid; grid-template-columns:repeat(3,1fr);
  gap:2rem 1.75rem; margin:2rem 0 0; }
@media (max-width:1024px){ .aco-postlist{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){  .aco-postlist{ grid-template-columns:1fr; } }

.aco-postcard{ background:var(--aco-white); border:1px solid var(--aco-line);
  border-radius:var(--aco-radius); overflow:hidden;
  transition:border-color .25s ease, transform .25s var(--aco-ease); }
.aco-postcard:hover{ border-color:var(--aco-teal); transform:translateY(-2px); }
.aco-postcard__link{ display:flex; flex-direction:column; height:100%;
  text-decoration:none !important; color:inherit; }
.aco-postcard__media{ aspect-ratio:16/9; overflow:hidden; background:var(--aco-pearl); }
.aco-postcard__media img{ width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 6s ease; }
.aco-postcard:hover .aco-postcard__media img{ transform:scale(1.04); }
.aco-postcard__body{ display:flex; flex-direction:column; flex:1 1 auto; padding:1.25rem 1.35rem 1.4rem; }
.aco-postcard__date{ font-family:var(--aco-body); font-weight:600; font-size:.72rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--aco-teal); margin:0 0 .5rem; }
.aco-postcard__title{ font-family:var(--aco-display); font-weight:600; font-size:1.15rem;
  line-height:1.25; color:var(--aco-navy); margin:0 0 .6rem; }
.aco-postcard__excerpt{ font-family:var(--aco-body); font-size:.92rem; line-height:1.6;
  color:var(--aco-ink); margin:0 0 1rem; }
.aco-postcard__cta{ margin-top:auto; font-family:var(--aco-body); font-weight:600;
  font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--aco-accent);
  transition:color .25s ease; }
.aco-postcard:hover .aco-postcard__cta{ color:var(--aco-navy); }

/* ======================= 20 · VIDEO LIBRARY =========================== */
.aco-videolib{ max-width:1400px; margin:0 auto;
  padding:clamp(1.5rem,4vw,2.75rem) clamp(1.25rem,4vw,2rem); }
.aco-videolib .aco-label{ margin:2rem 0 1rem; }
.aco-videolib .aco-label:first-child{ margin-top:0; }
.aco-videos{ display:grid; grid-template-columns:repeat(3,1fr);
  gap:2rem 1.75rem; margin:0 0 1rem; }
@media (max-width:1024px){ .aco-videos{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){  .aco-videos{ grid-template-columns:1fr; } }
.aco-video__frame{ position:relative; aspect-ratio:16/9;
  background:var(--aco-navy-deep); border:1px solid var(--aco-line);
  border-radius:var(--aco-radius); overflow:hidden; }
.aco-video__frame iframe{ position:absolute; inset:0; width:100%; height:100%;
  border:0; display:block; }
.aco-video__title{ font-family:var(--aco-display); font-weight:600; font-size:1.05rem;
  line-height:1.3; color:var(--aco-navy); margin:.7rem 0 0; }

/* advertising contact block */
.aco-contactblock{ background:var(--aco-white); border-left:4px solid var(--aco-teal);
  padding:1.15rem 1.4rem; margin:1.75rem 0 0; max-width:70ch; }
.aco-contactblock p{ font-family:var(--aco-body); font-size:.95rem; line-height:1.6;
  color:var(--aco-ink); margin:0 0 .4rem; max-width:none; }
.aco-contactblock p:last-child{ margin-bottom:0; }

/* guest artist photo */
.aco-artistphoto{ width:100%; height:auto; display:block;
  border-radius:var(--aco-radius); }

.aco-artistphoto__credit{ font-family:var(--aco-body); font-size:.75rem;
  letter-spacing:.04em; color:var(--aco-teal); margin:.55rem 0 0; }

/* ======================= 21 · CARD COMPONENT ========================== */
/* Whole card is the link. Never put an <a> inside .aco-card.            */
.aco-cards{ display:grid; gap:1.5rem; margin:2rem 0 0; }
.aco-cards--4{ grid-template-columns:repeat(4,1fr); }
.aco-cards--3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:1100px){
  .aco-cards--4,.aco-cards--3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){
  .aco-cards--4,.aco-cards--3{ grid-template-columns:1fr; } }

.aco-card{ display:flex; flex-direction:column; height:100%;
  background:var(--aco-white); border:1px solid var(--aco-line);
  border-radius:var(--aco-radius); padding:1.7rem 1.5rem 1.5rem;
  text-decoration:none !important;
  transition:background-color .3s ease, border-color .3s ease, transform .3s var(--aco-ease); }
.aco-card:hover{ background:var(--aco-light-blue);
  border-color:var(--aco-teal); transform:translateY(-2px); }
.aco-card__eyebrow{ display:block; font-family:var(--aco-body); font-weight:600;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--aco-teal); margin-bottom:.6rem; }
.aco-card__title{ display:block; font-family:var(--aco-display); font-weight:600;
  font-size:1.4rem; line-height:1.2; color:var(--aco-navy); margin-bottom:.55rem; }
.aco-card__desc{ display:block; font-family:var(--aco-body); font-size:.95rem;
  line-height:1.6; color:var(--aco-ink); margin-bottom:1.2rem; }
.aco-card__cue{ display:inline-block; margin-top:auto; font-family:var(--aco-body);
  font-weight:600; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--aco-accent); transition:color .3s ease, transform .3s ease; }
.aco-card__cue::after{ content:" \2192"; }
.aco-card:hover .aco-card__cue{ color:var(--aco-navy); transform:translateX(3px); }

/* ======================= 22 · CONCERT ARTWORK ========================= */
.aco-concertart img{ width:100%; height:auto; display:block;
  border-radius:var(--aco-radius); }
.aco-concertart .aco-btn{ display:block; width:100%; text-align:center;
  margin-top:.85rem; box-sizing:border-box; }

/* ======================= 23 · FEATURED ARTIST GRID ==================== */
.aco-artistgrid{ display:grid; grid-template-columns:repeat(2,1fr);
  gap:2.5rem 2.5rem; margin:1.5rem 0 0; }
@media (max-width:860px){ .aco-artistgrid{ grid-template-columns:1fr; } }
.aco-artistcard__media{ aspect-ratio:4/5; overflow:hidden;
  background:var(--aco-pearl); border-radius:var(--aco-radius); max-width:300px; }
.aco-artistcard__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.aco-artistcard__name{ font-family:var(--aco-display); font-weight:600; font-size:1.5rem;
  line-height:1.2; color:var(--aco-navy); margin:1rem 0 .15rem; }
.aco-artistcard__inst{ font-family:var(--aco-body); font-weight:600; font-size:.75rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--aco-teal); margin:0 0 .9rem; }
.aco-artistcard p{ font-family:var(--aco-body); font-size:.95rem; line-height:1.7;
  color:var(--aco-ink); margin:0 0 .9rem; }


/* ==========================================================================
   9/3/26 EDITS - Allison & Board
   ========================================================================== */

/* Back to the Masterworks index, on each concert page */
.aco-btn.aco-back{
  display:inline-block;
  margin-top:1.75rem;
  background:transparent !important;
  color:var(--aco-navy) !important;
  border:1px solid var(--aco-navy) !important;
}
.aco-btn.aco-back:hover,
.aco-btn.aco-back:focus{
  background:var(--aco-navy) !important;
  color:#fff !important;
}

/* Guest artist blocks: smaller photos and smaller bio type.
   Scoped to the page sections that follow the concert artwork section,
   which is where the artist blocks live on every concert page. */
.elementor img.aco-artistphoto{
  max-width:220px;
}
.elementor > .e-con:has(.aco-concertart) ~ .e-con .elementor-widget-text-editor{
  font-size:13px;
  line-height:1.65;
}
.elementor > .e-con:has(.aco-concertart) ~ .e-con h2,
.elementor > .e-con:has(.aco-concertart) ~ .e-con h3{
  font-size:22px;
}

/* Small notes inside a performance block (ticket conditions, addresses, RSVP dates) */
.aco-perf__note{
  font-size:12px;
  line-height:1.5;
  margin:.45rem 0 0;
}
.aco-perf__note a{
  color:var(--aco-teal);
  text-decoration:underline;
}

/* ---------- HEADER NAVIGATION ----------
   The nav widget is set to collapse at Elementor’s mobile breakpoint (767) so that
   laptops keep the full menu. These rules put the hamburger back for tablets only,
   and tighten the item spacing in the band where the menu would otherwise wrap. */
@media (max-width:992px){
  .elementor-widget-nav-menu .elementor-menu-toggle{ display:flex !important; }
  .elementor-widget-nav-menu nav.elementor-nav-menu--main{ display:none !important; }
}
@media (min-width:993px) and (max-width:1520px){
  .elementor-nav-menu--main .elementor-item{
    font-size:clamp(13px, 1vw, 14px) !important;
    padding-left:clamp(8px, 0.8vw, 12px) !important;
    padding-right:clamp(8px, 0.8vw, 12px) !important;
  }
}

/* Five-up card grid, for the home page row that now carries an About Us tile */
.aco-cards--5{ grid-template-columns:repeat(5,minmax(0,1fr)); }
@media (max-width:1100px){ .aco-cards--5{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:860px){ .aco-cards--5{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .aco-cards--5{ grid-template-columns:1fr; } }

/* Guest artist blocks inherit the site type system, not Elementor defaults */
.elementor > .e-con:has(.aco-concertart) ~ .e-con .elementor-widget-text-editor{
  font-family:var(--aco-body);
}
.elementor > .e-con:has(.aco-concertart) ~ .e-con h2,
.elementor > .e-con:has(.aco-concertart) ~ .e-con h3{
  font-family:var(--aco-display);
}

:where(html.wpc-bgl255) /* ============================ 3 · HOME HERO ============================== */
/* Images + focal now live HERE (widget is clean HTML only). To swap an image,:where(html.wpc-bgl255) copy the Media Library URL into the matching s1..s4 rule. To re-frame,:where(html.wpc-bgl255) change
   the background-position X% Y% (X=left/right, Y=up/down) per breakpoint.        */
.aco-hero .s1{background-image:url('https://atlanticclassicalo8a92a.zapwp.com/q:u/r:0/wp:0/w:1/u:https://atlanticclassicalorchestra.com/wp-content/uploads/2026/07/hero-image-1.jpg')}:where(html.wpc-bgl255) .aco-hero .s2{background-image:url('https://atlanticclassicalo8a92a.zapwp.com/q:u/r:0/wp:0/w:1/u:https://atlanticclassicalorchestra.com/wp-content/uploads/2026/07/hero-image-2-scaled.jpg')}:where(html.wpc-bgl255) .aco-hero .s3{background-image:url('https://atlanticclassicalo8a92a.zapwp.com/q:u/r:0/wp:0/w:1/u:https://atlanticclassicalorchestra.com/wp-content/uploads/2026/07/hero-image-3-scaled.jpg')}:where(html.wpc-bgl255) .aco-hero .s4{background-image:url('https://atlanticclassicalo8a92a.zapwp.com/q:u/r:0/wp:0/w:1/u:https://atlanticclassicalorchestra.com/wp-content/uploads/2026/07/hero-image-4-scaled.jpg')}