/* HiHiro V9 post-release corrections #01–#04.
   Explicit, theme-aware overrides applied after all legacy UI styles.
   Card showcase styling belongs to the independent Astra #05 workstream.
   Exact original Hero and logo URLs remain unchanged. */

/* #01: Real daylight visual system for both Home and Services. */
html[data-theme="light"] body.products-v3-page {
  background:#f7faff;
  color:#152c47;
}
html[data-theme="light"] body.products-v3-page .ecosystem-home{
  --eco-line:#d3e1ef;
  --eco-muted:#52677d;
  --eco-gold:#9a6213;
  background:linear-gradient(180deg,#fafdff 0%,#f3f8ff 52%,#fff 100%);
  color:#16314c;
}
html[data-theme="light"] body.products-v3-page .ecosystem-home h1,
html[data-theme="light"] body.products-v3-page .ecosystem-home h2,
html[data-theme="light"] body.products-v3-page .ecosystem-home h3{color:#18314d}
html[data-theme="light"] body.products-v3-page .ecosystem-home p{color:#51657c}
html[data-theme="light"] body.products-v3-page .ecosystem-benefits article,
html[data-theme="light"] body.products-v3-page .ecosystem-process li{color:#27425f}
html[data-theme="light"] body.products-v3-page .ecosystem-service-card{
  background:linear-gradient(145deg,#fff,#edf5ff);
  border-color:#cbddec;
  color:#18314e;
  box-shadow:0 13px 38px rgba(25,62,102,.075);
}
html[data-theme="light"] body.products-v3-page .ecosystem-service-card h3{color:#173354}
html[data-theme="light"] body.products-v3-page .ecosystem-status,
html[data-theme="light"] body.products-v3-page .ecosystem-service-card dd{color:#45617c}
html[data-theme="light"] body.products-v3-page .ecosystem-service-card dt,
html[data-theme="light"] body.products-v3-page .ecosystem-card-index{color:#875b13}
html[data-theme="light"] body.products-v3-page #home-service-search{
  background:#fff;
  border-color:#b4cadf;
  color:#122f4d;
}
html[data-theme="light"] body.products-v3-page #home-service-search::placeholder{color:#627d96}
html[data-theme="light"] body.products-v3-page .ecosystem-faq details{
  background:#fff;border-color:#d5e2ef;
}
html[data-theme="light"] body.products-v3-page .ecosystem-card-link{color:#165ba1}
html[data-theme="light"] body.products-v3-page .ecosystem-brand{background:#fff;border-radius:26px;padding-inline:clamp(16px,3vw,36px)}
html[data-theme="light"] body.products-v3-page footer{background:#f7faff;color:#243f5b}

/* Dark remains deliberately dark with readable controls and non-flat depth. */
html[data-theme="dark"] body.products-v3-page .ecosystem-home{
  --eco-line:#35516d;--eco-muted:#c0d0e2;--eco-gold:#f0c76b;
  background:linear-gradient(180deg,#091a2c 0%,#0d253b 56%,#081725 100%);
  color:#f3f7fc;
}
html[data-theme="dark"] body.products-v3-page .ecosystem-home h1,
html[data-theme="dark"] body.products-v3-page .ecosystem-home h2,
html[data-theme="dark"] body.products-v3-page .ecosystem-home h3{color:#f5f8ff}
html[data-theme="dark"] body.products-v3-page .ecosystem-service-card{
  background:linear-gradient(145deg,#17334e,#10253c);border-color:#36526b;
}
html[data-theme="dark"] body.products-v3-page #home-service-search{background:#142f4a;color:#f1f7ff}

/* Services light: truly light page chrome and workspace; no all-black canvas. */
html[data-theme="light"] body.service-os{
  --os-bg:#f5f9ff;--os-panel:#fff;--os-panel-soft:#f4f9ff;
  --os-line:rgba(69,108,148,.2);--os-line-strong:#adc6dd;
  --os-ink:#18314a;--os-muted:#60778e;
  color:#18314a!important;
  background:linear-gradient(180deg,#f9fcff,#eff6ff 70%,#fbfdff)!important;
  color-scheme:light;
}
html[data-theme="light"] body.service-os::before{opacity:.12}
html[data-theme="light"] body.service-os .service-topbar,
html[data-theme="light"] body.service-os .topbar{
  background:rgba(255,255,255,.96)!important;
  border-color:#d7e5f2!important;
  color:#18314a!important;
}
html[data-theme="light"] body.service-os .service-brand,
html[data-theme="light"] body.service-os .service-nav a{color:#264761!important}
html[data-theme="light"] body.service-os .service-shell,
html[data-theme="light"] body.service-os #service-shell,
html[data-theme="light"] body.service-os .service-workbench,
html[data-theme="light"] body.service-os .service-catalog,
html[data-theme="light"] body.service-os #service-shell .service-project-pane,
html[data-theme="light"] body.service-os .conversation-workspace,
html[data-theme="light"] body.service-os .conversation-column,
html[data-theme="light"] body.service-os .operation-column{
  background:#fff!important;
  color:#193450!important;
  border-color:#cfdfed!important;
}
html[data-theme="light"] body.service-os .agent-thread,
html[data-theme="light"] body.service-os .agent-composer,
html[data-theme="light"] body.service-os .service-project-list,
html[data-theme="light"] body.service-os .service-project-header,
html[data-theme="light"] body.service-os .service-project-filters,
html[data-theme="light"] body.service-os .catalog-head,
html[data-theme="light"] body.service-os .service-project-select,
html[data-theme="light"] body.service-os .chat-starter{
  background:#f8fbff!important;
  color:#18314a!important;
  border-color:#d3e3f0!important;
}
html[data-theme="light"] body.service-os .workspace-chat-heading{
  background:#f2f8fe!important;color:#18324d!important;
  border-bottom:1px solid #d5e3f0;
}
html[data-theme="light"] body.service-os #service-shell .workspace-drawer-toggle{
  background:#eef6ff!important;color:#18578e!important;border-color:#9dbedc!important;
}
html[data-theme="light"] body.service-os #service-shell .service-project-pane :is(h2,h3,b,strong),
html[data-theme="light"] body.service-os #service-shell .service-project-pane{color:#1c3856}
html[data-theme="light"] body.service-os input,
html[data-theme="light"] body.service-os textarea,
html[data-theme="light"] body.service-os .agent-composer textarea{
  background:#fff!important;color:#19314b!important;border-color:#c4d8e9!important;
}
html[data-theme="light"] body.service-os input::placeholder,
html[data-theme="light"] body.service-os textarea::placeholder{color:#627c94!important}
html[data-theme="dark"] body.service-os{
  --os-bg:#081522;--os-panel:#0f2439;--os-panel-soft:#142c44;
  --os-ink:#edf5ff;--os-muted:#bfd0e2;
  background:linear-gradient(180deg,#06111f,#0b2035)!important;
  color-scheme:dark;
}
html[data-theme="dark"] body.service-os #service-shell,
html[data-theme="dark"] body.service-os #service-shell .service-project-pane,
html[data-theme="dark"] body.service-os #service-shell .service-catalog,
html[data-theme="dark"] body.service-os #service-shell .service-workbench{
  background:#0c2135!important;color:#eef5ff;
}
html[data-theme="dark"] body.service-os .workspace-chat-heading{background:#112b44;color:#fff}

/* #02: Full exact 1536x1024 original art, zero crops for all writing directions.
   Physical copy placement stays LEFT even in fa/ar. */
body.products-v3-page .ecosystem-hero{
  display:block!important;
  width:100%;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  aspect-ratio:16 / 9;
  background:#071522;
  position:relative;
  overflow:hidden;
}
body.products-v3-page .ecosystem-hero-art{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  z-index:0!important;
  filter:none!important;
  transform:none!important;
}
body.products-v3-page .ecosystem-hero::after{content:none!important}
body.products-v3-page .ecosystem-hero-copy{
  position:absolute!important;
  left:clamp(16px,4vw,72px)!important;
  right:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:min(44%,590px)!important;
  max-width:none!important;
  text-align:left!important;
  direction:ltr!important;
  z-index:1;
  color:#fff!important;
  background:none;
}
body.products-v3-page .ecosystem-hero-copy :is(h1,p){color:#f5f9ff!important}
body.products-v3-page .ecosystem-hero-copy [dir="rtl"],
html[dir="rtl"] body.products-v3-page .ecosystem-hero-copy :is(h1,p){
  direction:rtl!important;
  text-align:left!important;
}
body.products-v3-page .ecosystem-hero-copy .ecosystem-eyebrow{color:#ffe2a4!important}
body.products-v3-page .ecosystem-hero-copy h1{font-size:clamp(1.35rem,3.5vw,3.8rem);line-height:1.25;margin:0 0 .6em}
body.products-v3-page .ecosystem-hero-copy p{font-size:clamp(.74rem,1.2vw,1.1rem);line-height:1.55;margin:0}
body.products-v3-page .ecosystem-hero-copy .ecosystem-actions{gap:10px;margin:15px 0 8px}
body.products-v3-page .ecosystem-hero-copy .ecosystem-actions a{min-height:42px;padding:7px 12px}
body.products-v3-page .ecosystem-hero-copy .ecosystem-readiness{font-size:clamp(.65rem,.9vw,.85rem);color:#e3edf8!important}
@media (max-width:700px){
 body.products-v3-page .ecosystem-hero{aspect-ratio:16 / 9}
 body.products-v3-page .ecosystem-hero-copy{left:3%!important;width:46%!important}
 body.products-v3-page .ecosystem-hero-copy .ecosystem-eyebrow{font-size:clamp(.45rem,1.65vw,.7rem);letter-spacing:.09em;margin-bottom:5px}
 body.products-v3-page .ecosystem-hero-copy h1{font-size:clamp(.9rem,3.1vw,1.55rem);line-height:1.22;margin-bottom:6px}
 body.products-v3-page .ecosystem-hero-copy p{font-size:clamp(.53rem,1.75vw,.82rem);line-height:1.35}
 body.products-v3-page .ecosystem-hero-copy .ecosystem-actions{gap:5px;margin:8px 0 4px}
 body.products-v3-page .ecosystem-hero-copy .ecosystem-actions a{flex:0 1 auto;min-height:26px;padding:4px 6px;font-size:clamp(.52rem,1.7vw,.7rem);border-radius:7px}
 body.products-v3-page .ecosystem-hero-copy .ecosystem-readiness{display:none}
}
@media (max-width:390px){
 body.products-v3-page .ecosystem-hero-copy h1{font-size:clamp(.83rem,3vw,1.2rem)}
 body.products-v3-page .ecosystem-hero-copy p{font-size:.53rem;line-height:1.25}
 body.products-v3-page .ecosystem-hero-copy .ecosystem-actions{margin:5px 0 0}
}
/* Desktop Site on phones: viewport may be wide; same physical-left anchoring. */

/* #03: Large complete ORIGINAL branded image, never a substitute or cropped. */
body.products-v3-page .ecosystem-brand{
  grid-template-columns:minmax(140px,.65fr) minmax(0,1.35fr);
  gap:clamp(20px,4vw,72px);
  align-items:center;
  padding-block:clamp(30px,5vw,72px);
}
body.products-v3-page .ecosystem-brand>img{max-width:290px;justify-self:center}
body.products-v3-page .ecosystem-original-logo{
  display:block;
  width:min(100%,780px)!important;
  height:auto!important;
  max-width:100%;
  aspect-ratio:auto;
  object-fit:contain!important;
  object-position:center;
  border-radius:12px;
  background:#fff;
  padding:clamp(6px,1.4vw,16px);
  margin-bottom:22px;
  box-shadow:0 12px 35px rgba(19,52,87,.09);
}
@media(max-width:680px){
 body.products-v3-page .ecosystem-brand{display:flex;flex-direction:column;gap:18px;text-align:center}
 body.products-v3-page .ecosystem-brand>img{width:clamp(140px,42vw,240px)}
 body.products-v3-page .ecosystem-original-logo{width:100%!important;max-width:620px}
}

/* #04: the right-side Projects drawer is exactly 45% of the physical viewport.
   Keep the Services left drawer unchanged, and disable desktop changes. */
@media(max-width:890px){
 body.service-os #service-shell>.service-workspace-track>.service-project-pane{
  width:45vw!important;
  min-width:0!important;
  max-width:45vw!important;
 }
}
/* Keyboard focus remains distinguishable in both themes. */
body.products-v3-page :focus-visible,
body.service-os :focus-visible{outline-offset:3px}

/* Full photo on small screens: the original image is never cropped.
   Keep headline inside the photograph's empty physical LEFT half; move the
   full explanatory copy and action controls directly below the photograph
   rather than shrinking text to illegibility or painting over the globe. */
@media(max-width:700px){
 body.products-v3-page .ecosystem-hero{
   display:grid!important;
   grid-template-columns:minmax(0,1fr);
   grid-template-rows:auto auto;
   aspect-ratio:auto!important;
   overflow:visible!important;
   background:transparent;
 }
 body.products-v3-page .ecosystem-hero-art{
   position:relative!important;
   inset:auto!important;
   grid-row:1;
   width:100%!important;
   height:auto!important;
   aspect-ratio:16/9!important;
   object-fit:contain!important;
   object-position:center!important;
   z-index:0!important;
 }
 body.products-v3-page .ecosystem-hero-copy{
   position:static!important;
   display:contents!important;
   transform:none!important;
   width:auto!important;
 }
 body.products-v3-page .ecosystem-hero-title-block{
   position:absolute;
   z-index:3;
   top:clamp(14px,4.2vw,34px);
   left:3.5%;
   right:auto;
   width:45%;
   max-width:45%;
   text-align:left;
   direction:ltr;
   color:#fff!important;
 }
 html[dir="rtl"] body.products-v3-page .ecosystem-hero-title-block h1{
   direction:rtl!important;
   text-align:left!important;
 }
 body.products-v3-page .ecosystem-hero-title-block h1{
   font-size:clamp(.95rem,4vw,1.75rem);
   line-height:1.24;
   margin:0;
   text-wrap:balance;
   color:#fff!important;
   text-shadow:0 1px 4px rgba(0,0,0,.32);
 }
 body.products-v3-page .ecosystem-hero-title-block .ecosystem-eyebrow{
   font-size:clamp(.55rem,1.9vw,.82rem);
   margin-bottom:5px;
   color:#ffe1a1!important;
 }
 body.products-v3-page .ecosystem-hero-details{
   grid-row:2;
   z-index:1;
   padding:20px clamp(16px,5vw,28px) 24px;
   background:#f5faff;
   color:#17314b!important;
   text-align:left;
   direction:inherit;
   border-bottom:1px solid #d4e4f0;
 }
 body.products-v3-page .ecosystem-hero-copy .ecosystem-hero-details p{
   font-size:clamp(.85rem,3.4vw,1rem)!important;
   line-height:1.7!important;
   color:#425c76!important;
   max-width:70ch;
 }
 body.products-v3-page .ecosystem-hero-details .ecosystem-actions{
   display:flex;
   margin:16px 0 8px!important;
   gap:10px!important;
   flex-wrap:wrap;
 }
 body.products-v3-page .ecosystem-hero-details .ecosystem-actions a{
   font-size:.85rem!important;
   min-height:44px!important;
   padding:10px 16px!important;
   border-radius:11px!important;
   color:#1b4b78;
   border-color:#8aafce;
 }
 body.products-v3-page .ecosystem-hero-details .ecosystem-actions .ecosystem-primary{
   color:#17314a!important;
   background:#f1c56b;
   border-color:#ceaa5b;
 }
 body.products-v3-page .ecosystem-hero-details .ecosystem-readiness{
   display:block!important;
   font-size:.76rem!important;
   line-height:1.65!important;
   color:#586f86!important;
 }
 html[data-theme="dark"] body.products-v3-page .ecosystem-hero-details{
   background:#10273d;
   color:#f4f8fd!important;
   border-color:#34526c;
 }
 html[data-theme="dark"] body.products-v3-page .ecosystem-hero-copy .ecosystem-hero-details p{
   color:#c3d5e7!important;
 }
 html[data-theme="dark"] body.products-v3-page .ecosystem-hero-details .ecosystem-actions a{
   color:#e6f1fd;
   border-color:#607e9b;
 }
}

/* Light-mode project text/buttons were inherited from the old navy pane.
   Explicit contrast overrides without affecting active chips or dark mode. */
html[data-theme="light"] body.service-os #service-shell .service-project-header,
html[data-theme="light"] body.service-os #service-shell .service-project-tree-heading,
html[data-theme="light"] body.service-os #service-shell .service-project-group-title,
html[data-theme="light"] body.service-os #service-shell .service-project-empty,
html[data-theme="light"] body.service-os #service-shell .service-project-feedback,
html[data-theme="light"] body.service-os #service-shell .service-project-context p,
html[data-theme="light"] body.service-os #service-shell .service-project-header span{
  color:#304b67!important;
}
html[data-theme="light"] body.service-os #service-shell .service-project-empty a{
  color:#14568f!important;
  text-decoration:underline;
}
html[data-theme="light"] body.service-os #service-shell .service-project-filter:not(.is-active),
html[data-theme="light"] body.service-os #service-shell .service-project-node:not(.is-active),
html[data-theme="light"] body.service-os #service-shell .service-project-context{
  background:#eef5fe!important;color:#1a3957!important;
  border-color:#b5d0e8!important;
}
html[data-theme="light"] body.service-os #service-shell .service-project-select,
html[data-theme="light"] body.service-os #service-shell .service-project-new{
  color:#194e7a!important;
}
html[data-theme="light"] body.service-os #service-shell .service-project-filter:not(.is-active) b,
html[data-theme="light"] body.service-os #service-shell .service-project-group-title small{
  color:#225b88!important;
}
html[data-theme="light"] body.service-os #service-shell .service-project-node.is-active .service-project-select,
html[data-theme="light"] body.service-os #service-shell .service-project-filter.is-active,
html[data-theme="light"] body.service-os #service-shell .service-project-filter.is-active b{
  color:#fff!important;
}
html[data-theme="light"] body.service-os #service-shell .service-project-new{
  border-color:#4b89b7!important;
  background:#f1f8ff!important;
}

/* #04 final visual QA: keep the narrow 45vw rail internally usable
   even for lengthy English/Portuguese labels. The floating right toggle
   already closes this mobile drawer; the redundant in-rail Chat button is
   deliberately hidden to avoid a clipped fixed-width sibling. */
@media(max-width:890px){
 body.service-os #service-shell .service-project-header{
   min-width:0!important;
   max-width:100%!important;
   overflow:hidden!important;
   box-sizing:border-box!important;
   align-items:stretch!important;
   padding-inline:8px!important;
   gap:6px!important;
 }
 body.service-os #service-shell .service-project-header>div{
   width:100%!important;
   flex:1 1 auto!important;
   flex-wrap:wrap!important;
   min-width:0!important;
   gap:4px!important;
 }
 body.service-os #service-shell .service-project-header button#service-project-chat{
   display:none!important;
 }
 body.service-os #service-shell .service-project-filters,
 body.service-os #service-shell .service-project-filter{
   min-width:0!important;
   max-width:100%!important;
   box-sizing:border-box!important;
   overflow:hidden!important;
 }
 body.service-os #service-shell .service-project-filter span{
   flex:1 1 auto!important;
   min-width:0!important;
   max-width:100%!important;
   overflow-wrap:anywhere!important;
   text-overflow:ellipsis!important;
 }
 body.service-os #service-shell .service-project-filter b{
   flex:0 0 auto!important;
   white-space:nowrap!important;
 }
 body.service-os #service-shell .service-project-new{
   box-sizing:border-box!important;
   width:calc(100% - 8px)!important;
   min-width:0!important;
   overflow-wrap:anywhere!important;
 }
}

/* #06 — Selected service, real Preview and drawer controls share ONE mobile
   workspace toolbar. Preserve original button and its event handlers. */
@media (max-width:890px){
  body.service-os #service-shell .workspace-chat-heading{
    display:flex!important;
    position:absolute!important;
    inset:0 0 auto 0!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    overflow:visible!important;
    padding:0 58px!important;
    gap:0!important;
    z-index:64!important;
  }
  body.service-os #service-shell .workspace-chat-title{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    font:inherit!important;
    font-size:clamp(.79rem,3.25vw,1rem)!important;
    font-weight:800!important;
    line-height:1.2!important;
    color:inherit!important;
    text-align:center!important;
    direction:inherit!important;
  }
  /* The original accessible Preview button is physically in this toolbar
     only in mobile mode; suppress its former floating row. */
  body.service-os #service-shell .workspace-chat-heading>.service-chat-preview-fab{
    position:absolute!important;
    inset:4px 59px auto auto!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    z-index:66!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    pointer-events:auto!important;
  }
  body.service-os #service-shell .workspace-chat-heading>.service-chat-preview-fab:has(.service-project-preview-launch[hidden]){
    display:none!important;
  }
  body.service-os #service-shell .workspace-chat-heading>.service-chat-preview-fab .service-project-preview-launch:not([hidden]){
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:static!important;
    inset:auto!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    padding:0!important;
    margin:0!important;
    gap:0!important;
    border-radius:12px!important;
  }
  body.service-os #service-shell .workspace-chat-heading>.service-chat-preview-fab .service-project-preview-launch span{
    display:none!important;
  }
  body.service-os #service-shell .workspace-chat-heading:has(.service-chat-preview-fab .service-project-preview-launch:not([hidden])){
    padding-left:58px!important;
    padding-right:107px!important;
  }
  /* Do not show the old second service name row below this toolbar. */
  body.service-os #service-shell.has-selection #stage-2 #operation-service-summary.chat-workspace-status:not([hidden]){
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    flex-basis:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
  }
  body.service-os #service-shell.has-selection #stage-2>.stage-head{
    display:none!important;
  }
  /* Keep touch targets and sufficient room for the Arabic/Persian title.
     The full localized title remains available via its title attribute. */
  body.service-os #service-shell .workspace-chat-heading :focus-visible{
    outline:3px solid #e6b858!important;
    outline-offset:2px!important;
  }
}

