/* Solutions only; the accepted product page and shared shell stay unchanged. */
.s21 .p19-hero-in { grid-template-columns:.9fr 1.1fr; gap:52px; padding-block:56px; }
.s21-hero-note { color:#677d71; font-size:13px; margin-top:24px; }
.s21-map { padding:28px; border:1px solid #fff; border-radius:22px; background:linear-gradient(135deg,#ffffffbd,#d5e8dc8f 68%,#fff0dfae); box-shadow:inset 0 1px #fff,0 30px 60px -46px #3d7966; }
.s21-map>p:first-child { font-size:13px; color:#3f6f65; margin-bottom:22px; }
.s21-map ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; list-style:none; padding:0; }
.s21-map li { position:relative; }
.s21-map li:not(:last-child):after { content:'→'; position:absolute; left:100%; top:45%; width:22px; text-align:center; color:#a46f47; }
.s21-map li a { display:block; padding:20px 12px; background:linear-gradient(140deg,#fff,#eef6efd9,#b7d6c68c); border:1px solid #fff; border-radius:8px; box-shadow:0 3px 0 #b7cec080; }
.s21-map li a:hover { background:#fff3e3; }
.s21-map li span { font-size:10px; color:#6e8676; }
.s21-map li b { display:block; font-size:17px; line-height:1.7; font-weight:550; margin:14px 0; }
.s21-map li small { font-size:10px; color:#5b7e6e; line-height:1.8; }
.s21-map-feedback { font-size:11px; color:#946144; padding:18px 0; border-bottom:1px solid #cddbcf; }
.s21-foundation { display:grid; grid-template-columns:56px repeat(3,1fr); gap:12px; align-items:center; margin-top:20px; }
.s21-foundation span { font-size:10px; color:#60816e; }
.s21-foundation a { font-size:12px; line-height:1.9; color:#32665b; border-left:2px solid #b8d0bf; padding-left:12px; }
.s21-page-nav { display:flex; gap:40px; padding-block:28px; border-bottom:1px solid #d9e3da; font-size:14px; }
.s21-page-nav a:hover,.s21-products a:hover { color:#b3572e; }
.s21-intro { padding-block:54px 20px; scroll-margin-top:100px; }
.s21 h2 { font-size:clamp(28px,3vw,40px); font-weight:550; line-height:1.4; letter-spacing:-.035em; }
.s21-intro h2 { margin:17px 0; }
.s21-intro>p:last-child { font-size:15px; line-height:1.9; max-width:680px; color:#597669; }
.s21-heading { display:grid; grid-template-columns:1.1fr 1fr; align-items:end; gap:70px; margin-bottom:34px; }
.s21-heading h2 { margin-top:22px; max-width:550px; text-wrap:balance; }
.s21-heading>p { font-size:16px; line-height:2; color:#527267; padding-bottom:4px; }
.s21 .s21-model { max-width:none; }
.s21 .p20-stage { max-height:440px; }
.s21-products { display:flex; flex-wrap:wrap; align-items:center; gap:18px 28px; padding-top:26px; font-size:13px; }
.s21-products>span { font-size:11px; color:#798779; }
.s21-industry-switch { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-bottom:1px solid #bfd3c4; margin-bottom:32px; gap:12px; }
.s21-industry-switch button { padding:17px 8px; min-height:52px; border:0; border-bottom:3px solid transparent; background:transparent; font:inherit; font-size:14px; color:#58766b; cursor:pointer; transition:background .2s,color .2s; }
.s21-industry-switch button[aria-pressed=true] { border-bottom-color:#c57645; color:#174e51; background:linear-gradient(0deg,#fff1dc99,transparent); }
.s21-industry-switch button:hover { background:#ffffff9e; }
.s21-industry-switch button:focus-visible,.s21 a:focus-visible { outline:3px solid #12636a; outline-offset:3px; }
.s21-industry-panel { padding:34px; border:1px solid #fff; border-radius:20px; background:linear-gradient(125deg,#fffdf9df,#e4f0e6b5 65%,#fff0e3a0); box-shadow:0 30px 50px -44px #437b65; scroll-margin-top:110px; }
.s21-industry-panel[hidden] { display:none; }
.s21-industry-panel h3 { font-size:25px; font-weight:500; margin:18px 0; line-height:1.5; }
.s21-industry-summary { font-size:14px; line-height:1.9; color:#5c7b6c; }
.s21-industry-work { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin:34px 0; }
.s21-industry-work article { position:relative; padding:26px 22px; background:linear-gradient(145deg,#ffffffea,#e9f3ecce,#b8d8c883); border:1px solid #fff; border-radius:10px; box-shadow:0 4px 0 #a9c8b47a; }
.s21-industry-work span { font-size:11px; color:#b07954; }
.s21-industry-work h4 { font-size:17px; font-weight:500; margin:18px 0 12px; }
.s21-industry-work p { font-size:13px; line-height:1.9; color:#5d7b6c; }
@media(max-width:1000px) { .s21 .p19-hero-in { grid-template-columns:1fr; gap:34px; } .s21-map { max-width:740px; width:100%; } .s21-heading { gap:32px; } }
@media(max-width:600px) { .s21 .p19-hero-in { padding-block:32px; } .s21 .p19-hero h1 { font-size:36px; } .s21-map { padding:20px 14px; } .s21-map ol { gap:16px; } .s21-map li a { padding:17px 8px; } .s21-map li:not(:last-child):after { width:16px; font-size:12px; } .s21-map li b { font-size:13px; } .s21-map li span { font-size:9px; } .s21-map li small { font-size:9px; } .s21-foundation { grid-template-columns:1fr 1fr 1fr; gap:10px; } .s21-foundation span { grid-column:1/-1; } .s21-foundation a { font-size:11px; padding-left:8px; } .s21-page-nav { gap:26px; font-size:12px; padding-block:22px; } .s21-intro { padding-block:38px 0; } .s21-heading { display:block; margin-bottom:25px; } .s21-heading>p { font-size:14px; margin-top:20px; } .s21 .p20-stage { height:560px; max-height:none; } .s21 .p20-node { padding-inline:5px; } .s21-products { gap:14px 20px; font-size:12px; } .s21-products>span { flex-basis:100%; } .s21-industry-switch { grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; } .s21-industry-switch button { font-size:12px; } .s21-industry-panel { padding:24px 18px; } .s21-industry-panel h3 { font-size:22px; } .s21-industry-work { grid-template-columns:1fr; gap:16px; margin-block:24px; } .s21-industry-work article { padding:22px; } }

/* V24: short front page, explanatory public detail pages. */
.s24-growth-tag { display:inline-block; color:#a2512d; background:#fff0dfb8; border:1px solid #f5d8b4; padding:7px 15px; border-radius:30px; font-size:13px; letter-spacing:.12em; margin:18px 0 0; }
.s24 .p19-hero .text-link { display:inline-block; margin-top:26px; }
.s24 .s21-page-nav { flex-wrap:wrap; }
.s24-why { padding-block:64px 20px; scroll-margin-top:110px; }
.s24-why h2 { margin-top:18px; }
.s24-advantage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:32px 0; }
.s24-advantage-grid article { padding:25px; border:1px solid #fff; border-radius:12px; background:linear-gradient(135deg,#ffffffeb,#e4efe7a9 72%,#fff0e0b0); box-shadow:inset 0 1px #fff,0 16px 30px -26px #437b65; }
.s24-advantage-grid b { font-size:28px; font-weight:500; color:#a85d38; }
.s24-advantage-grid h3 { font-size:16px; font-weight:500; line-height:1.7; margin:15px 0 0; }
.s24-why-line { color:#587668; font-size:15px; line-height:1.9; margin-bottom:20px; }
.s24-why .s24-advantage-grid p { margin-top:12px; font-size:14px; color:#587668; line-height:1.85; }
.s25-node-product { font-size:11px; line-height:1.6; color:#895637; background:#fff3e5c9; border:1px solid #efdbc2; border-radius:4px; padding:3px 6px; }
.s25-value { margin-top:30px; }
.s25-value ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin-top:18px; }
.s25-value li { border-left:3px solid #bf794d; padding:10px 16px; color:#215e58; font-size:17px; line-height:1.7; }
.s25-accelerators { margin-top:32px; }
.s25-accelerators h3 { font-size:20px; font-weight:500; line-height:1.7; margin-bottom:18px; }
.s25-accelerators ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; padding:0; }
.s25-accelerators li { padding:22px; border:1px solid #fff; border-radius:10px; background:linear-gradient(135deg,#ffffffed,#e6f0e8b0 72%,#fff0e0c0); box-shadow:0 4px 0 #bdd2c480; }
.s25-accelerators b { display:block; font-size:16px; font-weight:500; color:#215e58; margin-bottom:16px; }
.s25-accelerators span { display:block; font-size:13px; color:#788477; line-height:1.9; }
.s25-accelerators .s25-after { color:#946144; margin-top:8px; }
.s25-judgment { margin-top:26px; border-block:1px solid #d5e2d8; padding:18px 0; }
.s25-judgment summary { font-size:14px; color:#315e54; cursor:pointer; }
.s25-judgment summary:focus-visible { outline:3px solid #12636a; outline-offset:5px; }
.s25-judgment p { font-size:14px; color:#587668; line-height:1.9; margin:18px 0; }
.s25-judgment ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; list-style:none; padding:0; }
.s25-judgment li { display:flex; flex-wrap:wrap; gap:8px 14px; padding:14px; background:#ffffffa3; font-size:13px; line-height:1.8; color:#587668; }
.s25-judgment b { font-weight:500; color:#215e58; }
.s25-deliverable-label { font-size:11px; color:#798779; margin-top:24px; }
.s25-deliverable-label+.s24-outcomes { margin-top:12px; }
.s24-outcomes { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:25px 0 0; }
.s24-outcomes li { padding:9px 15px; font-size:13px; color:#215e58; border:1px solid #d1e0d4; background:#ffffffa3; border-radius:6px; }
.s24-services { flex-basis:100%; font-size:12px; line-height:1.9; color:#718171; margin:0; }
.s24-section-end { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid #d5e2d8; margin-top:25px; padding-top:23px; }
.s24-section-end p { font-size:14px; color:#587668; line-height:1.9; max-width:660px; }
.s24-section-end a { font-size:13px; flex-shrink:0; }
.s24-industry-flow { list-style:none; padding:0; gap:30px; }
.s24-industry-flow li { position:relative; padding:25px; border:1px solid #fff; border-radius:10px; background:linear-gradient(145deg,#fff,#e7f2e9ce,#b8d8c883); box-shadow:0 4px 0 #a9c8b47a; }
.s24-industry-flow li:not(:last-child):after { content:'→'; position:absolute; left:100%; top:45%; width:30px; text-align:center; color:#9f6845; }
.s24-industry-flow span { font-size:12px; color:#986247; }
.s24-industry-flow p { font-size:14px; line-height:1.9; color:#315e54; margin-top:20px; }
.s24-close { padding-block:65px 90px; }
.s24-close h2 { margin:20px 0; }
.s24-close p:not(.eyebrow) { font-size:15px; color:#587668; margin-bottom:25px; line-height:1.9; }
.s24-detail-hero { padding-block:54px; }
.s24-detail-hero h1 { font-size:clamp(32px,4vw,52px); max-width:850px; margin-top:25px; line-height:1.35; }
.s24-detail-hero .pg-lede { max-width:780px; }
.s24-article { max-width:1000px; padding-bottom:70px; }
.s24-detail-nav { display:flex; flex-wrap:wrap; gap:15px 30px; padding:26px 0; border-bottom:1px solid #d2dfd5; font-size:13px; }
.s24-article>section { padding:38px 0; scroll-margin-top:110px; border-bottom:1px solid #dce4dc; }
.s24-article h2 { font-size:28px; margin-bottom:20px; }
.s24-article h3 { font-size:18px; font-weight:500; margin:26px 0 15px; line-height:1.7; }
.s24-article p { font-size:16px; color:#4c6c60; line-height:2.1; max-width:850px; }
.s24-article .s24-outcomes { margin-bottom:20px; }
.s24-article .s24-measure { font-size:13px; margin-top:18px; }
.s24-article .s24-services { font-size:12px; }
.s24-article .s21-model { margin-top:35px; }
.s24-related { display:flex; flex-wrap:wrap; justify-content:space-between; gap:22px; padding-top:36px; font-size:14px; }
@media(max-width:1000px) { .s24-advantage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .s24-why .s24-advantage-grid p { font-size:12px; }
  .s25-node-product { font-size:9px; padding:2px 3px; }
  .s25-value ul { grid-template-columns:1fr; gap:10px; }
  .s25-value li { font-size:15px; padding-block:6px; }
  .s25-accelerators ol,.s25-judgment ul { grid-template-columns:1fr; gap:12px; }
  .s25-accelerators h3 { font-size:18px; }
  .s25-accelerators li { padding:18px; }
  .s24-why { padding-top:40px; }
  .s24-advantage-grid { gap:12px; }
  .s24-advantage-grid article { padding:18px; }
  .s24-advantage-grid h3 { font-size:14px; }
  .s24-section-end { align-items:flex-start; flex-direction:column; gap:15px; }
  .s24-outcomes li { font-size:12px; padding:8px 12px; }
  .s24-industry-flow { gap:26px; }
  .s24-industry-flow li:not(:last-child):after { content:'↓'; left:calc(50% - 15px); top:100%; height:26px; line-height:26px; }
  .s24-close { padding-block:35px 55px; }
  .s24-detail-hero { padding-block:30px; }
  .s24-detail-hero h1 { font-size:32px; }
  .s24-article>section { padding-block:28px; }
  .s24-article h2 { font-size:24px; }
  .s24-article p { font-size:15px; }
  .s24 .p20-node b { font-size:12px; line-height:1.6; }
  .s24 .p20-node small { font-size:9px; line-height:1.6; }
}

/* V26: dimensional glass and meaningful light paths, overview only. */
.s26-motion { --s26-ease:cubic-bezier(.18,.8,.2,1); }
.s26-motion .s21-map { position:relative; isolation:isolate; border:1px solid #fff; background:linear-gradient(130deg,#fffffff0,#edf6f1c9 56%,#fff1e4dc); box-shadow:inset 0 2px 0 #fff,inset -2px -2px 0 #bdd6cd8f,10px 14px 0 -2px #c8ded18a,11px 15px 0 -1px #fff,0 38px 52px -32px #35736563; }
.s26-motion .s21-map:before { content:''; position:absolute; z-index:-1; inset:-20px 18px 20px -18px; border:1px solid #fff; border-radius:inherit; background:linear-gradient(135deg,#ffffff9e,#c9e1d63d); transform:perspective(900px) rotateY(-5deg); box-shadow:0 10px 35px -24px #37766855; }
.s26-motion .s21-map ol { gap:25px; }
.s26-motion .s21-map li a { position:relative; background:linear-gradient(125deg,#ffffffed,#e8f3eddb 65%,#bddaceb5); border:1px solid #fff; box-shadow:inset 2px 2px 0 #fff,inset -1px -2px 0 #aacdbc80,5px 7px 0 #b6d3c5a8,0 16px 22px -18px #235e575c; transition:box-shadow .35s,background .35s; }
.s26-motion .s21-map li a:hover,.s26-motion .s21-map li a:focus-visible { background:linear-gradient(130deg,#fff,#fff0de,#f6d3b59c); box-shadow:inset 2px 2px #fff,5px 7px 0 #d3ad8899,0 20px 26px -18px #b66b3959; }
.s26-motion .s21-map li:not(:last-child):after { width:25px; color:#c37746; }
.s26-motion .s21-map li a:after { content:''; position:absolute; inset:auto 9px 0; height:3px; background:linear-gradient(90deg,transparent,#ffb774,#fff6dc,transparent); transform:scaleX(0); }
.s26-motion .s21-map.s26-entered li a:after { animation:s26-map-light 1.5s var(--s26-ease) .25s both; }
.s26-motion .s21-map.s26-entered li:nth-child(2) a:after { animation-delay:.6s; }
.s26-motion .s21-map.s26-entered li:nth-child(3) a:after { animation-delay:.95s; }
.s26-motion .s24-advantage-grid article,.s26-motion .s25-accelerators li { box-shadow:inset 0 2px #fff,inset -1px -1px #b8d2c466,5px 8px 0 -1px #c9dbce9e,0 20px 34px -24px #34745c48; }
.s26-motion .s26-scene { position:relative; isolation:isolate; border:1px solid #fff; border-radius:26px; background:radial-gradient(ellipse at 50% 44%,#fff6eaaa,transparent 64%),linear-gradient(130deg,#fffffff0,#edf6f0de 58%,#e5eee4b5); box-shadow:inset 0 2px #fff,inset -2px -2px #bfd5c97d,0 12px 0 -4px #c6dacfbd,0 13px 0 -3px #ffffffd9,0 36px 62px -32px #2c6f6145; }
.s26-motion .s26-scene figcaption { padding-top:30px; position:relative; z-index:1; }
.s26-motion .s26-scene .p20-stage { perspective:1000px; margin-block:20px 30px; max-height:480px; min-height:420px; }
.s26-foundation { pointer-events:none; position:absolute; inset:8% 2% 3%; border:1px solid #fffffff0; border-radius:22px; transform:rotateX(24deg) rotateZ(-3deg); transform-origin:50% 80%; background:linear-gradient(135deg,#fffffff0,#d8eae186 55%,#ffe9ce7d),repeating-linear-gradient(0deg,transparent 0 35px,#c5dacf49 36px 37px),repeating-linear-gradient(90deg,transparent 0 55px,#c5dacf49 56px 57px); box-shadow:inset 0 3px 0 #fff,inset -3px -3px 0 #accabd7a,0 14px 0 -2px #b8d5c66e,0 15px 0 -1px #ffffffba,0 24px 30px -12px #427e6752; }
.s26--customer-insight .s26-foundation { inset:10% 6% 7%; border-radius:50% 16% 50% 16%; transform:rotateX(31deg) rotateZ(-6deg); }
.s26--content-leads .s26-foundation { inset:8% 4% 6%; border-radius:32px; background:linear-gradient(135deg,#ffffffd9,#e0efe67a 52%,#ffead699); }
.s26--sales-decision .s26-foundation { inset:5% 15% 4%; transform:rotateX(30deg) rotateZ(6deg); border-radius:14px 45%; }
.s26--knowledge-expertise .s26-foundation { inset:6% 4% 8%; box-shadow:inset 0 3px #fff,0 13px 0 -2px #c5ddd0c4,0 14px 0 -1px #fff,0 26px 0 -5px #c5ddd078,0 27px 0 -4px #fff,0 37px 30px -18px #427e6749; }
.s26--collaboration .s26-foundation { inset:2% 12% 0; transform:rotateX(20deg) rotateZ(-4deg); border-radius:30% 16px; }
.s26--decision-support .s26-foundation { inset:6% 4% 8%; border-radius:18px; transform:rotateX(27deg) rotateZ(3deg); background:linear-gradient(130deg,#ffffffdf,#fff1de9c 50%,#d7eadd9c); }
.s26-motion .s26-scene .p20-stage>svg { overflow:visible; pointer-events:none; }
.s26-motion .s26-scene .p20-link { vector-effect:non-scaling-stroke; stroke:#87b6a7; stroke-width:5; opacity:.72; filter:drop-shadow(0 3px 1px #447b6526); }
.s26-motion .s26-scene .p20-link.is-flowing { stroke:#d79562; stroke-dasharray:none; animation:none; opacity:1; }
.s26-beam { fill:none; stroke:#ffbb76; stroke-width:4; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; opacity:0; filter:drop-shadow(0 0 4px #ef9149a8); }
.s26-beam.is-flowing { opacity:1; stroke-dasharray:16 120; stroke-dashoffset:16; animation:s26-transfer 2.2s cubic-bezier(.3,.4,.5,1) infinite; }
.s26-motion .s26-scene .p20-node { isolation:isolate; border:1px solid #fff; background:linear-gradient(128deg,#fffffff5,#edf6f1ef 45%,#c2dfd4d4); box-shadow:inset 2px 2px 0 #fff,inset -2px -2px 0 #afcebfaa,4px 10px 0 -1px #b5d4c3c2,5px 11px 0 -1px #fff,0 24px 30px -14px #37786048; transition:background .55s,border-color .4s,box-shadow .55s; }
.s26-motion .s26-scene .p20-node:before { content:''; pointer-events:none; position:absolute; inset:10px -7px -5px auto; width:8px; border-radius:0 3px 8px 0; transform:skewY(35deg); background:linear-gradient(90deg,#accdbf8c,#eaf5ebda); border-right:1px solid #fff; }
.s26-motion .s26-scene .p20-node:after { content:''; pointer-events:none; position:absolute; bottom:-11px; left:5px; right:-5px; height:11px; transform:skewX(28deg); border-radius:0 0 8px 8px; background:linear-gradient(0deg,#9fc7b783,#e0f0e6b8); border-bottom:1px solid #fff; }
.s26-motion .s26-scene .p20-node.is-flowing { background:linear-gradient(125deg,#fffdf5f5,#fff0dff0 50%,#f2c89dd9); box-shadow:inset 2px 2px #fff,inset -2px -2px #d7aa7bb3,4px 10px 0 -1px #e4bc92bf,5px 11px 0 -1px #fff,0 24px 36px -12px #dc934663; }
.s26-motion .s26-scene .p20-node.is-flowing:after { background:linear-gradient(0deg,#d6935b94,#ffdfbba8); }
.s26-motion .s26-scene .p20-node:hover,.s26-motion .s26-scene .p20-node[aria-pressed=true] { border-color:#b78359; box-shadow:inset 0 0 0 1px #ca9a72,inset 2px 2px #fff,4px 10px 0 -1px #d2b490c7,5px 11px 0 -1px #fff,0 27px 40px -15px #c5874c65; }
.s26-node-glint { position:absolute; inset:0; overflow:hidden; border-radius:inherit; pointer-events:none; }
.s26-node-glint:before { content:''; position:absolute; top:-50%; height:200%; width:34%; left:-50%; background:linear-gradient(90deg,transparent,#ffffffa1,transparent); transform:skewX(-22deg); }
.s26-motion .p20-node.is-flowing .s26-node-glint:before { animation:s26-refract 2.2s var(--s26-ease) infinite; }
.s26-motion .p20-node>b,.s26-motion .p20-node>small,.s26-motion .p20-node>.s25-node-product { position:relative; z-index:1; }
.s26-motion .s26-scene .p19-explain { padding:20px 24px; margin-top:10px; background:#ffffffa6; border:1px solid #fff; border-radius:12px; }
.s26-motion .s26-scene .p20-player { padding-block:18px; }
.s26-motion .s21-industry-switch button { transition:background .3s,border-color .3s,color .3s; }
.s26-motion .s21-industry-panel { box-shadow:inset 0 2px #fff,inset -2px -2px #c2d8cb7a,0 10px 0 -4px #c9decf9e,0 30px 45px -24px #3979643d; }
.s26-motion .s24-industry-flow li { border-radius:12px; background:linear-gradient(128deg,#ffffffed,#e8f4ece3 55%,#c4dfd2c2); box-shadow:inset 2px 2px #fff,inset -1px -2px #b5d1c49e,5px 9px 0 -1px #b9d4c5b8,0 22px 28px -16px #457d6740; }
.s26-motion .s24-industry-flow li:nth-child(2) { background:linear-gradient(125deg,#fffdf5,#fff0dede,#f6d0aabf); box-shadow:inset 2px 2px #fff,inset -1px -2px #e1ba929e,5px 9px 0 -1px #e2bf98a8,0 22px 28px -16px #b6824840; }
.s26-motion .s24-industry-flow li:not(:last-child):after { font-size:20px; color:#be8055; }
.s26-motion .s26-scene[data-paused=true] .s26-beam,.s26-motion .s26-scene[data-paused=true] .s26-node-glint:before,.s26-motion.s26-suspended *,.s26-motion.s26-suspended *:before,.s26-motion.s26-suspended *:after { animation-play-state:paused!important; }
.s26-motion .s26-entered:not(.s26-scene) { animation:s26-arrive .9s var(--s26-ease) both; }
.s26-motion .s26-scene.s26-entered .s26-foundation { animation:s26-foundation-arrive 1.2s var(--s26-ease) both; }
@keyframes s26-transfer { 0% { stroke-dashoffset:16; opacity:0; } 12% { opacity:1; } 82% { opacity:1; } 100% { stroke-dashoffset:-100; opacity:0; } }
@keyframes s26-refract { 0%,10% { translate:0; opacity:0; } 24% { opacity:.75; } 85%,100% { translate:500%; opacity:0; } }
@keyframes s26-map-light { 0% { transform:scaleX(0); opacity:0; } 40% { transform:scaleX(1); opacity:1; } 100% { transform:scaleX(1); opacity:.25; } }
@keyframes s26-arrive { from { opacity:.4; translate:0 24px; } to { opacity:1; translate:0 0; } }
@keyframes s26-foundation-arrive { from { opacity:.15; translate:0 24px; } to { opacity:1; translate:0 0; } }
@media(max-width:1000px) { .s26-motion .s21-map { margin:12px 0 22px; } }
@media(max-width:600px) {
  .s26-motion .s21-map:before { inset:-12px 10px 12px -8px; }
  .s26-motion .s21-map ol { gap:16px; }
  .s26-motion .s21-map li:not(:last-child):after { width:16px; }
  .s26-motion .s21-map li a { box-shadow:inset 1px 1px #fff,3px 5px 0 #b6d3c5a8,0 16px 22px -18px #235e575c; }
  .s26-motion .s26-scene { border-radius:20px; }
  .s26-motion .s26-scene .p20-stage { height:560px; min-height:0; max-height:none; margin-block:12px 22px; }
  .s26-motion .s26-scene .p20-link { stroke-width:3; }
  .s26-beam { stroke-width:3; filter:none; }
  .s26-motion .s26-scene .p20-node { box-shadow:inset 1px 1px #fff,inset -1px -1px #afcebfaa,2px 6px 0 #b5d4c3c2,0 16px 25px -13px #37786048; }
  .s26-motion .s26-scene .p20-node:before { right:-4px; width:5px; }
  .s26-motion .s26-scene .p20-node:after { bottom:-6px; height:6px; left:3px; right:-2px; }
  .s26-motion .s26-scene .p19-explain { padding:16px; }
  .s26-foundation { box-shadow:inset 0 2px #fff,0 8px 0 -2px #b8d5c68c,0 20px 28px -12px #427e6752; }
}
@media(prefers-reduced-motion:reduce) {
  .s26-motion *, .s26-motion *:before, .s26-motion *:after { animation:none!important; transition:none!important; }
  .s26-motion .s26-beam { display:none; }
}

/* V27: one readable outcome story, customer overview only. */
.s27-delivery { margin-top:40px; scroll-margin-top:110px; }
.s27-delivery h3 { font-size:clamp(24px,2.4vw,30px); line-height:1.5; font-weight:550; color:#174f4c; text-wrap:balance; }
.s27-delivery p { font-size:16px; line-height:1.85; color:#41665b; margin:12px 0 0; text-wrap:pretty; }
.s27-delivery>header p { max-width:760px; }
.s27-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:0; margin:26px 0 32px; list-style:none; }
.s27-result-grid li { position:relative; padding:26px 28px; border:1px solid #fff; border-radius:12px; background:linear-gradient(130deg,#fffffff2,#e7f1ead6 80%); box-shadow:inset 0 2px #fff,0 5px 0 -1px #c2d8cbbb,0 18px 28px -24px #35746566; }
.s27-number { display:block; font-size:14px; font-variant-numeric:tabular-nums; color:#976244; margin-bottom:12px; }
.s27-delivery h4 { font-size:20px; line-height:1.55; font-weight:550; color:#174f4c; margin:0; }
.s27-support { display:grid; grid-template-columns:1.1fr 1fr; gap:36px; padding:30px 0; border-top:1px solid #c7d9cc; }
.s27-support>section { min-width:0; }
.s27-product-roles,.s27-service-actions { list-style:none; padding:0; margin:20px 0 0; }
.s27-product-roles li+li { margin-top:22px; }
.s27-product-roles a { display:inline-block; font-size:18px; line-height:1.6; color:#215e58; text-decoration:underline; text-decoration-color:#94b9aa; text-underline-offset:6px; }
.s27-product-roles a:hover { color:#a2512d; }
.s27-product-roles p { margin-top:9px; }
.s27-service-actions li { font-size:16px; line-height:1.85; color:#41665b; padding:12px 0 12px 20px; position:relative; border-bottom:1px solid #d8e3da; }
.s27-service-actions li:before { content:''; width:6px; height:6px; background:#b6784f; position:absolute; top:24px; left:0; }
.s27-change { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:28px 30px; background:linear-gradient(110deg,#fff3e3d9,#fffaf1c9 55%,#edf3ea99); border-left:3px solid #b6784f; border-radius:0 12px 12px 0; }
.s27-change h3 { font-size:24px; }
.s27-change p { max-width:740px; }
.s27-change a { flex-shrink:0; font-size:16px; line-height:1.8; }
@media(max-width:600px) {
  .s27-delivery { margin-top:30px; }
  .s27-result-grid,.s27-support { grid-template-columns:1fr; gap:18px; }
  .s27-result-grid li { padding:23px; }
  .s27-support { gap:30px; padding-block:26px; }
  .s27-change { flex-direction:column; align-items:flex-start; gap:20px; padding:24px; }
}
