/* Modelo 98 · Tornillo — clases .tn */
.pmc-m-tornillo { min-height: 100vh; margin: 0; background: #fafaf9; }
.tn { --k-ink: #1c1917; --k-muted: #57534e; --k-line: rgba(28,25,23,.14); --k-accent: var(--pmc-primary-ink); --k-btn-r: .4rem; --k-gap: 1.3rem; --k-q-bg: #fff; --k-q-ink: #1c1917; --k-q-border: 2px solid #1c1917; --k-h: var(--pmc-display); --k-h2-s: 1.4rem; --k-h2-w: 400; --k-photo-r: .4rem; }
.tn-head { display: flex; flex-direction: column; gap: .6rem; }
.tn-board { position: relative; height: 6.4rem; border-radius: .6rem; background-color: var(--pmc-secondary); background-image: radial-gradient(circle, rgba(28,25,23,.35) 2.5px, transparent 3px); background-size: 18px 18px; }
.tn-tool { position: absolute; top: 1rem; background: #1c1917; border-radius: .3rem; }
.tn-t1 { left: 1.4rem; width: .8rem; height: 4.2rem; } .tn-t1::before { content: ""; position: absolute; left: -.7rem; top: -.2rem; width: 2.2rem; height: 1.1rem; border-radius: .3rem; background: #1c1917; }
.tn-t2 { left: 5rem; width: .5rem; height: 4.4rem; border-radius: 0 0 .3rem .3rem; } .tn-t2::before { content: ""; position: absolute; left: -.4rem; bottom: -.1rem; width: 1.3rem; height: 1.8rem; border-radius: .4rem; background: var(--pmc-primary); }
.tn-t3 { left: 8rem; width: 4.6rem; height: .9rem; top: 2.6rem; border-radius: 1rem; } .tn-t3::before { content: ""; position: absolute; right: -.6rem; top: -.6rem; width: 2rem; height: 2rem; border-radius: 50%; border: .5rem solid #1c1917; border-right-color: transparent; box-sizing: border-box; }
.tn-tag { position: relative; display: flex; flex-direction: column; gap: .35rem; margin: -2.4rem .6rem 0 1.4rem; padding: 1rem 1.1rem; border-radius: .5rem; background: var(--pmc-primary); color: var(--pmc-on-primary); box-shadow: 0 6px 0 #1c1917; transform: rotate(-2deg); }
.tn-name { font: 400 clamp(1.7rem, 8vw, 2.1rem)/1.05 var(--pmc-display); text-transform: uppercase; }
.tn-tagline { font-weight: 600; line-height: 1.35; }
.tn-open { align-self: flex-start; margin-top: .4rem; }
.tn .k-main { min-height: 3.5rem; border: 2px solid #1c1917; }
.tn .k-h3 { padding: .2rem .6rem; background: #1c1917; color: #fff; display: inline-block; border-radius: .3rem; }
.tn .k-price { font: 400 1.1rem var(--pmc-display); }
.tn .k-tags li { border: 2px solid #1c1917; font-weight: 700; }
.tn .k-when, .tn .k-reach { padding: 1.1rem; border: 2px solid #1c1917; border-radius: .5rem; background: #fff; }
.tn .k-sbtn:first-child { background: #1c1917; color: #fff; border-color: #1c1917; }
.tn .k-links a { border: 2px solid #1c1917; }

.tn-foot a { color: var(--k-muted); }
