/* =====================================================
   SOTEK STUDIO · service pages · technical grid + texture
   ===================================================== */
.tx{--mono:'IBM Plex Mono',ui-monospace,monospace;--cond:'Archivo',sans-serif;--rule:#1b1b1a;padding:84px var(--pad) 40px;max-width:1440px;margin:0 auto}
.tx-mono{font-family:var(--mono);font-size:11.5px;line-height:1.6;letter-spacing:.02em;text-transform:uppercase;color:#1b1b1a}
.tx-bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--gapc);padding:10px 0;border-bottom:1px solid var(--rule)}
.tx-bar span:last-child{color:var(--mid)}
.tx-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule)}
.tx-grid::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--rule)}
.mk{position:absolute;width:7px;height:7px;background:var(--rule);z-index:2}
.mk.tl{left:-3px;top:-4px}.mk.tm{left:calc(50% - 3px);top:-4px}
.mk.bl{left:-3px;bottom:-4px}.mk.bm{left:calc(50% - 3px);bottom:-4px}
.tx-left{padding:26px var(--gapc) 30px 0;display:flex;flex-direction:column;gap:26px}
.tx-name{font-family:var(--cond);font-stretch:62%;font-weight:700;text-transform:uppercase;font-size:clamp(34px,4.4vw,64px);line-height:.92;letter-spacing:-.005em}
.tx-tag{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:#3f5bff;margin-bottom:8px}
.tx-sec .tx-mono{max-width:56ch}
.tx-sec b{font-weight:500}
.tx-pn{display:flex;justify-content:space-between;gap:16px;margin-top:auto;padding-top:20px;border-top:1px solid #d9d7d0}
.tx-pn a:hover{color:var(--mid)}
.tx-right{padding:16px 0 16px var(--gapc)}
.tx-panel{position:sticky;top:76px;height:calc(100svh - 120px);min-height:480px;background:#1d1d1c;color:#f3f1ec;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,2vw,28px);overflow:hidden;
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 22px,transparent 22px 44px)}
.tx-panel::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.tx-meta{display:flex;justify-content:space-between;gap:16px;color:rgba(243,241,236,.6);position:relative;z-index:1}
.tx-big{position:relative;z-index:1;font-family:var(--cond);font-stretch:62%;font-weight:700;text-transform:uppercase;font-size:clamp(30px,3.6vw,58px);line-height:.98;text-align:center;letter-spacing:.002em;max-width:16ch;margin:0 auto}
@media(max-width:900px){
  .tx{padding-top:70px}
  .tx-bar{grid-template-columns:1fr}
  .tx-bar span:last-child{display:none}
  .tx-grid{grid-template-columns:1fr}
  .tx-grid::before,.mk.tm,.mk.bm{display:none}
  .tx-right{order:-1;padding:16px 0 0}
  .tx-panel{position:relative;top:0;height:auto;min-height:0;aspect-ratio:4/5}
  .tx-left{padding-right:0}
}
