:root{
  --ink:#110d0c;
  --paper:#f1efe9;
  --wine:#571320;
  --rose:#c43a55;
  --coral:#ff6a4d;
  --coral-ink:#c2391d;
  --display:"Prata",Georgia,serif;
  --figure:"Oswald","Arial Narrow",sans-serif;
  --text:"Golos Text",system-ui,sans-serif;
  --out:cubic-bezier(.16,1,.3,1);
  --pad:clamp(20px,4.2vw,64px);
  --bg:var(--ink);
  --fg:var(--paper);
  --muted:rgba(241,239,233,.64);
  --faint:rgba(241,239,233,.12);
  --panel:rgba(241,239,233,.04);
  --accent:var(--coral);
  --nav-bg:rgba(17,13,12,.8);
}
body[data-theme="light"]{
  --bg:#f4f2ec;
  --fg:#15110f;
  --muted:rgba(21,17,15,.64);
  --faint:rgba(21,17,15,.13);
  --panel:rgba(21,17,15,.035);
  --accent:var(--coral-ink);
  --nav-bg:rgba(244,242,236,.86);
}
*{box-sizing:border-box;margin:0}
html{scroll-padding-top:90px}
body{font-family:var(--text);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body[data-theme="light"]::after{opacity:.1;mix-blend-mode:multiply}
a{color:inherit}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.005em;text-wrap:balance;line-height:1.1}
.skip{position:absolute;left:-999px;top:8px;background:var(--coral);color:var(--ink);padding:8px 14px;z-index:60}
.skip:focus{left:8px}

