/* BKK visual language - self-hosted, progressive and motion-aware. */
:root{--bkk-ink:#050509;--bkk-line:#25313c;--bkk-cyan:#51c8ee;--bkk-red:#ed5266;--bkk-paper:#f0f4f8;--bkk-muted:#a3afbd}
/* Compact incident action: brand cyan, one border and a restrained ambient glow. */
.bkk-escalate {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    justify-content: center;
    border: 1px solid #38bdf899;
    background-color: #0a1721;
    color: #38bdf8;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.bkk-escalate--nav {
    flex: none;
    gap: 8px;
    min-height: 44px;
    padding: 7px 12px;
    border-radius: 9999px;
    font-size: 10px;
    line-height: 16px;
    letter-spacing: .14em;
    white-space: nowrap;
}
#bkk-nav-mobile .bkk-escalate--nav { width: 100%; }
.bkk-escalate::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: 0 0 9px #38bdf85c;
    opacity: .22;
    pointer-events: none;
}
.bkk-escalate.bkk-motion-ready::before {
    animation: bkk-escalate-glow 5s ease-in-out infinite;
    animation-play-state: var(--bkk-animation-state, paused);
}
.bkk-escalate-dot { flex: none; width: 5px; height: 5px; border-radius: 50%; background: #38bdf8; }
.bkk-escalate > .fa-triangle-exclamation { color: inherit; }
.bkk-escalate:focus-visible { outline: 2px solid #38bdf8; outline-offset: 4px; }
@media (hover: hover) {
    .bkk-escalate:hover { border-color: #38bdf8; color: #bcecff; background-color: #102332; }
}
.bkk-escalate:active { background-color: #08131c; }
@keyframes bkk-escalate-glow { 0%,100% { opacity: .22; } 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .bkk-escalate.bkk-motion-ready::before { animation: none; opacity: .3; } }
@media (forced-colors: active) {
    .bkk-escalate, .bkk-escalate:hover, .bkk-escalate:active, .bkk-escalate:focus-visible { color: LinkText; border-color: LinkText; background: Canvas; box-shadow: none; }
    .bkk-escalate::before { display: none; animation: none !important; }
    .bkk-escalate-dot { background: LinkText; box-shadow: none; }
    .bkk-escalate > .fa-triangle-exclamation { color: LinkText; }
    .bkk-escalate:focus-visible { outline-color: Highlight; }
}
/* Incident beacon: two edge pulses; lettering stays steadily readable. */
.bkk-incident-signal {
    --bkk-signal-cycle: 4.8s;
    gap: 10px;
    border-color: #59cef4;
    background: linear-gradient(115deg, #15384a, #0b1e2c 64%, #102b3d);
    color: #e4f8ff;
    font-weight: 600;
    box-shadow: inset 0 1px 0 #b5edff1f, 0 0 12px #38bdf81a;
}
.bkk-incident-signal__label { position: relative; z-index: 2; }
.bkk-incident-signal::before {
    inset: -1px;
    border: 1px solid #a6eaff;
    box-shadow: 0 0 9px #38bdf8b3, 0 0 24px #38bdf85c, inset 0 0 12px #38bdf826;
    opacity: .26;
}
.bkk-incident-signal::after {
    content: '';
    position: absolute;
    inset: -4px;
    border: 1px solid #66d6ffa6;
    border-radius: inherit;
    opacity: 0;
    pointer-events: none;
}
.bkk-incident-signal .bkk-escalate-dot {
    position: relative;
    z-index: 2;
    width: 6px;
    height: 6px;
    background: #b8f0ff;
    box-shadow: 0 0 7px #38bdf8cc;
}
.bkk-incident-signal .bkk-escalate-dot::before {
    content: '';
    position: absolute;
    inset: -4px;
    border: 1px solid #76ddff;
    border-radius: 50%;
    opacity: .5;
}
.bkk-incident-signal.bkk-motion-ready::before {
    animation: bkk-incident-beacon var(--bkk-signal-cycle) ease-in-out infinite;
    animation-play-state: var(--bkk-animation-state, paused);
}
.bkk-incident-signal.bkk-motion-ready::after {
    animation: bkk-incident-echo var(--bkk-signal-cycle) ease-out infinite;
    animation-play-state: var(--bkk-animation-state, paused);
}
.bkk-incident-signal.bkk-motion-ready .bkk-escalate-dot::before {
    animation: bkk-incident-core var(--bkk-signal-cycle) ease-in-out infinite;
    animation-play-state: var(--bkk-animation-state, paused);
}
@keyframes bkk-incident-beacon {
    0%, 16%, 38%, 100% { opacity: .26; }
    8% { opacity: 1; }
    26% { opacity: .88; }
}
@keyframes bkk-incident-echo {
    0%, 16%, 100% { opacity: 0; transform: scale(1); }
    8% { opacity: .6; transform: scale(1.01, 1.03); }
    15% { opacity: 0; transform: scale(1.035, 1.12); }
    26% { opacity: .46; transform: scale(1.01, 1.03); }
    38% { opacity: 0; transform: scale(1.045, 1.16); }
}
@keyframes bkk-incident-core {
    0%, 16%, 38%, 100% { opacity: .35; transform: scale(1); }
    8%, 26% { opacity: .9; transform: scale(1.22); }
}
@media (hover: hover) {
    .bkk-incident-signal:hover { color: #fff; border-color: #b8edff; background: linear-gradient(115deg, #1a455b, #102b3d); }
}
.bkk-incident-signal:focus-visible { color: #fff; outline: 2px solid #b8edff; outline-offset: 4px; }
.bkk-incident-signal:active { background: #102b3d; }
@media (prefers-reduced-motion: reduce) {
    .bkk-incident-signal.bkk-motion-ready::before { animation: none !important; opacity: .4; }
    .bkk-incident-signal::after, .bkk-incident-signal .bkk-escalate-dot::before { display: none; animation: none !important; }
}
@media (forced-colors: active), print {
    .bkk-incident-signal, .bkk-incident-signal:hover, .bkk-incident-signal:active { color: LinkText; background: Canvas; border-color: LinkText; box-shadow: none; }
    .bkk-incident-signal::before, .bkk-incident-signal::after, .bkk-incident-signal .bkk-escalate-dot::before { display: none; animation: none !important; }
    .bkk-incident-signal .bkk-escalate-dot { background: LinkText; box-shadow: none; }
    .bkk-incident-signal:focus-visible { outline-color: Highlight; }
}

html{scroll-padding-top:104px}body{overflow-wrap:break-word}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--bkk-cyan);outline-offset:5px}::selection{background:#51c8ee;color:#050509}
.bkk-eyebrow{display:flex;align-items:center;gap:10px;color:var(--bkk-cyan);font:500 10px/1.65 'JetBrains Mono',monospace;letter-spacing:.17em;text-transform:uppercase;margin:0 0 14px}.bkk-square{width:5px;height:5px;flex:none;background:currentColor;display:inline-block}.bkk-section-heading{max-width:760px;margin-bottom:32px}.bkk-section-heading h2,.bkk-resource-intro h2{font:500 clamp(1.65rem,2.6vw,2.5rem)/1.2 'Space Grotesk',Inter,sans-serif;letter-spacing:-.035em;margin:0 0 16px}.bkk-section-heading>p:last-child{color:var(--bkk-muted);font-size:14px;line-height:1.8;max-width:64ch}
.bkk-site-header a[aria-current=page]{color:#fff}.bkk-site-header a[aria-current=page]:after{background:var(--bkk-cyan)}.bkk-site-header .bkk-language-list :is(a,button)[aria-current=true]{color:#050509}.bkk-hero-grid{overflow:hidden}.bkk-hero-grid:after{content:'';position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#38bdf840,transparent);pointer-events:none}.bkk-hero-grid .bkk-orbit{inset:5% -20% 8% 45%;border-radius:50%;box-shadow:none;transform:rotate(-22deg);border-color:#38bdf82b;opacity:.7}.bkk-hero-container{padding-block:clamp(56px,7vw,105px)}.bkk-home-hero-title{letter-spacing:-.045em;max-width:18ch}.bkk-home-hero-stats{border-radius:12px!important;box-shadow:none;position:relative}.bkk-home-stat{position:relative;min-height:150px}.bkk-home-stat:before{content:'';position:absolute;inset:0 auto auto 0;width:22px;height:1px;background:#38bdf860}.bkk-home-stat p{max-width:34ch}.bkk-home-stat>div:nth-child(2){font-weight:500;letter-spacing:-.035em}
.bkk-service-page{width:100%;max-width:1440px!important;padding-inline:clamp(20px,4vw,64px)!important}.bkk-service-header{max-width:950px;margin:10px 0 44px}.bkk-service-header h1{font:500 clamp(2rem,3.2vw,3.65rem)/1.14 'Space Grotesk',Inter,sans-serif;letter-spacing:-.04em;text-wrap:balance}.bkk-service-header>p:last-child{font-size:15px;line-height:1.8;max-width:80ch}.bkk-service-page>section:not(.bkk-visual){border-radius:12px}.bkk-service-page>section:not(.bkk-visual)>h2{font-family:'Space Grotesk',Inter,sans-serif;font-size:20px;letter-spacing:-.02em}.bkk-service-page>section ul{line-height:1.85}.bkk-service-page>section li>p:first-child{line-height:1.6}.bkk-service-page>section p,.bkk-service-page>section li{overflow-wrap:anywhere}
.bkk-visual{--scene-accent:var(--bkk-cyan);margin:0 0 52px;border:1px solid var(--bkk-line);border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 20% 58%,#14253170,transparent 60%),#080b10}.bkk-visual--redteam{--scene-accent:var(--bkk-red)}.bkk-visual--advisory{--scene-accent:#a7cbd9}.bkk-visual-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:32px 36px 24px;border-bottom:1px solid #ffffff0b}.bkk-visual-heading h2{font:500 clamp(1.4rem,2.3vw,2.1rem)/1.2 'Space Grotesk',Inter,sans-serif;letter-spacing:-.035em;color:var(--bkk-paper);margin:0 0 10px}.bkk-visual-heading .bkk-eyebrow{color:var(--scene-accent)}.bkk-visual-intro{max-width:66ch;color:var(--bkk-muted);font-size:13px;line-height:1.75}.bkk-visual-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.85fr);align-items:center}.bkk-visual-art{position:relative;min-width:0;padding:14px 0;overflow:hidden;direction:ltr}.bkk-visual-art svg,.bkk-cap-art svg,.bkk-resource-art svg{width:100%;height:auto;display:block;overflow:hidden}.bkk-visual-controls{padding:28px 32px 28px 12px;align-self:center}.bkk-visual-step{border-bottom:1px solid #ffffff10;padding:4px 0}.bkk-visual-step:last-child{border-bottom:0}.bkk-visual-step button{width:100%;text-align:start;display:flex;align-items:center;gap:14px;min-height:60px;color:#adb8c4;cursor:pointer;font-size:13px;font-weight:500;transition:color .16s ease}.bkk-step-number{font:400 10px/1.5 'JetBrains Mono',monospace;letter-spacing:.1em;color:#778895;flex:none}.bkk-step-mark{margin-inline-start:auto;color:#627482}.bkk-visual-step button[aria-pressed=true]{color:var(--bkk-paper)}.bkk-visual-step button[aria-pressed=true] .bkk-step-number,.bkk-visual-step button[aria-pressed=true] .bkk-step-mark{color:var(--scene-accent)}.bkk-visual-step p{font-size:12px;line-height:1.85;color:var(--bkk-muted);margin:0 0 16px;padding-inline-start:30px;max-width:44ch}
/* Diagram primitives are decorative; localised controls carry every essential label. */
.v-grid{stroke:#375267;stroke-width:.65;opacity:.24}.v-bracket{stroke:#405566;stroke-width:1}.v-plane{fill:#0c151f;fill-opacity:.94;stroke:#435666;stroke-width:1.2}.v-top{fill:#172530;stroke:#688594;stroke-width:1.2}.v-side{fill:#080e16;stroke:#405263;stroke-width:1.2}.v-face{fill:#101b25;stroke:#4b6575;stroke-width:1.2}.v-side-line,.v-detail{stroke:#607d90;stroke-width:1;opacity:.65}.v-link{stroke:#5c7688;stroke-width:1;opacity:.8}.v-line{stroke:#557789;stroke-width:1}.v-point{fill:var(--scene-accent,var(--bkk-cyan))}.v-muted-point{fill:#5b849a;opacity:.5}.v-orbit{stroke:#638597;stroke-width:1;opacity:.55}.v-ring{stroke:var(--scene-accent,var(--bkk-cyan));stroke-width:1;fill:none}.v-signal{stroke:var(--scene-accent,var(--bkk-cyan));stroke-width:1.8;fill:none;stroke-linejoin:round;stroke-linecap:round}.v-red{stroke:var(--bkk-red)}.v-node-red{fill:var(--bkk-red)}.v-boundary{stroke:var(--bkk-cyan);stroke-width:1.3;fill:#38bdf805}.v-device{fill:#111d28;stroke:var(--bkk-cyan);stroke-width:1.5}.v-channel{transition:opacity .22s ease;opacity:.3}.bkk-visual[data-active="0"] .v-channel-0,.bkk-visual[data-active="1"] .v-channel-1,.bkk-visual[data-active="2"] .v-channel-2,.bkk-cap-art .v-channel,.bkk-resource-art .v-channel{opacity:1}
.bkk-capabilities{margin:0 0 44px}.bkk-cap-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--bkk-line)}.bkk-cap-tabs button{display:flex;align-items:center;gap:10px;min-height:55px;padding:12px 20px;border-bottom:2px solid transparent;color:#a8b6c2;font-size:12px;text-align:start;cursor:pointer}.bkk-cap-tabs button[aria-pressed=true]{color:#f3f6f9;border-bottom-color:var(--bkk-cyan);background:#38bdf808}.bkk-cap-panel{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;padding:12px 40px 12px 4px;border:1px solid var(--bkk-line);border-top:0;background:radial-gradient(ellipse at 20% 50%,#112b3a55,transparent 65%),#080b10;border-radius:0 0 12px 12px}.bkk-cap-art{min-width:0;width:100%;direction:ltr}.bkk-cap-copy{padding:30px 0}.bkk-cap-copy h3{font:500 clamp(1.65rem,2.6vw,2.6rem)/1.2 'Space Grotesk',Inter,sans-serif;letter-spacing:-.04em;margin-bottom:20px}.bkk-cap-copy>p:not(.bkk-eyebrow){color:var(--bkk-muted);font-size:14px;line-height:1.8;max-width:42ch}.bkk-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;color:var(--bkk-paper);border-bottom:1px solid #587889;padding:18px 0 9px;margin-top:12px}.bkk-text-link:hover{color:var(--bkk-cyan)}.bkk-leadership-frame{position:relative;padding:16px;border:1px solid #2f4655;background:linear-gradient(140deg,#172b37,#0a1016 60%)}.bkk-leadership-frame:before{content:'';position:absolute;inset:0 auto auto 0;width:42px;height:2px;background:var(--bkk-cyan)}
.bkk-resource-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding:20px 32px;margin:0 0 40px;border-block:1px solid var(--bkk-line);background:linear-gradient(120deg,#11222e55,transparent)}.bkk-resource-intro>div:first-child{max-width:600px}.bkk-resource-intro p:last-child{font-size:14px;color:var(--bkk-muted);line-height:1.85}.bkk-resource-art{max-width:440px;justify-self:end;width:100%;direction:ltr}
/* Pack covers: one subject-specific composition per resource, in a shared frame. */
.bkk-resource-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.bkk-resource-card { min-width: 0; border-radius: 10px !important; transition: border-color .18s ease; }
.bkk-resource-card:hover, .bkk-resource-card:focus-within { border-color: #44677d; }
.bkk-resource-cover { flex: none; margin-bottom: 22px; overflow: hidden; border: 1px solid #2a4153; border-radius: 7px; background: linear-gradient(145deg, #111e29, #080f17); direction: ltr; pointer-events: none; user-select: none; }
.bkk-resource-cover-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px 10px; border-bottom: 1px solid #2a415366; color: #a9c6d8; font: 400 10px/1.6 'JetBrains Mono', monospace; letter-spacing: .1em; }
.bkk-resource-cover-label span:last-child { color: #718d9f; font-variant-numeric: tabular-nums; }
.bkk-resource-cover .bkk-pack-svg { display: block; width: 100%; max-width: 440px; height: auto; aspect-ratio: 2 / 1; margin: 0 auto; overflow: visible; }
.bkk-pack-svg :is(.v-plane,.v-face,.v-side,.v-device) { stroke-width: 1.6; }
.bkk-pack-svg :is(.v-line,.v-link,.v-detail) { stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.bkk-pack-svg .v-line { stroke: #829aaa; }
.bkk-pack-svg .v-detail { opacity: .65; }
.bkk-pack-svg .bkk-pack-ink { stroke: #bfd3df; }
.bkk-pack-svg .v-boundary { stroke-dasharray: 5 6; }
@media (min-width: 720px) { .bkk-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .bkk-resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bkk-lifecycle{position:relative;overflow:hidden}.bkk-lifecycle>div{position:relative}.bkk-lifecycle>div:before{content:'';position:absolute;top:0;inset-inline:0;height:1px;background:linear-gradient(90deg,#38bdf850,#38bdf8,transparent);transform-origin:left}.bkk-lifecycle>div>div{border-radius:6px!important}.bkk-secondary-flow{display:flex;align-items:center;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #30404d;direction:ltr}.bkk-secondary-flow span{height:5px;background:#355064;flex:1}.bkk-secondary-flow span:first-child{background:var(--bkk-red)}.bkk-secondary-flow span:last-child{background:var(--bkk-cyan)}
.bkk-contact-note{font-size:12px;line-height:1.8;color:var(--bkk-muted);padding:16px 0 0;border-top:1px solid #2b3b47;margin-top:22px}.bkk-form-field{transition:border-color .15s ease,box-shadow .15s ease}.bkk-topic-panel,.iti__dropdown-content{animation:bkk-panel-in .16s ease-out}.bkk-contact-shell{position:relative}.bkk-contact-shell:before{content:'';position:absolute;inset:0 auto auto 24px;width:70px;height:1px;background:var(--bkk-cyan)}.bkk-map-pin__dot{animation:bkk-map-enter .6s ease-out 1}.bkk-receipt{animation:bkk-panel-in .18s ease-out 1}
.bkk-lifecycle.is-running>div:before{animation:bkk-line-in 1.2s ease-out both;animation-play-state:var(--bkk-animation-state,paused)}
@keyframes bkk-draw{from{stroke-dashoffset:1400;opacity:.1}to{stroke-dashoffset:0;opacity:1}}@keyframes bkk-trace{0%{stroke-dashoffset:1400;opacity:0}65%{opacity:1}100%{stroke-dashoffset:0;opacity:.5}}@keyframes bkk-art-in{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bkk-panel-in{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes bkk-map-enter{from{transform:scale(.6)}to{transform:scale(1)}}@keyframes bkk-line-in{from{transform:scaleX(.1)}to{transform:scaleX(1)}}
[dir=rtl] .bkk-eyebrow{letter-spacing:0}[dir=rtl] .bkk-visual-controls{padding:28px 12px 28px 32px}[dir=rtl] .bkk-cap-panel{padding:12px 4px 12px 40px}[dir=rtl] .bkk-lifecycle>div:before{transform-origin:right}
@media(min-width:1200px){.bkk-site-header .bkk-desktop-nav{display:flex!important}.bkk-site-header #bkk-nav-toggle{display:none!important}.bkk-site-header #bkk-nav-mobile{display:none!important}}
@media(max-width:1199px){.bkk-site-header .bkk-desktop-nav{display:none!important}.bkk-site-header #bkk-nav-toggle{display:inline-flex!important}.bkk-site-header #bkk-nav-mobile:not(.hidden){display:block!important}.bkk-visual-heading{padding:28px}.bkk-visual-body{grid-template-columns:minmax(0,1.2fr) minmax(260px,.9fr)}.bkk-cap-tabs button{padding:12px 15px}}
@media(max-width:767px){.bkk-hero-container{padding-block:45px}.bkk-home-hero-title{font-size:clamp(2.4rem,7vw,3.6rem);max-width:20ch}.bkk-home-stat{min-height:0}.bkk-service-page{padding-inline:20px!important}.bkk-service-header{margin-bottom:28px}.bkk-service-header h1{font-size:clamp(1.85rem,5.8vw,2.6rem)}.bkk-service-header>p:last-child{font-size:14px}.bkk-visual-heading{padding:24px;display:block}.bkk-visual-body{display:flex;flex-direction:column}.bkk-visual-art{width:100%;padding-block:11px}.bkk-visual-controls,[dir=rtl] .bkk-visual-controls{width:100%;padding:4px 24px 20px}.bkk-visual-step button{min-height:56px}.bkk-visual-step p{max-width:none}.bkk-cap-panel,[dir=rtl] .bkk-cap-panel{grid-template-columns:1fr;gap:0;padding:0 22px 24px}.bkk-cap-copy{padding:4px 0 0}.bkk-cap-art{max-width:500px;justify-self:center}.bkk-cap-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.bkk-cap-tabs button{padding:12px;min-height:55px;font-size:11px;line-height:1.6}.bkk-cap-tabs button:last-child{grid-column:1/-1}.bkk-region{grid-template-columns:1fr;gap:12px;padding:15px 0 28px}.bkk-region-copy>p:last-child{max-width:none}.bkk-region-copy h3{font-size:1.6rem}.bkk-resource-intro{grid-template-columns:1fr;padding:26px 0 10px;gap:0}.bkk-resource-art{max-width:330px;justify-self:center}.bkk-resource-intro h2{font-size:1.85rem}.bkk-country-controls button{min-height:46px}}
@media(max-width:380px){.bkk-visual-heading,.bkk-visual-controls,[dir=rtl] .bkk-visual-controls{padding-inline:18px}.bkk-visual-step button{gap:10px;font-size:12px}.bkk-visual-step p{padding-inline-start:26px}.bkk-service-page{padding-inline:16px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.bkk-visual,.bkk-cap-panel,.bkk-resource-cover{border:1px solid CanvasText}.bkk-visual-step button[aria-pressed=true],.bkk-cap-tabs button[aria-pressed=true],.bkk-country-controls button[aria-pressed=true]{outline:2px solid Highlight}.v-signal{stroke:Highlight}.v-plane,.v-face,.v-top{fill:Canvas;stroke:CanvasText}}
.bkk-cap-panel,.bkk-resource-art{overflow:hidden}.text-slate-500{color:#8493a6}.bkk-language-list :is(a,button){min-height:28px;justify-content:center}.bkk-language-list :is(a,button) span{font-size:10px}.bkk-site-header .bkk-desktop-nav{gap:24px}.bkk-site-header #bkk-nav-toggle{min-width:44px;min-height:44px}

.bkk-legal{width:100%;min-width:0}.bkk-legal section{min-width:0}.bkk-legal-table{min-width:620px}.bkk-legal .overflow-x-auto{max-width:100%;overscroll-behavior-x:contain}

/* Consistent viewports keep every compact scene fully visible and centered. */
.bkk-scene-svg { aspect-ratio: 3 / 2; pointer-events: none; user-select: none; }
.bkk-core-card { overflow: hidden; border-radius: 10px !important; }
.bkk-core-art { height: 112px; position: relative; overflow: hidden; direction: ltr; margin: -5px -5px 2px; background: radial-gradient(ellipse at center, #17324550, transparent 70%); }
.bkk-core-art svg { display: block; width: 100%; height: 100%; margin: 0; overflow: hidden; }
.bkk-core-art .v-channel { opacity: .8; }
.bkk-core-art .v-grid, .bkk-core-art .v-bracket { opacity: .1; }
.bkk-core-art .v-signal { stroke-width: 2.5; }
.bkk-core-card:nth-child(1) .bkk-core-art { background: radial-gradient(ellipse at center, #4b172550, transparent 70%); }
@media (max-width: 767px) { .bkk-core-art { height: 95px; } }
[dir=rtl] .font-mono { letter-spacing: .015em; }

.bkk-logo-stack img{max-width:100%;object-fit:contain;transition:transform .16s ease;opacity:1;filter:none}.bkk-logo-stack img:hover{opacity:1}

/* Shared page surfaces: no browser-default light seam above the footer. */
html { background: #050509; color-scheme: dark; }
body { background-color: #050509; }
:where(*), :where(*)::before, :where(*)::after { border-color: #1f2933; }
#main-content:focus { outline: none; }
.bkk-site-footer { margin-top: 32px; border: 0; box-shadow: none; background: #0b0c10; }
.bkk-site-footer::before, .bkk-site-footer::after { content: none; }

/* Local SVG flags, independent of operating-system emoji support. */
.bkk-language-list :is(a,button) { position:relative; isolation:isolate; min-width:38px; min-height:34px; padding:7px; border-radius:7px; }
.bkk-language-list :is(a,button)::before { content:""; position:absolute; width:26px; height:21px; inset:50% auto auto 50%; transform:translate(-50%,-50%); border-radius:4px; pointer-events:none; }
.bkk-language-list .bkk-language-flag { position:relative; display: block; width: 20px; height: 15px; border-radius: 2px; object-fit: cover; }
.bkk-site-header .bkk-language-list :is(a,button)[aria-current=true] { background:transparent; box-shadow:none; }
.bkk-site-header .bkk-language-list :is(a,button)[aria-current=true]::before { background:#173245; box-shadow:inset 0 0 0 1px #4c9abb; }
.bkk-language-list :is(a,button):hover { background:transparent; }
.bkk-language-list :is(a,button):hover::before { background:#17242f; }

/* SVG timelines retain their phase while offscreen or in a background tab. */
[data-motion] { --bkk-animation-state: paused; }
[data-motion].is-live { --bkk-animation-state: running; }

/* Preserve the alignment between the source image and its neon paths. */
.bkk-operator-art { width: 100%; max-width: 400px; margin: 0; justify-self: center; }
.bkk-operator-stage { position: relative; isolation: isolate; touch-action: pan-y; }
.bkk-operator-layer { position: relative; }
.bkk-operator-art img { display: block; width: 100%; height: auto; }
.bkk-operator-neon { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; visibility: hidden; }
.bkk-operator-art[data-image-ready="true"] .bkk-operator-neon { visibility: visible; }
.bkk-neon-red { color: #ff234c; stroke: currentColor; filter: drop-shadow(0 0 4px #fa214a80); }
.bkk-neon-cyan { color: #32dfff; stroke: currentColor; filter: drop-shadow(0 0 4px #33dfff80); }
.bkk-neon-edge { stroke-width: 2; opacity: .45; }
.bkk-neon-circuit { stroke-width: 3; stroke-dasharray: 5 95; opacity: 0; }
.bkk-neon-nodes { stroke-width: 2.4; opacity: .65; }
.bkk-motion-ready .bkk-neon-edge { animation: bkk-neon-outline 5.5s ease-in-out infinite; animation-play-state: var(--bkk-animation-state); }
.bkk-motion-ready .bkk-neon-cyan .bkk-neon-edge { animation-delay: -2.75s; }
.bkk-motion-ready .bkk-neon-circuit { opacity: 1; animation: bkk-neon-flow 7s linear infinite; animation-play-state: var(--bkk-animation-state); }
.bkk-motion-ready .bkk-neon-secondary { animation-delay: -3.5s; animation-duration: 9s; }
.bkk-motion-ready .bkk-neon-cyan .bkk-neon-circuit { animation-delay: -2s; }
.bkk-motion-ready .bkk-neon-nodes { animation: bkk-neon-pulse 4.8s ease-in-out infinite; animation-play-state: var(--bkk-animation-state); }
.bkk-motion-ready .bkk-neon-cyan .bkk-neon-nodes { animation-delay: -2.4s; }

/* The routes stay intact; only the narrow signal overlays and nodes pulse. */
.bkk-dataflow { opacity: 0; pointer-events: none; stroke-width: 2.8; stroke-linecap: round; fill: none; color: var(--scene-accent, var(--bkk-cyan)); stroke: currentColor; stroke-dasharray: 5 45; }
.bkk-dataflow.v-red { color: var(--bkk-red); }
.bkk-motion-ready .bkk-dataflow { opacity: 1; animation: bkk-packet-flow 6s linear infinite; animation-play-state: var(--bkk-animation-state); filter: drop-shadow(0 0 3px currentColor); }
.bkk-motion-ready .v-channel-1 .bkk-dataflow { animation-delay: -2s; }
.bkk-motion-ready .v-channel-2 .bkk-dataflow { animation-delay: -4s; }
.bkk-motion-ready .v-point, .bkk-motion-ready .v-node-red { animation: bkk-node-pulse 4.5s ease-in-out infinite; animation-play-state: var(--bkk-animation-state); transform-box: fill-box; transform-origin: center; }
.bkk-motion-ready .v-channel-1 .v-point, .bkk-motion-ready .v-channel-1 .v-node-red { animation-delay: -1.5s; }
.bkk-motion-ready .v-channel-2 .v-point, .bkk-motion-ready .v-channel-2 .v-node-red { animation-delay: -3s; }
.bkk-motion-ready .v-boundary, .bkk-motion-ready .v-ring { animation: bkk-boundary-pulse 5.5s ease-in-out infinite; animation-play-state: var(--bkk-animation-state); }

@keyframes bkk-neon-outline { 0%,100% { opacity: .4; } 50% { opacity: .9; } }
@keyframes bkk-neon-flow { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes bkk-neon-pulse { 0%,100% { opacity: .45; } 50% { opacity: 1; } }
@keyframes bkk-packet-flow { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes bkk-node-pulse { 0%,100% { opacity: .6; transform: scale(.88); } 50% { opacity: 1; transform: scale(1.16); } }
@keyframes bkk-boundary-pulse { 0%,100% { opacity: .45; } 50% { opacity: .95; } }
@media (max-width: 767px) { .bkk-operator-art { max-width: 330px; } }
@media (prefers-reduced-motion: reduce) {
    .bkk-operator-layer { transform: none !important; }
    .bkk-dataflow, .bkk-neon-circuit { display: none; }
}
@media (forced-colors: active) {
    .bkk-language-list :is(a,button)[aria-current=true] { outline: 2px solid Highlight; }
    .bkk-dataflow, .bkk-operator-neon { display: none; }
    .bkk-scene-svg :is(.v-grid,.v-bracket,.v-side-line,.v-detail,.v-link,.v-line,.v-orbit) { stroke: CanvasText; }
    .bkk-scene-svg :is(.v-signal,.v-ring,.v-boundary,.v-device) { stroke: Highlight; }
    .bkk-scene-svg :is(.v-top,.v-side,.v-face,.v-plane,.v-device) { fill: Canvas; stroke: CanvasText; }
    .bkk-scene-svg :is(.v-point,.v-node-red) { fill: Highlight; }
    .bkk-scene-content .v-channel { opacity: 1; }
    .bkk-scene-content * { animation: none !important; filter: none !important; }
    .bkk-scene-svg .bkk-scene-content :is(path,polygon,polyline,circle,ellipse,line,rect) { vector-effect: non-scaling-stroke; stroke-width: 1; }
}

/* Original homepage flag row, with scalable SVG artwork. */
.bkk-region-flags img { display:block; width:40px; height:30px; object-fit:contain; border-radius:3px; }
.bkk-operator-art, .bkk-operator-stage, .bkk-operator-layer { background:none; box-shadow:none; }
.bkk-operator-art::before, .bkk-operator-art::after, .bkk-operator-stage::before, .bkk-operator-stage::after { content:none; }
@media(max-width:639px) { .bkk-region-flags img { width:36px; height:27px; } }

/* Quiet energy traces sit behind the footer content and never intercept input. */
.bkk-site-footer { position: relative; isolation: isolate; }
.bkk-footer-content { position: relative; z-index: 1; }
.bkk-footer-energy { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; user-select: none; }
.bkk-footer-energy svg { display: block; width: 100%; height: 100%; fill: none; stroke: #38bdf8; stroke-linecap: round; }
.bkk-footer-routes { opacity: .035; stroke-width: 1; }
.bkk-footer-current { opacity: 0; stroke-width: 1.4; stroke-dasharray: 12 88; animation: bkk-footer-flow 20s linear infinite; animation-play-state: paused; }
.bkk-footer-current:nth-child(2) { animation-duration: 25s; animation-delay: -9s; }
.bkk-footer-current:nth-child(3) { animation-duration: 29s; animation-delay: -18s; }
.bkk-footer-energy.is-live .bkk-footer-current { animation-play-state: running; }
@keyframes bkk-footer-flow {
    0% { stroke-dashoffset: 100; opacity: 0; }
    20% { opacity: .065; }
    50% { opacity: .11; }
    80% { opacity: .065; }
    100% { stroke-dashoffset: 0; opacity: 0; }
}
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
    .bkk-footer-energy { display: none; }
}

/* Homepage headline: two short signal faults, then a clean, stationary reading state.
   Decorative copies preserve the original line breaks and never enter the text flow. */
.bkk-signal-title { position: relative; isolation: isolate; --bkk-glitch-step: clamp(1.5px, .045em, 3px); }
[dir="rtl"] .bkk-signal-title { --bkk-glitch-step: clamp(-3px, -.045em, -1.5px); }
.bkk-title-echo { display: none; }
@supports (clip-path: inset(10% 0 80% 0)) {
    .bkk-signal-title > .bkk-title-echo {
        display: block;
        position: absolute;
        inset: 0;
        pointer-events: none;
        user-select: none;
        -webkit-user-select: none;
        background: #050509;
        color: #38bdf8;
        opacity: 0;
        clip-path: inset(50% 0 50% 0);
    }
    .bkk-title-echo > span { color: inherit; background: none; -webkit-text-fill-color: currentColor; }
    .bkk-signal-title.bkk-motion-ready > .bkk-title-echo {
        animation: bkk-title-cut 10.8s steps(1, end) infinite;
        animation-play-state: var(--bkk-animation-state, paused);
    }
    .bkk-signal-title.bkk-motion-ready > .bkk-title-echo--return {
        color: #60a5fa;
        animation-name: bkk-title-return;
        animation-delay: .09s;
    }
    .bkk-signal-title:not(.is-live) > .bkk-title-echo { visibility: hidden; }
}
@keyframes bkk-title-cut {
    0%, 9.99%, 16%, 53.99%, 57.8%, 100% { opacity: 0; clip-path: inset(50% 0 50% 0); transform: none; }
    10% { opacity: .96; clip-path: inset(15% 0 80% 0); transform: translateX(var(--bkk-glitch-step)); }
    11.4% { clip-path: inset(23% 0 70% 0); transform: translateX(calc(var(--bkk-glitch-step) * -1.6)); }
    12% { clip-path: inset(45% 0 49% 0); transform: translateX(calc(var(--bkk-glitch-step) * 1.3)); }
    13.6% { clip-path: inset(62% 0 33% 0); transform: translateX(calc(var(--bkk-glitch-step) * -1)); }
    14.3% { clip-path: inset(73% 0 22% 0); transform: translateX(var(--bkk-glitch-step)); }
    15.2% { opacity: .6; clip-path: inset(83% 0 14% 0); transform: none; }
    54% { opacity: .9; clip-path: inset(38% 0 57% 0); transform: translateX(calc(var(--bkk-glitch-step) * -1)); }
    55.2% { clip-path: inset(48% 0 48% 0); transform: translateX(calc(var(--bkk-glitch-step) * 1.6)); }
    56.4% { clip-path: inset(66% 0 29% 0); transform: translateX(calc(var(--bkk-glitch-step) * -1)); }
    57.2% { opacity: .5; clip-path: inset(69% 0 29% 0); transform: none; }
}
@keyframes bkk-title-return {
    0%, 10.79%, 16%, 54.49%, 57.8%, 100% { opacity: 0; clip-path: inset(50% 0 50% 0); transform: none; }
    10.8% { opacity: .72; clip-path: inset(58% 0 39% 0); transform: translateX(calc(var(--bkk-glitch-step) * -1)); }
    12.4% { clip-path: inset(18% 0 77% 0); transform: translateX(var(--bkk-glitch-step)); }
    13.6% { clip-path: inset(31% 0 66% 0); transform: translateX(calc(var(--bkk-glitch-step) * -1.3)); }
    15.2% { opacity: .4; clip-path: inset(73% 0 24% 0); transform: none; }
    54.5% { opacity: .65; clip-path: inset(78% 0 18% 0); transform: translateX(var(--bkk-glitch-step)); }
    56% { clip-path: inset(24% 0 73% 0); transform: translateX(calc(var(--bkk-glitch-step) * -1)); }
    57% { opacity: .4; clip-path: inset(61% 0 37% 0); transform: none; }
}
@media (prefers-reduced-motion: reduce), (forced-colors: active), print {
    .bkk-signal-title > .bkk-title-echo { display: none !important; animation: none !important; }
}
@media (forced-colors: active) {
    .bkk-signal-title > .bg-clip-text { color: CanvasText; background: none; -webkit-text-fill-color: currentColor; }
}
