/* Task #HOME-SOLUTIONS-20260925 | 2026-09-25 | George | Stable full-bleed solution heroes preserve the opening app-builder scene. */
body[data-site-page="home"] .home-solutions {
  position: relative;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  background: #101722;
  color: #fff;
  isolation: isolate;
}
.home-solutions__stage { display: grid; touch-action: pan-y pinch-zoom; overflow: hidden; }
/* Task #HOME-SOLUTIONS-20260925 | 2026-09-25 | George | Maintain control contrast across bright photographic foregrounds. */
.home-solutions[data-hero-ready]::after { content: ""; position: absolute; inset: auto 0 0; height: 170px; background: linear-gradient(transparent, rgb(5 14 20 / 88%)); pointer-events: none; z-index: 1; }
body[data-site-page="home"] .home-solutions .home-intro {
  grid-area: 1 / 1;
  width: 100%;
  margin: 0;
  /* Task #HOME-FIRST-VIEWPORT-SLIDES-20260927 | 2026-09-27 | George | Match the retained hero height to the fixed header while leaving space for the selector strip. */
  min-height: calc(100svh - 84px);
  padding: 52px max(32px, calc((100vw - 1260px) * .5)) 142px;
}
.home-solutions [data-hero-slide][aria-hidden="true"] { visibility: hidden; pointer-events: none; }
body[data-site-page="home"] .home-solutions .home-intro > div { width: min(640px, 52%); }
body[data-site-page="home"] .home-solutions .home-intro :is(h1,h2) {
  margin: 0;
  max-width: none;
  color: #fff;
  font-size: 76px;
  font-weight: 750;
  line-height: 1.06;
  letter-spacing: 0;
  text-shadow: 0 2px 18px rgb(0 0 0 / 12%);
}
.home-solutions .home-intro :is(h1,h2) span { display: block; letter-spacing: 0; }
.home-solutions .home-intro :is(h1,h2) .home-title-free { color: #c4ffe3; }
body[data-site-page="home"] .home-solutions .home-intro .home-eyebrow { letter-spacing: 0; }
body[data-site-page="home"] .home-solutions .home-intro:not(:first-child) {
  background-image: linear-gradient(90deg, rgb(9 17 24 / 86%), rgb(9 17 24 / 74%) 38%, rgb(9 17 24 / 60%) 50%, rgb(9 17 24 / 15%) 64%, transparent 78%), var(--hero-image);
}
#hero-pureplay { --hero-image: url('/assets/homepage/pureplay-hero-20260925.webp'); }
#hero-orchestra { --hero-image: url('/assets/homepage/orchestra-hero-20260925.webp'); }
#hero-sovereignty { --hero-image: url('/assets/homepage/sovereignty-hero-20260925.webp'); }
.home-solutions__controls {
  position: absolute;
  z-index: 2;
  /* Task #HOME-FIRST-VIEWPORT-SLIDES-20260927 | 2026-09-27 | George | Keep the selector strip inside the visible first viewport even when slide content makes the section taller. */
  bottom: max(0px, calc(100% - (100svh - 89px)));
  inset-inline: max(32px, calc((100vw - 1260px) * .5));
  display: flex;
  align-items: center;
  gap: 32px;
  min-height: 102px;
  padding-block: 18px;
  border-top: 1px solid rgb(255 255 255 / 35%);
}
.home-solutions__choices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; flex: 1; min-width: 0; }
.home-solutions__controls button,
.home-solutions__arrows button { font: inherit; color: #fff; cursor: pointer; border: 0; background: transparent; }
.home-solutions__choices button { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 0; text-align: left; border-bottom: 2px solid transparent; opacity: .8; font-size: 15px; font-weight: 600; }
.home-solutions__choices button[aria-pressed="true"] { color: #c4ffe3; border-color: #c4ffe3; opacity: 1; }
.home-solutions__choices button:hover { opacity: 1; }
.home-solutions__choices svg { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* Task #HERO-EDGE-20260925 | 2026-09-25 | George | Keep carousel arrows out of the bottom strip until the pointer reaches a hero edge. */
.home-solutions__arrows { position: absolute; z-index: 3; inset: 0; pointer-events: none; }
.home-solutions__arrows button {
  position: absolute;
  top: 50%;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 65%);
  border-radius: 50%;
  background: rgb(5 14 20 / 22%);
  box-shadow: 0 16px 44px rgb(0 0 0 / 24%);
  font-size: 24px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
  transition: opacity 160ms ease, background-color 160ms ease, border-color 160ms ease;
  backdrop-filter: blur(10px);
}
.home-solutions__arrows button[data-hero-prev] { left: max(22px, calc((100vw - 1260px) * .5 + 16px)); }
.home-solutions__arrows button[data-hero-next] { right: max(22px, calc((100vw - 1260px) * .5 + 16px)); }
.home-solutions[data-hero-edge="left"] .home-solutions__arrows button[data-hero-prev],
.home-solutions[data-hero-edge="right"] .home-solutions__arrows button[data-hero-next],
.home-solutions__arrows button:focus-visible { opacity: 1; pointer-events: auto; }
.home-solutions__arrows button:hover,
.home-solutions__arrows button:focus-visible { background: rgb(255 255 255 / 16%); border-color: rgb(255 255 255 / 88%); }
.home-solutions__count { min-width: 48px; text-align: center; font-size: 12px; font-variant-numeric: tabular-nums; }
.home-solutions__count.consultant-visually-hidden { min-width: 0; }
.home-solutions :focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.home-solutions__fallback { display: flex; flex-wrap: wrap; gap: 24px; padding: 24px; }
.home-solutions__fallback a { color: #c4ffe3; }
/* Task #HOME-FIRST-VIEWPORT-SLIDES-20260927 | 2026-09-27 | George | Keep carousel announcements available to assistive tech after removing the consultant stylesheet. */
.home-solutions .consultant-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Task #HOME-SOLUTIONS-20260925 | 2026-09-25 | George | Animate only user-triggered changes and respect motion/data preferences. */
@media (prefers-reduced-motion: no-preference) {
  .home-solutions[data-hero-changed] [data-hero-slide][aria-hidden="false"] > div { animation: home-solution-enter 240ms ease-out; }
}
@keyframes home-solution-enter { from { opacity: .25; transform: translateX(calc(28px * var(--hero-direction, 1))); } to { opacity: 1; transform: translateX(0); } }
@media (min-width:1600px) {
  body[data-site-page="home"] .home-solutions .home-intro :is(h1,h2) { font-size: 88px; }
}
@media (max-width:1100px) {
  body[data-site-page="home"] .home-solutions .home-intro :is(h1,h2) { font-size: 60px; }
  body[data-site-page="home"] .home-solutions .home-intro > div { width: min(560px, 65%); }
  .home-solutions__choices { gap: 12px; }
  .home-solutions__choices button { font-size: 13px; gap: 6px; }
}
@media (max-width:860px) {
  body[data-site-page="home"] .home-solutions .home-intro { min-height: calc(100svh - 72px); padding-block: 40px 160px; }
  body[data-site-page="home"] .home-solutions .home-intro > div { width: min(520px, 100%); }
  body[data-site-page="home"] .home-solutions .home-intro:not(:first-child) { background-image: linear-gradient(90deg, rgb(9 17 24 / 90%), rgb(9 17 24 / 68%)), var(--hero-image); }
  .home-solutions__controls { bottom: max(0px, calc(100% - (100svh - 76px))); gap: 12px; flex-wrap: wrap; padding-block: 12px; }
  .home-solutions__choices { flex-basis: 100%; }
}
/* Task #HOME-SOLUTIONS-20260925 | 2026-09-25 | George | Fixed type steps, separate control space, and natural growth at zoom prevent clipped mobile actions. */
@media (max-width:620px) {
  body[data-site-page="home"] .home-solutions .home-intro { min-height: calc(100svh - 64px); padding: 32px 24px 172px; }
  body[data-site-page="home"] .home-solutions .home-intro :is(h1,h2) { font-size: 44px; overflow-wrap: anywhere; }
  body[data-site-page="home"] .home-solutions .home-intro .home-lead { font-size: 17px; margin-top: 22px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-actions { margin-top: 24px; }
  #hero-pureplay { --hero-image: url('/assets/homepage/pureplay-hero-20260925-mobile.webp'); }
  #hero-orchestra { --hero-image: url('/assets/homepage/orchestra-hero-20260925-mobile.webp'); }
  #hero-sovereignty { --hero-image: url('/assets/homepage/sovereignty-hero-20260925-mobile.webp'); }
  .home-solutions__controls { bottom: max(0px, calc(100% - (100svh - 69px))); inset-inline: 24px; }
  .home-solutions__choices { gap: 6px; }
  .home-solutions__choices button { justify-content: center; gap: 6px; flex-direction: column; font-size: 11px; }
  .home-solutions__choices svg { width: 20px; height: 20px; flex-basis: 20px; }
  .home-solutions__arrows button { width: 44px; height: 44px; }
  .home-solutions__arrows button[data-hero-prev] { left: 16px; }
  .home-solutions__arrows button[data-hero-next] { right: 16px; }
}
@media (max-width:380px) {
  body[data-site-page="home"] .home-solutions .home-intro :is(h1,h2) { font-size: 36px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-eyebrow { font-size: 11px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-actions .home-button { font-size: 16px; padding-inline: 18px; }
  .home-solutions__choices button { font-size: 10px; }
}
/* Task #HOME-FIRST-VIEWPORT-SLIDES-20260927 | 2026-09-27 | George | Keep every CTA clear of the selector strip on the shortest supported phone viewport. */
@media (max-width:380px) and (max-height:620px) {
  body[data-site-page="home"] .home-solutions .home-intro { padding-top: 24px; padding-bottom: 136px; }
  body[data-site-page="home"] .home-solutions .home-intro :is(h1,h2) { font-size: 32px; line-height: 1.04; }
  body[data-site-page="home"] .home-solutions .home-intro .home-lead { font-size: 15px; line-height: 1.45; margin-top: 16px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-actions { margin-top: 18px; margin-bottom: 0; }
  body[data-site-page="home"] .home-solutions .home-intro .home-actions .home-button { min-height: 48px; padding-block: 12px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-small { display: none; }
  .home-solutions__controls { min-height: 88px; padding-block: 8px; }
  .home-solutions__choices button { min-height: 48px; padding-block: 4px; }
}
/* Task #HOME-SOLUTIONS-20260925 | 2026-09-25 | George | Keep the complete hero and navigation visible on short laptop viewports. */
@media (min-width:861px) and (max-height:800px) {
  body[data-site-page="home"] .home-solutions .home-intro { padding-top: 32px; padding-bottom: 126px; }
  body[data-site-page="home"] .home-solutions .home-intro :is(h1,h2) { font-size: 60px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-eyebrow { margin-bottom: 18px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-lead { font-size: 18px; margin-top: 20px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-actions { margin-block: 22px 12px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-button { min-height: 54px; padding-block: 12px; font-size: 18px; }
  body[data-site-page="home"] .home-solutions .home-intro .home-small { font-size: 14px; }
}
