/* Nombre horizontal en dos tonos. El trazado del símbolo no cambia. */
.brand-original,.brand-footer {flex-direction:row;align-items:center;gap:13px;white-space:nowrap}
.brand-original-word {writing-mode:horizontal-tb;transform:none;font:500 clamp(22px,2.1vw,28px)/1 Instrument,Arial,sans-serif;letter-spacing:-.055em}
.brand-core {color:var(--ink)}
.brand-rest {color:var(--secondary)}
.hero-b .service-bridge .service-catalog {--ticker-space:clamp(24px,2.6vw,36px);display:block;max-width:100%;overflow:hidden;padding:18px 0;min-height:56px;border-block:1px solid var(--line);font:500 15px/1.5 Instrument,Arial,sans-serif;letter-spacing:.025em;color:var(--secondary);text-decoration:none;transition:color 170ms ease-out,border-color 170ms ease-out}
.hero-b .service-bridge .service-catalog:hover,.hero-b .service-bridge .service-catalog:focus-visible {color:var(--ink);border-color:var(--secondary)}
.service-ticker-track {display:flex;width:max-content;animation:service-scroll 48s linear infinite}
.service-ticker-group {display:flex;align-items:center;flex:0 0 auto}
.service-ticker-item {display:inline-flex;align-items:center;flex:0 0 auto;gap:var(--ticker-space);padding-right:var(--ticker-space);white-space:nowrap}
.service-ticker-item::after {content:'';display:block;flex:0 0 3px;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.65}
.service-catalog:hover .service-ticker-track,.service-catalog:focus .service-ticker-track {animation-play-state:paused}
@keyframes service-scroll {to {transform:translateX(-50%)}}
.theme-switch.theme-icon {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:12px;border:0}
.theme-icon svg {display:block;width:20px;height:20px;transition:transform 170ms ease-out}
:root[data-theme=light] .theme-icon svg {transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.service-ticker-track{animation:none;width:auto;display:block}.service-ticker-group{flex-wrap:wrap;gap:12px 24px}.service-ticker-item{padding:0;white-space:normal}.service-ticker-item::after{display:none}.service-ticker-group+.service-ticker-group{display:none}.theme-icon svg{transition:none}}
.brand-original svg,.brand-footer svg {width:2.8rem;height:2rem}
nav a {text-decoration:none;border-bottom:1px solid transparent;transition:border-color 170ms ease-out,color 170ms ease-out}
nav a:hover,nav a:focus-visible,nav a[aria-current=location] {text-decoration:none;border-bottom-color:var(--ink)}
.button,.theme-switch,.klein-caption button {transition:background-color 170ms ease-out,border-color 170ms ease-out,color 170ms ease-out}
.button span[aria-hidden] {transition:transform 170ms ease-out}
.button:hover span[aria-hidden],.button:focus-visible span[aria-hidden] {transform:translate(2px,-2px)}
.klein-stage {position:relative;aspect-ratio:1;min-width:0}
.klein-stage img,.klein-stage canvas {width:100%;height:100%;max-height:none;display:block;object-fit:contain}
.klein-stage canvas {touch-action:pan-y;cursor:grab}
.klein-stage canvas.is-dragging {cursor:grabbing}
.klein-caption {gap:8px;flex-wrap:wrap}
.klein-caption button {font-size:12px;min-height:44px;padding:8px 10px}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.service-item {border-top:1px solid var(--line);transition:border-color 170ms ease-out}
.service-item:last-of-type {border-bottom:1px solid var(--line)}
.service-item summary {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:26px;min-height:78px}
.service-item summary h3 {margin:0;font-size:clamp(22px,2.6vw,32px)}
.service-item summary:after {content:'+';color:var(--secondary);font-weight:400;margin:0;flex-shrink:0}
.service-item[open] summary:after {content:'−'}
.service-item:hover,.service-item:focus-within {border-top-color:var(--secondary)}
.service-body {padding:0 0 28px;max-width:75ch}
.service-body p {margin-bottom:0}
@media(max-width:900px){.site-header{flex-wrap:wrap;gap:12px 28px}.site-header nav{flex:1;min-width:270px}}
@media(max-width:560px){.site-header{flex-direction:column;gap:16px;align-items:flex-start}.site-header nav{min-width:0;width:100%;gap:4px 18px}.brand-original-word{font-size:25px}.service-item summary{padding-block:22px}.klein-caption{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.klein-stage canvas{cursor:default}.button:hover span[aria-hidden],.button:focus-visible span[aria-hidden]{transform:none}}
