:root{--nbx-font-mono:ui-monospace,SFMono-Regular,Consolas,monospace}
/* UI timing and color contract. Media pixels are owned by the supplied films. */
:root{
 --nbx-dur-micro:160ms;--nbx-dur-ui:240ms;--nbx-dur-nav:280ms;--nbx-dur-panel:360ms;--nbx-dur-route:420ms;
 --nbx-ease-out:cubic-bezier(.22,1,.36,1);--nbx-ease-rail:cubic-bezier(.66,0,.18,1);--nbx-ease-exit:cubic-bezier(.4,0,1,1);
 --nbx-cyan:#00e5ff;--nbx-cyan-ink:#007c91;--nbx-ink:#0a0b0d;--nbx-ink-40:rgba(10,11,13,.4);--nbx-paper:#f7f8fa;
 --nbx-hover-lift:translateY(-2px);--nbx-hover-scale:1.02;
 --paper:var(--nbx-paper);--field:var(--nbx-paper);--ink:var(--nbx-ink);--signal:var(--nbx-cyan);--link:var(--nbx-cyan-ink);--ease:var(--nbx-ease-out);
}
[data-cyan]{--ui-accent:var(--ink)}[data-cyan-active=true]{--ui-accent:var(--nbx-cyan)}
:focus-visible{outline:2px solid var(--nbx-cyan-ink);outline-offset:5px}
.menu-glyph{transition:transform var(--nbx-dur-micro) var(--nbx-ease-out)}
.text-link,.text-link:hover{gap:35px}
.ui-consult{position:relative;isolation:isolate;transition:none;border-bottom-color:var(--ink)}
.ui-consult::before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.3);transform-origin:left;transition:transform 350ms var(--nbx-ease-rail)}
.ui-consult::after{content:'';position:absolute;right:0;bottom:-2px;width:6px;height:6px;background:var(--ui-accent);transform:scale(0);transition:transform 180ms var(--nbx-ease-out);transform-origin:center}
.ui-consult:is(:hover,:focus-visible)::before{transform:scaleX(1)}
.ui-consult:is(:hover,:focus-visible)::after{transform:scale(1);transition-delay:200ms}
.ui-consult.button::before,.ui-consult.hx-consult::before{left:22px;right:22px;bottom:10px}
.ui-consult.button::after,.ui-consult.hx-consult::after{right:22px;bottom:8px}
.ui-consult.button:hover{background:var(--ink);color:var(--paper)}
.ui-consult.button:not([data-cyan-active=true])::after{background:currentColor}
.hx-consult,.hx-consult:hover{background:var(--paper);color:var(--ink)}.hx-consult-fill{display:none}
.hx-consult-arrow svg{transition:transform var(--nbx-dur-micro) var(--nbx-ease-out)}
.hx-plane-image{background:var(--paper)}.hx-web-type i,.hx-question,.hx-control-dot{color:inherit}.hx-control-dot{background:var(--ink)}
.hx-web-type i{color:var(--paper)}.hx-question{color:var(--ink)}
.hx-service-links>a{position:relative;transition:transform var(--nbx-dur-micro) var(--nbx-ease-out)}
.hx-service-links>a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--ui-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--nbx-dur-micro) var(--nbx-ease-out)}
.hx-service-links>a:is(:hover,:focus-visible){transform:var(--nbx-hover-lift)}
.hx-service-links>a:is(:hover,:focus-visible)::after{transform:scaleX(1)}
.hx-file>a,.file-card>a,.case-index>a{position:relative;transition:transform var(--nbx-dur-micro) var(--nbx-ease-out),translate var(--nbx-dur-micro) var(--nbx-ease-out)}
.hx-file>a:is(:hover,:focus-visible){translate:0 -2px;transform:scale(1.02)}
.file-card>a:is(:hover,:focus-visible),.case-index>a:is(:hover,:focus-visible){transform:translateY(-2px) scale(1.02)}
.hx-file>a::after,.file-card>a::after,.case-index>a::after{content:'';position:absolute;bottom:4px;right:4px;width:4px;height:4px;background:var(--ui-accent);opacity:0;transition:opacity var(--nbx-dur-micro)}
.hx-file>a:is(:hover,:focus-visible)::after,.file-card>a:is(:hover,:focus-visible)::after,.case-index>a:is(:hover,:focus-visible)::after{opacity:1}
.file-story-link{color:var(--ink)}.hx-file-meta,.file-story-link{opacity:.75;transition:opacity var(--nbx-dur-micro)}
a:is(:hover,:focus-visible) .hx-file-meta,a:is(:hover,:focus-visible) .file-story-link{opacity:1}
.hx-file-2 .hx-file-meta .eyebrow:last-child{color:var(--ink)}
.service-section-nav{position:sticky;top:0;z-index:15;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:0;box-shadow:0 1px 0 var(--rule)}
.service-section-nav a{position:relative;color:#6b7280;background:var(--paper);min-width:0;box-shadow:none!important;transition:color var(--nbx-dur-ui);min-height:72px}
.service-section-nav a:hover,.service-section-nav a[aria-current=location]{background:var(--paper);color:var(--ink)}
.service-section-nav a[aria-current=location]{font-weight:650}.service-section-nav a span{color:inherit}
.ui-rail-pip{position:absolute;left:0;bottom:0;width:20px;height:3px;background:var(--ui-accent);pointer-events:none;transform:translateX(var(--pip-x,0px));transition:transform var(--nbx-dur-nav) var(--nbx-ease-out);opacity:0}
.ui-rail-ready>.ui-rail-pip{opacity:1}
.chapter-line::after{background:var(--ink);transition:transform var(--nbx-dur-panel) var(--nbx-ease-out)}
.service-chapter{scroll-margin-top:100px}.chapter-content{overflow:clip}
.deliverables li{position:relative;transition:transform var(--nbx-dur-micro) var(--nbx-ease-out);padding-left:14px}
.deliverables li::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ui-accent);transform:scaleY(0);transform-origin:bottom;transition:transform var(--nbx-dur-micro) var(--nbx-ease-out)}
.deliverables li:hover{transform:var(--nbx-hover-lift)}.deliverables li:hover::before{transform:scaleY(1)}
.faq-plus{transition:transform var(--nbx-dur-micro) var(--nbx-ease-out)}
.faq-list details[open] .faq-index{color:var(--ink);font-weight:650}
.faq-answer{overflow:hidden}.faq-answer p{padding-bottom:0}
.case-phase-chrome{margin:30px 0 0}.case-phase-nav{position:relative;display:flex;gap:36px;border-bottom:1px solid var(--rule)}
.case-phase-nav a{padding:15px 0;min-height:44px;color:#6b7280;font-size:11px;letter-spacing:.09em;position:relative}
.case-phase-nav a[aria-current]{color:var(--ink);font-weight:650}.case-phase-nav a:focus-visible{outline-offset:1px}
.case-hud{display:flex;justify-content:space-between;gap:15px;margin:16px 0 22px;font:10px/1.6 var(--nbx-font-mono);color:var(--muted)}.case-hud b{font-weight:500;color:var(--ink)}
.case-story-notes section{scroll-margin-top:100px}.case-story-notes{border-top:0}
.studio-filters button::after{background:var(--ui-accent);transition:transform var(--nbx-dur-micro) var(--nbx-ease-out)}
.studio-method-grid .eyebrow{color:#adb4bb}.studio-method-grid>[data-cyan-active=true]>.eyebrow{color:var(--signal)}
.hx-step-tick,.hx-process-count,.hx-step[data-active=true] .hx-step-index{color:#adb4bb}
.hx-step::before,.hx-process-meter i[data-active=true]{background:#adb4bb}.hx-step[data-cyan-active=true] .hx-step-index{color:var(--signal)}
/* A packing-label glyph replaces the second oversized crate performance. */
.hx-built-space{inset:55px auto auto 20px;width:42px;height:42px;container-type:normal}
.hx-built-space .hx-built-object{--object-size:40px;transform:none;translate:-50% -50%}
.hx-built-space .hx-built-frame{transform:none;border:1px solid #adb4bb;background:none;box-shadow:none}
.hx-built-space .hx-built-frame-2{translate:3px 3px}.hx-built-space .hx-built-frame-3{translate:6px 6px}.hx-built-space .hx-built-frame-4{display:none}
.hx-built-space .hx-built-core{display:none}
.hx-process-word{top:50%;bottom:auto;transform:translateY(-50%);height:clamp(95px,12vw,180px)}.hx-process-word>span{font-size:clamp(60px,8vw,130px)}
.contact-info-rail{margin:32px 0 22px;border-top:1px solid var(--rule)}
.contact-info-rail>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:15px;border-bottom:1px solid var(--rule);padding:15px 0;align-items:baseline}
.contact-info-rail .eyebrow{font-size:8px;color:var(--muted)}.contact-info-rail p,.contact-info-rail a{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.contact-info-rail a{text-decoration:underline;text-underline-offset:4px;color:var(--link)}
.contact-steps{margin-top:28px}.contact-info-rail .email-fallback{margin:0}.contact-info-rail .email-fallback a{padding:0;font-size:inherit}
input,textarea,select{transition:border-color var(--nbx-dur-micro) var(--nbx-ease-out)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--nbx-cyan-ink);outline-offset:2px}
.submit-button:disabled{opacity:1;color:#575a5f;background:#e3e5e8;border-color:#b5b9bf}
.form-receipt:not([hidden]){animation:nbx-receipt var(--nbx-dur-ui) var(--nbx-ease-out)}
@keyframes nbx-receipt{from{opacity:0}to{opacity:1}}
@media(max-width:620px){
 .service-section-nav{padding-inline:var(--gutter)}.service-section-nav a{display:block;padding:13px 8px;min-height:63px;border-bottom:0;border-left:1px solid var(--rule);font-size:11px;line-height:1.3}.service-section-nav a span{display:block;font-size:8px;margin-bottom:4px}.service-section-nav a svg{display:none}
 .case-phase-nav{gap:28px}.case-hud{font-size:8px;flex-wrap:wrap}.contact-info-rail>div{grid-template-columns:85px minmax(0,1fr);gap:12px}.contact-info-rail a{font-size:11px}
 .hx-process-word>span{font-size:65px}
}
@media(hover:none){.hx-file>a:hover,.file-card>a:hover,.case-index>a:hover,.hx-service-links>a:hover,.deliverables li:hover{transform:none;translate:none}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .hx-file>a,.file-card>a,.case-index>a,.hx-service-links>a,.deliverables li{transform:none!important;translate:none!important}
}
.ui-motion-off *,.ui-motion-off *::before,.ui-motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.ui-motion-off .hx-file>a,.ui-motion-off .file-card>a,.ui-motion-off .case-index>a,.ui-motion-off .hx-service-links>a,.ui-motion-off .deliverables li{transform:none!important;translate:none!important}