/* #07 — Search replaces the former Services drawer heading on mobile.
   Reparent the ORIGINAL input within .catalog-head in workspace-drawers.js;
   it is restored for desktop. Reset retains its original button semantics. */
@media(max-width:890px){
 html body.service-os #service-shell>.service-catalog>.catalog-head{
   box-sizing:border-box!important;
   display:flex!important;
   position:relative!important;
   flex-direction:row!important;
   justify-content:space-between!important;
   align-items:center!important;
   gap:8px!important;
   width:100%!important;
   height:60px!important;
   min-height:60px!important;
   max-height:60px!important;
   flex:0 0 60px!important;
   padding:7px 11px!important;
   border:0!important;
   border-bottom:1px solid rgba(137,173,206,.27)!important;
   background:rgba(13,35,57,.96)!important;
   box-shadow:none!important;
 }
 html body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-head-icon,
 html body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-head-copy{
   display:none!important;
 }
 html body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-search{
   position:relative!important;
   box-sizing:border-box!important;
   display:flex!important;
   align-items:center!important;
   flex:1 1 auto!important;
   min-width:0!important;
   width:auto!important;
   height:44px!important;
   min-height:44px!important;
   max-height:44px!important;
   margin:0!important;
   padding:0 12px!important;
   border:1px solid rgba(133,170,203,.44)!important;
   border-radius:12px!important;
   background:rgba(32,62,90,.62)!important;
   box-shadow:none!important;
 }
 html body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-search>svg{
   width:18px!important;
   min-width:18px!important;
   height:18px!important;
   flex:0 0 18px!important;
 }
 html body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-search input{
   box-sizing:border-box!important;
   flex:1 1 auto!important;
   width:100%!important;
   min-width:0!important;
   height:40px!important;
   min-height:40px!important;
   margin:0!important;
   padding-inline:8px!important;
   background:transparent!important;
   color:#edf7ff!important;
   font-size:clamp(.82rem,3vw,.95rem)!important;
   border:0!important;
   box-shadow:none!important;
 }
 html body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-search input::placeholder{
   color:#c2d9eb!important;
   opacity:1!important;
 }
 html body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-reset{
   position:static!important;
   inset:auto!important;
   z-index:auto!important;
   display:grid!important;
   place-items:center!important;
   flex:0 0 36px!important;
   width:36px!important;
   min-width:36px!important;
   max-width:36px!important;
   height:36px!important;
   min-height:36px!important;
   padding:0!important;
   margin:0!important;
   border:1px solid rgba(125,167,205,.48)!important;
   border-radius:10px!important;
   background:rgba(110,161,202,.13)!important;
   color:#d7e8f8!important;
   opacity:1!important;
   pointer-events:auto!important;
 }
 html[data-theme="light"] body.service-os #service-shell>.service-catalog>.catalog-head{
   background:#f3f9ff!important;
   border-color:#cfdfed!important;
 }
 html[data-theme="light"] body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-search{
   background:#fff!important;
   border-color:#bcd5e9!important;
 }
 html[data-theme="light"] body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-search input{
   color:#1c3e59!important;
 }
 html[data-theme="light"] body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-search input::placeholder{
   color:#607d94!important;
 }
 html[data-theme="light"] body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-reset{
   background:#e7f1fa!important;
   color:#25587c!important;
   border-color:#bdd2e5!important;
 }
 body.service-os #service-shell>.service-catalog>.catalog-head>.catalog-search:focus-within{
   outline:2px solid rgba(94,165,229,.63)!important;
   outline-offset:-2px!important;
 }
}
/* #08 — same physical control positions and >=44px touch target;
   only the visible button surface shrinks to 38px in both themes. */
