/* ИДЕЯ — монохромный редакционный стиль.
   Цвета страницы задаются двумя переменными: --pg (фон) и --fg (текст). Когда посетитель доходит
   до тёмной части страницы (секции с data-theme="dark"), html получает класс is-dark и всё плавно
   инвертируется. Шрифты лежат в /fonts: Oswald — заголовки, Onest — текст. */

@font-face{font-family:"Oswald";src:url(../fonts/oswald-cyrillic.woff2) format("woff2");font-weight:200 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Oswald";src:url(../fonts/oswald-latin.woff2) format("woff2");font-weight:200 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";src:url(../fonts/onest-cyrillic.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";src:url(../fonts/onest-latin.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#f2f1ed;--white:#fbfbf9;--ink:#0d0d0d;--ink-2:#262626;
  --gray:#6f6d68;--gray-dark:#9a9893;
  --pg:var(--paper);--fg:var(--ink);--muted:var(--gray);
  --line:color-mix(in srgb,var(--fg) 14%,transparent);--line-strong:color-mix(in srgb,var(--fg) 40%,transparent);
  --display:"Oswald","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --text:"Onest","Helvetica Neue",Arial,system-ui,sans-serif;
  --r:16px;--r-sm:10px;--pill:999px;
  --ease:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.76,0,.24,1);--ease-back:cubic-bezier(.34,1.56,.64,1);
  --edge:clamp(16px,3.4vw,56px);
  --header-h:76px;
}
html.is-dark,html.menu-open{--pg:var(--ink);--fg:var(--paper);--muted:var(--gray-dark)}
.no-js [data-theme=dark]{background:var(--ink);color:var(--paper)}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pg);color:var(--fg);font-family:var(--text);font-size:16px;line-height:1.55;overflow-x:clip;transition:background-color .7s var(--ease),color .7s var(--ease);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--fg);color:var(--pg)}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:600}
.symbols{position:absolute;width:0;height:0;pointer-events:none}
.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wrap{width:min(calc(100% - var(--edge)*2),1480px);margin-inline:auto}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:fixed;top:8px;left:12px;z-index:300;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--pill);transform:translateY(-200%)}
.skip-link:focus{transform:none}
.kicker{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.kicker::before{content:"";width:28px;height:1px;background:currentColor}
.display{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(56px,10.5vw,176px);line-height:.86;letter-spacing:-.01em}

/* слова для появления заголовков (effects.js оборачивает слова в .w > .w-in) */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em 0 .06em;margin:-.1em 0 -.06em}
.w-in{display:inline-block}