.btn{display:inline-block;background:var(--coral);color:var(--ink);padding:15px 26px;font-weight:600;font-size:16px;text-decoration:none;border-radius:2px;border:0;cursor:pointer;font-family:inherit;transition:transform .14s var(--out),background-color .2s ease}
.btn:active{transform:scale(.97)}
@media(hover:hover){.btn:hover{background:#ff8166}}
.btn.light{background:var(--paper);color:var(--ink)}
.ghost{font-size:16px;font-weight:500;text-underline-offset:5px;text-decoration-thickness:1px}
.cta{display:flex;gap:26px;align-items:center;flex-wrap:wrap}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:20px var(--pad);transition:background-color .3s ease,padding .3s ease}
.nav.solid{background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-top:14px;padding-bottom:14px}
.mark{font-family:var(--display);font-size:24px;text-decoration:none;display:inline-flex;align-items:center;gap:11px}
.mark svg{width:30px;height:30px;flex:none;transition:transform .5s var(--out)}
@media(hover:hover){.mark:hover svg{transform:rotate(-8deg) scale(1.08)}}
.foot .mark svg{width:34px;height:34px}
.nav ul{display:flex;gap:clamp(16px,2.6vw,38px);list-style:none;padding:0;align-items:center;font-size:15.5px}
.nav li a:not(.btn){text-decoration:none;color:var(--muted);transition:color .2s ease}
.nav li a:not(.btn):hover,.nav li a[aria-current]{color:var(--fg)}
.nav .btn{padding:10px 18px;font-size:15px}
.burger{display:none;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer;position:relative;color:var(--fg);order:3}
.burger i{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .35s var(--out),top .35s var(--out)}
.burger i:first-child{top:17px}.burger i:last-child{top:26px}
.nav.open .burger i:first-child{top:21.5px;transform:rotate(45deg)}
.nav.open .burger i:last-child{top:21.5px;transform:rotate(-45deg)}
@media(max-width:760px){
  .burger{display:block}
  .nav{gap:12px}
  .nav nav{margin-left:auto}
  .nav li:not(.keep),.nav li.lang{display:none}
  .nav.open{bottom:0;flex-wrap:wrap;align-content:flex-start;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav.open nav{order:4;width:100%;margin:0}
  .nav.open ul{flex-direction:column;align-items:flex-start;gap:0;padding-top:28px}
  .nav.open li,.nav.open li.lang{display:block;width:100%}
  .nav.open li a:not(.btn){display:block;font-family:var(--display);font-size:30px;color:var(--fg);padding:14px 0;border-bottom:1px solid var(--faint);opacity:0;transform:translateY(12px);animation:menuIn .5s var(--out) forwards}
  .nav.open li a::after{display:none}
  .nav.open li.lang a{font-family:var(--figure);font-size:16px;border:0;padding:20px 0 0}
  .nav.open li:nth-child(2) a{animation-delay:.04s}.nav.open li:nth-child(3) a{animation-delay:.08s}.nav.open li:nth-child(4) a{animation-delay:.12s}.nav.open li:nth-child(5) a{animation-delay:.16s}
  .nav.open li.keep:last-child{margin-top:24px}
  .nav.open li.keep:last-child .btn{display:block;text-align:center;padding:16px;font-size:16px}
  .nav:not(.open) ul{gap:0}
}
@keyframes menuIn{to{opacity:1;transform:none}}
body.menu-open{overflow:hidden}

/* request form + next steps */
.req{display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:start}
.next{border:1px solid var(--faint);background:var(--panel);border-radius:6px;padding:clamp(22px,2.6vw,36px)}
.next h3{font-size:clamp(22px,1.9vw,28px);margin-bottom:22px}
.next ol{list-style:none;padding:0;display:grid;gap:20px;counter-reset:n}
.next li{display:grid;grid-template-columns:38px 1fr;gap:4px 14px;font-size:16px;line-height:1.5}
.next li::before{counter-increment:n;content:counter(n);grid-row:span 2;width:38px;height:38px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);display:grid;place-items:center;font-family:var(--figure);font-size:16px}
.next li b{font-weight:600}
.next li span{color:var(--muted)}
.next .mail{margin-top:26px;padding-top:20px;border-top:1px solid var(--faint);font-size:15px;color:var(--muted)}
.next .mail a{display:block;margin-top:4px;font-family:var(--display);font-size:clamp(20px,1.7vw,24px);color:var(--fg);text-decoration:none}
@media(hover:hover){.next .mail a:hover{color:var(--accent)}}
@media(max-width:900px){.req{grid-template-columns:1fr}}

/* shared blocks */
.section{padding:clamp(80px,12vh,140px) var(--pad)}
.section-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,5vw,80px);align-items:end;margin-bottom:clamp(32px,6vh,60px)}
.section-head h2{font-size:clamp(30px,3.6vw,56px)}
.section-head p{color:var(--muted);font-size:clamp(16px,1.25vw,19px);max-width:48ch}
@media(max-width:900px){.section-head{grid-template-columns:1fr}}
.lede{font-size:clamp(17px,1.3vw,19.5px);line-height:1.5;color:var(--muted);max-width:50ch}
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--out),transform 1s var(--out)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}

/* page header (inner pages) */
.phead{padding:clamp(130px,20vh,200px) var(--pad) clamp(40px,7vh,72px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;border-bottom:1px solid var(--faint)}
.phead h1{font-size:clamp(38px,5vw,76px);line-height:1.04}
.phead:not(.art){position:relative;isolation:isolate;overflow:hidden}
.net.ph{width:62%;opacity:.28}
body[data-theme="light"] .net.ph{display:none}
.strip{grid-column:1/-1;list-style:none;padding:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--faint);margin-top:clamp(12px,3vh,32px)}
.strip a{display:flex;flex-direction:column;gap:6px;padding:18px 16px 4px 0;text-decoration:none;font-size:15px;line-height:1.3;transition:color .2s ease,translate .4s var(--out)}
.strip b{font-family:var(--figure);font-weight:500;font-size:13px;color:var(--accent)}
@media(hover:hover){.strip a:hover{color:var(--accent);translate:0 -3px}}
@media(max-width:900px){.strip{grid-template-columns:repeat(2,1fr)}}
.phead .lede{margin-bottom:8px}
.phead.art{grid-template-columns:1fr;max-width:1100px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);border-bottom:0;padding-bottom:0}
.phead.art h1{font-size:clamp(34px,4.2vw,64px);max-width:20ch}
.crumbs{grid-column:1/-1;font-size:14px;color:var(--muted);margin-bottom:-8px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--fg)}
@media(max-width:900px){.phead{grid-template-columns:1fr}}

