/* Heliotropia · Experiencia y proyectos · se suma a styles.css y sobre.css */
.xhero{background:linear-gradient(180deg,#0d0d0d 0%,var(--negro-b) 100%);color:var(--blanco-a);padding:190px 0 70px}
.xhero>*{display:block}
.xhero>:not(.hero__mark){width:min(962px,100% - 48px);margin-inline:auto}
.xhero .hero__mark{width:233px;height:auto;margin:0 0 24px max(24px,calc((100% - 962px)/2))}
.xhero h1{font:var(--text-display);font-size:clamp(46px,6.4vw,100px);line-height:1.1;text-transform:uppercase}
.xhero p{margin-top:32px;font:400 clamp(17px,1.5vw,22px)/1.5 var(--font-sans)}
.xlist{padding-top:40px}
.xlist .projects__grid{margin-top:0;row-gap:90px}
.proj__link{display:block;border-radius:50%}
.proj__link:focus-visible{outline:3px solid var(--morado-b);outline-offset:4px}
.proj__client{font:400 15px/1.5 var(--font-sans);color:rgba(234,229,223,.85)}
.proj__year{font:500 13px var(--font-sans);letter-spacing:.06em;color:var(--morado-b)}
.proj__more{justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 13px var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--blanco-a);text-decoration:none;border-bottom:1px solid transparent}
.proj__more:hover,.proj__more:focus-visible{border-bottom-color:currentColor}
.ph--cover{width:100%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,var(--morado-a),var(--morado-c) 70%);color:rgba(255,255,255,.7)}
.projects__grid .proj{display:block}