@media (max-width:890px){
 html body.service-os #service-shell .workspace-drawer-toggle{
   width:44px!important;
   min-width:44px!important;
   height:44px!important;
   min-height:44px!important;
   border:0!important;
   border-radius:14px!important;
   background:transparent!important;
   color:#cde4f8!important;
   box-shadow:none!important;
   font-size:0!important;
   padding:0!important;
   isolation:isolate!important;
 }
 html body.service-os #service-shell .workspace-drawer-toggle::before{
   content:"";
   position:absolute;
   inset:3px;
   z-index:-1;
   pointer-events:none;
   border-radius:11px;
   border:1px solid rgba(151,191,222,.43);
   background:linear-gradient(145deg,rgba(48,90,124,.65),rgba(18,49,77,.76));
   box-shadow:0 2px 8px rgba(0,9,22,.1);
   transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
 }
 html body.service-os #service-shell .workspace-drawer-toggle svg{
   display:block!important;
   width:19px!important;
   height:19px!important;
   fill:none!important;
   stroke:currentColor!important;
   stroke-width:1.65!important;
   stroke-linecap:round!important;
   stroke-linejoin:round!important;
   pointer-events:none;
 }
 html body.service-os #service-shell .workspace-drawer-toggle[aria-expanded="true"]{
   color:#f5ce7d!important;
 }
 html body.service-os #service-shell .workspace-drawer-toggle[aria-expanded="true"]::before{
   border-color:rgba(238,193,103,.78);
   background:linear-gradient(145deg,rgba(52,95,131,.8),rgba(20,50,77,.84));
 }
 html body.service-os #service-shell .workspace-drawer-toggle:focus-visible{
   outline:3px solid #f1c66e!important;
   outline-offset:1px!important;
 }
 html[data-theme="light"] body.service-os #service-shell .workspace-drawer-toggle{
   color:#2d628f!important;
 }
 html[data-theme="light"] body.service-os #service-shell .workspace-drawer-toggle::before{
   background:linear-gradient(140deg,#fafdff,#eaf4fd);
   border-color:#adc9df;
   box-shadow:0 2px 7px rgba(52,85,117,.09);
 }
 html[data-theme="light"] body.service-os #service-shell .workspace-drawer-toggle[aria-expanded="true"]{
   color:#155b94!important;
 }
 html[data-theme="light"] body.service-os #service-shell .workspace-drawer-toggle[aria-expanded="true"]::before{
   background:#dceeff;
   border-color:#7eafd4;
 }
}
/* #09 — gentle sky-blue conversations and customer bubbles. Text contrast
   never relies on theme inheritance and saved message content is unchanged. */
