*{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:var(--wp--preset--color--primary,#0A1628);
  --navy2:var(--wp--preset--color--navy-2,#122040);
  --gold:var(--wp--preset--color--secondary,#C9A84C);
  --gold2:var(--wp--preset--color--secondary-2,#F0C96A);
  --cream:var(--wp--preset--color--surface,#F7F4EF);
  --white:var(--wp--preset--color--base,#FFFFFF);
  --muted:var(--wp--preset--color--muted,#6B7280);
  --danger:#DC2626;
}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--navy);overflow-x:hidden}
.serif{font-family:'Playfair Display',serif}

/* THEME SHELL */
.ae-notification-bar{width:100%;background:var(--danger);padding:12px 40px;color:var(--white);font-size:14px;font-weight:500;letter-spacing:0.2px;text-align:center;position:relative;z-index:90}
.ae-notification-bar p{margin:0}
.ae-header{background:var(--navy);padding:0;position:relative;z-index:1100}
.ae-header-sticky{position:sticky;top:0;z-index:120;background:var(--navy);box-shadow:0 2px 16px rgba(0,0,0,0.16)}
.ae-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:16px 40px;background:var(--navy)}
.ae-brand,.ae-brand-stack{display:flex;align-items:center}
.ae-brand-stack .ae-brand-mark{display:flex;flex-direction:column;gap:4px}
.ae-brand-mark{display:flex;align-items:center;color:var(--gold);font-family:'Playfair Display',serif;font-size:22px;font-weight:700;letter-spacing:0.5px;min-width:0;overflow:visible}
.ae-brand-mark .custom-logo-link{display:inline-flex;align-items:center}
.ae-brand a,.ae-brand-stack a,.ae-footer-brand-link,.ae-brand-mark .custom-logo-link{line-height:0;display:inline-flex;align-items:center}
.ae-brand-mark .ae-logo-graphic{display:inline-flex;align-items:center;justify-content:flex-start;height:var(--ae-logo-max-height,56px);max-height:var(--ae-logo-max-height,56px);max-width:100%;overflow:visible;flex:0 0 auto}
.ae-footer .ae-brand-mark .ae-logo-graphic{height:var(--ae-footer-logo-max-height,52px);max-height:var(--ae-footer-logo-max-height,52px)}
.ae-brand-mark .ae-logo-graphic svg,.ae-brand-mark .ae-logo-graphic img{display:block;height:100% !important;max-height:100% !important;width:auto !important;max-width:100% !important;overflow:visible}
.ae-brand-mark > svg,.ae-brand-mark > img,.ae-brand-mark svg,.ae-brand-mark img{display:block;height:auto !important;width:auto !important;max-width:100% !important;max-height:var(--ae-logo-max-height,56px);overflow:visible}
.ae-footer .ae-brand-mark > svg,.ae-footer .ae-brand-mark > img,.ae-footer .ae-brand-mark svg,.ae-footer .ae-brand-mark img{max-height:var(--ae-footer-logo-max-height,52px) !important}
.ae-brand-mark .custom-logo,.ae-footer .custom-logo{height:auto !important;width:auto !important;max-height:var(--ae-logo-max-height,56px);max-width:100%;object-fit:contain;display:block}
.ae-footer .custom-logo{max-height:var(--ae-footer-logo-max-height,52px)}
.ae-brand-mark,.ae-brand,.ae-brand-stack{min-height:var(--ae-logo-max-height,56px)}
.ae-text-logo{color:var(--gold);font-family:'Playfair Display',serif;font-size:22px;font-weight:700;letter-spacing:0.5px}
.ae-tagline{font-size:12px;color:rgba(255,255,255,0.6);font-family:'DM Sans',sans-serif;margin:0}
.ae-nav{background:none;padding:0;position:static}
.ae-nav ul{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.ae-nav a{color:rgba(255,255,255,0.78);text-decoration:none;font-size:14px}
.ae-nav a:hover{color:var(--gold2)}
/* DROPDOWN */
.ae-nav .menu-item-has-children{position:relative}
.ae-nav .menu-item-has-children > a::after{content:'\25BE';margin-left:3px;font-size:10px;vertical-align:middle;opacity:.7;display:inline-block;transition:transform .2s}
.ae-nav .menu-item-has-children:hover > a::after,.ae-nav .menu-item-has-children.is-open > a::after{transform:rotate(-180deg)}
.ae-nav .sub-menu{position:absolute;top:100%;left:0;min-width:200px;background:var(--navy2);border:1px solid rgba(255,255,255,.1);border-radius:4px;list-style:none;padding:6px 0;margin:0;z-index:1200;box-shadow:0 8px 24px rgba(0,0,0,.32);display:none;flex-direction:column}
.ae-nav .menu-item-has-children:hover > .sub-menu,.ae-nav .menu-item-has-children.is-open > .sub-menu,.ae-nav .menu-item-has-children:focus-within > .sub-menu{display:flex}
.ae-nav .sub-menu .menu-item{display:block;width:100%}
.ae-nav .sub-menu a{display:block;padding:9px 16px;color:rgba(255,255,255,.78);font-size:13px;white-space:nowrap;font-weight:400}
.ae-nav .sub-menu a::after{display:none !important}
.ae-nav .sub-menu a:hover{color:var(--gold2);background:rgba(255,255,255,.05)}
/* HAMBURGER */
.ae-nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;color:var(--white);flex-shrink:0;line-height:0}
.ae-nav-toggle span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.ae-nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ae-nav-toggle.is-open span:nth-child(2){opacity:0}
.ae-nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* SUBMENU CHEVRON (mobile) */
.ae-submenu-toggle{display:none;background:none;border:none;cursor:pointer;color:inherit;padding:2px 7px;font-size:12px;opacity:.65;vertical-align:middle;transition:transform .2s;line-height:1}
.ae-submenu-toggle.is-open{transform:rotate(-180deg);opacity:1}
@media(max-width:768px){
  body.ae-header-fixed-on .ae-header-sticky,
  body.ae-header-fixed-on .ae-header-sticky.ae-is-stuck{position:static !important;top:auto !important;left:auto !important;right:auto !important;width:100% !important}
  body.ae-header-fixed-on .ae-header.ae-header-has-stuck{padding-top:0 !important}

  .ae-header .ae-header-inner,
  .ae-header .ae-header-inner-v2,
  .ae-header .ae-header-inner-v3,
  .ae-header .ae-header-inner-v5{display:flex !important;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 20px}

  .ae-header .ae-header-actions,
  .ae-header .ae-header-meta{order:1;width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:nowrap}

  .ae-header .ae-brand,
  .ae-header .ae-brand-stack,
  .ae-header-v2 .ae-header-row-top .ae-brand{order:2;flex:1 1 auto;min-width:0}

  .ae-header .ae-nav-toggle{order:2;margin-left:auto}

  .ae-header-v2 .ae-header-row-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;width:100%}
  .ae-header-v2 .ae-header-row-top .ae-header-meta{order:1;width:100%;justify-content:space-between}
  .ae-header-v2 .ae-header-row-top .ae-brand{order:2}

  .ae-nav-toggle{display:flex}
  .ae-header .ae-nav{display:none !important;width:100% !important;order:10;background:var(--navy2);padding:8px 20px 12px;border-top:1px solid rgba(255,255,255,.08)}
  .ae-header .ae-nav.is-open{display:block !important}
  .ae-nav > ul{flex-direction:column;gap:0;align-items:stretch;flex-wrap:nowrap}
  .ae-nav > ul > li{border-bottom:1px solid rgba(255,255,255,.06)}
  .ae-nav > ul > li:last-child{border-bottom:none}
  .ae-nav > ul > li > a{padding:10px 0;display:inline-flex;align-items:center}
  .ae-nav .menu-item-has-children{position:static}
  .ae-nav .menu-item-has-children > a::after{display:none}
  .ae-submenu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:6px}
  .ae-nav .sub-menu{position:static;display:none;flex-direction:column;background:none;border:none;box-shadow:none;padding:8px 0;min-width:0;margin-top:2px;margin-left:0;width:100%}
  .ae-nav .menu-item-has-children.is-open > .sub-menu,
  .ae-nav .menu-item-has-children.mobile-default-open > .sub-menu{display:flex}
  .ae-nav .menu-item-has-children.mobile-default-open > .ae-submenu-toggle{transform:rotate(-180deg);opacity:1}
  .ae-nav .menu-item-has-children:focus-within > .sub-menu{display:none}
  .ae-nav .sub-menu a{padding:7px 0;white-space:normal}

  /* Ensure variant layout rules don't force nav visible on mobile */
  .ae-header-v2 .ae-nav,
  .ae-header-v3 .ae-nav,
  .ae-header-v4 .ae-nav,
  .ae-header-v5 .ae-nav{display:none !important}
  .ae-header-v2 .ae-nav.is-open,
  .ae-header-v3 .ae-nav.is-open,
  .ae-header-v4 .ae-nav.is-open,
  .ae-header-v5 .ae-nav.is-open{display:block !important}

  /* Make V5 menu truly full-width in mobile row */
  .ae-header-v5 .ae-header-v5-nav-bar .ae-container{display:block;padding-left:0;padding-right:0}
  .ae-header-v5 .ae-nav{margin:0}
}
.ae-header-actions,.ae-header-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ae-phone{display:inline-flex;align-items:center;gap:8px;color:var(--gold2);text-decoration:none;font-size:15px;font-weight:500;line-height:1}
.ae-phone-icon{font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.ae-phone-label{display:none}
.ae-phone-number{font-size:15px;font-weight:500;line-height:1}
.ae-phone,.ae-phone:hover,.ae-phone:focus{background:transparent !important;border:none !important;color:var(--gold2) !important;padding:0 !important;box-shadow:none !important;text-decoration:none}
.ae-header-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);border:none;padding:10px 22px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;letter-spacing:0.3px;text-decoration:none}
.ae-header-cta:hover{background:var(--gold2)}
.ae-header-v2 .ae-header-inner-v2{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.ae-header-v2 .ae-header-row-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ae-header-v2 .ae-nav{border-top:1px solid rgba(255,255,255,0.12);padding-top:10px}
.ae-header-v2 .ae-nav ul{justify-content:center;width:100%}
.ae-header-v3 .ae-header-inner-v3{justify-content:center;gap:10px}
.ae-header-v3 .ae-brand-stack{width:100%;justify-content:center}
.ae-header-v3 .ae-nav{width:100%;display:flex;justify-content:center}
.ae-header-v3 .ae-nav ul{justify-content:center}
.ae-header-v3 .ae-header-actions-compact{width:100%;justify-content:center;gap:10px}

.ae-header .widget_nav_menu ul{display:flex;gap:10px;align-items:center;list-style:none;margin:0;padding:0}
.ae-header .widget_nav_menu a:not(.ae-phone),
.ae-header .widget_text a:not(.ae-phone),
.ae-header .widget_block a:not(.ae-phone){display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);padding:9px 16px;border-radius:4px;text-decoration:none;font-size:13px;font-weight:600}

body.ae-header-fixed-off .ae-header-sticky{position:static;box-shadow:none}
body.ae-header-fixed-on .ae-header-sticky{position:relative;top:auto;left:auto;right:auto;width:auto;z-index:1200}
body.ae-header-fixed-on .ae-header-sticky.ae-is-stuck{position:fixed;top:0;left:0;right:0;width:100%;z-index:1200}
body.ae-header-fixed-on .ae-header.ae-header-has-stuck{padding-top:var(--ae-sticky-offset,0px)}
body.admin-bar.ae-header-fixed-on .ae-header-sticky{top:auto}
body.admin-bar.ae-header-fixed-on .ae-header-sticky.ae-is-stuck{top:var(--wp-admin--admin-bar--height,32px)}
@media(max-width:782px){body.admin-bar.ae-header-fixed-on .ae-header-sticky.ae-is-stuck{top:var(--wp-admin--admin-bar--height,46px)}}
body.ae-header-density-compact .ae-header-inner{padding-top:10px;padding-bottom:10px}
body.ae-header-density-spacious .ae-header-inner{padding-top:22px;padding-bottom:22px}
body.ae-header-style-glass .ae-header-sticky{background:rgba(10,22,40,.86);backdrop-filter:blur(6px)}
body.ae-header-style-elevated .ae-header-sticky{box-shadow:0 8px 24px rgba(0,0,0,.28)}
body.ae-header-style-minimal .ae-header-sticky{box-shadow:none;border-bottom:1px solid rgba(255,255,255,.12)}

.ae-footer{background:var(--navy);padding:60px 40px 32px;color:rgba(255,255,255,0.5)}
.ae-footer a{color:inherit;text-decoration:none}
.ae-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:32px}
.ae-footer-col h4,.ae-footer .widget-title{color:var(--white);font-size:14px;font-weight:500;margin-bottom:16px;letter-spacing:0.5px}
.ae-footer-col ul,.ae-footer .menu,.ae-footer .widget ul{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0;margin:0}
.ae-footer-col li,.ae-footer .widget li{font-size:13px}
.ae-footer-col li:hover,.ae-footer .widget li:hover{color:var(--gold2)}
.ae-footer-brand-link{display:inline-flex;text-decoration:none;margin-bottom:12px}
.ae-footer-about-copy{font-size:14px;line-height:1.7}
.ae-footer-bottom-grid{border-top:1px solid rgba(255,255,255,0.08);padding-top:24px;font-size:12px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:start}
.ae-footer-bottom-col .widget{margin:0}
.ae-footer-bottom-col p{font-size:12px;line-height:1.6;color:rgba(255,255,255,0.55)}
.ae-footer-bottom-cta{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.ae-footer-bottom-cta .widget{width:100%;display:flex;justify-content:flex-end}
.ae-footer-bottom-cta .widget_nav_menu{order:1}
.ae-footer-bottom-cta .widget:not(.widget_nav_menu){order:2}
.ae-footer-bottom-legal .menu,
.ae-footer-bottom-legal .widget_nav_menu ul,
.ae-footer-bottom-legal .wp-block-navigation__container,
.ae-footer-bottom-cta .menu,
.ae-footer-bottom-cta .widget_nav_menu ul,
.ae-footer-bottom-cta .wp-block-navigation__container{display:inline-flex;gap:0;align-items:center;justify-content:flex-end;flex-direction:row;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.ae-footer-bottom-legal .menu li,
.ae-footer-bottom-legal .widget_nav_menu li,
.ae-footer-bottom-legal .wp-block-navigation-item,
.ae-footer-bottom-cta .menu li,
.ae-footer-bottom-cta .widget_nav_menu li,
.ae-footer-bottom-cta .wp-block-navigation-item{display:inline-flex;align-items:center}
.ae-footer-bottom-legal .menu li + li::before,
.ae-footer-bottom-legal .widget_nav_menu li + li::before,
.ae-footer-bottom-legal .wp-block-navigation-item + .wp-block-navigation-item::before,
.ae-footer-bottom-cta .menu li + li::before,
.ae-footer-bottom-cta .widget_nav_menu li + li::before,
.ae-footer-bottom-cta .wp-block-navigation-item + .wp-block-navigation-item::before{content:'\00B7';margin:0 8px;color:rgba(255,255,255,0.48)}
.ae-footer-bottom-legal a,
.ae-footer-bottom-cta .widget_nav_menu a,
.ae-footer-bottom-cta .wp-block-navigation-item__content{color:rgba(255,255,255,0.72);font-size:12px}
.ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) a,
.ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) button,
.ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) .wp-block-button__link,
.ae-footer-bottom-cta .ae-footer-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);padding:8px 16px;border-radius:4px;font-weight:600;text-decoration:none;border:0}
.ae-footer-cta-floating-on .ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) a,
.ae-footer-cta-floating-on .ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) button,
.ae-footer-cta-floating-on .ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) .wp-block-button__link,
.ae-footer-cta-floating-on .ae-footer-bottom-cta .ae-footer-btn{position:fixed;right:24px;bottom:24px;z-index:1300;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.admin-bar.ae-footer-cta-floating-on .ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) a,
.admin-bar.ae-footer-cta-floating-on .ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) button,
.admin-bar.ae-footer-cta-floating-on .ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) .wp-block-button__link,
.admin-bar.ae-footer-cta-floating-on .ae-footer-bottom-cta .ae-footer-btn{bottom:56px}
/* Floating CTA portal — element moved to <body> by JS to escape ae-reveal transform containing block */
.ae-float-cta-portal{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);padding:8px 16px;border-radius:4px;font-weight:600;text-decoration:none;border:0;position:fixed;right:24px;bottom:88px;z-index:1300;box-shadow:0 12px 30px rgba(0,0,0,.28);font-size:14px}
.ae-float-cta-portal:hover{background:var(--gold2);color:var(--navy)}
.admin-bar .ae-float-cta-portal{bottom:120px}
@media(max-width:782px){.ae-float-cta-portal{display:none !important}}
.ae-footer .widget{margin:0}
.ae-footer-v2 .ae-footer-grid{grid-template-columns:1fr 2fr 1fr;align-items:start}
.ae-footer-v2 .ae-footer-col-brand{text-align:center}
.ae-footer-v3 .ae-footer-grid-v3{grid-template-columns:1fr 1fr;gap:24px}
.ae-footer-v3 .ae-footer-col-brand{grid-column:1/-1;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.1);margin-bottom:6px}
.ae-footer-v3 .ae-footer-bottom-grid{grid-template-columns:2fr 1fr 1fr}
/* HEADER V4 – utility strip + sticky nav */
.ae-header-v4 .ae-header-v4-util{background:var(--navy2);border-bottom:1px solid rgba(255,255,255,0.06);padding:6px 0;position:relative;z-index:91}
.ae-header-v4 .ae-header-v4-util-inner{display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:20px;flex-wrap:wrap}
.ae-header-v4 .ae-header-v4-util .ae-phone{font-size:13px;gap:6px}
.ae-header-v4 .ae-header-v4-util-tagline{font-size:12px;color:rgba(255,255,255,0.45);letter-spacing:0.3px;flex:1;text-align:center}
.ae-header-v4 .ae-header-v4-util-cta{font-size:12px;color:var(--gold2);text-decoration:none;font-weight:500;white-space:nowrap}
.ae-header-v4 .ae-header-v4-util-cta:hover{color:var(--white)}
/* HEADER V5 – centered logo, nav below */
.ae-header-inner-v5{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-top:14px;padding-bottom:6px}
.ae-brand-center{justify-content:center}
.ae-header-v5-phone{justify-self:start}
.ae-header-v5-phone .ae-phone{font-size:13px}
.ae-header-v5-cta{justify-self:end}
.ae-header-v5-nav-bar{background:rgba(255,255,255,0.05);border-top:1px solid rgba(255,255,255,0.08)}
.ae-header-v5-nav-bar .ae-container{display:flex;justify-content:center;padding-top:8px;padding-bottom:8px}
.ae-nav-centered ul{justify-content:center}
/* FOOTER V4 – 4-column */
.ae-footer-v4 .ae-footer-grid-v4{grid-template-columns:2fr 1fr 1fr 1fr}
/* FOOTER V5 – minimal centered */
.ae-footer-v5{text-align:center}
.ae-footer-v5 .ae-footer-v5-inner{display:flex;flex-direction:column;align-items:center;gap:18px;padding-bottom:28px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,0.08)}
.ae-footer-v5 .ae-footer-v5-nav .ae-footer-v5-menu{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;list-style:none;padding:0;margin:0}
.ae-footer-v5 .ae-footer-v5-nav a{font-size:14px;color:rgba(255,255,255,0.65)}
.ae-footer-v5 .ae-footer-v5-nav a:hover{color:var(--gold2)}
.ae-footer-v5 .ae-footer-v5-bottom{display:flex;justify-content:center;gap:28px;font-size:12px;flex-wrap:wrap}
@media(max-width:1100px){.ae-footer-v4 .ae-footer-grid-v4{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.ae-header-v4 .ae-header-v4-util-inner{padding:0 20px}.ae-header-inner-v5{grid-template-columns:1fr auto;}.ae-header-v5-phone{display:none}.ae-footer-v4 .ae-footer-grid-v4{grid-template-columns:1fr}}
body.ae-footer-density-compact .ae-footer{padding-top:42px;padding-bottom:20px}
body.ae-footer-density-compact .ae-footer-grid{gap:24px;margin-bottom:20px}
body.ae-footer-density-spacious .ae-footer{padding-top:84px;padding-bottom:40px}
body.ae-footer-density-spacious .ae-footer-grid{gap:64px;margin-bottom:44px}
body.ae-footer-style-contrast .ae-footer{background:linear-gradient(140deg,var(--navy) 0%,var(--navy2) 100%)}
body.ae-footer-style-minimal .ae-footer{background:var(--navy);border-top:1px solid rgba(255,255,255,.1)}
body.ae-footer-style-minimal .ae-footer-grid{gap:26px}
@media(max-width:900px){.ae-footer-grid{grid-template-columns:1fr 1fr}.ae-footer-bottom-grid{grid-template-columns:1fr 1fr}.ae-footer-bottom-cta{grid-column:1/-1}.ae-footer-bottom-cta .widget{align-items:flex-start}}
@media(max-width:700px){.ae-header-inner{align-items:flex-start;padding:16px 20px}.ae-notification-bar{padding:12px 20px}.ae-footer{padding:48px 20px 24px}.ae-footer-grid{grid-template-columns:1fr}.ae-footer-bottom-grid{grid-template-columns:1fr}}
@media(max-width:782px){
  .ae-footer-cta-floating-on .ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) a,
  .ae-footer-cta-floating-on .ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) button,
  .ae-footer-cta-floating-on .ae-footer-bottom-cta .widget:not(.widget_nav_menu):not(.widget_pages) .wp-block-button__link,
  .ae-footer-cta-floating-on .ae-footer-bottom-cta .ae-footer-btn{position:static;right:auto;bottom:auto;box-shadow:none}
}

