/* BIY Digital Solutions Showroom: final AI, Automation and Reporting collection.
   Separate styles from existing website carousel, galleries, referrals and Business Flow. */
.solutions-showroom {
  --sol-cyan: #00c2ff;
  --sol-ice: #5fd4ff;
  --sol-text: #eaf2f8;
  margin-top: clamp(86px, 9vw, 144px);
  position: relative;
  min-width: 0;
  color: var(--sol-text);
}
.solutions-showroom, .solutions-showroom * { box-sizing: border-box; }
.solutions-showroom [hidden] { display: none !important; }
.solutions-showroom :focus-visible { outline: 2px solid #7de7ff; outline-offset: 4px; }

.solutions-intro { position: relative; text-align: center; max-width: 930px; margin: 0 auto 42px; }
.solutions-eyebrow {
  color: #5fd4ff;
  margin: 0;
  font: 700 12px/1.35 var(--font-h);
  letter-spacing: .36em;
}
.solutions-intro h2 {
  margin: 18px auto 0;
  max-width: 100%;
  color: #f9fdff;
  font: 800 clamp(34px, 4.5vw, 68px)/1.04 var(--font-h);
  letter-spacing: -.042em;
  text-transform: uppercase;
  text-wrap: balance;
}
.solutions-intro h2 em { color: var(--sol-cyan); font-style: normal; }
.solutions-intro > p:last-child {
  margin: 18px auto 0;
  max-width: 690px;
  color: #acc5d7;
  font: 450 clamp(15px, 1.26vw, 19px)/1.62 var(--font-b);
  text-wrap: balance;
}
.solutions-carousel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: clamp(20px, 2.8vw, 34px);
  border: 1px solid rgba(97, 199, 255, .22);
  background:
    radial-gradient(ellipse 55% 70% at 50% 38%, rgba(0, 194, 255, .10), transparent 79%),
    radial-gradient(ellipse 35% 50% at 98% 2%, rgba(31, 110, 182, .16), transparent 82%),
    linear-gradient(150deg, #0c1a2d, #06111f 62%, #090f1c);
  box-shadow: 0 30px 70px rgba(0, 0, 0, .16), inset 0 1px rgba(255, 255, 255, .045);
}
.solutions-carousel::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(130, 210, 255, .052) 1px, transparent 1px), linear-gradient(90deg, rgba(130, 210, 255, .052) 1px, transparent 1px);
  background-size: 58px 58px;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 85%);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 85%);
}
.solutions-showcase-header {
  padding: clamp(21px, 2.4vw, 34px) clamp(24px, 3vw, 44px) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #68ccea;
  font: 700 clamp(10px, .76vw, 12px)/1.3 var(--font-h);
  letter-spacing: .18em;
}
.solutions-showcase-header > span:last-child { color: #779ab3; font-size: 10px; }
.solutions-orbit {
  position: relative;
  width: 100%;
  height: clamp(370px, 34vw, 510px);
  perspective: 1100px;
  perspective-origin: 50% 45%;
  touch-action: pan-y;
  overflow: hidden;
}
.solutions-orbit-glow {
  position: absolute;
  left: 50%;
  bottom: clamp(4px, 1vw, 18px);
  width: min(68%, 960px);
  height: 65px;
  border-radius: 50%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(19, 161, 241, .18), rgba(6, 42, 72, .08) 49%, transparent 75%);
  filter: blur(9px);
  pointer-events: none;
}
.solutions-orbit-card {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: clamp(285px, 32vw, 415px);
  height: clamp(323px, 30vw, 407px);
  padding: 0;
  background: transparent;
  color: inherit;
  border: none;
  transform-origin: center center;
  will-change: transform, opacity;
  cursor: pointer;
}
.solutions-orbit-frame {
  --sol-tint: #00c2ff;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(106, 209, 255, .38);
  border-radius: 22px;
  background: linear-gradient(155deg, #152d46 0%, #0c1d32 60%, #081624);
  box-shadow: inset 0 1px rgba(255, 255, 255, .14), 0 22px 48px rgba(0, 0, 0, .36);
  transition: border-color .22s, box-shadow .22s;
}
.solutions-orbit-card--automation .solutions-orbit-frame { --sol-tint: #72dbf1; }
.solutions-orbit-card--reporting .solutions-orbit-frame { --sol-tint: #75aaff; }
.solutions-orbit-card:hover .solutions-orbit-frame, .solutions-orbit-card:focus-visible .solutions-orbit-frame {
  border-color: rgba(117, 225, 255, .92);
  box-shadow: inset 0 1px rgba(255,255,255,.18), 0 23px 60px rgba(0,0,0,.32), 0 0 28px rgba(0,194,255,.16);
}
.solutions-orbit-count { padding: 19px 24px 11px; color: #77e0ff; font: 750 10px/1 var(--font-h); letter-spacing: .24em; text-align: left; }
.solutions-art {
  position: relative;
  flex: 1;
  min-height: 0;
  margin: 0 21px;
  padding: 17px;
  overflow: hidden;
  border: 1px solid rgba(109, 207, 249, .19);
  border-radius: 12px;
  background: linear-gradient(160deg, rgba(9, 26, 46, .92), #06111f);
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
}
.solutions-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(133, 220, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(133, 220, 255, .045) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none;
}
.solutions-art-top { display: flex; align-items: center; gap: 6px; position: relative; z-index: 1; }
.solutions-art-top span { flex: 1; text-align: left; color: #7cb4ce; letter-spacing: .13em; font: 650 9px/1 var(--font-h); }
.solutions-art-top i { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #29536e; }
.solutions-art-top i:last-child { background: #00c2ff; box-shadow: 0 0 9px rgba(0,194,255,.45); }
.solutions-art-call { position: relative; display: flex; align-items: center; justify-content: flex-start; gap: 16px; margin: 21px auto 0; max-width: 270px; }
.solutions-art-pulse { width: 56px; height: 56px; display: grid; place-items: center; color: #40e5ff; font-size: 47px; border: 1px solid #1c809f; border-radius: 50%; box-shadow: 0 0 20px rgba(0,194,255,.18), inset 0 0 20px rgba(0,194,255,.05); }
.solutions-art-call strong { display: block; color: #edfaff; font: 750 16px/1.1 var(--font-h); }
.solutions-art-call small { display: block; margin-top: 9px; font: 650 10px/1 var(--font-h); letter-spacing: .12em; color: #5dd8ef; }
.solutions-art-wave { position: relative; display: flex; align-items: center; justify-content: center; gap: 6px; height: 50px; margin: 13px auto 0; }
.solutions-art-wave i { height: 13px; width: 5px; border-radius: 6px; background: linear-gradient(#85f1ff, #008dc6); box-shadow: 0 0 12px rgba(0,194,255,.2); }
.solutions-art-wave i:nth-child(3n) { height: 31px; }
.solutions-art-wave i:nth-child(4n) { height: 43px; }
.solutions-art-wave i:nth-child(5n) { height: 23px; }
.solutions-art-caption { position: absolute; z-index: 2; bottom: 12px; left: 16px; right: 16px; display: flex; justify-content: space-between; gap: 4px; color: #7dabcc; font: 650 9px/1 var(--font-h); letter-spacing: .09em; }
.solutions-art-flow { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; margin-top: 35px; gap: 8px; }
.solutions-flow-node { flex: 0 0 auto; border: 1px solid #336887; border-radius: 9px; padding: 13px 11px; background: #0d283e; color: #c5f1ff; font: 750 10px/1 var(--font-h); letter-spacing: .06em; }
.solutions-flow-node--active { border-color: #48dcff; box-shadow: 0 0 20px rgba(0,194,255,.15); background: #0c3c59; }
.solutions-flow-track { width: 25px; height: 1px; background: linear-gradient(to right, rgba(0,194,255,.25), #55e4ff); }
.solutions-art-log { display: grid; gap: 11px; margin: 24px auto 0; max-width: 240px; }
.solutions-art-log span { color: #a4cadd; font: 650 9px/1 var(--font-h); letter-spacing: .08em; }
.solutions-art-log i { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #00c2ff; box-shadow: 0 0 8px rgba(0,194,255,.45); }
.solutions-art-stat { margin: 15px 0 0; display: flex; flex-wrap: wrap; gap: 2px 15px; align-items: center; }
.solutions-art-stat small { flex: 1 0 100%; font: 650 8px/1.1 var(--font-h); letter-spacing: .15em; color: #8cb3d5; }
.solutions-art-stat strong { color: #eaf6ff; font: 850 43px/1.1 var(--font-h); letter-spacing: -.05em; }
.solutions-art-stat span { color: #79bfff; font: 650 10px/1.2 var(--font-h); letter-spacing: .06em; }
.solutions-art-bars { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 7px; height: 65px; margin-top: 7px; border-bottom: 1px solid rgba(117, 180, 255, .26); }
.solutions-art-bars i { flex: 1; height: 38%; border-radius: 4px 4px 0 0; background: linear-gradient(#7bdfff, #134b8b); }
.solutions-art-bars i:nth-child(2) { height: 70%; }.solutions-art-bars i:nth-child(3) { height: 52%; }
.solutions-art-bars i:nth-child(4) { height: 90%; }.solutions-art-bars i:nth-child(5) { height: 62%; }
.solutions-art-bars i:nth-child(6) { height: 78%; }.solutions-art-bars i:nth-child(7) { height: 54%; }
.solutions-art-bars i:nth-child(8) { height: 98%; }.solutions-art-bars i:nth-child(9) { height: 83%; }
.solutions-orbit-foot { display: flex; gap: 14px; align-items: center; padding: 16px 22px 0; }
.solutions-orbit-icon { width: 40px; height: 40px; border: 1px solid rgba(95,212,255,.35); border-radius: 12px; display: grid; place-items: center; color: #67e3ff; background: rgba(0,194,255,.07); }
.solutions-orbit-icon svg { width: 23px; height: 23px; }
.solutions-orbit-foot strong { color: #fff; display: block; font: 800 22px/1.05 var(--font-h); }
.solutions-orbit-foot small { display: block; margin-top: 6px; color: #83abc7; font: 650 10px/1.2 var(--font-h); letter-spacing: .12em; }
.solutions-orbit-action { display: block; padding: 13px 0 17px; color: #4adaff; text-align: center; font: 700 12px/1.1 var(--font-b); letter-spacing: .01em; }
.solutions-orbit-controls { display: flex; justify-content: center; align-items: center; gap: 19px; margin: 0 auto; }
.solutions-orbit-nav {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(108, 196, 245, .35);
  border-radius: 50%;
  color: #d9f8ff;
  background: rgba(3,15,29,.58);
  font-size: 31px;
  line-height: 1;
  cursor: pointer;
}
.solutions-orbit-nav:hover { border-color: #00c2ff; background: rgba(0,194,255,.13); }
.solutions-orbit-dots { display: flex; gap: 9px; align-items: center; }
.solutions-orbit-dots button {
  min-width: 102px;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid rgba(112, 189, 230, .36);
  border-radius: 999px;
  color: #cee7f6;
  background: rgba(6, 23, 41, .85);
  font: 750 12px/1.15 var(--font-h);
  cursor: pointer;
}
.solutions-orbit-dots button:hover, .solutions-orbit-dots button:focus-visible { border-color: #00c2ff; color: #fff; background: #103551; }
.solutions-orbit-dots button[aria-current="true"] { border-color: #00c2ff; color: #fff; box-shadow: 0 0 15px rgba(0,194,255,.13); background: #113e5d; }
.solutions-orbit-instruction { margin: 10px 20px 25px; color: #8fb3c8; font: 500 13px/1.5 var(--font-b); text-align: center; }

.solutions-detail {
  position: relative;
  margin-top: 5px;
  padding: clamp(26px, 3.4vw, 48px);
  border: 1px solid rgba(89, 177, 235, .25);
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(12, 30, 50, .94), rgba(6, 16, 29, .97));
}
.solutions-detail-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.solutions-detail-eyebrow { color: #69dfff; font: 750 11px/1 var(--font-h); letter-spacing: .22em; }
.solutions-detail h3 { margin: 12px 0 0; font: 850 clamp(27px, 3vw, 42px)/1.15 var(--font-h); letter-spacing: -.035em; color: #fff; }
.solutions-back {
  min-height: 44px;
  padding: 11px 20px;
  border: 1px solid rgba(106, 208, 255, .44);
  border-radius: 999px;
  background: #0d2238;
  color: #e3f5ff;
  font: 700 13px/1.2 var(--font-b);
  cursor: pointer;
}
.solutions-back:hover { border-color: #00c2ff; background: rgba(0,194,255,.1); }
.solutions-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 33px; }
.solutions-tabs button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 13px 20px; border: 1px solid rgba(112,180,220,.31); border-radius: 13px; background: rgba(4, 16, 29, .8); color: #c8e0f0; text-align: left; font: 750 16px/1.2 var(--font-h); cursor: pointer; }
.solutions-tabs button span { color: #7099b5; font: 700 12px/1 var(--font-h); }
.solutions-tabs button[aria-pressed="true"] { color: #fff; border-color: #00c2ff; box-shadow: inset 0 0 19px rgba(0,194,255,.06); background: #113653; }
.solutions-tabs button[aria-pressed="true"] span { color: #66dfff; }
.solutions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.7vw, 24px); margin-top: 24px; }
.solutions-detail[data-current="automation"] .solutions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1000px; margin-left: auto; margin-right: auto; }
.solutions-tile {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(75,159,206,.34);
  border-radius: 18px;
  background: linear-gradient(160deg, #10253b, #091827 67%);
  box-shadow: inset 0 1px rgba(255,255,255,.05);
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.solutions-tile:hover { border-color: rgba(0,194,255,.75); transform: translateY(-4px); box-shadow: 0 18px 42px rgba(0,0,0,.20); }
.solutions-tile-visual {
  position: relative;
  min-height: 167px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 19px 22px 18px;
  border-bottom: 1px solid rgba(90,174,221,.20);
  background:
    radial-gradient(ellipse 70% 90% at 77% 30%, rgba(0,194,255,.20), transparent 74%),
    linear-gradient(135deg, #142f4b, #081a2e 80%);
}
.solutions-tile--automation .solutions-tile-visual { background: radial-gradient(ellipse 65% 85% at 76% 32%, rgba(95,212,255,.16), transparent 76%), linear-gradient(130deg,#183751,#071c2b); }
.solutions-tile--reporting .solutions-tile-visual { background: radial-gradient(ellipse 70% 85% at 75% 32%, rgba(74,144,245,.23), transparent 75%), linear-gradient(140deg,#13294d,#071827); }
.solutions-tile-visual::after { content: ""; position: absolute; left: 0; right: 0; bottom: 45px; height: 1px; background: linear-gradient(90deg, transparent, rgba(71,195,245,.31), transparent); }
.solutions-tile-index { color: #8bcce7; font: 750 11px/1 var(--font-h); letter-spacing: .16em; }
.solutions-tile-glyph { position: absolute; left: 50%; top: 43%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 80px; height: 80px; border: 1px solid rgba(126,227,255,.30); border-radius: 22px; background: rgba(0,194,255,.075); box-shadow: 0 0 34px rgba(0,194,255,.12); }
.solutions-tile-glyph svg { width: 45px; height: 45px; color: #5dddff; }
.solutions-tile-line { position: absolute; top: 25px; right: 19px; width: 52px; height: 30px; display: flex; align-items: flex-end; gap: 4px; }
.solutions-tile-line i { flex: 1; height: 30%; background: #32c7f1; border-radius: 3px; }
.solutions-tile-line i:nth-child(2) { height: 80%; }.solutions-tile-line i:nth-child(3) { height: 50%; }.solutions-tile-line i:nth-child(4) { height: 100%; }
.solutions-tile-proof { font: 700 11px/1.2 var(--font-h); letter-spacing: .08em; color: #b4dbf4; text-transform: uppercase; }
.solutions-tile-body { display: flex; flex-direction: column; flex: 1; padding: 24px 23px 22px; }
.solutions-tile-eyebrow { font: 750 10px/1.2 var(--font-h); color: #6adfff; letter-spacing: .17em; }
.solutions-tile-body h4 { margin: 12px 0 0; color: #fff; font: 750 clamp(19px, 1.55vw, 24px)/1.2 var(--font-h); letter-spacing: -.02em; }
.solutions-tile-body p { margin: 13px 0 25px; color: #b4cadd; font: 450 14px/1.56 var(--font-b); }
.solutions-tile-bottom { margin-top: auto; display: flex; flex-direction: column; align-items: stretch; gap: 13px; }
.solutions-tile-type { color: #789bb3; font: 650 11px/1.2 var(--font-h); letter-spacing: .03em; }
.solutions-tile-bottom a { display: grid; place-items: center; min-height: 44px; border: 1px solid rgba(0,194,255,.8); border-radius: 11px; background: rgba(0,194,255,.075); color: #eafaff; font: 750 13px/1.2 var(--font-b); text-decoration: none; }
.solutions-tile-bottom a:hover { background: rgba(0,194,255,.16); }
.solutions-scope-note { margin: 23px 0 0; padding-top: 20px; border-top: 1px solid rgba(119,190,235,.19); color: #94b4c8; font: 450 12px/1.65 var(--font-b); }

@media (max-width: 900px) {
  .solutions-detail { padding: 25px 22px; }
  .solutions-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 660px) {
  .solutions-showroom { margin-top: 66px; }
  .solutions-intro { padding: 0 3px; margin-bottom: 30px; }
  .solutions-intro h2 { font-size: clamp(32px, 9vw, 45px); }
  .solutions-eyebrow { letter-spacing: .22em; }
  .solutions-orbit-controls { gap: 7px; }
  .solutions-orbit-nav { width: 36px; height: 36px; font-size: 25px; }
  .solutions-orbit-dots { gap: 5px; }
  .solutions-orbit-dots button { min-width: 0; min-height: 39px; padding: 8px 9px; font-size: 10px; }
  .solutions-showcase-header { padding: 21px 17px 0; font-size: 9px; letter-spacing: .08em; }
  .solutions-showcase-header > span:last-child { display: none; }
  .solutions-orbit { height: 340px; perspective: 700px; }
  .solutions-orbit-card { width: min(73vw,270px); height: 294px; }
  .solutions-orbit-count { padding: 13px 15px 8px; font-size: 8px; }
  .solutions-art { margin: 0 12px; padding: 11px; }
  .solutions-art-top span { font-size: 7px; }
  .solutions-art-call { gap: 8px; margin-top: 13px; }
  .solutions-art-pulse { width: 39px; height: 39px; font-size: 29px; }
  .solutions-art-call strong { font-size: 11px; }
  .solutions-art-call small { font-size: 7px; margin-top: 5px; }
  .solutions-art-wave { gap: 4px; height: 37px; margin-top: 4px; }
  .solutions-art-wave i { width: 4px; }
  .solutions-art-flow { gap: 4px; margin-top: 27px; }
  .solutions-flow-node { padding: 9px 5px; font-size: 7px; }
  .solutions-flow-track { width: 13px; }
  .solutions-art-log { margin-top: 22px; gap: 9px; }
  .solutions-art-log span { font-size: 7px; }
  .solutions-art-stat strong { font-size: 33px; }
  .solutions-art-bars { height: 49px; }
  .solutions-art-caption { font-size: 7px; bottom: 8px; left: 10px; right: 10px; }
  .solutions-orbit-foot { gap: 10px; padding: 11px 15px 0; }
  .solutions-orbit-icon { width: 31px; height: 31px; }
  .solutions-orbit-icon svg { width: 19px; height: 19px; }
  .solutions-orbit-foot strong { font-size: 17px; }
  .solutions-orbit-foot small { font-size: 7px; margin-top: 5px; }
  .solutions-orbit-action { padding: 9px 0 12px; font-size: 10px; }
  .solutions-detail { padding: 21px 15px; border-radius: 20px; }
  .solutions-detail-head { align-items: flex-start; flex-direction: column; gap: 15px; }
  .solutions-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-top: 25px; }
  .solutions-tabs button { min-height: 52px; padding: 11px 9px; font-size: 12px; gap: 5px; }
  .solutions-tabs button span { font-size: 9px; }
  .solutions-grid, .solutions-detail[data-current="automation"] .solutions-grid { grid-template-columns: minmax(0,1fr); gap: 15px; }
  .solutions-tile-visual { min-height: 165px; }
}
@media (prefers-reduced-motion: reduce) {
  .solutions-showroom *, .solutions-showroom *::before, .solutions-showroom *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* v2 - approved website-showroom-matched carousel, screenshots + top category bubbles.
   Intentionally overrides the first concept without changing the existing website carousel. */
.solutions-showroom {
  margin-top: clamp(82px, 9vw, 150px);
}
.solutions-intro {
  max-width: none;
  margin: 0 auto 54px;
  text-align: center;
}
.solutions-industry-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 2.3vw, 29px);
}
.solutions-industry-title > span {
  flex: 0 1 160px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,210,255,.78));
}
.solutions-industry-title > span:last-child { transform: scaleX(-1); }
.solutions-intro .solutions-industry-title h2 {
  flex: none;
  margin: 0;
  color: #f1f7fc;
  font: 550 clamp(14px, 1.26vw, 20px)/1.2 var(--font-h);
  letter-spacing: .31em;
  text-transform: uppercase;
  white-space: nowrap;
}
.solutions-industry-tabs {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  width: min(1050px,100%);
  gap: clamp(10px,1.4vw,18px);
  margin: 28px auto 0;
}
.solutions-industry-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(9px,1.2vw,17px);
  min-height: 62px;
  padding: 12px 18px;
  border: 1.5px solid rgba(190,210,230,.44);
  border-radius: 999px;
  background: rgba(4,13,28,.59);
  color: #f4f8fc;
  font: 500 clamp(14px,1.1vw,19px)/1.2 var(--font-b);
  cursor: pointer;
  transition: border-color .22s, background .22s, box-shadow .22s,transform .22s;
}
.solutions-industry-tab svg {
  flex: none;
  width: 25px;
  height: 25px;
  color: #f2f7ff;
}
.solutions-industry-tab:hover {
  transform: translateY(-2px);
  border-color: rgba(44,218,255,.85);
}
.solutions-industry-tab[aria-current="true"] {
  border-color: #00d4ff;
  color: #fff;
  background: linear-gradient(180deg,rgba(0,129,197,.27),rgba(0,63,115,.22));
  box-shadow: 0 0 28px rgba(0,194,255,.25),inset 0 0 23px rgba(0,194,255,.065);
}
.solutions-industry-tab[aria-current="true"] svg { color:#24e4ff; }
.solutions-carousel {
  isolation: isolate;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.solutions-carousel::before { display:none; }
.solutions-showcase-header {
  margin-top: clamp(26px,4.7vw,72px);
  padding: 0;
  display: flex;
  align-items: center;
  gap: 24px;
  color: #fafcff;
  font: 700 12px/1.3 var(--font-h);
  letter-spacing: .27em;
}
.solutions-showcase-header i {
  flex: 0 1 160px;
  height: 1px;
  background: linear-gradient(90deg,#00baff,transparent);
}
.solutions-showcase-header > span:last-child {
  margin-left: auto;
  color: #73c7e7;
  font: 650 10px/1.3 var(--font-h);
  letter-spacing: .24em;
}
.solutions-orbit {
  width: 100%;
  height: clamp(475px,40vw,575px);
  overflow: hidden;
  perspective: 1400px;
  perspective-origin: 50% 46%;
  touch-action: pan-y;
}
.solutions-orbit-glow { width: min(80%,1200px); height: 100px; bottom: 6px; }
.solutions-orbit-card {
  width: clamp(340px, 35vw, 465px);
  height: clamp(420px, 36vw, 485px);
}
.solutions-orbit-frame {
  border-radius: 18px;
  border: 1px solid rgba(55,174,236,.52);
  background: linear-gradient(180deg,#0b2036,#061525);
  box-shadow: 0 18px 45px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.065);
}
.solutions-orbit-card[data-front="true"] .solutions-orbit-frame {
  border-color: rgba(0,205,255,.88);
  box-shadow: 0 20px 54px rgba(0,0,0,.31),0 0 30px rgba(0,194,255,.15),inset 0 1px rgba(255,255,255,.11);
}
.solutions-card-shot {
  display: block;
  flex: none;
  width: calc(100% - 18px);
  height: 54%;
  margin: 9px auto 0;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  border: 1px solid rgba(99,195,252,.30);
  background: #06101c;
}
.solutions-card-shot img { display:block; width:100%; height:100%; object-fit:cover; object-position:top center; }
.solutions-shot-flag {
  position: absolute;
  top: 10px; right: 10px;
  font: 800 9px/1 var(--font-h);
  letter-spacing: .12em;
  padding: 7px 9px;
  border-radius: 5px;
  color: #c3f2ff;
  background: rgba(1,12,26,.82);
  border: 1px solid rgba(96,208,245,.34);
}
.solutions-card-meta {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px 15px;
  text-align: left;
}
.solutions-card-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.solutions-card-title strong {
  color: #fff;
  font: 750 clamp(17px,1.4vw,21px)/1.2 var(--font-h);
  letter-spacing: -.016em;
}
.solutions-card-badge {
  flex: none;
  padding: 6px 9px;
  border: 1px solid #12cefa;
  border-radius: 999px;
  color: #52e1ff;
  background:rgba(0,105,160,.08);
  font: 700 9px/1 var(--font-h);
  letter-spacing: .1em;
}
.solutions-card-desc {
  color: #a9c6d9;
  font: 450 13px/1.48 var(--font-b);
  min-height: 34px;
}
.solutions-card-view {
  display: grid;
  place-items: center;
  min-height: 44px;
  width: 100%;
  margin-top: auto;
  border: 1.5px solid #08cefb;
  border-radius: 999px;
  color: #f3fbff;
  background: rgba(0,125,177,.055);
  font: 700 12px/1.2 var(--font-h);
  letter-spacing: .07em;
}
.solutions-orbit-card:hover .solutions-card-view,
.solutions-orbit-card:focus-visible .solutions-card-view { background: rgba(0,194,255,.16); }
.solutions-orbit-instruction {
  margin: -7px 0 10px;
  text-align: center;
  color: #709bb8;
  font: 600 10px/1.4 var(--font-h);
  letter-spacing: .16em;
}
@media (max-width:900px) {
  .solutions-intro { margin-bottom: 40px; }
  .solutions-showcase-header { gap: 12px; }
  .solutions-showcase-header i { flex-basis: 70px; }
  .solutions-orbit { height: 465px; }
  .solutions-orbit-card { width: clamp(280px,44vw,405px); height: 415px; }
  .solutions-card-shot { height: 52%; }
  .solutions-card-meta { padding: 12px 13px 13px; gap: 7px; }
  .solutions-card-title strong { font-size: 17px; }
  .solutions-card-desc { font-size:12px; }
  .solutions-card-view { min-height: 40px; font-size:11px; }
}
@media (max-width:660px) {
  .solutions-showroom { margin-top: 64px; }
  .solutions-intro { margin-bottom: 29px; }
  .solutions-industry-title { gap: 8px; }
  .solutions-industry-title > span { flex-basis: 19px; }
  .solutions-intro .solutions-industry-title h2 { font-size: clamp(10px,3vw,13px); letter-spacing: .16em; }
  .solutions-industry-tabs { gap: 7px; margin-top: 21px; }
  .solutions-industry-tab { gap: 6px; min-height: 48px; padding: 8px 6px; font-size: clamp(11px,3.2vw,13px); }
  .solutions-industry-tab svg { width: 17px; height: 17px; }
  .solutions-showcase-header { margin-top: 32px; font-size: 9px; letter-spacing: .14em; gap: 8px; }
  .solutions-showcase-header i { flex-basis: 34px; }
  .solutions-showcase-header > span:last-child { font-size: 8px; letter-spacing: .07em; }
  .solutions-orbit { height: 394px; perspective: 850px; }
  .solutions-orbit-card { width: min(82vw,300px); height: 355px; }
  .solutions-orbit-frame { border-radius: 15px; }
  .solutions-card-shot { height: 48%; margin-top: 7px; width: calc(100% - 14px); border-radius: 7px; }
  .solutions-shot-flag { top: 6px; right: 6px; font-size:7px; padding: 5px 6px; }
  .solutions-card-meta { gap: 7px; padding: 12px 10px 11px; }
  .solutions-card-title { gap:5px; }
  .solutions-card-title strong { font-size: clamp(14px,4.1vw,17px); }
  .solutions-card-badge { font-size:7px; padding:5px 6px; letter-spacing:.05em; }
  .solutions-card-desc { font-size:11px; line-height:1.4; min-height:31px; }
  .solutions-card-view { min-height:38px; font-size:10px; }
  .solutions-orbit-instruction { margin-top:-9px; font-size:9px; letter-spacing:.08em; }
}
@media (max-width:360px) {
  .solutions-intro .solutions-industry-title h2 { font-size:10px; letter-spacing:.11em; }
  .solutions-showcase-header > span:last-child { font-size:7px; }
  .solutions-orbit { height: 386px; }
  .solutions-orbit-card { width:min(83vw,270px);height:342px; }
  .solutions-card-shot { height:46%; }
  .solutions-card-desc { font-size:10.6px; }
}

/* Final preview polish: the side screenshots stay readable, as in the website carousel. */
.solutions-showcase-header { padding-inline: clamp(8px,1vw,16px); }
.solutions-card-shot { height: 59%; }
@media (max-width:900px) { .solutions-card-shot { height: 56%; } }
@media (max-width:660px) { .solutions-card-shot { height: 52%; } }
@media (max-width:360px) { .solutions-card-shot { height: 48%; } }

/* A clipped 3D stage must NOT become a scroll container when focusing side cards.
   overflow:hidden allowed WebKit/Chromium scrollIntoView to shift the ring sideways. */
.solutions-orbit { overflow: clip; }

/* Digital Solutions: each individual tile flips in place to show the EXISTING
   Client Portal catalog inclusions. No public Services links or prices.
   Isolated from the website carousel and referral reward flip animations. */
.solutions-showroom .solutions-tile {
  display: block;
  overflow: visible;
  background: transparent;
  border: none;
  box-shadow: none;
  perspective: 1300px;
  transform: none;
}
.solutions-showroom .solutions-tile:hover {
  transform: none;
  border: none;
  box-shadow: none;
}
.solutions-tile-flipper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  position: relative;
  height: 100%;
  min-height: 545px;
  transform-style: preserve-3d;
  transition: transform .65s cubic-bezier(.19,.76,.18,1);
}
.solutions-tile.is-flipped .solutions-tile-flipper { transform: rotateY(180deg); }
.solutions-tile-front,
.solutions-tile-back {
  grid-area: 1 / 1;
  min-width: 0;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(75,159,206,.34);
  border-radius: 18px;
  background: linear-gradient(160deg,#10253b,#091827 67%);
  box-shadow: inset 0 1px rgba(255,255,255,.05);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.solutions-tile-front { display: flex; flex-direction: column; }
.solutions-tile-front .solutions-tile-body { flex: 1; }
.solutions-tile-back {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: clamp(18px, 2vw, 27px) clamp(18px, 2vw, 26px);
  transform: rotateY(180deg);
  border-color: rgba(35,207,255,.52);
  background: radial-gradient(ellipse 90% 65% at 95% 0%,rgba(0,194,255,.13),transparent 75%),linear-gradient(155deg,#122c45,#071726 85%);
}
.solutions-tile.is-flipped .solutions-tile-back {
  box-shadow: 0 14px 45px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.08);
}
.solutions-tile-back-eyebrow {
  color: #66dcff;
  font: 750 11px/1.2 var(--font-h);
  letter-spacing: .18em;
}
.solutions-tile-back-head h4 {
  color:#fff;
  margin: 11px 0 0;
  font: 750 clamp(18px,1.4vw,23px)/1.24 var(--font-h);
}
.solutions-tile-portal-name {
  margin: 11px 0 0;
  color: #b2cbdd;
  font: 450 12.5px/1.48 var(--font-b);
}
.solutions-tile-portal-name strong { color:#e5f5ff; font-weight: 700; }
.solutions-included-list {
  list-style: none;
  padding: 17px 0 0;
  margin: 14px 0 0;
  border-top: 1px solid rgba(91,196,243,.22);
  display: grid;
  gap: clamp(8px,.8vw,11px);
}
.solutions-included-list li {
  position: relative;
  min-width: 0;
  padding-left: 23px;
  color:#d4e8f6;
  font: 500 clamp(13px,1vw,14.5px)/1.45 var(--font-b);
  overflow-wrap: anywhere;
}
.solutions-included-list li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  color: #4adef9;
  font-weight: 800;
}
.solutions-tile-access {
  color:#91b4c9;
  margin: auto 0 15px;
  padding-top: 21px;
  font: 500 12.5px/1.5 var(--font-b);
}
.solutions-tile-explore,
.solutions-tile-return {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(0,194,255,.83);
  border-radius: 11px;
  background: rgba(0,194,255,.075);
  color:#eafaff;
  font: 750 13px/1.2 var(--font-b);
  cursor:pointer;
}
.solutions-tile-explore:hover, .solutions-tile-return:hover {
  background: rgba(0,194,255,.17);
  border-color:#77e5ff;
}
.solutions-tile:focus-within .solutions-tile-front,
.solutions-tile:focus-within .solutions-tile-back { border-color: rgba(0,194,255,.82); }
@media (max-width: 900px) {
  .solutions-tile-flipper { min-height: 585px; }
}
@media (max-width: 660px) {
  .solutions-tile-flipper { min-height: 625px; }
  .solutions-tile-back { padding: 23px 21px; }
  .solutions-included-list { gap: 12px; }
  .solutions-included-list li { font-size: 14px; }
}
@media (max-width: 360px) {
  .solutions-tile-flipper { min-height: 690px; }
  .solutions-tile-back { padding: 21px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .solutions-tile-flipper { transition: none; }
}


/* BIY solution gallery photo v1 */
.solutions-showroom .solutions-tile-visual {
  isolation: isolate;
  aspect-ratio: 16 / 9;
  height: auto;
  min-height: 0;
  overflow: hidden;
  padding: 16px 18px;
  background: #081b2e;
}
.solutions-showroom .solutions-tile-visual .solutions-tile-photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.solutions-showroom .solutions-tile-visual::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(1, 12, 26, .65) 0%, transparent 28%, transparent 54%, rgba(1, 10, 23, .78) 100%);
}
.solutions-showroom .solutions-tile-visual::after,
.solutions-showroom .solutions-tile-visual .solutions-tile-glyph,
.solutions-showroom .solutions-tile-visual .solutions-tile-line { display: none; }
.solutions-showroom .solutions-tile-visual .solutions-tile-index,
.solutions-showroom .solutions-tile-visual .solutions-tile-proof {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 8px;
  border: 1px solid rgba(115, 206, 251, .28);
  border-radius: 7px;
  background: rgba(3, 15, 28, .67);
  color: #edf9ff;
  text-shadow: 0 1px 3px rgba(0,0,0,.45);
}
.solutions-showroom .solutions-card-shot img { object-position: center center; }


/* Service photos are the hero: captions live BELOW images, never over faces/data. */
.solutions-showroom .solutions-tile-visual { padding: 0; }
.solutions-showroom .solutions-tile-visual::before { display: none; }
.solutions-showroom .solutions-tile-caption {
  display: flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 20px;
  border-bottom: 1px solid rgba(91, 183, 235, .22);
  background: #0c2035;
}
.solutions-showroom .solutions-tile-caption .solutions-tile-proof {
  display: inline-block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #7adfff;
  background: transparent;
  text-shadow: none;
  font: 750 10px/1.4 var(--font-h);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.solutions-showroom .solutions-shot-flag {
  position: static;
  display: inline-flex;
  align-self: flex-start;
  margin: 0;
  padding: 4px 7px;
  font: 700 9px/1.2 var(--font-h);
  letter-spacing: .12em;
  color: #7adfff;
  border: 1px solid rgba(95, 212, 255, .25);
  border-radius: 5px;
  background: rgba(0, 194, 255, .045);
}
/* iPad: avoid an orphan third AI/Reporting tile stuck to the left. */
@media (min-width: 661px) and (max-width: 900px) {
  .solutions-detail[data-current="ai"] .solutions-tile[data-portal-service-key="ai_reception_pro"],
  .solutions-detail[data-current="reporting"] .solutions-tile[data-portal-service-key="custom_business_dashboard"] {
    grid-column: 1 / -1;
    width: calc((100% - 16px) / 2);
    justify-self: center;
  }
}
/* Responsive heights fit the new caption below the image without giant empty cards. */
@media (min-width: 661px) and (max-width: 900px) {
  .solutions-showroom .solutions-tile-flipper { min-height: 550px; }
}
@media (min-width: 361px) and (max-width: 660px) {
  .solutions-showroom .solutions-tile-flipper { min-height: 565px; }
}
@media (max-width: 360px) {
  .solutions-showroom .solutions-tile-flipper { min-height: 635px; }
}
@media (max-width: 660px) {
  .solutions-showroom .solutions-card-meta { gap: 6px; }
  .solutions-showroom .solutions-shot-flag { font-size: 8px; padding: 3px 6px; }
}

/* iPad landscape: leave room under the photo for the preview label and CTA. */
@media (min-width: 901px) and (max-width: 1240px) {
  .solutions-showroom .solutions-card-shot { height: 54%; }
}


/* Reporting demo links: preserve existing tile dimensions and flip animation. */
.solutions-tile--reporting .solutions-tile-demo { display:grid;place-items:center;width:100%;min-height:44px;padding:10px 14px;margin:0 0 8px;border-radius:11px;border:1px solid #45daff;background:#00c2ff;color:#071b2e;font:800 13px/1.2 var(--font-b);text-decoration:none; }
.solutions-tile--reporting .solutions-tile-demo:hover {background:#6ae3ff;}
.solutions-detail-head {position:relative;}
.solutions-detail-heading {text-align:center;flex:1;min-width:0;padding-left:130px;}
.solutions-detail-head .solutions-back {flex:none;}
.solutions-tile--reporting .solutions-included-list {gap:7px;padding-top:11px;margin-top:10px;}
.solutions-tile--reporting .solutions-tile-access {padding-top:8px;margin-bottom:9px;}
@media(max-width:660px){.solutions-detail-heading{padding-left:0;text-align:center;width:100%;}.solutions-detail-head{align-items:center;}.solutions-detail-head .solutions-back{align-self:center;}}

/* Mobile category/detail alignment and heading readability. */
@media(max-width:660px){
 .solutions-detail-head{gap:10px;}
 .solutions-detail-heading{padding:0!important;text-align:center;}
 .solutions-detail-heading h3{font-size:clamp(29px,7.7vw,42px);line-height:1.15;}
 .solutions-detail-head .solutions-back{max-width:100%;}
 .solutions-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
 .solutions-tabs button{min-width:0;padding-inline:6px;font-size:clamp(12px,3.3vw,16px);}
}

/* The title belongs to the selected tab; keep the mobile heading above tabs. */
@media(max-width:660px){.solutions-detail-head .solutions-detail-heading{width:100%;padding-left:0!important}.solutions-detail-head [data-solutions-current-heading]{overflow-wrap:normal;text-wrap:balance}.solutions-tabs button span{white-space:nowrap}}

/* Mobile solution-category tab alignment: consistently center category
   labels and their counts on separate rows, never overlap adjacent tabs. */
@media (max-width: 660px) {
  .solutions-showroom .solutions-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .solutions-showroom .solutions-tabs > button {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 7px;
    min-width: 0;
    min-height: 81px;
    padding: 10px 3px;
    font-size: clamp(12px, 3.25vw, 15px);
    line-height: 1.25;
    overflow: hidden;
  }
  .solutions-showroom .solutions-tabs > button span {
    display: block;
    flex: none;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .08em;
  }
}
