/* Editorial motion system: line reveals, reel fan, featured cases, inertial galleries. */
:root{--bg:#0d110e;--ink:#edf2e8;--sub:#a2afa0;--green:#b8ee79;--line:#344334;--black:#0c160a;--shade:#0008;--font:Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:clip}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:16px var(--font)}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,.rail:focus-visible{outline:2px solid var(--green);outline-offset:5px}
button:active{opacity:.8}
h1,h2,h3{font-weight:500;min-width:0;overflow-wrap:break-word}
.accent{color:var(--green)}
.line{display:block;overflow:clip;padding-bottom:.1em;margin-bottom:-.1em}
.line>span{display:block}

/* ---------- Шапка ---------- */
.nav{height:88px;max-width:1600px;margin:auto;padding:0 48px;display:flex;align-items:center;gap:40px;position:relative;z-index:4}
.brand{font-weight:600;letter-spacing:-.04em;white-space:nowrap}
.nav nav{margin-left:auto;display:flex;gap:30px;font-size:14px}
.nav-cta{border-radius:40px;padding:10px 18px;background:var(--green);color:var(--black);font-size:13px;white-space:nowrap;transition:transform .4s var(--ease)}
.nav-cta:hover{transform:translateY(-2px)}
.motion-switch{border:1px solid var(--line);border-radius:40px;padding:10px 16px;background:transparent;font-size:12px;white-space:nowrap}

/* ---------- Главный экран ---------- */
.hero{max-width:1600px;margin:auto;padding:20px 48px 90px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center;min-height:min(calc(100svh - 88px),900px)}
.hero h1{font-size:clamp(56px,7.4vw,128px);line-height:.94;letter-spacing:-.05em;margin:0}
.hero-note{display:flex;flex-direction:column;gap:30px;margin-top:40px}
.hero-note p{font-size:16px;color:var(--sub);line-height:1.5;margin:0}
.hero-links{display:flex;flex-wrap:wrap;gap:14px}
.hero-links a{font-size:14px;padding:14px 22px;border-radius:40px;border:1px solid var(--line);transition:transform .4s var(--ease),border-color .3s}
.hero-links a:hover{transform:translateY(-2px);border-color:var(--sub)}
.hero-links .hero-primary{background:var(--ink);color:var(--black);border-color:var(--ink)}
.hero-fan{position:relative;height:min(70svh,660px);min-height:420px;display:flex;justify-content:center;align-items:center;container-type:size}
.fan-card{position:absolute;width:min(38cqw,84cqh*9/16);aspect-ratio:9/16;border:0;padding:0;border-radius:16px;overflow:hidden;background:var(--line);box-shadow:0 30px 70px #000a;transition:transform .8s var(--ease),filter .5s}
.fan-card video{display:block;width:100%;height:100%;object-fit:cover}
.fan-card:nth-child(1){transform:translateX(-58%) rotate(-7deg);z-index:1;filter:brightness(.7)}
.fan-card:nth-child(2){width:min(46cqw,100cqh*9/16);z-index:2}
.fan-card:nth-child(3){transform:translateX(58%) rotate(7deg);z-index:1;filter:brightness(.7)}
.hero-fan:hover .fan-card:nth-child(1){transform:translateX(-70%) rotate(-9deg)}
.hero-fan:hover .fan-card:nth-child(3){transform:translateX(70%) rotate(9deg)}
.fan-card:hover{filter:none}
.hero-fan:hover .fan-card:nth-child(2){transform:scale(1.02)}
.fan-label{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:4px;padding:40px 16px 16px;text-align:left;background:linear-gradient(0deg,#000c,transparent);font-size:13px}
.fan-label span:last-child{color:var(--sub);font-size:11px}
.fan-card:nth-child(odd) .fan-label{opacity:0;transition:opacity .4s}
.fan-card:nth-child(odd):hover .fan-label{opacity:1}

/* ---------- Секции ---------- */
.section{max-width:1600px;margin:auto;padding:100px 48px 40px;scroll-margin-top:20px}
.section-heading{display:grid;grid-template-columns:1fr 3fr;gap:30px;margin-bottom:80px;align-items:start}
.side-label{font-size:14px;color:var(--sub);padding-top:10px}
.section-heading h2{font-size:clamp(42px,5.6vw,84px);line-height:1.03;letter-spacing:-.045em;margin:0}

/* ---------- Избранное ---------- */
.feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:70px;align-items:center;padding:60px 0;border-top:1px solid var(--line)}
.feature:nth-child(even) .feature-media{order:2}
.feature.vertical{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.feature.vertical .feature-media{width:min(100%,360px);justify-self:center}
.feature-media{position:relative;display:block;width:100%;border:0;padding:0;overflow:hidden;border-radius:10px;background:var(--line)}
.feature-media img,.feature-media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.feature-media video{position:absolute;inset:0;opacity:0;transition:opacity .4s}
.feature-media video.playing{opacity:1}
.feature-media:hover img{transform:scale(1.03)}
.feature-text{display:flex;flex-direction:column;align-items:flex-start}
.feature-num{font-size:13px;color:var(--green);margin-bottom:22px}
.feature-type{font-size:13px;color:var(--sub)}
.feature-text h3{font-size:clamp(34px,3.6vw,58px);letter-spacing:-.045em;line-height:1;margin:14px 0 22px}
.feature-text p{color:var(--sub);line-height:1.6;max-width:480px;margin:0 0 26px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 30px}
.chips li{font-size:12px;padding:7px 12px;border:1px solid var(--line);border-radius:30px}
.feature-open{background:var(--green);color:var(--black);border:0;padding:14px 22px;border-radius:30px;font-size:14px;display:flex;gap:24px;transition:transform .4s var(--ease)}
.feature-open:hover{transform:translateY(-2px)}

/* ---------- Ленты ---------- */
.rail-block{margin-bottom:100px}
.rail-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 0 25px}
.rail-heading h3{font-size:24px;letter-spacing:-.04em;margin:0}
.rail-actions{display:flex;align-items:center;gap:24px;font-size:12px;color:var(--sub)}
.rail-actions button{border:1px solid var(--line);border-radius:25px;background:transparent;padding:8px 15px;color:var(--ink)}
.rail{overflow-x:auto;scrollbar-width:none;cursor:grab;touch-action:pan-y;user-select:none}
.rail::-webkit-scrollbar{display:none}
.rail.dragging{cursor:grabbing}
.rail-track{display:flex;width:max-content;gap:18px;padding:6px 0 15px}
.film{width:clamp(190px,20vw,290px);flex:none;border:0;padding:0;background:none;text-align:left;transition:opacity .4s}
.film-media{display:block;position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:5px;background:var(--line)}
.landscape .film{width:clamp(300px,38vw,570px)}
.landscape .film-media{aspect-ratio:16/9}
.film-media img,.film-media video{width:100%;height:100%;object-fit:cover;display:block}
.film-media video{position:absolute;inset:0;opacity:0;transition:opacity .4s}
.film video.playing{opacity:1}
.film-meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:15px;font-size:13px}
.film-meta span:first-child{min-width:0}
.film-meta span:last-child{color:var(--sub);flex:none;font-size:12px}
.film-play{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;background:var(--shade);font-size:12px;transition:transform .4s var(--ease)}
.feature-media:hover .film-play{transform:scale(1.2)}
.film-media video{z-index:1}
.film-play{z-index:2}
.film .film-play{transition:transform .4s var(--ease),opacity .3s}
.film:hover .film-play,.film:focus-visible .film-play{opacity:0}
.film-info{position:absolute;inset:auto 0 0;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:40px 16px 16px;text-align:left;background:linear-gradient(0deg,#000000f5 0%,#000000e6 62%,#0000008c 82%,transparent);opacity:0;transform:translateY(16px);transition:transform .55s var(--ease),opacity .35s;pointer-events:none}
.film:hover .film-info,.film:focus-visible .film-info{opacity:1;transform:none}
.film-tag{font-size:11px;color:var(--green)}
.film-name{font-size:18px;letter-spacing:-.02em;line-height:1.15}
.film-about{font-size:12px;line-height:1.45;color:#d6ddd2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.film-more{font-size:12px;margin-top:4px;padding:6px 12px;border-radius:30px;background:var(--green);color:var(--black)}
.landscape .film-about{-webkit-line-clamp:2}
.ai-badge{position:absolute;top:12px;left:12px;z-index:4;padding:6px 11px;border-radius:30px;background:#0b0f0cb3;backdrop-filter:blur(8px);border:1px solid #ffffff2e;color:var(--ink);font-size:11px;letter-spacing:.01em;pointer-events:none}
.ai-badge::first-letter{color:var(--green)}


/* ---------- Обо мне ---------- */
.about{display:grid;grid-template-columns:1fr 3fr;gap:30px;align-items:start;padding-bottom:130px}
.about-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.about-head{display:flex;align-items:center;gap:48px;margin-bottom:46px}
.about-photo{position:relative;flex:none;margin:0;width:clamp(150px,13vw,200px);aspect-ratio:4/5;transform:rotate(-3deg);transition:transform .8s var(--ease)}
.about-photo:hover{transform:rotate(0deg) scale(1.03)}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:14px;box-shadow:0 25px 60px #000b}
.about-sticker{position:absolute;top:-14px;right:-26px;padding:8px 14px;border-radius:30px;background:var(--green);color:var(--black);font-size:13px;font-weight:600;transform:rotate(8deg);box-shadow:0 8px 24px #0006;white-space:nowrap}
.about-head h2{font-size:clamp(52px,6.4vw,104px);line-height:.98;letter-spacing:-.05em;margin:0}
.about-lead{font-size:clamp(18px,1.6vw,24px);line-height:1.5;color:var(--ink);max-width:720px;margin:0 0 46px}
.about-skills{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;width:100%;max-width:900px;padding-top:28px;border-top:1px solid var(--line);margin-bottom:14px}
.about-skills span{display:block;font-size:13px;color:var(--sub);margin-bottom:14px}
.about-skills .chips{margin:0}
.about-skills>div:last-child li{border-color:var(--green);color:var(--green)}
.about-cta{margin-top:30px}

/* ---------- Контакты ---------- */
.contact{background:var(--green);color:var(--black);padding:75px 48px 30px;overflow:clip}
.contact>div{max-width:1500px;margin:auto}
.contact p{font-size:14px}
.contact h2{font-size:clamp(60px,9vw,140px);line-height:.95;letter-spacing:-.05em;margin:55px 0}
.contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px 32px}
.contact-cta{display:inline-flex;gap:28px;align-items:center;padding:20px 30px;border-radius:50px;background:var(--black);color:var(--green);font-size:18px;transition:transform .5s var(--ease)}
.contact-cta:hover{transform:translateY(-3px)}
.contact-handle{font-size:clamp(22px,2.4vw,32px);letter-spacing:-.03em;border-bottom:1px solid currentColor;padding-bottom:4px}
.contact a:focus-visible{outline-color:var(--black)}
.contact .contact-note{max-width:440px;line-height:1.5;opacity:.75;margin-top:28px}
.footer-bottom{border-top:1px solid var(--black);display:flex;justify-content:space-between;padding-top:20px;margin-top:90px;font-size:13px}

/* ---------- Кейс ---------- */
dialog{border:0;padding:0;background:var(--bg);color:var(--ink);max-width:none;max-height:none}
dialog::backdrop{background:var(--shade);backdrop-filter:blur(8px)}
#project-dialog{width:100%;height:100%;margin:0;overflow-y:auto}
.dialog-bar{position:sticky;top:0;z-index:3;background:var(--bg);display:flex;justify-content:space-between;align-items:center;padding:20px 5%;border-bottom:1px solid var(--line);font-size:13px;color:var(--sub)}
.close{background:none;border:1px solid var(--line);border-radius:40px;padding:10px 18px;color:var(--ink)}
.project-body{max-width:1250px;margin:auto;padding:50px 40px 70px}
.project-tag{color:var(--green);font-size:14px;margin:0 0 14px}
.project-body h2{font-size:clamp(46px,6.5vw,96px);letter-spacing:-.045em;line-height:1;margin:0 0 40px}
#project-video{display:block;width:100%;height:auto;max-height:76vh;background:#000;border-radius:8px}
#project-video.is-vertical{width:auto;height:76vh;max-width:100%;margin:0 auto}
.project-details{display:grid;grid-template-columns:3fr 2fr;gap:70px;margin:50px 0;line-height:1.6}
.project-details span{display:block;color:var(--sub);font-size:13px;margin-bottom:10px}
.project-details p{margin:0 0 26px;font-size:18px}
#next-project{background:var(--green);color:var(--black);border:0;padding:16px 25px;border-radius:30px}

/* ---------- Анимация ---------- */
.motion-on .hero-copy .line>span{animation:line-in 1.2s var(--ease) both}
.motion-on .hero-copy .line:nth-child(2)>span{animation-delay:.13s}
.motion-on .hero-note{animation:soft-in .9s .7s var(--ease) both}
.motion-on .fan-card{animation:fan-in 1.2s var(--ease) both}
.motion-on .fan-card:nth-child(2){animation-delay:.25s}
.motion-on .fan-card:nth-child(1){animation-delay:.4s}
.motion-on .fan-card:nth-child(3){animation-delay:.5s}
@keyframes line-in{from{transform:translateY(115%)}to{transform:translateY(0)}}
@keyframes soft-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes fan-in{from{opacity:0;translate:var(--gather-x,0) 75px;rotate:var(--gather-turn,0deg);scale:.92}to{opacity:1;translate:0 0;rotate:0deg;scale:1}}
.motion-on.ready .reveal .line>span{transform:translateY(115%);transition:transform 1.15s var(--ease)}
.motion-on.ready .reveal.seen .line>span{transform:translateY(0)}
.motion-on.ready .reveal .line:nth-child(2)>span{transition-delay:.12s}
.motion-on.ready .rail-block{opacity:0;transform:translateY(55px);transition:opacity .8s,transform 1.1s var(--ease)}
.motion-on.ready .rail-block.seen{opacity:1;transform:translateY(0)}
.motion-on.ready .about .about-photo{opacity:0;translate:0 60px;transition:opacity .9s,translate 1.2s var(--ease),transform .8s var(--ease)}
.motion-on.ready .about.seen .about-photo{opacity:1;translate:0 0}
html:not(.motion-on){scroll-behavior:auto}
html:not(.motion-on) *{animation:none!important;transition:none!important}

/* ---------- Планшет ---------- */
@media(max-width:1100px){
.feature,.feature.vertical{gap:40px}
}
@media(max-width:1000px){
.hero{display:block;min-height:0}
.hero-fan{margin-top:50px}
}

/* ---------- Телефон ---------- */
@media(max-width:760px){
.nav{padding:0 20px;height:75px;gap:8px}
.brand{font-size:14px}
.nav nav{display:none}
.nav-cta{margin-left:auto;padding:9px 14px;font-size:12px}
.cta-long{display:none}
.motion-switch{font-size:11px;padding:9px 10px}
.hero{display:block;padding:20px 20px 40px;min-height:0}
.hero h1{font-size:clamp(48px,13vw,76px)}
.hero-note{margin-top:25px;gap:22px}
.hero-note p{font-size:14px}
.hero-links a{font-size:13px;padding:12px 18px}
.hero-fan{height:calc((100vw - 40px)*.98);min-height:0;max-height:600px;margin-top:36px}
.fan-card{width:42cqw}
.fan-card:nth-child(2){width:52cqw}
.fan-card:nth-child(1){transform:translateX(-52%) rotate(-6deg)}
.fan-card:nth-child(3){transform:translateX(52%) rotate(6deg)}
.section{padding:65px 20px 20px}
.section-heading{display:block;margin-bottom:45px}
.section-heading h2{font-size:clamp(37px,7.8vw,59px);margin-top:22px}
.feature,.feature.vertical{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:40px 0}
.feature:nth-child(even) .feature-media{order:0}
.feature.vertical .feature-media{width:min(100%,320px);align-self:center}
.feature-num{margin-bottom:12px}
.about{display:block;padding-bottom:70px}
.about .side-label{display:block;margin-bottom:26px}
.about-head{gap:26px;margin-bottom:30px}
.about-photo{width:116px}
.about-sticker{right:-14px;top:-12px;font-size:11px;padding:6px 11px}
.about-head h2{font-size:clamp(38px,10.5vw,56px)}
.about-lead{font-size:17px;margin-bottom:32px}
.about-skills{grid-template-columns:1fr;gap:24px}
.rail-actions>span{display:none}
.rail-heading h3{font-size:21px}
.rail-block{margin-bottom:65px}
.contact{padding:45px 20px 25px}
.contact h2{font-size:clamp(54px,10vw,76px)}
.contact-cta{font-size:16px;padding:17px 24px}
.project-body{padding:30px 20px 50px}
.project-body h2{margin-bottom:28px}
#project-video.is-vertical{height:70vh}
.project-details{grid-template-columns:1fr;gap:10px;margin:35px 0}
.project-details p{font-size:16px}
}

/* Choreography: gathered cards → fan → masked case reveals. */
.fan-card:first-child{--gather-x:45%;--gather-turn:7deg}
.fan-card:last-child{--gather-x:-45%;--gather-turn:-7deg}
.motion-on .fan-card:nth-child(2){animation-delay:.22s}
.motion-on .fan-card:nth-child(1){animation-delay:.36s}
.motion-on .fan-card:nth-child(3){animation-delay:.46s}
.motion-on.ready .feature .feature-media{clip-path:inset(12% 0 12% 0 round 10px);opacity:0;translate:0 36px;transition:clip-path 1.1s var(--ease),translate 1.1s var(--ease),opacity .7s ease}
.motion-on.ready .feature.seen .feature-media{clip-path:inset(0 0 0 0 round 10px);opacity:1;translate:0 0}
.motion-on.ready .feature .feature-text>*{opacity:0;transform:translateY(24px);transition:transform .8s var(--ease),opacity .6s ease;transition-delay:.1s}
.motion-on.ready .feature .feature-text>:nth-child(3){transition-delay:.18s}
.motion-on.ready .feature .feature-text>:nth-child(n+4){transition-delay:.26s}
.motion-on.ready .feature.seen .feature-text>*{opacity:1;transform:none}
.feature:not(.vertical){padding:70px 0 50px}
.feature:not(.vertical) .feature-media{box-shadow:0 25px 80px #0005}
.feature-open:active,.hero-links a:active,.contact-cta:active{transform:scale(.97)}
#project-stage{position:relative;width:100%;max-height:76svh;margin:auto;background:#000;border-radius:8px;overflow:hidden}
#project-stage.is-vertical{height:76svh;width:auto;max-width:100%;aspect-ratio:9/16}
#project-stage iframe,#project-stage video{position:absolute;inset:0;width:100%;height:100%;max-height:none;border:0;object-fit:contain}
[hidden],#project-stage [hidden]{display:none!important}
.player-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px;margin-top:22px;font-size:13px}
.player-actions a{border-bottom:1px solid var(--line);padding-bottom:4px}
.player-actions a:first-child{color:var(--green)}
.player-actions button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:10px 14px;font-size:12px;color:var(--sub);margin-left:auto}
.player-note{font-size:12px;color:var(--sub);line-height:1.6;max-width:650px;margin:16px 0 0}
@media(max-width:1200px) and (min-width:761px){.nav{gap:18px;padding-inline:30px}.nav nav{gap:18px}.cta-long{display:none}}
@media(max-width:960px){.nav nav{display:none}.nav-cta{margin-left:auto}}
@media(max-width:760px){
 .feature:not(.vertical){padding:40px 0}
 .player-actions button{margin-left:0}
 #project-stage.is-vertical{height:65svh}
 .hero-fan{overflow:visible}
}
@media(max-width:420px){
 .about-head{gap:20px;flex-wrap:wrap}
 .about-head h2{font-size:45px}
 .film-meta{flex-direction:column;gap:5px}
 .footer-bottom{gap:20px;line-height:1.5}
}
@media(hover:none){
 .hero-fan:hover .fan-card:nth-child(1){transform:translateX(-52%) rotate(-6deg)}
 .hero-fan:hover .fan-card:nth-child(3){transform:translateX(52%) rotate(6deg)}
 .hero-fan:hover .fan-card:nth-child(2){transform:none}
 .film-info{display:none}
}


/* ============================================================
   Liquid glass.
   Стекло работает, только когда под ним есть что размывать:
   1) фон страницы с мягкими цветными пятнами;
   2) плавающая шапка поверх контента;
   3) плашки и кнопки поверх видео и постеров.
   Главные действия — сплошные зелёные, стекло — для второго плана.
   ============================================================ */
:root{
 --glass-tint:rgba(255,255,255,.07);
 --glass-tint-dark:rgba(12,17,13,.42);
 --glass-edge:rgba(255,255,255,.16);
 --glass-edge-strong:rgba(255,255,255,.28);
 --glass-sheen:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.03) 46%,rgba(255,255,255,0) 54%,rgba(255,255,255,.05) 100%);
 --glass-hi:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -1px 0 rgba(255,255,255,.06),inset 0 0 0 .5px rgba(255,255,255,.06);
 --glass-drop:0 10px 30px rgba(0,0,0,.28);
 --glass-blur:blur(22px) saturate(180%);
}

/* Фон: несколько размытых пятен, через которые читается прозрачность. */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
 radial-gradient(60vmax 45vmax at 8% -6%,rgba(184,238,121,.13),transparent 62%),
 radial-gradient(48vmax 42vmax at 100% 22%,rgba(64,196,160,.09),transparent 64%),
 radial-gradient(58vmax 40vmax at 40% 112%,rgba(122,190,80,.08),transparent 66%)}

/* Общая форма всех кнопок-таблеток. */
.nav-cta,.motion-switch,.hero-links a,.feature-open,.rail-actions button,.close,#next-project,.player-actions button,.film-more,.contact-cta{
 position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;
 min-height:44px;line-height:1.2;text-align:center;border-radius:999px;
 transition:transform .35s var(--ease),background-color .3s,border-color .3s,box-shadow .35s,color .3s}
.feature-open>span,.hero-links a>span,.contact-cta>span{display:inline-flex;align-items:center;line-height:1}

/* Второстепенные кнопки — стекло. */
.motion-switch,.hero-links a:not(.hero-primary),.rail-actions button,.close,.player-actions button{
 color:var(--ink);border:1px solid var(--glass-edge);
 background:var(--glass-sheen),var(--glass-tint);
 box-shadow:var(--glass-hi),var(--glass-drop);
 -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.motion-switch{min-width:130px;font-variant-numeric:tabular-nums}
.rail-actions button,.close{min-width:112px}
.player-actions button{max-width:100%}

/* Главные действия — сплошной акцент с лёгким бликом. */
.nav-cta,.hero-links .hero-primary,.feature-open,#next-project,.film-more{
 color:#0b1408;border:1px solid rgba(255,255,255,.35);
 background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,0) 55%),var(--green);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 28px rgba(184,238,121,.22);
 font-weight:600}
