/* R18 only changes the approved solution surfaces, never homepage hero spacing. */
.r18-emphasis {color:var(--lime);font-weight:700;text-shadow:none!important;}
.r18-capability-note {margin:1.5rem 0 0;max-width:70ch;}
.r18-service-icon {display:grid;place-items:center;width:62px;height:62px;border:1px solid var(--rule-strong);border-radius:50%;color:var(--lime);}
.r18-service-icon .icon {width:34px;height:34px;}
.service-index-row[data-r18-solution] {grid-template-columns:62px minmax(0,1.1fr) minmax(0,1fr) 172px;gap:clamp(1rem,2vw,2.25rem);padding-block:3rem;}
.service-index-row[data-r18-solution]>a {display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:48px;height:auto;width:100%;padding:.8rem 1rem;white-space:nowrap;}
[data-r18-details] {gap:.8rem;}
[data-r18-details] .r18-arrow {color:var(--lime);flex:none;width:20px;height:20px;animation:r18-arrow 2.4s ease-in-out infinite paused;}
.r18-running [data-r18-details] .r18-arrow {animation-play-state:running;}
@keyframes r18-arrow {0%,18%,100%{transform:translateX(0)}55%{transform:translateX(4px)}}
.service-index-row[data-r18-solution] li {position:relative;border-bottom:0;padding-block:.55rem .7rem;}
.service-index-row[data-r18-solution] li:not(:last-child)::after {content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--lime);opacity:.55;transform-origin:left;transform:scaleX(1);}
.r18-motion-ready .service-index-row[data-r18-solution] li:not(:last-child)::after {transform:scaleX(0);}
.r18-motion-ready .service-index-row.r18-lines-visible li:not(:last-child)::after {transform:scaleX(1);transition:transform .55s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--r18-item,0) * 55ms);}
.r18-solutions-hero {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,5rem);}
.r18-solutions-hero::after {display:none!important;}
.r18-hero-copy,.r18-hero-art {min-width:0;}
.r18-hero-copy h1 {max-width:22ch;}
.r18-hero-copy>p {max-width:65ch;font-size:var(--type-intro)!important;line-height:1.65!important;}
.r18-hero-art {width:100%;max-width:600px;justify-self:center;}
.r18-hero-diagram {margin:0;width:100%;}
.r18-hero-diagram svg {display:block;width:100%;height:auto;overflow:visible;}
.r18-hero-diagram :is(path,rect) {vector-effect:non-scaling-stroke;}
.r18-diagram-base {fill:none;stroke:var(--lime);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.r18-diagram-wire {fill:none;stroke:var(--lime);stroke-width:1.25;opacity:.4;}
.r18-diagram-flow {fill:none;stroke:var(--lime-soft);stroke-width:3;stroke-linecap:round;}
.r18-diagram-flow path {stroke-dasharray:14 86;animation:r18-data 3.6s linear infinite paused;}
.r18-diagram-flow path+path {animation-delay:-1.8s;}
.r18-running .r18-diagram-flow path {animation-play-state:running;}
@keyframes r18-data {to{stroke-dashoffset:-100}}
.r18-hero-diagram figcaption {display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:.5rem;margin-top:.6rem;text-align:center;font-size:.875rem;line-height:1.4;color:var(--ink);}
@media(max-width:1180px){
  .service-index-row[data-r18-solution] {grid-template-columns:62px minmax(0,1fr);gap:1rem 1.5rem;}
  .service-index-row[data-r18-solution]>ul {grid-column:2;}
  .service-index-row[data-r18-solution]>a {grid-area:auto/2;width:max-content;}
  .r18-solutions-hero {grid-template-columns:1fr;gap:2.5rem;}
  .r18-hero-art {max-width:410px;}
}
@media(max-width:680px){
  .service-index-row[data-r18-solution] {grid-template-columns:44px minmax(0,1fr);padding-block:2.25rem;gap:1.25rem .85rem;}
  .r18-service-icon {width:44px;height:44px;align-self:start;}
  .r18-service-icon .icon {width:26px;height:26px;}
  .service-index-row[data-r18-solution]>ul {grid-column:1/-1;}
  .service-index-row[data-r18-solution]>a {grid-area:auto/1/auto/-1;max-width:100%;width:100%;}
  .service-index-row[data-r18-solution] h2 {font-size:var(--type-h3)!important;line-height:1.2!important;}
  .r18-hero-art {max-width:380px;}
  .r18-hero-diagram svg {max-height:250px;}
  .r18-hero-diagram figcaption {font-size:.875rem;}
}
@media(prefers-reduced-motion:reduce){
  [data-r18-details] .r18-arrow,.r18-diagram-flow path {animation:none!important;transform:none!important;}
  .r18-diagram-flow path {stroke-dasharray:none;opacity:.6;}
  .r18-motion-ready .service-index-row li::after {transform:scaleX(1)!important;transition:none!important;}
}