/* ------------------------------------------------ заставка */
.loader{position:fixed;inset:0;z-index:250;display:grid;place-content:center;gap:28px;background:var(--ink);color:var(--paper);pointer-events:none}
.no-intro .loader,.no-js .loader{display:none}
.loader-word{display:flex;font-family:var(--display);font-weight:700;font-size:clamp(88px,18vw,260px);line-height:.8;overflow:hidden;padding-bottom:.04em}
.loader-word span{display:block;transform:translateY(105%);animation:rise .9s var(--ease) forwards}
.loader-word span:nth-child(2){animation-delay:.07s}.loader-word span:nth-child(3){animation-delay:.14s}.loader-word span:nth-child(4){animation-delay:.21s}
.loader-bar{height:2px;background:#ffffff26;overflow:hidden}
.loader-bar i{display:block;height:100%;background:var(--paper);transform-origin:0 50%;animation:load 1.15s var(--ease-io) forwards}
.intro.is-ready .loader{clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease-io) .1s}
.intro.is-ready .loader-word span{transform:translateY(-105%);transition:transform .7s var(--ease-io)}
@keyframes rise{to{transform:none}}
@keyframes load{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ------------------------------------------------ курсор, зерно, прогресс */
.cursor{position:fixed;left:0;top:0;z-index:240;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;display:none;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background-color .3s}
.has-cursor .cursor{display:grid}
.cursor.is-link{width:48px;height:48px;margin:-24px 0 0 -24px}
.cursor.is-label{width:104px;height:104px;margin:-52px 0 0 -52px;mix-blend-mode:normal;background:var(--white);box-shadow:0 10px 40px #0003}
.cursor-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .2s}
.cursor.is-label .cursor-label{opacity:1}
.grain{position:fixed;inset:-50%;z-index:200;pointer-events:none;background:url(../assets/noise.svg);opacity:.07;mix-blend-mode:multiply}
html.is-dark .grain{mix-blend-mode:screen;opacity:.05}
.scroll-progress{position:fixed;inset:0 0 auto;height:2px;z-index:120;background:var(--fg);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}

/* ------------------------------------------------ шапка */
.site-header{position:sticky;top:0;z-index:110;background:color-mix(in srgb,var(--pg) 88%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid transparent;transition:transform .6s var(--ease-io),background-color .7s var(--ease),border-color .4s}
.site-header.is-scrolled{border-color:var(--line)}
.site-header.is-hidden{transform:translateY(-100%)}
.header-row{display:flex;align-items:center;gap:10px;min-height:var(--header-h)}
.brand{display:inline-flex;flex:none;margin-right:8px}
.brand img{height:42px;width:auto;transition:filter .7s var(--ease)}
html.is-dark .brand img,html.menu-open .brand img{filter:invert(1)}
.main-nav{display:flex;gap:2px;margin-left:12px}
.main-nav a{padding:10px 14px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;position:relative}
.main-nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .5s var(--ease-io)}
.main-nav a.is-current::after{transform:scaleX(1);transform-origin:0 50%}
.search{display:flex;align-items:center;gap:10px;flex:1;min-width:0;max-width:360px;margin-left:auto;border:1px solid var(--line);border-radius:var(--pill);padding-left:16px;transition:border-color .3s,background-color .3s}
.search:hover{border-color:var(--line-strong)}
.search:focus-within{border-color:var(--fg);background:color-mix(in srgb,var(--fg) 4%,transparent)}
.search .icon{width:18px;height:18px}
.search input{border:0;background:none;min-width:0;flex:1;height:44px;padding:0 16px 0 0;outline:none;font-size:15px}
.search input::placeholder{color:var(--muted);opacity:1}
.search input::-webkit-search-cancel-button{filter:grayscale(1)}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;flex:none;overflow:hidden;isolation:isolate;transition:border-color .3s,color .4s var(--ease)}
.icon-btn::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--fg);transform:scale(0);transition:transform .45s var(--ease);z-index:-1}
.icon-btn .icon{width:20px;height:20px}
.icon-btn[aria-pressed=true] .icon{fill:currentColor}
.menu-toggle{display:none;position:relative;width:48px;height:48px;border:0;border-radius:50%;background:var(--fg);color:var(--pg);flex:none;transition:background-color .7s var(--ease),color .7s var(--ease)}
.menu-toggle span{position:absolute;left:15px;right:15px;height:1.5px;background:currentColor;transition:transform .5s var(--ease-io),top .5s var(--ease-io)}
.menu-toggle span:first-child{top:20px}.menu-toggle span:last-child{top:27px}
.menu-toggle[aria-expanded=true] span:first-child{top:23.5px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{top:23.5px;transform:rotate(-45deg)}

/* ------------------------------------------------ мобильное меню */
.mobile-menu{position:fixed;inset:0;z-index:105;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header-h) + 24px) var(--edge) calc(28px + env(safe-area-inset-bottom));background:var(--ink);color:var(--paper);clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease-io);overflow:auto}
.mobile-menu.is-open{clip-path:inset(0)}
.mobile-nav{display:flex;flex-direction:column}
.mobile-nav a,.mobile-nav button{display:block;overflow:hidden;padding:4px 0;border:0;border-bottom:1px solid #ffffff1f;background:none;color:inherit;text-align:left;font-family:var(--display);font-weight:600;font-size:clamp(44px,12.5vw,96px);line-height:1.02;text-transform:uppercase}
.mobile-nav span{display:block;transform:translateY(110%);transition:transform .8s var(--ease-io)}
.mobile-menu.is-open .mobile-nav span{transform:none}
.mobile-menu.is-open .mobile-nav > :nth-child(2) span{transition-delay:.06s}
.mobile-menu.is-open .mobile-nav > :nth-child(3) span{transition-delay:.12s}
.mobile-menu.is-open .mobile-nav > :nth-child(4) span{transition-delay:.18s}
.mobile-menu-foot{display:grid;gap:16px;margin-top:32px;opacity:0;transform:translateY(20px);transition:opacity .6s .3s,transform .8s var(--ease) .3s}
.mobile-menu.is-open .mobile-menu-foot{opacity:1;transform:none}
.mobile-menu-foot p{color:var(--gray-dark);font-size:14px}
.mobile-menu-foot .btn{width:100%}

/* ------------------------------------------------ кнопки */
.roll{display:inline-block;overflow:hidden;vertical-align:top;line-height:1.3}
.roll-in{position:relative;display:inline-block;transition:transform .55s var(--ease-io)}
.roll-in::after{content:attr(data-text);position:absolute;left:0;top:100%;white-space:nowrap}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:0 9px 0 28px;border:1px solid var(--fg);border-radius:var(--pill);font-size:15px;font-weight:600;letter-spacing:.01em;line-height:1.2;white-space:nowrap;overflow:hidden;isolation:isolate;transition:color .55s var(--ease-io),border-color .7s var(--ease),background-color .7s var(--ease),opacity .2s}
.btn::before{content:"";position:absolute;left:-10%;right:-10%;top:0;height:100%;border-radius:50% 50% 0 0/40% 40% 0 0;transform:translateY(102%);transition:transform .6s var(--ease-io),border-radius .6s var(--ease-io);z-index:-1}
.btn-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;transition:background-color .55s var(--ease-io),color .55s var(--ease-io),transform .55s var(--ease)}
.btn-ico .icon{width:18px;height:18px;transition:transform .55s var(--ease)}
.btn:not(:has(.btn-ico)){padding:0 28px;justify-content:center}
.btn-dark,.btn-blue{background:var(--fg);color:var(--pg)}
.btn-dark::before,.btn-blue::before{background:var(--pg)}
.btn-dark .btn-ico,.btn-blue .btn-ico{background:var(--pg);color:var(--fg)}
.btn-light,.btn-outline{background:transparent;color:var(--fg)}
.btn-light::before,.btn-outline::before{background:var(--fg)}
.btn-light .btn-ico,.btn-outline .btn-ico{background:var(--fg);color:var(--pg)}
.btn-outline[aria-pressed=true]{background:var(--fg);color:var(--pg)}
.btn-sm{min-height:44px;padding-left:20px;padding-right:5px;font-size:14px}
.btn-sm .btn-ico{width:34px;height:34px}
.btn-wide{width:100%}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn:active:not(:disabled){transform:scale(.98)}
.text-button{background:none;border:0;padding:0;min-height:40px;color:inherit;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;transition:text-underline-offset .3s var(--ease),opacity .2s}
.text-button:disabled{opacity:.5;cursor:default;text-decoration:none}

