/* Visible, continuous movement with one shared pause setting per page. */
.continuous-pause { font:inherit; font-size:11px; color:#716e60; border:0; padding:0 4px; background:transparent; min-height:36px; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.continuous-pause:focus-visible { outline:3px solid #a36c4a; outline-offset:4px; }
.brand[data-ambient-motion]::before { animation:cm-brand 7s ease-in-out infinite; animation-play-state:var(--ambient-play,paused); }
.gh-hero > .wrap { padding-top:45px; }
.gh-hero h1 { font-size:clamp(48px,6vw,76px); line-height:1.09; }
.gh-copy { max-width:980px; }
.gh-lead { max-width:730px; font-size:17px; line-height:1.8; margin-top:24px; }
.gh-eyebrow { letter-spacing:.04em; margin-bottom:22px; }
.gh-composition { aspect-ratio:1120/390; margin-top:20px; }
.gh-composition > .gh-flow { position:absolute; inset:0 0 auto; width:100%; height:92.3%; transform:none; }
.gh-composition > .gh-flow--mobile { display:none; }
.gh-wire { stroke:#d9c4b2; stroke-width:1.5; }
.gh-wire--0 { stroke:#bec9b0; }
.gh-wire--2 { stroke:#dbc59f; }
.gh-particle { fill:#c7804e; stroke:#fff8ed; stroke-width:2; }
.gh-particle--0 { fill:#829969; }
.gh-particle--2 { fill:#bb9c5e; }
.gh-inputs,.gh-outputs { top:3.3%; bottom:11%; width:23%; font-size:13px; justify-content:space-between; align-items:stretch; }
.gh-inputs { left:0; }
.gh-outputs { right:0; }
.gh-inputs > span,.gh-outputs > span { display:flex; align-items:center; gap:10px; background:#fffcf8; border:1px solid #d9c8b6; border-radius:11px; padding:12px 14px; min-height:66px; line-height:1.5; transition:background 1s,border-color 1s; text-align:left; }
.gh-inputs b,.gh-outputs b { flex:none; display:grid; place-items:center; width:23px; height:23px; background:#f2eadd; border-radius:50%; color:#8a6543; font-size:10px; font-weight:500; }
.gh-outputs b { background:#e9efdf; color:#5b7544; }
.gh-composition[data-stage="0"] :is(.gh-inputs,.gh-outputs)>span:nth-child(1),.gh-composition[data-stage="1"] :is(.gh-inputs,.gh-outputs)>span:nth-child(2),.gh-composition[data-stage="2"] :is(.gh-inputs,.gh-outputs)>span:nth-child(3) { background:#f4e4d3; border-color:#bd8c67; }
.gh-brand-tile { top:46.15%; width:29%; height:170px; animation:cm-engine-float 8s ease-in-out infinite; animation-play-state:var(--ambient-play,paused); }
.gh-tile-inner small { color:#fff7ef; font-size:10px; }
.gh-tile-inner strong { font-size:clamp(28px,3.3vw,43px); margin-top:3px; margin-bottom:1px; }
.cm-engine { display:flex; align-items:center; justify-content:center; gap:4px; height:28px; margin:2px 0 8px; }
.cm-engine > i { display:block; width:4px; height:18px; background:#fff4e6; border-radius:5px; transform-origin:center; animation:cm-process 2.8s ease-in-out infinite; animation-play-state:var(--ambient-play,paused); }
.cm-engine > i:nth-child(2) { animation-delay:-.5s; height:24px; }
.cm-engine > i:nth-child(3) { animation-delay:-1s; height:28px; }
.cm-engine > i:nth-child(4) { animation-delay:-1.5s; height:22px; }
.cm-engine > i:nth-child(5) { animation-delay:-2s; height:16px; }
.cm-caption { position:absolute; bottom:0; left:0; width:100%; display:flex; justify-content:center; gap:8px; align-items:center; }
.cm-caption > span { flex:none; width:6px; height:6px; border-radius:50%; background:#8b9c70; box-shadow:0 0 0 4px #8b9c7016; animation:cm-signal 3s ease-in-out infinite; animation-play-state:var(--ambient-play,paused); }
.cm-caption > p { font-size:11px; color:#827158; line-height:1.7; margin:0; }
.cm-mini { flex:none; display:grid; place-items:center; width:132px; height:106px; border-radius:12px; background:#e9eee0; color:#8c9d73; overflow:hidden; }
.cm-mini svg { width:122px; height:95px; stroke:currentColor; stroke-width:1.2; }
.cm-mini rect { fill:#f7f9f1; }
.cm-mini .cm-slot,.cm-mini .cm-ticket { fill:#cc8855; stroke:#ae6f3d; }
.cm-mini .cm-orange-dot { fill:#c27c45; stroke:#fff5e9; stroke-width:.7; }
.cm-mini .cm-active-line { fill:#e9bf97; stroke:none; }
.cm-mini .cm-cursor { fill:#ab6b3e; stroke:#fff8ef; stroke-width:1; }
.gh-discover .go-capability { align-items:center; }
.gh-discover .go-capability h3 { font-size:18px; }
.gh-discover .go-capabilities { column-gap:36px; }
.go-practice-preview[data-ambient-motion] .go-preview-row { animation:cm-row 12s ease-in-out infinite; animation-play-state:var(--ambient-play,paused); border-radius:7px; }
.go-practice-preview[data-ambient-motion] .go-preview-row:nth-child(3) { animation-delay:-8s; }
.go-practice-preview[data-ambient-motion] .go-preview-row:nth-child(4) { animation-delay:-4s; }
:is(.dcap,.story-values,.scan-deliverables)[data-ambient-motion] :is(.dcap__n,.story-values__symbol,.scan-deliverable__icon) > svg { animation:cm-icon 6s ease-in-out infinite; animation-play-state:var(--ambient-play,paused); }
:is(.dcap,.story-values,.scan-deliverables)[data-ambient-motion] > :nth-child(2n) svg { animation-delay:-3s; }
.dstappen[data-ambient-motion] > li { position:relative; overflow:hidden; }
.dstappen[data-ambient-motion] > li::after { content:''; position:absolute; bottom:0; left:0; height:3px; width:100%; background:#91a579; transform-origin:left; animation:cm-step 16s linear infinite; animation-play-state:var(--ambient-play,paused); }
.dstappen[data-ambient-motion] > li:nth-child(2)::after { animation-delay:-12s; }
.dstappen[data-ambient-motion] > li:nth-child(3)::after { animation-delay:-8s; }
.dstappen[data-ambient-motion] > li:nth-child(4)::after { animation-delay:-4s; }
.compact-groups[data-ambient-motion] > article { position:relative; overflow:hidden; }
.compact-groups[data-ambient-motion] > article::after { content:''; position:absolute; left:0; top:0; width:22%; height:3px; border-radius:3px; background:#bd9976; animation:cm-accent 10s ease-in-out infinite; animation-play-state:var(--ambient-play,paused); }
.compact-groups[data-ambient-motion] > article:nth-child(2)::after { animation-delay:-3.3s; }
.compact-groups[data-ambient-motion] > article:nth-child(3)::after { animation-delay:-6.6s; }
.calm-steps[data-ambient-motion] > li > span { animation:cm-step-number 12s ease-in-out infinite; animation-play-state:var(--ambient-play,paused); }
.calm-steps[data-ambient-motion] > li:nth-child(2) > span { animation-delay:-8s; }
.calm-steps[data-ambient-motion] > li:nth-child(3) > span { animation-delay:-4s; }
@keyframes cm-brand { 0%,100% { transform:rotate(-8deg); } 50% { transform:rotate(4deg); border-radius:6px; } }
@keyframes cm-engine-float { 0%,100% { transform:translate(-50%,-50%) rotate(-2deg); } 50% { transform:translate(-50%,calc(-50% - 7px)) rotate(0deg); } }
@keyframes cm-process { 0%,100% { transform:scaleY(.45); opacity:.65; } 50% { transform:scaleY(1); opacity:1; } }
@keyframes cm-signal { 0%,100% { box-shadow:0 0 0 3px #8b9c7016; } 50% { box-shadow:0 0 0 6px #8b9c7020; } }
@keyframes cm-roster { 0%,20%,100% { transform:translateX(0); } 45%,75% { transform:translateX(20px); } }
@keyframes cm-customer { 0%,15%,100% { transform:translateX(0); } 35%,55% { transform:translateX(29px); } 75%,90% { transform:translateX(58px); } }
@keyframes cm-node { 0%,30% { fill:#d4bd9d; stroke:#a78561; } 38%,92% { fill:#f7f9f1; stroke:#91a078; } 100% { fill:#d4bd9d; stroke:#a78561; } }
@keyframes cm-transfer { 0%,100% { transform:translateX(0); } 50% { transform:translateX(29px); } }
@keyframes cm-transfer-back { 0%,100% { transform:translateX(0); } 50% { transform:translateX(-29px); } }
@keyframes cm-build { 0%,100% { stroke-dashoffset:36; } 40%,80% { stroke-dashoffset:0; } }
@keyframes cm-chat { 0%,70%,100% { transform:translateY(0); } 35% { transform:translateY(-5px); } }
@keyframes cm-row { 0%,28% { background:#f5eadb; } 38%,90% { background:transparent; } 100% { background:#f5eadb; } }
@keyframes cm-icon { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }
@keyframes cm-step { 0% { transform:scaleX(0); opacity:1; } 24% { transform:scaleX(1); opacity:1; } 32%,90% { transform:scaleX(1); opacity:0; } 100% { transform:scaleX(0); opacity:0; } }
@keyframes cm-accent { 0%,100% { left:0; } 50% { left:78%; } }
@keyframes cm-step-number { 0%,28% { background:#d8ad8b; box-shadow:0 0 0 4px #d8ad8b20; } 38%,90% { background:#f6e5dc; box-shadow:0 0 0 0 transparent; } 100% { background:#d8ad8b; box-shadow:0 0 0 4px #d8ad8b20; } }
@media(max-width:1050px) and (min-width:901px) {
 .nav a { font-size:12px; padding-inline:8px; }
 .site-header__bar { gap:16px; }
}
@media(max-width:900px) {
 .gh-hero h1 { font-size:clamp(42px,6.7vw,64px); }
 .gh-brand-tile { height:144px; }
 .gh-inputs,.gh-outputs { font-size:11px; }
 .gh-inputs > span,.gh-outputs > span { padding:9px; gap:6px; min-height:55px; }
 .gh-inputs b,.gh-outputs b { width:18px; height:18px; }
 .gh-tile-inner small { font-size:8px; }
 .cm-mini { width:110px; height:90px; }
 .cm-mini svg { width:103px; height:80px; }
 .gh-discover .go-capabilities { column-gap:24px; }
}
@media(max-width:760px) {
 .gh-discover .go-capabilities { grid-template-columns:1fr; }
 .cm-mini { width:132px; height:106px; }
 .cm-mini svg { width:122px; height:95px; }
}
@media(max-width:640px) {
 .gh-hero > .wrap { padding-top:34px; }
 .gh-hero h1 { font-size:clamp(31px,8.2vw,48px); letter-spacing:-.05em; }
 .gh-eyebrow { font-size:8px; letter-spacing:.015em; gap:6px; }
 .gh-lead { font-size:14px; line-height:1.85; margin:20px auto; }
 .gh-composition { height:450px; aspect-ratio:auto; margin-top:24px; overflow:visible; }
 .gh-composition > .gh-flow--desktop { display:none; }
 .gh-composition > .gh-flow--mobile { display:block; width:100%; height:100%; inset:0; max-width:100%; }
 .gh-brand-tile { width:225px; max-width:85%; height:148px; top:50%; }
 .gh-inputs,.gh-outputs { width:100%; left:0; right:0; bottom:auto; gap:6px; flex-direction:row; }
 .gh-inputs { top:3%; }
 .gh-outputs { top:auto; bottom:10%; }
 .gh-inputs > span,.gh-outputs > span { flex:1; min-width:0; text-align:center; justify-content:center; min-height:75px; padding:8px 5px; font-size:11px; line-height:1.5; }
 .gh-inputs b,.gh-outputs b { display:none; }
 .cm-caption { bottom:0; gap:7px; }
 .cm-caption > p { font-size:10px; max-width:90%; }
 .gh-tile-inner strong { font-size:37px; }
 .gh-tile-inner i,.gh-tile-inner small { font-size:9px; }
 .cm-mini { width:106px; height:88px; }
 .cm-mini svg { width:100px; height:78px; }
 .gh-discover .go-capability { gap:13px; }
 .gh-discover .go-capability h3 { font-size:17px; }
 .go-capability-arrow { flex:none; }
 .gh-hero-foot > [data-motion-status] { display:block; flex-basis:100%; text-align:center; font-size:10px; line-height:1.6; }
}
@media(max-width:380px) {
 .cm-mini { width:88px; height:76px; }
 .cm-mini svg { width:84px; height:66px; }
 .gh-discover .go-capability { gap:10px; }
 .gh-discover .go-capability h3 { font-size:16px; }
 .gh-discover .go-capability-arrow { width:22px; height:22px; }
}
@media(prefers-reduced-motion:reduce) {html:not([data-explicit-motion="aan"]) [data-ambient-motion]:not([data-user-motion="true"]),
 html:not([data-explicit-motion="aan"]) [data-ambient-motion]:not([data-user-motion="true"])::before,
 html:not([data-explicit-motion="aan"]) [data-ambient-motion]:not([data-user-motion="true"]) *,
 html:not([data-explicit-motion="aan"]) [data-ambient-motion]:not([data-user-motion="true"]) *::after{ animation:none!important; transition:none!important; }
}
/* Demos and customer stories have separate routes and clear labels. */
.example-types { display:grid; grid-template-columns:1fr 1fr; max-width:740px; gap:12px; margin-top:32px; }
.example-types a { display:flex; flex-direction:column; gap:5px; padding:17px 20px; border:1px solid #dfd5c7; border-radius:10px; color:#555f4d; text-decoration:none; background:#fffdfa; }
.example-types strong { font-size:14px; }
.example-types span { font-size:12px; color:#7b7b6d; }
.example-types a[aria-current="page"] { border-color:#b88966; background:#f4e6d9; }
.example-types a:hover { border-color:#a77b56; }
.cases-teaser { padding:44px 0; background:#f1f3ea; border-block:1px solid #e0e5d6; }
.cases-teaser .wrap { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cases-teaser h2 { font-size:27px; letter-spacing:-.035em; margin:0 0 12px; }
.cases-teaser p:not(.eyebrow) { max-width:620px; font-size:14px; line-height:1.8; margin:0; color:#747866; }
.cases-teaser .link-arrow { flex:none; }
.case-context { padding:0 0 70px; }
.case-context > .wrap { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; }
.case-privacy { padding:38px; background:#f6eadf; border:1px solid #e4ccb7; border-radius:16px; }
.case-symbol { display:block; color:#ad7854; margin-bottom:24px; }
.case-privacy h2,.case-explanation h2 { font-size:29px; letter-spacing:-.035em; line-height:1.2; margin-bottom:22px; }
.case-privacy p:not(.eyebrow),.case-explanation p,.case-availability p:not(.eyebrow) { font-size:14px; color:#777264; line-height:1.85; }
.case-privacy p:last-child { margin-bottom:0; }
.case-explanation ol { list-style:none; padding:0; margin:0; counter-reset:case; }
.case-explanation li { counter-increment:case; border-top:1px solid #e3dfd3; padding:20px 0; }
.case-explanation li strong::before { content:'0' counter(case) ' / '; color:#af8565; padding-right:10px; }
.case-explanation strong { font-size:15px; }
.case-explanation p { margin:9px 0 0; }
.case-availability { padding:55px 0; background:#f2f4ec; }
.case-availability .wrap { max-width:860px; }
.case-availability h2 { font-size:30px; letter-spacing:-.035em; max-width:620px; }
.case-availability .page-head__actions { margin-top:26px; }
.go-case-links > a > .cm-mini { display:grid; margin-bottom:22px; width:100%; height:120px; color:#8c9d73; }
.go-case-links > a > .cm-mini svg { width:135px; height:105px; }
@media(max-width:760px) {
 .cases-teaser .wrap { flex-direction:column; align-items:start; gap:25px; }
 .case-context > .wrap { grid-template-columns:1fr; gap:35px; }
 .case-privacy { padding:26px; }
 .case-context { padding-bottom:40px; }
}
@media(max-width:520px) {
 .example-types { grid-template-columns:1fr; gap:8px; }
 .example-types a { padding:13px 16px; }
 .case-availability h2 { font-size:26px; }
}
.case-upcoming { padding:0 0 65px; }
.case-upcoming h2 { font-size:27px; letter-spacing:-.035em; margin-bottom:25px; }
.case-upcoming-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.case-upcoming-grid article { border:1px solid #dedfd4; border-radius:12px; padding:22px; background:#fbfaf6; }
.case-upcoming-grid .cm-mini { width:100%; height:150px; margin-bottom:24px; }
.case-upcoming-grid .cm-mini svg { width:158px; height:122px; }
.case-upcoming-grid h3 { font-size:21px; margin:14px 0 12px; letter-spacing:-.03em; }
.case-upcoming-grid p:not(.case-progress-label) { font-size:14px; line-height:1.8; color:#767968; margin:0; }
.case-progress-label { font-size:10px; color:#98633d; margin:0; }
.case-upcoming-note { font-size:12px; color:#7e7b70; margin-top:20px; line-height:1.7; }
@media(max-width:760px) {
 .case-upcoming-grid { grid-template-columns:1fr; gap:15px; }
 .case-upcoming-grid .cm-mini { height:130px; }
 .case-upcoming { padding-bottom:45px; }
}
