/* F2.9D.1 · Canonical public Header visual owner.
   Historical shell.css remains compatibility substrate; this file is the only
   visual authority for Header composition and controls. */

.cemi-ux-shell__header{
  --cfx-header-expanded-h:76px;
  --cfx-header-compact-h:58px;
  position:sticky;
  top:0;
  z-index:var(--cemi-z-sticky,80);
  width:100%;
  color:var(--cemi-color-text);
  background:color-mix(in srgb,var(--cemi-color-surface) 97%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--cemi-color-border) 88%,transparent);
  box-shadow:0 1px 0 rgba(26,34,49,.035);
  backdrop-filter:saturate(150%) blur(14px);
  transform:translate3d(0,0,0);
  transition:transform .32s cubic-bezier(.22,.8,.22,1),box-shadow .22s ease,background-color .22s ease;
  will-change:transform;
}
.cemi-ux-shell__header[data-cfx-header-visibility="hidden"]{
  transform:translate3d(0,calc(-100% - 10px),0);
}
.cemi-ux-shell__header[data-cfx-header-visibility="shown"]{
  transform:translate3d(0,0,0);
}
.cemi-ux-shell__header-full,
.cemi-ux-shell__header-compact{
  width:100%;
}
.cemi-ux-shell__header-compact{display:none}
.cemi-ux-shell__header[data-cfx-header-state="compact"]{
  box-shadow:0 14px 34px rgba(10,18,29,.11);
}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__header-full{display:none}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__header-compact{display:block}
.cemi-ux-shell__header[data-cfx-header-state="expanded"] .cemi-ux-shell__header-full{display:block}
.cemi-ux-shell__header[data-cfx-header-state="expanded"] .cemi-ux-shell__header-compact{display:none}

.cemi-ux-shell__header-inner{
  width:min(calc(100% - 4rem),1440px);
  min-height:var(--cfx-header-expanded-h);
  margin-inline:auto;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:1.25rem;
}
.cemi-ux-shell__header-inner--compact{
  min-height:var(--cfx-header-compact-h);
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:1rem;
}

/* Theme-safe typographic mark */
.cemi-ux-shell__brand,
.cemi-ux-shell__brand--type,
.cemi-ux-shell__brand--compact{
  display:inline-flex;
  align-items:center;
  color:var(--cemi-color-ink);
  text-decoration:none;
  min-width:max-content;
}
.cemi-ux-shell__brand-copy{
  display:grid;
  gap:.05rem;
  line-height:.83;
}
.cemi-ux-shell__brand-copy small{
  font-size:.47rem;
  line-height:1;
  letter-spacing:.19em;
  font-weight:800;
  color:var(--cemi-color-muted);
}
.cemi-ux-shell__brand-copy strong{
  font-family:var(--cemi-font-display);
  font-size:1.08rem;
  line-height:1;
  letter-spacing:-.045em;
  font-weight:800;
  color:var(--cemi-color-ink);
}
.cemi-ux-shell__brand--compact .cemi-ux-shell__brand-copy small{display:none}
.cemi-ux-shell__brand--compact .cemi-ux-shell__brand-copy strong{font-size:.98rem}

/* Navigation */
.cemi-ux-shell__desktop-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.72rem,1.35vw,1.3rem);
  min-width:0;
}
.cemi-ux-shell__desktop-nav a{
  position:relative;
  color:var(--cemi-color-text);
  font-size:.76rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
  transition:color .16s ease;
}
.cemi-ux-shell__desktop-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:-.52rem;
  height:2px;
  border-radius:2px;
  background:var(--cemi-color-brand);
  transition:left .16s ease,right .16s ease;
}
.cemi-ux-shell__desktop-nav a:hover,
.cemi-ux-shell__desktop-nav a:focus-visible,
.cemi-ux-shell__desktop-nav a.is-current{color:var(--cemi-color-brand)}
.cemi-ux-shell__desktop-nav a:hover::after,
.cemi-ux-shell__desktop-nav a:focus-visible::after,
.cemi-ux-shell__desktop-nav a.is-current::after{left:0;right:0}

