/* Approved Header B: all overrides remain scoped to the new header/hero. */
.header-b {
  position: relative;
  z-index: 20;
  background: var(--surface);
  color: var(--ink);
}
.header-b .wrap,
.header-b-hero .wrap {
  width: min(100% - 48px, 1248px);
  max-width: 1248px;
  margin-inline: auto;
  padding-inline: 0;
}
.header-b .mast-top.header-b-top {
  min-height: 76px;
  height: auto;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 12px 0;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.header-b .blc-brand,
.header-b .custom-logo-link {
  display: block;
  flex: 0 0 261px;
  width: 261px;
  line-height: 0;
}
.header-b .blc-brand img,
.header-b .custom-logo {
  display: block;
  width: 261px !important;
  height: auto !important;
  max-height: none;
  max-width: none;
  object-fit: contain;
}
.header-b .header-b-search {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 600px;
  width: min(100%, 600px);
  max-width: 600px;
  min-width: 0;
  height: 44px;
  margin: 0 auto;
  padding: 0 6px 0 14px;
  box-sizing: border-box;
  gap: 10px;
  background: var(--paper);
  border: 1px solid var(--line-2);
  border-radius: 6px;
}
.header-b .header-b-search-label,
.header-b .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.header-b .header-b-search-icon { flex: 0 0 18px; color: var(--muted); }
.header-b .header-b-search input.search-field {
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  
  color: var(--ink);
  font: inherit;
  font-size: 15px;
}
.header-b .header-b-search input.search-field::placeholder { color: #6f7880; opacity: 1; }
.header-b .header-b-search .search-submit {
  flex: 0 0 auto;
  min-height: 32px;
  height: 32px;
  margin: 0;
  padding: 0 14px;
  border: 0;
  border-radius: 4px;
  background: var(--link);
  color: var(--on-dark);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.header-b .blc-languages { flex: 0 0 auto; margin: 0; }
.header-b .blc-languages ul {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-b .blc-languages li { margin: 0; padding: 0; }
.header-b .blc-languages a {
  display: block;
  padding: 8px 10px;
  border-bottom: 2px solid transparent;
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}
.header-b .blc-languages a[aria-current="page"] { border-bottom-color: var(--cyan); color: var(--navy); }
.header-b .header-b-menu-btn { display: none; }
.header-b .mast-nav.header-b-panel {
  display: block;
  min-height: 54px;
  height: auto;
  padding: 0;
  overflow: visible;
  background: var(--navy);
}
.header-b-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 54px;
  padding-block: 0;
  box-sizing: border-box;
}
.header-b .blc-primary-nav { flex: 1 1 auto; min-width: 0; }
.header-b .blc-primary-nav > ul,
.header-b .blc-primary-nav > .menu {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-b .blc-primary-nav li { margin: 0; padding: 0; }
.header-b .blc-primary-nav a {
  display: block;
  padding: 16px 14px;
  color: var(--on-dark);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: anywhere;
  border-bottom: 3px solid transparent;
  padding-bottom: 13px;
}
.header-b .blc-primary-nav .current-menu-item > a,
.header-b .blc-primary-nav .current_page_item > a,
.header-b .blc-primary-nav .current-menu-ancestor > a,
.header-b .blc-primary-nav .current_page_ancestor > a { border-bottom-color: var(--cyan); }
.header-b .header-b-consult {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px;
  border-radius: 6px;
  background: var(--cyan);
  color: var(--on-cyan);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
.header-b a:focus-visible,
.header-b button:focus-visible,
.header-b input:focus-visible,
.header-b-hero a:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 3px;
}
.header-b .header-b-search input:focus-visible { outline-offset: 0; }
.header-b-hero {
  display: block;
  padding: 64px 0 60px;
  background: var(--paper);
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}
.header-b-hero .header-b-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  align-items: center;
  gap: 64px;
  padding-block: 0;
}
.header-b-hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; min-width: 0; }
.header-b-hero .header-b-kicker {
  margin: 0;
  color: var(--link);
  font-size: 15px;
  font-weight: 600;
}
.header-b-hero h1 {
  max-width: 17ch;
  margin: 0;
  color: var(--navy);
  font-size: 50px;
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.03em;
}
.header-b-hero .header-b-title-main,
.header-b-hero .header-b-title-subtitle { display: block; }
.header-b-hero .header-b-title-subtitle {
  margin-top: 12px;
  color: #3f5468;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
}
.header-b-hero .header-b-lead {
  max-width: 58ch;
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.6;
}
.header-b-hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 10px; }
.header-b-hero .header-b-hero-actions .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 6px;
  background: var(--cyan);
  color: var(--on-cyan);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}
