/*
Theme Name: XPMC Advisory Child
Description: Child theme generated from XPMC static HTML/CSS/JS demos.
Author: XPMC
Template: astra
Version: 1.10.6
Text Domain: xpmc-child
*/
:root{--xpmc-font:"Be Vietnam Pro",Arial,sans-serif;--xpmc-navy:#002f36;--xpmc-deep:#01272e;--xpmc-teal:#00a58b;--xpmc-teal2:#00b79d;--xpmc-ink:#0b3337;--xpmc-body:#40575b;--xpmc-muted:#738488;--xpmc-border:#dce6e5;--xpmc-soft:#f3f7f6;--xpmc-pale:#eef8f6;--xpmc-admin-bar:0px;--xpmc-header-height:76px;--xpmc-content:min(1180px,calc(100% - 56px))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--xpmc-header-height) + var(--xpmc-admin-bar) + 18px)}body{margin:0;font-family:var(--xpmc-font);color:var(--xpmc-body);font-size:15px;line-height:1.72;-webkit-font-smoothing:antialiased}body.admin-bar{--xpmc-admin-bar:32px}@media(max-width:782px){body.admin-bar{--xpmc-admin-bar:46px}}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container,.xpmc-container{width:var(--xpmc-content)!important;max-width:none!important;margin-inline:auto!important}
.site-header{position:fixed!important;inset:var(--xpmc-admin-bar) 0 auto!important;z-index:1000!important;height:86px!important;color:#fff;background:transparent!important;border-bottom:1px solid transparent!important;transition:.25s ease}.site-header.scrolled,.xpmc-inner-page .site-header{height:72px!important;background:rgba(2,47,54,.97)!important;border-bottom-color:rgba(255,255,255,.1)!important;box-shadow:0 8px 28px rgba(0,29,34,.08)!important;backdrop-filter:blur(12px)}.site-header .header-inner{height:100%;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:center!important;column-gap:clamp(20px,2.2vw,34px)!important;padding:0!important}.site-header .brand{grid-column:1;justify-self:start;display:flex;align-items:center;max-width:190px}.site-header .custom-logo{display:block;width:auto;max-width:170px;max-height:44px}.brand-site-name{font-size:24px;font-weight:700;letter-spacing:.08em;color:#fff}.desktop-nav{grid-column:2;justify-self:center}.desktop-nav .menu{display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(17px,1.35vw,23px)!important;width:auto!important;margin:0!important;padding:0!important;list-style:none!important}.desktop-nav .menu>li{position:relative;flex:0 0 auto!important;width:auto!important}.desktop-nav .menu>li>a{display:flex;align-items:center;min-height:44px;padding:0!important;color:#fff!important;font-size:10px!important;font-weight:600!important;letter-spacing:.04em!important;text-transform:uppercase!important;white-space:nowrap;opacity:.84}.desktop-nav .menu>li:hover>a,.desktop-nav .current-menu-item>a,.desktop-nav .current-menu-ancestor>a{opacity:1}.desktop-nav .menu-item-has-children>a{gap:7px}.desktop-nav .menu-item-has-children>a:after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px)}.desktop-nav .sub-menu{display:block!important;position:absolute!important;top:calc(100% + 10px)!important;left:50%!important;z-index:120;min-width:240px;max-width:320px;margin:0;padding:9px;list-style:none;background:rgba(2,47,54,.99);border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 18px 46px rgba(1,24,29,.28);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px);transition:.18s ease}.desktop-nav li:hover>.sub-menu,.desktop-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.desktop-nav .sub-menu a{display:block!important;padding:11px 13px!important;color:rgba(255,255,255,.82)!important;font-size:11px!important;line-height:1.45!important;font-weight:500!important;text-transform:none!important;border-radius:5px}.desktop-nav .sub-menu a:hover{background:rgba(255,255,255,.08);color:#fff!important}.header-tools{grid-column:3;justify-self:end;display:flex;align-items:center;gap:7px}.icon-btn,.menu-btn{border:0;background:transparent;color:#fff;cursor:pointer}.xpmc-search-open{width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent!important;border-radius:50%;font-size:22px;overflow:hidden}.xpmc-search-open:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.2)!important}.lang-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;color:#fff;font-size:10px;font-weight:600}.header-cta{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 13px;border:1px solid rgba(255,255,255,.45);color:#fff!important;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.menu-btn{display:none;width:44px;height:44px;position:relative}.menu-btn span{position:absolute;left:12px;width:20px;height:1px;background:#fff}.menu-btn span:first-child{top:18px}.menu-btn span:last-child{top:25px}.mobile-nav{display:none}.xpmc-search-overlay{position:fixed;inset:var(--xpmc-admin-bar) 0 0;z-index:9998;background:rgba(8,19,31,.96);display:none;place-items:center;padding:24px}.xpmc-search-overlay.is-open{display:grid}.xpmc-search-dialog{width:min(720px,100%);position:relative}.xpmc-search-dialog .search-form{display:flex;gap:10px}.xpmc-search-dialog label{flex:1}.xpmc-search-dialog .search-field{width:100%;min-height:52px;border:1px solid #cbd5e1;padding:0 16px}.xpmc-search-dialog .search-submit{min-height:52px;padding:0 22px;border:0;background:var(--xpmc-teal);color:#fff;font-weight:700}.xpmc-search-close{position:absolute;right:0;top:-56px;width:44px;height:44px;background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;font-size:28px}
.site-footer{display:block!important;background:var(--xpmc-deep)!important;color:rgba(255,255,255,.7)!important;padding:60px 0 0!important}.site-footer>.container{width:var(--xpmc-content)!important}.xpmc-footer-builder{display:grid!important;grid-template-columns:repeat(var(--xpmc-footer-columns,4),minmax(0,1fr))!important;gap:clamp(24px,3vw,42px)!important;align-items:start!important;padding-bottom:44px}.xpmc-footer-builder .widget{margin:0!important;padding:0!important;background:transparent!important}.xpmc-footer-builder h2,.xpmc-footer-builder h3,.xpmc-footer-builder h4,.xpmc-footer-builder h5{margin:0 0 14px!important;color:#fff!important;font-size:11px!important;letter-spacing:.07em}.xpmc-footer-builder p{margin:0 0 10px!important;font-size:11px!important;line-height:1.7}.xpmc-footer-builder ul{margin:0!important;padding:0!important;list-style:none!important}.xpmc-footer-builder a{display:inline-block;padding:5px 0;color:rgba(255,255,255,.7)!important;font-size:11px}.xpmc-footer-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px;min-height:64px;padding:14px 0;border-top:1px solid rgba(255,255,255,.1);font-size:10px}.xpmc-footer-builder--fallback{grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(150px,1fr))!important}
.xpmc-page-shell{padding:calc(var(--xpmc-header-height) + 52px) 0 78px}.xpmc-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;margin:0 0 26px;color:var(--xpmc-muted)}.xpmc-breadcrumb a{color:var(--xpmc-body)}.xpmc-breadcrumb .sep{color:#a6b3b5}.xpmc-entry-content{font-size:16px;line-height:1.85}.xpmc-entry-content ul,.xpmc-entry-content ol{padding-left:1.35em}.xpmc-entry-content li+li{margin-top:.4em}.xpmc-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.xpmc-post-card{border:1px solid var(--xpmc-border);background:#fff}.xpmc-post-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.xpmc-post-card-body{padding:20px}.xpmc-post-card h2{font-size:20px;line-height:1.4;margin:8px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1px solid transparent;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.btn-primary{background:var(--xpmc-teal);color:#fff!important}.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}
@media(max-width:1100px){.desktop-nav{display:none!important}.menu-btn{display:block!important}.header-cta{display:none!important}.mobile-nav{position:absolute;top:100%;right:0;width:min(86vw,380px);max-height:calc(100vh - var(--xpmc-header-height) - var(--xpmc-admin-bar));overflow:auto;background:rgba(2,47,54,.99);padding:14px 19px 24px;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(0,25,30,.25)}.mobile-nav.open{display:block}.mobile-nav .menu{display:flex!important;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.mobile-nav li{position:relative}.mobile-nav a{display:block;padding:13px 52px 13px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#fff!important;font-size:12px}.submenu-toggle{position:absolute;top:4px;right:0;width:44px;height:44px;border:0;background:transparent;color:#fff}.submenu-toggle:before{content:"";display:block;width:8px;height:8px;margin:auto;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}.mobile-nav .sub-menu{display:none;margin:0 0 8px;padding:4px 0 6px 14px;list-style:none;border-left:1px solid rgba(0,174,148,.5)}.mobile-nav .submenu-open>.sub-menu{display:block}.xpmc-footer-builder{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:782px){:root{--xpmc-content:min(100% - 28px,1180px);--xpmc-header-height:70px}.site-header,.site-header.scrolled,.xpmc-inner-page .site-header{height:70px!important}.custom-logo{max-width:128px!important}.lang-btn{display:none!important}.xpmc-card-grid{grid-template-columns:1fr}.xpmc-footer-builder{grid-template-columns:1fr!important}.xpmc-footer-bottom{align-items:flex-start!important;flex-direction:column!important;justify-content:center!important;gap:7px}}


/* v1.1.1 — lock typography and header presentation for News / Article templates. */
.site-header,
.site-header *,
.news-index-page,
.news-index-page *,
.xpmc-single,
.xpmc-single *{
  font-family:var(--xpmc-font)!important;
}

/* Article detail follows the supplied demo: transparent header over hero image, navy after scroll. */
body.xpmc-single .site-header{
  background:transparent!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.xpmc-single .site-header.scrolled{
  background:rgba(2,47,54,.97)!important;
  border-bottom-color:rgba(255,255,255,.10)!important;
  box-shadow:0 8px 28px rgba(0,29,34,.08)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}

/* News/category index follows the supplied demo: solid navy header from the top. */
body.news-index-page .site-header{
  background:var(--xpmc-navy)!important;
  border-bottom-color:rgba(255,255,255,.08)!important;
  box-shadow:none!important;
}
body.news-index-page .site-header.scrolled{
  background:rgba(2,47,54,.97)!important;
  box-shadow:0 8px 28px rgba(0,29,34,.08)!important;
}

/* Prevent Astra/default heading typography from leaking into the new templates. */
body.xpmc-single .article-hero h1,
body.xpmc-single .article-content h2,
body.xpmc-single .article-content h3,
body.xpmc-single .related h2,
body.news-index-page .news-hero h1,
body.news-index-page .section-head h2,
body.news-index-page .featured-news-copy h3,
body.news-index-page .news-index-body h3{
  font-family:var(--xpmc-font)!important;
}

/* v1.1.2 — News/article header-menu normalization. */
.news-index-page .site-header .header-inner,
.xpmc-single .site-header .header-inner{font-family:var(--xpmc-font)!important}
.news-index-page .site-header .desktop-nav .menu,
.xpmc-single .site-header .desktop-nav .menu{justify-content:center!important;width:auto!important;max-width:max-content!important}
.news-index-page .site-header .desktop-nav .menu>li,
.xpmc-single .site-header .desktop-nav .menu>li{flex:0 0 auto!important;width:auto!important}
.news-index-page .site-header .desktop-nav a,
.xpmc-single .site-header .desktop-nav a,
.news-index-page .site-header .header-tools,
.xpmc-single .site-header .header-tools{font-family:var(--xpmc-font)!important}


/* v1.1.3 — robust desktop/mobile submenu behavior. */
@media (min-width:1101px){
  /* Create a hover bridge so the pointer can travel from parent item to dropdown. */
  .site-header .desktop-nav .menu > li.menu-item-has-children::before{
    content:"";
    position:absolute;
    left:-10px;
    right:-10px;
    top:100%;
    height:18px;
    z-index:119;
  }

  .site-header .desktop-nav .sub-menu{
    top:calc(100% + 9px)!important;
    left:50%!important;
    right:auto!important;
    width:max-content!important;
    min-width:240px!important;
    max-width:320px!important;
    overflow:visible!important;
    transform:translate(-50%,7px)!important;
  }
  .site-header .desktop-nav li:hover > .sub-menu,
  .site-header .desktop-nav li:focus-within > .sub-menu{
    transform:translate(-50%,0)!important;
  }

  /* Second level stays centered below its parent. Third level opens sideways. */
  .site-header .desktop-nav .sub-menu li.menu-item-has-children{
    position:relative!important;
  }
  .site-header .desktop-nav .sub-menu li.menu-item-has-children > a{
    padding-right:34px!important;
  }
  .site-header .desktop-nav .sub-menu li.menu-item-has-children > a::after{
    content:"";
    position:absolute;
    right:14px;
    top:50%;
    width:6px;
    height:6px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:translateY(-50%) rotate(-45deg);
  }
  .site-header .desktop-nav .sub-menu .sub-menu{
    top:-9px!important;
    left:calc(100% + 10px)!important;
    right:auto!important;
    transform:translate(7px,0)!important;
  }
  .site-header .desktop-nav .sub-menu li:hover > .sub-menu,
  .site-header .desktop-nav .sub-menu li:focus-within > .sub-menu{
    transform:translate(0,0)!important;
  }

  /* Keep dropdown links stable regardless of demo CSS. */
  .site-header .desktop-nav .sub-menu a{
    position:relative!important;
    min-height:0!important;
    margin:0!important;
    white-space:normal!important;
  }
}

@media (max-width:1100px){
  .site-header .mobile-nav .submenu-toggle{
    display:grid!important;
    place-items:center!important;
    z-index:2!important;
    cursor:pointer!important;
    border-radius:4px!important;
  }
  .site-header .mobile-nav .submenu-toggle:hover,
  .site-header .mobile-nav .submenu-toggle:focus-visible{
    background:rgba(255,255,255,.08)!important;
    outline:none!important;
  }
  .site-header .mobile-nav .submenu-toggle::before{
    transition:transform .2s ease!important;
  }
  .site-header .mobile-nav .menu-item-has-children.submenu-open > .submenu-toggle::before{
    transform:rotate(225deg)!important;
  }
  .site-header .mobile-nav .sub-menu{
    position:static!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .site-header .mobile-nav .sub-menu .sub-menu{
    margin-left:8px!important;
  }
}


/* v1.1.4 — canonical header/menu layer for every template. */
.site-header .header-inner,
.site-header .desktop-nav,
.site-header .desktop-nav a,
.site-header .header-tools,
.site-header .mobile-nav,
.site-header .mobile-nav a,
.site-header button{
  font-family:var(--xpmc-font)!important;
}

@media (min-width:1101px){
  .site-header .header-inner{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    align-items:center!important;
  }
  .site-header .desktop-nav{
    justify-self:center!important;
    width:auto!important;
    min-width:0!important;
  }
  .site-header .desktop-nav > ul.menu,
  .site-header .desktop-nav #menu-primary-menu{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    gap:clamp(16px,1.3vw,23px)!important;
  }
  .site-header .desktop-nav > ul.menu > li,
  .site-header .desktop-nav #menu-primary-menu > li{
    position:relative!important;
    flex:0 0 auto!important;
    width:auto!important;
  }
  .site-header .desktop-nav .sub-menu{
    display:block!important;
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:50%!important;
    right:auto!important;
    z-index:1250!important;
    width:max-content!important;
    min-width:240px!important;
    max-width:320px!important;
    margin:0!important;
    padding:9px!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate(-50%,6px)!important;
    background:rgba(2,47,54,.99)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:8px!important;
    box-shadow:0 18px 46px rgba(1,24,29,.28)!important;
    overflow:visible!important;
  }
  .site-header .desktop-nav .menu-item-has-children:hover > .sub-menu,
  .site-header .desktop-nav .menu-item-has-children:focus-within > .sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate(-50%,0)!important;
  }
  .site-header .desktop-nav .menu > li.menu-item-has-children::before{
    content:"";
    position:absolute;
    top:100%;
    left:-10px;
    right:-10px;
    height:16px;
    z-index:1249;
  }
  .site-header .desktop-nav .sub-menu li{
    position:relative!important;
    display:block!important;
    width:100%!important;
  }
  .site-header .desktop-nav .sub-menu a{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    padding:11px 13px!important;
    white-space:normal!important;
  }
  .site-header .desktop-nav .sub-menu .sub-menu{
    top:-9px!important;
    left:calc(100% + 9px)!important;
    right:auto!important;
    transform:translate(6px,0)!important;
  }
  .site-header .desktop-nav .sub-menu li:hover > .sub-menu,
  .site-header .desktop-nav .sub-menu li:focus-within > .sub-menu{
    transform:translate(0,0)!important;
  }
  .site-header .desktop-nav .sub-menu li.menu-item-has-children::after{
    content:"";
    position:absolute;
    top:0;
    right:-12px;
    width:16px;
    height:100%;
  }
}

@media (max-width:1100px){
  .site-header .mobile-nav .sub-menu{
    display:none!important;
  }
  .site-header .mobile-nav .menu-item-has-children.submenu-open > .sub-menu{
    display:block!important;
  }
}


/* v1.1.5 — stable header search icon + unified post thumbnail geometry. */
.site-header .xpmc-search-open .xpmc-search-icon{
  width:19px!important;
  height:19px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
.site-header .xpmc-search-open{
  font-size:0!important;
}


/* v1.1.6 — search icon optical centering + tighter single-post breadcrumb spacing. */
.site-header .xpmc-search-open{
  position:relative!important;
  display:block!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  line-height:0!important;
  text-align:center!important;
}
.site-header .xpmc-search-open .xpmc-search-icon{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:19px!important;
  height:19px!important;
  margin:0!important;
  display:block!important;
  transform:translate(-50%,-50%)!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible!important;
  pointer-events:none!important;
}

/* Keep breadcrumb closer to the fixed header on article pages. */
body.xpmc-single .article-hero-content{
  padding-top:calc(var(--xpmc-header-height) + 28px)!important;
}
body.xpmc-single .article-hero .xpmc-breadcrumb{
  margin-bottom:34px!important;
}
@media(max-width:820px){
  body.xpmc-single .article-hero-content{
    padding-top:calc(var(--xpmc-header-height) + 24px)!important;
  }
}
@media(max-width:560px){
  body.xpmc-single .article-hero-content{
    padding-top:calc(var(--xpmc-header-height) + 20px)!important;
  }
  body.xpmc-single .article-hero .xpmc-breadcrumb{
    margin-bottom:28px!important;
  }
}

/* v1.1.7 — Compact article hero: let content define height instead of a large fixed min-height. */
body.xpmc-single .article-hero{
  min-height:0!important;
  height:auto!important;
  display:block!important;
  align-items:initial!important;
}
body.xpmc-single .article-hero-content{
  padding-top:calc(var(--xpmc-header-height) + 20px)!important;
  padding-bottom:46px!important;
}
body.xpmc-single .article-hero .xpmc-breadcrumb{
  margin-bottom:24px!important;
}
body.xpmc-single .article-meta{
  margin-bottom:14px!important;
}
body.xpmc-single .article-hero h1{
  margin-bottom:16px!important;
}
@media(max-width:820px){
  body.xpmc-single .article-hero{
    min-height:0!important;
  }
  body.xpmc-single .article-hero-content{
    padding-top:calc(var(--xpmc-header-height) + 18px)!important;
    padding-bottom:38px!important;
  }
  body.xpmc-single .article-hero .xpmc-breadcrumb{
    margin-bottom:20px!important;
  }
}
@media(max-width:560px){
  body.xpmc-single .article-hero{
    min-height:0!important;
  }
  body.xpmc-single .article-hero-content{
    padding-top:calc(var(--xpmc-header-height) + 16px)!important;
    padding-bottom:32px!important;
  }
  body.xpmc-single .article-hero .xpmc-breadcrumb{
    margin-bottom:18px!important;
  }
}

/* v1.6.0 — Unlimited Hero Slider (ACF Free via Hero Slides CPT). */
.xpmc-hero-slider{
  position:relative;
  min-height:clamp(500px,64vh,680px);
  overflow:hidden;
  background:#062d33;
  color:#fff;
}
.xpmc-hero-track{
  display:flex;
  width:100%;
  min-height:inherit;
  transition:transform .65s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.xpmc-hero-slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  min-height:inherit;
  display:flex;
  align-items:center;
  isolation:isolate;
}
.xpmc-hero-slide-bg,
.xpmc-hero-slide-overlay{
  position:absolute;
  inset:0;
}
.xpmc-hero-slide-bg{
  z-index:-2;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.015);
}
.xpmc-hero-slide-overlay{
  z-index:-1;
  background:linear-gradient(90deg,rgba(1,31,36,var(--xpmc-slide-overlay,.48)) 0%,rgba(1,31,36,calc(var(--xpmc-slide-overlay,.48) * .76)) 52%,rgba(1,31,36,calc(var(--xpmc-slide-overlay,.48) * .45)) 100%);
}
.xpmc-hero-slide-content{
  position:relative;
  z-index:2;
  padding-top:calc(var(--xpmc-header-height) + 72px)!important;
  padding-bottom:92px!important;
}
.xpmc-hero-slide-content h1{
  max-width:900px;
  margin:12px 0 20px;
  color:#fff!important;
  font-size:clamp(34px,3.55vw,50px)!important;
  line-height:1.14!important;
  letter-spacing:-.025em!important;
}
.xpmc-hero-slide-intro{
  max-width:720px;
  margin:0 0 28px;
  color:rgba(255,255,255,.82)!important;
  font-size:clamp(15px,1.25vw,18px)!important;
  line-height:1.7!important;
}
.xpmc-hero-slide.align-center .xpmc-hero-slide-content{text-align:center}
.xpmc-hero-slide.align-center .xpmc-hero-slide-content h1,
.xpmc-hero-slide.align-center .xpmc-hero-slide-intro{margin-left:auto;margin-right:auto}
.xpmc-hero-slide.align-center .xpmc-hero-slide-actions{justify-content:center}
.xpmc-hero-slide.align-right .xpmc-hero-slide-content{text-align:right}
.xpmc-hero-slide.align-right .xpmc-hero-slide-content h1,
.xpmc-hero-slide.align-right .xpmc-hero-slide-intro{margin-left:auto}
.xpmc-hero-slide.align-right .xpmc-hero-slide-actions{justify-content:flex-end}
.xpmc-hero-slide-actions{display:flex;gap:12px;flex-wrap:wrap}
.xpmc-hero-slider .xpmc-hero-nav{
  position:absolute;
  top:50%;
  z-index:8;
  width:48px;
  height:48px;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  background:rgba(0,35,41,.36);
  color:#fff;
  font:400 31px/1 Arial,sans-serif;
  cursor:pointer;
  transform:translateY(-50%);
  backdrop-filter:blur(8px);
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.xpmc-hero-slider .xpmc-hero-nav:hover,
.xpmc-hero-slider .xpmc-hero-nav:focus-visible{
  background:rgba(0,165,139,.88);
  border-color:rgba(255,255,255,.65);
  outline:none;
}
.xpmc-hero-slider .xpmc-hero-prev{left:max(18px,calc((100vw - 1320px)/2))}
.xpmc-hero-slider .xpmc-hero-next{right:max(18px,calc((100vw - 1320px)/2))}
.xpmc-hero-dots{
  position:absolute;
  z-index:8;
  left:50%;
  bottom:28px;
  display:flex;
  gap:9px;
  transform:translateX(-50%);
}
.xpmc-hero-dot{
  width:9px;
  height:9px;
  min-width:9px;
  margin:0;
  padding:0;
  border:1px solid rgba(255,255,255,.75);
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  transition:width .2s ease,border-radius .2s ease,background-color .2s ease;
}
.xpmc-hero-dot.is-active{
  width:28px;
  border-radius:10px;
  background:#fff;
}
.xpmc-hero-slider.is-single .xpmc-hero-track{transform:none!important}
@media(max-width:980px){
  .xpmc-hero-slider{min-height:560px}
  .xpmc-hero-slide-content{padding-top:calc(var(--xpmc-header-height) + 54px)!important;padding-bottom:78px!important}
  .xpmc-hero-slider .xpmc-hero-prev{left:14px}
  .xpmc-hero-slider .xpmc-hero-next{right:14px}
}
@media(max-width:680px){
  .xpmc-hero-slider{min-height:520px}
  .xpmc-hero-slide-content{padding-top:calc(var(--xpmc-header-height) + 42px)!important;padding-bottom:82px!important}
  .xpmc-hero-slide-content h1{font-size:clamp(29px,8vw,36px)!important}
  .xpmc-hero-slide-actions{flex-direction:column;align-items:stretch}
  .xpmc-hero-slide-actions .btn{width:100%}
  .xpmc-hero-slider .xpmc-hero-nav{top:auto;bottom:18px;width:40px;height:40px;transform:none;font-size:26px}
  .xpmc-hero-slider .xpmc-hero-prev{left:14px}
  .xpmc-hero-slider .xpmc-hero-next{right:14px}
  .xpmc-hero-dots{bottom:32px}
}
@media(prefers-reduced-motion:reduce){
  .xpmc-hero-track{transition:none!important}
}


/* v1.8.1 — Project image rendering: use real media dimensions instead of inline background anchors. */
.project-card .project-img{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  background:#e8efee!important;
}
.project-card .project-img img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .4s ease!important;
}
.project-card:hover .project-img{transform:none!important;}
.project-card:hover .project-img img{transform:scale(1.035)!important;}

/* v1.9.3 — hidden project detail cards remain visible but non-clickable when no custom URL is configured. */
.project-img--disabled{cursor:default!important;}


/* v1.9.4 — Vietnamese-safe heading typography. */
:root{
  --xpmc-heading-font:"Be Vietnam Pro",Arial,sans-serif;
}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body,
button,
input,
select,
textarea{
  font-family:var(--xpmc-font)!important;
  font-synthesis:none;
}
h1,h2,h3,h4,h5,h6,
.xpmc-landing-page h1,.xpmc-landing-page h2,.xpmc-landing-page h3,
.xpmc-inner-page h1,.xpmc-inner-page h2,.xpmc-inner-page h3,
.article-hero h1,.article-content h2,.article-content h3,
.related-head h2,.news-body h3,
.project-body h3,.insight-panel h3,
.xpmc-about-page h1,.xpmc-about-page h2,.xpmc-about-page h3,
.xpmc-contact-page h1,.xpmc-contact-page h2,.xpmc-contact-page h3{
  font-family:var(--xpmc-heading-font)!important;
  font-style:normal!important;
  font-synthesis:none!important;
  font-kerning:normal;
  font-feature-settings:"kern" 1,"liga" 1;
  text-rendering:optimizeLegibility;
  overflow-wrap:break-word;
  word-break:normal;
}

/* Vietnamese diacritics need more vertical breathing room and less tracking compression. */
h1,
.xpmc-landing-page main h1,
.xpmc-inner-page main h1,
.article-hero h1{
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:-.012em!important;
}
h2,
.xpmc-landing-page main h2,
.xpmc-inner-page main h2,
.article-content h2,
.related-head h2{
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:-.008em!important;
}
h3,
.xpmc-landing-page main h3,
.xpmc-inner-page main h3,
.article-content h3,
.news-body h3,
.project-body h3{
  font-weight:600!important;
  line-height:1.42!important;
  letter-spacing:0!important;
}
h4,h5,h6{font-weight:600!important;line-height:1.45!important;letter-spacing:0!important}

/* Avoid unsupported synthetic weights in legacy demo rules. */
.persona-cta{font-weight:600!important}

/* Menu labels also use the same Vietnamese-safe family. */
.site-header,
.site-header a,
.desktop-nav .menu>li>a,
.desktop-nav .sub-menu a,
.mobile-nav a,
.header-cta,
.lang-btn{
  font-family:var(--xpmc-font)!important;
  font-synthesis:none!important;
}
\n\n/* v1.9.5 — safe decorative HTML utilities for editable headings. */\nh1 .xpmc-accent,h2 .xpmc-accent,h3 .xpmc-accent,h4 .xpmc-accent,h5 .xpmc-accent,h6 .xpmc-accent{color:var(--xpmc-teal,#00a58b)!important}\nh1 .xpmc-soft,h2 .xpmc-soft,h3 .xpmc-soft,h4 .xpmc-soft,h5 .xpmc-soft,h6 .xpmc-soft{opacity:.68}\nh1 .xpmc-nowrap,h2 .xpmc-nowrap,h3 .xpmc-nowrap,h4 .xpmc-nowrap,h5 .xpmc-nowrap,h6 .xpmc-nowrap{white-space:nowrap}\nh1 .xpmc-light,h2 .xpmc-light,h3 .xpmc-light,h4 .xpmc-light,h5 .xpmc-light,h6 .xpmc-light{font-weight:400}\nh1 .xpmc-strong,h2 .xpmc-strong,h3 .xpmc-strong,h4 .xpmc-strong,h5 .xpmc-strong,h6 .xpmc-strong{font-weight:700}\nh1 mark,h2 mark,h3 mark,h4 mark,h5 mark,h6 mark{background:linear-gradient(transparent 62%,rgba(0,165,139,.22) 62%);color:inherit;padding:0 .04em}\n

/* v1.9.6 — Heading emphasis now uses real Be Vietnam Pro italics. */
h1 em,h2 em,h3 em,h4 em,h5 em,h6 em,
.xpmc-hero-slide-title em,
.hero h1 em,
.article-hero h1 em,
.news-hero h1 em,
.about-hero h1 em,
.contact-hero h1 em{
  font-family:var(--xpmc-heading-font,"Be Vietnam Pro",Arial,sans-serif)!important;
  font-style:italic!important;
  font-weight:inherit;
  letter-spacing:inherit;
}

/* Optional inline emphasis helpers for ACF heading HTML. */
h1 em.xpmc-accent,h2 em.xpmc-accent,h3 em.xpmc-accent,
.xpmc-hero-slide-title em.xpmc-accent,.hero h1 em.xpmc-accent{
  color:var(--xpmc-teal,#00a58b)!important;
}

/* v1.10.1 — balanced mobile header and full-width navigation panel. */
@media (max-width:1100px){
  .site-header .header-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    column-gap:12px!important;
    align-items:center!important;
  }
  .site-header .brand{
    grid-column:1!important;
    min-width:0!important;
    justify-self:start!important;
    overflow:hidden!important;
  }
  .site-header .header-tools{
    grid-column:2!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:2px!important;
    min-width:0!important;
  }
  .site-header .xpmc-search-open,
  .site-header .menu-btn{
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border-radius:50%!important;
  }
  .site-header .xpmc-search-open{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }
  .site-header .menu-btn{
    display:block!important;
    position:relative!important;
    padding:0!important;
  }
  .site-header .menu-btn span{
    left:12px!important;
    width:20px!important;
    height:1.5px!important;
    transform-origin:center!important;
    transition:top .2s ease,transform .2s ease,opacity .2s ease!important;
  }
  .site-header .menu-btn span:first-child{top:18px!important}
  .site-header .menu-btn span:last-child{top:25px!important}
  .site-header .menu-btn.open span:first-child{top:21.5px!important;transform:rotate(45deg)!important}
  .site-header .menu-btn.open span:last-child{top:21.5px!important;transform:rotate(-45deg)!important}

  .site-header .mobile-nav{
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    max-height:calc(100dvh - var(--xpmc-header-height) - var(--xpmc-admin-bar))!important;
    margin:0!important;
    padding:8px 0 20px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    background:rgba(2,47,54,.985)!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    box-shadow:0 18px 40px rgba(0,25,30,.25)!important;
  }
  .site-header .mobile-nav > .menu,
  .site-header .mobile-nav > ul.menu{
    width:var(--xpmc-content)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .site-header .mobile-nav > .menu > li > a,
  .site-header .mobile-nav > ul.menu > li > a{
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    padding:12px 52px 12px 2px!important;
    font-size:12px!important;
    line-height:1.45!important;
    font-weight:600!important;
    letter-spacing:.025em!important;
  }
  .site-header .mobile-nav .submenu-toggle{
    top:3px!important;
    right:0!important;
    width:44px!important;
    height:44px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
  }
  .site-header .mobile-nav .sub-menu{
    margin:0 0 8px 2px!important;
    padding:3px 0 6px 14px!important;
  }
  .site-header .mobile-nav .sub-menu a{
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    padding:9px 48px 9px 0!important;
    font-size:11.5px!important;
    line-height:1.45!important;
  }
}

@media (max-width:782px){
  .site-header .header-inner{
    column-gap:8px!important;
  }
  .site-header .brand,
  .site-header .brand a{
    max-width:min(45vw,150px)!important;
  }
  .site-header .custom-logo{
    width:auto!important;
    max-width:min(42vw,128px)!important;
    max-height:38px!important;
    object-fit:contain!important;
  }
  .site-header .header-tools{gap:0!important}
  .site-header .xpmc-search-open,
  .site-header .menu-btn{
    flex-basis:42px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
  .site-header .menu-btn span{left:11px!important}
}

@media (max-width:360px){
  .site-header .brand,
  .site-header .brand a{max-width:116px!important}
  .site-header .custom-logo{max-width:116px!important;max-height:34px!important}
  .site-header .header-inner{column-gap:4px!important}
  .site-header .xpmc-search-open,
  .site-header .menu-btn{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .site-header .menu-btn span{left:10px!important}
}
@media(min-width:821px){
  body.home .hero h1 .xpmc-hero-line,
  body.home .xpmc-hero-slide-content h1 .xpmc-hero-line{white-space:nowrap}
}


/* v1.10.4 — Reliable authored hero lines + alternating white / metallic gold. */
.xpmc-hero-line{
  display:block!important;
  width:fit-content;
  max-width:100%;
  color:#fff!important;
}
.xpmc-hero-line:nth-of-type(even){
  color:#d6b36a!important;
  background:linear-gradient(100deg,#f7e2a2 0%,#c99a42 38%,#f3d583 62%,#b98531 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero h1 .xpmc-hero-line *,
.xpmc-hero-slide-content h1 .xpmc-hero-line *,
.about-hero h1 .xpmc-hero-line *,
.contact-hero h1 .xpmc-hero-line *,
.policy-hero h1 .xpmc-hero-line *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
body.home .hero h1,
body.home .xpmc-hero-slide-content h1{
  font-size:clamp(30px,3.45vw,48px)!important;
  max-width:1000px!important;
  line-height:1.16!important;
}
@media (min-width:821px){
  body.home .hero h1 .xpmc-hero-line,
  body.home .xpmc-hero-slide-content h1 .xpmc-hero-line{white-space:nowrap}
}
@media (max-width:560px){
  body.home .hero h1,
  body.home .xpmc-hero-slide-content h1{
    font-size:clamp(27px,8vw,34px)!important;
    line-height:1.18!important;
  }
}


/* v1.10.5 — More breathing room for Vietnamese hero accents/diacritics. */
.hero h1,
.xpmc-hero-slide-content h1,
.about-hero h1,
.contact-hero h1,
.policy-hero h1{
  line-height:1.24!important;
  overflow:visible!important;
}
.hero h1 .xpmc-hero-line,
.xpmc-hero-slide-content h1 .xpmc-hero-line,
.about-hero h1 .xpmc-hero-line,
.contact-hero h1 .xpmc-hero-line,
.policy-hero h1 .xpmc-hero-line{
  line-height:1.24!important;
  padding-block:.035em .075em;
  overflow:visible!important;
}
.hero h1 .xpmc-hero-line + .xpmc-hero-line,
.xpmc-hero-slide-content h1 .xpmc-hero-line + .xpmc-hero-line,
.about-hero h1 .xpmc-hero-line + .xpmc-hero-line,
.contact-hero h1 .xpmc-hero-line + .xpmc-hero-line,
.policy-hero h1 .xpmc-hero-line + .xpmc-hero-line{
  margin-top:.055em;
}
body.home .hero h1,
body.home .xpmc-hero-slide-content h1{
  line-height:1.24!important;
}
@media(max-width:560px){
  .hero h1,
  .xpmc-hero-slide-content h1,
  .about-hero h1,
  .contact-hero h1,
  .policy-hero h1,
  body.home .hero h1,
  body.home .xpmc-hero-slide-content h1{
    line-height:1.28!important;
  }
  .hero h1 .xpmc-hero-line,
  .xpmc-hero-slide-content h1 .xpmc-hero-line,
  .about-hero h1 .xpmc-hero-line,
  .contact-hero h1 .xpmc-hero-line,
  .policy-hero h1 .xpmc-hero-line{
    line-height:1.28!important;
    padding-block:.04em .085em;
  }
}