/* One primitive for every utility control */
.cemi-ux-shell__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.48rem;
  min-width:max-content;
}
.cemi-ux-shell__control,
.cemi-ux-shell__account-action.cemi-ux-shell__control,
.cemi-ux-shell__mobile-trigger.cemi-ux-shell__control{
  box-sizing:border-box;
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  padding:0;
  margin:0;
  border:1px solid var(--cemi-color-border);
  border-radius:.72rem;
  background:var(--cemi-color-surface);
  color:var(--cemi-color-text);
  text-decoration:none;
  cursor:pointer;
  line-height:1;
  transition:transform .14s ease,border-color .14s ease,background-color .14s ease,color .14s ease,box-shadow .14s ease;
}
.cemi-ux-shell__control svg{
  display:block;
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  margin:auto;
}
.cemi-ux-shell__control:hover{
  color:var(--cemi-color-brand);
  border-color:color-mix(in srgb,var(--cemi-color-brand) 45%,var(--cemi-color-border));
  background:var(--cemi-color-surface-soft);
  transform:translateY(-1px);
}
.cemi-ux-shell__control:focus-visible{
  outline:3px solid color-mix(in srgb,var(--cemi-color-brand) 22%,transparent);
  outline-offset:2px;
}
.cemi-ux-shell__account-action.cemi-ux-shell__control{
  width:auto;
  grid-auto-flow:column;
  gap:.45rem;
  padding-inline:.75rem;
}
.cemi-ux-shell__account-label{
  display:inline;
  font-size:.72rem;
  font-weight:750;
  white-space:nowrap;
}
.cemi-ux-shell__theme-icon{
  display:block;
  width:17px;
  height:17px;
  position:relative;
  margin:auto;
}
.cemi-ux-shell__mobile-trigger{display:none!important}

.cemi-ux-shell__header-action{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.62rem 1rem;
  border-radius:.72rem;
  white-space:nowrap;
  font-size:.72rem;
  font-weight:800;
}

/* Compact is a different composition, not a scaled full header. */
.cemi-ux-shell__compact-prompt{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--cemi-color-muted);
  font-size:.74rem;
  font-weight:650;
}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__control{
  width:40px;height:40px;min-width:40px;min-height:40px;border-radius:.64rem
}

/* Drawer: centered rhythm and stronger actions */
.cemi-ux-shell__mobile-drawer[hidden]{display:none!important}
.cemi-ux-shell__mobile-drawer{
  position:fixed;
  inset:0;
  z-index:calc(var(--cemi-z-modal,120) + 1);
  background:rgba(8,15,24,.56);
}
.cemi-ux-shell__mobile-panel{
  position:absolute!important;
  inset:0 0 0 auto!important;
  width:min(92vw,27rem)!important;
  height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow-y:auto!important;
  background:var(--cemi-color-surface)!important;
  color:var(--cemi-color-text)!important;
  box-shadow:-22px 0 56px rgba(8,15,24,.2);
}
.cemi-ux-shell__mobile-panel-head{
  position:sticky;
  top:0;
  z-index:2;
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:max(1rem,env(safe-area-inset-top)) 1.25rem 1rem;
  border-bottom:1px solid var(--cemi-color-border);
  background:color-mix(in srgb,var(--cemi-color-surface) 96%,transparent);
  backdrop-filter:blur(14px);
}
.cemi-ux-shell__mobile-panel-head>div{display:grid;gap:.18rem}
.cemi-ux-shell__mobile-panel-head small{
  color:var(--cemi-color-brand);font-size:.61rem;font-weight:800;letter-spacing:.12em
}
.cemi-ux-shell__mobile-panel-head strong{
  font-size:1.18rem;line-height:1.15;letter-spacing:-.03em;color:var(--cemi-color-ink)
}
.cemi-ux-shell__mobile-close{
  display:grid;
  place-items:center;
  width:42px;height:42px;
  min-width:42px;
  padding:0;
  border:1px solid var(--cemi-color-border);
  border-radius:.72rem;
  background:var(--cemi-color-surface-soft);
  color:var(--cemi-color-text);
  font-size:1.35rem;
  line-height:1;
}

