/* Page-specific layout. Colours, typography and components come from site.css. */
.builders-page .hero { padding: 72px 0 48px; }
.builders-hero { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: center; gap: 64px; }
.builders-hero h1 { font-size: clamp(2.4rem, 4.4vw, 3.8rem); hyphens: none; }
.builders-hero .lead { max-width: 670px; }
.builders-hero .hero-cta { gap: 10px; }
.builders-page .btn { white-space: normal; height: auto; min-height: 44px; padding-top: 11px; padding-bottom: 11px; text-align: center; }
.builders-page .btn-lg { min-height: 52px; }
.builders-hero .badge { text-decoration: none; }
.builders-logo { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); overflow: hidden; transform: rotate(2deg); }
.builders-logo > img { padding: 24px; width: 100%; }
.builders-beta { margin-top: 24px; padding-left: 14px; border-left: 2px solid var(--violet); font-size: .86rem; color: var(--muted); max-width: 620px; }
.builders-facts { display: flex; flex-wrap: wrap; gap: 12px 32px; margin-top: 48px; color: var(--muted); font-size: .86rem; }
.builders-facts b { color: var(--ink); }
.language-select { border: 1px solid var(--line); border-radius: 8px; padding: 7px 6px; font: inherit; font-size: .85rem; font-weight: 700; color: var(--ink-2); background: #fff; }
.builders-result-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.builders-result-head .section-head { margin: 0; }
.builders-result-head .btn { flex-shrink: 0; }
.builders-viewer { border: 1px solid var(--line-strong); border-radius: 18px; overflow: hidden; background: #eef0ec; box-shadow: var(--shadow); }
.builders-viewer iframe { display: block; width: 100%; height: 760px; border: 0; }
.builders-viewer iframe:fullscreen { width: 100vw; height: 100vh; }
.builders-note, .builders-details { font-size: .85rem; color: var(--muted); margin-top: 16px; }
.builders-details summary { cursor: pointer; font-weight: 700; }
.builders-details p { margin-top: 8px; }
.builders-download { display: grid; grid-template-columns: 1fr auto; gap: 36px; align-items: center; background: var(--ink); color: #fff; border-radius: 22px; padding: 40px; margin-top: 40px; scroll-margin-top: 100px; }
.builders-download .eyebrow { color: #a2d7b0; }
.builders-download h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; letter-spacing: -.035em; margin: 12px 0 16px; }
.builders-download p, .builders-download li { color: #cbd8ce; font-size: .93rem; }
.builders-download ul { padding-left: 20px; margin-top: 20px; }
.builders-download li + li { margin-top: 6px; }
.builders-download .download-hint { margin-top: 12px; max-width: 310px; font-size: .76rem; }
.builders-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.builders-grid .section-head { margin: 0; }
.builders-grid .section-head .btn { margin-top: 24px; }
.builders-grid .mv-card h3 { margin-top: 16px; }
.builders-plan { width: 100%; margin: 24px 0 12px; border: 1px solid var(--line); border-radius: 10px; }
.builders-caption { font-size: .8rem; color: var(--muted); }
.builders-prompt { white-space: pre-line; border-left: 2px solid var(--green); padding-left: 20px; margin-top: 20px; color: var(--ink-2); font-size: .93rem; }
.builders-contact { border-top: 1px solid var(--line); padding-top: 32px; margin-top: 48px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.builders-contact p { max-width: 700px; color: var(--ink-2); }
.builders-contact .btn { flex-shrink: 0; }
.builders-reel-section { padding: 16px 0 64px; scroll-margin-top: 90px; }
.builders-reel-card { display: grid; grid-template-columns: minmax(0, 292px) minmax(0, 1fr); align-items: center; gap: 56px; padding: 36px; border: 1px solid var(--line); border-radius: 22px; background: var(--bg-soft); }
.builders-reel-media { min-width: 0; }
.builders-reel-media video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; max-height: 520px; object-fit: contain; background: #0f1411; border: 1px solid var(--line); border-radius: 14px; }
.builders-reel-card .section-head { margin: 0; }
.builders-reel-card .builders-reel-language { margin-top: 16px; font-size: .82rem; color: var(--muted); }
.builders-reel-card .btn { margin-top: 24px; }
@media (max-width: 1000px) {
  .builders-hero { grid-template-columns: minmax(0, 1fr) 250px; gap: 32px; }
  .builders-logo .fc-label { flex-wrap: wrap; }
  .builders-download { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .builders-page .hero { padding-top: 40px; }
  .builders-hero, .builders-grid { grid-template-columns: 1fr; }
  .builders-logo { grid-row: 1; width: 190px; justify-self: center; transform: none; }
  .builders-logo > img { padding: 10px; }
  .builders-logo .fc-label { display: none; }
  .builders-hero .hero-cta .btn { width: 100%; }
  .builders-page .demo-login, .builders-page .demo-register { display: none; }
  .builders-page .builders-home { font-size: .76rem; padding: 8px; gap: 5px; }
  .builders-page .logo img { height: 22px; }
  .builders-page .header-inner { gap: 8px; }
  .builders-page .header-actions { gap: 6px; }
  .builders-result-head { flex-direction: column; align-items: flex-start; }
  .builders-viewer iframe { height: 800px; }
  .builders-download { padding: 26px 22px; gap: 24px; }
  .builders-download .btn { width: 100%; }
  .builders-contact { flex-direction: column; align-items: flex-start; }
  .builders-grid .mv-card { padding: 24px; }
  .builders-reel-section { padding-bottom: 48px; }
  .builders-reel-card { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
  .builders-reel-card .section-head { grid-row: 1; }
  .builders-reel-media { width: 100%; max-width: 292px; justify-self: center; }
}
@media (prefers-reduced-motion: reduce) { .builders-page { scroll-behavior: auto; } }
