/* Homepage engagement additions. Existing semantic tokens supply both themes. */
.gradient-home{--engage-radius:22px;--engage-shadow:0 20px 64px color-mix(in srgb,var(--gradient-night) 13%,transparent)}
.gradient-home .gradient-opening{background:var(--gradient-canvas);color:var(--gradient-ink)}
.gradient-home .gradient-opening::after{background:linear-gradient(90deg,var(--gradient-canvas) 0%,color-mix(in srgb,var(--gradient-canvas) 95%,transparent) 40%,color-mix(in srgb,var(--gradient-canvas) 60%,transparent))}
.gradient-home .gradient-hero-art{opacity:.36}
.gradient-home .gradient-hero-content{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;min-height:700px;padding-block:88px 72px}
.gradient-home .gradient-hero-content h1{font-size:clamp(48px,5vw,72px);letter-spacing:-.045em;line-height:1.04;max-width:680px}
.gradient-home .gradient-hero-content h1 span{color:var(--gradient-accent)}
.gradient-home .gradient-lede,.gradient-home .gradient-hero-foot{color:var(--gradient-muted)}
.gradient-home .gradient-opening .gradient-text-link{color:var(--gradient-accent)}
.gradient-home .gradient-opening .gradient-button{background:var(--gradient-action);color:var(--gradient-action-ink)}
.gradient-home .gradient-hero-foot{background:transparent;backdrop-filter:none}
.gradient-home .gradient-hero-foot .motion-control{background:var(--gradient-canvas);color:var(--gradient-ink);border-color:var(--gradient-line)}
.hero-workflow{position:relative;min-width:0;padding:28px;border:1px solid var(--gradient-line);border-radius:var(--engage-radius);background:color-mix(in srgb,var(--gradient-canvas) 94%,transparent);box-shadow:var(--engage-shadow)}
.hero-workflow::before{content:"";position:absolute;inset:14px -12px -14px 12px;border:1px solid var(--gradient-line);border-radius:inherit;z-index:-1;background:var(--gradient-soft);transform:rotate(2deg)}
.workflow-topline{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--gradient-muted);margin-bottom:24px}
.gradient-home .hero-workflow h2{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:0 0 24px}
.workflow-stages{list-style:none;display:grid;gap:0;margin:0;padding:0}
.workflow-stages li{position:relative;padding:0 0 22px 0}
.workflow-stages li:not(:last-child)::after{content:"";position:absolute;inset-inline-start:19px;bottom:0;height:22px;width:1px;background:var(--gradient-line)}
.workflow-stages button{display:flex;gap:16px;align-items:center;text-align:start;width:100%;background:transparent;border:0;padding:0;color:var(--gradient-muted);cursor:pointer;min-height:52px;border-radius:8px}
.workflow-stages .workflow-stage-number{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--gradient-line);border-radius:50%;font-size:12px;transition:background .22s,color .22s}
.workflow-stages button strong{display:block;font-size:16px;font-weight:500;color:var(--gradient-ink)}
.workflow-stages button small{display:block;font-size:12px;margin-top:4px}
.workflow-stages button[aria-pressed=true]>.workflow-stage-number{background:var(--gradient-action);color:var(--gradient-action-ink);border-color:var(--gradient-action)}
.workflow-evidence{background:var(--gradient-soft);border:1px solid var(--gradient-line);padding:20px;border-radius:12px;min-height:135px}
.workflow-evidence>span{font-size:11px;color:var(--gradient-accent)}
.workflow-evidence p{font-size:15px;margin:8px 0 0;color:var(--gradient-ink)}
.workflow-evidence small{display:block;margin-top:10px;font-size:12px;color:var(--gradient-muted)}
.workflow-replay{font:inherit;font-size:13px;min-height:44px;background:none;color:var(--gradient-accent);border:0;padding:12px 0 0;cursor:pointer;text-align:start}
html[data-effects=enabled] .workflow-evidence.is-changing{animation:evidence-arrive .35s ease-out}
@keyframes evidence-arrive{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}
.sample-selector{display:flex;gap:10px;flex-wrap:wrap;border:0;padding:0;margin:0 0 24px}
.sample-selector legend{font-size:13px;color:var(--gradient-muted);margin-bottom:12px}
.sample-selector button{padding:12px 18px;min-height:46px;border:1px solid var(--gradient-line);border-radius:30px;color:var(--gradient-ink);background:var(--gradient-canvas);cursor:pointer;transition:background .18s}
.sample-selector button[aria-pressed=true]{background:var(--gradient-action);color:var(--gradient-action-ink);border-color:var(--gradient-action)}
.sample-panel{min-width:0}.sample-panel[hidden],.sample-selector[hidden],[data-scene-controls][hidden]{display:none!important}
.sample-alternate{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--gradient-line);border-radius:20px;overflow:hidden;background:var(--gradient-canvas)}
.sample-input,.sample-output{padding:38px}.sample-input{background:var(--gradient-soft);border-inline-end:1px solid var(--gradient-line)}
.sample-input>span,.sample-output>span{display:block;font-size:12px;color:var(--gradient-accent);margin-bottom:20px}
.gradient-home .sample-alternate h3{font-size:28px;line-height:1.15;margin:0 0 18px}
.sample-alternate p,.sample-alternate li{font-size:16px;color:var(--gradient-muted)}
.sample-alternate blockquote{margin:0 0 28px;padding:0;line-height:1.7;font-size:19px}
.sample-alternate ul{padding-inline-start:20px;margin:20px 0}
.sample-alternate li{margin-block:10px}
.sample-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
.sample-actions button{cursor:pointer;border:0;font-family:inherit}
.sample-result{min-height:52px;padding-top:20px;border-top:1px solid var(--gradient-line);margin-top:24px!important;color:var(--gradient-ink)!important}
.sample-fineprint{font-size:12px!important;color:var(--gradient-muted);margin-top:20px}
.selected-work{padding-block:96px;border-bottom:1px solid var(--gradient-line)}
.selected-work .gradient-section-heading{align-items:start}
.work-feature{display:grid;grid-template-columns:.65fr 1.35fr;gap:48px;align-items:center;margin-top:42px}
.work-feature-copy .gradient-product-label{margin-bottom:16px}
.gradient-home .work-feature h3{font-size:36px;line-height:1.12;margin:0 0 20px}
.work-feature-copy p{font-size:16px;color:var(--gradient-muted)}
.product-figure{margin:0;min-width:0}
.product-figure>a{display:block;border:1px solid var(--gradient-line);border-radius:16px;overflow:hidden;background:var(--gradient-night);box-shadow:var(--engage-shadow)}
.product-figure img{display:block;width:100%;height:auto;transition:transform .4s ease}
.product-figure figcaption{font-size:12px;color:var(--gradient-muted);margin-top:14px;line-height:1.6}
.work-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.work-details article{padding:30px;border:1px solid var(--gradient-line);border-radius:16px;background:var(--gradient-soft)}
.gradient-home .work-details h3{font-size:25px;line-height:1.2;margin:16px 0 12px}
.work-details p{color:var(--gradient-muted);font-size:15px;margin:0}
.work-details .gradient-product-label{margin-bottom:0}
.workforce-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:22px 0}
.workforce-strip span{padding:10px 14px;border:1px solid var(--gradient-line);border-radius:8px;background:var(--gradient-canvas);font-size:12px}
.gradient-home .home-paths{display:block}
.gradient-home .home-paths>div{max-width:650px}
.gradient-home .home-paths ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px;padding:0}
.gradient-home .home-paths li{display:flex;flex-direction:column;align-items:flex-start;padding:30px!important;border:1px solid var(--gradient-line);border-radius:16px;background:var(--gradient-soft);margin:0}
.gradient-home .home-paths li h3{font-size:25px;line-height:1.2;margin:0 0 16px}
.gradient-home .home-paths li p{font-size:16px;flex:1;margin:0 0 20px}
.gradient-home .home-paths li a{min-height:44px;display:inline-flex;align-items:center}
.gradient-home .service-card:focus-within{border-color:var(--gradient-accent)}
.gradient-home .service-card{transition:border-color .2s,box-shadow .2s}
.gradient-home .service-card:hover{box-shadow:var(--engage-shadow)}
.gradient-home .gradient-closing{background:radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--gradient-accent) 15%,transparent),transparent 65%),var(--gradient-soft);color:var(--gradient-ink)}
.gradient-home .gradient-closing .gradient-button{background:var(--gradient-action);color:var(--gradient-action-ink)}
.gradient-home .gradient-closing .gradient-text-link{color:var(--gradient-accent)}
.gradient-home .gradient-closing h2{font-size:clamp(40px,6vw,76px)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.product-figure>a:hover img{transform:scale(1.02)}}
@media(max-width:1100px){.gradient-home .gradient-hero-content{gap:36px;padding-block:64px}.gradient-home .gradient-hero-content h1{font-size:54px}.hero-workflow{padding:24px}.work-feature{gap:30px;grid-template-columns:.8fr 1.2fr}.gradient-home .home-paths li{padding:24px!important}}
@media(max-width:800px){.gradient-home .gradient-hero-content{grid-template-columns:1fr;min-height:0;padding-block:54px 42px;gap:38px}.gradient-home .gradient-hero-content h1{font-size:clamp(42px,8vw,62px)}.hero-workflow{max-width:620px;width:100%;justify-self:center}.gradient-home .gradient-lede{max-width:580px}.gradient-home .gradient-hero-foot{flex-wrap:wrap}.work-feature{grid-template-columns:1fr;gap:24px}.selected-work{padding-block:64px}.sample-alternate{grid-template-columns:1fr}.sample-input{border-inline-end:0;border-bottom:1px solid var(--gradient-line)}.sample-input,.sample-output{padding:28px}.gradient-home .home-paths ul{grid-template-columns:1fr}.work-details{grid-template-columns:1fr}.gradient-home .home-paths li{padding:28px!important}.gradient-home .gradient-hero-art img{object-position:center}}
@media(max-width:480px){.gradient-home .gradient-hero-content h1{font-size:clamp(38px,10vw,48px)}.hero-workflow{padding:22px 18px}.workflow-topline{font-size:11px}.gradient-home .hero-workflow h2{font-size:23px}.workflow-stages button strong{font-size:15px}.workflow-stages button small{font-size:11px}.sample-selector{gap:8px}.sample-selector button{flex:1 1 100%;text-align:start}.sample-input,.sample-output{padding:24px}.gradient-home .sample-alternate h3{font-size:26px}.work-details article{padding:24px}.gradient-home .work-feature h3{font-size:30px}.sample-actions .gradient-button{width:100%}.gradient-home .gradient-hero-foot{padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){.gradient-home .workflow-evidence.is-changing{animation:none}.gradient-home .product-figure img{transition:none}}
html[data-effects=paused] .gradient-home .workflow-evidence.is-changing{animation:none}

.workflow-stages button:disabled{opacity:1;cursor:default}
.hero-workflow{isolation:isolate}
/* Industry band, 2026-09-30: a slow, pausable strip of photo cards for the trades we build for. Still for reduced motion. */
.industry-band{padding-block:40px 8px;border-top:1px solid var(--gradient-line);overflow:hidden}
.industry-band-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}
.gradient-home .home-story .industry-band-head h2.gradient-product-label{margin:0;font-size:12px;line-height:1.4;letter-spacing:.025em;font-weight:500;color:var(--gradient-accent)}
.industry-band-actions{display:flex;align-items:center;gap:22px}
.industry-band-toggle{font:inherit;font-size:13px;color:var(--gradient-ink);background:transparent;border:1px solid var(--gradient-line);border-radius:999px;padding:7px 16px;cursor:pointer}
.industry-band-toggle:hover{border-color:var(--gradient-accent);color:var(--gradient-accent)}
.industry-band-viewport{overflow:hidden;padding-block:4px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.industry-band-track{display:flex;width:max-content;animation:industry-band 90s linear infinite}
.industry-band:hover .industry-band-track,.industry-band:focus-within .industry-band-track,.industry-band.is-paused .industry-band-track{animation-play-state:paused}
.industry-band-list{display:flex;gap:20px;margin:0;padding:0 20px 0 0;list-style:none}
.industry-band-list li{flex:none;width:160px}
.gradient-home .home-story .industry-band-list a{display:block;color:var(--gradient-ink);text-decoration:none}
.industry-band-list img{display:block;width:160px;height:160px;object-fit:cover;border-radius:13px;border:1px solid var(--gradient-line);background:var(--gradient-soft);transition:transform .25s}
.industry-band-list span{display:block;margin-top:10px;font-size:14px;line-height:1.35;font-weight:500;letter-spacing:-.01em}
.gradient-home .home-story .industry-band-list a:hover span{color:var(--gradient-accent)}
.industry-band-list a:hover img{transform:translateY(-3px)}
@keyframes industry-band{to{transform:translateX(-50%)}}
/* RTL: a max-content flex track anchors to the right edge and translateX(-50%) would open a gap. Run the strip LTR, keep the captions RTL. */
[dir=rtl] .industry-band-viewport{direction:ltr}
[dir=rtl] .industry-band-list a{direction:rtl}
@media(prefers-reduced-motion:reduce){.industry-band-track{animation:none;width:auto}.industry-band-viewport{-webkit-mask-image:none;mask-image:none;overflow-x:auto}.industry-band-list{padding-inline:64px}.industry-band-list[aria-hidden="true"]{display:none}.industry-band-toggle{display:none}.industry-band-list a:hover img{transform:none}}
@media(max-width:800px){.industry-band{padding-block:32px 4px}.industry-band-head{flex-wrap:wrap}.industry-band-list{gap:14px;padding-right:14px}.industry-band-list li{width:130px}.industry-band-list img{width:130px;height:130px}}
@media(max-width:800px) and (prefers-reduced-motion:reduce){.industry-band-list{padding-inline:20px}}