.cemi-ux-shell__mobile-quick{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
  padding:1.1rem 1.25rem .55rem;
}
.cemi-ux-shell__mobile-quick a{
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.9rem;
  text-align:center;
  border:1px solid var(--cemi-color-border);
  border-radius:1rem;
  background:var(--cemi-color-surface-soft);
  color:var(--cemi-color-text);
  text-decoration:none;
}
.cemi-ux-shell__mobile-quick a>span{
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:50%;
  background:color-mix(in srgb,var(--cemi-color-brand) 11%,transparent);
  color:var(--cemi-color-brand);
  font-size:1.08rem;
}
.cemi-ux-shell__mobile-quick a>strong{
  max-width:10rem;
  font-size:.78rem;
  line-height:1.25;
}

.cemi-ux-shell__mobile-nav{
  display:grid;
  gap:0;
  padding:.5rem 1.25rem 1rem;
  border:0;
}
.cemi-ux-shell__mobile-group{
  display:grid;
  padding:1rem 0;
  border-bottom:1px solid var(--cemi-color-border);
}
.cemi-ux-shell__mobile-group:last-child{border-bottom:0}
.cemi-ux-shell__mobile-group h2{
  margin:0 0 .38rem;
  color:var(--cemi-color-muted);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cemi-ux-shell__mobile-group a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding:.62rem .1rem;
  border:0!important;
  color:var(--cemi-color-text)!important;
  background:transparent!important;
  text-decoration:none;
  font-size:.93rem;
  font-weight:700;
}
.cemi-ux-shell__mobile-group a span{color:var(--cemi-color-subtle)}
.cemi-ux-shell__mobile-cta{
  display:grid;
  justify-items:center;
  gap:.35rem;
  margin:0 1.25rem max(1.25rem,env(safe-area-inset-bottom));
  padding:1.15rem;
  text-align:center;
  border-radius:1rem;
  background:var(--cemi-color-surface-strong);
}
.cemi-ux-shell__mobile-cta small{
  color:var(--cemi-color-brand);font-size:.61rem;font-weight:800;letter-spacing:.1em
}
.cemi-ux-shell__mobile-cta strong{font-size:1rem;color:var(--cemi-color-ink)}
.cemi-ux-shell__mobile-cta .cfx-button{
  width:100%;
  margin-top:.5rem;
  justify-content:center;
  text-align:center;
}

/* Responsive modes */
@media(min-width:1200px){
  .cemi-ux-shell__header-inner{width:min(calc(100% - 4rem),1440px)}
}
@media(min-width:900px) and (max-width:1199px){
  .cemi-ux-shell__header-inner{
    width:min(calc(100% - 2.5rem),1200px);
    gap:.75rem;
  }
  .cemi-ux-shell__desktop-nav{display:none!important}
  .cemi-ux-shell__header-action{display:none!important}
  .cemi-ux-shell__mobile-trigger{display:inline-grid!important}
  .cemi-ux-shell__account-action.cemi-ux-shell__control{
    width:42px;padding:0
  }
  .cemi-ux-shell__account-label{display:none}
}
@media(max-width:899px){
  .cemi-ux-shell__header{
    --cfx-header-expanded-h:64px;
    --cfx-header-compact-h:54px;
  }
  .cemi-ux-shell__header-inner,
  .cemi-ux-shell__header-inner--compact{
    width:100%;
    min-height:var(--cfx-header-expanded-h);
    padding-inline:max(.75rem,env(safe-area-inset-left)) max(.75rem,env(safe-area-inset-right));
    grid-template-columns:auto 1fr auto;
    gap:.65rem;
  }
  .cemi-ux-shell__header-inner--compact{min-height:var(--cfx-header-compact-h)}
  .cemi-ux-shell__desktop-nav{display:none!important}
  .cemi-ux-shell__header-action{display:none!important}
  .cemi-ux-shell__mobile-trigger{display:inline-grid!important}
  .cemi-ux-shell__account-action.cemi-ux-shell__control{
    width:42px;padding:0
  }
  .cemi-ux-shell__account-label{display:none}
  .cemi-ux-shell__compact-prompt{display:none}
  .cemi-ux-shell__brand-copy small{display:none}
  .cemi-ux-shell__brand-copy strong{font-size:1rem}
  .cemi-ux-shell__actions{gap:.38rem}
}
@media(max-width:460px){
  .cemi-ux-shell__header-inner,
  .cemi-ux-shell__header-inner--compact{padding-inline:.65rem;gap:.45rem}
  .cemi-ux-shell__control,
  .cemi-ux-shell__account-action.cemi-ux-shell__control,
  .cemi-ux-shell__mobile-trigger.cemi-ux-shell__control{
    width:39px;height:39px;min-width:39px;min-height:39px;border-radius:.65rem
  }
  .cemi-ux-shell__actions{gap:.3rem}
  .cemi-ux-shell__mobile-panel{width:100vw!important}
}

