/* Extra patterns for /about, /how-we-work, /custom-homes (builder b1). Loaded after site.css. */

/* Cards with more inner padding (About "What we actually do", "Quality"; project cards) */
.b1-cards-pad { gap: 16px 15px; }
.b1-cards-pad .card { padding: 24px 37px 36px; }
.b1-cards-tight { gap: 20px; }
.b1-cards-tight .card { padding: 22px 23px 22px; }
.b1-cards-tight .card__title { font-size: 23px; margin-bottom: 14px; line-height: 1.4; }
.b1-cards-tight .card p { font-size: 16px; margin-bottom: 0; }

/* White boxes on grey band */
.b1-boxes { gap: 24px 12px; }
.b1-boxes .card { padding: 26px 23px 28px; }
.b1-boxes .card__title { font-size: 23px; margin-bottom: 8px; }
.b1-boxes .card p { margin-bottom: 0; }
.b1-boxes .bullets { padding-left: 18px; }

/* Long dark text block (About "How Sophisticated Solutions started") */
.b1-prose .sec-title { margin-bottom: 12px; }
.b1-prose p { margin-bottom: 24px; }
.b1-prose .bullets { margin: -4px 0 24px; padding-left: 30px; }

/* Wider centered intro */
.sec-head .b1-intro-wide { max-width: 720px; margin: 0 auto; }
.sec-head:has(.b1-intro-wide) { max-width: 760px; }

/* Bold centered closing line (Wix H1 styled as 20px semibold) */
.b1-lead { font-size: 20px; font-weight: 600; line-height: 1.6; max-width: 980px; margin: 40px auto 0; }

/* Checklists */
.b1-check-light li::before { background: #fff; }
.b1-check-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 34px; max-width: 980px; margin: 0 auto; font-weight: 500; }
.b1-check-block { max-width: 920px; margin: 0 auto; }
.b1-check-block li { margin-bottom: 10px; }
.b1-check-block--wide li { margin-bottom: 20px; } /* About "What we don't do": Wix rows 46px apart */

/* Roles / premium columns: icon centered, text left */
.b1-roles { gap: 32px 40px; }
.b1-roles .icon-row__icon { width: 80px; height: 72px; margin-bottom: 12px; }
.b1-roles .icon-row__title { font-size: 20px; margin-bottom: 6px; }
.b1-roles .bullets { padding-left: 20px; }

/* Phases (How we work roadmap): check icon + title, bullets under */
.b1-phases { list-style: none; margin: 0 auto; padding: 0; max-width: 980px; }
.b1-phases > li { position: relative; padding-left: 30px; margin-bottom: 14px; }
.b1-phases > li::before {
  content: ""; position: absolute; left: 0; top: .35em; width: 20px; height: 20px;
  background: var(--check); -webkit-mask: var(--icon-check) center / contain no-repeat; mask: var(--icon-check) center / contain no-repeat;
}
.b1-phases h2 { font-size: 20px; font-weight: 600; margin-bottom: 4px; }
.b1-phases .bullets { padding-left: 32px; }

/* Icon + text rows on dark (money and changes; build process) */
.b1-inset { max-width: calc(1090px + 40px); padding-left: 30px; padding-right: 30px; }
.b1-inset .sec-title { margin-bottom: 6px; }
.b1-sub { margin-bottom: 26px; }
.b1-iconlist__item { display: grid; grid-template-columns: 76px 1fr; gap: 0 18px; margin-bottom: 26px; }
.b1-iconlist__item:last-child { margin-bottom: 0; }
.b1-iconlist__icon { width: 72px; height: 72px; }
.b1-iconlist__icon svg { width: 100%; height: 100%; }
.b1-iconlist h2 { font-size: 20px; font-weight: 600; margin-bottom: 4px; }
.b1-iconlist .bullets { padding-left: 20px; }
.b1-iconlist--steps .b1-iconlist__item { grid-template-columns: 82px 1fr; margin-bottom: 22px; }
.b1-iconlist--steps .b1-iconlist__icon { width: 66px; height: 66px; }
.b1-iconlist--steps p { color: #d6d6d6; font-size: 15px; }

/* Surprises: bold lead-in + bullets */
.b1-surprises { max-width: 980px; margin: 0 auto; }
.b1-surprises p { margin: 26px 0 16px; color: var(--text); }
.b1-surprises p:first-child { margin-top: 0; }
.b1-surprises strong { font-weight: 700; }
.b1-surprises .bullets { padding-left: 38px; }

/* Check grid (Custom homes "Problems we design away from") */
.b1-checkgrid { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 34px; max-width: 1000px; margin: 0 auto; }
.b1-checkgrid li { position: relative; padding-left: 30px; }
.b1-checkgrid li::before {
  content: ""; position: absolute; left: 0; top: .3em; width: 20px; height: 20px;
  background: var(--check); -webkit-mask: var(--icon-check) center / contain no-repeat; mask: var(--icon-check) center / contain no-repeat;
}
.b1-checkgrid h2 { font-size: 21px; font-weight: 600; line-height: 1.4; margin-bottom: 8px; }

@media (max-width: 900px) {
  .b1-check-cols, .b1-checkgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .b1-check-cols, .b1-checkgrid { grid-template-columns: 1fr; }
  .b1-check-cols li { margin-bottom: 14px; }
  .b1-lead { font-size: 18px; }
  .b1-cards-pad .card { padding: 22px 22px 28px; }
  .b1-inset { padding-left: 20px; padding-right: 20px; }
  .b1-iconlist__item, .b1-iconlist--steps .b1-iconlist__item { grid-template-columns: 52px 1fr; gap: 0 14px; }
  .b1-iconlist__icon, .b1-iconlist--steps .b1-iconlist__icon { width: 50px; height: 50px; }
  .b1-phases .bullets, .b1-surprises .bullets { padding-left: 22px; }
}

/* Hero: Wix inner pages start the title ~200px from the top */
@media (min-width: 761px) {
  .hero__content { padding-top: 180px; }
  .b1-hero-wide { max-width: 760px; }
}
.b1-phases .bullets, .b1-iconlist .bullets, .b1-roles .bullets { list-style: disc; }
.b1-phases .bullets ul, .b1-iconlist .bullets ul, .b1-boxes .bullets ul { list-style: circle; }

/* Project cards (Custom homes) */
.b1-projects { gap: 16px 15px; }
.b1-projects .card { padding: 0 24px 20px; }
.b1-projects .card__img { margin-bottom: 22px; }
.b1-projects .card__title { font-size: 20px; margin-bottom: 10px; }
.b1-projects .card p { margin-bottom: 18px; }

/* How we work "How we handle money and changes": body text grey on the dark band as on Wix */
.b1-iconlist--grey li, .b1-iconlist--grey p { color: #C0C0C0; }

/* Wix: section headings ~70px below the section top (measured) */
@media (min-width: 1061px) { .sec70 > .sec { padding-top: 70px; } }
