/* Portable company header styles, used by both public applications. */
.public-body .showcase-header{height:72px!important;min-height:72px!important;position:sticky;top:0;z-index:180!important;align-items:center;background:rgba(5,16,36,.97)!important;color:#eef7ff;border-bottom:1px solid #213956;backdrop-filter:blur(18px);box-shadow:0 6px 25px #02081826;transform:none!important;box-sizing:border-box}
.showcase-header .showcase-brand{display:flex;align-items:center;gap:8px!important;white-space:nowrap;text-decoration:none;color:#fff;min-width:max-content}
.showcase-header .showcase-brand img{width:36px!important;height:36px!important;object-fit:contain}
.showcase-header .showcase-brand span{font-size:18px!important;font-weight:800;letter-spacing:-.45px}
.showcase-header .showcase-desktop-nav{display:flex;align-items:center;white-space:nowrap;color:#edf5ff}.showcase-desktop-nav a{color:inherit;text-decoration:none;padding:25px 0 22px!important;border-bottom:2px solid transparent}.showcase-desktop-nav a:hover,.showcase-desktop-nav a[aria-current=page]{border-bottom-color:#3dcfff;color:#fff}
.showcase-header-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}.showcase-theme-toggle{height:36px;display:flex;align-items:center;gap:5px;padding:0 9px;border:1px solid #2b4567;border-radius:999px;background:#0e2342;color:#ffd65d;cursor:pointer}.showcase-theme-toggle .moon{color:#d6e5ff;font-size:17px}.showcase-login{min-width:98px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:#fff!important;background:linear-gradient(#259cff,#0c7bf2);border:1px solid #249eff;border-radius:11px;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.showcase-mobile-toggle{display:none;width:42px;height:42px;place-items:center;border:1px solid #315278;border-radius:11px;background:#0b203e;color:#fff;font-size:21px;cursor:pointer}
.showcase-mobile-backdrop{position:fixed;inset:0;background:#00091699;backdrop-filter:blur(4px);z-index:220}.showcase-mobile-drawer{position:fixed;top:0;right:0;width:min(340px,88vw);height:100dvh;background:linear-gradient(#06142d,#0a1c38);color:#fff;z-index:230;transform:translateX(105%);transition:transform .24s ease;box-shadow:-20px 0 70px #0006;padding:18px;display:flex;flex-direction:column}.showcase-mobile-drawer.open{transform:translateX(0);visibility:visible}.showcase-mobile-drawer[inert]{visibility:hidden}.mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #1d395e}.mobile-drawer-head .brand{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;white-space:nowrap;font-size:15px}.mobile-drawer-head .brand img{width:30px;height:30px}.mobile-drawer-head button{width:38px;height:38px;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.showcase-mobile-drawer nav{display:grid!important;margin:18px 0!important;gap:4px!important;font-size:15px!important}.showcase-mobile-drawer nav a{display:flex;align-items:center;gap:10px;padding:13px 10px;border-radius:10px;color:#eff7ff;text-decoration:none}.showcase-mobile-drawer nav a:hover{background:#11284a}
.visual-public-body:not(.dashboard-page) .site-main{width:min(var(--public-shell,1320px),calc(100% - 2 * var(--preview-gutter)));max-width:var(--public-shell,1320px);margin-inline:auto;padding-inline:0!important}.visual-public-body .page-ad-layout{width:100%;max-width:100%;padding-inline:0!important}.visual-public-body details.mobile-site-menu{display:none!important}.visual-public-body .site-sticky-stack{position:sticky;top:0;z-index:180;overflow:visible}.visual-public-body .site-footer{padding-inline:max(var(--preview-gutter),calc((100% - var(--public-shell,1320px))/2))!important}
@media(max-width:900px){.showcase-mobile-toggle{display:grid}.showcase-header .showcase-desktop-nav{display:none!important}}
@media(max-width:600px){.showcase-header .showcase-theme-toggle{display:flex!important}}

/* Approved shared public layout, v4.4. CMS/editor rules remain scoped. */
.public-body {
  --preview-gutter: clamp(16px, 3vw, var(--public-gutter, 28px));
}
.public-body .showcase-header,
.public-body.public-header-hidden .showcase-header {
  padding-inline: max(var(--preview-gutter), calc((100% - var(--public-shell, 1320px)) / 2)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  gap: 24px !important;
}
.public-body .showcase-header > .brand { justify-self: start; }
.public-body .showcase-header .showcase-desktop-nav {
  margin: 0 !important;
  gap: 26px !important;
  justify-content: center;
}
.public-body .showcase-header .showcase-header-tools {
  margin: 0;
  justify-self: end;
}
.public-body .public-page-main > :is(.showcase-home, .showcase-about-page, .showcase-guides-page, .section, .product-hero, .page-hero, .hire-hero, .hire-form-wrap) {
  width: min(var(--public-shell, 1320px), calc(100% - 2 * var(--preview-gutter)));
  max-width: var(--public-shell, 1320px);
  margin-inline: auto;
  padding-inline: 0 !important;
}
.public-body .showcase-footer {
  padding-inline: max(var(--preview-gutter), calc((100% - var(--public-shell, 1320px)) / 2)) !important;
}
.showcase-hero { padding-inline: 0; gap: 32px; }
.showcase-hero-copy { padding-left: 0; }
.showcase-hero h1 { font-size: clamp(44px, 4.2vw, 60px); line-height: 1.06; letter-spacing: -2.4px; }
.showcase-hero h2 { font-size: 18px; }
.showcase-categories { padding-inline: 0; gap: 14px; padding-bottom: 24px; }
.showcase-duo.preview-apps { grid-template-columns: minmax(0, 1fr); padding-inline: 0; padding-bottom: 24px; }
.preview-apps .apps-panel { min-height: 0; padding: 24px; }
.preview-apps .panel-title-row { align-items: center; }
.preview-apps .showcase-app-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.preview-apps .showcase-app-card { grid-template-columns: 52px minmax(0, 1fr); align-items: start; padding: 16px; gap: 12px; }
.preview-apps .showcase-app-card b { font-size: 15px; }
.preview-apps .showcase-app-card small { font-size: 12px; line-height: 1.5; margin-top: 5px; }
.preview-apps .showcase-app-card strong { margin-top: 7px; }
.preview-apps .showcase-app-card .buy-pill { grid-column: 1 / -1; height: 36px; width: 100%; margin-top: auto; }
.preview-browse-apps { display: inline-flex; align-items: center; gap: 8px; color: #ebf6ff; font-size: 12px; border: 1px solid #5f85ac; border-radius: 9px; padding: 9px 14px; white-space: nowrap; }
.showcase-section { margin-inline: 0; margin-bottom: 24px; padding: 20px; }
@media (max-width: 1100px) {
  .preview-apps .showcase-app-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .public-body .showcase-header,
  .public-body.public-header-hidden .showcase-header { grid-template-columns: minmax(0, 1fr) auto !important; gap: 12px !important; }
  .public-body .showcase-header .showcase-desktop-nav { display: none !important; }
  .showcase-hero { gap: 20px; }
}
@media (max-width: 650px) {
  .preview-apps .showcase-app-list { grid-template-columns: minmax(0, 1fr); }
  .preview-apps .apps-panel, .showcase-section { padding: 16px; }
  .preview-apps .panel-title-row { align-items: flex-start; gap: 10px; }
  .preview-apps .panel-title-row h2 { font-size: 20px; }
  .preview-browse-apps { padding: 8px 10px; font-size: 11px; }
  .public-body .showcase-header { gap: 8px !important; }
  .showcase-header .showcase-brand { gap: 7px !important; }
  .showcase-header .showcase-brand img { width: 29px !important; height: 29px !important; }
  .showcase-header .showcase-brand span { font-size: 14px !important; }
  .showcase-header-tools { gap: 6px; }
  .showcase-theme-toggle { padding: 0 6px; height: 32px; }
  .showcase-theme-toggle .moon { font-size: 15px; }
  .showcase-login { min-width: 58px; height: 34px; padding: 0 10px; }
  .showcase-mobile-toggle { width: 34px; height: 34px; }
}
@media (max-width: 359px) {
  .showcase-header .showcase-login { display: none; }
}

/* Shared company navigation and account profile. */
.public-body .showcase-header,
.public-body.public-header-hidden .showcase-header {
  grid-template-columns: auto auto minmax(220px, 1fr) auto !important;
  grid-template-rows: 1fr !important;
  gap: 22px !important;
}
.showcase-header > .brand { grid-row: 1 !important; grid-column: 1 !important; }
.public-body .showcase-header .showcase-desktop-nav { grid-row: 1 !important; grid-column: 2 !important; }
.preview-header-search { grid-row: 1 !important; grid-column: 3 !important; }
.showcase-header .showcase-header-tools { grid-row: 1 !important; grid-column: 4 !important; }
.public-body .showcase-header .showcase-desktop-nav {
  justify-self: start;
  gap: 18px !important;
  font-size: 12px !important;
}
.preview-header-search {
  display: flex;
  align-items: center;
  min-width: 0;
  height: 42px;
  padding: 0 13px;
  gap: 10px;
  background: #0d203b;
  border: 1px solid #2b486d;
  border-radius: 11px;
  color: #a7c0dc;
}
.preview-header-search:focus-within { border-color: #48c6ff; box-shadow: 0 0 0 3px #1688ff25; }
.preview-header-search svg { flex: 0 0 18px; }
.preview-header-search input {
  padding: 0 !important;
  width: 100%;
  min-width: 0;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #eaf5ff !important;
  outline: 0;
  font-size: 12px;
}
.preview-header-search input::placeholder { color: #9db6d3; opacity: 1; }
.public-body .showcase-header .preview-header-search input[type="search"] {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  color: #eaf5ff !important;
}
.preview-header-search .search-hint {
  font-size: 10px;
  padding: 4px 6px;
  border: 1px solid #314b6b;
  border-radius: 5px;
  color: #7997b8;
}
.showcase-hero h1 {
  background: linear-gradient(90deg, #63eaff 0%, #21a7ff 48%, #a367ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}
.showcase-hero-art img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  filter: none;
  transform: scale(1.07);
  mask-image: radial-gradient(ellipse at center, #000 56%, #000b 72%, transparent 100%);
}
.hero-orbit-label { display: none; }
.public-body :is(.showcase-chat-launcher, #chatLaunch, #chatWidget) { display: none !important; }
.public-body .public-page-main > .account-layout {
  width: min(var(--public-shell, 1320px), calc(100% - 2 * var(--preview-gutter)));
  max-width: var(--public-shell, 1320px);
  margin-inline: auto;
}
.account-side .account-footer {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.account-side .profile-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #3b5673 !important;
  border-radius: 12px !important;
  background: #1c344d !important;
  padding: 14px 12px !important;
  margin: 0;
  box-shadow: inset 0 1px 0 #ffffff04;
}
.account-side .account-nav-secondary { padding-top: 12px; border-top: 0; }
.profile-badge > span { width: 38px; height: 38px; flex: 0 0 38px; }
.account-side .profile-badge > div { min-width: 0; gap: 2px; }
.account-side .profile-badge b { font-size: 13px; line-height: 1.4; }
.account-side .profile-badge small { font-size: 10px; color: #8cc9ff; margin: 0; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.account-side .profile-badge .preview-profile-role { color: #9cb6d3; }
.cms-side .preview-visual-group { margin: 8px 8px 10px; border: 1px solid #315777; border-radius: 10px; background: #0c2947; }
.preview-visual-group summary { padding: 10px 11px; color: #8fd9ff; font-size: 11px; font-weight: 800; cursor: pointer; }
.preview-visual-links { display: grid; padding: 0 4px 7px; gap: 2px; }
.preview-visual-links a { font-size: 10px !important; padding: 8px 12px !important; }
@media (max-width: 1100px) and (min-width: 901px) {
  .public-body .showcase-header,
  .public-body.public-header-hidden .showcase-header { gap: 14px !important; grid-template-columns: auto auto minmax(170px, 1fr) auto !important; }
  .showcase-header .showcase-brand span { font-size: 16px !important; }
  .public-body .showcase-header .showcase-desktop-nav { gap: 12px !important; font-size: 11px !important; }
}
@media (max-width: 900px) {
  .public-body .showcase-header,
  .public-body.public-header-hidden .showcase-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: 54px 42px !important;
    height: 118px !important;
    min-height: 118px !important;
    column-gap: 10px !important;
    row-gap: 4px !important;
    padding-bottom: 14px !important;
  }
  .showcase-header > .brand { grid-row: 1 !important; grid-column: 1 !important; }
  .showcase-header .showcase-header-tools { grid-row: 1 !important; grid-column: 2 !important; }
  .preview-header-search { grid-row: 2 !important; grid-column: 1 / -1 !important; width: 100%; }
  .public-body.account-body { --public-header-h: 118px; }
  .public-body .public-page-main > .account-layout { width: 100%; max-width: none; }
  .showcase-hero-art img { transform: none; }
  .showcase-hero h2 { font-size: 17px; }
}

/* Shared CMS frame; the Digital CMS layout stays intact. */
.cms-main.cms-visual-main{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0!important}
.cms-visual-main>.cms-top{flex:0 0 auto;margin-bottom:12px}
.visual-cms-frame{display:block;flex:1 1 0;width:100%;min-height:0;border:1px solid #d0dfed;border-radius:16px 16px 0 0;background:#edf2f7}
.preview-header-search button.search-hint{background:transparent;cursor:pointer}
.search-results-group{margin-bottom:28px}.search-results-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.search-result{display:block;background:#fff;border:1px solid #d2e0ef;border-radius:14px;padding:18px}.search-result b{display:block;color:#112844}.search-result p{font-size:13px;line-height:1.6;color:#64748b}.search-result span{font-size:12px;color:#1688ff}.search-empty{padding:30px;border:1px dashed #a7c4df;border-radius:14px;color:#536b83}
@media(max-width:900px){.search-results-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.search-results-list{grid-template-columns:minmax(0,1fr)}}

/* Override the former Visual public gutters, without loading this in editors. */
body.visual-public-body .site-sticky-stack .showcase-header{
  padding-inline:max(var(--preview-gutter),calc((100% - var(--public-shell,1320px))/2))!important;
  padding-block:0!important;
}
body.visual-public-body .showcase-header .showcase-desktop-nav a{font-size:inherit}
body.visual-public-body .showcase-header .showcase-brand{max-width:none!important}
body.visual-public-body .showcase-header .showcase-brand span{display:inline!important}
body.visual-public-body .site-main{width:min(var(--public-shell,1320px),calc(100% - 2 * var(--preview-gutter)));max-width:var(--public-shell,1320px);margin-inline:auto;padding-inline:0!important}
body.visual-public-body .page-ad-layout>.page-content>:is(.hero,.section,.feature-grid,.page-head){padding-inline:0!important}
body.visual-public-body .app-shell.modern-dashboard .sticky-sidebar{top:var(--site-stack-height,72px);height:calc(100dvh - var(--site-stack-height,72px) - var(--footer-ticker-height,0px))!important}
body.visual-public-body .app-shell.modern-dashboard .sidebar-profile{border:1px solid #3b5673;border-radius:12px;background:#1c344d;padding:14px 12px!important;box-shadow:none}
body.visual-public-body .sidebar-profile .avatar{width:38px;height:38px}
body.visual-public-body .sidebar-profile .profile-role{color:#9cb6d3;font-size:10px}
body.visual-public-body .sidebar-profile .profile-copy small{color:#8cc9ff}
html[data-theme="dark"] .visual-public-body .free-allowance-card b{color:#bfe5ff}
.showcase-language-picker{display:flex;align-items:center;gap:8px;font-size:11px;color:#c5d9f2}
.showcase-language-picker select{width:auto;padding:6px 8px;border:1px solid #456385;border-radius:8px;background:#102846;color:#f0f7ff;font-size:11px}
.showcase-header-tools .showcase-language-picker{margin:0}
@media(max-width:900px){body.visual-public-body .site-sticky-stack .showcase-header{padding-bottom:14px!important}.showcase-header-tools .showcase-language-picker{display:none}}
