@property --sth{syntax:'<length>';inherits:true;initial-value:0px}
/* Общий стиль прототипов Heron: главная (index.html) и ART-OS (artos.html) */
:root{
  --paper:#efeee8; --paper2:#e8e7e0; --ink:#282828; --ink2:#414140; --mute:#72726f; --dis:#b4b4b0;
  --line:rgba(40,40,40,.16); --line2:rgba(40,40,40,.08); --brand:#fa3600; --white:#fff;
  --sans:'Inter Tight',Arial,sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
  --hd:4.4rem; --pad:2rem; --ease:cubic-bezier(.65,0,.35,1);
}
/* 1rem = 10px на макете 1728 */
html{font-size:calc(100vw / 172.8)}
@media (max-width:991px){html{font-size:calc(100vw / 99.1)}}
@media (max-width:767px){html{font-size:calc(100vw / 39)}:root{--hd:5.2rem;--pad:1.6rem}}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:500;font-size:1.6rem;line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.35;mix-blend-mode:multiply;
  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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--brand);color:#fff}

/* ---------- типографика ---------- */
.h1,.h2,.h3,.h4{font-weight:600;text-transform:uppercase;letter-spacing:-.02em;line-height:1}
.h1{font-size:5.6rem}
.h2{font-size:5.6rem}
.h3{font-size:4rem}
.h4{font-size:2.4rem;line-height:1.05}
.mono{font-family:var(--mono);font-size:1.1rem;font-weight:400;text-transform:uppercase;letter-spacing:.02em;line-height:1.3}
.p{font-size:1.6rem;line-height:1.35;color:var(--ink2);font-weight:500}
.mute{color:var(--mute)}
.red{color:var(--brand)}
.ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.ln>span{display:block}
@media (max-width:767px){.h1{font-size:3.6rem}.h2{font-size:3.4rem}.h3{font-size:2.8rem}.h4{font-size:2rem}.p{font-size:1.5rem}.mono{font-size:1.05rem}}

/* ---------- рамка-чертёж ---------- */
.frame{position:relative;margin:0 .8rem;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.sec{position:relative;border-top:1px solid var(--line)}
.cross{position:absolute;width:1.1rem;height:1.1rem;pointer-events:none;z-index:3}
.cross:before,.cross:after{content:"";position:absolute;background:var(--ink)}
.cross:before{left:50%;top:0;bottom:0;width:1px}
.cross:after{top:50%;left:0;right:0;height:1px}
.cross.tl{left:-.6rem;top:-.6rem}.cross.tr{right:-.6rem;top:-.6rem}.cross.bl{left:-.6rem;bottom:-.6rem}.cross.br{right:-.6rem;bottom:-.6rem}
.cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none}
.cols i{border-right:1px dashed var(--line2)}
.cols i:last-child{border:0}

/* кнопки: заливка снизу вверх */
.btn{position:relative;display:inline-flex;align-items:center;gap:1.4rem;height:3.6rem;padding:0 1.2rem;border:1px solid var(--ink);overflow:hidden;isolation:isolate;transition:color .45s var(--ease)}
.btn:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
.btn:hover{color:var(--paper)}
.btn:hover:before{transform:none}
.btn--red{background:var(--brand);border-color:var(--brand);color:#fff}
.btn--red:before{background:var(--ink)}
.btn .arr{width:1.4rem;height:1.4rem;transition:transform .45s var(--ease)}
.btn:hover .arr{transform:translateX(.3rem)}
.roll{display:inline-block;overflow:hidden;height:1.3em;line-height:1.3em;vertical-align:top}
.roll span{display:block;transition:transform .45s var(--ease)}
a:hover .roll span,button:hover .roll span{transform:translateY(-100%)}

/* ---------- шапка ---------- */
.hd{position:fixed;left:.8rem;right:.8rem;top:0;height:var(--hd);z-index:100;display:grid;grid-template-columns:2fr repeat(5,1fr);background:var(--paper);border:1px solid var(--line);border-top:0}
.hd__logo{display:flex;align-items:center;gap:1rem;padding:0 1.2rem}
.hd__logo svg{height:3.4rem;width:auto;overflow:visible}
.hd__logo path{fill:var(--ink)}.hd__logo .dot{fill:var(--brand)}
.hd__logo b{font-weight:700;font-size:1.6rem;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.hd__it{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;padding:.8rem 1rem;border-left:1px solid var(--line);overflow:hidden;isolation:isolate;transition:color .4s var(--ease)}
.hd__it:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(-101%);transition:transform .4s var(--ease);z-index:-1}
.hd__it:hover,.hd__it.on{color:var(--paper)}
.hd__it:hover:before,.hd__it.on:before{transform:none}
.hd__it i{align-self:flex-end;width:.8rem;height:.8rem;border-right:1px solid currentColor;border-bottom:1px solid currentColor;opacity:.5}
.hd__it--cta{color:var(--brand)}
.hd__it--cta:before{background:var(--brand)}
.hd__it--cta:hover{color:#fff}
.hd__burger{display:none}
.mega{position:fixed;left:.8rem;right:.8rem;top:var(--hd);z-index:99;background:var(--paper);border:1px solid var(--line);border-top:0;display:grid;grid-template-columns:2fr 3fr;clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease);pointer-events:none}
.mega.open{clip-path:inset(0 0 0 0);pointer-events:auto}
.mega__l{padding:2.4rem 1.2rem;display:flex;flex-direction:column;justify-content:space-between;gap:3rem;border-right:1px solid var(--line)}
.mega__g{display:grid;grid-template-columns:repeat(3,1fr)}
.mega__g a{padding:1.4rem 1.2rem 2rem;border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:11rem;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s}
.mega__g a:nth-child(3n+1){border-left:0}
.mega__g a:hover{background:var(--paper2)}
.mega__g a:hover .h4{color:var(--brand)}
.mnav{position:fixed;inset:0;z-index:98;background:var(--paper);padding:calc(var(--hd) + 1rem) .8rem 2rem;display:flex;flex-direction:column;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease)}
.mnav.open{clip-path:inset(0)}
.mnav a.big{display:flex;justify-content:space-between;align-items:baseline;padding:1.4rem .4rem;border-bottom:1px solid var(--line);font-size:3rem;font-weight:600;text-transform:uppercase;letter-spacing:-.02em;line-height:1}
.mnav a.big span{font-family:var(--mono);font-size:1.1rem;font-weight:400;color:var(--mute)}
.mnav__b{margin-top:auto;display:grid;gap:1rem}
@media (max-width:991px){
  .hd{grid-template-columns:minmax(0,1fr) auto auto}
  .hd__it.dsk{display:none}
  .hd__burger{display:flex;align-items:center;justify-content:center;min-width:8.4rem;padding:0 1.2rem;border-left:1px solid var(--line)}
  .hd__logo{min-width:0}
  .hd__it--cta{padding:0 1.6rem;justify-content:center}
  .hd__it--cta i{display:none}
  .mega{display:none}
}

