/* V104: one blue edge, authentic proof, immediate controls. */
body.bl104-signature{--v104-ease:cubic-bezier(.2,.7,.2,1);--v104-control:160ms;--v104-component:320ms;overflow-anchor:none}
body.bl104-signature::after{content:none}
.bl104-signature .bl100-button,.bl104-signature .header-cta{transition:background 160ms,border-color 160ms,box-shadow 160ms,transform 160ms}
.bl104-signature .bl100-button::before{content:none}
.bl104-signature .bl100-button:hover{transform:translateY(-1px)}
.bl104-signature .bl100-button:active,.bl104-signature .header-cta:active{transform:translateY(1px)}
.bl104-signature :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid #159cdb;outline-offset:5px}
.bl104-signature .drawer-links>a>span:last-child{translate:0;transform:none;transition:translate 160ms}
.bl104-signature .drawer-links>a:is(:hover,:focus-visible)>span:last-child{translate:3px 0}
.bl104-signature .bl100-cta{background:#0b8fcc}
.bl104-signature .bl100-cta::before,.bl104-signature .bl100-cta::after{content:none}
.bl104-signature .bl100-marquee.is-offscreen>div{animation-play-state:paused}
/* One reserved grid cell lets outgoing and incoming views crossfade without reflow. */
.bl104-signature .v103-proof-panels{display:grid;isolation:isolate}
.bl104-signature.v103-enhanced .v103-proof-panel{display:block;grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none;animation:none;transition:opacity 320ms var(--v104-ease),visibility 0s 320ms}
.bl104-signature.v103-enhanced .v103-proof-panel.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition:opacity 320ms var(--v104-ease),visibility 0s}
.bl104-signature .v103-proof-panel:focus-visible{outline:2px solid #78d3ff}
.bl104-signature .v104-home-opening{padding:clamp(30px,2.7vw,40px) 0 28px;background:#031321}
.bl104-signature .v104-home-opening .bl100-home-hero-grid{grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);gap:clamp(28px,4vw,64px);align-items:center}
.bl104-signature .v104-home-opening .bl100-hero-copy h1{font-size:clamp(3.3rem,5.8vw,5.7rem);line-height:1.02;letter-spacing:-.06em;max-width:none;margin:24px 0}
.bl104-signature .v104-home-opening .bl100-hero-copy h1 span{white-space:nowrap}
.bl104-signature .v104-home-opening .bl100-hero-copy>p:not(.bl103-local-note){margin:24px 0 28px;max-width:35ch;font-size:1.03rem;line-height:1.65}
.bl104-signature .v104-home-opening .bl100-kicker{font-size:.64rem;letter-spacing:.15em}
.bl104-signature .v104-home-opening .bl100-actions{gap:12px 20px}
.bl104-signature .v104-home-opening .bl103-local-note{margin:22px 0 0}
.bl104-signature .v104-home-opening .v103-stage-heading{padding:0 0 13px;letter-spacing:.1em}
.bl104-signature .v104-home-opening .v103-screen{border:0;border-left:3px solid #22b4ff;border-radius:0;box-shadow:none}
.bl104-signature .v104-home-opening .v103-browser{height:24px;padding-inline:12px;background:#102a3e}
.bl104-signature .v104-home-opening .v103-browser i{display:none}
.bl104-signature .v104-home-opening .v103-browser>span{text-align:left;font-size:10px}
.bl104-signature .v104-home-opening .v103-hero-screen picture{aspect-ratio:3/2;background:#061827}
.bl104-signature .v104-home-opening .v103-hero-screen figcaption{min-height:36px;padding-inline:14px;background:#102a3e}
.bl104-signature .v104-home-opening .v103-project-route{min-height:56px;padding:14px 0;font-size:12px}
.bl104-signature .v104-home-opening .v103-project-route strong{font-size:12px}
.bl104-signature .v104-home-opening .v103-project-route:hover b{transform:translateX(3px)}
.bl104-signature .v104-home-opening .v103-proof-tabs{gap:14px;padding-top:0;background:none}
.bl104-signature .v104-home-opening .v103-proof-tabs button{justify-content:flex-start;min-height:54px;font-size:12px;gap:9px;padding:8px 0;transition:color 160ms,background 160ms}
.bl104-signature .v104-home-opening .v103-proof-tabs button[aria-selected=true]{background:none}
.bl104-signature .v104-home-opening .v103-proof-tabs button>span{font-size:10px}
.bl104-signature .v104-home-opening .v103-proof-tabs button:before{top:-1px}
/* V106 hero: the actual photograph arrives inside one reserved frame.
   Browser chrome, text and controls remain still and immediately available. */
.bl104-signature.v103-enhanced .bl-proof-hero .v103-proof-panel{transition:none}
.bl104-signature .bl-proof-hero .v103-hero-screen{position:relative}
.bl104-signature .bl-proof-hero .v103-hero-screen>picture{position:relative;z-index:1;transform:none;opacity:1;clip-path:none;pointer-events:none}
.bl104-signature .bl-proof-hero .v103-hero-screen>:is(.v103-browser,figcaption){position:relative;z-index:2}
.bl104-signature .bl-proof-hero .v103-hero-screen>picture.bl-proof-image-pending{opacity:0}
.bl104-signature .bl-proof-hero .bl-proof-motion-surface{position:absolute;inset:24px 0 auto;aspect-ratio:3/2;overflow:hidden;pointer-events:none;z-index:0}
.bl104-signature .bl-proof-hero .bl-proof-motion-surface picture{position:absolute;inset:0;width:100%;height:100%;background:#061827}
.bl104-signature .bl-proof-hero .v103-proof-tabs button{transition:color 200ms,background 200ms}
.bl104-signature .bl-proof-hero .v103-proof-tabs button::before{height:2px;box-shadow:0 1px 12px #25b8ff70;transition:transform 480ms cubic-bezier(.2,.7,.2,1)}
.bl104-signature .bl-proof-hero .v103-proof-tabs button>span{display:inline-block;transition:color 240ms}
.bl104-signature .bl-proof-hero .v103-proof-tabs button[aria-selected=true]>span{color:#c3efff}
.bl104-signature .bl-proof-hero .v103-proof-tabs button:is(:hover,:focus-visible){color:#fff}
/* Concise service index; retain genuine capability switching, remove pointer crop. */
.bl104-signature .v104-capabilities{background:#f4f7fa;padding-block:clamp(40px,5vw,72px)}
.bl104-signature .v104-capabilities .bl100-section-intro{margin-bottom:30px}
.bl104-signature .v104-capabilities .bl100-section-intro h2{font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.08}
.bl104-signature .v104-capabilities .bl100-capability-layout{gap:clamp(30px,5vw,72px)}
.bl104-signature .v104-capabilities .bl100-capability{padding-block:22px;border-bottom:1px solid #c5d3de;color:#061830}
.bl104-signature .v104-capabilities .bl100-capability::before{content:none}
.bl104-signature .v104-capabilities .bl100-capability:is(:hover,.is-active){color:#061830;background:none;box-shadow:none}
.bl104-signature .v104-capabilities .bl100-capability::after{content:'';position:absolute;left:0;top:22px;bottom:22px;width:2px;background:#0c9fdc;transform:scaleY(0);transition:transform 200ms}
.bl104-signature .v104-capabilities .bl100-capability.is-active::after{transform:scaleY(1)}
.bl104-signature .v104-capabilities .bl100-cap-num{padding-left:8px}
.bl104-signature .v104-capabilities .bl100-cap-copy strong{color:inherit;font-size:clamp(1.1rem,1.7vw,1.5rem)}
.bl104-signature .v104-capabilities .bl100-cap-copy em{color:#526b7d}
.bl104-signature .v104-capabilities .bl100-cap-outcome{color:#057aae;transition:translate 160ms}
.bl104-signature .v104-capabilities .bl100-capability:hover .bl100-cap-outcome{translate:3px 0}
.bl104-signature .v104-capabilities .bl100-capability-visual{border:0;border-radius:0;box-shadow:none;background:#071827}
.bl104-signature .v104-capabilities .bl100-capability-visual img{transform:none!important;translate:none!important;transition:opacity 240ms;aspect-ratio:3/2;object-fit:contain}
.bl104-signature .v104-capabilities .bl100-capability-visual.is-changing img{opacity:.2}
.bl104-signature .v104-capabilities .bl100-capability-visual figcaption{padding:13px 16px}
/* Updated areas remain legible even if enhancement fails. */
html.bl100-js .bl104-signature :is(.v104-capabilities,.v104-services,.v104-portfolio) [data-v100-reveal]{opacity:1;translate:none;clip-path:none;transform:none;transition:none}
@media(max-width:1100px) and (min-width:981px){
 .bl104-signature .v104-home-opening .bl100-hero-copy h1{font-size:clamp(3.1rem,5.8vw,4rem)}
 .bl104-signature .v104-home-opening .bl100-actions{align-items:flex-start;flex-direction:column}
}
@media(max-width:980px){
 .bl104-signature .v104-home-opening .bl100-home-hero-grid{grid-template-columns:1fr;gap:32px}
 .bl104-signature .v104-home-opening .bl100-hero-copy h1{font-size:clamp(3.5rem,8vw,5.7rem)}
 .bl104-signature .v104-home-opening .bl100-hero-copy>p:not(.bl103-local-note){max-width:52ch}
 .bl104-signature .v104-home-opening .v103-proof-stage{width:100%;max-width:850px;justify-self:center}
}
@media(max-width:600px){
 .bl104-signature .v104-home-opening{padding:30px 0 26px}
 .bl104-signature .v104-home-opening .bl100-home-hero-grid{gap:24px}
 .bl104-signature .v104-home-opening .bl100-hero-copy h1{font-size:clamp(2.9rem,11.9vw,4.1rem);margin:18px 0;line-height:1.03}
 .bl104-signature .v104-home-opening .bl100-hero-copy>p:not(.bl103-local-note){font-size:.95rem;line-height:1.55;margin:18px 0 22px}
 .bl104-signature .v104-home-opening .bl103-local-note{margin-top:13px}
 .bl104-signature .v104-home-opening .v103-stage-heading{font-size:9px}
 .bl104-signature .v104-home-opening .v103-proof-tabs{gap:10px}
 .bl104-signature .v104-home-opening .v103-proof-tabs button{font-size:10px;gap:5px;min-height:49px;text-align:left}
 .bl104-signature .v104-home-opening .v103-proof-tabs button>span{font-size:9px}
 .bl104-signature .v104-home-opening .v103-project-route{min-height:48px;font-size:10px}
 .bl104-signature .v104-home-opening .v103-project-route strong{font-size:11px}
 .bl104-signature .v104-capabilities .bl100-capability-layout{gap:24px}
 .bl104-signature .v104-capabilities .bl100-capability{padding-block:20px}
}
@media(prefers-reduced-motion:reduce){
 .bl104-signature .v103-proof-panel,.bl104-signature .v103-proof-stage,.bl104-signature .bl100-button,.bl104-signature .header-cta,.bl104-signature .drawer-links>a>span:last-child,.bl104-signature .v104-capabilities *{animation:none!important;transition:none!important}
 .bl104-signature .bl-proof-hero .bl-proof-motion-surface{display:none}
 .bl104-signature .bl-proof-hero .v103-hero-screen>picture.bl-proof-image-pending{opacity:1}
 .bl104-signature .bl-proof-hero .v103-proof-tabs button,.bl104-signature .bl-proof-hero .v103-proof-tabs button::before,.bl104-signature .bl-proof-hero .v103-proof-tabs button>span{transition:none!important}
}
/* Keep floating Help clear of proof controls while imagery keeps its full width. */
.bl104-signature .v103-screen figcaption{padding-inline-end:76px}
.bl104-signature .v104-home-opening .v103-hero-screen figcaption{padding-inline-end:76px}
.bl104-signature .v104-home-opening .v103-project-route,.bl104-signature .v104-home-opening .v103-proof-tabs{margin-inline-end:64px}
