/* RTL-first shared navigation. 1280px is the tested header-fit breakpoint. */
.site-header{position:relative;z-index:20;background:var(--cando-background-surface);box-shadow:0 4px 4px #0000000a}
.header-desktop{display:none}
.brand{display:inline-flex;align-items:center;gap:4px;flex:none}
.brand__name{font-size:24px;line-height:36px;font-weight:var(--cando-font-weight-bold)}
.brand__symbol{display:block;position:relative;width:40px;height:40px;direction:ltr}
.brand__layer{position:absolute;max-width:none}
.brand__layer--0{left:4.29px;top:0;width:31.89px;height:25.271px}
.brand__layer--1{left:11.75px;top:6.61px;width:24.53px;height:31.801px}
.brand__layer--2{left:15.15px;top:19.14px;width:17.735px;height:12.785px}
.brand__layer--3{left:7.7px;top:19.18px;width:27.646px;height:17.558px}
.nav-icon{width:20px;height:20px;display:block;flex-shrink:0}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;background:transparent;border:0;border-radius:6px;flex-shrink:0}
.icon-button:hover{background:var(--cando-neutral-0-2)}
.nav-pending{display:flex;align-items:center;gap:4px;font-weight:var(--cando-font-weight-medium)}
.nav-search{display:flex;align-items:center;position:relative;border:1px solid var(--cando-neutral-50);border-radius:6px;background:var(--cando-background-surface);height:38px}
.nav-search:focus-within{outline:2px solid var(--cando-primary-400);outline-offset:2px}
.nav-search input[type=search]{border:0;outline:0;background:transparent;min-width:0;width:100%;height:100%;padding:8px 12px;font-size:12px;color:var(--cando-text-primary)}
.nav-search input::placeholder{color:var(--cando-neutral-300);opacity:1}
.nav-search button{background:transparent;border:0;display:grid;place-items:center;min-width:38px;height:36px;padding:8px}
summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:4px}
summary::-webkit-details-marker{display:none}
summary .nav-icon{transition:transform .15s ease}
details[open]>summary .nav-icon{transform:rotate(180deg)}
.header-mobile{height:80px;padding-inline:12px;display:flex;align-items:center;justify-content:space-between;position:relative;box-shadow:0 2px 4px #0000001f}
.header-mobile>.brand{position:absolute;inset-inline-start:50%;transform:translateX(50%)}
[dir=ltr] .header-mobile>.brand{transform:translateX(-50%)}
.mobile-account{display:flex;gap:2px}
.mobile-account .nav-icon{width:24px;height:24px}
.mobile-account [aria-disabled] .nav-icon{width:20px;height:20px}
/* Menu frame 40000248:18807; retain the user's 85vw drawer override. */
.mobile-navigation { background:var(--cando-background-surface); width:100%; }
.mobile-navigation__head {
  height:80px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px;
  flex-shrink:0;
  position:relative;
  z-index:1;
  background:#fff;
  box-shadow:0 2px 4px #0000001f;
}
.mobile-menu-close { width:38px; height:38px; padding:7px; }
.mobile-menu-close .nav-icon { width:24px; height:24px; }
.mobile-navigation__body {
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:24px;
  overflow-y:auto;
  overscroll-behavior:contain;
  flex:1;
  min-height:0;
  scrollbar-width:thin;
}
.mobile-navigation__body>* { flex-shrink:0; }
.mobile-navigation__body>.nav-pending,
.mobile-courses>summary {
  min-height:50px;
  padding:12px 16px;
  border-radius:8px;
  justify-content:space-between;
  gap:8px;
  font-size:var(--cando-font-size-m);
  line-height:var(--cando-line-height-m);
}
.mobile-navigation__body>.nav-pending { font-weight:var(--cando-font-weight-regular); color:var(--cando-text-secondary); }
.mobile-navigation__body>.nav-pending .nav-icon,
.mobile-courses>summary .nav-icon { width:16px; height:16px; }
.mobile-courses>summary { font-weight:var(--cando-font-weight-bold); color:var(--cando-brand-900); }
.mobile-courses[open]>summary { background:var(--cando-primary-0); }
.mobile-course-groups {
  max-height:192px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--cando-primary-100) transparent;
  margin:20px 16px 0;
  padding-inline-start:8px;
  padding-block:8px;
  border-inline-start:1px solid var(--cando-primary-100);
}
.mobile-course-group>summary,.all-courses {
  min-height:38px;
  padding:8px 0;
  font-size:var(--cando-font-size-s);
  line-height:var(--cando-line-height-s);
  font-weight:var(--cando-font-weight-regular);
  color:var(--cando-text-tertiary);
}
.mobile-course-group,.all-courses { margin-block-end:8px; }
.mobile-course-group>summary .nav-icon { width:16px; height:16px; }
.mobile-course-group .topic-list { padding:0 8px 8px; }
.all-courses { display:block; }
.topic-list { padding:0; margin:0; list-style:none; }
.topic-list a { display:block; color:var(--cando-neutral-400); font-size:12px; line-height:20px; padding-block:4px; }
.topic-list a:hover,.topic-list a:focus-visible { color:var(--cando-primary-500); text-decoration:underline; }
.mobile-course-group .topic-list a { font-size:var(--cando-font-size-s); line-height:var(--cando-line-height-s); padding-block:8px; color:var(--cando-text-tertiary); }
.mobile-navigation__account {
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:24px;
  border-top:1px solid var(--cando-primary-0);
  flex-shrink:0;
}
.mobile-account-card { display:flex; align-items:center; gap:12px; min-width:0; }
.mobile-account-card__avatar {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  flex-shrink:0;
  border-radius:50%;
  background:var(--cando-primary-0);
}
.mobile-account-card__avatar .nav-icon { width:24px; height:24px; }
.mobile-account-card__details { display:flex; flex-direction:column; gap:2px; min-width:0; text-align:start; }
.mobile-account-card__details strong { font-size:var(--cando-font-size-s); line-height:var(--cando-line-height-s); font-weight:var(--cando-font-weight-bold); overflow-wrap:anywhere; }
.mobile-account-card__details>span { font-size:var(--cando-font-size-xs); line-height:var(--cando-line-height-xs); color:var(--cando-text-tertiary); overflow-wrap:anywhere; }
.mobile-account-card__email { align-self:flex-start; text-align:start; }
.mobile-navigation__account>.button {
  width:100%;
  min-height:38px;
  padding:8px 20px;
  border:0;
  font-size:var(--cando-font-size-s);
  line-height:var(--cando-line-height-s);
  font-weight:var(--cando-font-weight-bold);
  color:var(--cando-brand-800);
  box-shadow:0 2px 6px #7367f04d;
}
html.nav-enhanced .mobile-nojs{display:none}
html.nav-enhanced .mobile-navigation{position:fixed;z-index:32;inset-block:0;inset-inline-start:0;width:85vw;height:100dvh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 16px 32px #00000012}
.menu-backdrop{position:fixed;inset:0;z-index:31;background:#01010166;border:0;border-radius:0}
html.mobile-nav-open{overflow:hidden}
@media(min-width:1280px){
 .header-mobile,.mobile-navigation,.menu-backdrop{display:none!important}
 /* Desktop frame 40000155:16350: 80px bar, two groups, 80px margins at 1440px. */
 .header-desktop {
   max-width:1280px;
   margin-inline:auto;
   padding-inline:16px;
   height:80px;
   display:flex;
   align-items:center;
   gap:8px;
 }
 .header-desktop>.brand { gap:10px; color:#29292b; opacity:.8; }
 .primary-navigation {
   display:flex;
   align-items:center;
   gap:4px;
   white-space:nowrap;
   font-size:var(--cando-font-size-s);
   line-height:var(--cando-line-height-s);
   color:var(--cando-neutral-500);
 }
 .primary-navigation>.nav-pending,
 .catalog-disclosure>summary { min-height:38px; padding:8px; border-radius:8px; opacity:.8; }
 .primary-navigation .nav-icon { width:16px; height:16px; }
 .catalog-disclosure>summary { justify-content:flex-start; font-weight:var(--cando-font-weight-medium); }
 .catalog-disclosure[open]>summary { color:var(--cando-primary-500); }
 .header-actions { margin-inline-start:auto; display:flex; align-items:center; gap:8px; white-space:nowrap; }
 .header-actions>.nav-search {
   width:207px;
   flex:none;
   border:0;
   border-radius:4px;
   background:var(--cando-neutral-0);
 }
 .header-actions .nav-search button { order:-1; min-width:28px; height:38px; padding:8px 8px 8px 0; }
 .header-actions .nav-search input[type=search] { padding:8px 4px 8px 8px; font-weight:var(--cando-font-weight-medium); }
 .header-actions .nav-search input::placeholder { color:var(--cando-text-disabled); }
 .header-actions>.icon-button { width:38px; height:38px; padding:9px; border-radius:4px; }
 .header-actions .button { height:38px; min-height:38px; font-size:var(--cando-font-size-s); line-height:var(--cando-line-height-s); }
 .header-actions .account-link { width:110px; flex:none; justify-content:flex-start; padding:8px; border:0; border-radius:4px; color:var(--cando-brand-900); }
 .account-link .nav-icon { width:20px; height:20px; }
 .account-link>span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
 .header-actions .header-pathfinder { width:119px; flex:none; padding:8px 20px; border:0; box-shadow:0 2px 6px #7367f04d; }
 .header-pathfinder[aria-disabled=true]:hover { background:var(--cando-primary-button-default); }
 /* Mega-menu frame 40000391:24591. Component rules stay desktop-only. */
 .mega-menu {
   position:absolute;
   inset-block-start:80px;
   inset-inline:24px;
   max-width:1370px;
   margin-inline:auto;
   display:grid;
   grid-template-columns:226px minmax(0,1fr) 197px;
   gap:16px;
   padding:42px 24px 24px;
   background:#fff;
   border:1px solid #f1f5f9;
   border-radius:0 0 12px 12px;
   box-shadow:0 16px 32px #0f172a12;
   white-space:normal;
   max-height:calc(100dvh - 96px);
   overflow-y:auto;
   overscroll-behavior:contain;
 }
 .mega-menu h2 {
   font-size:var(--cando-font-size-s);
   line-height:var(--cando-line-height-s);
   margin:0;
   font-weight:var(--cando-font-weight-bold);
 }
 .course-groups { display:flex; flex-direction:column; gap:8px; min-width:0; }
 .course-groups__row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
 .course-group { min-width:0; }
 .course-group h2 { padding-block:8px; margin-bottom:2px; color:var(--cando-primary-500); }
 .course-group .topic-list { display:flex; flex-direction:column; gap:2px; }
 .course-group .topic-list a {
   padding-block:8px;
   font-size:var(--cando-font-size-s);
   line-height:var(--cando-line-height-s);
   font-weight:var(--cando-font-weight-regular);
   color:var(--cando-text-tertiary);
   overflow-wrap:break-word;
 }
 .course-group .topic-list a:hover,.course-group .topic-list a:focus-visible { color:var(--cando-primary-500); }
 .featured-topics { border-inline-end:1px solid var(--cando-neutral-50); padding-inline-end:16px; }
 .featured-topics>h2 { color:#f59e0b; font-size:var(--cando-font-size-m); line-height:var(--cando-line-height-m); margin-bottom:16px; }
 .featured-topics__cards { display:flex; flex-direction:column; gap:8px; }
 .featured-topic {
   display:flex;
   align-items:center;
   gap:4px;
   min-height:76px;
   padding:12px;
   border:1px solid var(--cando-neutral-0);
   border-radius:8px;
   background:#fff;
   box-shadow:0 4px 3px #0f172a05;
 }
 .featured-topic__icon { width:36px; height:36px; display:grid; place-items:center; flex-shrink:0; background:#fafbfd; border-radius:10px; }
 .featured-topic__icon .nav-icon { width:20px; height:20px; }
 .featured-topic__content { display:flex; flex-direction:column; gap:4px; min-width:0; }
 .featured-topic__content>strong { font-size:var(--cando-font-size-s); line-height:var(--cando-line-height-s); font-weight:var(--cando-font-weight-bold); }
 .featured-topic__meta { display:flex; align-items:center; gap:4px; flex-wrap:wrap; font-size:var(--cando-font-size-xs); line-height:var(--cando-line-height-xs); color:var(--cando-text-disabled); }
 .featured-topic__badge { padding:4px 12px; border-radius:4px; font-weight:var(--cando-font-weight-medium); }
 .featured-topic__badge--brand { background:var(--cando-brand-50); color:var(--cando-brand-800); }
 .featured-topic__badge--success { background:var(--cando-success-50); color:var(--cando-success-500); }
 .featured-topic__badge--info { background:var(--cando-info-50); color:var(--cando-info-500); }
 .featured-topic:hover { border-color:var(--cando-primary-100); }
 .catalog-callout { display:flex; flex-direction:column; gap:24px; align-self:start; min-width:0; }
 .catalog-callout__finder {
   display:flex;
   flex-direction:column;
   gap:16px;
   position:relative;
   overflow:hidden;
   padding:20px;
   border:1px solid #ffffff14;
   border-radius:20px;
   background:linear-gradient(103.834deg,#090d1a 16.667%,#1e293b 83.333%);
   box-shadow:0 8px 16px #006cff1a;
 }
 .catalog-callout__glow { position:absolute; top:-31px; right:-31px; width:100px; height:100px; pointer-events:none; }
 .catalog-callout__copy,.catalog-callout__finder>.button { position:relative; }
 .catalog-callout__copy h2 { color:#fff; margin-bottom:8px; }
 .catalog-callout__copy p { margin:0; font-size:var(--cando-font-size-xs); line-height:var(--cando-line-height-xs); font-weight:var(--cando-font-weight-medium); color:#94a3b8; }
 .catalog-callout__finder>.button { width:100%; border:0; padding:8px 12px; font-size:var(--cando-font-size-s); line-height:var(--cando-line-height-s); box-shadow:0 2px 6px #7367f04d; }
 .catalog-callout__all {
   display:flex;
   justify-content:center;
   align-items:center;
   width:100%;
   border:1.5px solid #f1f5f9;
   border-radius:8px;
   padding:12px 16px;
   font-size:var(--cando-font-size-xs);
   line-height:var(--cando-line-height-xs);
   font-weight:var(--cando-font-weight-medium);
   color:#1e293b;
 }
 .catalog-callout__all:hover { border-color:var(--cando-primary-100); }
}
@media(min-width:1440px){
 .header-desktop{padding-inline:0}
 /* The supplied frame uses independently sized rows, with a blank lower-left cell. */
 .course-groups__row--1{grid-template-columns:165px repeat(3,183px)}
 .course-groups__row--2{grid-template-columns:max-content 183px 165px minmax(0,1fr)}
 .course-groups__row--3{grid-template-columns:207px 183px 183px}
 .course-groups__row--3 .course-group:not(:first-child) h2{padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){summary .nav-icon{transition:none}}
