.builder-page { padding-top: 96px; }
.builder-section { position: relative; padding: clamp(56px, 8vw, 104px) 5vw; overflow: hidden; }
.builder-inner { width: min(1120px, 100%); margin: 0 auto; position: relative; z-index: 2; }
.builder-section h1, .builder-section h2 { margin: 0 0 16px; letter-spacing: -0.04em; }
.builder-section h1 { font-size: clamp(42px, 8vw, 86px); line-height: .95; }
.builder-section h2 { font-size: clamp(30px, 5vw, 54px); line-height: 1; }
.builder-lead { font-size: clamp(17px, 2vw, 22px); line-height: 1.75; color: rgba(20,24,34,.76); max-width: 760px; }
.builder-content { font-size: 16px; line-height: 1.9; color: rgba(20,24,34,.78); }
.builder-content p { margin: 0 0 1em; }
.builder-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border-radius: 999px; background: var(--cms-primary, #e6002d); color: #fff !important; text-decoration: none; font-weight: 800; box-shadow: 0 12px 28px rgba(230,0,45,.24); }
.builder-hero { min-height: 64vh; display: flex; align-items: center; background: linear-gradient(135deg, rgba(230,0,45,.10), rgba(15,185,221,.12)); }
.builder-hero-bg { position: absolute; inset: 0; opacity: .18; }
.builder-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.builder-two { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); gap: clamp(22px, 5vw, 56px); align-items: center; }
.builder-image img { width: 100%; border-radius: 28px; box-shadow: 0 26px 60px rgba(0,0,0,.14); object-fit: cover; max-height: 520px; }
.builder-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin-top: 26px; }
.builder-card { border: 1px solid rgba(15,23,42,.08); background: rgba(255,255,255,.76); backdrop-filter: blur(14px); border-radius: 22px; padding: 18px; box-shadow: 0 18px 46px rgba(15,23,42,.06); }
.builder-card img { width: 100%; height: 160px; object-fit: cover; border-radius: 16px; margin-bottom: 12px; }
.builder-card h3 { margin: 0 0 8px; font-size: 20px; }
.builder-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin-top: 24px; }
.builder-gallery figure { margin: 0; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 12px 32px rgba(15,23,42,.08); }
.builder-gallery img { width: 100%; height: 210px; object-fit: cover; display: block; }
.builder-gallery figcaption { padding: 10px 12px; font-weight: 700; color: #475569; }
.builder-cta { text-align: center; }
.builder-cta-box { padding: clamp(28px, 6vw, 64px); border-radius: 32px; background: linear-gradient(135deg, rgba(230,0,45,.92), rgba(10,70,216,.88)); color: #fff; box-shadow: 0 28px 70px rgba(10,70,216,.18); }
.builder-cta-box .builder-lead, .builder-cta-box .builder-content { color: rgba(255,255,255,.86); margin-left: auto; margin-right: auto; }
.builder-cta-box .builder-btn { background: #fff; color: #111827 !important; }
.builder-contact-card { border: 1px solid rgba(15,23,42,.08); border-radius: 24px; padding: 22px; background: #fff; box-shadow: 0 16px 44px rgba(15,23,42,.07); }
.builder-empty { text-align: center; }
@media (max-width: 760px) {
  .builder-page { padding-top: 78px; }
  .builder-two { grid-template-columns: 1fr; }
  .builder-section { padding-left: 22px; padding-right: 22px; }
}

/* v1.6 Homepage Builder additions */
.builder-page[data-page="home-builder"] { padding-top: 0; }
.builder-video { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 26px; overflow: hidden; background: #0f172a; box-shadow: 0 22px 60px rgba(15,23,42,.18); margin: 24px 0; }
.builder-video iframe, .builder-video video { width: 100%; height: 100%; border: 0; display: block; }
.builder-timeline { display: grid; gap: 16px; margin-top: 24px; position: relative; }
.builder-timeline-item { border: 1px solid rgba(15,23,42,.08); border-radius: 22px; background: rgba(255,255,255,.86); padding: 18px 20px; box-shadow: 0 14px 38px rgba(15,23,42,.06); }
.builder-timeline-item span { display: inline-flex; padding: 4px 10px; border-radius: 999px; background: rgba(230,0,45,.08); color: var(--cms-primary, #e6002d); font-weight: 800; margin-bottom: 8px; }
.builder-timeline-item h3 { margin: 0 0 8px; }
.builder-testimonials .builder-quote { display: flex; flex-direction: column; gap: 10px; }
.builder-quote img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.builder-quote h3 { font-size: 15px; color: #475569; }
.builder-custom-html { border: 1px dashed rgba(15,23,42,.16); border-radius: 22px; padding: 22px; background: rgba(255,255,255,.64); }