/* service blocks */
.blocks{display:grid;gap:0;border-top:1px solid var(--faint)}
.block{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,5vw,80px);padding:clamp(36px,6vh,64px) 0;border-bottom:1px solid var(--faint)}
.block h2,.block h3{font-size:clamp(26px,2.6vw,40px)}
.block .tag{display:block;font-family:var(--figure);font-size:15px;color:var(--accent);margin-bottom:12px;letter-spacing:.03em}
.block p{color:var(--muted);font-size:17px;max-width:56ch}
.block ul{list-style:none;padding:0;display:grid;gap:12px;margin-top:4px}
.block li{padding-left:26px;position:relative;font-size:17px;line-height:1.45}
.block li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:2px;background:var(--accent)}
.block .note{margin-top:18px;font-size:15px;color:var(--muted)}
@media(max-width:900px){.block{grid-template-columns:1fr}}

.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--faint);border:1px solid var(--faint)}
.tile{background:var(--bg);padding:26px 22px 28px;display:flex;flex-direction:column;gap:10px;min-height:260px}
.tile b{font-family:var(--figure);font-weight:500;font-size:44px;line-height:1;color:var(--accent)}
.tile h3{font-size:22px}
.tile p{color:var(--muted);font-size:15px}
.tile span{margin-top:auto;font-size:13px;color:var(--muted)}
@media(max-width:1100px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tiles{grid-template-columns:1fr}.tile{min-height:0}}

.who{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--faint)}
.who div{padding:24px 22px 28px 0;border-right:1px solid var(--faint)}
.who div+div{padding-left:22px}
.who div:last-child{border-right:0}
.who h3{font-size:22px;margin-bottom:10px}
.who p{color:var(--muted);font-size:15px}
.who q{display:block;margin-top:14px;font-family:var(--display);font-size:17px;line-height:1.35;quotes:"“" "”"}
html[lang="ru"] .who q{quotes:"«" "»"}
@media(max-width:1100px){.who{grid-template-columns:1fr 1fr}.who div,.who div+div{padding:22px 0;border-right:0;border-bottom:1px solid var(--faint)}.who div:nth-child(odd){padding-right:22px}}
@media(max-width:600px){.who{grid-template-columns:1fr}.who div:nth-child(odd){padding-right:0}}

.rules{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.5vw,40px)}
.rules div{border-top:2px solid var(--accent);padding-top:18px}
.rules h3{font-size:22px;margin-bottom:10px}
.rules p{color:var(--muted);font-size:15.5px}
@media(max-width:900px){.rules{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rules{grid-template-columns:1fr}}

.index-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:8px}
.index-bar div{background:var(--wine);color:var(--paper);padding:18px 16px 20px;min-height:150px;display:flex;flex-direction:column}
.index-bar div:nth-child(2){background:#6a1a2a}
.index-bar div:nth-child(3){background:#7d2233}
.index-bar div:nth-child(4){background:#8f2a3c}
.index-bar div:nth-child(5){background:#a13246}
.index-bar b{font-family:var(--figure);font-weight:600;font-size:44px;line-height:1}
.index-bar span{margin-top:auto;font-size:15px;line-height:1.35}
@media(max-width:800px){.index-bar{grid-template-columns:1fr 1fr}.index-bar div{min-height:110px}}

/* FAQ */
.faq{border-top:1px solid var(--faint);max-width:980px}
.faq details{border-bottom:1px solid var(--faint)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-family:var(--display);font-size:clamp(19px,1.6vw,24px);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;margin-top:-7px;background:linear-gradient(var(--accent),var(--accent)) center/14px 2px no-repeat,linear-gradient(var(--accent),var(--accent)) center/2px 14px no-repeat;transition:transform .25s var(--out)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;color:var(--muted);font-size:17px;max-width:70ch}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px)}
.stat .n{font-family:var(--figure);font-weight:600;font-size:clamp(56px,6.4vw,104px);line-height:.92;font-variant-numeric:tabular-nums}
.stat .n small{font-size:.42em;font-weight:500}
.stat p{font-size:16px;line-height:1.45;margin-top:14px;max-width:26ch}
.stat cite{display:block;font-style:normal;font-size:13px;color:var(--muted);margin-top:10px}
.stat cite a{color:inherit}
@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}}

