/* Общий слой ПРОстранства: кнопка темы, 3D-карусель, подсветка за курсором, светлая тема главной.
   Тёмная тема и фирменные цвета (графит, бирюза, красная обводка #E3213B) НЕ меняются — светлая только добавляется. */

/* ---------- кнопка темы ---------- */
.ps-theme{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;min-width:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line,#2c3639);
  background:rgba(32,40,43,.7);color:var(--fg,#eef2f2);font:600 13px/1 inherit;font-family:inherit;cursor:pointer;order:4;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .2s}
.ps-theme:hover{transform:scale(1.06);border-color:#3fb8b0}
.ps-theme svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ps-theme.fixed{position:fixed;top:12px;right:12px;z-index:90}
@media (max-width:560px){.ps-theme span{display:none}.ps-theme{padding:0;width:40px}}
html[data-theme="light"] .ps-theme{background:rgba(255,255,255,.85);color:#15191b;border-color:rgba(20,28,32,.18)}

/* ---------- 3D-карусель (из хаба Митекса/партнёрки) ---------- */
.ps-car{position:relative;margin:4px 0 6px;outline:0}
.ps-stage.ps-stage{position:relative;display:block!important;overflow:hidden!important;perspective:1300px;touch-action:pan-y;user-select:none;margin:0!important;padding:0!important;height:var(--h,380px);
  grid-template-columns:none;flex:none;scroll-snap-type:none!important;overscroll-behavior:auto}  /* ! — на телефоне старые правила #objects .objs делали сцену прокручиваемой лентой */
.ps-stage.ps-stage::before{content:"";position:absolute;left:50%;top:50%;width:min(560px,100%);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  border:1px solid rgba(63,184,176,.25);box-shadow:inset 0 0 0 50px rgba(63,184,176,.04);pointer-events:none}
.ps-stage.ps-stage>.ps-s{position:absolute;left:50%;top:10px;width:min(var(--sw,320px),76%);margin:0 0 0 calc(min(var(--sw,320px),76%)/-2);flex:none;scroll-snap-align:none;cursor:pointer;
  transform:translate3d(var(--x,0),var(--y0,0),var(--z,0)) rotateY(var(--r,0deg)) scale(var(--s,1));opacity:var(--o,1);filter:blur(var(--blr,0));
  transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s,filter .6s,border-color .3s,box-shadow .35s;will-change:transform}
.ps-stage.ps-stage>.ps-s:hover{transform:translate3d(var(--x,0),var(--y0,0),var(--z,0)) rotateY(var(--r,0deg)) scale(var(--s,1))}
.ps-car:not(.ready) .ps-s{opacity:0!important}
.ps-s.on{cursor:default;box-shadow:0 30px 70px -30px rgba(63,184,176,.5)}
.ps-s:not(.on) a,.ps-s:not(.on) button{pointer-events:none}
.ps-ctl{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto 0;max-width:420px;border:1px solid var(--line,#2c3639);border-radius:999px;padding:6px}
.ps-ctl .arw{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--line,#2c3639);background:transparent;color:var(--teal,#3fb8b0);font-size:18px;line-height:1;font-family:inherit;cursor:pointer}
.ps-ctl .arw:hover{background:rgba(63,184,176,.14)}
.ps-dots{display:flex;gap:8px;align-items:center}
.ps-dots button{width:8px;height:8px;border-radius:99px;border:0;padding:0;background:var(--mut,#93a3a6);opacity:.5;cursor:pointer;transition:width .3s,opacity .3s,background .3s}
.ps-dots button.on{width:24px;opacity:1;background:var(--teal,#3fb8b0)}
.ps-cnt{font-weight:600;font-size:14px;color:var(--teal,#3fb8b0);white-space:nowrap}.ps-cnt span{color:var(--mut,#93a3a6);font-weight:400}
.ps-tm{flex:1;min-width:20px;height:2px;background:rgba(127,127,127,.25);overflow:hidden;border-radius:2px}
.ps-tm i{display:block;height:100%;background:var(--teal,#3fb8b0);transform:scaleX(0);transform-origin:left}
.ps-car.run .ps-tm i{animation:pst 5.2s linear forwards}
@keyframes pst{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.ps-stage>.ps-s{transition:none!important}}

/* ---------- подсветка за курсором на остальных блоках ---------- */
.svc,.partner,.appnav button,.qz{position:relative}
.hero::after,.svc::after,.partner::after,.appnav button::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(63,184,176,.2),transparent 70%)}
.hero:hover::after,.svc:hover::after,.partner:hover::after,.appnav button:hover::after{opacity:1}

/* ================= СВЕТЛАЯ ТЕМА ГЛАВНОЙ (data-theme=light) ================= */
html[data-theme="light"]{color-scheme:light;--bg:#eef4f4;--bg2:#e0ebeb;--card:#fff;--line:#c9d8d8;--fg:#15191b;--mut:#55666a;--teal-glow:#cdeeed}
html[data-theme="light"] .logo img{filter:invert(1) hue-rotate(180deg)}
html[data-theme="light"] .top{background:radial-gradient(90% 70% at 85% -10%,#a9e3df 0%,#d4f0ee 40%,transparent 75%),radial-gradient(60% 50% at 0% 0%,#cfe9e8 0%,transparent 70%),var(--bg)}
html[data-theme="light"] .hero{background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(238,244,244,.92))}
html[data-theme="light"] .tag,html[data-theme="light"] .row .meta,html[data-theme="light"] .logo b,html[data-theme="light"] h1 em,html[data-theme="light"] .perks b,html[data-theme="light"] .sent,html[data-theme="light"] .consent a,html[data-theme="light"] .obj.ba .ba-l{color:#1f7f79}
html[data-theme="light"] .tag{border-color:#8fcfca}
html[data-theme="light"] .band.a{background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%)}
html[data-theme="light"] .band.b{background:linear-gradient(180deg,#cdeeed 0%,var(--bg2) 55%,var(--bg) 100%)}
html[data-theme="light"] .band.c{background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}
html[data-theme="light"] .band.d{background:linear-gradient(180deg,var(--bg2) 0%,#cdeeed 100%)}
html[data-theme="light"] footer{background:#cdeeed}
html[data-theme="light"] .band.l{--bg2:#dfe9e9;--card:#fff;--line:rgba(20,28,32,.14);--mut:#4a5a5e}
html[data-theme="light"] #quiz,html[data-theme="light"] #reviews{background:linear-gradient(180deg,#eef4f4 0,#e6efef 100%)}
html[data-theme="light"] #team{background:linear-gradient(180deg,#e6efef 0,#e0ebeb 100%)}
html[data-theme="light"] #objects{background:linear-gradient(180deg,#e0ebeb 0,#e6efef 100%)}
html[data-theme="light"] #how{background:linear-gradient(180deg,#e6efef 0,#e6efef calc(100% - 200px),#cdeeed 100%)}
html[data-theme="light"] #tips{background:linear-gradient(180deg,#e6efef 0,#e6efef calc(100% - 200px),#e0ebeb 100%)}
html[data-theme="light"] #works{background:#e6efef}
html[data-theme="light"] #calc{background:linear-gradient(180deg,#e6efef 0,#e0ebeb 100%)}
html[data-theme="light"] .calcbox{background:#fff} html[data-theme="light"] .cb-head{background:#fff}
html[data-theme="light"] .note,html[data-theme="light"] .stats span,html[data-theme="light"] .perks li,html[data-theme="light"] .soc a,html[data-theme="light"] .burger{background:rgba(255,255,255,.75)}
html[data-theme="light"] header nav{background:#fff}
@media (min-width:561px){html[data-theme="light"] header nav{background:none}}
html[data-theme="light"] .objs-nav{background:rgba(255,255,255,.92)}
html[data-theme="light"] .video{box-shadow:0 0 0 8px rgba(238,244,244,.9),0 0 0 9px rgba(63,184,176,.4)}
html[data-theme="light"] .band:not(.l) .card,html[data-theme="light"] .band:not(.l) .row{box-shadow:0 1px 2px rgba(20,30,40,.08),0 14px 28px -18px rgba(20,30,40,.3)}
@media (hover:hover){
  html[data-theme="light"] .band:not(.l) .card:hover,html[data-theme="light"] .band:not(.l) .row:hover{background:#fff;border-color:#E3213B;border-style:solid;box-shadow:0 18px 34px -20px rgba(227,33,59,.45)}
}
html[data-theme="light"] .band:not(.l) .card:active,html[data-theme="light"] .band:not(.l) .row:active{background:#fff}
html[data-theme="light"] .photo-break{background:linear-gradient(180deg,#e6efef 0,rgba(21,25,27,.55) 90px,rgba(21,25,27,.6) calc(100% - 90px),#e6efef 100%),url("/img/tile-island.jpg") center/cover no-repeat}
html[data-theme="light"] .appnav button.on{background:linear-gradient(160deg,rgba(63,184,176,.18),#fff)}
html[data-theme="light"] .ps-s.on{box-shadow:0 30px 60px -34px rgba(31,111,111,.55)}
html[data-theme="light"] .hero::after,html[data-theme="light"] .svc::after,html[data-theme="light"] .partner::after,html[data-theme="light"] .appnav button::after{background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(63,184,176,.3),transparent 70%)}

/* ---------- карусель объектов: компактнее по высоте ---------- */
.ps-stage .obj .cover{aspect-ratio:3/2}
.ps-stage .obj .body{padding:12px 16px 4px}
.ps-stage .obj .thumbs{grid-template-columns:repeat(6,1fr);gap:4px;padding:8px 16px 12px}
.ps-stage .obj.ba .ba-l{padding:6px 16px 0}
.ps-stage .obj.ba .thumbs{padding:4px 16px 4px}
.ps-stage .obj.ba .thumbs:last-child{padding-bottom:12px}
.ps-stage .obj .thumbs a{border-radius:6px}

/* ---------- шапка главной на телефоне: логотип · меню, под ними «Зарегистрироваться» (в строку не влезает); тема и «Регистрация» — внутри меню ---------- */
.ps-theme.in-nav{display:none}
@media (max-width:560px){
  header .ps-theme:not(.in-nav){display:none}
  header .logo img{height:30px!important}
  header{padding-block:12px;gap:10px;flex-wrap:wrap}
  header .reg{order:4;width:100%;margin-left:0;text-align:center;padding:10px 20px;font-size:15px}
  header .burger{margin-left:0!important}
  header nav .ps-theme.in-nav{display:flex;width:100%;height:auto;justify-content:flex-start;gap:12px;padding:14px 18px;border:0;border-radius:18px;background:none;font-size:17px;font-weight:500;color:var(--mut)}
  header nav .ps-theme.in-nav span{display:inline}
  header nav a:last-of-type{color:var(--teal)}
}

/* ---------- «Как мы работаем»: фото сверху карточки и иконка шага ---------- */
#how .card{padding-top:0}
#how .card .shot{position:relative;margin:0 -20px 16px;aspect-ratio:16/9;overflow:hidden;background:var(--bg2)}
#how .card .shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
#how .card:hover .shot img{transform:scale(1.05)}
#how .card .ico{position:absolute;left:14px;top:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;
  background:var(--teal);color:var(--on-teal);box-shadow:0 8px 18px -8px rgba(0,0,0,.5)}
#how .card .ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* крупнее слайды «Как мы работаем»: фото выше, текст читаемее; на телефоне слайд шире */
#how .card .shot{aspect-ratio:16/10;margin-bottom:18px}
#how .card{padding-inline:24px;padding-bottom:26px}
#how .card .shot{margin-inline:-24px}
#how .card h3{font-size:22px}
#how .card p{font-size:16px}
@media (max-width:560px){.ps-stage.ps-stage>.ps-s{width:min(var(--sw,320px),86%);margin-left:calc(min(var(--sw,320px),86%)/-2)}}
