/* NOVA — tuzatishlar + Dizayn studiyasi */
:root{--cyan:#d77d59;--violet:#C15F3C;--lime:#f1c9a5}
/* navbar: sinmasin */
.nav-center{flex-wrap:nowrap;gap:2px}.nav-center a{white-space:nowrap;padding:9px 10px}
.nav-wrap{gap:14px}.nav-actions{flex-shrink:0;gap:8px}.nav-actions .pill{white-space:nowrap}
@media(max-width:1680px){.nav-actions .pill:not(.primary):not(.kbtn){display:none}}
@media(max-width:1380px){.nav-actions .pill.kbtn{display:none}}
/* hero: portret yozuvi pastki yozuv ustiga chiqmasin */
.visual-bottom{z-index:3}.portrait-caption{white-space:nowrap}
.hero-visual .portrait{bottom:64px}
/* tugmalar */
.cta,.mini,.pill.primary,.ft-btn,.fg-btn,.ax-go{position:relative;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s,background .3s}
.cta.primary,.mini.primary,.pill.primary,.ft-btn{background:linear-gradient(135deg,#d77d59,#C15F3C 60%,#a94c2c);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 30px -12px rgba(193,95,60,.7)}
.cta.primary:after,.mini.primary:after,.pill.primary:after,.ft-btn:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.cta.primary:hover:after,.mini.primary:hover:after,.pill.primary:hover:after,.ft-btn:hover:after{transform:translateX(120%)}
.cta.primary:hover,.mini.primary:hover,.ft-btn:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 18px 44px -12px rgba(193,95,60,.85)}
.cta.ghost,.mini:not(.primary){background:rgba(255,255,255,.03);backdrop-filter:blur(8px)}
.cta.ghost:hover,.mini:not(.primary):hover{border-color:rgba(215,125,89,.6);background:rgba(215,125,89,.08)}
.mini{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.cta:active,.mini:active,.ns-btn:active{transform:scale(.97)}
:focus-visible{outline:2px solid #d77d59;outline-offset:3px;border-radius:10px}
.work-actions{display:flex;flex-wrap:wrap;gap:10px}
.fg-mod .ic svg{width:18px;height:18px}
/* kartalar uchun yagona yorug' kursor effekti */
.work,.ns-card,.contact-card{--mx:50%;--my:50%}
.work:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(215,125,89,.10),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.work{position:relative}.work:hover:before{opacity:1}
/* ===== Dizayn studiyasi ===== */
.ns-wrap{display:grid;grid-template-columns:360px 1fr;gap:18px;margin-top:44px;align-items:stretch}
.ns-panel,.ns-stage{border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.01));box-shadow:var(--shadow);position:relative;overflow:hidden}
.ns-panel{padding:24px;display:flex;flex-direction:column;gap:22px}
.ns-panel h4{margin:0 0 10px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:800;display:flex;justify-content:space-between}
.ns-panel h4 b{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.ns-sw{display:flex;gap:10px;flex-wrap:wrap}
.ns-sw button{width:38px;height:38px;border-radius:50%;border:2px solid transparent;background:var(--c);position:relative;transition:transform .3s var(--ease),box-shadow .3s;box-shadow:inset 0 0 0 2px var(--bg)}
.ns-sw button:hover{transform:scale(1.12)}
.ns-sw button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--bg),0 0 0 2px var(--c),0 8px 22px -6px var(--c)}
.ns-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.2);position:relative}
.ns-seg button{border:0;background:none;padding:9px 6px;border-radius:10px;font-size:12px;font-weight:700;color:var(--muted);position:relative;z-index:1;transition:color .25s;white-space:nowrap}
.ns-seg button[aria-pressed=true]{color:#fff}
.ns-seg i{position:absolute;top:4px;bottom:4px;left:4px;border-radius:10px;background:linear-gradient(135deg,#d77d59,#C15F3C);transition:transform .45s var(--ease),width .45s var(--ease);box-shadow:0 8px 20px -8px rgba(193,95,60,.8)}
.ns-range{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;background:linear-gradient(90deg,#d77d59 var(--p,50%),rgba(255,255,255,.1) var(--p,50%));outline:0}
.ns-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid #C15F3C;box-shadow:0 4px 14px rgba(0,0,0,.4);cursor:grab}
.ns-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid #C15F3C;cursor:grab}
.ns-stage{padding:22px;display:flex;flex-direction:column;gap:16px;background:radial-gradient(circle at 80% 0,rgba(215,125,89,.12),transparent 50%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/36px 36px,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/36px 36px,rgba(255,255,255,.015)}
.ns-prev{--pa:#C15F3C;--pr:16px;--pg:16px;--pf:var(--sans);--pbg:#14110f;--ppn:#1d1916;--pink:#f4f0e8;--pmu:#aea69d;--pln:rgba(244,240,232,.13);
 display:grid;grid-template-columns:150px 1fr;border:1px solid var(--pln);border-radius:calc(var(--pr) + 8px);background:var(--pbg);color:var(--pink);font-family:var(--pf);overflow:hidden;transition:background .5s,color .5s,border-radius .5s var(--ease);min-height:420px}
.ns-prev *{transition:background .5s,color .5s,border-color .5s,border-radius .5s var(--ease),padding .5s var(--ease),gap .5s var(--ease),font-family 0s}
.ns-prev.light{--pbg:#f6f4ef;--ppn:#fff;--pink:#1a1612;--pmu:#6b635b;--pln:rgba(26,22,18,.12)}
.ns-side{padding:var(--pg);border-right:1px solid var(--pln);display:flex;flex-direction:column;gap:6px;background:var(--ppn)}
.ns-logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px;margin-bottom:10px}
.ns-logo i{width:24px;height:24px;border-radius:calc(var(--pr)/2);background:var(--pa);display:grid;place-items:center}
.ns-logo svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ns-nav{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:calc(var(--pr)/1.6);font-size:12px;font-weight:600;color:var(--pmu)}
.ns-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ns-nav.on{background:color-mix(in srgb,var(--pa) 16%,transparent);color:var(--pa)}
.ns-main{padding:var(--pg);display:flex;flex-direction:column;gap:var(--pg);min-width:0}
.ns-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ns-top h5{margin:0;font-size:17px;letter-spacing:-.02em}
.ns-btn{display:inline-flex;align-items:center;gap:7px;border:0;padding:9px 14px;border-radius:calc(var(--pr)/1.5);background:var(--pa);color:#fff;font:700 12px var(--pf);box-shadow:0 10px 24px -10px var(--pa);cursor:pointer;transition:transform .3s var(--ease)}
.ns-btn:hover{transform:translateY(-2px)}.ns-btn svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ns-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--pg)}
.ns-kpi{padding:var(--pg);border:1px solid var(--pln);border-radius:var(--pr);background:var(--ppn)}
.ns-kpi small{display:block;font-size:10.5px;color:var(--pmu);margin-bottom:6px}
.ns-kpi b{font-size:22px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ns-kpi em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--pa);margin-left:6px}
.ns-chart{padding:var(--pg);border:1px solid var(--pln);border-radius:var(--pr);background:var(--ppn);flex:1;min-height:140px;display:flex;flex-direction:column}
.ns-chart svg{width:100%;flex:1;min-height:100px;overflow:visible}
.ns-chart .ln{fill:none;stroke:var(--pa);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--len,900);stroke-dashoffset:var(--len,900);animation:nsDraw 1.6s var(--ease) forwards}
.ns-chart .ar{fill:url(#nsG);opacity:0;animation:nsFade 1s .9s forwards}
@keyframes nsDraw{to{stroke-dashoffset:0}}@keyframes nsFade{to{opacity:1}}
.ns-row{display:flex;gap:var(--pg);align-items:center;flex-wrap:wrap}
.ns-in{flex:1;min-width:120px;padding:9px 12px;border:1px solid var(--pln);border-radius:calc(var(--pr)/1.5);background:var(--ppn);font:500 12px var(--pf);color:var(--pmu)}
.ns-tg{width:38px;height:22px;border-radius:99px;background:var(--pa);position:relative}.ns-tg:after{content:"";position:absolute;right:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff}
.ns-out{border:1px solid var(--line);border-radius:20px;background:rgba(0,0,0,.28);overflow:hidden}
.ns-out header{position:static;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font:700 11px var(--mono);color:var(--muted);background:none;backdrop-filter:none}
.ns-out pre{margin:0;padding:14px 16px;font:500 12px/1.7 var(--mono);color:#e7dccf;overflow-x:auto}
.ns-out pre span{color:#d77d59}
.ns-acts{display:flex;gap:8px}
.ns-acts button,.ns-acts a{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.04);font:700 11px var(--sans);color:var(--ink);transition:.3s var(--ease)}
.ns-acts button:hover,.ns-acts a:hover{border-color:rgba(215,125,89,.6);background:rgba(215,125,89,.12);transform:translateY(-1px)}
.ns-acts svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1100px){.ns-wrap{grid-template-columns:1fr}}
@media(max-width:640px){.ns-prev{grid-template-columns:1fr}.ns-side{display:none}.ns-kpis{grid-template-columns:1fr 1fr}.ns-kpi:last-child{display:none}.ns-panel{padding:18px}.ns-stage{padding:12px}}
@media(prefers-reduced-motion:reduce){.ns-chart .ln{animation:none;stroke-dashoffset:0}.ns-chart .ar{animation:none;opacity:1}}

.ns-nav{white-space:nowrap}.ns-prev{grid-template-columns:164px 1fr}.section[id]{scroll-margin-top:84px}
.ns-prev .ns-chart svg stop{stop-color:var(--pa)}
.ns-btn{white-space:nowrap}.ns-stage,.ns-panel{min-width:0}.ns-prev{max-width:100%}
@media(max-width:640px){.ns-prev{grid-template-columns:minmax(0,1fr)}.ns-top h5{font-size:15px}.ns-btn{padding:8px 11px}.ns-kpi b{font-size:18px}.ns-kpi em{display:block;margin:2px 0 0}.ns-chart{width:100%}.ns-wrap{gap:12px}}
@media(max-width:640px){.ns-out header{flex-direction:column;align-items:stretch;gap:10px}.ns-acts{flex-wrap:wrap}.ns-acts button,.ns-acts a{flex:1 1 auto;justify-content:center;white-space:nowrap}}
