/* HOODEL Persian Solutions — Design System v2 Light / provisional visual review */
@font-face {
  font-family:"IBM Plex Sans Arabic";
  src:url("/assets/fonts/ibm-plex-arabic-600.woff2") format("woff2");
  font-style:normal;
  font-weight:600;
  font-display:swap;
}

.hoodel-solutions {
  --sol-bg:#f4f7fc;
  --sol-bg-deep:#edf3fb;
  --sol-surface:#ffffff;
  --sol-surface-soft:#f7f9fd;
  --sol-glass:rgba(255,255,255,.61);
  --sol-glass-strong:rgba(255,255,255,.9);
  --sol-ink:#0a1933;
  --sol-ink-soft:#273752;
  --sol-muted:#596980;
  --sol-line:rgba(60,85,124,.14);
  --sol-line-strong:rgba(52,83,132,.23);
  --sol-blue:#0869d8;
  --sol-cyan:#08a7cc;
  --sol-violet:#7455e9;
  --sol-purple:#963fd3;
  --sol-route:linear-gradient(90deg,var(--sol-blue),var(--sol-cyan),var(--sol-violet),var(--sol-purple));
  --sol-radius-sm:14px;
  --sol-radius-md:24px;
  --sol-radius-lg:34px;
  position:relative;
  isolation:isolate;
  overflow-x:clip;
  background:var(--sol-bg);
  color:var(--sol-ink);
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif;
  direction:rtl;
}

.solutions-shell {
  width:min(1220px,calc(100% - 48px));
  margin-inline:auto;
}

.hoodel-solutions h1,
.hoodel-solutions h2 {
  margin:0;
  color:var(--sol-ink);
  font-family:"IBM Plex Sans Arabic","Vazirmatn",Tahoma,sans-serif;
  font-weight:600;
  letter-spacing:0;
}

.hoodel-solutions h1 {
  max-width:730px;
  font-size:clamp(2.45rem,3.75vw,3.8rem);
  line-height:1.32;
}

.hoodel-solutions h2 {
  max-width:700px;
  font-size:clamp(1.95rem,2.7vw,2.85rem);
  line-height:1.42;
}

.hoodel-solutions h3 {
  margin:0;
  color:var(--sol-ink);
  font-size:1.12rem;
  line-height:1.75;
  font-weight:700;
}

.hoodel-solutions p {
  margin:0;
  color:var(--sol-muted);
  line-height:2;
}

.solutions-eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px!important;
  color:var(--sol-blue)!important;
  font-size:.8rem;
  font-weight:750;
  line-height:1.6!important;
}

.solutions-eyebrow::before {
  content:"";
  width:28px;
  height:2px;
  border-radius:999px;
  background:var(--sol-route);
}

.solutions-skip-link {
  position:fixed;
  z-index:100;
  inset-block-start:8px;
  inset-inline-start:8px;
  padding:10px 14px;
  border:2px solid var(--sol-blue);
  border-radius:8px;
  background:#fff;
  color:var(--sol-ink);
  transform:translateY(-160%);
}

.solutions-skip-link:focus {
  transform:none;
}

.hoodel-solutions a:focus-visible {
  outline:3px solid color-mix(in srgb,var(--sol-violet) 48%,transparent);
  outline-offset:4px;
  border-radius:6px;
}

.hoodel-solutions .page-button--primary {
  position:relative;
  overflow:hidden;
  border-color:var(--sol-ink);
  background:var(--sol-ink);
  color:#fff;
  box-shadow:0 12px 28px rgba(10,25,51,.12);
}

.hoodel-solutions .page-button--primary::after {
  content:"";
  position:absolute;
  inset-block:0;
  inset-inline-start:-40%;
  width:34%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  transform:skewX(-18deg);
  transition:inset-inline-start .45s ease;
}

.hoodel-solutions .page-button--primary:hover {
  border-color:var(--sol-blue);
  background:var(--sol-blue);
  color:#fff;
  box-shadow:0 14px 30px rgba(8,105,216,.16);
}

.hoodel-solutions .page-button--primary:hover::after {
  inset-inline-start:112%;
}

.solutions-breadcrumb {
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:9px;
  padding-top:22px;
  color:#728198;
  font-size:.78rem;
}

.solutions-breadcrumb a:hover {
  color:var(--sol-blue);
}

.solutions-text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  color:var(--sol-blue);
  font-size:.9rem;
  font-weight:700;
}

.solutions-text-link span {
  transition:transform .2s ease;
}

.solutions-text-link:hover span {
  transform:translateX(-4px);
}

/* Hero */
.solutions-hero {
  position:relative;
  isolation:isolate;
  min-height:610px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 52% 72% at 8% 18%,rgba(116,85,233,.13),transparent 66%),
    radial-gradient(ellipse 42% 54% at 33% 88%,rgba(8,167,204,.105),transparent 68%),
    radial-gradient(ellipse 48% 62% at 94% 12%,rgba(8,105,216,.07),transparent 72%),
    linear-gradient(142deg,#f9fbff 0%,#f4f7fc 56%,#eef4fb 100%);
}

.solutions-hero::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:min(660px,48vw);
  aspect-ratio:1.45;
  inset-block-start:-20%;
  inset-inline-end:-13%;
  border:1px solid rgba(116,85,233,.12);
  border-radius:50%;
  transform:rotate(-12deg);
  pointer-events:none;
}

.solutions-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:420px;
  aspect-ratio:1;
  inset-block-end:-52%;
  inset-inline-start:28%;
  border:1px solid rgba(8,167,204,.11);
  border-radius:50%;
  pointer-events:none;
}

.solutions-hero__grid {
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(440px,.94fr);
  align-items:center;
  gap:clamp(56px,7vw,104px);
  min-height:540px;
  padding-block:42px 62px;
}

.solutions-hero__content {
  position:relative;
  z-index:2;
}

.solutions-hero__lead {
  max-width:690px;
  margin-top:23px!important;
  font-size:1.02rem;
  line-height:2.08!important;
}

.solutions-hero__actions {
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  margin-top:30px;
}

.solutions-hero__model {
  position:relative;
  width:min(100%,560px);
  min-height:430px;
  justify-self:end;
  container-type:inline-size;
}

.solutions-hero__model::before {
  content:"";
  position:absolute;
  inset:7% 4% 5% 2%;
  border:1px solid rgba(255,255,255,.7);
  border-radius:42% 58% 46% 54% / 56% 43% 57% 44%;
  background:
    radial-gradient(circle at 72% 16%,rgba(8,105,216,.15),transparent 32%),
    radial-gradient(circle at 36% 56%,rgba(8,167,204,.125),transparent 34%),
    radial-gradient(circle at 18% 86%,rgba(150,63,211,.11),transparent 30%),
    rgba(255,255,255,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 30px 70px rgba(46,76,122,.05);
  transform:rotate(-2deg);
}

.solutions-hero__model::after {
  content:"";
  position:absolute;
  inset:15% 11% 12% 8%;
  border:1px solid rgba(8,167,204,.13);
  border-radius:50%;
  transform:rotate(13deg);
}

.solutions-hero__route {
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}

.solutions-hero__route path {
  fill:none;
  vector-effect:non-scaling-stroke;
}

.solutions-hero__route-ghost {
  stroke:rgba(116,85,233,.165);
  stroke-width:1;
}

.solutions-hero__route-main {
  stroke:url(#solutionsHeroRoute);
  stroke-width:1.35;
  opacity:.84;
}

.solutions-hero__route circle {
  fill:rgba(255,255,255,.78);
  stroke:var(--sol-violet);
  stroke-width:1.2;
  vector-effect:non-scaling-stroke;
}

.solutions-hero__route--mobile {
  display:none;
}

.solutions-hero__node {
  --node-accent:var(--sol-blue);
  position:absolute;
  z-index:2;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:14px;
  width:min(238px,47%);
  min-height:86px;
  padding:15px 17px;
  border:1px solid color-mix(in srgb,var(--node-accent) 15%,rgba(255,255,255,.72));
  border-radius:22px 22px 8px 22px;
  background:var(--sol-glass);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),inset 1px 0 0 color-mix(in srgb,var(--node-accent) 7%,transparent),0 13px 34px rgba(39,66,110,.045);
  backdrop-filter:blur(10px);
  transition:transform .24s ease,border-color .24s ease,background .24s ease;
}

.solutions-hero__node::before {
  content:"";
  position:absolute;
  inset:0;
  border-block-start:1px solid color-mix(in srgb,var(--node-accent) 38%,transparent);
  border-inline-start:1px solid color-mix(in srgb,var(--node-accent) 20%,transparent);
  border-radius:inherit;
  pointer-events:none;
}

.solutions-hero__node:hover {
  border-color:color-mix(in srgb,var(--node-accent) 32%,rgba(255,255,255,.64));
  background:rgba(255,255,255,.7);
  transform:translateY(-2px);
}

.solutions-hero__node--need {
  inset-block-start:48px;
  inset-inline-start:0;
}

.solutions-hero__node--architecture {
  --node-accent:var(--sol-cyan);
  inset-block-start:166px;
  inset-inline-start:27%;
}

.solutions-hero__node--delivery {
  --node-accent:var(--sol-purple);
  inset-block-start:292px;
  inset-inline-end:0;
}

.solutions-hero__node > span {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid color-mix(in srgb,var(--node-accent) 46%,transparent);
  border-radius:50%;
  background:rgba(255,255,255,.58);
  color:var(--node-accent);
  font-size:.74rem;
  font-weight:800;
}

.solutions-hero__node strong,
.solutions-hero__node small {
  display:block;
}

.solutions-hero__node strong {
  color:var(--sol-ink);
  font-size:.94rem;
  line-height:1.7;
}

.solutions-hero__node small {
  margin-top:2px;
  color:var(--sol-muted);
  font-size:.75rem;
  line-height:1.7;
}

/* Need to architecture */
.solutions-translation {
  position:relative;
  isolation:isolate;
  padding-block:94px;
  overflow:hidden;
  background:var(--sol-surface);
}

.solutions-translation::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:460px;
  height:260px;
  inset-block-end:-180px;
  inset-inline-end:8%;
  border:1px solid rgba(8,105,216,.08);
  border-radius:50%;
  transform:rotate(8deg);
}

.solutions-translation__grid {
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(500px,1.16fr);
  gap:clamp(68px,9vw,136px);
}

.solutions-translation__copy > p {
  max-width:680px;
  font-size:.99rem;
}

.solutions-translation__journey {
  position:relative;
  margin-top:34px;
  padding-top:6px;
}

.solutions-translation__copy ol {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:0;
  padding:0;
  list-style:none;
}

.solutions-translation__copy li {
  position:relative;
  min-height:122px;
  padding:58px 12px 0;
  text-align:center;
}

