/* TAGORAS v3 — carruseles horizontales y diseño sin marcos (se carga al final) */

/* ---- Carrusel horizontal ---- */
.hs{position:relative}
.hscroll{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.hscroll::-webkit-scrollbar{display:none}
.hscroll>*{flex:0 0 var(--hs-w,min(380px,84vw));scroll-snap-align:start;min-width:0}
.hscroll.is-drag{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.hscroll.is-drag a{pointer-events:none}
.hscroll:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.hs-nav{display:flex;align-items:center;gap:22px;margin-top:24px}
.hs-nav[hidden]{display:none}
.hs-bar{flex:1;height:2px;background:rgba(128,128,128,.28);position:relative}
.hs-bar i{position:absolute;top:-1px;height:4px;border-radius:2px;background:var(--red-light);transition:width .2s ease}
.hs-btns{display:flex;gap:8px}
.hs-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid currentColor;background:none;color:inherit;font:700 17px/1 var(--font);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease,transform .25s var(--snap)}
.hs-btn:hover:not(:disabled){background:var(--red);border-color:var(--red);color:#fff}
.hs-btn:active:not(:disabled){transform:scale(.92)}
.hs-btn:disabled{opacity:.25;cursor:default}
@media(max-width:900px){
  .hscroll-m{display:flex!important;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth}
  .hscroll-m::-webkit-scrollbar{display:none}
  .hscroll-m>*{flex:0 0 min(250px,78vw);scroll-snap-align:start;min-width:0}
}
@media(max-width:800px){
  .hs>.hscroll,.hs>.hscroll-m{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;scroll-padding-left:20px}
  .hs-btns{display:none}
}
@media(prefers-reduced-motion:reduce){.hscroll,.hscroll-m{scroll-behavior:auto}}

/* ---- Portada: la foto entra a sangre, sin marco ---- */
.hero{position:relative}
.stats{position:relative;z-index:2;border-top:0}
.stat{border-right:0}
@media(min-width:901px){
  .hero-grid{display:block;min-height:560px}
  .hero-copy{max-width:540px;padding:60px 0 72px;position:relative;z-index:2}
  .hero-photo{position:absolute;right:0;top:var(--hh);bottom:70px;width:56vw;height:auto;margin:0;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 40%);mask-image:linear-gradient(to right,transparent 0,#000 40%)}
}
@media(max-width:900px){
  .hero-photo{-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent);mask-image:linear-gradient(to bottom,#000 72%,transparent)}
  .stats-in{grid-template-columns:repeat(3,1fr)}
  .stat{flex-direction:column;gap:4px;align-items:flex-start;border:0;padding:6px 4px 18px}
  .stat b{font-size:20px}.stat span{font-size:10.5px}
}
.calc-grid{border:0}
.anatomy-viz{background:transparent;border:0;padding:0}

/* ---- Proyectos: imagen protagonista, texto sobre la foto ---- */
.project-grid.hscroll{display:flex}
.project-grid.hscroll>.pcard{flex:0 0 min(430px,84vw)}
.pcard{border:0;border-radius:0;background:#111;position:relative;height:540px;overflow:hidden}
.pcard-media{position:absolute;inset:0;height:auto}
.pcard-info{position:absolute;left:0;right:0;bottom:0;padding:130px 26px 26px;color:#fff;background:linear-gradient(to top,rgba(10,10,10,.93) 0,rgba(10,10,10,.7) 52%,transparent)}
.pcard-info h3{color:#fff;font-size:21px}
.pcard-info>p.desc{color:#e3e3e3}
.pcard .eyebrow{color:#F0A0A6}.pcard .eyebrow::before{background:#F0A0A6}
.pcard .spec-table{border-top-color:rgba(255,255,255,.28)}
.pcard .spec-row{border-bottom-color:rgba(255,255,255,.18)}
.pcard .spec-row span:first-child{color:#c4c4c4}
.pcard .pbar-track{background:rgba(255,255,255,.28)}
.pcard .pbar-top b{color:#fff}
.obra-grid.hscroll{display:flex}
.obra-grid.hscroll>.obra-item{flex:0 0 min(366px,80vw);height:250px;border-radius:0}
@media(max-width:800px){.pcard{height:480px}}

/* ---- Cómo trabajamos: sin recuadros; en celular, horizontal ---- */
.promesas-grid{background:none;border:0;gap:34px}
.promesa{background:none;padding:0}
@media(max-width:900px){
  .steps.hscroll-m{gap:0;padding-top:4px}
  .steps.hscroll-m>.steps-line{display:none}
  .steps.hscroll-m>.step{flex:0 0 min(230px,72vw);padding:40px 22px 6px 0}
  .steps.hscroll-m>.step::before{content:"";position:absolute;top:11px;left:14px;right:0;height:2px;background:#3a3a3a}
  .steps.hscroll-m>.step::after{content:"";position:absolute;top:11px;left:14px;right:0;height:2px;background:var(--red-light);transform:scaleX(0);transform-origin:left;transition:transform .3s linear;transition-delay:calc(var(--i,0)*120ms)}
  .steps.in.hscroll-m>.step::after{transform:scaleX(1)}
  .steps.hscroll-m>.step:last-child::before,.steps.hscroll-m>.step:last-child::after{display:none}
  .steps.hscroll-m .step-node{left:0;top:5px;z-index:2}
  .promesas-grid.hscroll-m>.promesa{flex-basis:min(250px,78vw)}
}

/* ---- Más de TAGORAS: mosaicos con foto, sin bordes ---- */
.more-grid.hscroll{display:flex;--hs-w:min(270px,80vw)}
.more-card{border:0;background:#1d1d1d;color:#fff;position:relative;min-height:440px;padding:0;overflow:hidden;justify-content:flex-end;gap:0}
.more-card:hover{border:0}
.more-card.is-featured{background:#1d1d1d}
.more-media{position:absolute;inset:0}
.more-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--settle)}
.more-card:hover .more-media img{transform:scale(1.05)}
.more-body{position:relative;display:flex;flex-direction:column;gap:10px;padding:150px 24px 24px;background:linear-gradient(to top,rgba(10,10,10,.94) 30%,rgba(10,10,10,.55) 70%,transparent)}
.more-card h3{color:#fff;font-size:21px}
.more-card p{color:#dedede;font-size:14px}
.more-card .more-link{color:#fff;margin-top:6px}
.more-card .more-link:hover{color:#F0A0A6;text-decoration:none}
.more-card .more-tag{position:absolute;top:18px;left:18px;z-index:2}
.more-concept{position:absolute;top:18px;right:18px;z-index:2;background:rgba(24,24,24,.9);color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 8px}
.more-card.is-text{background:var(--red)}
.more-card.is-text .more-body{background:none;padding-top:28px;justify-content:flex-end;height:100%}
.more-card.is-text p{color:#fbe4e6}
.more-card.is-text .more-list{border-top-color:rgba(255,255,255,.35)}
.more-card.is-text .more-list li a{color:#fff;border-bottom-color:rgba(255,255,255,.3)}
.more-card.is-text .more-list li a:hover{color:#fff;text-decoration:underline}
.more-card.is-text .more-link:hover{color:#fff;text-decoration:underline}

/* ---- Cierre: Tagoro directo sobre el fondo, sin caja ---- */
.tagoro-panel{background:none;border:0;color:#fff;padding:0;margin-top:30px}
.tagoro-panel-title{color:#fff}

/* ---- Muebles: catálogo horizontal, foto grande sin marco ---- */
.mu-grid.hscroll{display:flex}
.mu-grid.hscroll>.mu-card{flex:0 0 min(360px,84vw)}
.mu-card{background:none;border:0;padding:0}
.mu-card:hover{box-shadow:none}
.mu-fig img{aspect-ratio:4/5}
.mu-body{padding:20px 2px 0}
@media(max-width:900px){.hscroll-m>.mu-step{border:0;flex-basis:min(230px,74vw)}}

/* ---- Blog y alianzas ---- */
.blog-grid.hscroll{display:flex}
.blog-grid.hscroll>.bcard{flex:0 0 min(320px,84vw);border:0}
.bcard{border:0}
.why-grid{background:none;border:0;gap:34px}
.why-card{background:none;padding:0}
@media(max-width:800px){.hs>.wrap.hscroll-m{margin-left:0;margin-right:0;padding-left:20px;padding-right:20px}}

/* Obra en curso sin foto todavía: fondo de marca, sin imagen inventada */
.pcard-media.is-empty{background:linear-gradient(160deg,#2b2b2b 0%,#151515 70%);display:flex;align-items:flex-start;justify-content:flex-start}
.pcard-media.is-empty span{margin:26px;font-weight:900;font-size:64px;letter-spacing:.04em;color:rgba(255,255,255,.07);line-height:1}
.pcard .pbar:not([style]) .pbar-top{margin-bottom:4px}