.header-b-hero .header-b-whatsapp { color: var(--link); font-size: 16px; font-weight: 600; text-underline-offset: 5px; }
.header-b-hero .header-b-crystal { display: block; width: 280px; height: auto; max-width: 100%; overflow: visible; }
/* Each original facet is traced separately; fixed CSS-pixel strokes remain crisp. */
.header-b-hero .header-b-crystal-line{stroke-dasharray:1;stroke-dashoffset:0}
@media(prefers-reduced-motion:no-preference){
  .header-b-hero .header-b-crystal-line{animation:header-b-trace 2.2s ease-in-out both;animation-delay:calc(var(--facet)*.075s)}
}
@keyframes header-b-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){
  .header-b-hero .header-b-crystal-line{animation:none;stroke-dashoffset:0}
}
@media (max-width: 1040px) {
  .header-b { position: sticky; top: 0; }
  .header-b .wrap,
  .header-b-hero .wrap { width: calc(100% - 32px); }
  .header-b .mast-top.header-b-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 44px;
    grid-template-rows: 60px 44px;
    gap: 0 8px;
    min-height: 116px;
    padding: 0 0 12px;
    border-bottom: 0;
  }
  .header-b .blc-brand,
  .header-b .custom-logo-link { grid-column: 1; grid-row: 1; flex-basis: 196px; width: 196px; }
  .header-b .blc-brand img,
  .header-b .custom-logo { width: 196px !important; height: 30px !important; }
  .header-b .blc-languages { grid-column: 2; grid-row: 1; }
  .header-b .blc-languages a { padding: 12px 6px; font-size: 13px; }
  .header-b .header-b-menu-btn {
    display: inline-flex;
    grid-column: 3;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: var(--navy);
    color: var(--on-dark);
    cursor: pointer;
  }
  .header-b .header-b-menu-btn svg { width: 22px; height: 22px; }
  .header-b .header-b-search {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    max-width: none;
    height: 44px;
    margin: 0;
    padding: 0 12px;
  }
  .header-b .header-b-search input.search-field { font-size: 16px; }
  .header-b .mast-nav.header-b-panel { display: none; min-height: 0; }
  .header-b .mast-nav.header-b-panel.is-open,
  .header-b .mast-nav.header-b-panel[aria-hidden="false"] { display: block; }
  .header-b-nav-inner { display: flex; align-items: stretch; flex-direction: column; gap: 12px; padding-block: 12px 16px; }
  .header-b .blc-primary-nav > ul,
  .header-b .blc-primary-nav > .menu { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0; }
  .header-b .blc-primary-nav a { padding: 12px 8px; }
  .header-b .header-b-consult { align-self: stretch; min-height: 44px; }
  .header-b-hero { padding: 32px 0; }
  .header-b-hero .header-b-hero-inner { display: block; }
  .header-b-hero .header-b-crystal { display: none; }
  .header-b-hero-copy { gap: 14px; }
  .header-b-hero .header-b-kicker { font-size: 14px; }
  .header-b-hero h1 { max-width: none; font-size: 32px; line-height: 1.08; letter-spacing: -0.025em; }
  .header-b-hero .header-b-title-subtitle { margin-top: 8px; font-size: 18px; }
  .header-b-hero .header-b-lead { margin-top: 0; font-size: 16px; }
  .header-b-hero-actions { align-items: stretch; flex-direction: column; gap: 0; width: 100%; margin-top: 8px; }
  .header-b-hero .header-b-hero-actions .btn-primary { width: 100%; box-sizing: border-box; }
  .header-b-hero .header-b-whatsapp { align-self: center; padding: 10px 0; }
}
@media (max-width: 480px) {
  .header-b .wrap,
  .header-b-hero .wrap { width: calc(100% - 32px); }
  .header-b .mast-top.header-b-top { grid-template-columns: minmax(0, 1fr) auto 44px; column-gap: 4px; }
  .header-b .blc-brand,
  .header-b .custom-logo-link { flex-basis: 0; width: min(196px, 100%); }
  .header-b .blc-brand img,
  .header-b .custom-logo { width: min(196px, 100%) !important; height: auto !important; max-height: 30px; }
}

/* Neutralize the previous nav underline; Header B uses a single 3px current rule. */
.header-b .nav-list a::after{content:none}
.header-b .header-b-search:focus-within{outline:2px solid var(--link);outline-offset:2px}