.hero-links a{min-height:50px;padding:14px 24px}
.feature-open{gap:18px}
.film-more{min-height:32px;padding:7px 13px;font-size:12px}

@media(hover:hover) and (pointer:fine){
 .motion-switch:hover,.hero-links a:not(.hero-primary):hover,.rail-actions button:hover,.close:hover,.player-actions button:hover{
  border-color:var(--glass-edge-strong);background:var(--glass-sheen),rgba(255,255,255,.12)}
 .nav-cta:hover,.hero-links .hero-primary:hover,.feature-open:hover,#next-project:hover{
  transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 14px 36px rgba(184,238,121,.32)}
}

/* Плавающая шапка: прозрачная наверху, стеклянная при прокрутке. */
.nav{position:sticky;top:10px;z-index:20;height:64px;width:calc(100% - 24px);max-width:1560px;margin:12px auto;padding:0 10px 0 26px;gap:32px;
 border-radius:999px;border:1px solid transparent;
 transition:background-color .45s,border-color .45s,box-shadow .45s,-webkit-backdrop-filter .45s,backdrop-filter .45s}
.nav.scrolled{background:var(--glass-sheen),rgba(14,19,15,.5);border-color:var(--glass-edge);
 box-shadow:var(--glass-hi),0 14px 44px rgba(0,0,0,.4);
 -webkit-backdrop-filter:blur(26px) saturate(190%);backdrop-filter:blur(26px) saturate(190%)}