html[data-theme="light"] body.service-os #service-shell .agent-thread,
html[data-theme="light"] body.service-os #service-shell #chat-scroll{
  background:linear-gradient(180deg,#f9fcff 0%,#f0f8ff 100%)!important;
  border-color:#dae8f3!important;
}
html[data-theme="light"] body.service-os #service-shell .message-row.customer .message-bubble{
  color:#183e5b!important;
  background:linear-gradient(145deg,#e8f6fd,#dceffb)!important;
  border:1px solid #b4d8ef!important;
  box-shadow:0 4px 16px rgba(58,116,156,.08)!important;
}
html[data-theme="light"] body.service-os #service-shell .message-row.customer .message-text,
html[data-theme="light"] body.service-os #service-shell .message-row.customer .message-meta{
  color:#20435e!important;
}
html[data-theme="light"] body.service-os #service-shell .message-row.assistant .message-bubble{
  background:#fff!important;
  color:#263e53!important;
  border-color:#d4e4ee!important;
}
html[data-theme="dark"] body.service-os #service-shell .agent-thread,
html[data-theme="dark"] body.service-os #service-shell #chat-scroll{
  background:linear-gradient(180deg,#101f31 0%,#13283a 100%)!important;
  border-color:#314b60!important;
}
html[data-theme="dark"] body.service-os #service-shell .message-row.customer .message-bubble{
  color:#153450!important;
  background:linear-gradient(145deg,#def1fb,#c6e5f5)!important;
  border:1px solid #a1cce3!important;
  box-shadow:0 3px 14px rgba(0,0,0,.12)!important;
}
html[data-theme="dark"] body.service-os #service-shell .message-row.customer .message-text,
html[data-theme="dark"] body.service-os #service-shell .message-row.customer .message-meta{
  color:#1d425f!important;
}
html[data-theme="dark"] body.service-os #service-shell .message-row.customer .message-copy{
  background:rgba(45,97,136,.12)!important;
  color:#24516d!important;
}