/* MOTION */
.ae-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.ae-reveal.is-revealed{opacity:1;transform:translateY(0)}
.hero .hero-badge{animation:ae-fade-up .6s ease both}
.hero h1{animation:ae-fade-up .8s ease .08s both}
.hero p{animation:ae-fade-up .8s ease .16s both}
.hero .hero-btns{animation:ae-fade-up .8s ease .24s both}
@keyframes ae-fade-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){
  .ae-reveal,.ae-reveal.is-revealed{opacity:1;transform:none;transition:none}
  .hero .hero-badge,.hero h1,.hero p,.hero .hero-btns{animation:none}
}

/* HERO */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 60%,#1a3a6e 100%);padding:90px 40px 80px;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-80px;right:-80px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(201,168,76,0.12);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-100px;left:-60px;width:300px;height:300px;border-radius:50%;border:1px solid rgba(201,168,76,0.08);pointer-events:none}
.hero-badge{display:inline-block;background:rgba(201,168,76,0.15);border:1px solid rgba(201,168,76,0.4);color:var(--gold2);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 16px;border-radius:2px;margin-bottom:24px}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(32px,5vw,58px);font-weight:900;color:var(--white);line-height:1.15;max-width:820px;margin:0 auto 20px}
.hero h1 em{color:var(--gold2);font-style:normal}
.hero p{color:rgba(255,255,255,0.75);font-size:18px; margin:0 auto 36px;line-height:1.7}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-primary{background:var(--gold);color:var(--navy);padding:16px 32px;border-radius:4px;font-weight:500;font-size:16px;border:none;cursor:pointer;letter-spacing:0.3px}
.btn-primary:hover{background:var(--gold2)}
.btn-outline{background:transparent;color:var(--white);padding:16px 32px;border-radius:4px;font-weight:400;font-size:16px;border:1px solid rgba(255,255,255,0.3);cursor:pointer}
.hero-trust{margin-top:48px;display:flex;gap:24px;justify-content:center;flex-wrap:wrap;align-items:center}
.trust-item{color:rgba(255,255,255,0.6);font-size:12px;display:flex;align-items:center;gap:8px;line-height:1.35}
.trust-check{width:18px;height:18px;background:rgba(201,168,76,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.trust-check::after{content:'✓';color:var(--gold2);font-size:10px}

/* URGENCY BAR */
.urgency{background:var(--danger);padding:12px 40px;text-align:center;color:var(--white);font-size:14px;font-weight:500;letter-spacing:0.2px}
.urgency strong{font-weight:700}

/* STATS */
.stats{background:var(--cream);padding:60px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2px}
.stat-box{background:var(--white);padding:36px 24px;text-align:center}
.stat-num{font-family:'Playfair Display',serif;font-size:44px;font-weight:900;color:var(--navy)}
.stat-num span{color:var(--gold)}
.stat-label{font-size:13px;color:var(--muted);margin-top:6px;letter-spacing:0.3px;text-transform:uppercase}

/* SECTION TITLES */
.section-wrap{padding:80px 40px;max-width:1100px;margin:0 auto}

/* Core alignment support for editor-selected block alignment. */
.site-main .wp-block-group.alignwide,
.site-main .wp-block-columns.alignwide{
  max-width:var(--wp--style--global--wide-size,1360px);
  margin-left:auto;
  margin-right:auto;
}

.site-main .wp-block-group.alignfull,
.site-main .wp-block-columns.alignfull{
  max-width:none;
}
.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:12px}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(24px,3.5vw,40px);font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:16px}
.section-sub{font-size:16px;color:var(--muted);line-height:1.7;max-width:600px}
.divider{width:48px;height:3px;background:var(--gold);margin:20px 0}
.wp-block-separator.divider{width:48px;height:3px;background:var(--gold);border:0;opacity:1;margin:20px 0}