/* WordPress admin bar */
body.admin-bar .cemi-ux-shell__header{top:32px}
@media(max-width:782px){body.admin-bar .cemi-ux-shell__header{top:46px}}

/* Dark mode only changes tokens; text mark remains legible automatically. */
html[data-cfx-theme="dark"] .cemi-ux-shell__header{
  background:color-mix(in srgb,var(--cemi-color-surface) 97%,transparent);
  border-color:var(--cemi-color-border);
}

/* Motion accessibility */
@media(prefers-reduced-motion:reduce){
  .cemi-ux-shell__header{transition:none!important}
  .cemi-ux-shell__header[data-cfx-header-visibility="hidden"]{transform:none!important}
  .cemi-ux-shell__control{transition:none!important}
}


/* ============================================================
   F2.9D.2 · BRAND + THEME CONTROL + HEADER PRESENCE
   Final visual authority for this cut.
   ============================================================ */

/* Stronger state change: Expanded has presence, Compact is visibly leaner. */
.cemi-ux-shell__header{
  --cfx-header-expanded-h:80px;
  --cfx-header-compact-h:56px;
  border-top:2px solid color-mix(in srgb,var(--cemi-color-brand) 45%,transparent);
  transition:
    transform .36s cubic-bezier(.18,.78,.18,1),
    background-color .24s ease,
    box-shadow .24s ease,
    border-color .24s ease;
}
.cemi-ux-shell__header[data-cfx-header-state="expanded"]{
  box-shadow:0 7px 24px rgba(8,15,24,.06);
}
.cemi-ux-shell__header[data-cfx-header-state="compact"]{
  box-shadow:0 16px 36px rgba(8,15,24,.14);
}
.cemi-ux-shell__header[data-cfx-header-state="compact"] .cemi-ux-shell__header-inner--compact{
  min-height:var(--cfx-header-compact-h);
}

/* Typographic brand: visible at every breakpoint and theme-safe. */
.cemi-ux-shell__brand-copy{
  gap:.12rem;
  line-height:1;
}
.cemi-ux-shell__brand-copy small{
  display:flex;
  align-items:center;
  gap:.36rem;
  color:var(--cemi-color-muted);
  font-size:.52rem;
  line-height:1;
  letter-spacing:.22em;
  font-weight:800;
  white-space:nowrap;
}
.cemi-ux-shell__brand-copy small i{
  display:inline-block;
  width:.38rem;
  height:.38rem;
  flex:0 0 .38rem;
  border-radius:50%;
  background:var(--cemi-color-brand);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--cemi-color-brand) 10%,transparent);
}
.cemi-ux-shell__brand-copy strong{
  color:var(--cemi-color-ink);
  font-size:1.48rem;
  line-height:.92;
  letter-spacing:.08em;
  font-weight:800;
}
.cemi-ux-shell__brand--compact .cemi-ux-shell__brand-copy{
  gap:0;
}
.cemi-ux-shell__brand--compact .cemi-ux-shell__brand-copy small{
  display:none;
}
.cemi-ux-shell__brand--compact .cemi-ux-shell__brand-copy strong{
  font-size:1.02rem;
  letter-spacing:.07em;
}

