/* Linha Predial — layout em grade, sem parallax nem blocos soltos */
.lp{background:#0e0e0e; color:#e8e8e8;}
.lp-wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
.lp-sec{padding:96px 0; border-top:1px solid #1f1f1f;}
.lp-sec.alt{background:#141414;}
.lp-label{font-family:'IBM Plex Mono',monospace; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ember-light); display:block; margin-bottom:14px;}
.lp h2{font-size:clamp(2rem,3.6vw,3rem); color:#fff; margin:0 0 18px; max-width:20ch; text-wrap:balance;}
.lp h3{color:#fff; font-size:1.3rem; margin:0 0 8px;}
.lp .lead{font-size:1.1rem; color:#a9a9a9; line-height:1.65; max-width:56ch; margin:0; text-wrap:pretty;}
.lp p{margin:0;}
.lp-head{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 64px; align-items:end; margin-bottom:48px;}
.lp-head h2{margin:0;}
.lp-img{display:block; width:100%; height:100%; object-fit:cover; border-radius:4px; background:#1a1a1a;}

/* hero */
.lp-hero{padding:56px 0 88px; background:#0e0e0e;}
.lp-hero-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:56px; align-items:center;}
.lp-hero h1{font-size:clamp(2.3rem,4.4vw,3.7rem); color:#fff; line-height:1.06; margin:0 0 22px; text-wrap:balance;}
.lp-hero h1 em{font-style:normal; color:var(--ember-light);}
.lp-hero-copy .lead{margin-bottom:30px;}
.lp-actions{display:flex; flex-wrap:wrap; gap:12px;}
.lp-actions .btn{padding:15px 24px;}
.lp-facts{display:flex; flex-wrap:wrap; gap:0; margin-top:40px; border-top:1px solid #262626;}
.lp-facts div{flex:1 1 0; min-width:120px; padding:18px 18px 0 0;}
.lp-facts strong{display:block; color:#fff; font-family:'Zilla Slab',serif; font-size:1.25rem;}
.lp-facts span{font-size:.84rem; color:#8f8f8f;}
.lp-hero-media{aspect-ratio:4/5; max-height:680px;}

/* intro */
.lp-intro{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px; align-items:center;}
.lp-intro-media{aspect-ratio:4/3;}

/* engenharia */
.lp-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px;}
.lp-card-media{aspect-ratio:4/3; margin-bottom:20px; overflow:hidden; border-radius:4px;}
.lp-card-media img{transition:transform .5s ease;}
.lp-card:hover .lp-card-media img{transform:scale(1.04);}
.lp-card p{color:#a0a0a0; font-size:.98rem; line-height:1.6;}

/* acabamentos */
.lp-tiles{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;}
.lp-tile{position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:4px;}
.lp-tile::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.8), rgba(0,0,0,0) 55%);}
.lp-tile figcaption{position:absolute; left:20px; right:20px; bottom:18px; z-index:1;}
.lp-tile figcaption strong{display:block; color:#fff; font-family:'Zilla Slab',serif; font-size:1.4rem;}
.lp-tile figcaption span{color:rgba(255,255,255,.78); font-size:.9rem;}
.lp-tile figure, figure.lp-tile{margin:0;}
.lp-ready{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:56px; align-items:center; margin-top:56px; padding-top:56px; border-top:1px solid #262626;}
.lp-ready-media{background:radial-gradient(90% 80% at 50% 50%, #262626, #141414); border-radius:4px; padding:24px;}
.lp-ready-media img{width:100%; height:auto; display:block;}

/* ficha técnica */
.lp-spec{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:start;}
.lp-spec-media{position:sticky; top:96px; aspect-ratio:1/1; border-radius:4px; background:radial-gradient(85% 75% at 50% 55%, #2a2a2a, #121212); display:flex; align-items:center; justify-content:center; padding:8%;}
.lp-spec-media img{max-width:100%; max-height:100%; object-fit:contain;}
.lp-spec .pd-sizes{margin:6px 0 36px;}
.lp-dl{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px;}
.lp-dl div{padding:22px 0; border-top:1px solid #262626;}
.lp-dl h3{font-size:1.1rem; margin-bottom:6px;}
.lp-dl p{color:#9a9a9a; font-size:.94rem; line-height:1.55;}

/* serviços */
.lp-services{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px;}
.lp-services div{padding-top:22px; border-top:2px solid var(--ember);}
.lp-services p{color:#a0a0a0; font-size:.98rem; line-height:1.6;}

/* produção */
.lp-band{position:relative; min-height:520px; display:flex; align-items:center; overflow:hidden; background:#000;}
.lp-band > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.lp-band::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,.1) 100%);}
.lp-band .lp-wrap{position:relative; z-index:1; width:100%;}
.lp-band .lead{color:rgba(255,255,255,.8); max-width:44ch;}

/* cotação: sem animação de entrada */
.pd-quote .reveal{opacity:1 !important; transform:none !important;}

@media (max-width: 980px){
  .lp-hero-grid, .lp-intro, .lp-spec, .lp-ready, .lp-head{grid-template-columns:1fr;}
  .lp-hero-media{aspect-ratio:4/3; order:-1;}
  .lp-spec-media{position:relative; top:0; max-width:520px;}
  .lp-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 760px){
  .lp-wrap{padding:0 18px;}
  .lp-sec{padding:60px 0;}
  .lp h2{font-size:1.9rem;}
  .lp .lead{font-size:1rem;}
  .lp-head{margin-bottom:28px; gap:14px;}
  .lp-hero{padding:18px 0 56px;}
  .lp-hero-grid{gap:26px;}
  .lp-hero-media{margin:0 -18px; border-radius:0; aspect-ratio:4/3;}
  .lp-hero-media.lp-img{border-radius:0;}
  .lp-hero h1{font-size:2.05rem;}
  .lp-actions{display:grid; grid-template-columns:1fr;}
  .lp-actions .btn{justify-content:center;}
  .lp-facts{margin-top:28px;}
  .lp-facts div{min-width:0; padding-right:10px;}
  .lp-facts strong{font-size:1.05rem;}
  .lp-facts span{font-size:.76rem;}
  .lp-intro{gap:24px;}
  .lp-intro-media{margin:0 -18px; border-radius:0;}
  .lp-cards{grid-template-columns:1fr; gap:32px;}
  .lp-tiles{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; margin:0 -18px; padding:0 18px; scroll-padding:0 18px; scrollbar-width:none;}
  .lp-tiles::-webkit-scrollbar{display:none;}
  .lp-tile{flex:0 0 76%; scroll-snap-align:start;}
  .lp-ready{margin-top:40px; padding-top:40px; gap:24px;}
  .lp-ready-media{padding:12px;}
  .lp-spec{gap:28px;}
  .lp-dl{grid-template-columns:1fr;}
  .lp-dl div{padding:18px 0;}
  .lp-services{grid-template-columns:1fr; gap:26px;}
  .lp-band{min-height:440px; align-items:flex-end; padding-bottom:44px;}
  .lp-band::after{background:linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.4) 60%, rgba(0,0,0,.15) 100%);}
}

/* encaixe na tela: cada seção ocupa a altura visível (desktop) */
@media (min-width: 981px) and (min-height: 620px){
  html{scroll-snap-type:y proximity; scroll-padding-top:var(--m-header-h, 67px);}
  .lp-hero, .lp-sec, .lp-band{
    min-height:calc(100vh - var(--m-header-h, 67px)); min-height:calc(100svh - var(--m-header-h, 67px));
    display:flex; flex-direction:column; justify-content:center;
    scroll-snap-align:start; box-sizing:border-box;
  }
  .pd-collage, .pd-quote{
    min-height:calc(100vh - var(--m-header-h, 67px)); min-height:calc(100svh - var(--m-header-h, 67px));
    display:grid; align-content:center; scroll-snap-align:start; box-sizing:border-box;
  }
  .pd-spec{scroll-snap-align:start;}
  .lp-hero{padding:32px 0;}
  .lp-sec{padding:56px 0;}
  .lp-hero > .lp-wrap, .lp-sec > .lp-wrap, .lp-band > .lp-wrap{width:100%;}
  .lp-hero-media{aspect-ratio:auto; height:calc(100svh - var(--m-header-h, 67px) - 64px); max-height:860px; width:100%;}
  .lp-hero-copy .nav-back{margin-bottom:12px;}
  .lp-hero h1{font-size:clamp(2.2rem,3.6vw,3.5rem);}
  .lp-facts{margin-top:32px;}
  .lp-intro-media{aspect-ratio:auto; height:calc(100svh - var(--m-header-h, 67px) - 112px); max-height:720px;}
  .lp-card-media{aspect-ratio:auto; height:min(34vh, 300px);}
  .lp-head{margin-bottom:36px;}
  .pd-sticky{scroll-snap-align:start;}
}

/* cabeçalhos de seção: empilhados e alinhados à esquerda */
.lp-head{display:block !important; max-width:720px; margin-bottom:40px;}
.lp-head h2{margin:0 0 20px !important; max-width:none !important;}

/* ficha técnica: imagem fixa ao lado, sem ficar presa na rolagem */
@media (min-width: 901px){
  .pd-spec{align-items:stretch;}
  .pd-spec-media{position:relative !important; top:auto !important; height:auto !important; min-height:100%;}
  .pd-spec-media img{max-height:min(78vh, 640px);}
  .pd-spec-list{padding:56px 48px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:36px; align-content:center;}
  .pd-spec-head{grid-column:1 / -1; max-width:none; margin-bottom:24px;}
  .pd-spec-item{padding:18px 0 !important;}
  .pd-spec-item p{max-width:none;}
}
@media (min-width: 981px) and (min-height: 620px){
  .pd-spec{min-height:calc(100svh - var(--m-header-h, 67px));}
}

@media (min-width: 901px){
  .pd-spec{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) !important;}
  .pd-spec.pd-light::before{width:40% !important;}
  .pd-spec-list{grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:28px; padding:48px 48px;}
  .pd-spec-head{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px 32px; margin-bottom:20px;}
  .pd-spec-head h2{margin:10px 0 0 !important;}
  .pd-spec-head .pd-sizes{margin:0 !important;}
  .pd-spec-item h4, .pd-spec-item .pd-spec-h{font-size:1.02rem;}
  .pd-spec-item p{font-size:.88rem;}
}

.lp-hero-grid{align-items:start;}
.lp-hero-copy{padding-top:8px;}
.lp-intro{align-items:start;}
