/* assets/launch-quality.css */
/* Contact and keyboard refinements. The original animation styles remain intact. */
.bs-contact-widget{min-width:0}
.bs-contact-widget .form-required{font-size:12px;color:#62625e;margin-bottom:18px}
.bs-contact-widget .form-note{font-size:12px;line-height:1.65;color:#62625e}
.bs-contact-widget .form-note a{text-decoration:underline;text-underline-offset:3px}
.bs-contact-widget .project-choices label{min-width:0}
.bs-contact-widget .project-choices span{min-height:44px;display:flex;align-items:center;line-height:1.45}
.bs-contact-widget .form-error{padding:14px 18px;border-left:3px solid #b83c56;background:#fff0f3;color:#721b30;font-size:15px;line-height:1.5;margin-top:18px}
.bs-contact-widget [hidden]{display:none!important}
.bs-contact-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bs-contact-widget .form-result h3:focus{outline:none}
.bs-contact-widget button[disabled]{opacity:.65;cursor:wait}
.dialog-close{width:44px;height:44px;top:12px;right:12px}
.dialog-inner>.eyebrow{padding-right:36px}
.nav-panel .panel-grid a:focus-visible{outline-offset:-4px}
.closing :focus-visible{outline-color:var(--lime)}
.bs-service-cover :focus-visible{outline-color:var(--lime)}
.bs-editorial-commerce .bs-service-cover :focus-visible{outline-color:var(--purple)}
.bs-not-found-actions{display:flex;flex-wrap:wrap;gap:16px}
.bs-contact-inline,.bs-contact-info{min-width:0}
.bs-contact-inline{scroll-margin-top:110px}
main[tabindex="-1"]:focus{outline:none}
@media(max-width:700px){
  .bs-contact-widget input:not([type=radio]),.bs-contact-widget textarea{font-size:16px;min-height:48px}
  .bs-contact-widget .form-grid{grid-template-columns:1fr;gap:18px}
  .bs-contact-widget .project-choices span,.bs-contact-inline .project-choices span{font-size:12px;padding:11px 10px}
  .bs-contact-widget form>label,.bs-contact-widget .form-grid>label,.bs-contact-widget legend{font-size:12px}
  .bs-contact-widget .form-required{margin-bottom:16px}
  .bs-contact-widget .form-result .result-copy{overflow-wrap:anywhere}
  .menu-toggle{width:44px;height:44px}
  .nav-contact{min-width:44px;min-height:44px}
  .nav-panel{max-height:calc(100dvh - 72px);overscroll-behavior:contain}
  .panel-bottom a{min-height:44px;display:flex;align-items:center;font-size:12px}
  .bs-cover-back{min-height:44px;display:inline-flex;align-items:center;margin-bottom:12px}
  .bs-contact-details a{display:inline-block;padding-block:5px}
}
@media(max-width:360px){.bs-contact-widget .project-choices{grid-template-columns:1fr}}
@media(max-width:380px){.hero-title{font-size:clamp(44px,15.7vw,60px)}}
@media(prefers-reduced-motion:reduce){.bs-scene,.reveal,.showcase,.expertise-row{opacity:1!important;visibility:visible!important;transform:none!important}}

/* assets/references.css */
/* Real website captures: keep the original grid, stagger and motion hooks. */
.showcase-reference .reference-stage{background:#e6e0f3;display:flex;flex-direction:column;justify-content:center;padding:65px 28px 56px;isolation:isolate}
.showcase-reference:nth-child(3n+2) .reference-stage{background:#e4e8dc}.showcase-reference:nth-child(3n) .reference-stage{background:#eadfce}
.reference-kicker{position:absolute;left:28px;top:25px;font-size:9px;letter-spacing:.09em;color:var(--ink)}
.reference-browser{width:100%;background:#fff;border:1px solid #24221f26;border-radius:7px;overflow:hidden;box-shadow:0 18px 42px #28213524;transform:rotate(-2deg);transition:transform .65s var(--ease)}
.showcase-reference:nth-child(even) .reference-browser{transform:rotate(2deg)}.showcase-reference:hover .reference-browser,.showcase-reference:focus-visible .reference-browser{transform:rotate(0) translateY(-5px)}
.reference-browser-bar{height:23px;display:flex;align-items:center;gap:4px;background:#f8f7f5;padding:0 9px;border-bottom:1px solid #24221f15;color:#666}
.reference-browser-bar i{width:4px;height:4px;border-radius:50%;background:#c6c2cb}.reference-browser-bar b{margin:auto;font:8px/1 var(--sans);font-weight:400;padding-right:20px;white-space:nowrap}
.reference-browser>img{display:block;width:100%;height:auto;aspect-ratio:1.44;object-fit:contain;object-position:top}
.showcase-reference .round-arrow{bottom:17px;right:20px;z-index:2;width:39px;height:39px;background:var(--ink);color:var(--paper);font-size:21px}
.showcase-reference .showcase-meta{align-items:start;gap:15px}.showcase-reference .showcase-meta>span:first-child{font-size:19px}.showcase-reference .showcase-meta>span:last-child{text-align:right;max-width:45%}
.reference-headline{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.5}
.project-reference-featured{padding:35px;background:#e6e0f3}.project-reference-featured .reference-browser{max-width:1200px;margin:auto;transform:none;border-radius:8px}.project-reference-featured .reference-browser-bar{height:35px;padding-inline:15px;gap:5px}.project-reference-featured .reference-browser-bar b{font-size:10px}.project-reference-featured .reference-browser-bar i{height:6px;width:6px}.project-reference-featured .reference-browser img{max-height:none;height:auto;aspect-ratio:auto;width:100%;object-fit:contain}
.reference-closing{border-top:1px solid var(--line);padding-block:48px 65px;display:flex;justify-content:space-between;gap:30px;align-items:center}.reference-closing h2{font:clamp(25px,3vw,43px)/1.2 var(--display);max-width:650px}.reference-closing .button{flex-shrink:0}
@media(max-width:1100px){.showcase-reference .reference-stage{padding:50px 21px 48px}.reference-kicker{left:21px;top:21px;font-size:8px}.showcase-reference .showcase-meta>span:first-child{font-size:16px}}
@media(max-width:700px){.showcase-reference .reference-stage{aspect-ratio:1.15;padding:48px 22px}.reference-browser-bar{height:20px}.reference-browser-bar b{font-size:7px}.showcase-reference .showcase-meta>span:first-child{font-size:17px}.reference-headline{font-size:12px}.project-reference-featured{padding:14px}.project-reference-featured .reference-browser-bar{height:25px}.project-reference-featured .reference-browser-bar b{font-size:8px}.reference-closing{flex-direction:column;align-items:flex-start;padding-block:35px 45px}}
@media(prefers-reduced-motion:reduce){.reference-browser{transition:none!important}.showcase-reference:hover .reference-browser,.showcase-reference:focus-visible .reference-browser{transform:none}}

