/* ACLASA AI command centre v2.
 * Shared visual contract for ACLASA, PAY and the AI-first TalentAccess direction.
 * The public v2 surface resolves prompts locally and never imitates a remote model.
 */
:root {
  --aclasa-ai-canvas: #06111c;
  --aclasa-ai-surface: #0b2132;
  --aclasa-ai-elevated: #0e2b3d;
  --aclasa-ai-cyan: #38d9e6;
  --aclasa-ai-violet: #8b5cf6;
  --aclasa-ai-gold: #d4a537;
  --aclasa-ai-text: #f4f7fb;
  --aclasa-ai-muted: #afc0cf;
  --aclasa-ai-line: rgba(56, 217, 230, .24);
}

.aclasa-ai-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(390px, 1.06fr);
  gap: clamp(28px, 5vw, 76px);
  align-items: center;
}

.aclasa-ai-hero-grid > .hero-copy {
  position: relative;
  z-index: 2;
}

.aclasa-ai-eyebrow {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  color: var(--aclasa-ai-cyan);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.aclasa-ai-eyebrow::after {
  width: clamp(42px, 7vw, 90px);
  height: 1px;
  background: linear-gradient(90deg, var(--aclasa-ai-cyan), transparent);
  content: "";
}

.aclasa-ai-badge {
  display: inline-grid;
  min-width: 34px;
  min-height: 27px;
  padding: 0 7px;
  place-items: center;
  border: 1px solid rgba(139, 92, 246, .72);
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, rgba(139, 92, 246, .9), rgba(56, 217, 230, .58));
  box-shadow: 0 0 28px rgba(139, 92, 246, .3);
  letter-spacing: .05em;
}
.aclasa-ai-starter:focus-visible {
  outline: 3px solid var(--aclasa-ai-gold);
  outline-offset: 3px;
}

.aclasa-ai-starters {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.aclasa-ai-starter {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid rgba(175, 192, 207, .18);
  border-radius: 999px;
  color: var(--aclasa-ai-text);
  background: rgba(7, 24, 39, .72);
  font: inherit;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.aclasa-ai-starter:hover {
  border-color: rgba(56, 217, 230, .52);
  background: rgba(11, 43, 61, .92);
  transform: translateY(-1px);
}

.aclasa-ai-starter span {
  color: var(--aclasa-ai-cyan);
  font-size: .62rem;
  font-weight: 900;
}

.aclasa-ai-starter strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: .68rem;
  line-height: 1.22;
}

/* Deterministic destinations support the one visible AI prompt. They are not
 * a second site menu and therefore never become a rendered navigation grid. */
.aclasa-ai-route-registry[hidden] {
  display: none !important;
}

@keyframes aclasaAiSignal {
  0%, 100% { opacity: .48; transform: scale(.8); }
  50% { opacity: 1; transform: scale(1.1); }
}

@keyframes aclasaAiOrbit {
  to { transform: rotate(360deg); }
}

@keyframes aclasaAiOrbitReverse {
  from { transform: rotate(62deg); }
  to { transform: rotate(-298deg); }
}

@media (max-width: 1100px) {
  .aclasa-ai-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 620px) {

  .aclasa-ai-starter {
    flex: 1 1 calc(50% - 7px);
    border-radius: 14px;
  }
}

@media (max-width: 480px) {

  .aclasa-ai-starter {
    flex-basis: 100%;
  }
}

@media (hover: none), (pointer: coarse) {
  .aclasa-ai-starter:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aclasa-ai-starter{
    scroll-behavior: auto;
    transition: none;
  }
}

@media (forced-colors: active) {
  .aclasa-ai-starter,
  .aclasa-ai-badge{
    border: 1px solid CanvasText;
  }
}

/* ACLASA focused-composition repair.
 * Keep the AI router useful in the first viewport, integrate page speech with
 * the shared header, and make every measured control a 44px target. */
body.aclasa-body.aclasa-era-2100 main > .hero.section.split-hero {
  min-height: 0 !important;
  padding-block: clamp(24px, 3vw, 44px) !important;
}

body.aclasa-body .split-hero .hero-copy h1,
body.aclasa-body.pay-social-reporting .split-hero .hero-copy h1 {
  max-width: 22ch !important;
  font-size: clamp(2.15rem, 3.4vw, 3.75rem) !important;
  line-height: 1.04 !important;
}

body.aclasa-body.aclasa-era-2100:is(.portfolio-split-home, .pay-split-home) main > .hero.section.split-hero {
  padding-block: 16px !important;
}

body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .split-hero .hero-copy {
  max-width: none !important;
  padding-top: 0 !important;
}

body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .split-hero .hero-copy h1 {
  max-width: 20ch !important;
  margin-block: 8px !important;
  font-size: clamp(2rem, 3vw, 3.25rem) !important;
}

body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .hero-copy > .aclasa-ai-eyebrow {
  margin-bottom: 8px;
}

body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .hero-copy > .lead {
  margin-block: 8px 0;
  font-size: .9rem;
  line-height: 1.45;
}

body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .hero-copy > :is(.cta-row, .split-status) {
  margin-top: 10px;
}

body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .aclasa-ai-starters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 6px;
}