/* Override the old compact panel layout without affecting other theme components. */
.header-b .header-b-panel>.header-b-nav-inner{flex-direction:row;align-items:center;gap:20px;padding-bottom:0}
@media(max-width:1040px){.header-b .header-b-panel>.header-b-nav-inner{flex-direction:column;align-items:stretch;gap:12px;padding-block:12px 16px}}

/* Bounded home shell and the single responsive catalogue. */
.page-shell.blc-shell.page-shell--home {
  display: grid;
  grid-template-columns: calc(max(24px, (100vw - 1248px) / 2) + 256px) minmax(0, 1fr);
  width: 100%;
  max-width: none;
  margin: 0;
  gap: 0;
  background: var(--surface);
}
.page-shell--home > .blc-sidebar {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  box-sizing: border-box;
  border-right: 1px solid var(--line);
  border-top: 0;
  padding: 32px 24px 40px max(24px, (100vw - 1248px) / 2);
  background: var(--paper);
}
.blc-content-column { grid-column: 2; grid-row: 1; min-width: 0; }
.page-shell--home .blc-content-column { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; }
.page-shell--home .blc-main { min-width: 0; grid-column: 1; grid-row: 2; padding: 36px 64px; }
.page-shell--home .header-b-hero {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  margin: 32px 40px 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: var(--navy);
  color: var(--on-dark);
}
.page-shell--home .header-b-hero .header-b-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 200px;
  align-items: center;
  gap: 48px;
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
  padding: 56px 64px 52px;
}
.page-shell--home .header-b-hero-copy { gap: 18px; }
.page-shell--home .header-b-hero .header-b-kicker { color: var(--cyan); }
.page-shell--home .header-b-hero h1 { max-width: 17ch; color: var(--on-dark); }
.page-shell--home .header-b-hero .header-b-title-subtitle { color: var(--on-dark-2); }
.page-shell--home .header-b-hero-actions { flex-wrap: wrap; row-gap: 12px; }
.page-shell--home .header-b-hero .header-b-whatsapp { color: var(--on-dark); }
.page-shell--home .header-b-hero .header-b-crystal { width: 200px; max-width: 100%; }
.page-shell--home .header-b-crystal path:nth-of-type(-n+6) { stroke: var(--ice) !important; }
.page-shell--home .header-b-crystal path:nth-of-type(n+7):nth-of-type(-n+12) { stroke: #3fd0fb !important; }
.page-shell--home .header-b-crystal path:nth-of-type(n+13):nth-of-type(-n+18) { stroke: #6cc8f0 !important; }
.blc-sidebar .side-title { margin: 0 0 10px; }
.catalog-toggle { display: none; }
.catalog-toggle[hidden] { display: none !important; }
.catalog-body { min-width: 0; }

@media (max-width: 1040px) {
  .page-shell.blc-shell.page-shell--home { grid-template-columns: minmax(0, 1fr); }
  .page-shell--home > .blc-content-column { display: contents; }
  .page-shell--home > .blc-sidebar {
    grid-column: 1;
    grid-row: 2;
    padding: 0 16px 20px;
    border: 0;
    background: var(--surface);
  }
  .page-shell--home .header-b-hero {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    border-radius: 0;
  }
  .page-shell--home .header-b-hero .header-b-hero-inner {
    display: block;
    padding: 32px 24px;
  }
  .page-shell--home .header-b-hero .header-b-crystal { display: none; }
  .page-shell--home .header-b-hero-copy { gap: 14px; }
  .page-shell--home .header-b-hero h1 { max-width: none; font-size: 32px; line-height: 1.08; letter-spacing: -0.025em; }
  .page-shell--home .header-b-hero-actions { align-items: stretch; flex-direction: column; gap: 0; width: 100%; margin-top: 8px; }
  .page-shell--home .header-b-hero .header-b-hero-actions .btn-primary { width: 100%; box-sizing: border-box; }
  .page-shell--home .header-b-hero .header-b-whatsapp { align-self: center; padding: 10px 0; }
  .page-shell--home .blc-main { grid-column: 1; grid-row: 3; padding: 28px 24px 36px; }
  .blc-sidebar .side-title { display: none; }
  .catalog-toggle:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 56px;
    padding: 8px 16px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface);
    color: var(--navy);
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
  }
  .catalog-toggle-title { flex: 1 1 auto; }
  .catalog-count { color: var(--muted); font-size: .9rem; font-weight: 500; white-space: nowrap; }
  .catalog-toggle svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: var(--link); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s var(--ease); }
  .catalog-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
  .catalog-body[hidden] { display: none !important; }
  .catalog-body { margin-top: 8px; }
  .page-shell--home .blc-sidebar .catalog-body { border: 1px solid var(--line); border-radius: 6px; background: var(--surface); padding: 8px 16px; }
  .blc-sidebar .menu > li { margin: 0; }
  .blc-sidebar .menu > li > a,
  .blc-sidebar .svc-head { overflow-wrap: anywhere; }
  .blc-sidebar .svc { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; margin: 0; }
  .blc-sidebar .svc:last-child { border-bottom: 0; }
  .blc-sidebar .svc-row { align-items: center; gap: 8px; border: 0; margin: 0; padding: 4px 0; }
  .blc-sidebar .svc-head { flex: 1 1 auto; min-width: 0; font-size: .95rem; padding: 8px 0; }
  .blc-sidebar .svc-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; margin: 0; }
  .blc-sidebar .svc ul { border-top: 1px solid var(--line); padding: 8px 0; }
  .blc-sidebar .svc li a { padding-top: .5rem; padding-bottom: .5rem; font-size: .95rem; }
}

