@font-face { font-family: Heebo; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../vendor/fonts/files/heebo-wght-normal.woff2) format("woff2"); }
/* BKK design system. Shared geometry and typography for every page and language. */
:root {
    --bkk-content-width: 84rem;
    --bkk-gutter: clamp(1rem, 2.4vw, 2rem);
    --bkk-page-space: clamp(1.75rem, 3vw, 2.5rem);
    --bkk-section-space: clamp(1.5rem, 2.5vw, 2rem);
    --bkk-panel-space: clamp(1rem, 1.8vw, 1.5rem);
    --bkk-grid-gap: clamp(1rem, 2vw, 1.5rem);
    --bkk-font-body: Inter, system-ui, -apple-system, sans-serif;
    --bkk-font-heading: 'Space Grotesk', Inter, system-ui, sans-serif;
    --bkk-title-size: clamp(1.75rem, 1.5rem + .85vw, 2.25rem);
    --bkk-section-size: clamp(1.125rem, 1rem + .4vw, 1.25rem);
    --bkk-card-size: 1rem;
    --bkk-copy-size: .8125rem;
    --bkk-lead-size: .9375rem;
    --bkk-text: #c4cfda;
    --bkk-text-muted: #a3b2c1;
    --bkk-heading: #eff5fa;
}
html[lang=bg] { --bkk-font-heading: Inter, system-ui, sans-serif; }
html[lang=he] {
    --bkk-font-body: Heebo, Arial, sans-serif;
    --bkk-font-heading: Heebo, Arial, sans-serif;
}
html { scroll-padding-block-start: 7rem; }
body { font-family: var(--bkk-font-body); }
.bkk-container, .bkk-service-page, .bkk-contact-shell, .bkk-legal {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--bkk-content-width) !important;
    margin-inline: auto;
    padding-inline: var(--bkk-gutter) !important;
}
.bkk-page { padding-block: var(--bkk-page-space); }
#main-content { font-family: var(--bkk-font-body); font-size: var(--bkk-copy-size); line-height: 1.7; }
#main-content :is(h1,h2,h3) {
    font-family: var(--bkk-font-heading);
    color: var(--bkk-heading);
    font-weight: 600;
    letter-spacing: -.025em;
    text-align: start;
    text-wrap: pretty;
    overflow-wrap: break-word;
}
#main-content h1 { font-size: var(--bkk-title-size); line-height: 1.25; margin-block: 0 .75rem; max-width: 32ch; text-wrap: balance; }
#main-content h2 { font-size: var(--bkk-section-size); line-height: 1.4; margin-block: 0 .75rem; }
#main-content h3 { font-size: var(--bkk-card-size); line-height: 1.4; margin-block: 0 .5rem; }
#main-content :where(p,li):where(:not(.font-mono):not(.font-display):not(.bkk-eyebrow):not(.bkk-company-label)) {
    font-size: var(--bkk-copy-size);
    line-height: 1.7;
}
#main-content :is(ul,ol) { line-height: 1.7; }
#main-content :is(p,li,h1,h2,h3) { min-width: 0; overflow-wrap: break-word; }
#main-content h3.flex > span { min-width: 0; }
#main-content :is(section,article,aside,div) { min-width: 0; }
.bkk-page-intro, .bkk-service-header { max-width: 56rem; margin: 0 0 var(--bkk-section-space); }
.bkk-page-intro > p:not(.font-mono):not(.bkk-contact-note):not(.bkk-page-meta),
.bkk-service-header > p:not(.font-mono) { max-width: 76ch; }
#main-content .bkk-page-intro > p:not(.font-mono):not(.bkk-contact-note):not(.bkk-page-meta) { font-size: var(--bkk-lead-size); line-height: 1.7; color: var(--bkk-text); }
#main-content .bkk-page-intro > .font-mono, .bkk-eyebrow { font-size: .6875rem; line-height: 1.6; letter-spacing: .14em; margin-block: 0 .5rem; }
#main-content .bkk-page-meta { font-size: .75rem; color: var(--bkk-text-muted); margin-block-start: 1rem; }
.bkk-studio-back { direction: inherit; margin-block: 1rem 0; }
.bkk-back-link { font-size: .8125rem; min-height: 2.75rem; padding: .625rem 1rem; }
[dir=rtl] .bkk-back-link svg { transform: rotate(180deg); }
.bkk-section-heading { margin-block-end: 1.5rem; }
.bkk-service-page > section:not(.bkk-visual) { margin-block-end: var(--bkk-section-space); }
.bkk-page > :last-child { margin-block-end: 0; }
#main-content .bkk-page :is(section.rounded-2xl, .rounded-3xl, .bkk-service-pair > .border) { padding: var(--bkk-panel-space); border-radius: .75rem; }
.bkk-about-model { gap: var(--bkk-grid-gap); margin-block: var(--bkk-section-space); padding-block: var(--bkk-panel-space); }
.bkk-about-model > .bkk-atelier, .bkk-sector-visual > .bkk-atelier { width: 100%; margin-inline: 0; }
.bkk-about-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--bkk-grid-gap); }
.bkk-bullet-list { list-style: disc; padding-inline-start: 1.1em; }
.bkk-bullet-list > li { padding-inline-start: .2em; }
.bkk-bullet-list > li + li { margin-block-start: .375rem; }
.bkk-bullet-list > li::marker { color: #6da5bd; font-size: .8em; }
.bkk-illustrated-split, .bkk-private-approach.bkk-illustrated-split { gap: var(--bkk-grid-gap); }
.bkk-illustrated-copy { align-self: center; }
.bkk-atelier-caption { margin-inline: 0; padding-block-start: .75rem; }
.bkk-atelier-stage { width: min(100%,28rem); margin-inline: auto; }
.bkk-visual { margin-block-end: var(--bkk-section-space); }
.bkk-visual-heading { padding: var(--bkk-panel-space); gap: 1.5rem; }
.bkk-visual-intro { max-width: 72ch; }
.bkk-visual-controls { padding-inline: 1rem var(--bkk-panel-space); }
[dir=rtl] .bkk-visual-controls { padding-inline: 1rem var(--bkk-panel-space); }
.bkk-resource-intro {
    padding: var(--bkk-panel-space);
    gap: var(--bkk-grid-gap);
    margin-block-end: var(--bkk-section-space);
    border: 1px solid #1f2933;
    border-radius: .75rem;
    background: rgb(11 12 16 / .7);
}
.bkk-resource-grid { gap: var(--bkk-grid-gap); }
@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-resource-card .bkk-atelier-svg { max-block-size: 9rem; }
@supports(grid-template-rows:subgrid) {
    .bkk-resource-card { display: grid; grid-template-rows: subgrid; grid-row: span 5; row-gap: .75rem; }
    .bkk-resource-card > :is(div,p,ul) { margin-block: 0; }
    #main-content .bkk-resource-card h2 { margin-block: 0; }
    .bkk-resource-card > .flex { min-block-size: 0; }
}
#main-content .bkk-resource-card h2, #main-content .bkk-company-card h2,
#main-content #officeName { font-size: var(--bkk-card-size); line-height: 1.4; }
.bkk-resource-card > .flex { min-block-size: 3.15rem; }
.bkk-resource-card > .flex > span { flex-shrink: 0; }
.bkk-resource-cover-label { direction: inherit; letter-spacing: .04em; }
.bkk-resource-cover-label span:first-child { overflow-wrap: anywhere; }
.bkk-contact-shell::before { display: none; }
.bkk-contact-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: var(--bkk-section-space); align-items: start; }
.bkk-contact-layout #office-location { margin: 0; padding: var(--bkk-panel-space); }
.bkk-contact-layout #office-location > .flex { flex-direction: column; align-items: stretch; }
.bkk-contact-layout #office-location > .flex > div { width: auto; align-items: stretch; }
.bkk-contact-layout .bkk-form-field { font-size: 1rem; min-height: 2.75rem; }
.bkk-contact-layout textarea.bkk-form-field { min-height: 9rem; }
.bkk-contact-layout form > .grid:first-of-type { margin-block-start: 0; }
.bkk-contact-layout form > .pt-2 { flex-wrap: wrap; }
#main-content .bkk-form-required { font-size: .75rem; margin-block: 0 1.5rem; }
.bkk-contact-layout label { line-height: 1.5; margin-block-end: .5rem; }
@supports(grid-template-rows:subgrid) {
    .bkk-contact-layout .grid.sm\:grid-cols-2 { row-gap: .5rem; }
    .bkk-contact-layout .grid.sm\:grid-cols-2 > div { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
    .bkk-contact-layout .grid.sm\:grid-cols-2 label { margin-block-end: 0; }
}
.bkk-contact-layout #bkk-map, .bkk-contact-layout .bkk-map-consent { min-height: 16rem; }
.bkk-legal > section { max-width: 55rem; margin-block: var(--bkk-section-space); }
.bkk-legal > .bkk-page-intro { max-width: 60rem; }
.bkk-legal > .bkk-page-intro > p { max-width: 76ch; }
.bkk-legal .bkk-company-card { padding: var(--bkk-panel-space); margin-block-start: 0; }
.bkk-legal-table :is(th,td) { font-size: .8125rem; line-height: 1.65; overflow-wrap: anywhere; }
.bkk-legal-table-label { display: none; }
.bkk-error-container { padding-block: var(--bkk-page-space); }
#main-content .bkk-error-container h1 { max-width: none; }
.bkk-error-page { min-block-size: 26rem; }
.bkk-error-status { display: flex; flex-wrap: wrap; align-items: baseline; gap: 1.5rem; border-block-start: 1px solid #25313c; padding-block: 1.5rem; }
.bkk-error-status > .font-display { font-size: clamp(2.5rem,5vw,3.5rem); line-height: 1.1; }
.bkk-error-status > .font-mono { font-size: .75rem; letter-spacing: .1em; }
[dir=rtl] .bkk-error-page .fa-arrow-left { transform: rotate(180deg); }
#main-content .bkk-home-hero-title { font-size: clamp(2rem,3.4vw,3rem); line-height: 1.16; font-weight: 600; max-width: 22ch; margin-block-end: 1rem; letter-spacing: -.03em; }
#main-content .bkk-home-hero-lead { font-size: .875rem; line-height: 1.7; }
#main-content .bkk-home-pillars h2 { font-size: .875rem; line-height: 1.5; letter-spacing: .025em; margin-block-end: .5rem; }
#main-content .bkk-home-pillars p { font-size: .8125rem; }
.bkk-section-nav { margin-block-end: var(--bkk-section-space); }
.bkk-section-nav__link { line-height: 1.55; }
.bkk-resource-nav__details { display: none; }
.bkk-page :is(.bkk-text-link,a.inline-flex,button.inline-flex) { min-height: 2.75rem; }
.bkk-site-footer p { line-height: 1.65; }
.bkk-site-footer a, .bkk-site-footer [data-cookie-settings] { min-height: 1.5rem; display: inline-flex; align-items: center; }
html[lang=he] #main-content :is(h1,h2,h3), html[lang=he] :is(.font-mono,.bkk-eyebrow,.bkk-atelier-caption,.bkk-section-nav__link,.bkk-resource-cover-label) { font-family: var(--bkk-font-body); letter-spacing: normal; }
html[lang=he] .bkk-resource-cover-label { direction: rtl; }
/* Compact component rhythm. Preserve natural text height and touch targets. */
.bkk-site-header nav { height: auto; min-height: 80px; padding-block: 14px; }
.bkk-site-header nav > a, .bkk-mobile-menu__brand { flex-shrink: 0; }
.bkk-brand-logo, .bkk-mobile-menu__brand .bkk-brand-logo {
    display: block;
    height: 52px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}
.bkk-site-footer .bkk-footer-logo {
    display: block;
    width: auto;
    height: 60px;
    max-width: 100%;
    object-fit: contain;
}
.bkk-site-header .bkk-desktop-nav { gap: 1.25rem; }
.bkk-mobile-menu__topbar {
    min-height: 76px;
    padding-block: calc(10px + env(safe-area-inset-top)) 10px;
    padding-left: max(var(--bkk-gutter), env(safe-area-inset-left));
    padding-right: max(var(--bkk-gutter), env(safe-area-inset-right));
}
.bkk-mobile-menu__body {
    padding-block: 1.25rem calc(1.25rem + env(safe-area-inset-bottom));
    padding-left: max(var(--bkk-gutter), env(safe-area-inset-left));
    padding-right: max(var(--bkk-gutter), env(safe-area-inset-right));
}
.bkk-mobile-menu__links a { min-height: 3rem; padding-block: .625rem; }
.bkk-site-footer { margin-block-start: 1.5rem; }
.bkk-footer-content { padding-block: var(--bkk-section-space); }
.bkk-footer-content > .grid { gap: var(--bkk-grid-gap); }
.bkk-page > :is(.mb-10,.mb-12), .bkk-home-section > :is(.mb-8,.mb-10) { margin-block-end: var(--bkk-section-space); }
.bkk-page > .space-y-10 > :not([hidden]) ~ :not([hidden]) { margin-block-start: var(--bkk-section-space); }
.bkk-page :is(.gap-6,.gap-8), .bkk-home-section :is(.gap-6,.gap-8,.gap-10) { gap: var(--bkk-grid-gap); }
.bkk-page-intro > .mt-6 { margin-block-start: 1rem; }
#main-content .bkk-page-intro > p.text-xs:not(.font-mono):not(.bkk-contact-note):not(.bkk-page-meta) { font-size: var(--bkk-copy-size); }
.bkk-capabilities { margin-block-end: var(--bkk-section-space); }
.bkk-cap-panel, [dir=rtl] .bkk-cap-panel { padding: 1rem var(--bkk-panel-space); gap: var(--bkk-grid-gap); }
.bkk-cap-art { width: min(100%,26rem); justify-self: center; }
.bkk-cap-copy { padding-block: .75rem; }
#main-content .bkk-cap-copy h3 { font-size: var(--bkk-section-size); }
.bkk-cap-tabs button { min-height: 2.75rem; padding: .625rem 1rem; }
.bkk-visual-art > svg { width: min(100%,30rem); margin-inline: auto; }
.bkk-visual-controls, [dir=rtl] .bkk-visual-controls { padding-block: 1rem; }
.bkk-visual-step button { min-height: 2.75rem; }
.bkk-visual-step p { margin-block-end: .75rem; }
.bkk-resource-art { max-width: 22rem; }
.bkk-resource-cover-label { padding: .625rem .75rem; }
.bkk-resource-card > .flex { gap: .75rem; flex-wrap: wrap; align-content: start; }
.bkk-resource-card > .flex h2 { flex: 1 1 10rem; }
.bkk-contact-layout .bkk-form-field { padding-block: .625rem; }
.bkk-contact-layout textarea.bkk-form-field { height: 9rem; }
.bkk-home-section { padding-block: var(--bkk-page-space); }
.bkk-home-section--continuation { padding-block-start: 0; }
.bkk-home-section article.rounded-2xl { padding: var(--bkk-panel-space); border-radius: .75rem; }
.bkk-home-pillars > .bkk-container { padding-block: 1.5rem; gap: var(--bkk-grid-gap); }
.bkk-hero-grid--stats-globe .bkk-hero-container { padding-block: var(--bkk-page-space); }
.bkk-hero-grid--stats-globe .bkk-home-hero-layout { gap: var(--bkk-section-space); }
.bkk-home-hero-copy > .inline-flex:first-child { margin-block-end: 1.25rem; }
#main-content .bkk-home-hero-copy > p.font-display { font-size: 1rem; line-height: 1.5; }
.bkk-home-hero-copy > .bkk-home-hero-lead { margin-block-end: 1rem; }
.bkk-home-hero-copy > .border-s-2 { padding-inline-start: 1rem; }
.bkk-home-hero-copy > .flex { gap: .75rem; }
.bkk-home-stat-stage .bkk-home-stat { min-height: 0; padding: var(--bkk-panel-space); }
.bkk-home-stat-stage .bkk-home-stat > div:nth-child(2) { font-size: clamp(1.75rem,2.3vw,2.125rem); margin-block-end: .5rem; }
.bkk-home-stat-stage .bkk-home-stat > :first-child { margin-block-end: .5rem; }
.bkk-home-stat-stage { margin-block: 0; }
.bkk-founders-art { max-width: 20rem; }
.bkk-core-art { height: 5.5rem; }
.bkk-lifecycle-art .bkk-atelier-svg { max-block-size: 9rem; }
:is(a,button,input,textarea,select,summary):focus-visible { outline: 2px solid #7dd3fc; outline-offset: 4px; }
#main-content [id] { scroll-margin-block-start: 7rem; }
@media(max-width:1023px) { .bkk-contact-layout { grid-template-columns: minmax(0,1fr); } }
@media(max-width:1023px) {
    .bkk-resource-nav__desktop { display: none; }
    .bkk-resource-nav__details { display: block; width: 100%; min-width: 0; border: 1px solid #1f2933; border-radius: .75rem; background: #0b0c10; }
    .bkk-resource-nav__summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 52px; padding: .75rem 1rem; cursor: pointer; list-style: none; border-radius: .75rem; }
    .bkk-resource-nav__summary::marker { content: ''; }
    .bkk-resource-nav__summary::-webkit-details-marker { display: none; }
    .bkk-resource-nav__copy { display: grid; gap: .25rem; min-width: 0; }
    .bkk-resource-nav__label { color: #38bdf8; font: 400 .625rem/1.5 'JetBrains Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
    .bkk-resource-nav__current { color: #e2e8f0; font-size: .8125rem; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
    .bkk-resource-nav__chevron { flex: none; color: #38bdf8; }
    .bkk-resource-nav__details[open] .bkk-resource-nav__chevron { transform: rotate(180deg); }
    #main-content .bkk-resource-nav__list { max-height: min(24rem,60vh); max-height: min(24rem,60svh); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; list-style: none; margin: 0; padding: .375rem; border-top: 1px solid #1f2933; }
    .bkk-resource-nav__list > li + li { margin-block-start: .25rem; }
    .bkk-resource-nav__list .bkk-section-nav__link { width: 100%; min-height: 44px; justify-content: flex-start; padding: .625rem .75rem; border-color: transparent; border-radius: .375rem; background: transparent; text-align: start; }
    .bkk-resource-nav__list .bkk-section-nav__link[aria-current] { border-color: #38bdf8; background: #38bdf8; color: #050509; }
    .bkk-resource-nav__list .bkk-section-nav__link:focus-visible { outline-offset: -2px; }
    #main-content .bkk-resources-page [id]:not(#bkk-resource-nav-items) { scroll-margin-block-start: 0; }
    #main-content .bkk-resources-page [tabindex="-1"]:focus-visible { outline: 2px solid #7dd3fc; outline-offset: 4px; }
    html[lang=he] .bkk-resource-nav__label { font-family: var(--bkk-font-body); letter-spacing: normal; }
}
@media(max-width:767px) {
    :root { --bkk-copy-size: .875rem; --bkk-lead-size: .875rem; }
    .bkk-site-header nav, .bkk-mobile-menu__topbar { min-height: 72px; }
    .bkk-brand-logo, .bkk-mobile-menu__brand .bkk-brand-logo { height: 44px; }
    .bkk-site-footer .bkk-footer-logo { height: 52px; }
    .bkk-atelier-stage { max-width: 20rem; }
    .bkk-visual-art > svg { max-width: 22rem; }
    .bkk-cap-art { max-width: 22rem; }
    .bkk-founders-art { max-width: 17rem; }
    #main-content .bkk-page-intro > .font-mono { min-block-size: 3.3em; }
    .bkk-about-principles { grid-template-columns: minmax(0,1fr); }
    .bkk-contact-layout { grid-template-columns: minmax(0,1fr); gap: var(--bkk-section-space); }
    .bkk-illustrated-split, .bkk-private-approach.bkk-illustrated-split { gap: 1.5rem; }
    .bkk-visual-controls, [dir=rtl] .bkk-visual-controls { padding: 0 var(--bkk-panel-space) 1.5rem; }
    .bkk-cap-panel, [dir=rtl] .bkk-cap-panel { padding-inline: var(--bkk-panel-space); }
    .bkk-lifecycle-track > div { padding-inline: 0 !important; }
    .bkk-legal-table, .bkk-legal-table tbody { display: block; min-width: 0; width: 100%; }
    .bkk-legal-table thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
    .bkk-legal-table tbody tr { display: block; border: 1px solid #334155; border-radius: .5rem; overflow: hidden; }
    .bkk-legal-table tbody tr + tr { margin-block-start: 1rem; }
    .bkk-legal-table tbody :is(th,td) { display: block; width: 100%; padding: 1rem; border: 0; }
    .bkk-legal-table tbody td + td { border-block-start: 1px solid #25313c; }
    .bkk-legal-table-label { display: block; color: #eff5fa; font-size: .75rem; font-weight: 600; margin-block-end: .5rem; }
    #main-content .bkk-home-hero-title { font-size: clamp(1.875rem,5.8vw,2.5rem); max-width: 24ch; }
}
@media(max-width:1023px) and (hover:hover) {
    .bkk-resource-nav__summary:hover { background: #101820; }
    .bkk-resource-nav__list .bkk-section-nav__link:not([aria-current]):hover { border-color: #345267; background: #172838; color: #f1f5f9; }
}
@media(forced-colors:active) {
    .bkk-resource-nav__details, #main-content .bkk-resource-nav__list { border-color: CanvasText; }
    .bkk-resource-nav__label, .bkk-resource-nav__chevron { color: LinkText; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
@media print {
    .bkk-container, .bkk-service-page, .bkk-contact-shell, .bkk-legal { max-width: none !important; padding-inline: 0 !important; }
    .bkk-page { padding-block: 0; }
}
