/* ═══════════════════════════════════════════════════════════
   Loyal Propiedades — Home
   ═══════════════════════════════════════════════════════════ */

/* ───────── Hero ───────── */
.lyl .hero{position:relative;background:var(--ink);color:var(--white);min-height:min(100svh,860px);display:flex;align-items:flex-end;padding:calc(84px + 48px) 0 clamp(56px,7vw,96px);overflow:hidden}
.lyl .hero-bg{position:absolute;inset:0;overflow:hidden}
.lyl .hero-bg img{width:100%;height:114%;object-fit:cover;object-position:center 40%;will-change:transform;filter:brightness(.74) contrast(1.12)}
.lyl .hero .wrap{position:relative;width:100%}
.lyl .hero h1{font-size:clamp(34px,4.5vw,60px);line-height:1.06;font-weight:600;letter-spacing:-.02em;margin:0 0 40px;max-width:12em;text-shadow:0 2px 24px rgba(39,38,38,.55),0 1px 3px rgba(39,38,38,.45)}
.lyl .hero h1 span{display:block}
.lyl .search{max-width:860px;background:var(--white);border-radius:26px;padding:16px;box-shadow:0 30px 60px -28px rgba(0,0,0,.6)}
.lyl .tabs{display:flex;gap:4px;padding:2px 2px 16px;flex-wrap:wrap}
.lyl .tab{height:44px;padding:0 22px;border-radius:var(--pill);background:transparent;font-size:13px;font-weight:600;color:var(--ink);transition:background .25s,color .25s}
.lyl .tab:hover{background:var(--sand)}
.lyl .tab.on{background:var(--ink);color:var(--white)}
.lyl .search-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px}
.lyl .fld{background:var(--sand);border-radius:16px;padding:14px 18px 15px;justify-content:center;gap:2px;display:flex;flex-direction:column;min-width:0;color:var(--ink);transition:background .25s;cursor:pointer}
.lyl .fld:hover{background:#e3e1db}
.lyl .fld span{white-space:nowrap;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mauve-deep)}
.lyl .fld select{border:0;background:transparent;font-size:15px;outline:0;width:100%;cursor:pointer;padding:2px 0;margin-left:-3px;height:auto;box-shadow:none;-webkit-appearance:auto;appearance:auto}
.lyl .search-box .btn{height:auto;min-height:72px;min-width:200px;padding:0 26px;border-radius:16px;font-size:14px}
.lyl .search-box .btn svg{width:14px;height:14px}
.lyl #heroCount{display:inline-block;min-width:1.4em;text-align:center;font-variant-numeric:tabular-nums}

/* ───────── Manifiesto ───────── */
.lyl .stmt{padding:clamp(80px,10vw,140px) 0}
.lyl .stmt p{font-size:clamp(24px,3.3vw,42px);line-height:1.25;font-weight:600;letter-spacing:-.015em;max-width:22em;margin-top:26px}
.lyl .stmt p .w{color:var(--stone);transition:color .5s}
.lyl .stmt p .w.on{color:var(--ink)}

/* ───────── ¿Qué estás buscando? ───────── */
.lyl .look{padding-bottom:clamp(80px,10vw,140px)}
.lyl .panels{display:flex;gap:14px;height:380px}
.lyl .panel{flex:1 1 0;min-width:0;border-radius:var(--r);padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:flex-grow .7s var(--ease)}
.lyl .panels:hover .panel{flex-grow:.8}
.lyl .panels .panel:hover{flex-grow:1.7}
.lyl .panel.p1{background:var(--ink);color:var(--white)}
.lyl .panel.p2{background:var(--mauve);color:var(--white)}
.lyl .panel.p3{background:var(--sand);color:var(--ink)}
.lyl .panel .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.lyl .panel .tag{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.lyl .panel .n{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.7;white-space:nowrap}
.lyl .panel h3{font-size:clamp(26px,2.6vw,36px);line-height:1.12;font-weight:600;letter-spacing:-.015em;max-width:9em}
.lyl .panel h3 span{font-weight:400;display:block}
.lyl .panel .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.lyl .panel .more>div{overflow:hidden}
.lyl .panel .more p{font-size:14px;line-height:1.55;padding-top:14px;max-width:34ch;opacity:0;transition:opacity .5s .1s}
.lyl .panel:hover .more{grid-template-rows:1fr}
.lyl .panel:hover .more p{opacity:.9}
.lyl .panel .foot{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.lyl .panel .go{width:48px;height:48px;border-radius:50%;border:1px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;transition:background .3s,color .3s,transform .5s var(--ease)}
.lyl .panel:hover .go{transform:translateX(6px)}
.lyl .panel.p1:hover .go,.lyl .panel.p2:hover .go{background:var(--white);color:var(--ink);border-color:var(--white)}
.lyl .panel.p3:hover .go{background:var(--ink);color:var(--white);border-color:var(--ink)}

/* ───────── Destacadas ───────── */
.lyl .feat{padding-bottom:clamp(80px,10vw,140px)}
.lyl .feat .iso{height:54px;width:auto;margin-bottom:22px}
.lyl .feat-tools{display:flex;align-items:center;gap:10px}
.lyl .chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;align-items:center}
.lyl .chip{height:38px;padding:0 18px;border:1px solid var(--line);border-radius:var(--pill);font-size:13px;font-weight:600;transition:background .25s,color .25s,border-color .25s}
.lyl .chip:hover{border-color:var(--ink)}
.lyl .chip.on{background:var(--ink);color:var(--white);border-color:var(--ink)}
.lyl .chips .res{margin-left:auto;font-size:13px;color:#5c5959}
.lyl .chips .res b{color:var(--ink)}
.lyl .chips .res a{color:var(--mauve-deep);font-weight:700;margin-left:6px}
.lyl .rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad))) 24px;scroll-padding-left:max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)))}
.lyl .rail::-webkit-scrollbar{display:none}