@media (max-width: 1040px) {
  .page-shell--article { grid-template-columns: minmax(0, 1fr); }
  .page-shell--article .blc-sidebar { grid-row: 1; }
  .page-shell--article .blc-content-column { display: contents; }
  .page-shell--article .blc-main { grid-column: 1; grid-row: 2; }
}

/* Final approved 2026-10-22 dimensions; native menus/content remain authoritative. */
.page-shell--home .header-b-hero h1{font-size:46px}
.page-shell--home .header-b-hero .header-b-title-subtitle{font-size:20px;line-height:1.3}
.page-shell--home .header-b-hero-copy{gap:14px}
.page-shell--home .header-b-hero .header-b-whatsapp{text-decoration-color:var(--cyan)}
.blc-content-column{grid-column:2;grid-row:1;min-width:0}
.page-shell--home>.toc-col{display:none}
.catalog-toggle:focus-visible,.svc-toggle:focus-visible{outline:2px solid var(--link);outline-offset:-3px}
.catalog-toggle,.svc-toggle{touch-action:manipulation}
@media(min-width:1041px){
  .page-shell.blc-shell.page-shell--home{max-width:none;width:100%;grid-template-columns:calc(max(24px,(100vw - 1248px)/2) + 256px) minmax(0,1fr);background:var(--surface)}
  .page-shell--home>.blc-sidebar{padding:32px 24px 48px max(24px,calc((100vw - 1248px)/2));background:var(--paper);align-self:stretch}
  .page-shell--home .blc-main{padding:36px 64px 64px}
  .page-shell--home .header-b-hero-actions{flex-wrap:wrap}
}
@media(max-width:1040px){
  .page-shell.blc-shell{grid-template-columns:minmax(0,1fr);max-width:none;width:100%}
  .blc-shell>.blc-content-column{display:contents}
  .blc-shell>.blc-sidebar{grid-column:1;grid-row:1;padding:0;border:0;background:var(--paper)}
  .page-shell--home>.blc-sidebar{grid-row:2}
  .page-shell--article .blc-main{grid-column:1;grid-row:2;padding:32px 16px 48px}
  .page-shell--home .blc-main{grid-column:1;grid-row:3;padding:28px 16px 48px}
  .blc-shell>.toc-col{display:none}
  .page-shell--home .header-b-hero .header-b-hero-inner{padding:28px 16px}
  .page-shell--home .header-b-hero h1{font-size:31px}
  .page-shell--home .header-b-hero .header-b-title-subtitle{font-size:17px}
  .catalog-toggle:not([hidden]){height:56px;min-height:56px;padding:0 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--paper);font-size:15px;justify-content:flex-start}
  .catalog-toggle-title{flex:0 1 auto;min-width:0}
  .catalog-count{font-size:14px}
  .catalog-toggle>svg:last-child{margin-left:auto}
  .catalog-toggle .catalog-list-icon{flex:0 0 18px;width:18px;height:18px;transition:none;transform:none}
  .catalog-toggle[aria-expanded="true"] .catalog-list-icon{transform:none}
  .blc-sidebar .catalog-body,.page-shell--home .blc-sidebar .catalog-body{margin:0;padding:0 16px;border:0;border-radius:0;background:var(--surface)}
  .blc-sidebar .catalog-body>.menu>li>a{display:flex;align-items:center;min-height:52px;padding:8px 0;border:0;border-bottom:1px solid var(--line);border-radius:0}
  .blc-sidebar .svc-row{padding:4px 0}
  .blc-sidebar .svc-head{min-height:44px;display:flex;align-items:center}
  .blc-sidebar .svc-toggle svg{width:18px;height:18px}
}