/* Home placement revision — the Owner-original brand lockup belongs AFTER the
   four "A Clear Path" Workshop steps and BEFORE the 24-service showcase.
   Preserve full original globe and logo; avoid duplicated hero title/notice.
   Astra correction #05 owns only the cards following this standalone band. */
body.products-v3-page .ecosystem-brand-before-services{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(110px,.34fr) minmax(0,1fr);
  gap:clamp(16px,3vw,44px);
  align-items:center;
  margin-block:clamp(12px,2.4vw,30px) clamp(18px,3.4vw,42px);
  padding:clamp(20px,3.2vw,46px)!important;
  border:1px solid var(--eco-line);
  border-radius:clamp(16px,2vw,28px);
}
body.products-v3-page .ecosystem-brand-before-services>img{
  display:block;
  width:clamp(105px,15vw,195px)!important;
  max-width:100%;
  height:auto!important;
  aspect-ratio:1;
  object-fit:contain!important;
  justify-self:center;
}
body.products-v3-page .ecosystem-brand-before-services>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
body.products-v3-page .ecosystem-brand-before-services .ecosystem-original-logo{
  display:block;
  box-sizing:border-box;
  width:min(100%,650px)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:0 0 12px!important;
}
body.products-v3-page .ecosystem-brand-before-services .ecosystem-tagline{
  margin:0 0 16px;
  font-size:clamp(.9rem,1.3vw,1.12rem);
  letter-spacing:.06em;
  text-align:left;
}
body.products-v3-page .ecosystem-brand-before-services .ecosystem-primary{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
html[data-theme="dark"] body.products-v3-page .ecosystem-brand-before-services{
  background:linear-gradient(140deg,#10283f,#0a1d30);
  border-color:#31506a;
}
html[data-theme="light"] body.products-v3-page .ecosystem-brand-before-services{
  background:linear-gradient(145deg,#fff,#f1f7ff);
  border-color:#d0e1ed;
  box-shadow:0 12px 30px rgba(20,63,106,.07);
}
@media(max-width:680px){
 body.products-v3-page .ecosystem-brand-before-services{
   display:flex!important;
   flex-direction:column!important;
   gap:clamp(10px,2.5vw,18px)!important;
   text-align:center!important;
   padding:20px 14px 24px!important;
 }
 body.products-v3-page .ecosystem-brand-before-services>img{
   width:clamp(105px,30vw,150px)!important;
 }
 body.products-v3-page .ecosystem-brand-before-services>div{
   width:100%;
   align-items:center;
 }
 body.products-v3-page .ecosystem-brand-before-services .ecosystem-original-logo{
   width:min(100%,430px)!important;
   margin:0 auto 12px!important;
 }
 body.products-v3-page .ecosystem-brand-before-services .ecosystem-tagline{
   text-align:center;
   font-size:.9rem;
   margin:0 0 14px;
 }
}

/* Owner correction: logo alone after four Workshop steps; golden Hiro orb after
   the complete 24-service showcase (Astra #05). Never show them side by side. */
body.products-v3-page .ecosystem-brand-before-services{
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center!important;
  text-align:center!important;
}
body.products-v3-page .ecosystem-brand-before-services>div{
  align-items:center!important;
  width:min(100%,750px)!important;
}
body.products-v3-page .ecosystem-brand-before-services .ecosystem-original-logo{
  width:min(100%,680px)!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 auto 16px!important;
  object-fit:contain!important;
}
body.products-v3-page .ecosystem-orb-after-services{
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  text-align:center!important;
  padding-block:clamp(22px,4vw,58px)!important;
  margin-block:clamp(12px,2vw,32px)!important;
}
body.products-v3-page .ecosystem-orb-after-services img{
  display:block!important;
  box-sizing:border-box!important;
  width:clamp(150px,26vw,330px)!important;
  max-width:70vw!important;
  height:auto!important;
  aspect-ratio:1!important;
  object-fit:contain!important;
  border-radius:50%;
}
html[data-theme="dark"] body.products-v3-page .ecosystem-orb-after-services{
  background:radial-gradient(ellipse at center,rgba(27,63,92,.42),transparent 65%)!important;
}
html[data-theme="light"] body.products-v3-page .ecosystem-orb-after-services{
  background:radial-gradient(ellipse at center,rgba(205,224,240,.42),transparent 65%)!important;
}
@media(max-width:680px){
 body.products-v3-page .ecosystem-brand-before-services{
   padding:22px 14px!important;
 }
 body.products-v3-page .ecosystem-orb-after-services img{
   width:clamp(150px,46vw,230px)!important;
   max-width:65vw!important;
 }
}
