/* BuildCalcForge homepage — v1.2 */
.bmw-home { overflow: hidden; background: #fff; }
.bmw-home-section { padding: 88px 0; }
.bmw-home-section-soft { background: var(--bmw-bg); }
.bmw-home-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  padding: 7px 11px;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #f8fbff;
  color: var(--bmw-navy);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .03em;
}
.bmw-home-kicker span { color: var(--bmw-success); font-weight: 900; }

.bmw-home-hero {
  position: relative;
  padding: 92px 0 82px;
  background:
    radial-gradient(circle at 82% 16%, rgba(22,139,210,.10), transparent 30%),
    radial-gradient(circle at 8% 92%, rgba(255,107,0,.07), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.bmw-home-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--bmw-border), transparent);
}
.bmw-home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(480px, 1.04fr);
  gap: 64px;
  align-items: center;
}
.bmw-home-hero-copy h1 {
  max-width: 720px;
  margin-bottom: 22px;
  font-size: clamp(2.6rem, 5.4vw, 4.7rem);
  line-height: .99;
  letter-spacing: -.055em;
}
.bmw-home-hero-lead {
  max-width: 680px;
  margin-bottom: 0;
  color: var(--bmw-muted);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  line-height: 1.72;
}
.bmw-home-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.bmw-btn-lg { min-height: 52px; padding: 14px 22px; }
.bmw-home-trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  color: var(--bmw-text-2);
  font-size: .88rem;
  font-weight: 700;
}
.bmw-home-trust-list li { display: inline-flex; align-items: center; gap: 7px; }
.bmw-home-check { width: 19px; height: 19px; flex: 0 0 auto; }