.nav nav a{opacity:.78;transition:opacity .25s}
.nav nav a:hover{opacity:1}
.nav-cta{gap:5px;padding:10px 18px;font-size:13px}

/* Стекло поверх видео: кнопка «play», бейдж нейросетей, подписи в веере. */
.film-play,.ai-badge,.fan-label{
 border:1px solid var(--glass-edge-strong);
 background:var(--glass-sheen),var(--glass-tint-dark);
 box-shadow:var(--glass-hi),0 6px 20px rgba(0,0,0,.3);
 -webkit-backdrop-filter:blur(14px) saturate(170%);backdrop-filter:blur(14px) saturate(170%)}
.film-play{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;color:#fff;z-index:3}
.film-play>svg{display:block;width:18px;height:18px;margin-left:2px;fill:currentColor}
.feature-media:hover .film-play{transform:scale(1.08)}
.ai-badge{display:inline-flex;align-items:center;min-height:30px;padding:7px 12px;line-height:1.2}
.fan-label{inset:auto 10px 10px;gap:5px;padding:12px 14px;border-radius:14px;line-height:1.35;z-index:3}
.fan-label span:last-child{color:#cfdacb}

/* Подпись при наведении на карточку ленты — матовое стекло вместо чёрного градиента. */
.film-info{inset:auto 8px 8px;padding:14px;border-radius:12px;gap:6px;
 border:1px solid var(--glass-edge);
 background:var(--glass-sheen),rgba(10,14,11,.58);
 box-shadow:var(--glass-hi),0 10px 30px rgba(0,0,0,.35);
 -webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%)}

/* Карточки: тонкая светлая кромка — край «стекла» поверх видео. */
.film-media,.feature-media,.fan-card{background:#18201a}
.film-media::after,.feature-media::after,.fan-card::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),inset 0 1px 0 rgba(255,255,255,.16)}
.film-media{border-radius:12px}
.feature-media{border-radius:16px}
.fan-card{border-radius:18px}
.motion-on.ready .feature .feature-media{clip-path:inset(12% 0 12% 0 round 16px)}
.motion-on.ready .feature.seen .feature-media{clip-path:inset(0 0 0 0 round 16px)}