.solutions-translation__copy li::before {
  content:"";
  position:absolute;
  z-index:2;
  width:13px;
  height:13px;
  inset-block-start:26px;
  inset-inline-start:50%;
  border:3px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:var(--sol-blue);
  box-shadow:0 0 0 1px rgba(8,105,216,.28);
  transform:translateX(50%);
}

.solutions-translation__copy li:nth-child(2)::before {
  background:var(--sol-cyan);
  box-shadow:0 0 0 1px rgba(8,167,204,.3);
}

.solutions-translation__copy li:nth-child(3)::before {
  background:var(--sol-violet);
  box-shadow:0 0 0 1px rgba(116,85,233,.28);
}

.solutions-translation__copy li span {
  display:block;
  color:var(--sol-blue);
  font-size:.72rem;
  font-weight:750;
}

.solutions-translation__copy li strong {
  display:block;
  margin-top:7px;
  color:var(--sol-ink-soft);
  font-size:.84rem;
  line-height:1.85;
}

.solutions-translation__route {
  position:absolute;
  z-index:0;
  inset-block-start:0;
  inset-inline:0;
  width:100%;
  height:92px;
  pointer-events:none;
}

.solutions-translation__route path {
  fill:none;
  stroke:url(#solutionsTranslationRoute);
  stroke-width:1.2;
  opacity:.58;
  vector-effect:non-scaling-stroke;
}

.solutions-translation__route circle {
  fill:rgba(255,255,255,.9);
  stroke:var(--sol-cyan);
  stroke-width:1;
  opacity:.82;
  vector-effect:non-scaling-stroke;
}

.solutions-translation__route--mobile {
  display:none;
}

/* Solution families / selective Bento */
.solutions-families {
  position:relative;
  isolation:isolate;
  padding-block:98px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 42% 54% at 8% 78%,rgba(150,63,211,.075),transparent 70%),
    radial-gradient(ellipse 36% 42% at 96% 18%,rgba(8,167,204,.08),transparent 72%),
    radial-gradient(ellipse 30% 38% at 54% 48%,rgba(116,85,233,.035),transparent 76%),
    var(--sol-bg-deep);
}

.solutions-families::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:520px;
  height:310px;
  inset-block-start:-190px;
  inset-inline-start:16%;
  border:1px solid rgba(116,85,233,.09);
  border-radius:50%;
  transform:rotate(-7deg);
}

.solutions-section-intro {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
  gap:clamp(46px,6.5vw,92px);
  align-items:end;
  margin-bottom:54px;
}

.solutions-section-intro > p {
  max-width:500px;
}

.solutions-family-list {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
  min-height:570px;
}

.solutions-family-list__routes {
  position:absolute;
  z-index:0;
  inset:-24px -20px;
  width:calc(100% + 40px);
  height:calc(100% + 48px);
  pointer-events:none;
}

.solutions-family-list__routes path {
  fill:none;
  vector-effect:non-scaling-stroke;
}

.solutions-family-list__route-ghost {
  stroke:rgba(116,85,233,.15);
  stroke-width:1;
}

