/* Captured from the prototype's runtime stylesheets — keyframes and media
   queries the inline styles cannot carry. Regenerated by the extractor. */

.sc-placeholder{background:color-mix(in srgb,currentColor 8%,transparent);
      border:1px solid color-mix(in srgb,currentColor 50%,transparent);
      border-radius:2px;box-sizing:border-box;overflow:hidden}
@keyframes sc-shine{0%{background-position:100% 50%}100%{background-position:0% 50%}}
html.sc-dc-streaming .sc-placeholder,
    html.sc-dc-streaming .sc-interp.sc-missing{position:relative;
      background:color-mix(in srgb,currentColor 5%,transparent);
      border-color:transparent}
html.sc-dc-streaming .sc-placeholder::before,
    html.sc-dc-streaming .sc-interp.sc-missing::before{content:'';
      position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(90deg,rgba(217,119,87,0) 25%,rgba(247,225,211,.95) 37%,rgba(217,119,87,0) 63%);
      background-size:400% 100%;animation:sc-shine 1.4s ease infinite}
html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before,
    html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before{animation:none;
      background:color-mix(in srgb,currentColor 8%,transparent)}
.sc-placeholder-error{padding:4px 8px;font:11px/1.4 ui-monospace,monospace;
      color:color-mix(in srgb,currentColor 70%,transparent);word-break:break-word}
.sc-interp.sc-missing{display:inline-block;width:2em;height:1em;overflow:hidden;
      vertical-align:text-bottom;background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5);
      border-radius:2px;box-sizing:border-box;color:transparent;
      user-select:none}
.sc-interp.sc-unresolved{font-family:ui-monospace,monospace;font-size:.85em;
      color:color-mix(in srgb,currentColor 50%,transparent);
      background:color-mix(in srgb,currentColor 10%,transparent);border-radius:3px;
      padding:0 3px}
.sc-host.sc-has-error{position:relative}
.sc-logic-error{position:absolute;top:8px;left:8px;z-index:2147483647;max-width:60ch;
      padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
      border-radius:4px;white-space:pre-wrap;pointer-events:none}
/* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts — keep both
       in sync until dc-runtime regains a build step. */
    @media print {
      @page { margin: 0.5cm;}
figure, table { break-inside: avoid;}
#dc-root, #dc-root > .sc-host { height: auto;}
*, *::before, *::after {
        print-color-adjust: exact; -webkit-print-color-adjust: exact;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        animation-delay: -99s !important; animation-duration: .001s !important;
        animation-iteration-count: 1 !important; animation-fill-mode: both !important;
        animation-play-state: running !important; transition-duration: 0s !important;}
body{margin:0;background:#FAF8F4}
a{color:#17777C;text-decoration:none}a:hover{color:#F1552B}
::selection{background:#F1552B;color:#FFFFFF}
html{scroll-behavior:smooth}
@keyframes bsnPulse{0%,100%{box-shadow:0 0 0 0 rgba(91,196,198,.5)}70%{box-shadow:0 0 0 12px rgba(91,196,198,0)}}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;scroll-behavior:auto !important}}
@keyframes bsnDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
body{margin:0}
@media (max-width:1080px){.bsn-tabbar-spacer{display:block !important}}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
@keyframes bsnFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
a:hover .cat-svc-cta{transform:translate(-3px,3px);box-shadow:-2px 2px 0 #5B27C4}
a:active .cat-svc-cta{transform:translate(-5px,5px);box-shadow:0 0 0 #5B27C4}
@keyframes bsnDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,-14px)}}
@keyframes bsnPulse{0%,100%{box-shadow:0 0 0 0 rgba(241,85,43,0.45)}70%{box-shadow:0 0 0 12px rgba(241,85,43,0)}}
@keyframes bsnMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bsnFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes bsnUp{from{opacity:0;transform:translateY(28px) rotateX(-40deg)}to{opacity:1;transform:none}}
@keyframes bsnIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes bsnBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bsnSpin{to{transform:rotate(360deg)}}
@keyframes bsnDrift1{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(5vw,4vh,0) scale(1.1)}}
@keyframes bsnDrift2{0%,100%{transform:translate3d(0,0,0) scale(1.05)}50%{transform:translate3d(-5vw,-4vh,0) scale(.94)}}
@keyframes bsnLogoRow{from{transform:translateX(0)}to{transform:translateX(33.3333%)}}
@keyframes bsnLogoRowEn{from{transform:translateX(0)}to{transform:translateX(-33.3333%)}}
@keyframes bsnBelt{from{transform:translateX(0)}to{transform:translateX(50%)}}
@keyframes bsnBeltEn{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes bsnDrift3{0%,100%{transform:translate3d(0,0,0) scale(.96)}50%{transform:translate3d(-4vw,5vh,0) scale(1.14)}}
@media (max-width:1080px){
 .bsn-wide{display:none !important}
.bsn-hero{min-height:auto !important}
.bsn-hero-pad{padding-bottom:0 !important;margin-bottom:calc(76px + env(safe-area-inset-bottom)) !important}
@keyframes bsnDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,-14px)}}
@keyframes bsnSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes bsnPulse{0%,100%{box-shadow:0 0 0 0 rgba(91,196,198,0.55)}70%{box-shadow:0 0 0 13px rgba(91,196,198,0)}}
@keyframes bsnDrift{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(12px,-16px) rotate(4deg)}}
@keyframes bsnSlideUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes bsnDash{to{stroke-dashoffset:-24}}
@keyframes bsnPulse{0%,100%{box-shadow:0 0 0 0 rgba(241,85,43,.5)}70%{box-shadow:0 0 0 12px rgba(241,85,43,0)}}
@keyframes bsnGridRow{from{transform:translateX(0)}to{transform:translateX(-3000px)}}
@keyframes bsnGridRowR{from{transform:translateX(-3000px)}to{transform:translateX(0)}}
@media (max-width:860px){.bsn-gridbg{display:none !important}}
