/* Editorial scale, solid-surface contrast, touch paths and a shared motion rhythm. */
:root{
  --text-secondary:#59616c;
  --motion-fast:160ms;
  --motion-read:440ms;
  --motion-ease:cubic-bezier(.22,.61,.36,1);
  --anchor-offset:110px;
}
html{scroll-padding-top:var(--anchor-offset)}
main [id],#spatial-story,#spatial-reference,#spatial-mapping{scroll-margin-top:0}
.catalog-category-nav>a{color:#4b5462;border-bottom:1px solid #c3c9d3;padding:8px 0}
.catalog-category-nav>a:hover{color:#315af2;border-color:#315af2}
.depth-caption,.company-identity dt,.case-context-facts dt,
.depth-evidence-link>span,.binding-source dt,.binding-target>span,
.solution-evidence figcaption,.depth-case-hero figcaption,
.hardware-name-facts dt,
.binding-field-preview dt,.visual-task-preview>p{color:var(--text-secondary)}
.finder-options button:not([aria-selected=true])>span:first-child,
.demo-steps button:not([aria-selected=true])>span:first-child{color:var(--text-secondary)}
.demo-steps button[aria-selected=true]>span:first-child{color:#fff}
.button,.text-link .icon,.catalog-category-nav .icon{
  transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,
    color var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease);
}
.reveal-ready{transition:opacity var(--motion-read) var(--motion-ease),transform var(--motion-read) var(--motion-ease)}
.feature-project-image img{transition:transform var(--motion-read) var(--motion-ease)}
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid #315af2;outline-offset:4px;
}
.product-display a:focus-visible,.cta a:focus-visible{outline-color:#aebfff}
.inquiry-form select[aria-invalid=true]{border-color:#a94231}
.contact-info a,.footer-contact a,.company-identity a,
.source-note a,.catalog-source a{display:inline-flex;align-items:center;min-height:44px}
.section-heading .eyebrow>span{color:var(--text-secondary)}
.gallery-editorial .text-link{min-height:44px}
[data-case-filter]{min-width:44px}
.gallery-editorial li:before{background:#9aafff}
.faq summary>span{color:#315af2;transition:transform var(--motion-fast) var(--motion-ease)}
.faq details:last-of-type{border-bottom-color:#d7dbe1}
.project-products a,a.pill{min-height:44px;display:inline-flex;align-items:center;padding:9px 12px}
.inquiry-example summary{min-height:44px;line-height:24px;padding:10px 0;box-sizing:border-box}
.inquiry-guidance .guidance-links{gap:8px}
.source-note,figcaption{line-height:1.8}
@media(hover:hover) and (pointer:fine){
  .text-link:hover>[data-icon=arrow-up-right],.button:hover>[data-icon=arrow-up-right]{transform:translate(2px,-2px)}
  .catalog-category-nav>a:hover>[data-icon=arrow-down]{transform:translateY(2px)}
}
@media(max-width:960px){:root{--anchor-offset:90px}}
@media(max-width:700px){
  .hero-desc,.display-heading>p,.scenario>p,.custom-service>p,
  .feature-project-copy>p:not(.eyebrow),.secondary-project p:not(.eyebrow),
  .showcase-copy>p:not(.eyebrow),.section-intro,.faq details>p,
  .solution-list p:not(.eyebrow),.resource-list p:not(.eyebrow),
  .service-lead,.services-sample p:not(.eyebrow),.service-area-intro>p,
  .service-area dd,.services-section-heading>p:last-child,.services-next p:not(.eyebrow),
  .depth-section p:not(.eyebrow),.catalog-case-list p,.inquiry-guidance p{
    font-size:15px;line-height:1.95;
  }
  .depth-section .eyebrow,.depth-heading .eyebrow{font-size:12px;line-height:1.7}
  .feature-project-copy li,.demo-copy>p,.guide-steps li,.contact-aside>p,
  .historical-reference p{font-size:14px;line-height:1.95}
  .hero .business-label,.hero-proof p,.product-roster a>div>span{font-size:12px}
  .brand-scene figcaption,.showcase-view figcaption,.interface-figure figcaption,
  .services-sample figcaption,.project-figure figcaption{font-size:12px}
  .inquiry-form label:not(.consent),.inquiry-form .consent,
  .inquiry-form>.source-note,.form-fallback,.footer-contact a{font-size:13px}
  .footer-bottom{font-size:11px;line-height:1.9}
  .form-fallback a{display:inline-flex;align-items:center;min-height:44px}
  .inquiry-form .consent a{position:relative;padding-block:7px;margin-block:-7px}
  .breadcrumbs>ol{font-size:12px;padding-block:6px;gap:0 12px}
  .breadcrumbs a{min-width:44px;min-height:44px;justify-content:center}
  main summary{min-height:44px}
  .faq>.text-link,.showcase-view .text-link{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .text-link:hover>.icon,.button:hover>.icon,.catalog-category-nav>a:hover>.icon{transform:none}
}
