/* ReBorn × Octoen-inspired precision layer
   Overrides alignment bugs · dark cinematic hero · clean grids
========================================================= */

:root {
  --ink: #0b1220;
  --ink-2: #151d2e;
  --muted: #5b6577;
  --forest: #1a7a4c;
  --forest-2: #0f4d32;
  --lime: #c8f048;
  --accent: #c8f048;
  --paper: #f4f6f8;
  --white: #ffffff;
  --line-ink: rgba(11, 18, 32, 0.09);
  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 12px 32px rgba(11, 18, 32, 0.08);
  --max: 1200px;
  --gutter: 20px;
  --header-h: 70px;
}
@media (min-width: 768px) {
  :root { --gutter: 28px; --header-h: 76px; }
}

body.rb-ui {
  color: var(--ink);
}

.rb-wrap {
  width: min(100% - (var(--gutter) * 2), var(--max)) !important;
  margin-inline: auto !important;
}

/* ----- Shell: deferred to rb-glass.css (liquid glass) ----- */
.rb-nav > ul > li > a {
  font-size: .8rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 700 !important;
}
.rb-btn--primary {
  border-radius: 999px !important;
  padding: 0 22px !important;
}
.rb-btn--primary:hover { filter: brightness(1.08); transform: none !important; }
.rb-btn--light, .rb-btn--ghost { border-radius: 999px !important; }

/* ----- HERO: structural only — visuals in rb-glass.css ----- */
.rb-hero__inner {
  max-width: 820px !important;
  margin-inline: auto !important;
  width: 100%;
}
.rb-hero__actions {
  justify-content: center !important;
}

/* ----- Sections: tight, consistent ----- */
.rb-section,
.rb-section--tight,
.rb-blog-area,
.rb-faq-page,
.rb-svc-detail,
.rb-product,
.rb-project-detail,
.rb-contact-page,
.rb-catalog,
.rb-article-area,
.rb-faq {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
@media (min-width: 900px) {
  .rb-section,
  .rb-section--tight,
  .rb-blog-area,
  .rb-faq-page,
  .rb-svc-detail,
  .rb-product,
  .rb-project-detail,
  .rb-contact-page,
  .rb-catalog,
  .rb-article-area,
  .rb-faq {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }
}

.rb-section__title {
  font-size: clamp(1.75rem, 3.5vw, 2.6rem) !important;
  color: var(--ink) !important;
  letter-spacing: -0.03em;
}
.rb-eyebrow {
  color: var(--forest) !important;
  letter-spacing: .16em !important;
}

/* About */
.rb-about { background: #fff; }
.rb-about__layout { gap: 36px !important; }
@media (min-width: 900px) {
  .rb-about__layout { gap: 56px !important; }
}
.rb-about__media {
  border-radius: 20px !important;
  border: 0 !important;
  box-shadow: var(--shadow) !important;
  background: #e8edf2 !important;
  overflow: hidden;
}
.rb-about__media img {
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  padding: 0 !important;
  width: 100%;
  display: block;
  background: none !important;
}
.rb-about__badge {
  background: var(--ink) !important;
  color: var(--lime) !important;
}

/* Cards: equal height, no tilt bugs */
.rb-card,
.rb-service,
.rb-catalog-card,
.rb-blog-card,
.rb-svc-card {
  border-radius: 16px !important;
  border: 1px solid var(--line-ink) !important;
  box-shadow: none !important;
  background: #fff !important;
}
.rb-card:hover,
.rb-service:hover,
.rb-catalog-card:hover,
.rb-blog-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow) !important;
}

/* CTA band — no sideways margin kayık */
.rb-cta-band {
  margin: 0 !important;
  padding: 0 0 56px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.rb-cta-band__inner {
  width: min(100% - (var(--gutter) * 2), var(--max)) !important;
  margin-inline: auto !important;
  padding: 36px 28px !important;
  border-radius: 20px !important;
  background: linear-gradient(120deg, #0b1220 0%, #124833 100%) !important;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow);
}
@media (min-width: 800px) {
  .rb-cta-band__inner {
    grid-template-columns: 1.35fr auto !important;
    padding: 40px 40px !important;
  }
}
.rb-cta-band__eyebrow { color: var(--lime) !important; }
.rb-cta-band__title { color: #fff !important; }

/* Contact panel map fill */
.rb-contact-panel { min-height: 560px !important; }
.rb-map { min-height: 360px !important; }
@media (min-width: 900px) {
  .rb-map { min-height: 100% !important; height: 100% !important; }
  .rb-map iframe,
  .rb-map > div,
  .rb-map > * {
    min-height: 560px !important;
    height: 100% !important;
  }
}

/* Page hero */
.rb-page-hero {
  min-height: 220px !important;
  display: flex;
  align-items: flex-end;
  padding: 48px 0 36px !important;
}
.rb-page-hero__title {
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
}

/* Footer — liquid glass forest tone in rb-glass.css */

/* Kill leftover stock bridge that causes kayık */
.row { margin-left: 0 !important; margin-right: 0 !important; }
.container, .container-fluid {
  width: min(100% - (var(--gutter) * 2), var(--max)) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