/* ------------------------------------------------ первый экран */
.hero{padding-bottom:clamp(48px,7vw,110px)}
.hero-meta{display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.hero-scroll{display:inline-flex;align-items:center;gap:8px}
.hero-scroll .icon{width:16px;height:16px;transform:rotate(90deg);animation:nudge 2.2s var(--ease) infinite}
@keyframes nudge{0%,100%{translate:0 0}50%{translate:0 5px}}
.hero-title{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(58px,11.4vw,200px);line-height:.88;letter-spacing:-.012em;margin:clamp(24px,3.4vw,52px) 0 clamp(28px,3.6vw,56px)}
.line{display:block;overflow:hidden;padding:.1em 0 .05em;margin:-.1em 0 -.05em}
.line-in{display:inline-block}
.line:nth-child(2){padding-left:12%}
.line:nth-child(4){text-align:right}
.hero-title em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--fg);background:linear-gradient(var(--fg),var(--fg)) no-repeat 0 0/0% 100%;-webkit-background-clip:text;background-clip:text;transition:background-size 1s var(--ease-io)}
.hero-title:hover em{background-size:100% 100%}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:end}
.hero-media{position:relative;margin:0;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:var(--ink)}
.hero-media a{display:block;height:100%}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;filter:grayscale(1) contrast(1.08);transform:scale(calc(1.18 - var(--p,0) * .18));transition:filter 1s var(--ease)}
.hero-media:hover img{filter:grayscale(0) contrast(1)}
.hero-chip{position:absolute;display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:var(--pill);background:var(--white);color:var(--ink);font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 12px 40px #0000002e;pointer-events:none}
.hero-chip .icon{width:32px;height:32px;padding:7px;border-radius:50%;background:var(--ink);color:#fff}
.chip-a{left:22px;bottom:22px}
.chip-b{right:22px;top:22px;background:var(--ink);color:#fff}
.chip-b .icon{background:#fff;color:var(--ink)}
.lead{font-size:clamp(18px,1.45vw,22px);line-height:1.45;max-width:30ch;margin-bottom:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(32px,4vw,56px) 0 0;border-top:1px solid var(--line)}
.hero-stats div{display:flex;flex-direction:column-reverse;gap:4px;padding:18px 16px 0 0}
.hero-stats div+div{padding-left:16px;border-left:1px solid var(--line)}
.hero-stats dd{margin:0;font-family:var(--display);font-weight:500;font-size:clamp(40px,3.8vw,64px);line-height:.95;font-variant-numeric:tabular-nums}
.hero-stats dt{font-size:13px;color:var(--muted);line-height:1.3}

/* анимация входа первого экрана */
.js .hero .line-in{transform:translateY(108%)}
.js .hero [data-hero-fade]{opacity:0;transform:translateY(24px)}
.js .hero-media{clip-path:inset(100% 0 0 0 round var(--r))}
.js .hero-chip{opacity:0;scale:.6}
.js.is-ready .hero .line-in{transform:none;transition:transform 1.25s var(--ease-io)}
.js.is-ready .hero .line:nth-child(2) .line-in{transition-delay:.08s}
.js.is-ready .hero .line:nth-child(3) .line-in{transition-delay:.16s}
.js.is-ready .hero .line:nth-child(4) .line-in{transition-delay:.24s}
.js.is-ready .hero [data-hero-fade]{opacity:1;transform:none;transition:opacity 1s .55s,transform 1.2s var(--ease) .55s}
.js.is-ready .hero-media{clip-path:inset(0 0 0 0 round var(--r));transition:clip-path 1.4s var(--ease-io) .3s}
.js.is-ready .hero-chip{opacity:1;scale:1;transition:opacity .5s 1.3s,scale .8s var(--ease-back) 1.3s}
.js.is-ready .chip-b{transition-delay:1.45s}

/* ------------------------------------------------ бегущая строка */
.marquee{overflow:hidden;padding:clamp(14px,2vw,28px) 0;border-block:1px solid var(--line);user-select:none}
.marquee-track{display:flex;width:max-content;will-change:transform}
.no-js .marquee-track{animation:marquee 50s linear infinite}
.marquee-group{display:flex;flex:none}
.marquee-group span{display:inline-flex;align-items:center;gap:clamp(20px,2.4vw,40px);padding-right:clamp(20px,2.4vw,40px);font-family:var(--display);font-weight:600;font-size:clamp(44px,7.5vw,128px);line-height:1;text-transform:uppercase;white-space:nowrap}
.marquee-group span:nth-child(even){color:transparent;-webkit-text-stroke:1.5px var(--fg)}
.marquee-group span::after{content:"";width:.22em;height:.22em;border-radius:50%;background:var(--fg);flex:none}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ------------------------------------------------ манифест */
.manifesto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:24px;padding-block:clamp(80px,13vw,200px)}
.manifesto .kicker{align-self:start;padding-top:.8em}
.manifesto-text{font-size:clamp(28px,4.1vw,66px);line-height:1.1;letter-spacing:-.025em;font-weight:500}
.manifesto-text .fw{transition:opacity .3s}
.js .manifesto-text .fw{opacity:.14}
.js .manifesto-text .fw.on{opacity:1}

/* ------------------------------------------------ общие заголовки секций */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,3.4vw,48px)}
.result-count,.section-note{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:.6em}
.section-note{max-width:30ch;letter-spacing:.02em;text-transform:none;font-size:17px;font-weight:500;line-height:1.4}

/* ------------------------------------------------ каталог */
.catalog{padding-bottom:clamp(80px,10vw,160px)}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:clamp(28px,3vw,44px)}
.filters{position:relative;display:flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:var(--pill);max-width:100%;overflow-x:auto;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filters-ink{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:var(--pill);background:var(--fg);transition:transform .6s var(--ease-io),width .6s var(--ease-io);pointer-events:none}
.chip{position:relative;z-index:1;flex:none;height:42px;padding:0 20px;border:0;border-radius:var(--pill);background:none;font-size:14px;font-weight:600;transition:color .45s var(--ease-io)}
.chip[aria-pressed=true]{color:var(--pg)}
.no-js .chip[aria-pressed=true]{background:var(--fg)}
.filter-select{position:relative;display:inline-flex}
.filter-select .icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;width:18px;height:18px}
.filter-select select{appearance:none;height:52px;border:1px solid var(--line);border-radius:var(--pill);background:transparent;padding:0 46px 0 22px;font-weight:600;font-size:14px;cursor:pointer;transition:border-color .3s}
.filter-select select:hover,.filter-select select:focus-visible{border-color:var(--fg)}
.filter-select select:has(option:checked:not([value=""])){background:var(--fg);color:var(--pg)}
.filter-select select:has(option:checked:not([value=""])) + .icon{color:var(--pg)}

