/* BRANTSI — Services navigation and homepage service groups. */
.nav .br-services-nav{display:flex;align-items:center}
.nav .br-services-nav>summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;color:#aaa;font-size:11px;padding:10px 0;transition:color .2s}
.nav .br-services-nav>summary::-webkit-details-marker{display:none}
.nav .br-services-nav>summary:hover,.nav .br-services-nav[open]>summary{color:#fff}
.br-nav-chevron{display:inline-block;font-size:15px;transition:transform .22s}
.br-services-nav[open] .br-nav-chevron{transform:rotate(180deg)}
.br-services-panel{position:absolute;z-index:180;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:min(1020px,calc(100vw - 44px));padding:28px 32px 32px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(9,10,12,.985);box-shadow:0 26px 80px rgba(0,0,0,.65);color:#f3f3f0;backdrop-filter:blur(24px)}
.br-services-panel-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid rgba(255,255,255,.14);font-size:11px}
.br-services-panel-top>span{color:#92979b;letter-spacing:.16em;text-transform:uppercase}
.nav .br-services-panel-top a{font-size:11px;color:#f3f3ee}
.br-services-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.br-services-category{min-width:0}
.nav .br-services-category>a.br-services-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:46px;padding:0 0 14px;margin-bottom:7px;color:#fff;border-bottom:1px solid rgba(255,255,255,.15);font-size:12px;font-weight:700;line-height:1.4}
.nav .br-services-category>a.br-services-link{display:block;font-size:12px;line-height:1.45;color:#a9acae;padding:10px 0}
.nav .br-services-category>a.br-services-link:hover{color:#fff}
.nav .br-services-panel a:after{display:none!important}
.nav .br-services-panel a:focus-visible,.nav .br-services-nav>summary:focus-visible{outline:2px solid #fff;outline-offset:4px}
.br-services-nav[open]>.br-services-panel{display:block}
.br-grouped-services{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.br-service-cluster{border:1px solid rgba(255,255,255,.14);border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#101214,#090a0b)}
.br-service-cluster>summary{cursor:pointer;display:grid;grid-template-columns:35px minmax(0,1fr) 28px;gap:16px;align-items:center;list-style:none;padding:28px 30px}
.br-service-cluster>summary::-webkit-details-marker{display:none}
.br-service-cluster>summary:hover{background:rgba(255,255,255,.025)}
.br-cluster-no{font-size:11px;color:#71777c}
.br-cluster-title{display:grid;gap:7px}
.br-cluster-title strong{color:#f5f3ef;font-size:clamp(23px,2.6vw,36px);line-height:1.1;letter-spacing:-.035em}
.br-cluster-title span{font-size:13px;line-height:1.5;color:#9da0a3}
.br-cluster-plus{font-size:24px;color:#b8bab8;transition:transform .22s}
.br-service-cluster[open] .br-cluster-plus{transform:rotate(45deg)}
.br-cluster-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}
.br-cluster-content>.service-card{min-width:0}
@media(max-width:900px){
 .header.open{max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain}
 .header.open .nav .br-services-nav{display:block;width:100%}
 .header.open .nav .br-services-nav>summary{font-size:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);justify-content:space-between}
 .header.open .nav .br-services-panel{position:static;transform:none;width:100%;padding:18px 0 24px;box-shadow:none;background:none;border:0;border-radius:0;backdrop-filter:none}
 .header.open .nav .br-services-panel-top{margin-bottom:18px;padding-bottom:16px}
 .header.open .nav .br-services-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .header.open .nav .br-services-category>a.br-services-link{font-size:12px;padding:9px 0;border:0}
 .header.open .nav .br-services-category>a.br-services-title{font-size:12px;min-height:0}
 .header.open .nav .br-services-panel-top a{font-size:11px;padding:0;border:0}
}
@media(max-width:620px){
 .header.open .nav .br-services-columns{grid-template-columns:1fr;gap:20px}
 .br-service-cluster>summary{grid-template-columns:22px minmax(0,1fr) 20px;gap:10px;padding:21px 18px}
 .br-cluster-title span{font-size:12px}
 .br-cluster-content{grid-template-columns:1fr;padding:0 10px 10px}
}
@media(prefers-reduced-motion:reduce){.br-nav-chevron,.br-cluster-plus{transition:none}}

/* Language switch — equally available in the desktop menu and mobile navigation */
.br-lang-switch{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:#828787;white-space:nowrap}
.nav .br-lang-switch a{color:#828787;text-decoration:none;transition:color .2s}
.nav .br-lang-switch a[aria-current="page"]{color:#f4f3ef}
.nav .br-lang-switch a:hover{color:#fff}
.nav .br-lang-switch a:after{display:none!important}
@media(max-width:900px){.header.open .nav .br-lang-switch{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}.header.open .nav .br-lang-switch a{padding:0;border:0;font-size:14px}}


/* BRANTSI — editorial header v3: larger type and quiet home capsule.
   Desktop navigation remains optically centred; one divider for language only. */
@media (min-width:901px) {
  .header #primary-nav {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(21px,1.85vw,31px);
    min-height:42px;
    line-height:1.2;
    white-space:nowrap;
  }
  .header #primary-nav > .br-services-nav,
  .header #primary-nav > a:not(.mobile-contact),
  .header #primary-nav > .br-lang-switch {
    display:inline-flex;
    align-items:center;
    min-height:34px;
    margin:0;
    padding:0;
    border:0;
  }
  .header #primary-nav > a:not(.mobile-contact),
  .header #primary-nav > .br-services-nav > summary {
    color:#d9dbda;
    font-size:16px;
    font-weight:500;
    letter-spacing:-.01em;
    line-height:1.2;
  }
  .header #primary-nav > .br-services-nav > summary {gap:7px;padding:5px 0}
  .header #primary-nav .br-nav-chevron {font-size:15px;opacity:.75}
  .header #primary-nav > a:not(.mobile-contact):hover,
  .header #primary-nav > .br-services-nav > summary:hover,
  .header #primary-nav > .br-services-nav[open] > summary {color:#fff}
  .header #primary-nav > a.br-home-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:37px;
    padding:7px 15px;
    color:#f0f1ef;
    font-size:15px;
    font-weight:550;
    line-height:1.2;
    border:1px solid rgba(255,255,255,.21);
    border-radius:999px;
    background:rgba(255,255,255,.045);
    transition:background .2s ease,border-color .2s ease,color .2s ease;
  }
  .header #primary-nav > a.br-home-link:after {display:none!important}
  .header #primary-nav > a.br-home-link:hover,
  .header #primary-nav > a.br-home-link[aria-current="page"] {
    color:#fff;
    background:rgba(255,255,255,.095);
    border-color:rgba(255,255,255,.38);
  }
  .header #primary-nav > .br-lang-switch {
    position:relative;
    gap:10px;
    padding-left:22px;
    font-size:13px;
    line-height:1.2;
  }
  .header #primary-nav > .br-lang-switch::before {
    content:"";
    position:absolute;
    left:0;top:50%;
    width:1px;height:16px;
    transform:translateY(-50%);
    background:rgba(255,255,255,.17);
    pointer-events:none;
  }
  .header #primary-nav > .br-lang-switch a {
    font-size:13px;
    font-weight:600;
    letter-spacing:.035em;
  }
  .header .head-cta {
    font-size:14px;
    font-weight:520;
    letter-spacing:0;
    white-space:nowrap;
  }
}
@media (min-width:901px) and (max-width:1220px) {
  .header #primary-nav {gap:clamp(12px,1.4vw,19px)}
  .header #primary-nav > a:not(.mobile-contact),
  .header #primary-nav > .br-services-nav > summary {font-size:14px}
  .header #primary-nav > a.br-home-link {font-size:13.5px;padding:7px 11px;min-height:34px}
  .header #primary-nav > .br-lang-switch {padding-left:15px;gap:7px}
  .header #primary-nav > .br-lang-switch a {font-size:12px}
  .header .head-cta {font-size:12px}
}
@media (max-width:900px) {
  .header.open #primary-nav > a.br-home-link {
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    margin:15px 0 5px;
    padding:13px 16px;
    color:#f4f4f2;
    font-size:16px;
    font-weight:550;
    line-height:1.2;
    border:1px solid rgba(255,255,255,.21);
    border-radius:999px;
    background:rgba(255,255,255,.05);
  }
  .header.open #primary-nav > a.br-home-link:after {display:none!important}
}
@media(prefers-reduced-motion:reduce) {
  .header #primary-nav > a.br-home-link {transition:none}
}