/* PROBLEMS / TESTIMONIALS (dark section backgrounds from core block color presets) */
.section-tone-dark,
.problems-bg,
.testi-bg{
  background:var(--navy);
}

.section-tone-surface,
.process-bg{
  background:var(--cream);
}

.has-primary-background-color .section-title,
.has-navy-background-color .section-title,
.section-tone-dark .section-title,
.problems-bg .section-title,
.testi-bg .section-title{color:var(--white)}
.has-primary-background-color .section-label,
.has-navy-background-color .section-label,
.section-tone-dark .section-label,
.problems-bg .section-label,
.testi-bg .section-label{color:var(--gold2)}
.has-primary-background-color .section-sub,
.has-navy-background-color .section-sub,
.section-tone-dark .section-sub,
.problems-bg .section-sub,
.testi-bg .section-sub{color:rgba(255,255,255,0.6)}
.has-primary-background-color .divider,
.has-navy-background-color .divider,
.section-tone-dark .divider,
.problems-bg .divider,
.testi-bg .divider{background:var(--gold)}
.problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:48px}
.problem-grid-second{margin-top:20px}
.problem-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:6px;padding:28px 24px}
.problem-icon{font-size:34px;margin-bottom:16px}
.problem-card > p:first-child{font-size:34px;line-height:1;margin-bottom:16px}
.problem-card h3{font-size:18px;font-weight:500;color:var(--white);margin-bottom:8px}
.problem-card p{font-size:14px;color:rgba(255,255,255,0.78);line-height:1.6}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;margin-top:48px}
.services-grid-second{margin-top:28px}
.service-card{border:1px solid #E5E7EB;border-radius:8px;padding:32px 28px;transition:border-color 0.2s}
.service-card:hover{border-color:var(--gold)}
.service-num{font-family:'Playfair Display',serif;font-size:36px;font-weight:900;color:#E5E7EB;margin-bottom:12px}
.service-card h3{font-size:18px;font-weight:500;color:var(--navy);margin-bottom:10px}
.service-card p{font-size:14px;color:var(--muted);line-height:1.65}
.service-tag{display:inline-block;margin-top:16px;font-size:12px;color:var(--gold);font-weight:500;letter-spacing:0.5px}

/* PROCESS (cream background — WP generates has-cream-background-color inline style)
   No extra CSS needed; child elements keep their default colors on cream. */
.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin-top:48px}
.step{padding:32px 24px;position:relative}
.step::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--cream)}
.step:first-child::before{background:var(--gold)}
.step-n{font-family:'Playfair Display',serif;font-size:48px;font-weight:900;color:#E5E7EB;margin-bottom:12px}
.step h3{font-size:16px;font-weight:500;color:var(--navy);margin-bottom:8px}
.step p{font-size:14px;color:var(--muted);line-height:1.6}

/* WHY US */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:48px}
@media(max-width:700px){.why-grid{grid-template-columns:1fr}}
.why-list{display:flex;flex-direction:column;gap:24px}
.why-item{display:flex;gap:16px;align-items:flex-start}
.why-dot{width:10px;height:10px;background:var(--gold);border-radius:50%;flex-shrink:0;margin-top:6px}
.why-item h4{font-size:15px;font-weight:500;color:var(--navy);margin-bottom:4px}
.why-item p{font-size:14px;color:var(--muted);line-height:1.6}
.why-callout{background:var(--navy);border-radius:8px;padding:40px 36px;color:var(--white)}
.why-callout h3{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;margin-bottom:16px}
.why-callout p{font-size:15px;color:rgba(255,255,255,0.65);line-height:1.7;margin-bottom:24px}
.why-callout .btn-primary{width:100%;text-align:center;display:block}
.why-callout-note{margin-top:20px;font-size:13px;color:rgba(255,255,255,0.4)}