/* Buttons: same geometry, stronger optical centering. */
.cemi-ux-shell__control,
.cemi-ux-shell__account-action.cemi-ux-shell__control,
.cemi-ux-shell__mobile-trigger.cemi-ux-shell__control{
  border-radius:.78rem;
  border-color:color-mix(in srgb,var(--cemi-color-border) 92%,transparent);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
}
.cemi-ux-shell__control svg{
  width:20px;
  height:20px;
  margin:0;
}
.cemi-ux-shell__control:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(8,15,24,.08);
}

/* Theme control: real sun/moon, no pseudo-element crescent artifact. */
.cemi-ux-shell__theme-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
}
.cemi-ux-shell__theme-icon svg{
  grid-area:1/1;
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:opacity .16s ease,transform .2s ease;
}
.cemi-ux-shell__theme-icon[data-theme-state="light"] .cemi-ux-shell__theme-sun{
  opacity:1;
  transform:scale(1) rotate(0deg);
}
.cemi-ux-shell__theme-icon[data-theme-state="light"] .cemi-ux-shell__theme-moon{
  opacity:0;
  transform:scale(.72) rotate(-14deg);
}
.cemi-ux-shell__theme-icon[data-theme-state="dark"] .cemi-ux-shell__theme-sun{
  opacity:0;
  transform:scale(.72) rotate(14deg);
}
.cemi-ux-shell__theme-icon[data-theme-state="dark"] .cemi-ux-shell__theme-moon{
  opacity:1;
  transform:scale(1) rotate(0deg);
}

/* The active theme control is readable, not a heavy outlined special button. */
.cemi-ux-shell__theme-toggle[aria-pressed="true"]{
  color:#fff;
  background:#111b29;
  border-color:#324154;
}
.cemi-ux-shell__theme-toggle[aria-pressed="false"]{
  color:#9b7600;
  background:#fff;
}
html[data-cfx-theme="dark"] .cemi-ux-shell__theme-toggle[aria-pressed="true"]{
  color:#f4f7fb;
  background:#172334;
  border-color:#36465b;
}
html[data-cfx-theme="dark"] .cemi-ux-shell__theme-toggle[aria-pressed="false"]{
  color:#f1bb14;
  background:#151f2d;
}

