/* Tipologías (ficha de proyecto y landing). Temas: .typ--light (sitio) y .typ--dark (landing). */
.typ{font-family:var(--text,"DM Sans",system-ui,sans-serif);font-weight:400;line-height:1.6;--t-fg:#1A2E25;--t-mut:#59655D;--t-line:rgba(26,46,37,.16);--t-on:#1A2E25;--t-on-fg:#F9F6F0;--t-card:#F1EDE4;--t-acc:#7C6238;margin:var(--s7,96px) 0 0;color:var(--t-fg)}
.typ--dark{--t-fg:#F9F6F0;--t-mut:rgba(249,246,240,.72);--t-line:rgba(249,246,240,.2);--t-on:#F9F6F0;--t-on-fg:#1A2E25;--t-card:rgba(249,246,240,.07);--t-acc:#B89A6A;margin:0;padding:clamp(64px,9vw,112px) clamp(20px,4vw,64px);max-width:1280px;margin-inline:auto}
.typ__head{max-width:62ch;margin-bottom:clamp(20px,3vw,32px)}
.typ__kicker{font:600 12px/1 var(--text,"DM Sans",system-ui,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--t-acc);margin:0 0 14px}
.typ h2{font-family:var(--display,"Manrope",system-ui,sans-serif);font-weight:700;letter-spacing:-.025em;line-height:1.08;font-size:clamp(28px,4vw,44px);margin:0 0 14px;color:var(--t-fg)}
.typ__head p:last-child{margin:0;color:var(--t-mut)}
.typ__tabs{display:none;grid-template-columns:repeat(var(--n),1fr);gap:8px;margin-bottom:clamp(16px,2.4vw,24px)}
.typ[data-ready] .typ__tabs{display:grid}
.typ__tabs button{appearance:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:1px solid var(--t-line);background:transparent;color:var(--t-fg);font:inherit;text-align:left;border-radius:0;transition:background .2s,color .2s,border-color .2s}
.typ__tabs button span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.typ__tabs button b{font-family:var(--display,"Manrope",system-ui,sans-serif);font-size:clamp(20px,2.6vw,28px);letter-spacing:-.02em;line-height:1}
.typ__tabs button:hover{border-color:var(--t-fg)}
.typ__tabs button[aria-selected=true]{background:var(--t-on);color:var(--t-on-fg);border-color:var(--t-on)}
.typ__tabs button:focus-visible,.typ__nav:focus-visible,.typ__thumbs button:focus-visible,.typ__track:focus-visible{outline:2px solid var(--t-acc);outline-offset:2px}
.typ__panel[hidden]{display:none}
.typ__panel+.typ__panel{margin-top:48px}
.typ[data-ready] .typ__panel+.typ__panel{margin-top:0}
.typ__meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 40px;align-items:start;margin-bottom:clamp(16px,2.4vw,24px)}
.typ h3{font-family:var(--display,"Manrope",system-ui,sans-serif);font-weight:700;letter-spacing:-.02em;font-size:clamp(22px,2.6vw,30px);margin:0 0 6px;color:var(--t-fg)}
.typ__sub{margin:0 0 10px;color:var(--t-acc);font-weight:600}
.typ__meta p{margin:0 0 8px;color:var(--t-mut);max-width:60ch}
.typ__meta p.typ__sub{color:var(--t-acc)}
.typ__meta dl{display:flex;gap:0;margin:0;border:1px solid var(--t-line)}
.typ__meta dl div{padding:12px 18px;border-left:1px solid var(--t-line);min-width:96px}
.typ__meta dl div:first-child{border-left:0}
.typ__meta dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t-mut);margin:0 0 4px}
.typ__meta dd{margin:0;font-family:var(--display,"Manrope",system-ui,sans-serif);font-weight:700;font-size:20px;color:var(--t-fg)}
.typ__viewer{position:relative;background:var(--t-card)}
.typ__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.typ__track::-webkit-scrollbar{display:none}
.typ__slide{flex:0 0 100%;margin:0;position:relative;scroll-snap-align:start;aspect-ratio:3/2;background:var(--t-card)}
.typ__slide picture,.typ__slide img{display:block;width:100%;height:100%}
.typ__slide img{object-fit:cover}
.typ__slide figcaption{position:absolute;left:0;bottom:0;right:0;padding:36px 18px 14px;font-size:14px;color:#fff;background:linear-gradient(to top,rgba(14,26,19,.7),transparent);pointer-events:none}
.typ__slide figcaption em{font-style:normal;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.7);padding:2px 7px;margin-right:10px}
.typ__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(249,246,240,.92);color:#1A2E25;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.2);transition:background .2s}
.typ__nav:hover{background:#fff}
.typ__prev{left:12px}.typ__next{right:12px}
.typ:not([data-ready]) .typ__nav,.typ:not([data-ready]) .typ__count{display:none}
.typ__count{position:absolute;right:12px;top:12px;background:rgba(14,26,19,.7);color:#fff;font-size:13px;padding:4px 10px;border-radius:999px}
.typ__thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 0 4px;scrollbar-width:thin}
.typ:not([data-ready]) .typ__thumbs{display:none}
.typ__thumbs button{flex:0 0 auto;width:96px;aspect-ratio:3/2;padding:0;border:0;background:var(--t-card);position:relative;cursor:pointer;opacity:.6;outline:1px solid transparent;transition:opacity .2s}
.typ__thumbs button:hover,.typ__thumbs button[aria-current]{opacity:1}
.typ__thumbs button[aria-current]{outline:2px solid var(--t-acc)}
.typ__thumbs picture,.typ__thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.typ__thumbs em{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:rgba(14,26,19,.78);color:#fff;padding:2px 5px}
.typ__note{margin:18px 0 0;font-size:13px;color:var(--t-mut)}
@media (max-width:860px){
  .typ__meta{grid-template-columns:1fr}
  .typ__meta dl{width:100%}.typ__meta dl div{flex:1;min-width:0;padding:10px 12px}
  .typ__tabs button{padding:12px}
  .typ__nav{width:40px;height:40px}.typ__prev{left:8px}.typ__next{right:8px}
  .typ__thumbs button{width:80px}
}
@media (max-width:420px){.typ__tabs button span{font-size:10px;letter-spacing:.08em}}
@media (prefers-reduced-motion:reduce){.typ *{transition:none!important}}