/* TESTIMONIALS (navy background — child color rules consolidated above under .has-navy-background-color) */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:48px}
.testi-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:28px 24px}
.stars{color:var(--gold2);font-size:14px;margin-bottom:12px;letter-spacing:2px}
.testi-card blockquote{font-size:15px;color:rgba(255,255,255,0.8);line-height:1.7;font-style:italic;margin-bottom:16px}
.testi-quote{font-size:15px;color:rgba(255,255,255,0.8);line-height:1.7;font-style:italic;margin-bottom:16px}
.testi-author{font-size:13px;color:rgba(255,255,255,0.4)}
.testi-author strong{color:rgba(255,255,255,0.7);display:block}

/* LEAD FORM (cream background — WP generates has-cream-background-color inline style) */
.form-wrap{max-width:620px;margin:0 auto;padding:80px 40px}
.form-label-center{text-align:center}
.form-wrap .section-title{text-align:center}
.form-wrap .divider{margin:20px auto}
.form-wrap .section-sub{text-align:center;max-width:100%;margin-bottom:32px}
.form-fields{display:grid;gap:16px}
.form-field{width:100%;padding:14px 16px;border:1px solid #D1D5DB;border-radius:4px;font-size:15px;font-family:'DM Sans',sans-serif;background:var(--white);color:var(--muted);line-height:1.4}
.form-select::after{content:'▾';float:right;color:var(--muted)}
.form-textarea{min-height:100px;padding-top:16px;padding-bottom:44px}
.form-fields input,.form-fields select,.form-fields textarea{width:100%;padding:14px 16px;border:1px solid #D1D5DB;border-radius:4px;font-size:15px;font-family:'DM Sans',sans-serif;background:var(--white);color:var(--navy);outline:none}
.form-fields input:focus,.form-fields select:focus,.form-fields textarea:focus{border-color:var(--gold)}
.form-fields textarea{min-height:100px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:520px){.form-row{grid-template-columns:1fr}}
.form-submit{background:var(--navy);color:var(--white);padding:16px;border:none;border-radius:4px;font-size:16px;font-family:'DM Sans',sans-serif;font-weight:500;cursor:pointer;letter-spacing:0.3px;width:100%;margin-top:4px}
.form-submit:hover{background:var(--navy2)}
.wpcf7-acceptance,
.form-disclaimer{font-size:12px;color:var(--muted);text-align:center;margin-top:12px;line-height:1.6}
.wpcf7-acceptance input{ float: left; width: 24px; position: relative; top: -9px; }

/* Contact Form 7 compatibility for landing lead form */
.form-fields p{margin:0}
.form-fields br{display:none}
.form-fields .wpcf7-form-control-wrap{display:block;width:100%}
.form-row > p{display:contents}
.form-row .wpcf7-form-control-wrap{display:block;width:100%}
.form-fields .wpcf7-not-valid-tip{margin-top:6px;font-size:12px;line-height:1.35}
.form-fields .wpcf7-spinner{margin:10px auto 0;display:block}

/* Ensure submit button stays styled even if CF7 class is omitted */
.form-fields input[type="submit"],
.form-fields .wpcf7-submit{
  background:var(--navy);
  color:var(--white);
  padding:16px;
  border:none;
  border-radius:4px;
  font-size:16px;
  font-family:'DM Sans',sans-serif;
  font-weight:500;
  cursor:pointer;
  letter-spacing:0.3px;
  width:100%;
  margin-top:4px;
}
.form-fields input[type="submit"]:hover,
.form-fields .wpcf7-submit:hover{background:var(--navy2)}

/* FAQ */
.faq-list{margin-top:40px;display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid #E5E7EB;padding:24px 0}
.faq-q{font-size:16px;font-weight:500;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-q::after{content:'+';color:var(--gold);font-size:22px;font-weight:300}
.faq-a{font-size:15px;color:var(--muted);line-height:1.7;margin-top:12px;max-width:720px}

/* FOOTER */
footer{background:var(--navy);padding:60px 40px 32px;color:rgba(255,255,255,0.5)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px}
@media(max-width:640px){.footer-top{grid-template-columns:1fr}}
.footer-logo{font-family:'Playfair Display',serif;font-size:20px;color:var(--gold);font-weight:700;margin-bottom:12px}
.footer-about{font-size:14px;line-height:1.7}
.footer-col h4{color:var(--white);font-size:14px;font-weight:500;margin-bottom:16px;letter-spacing:0.5px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-col ul li{font-size:13px;cursor:pointer}
.footer-col ul li:hover{color:var(--gold2)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:24px;font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.disclaimer{font-size:11px;color:rgba(255,255,255,0.3);max-width:900px;margin:0 auto;text-align:center;margin-top:20px;line-height:1.6}

/* FLOATING CTA */
.float-cta{position:fixed;bottom:24px;right:24px;background:var(--gold);color:var(--navy);border:none;border-radius:4px;padding:14px 22px;font-size:15px;font-weight:500;cursor:pointer;box-shadow:0 4px 24px rgba(0,0,0,0.2);z-index:200;letter-spacing:0.3px}
.float-cta:hover{background:var(--gold2)}

/* SUCCESS */
.success-msg{display:none;background:#D1FAE5;border:1px solid #6EE7B7;color:#065F46;padding:16px;border-radius:4px;font-size:15px;text-align:center;margin-top:12px}

.ae-layout-boxed .site-main,
.ae-layout-boxed .site-header,
.ae-layout-boxed .site-footer {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

/* Gutenberg compatibility layer for native landing blocks */

.site-shell > .wp-block-group,
.site-shell > .wp-block-columns,
.site-shell > nav,
.site-shell > footer {
  margin-top: 0;
  margin-bottom: 0;
}

.site-shell > .alignfull {
  width: 100%;
  max-width: none;
}


/* Keep native block spacing intact; only normalize direct shell children. */
.site-shell > .wp-block-group,
.site-shell > .wp-block-columns,
.site-shell > .wp-block-buttons {
  margin-block-start: 0;
  margin-block-end: 0;
}

.hero .wp-block-columns,
.form-wrap .wp-block-columns {
  gap: 20px;
}

.hero-trust > .wp-block-column {
  margin-top: 0;
  margin-left: 0 !important;
}

nav {
  display: block;
}

.site-main,
.ae-native-shell-main {
  margin: 0;
}

nav .wp-block-columns {
  margin-bottom: 0;
  align-items: center;
  gap: 24px;
}

nav .wp-block-column {
  margin-top: 0;
}

nav .wp-block-buttons,
.hero .wp-block-buttons,
.form-wrap .wp-block-buttons {
  margin: 0;
}

.nav-cta {
  padding: 0;
  background: transparent;
}

.nav-cta .wp-block-button__link {
  background: var(--gold);
  color: var(--navy);
  border: none;
  padding: 10px 22px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.3px;
}

.nav-cta .wp-block-button__link:hover {
  background: var(--gold2);
}

.btn-primary,
.btn-outline,
.form-submit {
  background: transparent;
  padding: 0;
}

.btn-primary .wp-block-button__link {
  background: var(--gold);
  color: var(--navy);
  padding: 16px 32px;
  border-radius: 4px;
  border: none;
  font-size: 16px;
  font-weight: 500;
}

.btn-primary .wp-block-button__link:hover {
  background: var(--gold2);
}

.btn-outline .wp-block-button__link {
  background: transparent;
  color: var(--white);
  padding: 16px 32px;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.3);
  font-size: 16px;
}

.form-submit .wp-block-button__link {
  background: var(--navy);
  color: var(--white);
  width: 100%;
  padding: 16px;
  border-radius: 4px;
  border: none;
  font-size: 16px;
  font-weight: 500;
}

.form-submit .wp-block-button__link:hover {
  background: var(--navy2);
}

.float-cta {
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.float-cta .wp-block-button__link {
  background: var(--gold);
  color: var(--navy);
  border-radius: 4px;
  padding: 14px 22px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.2);
  font-size: 15px;
  font-weight: 500;
}

.stats,
.problem-grid,
.services-grid,
.process-steps,
.testi-grid,
.footer-top {
  margin-bottom: 0;
}

/* Gaps and second-row spacing come from block attrs in the imported content. */

.stats > .wp-block-column,
.problem-grid > .wp-block-column,
.services-grid > .wp-block-column,
.process-steps > .wp-block-column,
.testi-grid > .wp-block-column,
.footer-top > .wp-block-columns > .wp-block-column {
  margin-top: 0;
  margin-left: 0 !important;
}

.testi-quote {
  font-size: 15px;
  color: rgba(255,255,255,0.8);
  line-height: 1.7;
  font-style: italic;
  margin-bottom: 16px;
}

.form-field {
  margin: 0;
}