/* PBS 6.3.177 — authoritative mobile menu collapse/toggle fix on top of 6.3.175.
   Loaded last so desktop remains unchanged while all public layouts collapse safely. */

html,body{max-width:100%;overflow-x:hidden}
img,svg,video,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}

@media (max-width:1100px){
  :root{--header-height:78px}
  .container{width:min(100% - 36px,var(--container,1200px))!important}
  .site-header,.site-header.is-scrolled{min-height:78px;background:#fff!important}
  .header-inner,.site-header.is-scrolled .header-inner{min-height:78px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important}
  .site-logo{min-width:0!important;gap:9px!important}
  .site-logo .brand-symbol{width:42px!important;height:42px!important;flex:0 0 42px!important}
  .site-logo .logo-text{display:block!important;min-width:0}
  .site-logo .logo-text strong{font-size:.78rem!important;white-space:nowrap}
  .site-logo .logo-text span{font-size:.59rem!important}
  .header-actions{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important}
  .header-actions .btn{display:none!important}
  .menu-toggle{display:inline-flex!important;width:46px!important;height:46px!important;min-width:46px!important;padding:0!important;border:1px solid rgba(65,19,112,.18)!important;border-radius:11px!important;background:#fff!important;color:#411370!important;font-size:0!important;line-height:1!important;box-shadow:0 5px 14px rgba(65,19,112,.08)!important}
  .menu-toggle::before{content:"";width:22px;height:16px;background:linear-gradient(#411370 0 0) top/100% 2px no-repeat,linear-gradient(#411370 0 0) center/100% 2px no-repeat,linear-gradient(#411370 0 0) bottom/100% 2px no-repeat}
  .menu-toggle[aria-expanded="true"]::before{width:20px;height:20px;background:linear-gradient(45deg,transparent 46%,#411370 47% 53%,transparent 54%),linear-gradient(-45deg,transparent 46%,#411370 47% 53%,transparent 54%)}

  .main-nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;max-height:calc(100dvh - var(--header-height) - var(--announcement-sticky-height,0px))!important;padding:10px 18px calc(18px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain;background:#fff!important;border-top:1px solid rgba(65,19,112,.09)!important;box-shadow:0 22px 38px rgba(34,13,54,.18)!important}
  .main-nav.is-open{display:block!important}
  .primary-menu{display:block!important;margin:0!important;padding:0!important;list-style:none!important}
  .primary-menu>li{position:relative!important;display:block!important;width:100%!important;margin:0!important;border-bottom:1px solid rgba(65,19,112,.08)!important}
  .primary-menu>li>.menu-link,.primary-menu>li>a{display:flex!important;align-items:center!important;min-height:54px!important;width:100%!important;padding:12px 58px 12px 10px!important;color:#2d2037!important;font-size:.96rem!important;font-weight:800!important;line-height:1.3!important;text-decoration:none!important}
  .primary-menu>li.current-menu-item>.menu-link,.primary-menu>li.current-menu-ancestor>.menu-link,.primary-menu>li.current_page_item>a,.primary-menu>li.current_page_ancestor>a{color:#411370!important;background:#faf7fc!important;border-radius:10px!important}
  .main-nav .menu-item-has-children>.submenu-toggle{position:absolute!important;top:5px!important;right:3px!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border:0!important;border-radius:10px!important;background:#faf7fc!important;color:#411370!important;z-index:5!important}
  .main-nav .submenu-toggle .menu-caret{width:8px!important;height:8px!important;border-right:2px solid currentColor!important;border-bottom:2px solid currentColor!important;transform:rotate(45deg)!important;transition:transform .18s ease!important}
  .main-nav .menu-item-has-children.is-open>.submenu-toggle .menu-caret{transform:rotate(225deg)!important}
  .primary-menu li>.sub-menu{display:none!important;position:static!important;width:100%!important;min-width:0!important;margin:0 0 8px!important;padding:6px 0 8px 12px!important;border:0!important;border-left:2px solid #ffc20e!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
  .primary-menu li.is-open>.sub-menu{display:block!important}
  .primary-menu .sub-menu li{position:relative!important;display:block!important;width:100%!important;margin:0!important;border:0!important}
  .primary-menu .sub-menu .menu-link,.primary-menu .sub-menu a{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:50px!important;padding:7px 50px 7px 7px!important;border-radius:9px!important;background:#fff!important;color:#34273d!important;text-decoration:none!important}
  .primary-menu .sub-menu .menu-link:hover,.primary-menu .sub-menu .menu-link:focus-visible,.primary-menu .sub-menu a:hover,.primary-menu .sub-menu a:focus-visible{background:#faf7fc!important;color:#411370!important;transform:none!important}
  .primary-menu .sub-menu .menu-item-icon,.primary-menu .sub-menu .pbs-menu-thumb{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;border-radius:9px!important;background:#faf7fc!important;color:#411370!important}
  .primary-menu .sub-menu .menu-item-icon img,.primary-menu .sub-menu .pbs-menu-thumb img{max-width:30px!important;max-height:30px!important;object-fit:contain!important}
  .primary-menu .sub-menu .menu-item-copy{display:block!important;min-width:0!important}
  .primary-menu .sub-menu .menu-label{display:block!important;font-size:.9rem!important;line-height:1.25!important;font-weight:800!important}
  .primary-menu .sub-menu .menu-description{display:block!important;margin-top:3px!important;font-size:.72rem!important;line-height:1.35!important;color:#756b7c!important}
  .primary-menu .sub-menu .menu-item-has-children>.submenu-toggle{top:3px!important;right:2px!important;width:40px!important;height:40px!important;min-width:40px!important}
  .mobile-nav-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:15px 0 4px!important}
  .mobile-nav-actions .btn{display:inline-flex!important;width:100%!important;min-height:46px!important;justify-content:center!important}

  .topbar{font-size:.74rem}
  .topbar__inner{min-height:38px!important;padding-block:5px!important}
  .topbar-contact{width:100%!important;justify-content:center!important;gap:14px!important;overflow:hidden}
  .topbar-contact__left{width:100%;justify-content:center!important;gap:14px!important;flex-wrap:nowrap!important}
  .topbar-zone--hours,.topbar-hours{display:none!important}

  main,.site-main{min-width:0}
  .section{padding-top:clamp(34px,5vw,56px)!important;padding-bottom:clamp(42px,6vw,68px)!important}
  h1{overflow-wrap:anywhere}
  .breadcrumbs,.breadcrumb{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

  .approved-hero__grid,.approved-software__grid,.approved-support__grid,.approved-contact__grid,.contact-hero__grid,.contact-main__grid,.pbs-public-item-detail__grid,.pbs-computer-solution-detail{grid-template-columns:1fr!important}
  .approved-hero__content{padding:42px 26px 34px!important}
  .approved-hero__photo{min-height:320px!important}
  .approved-products__layout,.pbs-public-items__layout{grid-template-columns:1fr!important}
  .approved-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .approved-partners__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pbs-about-newslogic__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .pbs-about-newslogic__card{display:flex!important;flex-direction:column!important;min-height:270px!important}
  .pbs-about-newslogic__visual{width:100%!important;min-height:96px!important;flex:0 0 96px!important;border-right:0!important;border-bottom:1px solid #eee6f1!important}
  .pbs-about-newslogic__content{flex:1!important;padding:20px!important}
  .pbs-history-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pbs-public-items__results .pbs-public-items__grid,.pbs-site-cards,.pbs-services-grid,.pbs-software-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .contact-info-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-grid,.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:767px){
  :root{--header-height:70px}
  .container{width:min(100% - 28px,var(--container,1200px))!important}
  .site-header,.site-header.is-scrolled{min-height:70px!important}
  .header-inner,.site-header.is-scrolled .header-inner{min-height:70px!important}
  .site-logo .brand-symbol{width:38px!important;height:38px!important;flex-basis:38px!important}
  .site-logo .logo-text strong{font-size:.7rem!important}
  .site-logo .logo-text span{font-size:.54rem!important}
  .menu-toggle{width:44px!important;height:44px!important;min-width:44px!important}
  .main-nav{padding-inline:14px!important}

  .announcement-inner{min-height:50px!important;grid-template-columns:minmax(0,1fr) auto!important;padding:7px 40px 7px 10px!important}
  .announcement-message{font-size:.7rem!important;line-height:1.25!important}
  .announcement-link{min-height:27px!important;padding:5px 7px!important;font-size:.64rem!important}
  .topbar{display:none!important}

  h1{font-size:clamp(2rem,10vw,2.65rem)!important;line-height:1.08!important}
  h2{overflow-wrap:anywhere}
  .section{padding-top:32px!important;padding-bottom:48px!important}

  .approved-hero__content{padding:34px 18px 28px!important}
  .approved-hero__photo{min-height:260px!important}
  .approved-hero__actions,.contact-hero__actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important}
  .approved-hero__actions .btn,.contact-hero__actions .btn{width:100%!important;justify-content:center!important}
  .approved-services__grid,.approved-products__grid,.approved-news__grid,.approved-partners__grid,.pbs-about-newslogic__grid,.pbs-public-items__results .pbs-public-items__grid,.pbs-site-cards,.pbs-services-grid,.pbs-software-category-grid,.contact-info-panel,.footer-grid,.site-footer__grid{grid-template-columns:1fr!important}
  .approved-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .approved-partners__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pbs-about-newslogic .section{padding-top:32px!important;padding-bottom:58px!important}
  .pbs-about-newslogic__header{margin:18px 0 24px!important}
  .pbs-about-newslogic__header>p:last-child{font-size:.98rem!important}
  .pbs-about-newslogic__card{display:grid!important;grid-template-columns:94px minmax(0,1fr)!important;min-height:165px!important}
  .pbs-about-newslogic__visual{width:auto!important;min-height:0!important;height:100%!important;flex:auto!important;border-right:1px solid #eee6f1!important;border-bottom:0!important}
  .pbs-about-newslogic__visual svg{width:52px!important;height:52px!important}
  .pbs-about-newslogic__content{padding:17px!important}
  .pbs-about-newslogic__content strong{font-size:1rem!important;margin-bottom:7px!important}
  .pbs-about-newslogic__content>span{font-size:.86rem!important;line-height:1.45!important}
  .pbs-about-newslogic__content em{font-size:.82rem!important;padding-top:10px!important;margin-top:auto!important}
  .pbs-history-gallery{margin-top:38px!important;padding-top:26px!important}
  .pbs-history-gallery__grid{grid-template-columns:1fr!important;gap:14px!important}
  .pbs-publication-single__article,.pbs-about-detail .pbs-publication-single__article{margin-top:20px!important}
  .pbs-public-item-detail__facts>div{grid-template-columns:1fr!important;gap:4px!important}
  .pbs-catalogue-search{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:none!important}
  .pbs-catalogue-search__button{width:100%!important}
  .smart-contact-form__grid{grid-template-columns:1fr!important}
  .contact-form-panel{padding:18px 15px!important}
  .mobile-nav-actions{grid-template-columns:1fr!important}
}

@media (max-width:420px){
  .container{width:min(100% - 22px,var(--container,1200px))!important}
  .site-logo .logo-text{display:none!important}
  .header-inner{grid-template-columns:1fr auto!important}
  .announcement-actions{display:none!important}
  .announcement-inner{grid-template-columns:1fr!important}
  .approved-services__grid,.approved-partners__grid{grid-template-columns:1fr!important}
  .pbs-about-newslogic__card{grid-template-columns:82px minmax(0,1fr)!important}
  .pbs-about-newslogic__visual svg{width:46px!important;height:46px!important}
  .primary-menu>li>.menu-link,.primary-menu>li>a{font-size:.92rem!important}
}

@media (hover:none) and (pointer:coarse){
  a,button,.btn,.submenu-toggle{touch-action:manipulation}
  .btn,.menu-toggle,.submenu-toggle{min-height:44px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* PBS 6.3.177 — authoritative mobile submenu state.
   Older navigation layers contain a legacy max-width:1100 rule that sets
   submenus to display:block. These selectors intentionally win over it so
   every submenu is CLOSED by default and opens ONLY when JS adds .is-open. */
@media (max-width:1100px){
  body .site-header .main-nav .primary-menu li.menu-item-has-children > ul.sub-menu,
  body .site-header .main-nav .primary-menu li.pbs-display-list > ul.sub-menu,
  body .site-header .main-nav .primary-menu li.pbs-display-columns > ul.sub-menu,
  body .site-header .main-nav .primary-menu li.pbs-display-mega > ul.sub-menu,
  body .site-header .main-nav .primary-menu li.pbs-columns-trigger > ul.sub-menu{
    display:none!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    margin:0 0 8px!important;
    padding:6px 0 8px 12px!important;
    grid-template-columns:1fr!important;
    columns:auto!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    border:0!important;
    border-left:2px solid #ffc20e!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  body .site-header .main-nav .primary-menu li.menu-item-has-children.is-open > ul.sub-menu,
  body .site-header .main-nav .primary-menu li.pbs-display-list.is-open > ul.sub-menu,
  body .site-header .main-nav .primary-menu li.pbs-display-columns.is-open > ul.sub-menu,
  body .site-header .main-nav .primary-menu li.pbs-display-mega.is-open > ul.sub-menu,
  body .site-header .main-nav .primary-menu li.pbs-columns-trigger.is-open > ul.sub-menu{
    display:block!important;
  }
  body .site-header .main-nav .primary-menu ul.sub-menu > li,
  body .site-header .main-nav .primary-menu ul.sub-menu > li > a.menu-link{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    float:none!important;
    clear:both!important;
    grid-column:auto!important;
  }
  body .site-header .main-nav .primary-menu ul.sub-menu > li > a.menu-link{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:54px!important;
    padding:7px 48px 7px 7px!important;
  }
  body .site-header .main-nav .primary-menu ul.sub-menu .menu-item-copy,
  body .site-header .main-nav .primary-menu ul.sub-menu .menu-label,
  body .site-header .main-nav .primary-menu ul.sub-menu .menu-description{
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}


/* PBS 6.3.179 — MOBILE ONLY: use the already-correct Services dropdown as
   the single visual reference for every primary dropdown. Built directly on
   v6.3.177; desktop/tablet-desktop rules are untouched. */
@media (max-width: 767px) {
  /* Same submenu shell as Services. */
  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0 0 8px!important;
    padding:6px 0 8px 12px!important;
    border:0!important;
    border-left:2px solid #ffc20e!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    columns:auto!important;
    grid-template-columns:none!important;
  }

  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li {
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    float:none!important;
    clear:both!important;
    grid-column:auto!important;
  }

  /* Exact Services row proportions for every first dropdown level. */
  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li > a.menu-link {
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    padding:7px 50px 7px 7px!important;
    border:0!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#34273d!important;
    box-sizing:border-box!important;
    transform:none!important;
  }

  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li:not(.menu-item-has-children) > a.menu-link {
    padding-right:7px!important;
  }

  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li > a.menu-link .menu-item-icon,
  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li > a.menu-link .pbs-menu-thumb {
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    margin:0!important;
    border-radius:9px!important;
    background:#faf7fc!important;
    color:#411370!important;
    overflow:hidden!important;
  }

  /* Prevent News/Product/Software desktop artwork sizing from leaking into mobile. */
  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li > a.menu-link .menu-item-icon svg,
  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li > a.menu-link .menu-item-icon img,
  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li > a.menu-link .pbs-menu-thumb img {
    display:block!important;
    width:30px!important;
    height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
    object-fit:contain!important;
    transform:none!important;
  }

  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li > a.menu-link .menu-item-copy {
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li > a.menu-link .menu-label {
    display:block!important;
    margin:0!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    color:#34273d!important;
    font-size:.9rem!important;
    line-height:1.25!important;
    font-weight:800!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body .site-header .main-nav .primary-menu > li:is(.pbs-news-menu-root,.pbs-products-menu-root,.pbs-services-menu-root,.pbs-software-menu-root,.pbs-about-menu-root) > ul.sub-menu > li > a.menu-link .menu-description {
    display:block!important;
    margin:3px 0 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    color:#756b7c!important;
    font-size:.72rem!important;
    line-height:1.35!important;
    font-weight:550!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}


/* PBS 6.3.180 — MOBILE ONLY: one menu construction everywhere.
   The existing Services dropdown is the visual/structural reference:
   white canvas, yellow hierarchy rail, icon left, title + description right.
   Desktop remains completely untouched. */
@media (max-width: 767px) {
  /* Every dropdown level uses the same clean white accordion canvas. */
  body .site-header .main-nav .primary-menu ul.sub-menu {
    position:static!important;
    display:none;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0 0 8px!important;
    padding:7px 0 9px 14px!important;
    border:0!important;
    border-left:3px solid #ffc20e!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    columns:auto!important;
    column-count:auto!important;
    grid-template-columns:none!important;
    box-sizing:border-box!important;
  }

  body .site-header .main-nav .primary-menu li.is-open > ul.sub-menu {
    display:block!important;
  }

  /* Nested groups repeat the same yellow hierarchy rail, exactly like the
     Desktop Υπολογιστές example in the approved Services-style construction. */
  body .site-header .main-nav .primary-menu ul.sub-menu ul.sub-menu {
    position:static!important;
    width:calc(100% - 8px)!important;
    margin:4px 0 7px 8px!important;
    padding:7px 0 8px 14px!important;
    border-left:3px solid #ffc20e!important;
    background:#fff!important;
  }

  body .site-header .main-nav .primary-menu ul.sub-menu > li {
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
    float:none!important;
    clear:both!important;
    box-sizing:border-box!important;
  }

  body .site-header .main-nav .primary-menu ul.sub-menu > li + li {
    margin-top:4px!important;
  }

  /* All dropdown rows: icon + copy. No cards, no boxed background. */
  body .site-header .main-nav .primary-menu ul.sub-menu > li > a.menu-link {
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:14px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:72px!important;
    margin:0!important;
    padding:10px 50px 10px 8px!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:#34273d!important;
    box-shadow:none!important;
    text-decoration:none!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  body .site-header .main-nav .primary-menu ul.sub-menu > li:not(.menu-item-has-children) > a.menu-link {
    padding-right:10px!important;
  }

  body .site-header .main-nav .primary-menu ul.sub-menu > li > a.menu-link::before,
  body .site-header .main-nav .primary-menu ul.sub-menu > li > a.menu-link::after {
    content:none!important;
    display:none!important;
  }

  /* Same icon tile proportions throughout the whole menu. */
  body .site-header .main-nav .primary-menu ul.sub-menu .menu-item-icon,
  body .site-header .main-nav .primary-menu ul.sub-menu .pbs-menu-thumb {
    grid-column:1!important;
    display:grid!important;
    place-items:center!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    margin:0!important;
    padding:5px!important;
    border:0!important;
    border-radius:11px!important;
    background:#faf7fc!important;
    color:#411370!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body .site-header .main-nav .primary-menu ul.sub-menu .menu-item-icon svg,
  body .site-header .main-nav .primary-menu ul.sub-menu .menu-item-icon img,
  body .site-header .main-nav .primary-menu ul.sub-menu .pbs-menu-thumb img {
    display:block!important;
    width:40px!important;
    height:40px!important;
    max-width:40px!important;
    max-height:40px!important;
    margin:auto!important;
    object-fit:contain!important;
    transform:none!important;
  }

  body .site-header .main-nav .primary-menu ul.sub-menu .menu-item-copy {
    grid-column:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  body .site-header .main-nav .primary-menu ul.sub-menu .menu-label {
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    color:#34273d!important;
    font-size:1.05rem!important;
    line-height:1.24!important;
    font-weight:800!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  body .site-header .main-nav .primary-menu ul.sub-menu .menu-description {
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:5px 0 0!important;
    padding:0!important;
    color:#756b7c!important;
    font-size:.88rem!important;
    line-height:1.42!important;
    font-weight:550!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* Arrow belongs to the row's right edge, without changing copy width. */
  body .site-header .main-nav .primary-menu ul.sub-menu > li > .submenu-toggle {
    position:absolute!important;
    top:50%!important;
    right:5px!important;
    z-index:2!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:9px!important;
    background:#faf7fc!important;
    transform:translateY(-50%)!important;
  }

  body .site-header .main-nav .primary-menu ul.sub-menu > li.is-open > .submenu-toggle {
    background:#f5eff9!important;
  }

  /* Keep hierarchy readable on very narrow phones. */
  @media (max-width: 390px) {
    body .site-header .main-nav .primary-menu ul.sub-menu {
      padding-left:10px!important;
    }
    body .site-header .main-nav .primary-menu ul.sub-menu ul.sub-menu {
      width:calc(100% - 5px)!important;
      margin-left:5px!important;
      padding-left:10px!important;
    }
    body .site-header .main-nav .primary-menu ul.sub-menu > li > a.menu-link {
      grid-template-columns:46px minmax(0,1fr)!important;
      column-gap:11px!important;
      min-height:66px!important;
      padding-left:5px!important;
    }
    body .site-header .main-nav .primary-menu ul.sub-menu .menu-item-icon,
    body .site-header .main-nav .primary-menu ul.sub-menu .pbs-menu-thumb {
      width:46px!important;
      height:46px!important;
      min-width:46px!important;
      min-height:46px!important;
    }
    body .site-header .main-nav .primary-menu ul.sub-menu .menu-item-icon svg,
    body .site-header .main-nav .primary-menu ul.sub-menu .menu-item-icon img,
    body .site-header .main-nav .primary-menu ul.sub-menu .pbs-menu-thumb img {
      width:35px!important;
      height:35px!important;
      max-width:35px!important;
      max-height:35px!important;
    }
    body .site-header .main-nav .primary-menu ul.sub-menu .menu-label {
      font-size:.98rem!important;
    }
    body .site-header .main-nav .primary-menu ul.sub-menu .menu-description {
      font-size:.82rem!important;
    }
  }
}
