.ios26 #portfolio{background:var(--ios-bg)!important;background-image:radial-gradient(1200px 600px at 85% -10%,#32d6a00f,#0000 60%),radial-gradient(900px 500px at 5% 110%,#0a84ff0a,#0000 60%)!important;overflow:hidden;padding:130px 0!important;position:relative}.ios26 #portfolio:before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.35'/></svg>");content:"";inset:0;mix-blend-mode:overlay;opacity:.35;pointer-events:none;position:absolute;z-index:0}.ios26 #portfolio>.container{position:relative;z-index:1}.ios26 #portfolio h2{background:none!important;-webkit-text-fill-color:var(--ios-ink)!important;animation:none!important;color:var(--ios-ink)!important;font-family:var(--font-display,"Inter",system-ui,sans-serif)!important;font-size:clamp(40px,5vw,64px)!important;font-weight:200!important;letter-spacing:-.035em!important;line-height:1.05!important;margin-bottom:24px!important}.ios26 #portfolio>.container>.text-center p{color:var(--ios-ink-dim)!important;font-weight:300;margin:0 auto;max-width:640px}.ios26 #portfolio a[href="/portfolio"]{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff0a!important;border:1px solid var(--ios-hair)!important;border-radius:999px!important;color:var(--ios-ink)!important;font-weight:400!important;padding:14px 28px!important;transition:all .3s ease}.ios26 #portfolio a[href="/portfolio"]:hover{background:#ffffff14!important;border-color:var(--ios-hair-2)!important}.ios26 #portfolio .text-center p{color:var(--ios-ink-dim)!important}.ios26 #portfolio button.bg-gradient-to-r{background:var(--ios-accent)!important;border-radius:999px!important;box-shadow:0 10px 30px -10px #32d6a080!important;color:var(--ios-accent-ink)!important;padding:14px 28px!important;transform:none!important}.ios26 #portfolio button.bg-gradient-to-r:hover{box-shadow:0 16px 40px -10px #32d6a099!important;transform:translateY(-1px)!important}.ios26 #portfolio button.bg-gray-100,.ios26 #portfolio button.bg-white\/10{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff0a!important;border:1px solid var(--ios-hair)!important;border-radius:999px!important;color:var(--ios-ink)!important;padding:14px 28px!important}.ios26 #portfolio [data-ios26-card=project]{background:hsla(0,0%,100%,.035)!important;border:1px solid var(--ios-hair)!important;border-radius:24px!important;box-shadow:inset 0 1px 0 #ffffff0a,0 12px 40px -20px #0009!important;perspective:none!important;transform:none!important;transform-style:flat!important;transition:all .4s ease!important}.ios26 #portfolio [data-ios26-card=project]:hover{background:hsla(0,0%,100%,.055)!important;border-color:var(--ios-hair-2)!important;box-shadow:inset 0 1px 0 #ffffff0f,0 20px 50px -20px #000000b3!important;transform:translateY(-2px)!important}.ios26 #portfolio [data-ios26-card=project] .text-2xl{color:var(--ios-ink)!important;font-family:var(--font-display,"Inter",system-ui,sans-serif);font-weight:300!important;letter-spacing:-.02em}.ios26 #portfolio [data-ios26-card=project] .text-emerald-100,.ios26 #portfolio [data-ios26-card=project] .text-emerald-200,.ios26 #portfolio [data-ios26-card=project] .text-gray-600{color:var(--ios-ink-dim)!important}.ios26 #portfolio [data-ios26-meta]{color:var(--ios-ink-mute)!important;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace)!important;font-size:12px!important;letter-spacing:.02em;text-transform:uppercase}.ios26 #portfolio [data-ios26-tag]{background:#ffffff0a!important;border:1px solid var(--ios-hair)!important;box-shadow:none!important;color:var(--ios-ink-dim)!important;font-weight:400!important}.ios26 #portfolio .absolute.top-4.left-4>div{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c0e11b8!important;border:1px solid var(--ios-hair-2)!important;color:var(--ios-ink)!important;font-weight:400!important;letter-spacing:.03em}.ios26 #portfolio .absolute.top-4.left-4>div.bg-green-500{background:#32d6a02e!important;border-color:#32d6a04d!important;color:var(--ios-accent)!important}.ios26 #portfolio .absolute.top-4.left-4>div.bg-blue-500{background:#0a84ff2e!important;border-color:#0a84ff4d!important;color:#5eb0ff!important}.ios26 #portfolio [data-ios26-expand]{color:var(--ios-accent)!important}.ios26 #portfolio.bg-gradient-to-b,.ios26 #reviews{background:var(--ios-bg)!important}.ios26 #reviews{overflow:hidden;padding:130px 0!important;position:relative}.ios26 #reviews:before{background-image:radial-gradient(1000px 500px at 50% -10%,#32d6a00d,#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.ios26 #reviews>div{position:relative;z-index:1}.ios26 #reviews h2{color:var(--ios-ink)!important;font-family:var(--font-display,"Inter",system-ui,sans-serif);font-size:clamp(40px,5vw,64px)!important;font-weight:200!important;letter-spacing:-.035em!important;line-height:1.05!important;margin-bottom:24px!important}.ios26 #reviews>div>p{color:var(--ios-ink-dim)!important;font-weight:300}.ios26 #reviews [data-ios26-card=review]{background:hsla(0,0%,100%,.035)!important;border:1px solid var(--ios-hair)!important;border-radius:24px!important;box-shadow:inset 0 1px 0 #ffffff0a,0 12px 40px -20px #0009!important}.ios26 #reviews [data-ios26-card=review]:hover{background:hsla(0,0%,100%,.055)!important;border-color:var(--ios-hair-2)!important;box-shadow:inset 0 1px 0 #ffffff0f,0 16px 48px -20px #000000b3!important}.ios26 #reviews [data-ios26-card=review] h3{color:var(--ios-ink)!important;font-weight:400!important}.ios26 #reviews [data-ios26-card=review] [data-ios26-review-date]{color:var(--ios-ink-mute)!important;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:11px!important;letter-spacing:.05em}.ios26 #reviews [data-ios26-card=review] [data-ios26-review-body]{color:var(--ios-ink-dim)!important;font-weight:300}.ios26 #reviews [data-ios26-card=review] [data-ios26-review-project]{background:#ffffff0d!important;border:1px solid var(--ios-hair);color:var(--ios-ink-dim)!important;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);letter-spacing:.03em}.ios26 #reviews [data-ios26-card=review] [data-ios26-verified]{color:var(--ios-accent)!important}.ios26 #reviews [data-ios26-card=review] [data-ios26-avatar-fallback]{background:#32d6a01f!important;color:var(--ios-accent)!important}.ios26 #reviews [data-ios26-card=review] [data-ios26-footer],.ios26 #reviews [data-ios26-card=review] hr{border-top-color:var(--ios-hair)!important}.ios26 #reviews [data-ios26-card=review] [data-ios26-footer] span{color:var(--ios-ink-mute)!important;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:11px!important;letter-spacing:.05em}.ios26 #reviews [data-ios26-card=review] a{color:var(--ios-accent)!important}.ios26 #reviews [data-ios26-card=review] button[aria-label*="полезн"]{color:var(--ios-ink-mute)!important}.ios26 #reviews [data-ios26-card=review] button[aria-label*="полезн"]:hover{color:var(--ios-ink)!important}.ios26 #reviews [data-ios26-showmore]{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff0a!important;border:1px solid var(--ios-hair)!important;border-radius:999px!important;box-shadow:none!important;color:var(--ios-ink)!important}.ios26 #reviews [data-ios26-showmore]:hover{background:#ffffff14!important;border-color:var(--ios-hair-2)!important;color:var(--ios-ink)!important}.ios26 #reviews [data-ios26-showmore][data-ios26-showmore-active=true]{background:var(--ios-accent)!important;border-color:var(--ios-accent)!important;color:var(--ios-accent-ink)!important}.ios26 #reviews button[aria-label^="Перейти к отзыву"]{background:var(--ios-hair-2)!important}.ios26 #reviews button[aria-label^="Перейти к отзыву"][data-ios26-active=true]{background:var(--ios-accent)!important}.ios26 #portfolio .text-6xl,.ios26 #portfolio .text-8xl{opacity:.8}.ios26 #portfolio h3{color:var(--ios-ink)!important;font-weight:300}.ios26 .ios-portfolio-all{align-items:center;border:1px solid var(--ios-hair);border-radius:999px;color:var(--ios-ink-dim);display:inline-flex;font-size:13px;font-weight:400;gap:8px;padding:9px 16px;text-decoration:none;transition:color .15s ease,border-color .15s ease,background .15s ease;white-space:nowrap}.ios26 .ios-portfolio-all:hover{background:var(--ios-accent-soft);border-color:var(--ios-accent);color:var(--ios-accent)}.ios26 .portfolio{display:grid;gap:16px;grid-auto-rows:minmax(180px,auto);grid-template-columns:repeat(12,1fr)}.ios26 .proj{appearance:none;-webkit-appearance:none;background:hsla(0,0%,100%,.035);border:1px solid var(--ios-hair);border-radius:24px;color:inherit;cursor:pointer;display:block;font:inherit;isolation:isolate;overflow:hidden;padding:0;position:relative;scroll-margin-top:96px;text-align:left;text-decoration:none;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;width:100%}.ios26 .proj:hover{border-color:var(--ios-hair-2);box-shadow:0 24px 60px -20px #0009;transform:translateY(-3px)}.ios26 .proj:focus-visible{outline:2px solid var(--ios-accent);outline-offset:3px}.ios26 .proj.expanded{border-color:var(--ios-accent);box-shadow:0 24px 60px -20px #32d6a059}.ios26 .proj.big{grid-column:span 8;grid-row:span 2}.ios26 .proj.small{grid-column:span 4;grid-row:span 1}.ios26 .proj.half{grid-column:span 8;grid-row:span 1}.ios26 .proj .proj-img{background:var(--ios-bg-3);inset:0;position:absolute;z-index:0}.ios26 .proj .proj-img img{display:block;height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.ios26 .proj:hover .proj-img img{transform:scale(1.03)}.ios26 .proj .proj-img .ph{color:var(--ios-ink-mute);display:grid;font-family:var(--ios-mono);font-size:11px;inset:0;letter-spacing:.18em;opacity:.55;padding:16px;place-items:center;position:absolute;text-align:center;text-transform:uppercase}.ios26 .proj:after{background:linear-gradient(0deg,#000000b3 10%,#0000);bottom:0;content:"";height:50%;left:0;pointer-events:none;position:absolute;right:0;z-index:1}.ios26 .proj .proj-caption{align-items:flex-end;bottom:18px;display:flex;gap:12px;justify-content:space-between;left:20px;pointer-events:none;position:absolute;right:20px;z-index:2}.ios26 .proj .proj-caption .tt{color:var(--ios-ink);font-size:14px;font-weight:500;letter-spacing:-.01em;line-height:1.25;margin-bottom:2px}.ios26 .proj .proj-caption .sub{color:var(--ios-ink-dim);font-size:12px;font-weight:300;line-height:1.4}.ios26 .proj .proj-caption .tag{background:#32d6a01a;border-radius:6px;color:var(--ios-accent);flex-shrink:0;font-family:var(--ios-mono);font-size:10px;letter-spacing:.12em;padding:4px 8px;white-space:nowrap}.ios26 .proj-expanded{background:#ffffff08;border:1px solid var(--ios-hair);border-radius:24px;display:flex;flex-direction:column;gap:20px;grid-column:1/-1;min-height:60vh;padding:clamp(20px,3vw,32px);scroll-margin-top:96px}.ios26 .proj-expanded-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.ios26 .proj-expanded-head-text{flex:1 1 280px;min-width:0}.ios26 .proj-expanded-title{color:var(--ios-ink);font-size:clamp(20px,2.4vw,28px);font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:0 0 6px}.ios26 .proj-expanded-desc{color:var(--ios-ink-dim);font-size:14px;font-weight:300;line-height:1.5;margin:0;max-width:680px}.ios26 .proj-expanded-close{align-items:center;background:#ffffff0a;border:1px solid var(--ios-hair);border-radius:999px;color:var(--ios-ink-dim);cursor:pointer;display:inline-flex;font-size:13px;font-weight:400;gap:6px;min-height:44px;padding:10px 16px;transition:color .15s ease,border-color .15s ease,background .15s ease}.ios26 .proj-expanded-close:hover{background:#ffffff14;border-color:var(--ios-hair-2);color:var(--ios-ink)}.ios26 .proj-expanded-close:focus-visible{outline:2px solid var(--ios-accent);outline-offset:3px}.ios26 .proj-expanded-media{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.ios26 .proj-media-item{appearance:none;-webkit-appearance:none;aspect-ratio:4/3;background:var(--ios-bg-3);border:1px solid var(--ios-hair);border-radius:18px;cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.ios26 .proj-media-item:hover{border-color:var(--ios-hair-2);box-shadow:0 16px 40px -20px #0009;transform:translateY(-2px)}.ios26 .proj-media-item:focus-visible{outline:2px solid var(--ios-accent);outline-offset:3px}.ios26 .proj-media-item img{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.ios26 .proj-media-item:hover img{transform:scale(1.04)}.ios26 .proj-media-play{background:radial-gradient(ellipse at center,#00000040,#00000073);color:#fff;display:grid;font-size:32px;inset:0;place-items:center;pointer-events:none;position:absolute;text-shadow:0 4px 20px #00000080}.ios26 .proj-media-skeleton{animation:proj-skeleton-shimmer 1.5s ease-in-out infinite;aspect-ratio:4/3;background:linear-gradient(90deg,#ffffff08,#ffffff12 50%,#ffffff08);background-size:200% 100%;border-radius:18px}@keyframes proj-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ios26 .proj-expanded-empty{color:var(--ios-ink-mute);font-family:var(--ios-mono);font-size:14px;letter-spacing:.05em;padding:60px 20px;text-align:center;text-transform:uppercase}@media (prefers-reduced-motion:reduce){.ios26 .proj-media-skeleton{animation:none}.ios26 .proj-media-item img{transition:none}.ios26 .proj-media-item:hover img,.ios26 .proj:hover,.ios26 .proj:hover .proj-img img{transform:none}}@media (max-width:1023px){.ios26 .portfolio{grid-auto-rows:170px;grid-template-columns:repeat(6,1fr)}.ios26 .proj.big{grid-column:span 6;grid-row:span 2}.ios26 .proj.small{grid-column:span 3}.ios26 .proj.half{grid-column:span 6}.ios26 .proj-expanded-media{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:639px){.ios26 .portfolio{gap:14px;grid-auto-rows:minmax(170px,auto);grid-template-columns:1fr}.ios26 .proj{border-radius:20px;grid-column:span 1!important}.ios26 .proj.big{grid-row:span 2!important}.ios26 .proj .proj-caption{bottom:14px;left:16px;right:16px}.ios26 .proj-expanded{border-radius:20px;min-height:40vh;padding:16px}.ios26 .proj-expanded-media{gap:10px;grid-template-columns:repeat(2,1fr)}.ios26 .proj-media-item,.ios26 .proj-media-skeleton{border-radius:14px}}