.solutions-family-list__route-main {
  stroke:url(#solutionsFamilyRoute);
  stroke-width:1.25;
  opacity:.52;
}

.solutions-family-list article {
  --path-accent:var(--sol-blue);
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  gap:12px 16px;
  min-width:0;
  padding:30px 30px 26px;
  overflow:hidden;
  border-radius:24px 24px 8px 24px;
  background:color-mix(in srgb,var(--sol-bg-deep) 94%,#fff 6%);
  box-shadow:none;
  backdrop-filter:blur(10px);
  transition:transform .24s ease,background .24s ease;
}

.solutions-family-list article::before {
  content:"";
  position:absolute;
  inset:0;
  border-block-start:1px solid color-mix(in srgb,var(--path-accent) 44%,transparent);
  border-inline-start:1px solid color-mix(in srgb,var(--path-accent) 28%,transparent);
  border-radius:inherit;
  pointer-events:none;
}

.solutions-family-list article::after {
  content:"";
  position:absolute;
  width:88px;
  height:42px;
  inset-block-end:-25px;
  inset-inline-end:20px;
  border:1px solid color-mix(in srgb,var(--path-accent) 18%,transparent);
  border-radius:50%;
  pointer-events:none;
}

.solutions-family-list article:hover {
  background:color-mix(in srgb,var(--sol-bg-deep) 88%,#fff 12%);
  transform:translateY(-1px);
}

.solutions-family-list article:nth-of-type(1) {
  grid-column:1 / span 7;
  min-height:258px;
  background:rgba(255,255,255,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 18px 46px rgba(57,83,125,.05);
}

.solutions-family-list article:nth-of-type(2) {
  --path-accent:var(--sol-violet);
  grid-column:8 / span 5;
  min-height:258px;
  background:rgba(255,255,255,.43);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}

.solutions-family-list article:nth-of-type(3) {
  --path-accent:var(--sol-cyan);
  grid-column:1 / span 4;
  min-height:238px;
  border-radius:20px 20px 6px 20px;
  background:rgba(255,255,255,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(8px);
}

.solutions-family-list article:nth-of-type(4) {
  --path-accent:var(--sol-blue);
  grid-column:5 / span 4;
  min-height:238px;
  border-radius:0;
  background:var(--sol-bg-deep);
  backdrop-filter:none;
}

.solutions-family-list article:nth-of-type(5) {
  --path-accent:var(--sol-purple);
  grid-column:9 / span 4;
  min-height:238px;
  border-radius:0;
  background:var(--sol-bg-deep);
  backdrop-filter:none;
}

.solutions-family-list article:nth-of-type(n+4)::before {
  width:52%;
  inset-inline-end:auto;
  border-inline-start-color:color-mix(in srgb,var(--path-accent) 18%,transparent);
}

.solutions-family-list article:nth-of-type(n+4)::after {
  display:none;
}

.solutions-family-list article:nth-of-type(n+4):hover {
  background:var(--sol-bg-deep);
  transform:translateY(-1px);
}

.solutions-family-list__number {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid color-mix(in srgb,var(--path-accent) 50%,transparent);
  border-radius:50%;
  background:rgba(255,255,255,.66);
  color:var(--path-accent);
  font-size:.73rem;
  font-weight:800;
}

.solutions-family-list article > div {
  min-width:0;
}

.solutions-family-list article > div p {
  max-width:610px;
  margin-top:8px;
  font-size:.89rem;
}

.solutions-family-list__scope {
  grid-column:2;
  align-self:end;
  max-width:100%;
  padding-block-start:15px;
  border-block-start:1px solid color-mix(in srgb,var(--path-accent) 22%,transparent);
  color:color-mix(in srgb,var(--path-accent) 70%,var(--sol-muted))!important;
  font-size:.73rem!important;
  line-height:1.9!important;
  text-align:start;
}

/* Multi-domain convergence */
.solutions-integrated {
  position:relative;
  isolation:isolate;
  padding-block:104px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 46% 58% at 84% 50%,rgba(8,167,204,.095),transparent 70%),
    radial-gradient(ellipse 38% 50% at 34% 92%,rgba(116,85,233,.082),transparent 72%),
    var(--sol-surface-soft);
}

.solutions-integrated::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:620px;
  height:300px;
  inset-block-start:-200px;
  inset-inline-end:12%;
  border:1px solid rgba(8,167,204,.09);
  border-radius:50%;
  transform:rotate(4deg);
}

.solutions-integrated__grid {
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(560px,1.14fr);
  gap:clamp(48px,6vw,82px);
  align-items:center;
}

.solutions-integrated__content {
  position:relative;
  z-index:2;
}

.solutions-integrated__content > p:not(.solutions-eyebrow) {
  max-width:610px;
  margin-top:20px;
}

.solutions-integrated__content .solutions-text-link {
  margin-top:24px;
}

.solutions-integrated__architecture {
  position:relative;
  display:grid;
  grid-template-columns:minmax(190px,1fr) 150px minmax(170px,.72fr);
  column-gap:12px;
  align-items:stretch;
  min-height:330px;
  padding:30px 28px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:var(--sol-radius-lg) var(--sol-radius-lg) 12px var(--sol-radius-lg);
  background:rgba(255,255,255,.54);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 24px 64px rgba(55,82,126,.05);
  backdrop-filter:blur(12px);
}

.solutions-integrated__architecture::before {
  content:"";
  position:absolute;
  width:50%;
  height:58%;
  inset-block-start:16%;
  inset-inline-start:22%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(116,85,233,.11),rgba(8,167,204,.045) 42%,transparent 72%);
  pointer-events:none;
}

.solutions-integrated__architecture::after {
  content:"";
  position:absolute;
  width:74px;
  height:42px;
  inset-block-start:-16px;
  inset-inline-end:30px;
  border-block-start:1px solid rgba(8,105,216,.24);
  border-inline-end:1px solid rgba(8,105,216,.16);
  border-radius:0 40px 0 0;
  pointer-events:none;
}

.solutions-integrated__domains {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-rows:repeat(5,minmax(0,1fr));
}

.solutions-integrated__domains span {
  --domain-accent:var(--sol-blue);
  display:grid;
  grid-template-columns:10px minmax(0,1fr);
  gap:11px;
  align-items:center;
  min-height:48px;
  color:var(--sol-ink-soft);
  font-size:.82rem;
  font-weight:700;
  line-height:1.7;
}

.solutions-integrated__domains span > i {
  width:8px;
  height:8px;
  border:1px solid var(--domain-accent);
  border-radius:50%;
  background:rgba(255,255,255,.9);
  transition:box-shadow .2s ease,background .2s ease;
}

.solutions-integrated__domains span:hover > i {
  background:var(--domain-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--domain-accent) 12%,transparent);
}

.solutions-integrated__domains span > strong {
  font:inherit;
}

.solutions-integrated__domains span:nth-child(2) {
  --domain-accent:var(--sol-cyan);
}

.solutions-integrated__domains span:nth-child(3) {
  --domain-accent:var(--sol-violet);
}

.solutions-integrated__domains span:nth-child(4) {
  --domain-accent:var(--sol-purple);
}

.solutions-integrated__domains span:nth-child(5) {
  --domain-accent:var(--sol-cyan);
}

.solutions-integrated__convergence {
  position:relative;
  z-index:2;
}

.solutions-integrated__curve {
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}

.solutions-integrated__curve path {
  fill:none;
  stroke-width:1.2;
  vector-effect:non-scaling-stroke;
}

.solutions-integrated__curve .is-ghost {
  stroke:rgba(116,85,233,.13);
}

.solutions-integrated__curve .is-blue {
  stroke:color-mix(in srgb,var(--sol-blue) 62%,transparent);
}

.solutions-integrated__curve .is-cyan {
  stroke:color-mix(in srgb,var(--sol-cyan) 64%,transparent);
}

.solutions-integrated__curve .is-violet {
  stroke:color-mix(in srgb,var(--sol-violet) 64%,transparent);
}

.solutions-integrated__curve .is-purple {
  stroke:color-mix(in srgb,var(--sol-purple) 62%,transparent);
}

.solutions-integrated__curve .is-output {
  stroke:url(#solutionsConvergenceOutput);
  stroke-width:1.45;
  filter:drop-shadow(0 2px 3px rgba(116,85,233,.1));
}

.solutions-integrated__curve .is-halo {
  fill:rgba(255,255,255,.64);
  stroke:rgba(116,85,233,.3);
  stroke-width:1;
  filter:drop-shadow(0 4px 7px rgba(75,69,154,.12));
  vector-effect:non-scaling-stroke;
}

.solutions-integrated__curve .is-core {
  fill:rgba(255,255,255,.92);
  stroke:var(--sol-violet);
  stroke-width:1.4;
  filter:drop-shadow(0 2px 4px rgba(116,85,233,.16));
  vector-effect:non-scaling-stroke;
}

.solutions-integrated__curve--mobile {
  display:none;
}

.solutions-integrated__convergence b {
  display:none;
}

.solutions-integrated__outcome {
  position:relative;
  z-index:2;
  align-self:center;
  padding:24px 20px;
  border:1px solid rgba(116,85,233,.18);
  border-radius:22px 22px 8px 22px;
  background:rgba(255,255,255,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 30px rgba(58,72,126,.04);
  backdrop-filter:blur(10px);
}

.solutions-integrated__outcome small {
  display:block;
  color:var(--sol-violet);
  font-size:.7rem;
  font-weight:750;
  line-height:1.7;
}

.solutions-integrated__outcome strong {
  display:block;
  max-width:190px;
  margin-top:8px;
  color:var(--sol-ink-soft);
  font-size:.92rem;
  line-height:1.85;
}

/* Delivery lifecycle */
.solutions-lifecycle {
  position:relative;
  isolation:isolate;
  padding-block:98px;
  overflow:hidden;
  background:var(--sol-surface);
}

.solutions-lifecycle::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:480px;
  height:240px;
  inset-block-end:-190px;
  inset-inline-start:8%;
  border:1px solid rgba(150,63,211,.09);
  border-radius:50%;
  transform:rotate(-6deg);
}

.solutions-lifecycle__journey {
  position:relative;
  padding-top:4px;
}

.solutions-lifecycle__steps {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}

.solutions-lifecycle__steps li {
  --stage-accent:var(--sol-blue);
  position:relative;
  padding-inline:16px;
  text-align:center;
}

.solutions-lifecycle__steps li:nth-child(2) {
  --stage-accent:var(--sol-cyan);
}

.solutions-lifecycle__steps li:nth-child(3) {
  --stage-accent:color-mix(in srgb,var(--sol-cyan) 28%,var(--sol-violet));
}

.solutions-lifecycle__steps li:nth-child(4) {
  --stage-accent:var(--sol-violet);
}

.solutions-lifecycle__steps li:nth-child(5) {
  --stage-accent:var(--sol-purple);
}

.solutions-lifecycle__steps li > span {
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin:19px auto 20px;
  border:1px solid color-mix(in srgb,var(--stage-accent) 48%,transparent);
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--stage-accent);
  font-size:.78rem;
  font-weight:800;
  box-shadow:0 0 0 6px rgba(255,255,255,.76);
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}

.solutions-lifecycle__steps li:hover > span {
  border-color:var(--stage-accent);
  background:#fff;
  transform:translateY(-2px);
}

.solutions-lifecycle__steps h3 {
  font-size:.93rem;
}

.solutions-lifecycle__steps p {
  max-width:180px;
  margin:7px auto 0;
  font-size:.82rem;
  line-height:1.9;
}

.solutions-lifecycle__route {
  position:absolute;
  z-index:0;
  inset-block-start:0;
  inset-inline:0;
  width:100%;
  height:84px;
  pointer-events:none;
}

.solutions-lifecycle__route path {
  fill:none;
  stroke:url(#solutionsLifecycleRoute);
  stroke-width:1.25;
  opacity:.54;
  vector-effect:non-scaling-stroke;
}

.solutions-lifecycle__route--mobile {
  display:none;
}

/* Final CTA */
.solutions-final {
  position:relative;
  isolation:isolate;
  padding-block:82px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 44% 90% at 14% 88%,rgba(150,63,211,.11),transparent 68%),
    radial-gradient(ellipse 46% 96% at 88% 12%,rgba(8,167,204,.1),transparent 70%),
    linear-gradient(150deg,#eff5fc,#f7f9fd 54%,#eef3fb);
}

.solutions-final__route {
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}

.solutions-final__route path {
  fill:none;
  stroke:url(#solutionsFinalRoute);
  stroke-width:1.15;
  opacity:.3;
  vector-effect:non-scaling-stroke;
}

.solutions-final__route circle {
  fill:rgba(255,255,255,.7);
  stroke:var(--sol-violet);
  stroke-width:1;
  opacity:.74;
  vector-effect:non-scaling-stroke;
}

.solutions-final__inner {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(350px,.72fr);
  gap:clamp(60px,7vw,108px);
  align-items:end;
  padding:46px 48px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:32px 32px 12px 32px;
  background:rgba(255,255,255,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 22px 56px rgba(48,78,123,.05);
  backdrop-filter:blur(10px);
}

.solutions-final__inner::before {
  content:"";
  position:absolute;
  width:130px;
  height:44px;
  inset-block-start:-1px;
  inset-inline-start:44px;
  border-block-start:1px solid rgba(8,167,204,.42);
  border-inline-start:1px solid rgba(116,85,233,.28);
  border-radius:42px 0 0 0;
}

.solutions-final__path {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 16px;
  color:var(--sol-muted);
  font-size:.73rem;
  font-weight:650;
  line-height:1.7;
}

.solutions-final__path i {
  color:color-mix(in srgb,var(--sol-cyan) 74%,var(--sol-muted));
  font-style:normal;
}

.solutions-final__path strong {
  color:var(--sol-violet);
  font-weight:750;
}

.solutions-final__inner > div:last-child p {
  max-width:520px;
  margin-bottom:25px;
}

/* Progressive enhancement */
@supports not (backdrop-filter:blur(1px)) {
  .solutions-hero__node,
  .solutions-integrated__architecture,
  .solutions-integrated__outcome,
  .solutions-final__inner {
    background:rgba(255,255,255,.96);
  }
}

@media (max-width:1100px) {
  .solutions-hero__grid {
    grid-template-columns:minmax(0,1fr) minmax(390px,.86fr);
    gap:44px;
  }

  .solutions-integrated__grid {
    grid-template-columns:minmax(0,.8fr) minmax(510px,1.2fr);
    gap:38px;
  }

  .solutions-integrated__architecture {
    grid-template-columns:minmax(168px,1fr) 126px minmax(150px,.7fr);
    padding-inline:24px;
  }

  .solutions-family-list article {
    padding-inline:24px;
  }
}

@media (max-width:1024px) {
  .solutions-hero__grid {
    grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);
  }

  .solutions-hero__model {
    min-height:400px;
  }

  .solutions-hero__node {
    width:min(220px,55%);
  }

  .solutions-hero__node--architecture {
    inset-inline-start:22%;
  }

  .solutions-hero__node--delivery {
    inset-block-start:276px;
  }

  .solutions-translation__grid {
    gap:56px;
  }

  .solutions-family-list {
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-height:0;
  }

  .solutions-family-list article:nth-of-type(1),
  .solutions-family-list article:nth-of-type(2),
  .solutions-family-list article:nth-of-type(3),
  .solutions-family-list article:nth-of-type(4) {
    grid-column:auto;
    min-height:250px;
  }

  .solutions-family-list article:nth-of-type(5) {
    grid-column:1 / -1;
    min-height:220px;
  }

  .solutions-integrated__grid {
    grid-template-columns:1fr;
    gap:46px;
  }

  .solutions-integrated__content {
    max-width:760px;
  }

  .solutions-integrated__architecture {
    width:min(100%,760px);
    justify-self:end;
  }

  .solutions-final__inner {
    gap:48px;
  }
}

@media (max-width:768px) {
  .solutions-shell {
    width:min(100% - 36px,1220px);
  }

  .solutions-hero {
    min-height:0;
  }

  .solutions-hero__grid,
  .solutions-translation__grid,
  .solutions-final__inner {
    grid-template-columns:1fr;
  }

  .solutions-hero__grid {
    gap:26px;
    min-height:0;
    padding-block:44px 58px;
  }

  .solutions-hero__model {
    width:min(100%,560px);
    min-height:380px;
    justify-self:center;
  }

  .solutions-hero__route--desktop {
    display:none;
  }

  .solutions-hero__route--mobile {
    display:block;
  }

  .solutions-hero__node {
    width:min(250px,72%);
  }

  .solutions-hero__node--need {
    inset-block-start:18px;
    inset-inline-start:0;
  }

  .solutions-hero__node--architecture {
    inset-block-start:148px;
    inset-inline-start:50%;
    transform:translateX(50%);
  }

  .solutions-hero__node--architecture:hover {
    transform:translateX(50%) translateY(-2px);
  }

  .solutions-hero__node--delivery {
    inset-block-start:278px;
    inset-inline-end:0;
  }

  .solutions-translation,
  .solutions-families,
  .solutions-integrated,
  .solutions-lifecycle {
    padding-block:76px;
  }

  .solutions-translation__grid {
    gap:34px;
  }

  .solutions-section-intro {
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:40px;
  }

  .solutions-family-list {
    grid-template-columns:1fr;
    gap:14px;
  }

  .solutions-family-list article,
  .solutions-family-list article:nth-of-type(1),
  .solutions-family-list article:nth-of-type(2),
  .solutions-family-list article:nth-of-type(3),
  .solutions-family-list article:nth-of-type(4),
  .solutions-family-list article:nth-of-type(5) {
    grid-column:1;
    min-height:0;
  }

  .solutions-family-list__routes {
    inset:-10px -4px;
    width:62px;
    height:calc(100% + 20px);
    inset-inline-start:-4px;
    inset-inline-end:auto;
  }

  .solutions-integrated__architecture {
    grid-template-columns:1fr;
    width:100%;
    min-height:0;
    padding:28px 24px;
  }

  .solutions-integrated__domains {
    grid-template-columns:repeat(5,minmax(0,1fr));
    grid-template-rows:auto;
    gap:14px;
  }

  .solutions-integrated__domains span {
    grid-template-columns:1fr;
    align-content:start;
    justify-items:center;
    gap:8px;
    min-height:74px;
    font-size:.74rem;
    text-align:center;
  }

  .solutions-integrated__convergence {
    height:90px;
  }

  .solutions-integrated__curve--desktop {
    display:none;
  }

  .solutions-integrated__curve--mobile {
    display:block;
  }

  .solutions-integrated__outcome {
    justify-self:center;
    width:min(100%,300px);
    padding:18px 22px;
    text-align:center;
  }

  .solutions-integrated__outcome strong {
    max-width:none;
  }

  .solutions-lifecycle__journey {
    padding-top:0;
  }

  .solutions-lifecycle__steps {
    grid-template-columns:1fr;
    gap:0;
  }

  .solutions-lifecycle__steps li {
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:16px;
    min-height:112px;
    padding:0 0 24px;
    text-align:start;
  }

  .solutions-lifecycle__steps li:last-child {
    min-height:0;
    padding-bottom:0;
  }

  .solutions-lifecycle__steps li > span {
    grid-column:1;
    grid-row:1;
    width:46px;
    height:46px;
    margin:0;
    box-shadow:0 0 0 5px rgba(255,255,255,.84);
  }

  .solutions-lifecycle__steps li > div {
    grid-column:2;
    grid-row:1;
    padding-top:3px;
  }

  .solutions-lifecycle__steps p {
    max-width:520px;
    margin:6px 0 0;
  }

  .solutions-lifecycle__route--desktop {
    display:none;
  }

  .solutions-lifecycle__route--mobile {
    display:block;
    width:54px;
    height:calc(100% - 8px);
    inset-inline-start:0;
  }

  .solutions-final {
    padding-block:68px;
  }

  .solutions-final__route {
    opacity:.72;
  }

  .solutions-final__inner {
    gap:30px;
    padding:36px 32px;
  }

  .solutions-final__path {
    flex-wrap:wrap;
  }
}

@media (max-width:560px) {
  .solutions-shell {
    width:calc(100% - 30px);
  }

  .solutions-hero {
    background:
      radial-gradient(ellipse 72% 48% at 4% 12%,rgba(116,85,233,.09),transparent 70%),
      radial-gradient(ellipse 68% 42% at 94% 82%,rgba(8,167,204,.07),transparent 72%),
      linear-gradient(142deg,#f9fbff 0%,#f4f7fc 56%,#eef4fb 100%);
  }

  .solutions-families {
    background:
      radial-gradient(ellipse 64% 34% at 92% 14%,rgba(8,167,204,.06),transparent 74%),
      radial-gradient(ellipse 62% 32% at 8% 88%,rgba(150,63,211,.052),transparent 76%),
      var(--sol-bg-deep);
  }

  .solutions-integrated {
    background:
      radial-gradient(ellipse 68% 34% at 88% 58%,rgba(8,167,204,.065),transparent 74%),
      radial-gradient(ellipse 62% 30% at 22% 94%,rgba(116,85,233,.052),transparent 76%),
      var(--sol-surface-soft);
  }

  .solutions-final {
    background:
      radial-gradient(ellipse 72% 54% at 12% 92%,rgba(150,63,211,.085),transparent 72%),
      radial-gradient(ellipse 70% 52% at 92% 8%,rgba(8,167,204,.075),transparent 74%),
      linear-gradient(150deg,#eff5fc,#f7f9fd 54%,#eef3fb);
  }

  .hoodel-solutions h1 {
    font-size:clamp(2rem,9vw,2.34rem);
    line-height:1.4;
  }

  .hoodel-solutions h2 {
    max-width:100%;
    font-size:clamp(1.7rem,7.6vw,2rem);
    line-height:1.5;
  }

  .hoodel-solutions h3 {
    font-size:1.02rem;
  }

  .solutions-breadcrumb {
    padding-top:16px;
  }

  .solutions-hero__grid {
    padding-block:36px 50px;
  }

  .solutions-hero__lead {
    font-size:.94rem;
  }

  .solutions-hero__actions {
    align-items:stretch;
    gap:14px;
  }

  .solutions-hero__actions .page-button {
    width:100%;
  }

  .solutions-hero__actions .solutions-text-link {
    justify-content:center;
  }

  .solutions-hero__model {
    min-height:350px;
  }

  .solutions-hero__model::before {
    inset:6% 1% 4%;
  }

  .solutions-hero__node {
    grid-template-columns:38px minmax(0,1fr);
    gap:11px;
    width:min(238px,78%);
    min-height:78px;
    padding:12px 14px;
    border-radius:18px 18px 7px 18px;
  }

  .solutions-hero__node > span {
    width:36px;
    height:36px;
  }

  .solutions-hero__node--need {
    inset-block-start:12px;
  }

  .solutions-hero__node--architecture {
    inset-block-start:130px;
  }

  .solutions-hero__node--delivery {
    inset-block-start:248px;
  }

  .solutions-translation,
  .solutions-families,
  .solutions-integrated,
  .solutions-lifecycle {
    padding-block:60px;
  }

  .solutions-translation__journey {
    margin-top:28px;
  }

  .solutions-translation__route--desktop {
    display:none;
  }

  .solutions-translation__route--mobile {
    display:block;
    width:60px;
    height:calc(100% - 6px);
    inset-block-start:0;
    inset-inline-start:0;
    inset-inline-end:auto;
  }

  .solutions-translation__copy ol {
    grid-template-columns:1fr;
    gap:0;
  }

  .solutions-translation__copy li {
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    align-content:start;
    gap:2px 14px;
    min-height:104px;
    padding:4px 0 24px;
    text-align:start;
  }

  .solutions-translation__copy li::before {
    inset-block-start:13px;
    inset-inline-start:23px;
  }

  .solutions-translation__copy li span,
  .solutions-translation__copy li strong {
    grid-column:2;
  }

  .solutions-translation__copy li strong {
    margin-top:3px;
  }

  .solutions-family-list {
    gap:12px;
  }

  .solutions-family-list article {
    grid-template-columns:38px minmax(0,1fr);
    gap:10px 13px;
    padding:24px 22px 22px;
    border-radius:22px 22px 8px 22px;
  }

  .solutions-family-list article:nth-of-type(1) {
    background:rgba(255,255,255,.66);
  }

  .solutions-family-list article:nth-of-type(2),
  .solutions-family-list article:nth-of-type(3) {
    border-radius:18px 18px 5px 18px;
    background:linear-gradient(to left,rgba(255,255,255,.42),rgba(255,255,255,.12) 72%,transparent);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
    backdrop-filter:blur(7px);
  }

  .solutions-family-list article:nth-of-type(n+4) {
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }

  .solutions-family-list article:nth-of-type(5) {
    background:linear-gradient(to left,rgba(150,63,211,.035),transparent 72%);
  }

  .solutions-family-list__number {
    width:34px;
    height:34px;
  }

  .solutions-family-list__scope {
    padding-block-start:12px;
    font-size:.7rem!important;
  }

  .solutions-integrated__architecture {
    padding:24px 20px;
  }

  .solutions-integrated__domains {
    grid-template-columns:1fr;
    gap:0;
  }

  .solutions-integrated__domains span {
    grid-template-columns:10px minmax(0,1fr);
    justify-items:start;
    gap:10px;
    min-height:44px;
    font-size:.78rem;
    text-align:start;
  }

  .solutions-integrated__curve--mobile .is-blue,
  .solutions-integrated__curve--mobile .is-cyan,
  .solutions-integrated__curve--mobile .is-purple {
    display:none;
  }

  .solutions-integrated__convergence {
    height:70px;
  }

  .solutions-lifecycle__steps li {
    grid-template-columns:50px minmax(0,1fr);
    min-height:108px;
  }

  .solutions-lifecycle__route--mobile {
    width:50px;
  }

  .solutions-final {
    padding-block:56px;
  }

  .solutions-final__route {
    width:150%;
    inset-inline-start:-25%;
  }

  .solutions-final__inner {
    padding:30px 22px;
    border-radius:24px 24px 9px 24px;
  }

  .solutions-final__inner .page-button {
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce) {
  .hoodel-solutions *,
  .hoodel-solutions *::before,
  .hoodel-solutions *::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }

  .hoodel-solutions .page-button--primary:hover::after {
    inset-inline-start:-40%;
  }

  .solutions-hero__node:hover,
  .solutions-family-list article:hover,
  .solutions-lifecycle__steps li:hover > span {
    transform:none;
  }

  .solutions-hero__node--architecture:hover {
    transform:translateX(50%);
  }
}



/* HOODEL Solutions — semantic Light/Dark theme layer */
.hoodel-solutions {
  --page-bg:#f4f7fc;
  --section-bg:#edf3fb;
  --surface:#ffffff;
  --surface-elevated:#f7f9fd;
  --surface-glass:rgba(255,255,255,.61);
  --surface-glass-strong:rgba(255,255,255,.9);
  --text-primary:#0a1933;
  --text-secondary:#273752;
  --text-muted:#596980;
  --border:rgba(60,85,124,.14);
  --architecture-line:rgba(52,83,132,.23);
  --brand-blue:#0869d8;
  --brand-cyan:#08a7cc;
  --brand-violet:#7455e9;
  --brand-purple:#963fd3;
  --button-bg:#0a1933;
  --button-text:#ffffff;
  --focus:#7455e9;
  --inner-highlight:rgba(255,255,255,.9);
  --glass-border:rgba(255,255,255,.72);
  --sol-bg:var(--page-bg);
  --sol-bg-deep:var(--section-bg);
  --sol-surface:var(--surface);
  --sol-surface-soft:var(--surface-elevated);
  --sol-glass:var(--surface-glass);
  --sol-glass-strong:var(--surface-glass-strong);
  --sol-ink:var(--text-primary);
  --sol-ink-soft:var(--text-secondary);
  --sol-muted:var(--text-muted);
  --sol-line:var(--border);
  --sol-line-strong:var(--architecture-line);
  --sol-blue:var(--brand-blue);
  --sol-cyan:var(--brand-cyan);
  --sol-violet:var(--brand-violet);
  --sol-purple:var(--brand-purple);
  color-scheme:light;
}

.solutions-hero > .solutions-shell {
  position:relative;
}

.solutions-theme-toggle {
  visibility:hidden;
  position:absolute;
  z-index:6;
  inset-block-start:18px;
  inset-inline-start:0;
  display:grid;
  width:40px;
  height:40px;
  padding:0;
  place-items:center;
  border:1px solid var(--sol-line);
  border-radius:50%;
  background:var(--sol-glass-strong);
  color:var(--sol-muted);
  box-shadow:inset 0 1px 0 var(--inner-highlight);
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:color .2s ease,border-color .2s ease,background .2s ease;
}

.solutions-theme-ready .solutions-theme-toggle {
  visibility:visible;
}

.solutions-theme-toggle:hover {
  border-color:color-mix(in srgb,var(--sol-cyan) 54%,var(--sol-line));
  background:var(--sol-surface-soft);
  color:var(--sol-ink);
}

.solutions-theme-toggle:focus-visible {
  outline:3px solid color-mix(in srgb,var(--focus) 52%,transparent);
  outline-offset:3px;
}

.solutions-theme-toggle__icons {
  display:grid;
  width:18px;
  height:18px;
  place-items:center;
}

.solutions-theme-toggle svg {
  grid-area:1/1;
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:opacity .18s ease,transform .18s ease;
}

.solutions-theme-toggle__moon {
  opacity:0;
  transform:scale(.72);
}

html[data-theme="dark"] .solutions-theme-toggle__sun {
  opacity:0;
  transform:scale(.72);
}

html[data-theme="dark"] .solutions-theme-toggle__moon {
  opacity:1;
  transform:scale(1);
}

html[data-theme="dark"] .hoodel-solutions {
  --page-bg:#020b19;
  --section-bg:#061427;
  --surface:#07172b;
  --surface-elevated:#0a1c33;
  --surface-glass:rgba(8,25,47,.7);
  --surface-glass-strong:rgba(10,29,53,.9);
  --text-primary:#eef3fb;
  --text-secondary:#c5d1e2;
  --text-muted:#9aabc1;
  --border:rgba(111,151,198,.19);
  --architecture-line:rgba(79,173,232,.52);
  --brand-blue:#4599f8;
  --brand-cyan:#35c4dc;
  --brand-violet:#9381ee;
  --brand-purple:#c270df;
  --button-bg:#0f6fc4;
  --button-text:#f6f9fd;
  --focus:#4fd2e5;
  --inner-highlight:rgba(190,220,255,.11);
  --glass-border:rgba(122,173,226,.2);
  --section-hero:#020d1d;
  --section-translation:#07172b;
  --section-families:#041326;
  --section-integrated:#07192e;
  --section-lifecycle:#061427;
  --section-final:#04152b;
  --surface-focal:rgba(13,37,66,.8);
  --surface-medium:rgba(10,31,57,.68);
  --surface-light:rgba(8,26,49,.48);
  --aurora-blue:rgba(48,137,236,.14);
  --aurora-cyan:rgba(38,190,218,.1);
  --aurora-violet:rgba(129,101,235,.105);
  --aurora-purple:rgba(187,84,214,.085);
  color-scheme:dark;
}

html[data-theme="dark"] .hoodel-solutions h1,
html[data-theme="dark"] .hoodel-solutions h2,
html[data-theme="dark"] .hoodel-solutions h3 {
  color:var(--text-primary);
}

html[data-theme="dark"] .solutions-skip-link {
  border-color:var(--focus);
  background:var(--surface-elevated);
  color:var(--text-primary);
}

html[data-theme="dark"] .hoodel-solutions a:focus-visible {
  outline-color:color-mix(in srgb,var(--focus) 64%,transparent);
}

html[data-theme="dark"] .hoodel-solutions .page-button--primary {
  border-color:var(--button-bg);
  background:var(--button-bg);
  color:var(--button-text);
  box-shadow:0 12px 30px rgba(0,6,16,.22);
}

html[data-theme="dark"] .hoodel-solutions .page-button--primary:hover {
  border-color:var(--brand-cyan);
  background:color-mix(in srgb,var(--button-bg) 94%,var(--brand-cyan));
  color:var(--button-text);
  box-shadow:0 14px 32px rgba(0,8,20,.26);
}

html[data-theme="dark"] .solutions-breadcrumb {
  color:var(--text-muted);
}

html[data-theme="dark"] .solutions-hero {
  background:
    radial-gradient(ellipse 54% 72% at 7% 18%,var(--aurora-violet),transparent 68%),
    radial-gradient(ellipse 43% 56% at 34% 88%,var(--aurora-cyan),transparent 70%),
    radial-gradient(ellipse 48% 60% at 96% 10%,var(--aurora-blue),transparent 72%),
    var(--section-hero);
}

html[data-theme="dark"] .solutions-hero::before {
  border-color:color-mix(in srgb,var(--brand-violet) 24%,transparent);
}

html[data-theme="dark"] .solutions-hero::after {
  border-color:color-mix(in srgb,var(--brand-cyan) 20%,transparent);
}

html[data-theme="dark"] .solutions-hero__model::before {
  border-color:var(--glass-border);
  background:
    radial-gradient(circle at 72% 16%,var(--aurora-blue),transparent 34%),
    radial-gradient(circle at 36% 56%,var(--aurora-cyan),transparent 36%),
    radial-gradient(circle at 18% 86%,var(--aurora-purple),transparent 32%),
    rgba(5,20,39,.34);
  box-shadow:inset 0 1px 0 var(--inner-highlight),0 30px 70px rgba(0,5,15,.16);
}

html[data-theme="dark"] .solutions-hero__model::after {
  border-color:color-mix(in srgb,var(--brand-cyan) 24%,transparent);
}

html[data-theme="dark"] .solutions-hero__route-ghost {
  stroke:color-mix(in srgb,var(--brand-violet) 28%,transparent);
}

html[data-theme="dark"] .solutions-hero__route-main {
  opacity:.96;
}

html[data-theme="dark"] .solutions-hero__route circle {
  fill:var(--surface-elevated);
  stroke:var(--brand-violet);
}

html[data-theme="dark"] .solutions-hero__node {
  border-color:color-mix(in srgb,var(--node-accent) 30%,var(--glass-border));
  background:var(--surface-glass);
  box-shadow:inset 0 1px 0 var(--inner-highlight),inset 1px 0 0 color-mix(in srgb,var(--node-accent) 12%,transparent),0 16px 38px rgba(0,6,17,.18);
}

html[data-theme="dark"] .solutions-hero__node::before {
  border-block-start-color:color-mix(in srgb,var(--node-accent) 54%,transparent);
  border-inline-start-color:color-mix(in srgb,var(--node-accent) 28%,transparent);
}

html[data-theme="dark"] .solutions-hero__node:hover {
  border-color:color-mix(in srgb,var(--node-accent) 48%,var(--glass-border));
  background:var(--surface-glass-strong);
}

html[data-theme="dark"] .solutions-hero__node > span,
html[data-theme="dark"] .solutions-family-list__number {
  background:var(--surface-elevated);
}

html[data-theme="dark"] .solutions-translation {
  background:var(--section-translation);
}

html[data-theme="dark"] .solutions-translation::after {
  border-color:color-mix(in srgb,var(--brand-blue) 15%,transparent);
}

html[data-theme="dark"] .solutions-translation__copy li::before {
  border-color:var(--section-translation);
}

html[data-theme="dark"] .solutions-translation__route path {
  opacity:.76;
}

html[data-theme="dark"] .solutions-translation__route circle {
  fill:var(--surface-elevated);
  opacity:.94;
}

html[data-theme="dark"] .solutions-families {
  background:
    radial-gradient(ellipse 44% 56% at 8% 78%,var(--aurora-purple),transparent 72%),
    radial-gradient(ellipse 38% 44% at 96% 18%,var(--aurora-cyan),transparent 74%),
    radial-gradient(ellipse 32% 40% at 54% 48%,var(--aurora-violet),transparent 78%),
    var(--section-families);
}

html[data-theme="dark"] .solutions-families::before {
  border-color:color-mix(in srgb,var(--brand-violet) 18%,transparent);
}

html[data-theme="dark"] .solutions-family-list__route-ghost {
  stroke:color-mix(in srgb,var(--brand-violet) 27%,transparent);
}

html[data-theme="dark"] .solutions-family-list__route-main {
  opacity:.72;
}

html[data-theme="dark"] .solutions-family-list article {
  background:var(--surface-light);
  box-shadow:inset 0 1px 0 var(--inner-highlight);
}

html[data-theme="dark"] .solutions-family-list article:hover {
  background:color-mix(in srgb,var(--surface-light) 84%,var(--brand-blue) 16%);
}

html[data-theme="dark"] .solutions-family-list article:nth-of-type(1) {
  background:var(--surface-focal);
  box-shadow:inset 0 1px 0 var(--inner-highlight),0 20px 48px rgba(0,6,18,.14);
}

html[data-theme="dark"] .solutions-family-list article:nth-of-type(2) {
  background:var(--surface-medium);
  box-shadow:inset 0 1px 0 var(--inner-highlight);
}

html[data-theme="dark"] .solutions-family-list article:nth-of-type(3) {
  background:var(--surface-light);
  box-shadow:inset 0 1px 0 var(--inner-highlight);
}

html[data-theme="dark"] .solutions-family-list article:nth-of-type(4),
html[data-theme="dark"] .solutions-family-list article:nth-of-type(5),
html[data-theme="dark"] .solutions-family-list article:nth-of-type(n+4):hover {
  background:transparent;
  box-shadow:none;
}

html[data-theme="dark"] .solutions-integrated {
  background:
    radial-gradient(ellipse 48% 60% at 84% 50%,var(--aurora-cyan),transparent 72%),
    radial-gradient(ellipse 40% 52% at 34% 92%,var(--aurora-violet),transparent 74%),
    var(--section-integrated);
}

html[data-theme="dark"] .solutions-integrated::before {
  border-color:color-mix(in srgb,var(--brand-cyan) 18%,transparent);
}

html[data-theme="dark"] .solutions-integrated__architecture {
  border-color:var(--glass-border);
  background:var(--surface-glass);
  box-shadow:inset 0 1px 0 var(--inner-highlight),0 26px 66px rgba(0,5,16,.16);
}

html[data-theme="dark"] .solutions-integrated__architecture::before {
  background:radial-gradient(circle,var(--aurora-violet),var(--aurora-cyan) 42%,transparent 72%);
}

html[data-theme="dark"] .solutions-integrated__architecture::after {
  border-block-start-color:color-mix(in srgb,var(--brand-blue) 38%,transparent);
  border-inline-end-color:color-mix(in srgb,var(--brand-blue) 25%,transparent);
}

html[data-theme="dark"] .solutions-integrated__domains span > i {
  background:var(--surface-elevated);
}

html[data-theme="dark"] .solutions-integrated__curve .is-ghost {
  stroke:color-mix(in srgb,var(--brand-violet) 25%,transparent);
}

html[data-theme="dark"] .solutions-integrated__curve .is-blue,
html[data-theme="dark"] .solutions-integrated__curve .is-cyan,
html[data-theme="dark"] .solutions-integrated__curve .is-violet,
html[data-theme="dark"] .solutions-integrated__curve .is-purple {
  opacity:.9;
}

html[data-theme="dark"] .solutions-integrated__curve .is-output {
  stroke-width:1.45;
  filter:none;
}

html[data-theme="dark"] .solutions-integrated__curve .is-halo {
  fill:rgba(11,34,61,.76);
  stroke:color-mix(in srgb,var(--brand-violet) 54%,transparent);
  filter:none;
}

html[data-theme="dark"] .solutions-integrated__curve .is-core {
  fill:var(--surface-elevated);
  stroke:var(--brand-violet);
  filter:none;
}

html[data-theme="dark"] .solutions-integrated__outcome {
  border-color:color-mix(in srgb,var(--brand-violet) 34%,var(--glass-border));
  background:var(--surface-glass-strong);
  box-shadow:inset 0 1px 0 var(--inner-highlight),0 14px 32px rgba(0,6,18,.14);
}

html[data-theme="dark"] .solutions-lifecycle {
  background:var(--section-lifecycle);
}

html[data-theme="dark"] .solutions-lifecycle::after {
  border-color:color-mix(in srgb,var(--brand-purple) 17%,transparent);
}

html[data-theme="dark"] .solutions-lifecycle__route path {
  opacity:.74;
}

html[data-theme="dark"] .solutions-lifecycle__steps li > span {
  background:var(--surface-elevated);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--section-lifecycle) 88%,transparent);
}

html[data-theme="dark"] .solutions-lifecycle__steps li:hover > span {
  background:color-mix(in srgb,var(--surface-elevated) 86%,var(--stage-accent) 14%);
}

html[data-theme="dark"] .solutions-final {
  background:
    radial-gradient(ellipse 46% 92% at 14% 88%,var(--aurora-purple),transparent 70%),
    radial-gradient(ellipse 48% 96% at 88% 12%,var(--aurora-cyan),transparent 72%),
    var(--section-final);
}

html[data-theme="dark"] .solutions-final__route path {
  opacity:.46;
}

html[data-theme="dark"] .solutions-final__route circle {
  fill:var(--surface-elevated);
  opacity:.86;
}

html[data-theme="dark"] .solutions-final__inner {
  border-color:var(--glass-border);
  background:var(--surface-glass);
  box-shadow:inset 0 1px 0 var(--inner-highlight),0 24px 58px rgba(0,5,16,.16);
}

html[data-theme="dark"] .solutions-final__inner::before {
  border-block-start-color:color-mix(in srgb,var(--brand-cyan) 58%,transparent);
  border-inline-start-color:color-mix(in srgb,var(--brand-violet) 42%,transparent);
}

@supports not (backdrop-filter:blur(1px)) {
  html[data-theme="dark"] .solutions-hero__node,
  html[data-theme="dark"] .solutions-integrated__architecture,
  html[data-theme="dark"] .solutions-integrated__outcome,
  html[data-theme="dark"] .solutions-final__inner {
    background:var(--surface-elevated);
  }
}

@media (max-width:560px) {
  .solutions-theme-toggle {
    inset-block-start:12px;
    width:38px;
    height:38px;
  }

  html[data-theme="dark"] .solutions-hero {
    background:
      radial-gradient(ellipse 72% 48% at 4% 12%,var(--aurora-violet),transparent 72%),
      radial-gradient(ellipse 68% 42% at 94% 82%,var(--aurora-cyan),transparent 74%),
      var(--section-hero);
  }

  html[data-theme="dark"] .solutions-families {
    background:
      radial-gradient(ellipse 64% 34% at 92% 14%,var(--aurora-cyan),transparent 76%),
      radial-gradient(ellipse 62% 32% at 8% 88%,var(--aurora-purple),transparent 78%),
      var(--section-families);
  }

  html[data-theme="dark"] .solutions-integrated {
    background:
      radial-gradient(ellipse 68% 34% at 88% 58%,var(--aurora-cyan),transparent 76%),
      radial-gradient(ellipse 62% 30% at 22% 94%,var(--aurora-violet),transparent 78%),
      var(--section-integrated);
  }

  html[data-theme="dark"] .solutions-final {
    background:
      radial-gradient(ellipse 72% 54% at 12% 92%,var(--aurora-purple),transparent 74%),
      radial-gradient(ellipse 70% 52% at 92% 8%,var(--aurora-cyan),transparent 76%),
      var(--section-final);
  }

  html[data-theme="dark"] .solutions-family-list article:nth-of-type(1) {
    background:var(--surface-focal);
  }

  html[data-theme="dark"] .solutions-family-list article:nth-of-type(2),
  html[data-theme="dark"] .solutions-family-list article:nth-of-type(3) {
    background:linear-gradient(to left,var(--surface-medium),rgba(8,26,49,.2) 72%,transparent);
    box-shadow:inset 0 1px 0 var(--inner-highlight);
  }

  html[data-theme="dark"] .solutions-family-list article:nth-of-type(4),
  html[data-theme="dark"] .solutions-family-list article:nth-of-type(5) {
    background:transparent;
  }
}

@media (prefers-reduced-motion:reduce) {
  .solutions-theme-toggle,
  .solutions-theme-toggle svg {
    transition:none;
  }
}


/* HOODEL Solutions — controlled Macro Motion system */
@property --solutions-border-angle {
  syntax:"<angle>";
  inherits:false;
  initial-value:12deg;
}

.solutions-journey-section {
  --journey-accent:var(--sol-blue);
  --journey-next:var(--sol-cyan);
}

.solutions-translation {
  --journey-accent:var(--sol-cyan);
  --journey-next:var(--sol-violet);
}

.solutions-families {
  --journey-accent:var(--sol-violet);
  --journey-next:var(--sol-blue);
}

.solutions-integrated {
  --journey-accent:var(--sol-cyan);
  --journey-next:var(--sol-violet);
}

.solutions-lifecycle {
  --journey-accent:var(--sol-violet);
  --journey-next:var(--sol-purple);
}

.solutions-final {
  --journey-accent:var(--sol-purple);
  --journey-next:var(--sol-cyan);
}

/* Scroll-linked environmental continuity */
.solutions-continuity {
  position:absolute;
  z-index:2;
  width:88px;
  height:74px;
  inset-block-end:-1px;
  inset-inline-start:max(0px,calc((100% - 1220px)/2 - 52px));
  color:var(--journey-accent);
  opacity:.46;
  pointer-events:none;
  transition:opacity .42s cubic-bezier(.22,1,.36,1);
}

.solutions-translation .solutions-continuity,
.solutions-integrated .solutions-continuity {
  inset-inline-start:auto;
  inset-inline-end:max(0px,calc((100% - 1220px)/2 - 52px));
}

.solutions-continuity svg {
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}

.solutions-translation .solutions-continuity svg,
.solutions-integrated .solutions-continuity svg {
  transform:scaleX(-1);
}

.solutions-continuity__path {
  fill:none;
  stroke:color-mix(in srgb,var(--journey-accent) 64%,var(--journey-next));
  stroke-width:1.15;
  vector-effect:non-scaling-stroke;
}

.solutions-continuity circle {
  fill:var(--sol-surface-soft);
  stroke:color-mix(in srgb,var(--journey-accent) 72%,var(--journey-next));
  stroke-width:1;
  vector-effect:non-scaling-stroke;
  transition:fill .28s ease,stroke .28s ease,opacity .28s ease;
}

.solutions-journey-section.is-journey-current .solutions-continuity {
  opacity:.84;
}

.solutions-journey-section.is-journey-current .solutions-continuity circle:last-child {
  fill:var(--journey-accent);
}

/* Shared stable states for viewport-triggered semantic sequences */
.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-family-list article {
  transition-property:opacity,transform,background-color,border-color;
  transition-duration:.62s;
  transition-timing-function:cubic-bezier(.22,1,.36,1);
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-hero:not(.is-sequencing):not(.is-complete) .solutions-hero__node {
  opacity:.62;
  filter:saturate(.76);
  transform:translateY(6px) scale(.985);
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-hero:not(.is-sequencing):not(.is-complete) .solutions-hero__node > span {
  opacity:.68;
  transform:scale(.98);
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-hero:not(.is-sequencing):not(.is-complete) .solutions-hero__route circle {
  opacity:.56;
  transform:scale(.96);
  transform-box:fill-box;
  transform-origin:center;
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-hero:not(.is-sequencing):not(.is-complete) .solutions-hero__route-main {
  filter:saturate(.78);
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-hero:is(.is-sequencing,.is-complete) .solutions-hero__route-main {
  filter:saturate(1);
  transition:filter .82s cubic-bezier(.22,1,.36,1);
}

.solutions-hero.is-sequencing .solutions-hero__node {
  animation:solutions-hero-semantic-activate .42s cubic-bezier(.22,1,.36,1) both;
}

.solutions-hero.is-sequencing .solutions-hero__node--architecture {
  animation-delay:.26s;
}

.solutions-hero.is-sequencing .solutions-hero__node--delivery {
  animation-delay:.52s;
}

.solutions-hero.is-sequencing .solutions-hero__node > span {
  animation:solutions-hero-marker-activate .38s cubic-bezier(.22,1,.36,1) both;
}

.solutions-hero.is-sequencing .solutions-hero__node--architecture > span {
  animation-delay:.26s;
}

.solutions-hero.is-sequencing .solutions-hero__node--delivery > span {
  animation-delay:.52s;
}

.solutions-hero.is-sequencing .solutions-hero__route circle {
  animation:solutions-hero-route-point .34s cubic-bezier(.22,1,.36,1) both;
}

.solutions-hero.is-sequencing .solutions-hero__route circle:nth-of-type(1) {
  animation-delay:.08s;
}

.solutions-hero.is-sequencing .solutions-hero__route circle:nth-of-type(2) {
  animation-delay:.34s;
}

.solutions-hero.is-sequencing .solutions-hero__route circle:nth-of-type(3) {
  animation-delay:.60s;
}

.solutions-hero.is-complete .solutions-hero__node,
.solutions-hero.is-complete .solutions-hero__node > span,
.solutions-hero.is-complete .solutions-hero__route circle {
  opacity:1;
  filter:none;
  transform:none;
}

/* Need → Context → Solution remains a concise one-shot progression. */
.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-translation:not(.is-sequencing):not(.is-complete) .solutions-translation__copy li {
  --motion-from-opacity:.38;
  --motion-from-transform:translateY(10px);
  opacity:var(--motion-from-opacity);
  transform:var(--motion-from-transform);
}

.solutions-translation.is-sequencing .solutions-translation__copy li {
  --motion-from-opacity:.38;
  --motion-from-transform:translateY(10px);
  animation:solutions-semantic-layer-settle .5s cubic-bezier(.22,1,.36,1) both;
}

.solutions-translation.is-sequencing .solutions-translation__copy li:nth-child(2) {
  animation-delay:.17s;
}

.solutions-translation.is-sequencing .solutions-translation__copy li:nth-child(3) {
  animation-delay:.34s;
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-translation:not(.is-sequencing):not(.is-complete) .solutions-translation__route path {
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:none;
}

.solutions-translation.is-sequencing .solutions-translation__route path {
  animation:solutions-path-settle .76s cubic-bezier(.22,1,.36,1) .06s both;
}

.solutions-translation.is-complete .solutions-translation__copy li {
  opacity:1;
  transform:none;
}

.solutions-translation.is-complete .solutions-translation__route path {
  stroke-dashoffset:0;
}

/* Existing grouped family reveal is intentionally retained. */
.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-families:not(.is-families-arrived) .solutions-family-list article {
  opacity:.52;
  transform:translateY(9px);
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-family-list article:nth-of-type(2),
.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-family-list article:nth-of-type(3) {
  transition-delay:.12s;
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-family-list article:nth-of-type(4),
.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-family-list article:nth-of-type(5) {
  transition-delay:.22s;
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-families:not(.is-families-arrived) .solutions-family-list__route-main {
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:none;
}

.solutions-families.is-families-arrived .solutions-family-list__route-main {
  animation:solutions-path-settle .98s cubic-bezier(.22,1,.36,1) both;
}

/* Primary convergence: Domains → Fan-in → Coordination → Outcome. */
.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-integrated:not(.is-sequencing):not(.is-complete) .solutions-integrated__domains span {
  --motion-from-opacity:.32;
  --motion-from-transform:translateX(-8px);
  opacity:var(--motion-from-opacity);
  transform:var(--motion-from-transform);
}

.solutions-integrated.is-sequencing .solutions-integrated__domains span {
  --motion-from-opacity:.32;
  --motion-from-transform:translateX(-8px);
  animation:solutions-semantic-layer-settle .46s cubic-bezier(.22,1,.36,1) both;
}

.solutions-integrated.is-sequencing .solutions-integrated__domains span:nth-child(2) {
  animation-delay:.09s;
}

.solutions-integrated.is-sequencing .solutions-integrated__domains span:nth-child(3) {
  animation-delay:.18s;
}

.solutions-integrated.is-sequencing .solutions-integrated__domains span:nth-child(4) {
  animation-delay:.27s;
}

.solutions-integrated.is-sequencing .solutions-integrated__domains span:nth-child(5) {
  animation-delay:.36s;
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-integrated:not(.is-sequencing):not(.is-complete) .solutions-integrated__curve path:not(.is-ghost) {
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:none;
}

.solutions-integrated.is-sequencing .solutions-integrated__curve path:nth-of-type(2) {
  animation:solutions-path-settle .68s cubic-bezier(.22,1,.36,1) .34s both;
}

.solutions-integrated.is-sequencing .solutions-integrated__curve path:nth-of-type(3) {
  animation:solutions-path-settle .68s cubic-bezier(.22,1,.36,1) .42s both;
}

.solutions-integrated.is-sequencing .solutions-integrated__curve path:nth-of-type(4) {
  animation:solutions-path-settle .68s cubic-bezier(.22,1,.36,1) .50s both;
}

.solutions-integrated.is-sequencing .solutions-integrated__curve path:nth-of-type(5) {
  animation:solutions-path-settle .68s cubic-bezier(.22,1,.36,1) .58s both;
}

.solutions-integrated.is-sequencing .solutions-integrated__curve path:nth-of-type(6) {
  animation:solutions-path-settle .68s cubic-bezier(.22,1,.36,1) .66s both;
}

.solutions-integrated.is-sequencing .solutions-integrated__curve .is-output {
  animation:solutions-path-settle .48s cubic-bezier(.22,1,.36,1) 1s both;
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-integrated:not(.is-sequencing):not(.is-complete) .solutions-integrated__curve .is-halo,
.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-integrated:not(.is-sequencing):not(.is-complete) .solutions-integrated__curve .is-core {
  opacity:.42;
  transform:scale(.96);
  transform-box:fill-box;
  transform-origin:center;
}

.solutions-integrated.is-sequencing .solutions-integrated__curve .is-halo,
.solutions-integrated.is-sequencing .solutions-integrated__curve .is-core {
  animation:solutions-convergence-node-activate .36s cubic-bezier(.22,1,.36,1) .96s both;
  transform-box:fill-box;
  transform-origin:center;
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-integrated:not(.is-sequencing):not(.is-complete) .solutions-integrated__outcome {
  --motion-from-opacity:.36;
  --motion-from-transform:translateX(8px);
  opacity:var(--motion-from-opacity);
  transform:var(--motion-from-transform);
}

.solutions-integrated.is-sequencing .solutions-integrated__outcome {
  --motion-from-opacity:.36;
  --motion-from-transform:translateX(8px);
  animation:solutions-semantic-layer-settle .42s cubic-bezier(.22,1,.36,1) 1.18s both;
}

.solutions-integrated.is-complete .solutions-integrated__domains span,
.solutions-integrated.is-complete .solutions-integrated__outcome,
.solutions-integrated.is-complete .solutions-integrated__curve .is-halo,
.solutions-integrated.is-complete .solutions-integrated__curve .is-core {
  opacity:1;
  transform:none;
}

.solutions-integrated.is-complete .solutions-integrated__curve path:not(.is-ghost) {
  stroke-dashoffset:0;
}

/* Primary lifecycle: one real-time sequence, RTL on desktop and top-to-bottom on mobile. */
.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-lifecycle:not(.is-sequencing):not(.is-complete) .solutions-lifecycle__steps li {
  --motion-from-opacity:.4;
  --motion-from-transform:translateY(8px);
  opacity:var(--motion-from-opacity);
  transform:var(--motion-from-transform);
}

.solutions-lifecycle.is-sequencing .solutions-lifecycle__steps li {
  --motion-from-opacity:.4;
  --motion-from-transform:translateY(8px);
  animation:solutions-semantic-layer-settle .46s cubic-bezier(.22,1,.36,1) both;
}

.solutions-lifecycle.is-sequencing .solutions-lifecycle__steps li:nth-child(2) {
  animation-delay:.17s;
}

.solutions-lifecycle.is-sequencing .solutions-lifecycle__steps li:nth-child(3) {
  animation-delay:.34s;
}

.solutions-lifecycle.is-sequencing .solutions-lifecycle__steps li:nth-child(4) {
  animation-delay:.51s;
}

.solutions-lifecycle.is-sequencing .solutions-lifecycle__steps li:nth-child(5) {
  animation-delay:.68s;
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-lifecycle:not(.is-sequencing):not(.is-complete) .solutions-lifecycle__route path {
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:none;
}

.solutions-lifecycle.is-sequencing .solutions-lifecycle__route path {
  animation:solutions-path-settle .96s cubic-bezier(.22,1,.36,1) .06s both;
}

.solutions-lifecycle.is-complete .solutions-lifecycle__steps li {
  opacity:1;
  transform:none;
}

.solutions-lifecycle.is-complete .solutions-lifecycle__route path {
  stroke-dashoffset:0;
}

/* Final route → endpoint → one-time CTA border resolution. */
.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-final:not(.is-sequencing):not(.is-complete) .solutions-final__route path {
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:none;
}

.solutions-final.is-sequencing .solutions-final__route path {
  animation:solutions-path-settle .68s cubic-bezier(.22,1,.36,1) both;
}

.solutions-macro-ready:not(.solutions-reduced-motion) .solutions-final:not(.is-sequencing):not(.is-complete) .solutions-final__route circle {
  opacity:.34;
  transform:scale(.94);
  transform-box:fill-box;
  transform-origin:center;
}

.solutions-final.is-sequencing .solutions-final__route circle {
  animation:solutions-terminal-node-activate .3s cubic-bezier(.22,1,.36,1) .58s both;
  transform-box:fill-box;
  transform-origin:center;
}

.solutions-final.is-complete .solutions-final__route path {
  stroke-dashoffset:0;
}

.solutions-final.is-complete .solutions-final__route circle {
  opacity:1;
  transform:none;
}

/* CSS Scroll-Driven Animation stays responsible for environment and handoff. */
@supports (animation-timeline:view()) {
  .solutions-native-scroll .solutions-continuity__path {
    stroke-dasharray:1;
    stroke-dashoffset:1;
    animation-name:solutions-path-settle;
    animation-duration:1ms;
    animation-fill-mode:both;
    animation-timing-function:linear;
    animation-timeline:view(block);
    animation-range:entry 12% cover 58%;
  }

  .solutions-native-scroll .solutions-hero .solutions-hero__route-main {
    --solutions-hero-path-opacity:.84;
    stroke-dasharray:1;
    stroke-dashoffset:1;
    animation-name:solutions-hero-path-clarify;
    animation-duration:1ms;
    animation-fill-mode:both;
    animation-timing-function:linear;
    animation-timeline:scroll(root block);
    animation-range:20px 600px;
  }

  html[data-theme="dark"] .solutions-native-scroll .solutions-hero .solutions-hero__route-main {
    --solutions-hero-path-opacity:.96;
  }

  .solutions-native-scroll .solutions-hero__model {
    animation-name:solutions-hero-resolve;
    animation-duration:1ms;
    animation-fill-mode:both;
    animation-timing-function:linear;
    animation-timeline:scroll(root block);
    animation-range:0 560px;
  }

  .solutions-native-scroll .solutions-hero__model::before {
    animation-name:solutions-hero-glass-resolve;
    animation-duration:1ms;
    animation-fill-mode:both;
    animation-timing-function:linear;
    animation-timeline:scroll(root block);
    animation-range:20px 560px;
  }
}

/* Progressive fallback for environmental Scroll Timeline effects only. */
.solutions-observer-motion .solutions-hero .solutions-hero__route-main {
  --solutions-hero-path-opacity:.84;
  opacity:.3;
  stroke-dasharray:1;
  stroke-dashoffset:1;
}

html[data-theme="dark"] .solutions-observer-motion .solutions-hero .solutions-hero__route-main {
  --solutions-hero-path-opacity:.96;
}

.solutions-observer-motion .solutions-hero.is-journey-revealed .solutions-hero__route-main {
  animation:solutions-hero-path-clarify .96s cubic-bezier(.22,1,.36,1) forwards;
}

.solutions-observer-motion .solutions-journey-section.is-journey-revealed .solutions-continuity__path {
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:solutions-path-settle .82s cubic-bezier(.22,1,.36,1) forwards;
}

/* CTA resolution */
.solutions-final .page-button--primary::before {
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  padding:1px;
  border-radius:inherit;
  background:conic-gradient(from var(--solutions-border-angle),var(--sol-blue),var(--sol-cyan),var(--sol-violet),var(--sol-purple),var(--sol-blue));
  opacity:.5;
  pointer-events:none;
  -webkit-mask:linear-gradient(rgb(0 0 0) 0 0) content-box,linear-gradient(rgb(0 0 0) 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(rgb(0 0 0) 0 0) content-box,linear-gradient(rgb(0 0 0) 0 0);
  mask-composite:exclude;
}

.solutions-final.is-sequencing .page-button--primary::before {
  animation:solutions-border-settle .5s cubic-bezier(.22,1,.36,1) .72s both;
}

.solutions-final.is-complete .page-button--primary::before {
  --solutions-border-angle:192deg;
  opacity:.62;
}

/* Contextual route response */
@supports selector(:has(*)) {
  .solutions-family-list:has(article:is(:hover,:focus-within)) .solutions-family-list__route-main {
    stroke-width:1.45;
    opacity:.66;
  }

  .solutions-family-list article:is(:hover,:focus-within) .solutions-family-list__number {
    border-color:var(--path-accent);
    transform:scale(1.02);
  }

  .solutions-integrated__grid:has(.solutions-text-link:is(:hover,:focus-visible)) .solutions-integrated__curve .is-output {
    stroke-width:1.8;
    opacity:1;
  }

  .solutions-final:has(.page-button--primary:is(:hover,:focus-visible)) .solutions-final__route path {
    opacity:.56;
  }

  .solutions-final:has(.page-button--primary:is(:hover,:focus-visible)) .solutions-final__route circle {
    opacity:1;
  }
}

.solutions-family-list__route-main,
.solutions-family-list__number,
.solutions-integrated__curve .is-output,
.solutions-final__route path,
.solutions-final__route circle,
.solutions-theme-toggle {
  transition:opacity .28s ease,stroke-width .28s ease,transform .22s ease,border-color .22s ease,background-color .22s ease;
}

.solutions-theme-toggle:active {
  transform:scale(.96);
}

/* Component-owned convergence behavior */
.solutions-integrated__architecture {
  container:solutions-convergence / inline-size;
}

@container solutions-convergence (max-width:460px) {
  .solutions-integrated__domains {
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:0;
  }

  .solutions-integrated__domains span {
    grid-template-columns:10px minmax(0,1fr);
    justify-items:start;
    gap:10px;
    min-height:44px;
    text-align:start;
  }

  .solutions-integrated__curve--mobile .is-blue,
  .solutions-integrated__curve--mobile .is-cyan,
  .solutions-integrated__curve--mobile .is-purple {
    display:none;
  }

  .solutions-integrated__convergence {
    height:70px;
  }
}

@keyframes solutions-path-settle {
  from { stroke-dashoffset:1; }
  to { stroke-dashoffset:0; }
}

@keyframes solutions-hero-path-clarify {
  from { opacity:.3; stroke-dashoffset:1; }
  to { opacity:var(--solutions-hero-path-opacity); stroke-dashoffset:0; }
}

@keyframes solutions-semantic-layer-settle {
  from {
    opacity:var(--motion-from-opacity,.4);
    transform:var(--motion-from-transform,translateY(8px));
  }
  to {
    opacity:1;
    transform:none;
  }
}

@keyframes solutions-hero-semantic-activate {
  from {
    opacity:.62;
    filter:saturate(.76);
    transform:translateY(6px) scale(.985);
  }
  to {
    opacity:1;
    filter:saturate(1);
    transform:translateY(0) scale(1);
  }
}

@keyframes solutions-hero-semantic-activate-mobile {
  from {
    opacity:.62;
    filter:saturate(.76);
    transform:translateX(50%) translateY(6px) scale(.985);
  }
  to {
    opacity:1;
    filter:saturate(1);
    transform:translateX(50%) scale(1);
  }
}

@keyframes solutions-hero-marker-activate {
  from { opacity:.68; transform:scale(.98); }
  to { opacity:1; transform:scale(1); }
}

@keyframes solutions-hero-route-point {
  from { opacity:.56; transform:scale(.96); }
  to { opacity:1; transform:scale(1); }
}

@keyframes solutions-hero-glass-resolve {
  from { opacity:.72; transform:rotate(-2deg) translateY(4px) scale(.992); }
  to { opacity:1; transform:rotate(-2deg) translateY(0) scale(1); }
}

@keyframes solutions-hero-resolve {
  from { transform:translateY(0); }
  to { transform:translateY(-8px); }
}

@keyframes solutions-convergence-node-activate {
  0% { opacity:.42; transform:scale(.96); }
  68% { opacity:1; transform:scale(1.04); }
  100% { opacity:1; transform:scale(1); }
}

@keyframes solutions-terminal-node-activate {
  from { opacity:.34; transform:scale(.94); }
  to { opacity:1; transform:scale(1); }
}

@keyframes solutions-border-settle {
  0% { --solutions-border-angle:12deg; opacity:.34; }
  72% { --solutions-border-angle:168deg; opacity:.68; }
  100% { --solutions-border-angle:192deg; opacity:.62; }
}

@media (max-width:768px) {
  .solutions-continuity {
    width:62px;
    height:56px;
    inset-inline-start:0;
    opacity:.34;
  }

  .solutions-translation .solutions-continuity,
  .solutions-integrated .solutions-continuity {
    inset-inline-start:auto;
    inset-inline-end:0;
  }

  .solutions-macro-ready:not(.solutions-reduced-motion) .solutions-hero:not(.is-sequencing):not(.is-complete) .solutions-hero__node--architecture {
    transform:translateX(50%) translateY(6px) scale(.985);
  }

  .solutions-hero.is-sequencing .solutions-hero__node--architecture {
    animation-name:solutions-hero-semantic-activate-mobile;
  }

  .solutions-hero.is-complete .solutions-hero__node--architecture {
    transform:translateX(50%);
  }

  .solutions-macro-ready:not(.solutions-reduced-motion) .solutions-integrated:not(.is-sequencing):not(.is-complete) .solutions-integrated__domains span,
  .solutions-macro-ready:not(.solutions-reduced-motion) .solutions-integrated:not(.is-sequencing):not(.is-complete) .solutions-integrated__outcome,
  .solutions-integrated.is-sequencing .solutions-integrated__domains span,
  .solutions-integrated.is-sequencing .solutions-integrated__outcome {
    --motion-from-transform:translateY(8px);
  }
}

@media (max-width:560px) {
  .solutions-continuity {
    width:50px;
    height:46px;
    opacity:.3;
  }

  .solutions-continuity circle:first-of-type {
    display:none;
  }

  .solutions-native-scroll .solutions-hero__model,
  .solutions-native-scroll .solutions-hero__model::before {
    animation:none;
  }

  .solutions-integrated.is-sequencing .solutions-integrated__curve path:nth-of-type(2),
  .solutions-integrated.is-sequencing .solutions-integrated__curve path:nth-of-type(3),
  .solutions-integrated.is-sequencing .solutions-integrated__curve path:nth-of-type(5),
  .solutions-integrated.is-sequencing .solutions-integrated__curve path:nth-of-type(6) {
    animation:none;
    stroke-dashoffset:0;
  }
}

@media (prefers-reduced-motion:reduce) {
  .solutions-motion-path {
    stroke-dasharray:none!important;
    stroke-dashoffset:0!important;
    animation:none!important;
  }

  .solutions-translation__copy li,
  .solutions-family-list article,
  .solutions-integrated__domains span,
  .solutions-integrated__outcome,
  .solutions-integrated__curve .is-halo,
  .solutions-integrated__curve .is-core,
  .solutions-lifecycle__steps li,
  .solutions-hero__model,
  .solutions-hero__node,
  .solutions-hero__node > span,
  .solutions-hero__route circle,
  .solutions-final__route circle {
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    animation:none!important;
    transition:none!important;
  }

  .solutions-hero__model::before {
    opacity:1!important;
    transform:rotate(-2deg)!important;
    animation:none!important;
  }

  .solutions-final .page-button--primary::before {
    --solutions-border-angle:96deg;
    opacity:.54;
    animation:none!important;
  }
}

@media (max-width:768px) and (prefers-reduced-motion:reduce) {
  .solutions-hero__node--architecture {
    transform:translateX(50%)!important;
  }
}

/* HOODEL Solutions — final controlled visual polish */
html[data-theme="dark"] .hoodel-solutions {
  --text-muted:#a5b5c9;
}

.solutions-family-list {
  container:solutions-family-paths / inline-size;
}

@container solutions-family-paths (max-width:520px) {
  .solutions-family-list article:nth-of-type(2) {
    margin-inline-start:10px;
  }

  .solutions-family-list article:nth-of-type(3) {
    margin-inline-end:8px;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }

  .solutions-family-list article:nth-of-type(3)::before {
    width:72%;
    inset-inline-end:auto;
  }

  .solutions-family-list article:nth-of-type(4) {
    margin-inline-start:14px;
    background:linear-gradient(to left,rgba(8,105,216,.04),transparent 74%);
  }

  .solutions-family-list article:nth-of-type(4)::before {
    width:64%;
  }

  .solutions-family-list article:nth-of-type(5) {
    margin-inline-end:8px;
  }

  html[data-theme="dark"] .solutions-family-list article:nth-of-type(3) {
    background:transparent;
  }

  html[data-theme="dark"] .solutions-family-list article:nth-of-type(4) {
    background:linear-gradient(to left,rgba(53,196,220,.045),transparent 74%);
  }

  html[data-theme="dark"] .solutions-family-list article:nth-of-type(5) {
    background:linear-gradient(to left,rgba(194,112,223,.04),transparent 74%);
  }
}

@media (max-width:560px) {
  .solutions-translation,
  .solutions-families,
  .solutions-integrated,
  .solutions-lifecycle {
    padding-block:48px;
  }

  .solutions-translation__grid {
    gap:26px;
  }

  .solutions-translation__journey {
    margin-top:22px;
  }

  .solutions-translation__copy li {
    grid-template-columns:44px minmax(0,1fr);
    min-height:86px;
    gap:2px 12px;
    padding-block-end:18px;
  }

  .solutions-translation__copy li:last-child {
    min-height:72px;
    padding-block-end:0;
  }

  .solutions-translation__copy li::before {
    inset-inline-start:21px;
  }

  .solutions-translation__route--mobile {
    width:48px;
    height:calc(100% - 4px);
  }

  .solutions-section-intro {
    gap:18px;
    margin-bottom:32px;
  }

  .solutions-family-list {
    gap:10px;
  }

  .solutions-family-list__routes {
    width:48px;
    height:calc(100% + 12px);
    inset-block:-6px;
  }

  .solutions-family-list__route-ghost {
    display:none;
  }

  .solutions-family-list article {
    padding-block:22px 20px;
  }

  .solutions-integrated__grid {
    gap:38px;
  }

  .solutions-continuity {
    width:44px;
    height:34px;
  }
}