body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .aclasa-ai-starter {
  min-width: 44px;
  min-height: 44px;
  padding: 4px 6px;
  border-radius: 10px;
}

body.aclasa-body main :is(
  .btn,
  button,
  input,
  select,
  textarea,
  summary,
  [role="button"]
) {
  min-width: 44px !important;
  min-height: 44px !important;
}

.aclasa-2100-world-chip {
  display: none !important;
}

.site-header .read-aloud-launch.read-aloud-header-control {
  position: static;
  inset: auto;
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 10px;
}

.site-header .read-aloud-launch.read-aloud-header-control span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  body.aclasa-body:is(.portfolio-split-contact, .pay-split-contact) main > .hero.section.split-hero {
    padding: calc(var(--mobile-header-offset, 60px) + 8px) 0 14px !important;
  }

  body.aclasa-body:is(.portfolio-split-contact, .pay-split-contact) .split-hero .two-col {
    gap: 12px;
  }

  body.aclasa-body:is(.portfolio-split-contact, .pay-split-contact) .split-hero .split-boundary {
    padding: 14px;
  }

  body.aclasa-body:is(.portfolio-split-contact, .pay-split-contact) .split-hero .hero-copy h1 {
    margin-block: 8px !important;
  }

  body.aclasa-body:is(.portfolio-split-contact, .pay-split-contact) .split-hero .hero-copy > :is(.lead, .cta-row) {
    margin-block: 8px 0;
  }

  body.aclasa-body .split-hero .hero-copy h1,
  body.aclasa-body.pay-social-reporting .split-hero .hero-copy h1 {
    max-width: 100% !important;
    font-size: clamp(2rem, 9.5vw, 2.8rem) !important;
  }

  body.aclasa-body.aclasa-era-2100:is(.portfolio-split-home, .pay-split-home) main > .hero.section.split-hero {
    padding: calc(var(--mobile-header-offset, 60px) + 8px) 0 8px !important;
  }

  body.aclasa-body.portfolio-split-home .aclasa-ai-hero-grid,
  body.aclasa-body.pay-split-home .pay-hero-grid {
    gap: 7px;
  }

  body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .hero-copy > :is(
    .aclasa-ai-eyebrow,
    .badge,
    .lead,
    .split-status
  ) {
    display: none !important;
  }

  body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .hero-copy > .cta-row {
    display: grid !important;
    gap: 4px;
    margin: 6px 0 0 !important;
  }

  body.aclasa-body.portfolio-split-home .hero-copy > .cta-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.aclasa-body.pay-split-home .hero-copy > .cta-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .hero-copy > .cta-row .btn {
    width: 100%;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 4px 3px !important;
    font-size: clamp(.58rem, 2.4vw, .7rem) !important;
    line-height: 1.08 !important;
    white-space: normal;
  }

  body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .split-hero .hero-copy h1 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(1.55rem, 7.2vw, 1.85rem) !important;
    line-height: 1.02 !important;
  }

  body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .aclasa-ai-starters {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .aclasa-ai-starter {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
    place-items: center;
    padding: 3px;
    text-align: center;
  }

  body.aclasa-body:is(.portfolio-split-home, .pay-split-home) .aclasa-ai-starter strong {
    font-size: .58rem;
    line-height: 1.08;
  }

  .site-header .read-aloud-launch.read-aloud-header-control {
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    height: 44px;
    min-height: 44px;
  }
}