/* Заглушка, пока постер не загрузился. */
.film-media img,.feature-media img{transition:opacity .6s ease,transform 1.2s var(--ease)}
.is-loading img{opacity:0}
.is-loading::before{content:"";position:absolute;inset:0;z-index:1;
 background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.07) 50%,transparent 70%) #18201a;background-size:250% 100%;
 animation:shimmer 1.4s linear infinite}
@keyframes shimmer{from{background-position:120% 0}to{background-position:-120% 0}}

/* Чипсы — лёгкое стекло без размытия. */
.chips{align-items:center}
.chips li{display:inline-flex;align-items:center;min-height:32px;padding:7px 13px;line-height:1.2;
 border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.about-skills>div:last-child li{border-color:rgba(184,238,121,.35);background:rgba(184,238,121,.06)}

.about-sticker{display:inline-flex;align-items:center;min-height:34px;line-height:1.2;border:1px solid rgba(255,255,255,.45);
 background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0) 60%),var(--green);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 10px 26px rgba(0,0,0,.35)}

/* Кейс. */
dialog::backdrop{background:rgba(5,8,6,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.dialog-bar{background:var(--glass-sheen),rgba(13,17,14,.62);border-bottom:1px solid var(--glass-edge);
 -webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%)}
#project-stage{border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 30px 80px rgba(0,0,0,.5)}

/* Контакты на зелёном: кнопка — тёмная с бликом. */
.contact-cta{min-height:60px;padding:18px 30px;color:var(--green);border:1px solid rgba(255,255,255,.25);
 background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 55%),#0c160a;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 34px rgba(12,22,10,.35)}
.contact-cta:hover{transform:translateY(-3px)}

/* ---------- Телефон ---------- */
@media(max-width:760px){
 .nav{top:8px;height:56px;width:calc(100% - 16px);margin:8px auto;padding:0 6px 0 18px;gap:10px}
 .brand{font-size:15px}
 .motion-switch{display:none}
 .nav-cta{min-height:42px;padding:9px 16px;font-size:13px}
 .hero{padding-top:14px}
 .rail-actions button{min-width:96px;min-height:38px;padding:7px 14px}
 .film-media{border-radius:10px}
 .feature-media{border-radius:14px}
 .fan-label{inset:auto 7px 7px;padding:9px 10px;border-radius:11px;font-size:12px}
 .fan-label span:last-child{font-size:10px}
 .film-play{width:40px;height:40px;bottom:10px;right:10px}
 .film-play>svg{width:16px;height:16px}
 .contact-cta{min-height:54px;padding:16px 24px}
}
/* Когда превью играет само (телефон), значок «play» прячется и не перекрывает видео. */
@media(hover:none){
 .film-media:has(video.playing) .film-play,.feature-media:has(video.playing) .film-play{opacity:0}
}
