.bb-home { --bb-ink: #102e3a; --bb-muted: #47616a; --bb-mint: #e8f5f1; --bb-accent: #087265; --bb-line: #d4e6e0; color: var(--bb-ink); background: #fff; }
.bb-home h1, .bb-home h2, .bb-home h3 { color: var(--bb-ink); }
.bb-home .site-header { background: #fff; border-bottom: 1px solid var(--bb-line); }
.bb-home .nav-contact { background: var(--bb-ink); color: white; border-radius: 50px; }
.bb-hero { background: var(--bb-mint); padding-block: clamp(44px, 7vw, 106px); }
.bb-hero-layout, .bb-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.bb-hero-copy { max-width: 41rem; }
.bb-kicker { color: var(--bb-accent); font-size: .76rem; font-weight: 750; letter-spacing: .12em; line-height: 1.4; margin: 0 0 1rem; }
.bb-kicker span { display: inline-block; width: .62rem; height: .62rem; margin-right: .28rem; background: #44ad98; border-radius: 50%; }
.bb-home .bb-hero h1 { font-size: clamp(2.6rem, 5.25vw, 5.45rem); font-weight: 750; letter-spacing: -.063em; line-height: 1.02; margin: 0; }
.bb-hero h1 em { display: block; color: var(--bb-accent); font-style: normal; }
.bb-intro, .bb-heading > p, .bb-split p:not(.bb-kicker) { margin-block: 1.25rem 1.6rem; color: var(--bb-muted); line-height: 1.65; font-size: 1.05rem; }
.bb-actions { display: flex; gap: .65rem; flex-wrap: wrap; }
.bb-button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; padding: .83rem 1.25rem; min-height: 46px; border-radius: 40px; border: 1px solid var(--bb-ink); background: var(--bb-ink); color: white; font-size: .9rem; font-weight: 700; text-decoration: none; }
.bb-button:hover { background: var(--bb-accent); color: white; }
.bb-outline { background: transparent; color: var(--bb-ink); }
.bb-hero-image { margin: 0; position: relative; overflow: hidden; border-radius: 24px 24px 78px 24px; background: var(--bb-ink); }
.bb-hero-image img, .bb-case-photo img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: cover; }
.bb-hero-image figcaption { position: absolute; inset: auto 0 0; color: white; background: linear-gradient(transparent,#09242c); padding: 2.2rem 1.2rem 1.1rem; font-size: .84rem; }
.bb-hero-image figcaption span { display: block; color: #b8f0e0; letter-spacing: .13em; font-size: .65rem; margin-bottom: .2rem; }
.bb-product-rail { border-bottom: 1px solid var(--bb-line); }
.bb-product-rail .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.bb-product-rail a { padding: 1.2rem .65rem; text-align: center; color: var(--bb-ink); font-size: .88rem; font-weight: 700; }
.bb-product-rail a:hover, .bb-card a:hover { color: var(--bb-accent); text-decoration: underline; }
.bb-product-rail span { margin-left: .25rem; color: var(--bb-accent); }
.bb-section, .bb-inquiry { padding-block: clamp(48px, 7vw, 90px); }
.bb-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 2rem; align-items: end; margin-bottom: 1.8rem; }
.bb-home .bb-section h2, .bb-home .bb-inquiry h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.8rem); letter-spacing: -.045em; line-height: 1.08; }
.bb-heading > p { margin: 0; max-width: 30rem; }
.bb-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.bb-card { overflow: hidden; border-radius: 18px; border: 1px solid var(--bb-line); background: #f7fbfa; }
.bb-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.bb-card > div { padding: 1.25rem; }
.bb-card h3 { margin: .35rem 0 .75rem; font-size: 1.38rem; line-height: 1.15; }
.bb-index { color: var(--bb-accent); font-size: .69rem; letter-spacing: .1em; font-weight: 700; }
.bb-card ul { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; padding: 0; margin: 0; }
.bb-card li a { display: inline-block; border: 1px solid var(--bb-line); border-radius: 20px; padding: .35rem .7rem; font-size: .8rem; }
.bb-card p:not(.bb-index) { color: var(--bb-muted); margin-bottom: .7rem; font-size: .94rem; }
.bb-inline { color: var(--bb-accent); font-weight: 700; font-size: .88rem; }
.bb-case { background: #eff7f5; }
.bb-case-photo { display: block; overflow: hidden; border-radius: 22px; }
.bb-inquiry { background: var(--bb-mint); }
.bb-inquiry p:not(.bb-kicker) { max-width: 44rem; color: var(--bb-muted); margin-block: 1rem 1.3rem; }
.bb-home #solutions, .bb-home #turkey-bitumen-tank-site { scroll-margin-top: 6rem; }
@media (max-width: 850px) {
  .bb-hero-layout, .bb-split, .bb-heading { grid-template-columns: 1fr; }
  .bb-hero-image { max-width: 42rem; }
  .bb-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bb-heading { gap: .8rem; }
}
@media (max-width: 520px) {
  .bb-card-grid { grid-template-columns: 1fr; }
  .bb-product-rail .wrap { grid-template-columns: 1fr 1fr; }
  .bb-product-rail a { padding: .75rem .35rem; }
  .bb-hero-image { border-radius: 18px 18px 44px 18px; }
  .bb-case-photo { order: 1; }
}

.bb-case-gallery {
  margin-block-start: 1.5rem;
}
.bb-case-gallery summary {
  color: var(--bb-accent);
  cursor: pointer;
  font-weight: 700;
}
.bb-case-gallery .project-grid {
  margin-block-start: 1rem;
}
[dir="rtl"] .bb-home .bb-hero-image {
  border-radius: 24px 24px 24px 78px;
}
.bb-kicker span, .bb-product-rail span {
  margin-inline-end: .25rem;
  margin-inline-start: 0;
}

.bb-company { padding: clamp(16px, 3vw, 36px) 0; }
.bb-company-photo { display: block; width: 100%; height: auto; border-radius: 12px 12px 0 0; }
.bb-company-copy { background: #f3f7f8; color: #18333b; padding: clamp(20px, 4vw, 48px); border-radius: 0 0 12px 12px; }
.bb-company-copy h2 { margin: 8px 0 16px; font-size: clamp(1.45rem, 3.3vw, 2.35rem); line-height: 1.15; }
.bb-company-copy p { max-width: 82ch; }
.bb-company-copy a { color: #175867; font-weight: 700; text-decoration: underline; }
.bb-russian-entry { display: inline-flex; align-items: center; min-height: 44px; margin-block-end: 8px; padding-inline: 14px; border: 1px solid #175867; border-radius: 6px; color: #175867; font-weight: 700; text-decoration: underline; }

.bb-workshop > summary { cursor: pointer; display: block; position: relative; list-style: none; }
.bb-workshop > summary::-webkit-details-marker { display: none; }
.bb-workshop > summary > img { pointer-events: none; }
.bb-workshop > summary > span { position: absolute; inset-inline-end: 12px; inset-block-end: 12px; background: #18333b; color: #fff; border-radius: 6px; padding: 8px 14px; font-weight: 700; }
.bb-workshop-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px 0; }
.bb-workshop-grid img { display: block; width: 100%; height: auto; border-radius: 6px; }
@media (max-width: 560px) { .bb-workshop-grid { grid-template-columns: 1fr; } }