/* Shared public chrome: allow native labels to grow without losing their text.
 * The explicit html/body scope wins the legacy dark-theme !important cascade. */
html body.aclasa-body[data-aclasa-site] :is(.world-map-svg, .world-map-canvas) {
  overflow: hidden !important;
}
html body.aclasa-body[data-aclasa-site] .site-header {
  position: sticky !important;
  inset: 0 0 auto !important;
  max-height: none !important;
  overflow: visible !important;
}
@media (min-width: 761px) {
  html body.aclasa-body[data-aclasa-site]:not(.aclasa-ux-home) main {
    padding-top: 0 !important;
  }
}
html body.aclasa-body[data-aclasa-site] .site-header .container.header-inner {
  max-height: none !important;
}
html body.aclasa-body[data-aclasa-site] .site-header .main-nav a,
html[data-theme] body.aclasa-body[data-aclasa-site] .site-header .main-nav a,
html body.aclasa-body[data-aclasa-site] .mobile-overlay-nav a {
  flex: 0 1 auto !important;
  min-inline-size: 0 !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 8px 10px !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
  text-overflow: clip !important;
  line-height: 1.25 !important;
}
@media (min-width: 1181px) {
  html body.aclasa-body[data-aclasa-site] .site-header .container.header-inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "brand controls" "nav nav" !important;
    gap: 6px 12px !important;
    padding: 6px 18px !important;
  }
}
@media (min-width: 761px) {
  html body.aclasa-body[data-aclasa-site] .site-header .main-nav,
  html[data-theme] body.aclasa-body[data-aclasa-site] .site-header .main-nav {
    grid-area: nav !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    gap: 5px !important;
  }
  html body.aclasa-body[data-aclasa-site] .site-header .header-controls {
    min-inline-size: 0 !important;
    flex-wrap: wrap !important;
  }
  html body.aclasa-body[data-aclasa-site] .site-header :is(select, button, .header-auth-entry) {
    min-height: 44px !important;
    height: auto !important;
  }
}
/* Keep introductory copy intact, but stop it reserving a title-only viewport. */
html body.aclasa-body[data-aclasa-site] main > .hero.section,
html body.aclasa-body.aclasa-era-2100[data-aclasa-site] main > .hero.section.split-hero {
  min-height: 0 !important;
  height: auto !important;
  padding-block: 14px !important;
}
html body.aclasa-body[data-aclasa-site] main > .hero .hero-copy {
  max-width: none !important;
  padding-block: 0 !important;
}
html body.aclasa-body[data-aclasa-site] main > .hero :is(.hero-copy h1, h1) {
  max-width: none !important;
  margin-block: 6px !important;
  font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere;
}
html body.aclasa-body[data-aclasa-site] main > .hero .lead {
  max-width: none !important;
  margin-block: 6px !important;
  font-size: .95rem !important;
  line-height: 1.4 !important;
}
html body.aclasa-body[data-aclasa-site] main > .hero h1 span {
  font-size: inherit !important;
  line-height: inherit !important;
}
html body.aclasa-body[data-aclasa-site] main > .hero :is(.badge, .aclasa-ai-eyebrow) {
  margin-block: 0 4px !important;
}
html body.aclasa-body[data-aclasa-site] main > .hero + .section {
  padding-block-start: 16px !important;
}
html body.aclasa-body[data-aclasa-site] .compact-support-section {
  padding-block: 14px 18px !important;
}
html body.aclasa-body[data-aclasa-site] .compact-support-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 16px;
  align-items: start;
}
html body.aclasa-body[data-aclasa-site] .compact-support-section > .lead,
html body.aclasa-body[data-aclasa-site] .compact-support-grid > .lead {
  margin: 0;
}
@media (max-width: 760px) {
  html body.aclasa-body[data-aclasa-site] .compact-support-grid {
    grid-template-columns: 1fr;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .compact-support-section {
    padding-block: 10px 14px !important;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .compact-support-grid {
    display: flex;
    gap: 0;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .compact-support-grid > .btn {
    inline-size: 100%;
    margin: 0;
    padding-block: 10px;
    font-size: .82rem !important;
    line-height: 1.25 !important;
  }
}
@media (max-width: 1180px) {
  html body.aclasa-body[data-aclasa-site] .site-header .container.header-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 7rem) auto auto !important;
    grid-template-areas: "brand auth controls toolbar" !important;
    gap: 6px !important;
    min-height: 60px !important;
    height: auto !important;
  }
  html body.aclasa-body[data-aclasa-site] .site-header .brand {
    grid-area: brand !important;
    min-block-size: 44px !important;
    align-items: center !important;
  }
  html body.aclasa-body[data-aclasa-site] .site-header .header-auth-entry { grid-area: auth !important; }
  html body.aclasa-body[data-aclasa-site] .site-header .header-controls { grid-area: controls !important; }
  html body.aclasa-body[data-aclasa-site] .site-header .mobile-toolbar {
    grid-area: toolbar !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
  }
  html body.aclasa-body[data-aclasa-site] .mobile-overlay-panel {
    position: fixed !important;
    inset: calc(var(--mobile-header-offset, 60px) + 6px) 12px auto auto !important;
    z-index: 79 !important;
    width: min(420px, calc(100vw - 24px)) !important;
    max-height: calc(100dvh - var(--mobile-header-offset, 60px) - 18px) !important;
    overflow: auto !important;
  }
  html body.aclasa-body[data-aclasa-site] .mobile-overlay-panel[hidden] {
    display: none !important;
  }
  html body.aclasa-body[data-aclasa-site] .mobile-overlay-panel.is-open {
    display: block !important;
  }
  html body.aclasa-body[data-aclasa-site] .mobile-overlay-card {
    padding: 10px !important;
    border: 1px solid rgba(125, 243, 255, .24) !important;
    border-radius: 14px !important;
    background: rgba(5, 18, 31, .98) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .42) !important;
  }
  html body.aclasa-body[data-aclasa-site] .mobile-overlay-nav {
    display: grid !important;
    gap: 4px !important;
  }
  html body.aclasa-body[data-aclasa-site] .mobile-overlay-nav a {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 9px 11px !important;
    border-radius: 9px !important;
    color: #eaf7ff !important;
    background: rgba(14, 43, 61, .92) !important;
  }
  html body.aclasa-body[data-aclasa-site] .mobile-overlay-label {
    display: block !important;
    margin: 8px 0 6px 2px !important;
    color: #9eb8c8 !important;
  }
  html body.aclasa-body[data-aclasa-site] .mobile-overlay-select {
    width: 100% !important;
    min-height: 44px !important;
  }
  html body.aclasa-body[data-aclasa-site] .site-header .main-nav,
  html[data-theme] body.aclasa-body[data-aclasa-site] .site-header .main-nav {
    display: none !important;
  }
  html body.aclasa-body[data-aclasa-site] .site-header :is(.brand, .brand-copy, .brand-title, .header-auth-entry) {
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
  }
  html body.aclasa-body[data-aclasa-site] .site-header :is(button, .header-auth-entry) {
    min-width: 44px !important;
    min-height: 44px !important;
    height: auto !important;
  }
  html body.aclasa-body[data-aclasa-site] main > .hero.section {
    padding-block-start: 14px !important;
  }
}