/* ───────── Propietarios ───────── */
.lyl .own{background:var(--ink);color:var(--white);padding:clamp(72px,9vw,120px) 0}
.lyl .own-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 72px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.lyl .own-head .kicker{margin-bottom:18px}
.lyl .own-head .kicker::before{content:none}
.lyl .own-head .kicker img{height:22px;width:auto}
.lyl .own-head p{color:rgba(255,255,255,.72);font-size:16px;max-width:46ch;margin-bottom:24px}
.lyl .own-head .btns{display:flex;gap:10px;flex-wrap:wrap}
.lyl .own-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);align-items:stretch}
.lyl .svc{border-top:1px solid rgba(255,255,255,.16)}
.lyl .svc-row{width:100%;text-align:left;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px 12px;align-items:baseline;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.16);position:relative;transition:padding .5s var(--ease)}
.lyl .svc-row .num{font-size:11px;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.45);transition:color .3s}
.lyl .svc-row .nm{font-size:clamp(20px,2.1vw,28px);font-weight:600;letter-spacing:-.01em;line-height:1.2;color:rgba(255,255,255,.55);transition:color .3s;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lyl .svc-row .nm em{font-style:normal;font-size:10px;font-weight:600;letter-spacing:.1em;background:var(--mauve);color:var(--white);padding:3px 10px;border-radius:var(--pill)}
.lyl .svc-row .ar{font-size:18px;opacity:0;transform:translateX(-10px);transition:opacity .3s,transform .5s var(--ease)}
.lyl .svc-row .ds{grid-column:2/3;display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.lyl .svc-row .ds span{overflow:hidden;font-size:14px;color:rgba(255,255,255,.7);line-height:1.55}
.lyl .svc-row.on{padding-left:14px}
.lyl .svc-row.on .num{color:var(--mauve)}
.lyl .svc-row.on .nm{color:var(--white)}
.lyl .svc-row.on .ar{opacity:1;transform:none}
.lyl .svc-row.on .ds{grid-template-rows:1fr}
.lyl .svc-row::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--mauve);transform:scaleX(0);transform-origin:left}
.lyl .svc-row.on::after{animation:lyl-bar var(--dur,6s) linear forwards}
.lyl .svc.paused .svc-row.on::after{animation-play-state:paused}
@keyframes lyl-bar{to{transform:scaleX(1)}}
.lyl .svc-pic{position:relative;border-radius:var(--r);overflow:hidden;min-height:460px;background:#3a3838}
.lyl .svc-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease),transform 1.6s var(--ease)}
.lyl .svc-pic img.on{opacity:1;transform:none}
.lyl .svc-pic .cap{position:absolute;left:16px;bottom:16px;background:var(--white);color:var(--ink);border-radius:var(--pill);padding:10px 16px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;display:flex;gap:8px;align-items:center}
.lyl .svc-pic .cap::before{content:"→";color:var(--mauve);letter-spacing:0;font-size:13px}

/* ───────── Testimonios ───────── */
.lyl .tst{background:var(--sand);padding:clamp(80px,10vw,140px) 0}
.lyl .tst-in{max-width:980px;margin:0 auto;padding:0 var(--pad);display:flex;flex-direction:column;align-items:center;text-align:center;gap:34px}
.lyl .quote{font-size:clamp(22px,2.7vw,38px);line-height:1.3;font-weight:400;letter-spacing:-.012em;text-wrap:balance;min-height:5.2em;display:block;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.lyl .quote::before{content:"“";color:var(--mauve)}
.lyl .quote::after{content:"”";color:var(--mauve)}
.lyl .who{display:flex;align-items:center;gap:14px;transition:opacity .45s var(--ease)}
.lyl .who .av{width:52px;height:52px;border-radius:50%;background:var(--mauve);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.lyl .who b{font-size:15px;font-weight:700}
.lyl .tst.swap .quote{opacity:0;transform:translateY(10px)}
.lyl .tst.swap .who{opacity:0}
.lyl .dots{display:flex;gap:10px}
.lyl .dots button{height:8px;width:8px;border-radius:var(--pill);background:var(--stone);transition:width .4s var(--ease),background .4s}
.lyl .dots button.on{width:36px;background:var(--ink)}

/* ───────── Novedades ───────── */
.lyl .nov{padding:clamp(80px,10vw,140px) 0}
.lyl .nov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}

/* ───────── CTA final ───────── */

/* ───────── Responsive ───────── */
@media (max-width:1280px){
  .lyl .search-box{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lyl .search-box .btn{grid-column:1/-1}
}
@media (max-width:900px){
  .lyl .hero{padding-top:calc(84px + 40px)}
  .lyl .own-head,.lyl .own-body,.lyl .nov-grid{grid-template-columns:minmax(0,1fr)}
  .lyl .search-box{grid-template-columns:1fr 1fr}
  .lyl .search-box .btn{grid-column:1/-1}
  .lyl .panels{flex-direction:column;height:auto}
  .lyl .panel{min-height:230px}
  .lyl .panel .more{grid-template-rows:1fr}
  .lyl .panel .more p{opacity:.9}
  .lyl .svc-pic{min-height:0;aspect-ratio:4/5;order:-1}
  .lyl .quote{min-height:8em}
}
@media (max-width:560px){
  .lyl .search-box{grid-template-columns:1fr}
  .lyl .tab{padding:9px 11px;font-size:12px}
  .lyl .feat-tools .btn{display:none}
}
@media (prefers-reduced-motion:reduce){
  .lyl .stmt p .w{color:var(--ink)}
}