/* Home Hero presence: dark shell feels intentional when the site is dark. */
html[data-cfx-theme="dark"] .cemi-ux-shell__header{
  background:rgba(12,22,35,.98);
  border-bottom-color:#263549;
}
html[data-cfx-theme="dark"] .cemi-ux-shell__brand-copy strong{
  color:#fff;
}
html[data-cfx-theme="dark"] .cemi-ux-shell__brand-copy small{
  color:#aab6c5;
}
html[data-cfx-theme="dark"] .cemi-ux-shell__desktop-nav a{
  color:#e5eaf1;
}
html[data-cfx-theme="dark"] .cemi-ux-shell__control{
  background:#111c2a;
  border-color:#2c3b4f;
  color:#eef2f8;
}
html[data-cfx-theme="dark"] .cemi-ux-shell__control:hover{
  border-color:color-mix(in srgb,var(--cemi-color-brand) 55%,#2c3b4f);
  color:#fff;
}

/* Light theme remains truly light and brand-safe. */
html[data-cfx-theme="light"] .cemi-ux-shell__header{
  background:rgba(255,255,255,.985);
}
html[data-cfx-theme="light"] .cemi-ux-shell__brand-copy strong{
  color:#172234;
}

/* Responsive brand presence: do not collapse to an anonymous tiny CEMI. */
@media(max-width:899px){
  .cemi-ux-shell__header{
    --cfx-header-expanded-h:68px;
    --cfx-header-compact-h:54px;
  }
  .cemi-ux-shell__brand-copy small{
    display:flex!important;
    font-size:.42rem;
    letter-spacing:.17em;
    gap:.28rem;
  }
  .cemi-ux-shell__brand-copy small i{
    width:.3rem;height:.3rem;flex-basis:.3rem;
  }
  .cemi-ux-shell__brand-copy strong{
    font-size:1.2rem;
    letter-spacing:.07em;
  }
  .cemi-ux-shell__brand--compact .cemi-ux-shell__brand-copy small{
    display:none!important;
  }
  .cemi-ux-shell__brand--compact .cemi-ux-shell__brand-copy strong{
    font-size:1rem;
  }
}
@media(max-width:460px){
  .cemi-ux-shell__brand-copy strong{font-size:1.08rem}
  .cemi-ux-shell__brand-copy small{font-size:.38rem;letter-spacing:.14em}
  .cemi-ux-shell__header-inner,
  .cemi-ux-shell__header-inner--compact{gap:.38rem}
}

/* Reduce motion keeps icons legible without animation. */
@media(prefers-reduced-motion:reduce){
  .cemi-ux-shell__theme-icon svg{transition:none!important}
}

/* ==========================================================
   C1 · SHELL CLOSURE
   Theme icon runtime is deterministic: only one glyph paints.
   Typography family selection remains under TypographyAuthority.
   ========================================================== */
.cemi-ux-shell__theme-icon{
  overflow:visible;
}
.cemi-ux-shell__theme-icon .cemi-ux-shell__theme-sun,
.cemi-ux-shell__theme-icon .cemi-ux-shell__theme-moon{
  display:none;
  opacity:1;
  transform:none;
}
.cemi-ux-shell__theme-icon[data-theme-state="light"] .cemi-ux-shell__theme-sun{
  display:block;
}
.cemi-ux-shell__theme-icon[data-theme-state="dark"] .cemi-ux-shell__theme-moon{
  display:block;
}

/* Header controls keep one canonical geometry in both themes. */
.cemi-ux-shell__theme-toggle[aria-pressed="false"],
html[data-cfx-theme="dark"] .cemi-ux-shell__theme-toggle[aria-pressed="false"]{
  box-shadow:none;
}


/* ==========================================================
   FRONT-A3 · HOME HEADER / NAV DESIGN REFINEMENT
   Canonical visual owner: CEMI UX
   ========================================================== */
.cemi-ux-shell__header--front-a3{
  --cfx-header-expanded-h:70px;
  --cfx-header-compact-h:56px;
  background:color-mix(in srgb,var(--cemi-color-surface) 95%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--cemi-color-border) 74%,transparent);
  box-shadow:0 1px 0 rgba(26,34,49,.025);
  backdrop-filter:saturate(155%) blur(18px);
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__header-inner{
  width:min(calc(100% - 3rem),1360px);
  gap:1.5rem;
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__brand-copy{
  grid-template-columns:auto;
  gap:.12rem;
  min-width:92px;
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__brand-copy small{
  display:flex;
  align-items:center;
  gap:.4rem;
  font-size:.43rem;
  letter-spacing:.2em;
  color:var(--cemi-color-muted);
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__brand-copy small i{
  display:inline-block;
  width:22px;
  height:1px;
  background:var(--cemi-color-brand);
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__brand-copy strong{
  font-size:1.18rem;
  letter-spacing:-.055em;
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__desktop-nav{
  justify-content:flex-start;
  gap:clamp(1rem,1.45vw,1.55rem);
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__desktop-nav a{
  font-size:.73rem;
  font-weight:720;
  letter-spacing:-.01em;
  color:color-mix(in srgb,var(--cemi-color-text) 88%,var(--cemi-color-muted));
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__desktop-nav a::after{
  bottom:-.6rem;
  height:1.5px;
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__control{
  width:38px;height:38px;min-width:38px;min-height:38px;
  border-radius:999px;
  background:transparent;
  border-color:transparent;
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__control:hover{
  background:var(--cemi-color-surface-soft);
  border-color:var(--cemi-color-border);
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__account-action.cemi-ux-shell__control{
  width:38px;
  padding-inline:0;
}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__account-label{display:none}
.cemi-ux-shell__header--front-a3 .cemi-ux-shell__header-action{
  min-height:40px;
  padding:.62rem 1rem;
  border-radius:999px;
  box-shadow:0 6px 16px rgba(200,23,104,.14);
}
.cemi-ux-shell__header--front-a3[data-cfx-header-state="compact"]{
  box-shadow:0 12px 34px rgba(10,18,29,.09);
}
@media(max-width:1120px){
  .cemi-ux-shell__header--front-a3 .cemi-ux-shell__desktop-nav{gap:.85rem}
  .cemi-ux-shell__header--front-a3 .cemi-ux-shell__desktop-nav a{font-size:.68rem}
}
@media(max-width:980px){
  .cemi-ux-shell__header--front-a3 .cemi-ux-shell__desktop-nav{display:none}
  .cemi-ux-shell__header--front-a3 .cemi-ux-shell__mobile-trigger{display:inline-grid!important}
  .cemi-ux-shell__header--front-a3 .cemi-ux-shell__header-inner{
    width:min(calc(100% - 2rem),1360px);
    grid-template-columns:auto 1fr auto;
  }
}
@media(max-width:620px){
  .cemi-ux-shell__header--front-a3{--cfx-header-expanded-h:62px}
  .cemi-ux-shell__header--front-a3 .cemi-ux-shell__header-inner{width:calc(100% - 1.25rem);gap:.55rem}
  .cemi-ux-shell__header--front-a3 .cemi-ux-shell__header-action{display:none}
  .cemi-ux-shell__header--front-a3 .cemi-ux-shell__theme-toggle{display:none}
}


/* UI-R1.1 · authenticated operational entrypoint inside mobile drawer */
.cemi-ux-shell__mobile-operational{border-top:1px solid var(--cfx-line,#e5e7eb);padding-top:.75rem;margin-top:.35rem}
.cemi-ux-shell__mobile-operational small{display:block;margin-bottom:.35rem;font-size:.62rem;letter-spacing:.12em;font-weight:800;opacity:.62}
.cemi-ux-shell__mobile-operational a{display:flex;align-items:center;justify-content:space-between;font-weight:800;text-decoration:none}


/* UI-R2.4 · Global profile-aware header */
.cemi-ux-shell__header--global-r24 .cemi-ux-shell__profile-badge{
  display:inline-flex;
  align-items:center;
  margin-left:.48rem;
  min-height:20px;
  padding:0 .44rem;
  border-radius:999px;
  background:color-mix(in srgb,var(--cemi-color-brand) 12%,transparent);
  color:var(--cemi-color-brand);
  font-size:.52rem;
  line-height:1;
  letter-spacing:.09em;
  font-style:normal;
  font-weight:850;
}
.cemi-ux-shell__header--global-r24[data-cemi-header-profile="advisor"] .cemi-ux-shell__desktop-nav{
  gap:clamp(.52rem,1vw,.92rem);
}
.cemi-ux-shell__header--global-r24[data-cemi-header-profile="advisor"] .cemi-ux-shell__desktop-nav a{
  font-size:.71rem;
}
@media(max-width:1199px){
  .cemi-ux-shell__header--global-r24 .cemi-ux-shell__profile-badge{margin-left:.34rem}
}


/* UI-R2.4A · Profile-persistent canonical mobile menu */
.cemi-ux-shell__mobile-menu-list{
  display:grid;
  grid-template-columns:1fr;
  gap:.18rem;
  width:100%;
}
.cemi-ux-shell__mobile-menu-item{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  width:100%;
  min-height:42px;
  padding:.55rem .15rem!important;
  border-bottom:1px solid var(--cemi-color-border,rgba(26,34,49,.10));
  text-decoration:none;
}
.cemi-ux-shell__mobile-menu-item strong{
  font-size:.88rem;
  font-weight:720;
}
.cemi-ux-shell__mobile-menu-item span{
  flex:0 0 auto;
}
