/* Shared build-page introduction. Loaded through Layout with versioned public styles. */
.build-intro { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(32px,4vw,60px); align-items:center; padding-block:64px 72px; }
.build-intro-visual { min-width:0; margin:0; align-self:stretch; }
.build-intro-visual img { display:block; width:100%; height:100%; min-height:560px; object-fit:cover; border-radius:8px; }
.build-intro-content { --intro-icon-size:76px; --intro-icon-column:92px; --intro-card-pad:20px; --intro-icon-gap:20px; min-width:0; }
.build-intro-reveal { opacity:0; transform:translate3d(0,16px,0); transition:none; }
.build-intro-reveal.is-revealed { opacity:1; transform:translate3d(0,0,0); transition:opacity 720ms cubic-bezier(.22,1,.36,1),transform 720ms cubic-bezier(.22,1,.36,1); transition-delay:var(--intro-reveal-delay,0ms); }
.build-intro-heading { text-align:center; }
.build-intro .build-intro-eyebrow { display:flex; align-items:center; justify-content:center; gap:14px; margin:0 0 18px; color:var(--gold); font-size:12px; font-weight:600; line-height:1.6; letter-spacing:.2em; }
.build-intro .build-intro-title { font-size:clamp(34px,3.6vw,50px); line-height:1.08; text-wrap:balance; }
.build-intro .build-intro-description { max-width:480px; margin:20px auto 28px; font-size:15px; line-height:1.7; color:#c7c4bd; text-wrap:pretty; }
.build-intro-benefits { display:grid; gap:10px; list-style:none; margin:0; padding:0; }
.build-intro-benefits li { display:flex; align-items:center; gap:var(--intro-icon-gap); min-width:0; padding:16px var(--intro-card-pad); border:1px solid var(--line); border-radius:12px; }
.build-intro-benefits li > div { min-width:0; }
.build-intro-icon { display:flex; align-items:center; justify-content:center; flex:0 0 var(--intro-icon-column); height:var(--intro-icon-size); }
.build-intro-icon > svg { display:block; flex:none; width:var(--intro-icon-size); height:100%; }
#single-intro .build-intro-icon[data-icon="floor-plan"] > svg { transform:translateX(8%); }
#fourplex-intro .build-intro-icon[data-icon="multifamily-space-plan"] > svg { transform:translateX(8%); }
#single-intro .build-intro-icon[data-icon="house-yard"] > svg,
#duplex-intro .build-intro-icon[data-icon="duplex-facade-refined"] > svg { width:var(--intro-icon-column); max-width:none; }
.build-intro .build-intro-benefits h3 { margin:0 0 5px; color:var(--ink); font-size:20px; line-height:1.2; letter-spacing:-.015em; }
.build-intro .build-intro-benefits p { color:var(--muted); font-size:13px; line-height:1.5; text-wrap:pretty; }
.build-intro-button { display:flex; align-items:center; justify-content:center; gap:22px; width:fit-content; min-height:50px; margin:24px auto 0; padding:13px 28px; border-radius:999px; background:linear-gradient(180deg,#c8a45b 0%,#e6cd8c 55%,#fff 100%); color:#000; font-size:14px; line-height:1.5; font-weight:600; transition:filter .2s; }
.build-intro-button svg { flex-shrink:0; }
.build-intro-button.build-intro-reveal { transition:none; }
.build-intro-button.build-intro-reveal.is-revealed { transition:opacity 720ms cubic-bezier(.22,1,.36,1),transform 720ms cubic-bezier(.22,1,.36,1),filter .2s; transition-delay:var(--intro-reveal-delay,0ms),var(--intro-reveal-delay,0ms),0ms; }
@media(hover:hover) { .build-intro-button:hover { filter:brightness(.9); } }
@media(min-width:1051px) {
  .build-intro-heading { text-align:left; }
  .build-intro .build-intro-eyebrow { justify-content:flex-start; }
  .build-intro .build-intro-title { text-align:left; }
  .build-intro .build-intro-description { max-width:480px; margin:18px 0 24px; text-align:left; }
  .build-intro-button { margin:20px 0 0; }
}
@media(max-width:1240px) and (min-width:1051px) {
  .build-intro { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; }
  .build-intro-content { --intro-icon-size:64px; --intro-icon-column:80px; --intro-card-pad:14px; --intro-icon-gap:16px; }
  .build-intro .build-intro-title { font-size:36px; }
  .build-intro-benefits li { padding-block:14px; }
  .build-intro .build-intro-benefits h3 { font-size:18px; }
}
@media(max-width:1050px) and (min-width:601px) {
  .build-intro { grid-template-columns:minmax(0,1fr); width:min(720px,calc(100% - 56px)); gap:32px; padding-block:48px 56px; }
  .build-intro-visual img { height:clamp(300px,42vw,400px); min-height:0; object-position:center 45%; }
  .build-intro-content { --intro-icon-size:64px; --intro-icon-column:80px; --intro-card-pad:18px; --intro-icon-gap:18px; width:100%; max-width:640px; margin-inline:auto; }
  .build-intro .build-intro-eyebrow { margin-bottom:14px; }
  .build-intro .build-intro-title { font-size:clamp(38px,5.3vw,46px); line-height:1.1; }
  .build-intro .build-intro-description { max-width:560px; margin:18px auto 24px; font-size:15px; line-height:1.65; }
  .build-intro-benefits li { padding-block:16px; }
  .build-intro .build-intro-benefits h3 { font-size:20px; }
  .build-intro .build-intro-benefits p { font-size:14px; line-height:1.55; }
  .build-intro-button { margin-top:24px; min-height:52px; }
}
@media(max-width:600px) {
  .build-intro { display:block; padding-block:32px 48px; }
  .build-intro-visual { margin-bottom:24px; }
  .build-intro-visual img { height:auto; min-height:0; max-height:340px; aspect-ratio:16/11; }
  .build-intro .build-intro-eyebrow { gap:12px; margin-bottom:12px; }
  .build-intro .build-intro-title { font-size:clamp(30px,8vw,38px); line-height:1.1; }
  .build-intro .build-intro-description { max-width:440px; margin:16px auto 20px; font-size:14px; line-height:1.6; }
  .build-intro-benefits { gap:0; max-width:480px; margin-inline:auto; }
  .build-intro-benefits li { gap:var(--intro-icon-gap); padding:14px 0; border:0; border-top:1px solid rgba(230,205,140,.16); border-radius:0; }
  .build-intro-content { --intro-icon-size:52px; --intro-icon-column:60px; --intro-icon-gap:16px; }
  .build-intro .build-intro-benefits h3 { font-size:18px; }
  .build-intro .build-intro-benefits p { font-size:12.5px; line-height:1.5; }
  .build-intro-button { width:min(100%,360px); margin-top:18px; }
}
@media(max-width:768px), (hover:none), (pointer:coarse) {
  .build-intro .build-intro-reveal,
  .build-intro .build-intro-reveal.is-revealed { opacity:1; transform:none; animation:var(--nlx-mobile-content-entry); transition:none; transition-delay:0ms; }
}
@media(prefers-reduced-motion:reduce) {
  .build-intro .build-intro-reveal, .build-intro .build-intro-reveal.is-revealed { opacity:1; transform:none; animation:none; transition:none; }
  .build-intro-button, .build-intro-button.build-intro-reveal, .build-intro-button.build-intro-reveal.is-revealed { transition:none; }
}