/* research list */
.posts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--faint)}
.post{padding:26px 26px 30px 0;text-decoration:none;display:flex;flex-direction:column;gap:14px;min-height:240px;border-right:1px solid var(--faint)}
.post:nth-child(3n+2),.post:nth-child(3n){padding-left:26px}
.post:nth-child(3n){border-right:0}
.post:nth-child(n+4){border-top:1px solid var(--faint)}
.post h3{font-size:clamp(22px,1.9vw,30px);line-height:1.18;transition:color .2s ease}
.post p{color:var(--muted);font-size:15.5px;line-height:1.5}
.post span{margin-top:auto;font-size:13.5px;color:var(--muted)}
@media(hover:hover){.post:hover h3{color:var(--accent)}}
@media(max-width:900px){.posts{grid-template-columns:1fr}.post,.post:nth-child(3n+2),.post:nth-child(3n){padding:24px 0;border-right:0;border-bottom:1px solid var(--faint);min-height:0}.post:nth-child(n+4){border-top:0}}

/* article */
.article{display:grid;grid-template-columns:220px minmax(0,720px);gap:clamp(30px,6vw,110px);padding:clamp(40px,7vh,80px) var(--pad) clamp(80px,12vh,140px);justify-content:center}
.article>*{min-width:0}
.prose{overflow-wrap:break-word}
.toc{position:sticky;top:110px;align-self:start;font-size:14px}
.toc p{color:var(--muted);margin-bottom:12px}
.toc ol{list-style:none;padding:0;display:grid;gap:10px;border-left:1px solid var(--faint)}
.toc a{display:block;text-decoration:none;color:var(--muted);padding-left:14px;margin-left:-1px;border-left:2px solid transparent;line-height:1.35;transition:color .2s ease,border-color .2s ease}
.toc a:hover,.toc a.on{color:var(--fg);border-left-color:var(--accent)}
@media(max-width:1000px){.article{grid-template-columns:1fr}.toc{display:none}}
.meta-line{font-size:14px;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap}
.prose{font-size:18.5px;line-height:1.68}
.prose>*+*{margin-top:1.05em}
.prose .dek{font-family:var(--display);font-size:clamp(21px,1.8vw,26px);line-height:1.45}
.prose h2{font-size:clamp(28px,2.6vw,38px);margin-top:2.1em;line-height:1.15}
.prose h3{font-size:clamp(21px,1.8vw,26px);margin-top:1.7em}
.prose h2+*,.prose h3+*{margin-top:.7em}
.prose a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:.45em}
.prose strong{font-weight:600}
.prose blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 20px;font-family:var(--display);font-size:1.12em;line-height:1.45}
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:var(--panel);padding:.1em .35em;border-radius:3px}
.prose pre{background:#15110f;color:#f1efe9;padding:20px 22px;border-radius:4px;overflow-x:auto;font-size:14.5px;line-height:1.6}
.prose pre code{background:none;padding:0;font-size:inherit}
.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;vertical-align:top;padding:11px 14px 11px 0;border-bottom:1px solid var(--faint)}
.prose thead th{font-weight:600;border-bottom:2px solid var(--fg)}
.tldr{background:var(--panel);border:1px solid var(--faint);padding:24px 26px;border-radius:4px}
.prose .tldr h2{font-family:var(--figure);font-size:15px;letter-spacing:.04em;margin:0 0 12px;color:var(--accent);font-weight:500}
.tldr ul{padding-left:1.1em}
.sources{border-top:1px solid var(--faint);padding-top:8px;font-size:15px;line-height:1.55}
.prose .sources h2{font-size:24px}
.sources ol{padding-left:1.4em}
.sources li+li{margin-top:.7em}
.art-faq{margin-top:2.4em}
.art-cta{margin-top:3em;background:var(--wine);color:var(--paper);padding:30px 30px 32px;border-radius:4px}
.prose .art-cta h2{margin:0 0 10px;font-size:28px}
.art-cta p{color:rgba(241,239,233,.78);font-size:17px;margin-bottom:20px}
.prose .art-cta a.btn{color:var(--ink);text-decoration:none}