.bmw-home-hero-visual { position: relative; min-width: 0; }
.bmw-blueprint-card {
  position: relative;
  max-width: 650px;
  margin-left: auto;
  padding: 14px;
  border: 1px solid rgba(148,163,184,.32);
  border-radius: 28px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 28px 70px rgba(15,23,42,.13);
}
.bmw-blueprint-toolbar {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 38px;
  padding: 0 14px;
  color: var(--bmw-muted);
  border-bottom: 1px solid var(--bmw-border);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.bmw-blueprint-toolbar span { width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1; }
.bmw-blueprint-toolbar span:first-child { background: #ff8a3d; }
.bmw-blueprint-toolbar span:nth-child(2) { background: #60a5fa; }
.bmw-blueprint-toolbar span:nth-child(3) { background: #86efac; }
.bmw-blueprint-toolbar b { margin-left: auto; }
.bmw-blueprint-svg { display: block; width: 100%; }
.bmw-blueprint-note {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid var(--bmw-border);
  border-radius: 10px;
  background: rgba(255,255,255,.96);
  color: var(--bmw-text-2);
  box-shadow: var(--bmw-shadow-sm);
  font-size: .76rem;
  font-weight: 800;
}
.bmw-blueprint-note span { width: 8px; height: 8px; border-radius: 50%; background: var(--bmw-blue); }
.bmw-blueprint-note-a { left: -28px; top: 27%; }
.bmw-blueprint-note-b { right: -24px; top: 40%; }
.bmw-blueprint-note-b span { background: var(--bmw-orange); }
.bmw-blueprint-note-c { left: 12%; bottom: -18px; }
.bmw-blueprint-note-c span { background: var(--bmw-success); }

.bmw-home-section-head { max-width: 800px; margin-bottom: 34px; }
.bmw-home-section-head h2 { margin-bottom: 13px; }
.bmw-home-section-head p:not(.bmw-entry-kicker) { margin-bottom: 0; color: var(--bmw-muted); }
.bmw-home-section-head-row {
  max-width: none;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 34px;
}
.bmw-home-section-head-row > div { max-width: 790px; }
.bmw-home-section-head-centered { margin-inline: auto; text-align: center; }
.bmw-home-text-link { display: inline-flex; gap: 6px; align-items: center; font-weight: 800; text-decoration: none; white-space: nowrap; }

.bmw-home-tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.bmw-home-tool-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 25px;
  border: 1px solid var(--bmw-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(15,23,42,.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.bmw-home-tool-card:hover { transform: translateY(-3px); border-color: #bae6fd; box-shadow: var(--bmw-shadow-md); }
.bmw-home-tool-icon,
.bmw-home-category-icon {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border-radius: 14px;
  color: var(--bmw-navy);
  background: var(--bmw-blue-soft);
}
.bmw-home-tool-icon svg,
.bmw-home-category-icon svg { width: 30px; height: 30px; }
.bmw-home-card-label { margin: 18px 0 7px; color: var(--bmw-orange); font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.bmw-home-tool-card h3,
.bmw-home-guide-card h3 { margin-bottom: 10px; font-size: 1.27rem; }
.bmw-home-tool-card h3 a,
.bmw-home-guide-card h3 a { color: var(--bmw-text); text-decoration: none; }
.bmw-home-tool-card h3 a:hover,
.bmw-home-guide-card h3 a:hover { color: var(--bmw-blue); }
.bmw-home-tool-card > p:not(.bmw-home-card-label),
.bmw-home-guide-card > p:not(.bmw-home-card-label) { color: var(--bmw-muted); font-size: .94rem; }
.bmw-home-card-link { margin-top: auto; padding-top: 10px; font-size: .9rem; font-weight: 800; text-decoration: none; }

.bmw-home-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.bmw-home-category-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 21px;
  border: 1px solid var(--bmw-border);
  border-radius: 17px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 3px 16px rgba(15,23,42,.035);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.bmw-home-category-card:hover { transform: translateY(-2px); border-color: #bae6fd; box-shadow: var(--bmw-shadow-sm); color: inherit; }
.bmw-home-category-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.bmw-home-category-body { display: grid; gap: 4px; }
.bmw-home-category-body strong { color: var(--bmw-text); font-family: Manrope, Inter, sans-serif; font-size: 1.08rem; }
.bmw-home-category-body small { color: var(--bmw-blue); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.bmw-home-category-body > span { margin-top: 3px; color: var(--bmw-muted); font-size: .9rem; line-height: 1.55; }
.bmw-home-category-arrow { color: var(--bmw-blue); font-size: 1.3rem; font-weight: 900; }

.bmw-home-why { background: linear-gradient(135deg, #081f3a 0%, #0b315d 100%); color: #dbe6f3; }
.bmw-home-why-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 62px; align-items: start; }
.bmw-home-why .bmw-entry-kicker { color: #ffb178; }
.bmw-home-why h2,
.bmw-home-why h3 { color: #fff; }
.bmw-home-why-copy > p:not(.bmw-entry-kicker) { color: #b9c8da; }
.bmw-home-why .bmw-home-text-link { color: #7dd3fc; }
.bmw-home-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }
.bmw-home-feature-card { padding: 23px; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; background: rgba(255,255,255,.055); }
.bmw-home-feature-number { display: block; margin-bottom: 26px; color: #67c7f7; font-size: .73rem; font-weight: 900; letter-spacing: .1em; }
.bmw-home-feature-card h3 { margin-bottom: 8px; font-size: 1.13rem; }
.bmw-home-feature-card p { margin: 0; color: #aebfd3; font-size: .91rem; }

.bmw-home-process { background: #fff; }
.bmw-home-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.bmw-home-process-grid li { display: grid; grid-template-columns: auto 1fr; gap: 17px; padding: 25px; border: 1px solid var(--bmw-border); border-radius: 17px; background: #fff; }
.bmw-home-process-index { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: var(--bmw-navy); color: #fff; font-weight: 900; }
.bmw-home-process-grid h3 { margin-bottom: 7px; }
.bmw-home-process-grid p { margin: 0; color: var(--bmw-muted); font-size: .93rem; }

.bmw-home-guides { background: var(--bmw-bg); }
.bmw-home-guide-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 17px; }
.bmw-home-guide-card { display: flex; flex-direction: column; padding: 23px; border: 1px solid var(--bmw-border); border-radius: 17px; background: #fff; }

.bmw-home-methodology { padding-top: 78px; padding-bottom: 78px; }
.bmw-home-method-card { display: grid; grid-template-columns: 110px 1fr; gap: 30px; align-items: center; padding: 38px 40px; border: 1px solid #dbeafe; border-radius: 24px; background: linear-gradient(135deg, #f8fbff 0%, #eff8ff 100%); }
.bmw-home-method-icon { display: grid; width: 96px; height: 96px; place-items: center; border-radius: 24px; background: #fff; box-shadow: var(--bmw-shadow-sm); }
.bmw-home-method-icon svg { width: 80px; }
.bmw-home-method-card h2 { margin-bottom: 12px; }
.bmw-home-method-card p:not(.bmw-entry-kicker) { max-width: 850px; color: var(--bmw-muted); }
.bmw-home-method-links { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 22px; }

.bmw-home-faq { border-top: 1px solid var(--bmw-border); }
.bmw-home-faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: start; }
.bmw-home-faq-intro { position: sticky; top: calc(var(--bmw-header-height) + 28px); }
.bmw-home-faq-intro p:not(.bmw-entry-kicker) { color: var(--bmw-muted); }
.bmw-home-faq-list { display: grid; gap: 12px; }
.bmw-home-faq-list details { border: 1px solid var(--bmw-border); border-radius: 14px; background: #fff; }
.bmw-home-faq-list summary { position: relative; padding: 18px 48px 18px 19px; color: var(--bmw-text); cursor: pointer; font-weight: 800; list-style: none; }
.bmw-home-faq-list summary::-webkit-details-marker { display: none; }
.bmw-home-faq-list summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); color: var(--bmw-blue); font-size: 1.35rem; font-weight: 500; }
.bmw-home-faq-list details[open] summary::after { content: "–"; }
.bmw-home-faq-list details p { margin: 0; padding: 0 19px 19px; color: var(--bmw-muted); font-size: .94rem; }

.bmw-home-final-cta { padding: 18px 0 88px; }
.bmw-home-final-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  padding: 42px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0b315d, #081f3a);
  color: #dbe6f3;
  box-shadow: 0 24px 54px rgba(8,31,58,.18);
}
.bmw-home-final-card h2 { max-width: 760px; margin-bottom: 10px; color: #fff; }
.bmw-home-final-card p:not(.bmw-entry-kicker) { max-width: 760px; margin-bottom: 0; color: #afc0d4; }
.bmw-home-final-card .bmw-entry-kicker { color: #ffb178; }

@media (max-width: 1100px) {
  .bmw-home-hero-grid { grid-template-columns: 1fr 1fr; gap: 38px; }
  .bmw-home-tool-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bmw-home-guide-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bmw-blueprint-note { display: none; }
}

@media (max-width: 900px) {
  .bmw-home-section { padding: 68px 0; }
  .bmw-home-hero { padding: 68px 0 64px; }
  .bmw-home-hero-grid,
  .bmw-home-why-grid,
  .bmw-home-faq-grid { grid-template-columns: 1fr; }
  .bmw-home-hero-visual { max-width: 650px; width: 100%; margin-inline: auto; }
  .bmw-home-hero-copy { text-align: center; }
  .bmw-home-hero-copy h1,
  .bmw-home-hero-lead { margin-inline: auto; }
  .bmw-home-hero-actions,
  .bmw-home-trust-list { justify-content: center; }
  .bmw-home-faq-intro { position: static; }
  .bmw-home-process-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .bmw-home-section { padding: 56px 0; }
  .bmw-home-hero { padding: 56px 0 48px; }
  .bmw-home-hero-copy h1 { font-size: clamp(2.35rem, 12vw, 3.35rem); }
  .bmw-home-hero-actions .bmw-btn { width: 100%; }
  .bmw-home-tool-grid,
  .bmw-home-category-grid,
  .bmw-home-feature-grid,
  .bmw-home-guide-grid { grid-template-columns: 1fr; }
  .bmw-home-category-card:last-child:nth-child(odd) { grid-column: auto; }
  .bmw-home-section-head-row { align-items: flex-start; flex-direction: column; gap: 16px; }
  .bmw-home-method-card { grid-template-columns: 1fr; padding: 28px 24px; }
  .bmw-home-method-icon { width: 76px; height: 76px; }
  .bmw-home-method-icon svg { width: 64px; }
  .bmw-home-final-card { align-items: flex-start; flex-direction: column; padding: 30px 24px; }
  .bmw-home-final-card .bmw-btn { width: 100%; }
}

@media (max-width: 480px) {
  .bmw-home-trust-list { display: grid; justify-content: start; max-width: 270px; margin-inline: auto; text-align: left; }
  .bmw-home-category-card { grid-template-columns: auto 1fr; }
  .bmw-home-category-arrow { display: none; }
  .bmw-home-process-grid li { padding: 20px; }
}
