/* 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}}

/* assets/case-journal.css */
/* Editorial additions use the existing reveal / page transition animation hooks. */
.home-journal{border-top:1px solid var(--line)}
.home-journal-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:8%;align-items:end;margin-bottom:55px}
.home-journal-heading .eyebrow{margin-bottom:22px}
.home-journal-heading .section-title{font-size:clamp(40px,4.7vw,76px)}
.home-journal-heading>div:last-child{max-width:370px;justify-self:end}
.home-journal-heading>div:last-child>p{color:var(--muted);margin-bottom:25px}
.home-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.home-journal-card a{display:flex;flex-direction:column;height:100%}
.home-journal-visual{aspect-ratio:1.5;overflow:hidden;flex-shrink:0}
.home-journal-visual>img{height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.home-journal-card a:hover .home-journal-visual>img{transform:scale(1.035)}
.home-journal .bs-journal-art{height:100%;padding:25px;background:var(--purple);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.home-journal .bs-journal-art>span{font-size:8px;letter-spacing:.15em;z-index:1}
.home-journal .bs-journal-art>strong{font:clamp(30px,3.4vw,54px)/1.06 var(--display);max-width:95%;z-index:1}
.home-journal .bs-journal-art>b{position:absolute;right:10px;top:-15px;font:150px/1 var(--sans);opacity:.15;transition:transform .4s var(--ease)}
.home-journal .bs-journal-art-2{background:var(--lime);color:var(--ink)}
.home-journal .bs-journal-art-3{background:#eae5ff;color:var(--purple)}
.home-journal-card a:hover .bs-journal-art>b,.home-journal-card a:focus-visible .bs-journal-art>b{transform:translate(5px,-5px)}
.home-journal-copy{padding-top:23px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;flex:1}
.home-journal-copy .eyebrow{font-size:9px;letter-spacing:.12em;color:var(--purple)}
.home-journal-copy h3{font:clamp(25px,2.3vw,36px)/1.14 var(--display);text-wrap:pretty}
.home-journal-copy>p:not(.eyebrow){color:var(--muted);font-size:14px}
.home-journal-copy>.text-link{font-size:12px;margin-top:auto;padding-top:4px}
.case-study-content>.wp-block-group{margin-block:100px}
.case-study-content .bs-case-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;align-items:start;border-top:1px solid var(--line);padding-top:55px}
.case-study-content .bs-case-label{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--purple);margin-bottom:22px}
.case-study-content h2{font:clamp(38px,4.7vw,70px)/1.04 var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}
.case-study-content h3{font:clamp(28px,3vw,44px)/1.1 var(--display);margin-bottom:22px}
.case-study-content p:not(.bs-case-label){font-size:17px;line-height:1.8}
.case-study-content p+p{margin-top:20px}
.case-study-content .bs-case-detail{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:7%}
.case-study-content .bs-case-text h2{margin-bottom:30px}
.case-study-content .bs-case-screen{padding:30px;background:#eae5ff;min-width:0}
.case-study-content figure{margin:0}
.case-study-content .bs-case-screen img{width:100%;height:auto;box-shadow:0 12px 30px #17102918}
.case-study-content figcaption{font-size:11px;line-height:1.6;margin-top:16px;color:#5d586c}
.case-study-content .bs-case-mobile{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding:65px;background:var(--purple);color:var(--paper)}
.case-study-content .bs-case-mobile .bs-case-label{color:var(--lime)}
.case-study-content .bs-case-mobile h2{margin-bottom:28px}
.case-study-content .bs-case-phone{width:min(100%,300px);justify-self:center;margin:0}
.case-study-content .bs-case-phone img{border:7px solid #171329;border-radius:28px;box-shadow:20px 25px 0 #ffffff14;width:100%;height:auto}
.case-study-content .bs-case-phone figcaption{color:#e5dfff;text-align:center}
.case-study-content .bs-case-deliverables{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-block:1px solid var(--line);padding-block:50px}
.case-study-content .bs-case-deliverables ul{list-style:none;padding:0;margin:0}
.case-study-content .bs-case-deliverables li{padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
.case-study-content .bs-case-deliverables li:first-child{padding-top:0}
.case-study-content .bs-case-deliverables li:last-child{border-bottom:0}
.case-study-content .bs-case-service{margin-top:25px}
.case-study-content .bs-case-service a{display:inline-block;color:var(--purple);border-bottom:1px solid currentColor;padding-bottom:5px;font-weight:700;font-size:14px}
@media(max-width:1000px){.home-journal-grid{gap:20px}.home-journal-heading{grid-template-columns:1.4fr 1fr;gap:5%}.case-study-content .bs-case-detail{grid-template-columns:1fr;gap:35px}.case-study-content .bs-case-detail .bs-case-text{max-width:750px}.case-study-content .bs-case-mobile{padding:40px;gap:8%}.case-study-content .bs-case-intro{gap:7%}}
@media(max-width:700px){.home-journal-heading{grid-template-columns:1fr;gap:28px;margin-bottom:35px}.home-journal-heading>div:last-child{justify-self:start}.home-journal-heading .section-title{font-size:40px}.home-journal-grid{grid-template-columns:1fr;gap:42px}.home-journal-visual{aspect-ratio:1.65}.home-journal .bs-journal-art>strong{font-size:44px}.home-journal-copy{padding-top:18px;gap:14px}.home-journal-copy h3{font-size:29px}.case-study-content>.wp-block-group{margin-block:55px}.case-study-content .bs-case-intro,.case-study-content .bs-case-mobile,.case-study-content .bs-case-deliverables{grid-template-columns:1fr;gap:30px}.case-study-content h2{font-size:40px}.case-study-content p:not(.bs-case-label){font-size:16px}.case-study-content .bs-case-screen{padding:15px}.case-study-content .bs-case-mobile{padding:35px 22px}.case-study-content .bs-case-phone{width:min(100%,260px)}.case-study-content .bs-case-intro{padding-top:35px}.case-study-content .bs-case-deliverables{padding-block:35px}}
@media(prefers-reduced-motion:reduce){.home-journal-card a .bs-journal-art>b,.home-journal-card a .home-journal-visual>img{transition:none;transform:none!important}}