/* Final shared composition contract.
 * The first viewport is a working surface: compact orientation, then the
 * owned input, evidence or result. These rules deliberately sit last so old
 * portal-specific display scales cannot recreate cover-page heroes. */
html body.aclasa-body[data-aclasa-site] main h1 {
  max-inline-size: none !important;
  margin-block: 4px 8px !important;
  font-size: clamp(1.9rem, 2.5vw, 2.25rem) !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

html body.aclasa-body[data-aclasa-site] main > .section:first-child,
html body.aclasa-body[data-aclasa-site] main > .hero.section {
  min-height: 0 !important;
  padding-block: 14px 18px !important;
}

html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
  .split-hero .hero-copy h1 {
  font-size: 1.5rem !important;
  line-height: 1.08 !important;
}

@media (min-width: 1101px) {
  html body.aclasa-body.pay-split-home[data-aclasa-site] .pay-hero-grid {
    grid-template-columns: minmax(0, .94fr) minmax(390px, 1.06fr) !important;
  }
}

/* A home hero orients and hands off to the working surface. Decorative copy
 * must not become a cover page, including at 200% text zoom. */
html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
  .hero-copy > :is(.aclasa-ai-eyebrow, .badge, .lead, .split-status) {
  display: none !important;
}

/* Five parallel destinations stay one deliberate row on a full desktop and
 * become a readable vertical decision list at the exact compact breakpoint. */
@media (min-width: 1181px) {
  html body.aclasa-body[data-aclasa-site] :is(
    .aclasa-portal-grid:not(.aclasa-portal-grid--compact),
    .portfolio-five-grid,
    .social-framework-grid
  ) {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  html body.aclasa-body[data-aclasa-site]
    .aclasa-portal-grid:not(.aclasa-portal-grid--compact) > .aclasa-portal-item {
    grid-column: auto !important;
  }

  html body.aclasa-body[data-aclasa-site] .aclasa-portal-grid--compact {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  html body.aclasa-body[data-aclasa-site] .aclasa-portal-grid--compact > * {
    grid-column: span 2 !important;
  }

  html body.aclasa-body[data-aclasa-site]
    .aclasa-portal-grid--compact > :nth-last-child(-n + 2) {
    grid-column: span 3 !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  html body.aclasa-body.portfolio-split-home[data-aclasa-site] .aclasa-ai-hero-grid,
  html body.aclasa-body.pay-split-home[data-aclasa-site] .pay-hero-grid {
    grid-template-columns: minmax(0, .9fr) minmax(390px, 1.1fr) !important;
    gap: 18px !important;
    align-items: start !important;
  }
}

@media (max-width: 1180px) {
  html body.aclasa-body[data-aclasa-site] main h1 {
    font-size: 1.5rem !important;
    line-height: 1.08 !important;
  }

  html body.aclasa-body[data-aclasa-site] :is(
    .aclasa-portal-grid,
    .portfolio-five-grid,
    .social-framework-grid
  ) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.aclasa-body[data-aclasa-site] .aclasa-portal-item {
    grid-column: auto !important;
  }
}

@media (max-width: 1180px) {
  html body.aclasa-body[data-aclasa-site] .site-header .mobile-toolbar
    .read-aloud-launch.read-aloud-header-control {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }
}

@media (max-width: 760px) {
  html body.aclasa-body[data-aclasa-site] main > .section:first-child,
  html body.aclasa-body[data-aclasa-site] main > .hero.section,
  html body.aclasa-body.aclasa-era-2100[data-aclasa-site] main > .hero.section.split-hero {
    padding-block: 10px 14px !important;
  }

  html body.aclasa-body[data-aclasa-site] main h1,
  html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
    .split-hero .hero-copy h1 {
    font-size: 1.35rem !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 480px) {
  html body.aclasa-body[data-aclasa-site] .site-header .container.header-inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas: "brand toolbar" !important;
  }

  html body.aclasa-body[data-aclasa-site]
    .site-header .container.header-inner > :is(.header-auth-entry, .header-controls) {
    display: none !important;
  }

  html body.aclasa-body[data-aclasa-site]
    .site-header .container.header-inner > .brand .brand-copy {
    display: none !important;
  }

  html body.aclasa-body[data-aclasa-site] .site-header .brand {
    min-inline-size: 44px !important;
    min-block-size: 44px !important;
    justify-content: center !important;
  }
}

/* The home remains one semantic task section, while its orientation block and
 * working form are separate grid items.  Text enlargement can therefore grow
 * the form naturally without recreating a full-screen title-only hero. */
html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
  .home-entry-section {
  min-height: 0 !important;
  padding-block: 14px 18px !important;
}

html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
  .home-entry-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(390px, .75fr) !important;
  gap: clamp(18px, 3vw, 42px) !important;
  align-items: start !important;
}

html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
  .home-introduction {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  overflow: visible !important;
  isolation: auto !important;
}

html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
  .home-introduction::before {
  display: none !important;
}

html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
  .home-introduction .hero-copy {
  max-width: none !important;
  padding: 0 !important;
}

html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
  .home-introduction .hero-copy h1 {
  max-width: none !important;
  max-inline-size: none !important;
}

@media (max-width: 760px) {
  html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
    .home-entry-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  html body.aclasa-body:is(.portfolio-split-home, .pay-split-home)[data-aclasa-site]
    .home-introduction .hero-copy > [data-page-context] {
    margin-block: 4px !important;
    font-size: .85rem !important;
    line-height: 1.28 !important;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .portfolio-home-solutions {
    padding-block: 18px !important;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .portfolio-home-solutions > .section-head {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .portfolio-home-solutions > .section-head h2 {
    margin: 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.18 !important;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .aclasa-portal-grid--compact {
    gap: 8px !important;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .aclasa-portal-grid--compact .aclasa-portal-card {
    padding: 12px !important;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .aclasa-portal-grid--compact h2 {
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .aclasa-portal-grid--compact p {
    margin-bottom: 8px !important;
    line-height: 1.35 !important;
  }

  html body.aclasa-body.portfolio-split-home[data-aclasa-site]
    .focused-route-nav {
    padding-block: 18px !important;
    line-height: 1.35 !important;
  }
}


/* Canonical compact task form. Replaces the orb/route-card presentation. */
body.aclasa-body .aclasa-ai-task-workspace {
  min-inline-size:0; max-inline-size:100%; padding:12px;
  border:1px solid var(--aclasa-ai-line); border-radius:18px;
  color:var(--aclasa-ai-text); background:linear-gradient(135deg,#0c2635,#10182f);
}
body.aclasa-body .aclasa-ai-task-workspace h2 { display:flex; gap:10px; align-items:center; margin:0 0 6px; font-size:1.1rem; line-height:1.3; }
body.aclasa-body .aclasa-ai-task-workspace p { margin:5px 0 0; font-size:.92rem; line-height:1.4; }
body.aclasa-body .aclasa-ai-task-workspace label { font-size:.9rem; font-weight:700; }
body.aclasa-body .aclasa-ai-task-workspace select,
body.aclasa-body .aclasa-ai-task-workspace input[type="search"] {
  display:block; inline-size:100%; min-inline-size:0; max-inline-size:100%; min-block-size:48px;
  border:1px solid rgba(105,209,221,.45); border-radius:10px; padding:10px 12px;
  color:var(--aclasa-ai-text); background:#071724; font:inherit; transform:none;
}
body.aclasa-body .aclasa-ai-task-workspace .aclasa-ai-composer { margin-block:4px 6px; }
body.aclasa-body .aclasa-ai-task-workspace [data-ai-resolve] {
  inline-size:100%; min-block-size:48px; border:1px solid #74efff; border-radius:10px;
  padding:10px 14px; color:#04171d; background:linear-gradient(110deg,#74efff,#48b7eb);
  font:inherit; font-weight:800; cursor:pointer; transform:none;
}
body.aclasa-body .aclasa-ai-task-workspace :is(input,select,button):focus-visible { outline:3px solid #d4a537; outline-offset:3px; }
body.aclasa-body .aclasa-ai-command-feedback:empty { margin:0; }
body.aclasa-body .aclasa-ai-task-workspace :is(h2,p,label) { overflow-wrap:anywhere; }

@media (forced-colors: active) {
  body.aclasa-body .aclasa-ai-task-workspace { border-color:CanvasText; background:Canvas; color:CanvasText; }
  body.aclasa-body .aclasa-ai-task-workspace :is(input,select,button) { border-color:ButtonText; background:Canvas; color:CanvasText; }
}
@media (prefers-reduced-motion: reduce) {
  body.aclasa-body .aclasa-ai-task-workspace :is(input,select,button) { transition:none; animation:none; }
}