/* ---------- герой ---------- */
.hero{height:100svh;min-height:56rem;padding-top:var(--hd);display:grid;grid-template-rows:1fr auto auto auto;border-top:0}
.hero__stage{position:relative;overflow:hidden;cursor:crosshair}
.hero__art{position:absolute;inset:5% 0 3%;display:flex;align-items:center;justify-content:center}
.hero__box{position:relative;height:100%;aspect-ratio:2900/1340;max-width:96%}
.chip{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:var(--ink);--dot:var(--brand)}
.chip .f{stroke:var(--ink);stroke-width:1.3;stroke-linejoin:round}
.chip-line .f{fill:var(--paper)}
.chip-line .h{display:none}
.chip-render .f-t{fill:#f7f6f1}.chip-render .f-l{fill:#d9d7cf}.chip-render .f-r{fill:#b6b4ac}
.chip-line .ring .f{stroke:var(--brand)}
.chip-render .ring .f-t{fill:var(--brand)}.chip-render .ring .f-l{fill:#d83000}.chip-render .ring .f-r{fill:#a82500}
.chip-render .ring .eng{fill:rgba(255,255,255,.9)}.chip-render .ring .screw{stroke:#fff}
.chip-render .core .f-t{fill:#4a4a47}.chip-render .core .f-l{fill:#3a3a38}.chip-render .core .f-r{fill:#2c2c2a}
.chip .cgrid{stroke:#fff;stroke-width:1;opacity:.15}.chip-line .cgrid{stroke:var(--ink);opacity:.2}
.chip .pad{fill:none;stroke:var(--ink);stroke-width:1}.chip-render .pad{fill:#cfcdc5}
.chip .trace{fill:none;stroke:var(--ink);stroke-width:1;opacity:.45}
.chip .fid,.chip .screw{fill:none;stroke:var(--ink);stroke-width:1}
.chip .acc{fill:var(--brand)}
.chip .eng{font:500 15px var(--mono);fill:var(--mute);letter-spacing:2px}
.chip .tl{font:500 13px var(--mono);fill:var(--ink);letter-spacing:1px}
.chip .bevel{fill:none;stroke:var(--ink);stroke-width:1;opacity:.4}
.chip .leg .f{stroke-width:1}.chip-render .leg .f-t,.chip-render .leg .f-l,.chip-render .leg .f-r{fill:#a3a199}
.chip .sh-l{stroke:var(--ink);stroke-dasharray:6 6;opacity:.3}
.chip .sh-r{opacity:.45}
.chip .dim{fill:none;stroke:var(--ink);stroke-width:1;opacity:.55}
.chip .dimt{font:400 17px var(--mono);fill:var(--mute)}
.chip .ico{color:var(--ink)}
.chip .tile .f-t{transition:stroke .3s}
.chip .tile.hot .f-t{stroke:var(--brand);stroke-width:3}
.hero__fn{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hero__fn path,.hero__fn circle{fill:none;stroke:var(--ink);stroke-width:1.2;opacity:.3;stroke-dasharray:6 6}
.scan{position:absolute;left:-10%;right:-10%;height:1px;background:var(--brand);top:0;opacity:0}
.scan b{position:absolute;left:12%;top:-1.8rem;font:400 1rem var(--mono);color:var(--brand)}
.pin{position:absolute;width:1.2rem;height:1.2rem;background:var(--brand);transform:scale(0)}
.pin span{position:absolute;left:1.8rem;top:-.5rem;white-space:nowrap;background:var(--ink);color:var(--paper);padding:.3rem .6rem;font:400 1rem var(--mono);text-transform:uppercase;opacity:0}
.hero__stage:hover .pin span{opacity:1;transition:opacity .3s}
.cur-x,.cur-y{position:absolute;background:var(--ink);opacity:0;pointer-events:none;transition:opacity .3s}
.cur-x{left:0;right:0;height:1px;top:0}
.cur-y{top:0;bottom:0;width:1px;left:0}
.cur-l{position:absolute;font:400 1rem var(--mono);color:var(--ink);pointer-events:none;opacity:0;transition:opacity .3s;white-space:nowrap}
.hero__stage:hover .cur-x,.hero__stage:hover .cur-y{opacity:.2}
.hero__stage:hover .cur-l{opacity:.7}
.hstep{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.hstep div{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.2rem;border-left:1px solid var(--line);color:var(--dis);transition:color .5s}
.hstep div:first-child{border-left:0}
.hstep i{flex:0 0 .8rem;height:.8rem;border:1px solid currentColor;transition:background .5s,border-color .5s}
.hstep span{color:var(--dis)}
.hstep div.on{color:var(--ink)}.hstep div.on i{background:var(--brand);border-color:var(--brand)}
.chip .story .st{fill:none;stroke:var(--ink);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.chip .story .flow{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:10 10}
.chip .story .cap{font:500 30px var(--mono);fill:var(--ink);letter-spacing:2px}
.chip .story .cap2{font:400 22px var(--mono);fill:var(--mute)}
.chip .story .pulse,.chip .story .stamp{fill:var(--brand)}
.hero__bar{display:grid;grid-template-columns:2fr 1fr 1fr;border-top:1px solid var(--line)}
.hero__bar>*{padding:1.4rem 1.2rem}
.hero__lead{border-left:1px solid var(--line);display:flex;align-items:flex-start}
.hero__cta{border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;color:var(--brand);transition:background .4s,color .4s}
.hero__cta:hover{background:var(--brand);color:#fff}
.hero__cta svg{align-self:flex-end;width:2rem;height:2rem;transition:transform .4s var(--ease)}
.hero__cta:hover svg{transform:rotate(-45deg)}
.tick{border-top:1px solid var(--line);overflow:hidden;white-space:nowrap;height:3.2rem;display:flex;align-items:center}
.tick__in{display:inline-flex;gap:3.2rem;padding-right:3.2rem;animation:tick 38s linear infinite}
.tick__in span{display:inline-flex;align-items:center;gap:1rem}
.tick__in span:before{content:"";width:.8rem;height:.8rem;border:1px solid currentColor}
.tick__in span.r:before{background:var(--brand);border-color:var(--brand)}
@keyframes tick{to{transform:translateX(-100%)}}
@media (max-width:767px){
  .hero{height:auto;min-height:0}
  .hero__stage{height:78vw;min-height:28rem}
  .hstep{grid-template-columns:repeat(2,minmax(0,1fr))}.hstep div:nth-child(3){border-left:0}.hstep div:nth-child(n+3){border-top:1px solid var(--line)}
  .hero__bar{grid-template-columns:minmax(0,1fr)}
  .hero__lead,.hero__cta{border-left:0;border-top:1px solid var(--line)}
  .hero__cta{flex-direction:row;align-items:center;min-height:5.6rem}
}

/* ---------- вступление ---------- */
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.intro__art{position:relative;overflow:hidden;min-height:72rem;border-right:1px solid var(--line)}
.intro__sun{position:absolute;width:26rem;height:26rem;border-radius:50%;background:var(--brand);left:20%;top:6%}
.intro__why{position:absolute;left:1.6rem;bottom:1.6rem;max-width:34rem;background:var(--paper);border:1px solid var(--ink);z-index:2}
.intro__why .mono{background:var(--ink);color:var(--paper);padding:.6rem .8rem}
.intro__why p:last-child{padding:.8rem;font-size:1.35rem;line-height:1.35}
.lart{position:absolute;overflow:visible}.lart .st{fill:none;stroke:var(--ink);stroke-width:1.4}.lart .fn{fill:none;stroke:var(--ink);stroke-width:1;opacity:.35;stroke-dasharray:4 5}.lart .fl{fill:var(--paper)}.lart text{font-family:var(--mono);font-size:14px;fill:var(--ink);text-transform:uppercase;letter-spacing:.5px}.lart text.sub{fill:var(--mute);font-size:12px;text-transform:none}.lart .axis text{fill:var(--mute);font-size:11px}.lart svg{color:var(--ink);--dot:var(--brand)}.lart .rf{fill:var(--brand)}
.intro__svg{left:4%;top:3%;width:92%;height:72%}
.intro__grid{position:absolute;inset:0;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:4rem 4rem}
.intro__tx{display:flex;flex-direction:column}
.intro__main{padding:6rem 4.8rem 4rem;flex:1;display:flex;flex-direction:column;gap:3.6rem}
.intro__big{font-size:4.6rem;font-weight:600;line-height:1.02;letter-spacing:-.02em;text-transform:uppercase}
.intro__big .w{color:var(--dis);transition:color .2s}
.intro__big .w.on{color:var(--ink)}
.cl{border-top:1px solid var(--line)}
.cl__hd{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);height:3.6rem;padding-left:1.2rem}
.cl__nav{display:flex;height:100%}
.cl__nav button{width:3.6rem;border-left:1px solid var(--line);display:grid;place-items:center;transition:background .3s,color .3s}
.cl__nav button:hover{background:var(--ink);color:var(--paper)}
.cl__nav svg{width:1.4rem;height:1.4rem}
.cl__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.cl__track::-webkit-scrollbar{display:none}
.cl__it{flex:0 0 20%;height:9rem;display:grid;place-items:center;border-right:1px solid var(--line);scroll-snap-align:start;padding:1.6rem}
.cl__it img{max-height:3.6rem;max-width:80%;filter:grayscale(1) brightness(.35);opacity:.8;transition:filter .3s,opacity .3s}
.cl__it:hover img{filter:none;opacity:1}
.cl__ft{border-top:1px solid var(--line);padding:1rem 1.2rem}
@media (max-width:767px){
  .intro{grid-template-columns:minmax(0,1fr)}
  .intro__art{min-height:40rem;border-right:0;border-bottom:1px solid var(--line)}
  .intro__sun{width:18rem;height:18rem}
  .intro__main{padding:3.2rem 1.6rem}
  .intro__big{font-size:2.8rem}
  .cl__it{flex-basis:50%}
}

/* ---------- проблема ---------- */
.shd{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2.4rem 1.2rem 6rem}
.shd__l{display:flex;flex-direction:column;gap:2rem}
.shd__r{display:flex;flex-direction:column;justify-content:flex-end;gap:2rem;max-width:44rem;margin-left:auto}
.cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.card{position:relative;padding:1.2rem;min-height:46rem;display:flex;flex-direction:column;border-right:1px solid var(--line)}
.card:last-child{border-right:0}
.card__top{display:flex;justify-content:space-between}
.card__ic{flex:1;display:grid;place-items:center;padding:2rem 0}
.card__ic svg{width:21rem;height:21rem;overflow:visible}
.card__ic svg *{fill:none;stroke:var(--ink);stroke-width:1.1}
.card__ic svg .rf{fill:var(--brand);stroke:none}
.card__ic svg .rs{stroke:var(--brand);stroke-width:1.8;stroke-linecap:round}
.card__ic svg text{fill:var(--mute);stroke:none;font:500 9px var(--mono);letter-spacing:1px}
.card h3{margin-bottom:1.2rem}
.card .p{font-size:1.4rem;max-width:30rem}
.card--note{background:var(--ink);color:var(--paper);justify-content:space-between}
.card--note .p{color:#cfcfc9}
.card--note .big{font-size:9rem;font-weight:600;line-height:.9;letter-spacing:-.04em}
@media (max-width:991px){.cards{grid-template-columns:1fr 1fr}.card:nth-child(2){border-right:0}.card:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:767px){.shd{grid-template-columns:minmax(0,1fr);padding:2rem 1.6rem 3.2rem}.shd__r{margin:0}.cards{grid-template-columns:minmax(0,1fr)}.card{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.card__ic svg{width:11rem;height:11rem}}

/* ---------- закреплённый чертёж ---------- */
.plan{height:400vh}
.plan__pin{position:relative;height:100svh;overflow:hidden}
.plan__tt{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none}
.plan__tt div{position:absolute;padding:0 1.6rem}
.plan__svg{position:absolute;inset:calc(var(--hd) + 2rem) 4% 3rem;width:92%;height:calc(100% - var(--hd) - 5rem)}
.plan__svg .wall{fill:#3a3a38}
.plan__svg .dim{fill:none;stroke:var(--ink);stroke-width:1;opacity:.5}
.plan__svg .dl{font-family:var(--mono);font-size:13px;fill:var(--mute)}
.plan__svg .rl{font-family:var(--mono);font-size:15px;fill:var(--ink);text-transform:uppercase}
.plan__svg .flow{fill:none;stroke:var(--brand);stroke-width:1.5;stroke-dasharray:6 6;vector-effect:non-scaling-stroke}
.plan__svg .core{fill:var(--brand)}
.plan__svg .tag rect{fill:var(--ink)}
.plan__svg .tag text{font-family:var(--mono);font-size:13px;fill:var(--paper)}
.plan__box{position:absolute;left:1.6rem;bottom:1.6rem;width:30rem;background:var(--paper);border:1px solid var(--ink);z-index:2}
.plan__box .mono:first-child{background:var(--ink);color:var(--paper);padding:.6rem .8rem}
.plan__steps{position:relative;padding:1rem .8rem 0;min-height:10rem}
.plan__steps p{position:absolute;left:.8rem;right:.8rem;top:1rem;font-size:1.4rem;line-height:1.35;opacity:0;transform:translateY(1rem);transition:opacity .4s,transform .4s}
.plan__steps p.on{opacity:1;transform:none}
.plan__steps p b{display:block;font-weight:600;text-transform:uppercase;font-size:1.3rem;margin-bottom:.4rem}
.plan__prog{height:2px;background:var(--line);margin:.8rem}
.plan__prog i{display:block;height:100%;width:0;background:var(--brand)}
@media (max-width:767px){.plan{height:300vh}.plan__svg{inset:calc(var(--hd) + 1rem) 0 16rem;width:100%;height:calc(100% - var(--hd) - 17rem)}.plan__box{left:1rem;right:1rem;width:auto}}

/* ---------- модули ---------- */
.mod{display:grid;grid-template-columns:2fr 1fr}
.mod__l{border-right:1px solid var(--line);position:relative;overflow:hidden;min-height:60rem}
.mod__r{padding:4rem 2.4rem 2.4rem;display:flex;flex-direction:column;gap:2.4rem}
.feat{border-top:1px solid var(--line)}
.feat li{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line);font-size:1.5rem}
.feat li i{flex:0 0 2.6rem;height:2.6rem;border:1px solid var(--ink);display:grid;place-items:center;font:400 1rem var(--mono);font-style:normal}
.chipwrap{position:absolute;inset:0;display:grid;place-items:center}
.chipbox{position:relative;width:86%;aspect-ratio:2000/1340}
.chipwrap .pin{transform:scale(1)}
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:8rem 1.4fr 2fr 16rem;align-items:center;border-bottom:1px solid var(--line);min-height:9.6rem;position:relative;isolation:isolate;transition:color .45s var(--ease)}
.row:before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease);z-index:-1}
.row:hover{color:var(--paper)}
.row:hover:before{transform:none}
.row:hover .p{color:#cfcfc9}
.row>*{padding:1.2rem}
.row .h4{font-size:3rem}
.row__go{display:flex;justify-content:space-between;align-items:center;border-left:1px solid var(--line);align-self:stretch}
.row__go svg{width:1.6rem;height:1.6rem;transition:transform .45s var(--ease)}
.row:hover .row__go svg{transform:rotate(-45deg);color:var(--brand)}
@media (max-width:991px){.mod{grid-template-columns:minmax(0,1fr)}.mod__l{min-height:44rem;border-right:0;border-bottom:1px solid var(--line)}}
@media (max-width:767px){.mod__l{min-height:28rem}.mod__r{padding:2.4rem 1.6rem}.row{grid-template-columns:4.4rem 1fr;min-height:0}.row .h4{font-size:2rem}.row .p{grid-column:2;padding-top:0;font-size:1.4rem}.row__go{display:none}}

/* ---------- было / стало ---------- */
.ba{display:grid;grid-template-columns:1fr 2fr}
.ba__list{border-right:1px solid var(--line)}
.ba__tab{display:block;width:100%;text-align:left;padding:1.4rem 1.2rem;border-bottom:1px solid var(--line);position:relative}
.ba__tab>span{display:block}.ba__tab .h4{font-size:2rem;margin-top:.6rem;color:var(--dis);transition:color .3s}
.ba__tab.on .h4,.ba__tab:hover .h4{color:var(--ink)}
.ba__tab:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);transform:scaleY(0);transition:transform .4s var(--ease)}
.ba__tab.on:after{transform:none}
.ba__stage{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));padding:4rem 3.2rem 6rem;min-height:72rem;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:4rem 4rem}
.sheet{grid-row:1;position:relative;background:#f8f7f3;border:1px solid var(--ink);box-shadow:0 3rem 6rem rgba(40,40,40,.10);transition:box-shadow .4s,transform .5s var(--ease);cursor:pointer}
.sheet figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .8rem;color:var(--paper)}
.sheet__im{padding:1.2rem;display:grid;place-items:center;background:#fff}
.sheet__im img{width:100%;height:auto;max-height:44rem;object-fit:contain}
.sheet__tx{padding:1rem 1.2rem 1.4rem;font-size:1.4rem;line-height:1.35;border-top:1px solid var(--line)}
.sheet--b{grid-column:1/8;align-self:start;z-index:1}
.sheet--b figcaption{background:var(--ink)}
.sheet--b .sheet__im img{filter:grayscale(1)}
.sheet--a{grid-column:5/13;align-self:end;margin-top:14rem;z-index:2}
.sheet--a figcaption{background:var(--brand);color:#fff}
.ba__stage.swap .sheet--b{z-index:3}
.ba__stage.swap .sheet--b .sheet__im img{filter:none}
.sheet:hover{box-shadow:0 4rem 8rem rgba(40,40,40,.16)}
.ba__res{position:absolute;left:3.2rem;bottom:1.6rem;display:flex;align-items:center;gap:1rem;z-index:4}
.ba__res i{display:block;width:4rem;height:1px;background:var(--brand)}
.ba__swap{position:absolute;right:3.2rem;top:1.6rem;z-index:4;border:1px solid var(--ink);background:var(--paper);padding:.6rem .9rem;transition:background .3s,color .3s}
.ba__swap:hover{background:var(--ink);color:var(--paper)}
@media (max-width:991px){.ba{grid-template-columns:minmax(0,1fr)}.ba__list{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none}.ba__tab{flex:0 0 60%;border-bottom:0;border-right:1px solid var(--line)}.ba__tab:after{left:0;right:0;top:auto;bottom:0;width:auto;height:3px;transform:scaleX(0)}.ba__tab.on:after{transform:none}}
@media (max-width:767px){.ba__stage{display:block;padding:5.6rem 1.2rem 5.6rem;min-height:0}.sheet--b{margin-right:14%}.sheet--a{margin:-4rem 0 0 14%}.sheet__im img{max-height:34rem}.ba__res{left:1.2rem}.ba__swap{right:1.2rem}}

/* ---------- обо мне ---------- */
.me{display:grid;grid-template-columns:1fr 1fr}
.me__ph{position:relative;border-right:1px solid var(--line);min-height:70rem;overflow:hidden}
.me__ph img{position:absolute;inset:4rem 2rem 0;width:calc(100% - 4rem);height:calc(100% - 4rem);object-fit:contain;object-position:50% 100%;mix-blend-mode:multiply}
.me__ph .pin{transform:scale(1)}
.me__r{display:flex;flex-direction:column}
.me__tx{padding:4rem 2.4rem;display:flex;flex-direction:column;gap:2.4rem;flex:1}
.nums{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.num{padding:1.4rem 1.2rem 2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:17rem;display:flex;flex-direction:column;justify-content:space-between}
.num:nth-child(2n){border-right:0}
.num b{font-size:7.2rem;font-weight:600;letter-spacing:-.04em;line-height:.9}
@media (max-width:767px){.me{grid-template-columns:minmax(0,1fr)}.me__ph{min-height:46rem;border-right:0;border-bottom:1px solid var(--line)}.me__tx{padding:2.4rem 1.6rem}.num{min-height:13rem}.num b{font-size:4.8rem}}

/* ---------- процесс ---------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);position:relative}
.steps__bar{position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;z-index:2}
.step{padding:1.2rem;border-right:1px solid var(--line);min-height:40rem;display:flex;flex-direction:column;gap:1.6rem}
.step:last-child{border-right:0}
.step__n{font-size:9rem;font-weight:600;letter-spacing:-.04em;line-height:.85;color:var(--dis)}
.step h3{margin-top:auto}
.step .p{font-size:1.4rem}
.step .why{border-top:1px solid var(--line);padding-top:1rem;color:var(--brand)}
@media (max-width:991px){.steps{grid-template-columns:minmax(0,1fr)}.step{border-right:0;border-bottom:1px solid var(--line);min-height:0}.step h3{margin-top:0}.step__n{font-size:5rem}}

/* ---------- цены ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.tier{padding:1.2rem 1.2rem 2rem;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2rem;position:relative}
.tier:last-child{border-right:0}
.tier--hot{background:var(--ink);color:var(--paper)}
.tier--hot .p,.tier--hot .mute{color:#bdbdb7}
.tier--hot .tier__li li{border-color:rgba(255,255,255,.14)}
.tier__price{font-size:6.4rem;font-weight:600;letter-spacing:-.04em;line-height:.9;display:flex;align-items:flex-end;gap:.6rem}
.byn{display:inline-block;flex:none;width:.74em;height:.74em;vertical-align:-.04em;fill:currentColor;overflow:visible}
.tier__li{list-style:none;border-top:1px solid var(--line);margin-top:auto}
.tier__li li{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:1.4rem}
.tier__li li.off{opacity:.3}
.tier__li li span:last-child{font-family:var(--mono);font-size:1.15rem;white-space:nowrap}
.tier .btn{align-self:flex-start}
.tier--hot .btn{border-color:var(--paper)}
.tier--hot .btn:before{background:var(--brand)}
.badge{position:absolute;right:1.2rem;top:1.2rem;background:var(--brand);color:#fff;padding:.3rem .6rem}
.note{padding:1.6rem 1.2rem;border-top:1px solid var(--line);max-width:90rem}
@media (max-width:991px){.tiers{grid-template-columns:minmax(0,1fr)}.tier{border-right:0;border-bottom:1px solid var(--line)}.tier__price{font-size:4.8rem}}

/* ---------- отрасли ---------- */
.use{display:grid;grid-template-columns:1fr 1fr}
.use__art{position:relative;border-right:1px solid var(--line);overflow:hidden;min-height:76rem}
.geo{position:absolute}
.geo--c{width:30rem;height:30rem;border-radius:50%;background:var(--brand);left:6%;top:16%}
.geo--r{width:15rem;height:56rem;background:var(--brand);left:52%;top:0}
.geo--c2{width:22rem;height:22rem;border-radius:50%;background:#e2dccd;left:10%;bottom:-4rem}
.geo--svg{left:4%;right:4%;bottom:0;width:92%;height:auto}
.use__r{display:flex;flex-direction:column}
.use__hd{padding:2.4rem 2.4rem 6rem;display:flex;flex-direction:column;gap:2rem}
.acc{border-top:1px solid var(--line);margin-top:auto}
.acc__it{border-bottom:1px solid var(--line)}
.acc__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.6rem 2.4rem;text-align:left}
.acc__q .h4{font-size:2.4rem;transition:color .3s}
.acc__q:hover .h4{color:var(--brand)}
.acc__pm{flex:0 0 1.4rem;height:1.4rem;position:relative}
.acc__pm:before,.acc__pm:after{content:"";position:absolute;background:currentColor;left:0;right:0;top:50%;height:1px}
.acc__pm:after{transform:rotate(90deg);transition:transform .4s var(--ease)}
.acc__it.open .acc__pm:after{transform:rotate(0)}
.acc__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.acc__it.open .acc__a{grid-template-rows:1fr}
.acc__a>div{overflow:hidden}
.acc__a .in{padding:0 2.4rem 2rem;display:flex;flex-direction:column;gap:1.2rem;max-width:60rem}
.acc__a .in a{align-self:flex-start;border-bottom:1px solid currentColor}
@media (max-width:767px){.use{grid-template-columns:minmax(0,1fr)}.use__art{min-height:40rem;border-right:0;border-bottom:1px solid var(--line)}.geo--c{width:16rem;height:16rem}.geo--r{width:8rem;height:30rem}.use__hd{padding:2.4rem 1.6rem 3.2rem}.acc__q{padding:1.4rem 1.6rem}.acc__q .h4{font-size:1.8rem}.acc__a .in{padding:0 1.6rem 1.6rem}}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:1fr 2fr}
.faq__l{padding:2.4rem 1.2rem;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2rem}
.faq .acc{border-top:0;margin:0}
@media (max-width:767px){.faq{grid-template-columns:minmax(0,1fr)}.faq__l{border-right:0;border-bottom:1px solid var(--line);padding:2.4rem 1.6rem}}

/* ---------- призыв ---------- */
.cta{position:relative;text-align:center;padding:10rem 1.6rem 0;overflow:hidden}
.cta__c{position:absolute;font:400 1rem var(--mono);color:var(--mute)}
.cta__in{position:relative;display:flex;flex-direction:column;align-items:center;gap:2rem;max-width:90rem;margin:0 auto}
.cta__in .p{max-width:56rem}
.cta__btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.cta__art{position:relative;width:min(70rem,100%);margin:6rem auto 0;aspect-ratio:1400/760}
.cta__art svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cta__art .st{fill:none;stroke:var(--ink);stroke-width:2}
.cta__art .fn{fill:none;stroke:var(--ink);stroke-width:1.6;opacity:.3;stroke-dasharray:6 8}
.cta__art .sun{fill:var(--brand)}
.cta__h{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);height:6rem}
.cta__h i{border-right:1px solid var(--line)}
.cta__h i:last-child{border:0}

/* ---------- подвал ---------- */
.ft{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.4fr}
.ft>div{border-right:1px solid var(--line);display:flex;flex-direction:column}
.ft>div:last-child{border-right:0}
.ft__cell{padding:1.2rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:1rem;min-height:13rem}
.ft__cell:last-child{border-bottom:0;flex:1}
.ft__cell a{font-size:1.5rem;width:max-content;max-width:100%;position:relative}
.ft__cell a:after{content:"";position:absolute;left:0;right:0;bottom:-.1rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.ft__cell a:hover:after{transform:scaleX(1);transform-origin:left}
.ft__cell a.on{color:var(--brand)}
.ft__mark{display:grid;place-items:center;flex:1;padding:2rem}
.ft__mark svg{width:12rem;height:auto}
.ft__in{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);height:4.4rem;padding:0 1.2rem;color:var(--mute)}
.ft__in:hover{color:var(--brand)}
.wm{border-top:1px solid var(--line);padding:3rem 1.2rem 2rem;position:relative}
.wm svg{width:100%;height:auto;overflow:visible}
.wm path:not(.gl){fill:var(--ink);fill-opacity:0;stroke:var(--ink);stroke-width:.3}
.wm .gl{fill:none;stroke:var(--ink);stroke-width:.25;opacity:.3;stroke-dasharray:1.5 2}
.wm #wmDot path{fill:var(--brand);stroke:none;fill-opacity:1}
.ft__bt{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem;border-top:1px solid var(--line);color:var(--mute);flex-wrap:wrap}
@media (max-width:991px){.ft{grid-template-columns:1fr 1fr}.ft>div{border-bottom:1px solid var(--line)}.ft>div:nth-child(2n){border-right:0}.ft>div:first-child{grid-column:1/-1;border-right:0}.ft>div:last-child{grid-column:1/-1}.ft__mark{display:none}}

/* появление */
.rv{opacity:0;transform:translateY(3rem)}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.tick__in{animation:none}.rv{opacity:1;transform:none}}

/* ---------- 10 работ (works.js) ---------- */
.wk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);border-top:1px solid var(--line)}
.wk__list{border-right:1px solid var(--line);display:flex;flex-direction:column}
.wk__row{position:relative;display:grid;grid-template-columns:4.4rem minmax(0,1fr) auto;align-items:center;gap:1rem;width:100%;text-align:left;padding:1.3rem 1.2rem;border-bottom:1px solid var(--line);isolation:isolate;transition:color .4s var(--ease)}
.wk__row:last-child{border-bottom:0}
.wk__row:before{content:"";position:absolute;inset:0;background:var(--paper2);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:-1}
.wk__row:hover:before{transform:none}
.wk__row:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);transform:scaleY(0);transition:transform .4s var(--ease)}
.wk__row.on:after{transform:none}
.wk__row:focus-visible{outline:1px solid var(--brand);outline-offset:-1px}
.wk__nm{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.wk__nm .h4{font-size:2rem;color:var(--dis);transition:color .3s}
.wk__row.on .wk__nm .h4,.wk__row:hover .wk__nm .h4{color:var(--ink)}
.wk__nm .mono{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk__mm{display:grid;grid-template-columns:repeat(3,.6rem);gap:.25rem}
.wk__mm i{width:.6rem;height:.6rem;border:1px solid var(--dis)}
.wk__mm i.on{background:var(--ink);border-color:var(--ink)}
.wk__row.on .wk__mm i.on{background:var(--brand);border-color:var(--brand)}
.wk__stage{position:relative;display:flex;flex-direction:column;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:4rem 4rem}
.wk__bar{display:grid;grid-template-columns:auto 1fr auto;gap:1.6rem;padding:.9rem 1.2rem;border-bottom:1px solid var(--line);background:var(--paper)}
.wk__xy{color:var(--mute)}
.wk__fig{position:relative;margin:3.2rem 3.2rem 0;border:1px solid var(--ink);background:#111;aspect-ratio:16/9;box-shadow:0 3rem 6rem rgba(40,40,40,.12)}
.wk__im{position:absolute;inset:0;overflow:hidden}
.wk__im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wk__im img+img{clip-path:inset(0 0 0 100%)}
.wk__scan{position:absolute;top:-1.2rem;bottom:-1.2rem;width:1px;background:var(--brand);left:100%;opacity:0;z-index:2;pointer-events:none}
.wk__scan b{position:absolute;top:0;right:.6rem;font:400 1rem var(--mono);color:var(--brand);white-space:nowrap}
.wk__play{position:absolute;left:1.2rem;bottom:1.2rem;z-index:3;display:flex;align-items:center;gap:1rem;height:4rem;padding:0 1.4rem 0 .4rem;background:var(--brand);color:#fff;overflow:hidden;isolation:isolate}
.wk__play:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
.wk__play:hover:before{transform:none}
.wk__play[hidden]{display:none}
.wk__tri{width:3.2rem;height:3.2rem;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.35)}
.wk__tri:before{content:"";border-left:1rem solid #fff;border-top:.6rem solid transparent;border-bottom:.6rem solid transparent;margin-left:.3rem}
.wk__info{padding:2.4rem 3.2rem 3.2rem;display:flex;flex-direction:column;gap:1.6rem}
.wk__hd{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}
.wk__res{display:flex;gap:1.2rem;align-items:baseline;font-size:2rem;line-height:1.25;font-weight:500;max-width:72rem}
.wk__res i{flex:0 0 1rem;height:1rem;background:var(--brand);transform:translateY(-.1rem)}
.wk__dl{display:grid;grid-template-columns:1.4fr 1fr 1fr;border-top:1px solid var(--line)}
.wk__dl>div{padding:1.2rem 1.2rem 0 0;border-right:1px solid var(--line);margin-right:1.2rem}
.wk__dl>div:last-child{border-right:0;margin-right:0}
.wk__dl dt{margin-bottom:.8rem}
.wk__dl dd.p{font-size:1.35rem}
.wk__mods{font-size:1.35rem;line-height:1.35;color:var(--ink2)}
.wk__mods b{font-size:3.2rem;font-weight:600;letter-spacing:-.03em;color:var(--brand)}
.vm{position:fixed;inset:0;z-index:300;background:rgba(239,238,232,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:2rem}
.vm[hidden]{display:none}
.vm__box{width:min(120rem,100%);background:var(--ink);border:1px solid var(--ink)}
.vm__hd{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;color:var(--paper)}
.vm__hd button{color:var(--paper)}
.vm__hd button:hover{color:var(--brand)}
.vm video{display:block;width:100%;max-height:80vh;background:#000}
@media (max-width:991px){
  .wk{grid-template-columns:minmax(0,1fr)}
  /* телефон: проекты сеткой 2×5, без горизонтальной прокрутки — страница не «плавает» */
  .wk__list{display:grid;grid-template-columns:1fr 1fr;border-right:0;border-bottom:1px solid var(--line)}
  .wk__row{grid-template-columns:minmax(0,1fr) auto;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}
  .wk__row:nth-child(odd){border-right:1px solid var(--line)}
  .wk__row>.mono:first-child{display:none}
  .wk__nm .h4{font-size:1.5rem}.wk__nm .mono{font-size:.95rem}
  .wk__row:after{left:0;right:0;top:auto;bottom:0;width:auto;height:3px;transform:scaleX(0)}
  .wk__row.on:after{transform:none}
}
@media (max-width:767px){
  .wk__bar{grid-template-columns:auto 1fr}.wk__xy{display:none}
  .wk__fig{margin:1.6rem 1.2rem 0}
  .wk__info{padding:2rem 1.2rem 2.4rem}
  .wk__hd{flex-direction:column;align-items:flex-start;gap:1.2rem}
  .wk__res{font-size:1.6rem}
  .wk__dl{grid-template-columns:minmax(0,1fr)}
  .wk__dl>div{border-right:0;margin:0;padding:1.2rem 0;border-bottom:1px solid var(--line)}
  .wk__dl>div:last-child{border-bottom:0}
  .wk__play{height:3.6rem}
}

/* ---------- заставка: голова (heron.js · loader) ---------- */
.ldr{position:fixed;inset:0;z-index:500;background:var(--paper);display:grid;place-items:center}
.ldr .cross{position:absolute}.ldr .cross.tl{left:2rem;top:2rem}.ldr .cross.tr{right:2rem;top:2rem}.ldr .cross.bl{left:2rem;bottom:2rem}.ldr .cross.br{right:2rem;bottom:2rem}
.ldr__in{display:flex;flex-direction:column;align-items:center;gap:2rem;width:min(26rem,60vw)}
.ldr__h{height:min(30vh,26rem);width:auto;overflow:visible}
.ldr__h>path{fill:var(--ink);fill-opacity:0;stroke:var(--ink);stroke-width:.5;vector-effect:non-scaling-stroke}
.ldr__h>path{stroke-width:1.4}
.ldr__hat path{stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.45}
.ldr__bar{width:100%;height:1px;background:var(--line)}
.ldr__bar i{display:block;height:100%;background:var(--brand);transform:scaleX(0);transform-origin:left}
.ldr__m{display:flex;justify-content:space-between;width:100%}
.ldr__m b{font-weight:400;color:var(--brand)}

/* ---------- выноска модуля в герое ---------- */
.tip{position:absolute;z-index:6;width:30rem;background:var(--paper);border:1px solid var(--ink);pointer-events:none;opacity:0;visibility:hidden}
.tip.on{opacity:1;visibility:visible}
.tip--l{transform:translateX(-100%)}
.tip p.mono{display:flex;justify-content:space-between;background:var(--ink);color:var(--paper);padding:.5rem .8rem}
.tip p.mono b{color:var(--brand);font-weight:400}
.tip .h4{padding:1rem .8rem .4rem;font-size:2rem}
.tip .p{padding:0 .8rem 1rem;font-size:1.3rem}
.tip:before{content:"";position:absolute;top:1.2rem;width:3rem;height:1px;background:var(--ink)}
.tip--r:before{right:100%}.tip--l:before{left:100%}
.chip .blk-t{cursor:pointer}
.chip .tile.dim{opacity:.35;transition:opacity .4s}
@media (max-width:767px){.tip{width:22rem}}

/* ---------- липкий чип + модули (modPick) ---------- */
.mp__hd{padding:2.4rem 1.2rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end}
.mp__hd>*{grid-column:1}.mp__hd .p{grid-column:2;grid-row:1/span 3;align-self:end;max-width:44rem;margin-left:auto}
.mp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line)}
.mp__v{border-right:1px solid var(--line);min-height:0}
.mp__st{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden}
.mp__lab{position:relative;display:flex;justify-content:space-between;padding:1.2rem}
.mp__chip{position:relative;flex:1;display:grid;place-items:center;min-height:0}
.mp__chip svg{position:relative;width:94%;height:auto;max-height:100%;aspect-ratio:2000/1340}
.mp__now{position:relative;display:flex;align-items:baseline;gap:1.2rem;padding:1.2rem;border-top:1px solid var(--line);background:var(--paper)}
.mp__now .h4{font-size:2.8rem}
.mp__st .cross.tl{left:-.6rem;top:-.6rem}.mp__st .cross.br{right:-.6rem;bottom:-.6rem}
.mp__ic{width:4.4rem;height:4.4rem;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);--dot:var(--brand);background:var(--paper);flex:0 0 auto}
.mp__ic svg{width:3rem;height:3rem}
.mp__t{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.mp__q{width:100%;text-align:left;position:relative;isolation:isolate;display:grid;align-items:center;gap:1rem}
.mp__q:before{content:"";position:absolute;inset:0;background:var(--paper2);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:-1}
.mp__q:hover:before,.mp__it.open .mp__q:before{transform:none}
.mp__it.open .mp__q{box-shadow:inset 3px 0 0 var(--brand)}
.mp__it.open .acc__pm:after{transform:rotate(0)}
.mp__in{display:flex;flex-direction:column;gap:1.4rem}
.mp__in .links{display:flex;flex-wrap:wrap;gap:.6rem}
.mp__in .links a{border:1px solid var(--line);padding:.5rem .8rem;font-size:1.3rem;transition:border-color .3s,color .3s}
.mp__in .links a:hover{border-color:var(--brand);color:var(--brand)}
@media (min-width:992px){
  .mp{height:calc(100svh - var(--hd))}
  .mp__l{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}
  .mp__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .mp__it{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .mp__it:nth-child(3n){border-right:0}
  .mp__q{grid-template-columns:3.6rem minmax(0,1fr);grid-template-rows:auto auto;min-height:7.2rem;padding:.9rem 1rem}
  .mp__q>.mono{grid-column:1/-1;font-size:1rem}
  .mp__q .mp__ic{display:none}
  .mp__q .mp__t{grid-column:1/-1}
  .mp__q .mp__t .h4{font-size:1.6rem}.mp__q .mp__t .mono{display:none}
  .mp__q .acc__pm,.mp__a{display:none}
  .mp__it.open .mp__q{box-shadow:inset 0 -3px 0 var(--brand)}
  .mp__det{overflow-y:auto;overscroll-behavior:contain;padding:2rem 2.4rem 3.2rem;scrollbar-width:thin}
}
@media (max-width:991px){
  .mp__hd{grid-template-columns:minmax(0,1fr);padding:2.4rem 1.6rem}.mp__hd .p{grid-column:1;grid-row:auto;margin:0}
  .mp{grid-template-columns:minmax(0,1fr)}
  .mp__v{border-right:0;position:sticky;top:var(--hd);z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}
  .mp__st{height:34svh}
  .mp__lab{padding:.6rem 1.2rem}
  .mp__now{padding:.6rem 1.2rem}.mp__now .h4{font-size:2rem}
  .mp__det{display:none}
  .mp__it{border-top:1px solid var(--line)}
  .mp__q{grid-template-columns:4.4rem 3.6rem minmax(0,1fr) 1.4rem;min-height:6.4rem;padding:.8rem 1.6rem .8rem 1.2rem}
  .mp__ic{width:3.6rem;height:3.6rem}.mp__ic svg{width:2.4rem;height:2.4rem}
  .mp__t .h4{font-size:1.8rem}
  .mp__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
  .mp__it.open .mp__a{grid-template-rows:1fr}
  .mp__a>div{overflow:hidden}
  .mp__a .mp__in{padding:.4rem 1.6rem 2.4rem}
}

/* ---------- было / стало стопкой (baStack) ---------- */
.bs{padding:0 1.2rem;--top:calc(var(--hd) + 2.4rem)}
.bs__c{position:sticky;top:calc(var(--top) + var(--i)*1rem);transform-origin:50% 0;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);margin-bottom:2.4rem;background:var(--paper);border:1px solid var(--ink);box-shadow:0 2rem 5rem rgba(40,40,40,.12)}
.bs__pic{position:relative;min-height:clamp(30rem,38vw,52rem);background:#e6e3dc;border-right:1px solid var(--ink);overflow:hidden}
.bs__im{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .01s .7s}
.bs__im.on{opacity:1;transition:none;z-index:1}
.bs__badge{position:absolute;left:1.2rem;bottom:1.2rem;z-index:3;padding:.5rem .8rem;background:var(--ink);color:var(--paper);opacity:0;transform:translateY(.6rem);transition:opacity .3s,transform .3s}
.bs__badge--now{background:var(--brand);color:#fff}
.bs__badge.on{opacity:1;transform:none}
.bs__tabs{position:absolute;right:1.2rem;top:1.2rem;z-index:3;display:flex;border:1px solid var(--ink);background:var(--paper)}
.bs__tabs button{padding:.6rem 1rem;transition:background .3s,color .3s}
.bs__tabs button+button{border-left:1px solid var(--ink)}
.bs__tabs button.on{background:var(--ink);color:var(--paper)}
.bs__tabs button[data-go="now"].on{background:var(--brand);color:#fff}
.bs__pic .cross.tl{left:-.6rem;top:-.6rem}.bs__pic .cross.br{right:-.6rem;bottom:-.6rem}
.bs__tx{padding:2.4rem;display:flex;flex-direction:column;justify-content:center;gap:1.2rem}
.bs__tx .h3{font-size:3.4rem}
.bs__side{display:block;text-align:left;padding:1.2rem;border:1px solid var(--line);opacity:.5;font-size:1.5rem;line-height:1.35;transition:opacity .3s,border-color .3s,background .3s}
.bs__side .mono{display:block;margin-bottom:.4rem;color:var(--mute)}
.bs__side.on{opacity:1;border-color:var(--ink);background:#f8f7f3}
.bs__side--now.on{border-color:var(--brand)}
.bs__side--now .mono{color:var(--brand)}
.bs__c+.bs__c{margin-top:40vh}
.bs__tail{height:20vh}
@media (max-width:767px){.bs{padding:0 .8rem;--top:calc(var(--hd) + 1rem)}.bs__c{grid-template-columns:minmax(0,1fr)}.bs__pic{min-height:56vw;border-right:0;border-bottom:1px solid var(--ink)}.bs__tx{padding:1.6rem 1.2rem;gap:.8rem}.bs__tx .h3{font-size:2.2rem}.bs__side{font-size:1.35rem;padding:1rem}.bs__who{display:none}}

/* ---------- сборка из услуг (calc) ---------- */
.cc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line)}
.cc__v{border-right:1px solid var(--line)}
.cc__st{position:sticky;top:var(--hd);height:calc(100svh - var(--hd));display:flex;flex-direction:column}
.cc__lab{position:relative;display:flex;justify-content:space-between;padding:1.2rem}
.cc__chip{position:relative;flex:1;display:grid;place-items:center;min-height:0}
.cc__chip svg{position:relative;width:92%;height:auto;max-height:100%;aspect-ratio:2000/1340}
.cc__cap{position:relative;padding:1.2rem;border-top:1px solid var(--line)}
.cc__st .cross.tl{left:-.6rem;top:-.6rem}.cc__st .cross.br{right:-.6rem;bottom:-.6rem}
.cc__l{display:flex;flex-direction:column}
.cg{border-bottom:1px solid var(--line)}
.cg__h{width:100%;display:grid;grid-template-columns:6rem 4.4rem minmax(0,1fr) auto 1.4rem;align-items:center;gap:1.2rem;min-height:6.4rem;padding:.8rem 2.4rem .8rem 1.2rem;text-align:left;transition:background .3s}
.cg__h:hover{background:var(--paper2)}
.cg__h .h4{font-size:2rem}
.cg__c{min-width:2.4rem;height:2.4rem;padding:0 .6rem;display:grid;place-items:center;background:var(--brand);color:#fff}
.cg__c[hidden]{display:none}
.cg.open .acc__pm:after{transform:rotate(0)}
.cg__b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.cg.open .cg__b{grid-template-rows:1fr}
.cg__b>div{overflow:hidden}
.cg__it{display:grid;grid-template-columns:1.8rem minmax(0,1fr) auto;gap:1.2rem;align-items:center;padding:1.1rem 2.4rem 1.1rem 12.4rem;border-top:1px solid var(--line2);cursor:pointer;font-size:1.5rem;transition:background .3s}
.cg__it:hover{background:var(--paper2)}
.cg__it:has(input:checked){background:rgba(250,54,0,.06)}
.cg__it input{position:absolute;opacity:0;pointer-events:none}
.cg__it:has(input:focus-visible){outline:1px solid var(--brand);outline-offset:-1px}
.cg__bx{width:1.8rem;height:1.8rem;border:1px solid var(--ink);display:grid;place-items:center}
.cg__bx:after{content:"";width:1rem;height:1rem;background:var(--brand);transform:scale(0);transition:transform .25s var(--ease)}
.cg__it:has(input:checked) .cg__bx:after{transform:none}
.cg__it em{font-style:normal;color:var(--mute);white-space:nowrap}
.cc__sum{position:sticky;bottom:1.2rem;z-index:20;margin:2.4rem auto 1.2rem;width:min(56rem,calc(100% - 2.4rem));display:flex;align-items:center;gap:1.6rem;padding:.8rem .8rem .8rem 1.2rem;background:var(--ink);color:var(--paper);box-shadow:0 1.6rem 4rem rgba(40,40,40,.25)}
.cc__dots{display:grid;grid-template-columns:repeat(3,.9rem);gap:.3rem;flex:0 0 auto}
.cc__dots button{width:.9rem;height:.9rem;border:1px solid rgba(255,255,255,.4);padding:0}
.cc__dots button.on{background:var(--brand);border-color:var(--brand)}
.cc__tot{flex:1;display:flex;align-items:center;gap:1.4rem;min-width:0}
.cc__meta{display:flex;flex-direction:column;gap:.3rem;min-width:0;font-size:1.1rem;line-height:1.2}
.cc__meta .mono{white-space:nowrap}
.cc__tot b{font-size:2.4rem;font-weight:600;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.cc__tot .mute{color:#a9a9a4}
.cc__sum .btn{border-color:var(--brand)}
@media (max-width:991px){
  .cc{grid-template-columns:minmax(0,1fr)}
  .cc__v{border-right:0;position:sticky;top:var(--hd);z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}
  .cc__st{position:relative;top:0;height:30svh}
  .cc__lab{padding:.6rem 1.2rem}.cc__cap{display:none}
  .cg__h{grid-template-columns:4.4rem 3.6rem minmax(0,1fr) auto 1.4rem;padding:.8rem 1.6rem .8rem 1.2rem;gap:1rem}
  .cg__h .mp__ic{width:3.6rem;height:3.6rem}
  .cg__h .h4{font-size:1.7rem}
  .cg__it{padding:1.1rem 1.6rem;font-size:1.4rem;grid-template-columns:1.8rem minmax(0,1fr)}
  .cg__it em{grid-column:2;font-size:1.05rem}
  .cc__sum{bottom:.8rem;width:calc(100% - 1.6rem);gap:1rem}
  .cc__tot b{font-size:2rem}
}

/* ---------- внимание → доверие → сделка (flow) ---------- */
.f3{border-top:1px solid var(--line)}
.f3__pin{display:flex;flex-direction:column;background:var(--paper)}
.f3.is-pin .f3__pin{height:calc(100svh - var(--hd))}
.f3__nav{position:relative;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.f3__nav span{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;border-right:1px solid var(--line);color:var(--dis);cursor:pointer;transition:color .4s}
.f3__nav span:last-of-type{border-right:0}
.f3__nav span i{width:.8rem;height:.8rem;border:1px solid currentColor;transition:background .4s,border-color .4s}
.f3__nav span.on{color:var(--ink)}.f3__nav span.on i{background:var(--brand);border-color:var(--brand)}
.f3__prog{position:absolute;left:0;right:0;bottom:-1px;height:2px}
.f3__prog i{display:block;height:100%;background:var(--brand);transform:scaleX(0);transform-origin:left}
.f3__panes{position:relative;flex:1;min-height:0}
.f3.is-pin .f3__p{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.f3.is-pin .f3__p.on{opacity:1;visibility:visible}
.f3__p{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.f3__tx{padding:3.2rem 2.4rem;display:flex;flex-direction:column;gap:2rem;border-right:1px solid var(--line)}
.f3__tx .h2{font-size:6.4rem}
.f3__tx .p{max-width:44rem;font-size:1.8rem}
.f3__kpi{margin-top:auto;display:flex;align-items:baseline;gap:1.2rem;border-top:1px solid var(--line);padding-top:1.6rem}
.f3__kpi b{font-size:7.2rem;font-weight:600;letter-spacing:-.04em;line-height:.9;color:var(--brand)}
.f3__mods{display:flex;align-items:center;gap:1.2rem}
.f3__mini{display:grid;grid-template-columns:repeat(3,1.2rem);gap:.3rem;flex:0 0 auto}
.f3__mini i{height:1.2rem;border:1px solid var(--ink)}
.f3__mini i.on{background:var(--brand);border-color:var(--brand)}
.f3__ch{position:relative;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:2.4rem;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:4rem 4rem}
.f3__ch svg{width:100%;height:auto;max-height:100%;overflow:visible}
.f3__ch .ax{fill:none;stroke:var(--ink);stroke-width:1.2}
.f3__ch .gr{fill:none;stroke:var(--ink);stroke-width:1;opacity:.12;stroke-dasharray:4 6}
.f3__ch .bar{fill:#d4d2ca;stroke:var(--ink);stroke-width:1}
.f3__ch .bar.was{fill:none;stroke-dasharray:5 5}
.f3__ch .bar.now{fill:var(--brand);stroke:var(--brand)}
.f3__ch .lb{font:400 13px var(--mono);fill:var(--mute)}
.f3__ch .vl{font:600 34px var(--sans);fill:var(--brand)}
.f3__ch .vl2{font:500 14px var(--mono);fill:var(--brand)}
.f3__ch .cap{font:500 13px var(--mono);fill:var(--ink);letter-spacing:1px}
.f3__ch .ln{fill:none;stroke-width:3}
.f3__ch .ln.was{stroke:var(--dis);stroke-dasharray:8 8}
.f3__ch .ln.now{stroke:var(--brand)}
.f3__ch .pt{fill:var(--brand)}
.f3__ch .tg{font:500 13px var(--mono)}.f3__ch .tg.was{fill:var(--mute)}.f3__ch .tg.now{fill:var(--brand)}
.f3__ch .fb.was{fill:#d4d2ca}
.f3__ch .fb.now{fill:var(--brand)}
@media (max-width:991px){
  /* телефон: закреплён на всю высоту экрана — сверху вкладки, текст компактно, график заполняет остаток */
  .f3.is-pin .f3__pin{height:calc(100svh - var(--hd))}
  .f3__p{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .f3__tx{border-right:0;border-bottom:1px solid var(--line);padding:1.4rem 1.6rem 1.2rem;gap:.8rem}
  .f3__tx .h2{font-size:3rem}.f3__tx .p{font-size:1.4rem;line-height:1.3}
  .f3__kpi{margin-top:.2rem;padding-top:.8rem}.f3__kpi b{font-size:4rem}
  .f3__mods .mono{font-size:1rem}
  .f3__ch{padding:1rem 1.2rem;min-height:0}
  .f3__ch svg{max-height:100%}
  .f3__ch>.mono{display:none}
  .f3__nav span{padding:.8rem .6rem;font-size:1rem;gap:.5rem}
}

/* ---------- герой: подпись процесса, телефон ---------- */
.hcap{display:flex;align-items:baseline;gap:1.2rem;min-height:4.4rem;padding:1rem 1.2rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:1.2rem;line-height:1.35;text-transform:none}
.hcap b{flex:0 0 auto;color:#fff;background:var(--brand);padding:.2rem .5rem;font-weight:400}
.hcap span{color:var(--ink)}
.tip--m{width:100%;transform:none;pointer-events:auto}.tip--m:before{display:none}
@media (hover:none){.cur-x,.cur-y,.cur-l{display:none!important}.hero__stage{cursor:auto}}
@media (max-width:767px){
  .hero__stage{height:auto;min-height:0}
  .hero__art{position:relative;inset:auto;display:block;padding:0 0 .4rem}
  .hero__box.is-m{height:auto;width:100%;max-width:100%;aspect-ratio:1900/2264}
  .hcap{font-size:1.15rem;min-height:5.6rem}
}

/* сборка: описание модуля, шапка прячется на телефоне */
.cg__info{padding:.4rem 2.4rem 1.6rem 12.4rem;display:flex;flex-direction:column;gap:1.2rem;border-bottom:1px solid var(--line2)}
.hd{transition:transform .45s var(--ease)}
@media (max-width:991px){
  html.hd-hide .hd{transform:translateY(-105%)!important}
  html.hd-hide .cc__v{top:0}
  .cc__v{transition:top .45s var(--ease)}
  .cc__st{height:36svh}
  .cc__lab{position:absolute;left:0;right:0;top:0;z-index:2}
  .cc__chip{overflow:hidden}.cc__chip svg{width:100%}
  .cg__info{padding:.4rem 1.6rem 1.4rem}
}

/* обрезка вбок только у main/footer: overflow на html сделал бы body контейнером прокрутки и сломал position:sticky */
main.frame,footer.frame{overflow-x:clip}

/* сборка на телефоне: чип — 20% экрана; открытый модуль — тёмный заголовок, закреплён под чипом; остальные — тонкие строки */
@media (max-width:991px){
  .cc{--sth:20svh;--rh:0px;--cvh:calc(var(--sth) + var(--rh) + 1px);transition:--sth .45s var(--ease)}
  .cc.mini{--sth:10svh}
  .cc__v{overflow:hidden}
  .cc__st{height:var(--sth)}
  .cc__chip svg{max-height:calc(var(--sth) - 1rem)}
  .cc.mini .cc__lab{opacity:0}
  .cc__lab{transition:opacity .3s}
  .cc.has-open .cg.open .cg__h{position:sticky;top:calc(var(--hd) + var(--cvh));z-index:6;background:var(--ink);color:var(--paper)}
  html.hd-hide .cc.has-open .cg.open .cg__h{top:var(--cvh)}
  .cc.has-open .cg.open .cg__h .mono,.cc.has-open .cg.open .cg__h .acc__pm{color:var(--paper)}
  .cc.has-open .cg:not(.open) .cg__h{min-height:4.2rem;padding:.3rem 1.6rem .3rem 1.2rem;grid-template-columns:4.4rem minmax(0,1fr) auto 1.4rem}
  .cc.has-open .cg:not(.open) .cg__h .mp__ic{display:none}
  .cc.has-open .cg:not(.open) .cg__h .h4{font-size:1.4rem}
  .cc.no-tr .cg__b,.cc.no-tr .cg__h{transition:none!important}
  /* модули перед открытым — строкой под чипом (закреплена вместе с ним), листается вбок */
  .cc.has-open .cg.pre{display:none}
  .cc__rail{display:flex;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--line);background:var(--paper2);scroll-snap-type:x proximity}
  .cc__rail::-webkit-scrollbar{display:none}
  .cc__rail[hidden]{display:none}
  .cc__rail button{flex:0 0 auto;display:flex;align-items:center;gap:.6rem;height:4rem;padding:0 1.2rem;border-right:1px solid var(--line);font-size:1.3rem;font-weight:600;text-transform:uppercase;white-space:nowrap;scroll-snap-align:start}
  .cc__rail button .mono{font-size:1rem;color:var(--mute);font-weight:400}
  .cc__rail button i{font-style:normal;min-width:1.8rem;height:1.8rem;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:1rem}
}

/* «Три задачи»: процент в одну строку + шкала диапазона */
.f3__kpi{display:flex;flex-direction:column;gap:1.4rem;align-items:stretch}
.f3__kv{display:flex;align-items:baseline;gap:1.2rem;flex-wrap:nowrap}
.f3__kv b{white-space:nowrap;font-size:6rem;font-weight:600;letter-spacing:-.04em;line-height:.9;color:var(--brand)}
.f3__rg{position:relative;height:3.6rem;max-width:44rem}
.f3__rg-t{position:absolute;left:0;right:0;top:1.4rem;height:1px;background:var(--ink);opacity:.35}
.f3__rg-k{position:absolute;top:2.2rem;transform:translateX(-50%);font:400 1rem var(--mono);color:var(--mute)}
.f3__rg-k:before{content:"";position:absolute;left:50%;top:-1.1rem;width:1px;height:.6rem;background:var(--ink);opacity:.35}
.f3__rg-s{position:absolute;top:1.1rem;height:.7rem;background:var(--brand)}
.f3__kpi .f3__rg-l{letter-spacing:0;line-height:1;position:absolute;top:0;transform:translateX(-50%);font:500 1rem var(--mono);color:var(--brand);margin-top:-.4rem}
@media (max-width:991px){.f3__kv b{font-size:3.6rem}.f3__kv .mono{font-size:1rem}.f3__rg{height:3rem}.f3__kpi{gap:.8rem}}