.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,3.6vw,60px) clamp(16px,1.6vw,28px)}
.pcard{position:relative;display:flex;flex-direction:column;min-width:0}
.card-visual{position:relative;border-radius:var(--r);overflow:hidden;background:var(--ink);transform:translateZ(0)}
.card-media{display:block;aspect-ratio:4/5}
.card-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);transform:scale(1.04);transition:filter .9s var(--ease),transform 1.2s var(--ease)}
.card-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 55%,#0000004d);pointer-events:none}
.favorite::before{background:var(--ink)}
.favorite.pop .icon{animation:pop .5s var(--ease-back)}
@keyframes pop{40%{transform:scale(1.4)}}
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:clamp(40px,5vw,72px)}
.pager-num,.pager-step{display:inline-grid;place-items:center;min-width:48px;height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--pill);background:transparent;font-weight:600;font-size:15px;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s}
.pager-num[aria-current=page]{background:var(--fg);color:var(--pg);border-color:var(--fg)}
.pager-step .icon{width:18px;height:18px}
.pager-step.prev .icon{transform:rotate(180deg)}
.pager-step:disabled{opacity:.3;cursor:default}
.pager-gap{padding:0 4px;color:var(--muted)}
.card-marks{position:absolute;top:14px;right:14px;z-index:3;display:flex;gap:6px}
.mark-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;padding:0 12px;border:0;border-radius:var(--pill);background:var(--white);color:var(--ink);font-size:13px;font-weight:700;box-shadow:0 6px 20px #0000001f;transition:background-color .25s,color .25s,transform .25s var(--ease)}
.mark-btn .icon{width:18px;height:18px;transition:transform .35s var(--ease-back)}
.mark-btn.fav-btn{padding:0;width:40px}
.mark-btn[aria-pressed=true]{background:var(--ink);color:#fff}
.mark-btn[aria-pressed=true] .icon{fill:currentColor}
.mark-btn.pop .icon,.like-wide.pop .icon{animation:pop .5s var(--ease-back)}
.like-wide,.fav-wide{gap:10px!important;padding:0 22px!important;justify-content:center!important}
.like-wide .icon,.fav-wide .icon{width:18px;height:18px}
.like-wide[aria-pressed=true] .icon,.fav-wide[aria-pressed=true] .icon{fill:currentColor}
.like-wide::before{content:none}
.project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:6px}
.project-actions .btn-sm{min-height:40px}
.interest-note{margin:8px 0 0;font-size:14px}
.contacts-form .text-button{justify-self:start;min-height:0}
.investor-intro{display:grid;gap:4px;margin-bottom:8px}
.investor-intro h3{font-family:var(--display);font-weight:600;font-size:28px;text-transform:uppercase;line-height:1}
.interest-form{margin:0 clamp(20px,3vw,40px) 40px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
#submit-dialog .account-notice{margin:12px clamp(20px,3vw,40px) 0;font-size:14px}
.announce{position:relative;z-index:111;background:var(--ink);color:var(--paper);text-align:center;font-size:14px;font-weight:600;line-height:1.4}
.announce-link{display:block;padding:10px var(--edge)}
.announce-link[href]{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.badge-featured{background:var(--white);color:var(--ink)}
.dash-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 20px;padding:20px 22px;border-radius:var(--r);background:var(--ink);color:#fff;transition:transform .4s var(--ease)}
.dash-entry:hover{transform:translateY(-2px)}
.dash-entry-text{display:grid;gap:4px}
.dash-entry-text strong{font-family:var(--display);font-weight:600;font-size:26px;line-height:1;text-transform:uppercase}
.dash-entry-text span{font-size:14px;color:#ffffffb3}
.dash-entry-ico{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ink)}
.dash-entry-ico .icon{width:20px;height:20px}
.badge{position:absolute;top:14px;left:14px;z-index:2;padding:7px 12px;border-radius:var(--pill);background:var(--ink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.card-body{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px 60px 0 0}
.card-tags{display:flex;flex-wrap:wrap;gap:0;order:-1;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tag+.tag::before{content:"/";margin:0 8px;opacity:.5}
.pcard h3{font-family:var(--display);font-weight:600;font-size:clamp(26px,2.2vw,36px);line-height:1;text-transform:uppercase;overflow-wrap:anywhere}
.pcard h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.pcard h3 a:focus-visible{outline:none}
.pcard:has(h3 a:focus-visible) .card-visual{outline:2px solid var(--fg);outline-offset:4px}
.card-goal{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.card-goal::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.card-text{color:var(--muted);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.card-arrow{position:absolute;right:0;top:18px;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line-strong);border-radius:50%;transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s}
.card-arrow .icon{width:18px;height:18px;transition:transform .55s var(--ease)}
.pcard .favorite{z-index:3}
.js .pcard.reveal .card-visual{clip-path:inset(100% 0 0 0 round var(--r))}
.js .pcard.reveal .card-body{opacity:0;transform:translateY(16px)}
.js .pcard.reveal.is-in .card-visual{clip-path:inset(0 0 0 0 round var(--r));transition:clip-path 1.2s var(--ease-io) var(--reveal-delay,0ms)}
.js .pcard.reveal.is-in .card-body{opacity:1;transform:none;transition:opacity .8s calc(var(--reveal-delay,0ms) + .35s),transform 1s var(--ease) calc(var(--reveal-delay,0ms) + .35s)}
.empty{grid-column:1/-1;padding:72px 28px;text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r)}
.empty strong{font-family:var(--display);font-size:clamp(32px,4vw,56px);font-weight:600;text-transform:uppercase;line-height:1}
.empty p{margin-top:10px;color:var(--muted)}

/* ------------------------------------------------ как это работает */
.how{padding-block:clamp(40px,6vw,96px) clamp(80px,10vw,160px)}
.how-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(32px,6vw,120px);align-items:start}
.how-aside{position:sticky;top:calc(var(--header-h) + 32px);display:grid;gap:24px;justify-items:start}
.how-aside .display{font-size:clamp(56px,7.6vw,128px)}
.how-note{max-width:34ch;font-size:17px;color:var(--muted)}
.steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.step{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:clamp(20px,2.4vw,36px);row-gap:6px;padding:clamp(28px,3.2vw,48px) clamp(8px,1.4vw,24px);border-bottom:1px solid var(--line);isolation:isolate;overflow:hidden;transition:color .55s var(--ease-io)}
.step::before{content:"";position:absolute;inset:0;background:var(--fg);transform:scaleY(0);transform-origin:50% 100%;transition:transform .6s var(--ease-io);z-index:-1}
.step-ico{grid-row:1/3;display:grid;place-items:center;width:clamp(52px,4.6vw,72px);height:clamp(52px,4.6vw,72px);border:1px solid var(--line-strong);border-radius:50%;transition:background-color .55s var(--ease-io),color .55s var(--ease-io),border-color .55s,transform .7s var(--ease)}
.step-ico .icon{width:26px;height:26px}
.step h3{font-family:var(--display);font-weight:600;font-size:clamp(30px,3.2vw,54px);line-height:1;text-transform:uppercase;align-self:end}
.step p{font-size:16px;color:var(--muted);max-width:44ch;transition:color .55s var(--ease-io)}
.js .step.reveal{opacity:0;transform:translateY(32px)}
.js .step.reveal.is-in{opacity:1;transform:none;transition:opacity .9s var(--reveal-delay,0ms),transform 1.1s var(--ease) var(--reveal-delay,0ms)}

/* ------------------------------------------------ для кого: раскрывающиеся панели */
.audience{padding-block:clamp(80px,10vw,160px) clamp(60px,8vw,120px)}
.panels{display:flex;gap:clamp(8px,.8vw,14px);height:clamp(460px,44vw,640px)}
.panel{position:relative;flex:1 1 0;min-width:0;border-radius:var(--r);overflow:hidden;background:#1a1a1a;color:#fff;cursor:pointer;outline-offset:4px;transition:flex-grow .9s var(--ease-io)}
.panel.is-open{flex-grow:3.4}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.7);transform:scale(1.12);transition:filter 1s var(--ease),transform 1.4s var(--ease)}
.panel.is-open img{filter:grayscale(0) brightness(.62);transform:scale(1)}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 30%,#000000b3)}
.panel-body{position:absolute;inset:auto 0 0 0;z-index:1;display:grid;gap:12px;padding:clamp(18px,2vw,32px)}
.panel-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ink)}
.panel-ico .icon{width:22px;height:22px}
.panel h3{font-family:var(--display);font-weight:600;font-size:clamp(26px,2.6vw,46px);line-height:1;text-transform:uppercase;white-space:nowrap}
.panel p{max-width:36ch;color:#ffffffd1;font-size:16px;opacity:0;transform:translateY(16px);transition:opacity .4s,transform .6s var(--ease)}
.panel.is-open p{opacity:1;transform:none;transition:opacity .6s .45s,transform .9s var(--ease) .45s}
.panel:not(.is-open) h3{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(24px,2vw,34px)}
.panel:not(.is-open) .panel-body{inset:0;align-content:space-between;justify-items:start}

/* ------------------------------------------------ призыв */
.cta{padding-block:clamp(60px,8vw,120px) clamp(80px,10vw,160px)}
.cta-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px clamp(24px,4vw,64px)}
.cta-title{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(64px,10vw,180px);line-height:.86;letter-spacing:-.01em;max-width:9ch}
.cta-orb{position:relative;display:grid;place-items:center;width:clamp(180px,17vw,250px);aspect-ratio:1;border:0;border-radius:50%;background:none;color:var(--fg)}
.orb-text{position:absolute;inset:0;width:100%;height:100%;animation:spin 16s linear infinite}
.orb-text text{font-family:var(--display);font-size:14px;font-weight:500;letter-spacing:.06em;fill:currentColor}
.orb-core{display:grid;place-items:center;width:44%;aspect-ratio:1;border-radius:50%;background:var(--fg);color:var(--pg);transition:transform .7s var(--ease-back),background-color .7s var(--ease),color .7s var(--ease)}
.orb-core .icon{width:34%;height:34%;transition:transform .7s var(--ease)}
.cta-note{grid-column:1/-1;color:var(--muted);font-size:17px;line-height:1.5}
@keyframes spin{to{transform:rotate(360deg)}}

/* ------------------------------------------------ подвал */
.site-footer{padding-top:clamp(40px,5vw,72px);overflow:hidden}
.footer-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-bottom:clamp(24px,3vw,40px);border-bottom:1px solid var(--line)}
.footer-nav{display:flex;flex-wrap:wrap;gap:6px 28px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.footer-nav a{padding:8px 0}
.footer-credit{color:var(--muted);font-size:14px}
.footer-credit .text-button{min-height:0}
.footer-word{display:flex;justify-content:space-between;padding:0 var(--edge);font-family:var(--display);font-weight:700;font-size:clamp(150px,36vw,640px);line-height:.76;margin-top:clamp(20px,3vw,48px);margin-bottom:-.02em;overflow:hidden}
.footer-word span{display:block}
.js .footer-word span{transform:translateY(100%)}
.js .footer-word.is-in span{transform:none;transition:transform 1.3s var(--ease-io)}
.js .footer-word.is-in span:nth-child(2){transition-delay:.08s}
.js .footer-word.is-in span:nth-child(3){transition-delay:.16s}
.js .footer-word.is-in span:nth-child(4){transition-delay:.24s}

/* ------------------------------------------------ наверх */
.to-top{position:fixed;right:clamp(14px,2.4vw,32px);bottom:calc(clamp(14px,2.4vw,32px) + env(safe-area-inset-bottom));z-index:90;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:0;background:var(--fg);color:var(--pg);opacity:0;transform:translateY(20px) scale(.8);transition:opacity .4s var(--ease),transform .6s var(--ease-back),background-color .7s,color .7s}
.to-top.is-visible{opacity:1;transform:none}
.to-top .icon{width:22px;height:22px}

/* ------------------------------------------------ появление при прокрутке */
.js .reveal:not(.pcard):not(.step){opacity:0;transform:translateY(28px)}
.js .reveal.is-in:not(.pcard):not(.step){opacity:1;transform:none;transition:opacity .9s var(--ease) var(--reveal-delay,0ms),transform 1.1s var(--ease) var(--reveal-delay,0ms)}
.js [data-split] .w-in{transform:translateY(105%)}
.js [data-split].is-in .w-in{transform:none;transition:transform 1.1s var(--ease-io) calc(var(--i,0) * 70ms)}

/* ------------------------------------------------ окна (боковая панель) */
dialog{--pg:var(--paper);--fg:var(--ink);--muted:var(--gray);width:min(100%,620px);max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;border:0;padding:0;background:var(--paper);color:var(--ink);overscroll-behavior:contain}
dialog[open]{display:flex;flex-direction:column}
dialog > *{padding-inline:clamp(20px,3vw,40px)}
dialog::backdrop{background:#0d0d0d99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#detail-content{padding-inline:0}
#detail-content > *{padding-inline:clamp(20px,3vw,40px)}
body:has(dialog[open]){overflow:hidden}
.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:22px 18px;background:var(--paper);border-bottom:1px solid var(--line)}
.modal-head h2{font-family:var(--display);font-weight:600;font-size:clamp(30px,3.4vw,44px);line-height:1;text-transform:uppercase;overflow-wrap:break-word;hyphens:auto;min-width:0}
.modal-head .eyebrow{display:block;margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.modal-head .icon-btn{width:48px;height:48px}
#account-content,#project-form,.modal-intro,.credits-list{padding-bottom:4px}
#account-content{padding-block:8px 40px}
.modal-intro{margin:20px 0 4px;color:var(--muted);font-size:16px}
.project-form{display:grid;gap:20px;padding-block:20px 40px}
.project-form label{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.project-form :is(input:not([type=checkbox]):not([type=file]),select,textarea){display:block;width:100%;min-height:54px;margin-top:8px;padding:14px 16px;border:1px solid #d3d1cb;border-radius:var(--r-sm);background:var(--white);font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;transition:border-color .25s,box-shadow .25s}
.project-form select{appearance:none;background:var(--white) url(../assets/chevron.svg) no-repeat right 14px center/18px;padding-right:44px}
.project-form :is(input,select,textarea):hover{border-color:#a9a7a1}
.project-form :is(input,select,textarea):focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px #0d0d0d14}
.project-form textarea{resize:vertical;min-height:96px;line-height:1.5}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.optional{display:block;margin-top:2px;font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted);font-weight:400}
.upload{display:grid;gap:8px;padding:22px;border:1.5px dashed #bdbab3;border-radius:var(--r);background:var(--white);transition:border-color .3s,background-color .3s}
.upload:hover,.upload:focus-within{border-color:var(--ink)}
.upload input[type=file]{max-width:100%;font-size:14px}
.upload input::file-selector-button{height:42px;margin-right:12px;padding:0 20px;border:1px solid var(--ink);border-radius:var(--pill);background:var(--ink);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .3s,color .3s}
.upload input::file-selector-button:hover{background:transparent;color:var(--ink)}
#photo-hint{font-size:13px;color:var(--muted)}
.upload img{max-height:240px;width:auto;border-radius:var(--r-sm);object-fit:contain}
.project-form .consent{display:flex;align-items:flex-start;gap:12px;font-size:15px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.4}
.consent input{appearance:none;flex:none;width:22px;height:22px;margin:0;border:1.5px solid var(--ink);border-radius:6px;background:var(--white);cursor:pointer;transition:background-color .2s,box-shadow .2s}
.consent input:checked{background:var(--ink);box-shadow:inset 0 0 0 4px var(--white)}
.form-error{padding:12px 16px;border-left:3px solid var(--ink);background:var(--white);font-weight:600}
.code-input{font-family:var(--display)!important;font-size:34px!important;letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;font-weight:500!important}
.auth-links{display:flex;flex-wrap:wrap;gap:4px 22px}
.auth-help{display:grid;gap:2px;margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}
.auth-help-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 14px;font-size:14px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}
.auth-help-row .text-button{font-size:14px;color:var(--ink)}
.auth-help-row .text-button:disabled{color:var(--muted)}
.auth-help-note{padding:10px 14px;border-left:3px solid var(--ink);background:var(--white);font-size:14px}
.auth-suggest{display:flex}
.auth-domains{font-size:13px;line-height:1.5;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}
.dev-notice{border-left-color:var(--ink)!important}
.spam-notice{font-size:14px;line-height:1.5;color:var(--ink-2)}
.spam-notice strong{font-weight:700;color:var(--ink)}
.detail-img{width:100%;aspect-ratio:4/3;object-fit:cover;margin:22px 0;border-radius:var(--r);background:#ddd;padding:0!important;width:calc(100% - 2*clamp(20px,3vw,40px));margin-inline:clamp(20px,3vw,40px)}
.detail-blocks{display:grid;gap:22px;overflow-wrap:anywhere}
.detail-blocks > div{display:grid;gap:6px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.detail-blocks h3{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.detail-blocks p{white-space:pre-wrap;font-size:17px;line-height:1.5}
.detail-actions{display:flex;flex-wrap:wrap;gap:10px;padding-block:24px 40px}
.contact-link{font-weight:600;text-decoration:underline;text-underline-offset:4px}
.credits-list{list-style:none;padding-block:16px 40px;margin:0;display:grid}
.credits-list a{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-weight:500}
.toast{position:fixed;z-index:260;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:15px 26px;border-radius:var(--pill);background:var(--ink);color:#fff;box-shadow:0 20px 50px #0000004d;text-align:center;font-weight:600;font-size:15px;animation:toast-in .55s var(--ease-back)}
@keyframes toast-in{from{opacity:0;transform:translate(-50%,24px) scale(.9)}}
.account-profile{margin:18px 0;color:var(--muted);overflow-wrap:anywhere}
.account-profile strong{color:var(--ink);font-weight:600}
.account-actions{display:flex;flex-wrap:wrap;gap:10px}
.account-panel{margin-top:22px}
.account-tabs{display:flex;gap:2px;width:max-content;max-width:100%;padding:4px;border:1px solid #d3d1cb;border-radius:var(--pill);background:var(--white);overflow-x:auto;scrollbar-width:none}
.account-tabs .chip{color:var(--ink);height:40px;padding:0 18px;transition:background-color .35s var(--ease-io),color .35s var(--ease-io)}
.account-tabs .chip[aria-pressed=true]{background:var(--ink);color:#fff}
.account-notice{margin:18px 0 0;padding:14px 18px;border-left:3px solid var(--ink);background:var(--white);border-radius:0 var(--r-sm) var(--r-sm) 0}
.cabinet-footer{margin-top:28px;padding-top:14px;border-top:1px solid var(--line)}
.cabinet-project{display:grid;gap:6px;margin-top:12px;padding:20px 22px;border:1px solid #dcdad4;border-radius:var(--r);background:var(--white);overflow-wrap:anywhere}
.cabinet-project h3{font-family:var(--display);font-weight:600;font-size:26px;line-height:1.05;text-transform:uppercase}
.cabinet-project h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.card-meta{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.member-email{color:var(--muted)}
.review-reason{margin-top:6px;padding:10px 14px;border-left:3px solid var(--ink);background:var(--paper)}
.cabinet-project .btn{margin-top:10px}
.review-photo{max-height:280px;width:auto;object-fit:contain;margin:10px 0;border-radius:var(--r-sm)}
.review-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;font-size:14px;margin:0 0 12px}
.review-facts dt{font-weight:600}
.review-facts dd{margin:0;white-space:pre-wrap}
.review-note{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.review-note textarea{display:block;width:100%;margin:8px 0 12px;padding:12px 14px;border:1px solid #d3d1cb;border-radius:var(--r-sm);background:var(--paper);font-weight:400;letter-spacing:0;text-transform:none}
#account-content select{height:44px;padding:0 40px 0 14px;border:1px solid #d3d1cb;border-radius:var(--pill);background:var(--white) url(../assets/chevron.svg) no-repeat right 12px center/16px;appearance:none;font-weight:600}

.pcard.is-live .card-media img{filter:grayscale(0) contrast(1);transform:scale(1)}
.hero-media.is-live img{filter:grayscale(0) contrast(1)}
.pcard.is-live .card-arrow{background:var(--fg);color:var(--pg);border-color:var(--fg)}

/* ------------------------------------------------ наведение (только мышь) */
@media (hover:hover) and (pointer:fine){
  .pager-num:hover,.pager-step:hover:not(:disabled){border-color:var(--fg)}
  .mark-btn:hover{transform:translateY(-2px)}
  .mark-btn:hover .icon{transform:scale(1.12)}
  .roll-host:hover .roll-in,a:hover > .roll .roll-in,button:hover > .roll .roll-in{transform:translateY(-100%)}
  .main-nav a:hover::after{transform:scaleX(1);transform-origin:0 50%}
  .icon-btn:hover{color:var(--pg);border-color:var(--fg)}
  .icon-btn:hover::before{transform:scale(1)}
  .favorite:hover{color:#fff}
  .btn:hover:not(:disabled)::before{transform:translateY(0);border-radius:0}
  .btn-dark:hover:not(:disabled),.btn-blue:hover:not(:disabled){color:var(--fg)}
  .btn-dark:hover:not(:disabled) .btn-ico,.btn-blue:hover:not(:disabled) .btn-ico{background:var(--fg);color:var(--pg)}
  .btn-light:hover:not(:disabled),.btn-outline:hover:not(:disabled){color:var(--pg)}
  .btn-light:hover:not(:disabled) .btn-ico,.btn-outline:hover:not(:disabled) .btn-ico{background:var(--pg);color:var(--fg)}
  .btn:hover:not(:disabled) .btn-ico .icon{transform:rotate(45deg)}
  .text-button:hover{text-underline-offset:8px}
  .pcard:hover .card-media img{filter:grayscale(0) contrast(1);transform:scale(1)}
  .pcard:hover .card-arrow{background:var(--fg);color:var(--pg);border-color:var(--fg)}
  .pcard:hover .card-arrow .icon{transform:rotate(45deg)}
  .step:hover{color:var(--pg)}
  .step:hover::before{transform:scaleY(1)}
  .step:hover p{color:color-mix(in srgb,var(--pg) 72%,transparent)}
  .step:hover .step-ico{background:var(--pg);color:var(--fg);border-color:var(--pg);transform:rotate(-12deg) scale(1.06)}
  .cta-orb:hover .orb-core{transform:scale(1.18)}
  .cta-orb:hover .orb-core .icon{transform:rotate(45deg)}
  .to-top:hover{transform:translateY(-4px)}
  .credits-list a:hover{padding-left:10px;transition:padding .4s var(--ease)}
  .has-cursor [data-cursor],.has-cursor [data-cursor] *{cursor:none}
}

/* ------------------------------------------------ адаптив */
@media (max-width:1180px){
  .main-nav{display:none}
  .menu-toggle{display:block}
  .search{max-width:300px}
}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .lead{max-width:44ch}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .how-grid{grid-template-columns:1fr}
  .how-aside{position:static}
  .manifesto{grid-template-columns:1fr}
  .panels{flex-direction:column;height:auto}
  .panel{flex:none;height:96px;transition:height .9s var(--ease-io)}
  .panel.is-open{height:min(440px,110vw)}
  .panel:not(.is-open) h3{writing-mode:horizontal-tb;transform:none}
  .panel:not(.is-open) .panel-body{inset:0;grid-template-columns:auto 1fr;align-items:center;align-content:center}
  .panel:not(.is-open) p{display:none}
  .panel:not(.is-open) .panel-ico{width:44px;height:44px}
  .panel h3{white-space:normal}
  .cta-inner{grid-template-columns:1fr}
  .cta-orb{justify-self:end;margin-top:-40px}
}
@media (max-width:720px){
  :root{--header-h:64px}
  .header-row{flex-wrap:wrap;gap:8px;padding-block:8px}
  .brand{margin-right:auto}
  .brand img{height:36px}
  .search{order:5;flex-basis:100%;max-width:none;margin:0 0 4px}
  .header-account,.header-add{display:none}
  .menu-open .search{display:none}
  .hero-meta{font-size:11px}
  .hero-scroll{display:none}
  .hero-meta-mid{display:none}
  .hero-title{font-size:clamp(46px,15.2vw,120px);line-height:.9}
  .line:nth-child(2){padding-left:0}
  .hero-title em{-webkit-text-stroke-width:1.5px}
  .hero-media{aspect-ratio:4/5}
  .hero-chip{font-size:13px;padding:6px 14px 6px 6px}
  .hero-chip .icon{width:28px;height:28px;padding:6px}
  .chip-a{left:12px;bottom:12px}.chip-b{right:12px;top:12px}
  .hero-actions .btn{flex:1 1 100%}
  .hero-stats dd{font-size:42px}
  .field-row{grid-template-columns:1fr}
  .toolbar{flex-direction:column;align-items:stretch}
  .filters{margin-inline:calc(var(--edge) * -1);border-radius:0;border-inline:0;padding-inline:var(--edge)}
  .filters-ink{left:0}
  .filter-select,.filter-select select{width:100%}
  .cta-title{font-size:clamp(56px,17vw,120px)}
  .cta-orb{width:160px;justify-self:end}
  .orb-text text{font-size:15px}
}
@media (max-width:600px){
  .cards{grid-template-columns:1fr;gap:44px}
  .card-media{aspect-ratio:1/1.05}
  .step{grid-template-columns:1fr;row-gap:14px}
  .step-ico{grid-row:auto}
  .modal-head h2{font-size:clamp(22px,7vw,30px)}
  .grain{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0ms!important;animation:none!important}
  .js .hero .line-in,.js .hero [data-hero-fade],.js [data-split] .w-in,.js .footer-word span,.js .reveal{transform:none!important;opacity:1!important}
  .js .hero-media,.js .pcard.reveal .card-visual{clip-path:none!important}
  .js .hero-chip,.js .pcard.reveal .card-body,.js .step.reveal{opacity:1!important;scale:1!important;transform:none!important}
  .js .manifesto-text .fw{opacity:1}
}

/* ------------------------------------------------ выпадающие списки в стиле сайта */
.ui-select{position:relative;display:block;min-width:0}
.ui-select-native{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0;pointer-events:none;margin:0!important}
.ui-select-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:0 18px 0 22px;border:1px solid var(--line);border-radius:var(--pill);background:transparent;color:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:border-color .3s,background-color .45s var(--ease-io),color .45s var(--ease-io)}
.ui-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-select-chev{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--ease-io)}
.ui-select.is-open .ui-select-chev{transform:rotate(180deg)}
.ui-select-btn:hover,.ui-select.is-open .ui-select-btn{border-color:var(--fg)}
.ui-select.has-value .ui-select-btn{background:var(--fg);color:var(--pg);border-color:var(--fg)}
.ui-select-list{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:60;min-width:220px;max-height:320px;margin:0;padding:6px;list-style:none;overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 24px 60px #0000002e;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:50% 0;transition:opacity .25s var(--ease),transform .35s var(--ease),visibility .25s;outline:none}
.ui-select.drop-up .ui-select-list{top:auto;bottom:calc(100% + 8px);transform-origin:50% 100%;transform:translateY(6px) scale(.98)}
.ui-select.is-open .ui-select-list{opacity:1;visibility:visible;transform:none}
.ui-select-list li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;isolation:isolate;overflow:hidden;transition:color .3s var(--ease-io)}
.ui-select-list li::before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease-io);z-index:-1}
.ui-select-list li.is-active{color:#fff}
.ui-select-list li.is-active::before{transform:scaleX(1)}
.ui-select-list li[aria-selected=true]::after{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:currentColor}
.ui-select-list li.is-empty{color:var(--gray)}
.ui-select-list li.is-empty.is-active{color:#fff}
.filter-select{display:block;min-width:220px}
.project-form .ui-select{margin-top:8px}
.project-form .ui-select-btn{min-height:54px;border-radius:var(--r-sm);border-color:#d3d1cb;background:var(--white);font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;padding:0 14px 0 16px}
.project-form .ui-select.has-value .ui-select-btn{background:var(--white);color:var(--ink);border-color:#d3d1cb}
.project-form .ui-select-btn:hover,.project-form .ui-select.is-open .ui-select-btn{border-color:var(--ink)}
.project-form .ui-select-list{letter-spacing:0;text-transform:none}
#account-content .ui-select{display:inline-block;min-width:200px}

/* анимированные крестики */
.modal-head .icon-btn .icon,.icon-btn[data-close] .icon{transition:transform .5s var(--ease-io)}
@media (hover:hover) and (pointer:fine){
  .modal-head .icon-btn:hover .icon,.icon-btn[data-close]:hover .icon{transform:rotate(90deg)}
}

.toolbar{position:relative;z-index:20}
.toolbar:has(.ui-select.is-open){z-index:40}

.toast.is-leaving{animation:toast-out .38s var(--ease-io) forwards}
@keyframes toast-out{to{opacity:0;transform:translate(-50%,20px) scale(.94)}}