/* Detalle del proyecto */
.phero{position:relative;height:clamp(560px,60vw,961px);background:var(--negro-b);color:var(--blanco-a);overflow:hidden;isolation:isolate}
.phero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.phero picture{display:contents}
.phero__bg--ph{background:radial-gradient(circle at 70% 30%,var(--morado-c),var(--negro-b) 70%)}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(33,33,33,.7) 0%,rgba(33,33,33,.1) 30%,rgba(33,33,33,.15) 100%)}
.phero .scroll{position:absolute;right:max(24px,calc((100% - 1460px)/2));bottom:48px}
.phero__card{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(966px,100% - 48px);background:var(--blanco-a);color:var(--negro-b);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:48px 24px 40px;display:grid;gap:0}
.phero__card h1{font:400 clamp(28px,3.2vw,48px)/1.15 var(--font-special);text-transform:uppercase;padding-bottom:24px;text-wrap:balance}
.phero__meta{display:flex;align-items:flex-start;gap:14px;padding:20px 0 24px}
.phero__meta svg{flex:none;margin-top:2px}
.phero__meta dl{display:flex;flex-wrap:wrap;gap:12px 48px;margin:0}
.phero__meta dt{font:700 14px/1.3 var(--font-sans);text-transform:uppercase}
.phero__meta dd{margin:2px 0 0;font:400 15px/1.45 var(--font-sans)}
.pbody{background:var(--blanco-a);color:var(--negro-b);padding:72px 0 100px}
.pbody>*{width:min(966px,100% - 48px);margin-inline:auto}
.pback{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:48px;font:500 13px var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--morado-c);text-decoration:none}
.pback:hover{color:var(--morado-d)}
.pbody__grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:64px;align-items:start}
.pbody__text{display:grid;gap:22px}
.pbody__text p{font:400 16px/1.6 var(--font-sans)}
.pbody__res h2{font:400 32px/1.2 var(--font-special);text-transform:uppercase;margin-bottom:8px}
.pbody__res ul{list-style:none;margin:0;padding:0}
.pbody__res li{padding:14px 0 16px;font:400 15px/1.45 var(--font-sans);border-bottom:2px solid transparent;border-image:linear-gradient(90deg,var(--azul-a),var(--morado-gradiente)) 1}
.pbody__res li strong{font-weight:700}
.pgal{margin-top:72px;display:grid;gap:24px}
.pgal img,.pgal__video{width:100%;border-radius:var(--radius-lg);overflow:hidden;display:block}
.pgal__video{aspect-ratio:16/9;background:#000}
.pgal__video iframe{width:100%;height:100%;border:0}
.pgal__ph .ph--cover{border-radius:var(--radius-lg);aspect-ratio:16/10;background:var(--crema-claro);color:var(--morado-a);border:1.5px dashed var(--morado-a)}
.pnav{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pnav a{display:grid;gap:4px;padding:20px 24px;border-radius:var(--radius-lg);background:var(--crema-claro);color:var(--negro-b);text-decoration:none;border:1px solid rgba(33,33,33,.1)}
.pnav a:hover{border-color:var(--morado-c)}
.pnav small{font:500 12px var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--morado-c)}
.pnav span{font:400 20px/1.25 var(--font-special);text-transform:uppercase}
.pnav__next{text-align:right}
@media (max-width:860px){
  .phero{height:auto;min-height:0;padding-top:0;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:auto}
  .phero{min-height:480px}
  .phero .scroll{display:none}
  .phero__card{position:relative;left:auto;bottom:auto;transform:none;width:calc(100% - 32px);margin:0 auto;padding:28px 18px 24px;margin-top:300px}
  .phero__card h1{padding-bottom:18px}
  .pbody{padding:44px 0 64px}
  .pbody__grid{grid-template-columns:1fr;gap:36px}
  .pgal{margin-top:44px}
  .pnav{grid-template-columns:1fr}
  .pnav__next{text-align:left}
}

/* Listado en filas 50/50 */
.xrow{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:var(--negro-b)}
.xrow__img{display:block;position:relative;overflow:hidden;background:var(--negro-a)}
.xrow__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.xrow__ph{position:absolute;inset:0}
.xrow__ph .ph--cover{width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.xrow__panel{background:linear-gradient(180deg,var(--morado-b) 0%,#5f5d7e 100%);color:var(--blanco-a);padding:36px 48px 48px;display:flex;flex-direction:column;gap:20px}
.xrow__eyebrow{font:400 14px/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.03em}
.xrow__panel h2{font:400 clamp(26px,2.2vw,36px)/1.2 var(--font-special);text-transform:uppercase;text-wrap:balance}
.xrow__panel .area__rule{background:rgba(234,229,223,.6);opacity:1}
.xrow__text{font:400 15px/1.55 var(--font-sans);display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.xrow__btn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 28px;border-radius:var(--radius-pill);background:rgba(255,255,255,.08);border:1px solid rgba(234,229,223,.6);color:var(--blanco-a);font:500 13px var(--font-sans);text-transform:uppercase;letter-spacing:.04em;text-decoration:none}
.xrow__btn:hover,.xrow__btn:focus-visible{background:rgba(255,255,255,.2)}
@media (max-width:860px){
  .xrow{grid-template-columns:1fr;min-height:0}
  .xrow__img{aspect-ratio:4/3}
  .xrow__panel{padding:28px 24px 36px}
  .xrow__btn{margin-top:8px}
}
.area__rule{display:block;height:1px;background:linear-gradient(90deg,var(--azul-a),var(--morado-b))}

/* Filas intercaladas: impares imagen izquierda, pares imagen derecha */
.xrow:nth-child(even) .xrow__img{order:2}
.xrow:nth-child(even) .xrow__panel{order:1;background:linear-gradient(180deg,#5f5d7e 0%,var(--morado-c) 100%)}
.xrow__img img.fit{object-fit:contain}
.xrow__img picture{display:contents}
.phero__bg--fit{object-fit:contain}
.phero::before{background:linear-gradient(180deg,rgba(33,33,33,.55) 0%,rgba(33,33,33,0) 28%)}
@media (max-width:860px){
  .xrow:nth-child(even) .xrow__img{order:0}
  .xrow:nth-child(even) .xrow__panel{order:0}
}
.phero__bg--fit~.scroll,.phero:has(.phero__bg--fit)::before{}
.phero:has(.phero__bg--fit)::before{background:linear-gradient(180deg,rgba(33,33,33,.85) 0%,rgba(33,33,33,.4) 18%,rgba(33,33,33,0) 34%)}

/* Video vertical de YouTube (carga solo al hacer clic) */
.pgal__yt{width:min(400px,100%);aspect-ratio:9/16;margin-inline:auto;position:relative;border-radius:var(--radius-lg);overflow:hidden;background:#000}
.pgal__yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pgal__play{position:absolute;inset:0;display:block}
.pgal__play img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.pgal__btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(33,33,33,.65);color:var(--blanco-a);border:1.5px solid rgba(234,229,223,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s}
.pgal__btn svg{margin-left:4px}
.pgal__play:hover .pgal__btn,.pgal__play:focus-visible .pgal__btn{background:var(--morado-c)}
.pgal__play:focus-visible{outline:3px solid var(--morado-b);outline-offset:-3px}

/* ===== Carrusel vertical con miniaturas a la derecha ===== */
.pcar{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:20px;width:min(820px,100%);margin-inline:auto;align-items:start}
.pcar__stage{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--crema-claro);aspect-ratio:3/4;max-height:86vh;margin-inline:auto;width:100%}
.pcar__track{list-style:none;margin:0;padding:0;display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pcar__track::-webkit-scrollbar{display:none}
.pcar__slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;display:grid;place-items:center;height:100%}
.pcar__slide picture{display:contents}
.pcar .pcar__slide img{width:auto;height:100%;max-width:100%;object-fit:contain;border-radius:0;display:block}
.pcar__arrow{width:52px;height:52px;margin-top:-26px}
.pcar__arrow--prev{left:12px}.pcar__arrow--next{right:12px}
.pcar__arrow:disabled{opacity:.35;cursor:default}
.pcar__arrow:focus-visible,.pcar__thumb:focus-visible{outline:3px solid var(--morado-b);outline-offset:2px}
.pcar__count{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pcar__thumbs{display:flex;flex-direction:column;gap:12px}
.pcar__thumb{display:block;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:var(--crema-claro);cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s;aspect-ratio:3/4}
.pcar__thumb:hover{opacity:.9}
.pcar__thumb[aria-current="true"]{opacity:1;border-color:var(--morado-c)}
.pcar__thumb picture{display:contents}
.pcar .pcar__thumb img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:0;display:block}
@media (max-width:860px){
  .pcar{grid-template-columns:minmax(0,1fr) 68px;gap:10px}
  .pcar__thumbs{gap:8px}
  .pcar__thumb{border-radius:6px}
  .pcar__arrow{width:44px;height:44px;margin-top:-22px}
  .pcar__arrow--prev{left:6px}.pcar__arrow--next{right:6px}
  .pcar__stage{max-height:none}
}
@media (prefers-reduced-motion:reduce){.pcar__track{scroll-behavior:auto}}

/* Dos imágenes lado a lado con la misma altura (cada una conserva su proporción) */
.ppair{display:flex;gap:24px;align-items:flex-start}
.ppair__item{margin:0;flex:var(--r) 1 0;min-width:0}
.ppair__item picture{display:contents}
.ppair__item img{width:100%;height:auto;display:block;border-radius:var(--radius-lg)}
@media (max-width:1024px){
  .ppair{flex-direction:column;align-items:center;gap:20px}
  .ppair__item{flex:none;width:100%}
  .ppair__item:first-child{width:min(100%,460px)}
}

/* Carrusel horizontal (fotos apaisadas): miniaturas en 2 columnas a la derecha */
.pcar--land{grid-template-columns:minmax(0,1fr) 216px;width:100%;align-items:stretch}
.pcar--land .pcar__stage{aspect-ratio:3/2;max-height:none;background:var(--negro-b)}
.pcar--land .pcar__slide img{width:100%;height:100%;max-width:none;object-fit:cover}
.pcar--land .pcar__thumbs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start;height:0;min-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--morado-a) transparent;padding-right:4px}
.pcar--land .pcar__thumb{aspect-ratio:3/2}
.pcar--land .pcar__thumb img{object-position:center}
@media (max-width:860px){
  .pcar--land{grid-template-columns:1fr;gap:10px}
  .pcar--land .pcar__thumbs{display:flex;flex-direction:row;height:auto;min-height:0;overflow-x:auto;overflow-y:hidden;padding:0 0 6px;gap:8px;scroll-snap-type:x proximity}
  .pcar--land .pcar__thumb{flex:0 0 84px;scroll-snap-align:start}
}

/* Ilustración centrada entre el menú y la tarjeta (sin cortarse) */
.phero:has(.phero__bg--pad){height:clamp(560px,66vw,1000px)}
.phero__bg--pad{box-sizing:border-box;padding:140px 24px 320px}
@media (max-width:860px){.phero:has(.phero__bg--pad){height:800px}.phero__bg--pad{padding:96px 16px 350px}}

/* Una sola imagen en la galería */
.pgal__single{margin:0}
.pgal__single picture{display:contents}
.pgal__single img{width:100%;height:auto;display:block;border-radius:var(--radius-lg)}
.pgal__single--tall{width:min(560px,100%);margin-inline:auto}

/* ---- visor con pestañas (proyecto con varios formatos) ---- */
.ptabs{width:100%}
.ptablist{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}
.ptab{font:inherit;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:12px 22px;min-height:44px;border-radius:999px;border:1.5px solid var(--morado-c);background:transparent;color:var(--morado-c);cursor:pointer;transition:background .2s,color .2s}
.ptab:hover{background:rgba(75,83,155,.1)}
.ptab[aria-selected=true]{background:var(--morado-c);color:var(--blanco-a)}
.ptab:focus-visible{outline:3px solid var(--morado-b);outline-offset:2px}
.ptabpanel[hidden]{display:none}
.pmed__list{list-style:none;margin:0 auto;padding:0;display:grid;gap:16px;max-width:760px}
.pmed__audio{display:grid;gap:10px;padding:18px 20px;border-radius:var(--radius-lg);background:var(--crema-claro,#F4EFEA)}
.pmed__atitle{font-size:18px;color:var(--morado-c)}
.pmed__audio audio{width:100%;height:44px}
.pmed__list--pdf{max-width:900px;grid-template-columns:repeat(2,1fr);gap:24px}
.pmed__pdf{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;background:var(--crema-claro,#F4EFEA)}
.pmed__thumb{display:block;aspect-ratio:16/10;background:#e6dfd7;overflow:hidden}
.pmed__thumb picture{display:contents}
.pmed__thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.pmed__info{padding:20px;display:grid;gap:8px}
.pmed__info h3{margin:0;font-size:20px;line-height:1.25}
.pmed__meta{margin:0;font-size:14px;opacity:.7}
.pmed__btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.pmed__btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;font-size:14px;text-decoration:none}
.pmed__btn--ghost{border:1.5px solid var(--morado-c);color:var(--morado-c)}
.pmed__btn--ghost:hover{background:rgba(75,83,155,.1)}
@media(max-width:700px){
  .ptablist{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding:0 16px 6px;scrollbar-width:none}
  .ptablist::-webkit-scrollbar{display:none}
  .ptab{white-space:nowrap;flex:none;padding:12px 18px}
  .pmed__list--pdf{grid-template-columns:1fr}
}
.ppair--info{justify-content:center}
.ppair--info .ppair__item{flex:1 1 0;max-width:520px}
.ppair--info .ppair__item a{display:block}
@media(max-width:860px){.ppair--info .ppair__item,.ppair--info .ppair__item:first-child{width:min(100%,460px)}}
.pgal{grid-template-columns:minmax(0,1fr)}
.ptabs,.ptabpanel{min-width:0;max-width:100%}

/* ---- visor interno de PDF ---- */
.pmed__thumb{border:0;padding:0;width:100%;cursor:pointer;display:block}
.pmed__btn{font:inherit;cursor:pointer;border:0}
.pmed__btn--ghost{border:1.5px solid var(--morado-c);background:transparent}
.pview{border:0;padding:0;width:min(760px,96vw);max-height:94vh;height:94vh;border-radius:var(--radius-lg);background:var(--negro-b);color:var(--blanco-a);overflow:hidden}
.pview[open]{display:flex;flex-direction:column}
.pview--land{width:min(1180px,96vw)}
.pview::backdrop{background:rgba(20,20,20,.78)}
.pview__bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--negro-a);flex:none}
.pview__title{margin:0 auto 0 0;font-size:16px;font-weight:500;line-height:1.25;min-width:0}
.pview .pview__dl{color:var(--blanco-a);border-color:var(--blanco-a);flex:none}
.pview .pview__dl:hover{background:rgba(234,229,223,.14)}
.pview__close{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--blanco-a);background:transparent;color:var(--blanco-a);display:grid;place-items:center;cursor:pointer}
.pview__close:hover{background:rgba(234,229,223,.14)}
.pview__close:focus-visible,.pview__dl:focus-visible{outline:3px solid var(--blanco-a);outline-offset:2px}
.pview__pages{flex:1;overflow:auto;padding:16px;display:grid;gap:16px;align-content:start;justify-items:center;-webkit-overflow-scrolling:touch}
.pview__pages img{width:100%;height:auto;display:block;border-radius:6px;background:#fff}
.pview:not(.pview--land) .pview__pages img{max-width:640px}
html.pview-lock{overflow:hidden}
@media(max-width:700px){
  .pview{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
  .pview__dl span{display:none}
  .pview .pview__dl{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%}
  .pview__pages{padding:10px;gap:10px}
}
.pview__pages{display:flex;flex-direction:column;align-items:center;gap:16px;min-height:0}
.pview__pages img{flex:none;height:auto;max-height:none;object-fit:contain}
@media(max-width:700px){.pview__pages{gap:10px}}
@media(max-width:700px){.pnav>span[aria-hidden]{display:none}}
.pback--end{justify-content:flex-end}
@media(max-width:700px){.pback--end{justify-content:flex-start}}
.pnav{align-items:center}
.pback--slot{margin-top:0;justify-content:flex-start}
.pnav>.pback--slot:last-child{justify-content:flex-end}
@media(max-width:700px){.pnav>.pback--slot:last-child{justify-content:flex-start}.pback--slot{order:2}}
.pnav a.pback--slot{display:flex;flex-direction:row;align-items:center;gap:8px;padding:0 4px;background:none;border:0;border-radius:0;min-height:44px;color:var(--morado-c)}
.pnav a.pback--slot:hover{color:var(--morado-d)}
.pnav a.pback--slot span{font:500 13px var(--font-sans);letter-spacing:.05em;text-transform:uppercase}
.pnav{align-items:stretch}
.pnav a:not(.pback--slot){height:100%;align-content:center}
.pnav>.pback--slot{align-self:center}