/* forms */
.form{display:grid;gap:18px;max-width:620px}
.form label{display:grid;gap:8px;font-size:15px;font-weight:500}
.form input,.form textarea{font:inherit;font-size:17px;padding:14px 14px;border:1px solid var(--faint);background:var(--panel);color:var(--fg);border-radius:2px}
.form input:focus,.form textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.form small{color:var(--muted);font-weight:400}
.form textarea{min-height:130px;resize:vertical}

/* final + footer */
.final{position:relative;padding:clamp(90px,16vh,180px) var(--pad);background:var(--wine);color:var(--paper);overflow:hidden}
.final h2{font-size:clamp(40px,6.4vw,104px);line-height:1.02;max-width:14ch}
.final p{font-size:clamp(17px,1.3vw,20px);color:rgba(241,239,233,.78);margin:24px 0 32px;max-width:50ch;line-height:1.5}
.foot{background:var(--ink);color:var(--paper);padding:56px var(--pad) 32px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;font-size:15px}
.foot .mark{font-size:28px}
.foot p{color:rgba(241,239,233,.6);margin-top:12px;max-width:34ch}
.foot h2{font-family:var(--text);font-size:13px;font-weight:500;color:rgba(241,239,233,.5);margin-bottom:12px}
.foot ul{list-style:none;padding:0;display:grid;gap:9px}
.foot a{text-decoration:none;color:rgba(241,239,233,.82)}
.foot a:hover{color:#fff}
.foot .legal{grid-column:1/-1;border-top:1px solid rgba(241,239,233,.12);padding-top:22px;margin-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:rgba(241,239,233,.5);font-size:13.5px}
@media(max-width:800px){.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}}

/* motion */
:root{interpolate-size:allow-keywords}
@view-transition{navigation:auto}
.nav{view-transition-name:nav}
::view-transition-old(root){animation:vt-out .32s var(--out) both}
::view-transition-new(root){animation:vt-in .6s var(--out) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-14px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(22px)}}

.sbar{position:fixed;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--rose),var(--coral));transform-origin:left;transform:scaleX(var(--sp,0));z-index:45;pointer-events:none}

.nav li a:not(.btn){position:relative}
.nav li a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--out)}
.nav li a:not(.btn):hover::after,.nav li a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.btn{transition:transform .14s var(--out),translate .35s var(--out),background-color .2s ease,box-shadow .3s ease}
@media(hover:hover){.btn:hover{box-shadow:0 12px 34px -10px rgba(255,106,77,.6)}.btn.light:hover{background:#fff;box-shadow:0 12px 34px -10px rgba(0,0,0,.5)}}

.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.split .w>span{display:inline-block;transform:translateY(108%) rotate(4deg);transform-origin:left bottom;transition:transform 1s var(--out);transition-delay:calc(var(--i)*38ms + 60ms)}
.split.in .w>span{transform:none}

.stg.rv{opacity:1;transform:none}
.stg>*{opacity:0;transform:translateY(30px);transition:opacity .8s var(--out) calc(var(--i)*90ms),transform 1s var(--out) calc(var(--i)*90ms),translate .4s var(--out),color .2s ease,background-color .3s ease}
.stg.in>*{opacity:1;transform:none}

.spot{position:relative;isolation:isolate}
.spot::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,106,77,.13),transparent 62%);opacity:0;transition:opacity .4s ease}
body[data-theme="light"] .spot::before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(196,58,85,.09),transparent 62%)}
@media(hover:hover){.spot:hover::before{opacity:1}}

.tile{transition:background-color .3s ease}
.tile b{transition:transform .5s var(--out);transform-origin:left bottom;display:inline-block;width:fit-content}
.tile::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--out)}
@media(hover:hover){.tile:hover{translate:0 -6px;background:#1a1412}.tile:hover b{transform:scale(1.25)}.tile:hover::after{transform:scaleX(1)}}
.rules>div{transition:border-color .3s ease}
@media(hover:hover){.rules>div:hover{border-top-color:var(--fg)}}
.post h3{transition:color .2s ease,translate .5s var(--out)}
@media(hover:hover){.post:hover h3{translate:6px 0}}

.block li{opacity:0;transform:translateX(-12px);transition:opacity .6s var(--out),transform .7s var(--out)}
.block li::before{width:0;transition:width .6s var(--out) .2s}
.block.in li{opacity:1;transform:none}
.block.in li::before{width:12px}
.block.in li:nth-child(2){transition-delay:.08s}.block.in li:nth-child(3){transition-delay:.16s}.block.in li:nth-child(4){transition-delay:.24s}.block.in li:nth-child(5){transition-delay:.32s}
.no-js .block li{opacity:1;transform:none}.no-js .block li::before{width:12px}
.block .tag{transition:letter-spacing .5s var(--out)}
@media(hover:hover){.block:hover .tag{letter-spacing:.12em}}

.faq summary{transition:color .2s ease,padding-left .4s var(--out)}
@media(hover:hover){.faq summary:hover{color:var(--accent);padding-left:10px}}
.faq details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .45s var(--out),opacity .4s ease,content-visibility .45s allow-discrete}
.faq details[open]::details-content{block-size:auto;opacity:1}

.final{isolation:isolate}
.final-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.final-bg i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(60px);opacity:.55;animation:drift 18s ease-in-out infinite alternate}
.final-bg i:nth-child(1){background:radial-gradient(closest-side,#c43a55,transparent);left:-20vmax;top:-30vmax}
.final-bg i:nth-child(2){background:radial-gradient(closest-side,#ff6a4d,transparent);right:-25vmax;bottom:-35vmax;opacity:.35;animation-duration:22s;animation-delay:-6s}
.final-bg i:nth-child(3){background:radial-gradient(closest-side,#110d0c,transparent);left:30%;top:20%;opacity:.4;animation-duration:26s;animation-delay:-12s}
@keyframes drift{50%{transform:translate(8vmax,6vmax) scale(1.15)}100%{transform:translate(-6vmax,10vmax) scale(.9)}}
.final h2,.final p,.final .cta{translate:calc(var(--fx,0)*-24px) calc(var(--fy,0)*-16px);transition:translate .8s var(--out)}
.final p{translate:calc(var(--fx,0)*-12px) calc(var(--fy,0)*-8px)}

.foot .giant{grid-column:1/-1;font-family:var(--display);font-size:clamp(64px,17.5vw,300px);line-height:1.1;letter-spacing:-.02em;color:rgba(241,239,233,.07);display:flex;justify-content:space-between;overflow:hidden;padding:.08em 0 .12em;margin:0;user-select:none}
.giant span{display:inline-block;transform:translateY(130%);transition:transform 1.2s var(--out),color .4s ease;transition-delay:calc(var(--i)*55ms)}
.giant.in span{transform:none}
@media(hover:hover){.giant span:hover{color:var(--coral);transition-delay:0s}}

.cur{position:fixed;inset:0;pointer-events:none;z-index:70;opacity:0;transition:opacity .3s ease}
.cur.on{opacity:1}
.cur::before{content:"";position:absolute;left:0;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--coral);transform:translate(var(--x),var(--y))}
.cur b{position:absolute;left:0;top:0;width:640px;height:640px;margin:-320px 0 0 -320px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,106,77,.15),rgba(196,58,85,.07) 50%,transparent);mix-blend-mode:screen}
body[data-theme="light"] .cur b{background:radial-gradient(closest-side,rgba(196,58,85,.08),rgba(196,58,85,.03) 50%,transparent);mix-blend-mode:multiply}
.cur i{position:absolute;left:0;top:0;width:0;height:0}
.cur i::after{content:"";position:absolute;width:38px;height:38px;left:-19px;top:-19px;border-radius:50%;border:1px solid rgba(255,106,77,.55);transition:transform .35s var(--out),background-color .3s ease,border-color .3s ease}
.cur.link i::after{transform:scale(1.6);background:rgba(255,106,77,.12);border-color:transparent}
.cur.read i::after{transform:scale(2.3);background:var(--coral);border-color:transparent}
.cur.down i::after{transform:scale(.8)}
.cur span{position:absolute;left:0;top:0;transform:translate(var(--x),var(--y)) translate(-50%,-50%);font-size:12px;font-weight:600;color:var(--ink);letter-spacing:.04em;opacity:0;transition:opacity .2s ease}
.cur.read span{opacity:1}
.cur.read::before{opacity:0}

.net{position:absolute;right:0;top:0;width:56%;height:100%;z-index:-1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%);mask-image:linear-gradient(90deg,transparent,#000 18%)}
@media(max-width:900px){.net{width:100%;opacity:.35}}
.lang a{font-family:var(--figure);letter-spacing:.06em;border:1px solid var(--faint);padding:5px 9px;border-radius:2px}
.lang a::after{display:none}
@media(hover:hover){.lang a:hover{border-color:var(--accent)}}

.part-head{padding-bottom:0}
.kick{display:block;font-family:var(--figure);font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.chapter{border-top:1px solid var(--faint)}
.nav li a.on{color:var(--fg)}
.nav li a.on::after{transform:scaleX(1);transform-origin:left}

/* audit index calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:center;border:1px solid var(--faint);background:var(--panel);padding:clamp(24px,3.5vw,52px);border-radius:6px}
.gauge{position:relative;text-align:center}
.gauge svg{width:100%;max-width:420px;overflow:visible}
.gauge path{fill:none;stroke-width:16;stroke-dasharray:0 100;transition:stroke-dasharray .6s var(--out),stroke-dashoffset .6s var(--out)}
.gauge path.base{stroke:var(--faint);stroke-dasharray:none}
.total{margin-top:-70px;font-family:var(--figure);line-height:1}
.total b{font-size:clamp(64px,7vw,104px);font-weight:600;font-variant-numeric:tabular-nums}
.total span{font-size:22px;color:var(--muted);margin-left:6px}
.weak{margin:16px auto 0;font-size:16px;max-width:34ch;min-height:3em}
.gauge small{display:block;margin-top:10px;font-size:13px;color:var(--muted)}
.parts{display:grid;gap:22px}
.part{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:baseline;cursor:pointer}
.part .pn{font-size:16px}
.part output{font-family:var(--figure);font-size:22px;font-variant-numeric:tabular-nums;color:var(--accent)}
.part output::after{content:" / 20";font-size:14px;color:var(--muted)}
html[lang="ru"] .part output::after{content:" из 20"}
.part input{grid-column:1/-1;-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--coral) calc(var(--p,.5)*100%),var(--faint) 0);cursor:pointer}
.part input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--paper);border:4px solid var(--coral);transition:transform .2s var(--out)}
.part input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--paper);border:4px solid var(--coral)}
.part input:active::-webkit-slider-thumb{transform:scale(1.25)}
@media(max-width:900px){.calc{grid-template-columns:1fr}}

/* services side index */
.svc{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(30px,5vw,80px)}
.svc .toc{top:120px}
.svc .toc a{font-size:15px}
.svc .toc ol{counter-reset:s}
.svc .toc a::before{counter-increment:s;content:"0" counter(s);font-family:var(--figure);font-size:12px;color:var(--accent);margin-right:10px}
@media(max-width:1000px){.svc{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){
  .final-bg i,.giant span{animation:none;transform:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important;scroll-behavior:auto!important}
}
